<?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>35178</bug_id>
          
          <creation_ts>2010-02-19 14:34:46 -0800</creation_ts>
          <short_desc>LiveConnect code uses hand-rolled fprintf logging</short_desc>
          <delta_ts>2010-02-19 15:46:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Java</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192055</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 14:34:46 -0800</bug_when>
    <thetext>As a result, debug builds get very noisy whenever a Java applet is loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192071</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 14:54:14 -0800</bug_when>
    <thetext>*** Bug 35179 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192078</commentid>
    <comment_count>2</comment_count>
      <attachid>49106</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 15:10:58 -0800</bug_when>
    <thetext>Created attachment 49106
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192079</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-19 15:11:53 -0800</bug_when>
    <thetext>Attachment 49106 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/text/gtk/TextCodecGtk.cpp:257:  Missing space before ( in if(  [whitespace/parens] [5]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192080</commentid>
    <comment_count>4</comment_count>
      <attachid>49106</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-02-19 15:12:36 -0800</bug_when>
    <thetext>Comment on attachment 49106
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192085</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-19 15:46:01 -0800</bug_when>
    <thetext>Committed revision 55036.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49106</attachid>
            <date>2010-02-19 15:10:58 -0800</date>
            <delta_ts>2010-02-19 15:12:35 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>LiveConnectLogging.txt</filename>
            <type>text/plain</type>
            <size>22438</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTAzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTcgQEAKKzIwMTAtMDItMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTc4CisgICAgICAgIExp
dmVDb25uZWN0IGNvZGUgdXNlcyBoYW5kLXJvbGxlZCBmcHJpbnRmIGxvZ2dpbmcKKworICAgICAg
ICBDaGFuZ2VkIHRvIHVzZSBMT0csIExPR19FUlJPUiBhbmQgQVNTRVJULgorCisgICAgICAgICog
cGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRDaGFubmVsRnJvbU5h
bWUpOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvTG9nZ2luZ01hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkluaXRpYWxpemVMb2dnaW5nQ2hh
bm5lbHNJZk5lY2Vzc2FyeSk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KToKKyAgICAgICAgVGV4dENvbnZlcnNpb24gY2hhbm5lbCB3YXMgKGFsbW9zdCkgdW51c2VkLCBy
ZW5hbWVkIHRvIExpdmVDb25uZWN0LgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4
dENvZGVjR3RrLmNwcDogKFdlYkNvcmU6OlRleHRDb2RlY0d0azo6cmVnaXN0ZXJFbmNvZGluZ05h
bWVzKToKKyAgICAgICAgVGhlIG9ubHkgdXNlIG9mIHRoaXMgY2hhbm5lbCB3YXMgaW4gcGxhdGZv
cm0gc3BlY2lmaWMgY29kZSwgY29tbWFuZGVlcmVkIGl0IGZvciBjcm9zcy1wbGF0Zm9ybQorICAg
ICAgICBuZWVkcy4KKworICAgICAgICAqIGJyaWRnZS9qbmkvSk5JQnJpZGdlLmNwcDoKKyAgICAg
ICAgKiBicmlkZ2Uvam5pL0pOSVV0aWxpdHkuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6
Z2V0SmF2YVZNKToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OmdldEpOSUVudik6CisgICAgICAg
IChKU0M6OkJpbmRpbmdzOjpnZXRKTklGaWVsZCk6CisgICAgICAgICogYnJpZGdlL2puaS9KTklV
dGlsaXR5Lmg6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpjYWxsSk5JTWV0aG9kVik6CisgICAg
ICAgIChKU0M6OkJpbmRpbmdzOjpjYWxsSk5JU3RhdGljTWV0aG9kKToKKyAgICAgICAgKiBicmlk
Z2Uvam5pL2puaV9qc29iamVjdC5tbToKKyAgICAgICAgKGNvbXBsZXRlZEphdmFTY3JpcHRBY2Nl
c3MpOgorICAgICAgICAoZGlzcGF0Y2hUb0phdmFTY3JpcHRUaHJlYWQpOgorICAgICAgICAocGVy
Zm9ybUphdmFTY3JpcHRBY2Nlc3MpOgorICAgICAgICAoSmF2YUpTT2JqZWN0OjppbnZva2UpOgor
ICAgICAgICAoSmF2YUpTT2JqZWN0OjpjYWxsKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6ZXZh
bCk6CisgICAgICAgIChKYXZhSlNPYmplY3Q6OmdldE1lbWJlcik6CisgICAgICAgIChKYXZhSlNP
YmplY3Q6OnNldE1lbWJlcik6CisgICAgICAgIChKYXZhSlNPYmplY3Q6OnJlbW92ZU1lbWJlcik6
CisgICAgICAgIChKYXZhSlNPYmplY3Q6OmdldFNsb3QpOgorICAgICAgICAoSmF2YUpTT2JqZWN0
OjpzZXRTbG90KToKKyAgICAgICAgKEphdmFKU09iamVjdDo6dG9TdHJpbmcpOgorICAgICAgICAo
SmF2YUpTT2JqZWN0OjpjcmVhdGVOYXRpdmUpOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0pO
SUJyaWRnZUpTQy5jcHA6CisgICAgICAgIChKYXZhRmllbGQ6OnZhbHVlRnJvbUluc3RhbmNlKToK
KyAgICAgICAgKEphdmFGaWVsZDo6c2V0VmFsdWVUb0luc3RhbmNlKToKKyAgICAgICAgKiBicmlk
Z2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwOgorICAgICAgICAoSmF2YUNsYXNzOjpKYXZhQ2xh
c3MpOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHA6CisgICAg
ICAgIChKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZCk6CisgICAgICAgIChKT2JqZWN0V3JhcHBl
cjo6Sk9iamVjdFdyYXBwZXIpOgorICAgICAgICAoSk9iamVjdFdyYXBwZXI6On5KT2JqZWN0V3Jh
cHBlcik6CisKIDIwMTAtMDItMTkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCkluZGV4OiBXZWJDb3JlL2Jy
aWRnZS9qbmkvSk5JQnJpZGdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9qbmkv
Sk5JQnJpZGdlLmNwcAkocmV2aXNpb24gNTUwMjIpCisrKyBXZWJDb3JlL2JyaWRnZS9qbmkvSk5J
QnJpZGdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTUgKzMzLDYgQEAKICNpbmNsdWRlICJT
dHJpbmdCdWlsZGVyLmgiCiAKIAotI2lmZGVmIE5ERUJVRwotI2RlZmluZSBKU19MT0coZm9ybWF0
QW5kQXJncy4uLikgKCh2b2lkKTApCi0jZWxzZQotI2RlZmluZSBKU19MT0coZm9ybWF0QW5kQXJn
cy4uLikgeyBcCi0gICAgZnByaW50ZihzdGRlcnIsICIlczolZCAtLSAlczogICIsIF9fRklMRV9f
LCBfX0xJTkVfXywgX19GVU5DVElPTl9fKTsgXAotICAgIGZwcmludGYoc3RkZXJyLCBmb3JtYXRB
bmRBcmdzKTsgXAotfQotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1l
c3BhY2UgSlNDOjpCaW5kaW5nczsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpJbmRleDogV2Vi
Q29yZS9icmlkZ2Uvam5pL0pOSVV0aWxpdHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJp
ZGdlL2puaS9KTklVdGlsaXR5LmNwcAkocmV2aXNpb24gNTUwMjIpCisrKyBXZWJDb3JlL2JyaWRn
ZS9qbmkvSk5JVXRpbGl0eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDcgQEAgSmF2
YVZNKiBnZXRKYXZhVk0oKQogICAgIGlmIChqbmlFcnJvciA9PSBKTklfT0sgJiYgbkpWTXMgPiAw
KQogICAgICAgICBqdm0gPSBqdm1BcnJheVswXTsKICAgICBlbHNlCi0gICAgICAgIGZwcmludGYo
c3RkZXJyLCAiJXM6IEpOSV9HZXRDcmVhdGVkSmF2YVZNcyBmYWlsZWQsIHJldHVybmVkICVsZFxu
IiwgX19QUkVUVFlfRlVOQ1RJT05fXywgc3RhdGljX2Nhc3Q8bG9uZz4oam5pRXJyb3IpKTsKKyAg
ICAgICAgTE9HX0VSUk9SKCJKTklfR2V0Q3JlYXRlZEphdmFWTXMgZmFpbGVkLCByZXR1cm5lZCAl
bGQiLCBzdGF0aWNfY2FzdDxsb25nPihqbmlFcnJvcikpOwogCiAgICAgcmV0dXJuIGp2bTsKIH0K
QEAgLTkzLDcgKzkzLDcgQEAgSk5JRW52KiBnZXRKTklFbnYoKQogICAgIGpuaUVycm9yID0gZ2V0
SmF2YVZNKCktPkF0dGFjaEN1cnJlbnRUaHJlYWQoJnUuZHVtbXksIDApOwogICAgIGlmIChqbmlF
cnJvciA9PSBKTklfT0spCiAgICAgICAgIHJldHVybiB1LmVudjsKLSAgICBmcHJpbnRmKHN0ZGVy
ciwgIiVzOiBBdHRhY2hDdXJyZW50VGhyZWFkIGZhaWxlZCwgcmV0dXJuZWQgJWxkXG4iLCBfX1BS
RVRUWV9GVU5DVElPTl9fLCBzdGF0aWNfY2FzdDxsb25nPihqbmlFcnJvcikpOworICAgIExPR19F
UlJPUigiQXR0YWNoQ3VycmVudFRocmVhZCBmYWlsZWQsIHJldHVybmVkICVsZCIsIHN0YXRpY19j
YXN0PGxvbmc+KGpuaUVycm9yKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTMxOSwxMCArMzE5
LDEwIEBAIGp2YWx1ZSBnZXRKTklGaWVsZChqb2JqZWN0IG9iaiwgSk5JVHlwZSAKICAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LmQgPSBlbnYtPmZ1bmN0aW9ucy0+R2V0RG91YmxlRmllbGQoZW52
LCBvYmosIGZpZWxkKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogaW52
YWxpZCBmaWVsZCB0eXBlICglZClcbiIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIHN0YXRpY19jYXN0
PGludD4odHlwZSkpOworICAgICAgICAgICAgICAgICAgICBMT0dfRVJST1IoIkludmFsaWQgZmll
bGQgdHlwZSAoJWQpIiwgc3RhdGljX2Nhc3Q8aW50Pih0eXBlKSk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiVzOiBDb3VsZCBub3QgZmluZCBmaWVsZDogJXNcbiIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIG5h
bWUpOworICAgICAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGZpbmQgZmllbGQ6ICVz
IiwgbmFtZSk7CiAgICAgICAgICAgICAgICAgZW52LT5FeGNlcHRpb25EZXNjcmliZSgpOwogICAg
ICAgICAgICAgICAgIGVudi0+RXhjZXB0aW9uQ2xlYXIoKTsKICAgICAgICAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIlxuIik7CkBAIC0zMzAsNyArMzMwLDcgQEAganZhbHVlIGdldEpOSUZpZWxk
KGpvYmplY3Qgb2JqLCBKTklUeXBlIAogCiAgICAgICAgICAgICBlbnYtPkRlbGV0ZUxvY2FsUmVm
KGNscyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczog
Q291bGQgbm90IGZpbmQgY2xhc3MgZm9yIG9iamVjdFxuIiwgX19QUkVUVFlfRlVOQ1RJT05fXyk7
CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBmaW5kIGNsYXNzIGZvciBvYmplY3Qi
KTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogV2ViQ29yZS9icmlkZ2Uvam5p
L0pOSVV0aWxpdHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9qbmkvSk5JVXRpbGl0
eS5oCShyZXZpc2lvbiA1NTAyMikKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9KTklVdGlsaXR5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMiwxNCArMjEyLDE0IEBAIHN0YXRpYyBUIGNhbGxKTklNZXRo
b2RWKGpvYmplY3Qgb2JqLCBjb24KICAgICAgICAgICAgICAgICBlbnYtPkRlbGV0ZUxvY2FsUmVm
KGNscyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEpOSUNhbGxlcjxUPjo6Y2FsbFYob2JqLCBt
aWQsIGFyZ3MpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIl
czogQ291bGQgbm90IGZpbmQgbWV0aG9kOiAlcyBmb3IgJXBcbiIsIF9fUFJFVFRZX0ZVTkNUSU9O
X18sIG5hbWUsIG9iaik7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBmaW5kIG1l
dGhvZDogJXMgZm9yICVwIiwgbmFtZSwgb2JqKTsKICAgICAgICAgICAgIGVudi0+RXhjZXB0aW9u
RGVzY3JpYmUoKTsKICAgICAgICAgICAgIGVudi0+RXhjZXB0aW9uQ2xlYXIoKTsKICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKIAogICAgICAgICAgICAgZW52LT5EZWxldGVMb2Nh
bFJlZihjbHMpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
JXM6IENvdWxkIG5vdCBmaW5kIGNsYXNzIGZvciAlcFxuIiwgX19QUkVUVFlfRlVOQ1RJT05fXywg
b2JqKTsKKyAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGZpbmQgY2xhc3MgZm9yICVw
Iiwgb2JqKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTI1NCw3ICsyNTQsNyBAQCBUIGNh
bGxKTklTdGF0aWNNZXRob2QoamNsYXNzIGNscywgY29uc3QgCiAgICAgICAgIGlmIChtaWQpCiAg
ICAgICAgICAgICByZXN1bHQgPSBKTklDYWxsZXI8VD46OmNhbGxTdGF0aWNWKGNscywgbWlkLCBh
cmdzKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiBD
b3VsZCBub3QgZmluZCBtZXRob2Q6ICVzIGZvciAlcFxuIiwgX19QUkVUVFlfRlVOQ1RJT05fXywg
bWV0aG9kTmFtZSwgY2xzKTsKKyAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGZpbmQg
bWV0aG9kOiAlcyBmb3IgJXAiLCBtZXRob2ROYW1lLCBjbHMpOwogICAgICAgICAgICAgZW52LT5F
eGNlcHRpb25EZXNjcmliZSgpOwogICAgICAgICAgICAgZW52LT5FeGNlcHRpb25DbGVhcigpOwog
ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwpJbmRleDogV2ViQ29yZS9icmlkZ2Uv
am5pL2puaV9qc29iamVjdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9qbmkvam5p
X2pzb2JqZWN0Lm1tCShyZXZpc2lvbiA1NTAyMikKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlf
anNvYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJK
TklVdGlsaXR5LmgiCiAjaW5jbHVkZSAiSk5JVXRpbGl0eVByaXZhdGUuaCIKICNpbmNsdWRlICJK
U0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlN0cmluZ1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUZyYW1lVmlldy5oIgpAQCAtNDIsMjEgKzQzLDEyIEBACiAjaW5jbHVkZSA8cnVudGlt
ZS9Db21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAog
dXNpbmcgV2ViQ29yZTo6RnJhbWU7CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M6OkJpbmRpbmdzOwog
dXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotI2lmZGVmIE5ERUJVRwotI2RlZmluZSBKU19MT0coZm9y
bWF0QW5kQXJncy4uLikgKCh2b2lkKTApCi0jZWxzZQotI2RlZmluZSBKU19MT0coZm9ybWF0QW5k
QXJncy4uLikgeyBcCi0gICAgZnByaW50ZiAoc3RkZXJyLCAiJXMoJXAsJXApOiAgIiwgX19QUkVU
VFlfRlVOQ1RJT05fXywgX3BlcmZvcm1KYXZhU2NyaXB0UnVuTG9vcCwgQ0ZSdW5Mb29wR2V0Q3Vy
cmVudCgpKTsgXAotICAgIGZwcmludGYoc3RkZXJyLCBmb3JtYXRBbmRBcmdzKTsgXAotfQotI2Vu
ZGlmCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogI2RlZmluZSBVbmRlZmluZWRIYW5kbGUg
MQogCkBAIC02OCwxMiArNjAsMTIgQEAgc3RhdGljIENGUnVuTG9vcFNvdXJjZVJlZiBjb21wbGV0
aW9uU291cgogCiBzdGF0aWMgdm9pZCBjb21wbGV0ZWRKYXZhU2NyaXB0QWNjZXNzICh2b2lkICpp
KQogewotICAgIGFzc2VydCAoQ0ZSdW5Mb29wR2V0Q3VycmVudCgpICE9IF9wZXJmb3JtSmF2YVNj
cmlwdFJ1bkxvb3ApOworICAgIEFTU0VSVChDRlJ1bkxvb3BHZXRDdXJyZW50KCkgIT0gX3BlcmZv
cm1KYXZhU2NyaXB0UnVuTG9vcCk7CiAgICAgCiAgICAgSlNPYmplY3RDYWxsQ29udGV4dCAqY2Fs
bENvbnRleHQgPSAoSlNPYmplY3RDYWxsQ29udGV4dCAqKWk7CiAgICAgQ0ZSdW5Mb29wUmVmIHJ1
bkxvb3AgPSAoQ0ZSdW5Mb29wUmVmKWNhbGxDb250ZXh0LT5vcmlnaW5hdGluZ0xvb3A7CiAgICAg
Ci0gICAgYXNzZXJ0IChDRlJ1bkxvb3BHZXRDdXJyZW50KCkgPT0gcnVuTG9vcCk7CisgICAgQVNT
RVJUKENGUnVuTG9vcEdldEN1cnJlbnQoKSA9PSBydW5Mb29wKTsKICAgICAKICAgICBDRlJ1bkxv
b3BTdG9wKHJ1bkxvb3ApOwogfQpAQCAtMTE1LDcgKzEwNyw3IEBAIHN0YXRpYyB2b2lkIGRpc3Bh
dGNoVG9KYXZhU2NyaXB0VGhyZWFkKEoKICAgICAKICAgICBDRlJ1bkxvb3BSZWYgY3VycmVudFJ1
bkxvb3AgPSBDRlJ1bkxvb3BHZXRDdXJyZW50KCk7CiAgICAgCi0gICAgYXNzZXJ0IChjdXJyZW50
UnVuTG9vcCAhPSBfcGVyZm9ybUphdmFTY3JpcHRSdW5Mb29wKTsKKyAgICBBU1NFUlQoY3VycmVu
dFJ1bkxvb3AgIT0gX3BlcmZvcm1KYXZhU2NyaXB0UnVuTG9vcCk7CiAgICAgCiAgICAgLy8gU2V0
dXAgYSBzb3VyY2UgdG8gc2lnbmFsIG9uY2UgdGhlIGludm9jYXRpb24gb2YgdGhlIEphdmFTY3Jp
cHQKICAgICAvLyBjYWxsIGNvbXBsZXRlcy4KQEAgLTE0NCw3ICsxMzYsNyBAQCBzdGF0aWMgdm9p
ZCBkaXNwYXRjaFRvSmF2YVNjcmlwdFRocmVhZChKCiAKIHN0YXRpYyB2b2lkIHBlcmZvcm1KYXZh
U2NyaXB0QWNjZXNzKHZvaWQqKQogewotICAgIGFzc2VydCAoQ0ZSdW5Mb29wR2V0Q3VycmVudCgp
ID09IF9wZXJmb3JtSmF2YVNjcmlwdFJ1bkxvb3ApOworICAgIEFTU0VSVChDRlJ1bkxvb3BHZXRD
dXJyZW50KCkgPT0gX3BlcmZvcm1KYXZhU2NyaXB0UnVuTG9vcCk7CiAgICAgCiAgICAgLy8gRGlz
cGF0Y2ggSmF2YVNjcmlwdCBjYWxscyBoZXJlLgogICAgIENGUnVuTG9vcFNvdXJjZUNvbnRleHQg
c291cmNlQ29udGV4dDsKQEAgLTIwNSw3ICsxOTcsNyBAQCBqdmFsdWUgSmF2YUpTT2JqZWN0Ojpp
bnZva2UoSlNPYmplY3RDYWxsCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgSlNPYmplY3Qg
KmltcCA9IGpsb25nX3RvX2ltcHB0cihuYXRpdmVIYW5kbGUpOwogICAgICAgICAgICAgaWYgKCFm
aW5kUHJvdGVjdGluZ1Jvb3RPYmplY3QoaW1wKSkgewotICAgICAgICAgICAgICAgIGZwcmludGYg
KHN0ZGVyciwgIiVzOiVkOiAgQXR0ZW1wdCB0byBhY2Nlc3MgSmF2YVNjcmlwdCBmcm9tIGRlc3Ry
b3llZCBhcHBsZXQsIHR5cGUgJWQuXG4iLCBfX0ZJTEVfXywgX19MSU5FX18sIGNvbnRleHQtPnR5
cGUpOworICAgICAgICAgICAgICAgIExPR19FUlJPUigiQXR0ZW1wdCB0byBhY2Nlc3MgSmF2YVNj
cmlwdCBmcm9tIGRlc3Ryb3llZCBhcHBsZXQsIHR5cGUgJWQuIiwgY29udGV4dC0+dHlwZSk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgIH0KIApAQCAtMjU2LDcg
KzI0OCw3IEBAIGp2YWx1ZSBKYXZhSlNPYmplY3Q6Omludm9rZShKU09iamVjdENhbGwKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgZGVmYXVsdDog
ewotICAgICAgICAgICAgICAgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogIGludmFsaWQgSmF2
YVNjcmlwdCBjYWxsXG4iLCBfX1BSRVRUWV9GVU5DVElPTl9fKTsKKyAgICAgICAgICAgICAgICAg
ICAgTE9HX0VSUk9SKCJpbnZhbGlkIEphdmFTY3JpcHQgY2FsbCIpOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjgzLDcgKzI3NSw3IEBAIFJvb3RPYmpl
Y3QqIEphdmFKU09iamVjdDo6cm9vdE9iamVjdCgpIGMKIAogam9iamVjdCBKYXZhSlNPYmplY3Q6
OmNhbGwoanN0cmluZyBtZXRob2ROYW1lLCBqb2JqZWN0QXJyYXkgYXJncykgY29uc3QKIHsKLSAg
ICBKU19MT0cgKCJtZXRob2ROYW1lID0gJXNcbiIsIEphdmFTdHJpbmcobWV0aG9kTmFtZSkuVVRG
OFN0cmluZygpKTsKKyAgICBMT0coTGl2ZUNvbm5lY3QsICJKYXZhSlNPYmplY3Q6OmNhbGwgbWV0
aG9kTmFtZSA9ICVzIiwgSmF2YVN0cmluZyhtZXRob2ROYW1lKS5VVEY4U3RyaW5nKCkpOwogCiAg
ICAgUm9vdE9iamVjdCogcm9vdE9iamVjdCA9IHRoaXMtPnJvb3RPYmplY3QoKTsKICAgICBpZiAo
IXJvb3RPYmplY3QpCkBAIC0zMTIsNyArMzA0LDcgQEAgam9iamVjdCBKYXZhSlNPYmplY3Q6OmNh
bGwoanN0cmluZyBtZXRobwogCiBqb2JqZWN0IEphdmFKU09iamVjdDo6ZXZhbChqc3RyaW5nIHNj
cmlwdCkgY29uc3QKIHsKLSAgICBKU19MT0cgKCJzY3JpcHQgPSAlc1xuIiwgSmF2YVN0cmluZyhz
Y3JpcHQpLlVURjhTdHJpbmcoKSk7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUpTT2JqZWN0
OjpldmFsIHNjcmlwdCA9ICVzIiwgSmF2YVN0cmluZyhzY3JpcHQpLlVURjhTdHJpbmcoKSk7CiAg
ICAgCiAgICAgSlNWYWx1ZSByZXN1bHQ7CiAKQEAgLTMzOSw3ICszMzEsNyBAQCBqb2JqZWN0IEph
dmFKU09iamVjdDo6ZXZhbChqc3RyaW5nIHNjcmlwCiAKIGpvYmplY3QgSmF2YUpTT2JqZWN0Ojpn
ZXRNZW1iZXIoanN0cmluZyBtZW1iZXJOYW1lKSBjb25zdAogewotICAgIEpTX0xPRyAoIiglcCkg
bWVtYmVyTmFtZSA9ICVzXG4iLCBfaW1wLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpLlVURjhTdHJp
bmcoKSk7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUpTT2JqZWN0OjpnZXRNZW1iZXIgKCVw
KSBtZW1iZXJOYW1lID0gJXMiLCBfaW1wLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpLlVURjhTdHJp
bmcoKSk7CiAKICAgICBSb290T2JqZWN0KiByb290T2JqZWN0ID0gdGhpcy0+cm9vdE9iamVjdCgp
OwogICAgIGlmICghcm9vdE9iamVjdCkKQEAgLTM1NSw3ICszNDcsNyBAQCBqb2JqZWN0IEphdmFK
U09iamVjdDo6Z2V0TWVtYmVyKGpzdHJpbmcgCiAKIHZvaWQgSmF2YUpTT2JqZWN0OjpzZXRNZW1i
ZXIoanN0cmluZyBtZW1iZXJOYW1lLCBqb2JqZWN0IHZhbHVlKSBjb25zdAogewotICAgIEpTX0xP
RyAoIm1lbWJlck5hbWUgPSAlcywgdmFsdWUgPSAlcFxuIiwgSmF2YVN0cmluZyhtZW1iZXJOYW1l
KS5VVEY4U3RyaW5nKCksIHZhbHVlKTsKKyAgICBMT0coTGl2ZUNvbm5lY3QsICJKYXZhSlNPYmpl
Y3Q6OnNldE1lbWJlciBtZW1iZXJOYW1lID0gJXMsIHZhbHVlID0gJXAiLCBKYXZhU3RyaW5nKG1l
bWJlck5hbWUpLlVURjhTdHJpbmcoKSwgdmFsdWUpOwogCiAgICAgUm9vdE9iamVjdCogcm9vdE9i
amVjdCA9IHRoaXMtPnJvb3RPYmplY3QoKTsKICAgICBpZiAoIXJvb3RPYmplY3QpCkBAIC0zNzEs
NyArMzYzLDcgQEAgdm9pZCBKYXZhSlNPYmplY3Q6OnNldE1lbWJlcihqc3RyaW5nIG1lbQogCiB2
b2lkIEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKGpzdHJpbmcgbWVtYmVyTmFtZSkgY29uc3QK
IHsKLSAgICBKU19MT0cgKCJtZW1iZXJOYW1lID0gJXNcbiIsIEphdmFTdHJpbmcobWVtYmVyTmFt
ZSkuVVRGOFN0cmluZygpKTsKKyAgICBMT0coTGl2ZUNvbm5lY3QsICJKYXZhSlNPYmplY3Q6OnJl
bW92ZU1lbWJlciBtZW1iZXJOYW1lID0gJXMiLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpLlVURjhT
dHJpbmcoKSk7CiAKICAgICBSb290T2JqZWN0KiByb290T2JqZWN0ID0gdGhpcy0+cm9vdE9iamVj
dCgpOwogICAgIGlmICghcm9vdE9iamVjdCkKQEAgLTM4NSwxMSArMzc3LDcgQEAgdm9pZCBKYXZh
SlNPYmplY3Q6OnJlbW92ZU1lbWJlcihqc3RyaW5nIAogCiBqb2JqZWN0IEphdmFKU09iamVjdDo6
Z2V0U2xvdChqaW50IGluZGV4KSBjb25zdAogewotI2lmZGVmIF9fTFA2NF9fCi0gICAgSlNfTE9H
ICgiaW5kZXggPSAlZFxuIiwgaW5kZXgpOwotI2Vsc2UKLSAgICBKU19MT0cgKCJpbmRleCA9ICVs
ZFxuIiwgaW5kZXgpOwotI2VuZGlmCisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUpTT2JqZWN0
OjpnZXRTbG90IGluZGV4ID0gJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oaW5kZXgpKTsKIAogICAg
IFJvb3RPYmplY3QqIHJvb3RPYmplY3QgPSB0aGlzLT5yb290T2JqZWN0KCk7CiAgICAgaWYgKCFy
b290T2JqZWN0KQpAQCAtNDA2LDExICszOTQsNyBAQCBqb2JqZWN0IEphdmFKU09iamVjdDo6Z2V0
U2xvdChqaW50IGluZGV4CiAKIHZvaWQgSmF2YUpTT2JqZWN0OjpzZXRTbG90KGppbnQgaW5kZXgs
IGpvYmplY3QgdmFsdWUpIGNvbnN0CiB7Ci0jaWZkZWYgX19MUDY0X18KLSAgICBKU19MT0cgKCJp
bmRleCA9ICVkLCB2YWx1ZSA9ICVwXG4iLCBpbmRleCwgdmFsdWUpOwotI2Vsc2UKLSAgICBKU19M
T0cgKCJpbmRleCA9ICVsZCwgdmFsdWUgPSAlcFxuIiwgaW5kZXgsIHZhbHVlKTsKLSNlbmRpZgor
ICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFKU09iamVjdDo6c2V0U2xvdCBpbmRleCA9ICVsZCwg
dmFsdWUgPSAlcCIsIHN0YXRpY19jYXN0PGxvbmc+KGluZGV4KSwgdmFsdWUpOwogCiAgICAgUm9v
dE9iamVjdCogcm9vdE9iamVjdCA9IHRoaXMtPnJvb3RPYmplY3QoKTsKICAgICBpZiAoIXJvb3RP
YmplY3QpCkBAIC00MjQsNyArNDA4LDcgQEAgdm9pZCBKYXZhSlNPYmplY3Q6OnNldFNsb3Qoamlu
dCBpbmRleCwgagogCiBqc3RyaW5nIEphdmFKU09iamVjdDo6dG9TdHJpbmcoKSBjb25zdAogewot
ICAgIEpTX0xPRyAoIlxuIik7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUpTT2JqZWN0Ojp0
b1N0cmluZyIpOwogICAgIAogICAgIFJvb3RPYmplY3QqIHJvb3RPYmplY3QgPSB0aGlzLT5yb290
T2JqZWN0KCk7CiAgICAgaWYgKCFyb290T2JqZWN0KQpAQCAtNDYyLDcgKzQ0Niw3IEBAIHN0YXRp
YyBQYXNzUmVmUHRyPFJvb3RPYmplY3Q+IGNyZWF0ZVJvb3QKIC8vIGFub3RoZXIgSmF2YUpTT2Jq
ZWN0LgogamxvbmcgSmF2YUpTT2JqZWN0OjpjcmVhdGVOYXRpdmUoamxvbmcgbmF0aXZlSGFuZGxl
KQogewotICAgIEpTX0xPRyAoIm5hdGl2ZUhhbmRsZSA9ICVkXG4iLCAoaW50KW5hdGl2ZUhhbmRs
ZSk7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUpTT2JqZWN0OjpjcmVhdGVOYXRpdmUgbmF0
aXZlSGFuZGxlID0gJWQiLCBzdGF0aWNfY2FzdDxpbnQ+KG5hdGl2ZUhhbmRsZSkpOwogCiAgICAg
aWYgKG5hdGl2ZUhhbmRsZSA9PSBVbmRlZmluZWRIYW5kbGUpCiAgICAgICAgIHJldHVybiBuYXRp
dmVIYW5kbGU7CkluZGV4OiBXZWJDb3JlL2JyaWRnZS9qbmkvanNjL0pOSUJyaWRnZUpTQy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KTklCcmlkZ2VKU0MuY3BwCShy
ZXZpc2lvbiA1NTAyMikKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9qc2MvSk5JQnJpZGdlSlNDLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsMjIgKzMwLDE0IEBACiAjaWYgRU5BQkxFKE1BQ19KQVZB
X0JSSURHRSkKIAogI2luY2x1ZGUgIkpOSVV0aWxpdHlQcml2YXRlLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgInJ1bnRpbWVfYXJyYXkuaCIKICNpbmNsdWRlICJydW50aW1lX29i
amVjdC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KIAotI2lmZGVmIE5ERUJVRwotI2Rl
ZmluZSBKU19MT0coZm9ybWF0QW5kQXJncy4uLikgKCh2b2lkKTApCi0jZWxzZQotI2RlZmluZSBK
U19MT0coZm9ybWF0QW5kQXJncy4uLikgeyBcCi0gICAgZnByaW50ZihzdGRlcnIsICIlczolZCAt
LSAlczogICIsIF9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKTsgXAotICAgIGZwcmlu
dGYoc3RkZXJyLCBmb3JtYXRBbmRBcmdzKTsgXAotfQotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFj
ZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgSlNDOjpCaW5kaW5nczsKLQordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIEphdmFGaWVsZDo6SmF2YUZpZWxkKEpOSUVudiogZW52LCBqb2JqZWN0IGFG
aWVsZCkKIHsKQEAgLTE1NSw3ICsxNDcsNyBAQCBKU1ZhbHVlIEphdmFGaWVsZDo6dmFsdWVGcm9t
SW5zdGFuY2UoRXhlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIEpTX0xPRygiZ2V0dGlu
ZyAlcyA9ICVzXG4iLCBVU3RyaW5nKG5hbWUoKSkuVVRGOFN0cmluZygpLmNfc3RyKCksIGpzcmVz
dWx0LnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkpOworICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFG
aWVsZDo6dmFsdWVGcm9tSW5zdGFuY2UgZ2V0dGluZyAlcyA9ICVzIiwgVVN0cmluZyhuYW1lKCkp
LlVURjhTdHJpbmcoKS5jX3N0cigpLCBqc3Jlc3VsdC50b1N0cmluZyhleGVjKS5hc2NpaSgpKTsK
IAogICAgIHJldHVybiBqc3Jlc3VsdDsKIH0KQEAgLTE5MSw3ICsxODMsNyBAQCB2b2lkIEphdmFG
aWVsZDo6c2V0VmFsdWVUb0luc3RhbmNlKEV4ZWNTCiAgICAgY29uc3QgSmF2YUluc3RhbmNlKiBp
bnN0YW5jZSA9IHN0YXRpY19jYXN0PGNvbnN0IEphdmFJbnN0YW5jZSo+KGkpOwogICAgIGp2YWx1
ZSBqYXZhVmFsdWUgPSBjb252ZXJ0VmFsdWVUb0pWYWx1ZShleGVjLCBhVmFsdWUsIG1fSk5JVHlw
ZSwgdHlwZSgpKTsKIAotICAgIEpTX0xPRygic2V0dGluZyB2YWx1ZSAlcyB0byAlc1xuIiwgVVN0
cmluZyhuYW1lKCkpLlVURjhTdHJpbmcoKS5jX3N0cigpLCBhVmFsdWUudG9TdHJpbmcoZXhlYyku
YXNjaWkoKSk7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUZpZWxkOjpzZXRWYWx1ZVRvSW5z
dGFuY2Ugc2V0dGluZyB2YWx1ZSAlcyB0byAlcyIsIFVTdHJpbmcobmFtZSgpKS5VVEY4U3RyaW5n
KCkuY19zdHIoKSwgYVZhbHVlLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkpOwogCiAgICAgc3dpdGNo
IChtX0pOSVR5cGUpIHsKICAgICBjYXNlIGFycmF5X3R5cGU6CkluZGV4OiBXZWJDb3JlL2JyaWRn
ZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uv
am5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwCShyZXZpc2lvbiA1NTAyMikKKysrIFdlYkNvcmUvYnJp
ZGdlL2puaS9qc2MvSmF2YUNsYXNzSlNDLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAs
NyBAQCBKYXZhQ2xhc3M6OkphdmFDbGFzcyhqb2JqZWN0IGFuSW5zdGFuY2UpCiAgICAgam9iamVj
dCBhQ2xhc3MgPSBjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFuSW5zdGFuY2UsICJnZXRDbGFzcyIs
ICIoKUxqYXZhL2xhbmcvQ2xhc3M7Iik7CiAKICAgICBpZiAoIWFDbGFzcykgewotICAgICAgICBm
cHJpbnRmKHN0ZGVyciwgIiVzOiAgdW5hYmxlIHRvIGNhbGwgZ2V0Q2xhc3Mgb24gaW5zdGFuY2Ug
JXBcbiIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIGFuSW5zdGFuY2UpOworICAgICAgICBMT0dfRVJS
T1IoIlVuYWJsZSB0byBjYWxsIGdldENsYXNzIG9uIGluc3RhbmNlICVwIiwgYW5JbnN0YW5jZSk7
CiAgICAgICAgIG1fbmFtZSA9IGZhc3RTdHJEdXAoIjxVbmtub3duPiIpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpJbmRleDogV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlND
LmNwcAkocmV2aXNpb24gNTUwMjIpCisrKyBXZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0
YW5jZUpTQy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDI3ICszMiwxNiBAQAogI2luY2x1ZGUg
IkpOSVV0aWxpdHkuaCIKICNpbmNsdWRlICJKTklVdGlsaXR5UHJpdmF0ZS5oIgogI2luY2x1ZGUg
IkphdmFDbGFzc0pTQy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJydW50aW1l
X29iamVjdC5oIgogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUv
QXJnTGlzdC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KICNpbmNsdWRlIDxydW50aW1l
L0pTTG9jay5oPgogCi0jaWYgUExBVEZPUk0oQU5EUk9JRCkKLSNpbmNsdWRlIDxhc3NlcnQuaD4K
LSNlbmRpZgotCi0jaWZkZWYgTkRFQlVHCi0jZGVmaW5lIEpTX0xPRyhmb3JtYXRBbmRBcmdzLi4u
KSAoKHZvaWQpMCkKLSNlbHNlCi0jZGVmaW5lIEpTX0xPRyhmb3JtYXRBbmRBcmdzLi4uKSB7IFwK
LSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiVkIC0tICVzOiAgIiwgX19GSUxFX18sIF9fTElORV9f
LCBfX0ZVTkNUSU9OX18pOyBcCi0gICAgZnByaW50ZihzdGRlcnIsIGZvcm1hdEFuZEFyZ3MpOyBc
Ci19Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIEpTQzo6QmluZGluZ3M7CiB1c2luZyBuYW1l
c3BhY2UgSlNDOwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEphdmFJbnN0YW5jZTo6SmF2
YUluc3RhbmNlKGpvYmplY3QgaW5zdGFuY2UsIFBhc3NSZWZQdHI8Um9vdE9iamVjdD4gcm9vdE9i
amVjdCkKICAgICA6IEluc3RhbmNlKHJvb3RPYmplY3QpCkBAIC0xMzYsMTIgKzEyNSwxMiBAQCBK
U1ZhbHVlIEphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kKEV4ZWNTCiAgICAgICAgIH0KICAgICB9
CiAgICAgaWYgKCFtZXRob2QpIHsKLSAgICAgICAgSlNfTE9HKCJ1bmFibGUgdG8gZmluZCBhbiBh
cHByb3BpYXRlIG1ldGhvZFxuIik7CisgICAgICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFJbnN0
YW5jZTo6aW52b2tlTWV0aG9kIHVuYWJsZSB0byBmaW5kIGFuIGFwcHJvcGlhdGUgbWV0aG9kIik7
CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIH0KIAogICAgIGNvbnN0IEphdmFN
ZXRob2QqIGpNZXRob2QgPSBzdGF0aWNfY2FzdDxjb25zdCBKYXZhTWV0aG9kKj4obWV0aG9kKTsK
LSAgICBKU19MT0coImNhbGwgJXMgJXMgb24gJXBcbiIsIFVTdHJpbmcoak1ldGhvZC0+bmFtZSgp
KS5VVEY4U3RyaW5nKCkuY19zdHIoKSwgak1ldGhvZC0+c2lnbmF0dXJlKCksIG1faW5zdGFuY2Ut
Pm1faW5zdGFuY2UpOworICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFJbnN0YW5jZTo6aW52b2tl
TWV0aG9kIGNhbGwgJXMgJXMgb24gJXAiLCBVU3RyaW5nKGpNZXRob2QtPm5hbWUoKSkuVVRGOFN0
cmluZygpLmNfc3RyKCksIGpNZXRob2QtPnNpZ25hdHVyZSgpLCBtX2luc3RhbmNlLT5tX2luc3Rh
bmNlKTsKIAogICAgIGlmIChjb3VudCA+IDApCiAgICAgICAgIGpBcmdzID0gKGp2YWx1ZSopbWFs
bG9jKGNvdW50ICogc2l6ZW9mKGp2YWx1ZSkpOwpAQCAtMTUxLDcgKzE0MCw3IEBAIEpTVmFsdWUg
SmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QoRXhlY1MKICAgICBmb3IgKGkgPSAwOyBpIDwgY291
bnQ7IGkrKykgewogICAgICAgICBKYXZhUGFyYW1ldGVyKiBhUGFyYW1ldGVyID0gak1ldGhvZC0+
cGFyYW1ldGVyQXQoaSk7CiAgICAgICAgIGpBcmdzW2ldID0gY29udmVydFZhbHVlVG9KVmFsdWUo
ZXhlYywgYXJncy5hdChpKSwgYVBhcmFtZXRlci0+Z2V0Sk5JVHlwZSgpLCBhUGFyYW1ldGVyLT50
eXBlKCkpOwotICAgICAgICBKU19MT0coImFyZ1slZF0gPSAlc1xuIiwgaSwgYXJncy5hdChpKS50
b1N0cmluZyhleGVjKS5hc2NpaSgpKTsKKyAgICAgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUlu
c3RhbmNlOjppbnZva2VNZXRob2QgYXJnWyVkXSA9ICVzIiwgaSwgYXJncy5hdChpKS50b1N0cmlu
ZyhleGVjKS5hc2NpaSgpKTsKICAgICB9CiAKICAgICBqdmFsdWUgcmVzdWx0OwpAQCAtMzIzLDcg
KzMxMiw3IEBAIEpTVmFsdWUgSmF2YUluc3RhbmNlOjp2YWx1ZU9mKEV4ZWNTdGF0ZSoKIEpPYmpl
Y3RXcmFwcGVyOjpKT2JqZWN0V3JhcHBlcihqb2JqZWN0IGluc3RhbmNlKQogICAgIDogbV9yZWZD
b3VudCgwKQogewotICAgIGFzc2VydChpbnN0YW5jZSk7CisgICAgQVNTRVJUKGluc3RhbmNlKTsK
IAogICAgIC8vIENhY2hlIHRoZSBKTklFbnYgdXNlZCB0byBnZXQgdGhlIGdsb2JhbCByZWYgZm9y
IHRoaXMgamF2YSBpbnN0YW5jZS4KICAgICAvLyBJdCdsbCBiZSB1c2VkIHRvIGRlbGV0ZSB0aGUg
cmVmZXJlbmNlLgpAQCAtMzMxLDE1ICszMjAsMTUgQEAgSk9iamVjdFdyYXBwZXI6OkpPYmplY3RX
cmFwcGVyKGpvYmplY3QgaQogCiAgICAgbV9pbnN0YW5jZSA9IG1fZW52LT5OZXdHbG9iYWxSZWYo
aW5zdGFuY2UpOwogCi0gICAgSlNfTE9HKCJuZXcgZ2xvYmFsIHJlZiAlcCBmb3IgJXBcbiIsIG1f
aW5zdGFuY2UsIGluc3RhbmNlKTsKKyAgICBMT0coTGl2ZUNvbm5lY3QsICJKT2JqZWN0V3JhcHBl
ciBjdG9yIG5ldyBnbG9iYWwgcmVmICVwIGZvciAlcCIsIG1faW5zdGFuY2UsIGluc3RhbmNlKTsK
IAotICAgIGlmICAoIW1faW5zdGFuY2UpCi0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6ICBj
b3VsZCBub3QgZ2V0IEdsb2JhbFJlZiBmb3IgJXBcbiIsIF9fUFJFVFRZX0ZVTkNUSU9OX18sIGlu
c3RhbmNlKTsKKyAgICBpZiAoIW1faW5zdGFuY2UpCisgICAgICAgIExPR19FUlJPUigiQ291bGQg
bm90IGdldCBHbG9iYWxSZWYgZm9yICVwIiwgaW5zdGFuY2UpOwogfQogCiBKT2JqZWN0V3JhcHBl
cjo6fkpPYmplY3RXcmFwcGVyKCkKIHsKLSAgICBKU19MT0coImRlbGV0aW5nIGdsb2JhbCByZWYg
JXBcbiIsIG1faW5zdGFuY2UpOworICAgIExPRyhMaXZlQ29ubmVjdCwgIkpPYmplY3RXcmFwcGVy
IGR0b3IgZGVsZXRpbmcgZ2xvYmFsIHJlZiAlcCIsIG1faW5zdGFuY2UpOwogICAgIG1fZW52LT5E
ZWxldGVHbG9iYWxSZWYobV9pbnN0YW5jZSk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAko
cmV2aXNpb24gNTUwMjIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIFdURkxvZ0NoYW5uZWwgTG9nUG9wdXBCbG9ja2luZyA9
ICAgICB7IDAKIAogV1RGTG9nQ2hhbm5lbCBMb2dFdmVudHMgPSAgICAgICAgICAgIHsgMHgwMDAw
MDA4MCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKIFdURkxvZ0NoYW5u
ZWwgTG9nRWRpdGluZyA9ICAgICAgICAgICB7IDB4MDAwMDAxMDAsICJXZWJDb3JlTG9nTGV2ZWwi
LCBXVEZMb2dDaGFubmVsT2ZmIH07Ci1XVEZMb2dDaGFubmVsIExvZ1RleHRDb252ZXJzaW9uID0g
ICAgeyAweDAwMDAwMjAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9Owor
V1RGTG9nQ2hhbm5lbCBMb2dMaXZlQ29ubmVjdCA9ICAgICAgIHsgMHgwMDAwMDIwMCwgIldlYkNv
cmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKIAogV1RGTG9nQ2hhbm5lbCBMb2dJY29u
RGF0YWJhc2UgPSAgICAgIHsgMHgwMDAwMDQwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0No
YW5uZWxPZmYgfTsKIFdURkxvZ0NoYW5uZWwgTG9nU1FMRGF0YWJhc2UgPSAgICAgICB7IDB4MDAw
MDA4MDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CkBAIC0xMjMsOCAr
MTIzLDggQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IAogICAgIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwgU3RyaW5nKCJTdG9yYWdlQVBJIikpKQog
ICAgICAgICByZXR1cm4gJkxvZ1N0b3JhZ2VBUEk7CiAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoY2hhbm5lbE5hbWUsIFN0cmluZygiVGV4dENvbnZlcnNpb24iKSkpCi0gICAgICAgIHJldHVy
biAmTG9nVGV4dENvbnZlcnNpb247CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxO
YW1lLCBTdHJpbmcoIkxpdmVDb25uZWN0IikpKQorICAgICAgICByZXR1cm4gJkxvZ0xpdmVDb25u
ZWN0OwogCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIlRo
cmVhZGluZyIpKSkKICAgICAgICAgcmV0dXJuICZMb2dUaHJlYWRpbmc7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL0xvZ2dpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0xvZ2dp
bmcuaAkocmV2aXNpb24gNTUwMjIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgZXh0
ZXJuIFdURkxvZ0NoYW5uZWwgTG9nUG9wdXBCbG9ja2luZzsKICAgICBleHRlcm4gV1RGTG9nQ2hh
bm5lbCBMb2dFdmVudHM7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nRWRpdGluZzsKLSAg
ICBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dUZXh0Q29udmVyc2lvbjsKKyAgICBleHRlcm4gV1RG
TG9nQ2hhbm5lbCBMb2dMaXZlQ29ubmVjdDsKICAgICBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dJ
Y29uRGF0YWJhc2U7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nU1FMRGF0YWJhc2U7CiAg
ICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nU3BlbGxpbmdBbmRHcmFtbWFyOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCShyZXZpc2lvbiA1NTAyMikKKysrIFdlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvZ2dpbmdNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAg
dm9pZCBJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcgogICAgIGluaXRpYWxpemVX
aXRoVXNlckRlZmF1bHQoTG9nUG9wdXBCbG9ja2luZyk7CiAgICAgaW5pdGlhbGl6ZVdpdGhVc2Vy
RGVmYXVsdChMb2dFdmVudHMpOwogICAgIGluaXRpYWxpemVXaXRoVXNlckRlZmF1bHQoTG9nRWRp
dGluZyk7Ci0gICAgaW5pdGlhbGl6ZVdpdGhVc2VyRGVmYXVsdChMb2dUZXh0Q29udmVyc2lvbik7
CisgICAgaW5pdGlhbGl6ZVdpdGhVc2VyRGVmYXVsdChMb2dMaXZlQ29ubmVjdCk7CiAgICAgaW5p
dGlhbGl6ZVdpdGhVc2VyRGVmYXVsdChMb2dJY29uRGF0YWJhc2UpOwogICAgIGluaXRpYWxpemVX
aXRoVXNlckRlZmF1bHQoTG9nU1FMRGF0YWJhc2UpOwogICAgIGluaXRpYWxpemVXaXRoVXNlckRl
ZmF1bHQoTG9nU3BlbGxpbmdBbmRHcmFtbWFyKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4
dC9ndGsvVGV4dENvZGVjR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvZ3RrL1RleHRDb2RlY0d0ay5jcHAJKHJldmlzaW9uIDU1MDIyKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L2d0ay9UZXh0Q29kZWNHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsMTgg
KzI1NCwxNCBAQCB2b2lkIFRleHRDb2RlY0d0azo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzCiAgICAg
ICAgIGNvbnN0IGNoYXIgKmNhbm9uaWNhbE5hbWU7CiAgICAgICAgIGNhbm9uaWNhbE5hbWUgPSAo
KmNvZGVjQWxpYXNlcylbY29kZWNDb3VudF07CiAKLSAgICAgICAgaWYoIWlzRW5jb2RpbmdBdmFp
bGFibGUoY2Fub25pY2FsTmFtZSkpIHsKLSAgICAgICAgICAgIExPRyhUZXh0Q29udmVyc2lvbiwg
IkNhbm9uaWNhbCBlbmNvZGluZyAlcyBub3QgYXZhaWxhYmxlLCBza2lwcGluZy4iLCBjYW5vbmlj
YWxOYW1lKTsKKyAgICAgICAgaWYoIWlzRW5jb2RpbmdBdmFpbGFibGUoY2Fub25pY2FsTmFtZSkp
CiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQogICAgICAgICByZWdpc3RyYXIoY2Fu
b25pY2FsTmFtZSwgY2Fub25pY2FsTmFtZSk7CiAKICAgICAgICAgY29uc3QgY2hhciAqY3VycmVu
dEFsaWFzOwogICAgICAgICB3aGlsZSAoKGN1cnJlbnRBbGlhcyA9ICgqY29kZWNBbGlhc2VzKVsr
K2NvZGVjQ291bnRdKSkgewotICAgICAgICAgICAgaWYgKGlzRW5jb2RpbmdBdmFpbGFibGUoY3Vy
cmVudEFsaWFzKSkgewotICAgICAgICAgICAgICAgIExPRyhUZXh0Q29udmVyc2lvbiwgIlJlZ2lz
dGVyaW5nIGVuY29kaW5nIG5hbWUgYWxpYXMgJXMgdG8gY2Fub25pY2FsICVzIiwgY3VycmVudEFs
aWFzLCBjYW5vbmljYWxOYW1lKTsKKyAgICAgICAgICAgIGlmIChpc0VuY29kaW5nQXZhaWxhYmxl
KGN1cnJlbnRBbGlhcykpCiAgICAgICAgICAgICAgICAgcmVnaXN0cmFyKGN1cnJlbnRBbGlhcywg
Y2Fub25pY2FsTmFtZSk7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgIH0KSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCShyZXZpc2lvbiA1NTAyMikKKysrIFdlYkNv
cmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4
MCw3IEBAIHZvaWQgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXIKICAgICBpbml0
aWFsaXplV2l0aFVzZXJEZWZhdWx0KExvZ1BvcHVwQmxvY2tpbmcpOwogICAgIGluaXRpYWxpemVX
aXRoVXNlckRlZmF1bHQoTG9nRXZlbnRzKTsKICAgICBpbml0aWFsaXplV2l0aFVzZXJEZWZhdWx0
KExvZ0VkaXRpbmcpOwotICAgIGluaXRpYWxpemVXaXRoVXNlckRlZmF1bHQoTG9nVGV4dENvbnZl
cnNpb24pOworICAgIGluaXRpYWxpemVXaXRoVXNlckRlZmF1bHQoTG9nTGl2ZUNvbm5lY3QpOwog
ICAgIGluaXRpYWxpemVXaXRoVXNlckRlZmF1bHQoTG9nSWNvbkRhdGFiYXNlKTsKICAgICBpbml0
aWFsaXplV2l0aFVzZXJEZWZhdWx0KExvZ1NRTERhdGFiYXNlKTsKICAgICBpbml0aWFsaXplV2l0
aFVzZXJEZWZhdWx0KExvZ1NwZWxsaW5nQW5kR3JhbW1hcik7Cg==
</data>
<flag name="review"
          id="31883"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>