<?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>7503</bug_id>
          
          <creation_ts>2006-02-27 19:41:27 -0800</creation_ts>
          <short_desc>Make kxmlcore/Assertions.cpp portable</short_desc>
          <delta_ts>2006-02-27 20:42:55 -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>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>34245</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-02-27 19:41:27 -0800</bug_when>
    <thetext>Make kxmlcore/Assertions.cpp portable.

This file had a bunch of Obj-c goop in it.  I removed it.  Pushed the mac specific logic up into WebCore.

I tested this patch by setting my WebCoreLogLevel:

defaults write com.apple.Safari WebCoreLogLevel 0xFFFFF

then launching safari, and watching logs spew to the console.  I know next-to-nothing about the logging mechanisms, but it seemed to be working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34246</commentid>
    <comment_count>1</comment_count>
      <attachid>6765</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-02-27 19:42:19 -0800</bug_when>
    <thetext>Created attachment 6765
make assertions.cpp portable</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6765</attachid>
            <date>2006-02-27 19:42:19 -0800</date>
            <delta_ts>2006-02-27 19:56:42 -0800</delta_ts>
            <desc>make assertions.cpp portable</desc>
            <filename>logging.patch</filename>
            <type>text/plain</type>
            <size>23208</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2t4bWxjb3JlL0Fzc2VydGlvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKYXZhU2NyaXB0Q29yZS9reG1sY29yZS9Bc3NlcnRpb25zLmgJKHJldmlzaW9uIDEzMDMwKQor
KysgSmF2YVNjcmlwdENvcmUva3htbGNvcmUvQXNzZXJ0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Nyw3ICs3Nyw3IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi10eXBlZGVmIGVudW0geyBL
WENMb2dDaGFubmVsVW5pbml0aWFsaXplZCwgS1hDTG9nQ2hhbm5lbE9mZiwgS1hDTG9nQ2hhbm5l
bE9uIH0gS1hDTG9nQ2hhbm5lbFN0YXRlOwordHlwZWRlZiBlbnVtIHsgS1hDTG9nQ2hhbm5lbE9m
ZiwgS1hDTG9nQ2hhbm5lbE9uIH0gS1hDTG9nQ2hhbm5lbFN0YXRlOwogCiB0eXBlZGVmIHN0cnVj
dCB7CiAgICAgdW5zaWduZWQgbWFzazsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2t4bWxjb3JlL0Fz
c2VydGlvbnMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva3htbGNvcmUvQXNzZXJ0
aW9ucy5tbQkocmV2aXNpb24gMTMwMzApCisrKyBKYXZhU2NyaXB0Q29yZS9reG1sY29yZS9Bc3Nl
cnRpb25zLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0NSArMCwwIEBACi0vLyAtKi0gbW9kZTog
YysrOyBjLWJhc2ljLW9mZnNldDogNCAtKi0KLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0KLSNkZWZpbmUgU1VQUE9SVF9P
QkpDX0xPR0dJTkcgMQotCi0jaWYgU1VQUE9SVF9PQkpDX0xPR0dJTkcKLSNpbmNsdWRlIDxDb3Jl
Rm91bmRhdGlvbi9DRlN0cmluZy5oPgotI2VuZGlmCi0KLSNpbmNsdWRlIDxGb3VuZGF0aW9uL05T
U3RyaW5nLmg+Ci0jaW5jbHVkZSA8Rm91bmRhdGlvbi9OU1VzZXJEZWZhdWx0cy5oPgotI2luY2x1
ZGUgPEZvdW5kYXRpb24vTlNTY2FubmVyLmg+Ci0KLWV4dGVybiAiQyIgewotCi1zdGF0aWMgaW50
ICgqIHZmcHJpbnRmX25vX3dhcm5pbmcpKEZJTEUgKiwgY29uc3QgY2hhciAqLCB2YV9saXN0KSA9
IHZmcHJpbnRmOwotCi1zdGF0aWMgdm9pZCB2cHJpbnRmX3N0ZGVycl9vYmpjKGNvbnN0IGNoYXIg
KmZvcm1hdCwgdmFfbGlzdCBhcmdzKQotewotI2lmIFNVUFBPUlRfT0JKQ19MT0dHSU5HCi0gICAg
aWYgKCFzdHJzdHIoZm9ybWF0LCAiJUAiKSkgewotICAgICAgICBDRlN0cmluZ1JlZiBjZkZvcm1h
dCA9IENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoTlVMTCwgZm9ybWF0LCBrQ0ZTdHJpbmdFbmNv
ZGluZ1VURjgpOwotICAgICAgICBDRlN0cmluZ1JlZiBzdHIgPSBDRlN0cmluZ0NyZWF0ZVdpdGhG
b3JtYXRBbmRBcmd1bWVudHMoTlVMTCwgTlVMTCwgY2ZGb3JtYXQsIGFyZ3MpOwotICAgICAgICAK
LSAgICAgICAgaW50IGxlbmd0aCA9IENGU3RyaW5nR2V0TWF4aW11bVNpemVGb3JFbmNvZGluZyhD
RlN0cmluZ0dldExlbmd0aChzdHIpLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpOwotICAgICAgICBj
aGFyICpidWZmZXIgPSAoY2hhciAqKW1hbGxvYyhsZW5ndGggKyAxKTsKLQotICAgICAgICBDRlN0
cmluZ0dldENTdHJpbmcoc3RyLCBidWZmZXIsIGxlbmd0aCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4
KTsKLQotICAgICAgICBmcHV0cyhidWZmZXIsIHN0ZGVycik7Ci0KLSAgICAgICAgZnJlZShidWZm
ZXIpOwotICAgICAgICBDRlJlbGVhc2Uoc3RyKTsKLSAgICAgICAgQ0ZSZWxlYXNlKGNmRm9ybWF0
KTsKLSAgICB9IGVsc2UKLSNlbmRpZgotICAgICAgICB2ZnByaW50Zl9ub193YXJuaW5nKHN0ZGVy
ciwgZm9ybWF0LCBhcmdzKTsKLX0KLQotdm9pZCBLWENSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNv
bnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmdW5jdGlvbiwgY29uc3QgY2hh
ciAqYXNzZXJ0aW9uKQotewotICAgIGlmIChhc3NlcnRpb24pCi0gICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiPT09PT09PT09PT09PT09PT1cbkFTU0VSVElPTiBGQUlMRUQ6ICVzICglczolZCAlcylc
bj09PT09PT09PT09PT09PT09XG4iLCBhc3NlcnRpb24sIGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsK
LSAgICBlbHNlCi0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiPT09PT09PT09PT09PT09PT1cblNI
T1VMRCBORVZFUiBCRSBSRUFDSEVEICglczolZCAlcylcbj09PT09PT09PT09PT09PT09XG4iLCBm
aWxlLCBsaW5lLCBmdW5jdGlvbik7Ci19Ci0KLXZvaWQgS1hDUmVwb3J0QXNzZXJ0aW9uRmFpbHVy
ZVdpdGhNZXNzYWdlKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmdW5j
dGlvbiwgY29uc3QgY2hhciAqYXNzZXJ0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKLXsK
LSAgICBmcHJpbnRmKHN0ZGVyciwgIj09PT09PT09PT09PT09PT09XG5BU1NFUlRJT04gRkFJTEVE
OiAiKTsKLSAgICB2YV9saXN0IGFyZ3M7Ci0gICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAg
ICB2cHJpbnRmX3N0ZGVycl9vYmpjKGZvcm1hdCwgYXJncyk7Ci0gICAgdmFfZW5kKGFyZ3MpOwot
ICAgIGZwcmludGYoc3RkZXJyLCAiXG4lcyAoJXM6JWQgJXMpXG49PT09PT09PT09PT09PT09PVxu
IiwgYXNzZXJ0aW9uLCBmaWxlLCBsaW5lLCBmdW5jdGlvbik7Ci19Ci0KLXZvaWQgS1hDUmVwb3J0
QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyICpmdW5jdGlvbiwgY29uc3QgY2hhciAqYXJnTmFtZSwgY29uc3QgY2hhciAqYXNzZXJ0
aW9uKQotewotICAgIGZwcmludGYoc3RkZXJyLCAiPT09PT09PT09PT09PT09PT1cbkFSR1VNRU5U
IEJBRDogJXMsICVzICglczolZCAlcylcbj09PT09PT09PT09PT09PT09XG4iLCBhcmdOYW1lLCBh
c3NlcnRpb24sIGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsKLX0KLQotdm9pZCBLWENSZXBvcnRGYXRh
bEVycm9yKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmdW5jdGlvbiwg
Y29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCi17Ci0gICAgZnByaW50ZihzdGRlcnIsICI9PT09PT09
PT09PT09PT09PVxuRkFUQUwgRVJST1I6ICIpOwotICAgIHZhX2xpc3QgYXJnczsKLSAgICB2YV9z
dGFydChhcmdzLCBmb3JtYXQpOwotICAgIHZwcmludGZfc3RkZXJyX29iamMoZm9ybWF0LCBhcmdz
KTsKLSAgICB2YV9lbmQoYXJncyk7Ci0gICAgZnByaW50ZihzdGRlcnIsICJcbiglczolZCAlcylc
bj09PT09PT09PT09PT09PT09XG4iLCBmaWxlLCBsaW5lLCBmdW5jdGlvbik7Ci19Ci0KLXZvaWQg
S1hDUmVwb3J0RXJyb3IoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZ1
bmN0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKLXsKLSAgICBmcHJpbnRmKHN0ZGVyciwg
Ij09PT09PT09PT09PT09PT09XG5FUlJPUjogIik7Ci0gICAgdmFfbGlzdCBhcmdzOwotICAgIHZh
X3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Ci0gICAgdnByaW50Zl9zdGRlcnJfb2JqYyhmb3JtYXQsIGFy
Z3MpOwotICAgIHZhX2VuZChhcmdzKTsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIlxuKCVzOiVkICVz
KVxuPT09PT09PT09PT09PT09PT1cbiIsIGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsKLX0KLQotc3Rh
dGljIHZvaWQgZnByaW50Zl9vYmpjKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIHZh
X2xpc3QgYXJnczsKLSAgICB2YV9zdGFydChhcmdzLCBmb3JtYXQpOwotICAgIHZwcmludGZfc3Rk
ZXJyX29iamMoZm9ybWF0LCBhcmdzKTsKLSAgICB2YV9lbmQoYXJncyk7Ci19Ci0KLQotdm9pZCBL
WENMb2coY29uc3QgY2hhciosIGludCwgY29uc3QgY2hhciosIEtYQ0xvZ0NoYW5uZWwgKmNoYW5u
ZWwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQotewotICAgIGlmIChjaGFubmVsLT5zdGF0ZSA9
PSBLWENMb2dDaGFubmVsVW5pbml0aWFsaXplZCkgewotICAgICAgICBjaGFubmVsLT5zdGF0ZSA9
IEtYQ0xvZ0NoYW5uZWxPZmY7Ci0gICAgICAgIE5TU3RyaW5nICpsb2dMZXZlbFN0cmluZyA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpbTlNTdHJp
bmcgc3RyaW5nV2l0aENTdHJpbmc6Y2hhbm5lbC0+ZGVmYXVsdE5hbWVdXTsKLSAgICAgICAgaWYg
KGxvZ0xldmVsU3RyaW5nKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBsb2dMZXZlbDsKLSAgICAg
ICAgICAgIGlmICghW1tOU1NjYW5uZXIgc2Nhbm5lcldpdGhTdHJpbmc6bG9nTGV2ZWxTdHJpbmdd
IHNjYW5IZXhJbnQ6JmxvZ0xldmVsXSkgewotICAgICAgICAgICAgICAgIGZwcmludGZfb2JqYygi
dW5hYmxlIHRvIHBhcnNlIGhleCB2YWx1ZSBmb3IgJXMgKCVAKSwgbG9nZ2luZyBpcyBvZmYiLCBj
aGFubmVsLT5kZWZhdWx0TmFtZSwgbG9nTGV2ZWxTdHJpbmcpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaWYgKChsb2dMZXZlbCAmIGNoYW5uZWwtPm1hc2spID09IGNoYW5uZWwtPm1hc2sp
IHsKLSAgICAgICAgICAgICAgICBjaGFubmVsLT5zdGF0ZSA9IEtYQ0xvZ0NoYW5uZWxPbjsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBpZiAoY2hhbm5lbC0+c3Rh
dGUgIT0gS1hDTG9nQ2hhbm5lbE9uKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgdmFfbGlz
dCBhcmdzOwotICAgIHZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Ci0gICAgdnByaW50Zl9zdGRlcnJf
b2JqYyhmb3JtYXQsIGFyZ3MpOwotICAgIHZhX2VuZChhcmdzKTsKLSAgICBpZiAoZm9ybWF0W3N0
cmxlbihmb3JtYXQpIC0gMV0gIT0gJ1xuJykKLSAgICAgICAgcHV0YygnXG4nLCBzdGRlcnIpOwot
fQotCi19IC8vIGV4dGVybiAiQyIKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2t4bWxjb3JlL0Fzc2Vy
dGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2t4bWxjb3JlL0Fzc2VydGlv
bnMuY3BwCShyZXZpc2lvbiAxMzAyNykKKysrIEphdmFTY3JpcHRDb3JlL2t4bWxjb3JlL0Fzc2Vy
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogLy8gLSotIG1vZGU6IGMr
KzsgYy1iYXNpYy1vZmZzZXQ6IDQgLSotCiAvKgotICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxl
IENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywyMyArMjcsMTkgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCiAKLSNkZWZpbmUgU1VQUE9SVF9P
QkpDX0xPR0dJTkcgMQotCi0jaWYgU1VQUE9SVF9PQkpDX0xPR0dJTkcKKyNpZiBfX0FQUExFX18K
ICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRlN0cmluZy5oPgogI2VuZGlmCiAKLSNpbmNsdWRl
IDxGb3VuZGF0aW9uL05TU3RyaW5nLmg+Ci0jaW5jbHVkZSA8Rm91bmRhdGlvbi9OU1VzZXJEZWZh
dWx0cy5oPgotI2luY2x1ZGUgPEZvdW5kYXRpb24vTlNTY2FubmVyLmg+Ci0KIGV4dGVybiAiQyIg
ewogCisvLyBUaGlzIGlzIHRvIHdvcmsgYXJvdW5kIHRoZSAieW91IHNob3VsZCB1c2UgYSBwcmlu
dGYgZm9ybWF0IGF0dHJpYnV0ZSIgd2FybmluZyBvbiBHQ0MKKy8vIFdlIGNhbid0IHVzZSBfYXR0
cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKSBzaW5jZSB3ZSBhbGxvdyAlQAogc3Rh
dGljIGludCAoKiB2ZnByaW50Zl9ub193YXJuaW5nKShGSUxFICosIGNvbnN0IGNoYXIgKiwgdmFf
bGlzdCkgPSB2ZnByaW50ZjsKIAotc3RhdGljIHZvaWQgdnByaW50Zl9zdGRlcnJfb2JqYyhjb25z
dCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykKK3N0YXRpYyB2b2lkIHZwcmludGZfc3RkZXJy
X2NvbW1vbihjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykKIHsKLSNpZiBTVVBQT1JU
X09CSkNfTE9HR0lORworI2lmIF9fQVBQTEVfXwogICAgIGlmICghc3Ryc3RyKGZvcm1hdCwgIiVA
IikpIHsKICAgICAgICAgQ0ZTdHJpbmdSZWYgY2ZGb3JtYXQgPSBDRlN0cmluZ0NyZWF0ZVdpdGhD
U3RyaW5nKE5VTEwsIGZvcm1hdCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KTsKICAgICAgICAgQ0ZT
dHJpbmdSZWYgc3RyID0gQ0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0QW5kQXJndW1lbnRzKE5VTEws
IE5VTEwsIGNmRm9ybWF0LCBhcmdzKTsKQEAgLTc2LDcgKzcyLDcgQEAgdm9pZCBLWENSZXBvcnRB
c3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZwogICAgIGZwcmludGYoc3RkZXJyLCAiPT09PT09PT09
PT09PT09PT1cbkFTU0VSVElPTiBGQUlMRUQ6ICIpOwogICAgIHZhX2xpc3QgYXJnczsKICAgICB2
YV9zdGFydChhcmdzLCBmb3JtYXQpOwotICAgIHZwcmludGZfc3RkZXJyX29iamMoZm9ybWF0LCBh
cmdzKTsKKyAgICB2cHJpbnRmX3N0ZGVycl9jb21tb24oZm9ybWF0LCBhcmdzKTsKICAgICB2YV9l
bmQoYXJncyk7CiAgICAgZnByaW50ZihzdGRlcnIsICJcbiVzICglczolZCAlcylcbj09PT09PT09
PT09PT09PT09XG4iLCBhc3NlcnRpb24sIGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsKIH0KQEAgLTkx
LDcgKzg3LDcgQEAgdm9pZCBLWENSZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNoYXIgKmZpbAogICAg
IGZwcmludGYoc3RkZXJyLCAiPT09PT09PT09PT09PT09PT1cbkZBVEFMIEVSUk9SOiAiKTsKICAg
ICB2YV9saXN0IGFyZ3M7CiAgICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAgICB2cHJpbnRm
X3N0ZGVycl9vYmpjKGZvcm1hdCwgYXJncyk7CisgICAgdnByaW50Zl9zdGRlcnJfY29tbW9uKGZv
cm1hdCwgYXJncyk7CiAgICAgdmFfZW5kKGFyZ3MpOwogICAgIGZwcmludGYoc3RkZXJyLCAiXG4o
JXM6JWQgJXMpXG49PT09PT09PT09PT09PT09PVxuIiwgZmlsZSwgbGluZSwgZnVuY3Rpb24pOwog
fQpAQCAtMTAxLDQyICs5NywxOSBAQCB2b2lkIEtYQ1JlcG9ydEVycm9yKGNvbnN0IGNoYXIgKmZp
bGUsIGluCiAgICAgZnByaW50ZihzdGRlcnIsICI9PT09PT09PT09PT09PT09PVxuRVJST1I6ICIp
OwogICAgIHZhX2xpc3QgYXJnczsKICAgICB2YV9zdGFydChhcmdzLCBmb3JtYXQpOwotICAgIHZw
cmludGZfc3RkZXJyX29iamMoZm9ybWF0LCBhcmdzKTsKKyAgICB2cHJpbnRmX3N0ZGVycl9jb21t
b24oZm9ybWF0LCBhcmdzKTsKICAgICB2YV9lbmQoYXJncyk7CiAgICAgZnByaW50ZihzdGRlcnIs
ICJcbiglczolZCAlcylcbj09PT09PT09PT09PT09PT09XG4iLCBmaWxlLCBsaW5lLCBmdW5jdGlv
bik7CiB9CiAKLXN0YXRpYyB2b2lkIGZwcmludGZfb2JqYyhjb25zdCBjaGFyICpmb3JtYXQsIC4u
LikKLXsKLSAgICB2YV9saXN0IGFyZ3M7Ci0gICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAg
ICB2cHJpbnRmX3N0ZGVycl9vYmpjKGZvcm1hdCwgYXJncyk7Ci0gICAgdmFfZW5kKGFyZ3MpOwot
fQotCi0KIHZvaWQgS1hDTG9nKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IGNoYXIqLCBLWENMb2dD
aGFubmVsICpjaGFubmVsLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKLXsKLSAgICBpZiAoY2hh
bm5lbC0+c3RhdGUgPT0gS1hDTG9nQ2hhbm5lbFVuaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgY2hh
bm5lbC0+c3RhdGUgPSBLWENMb2dDaGFubmVsT2ZmOwotICAgICAgICBOU1N0cmluZyAqbG9nTGV2
ZWxTdHJpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RG
b3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOmNoYW5uZWwtPmRlZmF1bHROYW1lXV07
Ci0gICAgICAgIGlmIChsb2dMZXZlbFN0cmluZykgewotICAgICAgICAgICAgdW5zaWduZWQgbG9n
TGV2ZWw7Ci0gICAgICAgICAgICBpZiAoIVtbTlNTY2FubmVyIHNjYW5uZXJXaXRoU3RyaW5nOmxv
Z0xldmVsU3RyaW5nXSBzY2FuSGV4SW50OiZsb2dMZXZlbF0pIHsKLSAgICAgICAgICAgICAgICBm
cHJpbnRmX29iamMoInVuYWJsZSB0byBwYXJzZSBoZXggdmFsdWUgZm9yICVzICglQCksIGxvZ2dp
bmcgaXMgb2ZmIiwgY2hhbm5lbC0+ZGVmYXVsdE5hbWUsIGxvZ0xldmVsU3RyaW5nKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGlmICgobG9nTGV2ZWwgJiBjaGFubmVsLT5tYXNrKSA9PSBj
aGFubmVsLT5tYXNrKSB7Ci0gICAgICAgICAgICAgICAgY2hhbm5lbC0+c3RhdGUgPSBLWENMb2dD
aGFubmVsT247Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCit7ICAgIAog
ICAgIGlmIChjaGFubmVsLT5zdGF0ZSAhPSBLWENMb2dDaGFubmVsT24pCiAgICAgICAgIHJldHVy
bjsKICAgICAKICAgICB2YV9saXN0IGFyZ3M7CiAgICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsK
LSAgICB2cHJpbnRmX3N0ZGVycl9vYmpjKGZvcm1hdCwgYXJncyk7CisgICAgdnByaW50Zl9zdGRl
cnJfY29tbW9uKGZvcm1hdCwgYXJncyk7CiAgICAgdmFfZW5kKGFyZ3MpOwogICAgIGlmIChmb3Jt
YXRbc3RybGVuKGZvcm1hdCkgLSAxXSAhPSAnXG4nKQogICAgICAgICBwdXRjKCdcbicsIHN0ZGVy
cik7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzAzMSkKKysrIEphdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDA2LTAyLTI3ICBFcmlj
IFNlaWRlbCAgPGVzZWlkZWxAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1hZGUgQXNzZXJ0aW9ucy5jcHAgcGxhdGZvcm0gaW5kZXBl
bmRlbnQuCisgICAgICAgIE1vdmVkIG1hYy1zcGVjaWZpYyBsb2dnaW5nIGxvZ2ljIHVwIGludG8g
V2ViQ29yZS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICoga3htbGNvcmUvQXNzZXJ0aW9ucy5jcHA6IEFkZGVkLgorICAgICAg
ICAqIGt4bWxjb3JlL0Fzc2VydGlvbnMuaDoKKyAgICAgICAgKiBreG1sY29yZS9Bc3NlcnRpb25z
Lm1tOiBSZW1vdmVkLgorCiAyMDA2LTAyLTI3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICAtIGZpeGVkIE1hYyBEZWJ1ZyBidWlsZCwgdGhlcmUgd2FzIGFuIHVudXNl
ZCBwYXJhbWV0ZXIKSW5kZXg6IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTMwMzApCisrKyBKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBACiAJCTY1REZDOTM0MDhFQTE3M0EwMEY3MzAwQiAv
KiBIYXNoVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1REZDOTJFMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoVGFibGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NURGQzkzNTA4RUExNzNBMDBG
NzMwMEIgLyogSGFzaFRyYWl0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjVERkM5MkYwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUcmFpdHMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NUUyMTdCRDA4
RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjVFMjE3QjcwOEU3RUVDQzAwMjNFNUY2IC8qIEFzc2VydGlv
bnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk2
NUUyMTdCRTA4RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RTIxN0I4MDhFN0VFQ0MwMDIzRTVGNiAv
KiBBc3NlcnRpb25zLm1tICovOyB9OworCQk2NUUyMTdCRTA4RTdFRUNDMDAyM0U1RjYgLyogQXNz
ZXJ0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NUUyMTdCODA4RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5jcHAgKi87IH07CiAJCTY1
RTIxN0JGMDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAv
KiBGYXN0TWFsbG9jLmNwcCAqLzsgfTsKIAkJNjVFMjE3QzAwOEU3RUVDQzAwMjNFNUY2IC8qIEZh
c3RNYWxsb2MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDY1RTIxN0JBMDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjVFQTRDOUIwOTJBRjlFMjAwOTNE
ODAwIC8qIEpTTG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NUVBNEM5OTA5MkFGOUUyMDA5M0Q4MDAgLyogSlNMb2NrLmNwcCAqLzsgfTsKQEAg
LTM2MSw3ICszNjEsNyBAQAogCQk2NURGQzkyRTA4RUExNzNBMDBGNzMwMEIgLyogSGFzaFRhYmxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhh
c2hUYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1
REZDOTJGMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoVHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hUcmFpdHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQk2NUUyMTdCNzA4RTdFRUNDMDAyM0U1
RjYgLyogQXNzZXJ0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBc3NlcnRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgfTsKLQkJNjVFMjE3QjgwOEU3RUVDQzAwMjNFNUY2IC8qIEFzc2VydGlvbnMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBBc3NlcnRpb25zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07
CisJCTY1RTIxN0I4MDhFN0VFQ0MwMDIzRTVGNiAvKiBBc3NlcnRpb25zLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzc2VydGlvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1RTIxN0I5
MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZhc3RNYWxsb2MuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1RTIxN0JBMDhFN0VFQ0MwMDIz
RTVGNiAvKiBGYXN0TWFsbG9jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZhc3RNYWxsb2MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB9OwogCQk2NUVBNEM5OTA5MkFGOUUyMDA5M0Q4MDAgLyogSlNMb2NrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKQEAgLTU5
OCw3ICs1OTgsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJOTNBQTRGNzcwOTU3MjUxRjAwODRC
M0E3IC8qIEFsd2F5c0lubGluZS5oICovLAogCQkJCTY1RTIxN0I3MDhFN0VFQ0MwMDIzRTVGNiAv
KiBBc3NlcnRpb25zLmggKi8sCi0JCQkJNjVFMjE3QjgwOEU3RUVDQzAwMjNFNUY2IC8qIEFzc2Vy
dGlvbnMubW0gKi8sCisJCQkJNjVFMjE3QjgwOEU3RUVDQzAwMjNFNUY2IC8qIEFzc2VydGlvbnMu
Y3BwICovLAogCQkJCTY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCAq
LywKIAkJCQk2NUUyMTdCQTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5oICovLAogCQkJ
CTY1RDdEMTlCMDhGMTBCNUIwMDE1QUJEOCAvKiBGYXN0TWFsbG9jSW50ZXJuYWwuaCAqLywKQEAg
LTEyMzIsNyArMTIzMiw3IEBACiAJCQkJOTNFMjZCRDQwOEIxNTE0MTAwRjg1MjI2IC8qIHBjcmVf
eGNsYXNzLmMgaW4gU291cmNlcyAqLywKIAkJCQk5M0UyNkNGNzA4QjI5QTFDMDBGODUyMjYgLyog
cGNyZV9nZXQuYyBpbiBTb3VyY2VzICovLAogCQkJCTkzRTI2RERDMDhCMkE0RjQwMEY4NTIyNiAv
KiBwY3JlX3ByaW50aW50LmMgaW4gU291cmNlcyAqLywKLQkJCQk2NUUyMTdCRTA4RTdFRUNDMDAy
M0U1RjYgLyogQXNzZXJ0aW9ucy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTY1RTIxN0JFMDhFN0VF
Q0MwMDIzRTVGNiAvKiBBc3NlcnRpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1RTIxN0JG
MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1
NDFCRDc0MDhFODBBMTcwMDJDQkVFNyAvKiBUQ1N5c3RlbUFsbG9jLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTY1REZDOTMzMDhFQTE3M0EwMEY3MzAwQiAvKiBIYXNoVGFibGUuY3BwIGluIFNvdXJj
ZXMgKi8sCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9JbWFnZU1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9JbWFnZU1hYy5tbQkocmV2aXNpb24gMTMwMzApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL21hYy9JbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtODks
NyArODksNyBAQCB2b2lkIEltYWdlOjppbnZhbGlkYXRlTmF0aXZlRGF0YSgpCiAKIEltYWdlKiBJ
bWFnZTo6bG9hZFJlc291cmNlKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0gICAgTlNEYXRhKiBuYW1l
ZEltYWdlRGF0YSA9IFtbV2ViQ29yZUltYWdlUmVuZGVyZXJGYWN0b3J5IHNoYXJlZEZhY3Rvcnld
IGltYWdlRGF0YUZvck5hbWU6W05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOm5hbWVdXTsKKyAg
ICBOU0RhdGEqIG5hbWVkSW1hZ2VEYXRhID0gW1tXZWJDb3JlSW1hZ2VSZW5kZXJlckZhY3Rvcnkg
c2hhcmVkRmFjdG9yeV0gaW1hZ2VEYXRhRm9yTmFtZTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhT
dHJpbmc6bmFtZV1dOwogICAgIGlmIChuYW1lZEltYWdlRGF0YSkgewogICAgICAgICBJbWFnZSog
aW1hZ2UgPSBuZXcgSW1hZ2U7CiAgICAgICAgIGltYWdlLT5zZXROYXRpdmVEYXRhKChDRkRhdGFS
ZWYpbmFtZWRJbWFnZURhdGEsIHRydWUpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5n
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCShyZXZpc2lv
biAxMzAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDEzICsyNSwxMyBAQAogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCi1LWENMb2dDaGFu
bmVsIEtXUUxvZ05vdFlldEltcGxlbWVudGVkID0geyAweDAwMDAwMDAxLCAiV2ViQ29yZUxvZ0xl
dmVsIiwgS1hDTG9nQ2hhbm5lbFVuaW5pdGlhbGl6ZWQgfTsKK0tYQ0xvZ0NoYW5uZWwgTG9nTm90
WWV0SW1wbGVtZW50ZWQgPSB7IDB4MDAwMDAwMDEsICJXZWJDb3JlTG9nTGV2ZWwiLCBLWENMb2dD
aGFubmVsT2ZmIH07CiAKLUtYQ0xvZ0NoYW5uZWwgS1dRTG9nRnJhbWVzID0gICAgICAgICAgICB7
IDB4MDAwMDAwMTAsICJXZWJDb3JlTG9nTGV2ZWwiLCBLWENMb2dDaGFubmVsVW5pbml0aWFsaXpl
ZCB9OwotS1hDTG9nQ2hhbm5lbCBLV1FMb2dMb2FkaW5nID0gICAgICAgICAgIHsgMHgwMDAwMDAy
MCwgIldlYkNvcmVMb2dMZXZlbCIsIEtYQ0xvZ0NoYW5uZWxVbmluaXRpYWxpemVkIH07CitLWENM
b2dDaGFubmVsIExvZ0ZyYW1lcyA9ICAgICAgICAgICAgeyAweDAwMDAwMDEwLCAiV2ViQ29yZUxv
Z0xldmVsIiwgS1hDTG9nQ2hhbm5lbE9mZiB9OworS1hDTG9nQ2hhbm5lbCBMb2dMb2FkaW5nID0g
ICAgICAgICAgIHsgMHgwMDAwMDAyMCwgIldlYkNvcmVMb2dMZXZlbCIsIEtYQ0xvZ0NoYW5uZWxP
ZmYgfTsKIAotS1hDTG9nQ2hhbm5lbCBLV1FMb2dQb3B1cEJsb2NraW5nID0gICAgIHsgMHgwMDAw
MDA0MCwgIldlYkNvcmVMb2dMZXZlbCIsIEtYQ0xvZ0NoYW5uZWxVbmluaXRpYWxpemVkIH07CitL
WENMb2dDaGFubmVsIExvZ1BvcHVwQmxvY2tpbmcgPSAgICAgeyAweDAwMDAwMDQwLCAiV2ViQ29y
ZUxvZ0xldmVsIiwgS1hDTG9nQ2hhbm5lbE9mZiB9OwogCi1LWENMb2dDaGFubmVsIEtXUUxvZ0V2
ZW50cyA9ICAgICAgICAgICAgeyAweDAwMDAwMDgwLCAiV2ViQ29yZUxvZ0xldmVsIiwgS1hDTG9n
Q2hhbm5lbFVuaW5pdGlhbGl6ZWQgfTsKLUtYQ0xvZ0NoYW5uZWwgS1dRTG9nRWRpdGluZyA9ICAg
ICAgICAgICB7IDB4MDAwMDAxMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBLWENMb2dDaGFubmVsVW5p
bml0aWFsaXplZCB9OwotS1hDTG9nQ2hhbm5lbCBLV1FMb2dUZXh0Q29udmVyc2lvbiA9ICAgIHsg
MHgwMDAwMDIwMCwgIldlYkNvcmVMb2dMZXZlbCIsIEtYQ0xvZ0NoYW5uZWxVbmluaXRpYWxpemVk
IH07CitLWENMb2dDaGFubmVsIExvZ0V2ZW50cyA9ICAgICAgICAgICAgeyAweDAwMDAwMDgwLCAi
V2ViQ29yZUxvZ0xldmVsIiwgS1hDTG9nQ2hhbm5lbE9mZiB9OworS1hDTG9nQ2hhbm5lbCBMb2dF
ZGl0aW5nID0gICAgICAgICAgIHsgMHgwMDAwMDEwMCwgIldlYkNvcmVMb2dMZXZlbCIsIEtYQ0xv
Z0NoYW5uZWxPZmYgfTsKK0tYQ0xvZ0NoYW5uZWwgTG9nVGV4dENvbnZlcnNpb24gPSAgICB7IDB4
MDAwMDAyMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBLWENMb2dDaGFubmVsT2ZmIH07CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L0xvZ2dpbmcuaAkocmV2aXNpb24gMTMwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksMTYgKzI5LDE2IEBACiAjaW5jbHVkZSA8a3htbGNvcmUv
QXNzZXJ0aW9ucy5oPgogCiAjaWZuZGVmIExPR19DSEFOTkVMX1BSRUZJWAotI2RlZmluZSBMT0df
Q0hBTk5FTF9QUkVGSVggS1dRTG9nCisjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKICNl
bmRpZgogCi1leHRlcm4gS1hDTG9nQ2hhbm5lbCBLV1FMb2dOb3RZZXRJbXBsZW1lbnRlZDsKK2V4
dGVybiBLWENMb2dDaGFubmVsIExvZ05vdFlldEltcGxlbWVudGVkOwogCi1leHRlcm4gS1hDTG9n
Q2hhbm5lbCBLV1FMb2dGcmFtZXM7Ci1leHRlcm4gS1hDTG9nQ2hhbm5lbCBLV1FMb2dMb2FkaW5n
OwotZXh0ZXJuIEtYQ0xvZ0NoYW5uZWwgS1dRTG9nUG9wdXBCbG9ja2luZzsKLWV4dGVybiBLWENM
b2dDaGFubmVsIEtXUUxvZ0V2ZW50czsKLWV4dGVybiBLWENMb2dDaGFubmVsIEtXUUxvZ0VkaXRp
bmc7Ci1leHRlcm4gS1hDTG9nQ2hhbm5lbCBLV1FMb2dUZXh0Q29udmVyc2lvbjsKK2V4dGVybiBL
WENMb2dDaGFubmVsIExvZ0ZyYW1lczsKK2V4dGVybiBLWENMb2dDaGFubmVsIExvZ0xvYWRpbmc7
CitleHRlcm4gS1hDTG9nQ2hhbm5lbCBMb2dQb3B1cEJsb2NraW5nOworZXh0ZXJuIEtYQ0xvZ0No
YW5uZWwgTG9nRXZlbnRzOworZXh0ZXJuIEtYQ0xvZ0NoYW5uZWwgTG9nRWRpdGluZzsKK2V4dGVy
biBLWENMb2dDaGFubmVsIExvZ1RleHRDb252ZXJzaW9uOwogCiAjZW5kaWYKSW5kZXg6IFdlYkNv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MzAzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMjAg
QEAKIDIwMDYtMDItMjcgIEVyaWMgU2VpZGVsICA8ZXNlaWRlbEBhcHBsZS5jb20+CiAKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBtYWMtc3BlY2lm
aWMgbG9nZ2luZyBsb2dpYyB1cCBpbnRvIFdlYkNvcmUgKGZyb20gSmF2YVNjcmlwdENvcmUpLgor
ICAgICAgICBSZW1vdmUgS1dRIHByZWZpeGVzIGZyb20gZGVmYXVsdCBsb2cgY2hhbm5lbHMuCisK
KyAgICAgICAgKiBicmlkZ2UvbWFjL1dlYkNvcmVQYWdlQnJpZGdlLm1tOgorICAgICAgICAoaW5p
dGlhbGl6ZUxvZ0NoYW5uZWwpOgorICAgICAgICAoaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KToKKyAgICAgICAgKC1bV2ViQ29yZVBhZ2VCcmlkZ2UgaW5pdF0pOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6CisKKzIwMDYtMDItMjcgIEVyaWMgU2VpZGVsICA8ZXNl
aWRlbEBhcHBsZS5jb20+CisKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgbWpzLgogCiAgICAg
ICAgIEZpeCBGcmFtZVdpbi5oIHRvIHVzZSBjb25zaXN0YW50IGxpbmUgZW5kaW5ncy4KSW5kZXg6
IFdlYkNvcmUvYnJpZGdlL21hYy9XZWJDb3JlUGFnZUJyaWRnZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JyaWRnZS9tYWMvV2ViQ29yZVBhZ2VCcmlkZ2UubW0JKHJldmlzaW9uIDEzMDMwKQor
KysgV2ViQ29yZS9icmlkZ2UvbWFjL1dlYkNvcmVQYWdlQnJpZGdlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSwxMyArMjksNDQgQEAKICNpbXBvcnQgIk1hY0ZyYW1lLmgiCiAjaW1wb3J0ICJQYWdl
TWFjLmgiCiAjaW1wb3J0ICJXZWJDb3JlRnJhbWVCcmlkZ2UuaCIKKyNpbXBvcnQgIkxvZ2dpbmcu
aCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJDb3Jl
UGFnZUJyaWRnZQogCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwoS1hD
TG9nQ2hhbm5lbCAmY2hhbm5lbCkKK3sKKyAgICBjaGFubmVsLnN0YXRlID0gS1hDTG9nQ2hhbm5l
bE9mZjsKKyAgICBOU1N0cmluZyAqbG9nTGV2ZWxTdHJpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4
U3RyaW5nOmNoYW5uZWwuZGVmYXVsdE5hbWVdXTsKKyAgICBpZiAobG9nTGV2ZWxTdHJpbmcpIHsK
KyAgICAgICAgdW5zaWduZWQgbG9nTGV2ZWw7CisgICAgICAgIGlmICghW1tOU1NjYW5uZXIgc2Nh
bm5lcldpdGhTdHJpbmc6bG9nTGV2ZWxTdHJpbmddIHNjYW5IZXhJbnQ6JmxvZ0xldmVsXSkKKyAg
ICAgICAgICAgIE5TTG9nKEAidW5hYmxlIHRvIHBhcnNlIGhleCB2YWx1ZSBmb3IgJXMgKCVAKSwg
bG9nZ2luZyBpcyBvZmYiLCBjaGFubmVsLmRlZmF1bHROYW1lLCBsb2dMZXZlbFN0cmluZyk7Cisg
ICAgICAgIGlmICgobG9nTGV2ZWwgJiBjaGFubmVsLm1hc2spID09IGNoYW5uZWwubWFzaykKKyAg
ICAgICAgICAgIGNoYW5uZWwuc3RhdGUgPSBLWENMb2dDaGFubmVsT247CisgICAgfQorfQorCitz
dGF0aWMgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQoreworICAg
IHN0YXRpYyBib29sIGhhdmVJbml0aWFsaXplZExvZ2dpbmdDaGFubmVscyA9IGZhbHNlOworICAg
IGlmIChoYXZlSW5pdGlhbGl6ZWRMb2dnaW5nQ2hhbm5lbHMpCisgICAgICAgIHJldHVybjsKKyAg
ICBoYXZlSW5pdGlhbGl6ZWRMb2dnaW5nQ2hhbm5lbHMgPSB0cnVlOworICAgIAorICAgIGluaXRp
YWxpemVMb2dDaGFubmVsKExvZ05vdFlldEltcGxlbWVudGVkKTsKKyAgICBpbml0aWFsaXplTG9n
Q2hhbm5lbChMb2dGcmFtZXMpOworICAgIGluaXRpYWxpemVMb2dDaGFubmVsKExvZ0xvYWRpbmcp
OworICAgIGluaXRpYWxpemVMb2dDaGFubmVsKExvZ1BvcHVwQmxvY2tpbmcpOworICAgIGluaXRp
YWxpemVMb2dDaGFubmVsKExvZ0V2ZW50cyk7CisgICAgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwoTG9n
RWRpdGluZyk7CisgICAgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwoTG9nVGV4dENvbnZlcnNpb24pOwor
fQorCiAtIChpZClpbml0CiB7CisgICAgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoc2VsZikKICAgICAgICAg
X3BhZ2UgPSBuZXcgUGFnZU1hYyhzZWxmKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZS5oCShyZXZpc2lvbiAxMzAzMCkKKysrIFdl
YkNvcmUvcGFnZS9GcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsOCArMjk4LDYgQEAgcHVi
bGljOgogICAgKi8KICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldChjb25zdCBRU3RyaW5nICZzdHls
ZVNoZWV0KTsKIAotcHVibGljOgotCiAgIC8qKgogICAgKiBTZXRzIHRoZSBzdGFuZGFyZCBmb250
IHN0eWxlLgogICAgKgpAQCAtNDE3LDcgKzQxNSw3IEBAIHB1YmxpYzoKICAgICovCiAgIHZvaWQg
cGFpbnRDYXJldChRUGFpbnRlciAqcCwgY29uc3QgSW50UmVjdCAmcmVjdCkgY29uc3Q7CiAgIAot
IC8qKgorICAvKioKICAgICogUGFpbnRzIHRoZSBkcmFnIGNhcmV0LgogICAgKi8KICAgdm9pZCBw
YWludERyYWdDYXJldChRUGFpbnRlciAqcCwgY29uc3QgSW50UmVjdCAmcmVjdCkgY29uc3Q7Cklu
ZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEzMDMw
KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBACiAJCTE0
QTZGQjg5MDk3MUNBRTUwMDhCMDE0RiAvKiBOYXZpZ2F0aW9uQ29udHJvbGxlci5tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBOYXZpZ2F0aW9uQ29udHJvbGxlci5tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMkE3MEFBQjAzNzA1RTFGMDBDOTE3ODMgLyogRHVt
cFJlbmRlclRyZWVQcmVmaXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHVt
cFJlbmRlclRyZWVQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMzNTQz
NUYwM0Q3NTUwMjAwODYzNUNFIC8qIFdlYktpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9
IFdlYktpdC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0J
CTkzNDA5OTU0MDg1NDBDQUYwMDdGM0JDOCAvKiBEdW1wUmVuZGVyVHJlZSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVj
dXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gRHVtcFJlbmRlclRyZWU7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTkzNDA5OTU0MDg1NDBDQUYwMDdGM0JD
OCAvKiBEdW1wUmVuZGVyVHJlZSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBpbmNsdWRl
SW5JbmRleCA9IDA7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRh
YmxlIjsgcGF0aCA9IER1bXBSZW5kZXJUcmVlOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwogCQk5MzQ0MkNGNDA4RjhCQTQ5MDBCRkU4Q0EgLyogVGV4dElucHV0Q29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0SW5wdXRDb250cm9sbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzNDQyQ0Y1MDhGOEJBNDkwMEJGRThD
QSAvKiBUZXh0SW5wdXRDb250cm9sbGVyLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsg
cGF0aCA9IFRleHRJbnB1dENvbnRyb2xsZXIubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTgxNzA5MDEwOEIxNjQzODAwQ0NCOUZCIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdv
cms7IHBhdGggPSBXZWJDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RT
X0RJUjsgfTsK
</data>
<flag name="review"
          id="1725"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>