Asphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget&/translations/zh_CN/input/devices/xpadmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/zh_TW/input/devices/xpadmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/it_IT/input/devices/xpadmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ja_JP/input/devices/xpadmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/ko_KR/input/devices/xpadmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget&/translations/sp_SP/input/devices/xpadmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h7xpad - Linux USB driver for Xbox compatible controllersh]h7xpad - Linux USB driver for Xbox compatible controllers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh@/var/lib/git/docbuild/linux/Documentation/input/devices/xpad.rsthKubh paragraph)}(hThis driver exposes all first-party and third-party Xbox compatible controllers. It has a long history and has enjoyed considerable usage as Windows' xinput library caused most PC games to focus on Xbox controller compatibility.h]hThis driver exposes all first-party and third-party Xbox compatible controllers. It has a long history and has enjoyed considerable usage as Windows’ xinput library caused most PC games to focus on Xbox controller compatibility.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hDue to backwards compatibility all buttons are reported as digital. This only affects Original Xbox controllers. All later controller models have only digital face buttons.h]hDue to backwards compatibility all buttons are reported as digital. This only affects Original Xbox controllers. All later controller models have only digital face buttons.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hRumble is supported on some models of Xbox 360 controllers but not of Original Xbox controllers nor on Xbox One controllers. As of writing the Xbox One's rumble protocol has not been reverse-engineered but in the future could be supported.h]hRumble is supported on some models of Xbox 360 controllers but not of Original Xbox controllers nor on Xbox One controllers. As of writing the Xbox One’s rumble protocol has not been reverse-engineered but in the future could be supported.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hNotesh]hNotes}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(h=The number of buttons/axes reported varies based on 3 things:h]h=The number of buttons/axes reported varies based on 3 things:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh bullet_list)}(hhh](h list_item)}(h#if you are using a known controllerh]h)}(hj h]h#if you are using a known controller}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h"if you are using a known dance padh]h)}(hj"h]h"if you are using a known dance pad}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hif using an unknown device (one not listed below), what you set in the module configuration for "Map D-PAD to buttons rather than axes for unknown pads" (module option dpad_to_buttons) h]h)}(hif using an unknown device (one not listed below), what you set in the module configuration for "Map D-PAD to buttons rather than axes for unknown pads" (module option dpad_to_buttons)h]hif using an unknown device (one not listed below), what you set in the module configuration for “Map D-PAD to buttons rather than axes for unknown pads” (module option dpad_to_buttons)}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhhhhubh)}(hIf you set dpad_to_buttons to N and you are using an unknown device the driver will map the directional pad to axes (X/Y). If you said Y it will map the d-pad to buttons, which is needed for dance style games to function correctly. The default is Y.h]hIf you set dpad_to_buttons to N and you are using an unknown device the driver will map the directional pad to axes (X/Y). If you said Y it will map the d-pad to buttons, which is needed for dance style games to function correctly. The default is Y.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hdpad_to_buttons has no effect for known pads. A erroneous commit message claimed dpad_to_buttons could be used to force behavior on known devices. This is not true. Both dpad_to_buttons and triggers_to_buttons only affect unknown controllers.h]hdpad_to_buttons has no effect for known pads. A erroneous commit message claimed dpad_to_buttons could be used to force behavior on known devices. This is not true. Both dpad_to_buttons and triggers_to_buttons only affect unknown controllers.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hhhhubh)}(hhh](h)}(hNormal Controllersh]hNormal Controllers}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjshhhhhK+ubh)}(hWith a normal controller, the directional pad is mapped to its own X/Y axes. The jstest-program from joystick-1.2.15 (jstest-version 2.1.0) will report 8 axes and 10 buttons.h]hWith a normal controller, the directional pad is mapped to its own X/Y axes. The jstest-program from joystick-1.2.15 (jstest-version 2.1.0) will report 8 axes and 10 buttons.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjshhubh)}(hXAll 8 axes work, though they all have the same range (-32768..32767) and the zero-setting is not correct for the triggers (I don't know if that is some limitation of jstest, since the input device setup should be fine. I didn't have a look at jstest itself yet).h]hX All 8 axes work, though they all have the same range (-32768..32767) and the zero-setting is not correct for the triggers (I don’t know if that is some limitation of jstest, since the input device setup should be fine. I didn’t have a look at jstest itself yet).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjshhubh)}(hAll of the 10 buttons work (in digital mode). The six buttons on the right side (A, B, X, Y, black, white) are said to be "analog" and report their values as 8 bit unsigned, not sure what this is good for.h]hAll of the 10 buttons work (in digital mode). The six buttons on the right side (A, B, X, Y, black, white) are said to be “analog” and report their values as 8 bit unsigned, not sure what this is good for.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjshhubh)}(hI tested the controller with quake3, and configuration and in game functionality were OK. However, I find it rather difficult to play first person shooters with a pad. Your mileage may vary.h]hI tested the controller with quake3, and configuration and in game functionality were OK. However, I find it rather difficult to play first person shooters with a pad. Your mileage may vary.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjshhubeh}(h]normal-controllersah ]h"]normal controllersah$]h&]uh1hhhhhhhhK+ubh)}(hhh](h)}(hXbox Dance Padsh]hXbox Dance Pads}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK@ubh)}(hGWhen using a known dance pad, jstest will report 6 axes and 14 buttons.h]hGWhen using a known dance pad, jstest will report 6 axes and 14 buttons.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjhhubh)}(hXFor dance style pads (like the redoctane pad) several changes have been made. The old driver would map the d-pad to axes, resulting in the driver being unable to report when the user was pressing both left+right or up+down, making DDR style games unplayable.h]hXFor dance style pads (like the redoctane pad) several changes have been made. The old driver would map the d-pad to axes, resulting in the driver being unable to report when the user was pressing both left+right or up+down, making DDR style games unplayable.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(h_Known dance pads automatically map the d-pad to buttons and will work correctly out of the box.h]h_Known dance pads automatically map the d-pad to buttons and will work correctly out of the box.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubh)}(hyIf your dance pad is recognized by the driver but is using axes instead of buttons, see section 0.3 - Unknown Controllersh]hyIf your dance pad is recognized by the driver but is using axes instead of buttons, see section 0.3 - Unknown Controllers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjhhubh)}(h9I've tested this with Stepmania, and it works quite well.h]h;I’ve tested this with Stepmania, and it works quite well.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjhhubeh}(h]xbox-dance-padsah ]h"]xbox dance padsah$]h&]uh1hhhhhhhhK@ubh)}(hhh](h)}(hUnknown Controllersh]hUnknown Controllers}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hhhhhKSubh)}(h[If you have an unknown Xbox controller, it should work just fine with the default settings.h]h[If you have an unknown Xbox controller, it should work just fine with the default settings.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj#hhubh)}(hHOWEVER if you have an unknown dance pad not listed below, it will not work UNLESS you set "dpad_to_buttons" to 1 in the module configuration.h]hHOWEVER if you have an unknown dance pad not listed below, it will not work UNLESS you set “dpad_to_buttons” to 1 in the module configuration.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhj#hhubeh}(h]unknown-controllersah ]h"]unknown controllersah$]h&]uh1hhhhhhhhKSubeh}(h]notesah ]h"]notesah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h USB adaptersh]h USB adapters}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hhhhhK]ubh)}(hifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1 P: Vendor=05fd ProdID=107a Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10msh]hXs T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1 P: Vendor=05fd ProdID=107a Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10ms}hjsbah}(h]h ]h"]h$]h&] xml:spacepreserveforcelanguagenonehighlight_args}uh1jhhhKhjubeh}(h]id9ah ]literal-block-wrapperah"]h$]h&] literal_blockuh1jhjhhhhhNubj)}(hhh](j)}(h'dump from Redoctane Xbox Dance Pad (US)h]h'dump from Redoctane Xbox Dance Pad (US)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hX T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0c12 ProdID=8809 Rev= 0.01 S: Product=XBOX DDR C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=xpad E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4msh]hX T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0c12 ProdID=8809 Rev= 0.01 S: Product=XBOX DDR C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=xpad E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4ms}hjsbah}(h]h ]h"]h$]h&]jjjjnonej}uh1jhhhKhjubeh}(h]id10ah ]jah"]h$]h&] literal_blockuh1jhjhhhhhNubeh}(h]driver-installationah ]h"]driver installationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSupported Controllersh]hSupported Controllers}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hqFor a full list of supported controllers and associated vendor and product IDs see the xpad_device[] array\ [4]_.h](hlFor a full list of supported controllers and associated vendor and product IDs see the xpad_device[] array }(hj/hhhNhNubj4)}(h[4]_h]h4}(hj7hhhNhNubah}(h]id4ah ]h"]h$]h&]jDid8jFjGuh1j3hj/jHKubh.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hTAs of the historic version 0.0.6 (2006-10-10) the following devices were supported::h]hSAs of the historic version 0.0.6 (2006-10-10) the following devices were supported:}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXqoriginal Microsoft XBOX controller (US), vendor=0x045e, product=0x0202 smaller Microsoft XBOX controller (US), vendor=0x045e, product=0x0289 original Microsoft XBOX controller (Japan), vendor=0x045e, product=0x0285 InterAct PowerPad Pro (Germany), vendor=0x05fd, product=0x107a RedOctane Xbox Dance Pad (US), vendor=0x0c12, product=0x8809h]hXqoriginal Microsoft XBOX controller (US), vendor=0x045e, product=0x0202 smaller Microsoft XBOX controller (US), vendor=0x045e, product=0x0289 original Microsoft XBOX controller (Japan), vendor=0x045e, product=0x0285 InterAct PowerPad Pro (Germany), vendor=0x05fd, product=0x107a RedOctane Xbox Dance Pad (US), vendor=0x0c12, product=0x8809}hj_sbah}(h]h ]h"]h$]h&]jjuh1jhhhKhjhhubh)}(hUnrecognized models of Xbox controllers should function as Generic Xbox controllers. Unrecognized Dance Pad controllers require setting the module option 'dpad_to_buttons'.h]hUnrecognized models of Xbox controllers should function as Generic Xbox controllers. Unrecognized Dance Pad controllers require setting the module option ‘dpad_to_buttons’.}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hKIf you have an unrecognized controller please see 0.3 - Unknown Controllersh]hKIf you have an unrecognized controller please see 0.3 - Unknown Controllers}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]supported-controllersah ]h"]supported controllersah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hManual Testingh]hManual Testing}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h9To test this driver's functionality you may use 'jstest'.h]h?To test this driver’s functionality you may use ‘jstest’.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h For example::h]h For example:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(h3> modprobe xpad > modprobe joydev > jstest /dev/js0h]h3> modprobe xpad > modprobe joydev > jstest /dev/js0}hjsbah}(h]h ]h"]h$]h&]jjuh1jhhhKhjhhubh)}(hXIf you're using a normal controller, there should be a single line showing 18 inputs (8 axes, 10 buttons), and its values should change if you move the sticks and push the buttons. If you're using a dance pad, it should show 20 inputs (6 axes, 14 buttons).h]hXIf you’re using a normal controller, there should be a single line showing 18 inputs (8 axes, 10 buttons), and its values should change if you move the sticks and push the buttons. If you’re using a dance pad, it should show 20 inputs (6 axes, 14 buttons).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hIt works? Voila, you're done ;)h]h!It works? Voila, you’re done ;)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]manual-testingah ]h"]manual testingah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hThanksh]hThanks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh]hdefinition_list_item)}(hnI have to thank ITO Takayuki for the detailed info on his site http://euc.jp/periphs/xbox-controller.ja.html. h](hterm)}(h>I have to thank ITO Takayuki for the detailed info on his siteh]h>I have to thank ITO Takayuki for the detailed info on his site}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubh definition)}(hhh]h)}(h.http://euc.jp/periphs/xbox-controller.ja.html.h](h reference)}(h-http://euc.jp/periphs/xbox-controller.ja.htmlh]h-http://euc.jp/periphs/xbox-controller.ja.html}(hj'hhhNhNubah}(h]h ]h"]h$]h&]refurij)uh1j%hj!ubh.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hHis useful info and both the usb-skeleton as well as the iforce input driver (Greg Kroah-Hartmann; Vojtech Pavlik) helped a lot in rapid prototyping the basic functionality.h]hHis useful info and both the usb-skeleton as well as the iforce input driver (Greg Kroah-Hartmann; Vojtech Pavlik) helped a lot in rapid prototyping the basic functionality.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]thanksah ]h"]thanksah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Referencesh]h References}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhhKubhfootnote)}(h - original doc h](j )}(h32002-07-16 - Marko Friedemann h](h2002-07-16 - Marko Friedemann <}(hjchhhNhNubj&)}(hmfr@bmx-chemnitz.deh]hmfr@bmx-chemnitz.de}(hjkhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:mfr@bmx-chemnitz.deuh1j%hjcubh>}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhj_ubj)}(hhh]j)}(hhh]j)}(h original doc h]h)}(h original doch]h original doc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jUjVuh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj\ubj)}(hm2005-03-19 - Dominic Cerquetti - added stuff for dance pads, new d-pad->axes mappings h](j )}(h52005-03-19 - Dominic Cerquetti h](h 2005-03-19 - Dominic Cerquetti <}(hjhhhNhNubj&)}(hbinary1230@yahoo.comh]hbinary1230@yahoo.com}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:binary1230@yahoo.comuh1j%hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhjubj)}(hhh]j)}(hhh]j)}(h5added stuff for dance pads, new d-pad->axes mappings h]h)}(h4added stuff for dance pads, new d-pad->axes mappingsh]h4added stuff for dance pads, new d-pad->axes mappings}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jUjVuh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhj\hhubeh}(h]h ]h"]h$]h&]uh1jhjKhhhNhNubh)}(hXLater changes may be viewed with 'git log --follow Documentation/input/devices/xpad.rst'h]h\Later changes may be viewed with ‘git log --follow Documentation/input/devices/xpad.rst’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjKhhubeh}(h]historic-editsah ]h"]historic editsah$]h&]uh1hhhhhhhhKubeh}(h]5xpad-linux-usb-driver-for-xbox-compatible-controllersah ]h"]7xpad - linux usb driver for xbox compatible controllersah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjRerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(1]j5a2]jMa3]jaa4]j7aurefids}nameids}(j,j)j]jZjjj jjUjRjjjjjjjjjjjejbjHjEjjEjj\jjpj@jFj$j!u nametypes}(j,j]jj jUjjjjjjejHjjjj@j$uh}(j)hjZhjjsjjjRj#jj`jjj?j5jWjMjkjajjjjjAj7jjjbjjEjhjEj{j\jjpjjFjj!jKjjjju footnote_refs}(j]j5aj]jMaj]jaaj]j7au citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes](j{jjje citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j`K sRparse_messages]transform_messages] transformerN include_log] decorationNhhub.