€•@UŒ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/arch/arc/arc”Œ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/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/it_IT/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ja_JP/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ko_KR/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/pt_BR/arch/arc/arc”Œ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/arch/arc/arc”Œ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³Œ:/var/lib/git/docbuild/linux/Documentation/arch/arc/arc.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒLinux kernel for ARC processors”h]”hŒLinux kernel for ARC processors”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒOther sources of information”h]”hŒOther sources of information”…””}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒ paragraph”“”)”}”(hŒqBelow are some resources where more information can be found on ARC processors and relevant open source projects.”h]”hŒqBelow are some resources where more information can be found on ARC processors and relevant open source projects.”…””}”(hhðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ ``_ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more. ”h]”hï)”}”(hŒŸ``_ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more.”h]”(hŒ reference”“”)”}”(hŒ``_”h]”hŒhttps://embarc.org”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œhttps://embarc.org”Œrefuri”juh1j hj ubhŒtarget”“”)”}”(hŒ”h]”h}”(h]”Œhttps-embarc-org”ah ]”h"]”Œhttps://embarc.org”ah$]”h&]”Œrefuri”juh1j Œ referenced”Khj ubhŒˆ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)”}”(hX“``_ - Home for all development activities regarding open source projects for ARC processors. Some of the projects are forks of various upstream projects, where "work in progress" is hosted prior to submission to upstream projects. Other projects are developed by Synopsys and made available to community as open source for use on ARC Processors. ”h]”hï)”}”(hX’``_ - Home for all development activities regarding open source projects for ARC processors. Some of the projects are forks of various upstream projects, where "work in progress" is hosted prior to submission to upstream projects. Other projects are developed by Synopsys and made available to community as open source for use on ARC Processors.”h]”(j)”}”(hŒ<``_”h]”hŒ7https://github.com/foss-for-synopsys-dwc-arc-processors”…””}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ7https://github.com/foss-for-synopsys-dwc-arc-processors”jjWuh1j hjDubj!)”}”(hŒ9”h]”h}”(h]”Œ5https-github-com-foss-for-synopsys-dwc-arc-processors”ah ]”h"]”Œ7https://github.com/foss-for-synopsys-dwc-arc-processors”ah$]”h&]”Œrefuri”jWuh1j j/KhjDubhXZ - Home for all development activities regarding open source projects for ARC processors. Some of the projects are forks of various upstream projects, where “work in progress†is hosted prior to submission to upstream projects. Other projects are developed by Synopsys and made available to community as open source for use on ARC Processors.”…””}”(hjDh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)”}”(hXZ`Official Synopsys ARC Processors website `_ - location, with access to some IP documentation (`Programmer's Reference Manual, AKA PRM for ARC HS processors `_) and free versions of some commercial tools (`Free nSIM `_ and `MetaWare Light Edition `_). Please note though, registration is required to access both the documentation and the tools. ”h]”hï)”}”(hXY`Official Synopsys ARC Processors website `_ - location, with access to some IP documentation (`Programmer's Reference Manual, AKA PRM for ARC HS processors `_) and free versions of some commercial tools (`Free nSIM `_ and `MetaWare Light Edition `_). Please note though, registration is required to access both the documentation and the tools.”h]”(j)”}”(hŒm`Official Synopsys ARC Processors website `_”h]”hŒ(Official Synopsys ARC Processors website”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ(Official Synopsys ARC Processors website”jŒ?https://www.synopsys.com/designware-ip/processor-solutions.html”uh1j hjyubj!)”}”(hŒB ”h]”h}”(h]”Œ(official-synopsys-arc-processors-website”ah ]”h"]”Œ(official synopsys arc processors website”ah$]”h&]”Œrefuri”juh1j j/KhjyubhŒ3 - location, with access to some IP documentation (”…””}”(hjyh²hh³Nh´Nubj)”}”(hŒ“`Programmer's Reference Manual, AKA PRM for ARC HS processors `_”h]”hŒ>Programmer’s Reference Manual, AKA PRM for ARC HS processors”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ”h]”h}”(h]”Œ;programmer-s-reference-manual-aka-prm-for-arc-hs-processors”ah ]”h"]”Œ`_”h]”hŒ Free nSIM”…””}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ Free nSIM”jŒ3https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi”uh1j hjyubj!)”}”(hŒ6 ”h]”h}”(h]”Œ free-nsim”ah ]”h"]”Œ free nsim”ah$]”h&]”Œrefuri”jÑuh1j j/KhjyubhŒ and ”…””}”(hjyh²hh³Nh´Nubj)”}”(hŒR`MetaWare Light Edition `_”h]”hŒMetaWare Light Edition”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒMetaWare Light Edition”jŒ6https://www.synopsys.com/cgi-bin/arcmwtk_lite/reg1.cgi”uh1j hjyubj!)”}”(hŒ9 ”h]”h}”(h]”Œmetaware-light-edition”ah ]”h"]”Œmetaware light edition”ah$]”h&]”Œrefuri”jóuh1j j/KhjyubhŒ_). Please note though, registration is required to access both the documentation and the tools.”…””}”(hjyh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hþh³hÇh´K hhÝh²hubeh}”(h]”Œother-sources-of-information”ah ]”h"]”Œother sources of information”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒ0Important note on ARC processors configurability”h]”hŒ0Important note on ARC processors configurability”…””}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj!h²hh³hÇh´K#ubhï)”}”(hX[ARC processors are highly configurable and several configurable options are supported in Linux. Some options are transparent to software (i.e cache geometries, some can be detected at runtime and configured and used accordingly, while some need to be explicitly selected or configured in the kernel's configuration utility (AKA "make menuconfig").”h]”hXaARC processors are highly configurable and several configurable options are supported in Linux. Some options are transparent to software (i.e cache geometries, some can be detected at runtime and configured and used accordingly, while some need to be explicitly selected or configured in the kernel’s configuration utility (AKA “make menuconfigâ€).”…””}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K%hj!h²hubhï)”}”(hŒÛHowever not all configurable options are supported when an ARC processor is to run Linux. SoC design teams should refer to "Appendix E: Configuration for ARC Linux" in the ARC HS Databook for configurability guidelines.”h]”hŒßHowever not all configurable options are supported when an ARC processor is to run Linux. SoC design teams should refer to “Appendix E: Configuration for ARC Linux†in the ARC HS Databook for configurability guidelines.”…””}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K+hj!h²hubhï)”}”(hŒµFollowing these guidelines and selecting valid configuration options up front is critical to help prevent any unwanted issues during SoC bringup and software development in general.”h]”hŒµFollowing these guidelines and selecting valid configuration options up front is critical to help prevent any unwanted issues during SoC bringup and software development in general.”…””}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K0hj!h²hubeh}”(h]”Œ0important-note-on-arc-processors-configurability”ah ]”h"]”Œ0important note on arc processors configurability”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K#ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ,Building the Linux kernel for ARC processors”h]”hŒ,Building the Linux kernel for ARC processors”…””}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjdh²hh³hÇh´K5ubhï)”}”(hŒxThe process of kernel building for ARC processors is the same as for any other architecture and could be done in 2 ways:”h]”hŒxThe process of kernel building for ARC processors is the same as for any other architecture and could be done in 2 ways:”…””}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K7hjdh²hubhÿ)”}”(hhh]”(j)”}”(hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”h]”hï)”}”(hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”h]”hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K:hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒh²hh³hÇh´Nubj)”}”(hŒÍNative compilation: process of compiling for ARC on a ARC platform (hardware board or a simulator like QEMU) with complete development environment (GNU toolchain, dtc, make etc) installed on the platform. ”h]”hï)”}”(hŒÌNative compilation: process of compiling for ARC on a ARC platform (hardware board or a simulator like QEMU) with complete development environment (GNU toolchain, dtc, make etc) installed on the platform.”h]”hŒÌNative compilation: process of compiling for ARC on a ARC platform (hardware board or a simulator like QEMU) with complete development environment (GNU toolchain, dtc, make etc) installed on the platform.”…””}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K`_ ”h]”hï)”}”(hŒpSynopsys GNU toolchain releases: ``_”h]”(hŒ!Synopsys GNU toolchain releases: ”…””}”(hjÑh²hh³Nh´Nubj)”}”(hŒO``_”h]”hŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”…””}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”jjèuh1j hjÑubj!)”}”(hŒL”h]”h}”(h]”ŒHhttps-github-com-foss-for-synopsys-dwc-arc-processors-toolchain-releases”ah ]”h"]”ŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”ah$]”h&]”Œrefuri”jèuh1j j/KhjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KDhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊh²hh³hÇh´Nubj)”}”(hŒ\Linux kernel compilers collection: ``_ ”h]”hï)”}”(hŒ[Linux kernel compilers collection: ``_”h]”(hŒ#Linux kernel compilers collection: ”…””}”(hjh²hh³Nh´Nubj)”}”(hŒ8``_”h]”hŒ3https://mirrors.edge.kernel.org/pub/tools/crosstool”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ3https://mirrors.edge.kernel.org/pub/tools/crosstool”jjuh1j hjubj!)”}”(hŒ5”h]”h}”(h]”Œ1https-mirrors-edge-kernel-org-pub-tools-crosstool”ah ]”h"]”Œ3https://mirrors.edge.kernel.org/pub/tools/crosstool”ah$]”h&]”Œrefuri”juh1j j/Khjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KGhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊh²hh³hÇh´Nubj)”}”(hŒDBootlin's toolchain collection: ``_ ”h]”hï)”}”(hŒCBootlin's toolchain collection: ``_”h]”(hŒ"Bootlin’s toolchain collection: ”…””}”(hj;h²hh³Nh´Nubj)”}”(hŒ#``_”h]”hŒhttps://toolchains.bootlin.com”…””}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œhttps://toolchains.bootlin.com”jjRuh1j hj;ubj!)”}”(hŒ ”h]”h}”(h]”Œhttps-toolchains-bootlin-com”ah ]”h"]”Œhttps://toolchains.bootlin.com”ah$]”h&]”Œrefuri”jRuh1j j/Khj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KJhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jjuh1hþh³hÇh´KDhjdh²hubhï)”}”(hXOnce the toolchain is installed in the system, make sure its "bin" folder is added in your ``PATH`` environment variable. Then set ``ARCH=arc`` & ``CROSS_COMPILE=arc-linux`` (or whatever matches installed ARC toolchain prefix) and then as usual ``make defconfig && make``.”h]”(hŒ_Once the toolchain is installed in the system, make sure its “bin†folder is added in your ”…””}”(hjrh²hh³Nh´NubhŒliteral”“”)”}”(hŒ``PATH``”h]”hŒPATH”…””}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjrubhŒ environment variable. Then set ”…””}”(hjrh²hh³Nh´Nubj{)”}”(hŒ ``ARCH=arc``”h]”hŒARCH=arc”…””}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjrubhŒ & ”…””}”(hjrh²hh³Nh´Nubj{)”}”(hŒ``CROSS_COMPILE=arc-linux``”h]”hŒCROSS_COMPILE=arc-linux”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjrubhŒH (or whatever matches installed ARC toolchain prefix) and then as usual ”…””}”(hjrh²hh³Nh´Nubj{)”}”(hŒ``make defconfig && make``”h]”hŒmake defconfig && make”…””}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjrubhŒ.”…””}”(hjrh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KLhjdh²hubhï)”}”(hXThis will produce "vmlinux" file in the root of the kernel source tree usable for loading on the target system via JTAG. If you need to get an image usable with U-Boot bootloader, type ``make uImage`` and ``uImage`` will be produced in ``arch/arc/boot`` folder.”h]”(hŒ½This will produce “vmlinux†file in the root of the kernel source tree usable for loading on the target system via JTAG. If you need to get an image usable with U-Boot bootloader, type ”…””}”(hjÊh²hh³Nh´Nubj{)”}”(hŒ``make uImage``”h]”hŒ make uImage”…””}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjÊubhŒ and ”…””}”(hjÊh²hh³Nh´Nubj{)”}”(hŒ ``uImage``”h]”hŒuImage”…””}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjÊubhŒ will be produced in ”…””}”(hjÊh²hh³Nh´Nubj{)”}”(hŒ``arch/arc/boot``”h]”hŒ arch/arc/boot”…””}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjÊubhŒ folder.”…””}”(hjÊh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KQhjdh²hubeh}”(h]”Œ,building-the-linux-kernel-for-arc-processors”ah ]”h"]”Œ,building the linux kernel for arc processors”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K5ubeh}”(h]”Œlinux-kernel-for-arc-processors”ah ]”h"]”Œlinux kernel for arc processors”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”jAŒ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”}”(jjjjj+j(jaj^j—j”j¹j¶jÛjØjýjújaj^jjjòjïj'j$j\jYuŒ nametypes”}”(j‰j‰j+ˆjaˆj—ˆj¹ˆjÛˆjýˆja‰j‰jòˆj'ˆj\ˆuh}”(jhÊjhÝj(j"j^jXj”jŽj¶j°jØjÒjújôj^j!jjdjïjéj$jjYjSuŒ 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.