e`sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget0/translations/zh_CN/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/zh_TW/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/it_IT/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ja_JP/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ko_KR/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/sp_SP/driver-api/mmc/mmc-dev-attrsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h"SD and MMC Block Device Attributesh]h"SD and MMC Block Device Attributes}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhJ/var/lib/git/docbuild/linux/Documentation/driver-api/mmc/mmc-dev-attrs.rsthKubh paragraph)}(hXThese attributes are defined for the block devices associated with the SD or MMC device.h]hXThese attributes are defined for the block devices associated with the SD or MMC device.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h(The following attributes are read/write.h]h(The following attributes are read/write.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(hX======== =============================================== force_ro Enforce read-only access even if write protect switch is off. ======== =============================================== h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK^uh1hhhubhtbody)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hforce_roh]hforce_ro}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h^Enforce read-only access even if write protect switch is off.h]h^Enforce read-only access even if write protect switch is off.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]colsKuh1hhhubah}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(hSD and MMC Device Attributesh]hSD and MMC Device Attributes}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThhhhhKubh)}(hAll attributes are read-only.h]hAll attributes are read-only.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjThhubh)}(hXE====================== =============================================== cid Card Identification Register csd Card Specific Data Register scr SD Card Configuration Register (SD only) date Manufacturing Date (from CID Register) fwrev Firmware/Product Revision (from CID Register) (SD and MMCv1 only) hwrev Hardware/Product Revision (from CID Register) (SD and MMCv1 only) manfid Manufacturer ID (from CID Register) name Product Name (from CID Register) oemid OEM/Application ID (from CID Register) prv Product Revision (from CID Register) (SD and MMCv4 only) serial Product Serial Number (from CID Register) erase_size Erase group size preferred_erase_size Preferred erase size raw_rpmb_size_mult RPMB partition size rel_sectors Reliable write sector count ocr Operation Conditions Register dsr Driver Stage Register cmdq_en Command Queue enabled: 1 => enabled, 0 => not enabled ====================== =============================================== h]h)}(hhh]h)}(hhh](h)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhjzubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhjzubh)}(hhh](j)}(hhh](j)}(hhh]h)}(hcidh]hcid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hCard Identification Registerh]hCard Identification Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hcsdh]hcsd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hCard Specific Data Registerh]hCard Specific Data Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hscrh]hscr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(SD Card Configuration Register (SD only)h]h(SD Card Configuration Register (SD only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hdateh]hdate}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h&Manufacturing Date (from CID Register)h]h&Manufacturing Date (from CID Register)}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjSubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hfwrevh]hfwrev}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(hAFirmware/Product Revision (from CID Register) (SD and MMCv1 only)h]hAFirmware/Product Revision (from CID Register) (SD and MMCv1 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hhwrevh]hhwrev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hAHardware/Product Revision (from CID Register) (SD and MMCv1 only)h]hAHardware/Product Revision (from CID Register) (SD and MMCv1 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hmanfidh]hmanfid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#Manufacturer ID (from CID Register)h]h#Manufacturer ID (from CID Register)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hnameh]hname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Product Name (from CID Register)h]h Product Name (from CID Register)}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hoemidh]hoemid}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h&OEM/Application ID (from CID Register)h]h&OEM/Application ID (from CID Register)}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hprvh]hprv}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h8Product Revision (from CID Register) (SD and MMCv4 only)h]h8Product Revision (from CID Register) (SD and MMCv4 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hserialh]hserial}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h)Product Serial Number (from CID Register)h]h)Product Serial Number (from CID Register)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h erase_sizeh]h erase_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hErase group sizeh]hErase group size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hpreferred_erase_sizeh]hpreferred_erase_size}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hj+ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hPreferred erase sizeh]hPreferred erase size}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjBubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hraw_rpmb_size_multh]hraw_rpmb_size_mult}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hRPMB partition sizeh]hRPMB partition size}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjyubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h rel_sectorsh]h rel_sectors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReliable write sector counth]hReliable write sector count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hocrh]hocr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hOperation Conditions Registerh]hOperation Conditions Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hdsrh]hdsr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hDriver Stage Registerh]hDriver Stage Register}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hcmdq_enh]hcmdq_en}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](h)}(hCommand Queue enabled:h]hCommand Queue enabled:}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjUubh)}(h1 => enabled, 0 => not enabledh]h)}(hjhh]h1 => enabled, 0 => not enabled}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjfubah}(h]h ]h"]h$]h&]uh1hhhhK*hjUubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhjzubeh}(h]h ]h"]h$]h&]colsKuh1hhjwubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhKhjThhubh)}(h,Note on Erase Size and Preferred Erase Size:h]h,Note on Erase Size and Preferred Erase Size:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjThhubh)}(hX8"erase_size" is the minimum size, in bytes, of an erase operation. For MMC, "erase_size" is the erase group size reported by the card. Note that "erase_size" does not apply to trim or secure trim operations where the minimum size is always one 512 byte sector. For SD, "erase_size" is 512 if the card is block-addressed, 0 otherwise. SD/MMC cards can erase an arbitrarily large area up to and including the whole card. When erasing a large area it may be desirable to do it in smaller chunks for three reasons: 1. A single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes. 2. To be able to inform the user of erase progress. 3. The erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas. "erase_size" is not the most efficient unit to erase (especially for SD where it is just one sector), hence "preferred_erase_size" provides a good chunk size for erasing large areas. For MMC, "preferred_erase_size" is the high-capacity erase size if a card specifies one, otherwise it is based on the capacity of the card. For SD, "preferred_erase_size" is the allocation unit size specified by the card. "preferred_erase_size" is in bytes. h](h)}(hXQ"erase_size" is the minimum size, in bytes, of an erase operation. For MMC, "erase_size" is the erase group size reported by the card. Note that "erase_size" does not apply to trim or secure trim operations where the minimum size is always one 512 byte sector. For SD, "erase_size" is 512 if the card is block-addressed, 0 otherwise.h]hXa“erase_size” is the minimum size, in bytes, of an erase operation. For MMC, “erase_size” is the erase group size reported by the card. Note that “erase_size” does not apply to trim or secure trim operations where the minimum size is always one 512 byte sector. For SD, “erase_size” is 512 if the card is block-addressed, 0 otherwise.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubh)}(hSD/MMC cards can erase an arbitrarily large area up to and including the whole card. When erasing a large area it may be desirable to do it in smaller chunks for three reasons:h]hSD/MMC cards can erase an arbitrarily large area up to and including the whole card. When erasing a large area it may be desirable to do it in smaller chunks for three reasons:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubh)}(hX91. A single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes. 2. To be able to inform the user of erase progress. 3. The erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas. h]henumerated_list)}(hhh](h list_item)}(hXA single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes.h]h)}(hXA single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes.h]hXA single erase command will make all other I/O on the card wait. This is not a problem if the whole card is being erased, but erasing one partition will make I/O for another partition on the same card wait for the duration of the erase - which could be a several minutes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h0To be able to inform the user of erase progress.h]h)}(hjh]h0To be able to inform the user of erase progress.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hThe erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas. h]h)}(hThe erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas.h]hThe erase timeout becomes too large to be very useful. Because the erase timeout contains a margin which is multiplied by the size of the erase area, the value can end up being several minutes for large areas.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubh)}(h"erase_size" is not the most efficient unit to erase (especially for SD where it is just one sector), hence "preferred_erase_size" provides a good chunk size for erasing large areas.h]h“erase_size” is not the most efficient unit to erase (especially for SD where it is just one sector), hence “preferred_erase_size” provides a good chunk size for erasing large areas.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubh)}(hFor MMC, "preferred_erase_size" is the high-capacity erase size if a card specifies one, otherwise it is based on the capacity of the card.h]hFor MMC, “preferred_erase_size” is the high-capacity erase size if a card specifies one, otherwise it is based on the capacity of the card.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjubh)}(hQFor SD, "preferred_erase_size" is the allocation unit size specified by the card.h]hUFor SD, “preferred_erase_size” is the allocation unit size specified by the card.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubh)}(h#"preferred_erase_size" is in bytes.h]h'“preferred_erase_size” is in bytes.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubeh}(h]h ]h"]h$]h&]uh1hhhhK/hjThhubh)}(hNote on raw_rpmb_size_mult:h]hNote on raw_rpmb_size_mult:}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjThhubh)}(h"raw_rpmb_size_mult" is a multiple of 128kB block. RPMB size in byte is calculated by using the following equation: RPMB partition size = 128kB x raw_rpmb_size_multh](h)}(h2"raw_rpmb_size_mult" is a multiple of 128kB block.h]h6“raw_rpmb_size_mult” is a multiple of 128kB block.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubh)}(h@RPMB size in byte is calculated by using the following equation:h]h@RPMB size in byte is calculated by using the following equation:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubh)}(h0RPMB partition size = 128kB x raw_rpmb_size_multh]h)}(hjh]h0RPMB partition size = 128kB x raw_rpmb_size_mult}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubeh}(h]h ]h"]h$]h&]uh1hhhhKWhjThhubeh}(h]sd-and-mmc-device-attributesah ]h"]sd and mmc device attributesah$]h&]uh1hhhhhhhhKubeh}(h]"sd-and-mmc-block-device-attributesah ]h"]"sd and mmc block device attributesah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_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_handlerjerror_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}refids}nameids}(jjjju nametypes}(jjuh}(jhjjTu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.