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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>12371</bug_id>
          
          <creation_ts>2007-01-22 12:46:45 -0800</creation_ts>
          <short_desc>[S60] PYAN-6MUSWV: OSS browser can not display Chinese characters correctly with selected web sites</short_desc>
          <delta_ts>2011-03-21 11:53:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>420+</version>
          <rep_platform>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://hk.antispam.yahoo.com/domainkeys/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Wei Liu">wei.liu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>33420</commentid>
    <comment_count>0</comment_count>
    <who name="Wei Liu">wei.liu</who>
    <bug_when>2007-01-22 12:46:45 -0800</bug_when>
    <thetext>Open link
http://hk.antispam.yahoo.com/domainkeys/

the chinese text which is in big-5 encoding is not correctly decoded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33415</commentid>
    <comment_count>1</comment_count>
      <attachid>12613</attachid>
    <who name="Wei Liu">wei.liu</who>
    <bug_when>2007-01-22 13:08:21 -0800</bug_when>
    <thetext>Created attachment 12613
3.2 branch fix in decoder.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33397</commentid>
    <comment_count>2</comment_count>
      <attachid>12614</attachid>
    <who name="Wei Liu">wei.liu</who>
    <bug_when>2007-01-22 13:21:28 -0800</bug_when>
    <thetext>Created attachment 12614
Fix for 3.1 branch in decoder.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33319</commentid>
    <comment_count>3</comment_count>
      <attachid>12613</attachid>
    <who name="alan">zalan</who>
    <bug_when>2007-01-22 18:07:06 -0800</bug_when>
    <thetext>Comment on attachment 12613
3.2 branch fix in decoder.cpp

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33320</commentid>
    <comment_count>4</comment_count>
      <attachid>12614</attachid>
    <who name="alan">zalan</who>
    <bug_when>2007-01-22 18:07:40 -0800</bug_when>
    <thetext>Comment on attachment 12614
Fix for 3.1 branch in decoder.cpp

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33013</commentid>
    <comment_count>5</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2007-01-23 12:38:10 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 12613 [edit])
&gt; r=me
&gt; 

Landed - r19051.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33014</commentid>
    <comment_count>6</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2007-01-23 12:40:49 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 12614 [edit])
&gt; r=me

Landed - r19052. Setting to resolved.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32925</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-23 21:01:07 -0800</bug_when>
    <thetext>Filed bug 12389 for TOT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22722</commentid>
    <comment_count>8</comment_count>
    <who name="Krishna">krishnamurty.podipireddy</who>
    <bug_when>2007-02-19 17:21:33 -0800</bug_when>
    <thetext>
Verified and Closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370656</commentid>
    <comment_count>9</comment_count>
    <who name="Joel Parks">joel.parks</who>
    <bug_when>2011-03-21 11:53:00 -0700</bug_when>
    <thetext>re-purposing InTSW keyword for use by QtWebkit team</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12613</attachid>
            <date>2007-01-22 13:08:21 -0800</date>
            <delta_ts>2007-01-22 18:07:06 -0800</delta_ts>
            <desc>3.2 branch fix in decoder.cpp</desc>
            <filename>12371_32.patch</filename>
            <type>text/plain</type>
            <size>18078</size>
            <attacher name="Wei Liu">wei.liu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE5MDI4KQ0KKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
DQpAQCAtMSwzICsxLDE4IEBADQorMjAwNy0wMS0yMiAgdzNsaXUgIDx3ZWkubGl1QG5va2lhLmNv
bT4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcyA8emJ1anRhc0BnbWFpbC5j
b20+Lg0KKyAgICAgICAgREVTQzogW1M2MF0gUFlBTi02TVVTV1Y6IE9TUyBicm93c2VyIGNhbiBu
b3QgZGlzcGxheSBDaGluZXNlIGNoYXJhY3RlcnMgY29ycmVjdGx5IHdpdGggc2VsZWN0ZWQgd2Vi
IHNpdGVzDQorICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjM3MQ0KKyAgICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VEDQor
DQorICAgICAgICAqIENoYW5nZUxvZzoNCisgICAgICAgICoga2h0bWwvbWlzYy9kZWNvZGVyLmNw
cDoNCisgICAgICAgIChLYW5qaUNvZGU6Omp1ZGdlKToNCisgICAgICAgIChEZWNvZGVyOjpEZWNv
ZGVyKToNCisgICAgICAgIChEZWNvZGVyOjpzZXRFbmNvZGluZyk6DQorICAgICAgICAoZmluZFhN
TEVuY29kaW5nKToNCisgICAgICAgIChEZWNvZGVyOjpkZWNvZGUpOg0KKw0KIDIwMDctMDEtMTcg
IHczbGl1ICA8d2VpLmxpdUBub2tpYS5jb20+DQogDQogICAgICAgICBSZXZpZXdlZCBieSB5b25n
anVuLnpoYW5nQG5va2lhLmNvbS4NCkluZGV4OiBXZWJDb3JlL2todG1sL21pc2MvZGVjb2Rlci5j
cHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL2todG1sL21pc2MvZGVjb2Rlci5jcHAJKHJldmlz
aW9uIDE5MDI4KQ0KKysrIFdlYkNvcmUva2h0bWwvbWlzYy9kZWNvZGVyLmNwcAkod29ya2luZyBj
b3B5KQ0KQEAgLTUyLDE2ICs1MiwxNiBAQCBwdWJsaWM6DQogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGthbmppX21hcF9zamlzW107DQogICAgIHN0YXRpYyBpbnQgSVNrYW5qaShpbnQg
Y29kZSkNCiAgICAgew0KLQlpZiAoY29kZSA+PSAweDEwMCkNCi0JCSAgICByZXR1cm4gMDsNCi0J
cmV0dXJuIChrYW5qaV9tYXBfc2ppc1tjb2RlICYgMHhmZl0gJiAxKTsNCisgICAgaWYgKGNvZGUg
Pj0gMHgxMDApDQorICAgICAgICAgICAgcmV0dXJuIDA7DQorICAgIHJldHVybiAoa2FuamlfbWFw
X3NqaXNbY29kZSAmIDB4ZmZdICYgMSk7DQogICAgIH0NCiANCiAgICAgc3RhdGljIGludCBJU2th
bmEoaW50IGNvZGUpDQogICAgIHsNCi0JaWYgKGNvZGUgPj0gMHgxMDApDQotCQkgICAgcmV0dXJu
IDA7DQotCXJldHVybiAoa2FuamlfbWFwX3NqaXNbY29kZSAmIDB4ZmZdICYgMik7DQorICAgIGlm
IChjb2RlID49IDB4MTAwKQ0KKyAgICAgICAgICAgIHJldHVybiAwOw0KKyAgICByZXR1cm4gKGth
bmppX21hcF9zamlzW2NvZGUgJiAweGZmXSAmIDIpOw0KICAgICB9DQogDQogfTsNCkBAIC0xMTgs
OCArMTE4LDggQEAgZW51bSBLYW5qaUNvZGU6OlR5cGUgS2FuamlDb2RlOjpqdWRnZShjbw0KIHsN
CiAgICAgZW51bSBUeXBlIGNvZGU7DQogICAgIGludCBpOw0KLSAgICBpbnQgYmZyID0gRkFMU0U7
CQkvKiBLYW5hIE1vamkgKi8NCi0gICAgaW50IGJmayA9IDA7CQkvKiBFVUMgS2FuYSAqLw0KKyAg
ICBpbnQgYmZyID0gRkFMU0U7ICAgICAgICAvKiBLYW5hIE1vamkgKi8NCisgICAgaW50IGJmayA9
IDA7ICAgICAgICAvKiBFVUMgS2FuYSAqLw0KICAgICBpbnQgc2ppcyA9IDA7DQogICAgIGludCBl
dWMgPSAwOw0KIA0KQEAgLTEyOSwxNDIgKzEyOSwxNDIgQEAgZW51bSBLYW5qaUNvZGU6OlR5cGUg
S2FuamlDb2RlOjpqdWRnZShjbw0KIA0KICAgICBpID0gMDsNCiAgICAgd2hpbGUgKGkgPCBzaXpl
KSB7DQotCWlmIChwdHJbaV0gPT0gRVNDICYmIChzaXplIC0gaSA+PSAzKSkgew0KLQkgICAgaWYg
KChwdHJbaSArIDFdID09ICckJyAmJiBwdHJbaSArIDJdID09ICdCJykNCi0JICAgIHx8IChwdHJb
aSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdCJykpIHsNCi0JCWNvZGUgPSBKSVM7DQot
CQlnb3RvIGJyZWFrQnJlYWs7DQotCSAgICB9IGVsc2UgaWYgKChwdHJbaSArIDFdID09ICckJyAm
JiBwdHJbaSArIDJdID09ICdAJykNCi0JCSAgICB8fCAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRy
W2kgKyAyXSA9PSAnSicpKSB7DQotCQljb2RlID0gSklTOw0KLQkJZ290byBicmVha0JyZWFrOw0K
LQkgICAgfSBlbHNlIGlmIChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdJJykg
ew0KLQkJY29kZSA9IEpJUzsNCi0JCWkgKz0gMzsNCi0JICAgIH0gZWxzZSBpZiAocHRyW2kgKyAx
XSA9PSAnKScgJiYgcHRyW2kgKyAyXSA9PSAnSScpIHsNCi0JCWNvZGUgPSBKSVM7DQotCQlpICs9
IDM7DQotCSAgICB9IGVsc2Ugew0KLQkJaSsrOw0KLQkgICAgfQ0KLQkgICAgYmZyID0gRkFMU0U7
DQotCSAgICBiZmsgPSAwOw0KLQl9IGVsc2Ugew0KLQkgICAgaWYgKHB0cltpXSA8IDB4MjApIHsN
Ci0JCWJmciA9IEZBTFNFOw0KLQkJYmZrID0gMDsNCi0JCS8qID8/IGNoZWNrIGt1ZG9rdXRlbiA/
PyAmJiA/PyBoaXJhZ2FuYSA/PyAqLw0KLQkJaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJdID09
IDB4ODEpDQotCQkJJiYgKDB4NDEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4NDkp
KSB7DQotCQkgICAgY29kZSA9IFNKSVM7DQotCQkgICAgc2ppcyArPSAxMDA7CS8qIGt1ZG9rdXRl
biAqLw0KLQkJfSBlbHNlIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweGExKQ0KLQkJ
CSYmICgweGEyIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGFhKSkgew0KLQkJICAg
IGNvZGUgPSBFVUM7DQotCQkgICAgZXVjICs9IDEwMDsJCS8qIGt1ZG9rdXRlbiAqLw0KLQkJfSBl
bHNlIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweDgyKSAmJiAoMHhhMCA8PSBwdHJb
aSAtIDFdKSkgew0KLQkJICAgIHNqaXMgKz0gNDA7CQkvKiBoaXJhZ2FuYSAqLw0KLQkJfSBlbHNl
IGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweGE0KSAmJiAoMHhhMCA8PSBwdHJbaSAt
IDFdKSkgew0KLQkJICAgIGV1YyArPSA0MDsJLyogaGlyYWdhbmEgKi8NCi0JCX0NCi0JICAgIH0g
ZWxzZSB7DQotCQkvKiA/PyBjaGVjayBoaXJhZ2FuYSBvciBrYXRhbmEgPz8gKi8NCi0JCWlmICgo
c2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpICsgMV0p
KSB7DQotCQkgICAgc2ppcysrOwkvKiBoaXJhZ2FuYSAqLw0KLQkJfSBlbHNlIGlmICgoc2l6ZSAt
IGkgPiAxKSAmJiAocHRyW2ldID09IDB4ODMpDQotCQkJICYmICgweDQwIDw9IHB0cltpICsgMV0g
JiYgcHRyW2kgKyAxXSA8PSAweDlmKSkgew0KLQkJICAgIHNqaXMrKzsJLyoga2F0YWthbmEgKi8N
Ci0JCX0gZWxzZSBpZiAoKHNpemUgLSBpID4gMSkgJiYgKHB0cltpXSA9PSAweGE0KSAmJiAoMHhh
MCA8PSBwdHJbaSArIDFdKSkgew0KLQkJICAgIGV1YysrOwkvKiBoaXJhZ2FuYSAqLw0KLQkJfSBl
bHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4YTUpICYmICgweGEwIDw9IHB0
cltpICsgMV0pKSB7DQotCQkgICAgZXVjKys7CS8qIGthdGFrYW5hICovDQotCQl9DQotCQlpZiAo
YmZyKSB7DQotCQkgICAgaWYgKChpID49IDEpICYmICgweDQwIDw9IHB0cltpXSAmJiBwdHJbaV0g
PD0gMHhhMCkgJiYgSVNrYW5qaShwdHJbaSAtIDFdKSkgew0KLQkJCWNvZGUgPSBTSklTOw0KLQkJ
CWdvdG8gYnJlYWtCcmVhazsNCi0JCSAgICB9IGVsc2UgaWYgKChpID49IDEpICYmICgweDgxIDw9
IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweDlmKSAmJiAoKDB4NDAgPD0gcHRyW2ldICYm
IHB0cltpXSA8IDB4N2UpIHx8ICgweDdlIDwgcHRyW2ldICYmIHB0cltpXSA8PSAweGZjKSkpIHsN
Ci0JCQljb2RlID0gU0pJUzsNCi0JCQlnb3RvIGJyZWFrQnJlYWs7DQotCQkgICAgfSBlbHNlIGlm
ICgoaSA+PSAxKSAmJiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpICYmICgweGEx
IDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZlKSkgew0KLQkJCWNvZGUgPSBFVUM7
DQotCQkJZ290byBicmVha0JyZWFrOw0KLQkJICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4
ZmQgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9IDB4ZmUpICYmICgweGExIDw9IHB0cltp
XSAmJiBwdHJbaV0gPD0gMHhmZSkpIHsNCi0JCQljb2RlID0gRVVDOw0KLQkJCWdvdG8gYnJlYWtC
cmVhazsNCi0JCSAgICB9IGVsc2UgaWYgKChpID49IDEpICYmIChwdHJbaV0gPCAweGEwIHx8IDB4
ZGYgPCBwdHJbaV0pICYmICgweDhlID09IHB0cltpIC0gMV0pKSB7DQotCQkJY29kZSA9IFNKSVM7
DQotCQkJZ290byBicmVha0JyZWFrOw0KLQkJICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2Yp
IHsNCi0JCQljb2RlID0gU0pJUzsNCi0JCQlnb3RvIGJyZWFrQnJlYWs7DQotCQkgICAgfSBlbHNl
IHsNCi0JCQlpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4YTYpIHsNCi0JCQkgICAg
ZXVjKys7CS8qIHNqaXMgaGFua2FrdSBrYW5hIGtpZ28gKi8NCi0JCQl9IGVsc2UgaWYgKDB4YTEg
PD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGRmKSB7DQotCQkJICAgIDsJLyogc2ppcyBoYW5rYWt1
IGthbmEgKi8NCi0JCQl9IGVsc2UgaWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZl
KSB7DQotCQkJICAgIGV1YysrOw0KLQkJCX0gZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0pIHsNCi0J
CQkgICAgZXVjKys7DQotCQkJfSBlbHNlIGlmICgweDIwIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0g
MHg3Zikgew0KLQkJCSAgICBzamlzKys7DQotCQkJfQ0KLQkJCWJmciA9IEZBTFNFOw0KLQkJCWJm
ayA9IDA7DQotCQkgICAgfQ0KLQkJfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgew0KLQkJICAg
IGlmIChzaXplIC0gaSA8PSAxKSB7DQotCQkJOw0KLQkJICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBw
dHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhkZikgew0KLQkJCS8qIEVVQyBLQU5BIG9yIFNK
SVMgS0FOSkkgKi8NCi0JCQlpZiAoYmZrID09IDEpIHsNCi0JCQkgICAgZXVjICs9IDEwMDsNCi0J
CQl9DQotCQkJYmZrKys7DQotCQkJaSsrOw0KLQkJICAgIH0gZWxzZSB7DQotCQkJLyogU0pJUyBv
bmx5ICovDQotCQkJY29kZSA9IFNKSVM7DQotCQkJZ290byBicmVha0JyZWFrOw0KLQkJICAgIH0N
Ci0JCX0gZWxzZSBpZiAoMHg4MSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4OWYpIHsNCi0JCSAg
ICAvKiBTSklTIG9ubHkgKi8NCi0JCSAgICBjb2RlID0gU0pJUzsNCi0JCSAgICBpZiAoKHNpemUg
LSBpID49IDEpDQotCQkJICAgICYmICgoMHg0MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0g
PD0gMHg3ZSkNCi0JCQkgICAgfHwgKDB4ODAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9
IDB4ZmMpKSkgew0KLQkJCWdvdG8gYnJlYWtCcmVhazsNCi0JCSAgICB9DQotCQl9IGVsc2UgaWYg
KDB4ZmQgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSB7DQotCQkgICAgLyogRVVDIG9ubHkg
Ki8NCi0JCSAgICBjb2RlID0gRVVDOw0KLQkJICAgIGlmICgoc2l6ZSAtIGkgPj0gMSkNCi0JCQkg
ICAgJiYgKDB4YTEgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmUpKSB7DQotCQkJ
Z290byBicmVha0JyZWFrOw0KLQkJICAgIH0NCi0JCX0gZWxzZSBpZiAocHRyW2ldIDw9IDB4N2Yp
IHsNCi0JCSAgICA7DQotCQl9IGVsc2Ugew0KLQkJICAgIGJmciA9IFRSVUU7DQotCQkgICAgYmZr
ID0gMDsNCi0JCX0NCi0JICAgIH0NCi0JICAgIGkrKzsNCi0JfQ0KKyAgICBpZiAocHRyW2ldID09
IEVTQyAmJiAoc2l6ZSAtIGkgPj0gMykpIHsNCisgICAgICAgIGlmICgocHRyW2kgKyAxXSA9PSAn
JCcgJiYgcHRyW2kgKyAyXSA9PSAnQicpDQorICAgICAgICB8fCAocHRyW2kgKyAxXSA9PSAnKCcg
JiYgcHRyW2kgKyAyXSA9PSAnQicpKSB7DQorICAgICAgICBjb2RlID0gSklTOw0KKyAgICAgICAg
Z290byBicmVha0JyZWFrOw0KKyAgICAgICAgfSBlbHNlIGlmICgocHRyW2kgKyAxXSA9PSAnJCcg
JiYgcHRyW2kgKyAyXSA9PSAnQCcpDQorICAgICAgICAgICAgfHwgKHB0cltpICsgMV0gPT0gJygn
ICYmIHB0cltpICsgMl0gPT0gJ0onKSkgew0KKyAgICAgICAgY29kZSA9IEpJUzsNCisgICAgICAg
IGdvdG8gYnJlYWtCcmVhazsNCisgICAgICAgIH0gZWxzZSBpZiAocHRyW2kgKyAxXSA9PSAnKCcg
JiYgcHRyW2kgKyAyXSA9PSAnSScpIHsNCisgICAgICAgIGNvZGUgPSBKSVM7DQorICAgICAgICBp
ICs9IDM7DQorICAgICAgICB9IGVsc2UgaWYgKHB0cltpICsgMV0gPT0gJyknICYmIHB0cltpICsg
Ml0gPT0gJ0knKSB7DQorICAgICAgICBjb2RlID0gSklTOw0KKyAgICAgICAgaSArPSAzOw0KKyAg
ICAgICAgfSBlbHNlIHsNCisgICAgICAgIGkrKzsNCisgICAgICAgIH0NCisgICAgICAgIGJmciA9
IEZBTFNFOw0KKyAgICAgICAgYmZrID0gMDsNCisgICAgfSBlbHNlIHsNCisgICAgICAgIGlmIChw
dHJbaV0gPCAweDIwKSB7DQorICAgICAgICBiZnIgPSBGQUxTRTsNCisgICAgICAgIGJmayA9IDA7
DQorICAgICAgICAvKiA/PyBjaGVjayBrdWRva3V0ZW4gPz8gJiYgPz8gaGlyYWdhbmEgPz8gKi8N
CisgICAgICAgIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweDgxKQ0KKyAgICAgICAg
ICAgICYmICgweDQxIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweDQ5KSkgew0KKyAg
ICAgICAgICAgIGNvZGUgPSBTSklTOw0KKyAgICAgICAgICAgIHNqaXMgKz0gMTAwOyAgICAvKiBr
dWRva3V0ZW4gKi8NCisgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0g
PT0gMHhhMSkNCisgICAgICAgICAgICAmJiAoMHhhMiA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0g
MV0gPD0gMHhhYSkpIHsNCisgICAgICAgICAgICBjb2RlID0gRVVDOw0KKyAgICAgICAgICAgIGV1
YyArPSAxMDA7ICAgICAvKiBrdWRva3V0ZW4gKi8NCisgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0g
MikgJiYgKHB0cltpIC0gMl0gPT0gMHg4MikgJiYgKDB4YTAgPD0gcHRyW2kgLSAxXSkpIHsNCisg
ICAgICAgICAgICBzamlzICs9IDQwOyAgICAgLyogaGlyYWdhbmEgKi8NCisgICAgICAgIH0gZWxz
ZSBpZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kg
LSAxXSkpIHsNCisgICAgICAgICAgICBldWMgKz0gNDA7ICAvKiBoaXJhZ2FuYSAqLw0KKyAgICAg
ICAgfQ0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgIC8qID8/IGNoZWNrIGhpcmFnYW5hIG9y
IGthdGFuYSA/PyAqLw0KKyAgICAgICAgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0g
MHg4MikgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsNCisgICAgICAgICAgICBzamlzKys7IC8q
IGhpcmFnYW5hICovDQorICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJb
aV0gPT0gMHg4MykNCisgICAgICAgICAgICAgJiYgKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBwdHJb
aSArIDFdIDw9IDB4OWYpKSB7DQorICAgICAgICAgICAgc2ppcysrOyAvKiBrYXRha2FuYSAqLw0K
KyAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4YTQpICYm
ICgweGEwIDw9IHB0cltpICsgMV0pKSB7DQorICAgICAgICAgICAgZXVjKys7ICAvKiBoaXJhZ2Fu
YSAqLw0KKyAgICAgICAgfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAxKSAmJiAocHRyW2ldID09IDB4
YTUpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7DQorICAgICAgICAgICAgZXVjKys7ICAvKiBr
YXRha2FuYSAqLw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKGJmcikgew0KKyAgICAgICAgICAg
IGlmICgoaSA+PSAxKSAmJiAoMHg0MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4YTApICYmIElT
a2FuamkocHRyW2kgLSAxXSkpIHsNCisgICAgICAgICAgICBjb2RlID0gU0pJUzsNCisgICAgICAg
ICAgICBnb3RvIGJyZWFrQnJlYWs7DQorICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAxKSAm
JiAoMHg4MSA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHg5ZikgJiYgKCgweDQwIDw9
IHB0cltpXSAmJiBwdHJbaV0gPCAweDdlKSB8fCAoMHg3ZSA8IHB0cltpXSAmJiBwdHJbaV0gPD0g
MHhmYykpKSB7DQorICAgICAgICAgICAgY29kZSA9IFNKSVM7DQorICAgICAgICAgICAgZ290byBi
cmVha0JyZWFrOw0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0g
cHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSAmJiAoMHhhMSA8PSBwdHJbaSAtIDFdICYmIHB0cltp
IC0gMV0gPD0gMHhmZSkpIHsNCisgICAgICAgICAgICBjb2RlID0gRVVDOw0KKyAgICAgICAgICAg
IGdvdG8gYnJlYWtCcmVhazsNCisgICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDEpICYmICgw
eGZkIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZlKSAmJiAoMHhhMSA8PSBwdHJb
aV0gJiYgcHRyW2ldIDw9IDB4ZmUpKSB7DQorICAgICAgICAgICAgY29kZSA9IEVVQzsNCisgICAg
ICAgICAgICBnb3RvIGJyZWFrQnJlYWs7DQorICAgICAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAx
KSAmJiAocHRyW2ldIDwgMHhhMCB8fCAweGRmIDwgcHRyW2ldKSAmJiAoMHg4ZSA9PSBwdHJbaSAt
IDFdKSkgew0KKyAgICAgICAgICAgIGNvZGUgPSBTSklTOw0KKyAgICAgICAgICAgIGdvdG8gYnJl
YWtCcmVhazsNCisgICAgICAgICAgICB9IGVsc2UgaWYgKHB0cltpXSA8PSAweDdmKSB7DQorICAg
ICAgICAgICAgY29kZSA9IFNKSVM7DQorICAgICAgICAgICAgZ290byBicmVha0JyZWFrOw0KKyAg
ICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgaWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0
cltpXSA8PSAweGE2KSB7DQorICAgICAgICAgICAgICAgIGV1YysrOyAgLyogc2ppcyBoYW5rYWt1
IGthbmEga2lnbyAqLw0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaV0gJiYg
cHRyW2ldIDw9IDB4ZGYpIHsNCisgICAgICAgICAgICAgICAgOyAgIC8qIHNqaXMgaGFua2FrdSBr
YW5hICovDQorICAgICAgICAgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0g
PD0gMHhmZSkgew0KKyAgICAgICAgICAgICAgICBldWMrKzsNCisgICAgICAgICAgICB9IGVsc2Ug
aWYgKDB4OGUgPT0gcHRyW2ldKSB7DQorICAgICAgICAgICAgICAgIGV1YysrOw0KKyAgICAgICAg
ICAgIH0gZWxzZSBpZiAoMHgyMCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4N2YpIHsNCisgICAg
ICAgICAgICAgICAgc2ppcysrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBiZnIgPSBG
QUxTRTsNCisgICAgICAgICAgICBiZmsgPSAwOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0g
ZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0pIHsNCisgICAgICAgICAgICBpZiAoc2l6ZSAtIGkgPD0g
MSkgew0KKyAgICAgICAgICAgIDsNCisgICAgICAgICAgICB9IGVsc2UgaWYgKDB4YTEgPD0gcHRy
W2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZGYpIHsNCisgICAgICAgICAgICAvKiBFVUMgS0FO
QSBvciBTSklTIEtBTkpJICovDQorICAgICAgICAgICAgaWYgKGJmayA9PSAxKSB7DQorICAgICAg
ICAgICAgICAgIGV1YyArPSAxMDA7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGJmaysr
Ow0KKyAgICAgICAgICAgIGkrKzsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAg
IC8qIFNKSVMgb25seSAqLw0KKyAgICAgICAgICAgIGNvZGUgPSBTSklTOw0KKyAgICAgICAgICAg
IGdvdG8gYnJlYWtCcmVhazsNCisgICAgICAgICAgICB9DQorICAgICAgICB9IGVsc2UgaWYgKDB4
ODEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweDlmKSB7DQorICAgICAgICAgICAgLyogU0pJUyBv
bmx5ICovDQorICAgICAgICAgICAgY29kZSA9IFNKSVM7DQorICAgICAgICAgICAgaWYgKChzaXpl
IC0gaSA+PSAxKQ0KKyAgICAgICAgICAgICAgICAmJiAoKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBw
dHJbaSArIDFdIDw9IDB4N2UpDQorICAgICAgICAgICAgICAgIHx8ICgweDgwIDw9IHB0cltpICsg
MV0gJiYgcHRyW2kgKyAxXSA8PSAweGZjKSkpIHsNCisgICAgICAgICAgICBnb3RvIGJyZWFrQnJl
YWs7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSBlbHNlIGlmICgweGZkIDw9IHB0cltpXSAm
JiBwdHJbaV0gPD0gMHhmZSkgew0KKyAgICAgICAgICAgIC8qIEVVQyBvbmx5ICovDQorICAgICAg
ICAgICAgY29kZSA9IEVVQzsNCisgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49IDEpDQorICAg
ICAgICAgICAgICAgICYmICgweGExIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweGZl
KSkgew0KKyAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsNCisgICAgICAgICAgICB9DQorICAg
ICAgICB9IGVsc2UgaWYgKHB0cltpXSA8PSAweDdmKSB7DQorICAgICAgICAgICAgOw0KKyAgICAg
ICAgfSBlbHNlIHsNCisgICAgICAgICAgICBiZnIgPSBUUlVFOw0KKyAgICAgICAgICAgIGJmayA9
IDA7DQorICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgICBpKys7DQorICAgIH0NCiAgICAg
fQ0KICAgICBpZiAoY29kZSA9PSBBU0NJSSkgew0KLQlpZiAoc2ppcyA+IGV1Yykgew0KLQkgICAg
Y29kZSA9IFNKSVM7DQotCX0gZWxzZSBpZiAoc2ppcyA8IGV1Yykgew0KLQkgICAgY29kZSA9IEVV
QzsNCi0JfQ0KKyAgICBpZiAoc2ppcyA+IGV1Yykgew0KKyAgICAgICAgY29kZSA9IFNKSVM7DQor
ICAgIH0gZWxzZSBpZiAoc2ppcyA8IGV1Yykgew0KKyAgICAgICAgY29kZSA9IEVVQzsNCisgICAg
fQ0KICAgICB9DQogYnJlYWtCcmVhazoNCiAgICAgcmV0dXJuIChjb2RlKTsNCiB9DQogDQotRGVj
b2Rlcjo6RGVjb2RlcigpIA0KK0RlY29kZXI6OkRlY29kZXIoKQ0KIHsNCiAgICAgX3JlZkNvdW50
ID0gMTsNCiAgICAgLy8gbGF0aW4xDQpAQCAtMzI4LDcgKzMyOCw3IEBAIHZvaWQgRGVjb2Rlcjo6
c2V0RW5jb2RpbmcoY29uc3QgY2hhciAqX2UNCiAgICAgICAgIGRlbGV0ZSBtX2RlY29kZXI7DQog
ICAgICAgICBtX2RlY29kZXIgPSBtX2NvZGVjLT5tYWtlRGVjb2RlcigpOw0KICAgICB9DQotICAg
IA0KKw0KICNpZmRlZiBERUNPREVfREVCVUcNCiAgICAga2REZWJ1Zyg2MDA1KSA8PCAiRGVjb2Rl
cjo6ZW5jb2RpbmcgdXNlZCBpcyIgPDwgbV9jb2RlYy0+bmFtZSgpIDw8IGVuZGw7DQogI2VuZGlm
DQpAQCAtMzc2LDcgKzM3Niw3IEBAIHN0YXRpYyBpbnQgZmluZFhNTEVuY29kaW5nKGNvbnN0IFFD
U3RyaW4NCiAgICAgaWYgKHBvcyA9PSAtMSkNCiAgICAgICAgIHJldHVybiAtMTsNCiAgICAgcG9z
ICs9IDg7DQotICAgIA0KKw0KICAgICAvLyBTa2lwIHNwYWNlcyBhbmQgc3RyYXkgY29udHJvbCBj
aGFyYWN0ZXJzLg0KICAgICB3aGlsZSAoc3RyW3Bvc10gPD0gJyAnICYmIHBvcyAhPSBsZW4pDQog
ICAgICAgICArK3BvczsNCkBAIC00MDMsNyArNDAzLDcgQEAgc3RhdGljIGludCBmaW5kWE1MRW5j
b2RpbmcoY29uc3QgUUNTdHJpbg0KIA0KICAgICBpZiAoZW5kID09IGxlbikNCiAgICAgICAgIHJl
dHVybiAtMTsNCi0gICAgDQorDQogICAgIGVuY29kaW5nTGVuZ3RoID0gZW5kIC0gcG9zOw0KICAg
ICByZXR1cm4gcG9zOw0KIH0NCkBAIC00NDYsMTIgKzQ0NiwxMiBAQCBRU3RyaW5nIERlY29kZXI6
OmRlY29kZShjb25zdCBjaGFyICpkYXRhDQogICAgICAgICB9DQogICAgICAgICBiZWdpbm5pbmcg
PSBmYWxzZTsNCiAgICAgfQ0KLSAgICANCisNCiAgICAgLy8gdGhpcyBpcyBub3QgY29tcGxldGVs
eSBlZmZpY2llbnQsIHNpbmNlIHRoZSBmdW5jdGlvbiBtaWdodCBnbw0KICAgICAvLyB0aHJvdWdo
IHRoZSBodG1sIGhlYWQgc2V2ZXJhbCB0aW1lcy4uLg0KIA0KICAgICBib29sIGxvb2tGb3JNZXRh
VGFnID0gbV90eXBlID09IERlZmF1bHRFbmNvZGluZyAmJiAhYm9keTsNCi0gICAgDQorDQogICAg
IGlmIChsb29rRm9yTWV0YVRhZykgew0KICNpZmRlZiBERUNPREVfREVCVUcNCiAgICAgICAgIGtk
RGVidWcoNjAwNSkgPDwgImxvb2tpbmcgZm9yIGNoYXJzZXQgZGVmaW5pdGlvbiIgPDwgZW5kbDsN
CkBAIC00OTYsNyArNDk2LDcgQEAgUVN0cmluZyBEZWNvZGVyOjpkZWNvZGUoY29uc3QgY2hhciAq
ZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBDb21tZW50KHB0ciwgcEVuZCk7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgICAgICAgICB9
DQotICAgICAgICAgICAgICAgICAgICANCisNCiAgICAgICAgICAgICAgICAgICAgIC8vIEhhbmRs
ZSBYTUwgaGVhZGVyLCB3aGljaCBjYW4gaGF2ZSBlbmNvZGluZyBpbiBpdC4NCiAgICAgICAgICAg
ICAgICAgICAgIGlmIChwdHJbMF0gPT0gJz8nICYmIHB0clsxXSA9PSAneCcgJiYgcHRyWzJdID09
ICdtJyAmJiBwdHJbM10gPT0gJ2wnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqZW5kID0gcHRyOw0KQEAgLTUyNiw3ICs1MjYsNyBAQCBRU3RyaW5nIERlY29kZXI6OmRl
Y29kZShjb25zdCBjaGFyICpkYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgcHRyKys7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgbGVuKys7DQogICAgICAgICAgICAgICAgICAgICB9DQot
CQkgICAgdG1wW2xlbl0gPSAwOw0KKyAgICAgICAgICAgIHRtcFtsZW5dID0gMDsNCiAgICAgICAg
ICAgICAgICAgICAgIGludCBpZCA9IGtodG1sOjpnZXRUYWdJRCh0bXAsIGxlbik7DQogICAgICAg
ICAgICAgICAgICAgICBpZihlbmQpIGlkICs9IElEX0NMT1NFX1RBRzsNCiANCkBAIC01NDMsMzUg
KzU0MywzNSBAQCBRU3RyaW5nIERlY29kZXI6OmRlY29kZShjb25zdCBjaGFyICpkYXRhDQogICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHBvcyA9IDA7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgLy9pZiggKHBvcyA9IHN0ci5maW5kKCJodHRwLWVxdWl2IiwgcG9zKSkgPT0gLTEpIGJyZWFr
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vaWYoIChwb3MgPSBzdHIuZmluZCgiY29udGVu
dC10eXBlIiwgcG9zKSkgPT0gLTEpIGJyZWFrOw0KLQkJCXdoaWxlKCBwb3MgPCAoIGludCApIHN0
ci5sZW5ndGgoKSApIHsNCi0JCQkgICAgaWYoIChwb3MgPSBzdHIuZmluZCgiY2hhcnNldCIsIHBv
cywgZmFsc2UpKSA9PSAtMSkgYnJlYWs7DQotCQkJICAgIHBvcyArPSA3Ow0KKyAgICAgICAgICAg
IHdoaWxlKCBwb3MgPCAoIGludCApIHN0ci5sZW5ndGgoKSApIHsNCisgICAgICAgICAgICAgICAg
aWYoIChwb3MgPSBzdHIuZmluZCgiY2hhcnNldCIsIHBvcywgZmFsc2UpKSA9PSAtMSkgYnJlYWs7
DQorICAgICAgICAgICAgICAgIHBvcyArPSA3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBza2lwIHdoaXRlc3BhY2UuLg0KLQkJCSAgICB3aGlsZSggIHBvcyA8IChpbnQpc3RyLmxl
bmd0aCgpICYmIHN0cltwb3NdIDw9ICcgJyApIHBvcysrOw0KKyAgICAgICAgICAgICAgICB3aGls
ZSggIHBvcyA8IChpbnQpc3RyLmxlbmd0aCgpICYmIHN0cltwb3NdIDw9ICcgJyApIHBvcysrOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHBvcyA9PSAoIGludCApc3RyLmxlbmd0
aCgpKSBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzdHJbcG9zKytd
ICE9ICc9JyApIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAo
IHBvcyA8ICggaW50IClzdHIubGVuZ3RoKCkgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoIHN0cltwb3NdIDw9ICcgJyApIHx8IHN0cltwb3NdID09ICc9JyB8fCBzdHJb
cG9zXSA9PSAnIicgfHwgc3RyW3Bvc10gPT0gJ1wnJykNCi0JCQkJcG9zKys7DQorICAgICAgICAg
ICAgICAgIHBvcysrOw0KIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlbmQgPw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHBvcyA9PSAoIGludCApc3RyLmxlbmd0
aCgpICkgYnJlYWs7DQotCQkJICAgIHVpbnQgZW5kcG9zID0gcG9zOw0KLQkJCSAgICB3aGlsZSgg
ZW5kcG9zIDwgc3RyLmxlbmd0aCgpICYmDQorICAgICAgICAgICAgICAgIHVpbnQgZW5kcG9zID0g
cG9zOw0KKyAgICAgICAgICAgICAgICB3aGlsZSggZW5kcG9zIDwgc3RyLmxlbmd0aCgpICYmDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyW2VuZHBvc10gIT0gJyAnICYm
IHN0cltlbmRwb3NdICE9ICciJyAmJiBzdHJbZW5kcG9zXSAhPSAnXCcnDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RyW2VuZHBvc10gIT0gJzsnICYmIHN0cltlbmRw
b3NdICE9ICc+JykgKQ0KLQkJCQllbmRwb3MrKzsNCisgICAgICAgICAgICAgICAgZW5kcG9zKys7
DQogI2lmZGVmIERFQ09ERV9ERUJVRw0KLQkJCSAgICBrZERlYnVnKCA2MDA1ICkgPDwgIkRlY29k
ZXI6IGZvdW5kIGNoYXJzZXQ6ICIgPDwgc3RyLm1pZChwb3MsIGVuZHBvcy1wb3MpIDw8IGVuZGw7
DQorICAgICAgICAgICAgICAgIGtkRGVidWcoIDYwMDUgKSA8PCAiRGVjb2RlcjogZm91bmQgY2hh
cnNldDogIiA8PCBzdHIubWlkKHBvcywgZW5kcG9zLXBvcykgPDwgZW5kbDsNCiAjZW5kaWYNCi0J
CQkgICAgc2V0RW5jb2Rpbmcoc3RyLm1pZChwb3MsIGVuZHBvcy1wb3MpLCBFbmNvZGluZ0Zyb21N
ZXRhVGFnKTsNCi0JCQkgICAgaWYoIG1fdHlwZSA9PSBFbmNvZGluZ0Zyb21NZXRhVGFnICkgZ290
byBmb3VuZDsNCisgICAgICAgICAgICAgICAgc2V0RW5jb2Rpbmcoc3RyLm1pZChwb3MsIGVuZHBv
cy1wb3MpLCBFbmNvZGluZ0Zyb21NZXRhVGFnKTsNCisgICAgICAgICAgICAgICAgaWYoIG1fdHlw
ZSA9PSBFbmNvZGluZ0Zyb21NZXRhVGFnICkgZ290byBmb3VuZDsNCiANCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCBlbmRwb3MgPj0gc3RyLmxlbmd0aCgpIHx8IHN0cltlbmRwb3Nd
ID09ICcvJyB8fCBzdHJbZW5kcG9zXSA9PSAnPicgKSBicmVhazsNCiANCi0JCQkgICAgcG9zID0g
ZW5kcG9zICsgMTsNCi0JCQl9DQotCQkgICAgfQ0KKyAgICAgICAgICAgICAgICBwb3MgPSBlbmRw
b3MgKyAxOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICBjYXNlIChJRF9NRVRBK0lEX0NMT1NFX1RBRyk6DQogICAgICAgICAgICAgICAgICAgICBj
YXNlIElEX1NDUklQVDoNCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgKElEX1NDUklQVCtJRF9D
TE9TRV9UQUcpOg0KQEAgLTU4OSwxMyArNTg5LDE2IEBAIFFTdHJpbmcgRGVjb2Rlcjo6ZGVjb2Rl
KGNvbnN0IGNoYXIgKmRhdGENCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgKElEX0JBU0UrSURf
Q0xPU0VfVEFHKToNCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgSURfSFRNTDoNCiAgICAgICAg
ICAgICAgICAgICAgIGNhc2UgSURfSEVBRDoNCisjaWYgTk9LSUFfQ0hBTkdFUw0KKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSBJRF9JTUc6DQorI2VuZGlmDQogICAgICAgICAgICAgICAgICAgICBj
YXNlIDA6DQogICAgICAgICAgICAgICAgICAgICBjYXNlICgwICsgSURfQ0xPU0VfVEFHICk6DQog
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0Og0KICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkgPSB0cnVlOw0KICNpZmRlZiBERUNP
REVfREVCVUcNCi0JCQlrZERlYnVnKCA2MDA1ICkgPDwgIkRlY29kZXI6IG5vIGNoYXJzZXQgZm91
bmQuIElkPSIgPDwgaWQgPDwgZW5kbDsNCisgICAgICAgICAgICBrZERlYnVnKCA2MDA1ICkgPDwg
IkRlY29kZXI6IG5vIGNoYXJzZXQgZm91bmQuIElkPSIgPDwgaWQgPDwgZW5kbDsNCiAjZW5kaWYN
CiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZvdW5kOw0KICAgICAgICAgICAgICAgICAg
ICAgfQ0KQEAgLTYxNiw0MiArNjE5LDQyIEBAIFFTdHJpbmcgRGVjb2Rlcjo6ZGVjb2RlKGNvbnN0
IGNoYXIgKmRhdGENCiAjZW5kaWYNCiAgICAgew0KICNpZmRlZiBERUNPREVfREVCVUcNCi0Ja2RE
ZWJ1ZyggNjAwNSApIDw8ICJEZWNvZGVyOiB1c2UgYXV0by1kZXRlY3QgKCIgPDwgc3RybGVuKGRh
dGEpIDw8ICIpIiA8PCBlbmRsOw0KKyAgICBrZERlYnVnKCA2MDA1ICkgPDwgIkRlY29kZXI6IHVz
ZSBhdXRvLWRldGVjdCAoIiA8PCBzdHJsZW4oZGF0YSkgPDwgIikiIDw8IGVuZGw7DQogI2VuZGlm
DQotCWNvbnN0IGNoYXIgKmF1dG9EZXRlY3RlZEVuY29kaW5nOw0KKyAgICBjb25zdCBjaGFyICph
dXRvRGV0ZWN0ZWRFbmNvZGluZzsNCiAgICAgICAgIHN3aXRjaCAoIEthbmppQ29kZTo6anVkZ2Uo
IGRhdGEsIGxlbiApICkgew0KLQljYXNlIEthbmppQ29kZTo6SklTOg0KKyAgICBjYXNlIEthbmpp
Q29kZTo6SklTOg0KICNpZiBOT0tJQV9DSEFOR0VTDQotCSAgICBhdXRvRGV0ZWN0ZWRFbmNvZGlu
ZyA9ICJqaXNfeDAyMDEtMTk5NyI7DQorICAgICAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9ICJq
aXNfeDAyMDEtMTk5NyI7DQogI2Vsc2UNCi0JICAgIGF1dG9EZXRlY3RlZEVuY29kaW5nID0gImpp
czciOw0KKyAgICAgICAgYXV0b0RldGVjdGVkRW5jb2RpbmcgPSAiamlzNyI7DQogI2VuZGlmDQot
CSAgICBicmVhazsNCi0JY2FzZSBLYW5qaUNvZGU6OkVVQzoNCisgICAgICAgIGJyZWFrOw0KKyAg
ICBjYXNlIEthbmppQ29kZTo6RVVDOg0KICNpZiBOT0tJQV9DSEFOR0VTDQotCSAgICBhdXRvRGV0
ZWN0ZWRFbmNvZGluZyA9ICJldWMtanAiIDsNCisgICAgICAgIGF1dG9EZXRlY3RlZEVuY29kaW5n
ID0gImV1Yy1qcCIgOw0KICNlbHNlDQotCSAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9ICJldWNq
cCI7DQorICAgICAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9ICJldWNqcCI7DQogI2VuZGlmDQot
CSAgICBicmVhazsNCi0JY2FzZSBLYW5qaUNvZGU6OlNKSVM6DQotI2lmIE5PS0lBX0NIQU5HRVMJ
ICAgIA0KKyAgICAgICAgYnJlYWs7DQorICAgIGNhc2UgS2FuamlDb2RlOjpTSklTOg0KKyNpZiBO
T0tJQV9DSEFOR0VTDQogICAgICAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9ICJzaGlmdF9qaXMi
Ow0KICNlbHNlDQotCSAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9ICJzamlzIjsNCisgICAgICAg
IGF1dG9EZXRlY3RlZEVuY29kaW5nID0gInNqaXMiOw0KICNlbmRpZg0KLQkgICAgYnJlYWs7DQot
CWRlZmF1bHQ6DQotCSAgICBhdXRvRGV0ZWN0ZWRFbmNvZGluZyA9IE5VTEw7DQotCSAgICBicmVh
azsNCi0JfQ0KKyAgICAgICAgYnJlYWs7DQorICAgIGRlZmF1bHQ6DQorICAgICAgICBhdXRvRGV0
ZWN0ZWRFbmNvZGluZyA9IE5VTEw7DQorICAgICAgICBicmVhazsNCisgICAgfQ0KICNpZmRlZiBE
RUNPREVfREVCVUcNCi0Ja2REZWJ1ZyggNjAwNSApIDw8ICJEZWNvZGVyOiBhdXRvIGRldGVjdCBl
bmNvZGluZyBpcyAiDQorICAgIGtkRGVidWcoIDYwMDUgKSA8PCAiRGVjb2RlcjogYXV0byBkZXRl
Y3QgZW5jb2RpbmcgaXMgIg0KICAgICAgICAgICAgIDw8IChhdXRvRGV0ZWN0ZWRFbmNvZGluZyA/
IGF1dG9EZXRlY3RlZEVuY29kaW5nIDogIk5VTEwiKSA8PCBlbmRsOw0KICNlbmRpZg0KLQlpZiAo
YXV0b0RldGVjdGVkRW5jb2RpbmcgIT0gMCkgew0KLQkgICAgc2V0RW5jb2RpbmcoYXV0b0RldGVj
dGVkRW5jb2RpbmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsNCi0JfQ0KKyAgICBpZiAoYXV0b0Rl
dGVjdGVkRW5jb2RpbmcgIT0gMCkgew0KKyAgICAgICAgc2V0RW5jb2RpbmcoYXV0b0RldGVjdGVk
RW5jb2RpbmcsIEF1dG9EZXRlY3RlZEVuY29kaW5nKTsNCisgICAgfQ0KICAgICB9DQogDQogICAg
IC8vIGlmIHdlIHN0aWxsIGhhdmVuJ3QgZm91bmQgYW4gZW5jb2RpbmcgbGF0aW4xIHdpbGwgYmUg
dXNlZC4uLg0K
</data>
<flag name="review"
          id="4787"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12614</attachid>
            <date>2007-01-22 13:21:28 -0800</date>
            <delta_ts>2007-01-22 18:07:40 -0800</delta_ts>
            <desc>Fix for 3.1 branch in decoder.cpp</desc>
            <filename>12371_31.patch</filename>
            <type>text/plain</type>
            <size>18050</size>
            <attacher name="Wei Liu">wei.liu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE5MDI5KQ0KKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
DQpAQCAtMSwzICsxLDE4IEBADQorMjAwNy0wMS0yMiAgdzNsaXUgIDx3ZWkubGl1QG5va2lhLmNv
bT4NCisNCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcyA8emJ1anRhc0BnbWFpbC5j
b20+Lg0KKyAgICAgICAgREVTQzogW1M2MF0gUFlBTi02TVVTV1Y6IE9TUyBicm93c2VyIGNhbiBu
b3QgZGlzcGxheSBDaGluZXNlIGNoYXJhY3RlcnMgY29ycmVjdGx5IHdpdGggc2VsZWN0ZWQgd2Vi
IHNpdGVzDQorICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzcxDQorDQorICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9S
IENIQU5HRUQNCisNCisgICAgICAgICoga2h0bWwvbWlzYy9kZWNvZGVyLmNwcDoNCisgICAgICAg
IChLYW5qaUNvZGU6Omp1ZGdlKToNCisgICAgICAgIChEZWNvZGVyOjpEZWNvZGVyKToNCisgICAg
ICAgIChEZWNvZGVyOjpzZXRFbmNvZGluZyk6DQorICAgICAgICAoZmluZFhNTEVuY29kaW5nKToN
CisgICAgICAgIChEZWNvZGVyOjpkZWNvZGUpOg0KKw0KIDIwMDctMDEtMTcgIHczbGl1ICA8d2Vp
LmxpdUBub2tpYS5jb20+DQogDQogICAgICAgICBSZXZpZXdlZCBieSB5b25nanVuLg0KSW5kZXg6
IFdlYkNvcmUva2h0bWwvbWlzYy9kZWNvZGVyLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUv
a2h0bWwvbWlzYy9kZWNvZGVyLmNwcAkocmV2aXNpb24gMTkwMjgpDQorKysgV2ViQ29yZS9raHRt
bC9taXNjL2RlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNTIsMTYgKzUyLDE2IEBAIHB1
YmxpYzoNCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2FuamlfbWFwX3NqaXNbXTsN
CiAgICAgc3RhdGljIGludCBJU2thbmppKGludCBjb2RlKQ0KICAgICB7DQotCWlmIChjb2RlID49
IDB4MTAwKQ0KLQkJICAgIHJldHVybiAwOw0KLQlyZXR1cm4gKGthbmppX21hcF9zamlzW2NvZGUg
JiAweGZmXSAmIDEpOw0KKyAgICBpZiAoY29kZSA+PSAweDEwMCkNCisgICAgICAgICAgICByZXR1
cm4gMDsNCisgICAgcmV0dXJuIChrYW5qaV9tYXBfc2ppc1tjb2RlICYgMHhmZl0gJiAxKTsNCiAg
ICAgfQ0KIA0KICAgICBzdGF0aWMgaW50IElTa2FuYShpbnQgY29kZSkNCiAgICAgew0KLQlpZiAo
Y29kZSA+PSAweDEwMCkNCi0JCSAgICByZXR1cm4gMDsNCi0JcmV0dXJuIChrYW5qaV9tYXBfc2pp
c1tjb2RlICYgMHhmZl0gJiAyKTsNCisgICAgaWYgKGNvZGUgPj0gMHgxMDApDQorICAgICAgICAg
ICAgcmV0dXJuIDA7DQorICAgIHJldHVybiAoa2FuamlfbWFwX3NqaXNbY29kZSAmIDB4ZmZdICYg
Mik7DQogICAgIH0NCiANCiB9Ow0KQEAgLTExOCw4ICsxMTgsOCBAQCBlbnVtIEthbmppQ29kZTo6
VHlwZSBLYW5qaUNvZGU6Omp1ZGdlKGNvDQogew0KICAgICBlbnVtIFR5cGUgY29kZTsNCiAgICAg
aW50IGk7DQotICAgIGludCBiZnIgPSBGQUxTRTsJCS8qIEthbmEgTW9qaSAqLw0KLSAgICBpbnQg
YmZrID0gMDsJCS8qIEVVQyBLYW5hICovDQorICAgIGludCBiZnIgPSBGQUxTRTsgICAgICAgIC8q
IEthbmEgTW9qaSAqLw0KKyAgICBpbnQgYmZrID0gMDsgICAgICAgIC8qIEVVQyBLYW5hICovDQog
ICAgIGludCBzamlzID0gMDsNCiAgICAgaW50IGV1YyA9IDA7DQogDQpAQCAtMTI5LDE0MiArMTI5
LDE0MiBAQCBlbnVtIEthbmppQ29kZTo6VHlwZSBLYW5qaUNvZGU6Omp1ZGdlKGNvDQogDQogICAg
IGkgPSAwOw0KICAgICB3aGlsZSAoaSA8IHNpemUpIHsNCi0JaWYgKHB0cltpXSA9PSBFU0MgJiYg
KHNpemUgLSBpID49IDMpKSB7DQotCSAgICBpZiAoKHB0cltpICsgMV0gPT0gJyQnICYmIHB0cltp
ICsgMl0gPT0gJ0InKQ0KLQkgICAgfHwgKHB0cltpICsgMV0gPT0gJygnICYmIHB0cltpICsgMl0g
PT0gJ0InKSkgew0KLQkJY29kZSA9IEpJUzsNCi0JCWdvdG8gYnJlYWtCcmVhazsNCi0JICAgIH0g
ZWxzZSBpZiAoKHB0cltpICsgMV0gPT0gJyQnICYmIHB0cltpICsgMl0gPT0gJ0AnKQ0KLQkJICAg
IHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdKJykpIHsNCi0JCWNvZGUg
PSBKSVM7DQotCQlnb3RvIGJyZWFrQnJlYWs7DQotCSAgICB9IGVsc2UgaWYgKHB0cltpICsgMV0g
PT0gJygnICYmIHB0cltpICsgMl0gPT0gJ0knKSB7DQotCQljb2RlID0gSklTOw0KLQkJaSArPSAz
Ow0KLQkgICAgfSBlbHNlIGlmIChwdHJbaSArIDFdID09ICcpJyAmJiBwdHJbaSArIDJdID09ICdJ
Jykgew0KLQkJY29kZSA9IEpJUzsNCi0JCWkgKz0gMzsNCi0JICAgIH0gZWxzZSB7DQotCQlpKys7
DQotCSAgICB9DQotCSAgICBiZnIgPSBGQUxTRTsNCi0JICAgIGJmayA9IDA7DQotCX0gZWxzZSB7
DQotCSAgICBpZiAocHRyW2ldIDwgMHgyMCkgew0KLQkJYmZyID0gRkFMU0U7DQotCQliZmsgPSAw
Ow0KLQkJLyogPz8gY2hlY2sga3Vkb2t1dGVuID8/ICYmID8/IGhpcmFnYW5hID8/ICovDQotCQlp
ZiAoKGkgPj0gMikgJiYgKHB0cltpIC0gMl0gPT0gMHg4MSkNCi0JCQkmJiAoMHg0MSA8PSBwdHJb
aSAtIDFdICYmIHB0cltpIC0gMV0gPD0gMHg0OSkpIHsNCi0JCSAgICBjb2RlID0gU0pJUzsNCi0J
CSAgICBzamlzICs9IDEwMDsJLyoga3Vkb2t1dGVuICovDQotCQl9IGVsc2UgaWYgKChpID49IDIp
ICYmIChwdHJbaSAtIDJdID09IDB4YTEpDQotCQkJJiYgKDB4YTIgPD0gcHRyW2kgLSAxXSAmJiBw
dHJbaSAtIDFdIDw9IDB4YWEpKSB7DQotCQkgICAgY29kZSA9IEVVQzsNCi0JCSAgICBldWMgKz0g
MTAwOwkJLyoga3Vkb2t1dGVuICovDQotCQl9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAt
IDJdID09IDB4ODIpICYmICgweGEwIDw9IHB0cltpIC0gMV0pKSB7DQotCQkgICAgc2ppcyArPSA0
MDsJCS8qIGhpcmFnYW5hICovDQotCQl9IGVsc2UgaWYgKChpID49IDIpICYmIChwdHJbaSAtIDJd
ID09IDB4YTQpICYmICgweGEwIDw9IHB0cltpIC0gMV0pKSB7DQotCQkgICAgZXVjICs9IDQwOwkv
KiBoaXJhZ2FuYSAqLw0KLQkJfQ0KLQkgICAgfSBlbHNlIHsNCi0JCS8qID8/IGNoZWNrIGhpcmFn
YW5hIG9yIGthdGFuYSA/PyAqLw0KLQkJaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0g
MHg4MikgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsNCi0JCSAgICBzamlzKys7CS8qIGhpcmFn
YW5hICovDQotCQl9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHg4MykN
Ci0JCQkgJiYgKDB4NDAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4OWYpKSB7DQot
CQkgICAgc2ppcysrOwkvKiBrYXRha2FuYSAqLw0KLQkJfSBlbHNlIGlmICgoc2l6ZSAtIGkgPiAx
KSAmJiAocHRyW2ldID09IDB4YTQpICYmICgweGEwIDw9IHB0cltpICsgMV0pKSB7DQotCQkgICAg
ZXVjKys7CS8qIGhpcmFnYW5hICovDQotCQl9IGVsc2UgaWYgKChzaXplIC0gaSA+IDEpICYmIChw
dHJbaV0gPT0gMHhhNSkgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsNCi0JCSAgICBldWMrKzsJ
Lyoga2F0YWthbmEgKi8NCi0JCX0NCi0JCWlmIChiZnIpIHsNCi0JCSAgICBpZiAoKGkgPj0gMSkg
JiYgKDB4NDAgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGEwKSAmJiBJU2thbmppKHB0cltpIC0g
MV0pKSB7DQotCQkJY29kZSA9IFNKSVM7DQotCQkJZ290byBicmVha0JyZWFrOw0KLQkJICAgIH0g
ZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ODEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFdIDw9
IDB4OWYpICYmICgoMHg0MCA8PSBwdHJbaV0gJiYgcHRyW2ldIDwgMHg3ZSkgfHwgKDB4N2UgPCBw
dHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmMpKSkgew0KLQkJCWNvZGUgPSBTSklTOw0KLQkJCWdvdG8g
YnJlYWtCcmVhazsNCi0JCSAgICB9IGVsc2UgaWYgKChpID49IDEpICYmICgweGZkIDw9IHB0cltp
XSAmJiBwdHJbaV0gPD0gMHhmZSkgJiYgKDB4YTEgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAtIDFd
IDw9IDB4ZmUpKSB7DQotCQkJY29kZSA9IEVVQzsNCi0JCQlnb3RvIGJyZWFrQnJlYWs7DQotCQkg
ICAgfSBlbHNlIGlmICgoaSA+PSAxKSAmJiAoMHhmZCA8PSBwdHJbaSAtIDFdICYmIHB0cltpIC0g
MV0gPD0gMHhmZSkgJiYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSkgew0KLQkJ
CWNvZGUgPSBFVUM7DQotCQkJZ290byBicmVha0JyZWFrOw0KLQkJICAgIH0gZWxzZSBpZiAoKGkg
Pj0gMSkgJiYgKHB0cltpXSA8IDB4YTAgfHwgMHhkZiA8IHB0cltpXSkgJiYgKDB4OGUgPT0gcHRy
W2kgLSAxXSkpIHsNCi0JCQljb2RlID0gU0pJUzsNCi0JCQlnb3RvIGJyZWFrQnJlYWs7DQotCQkg
ICAgfSBlbHNlIGlmIChwdHJbaV0gPD0gMHg3Zikgew0KLQkJCWNvZGUgPSBTSklTOw0KLQkJCWdv
dG8gYnJlYWtCcmVhazsNCi0JCSAgICB9IGVsc2Ugew0KLQkJCWlmICgweGExIDw9IHB0cltpXSAm
JiBwdHJbaV0gPD0gMHhhNikgew0KLQkJCSAgICBldWMrKzsJLyogc2ppcyBoYW5rYWt1IGthbmEg
a2lnbyAqLw0KLQkJCX0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZGYp
IHsNCi0JCQkgICAgOwkvKiBzamlzIGhhbmtha3Uga2FuYSAqLw0KLQkJCX0gZWxzZSBpZiAoMHhh
MSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpIHsNCi0JCQkgICAgZXVjKys7DQotCQkJfSBl
bHNlIGlmICgweDhlID09IHB0cltpXSkgew0KLQkJCSAgICBldWMrKzsNCi0JCQl9IGVsc2UgaWYg
KDB4MjAgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweDdmKSB7DQotCQkJICAgIHNqaXMrKzsNCi0J
CQl9DQotCQkJYmZyID0gRkFMU0U7DQotCQkJYmZrID0gMDsNCi0JCSAgICB9DQotCQl9IGVsc2Ug
aWYgKDB4OGUgPT0gcHRyW2ldKSB7DQotCQkgICAgaWYgKHNpemUgLSBpIDw9IDEpIHsNCi0JCQk7
DQotCQkgICAgfSBlbHNlIGlmICgweGExIDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAw
eGRmKSB7DQotCQkJLyogRVVDIEtBTkEgb3IgU0pJUyBLQU5KSSAqLw0KLQkJCWlmIChiZmsgPT0g
MSkgew0KLQkJCSAgICBldWMgKz0gMTAwOw0KLQkJCX0NCi0JCQliZmsrKzsNCi0JCQlpKys7DQot
CQkgICAgfSBlbHNlIHsNCi0JCQkvKiBTSklTIG9ubHkgKi8NCi0JCQljb2RlID0gU0pJUzsNCi0J
CQlnb3RvIGJyZWFrQnJlYWs7DQotCQkgICAgfQ0KLQkJfSBlbHNlIGlmICgweDgxIDw9IHB0cltp
XSAmJiBwdHJbaV0gPD0gMHg5Zikgew0KLQkJICAgIC8qIFNKSVMgb25seSAqLw0KLQkJICAgIGNv
ZGUgPSBTSklTOw0KLQkJICAgIGlmICgoc2l6ZSAtIGkgPj0gMSkNCi0JCQkgICAgJiYgKCgweDQw
IDw9IHB0cltpICsgMV0gJiYgcHRyW2kgKyAxXSA8PSAweDdlKQ0KLQkJCSAgICB8fCAoMHg4MCA8
PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhmYykpKSB7DQotCQkJZ290byBicmVha0Jy
ZWFrOw0KLQkJICAgIH0NCi0JCX0gZWxzZSBpZiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9
IDB4ZmUpIHsNCi0JCSAgICAvKiBFVUMgb25seSAqLw0KLQkJICAgIGNvZGUgPSBFVUM7DQotCQkg
ICAgaWYgKChzaXplIC0gaSA+PSAxKQ0KLQkJCSAgICAmJiAoMHhhMSA8PSBwdHJbaSArIDFdICYm
IHB0cltpICsgMV0gPD0gMHhmZSkpIHsNCi0JCQlnb3RvIGJyZWFrQnJlYWs7DQotCQkgICAgfQ0K
LQkJfSBlbHNlIGlmIChwdHJbaV0gPD0gMHg3Zikgew0KLQkJICAgIDsNCi0JCX0gZWxzZSB7DQot
CQkgICAgYmZyID0gVFJVRTsNCi0JCSAgICBiZmsgPSAwOw0KLQkJfQ0KLQkgICAgfQ0KLQkgICAg
aSsrOw0KLQl9DQorICAgIGlmIChwdHJbaV0gPT0gRVNDICYmIChzaXplIC0gaSA+PSAzKSkgew0K
KyAgICAgICAgaWYgKChwdHJbaSArIDFdID09ICckJyAmJiBwdHJbaSArIDJdID09ICdCJykNCisg
ICAgICAgIHx8IChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdCJykpIHsNCisg
ICAgICAgIGNvZGUgPSBKSVM7DQorICAgICAgICBnb3RvIGJyZWFrQnJlYWs7DQorICAgICAgICB9
IGVsc2UgaWYgKChwdHJbaSArIDFdID09ICckJyAmJiBwdHJbaSArIDJdID09ICdAJykNCisgICAg
ICAgICAgICB8fCAocHRyW2kgKyAxXSA9PSAnKCcgJiYgcHRyW2kgKyAyXSA9PSAnSicpKSB7DQor
ICAgICAgICBjb2RlID0gSklTOw0KKyAgICAgICAgZ290byBicmVha0JyZWFrOw0KKyAgICAgICAg
fSBlbHNlIGlmIChwdHJbaSArIDFdID09ICcoJyAmJiBwdHJbaSArIDJdID09ICdJJykgew0KKyAg
ICAgICAgY29kZSA9IEpJUzsNCisgICAgICAgIGkgKz0gMzsNCisgICAgICAgIH0gZWxzZSBpZiAo
cHRyW2kgKyAxXSA9PSAnKScgJiYgcHRyW2kgKyAyXSA9PSAnSScpIHsNCisgICAgICAgIGNvZGUg
PSBKSVM7DQorICAgICAgICBpICs9IDM7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgaSsr
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgYmZyID0gRkFMU0U7DQorICAgICAgICBiZmsgPSAwOw0K
KyAgICB9IGVsc2Ugew0KKyAgICAgICAgaWYgKHB0cltpXSA8IDB4MjApIHsNCisgICAgICAgIGJm
ciA9IEZBTFNFOw0KKyAgICAgICAgYmZrID0gMDsNCisgICAgICAgIC8qID8/IGNoZWNrIGt1ZG9r
dXRlbiA/PyAmJiA/PyBoaXJhZ2FuYSA/PyAqLw0KKyAgICAgICAgaWYgKChpID49IDIpICYmIChw
dHJbaSAtIDJdID09IDB4ODEpDQorICAgICAgICAgICAgJiYgKDB4NDEgPD0gcHRyW2kgLSAxXSAm
JiBwdHJbaSAtIDFdIDw9IDB4NDkpKSB7DQorICAgICAgICAgICAgY29kZSA9IFNKSVM7DQorICAg
ICAgICAgICAgc2ppcyArPSAxMDA7ICAgIC8qIGt1ZG9rdXRlbiAqLw0KKyAgICAgICAgfSBlbHNl
IGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweGExKQ0KKyAgICAgICAgICAgICYmICgw
eGEyIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGFhKSkgew0KKyAgICAgICAgICAg
IGNvZGUgPSBFVUM7DQorICAgICAgICAgICAgZXVjICs9IDEwMDsgICAgIC8qIGt1ZG9rdXRlbiAq
Lw0KKyAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAyXSA9PSAweDgyKSAm
JiAoMHhhMCA8PSBwdHJbaSAtIDFdKSkgew0KKyAgICAgICAgICAgIHNqaXMgKz0gNDA7ICAgICAv
KiBoaXJhZ2FuYSAqLw0KKyAgICAgICAgfSBlbHNlIGlmICgoaSA+PSAyKSAmJiAocHRyW2kgLSAy
XSA9PSAweGE0KSAmJiAoMHhhMCA8PSBwdHJbaSAtIDFdKSkgew0KKyAgICAgICAgICAgIGV1YyAr
PSA0MDsgIC8qIGhpcmFnYW5hICovDQorICAgICAgICB9DQorICAgICAgICB9IGVsc2Ugew0KKyAg
ICAgICAgLyogPz8gY2hlY2sgaGlyYWdhbmEgb3Iga2F0YW5hID8/ICovDQorICAgICAgICBpZiAo
KHNpemUgLSBpID4gMSkgJiYgKHB0cltpXSA9PSAweDgyKSAmJiAoMHhhMCA8PSBwdHJbaSArIDFd
KSkgew0KKyAgICAgICAgICAgIHNqaXMrKzsgLyogaGlyYWdhbmEgKi8NCisgICAgICAgIH0gZWxz
ZSBpZiAoKHNpemUgLSBpID4gMSkgJiYgKHB0cltpXSA9PSAweDgzKQ0KKyAgICAgICAgICAgICAm
JiAoMHg0MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHg5ZikpIHsNCisgICAgICAg
ICAgICBzamlzKys7IC8qIGthdGFrYW5hICovDQorICAgICAgICB9IGVsc2UgaWYgKChzaXplIC0g
aSA+IDEpICYmIChwdHJbaV0gPT0gMHhhNCkgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkpIHsNCisg
ICAgICAgICAgICBldWMrKzsgIC8qIGhpcmFnYW5hICovDQorICAgICAgICB9IGVsc2UgaWYgKChz
aXplIC0gaSA+IDEpICYmIChwdHJbaV0gPT0gMHhhNSkgJiYgKDB4YTAgPD0gcHRyW2kgKyAxXSkp
IHsNCisgICAgICAgICAgICBldWMrKzsgIC8qIGthdGFrYW5hICovDQorICAgICAgICB9DQorICAg
ICAgICBpZiAoYmZyKSB7DQorICAgICAgICAgICAgaWYgKChpID49IDEpICYmICgweDQwIDw9IHB0
cltpXSAmJiBwdHJbaV0gPD0gMHhhMCkgJiYgSVNrYW5qaShwdHJbaSAtIDFdKSkgew0KKyAgICAg
ICAgICAgIGNvZGUgPSBTSklTOw0KKyAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsNCisgICAg
ICAgICAgICB9IGVsc2UgaWYgKChpID49IDEpICYmICgweDgxIDw9IHB0cltpIC0gMV0gJiYgcHRy
W2kgLSAxXSA8PSAweDlmKSAmJiAoKDB4NDAgPD0gcHRyW2ldICYmIHB0cltpXSA8IDB4N2UpIHx8
ICgweDdlIDwgcHRyW2ldICYmIHB0cltpXSA8PSAweGZjKSkpIHsNCisgICAgICAgICAgICBjb2Rl
ID0gU0pJUzsNCisgICAgICAgICAgICBnb3RvIGJyZWFrQnJlYWs7DQorICAgICAgICAgICAgfSBl
bHNlIGlmICgoaSA+PSAxKSAmJiAoMHhmZCA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4ZmUpICYm
ICgweGExIDw9IHB0cltpIC0gMV0gJiYgcHRyW2kgLSAxXSA8PSAweGZlKSkgew0KKyAgICAgICAg
ICAgIGNvZGUgPSBFVUM7DQorICAgICAgICAgICAgZ290byBicmVha0JyZWFrOw0KKyAgICAgICAg
ICAgIH0gZWxzZSBpZiAoKGkgPj0gMSkgJiYgKDB4ZmQgPD0gcHRyW2kgLSAxXSAmJiBwdHJbaSAt
IDFdIDw9IDB4ZmUpICYmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhmZSkpIHsNCisg
ICAgICAgICAgICBjb2RlID0gRVVDOw0KKyAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsNCisg
ICAgICAgICAgICB9IGVsc2UgaWYgKChpID49IDEpICYmIChwdHJbaV0gPCAweGEwIHx8IDB4ZGYg
PCBwdHJbaV0pICYmICgweDhlID09IHB0cltpIC0gMV0pKSB7DQorICAgICAgICAgICAgY29kZSA9
IFNKSVM7DQorICAgICAgICAgICAgZ290byBicmVha0JyZWFrOw0KKyAgICAgICAgICAgIH0gZWxz
ZSBpZiAocHRyW2ldIDw9IDB4N2YpIHsNCisgICAgICAgICAgICBjb2RlID0gU0pJUzsNCisgICAg
ICAgICAgICBnb3RvIGJyZWFrQnJlYWs7DQorICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAg
ICAgICBpZiAoMHhhMSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4YTYpIHsNCisgICAgICAgICAg
ICAgICAgZXVjKys7ICAvKiBzamlzIGhhbmtha3Uga2FuYSBraWdvICovDQorICAgICAgICAgICAg
fSBlbHNlIGlmICgweGExIDw9IHB0cltpXSAmJiBwdHJbaV0gPD0gMHhkZikgew0KKyAgICAgICAg
ICAgICAgICA7ICAgLyogc2ppcyBoYW5rYWt1IGthbmEgKi8NCisgICAgICAgICAgICB9IGVsc2Ug
aWYgKDB4YTEgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSB7DQorICAgICAgICAgICAgICAg
IGV1YysrOw0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoMHg4ZSA9PSBwdHJbaV0pIHsNCisgICAg
ICAgICAgICAgICAgZXVjKys7DQorICAgICAgICAgICAgfSBlbHNlIGlmICgweDIwIDw9IHB0cltp
XSAmJiBwdHJbaV0gPD0gMHg3Zikgew0KKyAgICAgICAgICAgICAgICBzamlzKys7DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgIGJmciA9IEZBTFNFOw0KKyAgICAgICAgICAgIGJmayA9IDA7
DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSBlbHNlIGlmICgweDhlID09IHB0cltpXSkgew0K
KyAgICAgICAgICAgIGlmIChzaXplIC0gaSA8PSAxKSB7DQorICAgICAgICAgICAgOw0KKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAoMHhhMSA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHhk
Zikgew0KKyAgICAgICAgICAgIC8qIEVVQyBLQU5BIG9yIFNKSVMgS0FOSkkgKi8NCisgICAgICAg
ICAgICBpZiAoYmZrID09IDEpIHsNCisgICAgICAgICAgICAgICAgZXVjICs9IDEwMDsNCisgICAg
ICAgICAgICB9DQorICAgICAgICAgICAgYmZrKys7DQorICAgICAgICAgICAgaSsrOw0KKyAgICAg
ICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgLyogU0pJUyBvbmx5ICovDQorICAgICAgICAg
ICAgY29kZSA9IFNKSVM7DQorICAgICAgICAgICAgZ290byBicmVha0JyZWFrOw0KKyAgICAgICAg
ICAgIH0NCisgICAgICAgIH0gZWxzZSBpZiAoMHg4MSA8PSBwdHJbaV0gJiYgcHRyW2ldIDw9IDB4
OWYpIHsNCisgICAgICAgICAgICAvKiBTSklTIG9ubHkgKi8NCisgICAgICAgICAgICBjb2RlID0g
U0pJUzsNCisgICAgICAgICAgICBpZiAoKHNpemUgLSBpID49IDEpDQorICAgICAgICAgICAgICAg
ICYmICgoMHg0MCA8PSBwdHJbaSArIDFdICYmIHB0cltpICsgMV0gPD0gMHg3ZSkNCisgICAgICAg
ICAgICAgICAgfHwgKDB4ODAgPD0gcHRyW2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmMpKSkg
ew0KKyAgICAgICAgICAgIGdvdG8gYnJlYWtCcmVhazsNCisgICAgICAgICAgICB9DQorICAgICAg
ICB9IGVsc2UgaWYgKDB4ZmQgPD0gcHRyW2ldICYmIHB0cltpXSA8PSAweGZlKSB7DQorICAgICAg
ICAgICAgLyogRVVDIG9ubHkgKi8NCisgICAgICAgICAgICBjb2RlID0gRVVDOw0KKyAgICAgICAg
ICAgIGlmICgoc2l6ZSAtIGkgPj0gMSkNCisgICAgICAgICAgICAgICAgJiYgKDB4YTEgPD0gcHRy
W2kgKyAxXSAmJiBwdHJbaSArIDFdIDw9IDB4ZmUpKSB7DQorICAgICAgICAgICAgZ290byBicmVh
a0JyZWFrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0gZWxzZSBpZiAocHRyW2ldIDw9IDB4
N2YpIHsNCisgICAgICAgICAgICA7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgIGJm
ciA9IFRSVUU7DQorICAgICAgICAgICAgYmZrID0gMDsNCisgICAgICAgIH0NCisgICAgICAgIH0N
CisgICAgICAgIGkrKzsNCisgICAgfQ0KICAgICB9DQogICAgIGlmIChjb2RlID09IEFTQ0lJKSB7
DQotCWlmIChzamlzID4gZXVjKSB7DQotCSAgICBjb2RlID0gU0pJUzsNCi0JfSBlbHNlIGlmIChz
amlzIDwgZXVjKSB7DQotCSAgICBjb2RlID0gRVVDOw0KLQl9DQorICAgIGlmIChzamlzID4gZXVj
KSB7DQorICAgICAgICBjb2RlID0gU0pJUzsNCisgICAgfSBlbHNlIGlmIChzamlzIDwgZXVjKSB7
DQorICAgICAgICBjb2RlID0gRVVDOw0KKyAgICB9DQogICAgIH0NCiBicmVha0JyZWFrOg0KICAg
ICByZXR1cm4gKGNvZGUpOw0KIH0NCiANCi1EZWNvZGVyOjpEZWNvZGVyKCkgDQorRGVjb2Rlcjo6
RGVjb2RlcigpDQogew0KICAgICBfcmVmQ291bnQgPSAxOw0KICAgICAvLyBsYXRpbjENCkBAIC0z
MjgsNyArMzI4LDcgQEAgdm9pZCBEZWNvZGVyOjpzZXRFbmNvZGluZyhjb25zdCBjaGFyICpfZQ0K
ICAgICAgICAgZGVsZXRlIG1fZGVjb2RlcjsNCiAgICAgICAgIG1fZGVjb2RlciA9IG1fY29kZWMt
Pm1ha2VEZWNvZGVyKCk7DQogICAgIH0NCi0gICAgDQorDQogI2lmZGVmIERFQ09ERV9ERUJVRw0K
ICAgICBrZERlYnVnKDYwMDUpIDw8ICJEZWNvZGVyOjplbmNvZGluZyB1c2VkIGlzIiA8PCBtX2Nv
ZGVjLT5uYW1lKCkgPDwgZW5kbDsNCiAjZW5kaWYNCkBAIC0zNzYsNyArMzc2LDcgQEAgc3RhdGlj
IGludCBmaW5kWE1MRW5jb2RpbmcoY29uc3QgUUNTdHJpbg0KICAgICBpZiAocG9zID09IC0xKQ0K
ICAgICAgICAgcmV0dXJuIC0xOw0KICAgICBwb3MgKz0gODsNCi0gICAgDQorDQogICAgIC8vIFNr
aXAgc3BhY2VzIGFuZCBzdHJheSBjb250cm9sIGNoYXJhY3RlcnMuDQogICAgIHdoaWxlIChzdHJb
cG9zXSA8PSAnICcgJiYgcG9zICE9IGxlbikNCiAgICAgICAgICsrcG9zOw0KQEAgLTQwMyw3ICs0
MDMsNyBAQCBzdGF0aWMgaW50IGZpbmRYTUxFbmNvZGluZyhjb25zdCBRQ1N0cmluDQogDQogICAg
IGlmIChlbmQgPT0gbGVuKQ0KICAgICAgICAgcmV0dXJuIC0xOw0KLSAgICANCisNCiAgICAgZW5j
b2RpbmdMZW5ndGggPSBlbmQgLSBwb3M7DQogICAgIHJldHVybiBwb3M7DQogfQ0KQEAgLTQ0Niwx
MiArNDQ2LDEyIEBAIFFTdHJpbmcgRGVjb2Rlcjo6ZGVjb2RlKGNvbnN0IGNoYXIgKmRhdGENCiAg
ICAgICAgIH0NCiAgICAgICAgIGJlZ2lubmluZyA9IGZhbHNlOw0KICAgICB9DQotICAgIA0KKw0K
ICAgICAvLyB0aGlzIGlzIG5vdCBjb21wbGV0ZWx5IGVmZmljaWVudCwgc2luY2UgdGhlIGZ1bmN0
aW9uIG1pZ2h0IGdvDQogICAgIC8vIHRocm91Z2ggdGhlIGh0bWwgaGVhZCBzZXZlcmFsIHRpbWVz
Li4uDQogDQogICAgIGJvb2wgbG9va0Zvck1ldGFUYWcgPSBtX3R5cGUgPT0gRGVmYXVsdEVuY29k
aW5nICYmICFib2R5Ow0KLSAgICANCisNCiAgICAgaWYgKGxvb2tGb3JNZXRhVGFnKSB7DQogI2lm
ZGVmIERFQ09ERV9ERUJVRw0KICAgICAgICAga2REZWJ1Zyg2MDA1KSA8PCAibG9va2luZyBmb3Ig
Y2hhcnNldCBkZWZpbml0aW9uIiA8PCBlbmRsOw0KQEAgLTQ5Niw3ICs0OTYsNyBAQCBRU3RyaW5n
IERlY29kZXI6OmRlY29kZShjb25zdCBjaGFyICpkYXRhDQogICAgICAgICAgICAgICAgICAgICAg
ICAgc2tpcENvbW1lbnQocHRyLCBwRW5kKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgICAgIA0KKw0K
ICAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIFhNTCBoZWFkZXIsIHdoaWNoIGNhbiBoYXZl
IGVuY29kaW5nIGluIGl0Lg0KICAgICAgICAgICAgICAgICAgICAgaWYgKHB0clswXSA9PSAnPycg
JiYgcHRyWzFdID09ICd4JyAmJiBwdHJbMl0gPT0gJ20nICYmIHB0clszXSA9PSAnbCcpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmQgPSBwdHI7DQpAQCAtNTI2LDcg
KzUyNiw3IEBAIFFTdHJpbmcgRGVjb2Rlcjo6ZGVjb2RlKGNvbnN0IGNoYXIgKmRhdGENCiAgICAg
ICAgICAgICAgICAgICAgICAgICBwdHIrKzsNCiAgICAgICAgICAgICAgICAgICAgICAgICBsZW4r
KzsNCiAgICAgICAgICAgICAgICAgICAgIH0NCi0JCSAgICB0bXBbbGVuXSA9IDA7DQorICAgICAg
ICAgICAgdG1wW2xlbl0gPSAwOw0KICAgICAgICAgICAgICAgICAgICAgaW50IGlkID0ga2h0bWw6
OmdldFRhZ0lEKHRtcCwgbGVuKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGVuZCkgaWQgKz0g
SURfQ0xPU0VfVEFHOw0KIA0KQEAgLTU0MywzNSArNTQzLDM1IEBAIFFTdHJpbmcgRGVjb2Rlcjo6
ZGVjb2RlKGNvbnN0IGNoYXIgKmRhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9z
ID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAvL2lmKCAocG9zID0gc3RyLmZpbmQoImh0
dHAtZXF1aXYiLCBwb3MpKSA9PSAtMSkgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAg
Ly9pZiggKHBvcyA9IHN0ci5maW5kKCJjb250ZW50LXR5cGUiLCBwb3MpKSA9PSAtMSkgYnJlYWs7
DQotCQkJd2hpbGUoIHBvcyA8ICggaW50ICkgc3RyLmxlbmd0aCgpICkgew0KLQkJCSAgICBpZigg
KHBvcyA9IHN0ci5maW5kKCJjaGFyc2V0IiwgcG9zLCBmYWxzZSkpID09IC0xKSBicmVhazsNCi0J
CQkgICAgcG9zICs9IDc7DQorICAgICAgICAgICAgd2hpbGUoIHBvcyA8ICggaW50ICkgc3RyLmxl
bmd0aCgpICkgew0KKyAgICAgICAgICAgICAgICBpZiggKHBvcyA9IHN0ci5maW5kKCJjaGFyc2V0
IiwgcG9zLCBmYWxzZSkpID09IC0xKSBicmVhazsNCisgICAgICAgICAgICAgICAgcG9zICs9IDc7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNraXAgd2hpdGVzcGFjZS4uDQotCQkJ
ICAgIHdoaWxlKCAgcG9zIDwgKGludClzdHIubGVuZ3RoKCkgJiYgc3RyW3Bvc10gPD0gJyAnICkg
cG9zKys7DQorICAgICAgICAgICAgICAgIHdoaWxlKCAgcG9zIDwgKGludClzdHIubGVuZ3RoKCkg
JiYgc3RyW3Bvc10gPD0gJyAnICkgcG9zKys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICggcG9zID09ICggaW50IClzdHIubGVuZ3RoKCkpIGJyZWFrOw0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIHN0cltwb3MrK10gIT0gJz0nICkgY29udGludWU7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICggcG9zIDwgKCBpbnQgKXN0ci5sZW5ndGgoKSAm
Jg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RyW3Bvc10gPD0gJyAn
ICkgfHwgc3RyW3Bvc10gPT0gJz0nIHx8IHN0cltwb3NdID09ICciJyB8fCBzdHJbcG9zXSA9PSAn
XCcnKQ0KLQkJCQlwb3MrKzsNCisgICAgICAgICAgICAgICAgcG9zKys7DQogDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIGVuZCA/DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICggcG9zID09ICggaW50IClzdHIubGVuZ3RoKCkgKSBicmVhazsNCi0JCQkgICAgdWludCBl
bmRwb3MgPSBwb3M7DQotCQkJICAgIHdoaWxlKCBlbmRwb3MgPCBzdHIubGVuZ3RoKCkgJiYNCisg
ICAgICAgICAgICAgICAgdWludCBlbmRwb3MgPSBwb3M7DQorICAgICAgICAgICAgICAgIHdoaWxl
KCBlbmRwb3MgPCBzdHIubGVuZ3RoKCkgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChzdHJbZW5kcG9zXSAhPSAnICcgJiYgc3RyW2VuZHBvc10gIT0gJyInICYmIHN0cltl
bmRwb3NdICE9ICdcJycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBz
dHJbZW5kcG9zXSAhPSAnOycgJiYgc3RyW2VuZHBvc10gIT0gJz4nKSApDQotCQkJCWVuZHBvcysr
Ow0KKyAgICAgICAgICAgICAgICBlbmRwb3MrKzsNCiAjaWZkZWYgREVDT0RFX0RFQlVHDQotCQkJ
ICAgIGtkRGVidWcoIDYwMDUgKSA8PCAiRGVjb2RlcjogZm91bmQgY2hhcnNldDogIiA8PCBzdHIu
bWlkKHBvcywgZW5kcG9zLXBvcykgPDwgZW5kbDsNCisgICAgICAgICAgICAgICAga2REZWJ1Zygg
NjAwNSApIDw8ICJEZWNvZGVyOiBmb3VuZCBjaGFyc2V0OiAiIDw8IHN0ci5taWQocG9zLCBlbmRw
b3MtcG9zKSA8PCBlbmRsOw0KICNlbmRpZg0KLQkJCSAgICBzZXRFbmNvZGluZyhzdHIubWlkKHBv
cywgZW5kcG9zLXBvcyksIEVuY29kaW5nRnJvbU1ldGFUYWcpOw0KLQkJCSAgICBpZiggbV90eXBl
ID09IEVuY29kaW5nRnJvbU1ldGFUYWcgKSBnb3RvIGZvdW5kOw0KKyAgICAgICAgICAgICAgICBz
ZXRFbmNvZGluZyhzdHIubWlkKHBvcywgZW5kcG9zLXBvcyksIEVuY29kaW5nRnJvbU1ldGFUYWcp
Ow0KKyAgICAgICAgICAgICAgICBpZiggbV90eXBlID09IEVuY29kaW5nRnJvbU1ldGFUYWcgKSBn
b3RvIGZvdW5kOw0KIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGVuZHBvcyA+
PSBzdHIubGVuZ3RoKCkgfHwgc3RyW2VuZHBvc10gPT0gJy8nIHx8IHN0cltlbmRwb3NdID09ICc+
JyApIGJyZWFrOw0KIA0KLQkJCSAgICBwb3MgPSBlbmRwb3MgKyAxOw0KLQkJCX0NCi0JCSAgICB9
DQorICAgICAgICAgICAgICAgIHBvcyA9IGVuZHBvcyArIDE7DQorICAgICAgICAgICAgfQ0KKyAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgKElEX01FVEErSURfQ0xPU0Vf
VEFHKToNCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgSURfU0NSSVBUOg0KICAgICAgICAgICAg
ICAgICAgICAgY2FzZSAoSURfU0NSSVBUK0lEX0NMT1NFX1RBRyk6DQpAQCAtNTg5LDEzICs1ODks
MTYgQEAgUVN0cmluZyBEZWNvZGVyOjpkZWNvZGUoY29uc3QgY2hhciAqZGF0YQ0KICAgICAgICAg
ICAgICAgICAgICAgY2FzZSAoSURfQkFTRStJRF9DTE9TRV9UQUcpOg0KICAgICAgICAgICAgICAg
ICAgICAgY2FzZSBJRF9IVE1MOg0KICAgICAgICAgICAgICAgICAgICAgY2FzZSBJRF9IRUFEOg0K
KyNpZiBOT0tJQV9DSEFOR0VTDQorICAgICAgICAgICAgICAgICAgICBjYXNlIElEX0lNRzoNCisj
ZW5kaWYNCiAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDoNCiAgICAgICAgICAgICAgICAgICAg
IGNhc2UgKDAgKyBJRF9DTE9TRV9UQUcgKToNCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsNCiAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgICAgICAg
ICAgYm9keSA9IHRydWU7DQogI2lmZGVmIERFQ09ERV9ERUJVRw0KLQkJCWtkRGVidWcoIDYwMDUg
KSA8PCAiRGVjb2Rlcjogbm8gY2hhcnNldCBmb3VuZC4gSWQ9IiA8PCBpZCA8PCBlbmRsOw0KKyAg
ICAgICAgICAgIGtkRGVidWcoIDYwMDUgKSA8PCAiRGVjb2Rlcjogbm8gY2hhcnNldCBmb3VuZC4g
SWQ9IiA8PCBpZCA8PCBlbmRsOw0KICNlbmRpZg0KICAgICAgICAgICAgICAgICAgICAgICAgIGdv
dG8gZm91bmQ7DQogICAgICAgICAgICAgICAgICAgICB9DQpAQCAtNjE2LDQyICs2MTksNDIgQEAg
UVN0cmluZyBEZWNvZGVyOjpkZWNvZGUoY29uc3QgY2hhciAqZGF0YQ0KICNlbmRpZg0KICAgICB7
DQogI2lmZGVmIERFQ09ERV9ERUJVRw0KLQlrZERlYnVnKCA2MDA1ICkgPDwgIkRlY29kZXI6IHVz
ZSBhdXRvLWRldGVjdCAoIiA8PCBzdHJsZW4oZGF0YSkgPDwgIikiIDw8IGVuZGw7DQorICAgIGtk
RGVidWcoIDYwMDUgKSA8PCAiRGVjb2RlcjogdXNlIGF1dG8tZGV0ZWN0ICgiIDw8IHN0cmxlbihk
YXRhKSA8PCAiKSIgPDwgZW5kbDsNCiAjZW5kaWYNCi0JY29uc3QgY2hhciAqYXV0b0RldGVjdGVk
RW5jb2Rpbmc7DQorICAgIGNvbnN0IGNoYXIgKmF1dG9EZXRlY3RlZEVuY29kaW5nOw0KICAgICAg
ICAgc3dpdGNoICggS2FuamlDb2RlOjpqdWRnZSggZGF0YSwgbGVuICkgKSB7DQotCWNhc2UgS2Fu
amlDb2RlOjpKSVM6DQorICAgIGNhc2UgS2FuamlDb2RlOjpKSVM6DQogI2lmIE5PS0lBX0NIQU5H
RVMNCi0JICAgIGF1dG9EZXRlY3RlZEVuY29kaW5nID0gImppc194MDIwMS0xOTk3IjsNCisgICAg
ICAgIGF1dG9EZXRlY3RlZEVuY29kaW5nID0gImppc194MDIwMS0xOTk3IjsNCiAjZWxzZQ0KLQkg
ICAgYXV0b0RldGVjdGVkRW5jb2RpbmcgPSAiamlzNyI7DQorICAgICAgICBhdXRvRGV0ZWN0ZWRF
bmNvZGluZyA9ICJqaXM3IjsNCiAjZW5kaWYNCi0JICAgIGJyZWFrOw0KLQljYXNlIEthbmppQ29k
ZTo6RVVDOg0KKyAgICAgICAgYnJlYWs7DQorICAgIGNhc2UgS2FuamlDb2RlOjpFVUM6DQogI2lm
IE5PS0lBX0NIQU5HRVMNCi0JICAgIGF1dG9EZXRlY3RlZEVuY29kaW5nID0gImV1Yy1qcCIgOw0K
KyAgICAgICAgYXV0b0RldGVjdGVkRW5jb2RpbmcgPSAiZXVjLWpwIiA7DQogI2Vsc2UNCi0JICAg
IGF1dG9EZXRlY3RlZEVuY29kaW5nID0gImV1Y2pwIjsNCisgICAgICAgIGF1dG9EZXRlY3RlZEVu
Y29kaW5nID0gImV1Y2pwIjsNCiAjZW5kaWYNCi0JICAgIGJyZWFrOw0KLQljYXNlIEthbmppQ29k
ZTo6U0pJUzoNCi0jaWYgTk9LSUFfQ0hBTkdFUwkgICAgDQorICAgICAgICBicmVhazsNCisgICAg
Y2FzZSBLYW5qaUNvZGU6OlNKSVM6DQorI2lmIE5PS0lBX0NIQU5HRVMNCiAgICAgICAgIGF1dG9E
ZXRlY3RlZEVuY29kaW5nID0gInNoaWZ0X2ppcyI7DQogI2Vsc2UNCi0JICAgIGF1dG9EZXRlY3Rl
ZEVuY29kaW5nID0gInNqaXMiOw0KKyAgICAgICAgYXV0b0RldGVjdGVkRW5jb2RpbmcgPSAic2pp
cyI7DQogI2VuZGlmDQotCSAgICBicmVhazsNCi0JZGVmYXVsdDoNCi0JICAgIGF1dG9EZXRlY3Rl
ZEVuY29kaW5nID0gTlVMTDsNCi0JICAgIGJyZWFrOw0KLQl9DQorICAgICAgICBicmVhazsNCisg
ICAgZGVmYXVsdDoNCisgICAgICAgIGF1dG9EZXRlY3RlZEVuY29kaW5nID0gTlVMTDsNCisgICAg
ICAgIGJyZWFrOw0KKyAgICB9DQogI2lmZGVmIERFQ09ERV9ERUJVRw0KLQlrZERlYnVnKCA2MDA1
ICkgPDwgIkRlY29kZXI6IGF1dG8gZGV0ZWN0IGVuY29kaW5nIGlzICINCisgICAga2REZWJ1Zygg
NjAwNSApIDw8ICJEZWNvZGVyOiBhdXRvIGRldGVjdCBlbmNvZGluZyBpcyAiDQogICAgICAgICAg
ICAgPDwgKGF1dG9EZXRlY3RlZEVuY29kaW5nID8gYXV0b0RldGVjdGVkRW5jb2RpbmcgOiAiTlVM
TCIpIDw8IGVuZGw7DQogI2VuZGlmDQotCWlmIChhdXRvRGV0ZWN0ZWRFbmNvZGluZyAhPSAwKSB7
DQotCSAgICBzZXRFbmNvZGluZyhhdXRvRGV0ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVkRW5j
b2RpbmcpOw0KLQl9DQorICAgIGlmIChhdXRvRGV0ZWN0ZWRFbmNvZGluZyAhPSAwKSB7DQorICAg
ICAgICBzZXRFbmNvZGluZyhhdXRvRGV0ZWN0ZWRFbmNvZGluZywgQXV0b0RldGVjdGVkRW5jb2Rp
bmcpOw0KKyAgICB9DQogICAgIH0NCiANCiAgICAgLy8gaWYgd2Ugc3RpbGwgaGF2ZW4ndCBmb3Vu
ZCBhbiBlbmNvZGluZyBsYXRpbjEgd2lsbCBiZSB1c2VkLi4uDQo=
</data>
<flag name="review"
          id="4788"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>