<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>2133</bug_id>
          
          <creation_ts>2012-03-16 08:33:00 +0000</creation_ts>
          <short_desc>can&apos;t find the daemon/failure/warning... functions needed by lsb.</short_desc>
          <delta_ts>2012-07-18 01:46:39 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>1.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>(QA testing completed) Done</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.3 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="niqingliang2003">niqingliang2003</reporter>
          <assigned_to name="Kai Kang">kai.kang</assigned_to>
          <cc>kai.kang</cc>
    
    <cc>liang.li2</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>niqingliang2003</cc>
    
    <cc>song.liu</cc>
    
    <cc>Xiaofeng.yan</cc>
    
    <cc>zhenfeng.zhao</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19187</commentid>
    <comment_count>0</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-16 08:33:00 +0000</bug_when>
    <thetext>the lsb scripts will use some functions like daemon, failure, warning....
it looks like these functions should be defined in /etc/init.d/fuctions which belongs to initscripts.

but the initscripts have not provided these functions.

and:

when building qemux86-64 arch core-image-lsb (distro is poky-lsb), I got
/usr/lib/../lib/libXrandr.so.2: undefined reference to
`memcpy@GLIBC_2.14&apos; when &apos;do_compile&apos; gconf 3.2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19188</commentid>
    <comment_count>1</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-03-16 08:55:49 +0000</bug_when>
    <thetext>Hi qingliang,

these missing functions in file functions cause failures. but LSB Test Suite for 4.1 can&apos;t report this error. So LSB Test Suite could not use this command. Can you tell me what command call lsb_start_daemon in your program.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19189</commentid>
    <comment_count>2</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-16 09:19:30 +0000</bug_when>
    <thetext>I&apos;m invesigating opensaf, and opensaf will use lsb functions.
when start opensaf service, it called lsb scripts, and lsb scripts report missing functions.

(In reply to comment #1)
&gt; Hi qingliang,
&gt; 
&gt; these missing functions in file functions cause failures. but LSB Test Suite
&gt; for 4.1 can&apos;t report this error. So LSB Test Suite could not use this command.
&gt; Can you tell me what command call lsb_start_daemon in your program.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19190</commentid>
    <comment_count>3</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-03-16 09:31:09 +0000</bug_when>
    <thetext>I will add these missing functions. and for complying error,  I need investigate this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19191</commentid>
    <comment_count>4</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-03-16 09:43:20 +0000</bug_when>
    <thetext>I will add these missing functions. and for compiling error,  I need to
investigate this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19213</commentid>
    <comment_count>5</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-19 02:31:56 +0000</bug_when>
    <thetext>for the compiling error, I found it used the /usr/lib/libxx on host rootfs, but it should use &lt;sysroot_in_build_dir&gt;/usr/lib/libxx.

(In reply to comment #4)
&gt; I will add these missing functions. and for compiling error,  I need to
&gt; investigate this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19248</commentid>
    <comment_count>6</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-03-20 05:17:45 +0000</bug_when>
    <thetext>for the compiling problem, I compiled core-image-lsb successfully. So I think Mark Halt answered your question about compiling error on your side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19249</commentid>
    <comment_count>7</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-20 09:18:03 +0000</bug_when>
    <thetext>I don&apos;t think so.

I do a clean building with the same error. I have not touched the specific glibc version.

as I said, the do_compile should use the libXrandr in build_sysroot directory, but it used it in host system. and I have checked that, there IS the lib in build_sysroot directory.

you can build it successfully, only because your host&apos;s lib is using glibc 2.13, but I&apos;m using archlinux, all package is the newest.

the gconf used host&apos;s libXrandr, but want check its dependency in build_sysroot, that the reason.


(In reply to comment #6)
&gt; for the compiling problem, I compiled core-image-lsb successfully. So I think
&gt; Mark Halt answered your question about compiling error on your side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19250</commentid>
    <comment_count>8</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-20 09:28:45 +0000</bug_when>
    <thetext>do you used the same arch of your host?

my host is x86-64, so I used qemux86-64.

and maybe you can change the content of libXrandr on your host to another one, to test if it try to check it.

PS: Indeed, some problem can only be found on archlinux:) 

(In reply to comment #6)
&gt; for the compiling problem, I compiled core-image-lsb successfully. So I think
&gt; Mark Halt answered your question about compiling error on your side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19385</commentid>
    <comment_count>9</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-23 09:55:11 +0000</bug_when>
    <thetext>do you received the email I have sended to oe-core about the compile error?

maybe the problem is located in &apos;ld&apos;

with both sysroot and rpath(/usr/lib/../lib), the ld will search the implicit depended lib in host&apos;s rootfs first.

indeed, it should search in sysroot first.

following bug(&apos;s fix) may help:
http://sourceware.org/bugzilla/show_bug.cgi?id=10340


(In reply to comment #6)
&gt; for the compiling problem, I compiled core-image-lsb successfully. So I think
&gt; Mark Halt answered your question about compiling error on your side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19387</commentid>
    <comment_count>10</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-23 10:01:46 +0000</bug_when>
    <thetext>the only thing I doubt is: the cross compiling still has this kind of problems. the CLFS exist 2.x years. and found the ld&apos;s search rule is so sophisticated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19496</commentid>
    <comment_count>11</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-27 07:08:43 +0000</bug_when>
    <thetext>in the ld cmd generated by libtool, the xx.so is auto prefixed by $sysroot, but the rpath not.

without rpath or with rpath prefixed by $sysroot, both can compiled successfully.

one patch for binutils is for auto clear the $sysroot prefix in the finally binary, so maybe a workaround is add $sysroot on rpath just like other .so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19542</commentid>
    <comment_count>12</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-28 02:37:18 +0000</bug_when>
    <thetext>what is the progress of it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19588</commentid>
    <comment_count>13</comment_count>
      <attachid>410</attachid>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-03-29 03:02:25 +0000</bug_when>
    <thetext>Created attachment 410
file functions from initscripts-9.03.

Replace /etc/init.d/functions with this file. Report results when having problem, Please. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19591</commentid>
    <comment_count>14</comment_count>
    <who name="niqingliang2003">niqingliang2003</who>
    <bug_when>2012-03-29 04:48:47 +0000</bug_when>
    <thetext>further suggestion:

according redhat/debian, maybe we should add lsb-core/lsb-graphics/lsb-xxx package, indeed, there is no content in them, but only the RDEPENDS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21569</commentid>
    <comment_count>15</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-05-24 07:07:02 +0000</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created attachment 410 [details]
&gt; file functions from initscripts-9.03.
&gt; 
&gt; Replace /etc/init.d/functions with this file. Report results when having
&gt; problem, Please. Thanks

Hi qingliang,

Do you have any problem after running functions in attachment. Can it pass your test?

Thanks
Yan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21906</commentid>
    <comment_count>16</comment_count>
    <who name="Xiaofeng Yan">Xiaofeng.yan</who>
    <bug_when>2012-06-07 07:01:59 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=9205cba286e54576f95a5894d3953dcda43cf8bf
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=6e416742ff131265a2471423bf5bf47e2fc4df3e
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d32f9004f81d05c94f92a980285a70f49d9b3919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22239</commentid>
    <comment_count>17</comment_count>
    <who name="liang li">liang.li2</who>
    <bug_when>2012-06-15 08:21:58 +0000</bug_when>
    <thetext>build qemux86-64 arch core-image-lsb, there are no errors in build process,but when boot up the lsb image ,two seperated files found in /etc/init.d:  
functions 
functions.lsbinitscripts
daemon, failure, warning functions are found in file &quot;functions.lsbinitscripts&quot;,not in file &quot;functions&quot;.

by the bug&apos;s description information,reopen it.

git info:60543b931d073e17ad935aacfbd0d4eba76e2360
git branch: poky/master

test env :
host : ubuntu 11.10 x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23040</commentid>
    <comment_count>18</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2012-07-12 09:26:48 +0000</bug_when>
    <thetext>commit to Yocto commit 7890697c8f59fad5878d5ecd644db4dbff6034f6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23183</commentid>
    <comment_count>19</comment_count>
    <who name="liang li">liang.li2</who>
    <bug_when>2012-07-18 01:46:39 +0000</bug_when>
    <thetext>verified on :
git info:  eb0cb7e8234f5d2e5623406e9660be91cf52f65e 
git branch: poky/master

run &quot;ls -l&quot; in &quot;/etc/init.d&quot; dir of the lsb image,&quot;functions&quot; now is the symbol link to &quot;functions.lsbinitscripts&quot;.
 
lrwxrwxrwx 1 root root   24 Jul 17 19:02 functions -&gt; functions.lsbinitscripts</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>410</attachid>
            <date>2012-03-29 03:02:25 +0000</date>
            <delta_ts>2012-03-29 03:02:25 +0000</delta_ts>
            <desc>file functions from initscripts-9.03.</desc>
            <filename>functions</filename>
            <type>application/octet-stream</type>
            <size>13148</size>
            <attacher name="Xiaofeng Yan">Xiaofeng.yan</attacher>
            
              <data encoding="base64">IyAtKi1TaGVsbC1zY3JpcHQtKi0KIwojIGZ1bmN0aW9ucwlUaGlzIGZpbGUgY29udGFpbnMgZnVu
Y3Rpb25zIHRvIGJlIHVzZWQgYnkgbW9zdCBvciBhbGwKIwkJc2hlbGwgc2NyaXB0cyBpbiB0aGUg
L2V0Yy9pbml0LmQgZGlyZWN0b3J5LgojCgpURVhURE9NQUlOPWluaXRzY3JpcHRzCgojIE1ha2Ug
c3VyZSB1bWFzayBpcyBzYW5lCnVtYXNrIDAyMgoKIyBTZXQgdXAgYSBkZWZhdWx0IHNlYXJjaCBw
YXRoLgojUEFUSD0iL3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4iCiNleHBvcnQgUEFUSAoK
IyBHZXQgYSBzYW5lIHNjcmVlbiB3aWR0aApbIC16ICIke0NPTFVNTlM6LX0iIF0gJiYgQ09MVU1O
Uz04MAoKI1sgLXogIiR7Q09OU09MRVRZUEU6LX0iIF0gJiYgQ09OU09MRVRZUEU9IiQoL3NiaW4v
Y29uc29sZXR5cGUpIgoKaWYgWyAtZiAvZXRjL3N5c2NvbmZpZy9pMThuIC1hIC16ICIke05PTE9D
QUxFOi19IiAtYSAteiAiJHtMQU5HU0hfU09VUkNFRDotfSIgXSA7IHRoZW4KICAuIC9ldGMvcHJv
ZmlsZS5kL2xhbmcuc2ggMj4vZGV2L251bGwKICAjIGF2b2lkIHByb3BhZ2F0aW5nIExBTkdTSF9T
T1VSQ0VEIGFueSBmdXJ0aGVyCiAgdW5zZXQgTEFOR1NIX1NPVVJDRUQKZmkKCiMgUmVhZCBpbiBv
dXIgY29uZmlndXJhdGlvbgppZiBbIC16ICIke0JPT1RVUDotfSIgXTsgdGhlbgogIGlmIFsgLWYg
L2V0Yy9zeXNjb25maWcvaW5pdCBdOyB0aGVuCiAgICAgIC4gL2V0Yy9zeXNjb25maWcvaW5pdAog
IGVsc2UKICAgICMgVGhpcyBhbGwgc2VlbSBjb25mdXNpbmc/IExvb2sgaW4gL2V0Yy9zeXNjb25m
aWcvaW5pdCwKICAgICMgb3IgaW4gL3Vzci9kb2MvaW5pdHNjcmlwdHMtKi9zeXNjb25maWcudHh0
CiAgICBCT09UVVA9Y29sb3IKICAgIFJFU19DT0w9NjAKICAgIE1PVkVfVE9fQ09MPSJlY2hvIC1l
biBcXDAzM1ske1JFU19DT0x9RyIKICAgIFNFVENPTE9SX1NVQ0NFU1M9ImVjaG8gLWVuIFxcMDMz
WzE7MzJtIgogICAgU0VUQ09MT1JfRkFJTFVSRT0iZWNobyAtZW4gXFwwMzNbMTszMW0iCiAgICBT
RVRDT0xPUl9XQVJOSU5HPSJlY2hvIC1lbiBcXDAzM1sxOzMzbSIKICAgIFNFVENPTE9SX05PUk1B
TD0iZWNobyAtZW4gXFwwMzNbMDszOW0iCiAgICBMT0dMRVZFTD0xCiAgZmkKICBpZiBbICIkQ09O
U09MRVRZUEUiID0gInNlcmlhbCIgXTsgdGhlbgogICAgICBCT09UVVA9c2VyaWFsCiAgICAgIE1P
VkVfVE9fQ09MPQogICAgICBTRVRDT0xPUl9TVUNDRVNTPQogICAgICBTRVRDT0xPUl9GQUlMVVJF
PQogICAgICBTRVRDT0xPUl9XQVJOSU5HPQogICAgICBTRVRDT0xPUl9OT1JNQUw9CiAgZmkKZmkK
CiMgSW50ZXJwcmV0IGVzY2FwZSBzZXF1ZW5jZXMgaW4gYW4gZnN0YWIgZW50cnkKZnN0YWJfZGVj
b2RlX3N0cigpIHsKCWZzdGFiLWRlY29kZSBlY2hvICIkMSIKfQoKIyBDaGVjayBpZiAkcGlkIChj
b3VsZCBiZSBwbHVyYWwpIGFyZSBydW5uaW5nCmNoZWNrcGlkKCkgewoJbG9jYWwgaQoKCWZvciBp
IGluICQqIDsgZG8KCQlbIC1kICIvcHJvYy8kaSIgXSAmJiByZXR1cm4gMAoJZG9uZQoJcmV0dXJu
IDEKfQoKX19yZWFkbGluaygpIHsKICAgIGxzIC1ibCAiJEAiIDI+L2Rldi9udWxsfCBhd2sgJ3sg
cHJpbnQgJE5GIH0nCn0KCl9fZmdyZXAoKSB7CiAgICBzPSQxCiAgICBmPSQyCiAgICB3aGlsZSBy
ZWFkIGxpbmU7IGRvCglpZiBzdHJzdHIgIiRsaW5lIiAiJHMiOyB0aGVuCgkgICAgZWNobyAkbGlu
ZQoJICAgIHJldHVybiAwCglmaQogICAgZG9uZSA8ICRmCiAgICByZXR1cm4gMQp9CgojIF9fdW1v
dW50X2xvb3AgYXdrX3Byb2dyYW0gZnN0YWJfZmlsZSBmaXJzdF9tc2cgcmV0cnlfbXNnIHVtb3Vu
dF9hcmdzCiMgYXdrX3Byb2dyYW0gc2hvdWxkIHByb2Nlc3MgZnN0YWJfZmlsZSBhbmQgcmV0dXJu
IGEgbGlzdCBvZiBmc3RhYi1lbmNvZGVkCiMgcGF0aHM7IGl0IGRvZXNuJ3QgaGF2ZSB0byBoYW5k
bGUgY29tbWVudHMgaW4gZnN0YWJfZmlsZS4KX191bW91bnRfbG9vcCgpIHsKCWxvY2FsIHJlbWFp
bmluZyBzaWc9Cglsb2NhbCByZXRyeT0zIGNvdW50CgoJcmVtYWluaW5nPSQoTENfQUxMPUMgYXdr
ICIvXiMvIHtuZXh0fSAkMSIgIiQyIiB8IHNvcnQgLXIpCgl3aGlsZSBbIC1uICIkcmVtYWluaW5n
IiAtYSAiJHJldHJ5IiAtZ3QgMCBdOyBkbwoJCWlmIFsgIiRyZXRyeSIgLWVxIDMgXTsgdGhlbgoJ
CQlhY3Rpb24gIiQzIiBmc3RhYi1kZWNvZGUgdW1vdW50ICQ1ICRyZW1haW5pbmcKCQllbHNlCgkJ
CWFjdGlvbiAiJDQiIGZzdGFiLWRlY29kZSB1bW91bnQgJDUgJHJlbWFpbmluZwoJCWZpCgkJY291
bnQ9NAoJCXJlbWFpbmluZz0kKExDX0FMTD1DIGF3ayAiL14jLyB7bmV4dH0gJDEiICIkMiIgfCBz
b3J0IC1yKQoJCXdoaWxlIFsgIiRjb3VudCIgLWd0IDAgXTsgZG8KCQkJWyAteiAiJHJlbWFpbmlu
ZyIgXSAmJiBicmVhawoJCQljb3VudD0kKCgkY291bnQtMSkpCgkJCXVzbGVlcCA1MDAwMDAKCQkJ
cmVtYWluaW5nPSQoTENfQUxMPUMgYXdrICIvXiMvIHtuZXh0fSAkMSIgIiQyIiB8IHNvcnQgLXIp
CgkJZG9uZQoJCVsgLXogIiRyZW1haW5pbmciIF0gJiYgYnJlYWsKCQlmc3RhYi1kZWNvZGUgL3Ni
aW4vZnVzZXIgLWsgLW0gJHNpZyAkcmVtYWluaW5nID4vZGV2L251bGwKCQlzbGVlcCAzCgkJcmV0
cnk9JCgoJHJldHJ5IC0xKSkKCQlzaWc9LTkKCWRvbmUKfQoKIyBTaW1pbGFyIHRvIF9fdW1vdW50
IGxvb3AgYWJvdmUsIHNwZWNpYWxpemVkIGZvciBsb29wYmFjayBkZXZpY2VzCl9fdW1vdW50X2xv
b3BiYWNrX2xvb3AoKSB7Cglsb2NhbCByZW1haW5pbmcgZGV2cmVtYWluaW5nIHNpZz0KCWxvY2Fs
IHJldHJ5PTMKCglyZW1haW5pbmc9JChhd2sgJyQxIH4gL15cL2RldlwvbG9vcC8gJiYgJDIgIT0g
Ii8iIHtwcmludCAkMn0nIC9wcm9jL21vdW50cykKCWRldnJlbWFpbmluZz0kKGF3ayAnJDEgfiAv
XlwvZGV2XC9sb29wLyAmJiAkMiAhPSAiLyIge3ByaW50ICQxfScgL3Byb2MvbW91bnRzKQoJd2hp
bGUgWyAtbiAiJHJlbWFpbmluZyIgLWEgIiRyZXRyeSIgLWd0IDAgXTsgZG8KCQlpZiBbICIkcmV0
cnkiIC1lcSAzIF07IHRoZW4KCQkJYWN0aW9uICQiVW5tb3VudGluZyBsb29wYmFjayBmaWxlc3lz
dGVtczogIiBcCgkJCQlmc3RhYi1kZWNvZGUgdW1vdW50ICRyZW1haW5pbmcKCQllbHNlCgkJCWFj
dGlvbiAkIlVubW91bnRpbmcgbG9vcGJhY2sgZmlsZXN5c3RlbXMgKHJldHJ5KToiIFwKCQkJCWZz
dGFiLWRlY29kZSB1bW91bnQgJHJlbWFpbmluZwoJCWZpCgkJZm9yIGRldiBpbiAkZGV2cmVtYWlu
aW5nIDsgZG8KCQkJbG9zZXR1cCAkZGV2ID4gL2Rldi9udWxsIDI+JjEgJiYgXAoJCQkJYWN0aW9u
ICQiRGV0YWNoaW5nIGxvb3BiYWNrIGRldmljZSAkZGV2OiAiIFwKCQkJCWxvc2V0dXAgLWQgJGRl
dgoJCWRvbmUKCQlyZW1haW5pbmc9JChhd2sgJyQxIH4gL15cL2RldlwvbG9vcC8gJiYgJDIgIT0g
Ii8iIHtwcmludCAkMn0nIC9wcm9jL21vdW50cykKCQlkZXZyZW1haW5pbmc9JChhd2sgJyQxIH4g
L15cL2RldlwvbG9vcC8gJiYgJDIgIT0gIi8iIHtwcmludCAkMX0nIC9wcm9jL21vdW50cykKCQlb
IC16ICIkcmVtYWluaW5nIiBdICYmIGJyZWFrCgkJZnN0YWItZGVjb2RlIC9zYmluL2Z1c2VyIC1r
IC1tICRzaWcgJHJlbWFpbmluZyA+L2Rldi9udWxsCgkJc2xlZXAgMwoJCXJldHJ5PSQoKCRyZXRy
eSAtMSkpCgkJc2lnPS05Cglkb25lCn0KCiMgX19wcm9jX3BpZHMge3Byb2dyYW19IFtwaWRmaWxl
XQojIFNldCAkcGlkIHRvIHBpZHMgZnJvbSAvdmFyL3J1biogZm9yIHtwcm9ncmFtfS4gICRwaWQg
c2hvdWxkIGJlIGRlY2xhcmVkCiMgbG9jYWwgaW4gdGhlIGNhbGxlci4KIyBSZXR1cm5zIExTQiBl
eGl0IGNvZGUgZm9yIHRoZSAnc3RhdHVzJyBhY3Rpb24uCl9fcGlkc192YXJfcnVuKCkgewoJbG9j
YWwgYmFzZT0kezEjIyovfQoJbG9jYWwgcGlkX2ZpbGU9JHsyOi0vdmFyL3J1bi8kYmFzZS5waWR9
CgoJcGlkPQoJaWYgWyAtZiAiJHBpZF9maWxlIiBdIDsgdGhlbgoJICAgICAgICBsb2NhbCBsaW5l
IHAKCgkJd2hpbGUgOiA7IGRvCgkJCXJlYWQgbGluZQoJCQlbIC16ICIkbGluZSIgXSAmJiBicmVh
awoJCQlmb3IgcCBpbiAkbGluZSA7IGRvCgkJCQlbIC16ICIke3AvL1swLTldL30iIC1hIC1kICIv
cHJvYy8kcCIgXSAmJiBwaWQ9IiRwaWQgJHAiCgkJCWRvbmUKCQlkb25lIDwgIiRwaWRfZmlsZSIK
CgkgICAgICAgIGlmIFsgLW4gIiRwaWQiIF07IHRoZW4KCSAgICAgICAgICAgICAgICByZXR1cm4g
MAoJICAgICAgICBmaQoJCXJldHVybiAxICMgIlByb2dyYW0gaXMgZGVhZCBhbmQgL3Zhci9ydW4g
cGlkIGZpbGUgZXhpc3RzIgoJZmkKCXJldHVybiAzICMgIlByb2dyYW0gaXMgbm90IHJ1bm5pbmci
Cn0KCiMgT3V0cHV0IFBJRHMgb2YgbWF0Y2hpbmcgcHJvY2Vzc2VzLCBmb3VuZCB1c2luZyBwaWRv
ZgpfX3BpZHNfcGlkb2YoKSB7CglwaWRvZiAtYyAtbyAkJCAtbyAkUFBJRCAtbyAlUFBJRCAteCAi
JDEiIHx8IFwKCQlwaWRvZiAtYyAtbyAkJCAtbyAkUFBJRCAtbyAlUFBJRCAteCAiJHsxIyMqL30i
Cn0KCgojIEEgZnVuY3Rpb24gdG8gc3RhcnQgYSBwcm9ncmFtLgpkYWVtb24oKSB7CgkjIFRlc3Qg
c3ludGF4LgoJbG9jYWwgZ290YmFzZT0gZm9yY2U9IG5pY2VsZXZlbCBjb3JlbGltaXQKCWxvY2Fs
IHBpZCBiYXNlPSB1c2VyPSBuaWNlPSBiZz0gcGlkX2ZpbGU9Cglsb2NhbCBjZ3JvdXA9CgluaWNl
bGV2ZWw9MAoJd2hpbGUgWyAiJDEiICE9ICIkezEjI1stK119IiBdOyBkbwoJICBjYXNlICQxIGlu
CgkgICAgJycpICAgIGVjaG8gJCIkMDogVXNhZ2U6IGRhZW1vbiBbKy8tbmljZWxldmVsXSB7cHJv
Z3JhbX0iCgkgICAgICAgICAgIHJldHVybiAxOzsKCSAgICAtLWNoZWNrKQoJCSAgIGJhc2U9JDIK
CQkgICBnb3RiYXNlPSJ5ZXMiCgkJICAgc2hpZnQgMgoJCSAgIDs7CgkgICAgLS1jaGVjaz0/KikK
CSAgICAJICAgYmFzZT0kezEjLS1jaGVjaz19CgkJICAgZ290YmFzZT0ieWVzIgoJCSAgIHNoaWZ0
CgkJICAgOzsKCSAgICAtLXVzZXIpCgkJICAgdXNlcj0kMgoJCSAgIHNoaWZ0IDIKCQkgICA7OwoJ
ICAgIC0tdXNlcj0/KikKCSAgICAgICAgICAgdXNlcj0kezEjLS11c2VyPX0KCQkgICBzaGlmdAoJ
CSAgIDs7CgkgICAgLS1waWRmaWxlKQoJCSAgIHBpZF9maWxlPSQyCgkJICAgc2hpZnQgMgoJCSAg
IDs7CgkgICAgLS1waWRmaWxlPT8qKQoJCSAgIHBpZF9maWxlPSR7MSMtLXBpZGZpbGU9fQoJCSAg
IHNoaWZ0CgkJICAgOzsKCSAgICAtLWZvcmNlKQoJICAgIAkgICBmb3JjZT0iZm9yY2UiCgkJICAg
c2hpZnQKCQkgICA7OwoJICAgIFstK11bMC05XSopCgkgICAgCSAgIG5pY2U9Im5pY2UgLW4gJDEi
CgkgICAgICAgICAgIHNoaWZ0CgkJICAgOzsKCSAgICAqKSAgICAgZWNobyAkIiQwOiBVc2FnZTog
ZGFlbW9uIFsrLy1uaWNlbGV2ZWxdIHtwcm9ncmFtfSIKCSAgICAgICAgICAgcmV0dXJuIDE7OwoJ
ICBlc2FjCglkb25lCgogICAgICAgICMgU2F2ZSBiYXNlbmFtZS4KICAgICAgICBbIC16ICIkZ290
YmFzZSIgXSAmJiBiYXNlPSR7MSMjKi99CgogICAgICAgICMgU2VlIGlmIGl0J3MgYWxyZWFkeSBy
dW5uaW5nLiBMb29rICpvbmx5KiBhdCB0aGUgcGlkIGZpbGUuCglfX3BpZHNfdmFyX3J1biAiJGJh
c2UiICIkcGlkX2ZpbGUiCgoJWyAtbiAiJHBpZCIgLWEgLXogIiRmb3JjZSIgXSAmJiByZXR1cm4K
CgkjIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGNvcmUgZHVtcCBhbnl3aGVyZSB1bmxlc3MgcmVxdWVz
dGVkCgljb3JlbGltaXQ9InVsaW1pdCAtUyAtYyAke0RBRU1PTl9DT1JFRklMRV9MSU1JVDotMH0i
CgkKCSMgaWYgdGhleSBzZXQgTklDRUxFVkVMIGluIC9ldGMvc3lzY29uZmlnL2ZvbywgaG9ub3Ig
aXQKCVsgLW4gIiR7TklDRUxFVkVMOi19IiBdICYmIG5pY2U9Im5pY2UgLW4gJE5JQ0VMRVZFTCIK
CQoJIyBpZiB0aGV5IHNldCBDR1JPVVBfREFFTU9OIGluIC9ldGMvc3lzY29uZmlnL2ZvbywgaG9u
b3IgaXQKCWlmIFsgLW4gIiR7Q0dST1VQX0RBRU1PTn0iIF07IHRoZW4KCQlpZiBbICEgLXggL2Jp
bi9jZ2V4ZWMgXTsgdGhlbgoJCQllY2hvIC1uICJDZ3JvdXBzIG5vdCBpbnN0YWxsZWQiOyB3YXJu
aW5nCgkJCWVjaG8KCQllbHNlCgkJCWNncm91cD0iL2Jpbi9jZ2V4ZWMiOwoJCQlmb3IgaSBpbiAk
Q0dST1VQX0RBRU1PTjsgZG8KCQkJCWNncm91cD0iJGNncm91cCAtZyAkaSI7CgkJCWRvbmUKCQlm
aQoJZmkKCgkjIEVjaG8gZGFlbW9uCiAgICAgICAgWyAiJHtCT09UVVA6LX0iID0gInZlcmJvc2Ui
IC1hIC16ICIke0xTQjotfSIgXSAmJiBlY2hvIC1uICIgJGJhc2UiCgoJIyBBbmQgc3RhcnQgaXQg
dXAuCglpZiBbIC16ICIkdXNlciIgXTsgdGhlbgoJICAgJGNncm91cCAkbmljZSAvYmluL2Jhc2gg
LWMgIiRjb3JlbGltaXQgPi9kZXYvbnVsbCAyPiYxIDsgJCoiCgllbHNlCgkgICAkY2dyb3VwICRu
aWNlIHJ1bnVzZXIgLXMgL2Jpbi9iYXNoIC0gJHVzZXIgLWMgIiRjb3JlbGltaXQgPi9kZXYvbnVs
bCAyPiYxIDsgJCoiCglmaQoKCVsgIiQ/IiAtZXEgMCBdICYmIHN1Y2Nlc3MgJCIkYmFzZSBzdGFy
dHVwIiB8fCBmYWlsdXJlICQiJGJhc2Ugc3RhcnR1cCIKfQoKIyBBIGZ1bmN0aW9uIHRvIHN0b3Ag
YSBwcm9ncmFtLgpraWxscHJvYygpIHsKCWxvY2FsIFJDIGtpbGxsZXZlbD0gYmFzZSBwaWQgcGlk
X2ZpbGU9IGRlbGF5CgoJUkM9MDsgZGVsYXk9MwoJIyBUZXN0IHN5bnRheC4KCWlmIFsgIiQjIiAt
ZXEgMCBdOyB0aGVuCgkJZWNobyAkIlVzYWdlOiBraWxscHJvYyBbLXAgcGlkZmlsZV0gWyAtZCBk
ZWxheV0ge3Byb2dyYW19IFstc2lnbmFsXSIKCQlyZXR1cm4gMQoJZmkKCWlmIFsgIiQxIiA9ICIt
cCIgXTsgdGhlbgoJCXBpZF9maWxlPSQyCgkJc2hpZnQgMgoJZmkKCWlmIFsgIiQxIiA9ICItZCIg
XTsgdGhlbgoJCWRlbGF5PSQyCgkJc2hpZnQgMgoJZmkKICAgICAgICAKCgkjIGNoZWNrIGZvciBz
ZWNvbmQgYXJnIHRvIGJlIGtpbGwgbGV2ZWwKCVsgLW4gIiR7MjotfSIgXSAmJiBraWxsbGV2ZWw9
JDIKCiAgICAgICAgIyBTYXZlIGJhc2VuYW1lLgogICAgICAgIGJhc2U9JHsxIyMqL30KCiAgICAg
ICAgIyBGaW5kIHBpZC4KCV9fcGlkc192YXJfcnVuICIkMSIgIiRwaWRfZmlsZSIKCWlmIFsgLXog
IiRwaWRfZmlsZSIgLWEgLXogIiRwaWQiIF07IHRoZW4KCQlwaWQ9IiQoX19waWRzX3BpZG9mICIk
MSIpIgoJZmkKCiAgICAgICAgIyBLaWxsIGl0LgogICAgICAgIGlmIFsgLW4gIiRwaWQiIF0gOyB0
aGVuCiAgICAgICAgICAgICAgICBbICIkQk9PVFVQIiA9ICJ2ZXJib3NlIiAtYSAteiAiJHtMU0I6
LX0iIF0gJiYgZWNobyAtbiAiJGJhc2UgIgoJCWlmIFsgLXogIiRraWxsbGV2ZWwiIF0gOyB0aGVu
CgkJICAgICAgIGlmIGNoZWNrcGlkICRwaWQgMj4mMTsgdGhlbgoJCQkgICAjIFRFUk0gZmlyc3Qs
IHRoZW4gS0lMTCBpZiBub3QgZGVhZAoJCQkgICBraWxsIC1URVJNICRwaWQgPi9kZXYvbnVsbCAy
PiYxCgkJCSAgIHVzbGVlcCAxMDAwMDAKCQkJICAgaWYgY2hlY2twaWQgJHBpZCAmJiBzbGVlcCAx
ICYmCgkJCSAgICAgIGNoZWNrcGlkICRwaWQgJiYgc2xlZXAgJGRlbGF5ICYmCgkJCSAgICAgIGNo
ZWNrcGlkICRwaWQgOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2lsbCAt
S0lMTCAkcGlkID4vZGV2L251bGwgMj4mMQoJCQkJdXNsZWVwIDEwMDAwMAoJCQkgICBmaQoJCSAg
ICAgICAgZmkKCQkJY2hlY2twaWQgJHBpZAoJCQlSQz0kPwoJCQlbICIkUkMiIC1lcSAwIF0gJiYg
ZmFpbHVyZSAkIiRiYXNlIHNodXRkb3duIiB8fCBzdWNjZXNzICQiJGJhc2Ugc2h1dGRvd24iCgkJ
CVJDPSQoKCEgJFJDKSkKCQkjIHVzZSBzcGVjaWZpZWQgbGV2ZWwgb25seQoJCWVsc2UKCQkgICAg
ICAgIGlmIGNoZWNrcGlkICRwaWQ7IHRoZW4KCSAgICAgICAgICAgICAgICAJa2lsbCAka2lsbGxl
dmVsICRwaWQgPi9kZXYvbnVsbCAyPiYxCgkJCQlSQz0kPwoJCQkJWyAiJFJDIiAtZXEgMCBdICYm
IHN1Y2Nlc3MgJCIkYmFzZSAka2lsbGxldmVsIiB8fCBmYWlsdXJlICQiJGJhc2UgJGtpbGxsZXZl
bCIKCQkJZWxpZiBbIC1uICIke0xTQjotfSIgXTsgdGhlbgoJCQkJUkM9NyAjIFByb2dyYW0gaXMg
bm90IHJ1bm5pbmcKCQkJZmkKCQlmaQoJZWxzZQoJCWlmIFsgLW4gIiR7TFNCOi19IiAtYSAtbiAi
JGtpbGxsZXZlbCIgXTsgdGhlbgoJCQlSQz03ICMgUHJvZ3JhbSBpcyBub3QgcnVubmluZwoJCWVs
c2UKCQkJZmFpbHVyZSAkIiRiYXNlIHNodXRkb3duIgoJCQlSQz0wCgkJZmkKCWZpCgogICAgICAg
ICMgUmVtb3ZlIHBpZCBmaWxlIGlmIGFueS4KCWlmIFsgLXogIiRraWxsbGV2ZWwiIF07IHRoZW4K
ICAgICAgICAgICAgcm0gLWYgIiR7cGlkX2ZpbGU6LS92YXIvcnVuLyRiYXNlLnBpZH0iCglmaQoJ
cmV0dXJuICRSQwp9CgojIEEgZnVuY3Rpb24gdG8gZmluZCB0aGUgcGlkIG9mIGEgcHJvZ3JhbS4g
TG9va3MgKm9ubHkqIGF0IHRoZSBwaWRmaWxlCnBpZGZpbGVvZnByb2MoKSB7Cglsb2NhbCBwaWQK
CgkjIFRlc3Qgc3ludGF4LgoJaWYgWyAiJCMiID0gMCBdIDsgdGhlbgoJCWVjaG8gJCJVc2FnZTog
cGlkZmlsZW9mcHJvYyB7cHJvZ3JhbX0iCgkJcmV0dXJuIDEKCWZpCgoJX19waWRzX3Zhcl9ydW4g
IiQxIgoJWyAtbiAiJHBpZCIgXSAmJiBlY2hvICRwaWQKCXJldHVybiAwCn0KCiMgQSBmdW5jdGlv
biB0byBmaW5kIHRoZSBwaWQgb2YgYSBwcm9ncmFtLgpwaWRvZnByb2MoKSB7Cglsb2NhbCBSQyBw
aWQgcGlkX2ZpbGU9CgoJIyBUZXN0IHN5bnRheC4KCWlmIFsgIiQjIiA9IDAgXTsgdGhlbgoJCWVj
aG8gJCJVc2FnZTogcGlkb2Zwcm9jIFstcCBwaWRmaWxlXSB7cHJvZ3JhbX0iCgkJcmV0dXJuIDEK
CWZpCglpZiBbICIkMSIgPSAiLXAiIF07IHRoZW4KCQlwaWRfZmlsZT0kMgoJCXNoaWZ0IDIKCWZp
CglmYWlsX2NvZGU9MyAjICJQcm9ncmFtIGlzIG5vdCBydW5uaW5nIgoKCSMgRmlyc3QgdHJ5ICIv
dmFyL3J1bi8qLnBpZCIgZmlsZXMKCV9fcGlkc192YXJfcnVuICIkMSIgIiRwaWRfZmlsZSIKCVJD
PSQ/CglpZiBbIC1uICIkcGlkIiBdOyB0aGVuCgkJZWNobyAkcGlkCgkJcmV0dXJuIDAKCWZpCgoJ
WyAtbiAiJHBpZF9maWxlIiBdICYmIHJldHVybiAkUkMKCV9fcGlkc19waWRvZiAiJDEiIHx8IHJl
dHVybiAkUkMKfQoKc3RhdHVzKCkgewoJbG9jYWwgYmFzZSBwaWQgbG9ja19maWxlPSBwaWRfZmls
ZT0KCgkjIFRlc3Qgc3ludGF4LgoJaWYgWyAiJCMiID0gMCBdIDsgdGhlbgoJCWVjaG8gJCJVc2Fn
ZTogc3RhdHVzIFstcCBwaWRmaWxlXSB7cHJvZ3JhbX0iCgkJcmV0dXJuIDEKCWZpCglpZiBbICIk
MSIgPSAiLXAiIF07IHRoZW4KCQlwaWRfZmlsZT0kMgoJCXNoaWZ0IDIKCWZpCglpZiBbICIkMSIg
PSAiLWwiIF07IHRoZW4KCQlsb2NrX2ZpbGU9JDIKCQlzaGlmdCAyCglmaQoJYmFzZT0kezEjIyov
fQoKCSMgRmlyc3QgdHJ5ICJwaWRvZiIKCV9fcGlkc192YXJfcnVuICIkMSIgIiRwaWRfZmlsZSIK
CVJDPSQ/CglpZiBbIC16ICIkcGlkX2ZpbGUiIC1hIC16ICIkcGlkIiBdOyB0aGVuCgkJcGlkPSIk
KF9fcGlkc19waWRvZiAiJDEiKSIKCWZpCglpZiBbIC1uICIkcGlkIiBdOyB0aGVuCgkgICAgICAg
IGVjaG8gJCIke2Jhc2V9IChwaWQgJHBpZCkgaXMgcnVubmluZy4uLiIKCSAgICAgICAgcmV0dXJu
IDAKCWZpCgoJY2FzZSAiJFJDIiBpbgoJCTApCgkJCWVjaG8gJCIke2Jhc2V9IChwaWQgJHBpZCkg
aXMgcnVubmluZy4uLiIKCQkJcmV0dXJuIDAKCQkJOzsKCQkxKQoJICAgICAgICAgICAgICAgIGVj
aG8gJCIke2Jhc2V9IGRlYWQgYnV0IHBpZCBmaWxlIGV4aXN0cyIKCSAgICAgICAgICAgICAgICBy
ZXR1cm4gMQoJCQk7OwoJZXNhYwoJaWYgWyAteiAiJHtsb2NrX2ZpbGV9IiBdOyB0aGVuCgkJbG9j
a19maWxlPSR7YmFzZX0KCWZpCgkjIFNlZSBpZiAvdmFyL2xvY2svc3Vic3lzLyR7bG9ja19maWxl
fSBleGlzdHMKCWlmIFsgLWYgL3Zhci9sb2NrL3N1YnN5cy8ke2xvY2tfZmlsZX0gXTsgdGhlbgoJ
CWVjaG8gJCIke2Jhc2V9IGRlYWQgYnV0IHN1YnN5cyBsb2NrZWQiCgkJcmV0dXJuIDIKCWZpCgll
Y2hvICQiJHtiYXNlfSBpcyBzdG9wcGVkIgoJcmV0dXJuIDMKfQoKZWNob19zdWNjZXNzKCkgewog
IFsgIiRCT09UVVAiID0gImNvbG9yIiBdICYmICRNT1ZFX1RPX0NPTAogIGVjaG8gLW4gIlsiCiAg
WyAiJEJPT1RVUCIgPSAiY29sb3IiIF0gJiYgJFNFVENPTE9SX1NVQ0NFU1MKICBlY2hvIC1uICQi
ICBPSyAgIgogIFsgIiRCT09UVVAiID0gImNvbG9yIiBdICYmICRTRVRDT0xPUl9OT1JNQUwKICBl
Y2hvIC1uICJdIgogIGVjaG8gLW5lICJcciIKICByZXR1cm4gMAp9CgplY2hvX2ZhaWx1cmUoKSB7
CiAgWyAiJEJPT1RVUCIgPSAiY29sb3IiIF0gJiYgJE1PVkVfVE9fQ09MCiAgZWNobyAtbiAiWyIK
ICBbICIkQk9PVFVQIiA9ICJjb2xvciIgXSAmJiAkU0VUQ09MT1JfRkFJTFVSRQogIGVjaG8gLW4g
JCJGQUlMRUQiCiAgWyAiJEJPT1RVUCIgPSAiY29sb3IiIF0gJiYgJFNFVENPTE9SX05PUk1BTAog
IGVjaG8gLW4gIl0iCiAgZWNobyAtbmUgIlxyIgogIHJldHVybiAxCn0KCmVjaG9fcGFzc2VkKCkg
ewogIFsgIiRCT09UVVAiID0gImNvbG9yIiBdICYmICRNT1ZFX1RPX0NPTAogIGVjaG8gLW4gIlsi
CiAgWyAiJEJPT1RVUCIgPSAiY29sb3IiIF0gJiYgJFNFVENPTE9SX1dBUk5JTkcKICBlY2hvIC1u
ICQiUEFTU0VEIgogIFsgIiRCT09UVVAiID0gImNvbG9yIiBdICYmICRTRVRDT0xPUl9OT1JNQUwK
ICBlY2hvIC1uICJdIgogIGVjaG8gLW5lICJcciIKICByZXR1cm4gMQp9CgplY2hvX3dhcm5pbmco
KSB7CiAgWyAiJEJPT1RVUCIgPSAiY29sb3IiIF0gJiYgJE1PVkVfVE9fQ09MCiAgZWNobyAtbiAi
WyIKICBbICIkQk9PVFVQIiA9ICJjb2xvciIgXSAmJiAkU0VUQ09MT1JfV0FSTklORwogIGVjaG8g
LW4gJCJXQVJOSU5HIgogIFsgIiRCT09UVVAiID0gImNvbG9yIiBdICYmICRTRVRDT0xPUl9OT1JN
QUwKICBlY2hvIC1uICJdIgogIGVjaG8gLW5lICJcciIKICByZXR1cm4gMQp9CgojIEluZm9ybSB0
aGUgZ3JhcGhpY2FsIGJvb3Qgb2Ygb3VyIGN1cnJlbnQgc3RhdGUKdXBkYXRlX2Jvb3Rfc3RhZ2Uo
KSB7CiAgaWYgWyAteCAvdXNyL2Jpbi9wbHltb3V0aCBdOyB0aGVuCiAgICAgIC91c3IvYmluL3Bs
eW1vdXRoIC0tdXBkYXRlPSIkMSIKICBmaQogIHJldHVybiAwCn0KCiMgTG9nIHRoYXQgc29tZXRo
aW5nIHN1Y2NlZWRlZApzdWNjZXNzKCkgewogIFsgIiRCT09UVVAiICE9ICJ2ZXJib3NlIiAtYSAt
eiAiJHtMU0I6LX0iIF0gJiYgZWNob19zdWNjZXNzCiAgcmV0dXJuIDAKfQoKIyBMb2cgdGhhdCBz
b21ldGhpbmcgZmFpbGVkCmZhaWx1cmUoKSB7CiAgbG9jYWwgcmM9JD8KICBbICIkQk9PVFVQIiAh
PSAidmVyYm9zZSIgLWEgLXogIiR7TFNCOi19IiBdICYmIGVjaG9fZmFpbHVyZQogIFsgLXggL3Vz
ci9iaW4vcGx5bW91dGggXSAmJiAvdXNyL2Jpbi9wbHltb3V0aCAtLWRldGFpbHMKICByZXR1cm4g
JHJjCn0KCiMgTG9nIHRoYXQgc29tZXRoaW5nIHBhc3NlZCwgYnV0IG1heSBoYXZlIGhhZCBlcnJv
cnMuIFVzZWZ1bCBmb3IgZnNjawpwYXNzZWQoKSB7CiAgbG9jYWwgcmM9JD8KICBbICIkQk9PVFVQ
IiAhPSAidmVyYm9zZSIgLWEgLXogIiR7TFNCOi19IiBdICYmIGVjaG9fcGFzc2VkCiAgcmV0dXJu
ICRyYwp9ICAKCiMgTG9nIGEgd2FybmluZwp3YXJuaW5nKCkgewogIGxvY2FsIHJjPSQ/CiAgWyAi
JEJPT1RVUCIgIT0gInZlcmJvc2UiIC1hIC16ICIke0xTQjotfSIgXSAmJiBlY2hvX3dhcm5pbmcK
ICByZXR1cm4gJHJjCn0gIAoKIyBSdW4gc29tZSBhY3Rpb24uIExvZyBpdHMgb3V0cHV0LgphY3Rp
b24oKSB7CiAgbG9jYWwgU1RSSU5HIHJjCgogIFNUUklORz0kMQogIGVjaG8gLW4gIiRTVFJJTkcg
IgogIHNoaWZ0CiAgIiRAIiAmJiBzdWNjZXNzICQiJFNUUklORyIgfHwgZmFpbHVyZSAkIiRTVFJJ
TkciCiAgcmM9JD8KICBlY2hvCiAgcmV0dXJuICRyYwp9CgojIHJldHVybnMgT0sgaWYgJDEgY29u
dGFpbnMgJDIKc3Ryc3RyKCkgewogIFsgIiR7MSMqJDIqfSIgPSAiJDEiIF0gJiYgcmV0dXJuIDEK
ICByZXR1cm4gMAp9CgojIENvbmZpcm0gd2hldGhlciB3ZSByZWFsbHkgd2FudCB0byBydW4gdGhp
cyBzZXJ2aWNlCmNvbmZpcm0oKSB7CiAgWyAteCAvdXNyL2Jpbi9wbHltb3V0aCBdICYmIC91c3Iv
YmluL3BseW1vdXRoIC0taGlkZS1zcGxhc2gKICB3aGlsZSA6IDsgZG8gCiAgICAgIGVjaG8gLW4g
JCJTdGFydCBzZXJ2aWNlICQxIChZKWVzLyhOKW8vKEMpb250aW51ZT8gW1ldICIKICAgICAgcmVh
ZCBhbnN3ZXIKICAgICAgaWYgc3Ryc3RyICQieVkiICIkYW5zd2VyIiB8fCBbICIkYW5zd2VyIiA9
ICIiIF0gOyB0aGVuCiAgICAgICAgIHJldHVybiAwCiAgICAgIGVsaWYgc3Ryc3RyICQiY0MiICIk
YW5zd2VyIiA7IHRoZW4KCSBybSAtZiAvdmFyL3J1bi9jb25maXJtCgkgWyAteCAvdXNyL2Jpbi9w
bHltb3V0aCBdICYmIC91c3IvYmluL3BseW1vdXRoIC0tc2hvdy1zcGxhc2gKICAgICAgICAgcmV0
dXJuIDIKICAgICAgZWxpZiBzdHJzdHIgJCJuTiIgIiRhbnN3ZXIiIDsgdGhlbgogICAgICAgICBy
ZXR1cm4gMQogICAgICBmaQogIGRvbmUKfQoKIyByZXNvbHZlIGEgZGV2aWNlIG5vZGUgdG8gaXRz
IG1ham9yOm1pbm9yIG51bWJlcnMgaW4gZGVjaW1hbCBvciBoZXgKZ2V0X251bWVyaWNfZGV2KCkg
ewooCiAgICBmbXQ9IiVkOiVkIgogICAgaWYgWyAiJDEiID09ICJoZXgiIF07IHRoZW4KICAgICAg
ICBmbXQ9IiV4OiV4IgogICAgZmkKICAgIGxzIC1sSCAiJDIiIHwgYXdrICd7IHN1YigvLC8sICIi
LCAkNSk7IHByaW50ZigiJyIkZm10IiciLCAkNSwgJDYpOyB9JwopIDI+L2Rldi9udWxsCn0KCiMg
Q2hlY2sgd2hldGhlciBmaWxlICQxIGlzIGEgYmFja3VwIG9yIHJwbS1nZW5lcmF0ZWQgZmlsZSBh
bmQgc2hvdWxkIGJlIGlnbm9yZWQKaXNfaWdub3JlZF9maWxlKCkgewogICAgY2FzZSAiJDEiIGlu
CgkqfiB8ICouYmFrIHwgKi5vcmlnIHwgKi5ycG1uZXcgfCAqLnJwbW9yaWcgfCAqLnJwbXNhdmUp
CgkgICAgcmV0dXJuIDAKCSAgICA7OwogICAgZXNhYwogICAgcmV0dXJuIDEKfQojIEEgc2VkIGV4
cHJlc3Npb24gdG8gZmlsdGVyIG91dCB0aGUgZmlsZXMgdGhhdCBpc19pZ25vcmVkX2ZpbGUgcmVj
b2duaXplcwpfX3NlZF9kaXNjYXJkX2lnbm9yZWRfZmlsZXM9Jy9cKH5cfFwuYmFrXHxcLm9yaWdc
fFwucnBtbmV3XHxcLnJwbW9yaWdcfFwucnBtc2F2ZVwpJC9kJwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>