€•Ž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”…””}”(hjh²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>hjubah}”(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”juh1johj†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.