€•JLŒ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”Œ8/translations/zh_CN/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/zh_TW/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/it_IT/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ja_JP/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ko_KR/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/pt_BR/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/sp_SP/userspace-api/media/drivers/imx-uapi”Œ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³ŒR/var/lib/git/docbuild/linux/Documentation/userspace-api/media/drivers/imx-uapi.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒi.MX Video Capture Driver”h]”hŒi.MX Video Capture Driver”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒEvents”h]”hŒEvents”…””}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒtarget”“”)”}”(hŒ.. _imx_api_ipuX_csiY:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œimx-api-ipux-csiy”uh1hîh´K hhÝh²hh³hÇubhÉ)”}”(hhh]”(hÎ)”}”(hŒ ipuX_csiY”h]”hŒ ipuX_csiY”…””}”(hhÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhüh²hh³hÇh´K ubhŒ paragraph”“”)”}”(hŒWThis subdev can generate the following event when enabling the second IDMAC source pad:”h]”hŒWThis subdev can generate the following event when enabling the second IDMAC source pad:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khhüh²hubhŒ bullet_list”“”)”}”(hhh]”hŒ list_item”“”)”}”(hŒ$V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR ”h]”j)”}”(hŒ#V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR”h]”hŒ#V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjh²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jh³hÇh´Khhüh²hubj)”}”(hŒ§The user application can subscribe to this event from the ipuX_csiY subdev node. This event is generated by the Frame Interval Monitor (see below for more on the FIM).”h]”hŒ§The user application can subscribe to this event from the ipuX_csiY subdev node. This event is generated by the Frame Interval Monitor (see below for more on the FIM).”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khhüh²hubeh}”(h]”(Œ ipux-csiy”hûeh ]”h"]”(Œ ipux_csiy”Œimx_api_ipux_csiy”eh$]”h&]”uh1hÈhhÝh²hh³hÇh´K Œexpect_referenced_by_name”}”jXhðsŒexpect_referenced_by_id”}”hûhðsubeh}”(h]”Œevents”ah ]”h"]”Œevents”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒControls”h]”hŒControls”…””}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjgh²hh³hÇh´Kubhï)”}”(hŒ.. _imx_api_FIM:”h]”h}”(h]”h ]”h"]”h$]”h&]”húŒ imx-api-fim”uh1hîh´Khjgh²hh³hÇubhÉ)”}”(hhh]”(hÎ)”}”(hŒ#Frame Interval Monitor in ipuX_csiY”h]”hŒ#Frame Interval Monitor in ipuX_csiY”…””}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjƒh²hh³hÇh´Kubj)”}”(hXñThe adv718x decoders can occasionally send corrupt fields during NTSC/PAL signal re-sync (too little or too many video lines). When this happens, the IPU triggers a mechanism to re-establish vertical sync by adding 1 dummy line every frame, which causes a rolling effect from image to image, and can last a long time before a stable image is recovered. Or sometimes the mechanism doesn't work at all, causing a permanent split image (one frame contains lines from two consecutive captured images).”h]”hXóThe adv718x decoders can occasionally send corrupt fields during NTSC/PAL signal re-sync (too little or too many video lines). When this happens, the IPU triggers a mechanism to re-establish vertical sync by adding 1 dummy line every frame, which causes a rolling effect from image to image, and can last a long time before a stable image is recovered. Or sometimes the mechanism doesn’t work at all, causing a permanent split image (one frame contains lines from two consecutive captured images).”…””}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K hjƒh²hubj)”}”(hŒôFrom experiment it was found that during image rolling, the frame intervals (elapsed time between two EOF's) drop below the nominal value for the current standard, by about one frame time (60 usec), and remain at that value until rolling stops.”h]”hŒöFrom experiment it was found that during image rolling, the frame intervals (elapsed time between two EOF’s) drop below the nominal value for the current standard, by about one frame time (60 usec), and remain at that value until rolling stops.”…””}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K)hjƒh²hubj)”}”(hX,While the reason for this observation isn't known (the IPU dummy line mechanism should show an increase in the intervals by 1 line time every frame, not a fixed value), we can use it to detect the corrupt fields using a frame interval monitor. If the FIM detects a bad frame interval, the ipuX_csiY subdev will send the event V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with the FIM event notification on the ipuX_csiY subdev device node. Userland can issue a streaming restart when this event is received to correct the rolling/split image.”h]”hX.While the reason for this observation isn’t known (the IPU dummy line mechanism should show an increase in the intervals by 1 line time every frame, not a fixed value), we can use it to detect the corrupt fields using a frame interval monitor. If the FIM detects a bad frame interval, the ipuX_csiY subdev will send the event V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with the FIM event notification on the ipuX_csiY subdev device node. Userland can issue a streaming restart when this event is received to correct the rolling/split image.”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K.hjƒh²hubj)”}”(hŒ½The ipuX_csiY subdev includes custom controls to tweak some dials for FIM. If one of these controls is changed during streaming, the FIM will be reset and will continue at the new settings.”h]”hŒ½The ipuX_csiY subdev includes custom controls to tweak some dials for FIM. If one of these controls is changed during streaming, the FIM will be reset and will continue at the new settings.”…””}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K8hjƒh²hubj)”}”(hhh]”j#)”}”(hŒV4L2_CID_IMX_FIM_ENABLE ”h]”j)”}”(hŒV4L2_CID_IMX_FIM_ENABLE”h]”hŒV4L2_CID_IMX_FIM_ENABLE”…””}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Khjƒh²hubj)”}”(hhh]”j#)”}”(hŒV4L2_CID_IMX_FIM_NUM ”h]”j)”}”(hŒV4L2_CID_IMX_FIM_NUM”h]”hŒV4L2_CID_IMX_FIM_NUM”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K@hjþubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjûh²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´K@hjƒh²hubj)”}”(hŒ®How many frame interval measurements to average before comparing against the nominal frame interval reported by the sensor. This can reduce noise caused by interrupt latency.”h]”hŒ®How many frame interval measurements to average before comparing against the nominal frame interval reported by the sensor. This can reduce noise caused by interrupt latency.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KBhjƒh²hubj)”}”(hhh]”j#)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN ”h]”j)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN”h]”hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KFhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hj*h²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´KFhjƒh²hubj)”}”(hŒ†If the averaged intervals fall outside nominal by this amount, in microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.”h]”hŒ†If the averaged intervals fall outside nominal by this amount, in microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.”…””}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KHhjƒh²hubj)”}”(hhh]”j#)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX ”h]”j)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX”h]”hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX”…””}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KKhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjYh²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´KKhjƒh²hubj)”}”(hŒáIf any intervals are higher than this value, those samples are discarded and do not enter into the average. This can be used to discard really high interval errors that might be due to interrupt latency from high system load.”h]”hŒáIf any intervals are higher than this value, those samples are discarded and do not enter into the average. This can be used to discard really high interval errors that might be due to interrupt latency from high system load.”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KMhjƒh²hubj)”}”(hhh]”j#)”}”(hŒV4L2_CID_IMX_FIM_NUM_SKIP ”h]”j)”}”(hŒV4L2_CID_IMX_FIM_NUM_SKIP”h]”hŒV4L2_CID_IMX_FIM_NUM_SKIP”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KRhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjˆh²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´KRhjƒh²hubj)”}”(hŒcHow many frames to skip after a FIM reset or stream restart before FIM begins to average intervals.”h]”hŒcHow many frames to skip after a FIM reset or stream restart before FIM begins to average intervals.”…””}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KThjƒh²hubj)”}”(hhh]”j#)”}”(hŒ;V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE ”h]”j)”}”(hŒ:V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE”h]”hŒ:V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE”…””}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KWhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hj·h²hh³hÇh´Nubah}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´KWhjƒh²hubj)”}”(hX These controls will configure an input capture channel as the method for measuring frame intervals. This is superior to the default method of measuring frame intervals via EOF interrupt, since it is not subject to uncertainty errors introduced by interrupt latency.”h]”hX These controls will configure an input capture channel as the method for measuring frame intervals. This is superior to the default method of measuring frame intervals via EOF interrupt, since it is not subject to uncertainty errors introduced by interrupt latency.”…””}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´KYhjƒh²hubj)”}”(hŒvInput capture requires hardware support. A VSYNC signal must be routed to one of the i.MX6 input capture channel pads.”h]”hŒvInput capture requires hardware support. A VSYNC signal must be routed to one of the i.MX6 input capture channel pads.”…””}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K^hjƒh²hubj)”}”(hŒgV4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture channel to use. This must be 0 or 1.”h]”hŒgV4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture channel to use. This must be 0 or 1.”…””}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kahjƒh²hubj)”}”(hX@V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger input capture events. By default the input capture method is disabled with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture, triggered on the given signal edge(s).”h]”hX@V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger input capture events. By default the input capture method is disabled with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture, triggered on the given signal edge(s).”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kdhjƒh²hubj)”}”(hŒSWhen input capture is disabled, frame intervals will be measured via EOF interrupt.”h]”hŒSWhen input capture is disabled, frame intervals will be measured via EOF interrupt.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kjhjƒh²hubeh}”(h]”(Œ#frame-interval-monitor-in-ipux-csiy”j‚eh ]”h"]”(Œ#frame interval monitor in ipux_csiy”Œ imx_api_fim”eh$]”h&]”uh1hÈhjgh²hh³hÇh´Kj[}”j$jxsj]}”j‚jxsubhÉ)”}”(hhh]”(hÎ)”}”(hŒ File list”h]”hŒ File list”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj)h²hh³hÇh´Koubj)”}”(hŒHdrivers/staging/media/imx/ include/media/imx.h include/linux/imx-media.h”h]”hŒHdrivers/staging/media/imx/ include/media/imx.h include/linux/imx-media.h”…””}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kqhj)h²hubeh}”(h]”Œ file-list”ah ]”h"]”Œ file list”ah$]”h&]”uh1hÈhjgh²hh³hÇh´KoubhÉ)”}”(hhh]”(hÎ)”}”(hŒAuthors”h]”hŒAuthors”…””}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjPh²hh³hÇh´Kwubj)”}”(hhh]”(j#)”}”(hŒ.Steve Longerbeam ”h]”j)”}”(hjfh]”(hŒSteve Longerbeam <”…””}”(hjhh²hh³Nh´NubhŒ reference”“”)”}”(hŒsteve_longerbeam@mentor.com”h]”hŒsteve_longerbeam@mentor.com”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:steve_longerbeam@mentor.com”uh1johjhubhŒ>”…””}”(hjhh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kyhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjah²hh³hÇh´Nubj#)”}”(hŒ%Philipp Zabel ”h]”j)”}”(hj“h]”(hŒPhilipp Zabel <”…””}”(hj•h²hh³Nh´Nubjp)”}”(hŒkernel@pengutronix.de”h]”hŒkernel@pengutronix.de”…””}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:kernel@pengutronix.de”uh1johj•ubhŒ>”…””}”(hj•h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´Kzhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjah²hh³hÇh´Nubj#)”}”(hŒ%Russell King ”h]”j)”}”(hŒ$Russell King ”h]”(hŒRussell King <”…””}”(hjÀh²hh³Nh´Nubjp)”}”(hŒlinux@armlinux.org.uk”h]”hŒlinux@armlinux.org.uk”…””}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:linux@armlinux.org.uk”uh1johjÀubhŒ>”…””}”(hjÀh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K{hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j"hjah²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jBjCuh1jh³hÇh´KyhjPh²hubj)”}”(hŒ,Copyright (C) 2012-2017 Mentor Graphics Inc.”h]”hŒ,Copyright (C) 2012-2017 Mentor Graphics Inc.”…””}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³hÇh´K}hjPh²hubeh}”(h]”Œauthors”ah ]”h"]”Œauthors”ah$]”h&]”uh1hÈhjgh²hh³hÇh´Kwubeh}”(h]”Œcontrols”ah ]”h"]”Œcontrols”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´Kubeh}”(h]”Œi-mx-video-capture-driver”ah ]”h"]”Œi.mx video capture 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”Œ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”j7Œ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”}”(hû]”hðaj‚]”jxauŒnameids”}”(jjjdjajXhûjWjTj jj$j‚j#j jMjJjjþuŒ nametypes”}”(j‰jd‰jXˆjW‰j ‰j$ˆj#‰jM‰j‰uh}”(jhÊjahÝhûhüjThüjjgj‚jƒj jƒjJj)jþjPuŒ 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”]”(hŒsystem_message”“”)”}”(hhh]”j)”}”(hhh]”hŒ7Hyperlink target "imx-api-ipux-csiy" is not referenced.”…””}”hj¢sbah}”(h]”h ]”h"]”h$]”h&]”uh1j hjŸubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”K uh1jubjž)”}”(hhh]”j)”}”(hhh]”hŒ1Hyperlink target "imx-api-fim" is not referenced.”…””}”hj½sbah}”(h]”h ]”h"]”h$]”h&]”uh1j hjºubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j·Œsource”hÇŒline”Kuh1jubeŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.