€•ŽEŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ7/translations/zh_CN/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/zh_TW/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/it_IT/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ja_JP/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ko_KR/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/pt_BR/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/sp_SP/driver-api/media/drivers/cx88-devel”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒQ/var/lib/git/docbuild/linux/Documentation/driver-api/media/drivers/cx88-devel.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒThe cx88 driver”h]”hŒThe cx88 driver”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒAuthor: Gerd Hoffmann”h]”hŒAuthor: Gerd Hoffmann”…”�”}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ+Documentation missing at the cx88 datasheet”h]”hŒ+Documentation missing at the cx88 datasheet”…”�”}”(hhðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhíh²hh³hÇh´K ubhÞ)�”}”(hŒMO_OUTPUT_FORMAT (0x310164)”h]”hŒMO_OUTPUT_FORMAT (0x310164)”…”�”}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhíh²hubhŒ literal_block”“”)�”}”(hXPrevious default from DScaler: 0x1c1f0008 Digit 8: 31-28 28: PREVREMOD = 1 Digit 7: 27-24 (0xc = 12 = b1100 ) 27: COMBALT = 1 26: PAL_INV_PHASE (DScaler apparently set this to 1, resulted in sucky picture) Digits 6,5: 23-16 25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512) Digit 4: 15-12 15: DISIFX = 0 14: INVCBF = 0 13: DISADAPT = 0 12: NARROWADAPT = 0 Digit 3: 11-8 11: FORCE2H 10: FORCEREMD 9: NCHROMAEN 8: NREMODEN Digit 2: 7-4 7-6: YCORE 5-4: CCORE Digit 1: 3-0 3: RANGE = 1 2: HACTEXT 1: HSFMT”h]”hXPrevious default from DScaler: 0x1c1f0008 Digit 8: 31-28 28: PREVREMOD = 1 Digit 7: 27-24 (0xc = 12 = b1100 ) 27: COMBALT = 1 26: PAL_INV_PHASE (DScaler apparently set this to 1, resulted in sucky picture) Digits 6,5: 23-16 25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512) Digit 4: 15-12 15: DISIFX = 0 14: INVCBF = 0 13: DISADAPT = 0 12: NARROWADAPT = 0 Digit 3: 11-8 11: FORCE2H 10: FORCEREMD 9: NCHROMAEN 8: NREMODEN Digit 2: 7-4 7-6: YCORE 5-4: CCORE Digit 1: 3-0 3: RANGE = 1 2: HACTEXT 1: HSFMT”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒforce”‰Œlanguage”Œnone”Œhighlight_args”}”uh1j h³hÇh´K hhíh²hubhÞ)�”}”(hŒ¾0x47 is the sync byte for MPEG-2 transport stream packets. Datasheet incorrectly states to use 47 decimal. 188 is the length. All DVB compliant frontends output packets with this start code.”h]”hŒ¾0x47 is the sync byte for MPEG-2 transport stream packets. Datasheet incorrectly states to use 47 decimal. 188 is the length. All DVB compliant frontends output packets with this start code.”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K0hhíh²hubeh}”(h]”Œ+documentation-missing-at-the-cx88-datasheet”ah ]”h"]”Œ+documentation missing at the cx88 datasheet”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ#Hauppauge WinTV cx88 IR information”h]”hŒ#Hauppauge WinTV cx88 IR information”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj7h²hh³hÇh´K5ubhÞ)�”}”(hŒJThe controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.”h]”hŒJThe controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K7hj7h²hubhŒtable”“”)�”}”(hhh]”hŒtgroup”“”)�”}”(hhh]”(hŒcolspec”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j`hj]ubja)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j`hj]ubja)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K1uh1j`hj]ubhŒthead”“”)�”}”(hhh]”hŒrow”“”)�”}”(hhh]”(hŒentry”“”)�”}”(hhh]”hÞ)�”}”(hŒGPIO0”h]”hŒGPIO0”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K:hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj‡ubj‹)�”}”(hhh]”hÞ)�”}”(hŒGPIO1”h]”hŒGPIO1”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K:hj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj‡ubj‹)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j…hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j€hj]ubhŒtbody”“”)�”}”(hhh]”(j†)�”}”(hhh]”(j‹)�”}”(hhh]”hÞ)�”}”(hŒ0”h]”hŒ0”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj!ubj‹)�”}”(hhh]”hÞ)�”}”(hŒFM radio”h]”hŒFM radio”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K=hjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j…hjÑubj†)�”}”(hhh]”(j‹)�”}”(hhh]”hÞ)�”}”(hjÜh]”hŒ0”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K>hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjnubj‹)�”}”(hhh]”hÞ)�”}”(hj)h]”hŒ1”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K>hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjnubj‹)�”}”(hhh]”hÞ)�”}”(hŒLine-In”h]”hŒLine-In”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K>hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j…hjÑubj†)�”}”(hhh]”(j‹)�”}”(hhh]”hÞ)�”}”(hj)h]”hŒ1”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjºubj‹)�”}”(hhh]”hÞ)�”}”(hj)h]”hŒ1”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjºubj‹)�”}”(hhh]”hÞ)�”}”(hŒ1Mono tuner bypass or CD passthru (tuner specific)”h]”hŒ1Mono tuner bypass or CD passthru (tuner specific)”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K?hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjºubeh}”(h]”h ]”h"]”h$]”h&]”uh1j…hjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÏhj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j[hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jVhj7h²hh³hÇh´NubhÞ)�”}”(hŒ7GPIO 16(I believe) is tied to the IR port (if present).”h]”hŒ7GPIO 16(I believe) is tied to the IR port (if present).”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KBhj7h²hubhÞ)�”}”(hŒFrom the data sheet:”h]”hŒFrom the data sheet:”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KEhj7h²hubhŒ bullet_list”“”)�”}”(hhh]”hŒ list_item”“”)�”}”(hŒ)Register 24'h20004 PCI Interrupt Status ”h]”hÞ)�”}”(hŒ(Register 24'h20004 PCI Interrupt Status”h]”hŒ*Register 24’h20004 PCI Interrupt Status”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KGhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj7h²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j5h³hÇh´KGhj7h²hubhŒ block_quote”“”)�”}”(hŒr- bit [18] IR_SMP_INT Set when 32 input samples have been collected over - gpio[16] pin into GP_SAMPLE register. ”h]”j6)�”}”(hhh]”(j;)�”}”(hŒGbit [18] IR_SMP_INT Set when 32 input samples have been collected over”h]”hÞ)�”}”(hjgh]”hŒGbit [18] IR_SMP_INT Set when 32 input samples have been collected over”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KIhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hjbubj;)�”}”(hŒ&gpio[16] pin into GP_SAMPLE register. ”h]”hÞ)�”}”(hŒ%gpio[16] pin into GP_SAMPLE register.”h]”hŒ%gpio[16] pin into GP_SAMPLE register.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KJhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hjbubeh}”(h]”h ]”h"]”h$]”h&]”jZj[uh1j5h³hÇh´KIhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j\h³hÇh´KIhj7h²hubhÞ)�”}”(hŒ#What's missing from the data sheet:”h]”hŒ%What’s missing from the data sheet:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KLhj7h²hubj6)�”}”(hhh]”(j;)�”}”(hŒXSetup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5 compat remote)”h]”hÞ)�”}”(hŒXSetup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5 compat remote)”h]”hŒXSetup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5 compat remote)”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KNhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj®h²hh³hÇh´Nubj;)�”}”(hŒ"set register 0x35C050 to 0xa80a80”h]”hÞ)�”}”(hjËh]”hŒ"set register 0x35C050 to 0xa80a80”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KPhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj®h²hh³hÇh´Nubj;)�”}”(hŒenable sampling”h]”hÞ)�”}”(hjâh]”hŒenable sampling”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KQhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj®h²hh³hÇh´Nubj;)�”}”(hŒset register 0x35C054 to 0x5”h]”hÞ)�”}”(hjùh]”hŒset register 0x35C054 to 0x5”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KRhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj®h²hh³hÇh´Nubj;)�”}”(hŒQenable the IRQ bit 18 in the interrupt mask register (and provide for a handler) ”h]”hÞ)�”}”(hŒPenable the IRQ bit 18 in the interrupt mask register (and provide for a handler)”h]”hŒPenable the IRQ bit 18 in the interrupt mask register (and provide for a handler)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KShjubah}”(h]”h ]”h"]”h$]”h&]”uh1j:hj®h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jZj[uh1j5h³hÇh´KNhj7h²hubhÞ)�”}”(hŒ!GP_SAMPLE register is at 0x35C058”h]”hŒ!GP_SAMPLE register is at 0x35C058”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KVhj7h²hubhÞ)�”}”(hXgBits are then right shifted into the GP_SAMPLE register at the specified rate; you get an interrupt when a full DWORD is received. You need to recover the actual RC5 bits out of the (oversampled) IR sensor bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.”h]”hXgBits are then right shifted into the GP_SAMPLE register at the specified rate; you get an interrupt when a full DWORD is received. You need to recover the actual RC5 bits out of the (oversampled) IR sensor bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KXhj7h²hubhÞ)�”}”(hX$I'm pretty sure when no IR signal is present the receiver is always in a marking state(1); but stray light, etc can cause intermittent noise values as well. Remember, this is a free running sample of the IR receiver state over time, so don't assume any sample starts at any particular place.”h]”hX(I’m pretty sure when no IR signal is present the receiver is always in a marking state(1); but stray light, etc can cause intermittent noise values as well. Remember, this is a free running sample of the IR receiver state over time, so don’t assume any sample starts at any particular place.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K^hj7h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAdditional info”h]”hŒAdditional info”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjVh²hh³hÇh´KdubhÞ)�”}”(hŒ“This data sheet (google search) seems to have a lovely description of the RC5 basics: http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf”h]”(hŒVThis data sheet (google search) seems to have a lovely description of the RC5 basics: ”…”�”}”(hjgh²hh³Nh´NubhŒ reference”“”)�”}”(hŒ=http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf”h]”hŒ=http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jsuh1johjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KfhjVh²hubhÞ)�”}”(hŒIThis document has more data: http://www.nenya.be/beor/electronics/rc5.htm”h]”(hŒThis document has more data: ”…”�”}”(hj†h²hh³Nh´Nubjp)�”}”(hŒ,http://www.nenya.be/beor/electronics/rc5.htm”h]”hŒ,http://www.nenya.be/beor/electronics/rc5.htm”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j�uh1johj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KjhjVh²hubhÞ)�”}”(hŒzThis document has a how to decode a bi-phase data stream: http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt”h]”(hŒ;This document has a how to decode a bi-phase data stream: ”…”�”}”(hj£h²hh³Nh´Nubjp)�”}”(hŒ?http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt”h]”hŒ?http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j­uh1johj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KmhjVh²hubhÞ)�”}”(hŒQThis document has still more info: http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm”h]”(hŒ#This document has still more info: ”…”�”}”(hjÀh²hh³Nh´Nubjp)�”}”(hŒ.http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm”h]”hŒ.http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jÊuh1johjÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KphjVh²hubeh}”(h]”Œadditional-info”ah ]”h"]”Œadditional info”ah$]”h&]”uh1hÈhj7h²hh³hÇh´Kdubeh}”(h]”Œ#hauppauge-wintv-cx88-ir-information”ah ]”h"]”Œ#hauppauge wintv cx88 ir information”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K5ubeh}”(h]”Œthe-cx88-driver”ah ]”h"]”Œthe cx88 driver”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”jŠŒfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jòjïj4j1jêjçjâjßuŒ nametypes”}”(jò‰j4‰jê‰jâ‰uh}”(jïhÊj1híjçj7jßjVuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.