€•IJŒ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”Œ(/translations/zh_CN/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ(/translations/zh_TW/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ(/translations/it_IT/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ(/translations/ja_JP/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ(/translations/ko_KR/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ(/translations/sp_SP/cdrom/packet-writing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒPacket writing”h]”hŒPacket writing”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒB/var/lib/git/docbuild/linux/Documentation/cdrom/packet-writing.rst”h Kubh¢)”}”(hhh]”(h§)”}”(hŒGetting started quick”h]”hŒGetting started quick”…””}”(hhºhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh·hžhhŸh¶h KubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ^Select packet support in the block device section and UDF support in the file system section. ”h]”hŒ paragraph”“”)”}”(hŒ]Select packet support in the block device section and UDF support in the file system section.”h]”hŒ]Select packet support in the block device section and UDF support in the file system section.”…””}”(hhÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KhhÏubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒ0Compile and install kernel and modules, reboot. ”h]”hÔ)”}”(hŒ/Compile and install kernel and modules, reboot.”h]”hŒ/Compile and install kernel and modules, reboot.”…””}”(hhíhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K hhéubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒlYou need the udftools package (pktsetup, mkudffs, cdrwtool). Download from https://github.com/pali/udftools ”h]”hÔ)”}”(hŒkYou need the udftools package (pktsetup, mkudffs, cdrwtool). Download from https://github.com/pali/udftools”h]”(hŒKYou need the udftools package (pktsetup, mkudffs, cdrwtool). Download from ”…””}”(hjhžhhŸNh NubhŒ reference”“”)”}”(hŒ https://github.com/pali/udftools”h]”hŒ https://github.com/pali/udftools”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒzGrab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute as appropriate):: # cdrwtool -d /dev/hdc -q ”h]”(hÔ)”}”(hŒXGrab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute as appropriate)::”h]”hŒWGrab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute as appropriate):”…””}”(hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Khj*ubhŒ literal_block”“”)”}”(hŒ# cdrwtool -d /dev/hdc -q”h]”hŒ# cdrwtool -d /dev/hdc -q”…””}”hj>sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j<hŸh¶h Khj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒ8Setup your writer:: # pktsetup dev_name /dev/hdc ”h]”(hÔ)”}”(hŒSetup your writer::”h]”hŒSetup your writer:”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KhjTubj=)”}”(hŒ# pktsetup dev_name /dev/hdc”h]”hŒ# pktsetup dev_name /dev/hdc”…””}”hjfsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h KhjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒˆNow you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy:: # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime ”h]”(hÔ)”}”(hŒENow you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy::”h]”hŒDNow you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy:”…””}”(hj~hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Khjzubj=)”}”(hŒ9# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”h]”hŒ9# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”…””}”hjŒsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h Khjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hÈhŸh¶h Khh·hžhubeh}”(h]”Œgetting-started-quick”ah ]”h"]”Œgetting started quick”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒPacket writing for DVD-RW media”h]”hŒPacket writing for DVD-RW media”…””}”(hj³hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj°hžhhŸh¶h KubhÔ)”}”(hŒ DVD-RW discs can be written to much like CD-RW discs if they are in the so called "restricted overwrite" mode. To put a disc in restricted overwrite mode, run::”h]”hŒ£DVD-RW discs can be written to much like CD-RW discs if they are in the so called “restricted overwrite†mode. To put a disc in restricted overwrite mode, run:”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K!hj°hžhubj=)”}”(hŒ# dvd+rw-format /dev/hdc”h]”hŒ# dvd+rw-format /dev/hdc”…””}”hjÏsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h K%hj°hžhubhÔ)”}”(hŒCYou can then use the disc the same way you would use a CD-RW disc::”h]”hŒBYou can then use the disc the same way you would use a CD-RW disc:”…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K'hj°hžhubj=)”}”(hŒV# pktsetup dev_name /dev/hdc # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”h]”hŒV# pktsetup dev_name /dev/hdc # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”…””}”hjësbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h K)hj°hžhubeh}”(h]”Œpacket-writing-for-dvd-rw-media”ah ]”h"]”Œpacket writing for dvd-rw media”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒPacket writing for DVD+RW media”h]”hŒPacket writing for DVD+RW media”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjhžhhŸh¶h K.ubhÔ)”}”(hXAccording to the DVD+RW specification, a drive supporting DVD+RW discs shall implement "true random writes with 2KB granularity", which means that it should be possible to put any filesystem with a block size >= 2KB on such a disc. For example, it should be possible to do::”h]”hXAccording to the DVD+RW specification, a drive supporting DVD+RW discs shall implement “true random writes with 2KB granularityâ€, which means that it should be possible to put any filesystem with a block size >= 2KB on such a disc. For example, it should be possible to do:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K0hjhžhubj=)”}”(hŒ©# dvd+rw-format /dev/hdc (only needed if the disc has never been formatted) # mkudffs /dev/hdc # mount /dev/hdc /cdrom -t udf -o rw,noatime”h]”hŒ©# dvd+rw-format /dev/hdc (only needed if the disc has never been formatted) # mkudffs /dev/hdc # mount /dev/hdc /cdrom -t udf -o rw,noatime”…””}”hj sbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h K5hjhžhubhÔ)”}”(hŒçHowever, some drives don't follow the specification and expect the host to perform aligned writes at 32KB boundaries. Other drives do follow the specification, but suffer bad performance problems if the writes are not 32KB aligned.”h]”hŒéHowever, some drives don’t follow the specification and expect the host to perform aligned writes at 32KB boundaries. Other drives do follow the specification, but suffer bad performance problems if the writes are not 32KB aligned.”…””}”(hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K:hjhžhubhÔ)”}”(hŒ`Both problems can be solved by using the pktcdvd driver, which always generates aligned writes::”h]”hŒ_Both problems can be solved by using the pktcdvd driver, which always generates aligned writes:”…””}”(hj<hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K?hjhžhubj=)”}”(hŒ# dvd+rw-format /dev/hdc # pktsetup dev_name /dev/hdc # mkudffs /dev/pktcdvd/dev_name # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”h]”hŒ# dvd+rw-format /dev/hdc # pktsetup dev_name /dev/hdc # mkudffs /dev/pktcdvd/dev_name # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime”…””}”hjJsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h KBhjhžhubeh}”(h]”Œid1”ah ]”h"]”Œpacket writing for dvd+rw media”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K.ubh¢)”}”(hhh]”(h§)”}”(hŒ Packet writing for DVD-RAM media”h]”hŒ Packet writing for DVD-RAM media”…””}”(hjchžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj`hžhhŸh¶h KIubhÔ)”}”(hŒ´DVD-RAM discs are random writable, so using the pktcdvd driver is not necessary. However, using the pktcdvd driver can improve performance in the same way it does for DVD+RW media.”h]”hŒ´DVD-RAM discs are random writable, so using the pktcdvd driver is not necessary. However, using the pktcdvd driver can improve performance in the same way it does for DVD+RW media.”…””}”(hjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KKhj`hžhubeh}”(h]”Œ packet-writing-for-dvd-ram-media”ah ]”h"]”Œ packet writing for dvd-ram media”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KIubh¢)”}”(hhh]”(h§)”}”(hŒNotes”h]”hŒNotes”…””}”(hjŠhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj‡hžhhŸh¶h KQubhÉ)”}”(hhh]”(hÎ)”}”(hŒ¢CD-RW media can usually not be overwritten more than about 1000 times, so to avoid unnecessary wear on the media, you should always use the noatime mount option. ”h]”hÔ)”}”(hŒ¡CD-RW media can usually not be overwritten more than about 1000 times, so to avoid unnecessary wear on the media, you should always use the noatime mount option.”h]”hŒ¡CD-RW media can usually not be overwritten more than about 1000 times, so to avoid unnecessary wear on the media, you should always use the noatime mount option.”…””}”(hjŸhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KShj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj˜hžhhŸh¶h NubhÎ)”}”(hŒ¬Defect management (ie automatic remapping of bad sectors) has not been implemented yet, so you are likely to get at least some filesystem corruption if the disc wears out. ”h]”hÔ)”}”(hŒ«Defect management (ie automatic remapping of bad sectors) has not been implemented yet, so you are likely to get at least some filesystem corruption if the disc wears out.”h]”hŒ«Defect management (ie automatic remapping of bad sectors) has not been implemented yet, so you are likely to get at least some filesystem corruption if the disc wears out.”…””}”(hj·hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KWhj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj˜hžhhŸh¶h NubhÎ)”}”(hŒüSince the pktcdvd driver makes the disc appear as a regular block device with a 2KB block size, you can put any filesystem you like on the disc. For example, run:: # /sbin/mke2fs /dev/pktcdvd/dev_name to create an ext2 filesystem on the disc. ”h]”(hÔ)”}”(hŒ£Since the pktcdvd driver makes the disc appear as a regular block device with a 2KB block size, you can put any filesystem you like on the disc. For example, run::”h]”hŒ¢Since the pktcdvd driver makes the disc appear as a regular block device with a 2KB block size, you can put any filesystem you like on the disc. For example, run:”…””}”(hjÏhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K[hjËubj=)”}”(hŒ$# /sbin/mke2fs /dev/pktcdvd/dev_name”h]”hŒ$# /sbin/mke2fs /dev/pktcdvd/dev_name”…””}”hjÝsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h K_hjËubhÔ)”}”(hŒ)to create an ext2 filesystem on the disc.”h]”hŒ)to create an ext2 filesystem on the disc.”…””}”(hjëhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KahjËubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj˜hžhhŸh¶h Nubeh}”(h]”h ]”h"]”h$]”h&]”j¦j§uh1hÈhŸh¶h KShj‡hžhubeh}”(h]”Œnotes”ah ]”h"]”Œnotes”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KQubh¢)”}”(hhh]”(h§)”}”(hŒ!Using the pktcdvd sysfs interface”h]”hŒ!Using the pktcdvd sysfs interface”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj hžhhŸh¶h KeubhÔ)”}”(hŒÄSince Linux 2.6.20, the pktcdvd module has a sysfs interface and can be controlled by it. For example the "pktcdvd" tool uses this interface. (see http://tom.ist-im-web.de/linux/software/pktcdvd )”h]”(hŒ—Since Linux 2.6.20, the pktcdvd module has a sysfs interface and can be controlled by it. For example the “pktcdvd†tool uses this interface. (see ”…””}”(hjhžhhŸNh Nubj)”}”(hŒ/http://tom.ist-im-web.de/linux/software/pktcdvd”h]”hŒ/http://tom.ist-im-web.de/linux/software/pktcdvd”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j(uh1j hjubhŒ )”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Kghj hžhubhÔ)”}”(hŒ-"pktcdvd" works similar to "pktsetup", e.g.::”h]”hŒ4“pktcdvd†works similar to “pktsetupâ€, e.g.:”…””}”(hj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Kkhj hžhubj=)”}”(hŒ³# pktcdvd -a dev_name /dev/hdc # mkudffs /dev/pktcdvd/dev_name # mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram # cp files /dvdram # umount /dvdram # pktcdvd -r dev_name”h]”hŒ³# pktcdvd -a dev_name /dev/hdc # mkudffs /dev/pktcdvd/dev_name # mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram # cp files /dvdram # umount /dvdram # pktcdvd -r dev_name”…””}”hjMsbah}”(h]”h ]”h"]”h$]”h&]”jLjMuh1j<hŸh¶h Kmhj hžhubhÔ)”}”(hŒFor a description of the debugfs interface look into the file:”h]”hŒ>For a description of the debugfs interface look into the file:”…””}”(hj¸hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Khj‹hžhubjj)”}”(hŒ,Documentation/ABI/testing/debugfs-pktcdvd ”h]”hÔ)”}”(hŒ)Documentation/ABI/testing/debugfs-pktcdvd”h]”hŒ)Documentation/ABI/testing/debugfs-pktcdvd”…””}”(hjÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KƒhjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jihŸh¶h Kƒhj‹hžhubeh}”(h]”Œ#using-the-pktcdvd-debugfs-interface”ah ]”h"]”Œ#using the pktcdvd debugfs interface”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K{ubh¢)”}”(hhh]”(h§)”}”(hŒLinks”h]”hŒLinks”…””}”(hjéhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjæhžhhŸh¶h KˆubhÔ)”}”(hŒVSee http://fy.chalmers.se/~appro/linux/DVD+RW/ for more information about DVD writing.”h]”(hŒSee ”…””}”(hj÷hžhhŸNh Nubj)”}”(hŒ*http://fy.chalmers.se/~appro/linux/DVD+RW/”h]”hŒ*http://fy.chalmers.se/~appro/linux/DVD+RW/”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j hj÷ubhŒ( for more information about DVD writing.”…””}”(hj÷hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KŠhjæhžhubeh}”(h]”Œlinks”ah ]”h"]”Œlinks”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kˆubeh}”(h]”Œpacket-writing”ah ]”h"]”Œpacket writing”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”Œentry”Œ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”jKŒ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"j­jªjþjûj]jZj„jj jjˆj…jãjàjjuŒ nametypes”}”(j%‰j­‰jþ‰j]‰j„‰j ‰jˆ‰jã‰j‰uh}”(j"h£jªh·jûj°jZjjj`jj‡j…j jàj‹jjæuŒ 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”“”}”jYKs…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.