<?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>6508</bug_id>
          
          <creation_ts>2006-01-12 09:09:29 -0800</creation_ts>
          <short_desc>retire APPLE_CHANGES</short_desc>
          <delta_ts>2006-01-13 00:17:26 -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>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28302</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-12 09:09:29 -0800</bug_when>
    <thetext>APPLE_CHANGES should go, it&apos;s history. We use __APPLE__ for Mac-OS-X specific things and WIN32 for 
Windows-specific things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28304</commentid>
    <comment_count>1</comment_count>
      <attachid>5621</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-12 09:20:40 -0800</bug_when>
    <thetext>Created attachment 5621
removes all remaining use of APPLE_CHANGES</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28305</commentid>
    <comment_count>2</comment_count>
      <attachid>5622</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-12 09:24:24 -0800</bug_when>
    <thetext>Created attachment 5622
remove all remaining APPLE_CHANGES (tested, unlike previous try)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28306</commentid>
    <comment_count>3</comment_count>
      <attachid>5622</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-12 09:30:35 -0800</bug_when>
    <thetext>Comment on attachment 5622
remove all remaining APPLE_CHANGES (tested, unlike previous try)

Still not quite right. I&apos;ll put in a new patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28310</commentid>
    <comment_count>4</comment_count>
      <attachid>5623</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-12 09:55:29 -0800</bug_when>
    <thetext>Created attachment 5623
third try -- this time for sure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28347</commentid>
    <comment_count>5</comment_count>
      <attachid>5623</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-01-13 00:01:20 -0800</bug_when>
    <thetext>Comment on attachment 5623
third try -- this time for sure

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5621</attachid>
            <date>2006-01-12 09:20:40 -0800</date>
            <delta_ts>2006-01-12 09:24:40 -0800</delta_ts>
            <desc>removes all remaining use of APPLE_CHANGES</desc>
            <filename>NoAppleChangesPatch.txt</filename>
            <type>text/plain</type>
            <size>16900</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfZmxleGJveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9mbGV4Ym94LmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ZsZXhib3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OTEs
OCArNjkxLDcgQEAKICAgICB9CiAKICAgICAvLyBXZSBjb25maW5lIHRoZSBsaW5lIGNsYW1wIHVn
bGluZXNzIHRvIHZlcnRpY2FsIGZsZXhpYmxlIGJveGVzICh0aHVzIGtlZXBpbmcgaXQgb3V0IG9m
Ci0gICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQpIGFuZCBwdXQgaXQgYWxsIGluc2lkZSBB
UFBMRV9DSEFOR0VTIHRvIGRlbm90ZSB0aGF0IHRoaXMgaXMgbm90Ci0gICAgLy8gcmVhbGx5IHBh
cnQgb2YgdGhlIFhVTCBib3ggbW9kZWwuCisgICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQp
OyB0aGlzIGlzIG5vdCByZWFsbHkgcGFydCBvZiB0aGUgWFVMIGJveCBtb2RlbC4KICAgICBib29s
IGhhdmVMaW5lQ2xhbXAgPSBzdHlsZSgpLT5saW5lQ2xhbXAoKSA+PSAwICYmIHN0eWxlKCktPmxp
bmVDbGFtcCgpIDw9IDEwMDsKICAgICBpZiAoaGF2ZUxpbmVDbGFtcCkgewogICAgICAgICBpbnQg
bWF4TGluZUNvdW50ID0gMDsKSW5kZXg6IFdlYkNvcmUrU1ZHL2tkb20uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlK1NWRy9rZG9tLmgJKHJldmlzaW9uIDEyMDIyKQorKysgV2ViQ29yZStTVkcva2Rv
bS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsOSArMTI3LDYgQEAKICAgICB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgbG9uZyBET01UaW1lU3RhbXA7CiAKICAgICAvLyBEZWJ1Z2dpbmcgaGVscGVyCi0j
aWZuZGVmIEFQUExFX0NIQU5HRVMKLSAgICBpbmxpbmUga25kYmdzdHJlYW0gJm9wZXJhdG9yPDwo
a25kYmdzdHJlYW0gJnN0cmVhbSwgY29uc3QgRE9NU3RyaW5nICZzdHJpbmcpIHsgcmV0dXJuIChz
dHJlYW0gPDwgc3RyaW5nLnFzdHJpbmcoKSk7IH0KLSNlbmRpZgogICAgIGlubGluZSBrZGJnc3Ry
ZWFtICAmb3BlcmF0b3I8PChrZGJnc3RyZWFtICAmc3RyZWFtLCBjb25zdCBET01TdHJpbmcgJnN0
cmluZykgeyByZXR1cm4gKHN0cmVhbSA8PCBzdHJpbmcucXN0cmluZygpKTsgfQogfTsKIApJbmRl
eDogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTIwMjIpCisrKyBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTUyOTgsMTEgKzUy
OTgsNyBAQAogCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01Q
SUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3Jl
UHJlZml4Lmg7Ci0JCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQo
REVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExV
U1BMVVNfRE9NLAotCQkJCSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIk
KERFQlVHX0RFRklORVMpIjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVT
OwogCQkJCUdDQ19XQVJOX0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0Nf
V0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNTM5NiwxMSArNTM5Miw3IEBA
CiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJF
RklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXgu
aDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19E
RUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19E
T00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdf
REVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJ
R0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05P
Tl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03MDg0LDcgKzcwNzYsNiBAQAogCQkJCUdD
Q19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5oOwogCQkJCUdDQ19QUkVQUk9DRVNTT1Jf
REVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RFRklORVMpIiwKLQkJCQkJQVBQTEVfQ0hB
TkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1Nf
QVNfRVJST1JTID0gWUVTOwpAQCAtNzE0NCw3ICs3MTM1LDYgQEAKIAkJCQlHQ0NfUFJFRklYX0hF
QURFUiA9IFdlYkNvcmVQcmVmaXguaDsKIAkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05T
ID0gKAogCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCiAJCQkJ
CVNWR19TVVBQT1JULAogCQkJCSk7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9
IFlFUzsKQEAgLTcyMDQsNyArNzE5NCw2IEBACiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJD
b3JlUHJlZml4Lmg7CiAJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKIAkJCQkJ
IiQoREVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAogCQkJCQlTVkdfU1VQUE9S
VCwKIAkJCQkpOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CkBAIC03
MjY0LDcgKzcyNTMsNiBAQAogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwogCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsK
IAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwpAQCAtNzM1NywxMSArNzM0
NSw3IEBACiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CiAJCQkJR0NDX1BSRUNPTVBJ
TEVfUFJFRklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQ
cmVmaXguaDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChE
RUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVT
UExVU19ET00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQo
REVCVUdfREVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7
CiAJCQkJR0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19X
QVJOX05PTl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03NDE3LDExICs3NDAxLDcgQEAK
IAkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gczsKIAkJCQlHQ0NfUFJFQ09NUElMRV9QUkVG
SVhfSEVBREVSID0gWUVTOwogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwotCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCi0JCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKLQkJCQkJS0hUTUxfTk9fQ1BMVVNQTFVTX0RP
TSwKLQkJCQkpOworCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAiJChERUJVR19E
RUZJTkVTKSI7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKIAkJCQlH
Q0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fTk9O
X1ZJUlRVQUxfREVTVFJVQ1RPUiA9IFlFUzsKQEAgLTc0NzcsMTEgKzc0NTcsNyBAQAogCQkJCUdD
Q19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFE
RVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7Ci0JCQkJ
R0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQoREVCVUdfREVGSU5FUyki
LAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExVU1BMVVNfRE9NLAotCQkJ
CSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIkKERFQlVHX0RFRklORVMp
IjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwogCQkJCUdDQ19XQVJO
X0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0NfV0FSTl9OT05fVklSVFVB
TF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNzUzNywxMSArNzUxMyw3IEBACiAJCQkJR0NDX09QVElN
SVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlF
UzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLQkJCQlHQ0NfUFJF
UFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJ
CUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19ET00sCi0JCQkJKTsKKwkJ
CQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdfREVGSU5FUykiOwogCQkJ
CUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fQUJPVVRf
TUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05PTl9WSVJUVUFMX0RFU1RS
VUNUT1IgPSBZRVM7CkluZGV4OiBrY2FudmFzL0tDYW52YXNUcmVlRGVidWcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGtjYW52YXMvS0NhbnZhc1RyZWVEZWJ1Zy5jcHAJKHJldmlzaW9uIDEyMDIyKQorKysg
a2NhbnZhcy9LQ2FudmFzVHJlZURlYnVnLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsOSArNDQs
NyBAQAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1Jlc291cmNlcy5oPgogI2luY2x1ZGUgPGtj
YW52YXMvS0NhbnZhc0ZpbHRlcnMuaD4KIAotI2lmZGVmIEFQUExFX0NIQU5HRVMKICNpbmNsdWRl
ICJLV1FSZW5kZXJUcmVlRGVidWcuaCIKLSNlbmRpZgogCiAjaW5jbHVkZSA8a3htbGNvcmUvQXNz
ZXJ0aW9ucy5oPgogCkBAIC00MDMsNCArNDAxLDMgQEAKICAgICAKICAgICByZXR1cm4gdHM7CiB9
Ci0KSW5kZXg6IGtjYW52YXMvS0NhbnZhc0ZpbHRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFz
L0tDYW52YXNGaWx0ZXJzLmgJKHJldmlzaW9uIDEyMDIyKQorKysga2NhbnZhcy9LQ2FudmFzRmls
dGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxNiBAQAogCiAjaW5jbHVkZSAiS0Nh
bnZhc1Jlc291cmNlcy5oIgogI2luY2x1ZGUgPFFTaXplRj4KKyNpbmNsdWRlIDxxY29sb3IuaD4K
KyNpbmNsdWRlIDxxc3RyaW5nbGlzdC5oPgorCisjaWZkZWYgX19PQkpDX18KK0BjbGFzcyBDSUZp
bHRlcjsKKyNlbHNlCitjbGFzcyBDSUZpbHRlcjsKKyNlbmRpZgorY2xhc3MgS0NhbnZhc0ZpbHRl
clF1YXJ0ejsKKwogLy8gRW51bWVyYXRpb25zCiB0eXBlZGVmIGVudW0KIHsKQEAgLTUwLDkgKzYw
LDYgQEAKICAgICBGRV9UVVJCVUxFTkNFID0gMTgKIH0gS0NGaWx0ZXJFZmZlY3RUeXBlOwogCi0j
aW5jbHVkZSA8cWNvbG9yLmg+Ci0jaW5jbHVkZSA8cXN0cmluZ2xpc3QuaD4KLQogY2xhc3MgS0Nh
bnZhc1BvaW50M0YgewogcHVibGljOgogICAgIEtDYW52YXNQb2ludDNGKCkgOiBtX3goMCksIG1f
eSgwKSwgbV96KDApIHsgfQpAQCAtMTExLDE2ICsxMTgsNiBAQAogCiBLQ2FudmFzRmlsdGVyICpn
ZXRGaWx0ZXJCeUlkKEtET006OkRvY3VtZW50SW1wbCAqZG9jdW1lbnQsIGNvbnN0IEtET006OkRP
TVN0cmluZyAmaWQpOwogCi0jaWZkZWYgQVBQTEVfQ0hBTkdFUwotLy8gRklYTUU6IHRoaXMgc3Ry
aWtlcyBtZSBhcyBhIHRvdGFsIGhhY2suLi4KLSNpZmRlZiBfX09CSkNfXwotQGNsYXNzIENJRmls
dGVyOwotI2Vsc2UKLWNsYXNzIENJRmlsdGVyOwotI2VuZGlmCi1jbGFzcyBLQ2FudmFzRmlsdGVy
UXVhcnR6OwotI2VuZGlmCi0KIGNsYXNzIEtDYW52YXNGaWx0ZXJFZmZlY3QKIHsKIHB1YmxpYzoK
QEAgLTEzOCw5ICsxMzUsOSBAQAogCiAgICAgUVN0cmluZyByZXN1bHQoKSBjb25zdDsKICAgICB2
b2lkIHNldFJlc3VsdChjb25zdCBRU3RyaW5nICZyZXN1bHQpOwotICAgIAotI2lmZGVmIEFQUExF
X0NIQU5HRVMKLSAgICB2aXJ0dWFsIENJRmlsdGVyICpnZXRDSUZpbHRlcihLQ2FudmFzRmlsdGVy
UXVhcnR6ICpxdWFydHpGaWx0ZXIpIGNvbnN0ID0gMDsKKworI2lmIF9fQVBQTEVfXworICAgIHZp
cnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKEtDYW52YXNGaWx0ZXJRdWFydHoqKSBjb25zdCA9
IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUVRleHRTdHJlYW0gJmV4dGVybmFsUmVwcmVzZW50
YXRpb24oUVRleHRTdHJlYW0gJikgY29uc3Q7CkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjAyOCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDM5IEBACisyMDA2LTAxLTEyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDgK
KyAgICAgICAgICByZXRpcmUgQVBQTEVfQ0hBTkdFUworCisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAg
ICAgICAgSEFWRV9DT05GSUdfSCBhbnkgbW9yZS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAgICAgICAg
S0hUTUxfTk9fQ1BMVVNQTFVTX0RPTSBhbnkgbW9yZS4KKworICAgICAgICAqIGtjYW52YXMvS0Nh
bnZhc0ZpbHRlcnMuaDoKKyAgICAgICAgVXNlIF9fQVBQTEVfXyBpbnN0ZWFkIG9mIEFQUExFX0NI
QU5HRVMuCisKKyAgICAgICAgKiBicmlkZ2UvbWFjL01hY0ZyYW1lLm1tOiAoTWFjRnJhbWU6OnJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cyk6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFzVHJlZURl
YnVnLmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcDogKFNWR0FF
bGVtZW50SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0VsZW1lbnRJbXBsLmg6IChLU1ZHOjpzdmdfZHluYW1pY19jYXN0KToKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHU2NyaXB0RWxlbWVudEltcGwuY3BwOiAoU1ZHU2NyaXB0RWxlbWVudEltcGw6OmV4
ZWN1dGVTY3JpcHQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOiAoRnJhbWU6OnBhaW50KToK
KyAgICAgICAgTWFrZSBzb21lIEFQUExFX0NIQU5HRVMgY29kZSB1bmNvbmRpdGlvbmFsLgorCisg
ICAgICAgICogV2ViQ29yZStTVkcva2RvbS5oOgorICAgICAgICAqIGtzdmcyL2VjbWEvRWNtYS5j
cHA6IChFY21hOjpzZXR1cERvY3VtZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQ3Vyc29y
RWxlbWVudEltcGwuY3BwOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnRJbXBs
LmNwcDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgIUFQUExFX0NIQU5HRVMgY29kZS4KKworICAgICAg
ICAqIGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgdW5u
ZWVkZWQgQVBQTEVfQ0hBTkdFUyBjb2RlLgorCisgICAgICAgICoga2h0bWwvcmVuZGVyaW5nL3Jl
bmRlcl9mbGV4Ym94LmNwcDogKGtodG1sOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0VmVydGlj
YWxCb3gpOgorICAgICAgICBSZW1vdmUgYSBtaXNsZWFkaW5nIG1lbnRpb24gb2YgQVBQTEVfQ0hB
TkdFUyBpbiBhIGNvbW1lbnQuCisKIDIwMDYtMDEtMTIgIE1pdHogUGV0dGVsICA8b3BlbmRhcndp
bi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYW5kIGxhbmRlZCBieSBE
YXJpbi4KSW5kZXg6IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24g
MTIwMjIpCisrKyBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJ
CQkJT3B0aW1pemF0aW9uPSIwIg0KIAkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxpY29udlxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29s
dXRpb25EaXIpXC4uXC4uXGljdVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4u
XC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXC4uXGxpYnhz
bHRcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxjc3MmcXVvdDs7
JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcZG9tJnF1b3Q7OyZxdW90OyQoU29sdXRpb25E
aXIpXC4uXGtodG1sXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxc
aHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxtaXNjJnF1b3Q7OyZxdW90
OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxraHRtbFx4bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxceHNs
JnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sJnF1b3Q7OyZxdW90OyQoU29sdXRp
b25EaXIpXC4uXGt3cSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKS4uXC4uXEphdmFTY3JpcHRDb3JlXG9zLXdp
bjMyJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iSEFWRV9DT05GSUdfSDsgV0lOMzI7IEFQ
UExFX0NIQU5HRVM7IEtIVE1MX05PX1hCTDsgS0hUTUxfWFNMVCINCisJCQkJUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM9IldJTjMyOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQogCQkJCU1pbmlt
YWxSZWJ1aWxkPSJ0cnVlIg0KIAkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiDQogCQkJCVJ1bnRp
bWVMaWJyYXJ5PSIzIg0KQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCiAJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5caWNvbnZcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0
aW9uRGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwu
LlxsaWJ4bWxcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxsaWJ4c2x0
XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcY3NzJnF1b3Q7OyZx
dW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGly
KVwuLlxraHRtbFxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGh0
bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcbWlzYyZxdW90OzsmcXVvdDsk
KFNvbHV0aW9uRGlyKVwuLlxraHRtbFxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRp
cilcLi5ca2h0bWxceG1sJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHhzbCZx
dW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxrd3EmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5cSmF2YVNjcmlwdENv
cmUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcikuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4z
MiZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyIN
Ci0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IkhBVkVfQ09ORklHX0g7IFdJTjMyOyBBUFBM
RV9DSEFOR0VTOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQorCQkJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJXSU4zMjsgS0hUTUxfTk9fWEJMOyBLSFRNTF9YU0xUIg0KIAkJCQlSdW50aW1l
TGlicmFyeT0iMiINCiAJCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQogCQkJCVdhcm5pbmdM
ZXZlbD0iMSINCkluZGV4OiBicmlkZ2UvbWFjL01hY0ZyYW1lLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJy
aWRnZS9tYWMvTWFjRnJhbWUubW0JKHJldmlzaW9uIDEyMDIyKQorKysgYnJpZGdlL21hYy9NYWNG
cmFtZS5tbQkod29ya2luZyBjb3B5KQpAQCAtODUsOSArODUsNyBAQAogI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvTlBfanNvYmplY3QuaD4KIAotI2lmIEFQUExFX0NIQU5HRVMKICNpbXBvcnQgIktXUUFjY09i
amVjdENhY2hlLmgiCi0jZW5kaWYKIAogI3VuZGVmIF9LV1FfVElNSU5HCiAKQEAgLTMzNzUsMTEg
KzMzNzMsOCBAQAogCiB2b2lkIE1hY0ZyYW1lOjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQog
ewotI2lmIEFQUExFX0NIQU5HRVMKLSAgICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2li
aWxpdHlFbmFibGVkKCkpIHsKKyAgICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxp
dHlFbmFibGVkKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmdldEFjY09iamVj
dENhY2hlKCktPnBvc3ROb3RpZmljYXRpb25Ub1RvcFdlYkFyZWEocmVuZGVyZXIoKSwgIkFYVmFs
dWVDaGFuZ2VkIik7Ci0gICAgfQotI2VuZGlmCiAgICAgW19icmlkZ2UgcmVzcG9uZFRvQ2hhbmdl
ZENvbnRlbnRzXTsKIH0KIApJbmRleDoga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysg
a3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE2ICs5NCw4
IEBACiBuYW1lc3BhY2UgS1NWRyB7CiAgICAgc3RhdGljIGlubGluZSBTVkdFbGVtZW50SW1wbCAq
c3ZnX2R5bmFtaWNfY2FzdChLRE9NOjpOb2RlSW1wbCAqbm9kZSkgewogICAgICAgICBTVkdFbGVt
ZW50SW1wbCAqc3ZnRWxlbWVudCA9IE5VTEw7Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAgICBp
ZiAobm9kZSAmJiBub2RlLT5pc1NWR0VsZW1lbnQoKSkKICAgICAgICAgICAgIHN2Z0VsZW1lbnQg
PSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50SW1wbCAqPihub2RlKTsKLSNlbHNlCi0gICAgICAgIGlm
IChub2RlICYmIChub2RlLT5ub2RlVHlwZSgpID09IEtET006OkVMRU1FTlRfTk9ERSkpIHsKLSAg
ICAgICAgICAgIEtET006OkVsZW1lbnRJbXBsICplbGVtZW50ID0gc3RhdGljX2Nhc3Q8S0RPTTo6
RWxlbWVudEltcGwgKj4obm9kZSk7Ci0gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiAoS0RPTTo6
RE9NU3RyaW5nKGVsZW1lbnQtPm5hbWVzcGFjZVVSSSgpKSA9PSBLRE9NOjpOU19TVkcpKQotICAg
ICAgICAgICAgICAgIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50SW1wbCAqPihl
bGVtZW50KTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIHJldHVybiBzdmdFbGVtZW50Owog
ICAgIH0KIH07CkluZGV4OiBrc3ZnMi9zdmcvU1ZHSW1hZ2VFbGVtZW50SW1wbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga3N2ZzIvc3ZnL1NWR0ltYWdlRWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjAy
MikKKysrIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzUsOSArMzUsNiBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nSW1wbC5oIgogI2lu
Y2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJl
c2VydmVBc3BlY3RSYXRpb0ltcGwuaCIKLSNpZm5kZWYgQVBQTEVfQ0hBTkdFUwotI2luY2x1ZGUg
IktTVkdEb2N1bWVudEJ1aWxkZXIuaCIKLSNlbmRpZgogI2luY2x1ZGUgIlNWR0RvY3VtZW50SW1w
bC5oIgogI2luY2x1ZGUgPGtzdmcyL0tTVkdWaWV3Lmg+CiAKQEAgLTQ4LDkgKzQ1LDYgQEAKICNp
bmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+CiAKICNpbmNsdWRlIDxrZG9tL3BhcnNlci9L
RE9NUGFyc2VyLmg+Ci0jaWZuZGVmIEFQUExFX0NIQU5HRVMKLSNpbmNsdWRlIDxrZG9tL3BhcnNl
ci9LRE9NUGFyc2VyRmFjdG9yeS5oPgotI2VuZGlmCiAjaW5jbHVkZSA8a2RvbS9jb3JlL0RPTUNv
bmZpZ3VyYXRpb25JbXBsLmg+CiAKICNpbmNsdWRlIDxreG1sY29yZS9Bc3NlcnRpb25zLmg+Cklu
ZGV4OiBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9z
dmcvU1ZHQUVsZW1lbnRJbXBsLmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBrc3ZnMi9zdmcvU1ZH
QUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTEgKzk0LDcgQEAKICAgICAg
ICAgICAgIEtET006OkV2ZW50VGFyZ2V0SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAg
ICB1cmwgPSBraHRtbDo6cGFyc2VVUkwoaHJlZigpLT5iYXNlVmFsKCkpLnFzdHJpbmcoKTsKLSNl
bHNlCi0gICAgICAgIHVybCA9IEtET006OkRPTVN0cmluZyhLRE9NOjpIZWxwZXI6OnBhcnNlVVJM
KGhyZWYoKS0+YmFzZVZhbCgpKSkucXN0cmluZygpOwotI2VuZGlmCiAgICAgICAgIGtkRGVidWco
KSA8PCAidXJsIDogIiA8PCB1cmwgPDwgZW5kbDsKICAgICAgICAgdXRhcmdldCA9IEtET006OkRP
TVN0cmluZyhnZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6OnRhcmdldEF0dHIpKS5xc3RyaW5nKCk7CiAg
ICAgICAgIGtkRGVidWcoKSA8PCAidXRhcmdldCA6ICIgPDwgdXRhcmdldCA8PCBlbmRsOwpJbmRl
eDoga3N2ZzIvc3ZnL1NWR1NjcmlwdEVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3Zn
Mi9zdmcvU1ZHU2NyaXB0RWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjAyMikKKysrIGtzdmcy
L3N2Zy9TVkdTY3JpcHRFbGVtZW50SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcy
LDcgQEAKICAgICBpZighZWNtYUVuZ2luZSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
ICAgIAotI2lmZGVmIEFQUExFX0NIQU5HRVMKICAgICBLSlM6OkludGVycHJldGVyOjpsb2NrKCk7
Ci0jZW5kaWYKIAogICAgIC8vIFJ1biBzY3JpcHQKICAgICBLSlM6OkNvbXBsZXRpb24gY29tcCA9
IGVjbWFFbmdpbmUtPmV2YWx1YXRlKGpzQ29kZS5xc3RyaW5nKCksIGVjbWFFbmdpbmUtPmdsb2Jh
bE9iamVjdCgpKTsKQEAgLTEwNyw5ICsxMDUsNyBAQAogICAgIGVsc2UgaWYoY29tcC5jb21wbFR5
cGUoKSA9PSBLSlM6Ok5vcm1hbCkKICAgICAgICAga2REZWJ1ZygpIDw8ICJbU1ZHU2NyaXB0RWxl
bWVudF0gRXZhbHVhdGVkIGVjbWEgc2NyaXB0ISIgPDwgZW5kbDsKICAgICAKLSNpZmRlZiBBUFBM
RV9DSEFOR0VTCiAgICAgS0pTOjpJbnRlcnByZXRlcjo6dW5sb2NrKCk7Ci0jZW5kaWYKICNlbHNl
CiAgICAgaWYgKGpzQ29kZSkKICAgICAgICAgLy8gSGFjayB0byBjbG9zZSBtZW1vcnkgbGVhayBk
dWUgdG8gI2lmIDAKSW5kZXg6IGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBrc3ZnMi9zdmcvU1ZHRG9jdW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysga3N2
ZzIvc3ZnL1NWR0RvY3VtZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMyArMzEsNiBA
QAogCiAjaW5jbHVkZSA8a3N2ZzIvbWlzYy9LU1ZHVGltZVNjaGVkdWxlci5oPgogCi0jaWZkZWYg
QVBQTEVfQ0hBTkdFUwotY2xhc3MgS0hUTUxWaWV3OwotbmFtZXNwYWNlIEtET00gewotICAgIHVz
aW5nIDo6S0hUTUxWaWV3OwotfQotI2VuZGlmCi0KIG5hbWVzcGFjZSBLU1ZHCiB7CiAgICAgY2xh
c3MgU1ZHRWxlbWVudEltcGw7CkluZGV4OiBrc3ZnMi9zdmcvU1ZHQ3Vyc29yRWxlbWVudEltcGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdDdXJzb3JFbGVtZW50SW1wbC5jcHAJKHJl
dmlzaW9uIDEyMDIyKQorKysga3N2ZzIvc3ZnL1NWR0N1cnNvckVsZW1lbnRJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzIsMTQgKzMyLDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0
aEltcGwuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZ0ltcGwuaCIKIAotI2lmbmRlZiBB
UFBMRV9DSEFOR0VTCi0jaW5jbHVkZSAiaW1sb2FkL2ltYWdlcGFpbnRlci5oIgotI2VuZGlmCi0K
IHVzaW5nIG5hbWVzcGFjZSBLU1ZHOwotI2lmbmRlZiBBUFBMRV9DSEFOR0VTCi11c2luZyBuYW1l
c3BhY2Uga2h0bWxJbUxvYWQ7Ci0jZW5kaWYKIAogU1ZHQ3Vyc29yRWxlbWVudEltcGw6OlNWR0N1
cnNvckVsZW1lbnRJbXBsKGNvbnN0IEtET006OlF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIEtET006
OkRvY3VtZW50SW1wbCAqZG9jKQogOiBTVkdFbGVtZW50SW1wbCh0YWdOYW1lLCBkb2MpLCBTVkdU
ZXN0c0ltcGwoKSwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEltcGwoKSwgU1ZHVVJJUmVm
ZXJlbmNlSW1wbCgpLCBLRE9NOjpDYWNoZWRPYmplY3RDbGllbnQoKQpJbmRleDoga3N2ZzIvZWNt
YS9FY21hLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9lY21hL0VjbWEuY3BwCShyZXZpc2lvbiAx
MjAyMikKKysrIGtzdmcyL2VjbWEvRWNtYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw5ICsx
MTYsNiBAQAogICAgIFNWR0RvY3VtZW50IGRvY09iaihzdmdEb2N1bWVudCk7CiAKICAgICBLSlM6
OkpTT2JqZWN0ICpranNPYmogPSBkb2NPYmouYnJpZGdlKGludGVycHJldGVyKCktPmdsb2JhbEV4
ZWMoKSk7Ci0jaWZuZGVmIEFQUExFX0NIQU5HRVMKLSAgICBranNPYmotPnJlZigpOwotI2VuZGlm
CiAKICAgICBpbnRlcnByZXRlcigpLT5wdXRET01PYmplY3Qoc3ZnRG9jdW1lbnQsIGtqc09iaik7
CiAgICAgc3ZnRG9jdW1lbnQtPmRlcmVmKCk7CkluZGV4OiBwYWdlL0ZyYW1lLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBwYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBwYWdlL0ZyYW1lLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMwNiwxMSArMzMwNiw5IEBACiAgICAgICAgIFJlbmRlck9i
amVjdCAqZWx0UmVuZGVyZXIgPSBfZWxlbWVudFRvRHJhdyA/IF9lbGVtZW50VG9EcmF3LT5yZW5k
ZXJlcigpIDogMDsKICAgICAgICAgcmVuZGVyZXIoKS0+bGF5ZXIoKS0+cGFpbnQocCwgcmVjdCwg
X2RyYXdTZWxlY3Rpb25Pbmx5LCBlbHRSZW5kZXJlcik7CiAgICAgICAgIAotI2lmIEFQUExFX0NI
QU5HRVMKICAgICAgICAgLy8gUmVnaW9ucyBtYXkgaGF2ZSBjaGFuZ2VkIGFzIGEgcmVzdWx0IG9m
IHRoZSB2aXNpYmlsaXR5L3otaW5kZXggb2YgZWxlbWVudCBjaGFuZ2luZy4KICAgICAgICAgaWYg
KHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmRhc2hib2FyZFJlZ2lvbnNEaXJ0eSgpKQogICAgICAg
ICAgICAgcmVuZGVyZXIoKS0+Y2FudmFzKCktPnZpZXcoKS0+dXBkYXRlRGFzaGJvYXJkUmVnaW9u
cygpOwotI2VuZGlmCiAgICAgfSBlbHNlCiAgICAgICAgIEVSUk9SKCJjYWxsZWQgRnJhbWU6OnBh
aW50IHdpdGggbmlsIHJlbmRlcmVyIik7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5622</attachid>
            <date>2006-01-12 09:24:24 -0800</date>
            <delta_ts>2006-01-12 09:55:29 -0800</delta_ts>
            <desc>remove all remaining APPLE_CHANGES (tested, unlike previous try)</desc>
            <filename>NoAppleChangesPatch.txt</filename>
            <type>text/plain</type>
            <size>16894</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfZmxleGJveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9mbGV4Ym94LmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ZsZXhib3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OTEs
OCArNjkxLDcgQEAKICAgICB9CiAKICAgICAvLyBXZSBjb25maW5lIHRoZSBsaW5lIGNsYW1wIHVn
bGluZXNzIHRvIHZlcnRpY2FsIGZsZXhpYmxlIGJveGVzICh0aHVzIGtlZXBpbmcgaXQgb3V0IG9m
Ci0gICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQpIGFuZCBwdXQgaXQgYWxsIGluc2lkZSBB
UFBMRV9DSEFOR0VTIHRvIGRlbm90ZSB0aGF0IHRoaXMgaXMgbm90Ci0gICAgLy8gcmVhbGx5IHBh
cnQgb2YgdGhlIFhVTCBib3ggbW9kZWwuCisgICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQp
OyB0aGlzIGlzIG5vdCByZWFsbHkgcGFydCBvZiB0aGUgWFVMIGJveCBtb2RlbC4KICAgICBib29s
IGhhdmVMaW5lQ2xhbXAgPSBzdHlsZSgpLT5saW5lQ2xhbXAoKSA+PSAwICYmIHN0eWxlKCktPmxp
bmVDbGFtcCgpIDw9IDEwMDsKICAgICBpZiAoaGF2ZUxpbmVDbGFtcCkgewogICAgICAgICBpbnQg
bWF4TGluZUNvdW50ID0gMDsKSW5kZXg6IFdlYkNvcmUrU1ZHL2tkb20uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlK1NWRy9rZG9tLmgJKHJldmlzaW9uIDEyMDIyKQorKysgV2ViQ29yZStTVkcva2Rv
bS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsOSArMTI3LDYgQEAKICAgICB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgbG9uZyBET01UaW1lU3RhbXA7CiAKICAgICAvLyBEZWJ1Z2dpbmcgaGVscGVyCi0j
aWZuZGVmIEFQUExFX0NIQU5HRVMKLSAgICBpbmxpbmUga25kYmdzdHJlYW0gJm9wZXJhdG9yPDwo
a25kYmdzdHJlYW0gJnN0cmVhbSwgY29uc3QgRE9NU3RyaW5nICZzdHJpbmcpIHsgcmV0dXJuIChz
dHJlYW0gPDwgc3RyaW5nLnFzdHJpbmcoKSk7IH0KLSNlbmRpZgogICAgIGlubGluZSBrZGJnc3Ry
ZWFtICAmb3BlcmF0b3I8PChrZGJnc3RyZWFtICAmc3RyZWFtLCBjb25zdCBET01TdHJpbmcgJnN0
cmluZykgeyByZXR1cm4gKHN0cmVhbSA8PCBzdHJpbmcucXN0cmluZygpKTsgfQogfTsKIApJbmRl
eDogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTIwMjIpCisrKyBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTUyOTgsMTEgKzUy
OTgsNyBAQAogCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01Q
SUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3Jl
UHJlZml4Lmg7Ci0JCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQo
REVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExV
U1BMVVNfRE9NLAotCQkJCSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIk
KERFQlVHX0RFRklORVMpIjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVT
OwogCQkJCUdDQ19XQVJOX0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0Nf
V0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNTM5NiwxMSArNTM5Miw3IEBA
CiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJF
RklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXgu
aDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19E
RUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19E
T00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdf
REVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJ
R0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05P
Tl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03MDg0LDcgKzcwNzYsNiBAQAogCQkJCUdD
Q19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5oOwogCQkJCUdDQ19QUkVQUk9DRVNTT1Jf
REVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RFRklORVMpIiwKLQkJCQkJQVBQTEVfQ0hB
TkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1Nf
QVNfRVJST1JTID0gWUVTOwpAQCAtNzE0NCw3ICs3MTM1LDYgQEAKIAkJCQlHQ0NfUFJFRklYX0hF
QURFUiA9IFdlYkNvcmVQcmVmaXguaDsKIAkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05T
ID0gKAogCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCiAJCQkJ
CVNWR19TVVBQT1JULAogCQkJCSk7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9
IFlFUzsKQEAgLTcyMDQsNyArNzE5NCw2IEBACiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJD
b3JlUHJlZml4Lmg7CiAJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKIAkJCQkJ
IiQoREVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAogCQkJCQlTVkdfU1VQUE9S
VCwKIAkJCQkpOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CkBAIC03
MjY0LDcgKzcyNTMsNiBAQAogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwogCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsK
IAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwpAQCAtNzM1NywxMSArNzM0
NSw3IEBACiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CiAJCQkJR0NDX1BSRUNPTVBJ
TEVfUFJFRklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQ
cmVmaXguaDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChE
RUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVT
UExVU19ET00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQo
REVCVUdfREVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7
CiAJCQkJR0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19X
QVJOX05PTl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03NDE3LDExICs3NDAxLDcgQEAK
IAkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gczsKIAkJCQlHQ0NfUFJFQ09NUElMRV9QUkVG
SVhfSEVBREVSID0gWUVTOwogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwotCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCi0JCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKLQkJCQkJS0hUTUxfTk9fQ1BMVVNQTFVTX0RP
TSwKLQkJCQkpOworCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAiJChERUJVR19E
RUZJTkVTKSI7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKIAkJCQlH
Q0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fTk9O
X1ZJUlRVQUxfREVTVFJVQ1RPUiA9IFlFUzsKQEAgLTc0NzcsMTEgKzc0NTcsNyBAQAogCQkJCUdD
Q19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFE
RVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7Ci0JCQkJ
R0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQoREVCVUdfREVGSU5FUyki
LAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExVU1BMVVNfRE9NLAotCQkJ
CSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIkKERFQlVHX0RFRklORVMp
IjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwogCQkJCUdDQ19XQVJO
X0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0NfV0FSTl9OT05fVklSVFVB
TF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNzUzNywxMSArNzUxMyw3IEBACiAJCQkJR0NDX09QVElN
SVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlF
UzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLQkJCQlHQ0NfUFJF
UFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJ
CUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19ET00sCi0JCQkJKTsKKwkJ
CQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdfREVGSU5FUykiOwogCQkJ
CUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fQUJPVVRf
TUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05PTl9WSVJUVUFMX0RFU1RS
VUNUT1IgPSBZRVM7CkluZGV4OiBrY2FudmFzL0tDYW52YXNUcmVlRGVidWcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGtjYW52YXMvS0NhbnZhc1RyZWVEZWJ1Zy5jcHAJKHJldmlzaW9uIDEyMDIyKQorKysg
a2NhbnZhcy9LQ2FudmFzVHJlZURlYnVnLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsOSArNDQs
NyBAQAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1Jlc291cmNlcy5oPgogI2luY2x1ZGUgPGtj
YW52YXMvS0NhbnZhc0ZpbHRlcnMuaD4KIAotI2lmZGVmIEFQUExFX0NIQU5HRVMKICNpbmNsdWRl
ICJLV1FSZW5kZXJUcmVlRGVidWcuaCIKLSNlbmRpZgogCiAjaW5jbHVkZSA8a3htbGNvcmUvQXNz
ZXJ0aW9ucy5oPgogCkBAIC00MDMsNCArNDAxLDMgQEAKICAgICAKICAgICByZXR1cm4gdHM7CiB9
Ci0KSW5kZXg6IGtjYW52YXMvS0NhbnZhc0ZpbHRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFz
L0tDYW52YXNGaWx0ZXJzLmgJKHJldmlzaW9uIDEyMDIyKQorKysga2NhbnZhcy9LQ2FudmFzRmls
dGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxNiBAQAogCiAjaW5jbHVkZSAiS0Nh
bnZhc1Jlc291cmNlcy5oIgogI2luY2x1ZGUgPFFTaXplRj4KKyNpbmNsdWRlIDxxY29sb3IuaD4K
KyNpbmNsdWRlIDxxc3RyaW5nbGlzdC5oPgorCisjaWZkZWYgX19PQkpDX18KK0BjbGFzcyBDSUZp
bHRlcjsKKyNlbHNlCitjbGFzcyBDSUZpbHRlcjsKKyNlbmRpZgorY2xhc3MgS0NhbnZhc0ZpbHRl
clF1YXJ0ejsKKwogLy8gRW51bWVyYXRpb25zCiB0eXBlZGVmIGVudW0KIHsKQEAgLTUwLDkgKzYw
LDYgQEAKICAgICBGRV9UVVJCVUxFTkNFID0gMTgKIH0gS0NGaWx0ZXJFZmZlY3RUeXBlOwogCi0j
aW5jbHVkZSA8cWNvbG9yLmg+Ci0jaW5jbHVkZSA8cXN0cmluZ2xpc3QuaD4KLQogY2xhc3MgS0Nh
bnZhc1BvaW50M0YgewogcHVibGljOgogICAgIEtDYW52YXNQb2ludDNGKCkgOiBtX3goMCksIG1f
eSgwKSwgbV96KDApIHsgfQpAQCAtMTExLDE2ICsxMTgsNiBAQAogCiBLQ2FudmFzRmlsdGVyICpn
ZXRGaWx0ZXJCeUlkKEtET006OkRvY3VtZW50SW1wbCAqZG9jdW1lbnQsIGNvbnN0IEtET006OkRP
TVN0cmluZyAmaWQpOwogCi0jaWZkZWYgQVBQTEVfQ0hBTkdFUwotLy8gRklYTUU6IHRoaXMgc3Ry
aWtlcyBtZSBhcyBhIHRvdGFsIGhhY2suLi4KLSNpZmRlZiBfX09CSkNfXwotQGNsYXNzIENJRmls
dGVyOwotI2Vsc2UKLWNsYXNzIENJRmlsdGVyOwotI2VuZGlmCi1jbGFzcyBLQ2FudmFzRmlsdGVy
UXVhcnR6OwotI2VuZGlmCi0KIGNsYXNzIEtDYW52YXNGaWx0ZXJFZmZlY3QKIHsKIHB1YmxpYzoK
QEAgLTEzOCw5ICsxMzUsOSBAQAogCiAgICAgUVN0cmluZyByZXN1bHQoKSBjb25zdDsKICAgICB2
b2lkIHNldFJlc3VsdChjb25zdCBRU3RyaW5nICZyZXN1bHQpOwotICAgIAotI2lmZGVmIEFQUExF
X0NIQU5HRVMKLSAgICB2aXJ0dWFsIENJRmlsdGVyICpnZXRDSUZpbHRlcihLQ2FudmFzRmlsdGVy
UXVhcnR6ICpxdWFydHpGaWx0ZXIpIGNvbnN0ID0gMDsKKworI2lmIF9fQVBQTEVfXworICAgIHZp
cnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKEtDYW52YXNGaWx0ZXJRdWFydHoqKSBjb25zdCA9
IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUVRleHRTdHJlYW0gJmV4dGVybmFsUmVwcmVzZW50
YXRpb24oUVRleHRTdHJlYW0gJikgY29uc3Q7CkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjAyOCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDM5IEBACisyMDA2LTAxLTEyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDgK
KyAgICAgICAgICByZXRpcmUgQVBQTEVfQ0hBTkdFUworCisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAg
ICAgICAgSEFWRV9DT05GSUdfSCBhbnkgbW9yZS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAgICAgICAg
S0hUTUxfTk9fQ1BMVVNQTFVTX0RPTSBhbnkgbW9yZS4KKworICAgICAgICAqIGtjYW52YXMvS0Nh
bnZhc0ZpbHRlcnMuaDoKKyAgICAgICAgVXNlIF9fQVBQTEVfXyBpbnN0ZWFkIG9mIEFQUExFX0NI
QU5HRVMuCisKKyAgICAgICAgKiBicmlkZ2UvbWFjL01hY0ZyYW1lLm1tOiAoTWFjRnJhbWU6OnJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cyk6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFzVHJlZURl
YnVnLmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcDogKFNWR0FF
bGVtZW50SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0VsZW1lbnRJbXBsLmg6IChLU1ZHOjpzdmdfZHluYW1pY19jYXN0KToKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHU2NyaXB0RWxlbWVudEltcGwuY3BwOiAoU1ZHU2NyaXB0RWxlbWVudEltcGw6OmV4
ZWN1dGVTY3JpcHQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOiAoRnJhbWU6OnBhaW50KToK
KyAgICAgICAgTWFrZSBzb21lIEFQUExFX0NIQU5HRVMgY29kZSB1bmNvbmRpdGlvbmFsLgorCisg
ICAgICAgICogV2ViQ29yZStTVkcva2RvbS5oOgorICAgICAgICAqIGtzdmcyL2VjbWEvRWNtYS5j
cHA6IChFY21hOjpzZXR1cERvY3VtZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQ3Vyc29y
RWxlbWVudEltcGwuY3BwOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnRJbXBs
LmNwcDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgIUFQUExFX0NIQU5HRVMgY29kZS4KKworICAgICAg
ICAqIGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgdW5u
ZWVkZWQgQVBQTEVfQ0hBTkdFUyBjb2RlLgorCisgICAgICAgICoga2h0bWwvcmVuZGVyaW5nL3Jl
bmRlcl9mbGV4Ym94LmNwcDogKGtodG1sOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0VmVydGlj
YWxCb3gpOgorICAgICAgICBSZW1vdmUgYSBtaXNsZWFkaW5nIG1lbnRpb24gb2YgQVBQTEVfQ0hB
TkdFUyBpbiBhIGNvbW1lbnQuCisKIDIwMDYtMDEtMTIgIE1pdHogUGV0dGVsICA8b3BlbmRhcndp
bi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYW5kIGxhbmRlZCBieSBE
YXJpbi4KSW5kZXg6IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24g
MTIwMjIpCisrKyBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJ
CQkJT3B0aW1pemF0aW9uPSIwIg0KIAkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxpY29udlxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29s
dXRpb25EaXIpXC4uXC4uXGljdVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4u
XC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXC4uXGxpYnhz
bHRcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxjc3MmcXVvdDs7
JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcZG9tJnF1b3Q7OyZxdW90OyQoU29sdXRpb25E
aXIpXC4uXGtodG1sXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxc
aHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxtaXNjJnF1b3Q7OyZxdW90
OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxraHRtbFx4bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxceHNs
JnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sJnF1b3Q7OyZxdW90OyQoU29sdXRp
b25EaXIpXC4uXGt3cSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKS4uXC4uXEphdmFTY3JpcHRDb3JlXG9zLXdp
bjMyJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iSEFWRV9DT05GSUdfSDsgV0lOMzI7IEFQ
UExFX0NIQU5HRVM7IEtIVE1MX05PX1hCTDsgS0hUTUxfWFNMVCINCisJCQkJUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM9IldJTjMyOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQogCQkJCU1pbmlt
YWxSZWJ1aWxkPSJ0cnVlIg0KIAkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiDQogCQkJCVJ1bnRp
bWVMaWJyYXJ5PSIzIg0KQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCiAJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5caWNvbnZcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0
aW9uRGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwu
LlxsaWJ4bWxcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxsaWJ4c2x0
XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcY3NzJnF1b3Q7OyZx
dW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGly
KVwuLlxraHRtbFxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGh0
bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcbWlzYyZxdW90OzsmcXVvdDsk
KFNvbHV0aW9uRGlyKVwuLlxraHRtbFxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRp
cilcLi5ca2h0bWxceG1sJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHhzbCZx
dW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxrd3EmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5cSmF2YVNjcmlwdENv
cmUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcikuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4z
MiZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyIN
Ci0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IkhBVkVfQ09ORklHX0g7IFdJTjMyOyBBUFBM
RV9DSEFOR0VTOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQorCQkJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJXSU4zMjsgS0hUTUxfTk9fWEJMOyBLSFRNTF9YU0xUIg0KIAkJCQlSdW50aW1l
TGlicmFyeT0iMiINCiAJCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQogCQkJCVdhcm5pbmdM
ZXZlbD0iMSINCkluZGV4OiBicmlkZ2UvbWFjL01hY0ZyYW1lLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJy
aWRnZS9tYWMvTWFjRnJhbWUubW0JKHJldmlzaW9uIDEyMDIyKQorKysgYnJpZGdlL21hYy9NYWNG
cmFtZS5tbQkod29ya2luZyBjb3B5KQpAQCAtODUsOSArODUsNyBAQAogI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvTlBfanNvYmplY3QuaD4KIAotI2lmIEFQUExFX0NIQU5HRVMKICNpbXBvcnQgIktXUUFjY09i
amVjdENhY2hlLmgiCi0jZW5kaWYKIAogI3VuZGVmIF9LV1FfVElNSU5HCiAKQEAgLTMzNzUsMTEg
KzMzNzMsOCBAQAogCiB2b2lkIE1hY0ZyYW1lOjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQog
ewotI2lmIEFQUExFX0NIQU5HRVMKLSAgICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2li
aWxpdHlFbmFibGVkKCkpIHsKKyAgICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxp
dHlFbmFibGVkKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmdldEFjY09iamVj
dENhY2hlKCktPnBvc3ROb3RpZmljYXRpb25Ub1RvcFdlYkFyZWEocmVuZGVyZXIoKSwgIkFYVmFs
dWVDaGFuZ2VkIik7Ci0gICAgfQotI2VuZGlmCiAgICAgW19icmlkZ2UgcmVzcG9uZFRvQ2hhbmdl
ZENvbnRlbnRzXTsKIH0KIApJbmRleDoga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysg
a3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE2ICs5NCw4
IEBACiBuYW1lc3BhY2UgS1NWRyB7CiAgICAgc3RhdGljIGlubGluZSBTVkdFbGVtZW50SW1wbCAq
c3ZnX2R5bmFtaWNfY2FzdChLRE9NOjpOb2RlSW1wbCAqbm9kZSkgewogICAgICAgICBTVkdFbGVt
ZW50SW1wbCAqc3ZnRWxlbWVudCA9IE5VTEw7Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAgICBp
ZiAobm9kZSAmJiBub2RlLT5pc1NWR0VsZW1lbnQoKSkKICAgICAgICAgICAgIHN2Z0VsZW1lbnQg
PSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50SW1wbCAqPihub2RlKTsKLSNlbHNlCi0gICAgICAgIGlm
IChub2RlICYmIChub2RlLT5ub2RlVHlwZSgpID09IEtET006OkVMRU1FTlRfTk9ERSkpIHsKLSAg
ICAgICAgICAgIEtET006OkVsZW1lbnRJbXBsICplbGVtZW50ID0gc3RhdGljX2Nhc3Q8S0RPTTo6
RWxlbWVudEltcGwgKj4obm9kZSk7Ci0gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiAoS0RPTTo6
RE9NU3RyaW5nKGVsZW1lbnQtPm5hbWVzcGFjZVVSSSgpKSA9PSBLRE9NOjpOU19TVkcpKQotICAg
ICAgICAgICAgICAgIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50SW1wbCAqPihl
bGVtZW50KTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIHJldHVybiBzdmdFbGVtZW50Owog
ICAgIH0KIH07CkluZGV4OiBrc3ZnMi9zdmcvU1ZHSW1hZ2VFbGVtZW50SW1wbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga3N2ZzIvc3ZnL1NWR0ltYWdlRWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjAy
MikKKysrIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzUsOSArMzUsNiBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nSW1wbC5oIgogI2lu
Y2x1ZGUgIktDYW52YXNSZW5kZXJpbmdTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJl
c2VydmVBc3BlY3RSYXRpb0ltcGwuaCIKLSNpZm5kZWYgQVBQTEVfQ0hBTkdFUwotI2luY2x1ZGUg
IktTVkdEb2N1bWVudEJ1aWxkZXIuaCIKLSNlbmRpZgogI2luY2x1ZGUgIlNWR0RvY3VtZW50SW1w
bC5oIgogI2luY2x1ZGUgPGtzdmcyL0tTVkdWaWV3Lmg+CiAKQEAgLTQ4LDkgKzQ1LDYgQEAKICNp
bmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+CiAKICNpbmNsdWRlIDxrZG9tL3BhcnNlci9L
RE9NUGFyc2VyLmg+Ci0jaWZuZGVmIEFQUExFX0NIQU5HRVMKLSNpbmNsdWRlIDxrZG9tL3BhcnNl
ci9LRE9NUGFyc2VyRmFjdG9yeS5oPgotI2VuZGlmCiAjaW5jbHVkZSA8a2RvbS9jb3JlL0RPTUNv
bmZpZ3VyYXRpb25JbXBsLmg+CiAKICNpbmNsdWRlIDxreG1sY29yZS9Bc3NlcnRpb25zLmg+Cklu
ZGV4OiBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9z
dmcvU1ZHQUVsZW1lbnRJbXBsLmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBrc3ZnMi9zdmcvU1ZH
QUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTEgKzk0LDcgQEAKICAgICAg
ICAgICAgIEtET006OkV2ZW50VGFyZ2V0SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAg
ICB1cmwgPSBraHRtbDo6cGFyc2VVUkwoaHJlZigpLT5iYXNlVmFsKCkpLnFzdHJpbmcoKTsKLSNl
bHNlCi0gICAgICAgIHVybCA9IEtET006OkRPTVN0cmluZyhLRE9NOjpIZWxwZXI6OnBhcnNlVVJM
KGhyZWYoKS0+YmFzZVZhbCgpKSkucXN0cmluZygpOwotI2VuZGlmCiAgICAgICAgIGtkRGVidWco
KSA8PCAidXJsIDogIiA8PCB1cmwgPDwgZW5kbDsKICAgICAgICAgdXRhcmdldCA9IEtET006OkRP
TVN0cmluZyhnZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6OnRhcmdldEF0dHIpKS5xc3RyaW5nKCk7CiAg
ICAgICAgIGtkRGVidWcoKSA8PCAidXRhcmdldCA6ICIgPDwgdXRhcmdldCA8PCBlbmRsOwpJbmRl
eDoga3N2ZzIvc3ZnL1NWR1NjcmlwdEVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3Zn
Mi9zdmcvU1ZHU2NyaXB0RWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjAyMikKKysrIGtzdmcy
L3N2Zy9TVkdTY3JpcHRFbGVtZW50SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcy
LDcgQEAKICAgICBpZighZWNtYUVuZ2luZSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
ICAgIAotI2lmZGVmIEFQUExFX0NIQU5HRVMKICAgICBLSlM6OkludGVycHJldGVyOjpsb2NrKCk7
Ci0jZW5kaWYKIAogICAgIC8vIFJ1biBzY3JpcHQKICAgICBLSlM6OkNvbXBsZXRpb24gY29tcCA9
IGVjbWFFbmdpbmUtPmV2YWx1YXRlKGpzQ29kZS5xc3RyaW5nKCksIGVjbWFFbmdpbmUtPmdsb2Jh
bE9iamVjdCgpKTsKQEAgLTEwNyw5ICsxMDUsNyBAQAogICAgIGVsc2UgaWYoY29tcC5jb21wbFR5
cGUoKSA9PSBLSlM6Ok5vcm1hbCkKICAgICAgICAga2REZWJ1ZygpIDw8ICJbU1ZHU2NyaXB0RWxl
bWVudF0gRXZhbHVhdGVkIGVjbWEgc2NyaXB0ISIgPDwgZW5kbDsKICAgICAKLSNpZmRlZiBBUFBM
RV9DSEFOR0VTCiAgICAgS0pTOjpJbnRlcnByZXRlcjo6dW5sb2NrKCk7Ci0jZW5kaWYKICNlbHNl
CiAgICAgaWYgKGpzQ29kZSkKICAgICAgICAgLy8gSGFjayB0byBjbG9zZSBtZW1vcnkgbGVhayBk
dWUgdG8gI2lmIDAKSW5kZXg6IGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBrc3ZnMi9zdmcvU1ZHRG9jdW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysga3N2
ZzIvc3ZnL1NWR0RvY3VtZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMiArMzEsOSBA
QAogCiAjaW5jbHVkZSA8a3N2ZzIvbWlzYy9LU1ZHVGltZVNjaGVkdWxlci5oPgogCi0jaWZkZWYg
QVBQTEVfQ0hBTkdFUwotY2xhc3MgS0hUTUxWaWV3OwogbmFtZXNwYWNlIEtET00gewotICAgIHVz
aW5nIDo6S0hUTUxWaWV3OworICAgIGNsYXNzIEtET01WaWV3OwogfQotI2VuZGlmCiAKIG5hbWVz
cGFjZSBLU1ZHCiB7CkluZGV4OiBrc3ZnMi9zdmcvU1ZHQ3Vyc29yRWxlbWVudEltcGwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdDdXJzb3JFbGVtZW50SW1wbC5jcHAJKHJldmlzaW9u
IDEyMDIyKQorKysga3N2ZzIvc3ZnL1NWR0N1cnNvckVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsMTQgKzMyLDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aEltcGwu
aCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZ0ltcGwuaCIKIAotI2lmbmRlZiBBUFBMRV9D
SEFOR0VTCi0jaW5jbHVkZSAiaW1sb2FkL2ltYWdlcGFpbnRlci5oIgotI2VuZGlmCi0KIHVzaW5n
IG5hbWVzcGFjZSBLU1ZHOwotI2lmbmRlZiBBUFBMRV9DSEFOR0VTCi11c2luZyBuYW1lc3BhY2Ug
a2h0bWxJbUxvYWQ7Ci0jZW5kaWYKIAogU1ZHQ3Vyc29yRWxlbWVudEltcGw6OlNWR0N1cnNvckVs
ZW1lbnRJbXBsKGNvbnN0IEtET006OlF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIEtET006OkRvY3Vt
ZW50SW1wbCAqZG9jKQogOiBTVkdFbGVtZW50SW1wbCh0YWdOYW1lLCBkb2MpLCBTVkdUZXN0c0lt
cGwoKSwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEltcGwoKSwgU1ZHVVJJUmVmZXJlbmNl
SW1wbCgpLCBLRE9NOjpDYWNoZWRPYmplY3RDbGllbnQoKQpJbmRleDoga3N2ZzIvZWNtYS9FY21h
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9lY21hL0VjbWEuY3BwCShyZXZpc2lvbiAxMjAyMikK
KysrIGtzdmcyL2VjbWEvRWNtYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw5ICsxMTYsNiBA
QAogICAgIFNWR0RvY3VtZW50IGRvY09iaihzdmdEb2N1bWVudCk7CiAKICAgICBLSlM6OkpTT2Jq
ZWN0ICpranNPYmogPSBkb2NPYmouYnJpZGdlKGludGVycHJldGVyKCktPmdsb2JhbEV4ZWMoKSk7
Ci0jaWZuZGVmIEFQUExFX0NIQU5HRVMKLSAgICBranNPYmotPnJlZigpOwotI2VuZGlmCiAKICAg
ICBpbnRlcnByZXRlcigpLT5wdXRET01PYmplY3Qoc3ZnRG9jdW1lbnQsIGtqc09iaik7CiAgICAg
c3ZnRG9jdW1lbnQtPmRlcmVmKCk7CkluZGV4OiBwYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBwYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBwYWdlL0ZyYW1lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMwNiwxMSArMzMwNiw5IEBACiAgICAgICAgIFJlbmRlck9iamVjdCAq
ZWx0UmVuZGVyZXIgPSBfZWxlbWVudFRvRHJhdyA/IF9lbGVtZW50VG9EcmF3LT5yZW5kZXJlcigp
IDogMDsKICAgICAgICAgcmVuZGVyZXIoKS0+bGF5ZXIoKS0+cGFpbnQocCwgcmVjdCwgX2RyYXdT
ZWxlY3Rpb25Pbmx5LCBlbHRSZW5kZXJlcik7CiAgICAgICAgIAotI2lmIEFQUExFX0NIQU5HRVMK
ICAgICAgICAgLy8gUmVnaW9ucyBtYXkgaGF2ZSBjaGFuZ2VkIGFzIGEgcmVzdWx0IG9mIHRoZSB2
aXNpYmlsaXR5L3otaW5kZXggb2YgZWxlbWVudCBjaGFuZ2luZy4KICAgICAgICAgaWYgKHJlbmRl
cmVyKCktPmRvY3VtZW50KCktPmRhc2hib2FyZFJlZ2lvbnNEaXJ0eSgpKQogICAgICAgICAgICAg
cmVuZGVyZXIoKS0+Y2FudmFzKCktPnZpZXcoKS0+dXBkYXRlRGFzaGJvYXJkUmVnaW9ucygpOwot
I2VuZGlmCiAgICAgfSBlbHNlCiAgICAgICAgIEVSUk9SKCJjYWxsZWQgRnJhbWU6OnBhaW50IHdp
dGggbmlsIHJlbmRlcmVyIik7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5623</attachid>
            <date>2006-01-12 09:55:29 -0800</date>
            <delta_ts>2006-01-13 00:01:20 -0800</delta_ts>
            <desc>third try -- this time for sure</desc>
            <filename>NoAppleChangesPatch.txt</filename>
            <type>text/plain</type>
            <size>18010</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfZmxleGJveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9mbGV4Ym94LmNwcAkocmV2aXNpb24gMTIwMjIpCisrKyBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ZsZXhib3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OTEs
OCArNjkxLDcgQEAKICAgICB9CiAKICAgICAvLyBXZSBjb25maW5lIHRoZSBsaW5lIGNsYW1wIHVn
bGluZXNzIHRvIHZlcnRpY2FsIGZsZXhpYmxlIGJveGVzICh0aHVzIGtlZXBpbmcgaXQgb3V0IG9m
Ci0gICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQpIGFuZCBwdXQgaXQgYWxsIGluc2lkZSBB
UFBMRV9DSEFOR0VTIHRvIGRlbm90ZSB0aGF0IHRoaXMgaXMgbm90Ci0gICAgLy8gcmVhbGx5IHBh
cnQgb2YgdGhlIFhVTCBib3ggbW9kZWwuCisgICAgLy8gbWFpbnN0cmVhbSBibG9jayBsYXlvdXQp
OyB0aGlzIGlzIG5vdCByZWFsbHkgcGFydCBvZiB0aGUgWFVMIGJveCBtb2RlbC4KICAgICBib29s
IGhhdmVMaW5lQ2xhbXAgPSBzdHlsZSgpLT5saW5lQ2xhbXAoKSA+PSAwICYmIHN0eWxlKCktPmxp
bmVDbGFtcCgpIDw9IDEwMDsKICAgICBpZiAoaGF2ZUxpbmVDbGFtcCkgewogICAgICAgICBpbnQg
bWF4TGluZUNvdW50ID0gMDsKSW5kZXg6IFdlYkNvcmUrU1ZHL2tkb20uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlK1NWRy9rZG9tLmgJKHJldmlzaW9uIDEyMDIyKQorKysgV2ViQ29yZStTVkcva2Rv
bS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsOSArMTI3LDYgQEAKICAgICB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgbG9uZyBET01UaW1lU3RhbXA7CiAKICAgICAvLyBEZWJ1Z2dpbmcgaGVscGVyCi0j
aWZuZGVmIEFQUExFX0NIQU5HRVMKLSAgICBpbmxpbmUga25kYmdzdHJlYW0gJm9wZXJhdG9yPDwo
a25kYmdzdHJlYW0gJnN0cmVhbSwgY29uc3QgRE9NU3RyaW5nICZzdHJpbmcpIHsgcmV0dXJuIChz
dHJlYW0gPDwgc3RyaW5nLnFzdHJpbmcoKSk7IH0KLSNlbmRpZgogICAgIGlubGluZSBrZGJnc3Ry
ZWFtICAmb3BlcmF0b3I8PChrZGJnc3RyZWFtICAmc3RyZWFtLCBjb25zdCBET01TdHJpbmcgJnN0
cmluZykgeyByZXR1cm4gKHN0cmVhbSA8PCBzdHJpbmcucXN0cmluZygpKTsgfQogfTsKIApJbmRl
eDogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTIwMjIpCisrKyBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTUyOTgsMTEgKzUy
OTgsNyBAQAogCQkJCUdDQ19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01Q
SUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3Jl
UHJlZml4Lmg7Ci0JCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQo
REVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExV
U1BMVVNfRE9NLAotCQkJCSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIk
KERFQlVHX0RFRklORVMpIjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVT
OwogCQkJCUdDQ19XQVJOX0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0Nf
V0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNTM5NiwxMSArNTM5Miw3IEBA
CiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJF
RklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXgu
aDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19E
RUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19E
T00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdf
REVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJ
R0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05P
Tl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03MDg0LDcgKzcwNzYsNiBAQAogCQkJCUdD
Q19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5oOwogCQkJCUdDQ19QUkVQUk9DRVNTT1Jf
REVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RFRklORVMpIiwKLQkJCQkJQVBQTEVfQ0hB
TkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1Nf
QVNfRVJST1JTID0gWUVTOwpAQCAtNzE0NCw3ICs3MTM1LDYgQEAKIAkJCQlHQ0NfUFJFRklYX0hF
QURFUiA9IFdlYkNvcmVQcmVmaXguaDsKIAkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05T
ID0gKAogCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCiAJCQkJ
CVNWR19TVVBQT1JULAogCQkJCSk7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9
IFlFUzsKQEAgLTcyMDQsNyArNzE5NCw2IEBACiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJD
b3JlUHJlZml4Lmg7CiAJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKIAkJCQkJ
IiQoREVCVUdfREVGSU5FUykiLAotCQkJCQlBUFBMRV9DSEFOR0VTLAogCQkJCQlTVkdfU1VQUE9S
VCwKIAkJCQkpOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CkBAIC03
MjY0LDcgKzcyNTMsNiBAQAogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwogCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCiAJCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKIAkJCQkJU1ZHX1NVUFBPUlQsCiAJCQkJKTsK
IAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwpAQCAtNzM1NywxMSArNzM0
NSw3IEBACiAJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CiAJCQkJR0NDX1BSRUNPTVBJ
TEVfUFJFRklYX0hFQURFUiA9IFlFUzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQ
cmVmaXguaDsKLQkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChE
RUJVR19ERUZJTkVTKSIsCi0JCQkJCUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVT
UExVU19ET00sCi0JCQkJKTsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQo
REVCVUdfREVGSU5FUykiOwogCQkJCUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7
CiAJCQkJR0NDX1dBUk5fQUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19X
QVJOX05PTl9WSVJUVUFMX0RFU1RSVUNUT1IgPSBZRVM7CkBAIC03NDE3LDExICs3NDAxLDcgQEAK
IAkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gczsKIAkJCQlHQ0NfUFJFQ09NUElMRV9QUkVG
SVhfSEVBREVSID0gWUVTOwogCQkJCUdDQ19QUkVGSVhfSEVBREVSID0gV2ViQ29yZVByZWZpeC5o
OwotCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAoCi0JCQkJCSIkKERFQlVHX0RF
RklORVMpIiwKLQkJCQkJQVBQTEVfQ0hBTkdFUywKLQkJCQkJS0hUTUxfTk9fQ1BMVVNQTFVTX0RP
TSwKLQkJCQkpOworCQkJCUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAiJChERUJVR19E
RUZJTkVTKSI7CiAJCQkJR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKIAkJCQlH
Q0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fTk9O
X1ZJUlRVQUxfREVTVFJVQ1RPUiA9IFlFUzsKQEAgLTc0NzcsMTEgKzc0NTcsNyBAQAogCQkJCUdD
Q19PUFRJTUlaQVRJT05fTEVWRUwgPSBzOwogCQkJCUdDQ19QUkVDT01QSUxFX1BSRUZJWF9IRUFE
RVIgPSBZRVM7CiAJCQkJR0NDX1BSRUZJWF9IRUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7Ci0JCQkJ
R0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLQkJCQkJIiQoREVCVUdfREVGSU5FUyki
LAotCQkJCQlBUFBMRV9DSEFOR0VTLAotCQkJCQlLSFRNTF9OT19DUExVU1BMVVNfRE9NLAotCQkJ
CSk7CisJCQkJR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICIkKERFQlVHX0RFRklORVMp
IjsKIAkJCQlHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTID0gWUVTOwogCQkJCUdDQ19XQVJO
X0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKIAkJCQlHQ0NfV0FSTl9OT05fVklSVFVB
TF9ERVNUUlVDVE9SID0gWUVTOwpAQCAtNzUzNywxMSArNzUxMyw3IEBACiAJCQkJR0NDX09QVElN
SVpBVElPTl9MRVZFTCA9IHM7CiAJCQkJR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hFQURFUiA9IFlF
UzsKIAkJCQlHQ0NfUFJFRklYX0hFQURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLQkJCQlHQ0NfUFJF
UFJPQ0VTU09SX0RFRklOSVRJT05TID0gKAotCQkJCQkiJChERUJVR19ERUZJTkVTKSIsCi0JCQkJ
CUFQUExFX0NIQU5HRVMsCi0JCQkJCUtIVE1MX05PX0NQTFVTUExVU19ET00sCi0JCQkJKTsKKwkJ
CQlHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gIiQoREVCVUdfREVGSU5FUykiOwogCQkJ
CUdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CiAJCQkJR0NDX1dBUk5fQUJPVVRf
TUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogCQkJCUdDQ19XQVJOX05PTl9WSVJUVUFMX0RFU1RS
VUNUT1IgPSBZRVM7CkluZGV4OiBrY2FudmFzL0tDYW52YXNUcmVlRGVidWcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGtjYW52YXMvS0NhbnZhc1RyZWVEZWJ1Zy5jcHAJKHJldmlzaW9uIDEyMDIyKQorKysg
a2NhbnZhcy9LQ2FudmFzVHJlZURlYnVnLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsOSArNDQs
NyBAQAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1Jlc291cmNlcy5oPgogI2luY2x1ZGUgPGtj
YW52YXMvS0NhbnZhc0ZpbHRlcnMuaD4KIAotI2lmZGVmIEFQUExFX0NIQU5HRVMKICNpbmNsdWRl
ICJLV1FSZW5kZXJUcmVlRGVidWcuaCIKLSNlbmRpZgogCiAjaW5jbHVkZSA8a3htbGNvcmUvQXNz
ZXJ0aW9ucy5oPgogCkBAIC00MDMsNCArNDAxLDMgQEAKICAgICAKICAgICByZXR1cm4gdHM7CiB9
Ci0KSW5kZXg6IGtjYW52YXMvS0NhbnZhc0ZpbHRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFz
L0tDYW52YXNGaWx0ZXJzLmgJKHJldmlzaW9uIDEyMDIyKQorKysga2NhbnZhcy9LQ2FudmFzRmls
dGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxNiBAQAogCiAjaW5jbHVkZSAiS0Nh
bnZhc1Jlc291cmNlcy5oIgogI2luY2x1ZGUgPFFTaXplRj4KKyNpbmNsdWRlIDxxY29sb3IuaD4K
KyNpbmNsdWRlIDxxc3RyaW5nbGlzdC5oPgorCisjaWZkZWYgX19PQkpDX18KK0BjbGFzcyBDSUZp
bHRlcjsKKyNlbHNlCitjbGFzcyBDSUZpbHRlcjsKKyNlbmRpZgorY2xhc3MgS0NhbnZhc0ZpbHRl
clF1YXJ0ejsKKwogLy8gRW51bWVyYXRpb25zCiB0eXBlZGVmIGVudW0KIHsKQEAgLTUwLDkgKzYw
LDYgQEAKICAgICBGRV9UVVJCVUxFTkNFID0gMTgKIH0gS0NGaWx0ZXJFZmZlY3RUeXBlOwogCi0j
aW5jbHVkZSA8cWNvbG9yLmg+Ci0jaW5jbHVkZSA8cXN0cmluZ2xpc3QuaD4KLQogY2xhc3MgS0Nh
bnZhc1BvaW50M0YgewogcHVibGljOgogICAgIEtDYW52YXNQb2ludDNGKCkgOiBtX3goMCksIG1f
eSgwKSwgbV96KDApIHsgfQpAQCAtMTExLDE2ICsxMTgsNiBAQAogCiBLQ2FudmFzRmlsdGVyICpn
ZXRGaWx0ZXJCeUlkKEtET006OkRvY3VtZW50SW1wbCAqZG9jdW1lbnQsIGNvbnN0IEtET006OkRP
TVN0cmluZyAmaWQpOwogCi0jaWZkZWYgQVBQTEVfQ0hBTkdFUwotLy8gRklYTUU6IHRoaXMgc3Ry
aWtlcyBtZSBhcyBhIHRvdGFsIGhhY2suLi4KLSNpZmRlZiBfX09CSkNfXwotQGNsYXNzIENJRmls
dGVyOwotI2Vsc2UKLWNsYXNzIENJRmlsdGVyOwotI2VuZGlmCi1jbGFzcyBLQ2FudmFzRmlsdGVy
UXVhcnR6OwotI2VuZGlmCi0KIGNsYXNzIEtDYW52YXNGaWx0ZXJFZmZlY3QKIHsKIHB1YmxpYzoK
QEAgLTEzOCw5ICsxMzUsOSBAQAogCiAgICAgUVN0cmluZyByZXN1bHQoKSBjb25zdDsKICAgICB2
b2lkIHNldFJlc3VsdChjb25zdCBRU3RyaW5nICZyZXN1bHQpOwotICAgIAotI2lmZGVmIEFQUExF
X0NIQU5HRVMKLSAgICB2aXJ0dWFsIENJRmlsdGVyICpnZXRDSUZpbHRlcihLQ2FudmFzRmlsdGVy
UXVhcnR6ICpxdWFydHpGaWx0ZXIpIGNvbnN0ID0gMDsKKworI2lmIF9fQVBQTEVfXworICAgIHZp
cnR1YWwgQ0lGaWx0ZXIqIGdldENJRmlsdGVyKEtDYW52YXNGaWx0ZXJRdWFydHoqKSBjb25zdCA9
IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUVRleHRTdHJlYW0gJmV4dGVybmFsUmVwcmVzZW50
YXRpb24oUVRleHRTdHJlYW0gJikgY29uc3Q7CkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjAyOCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDM5IEBACisyMDA2LTAxLTEyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDgK
KyAgICAgICAgICByZXRpcmUgQVBQTEVfQ0hBTkdFUworCisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAg
ICAgICAgSEFWRV9DT05GSUdfSCBhbnkgbW9yZS4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogRG9uJ3Qgc2V0IEFQUExFX0NIQU5HRVMgb3IKKyAgICAgICAg
S0hUTUxfTk9fQ1BMVVNQTFVTX0RPTSBhbnkgbW9yZS4KKworICAgICAgICAqIGtjYW52YXMvS0Nh
bnZhc0ZpbHRlcnMuaDoKKyAgICAgICAgVXNlIF9fQVBQTEVfXyBpbnN0ZWFkIG9mIEFQUExFX0NI
QU5HRVMuCisKKyAgICAgICAgKiBicmlkZ2UvbWFjL01hY0ZyYW1lLm1tOiAoTWFjRnJhbWU6OnJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cyk6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFzVHJlZURl
YnVnLmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcDogKFNWR0FF
bGVtZW50SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0VsZW1lbnRJbXBsLmg6IChLU1ZHOjpzdmdfZHluYW1pY19jYXN0KToKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHU2NyaXB0RWxlbWVudEltcGwuY3BwOiAoU1ZHU2NyaXB0RWxlbWVudEltcGw6OmV4
ZWN1dGVTY3JpcHQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOiAoRnJhbWU6OnBhaW50KToK
KyAgICAgICAgTWFrZSBzb21lIEFQUExFX0NIQU5HRVMgY29kZSB1bmNvbmRpdGlvbmFsLgorCisg
ICAgICAgICogV2ViQ29yZStTVkcva2RvbS5oOgorICAgICAgICAqIGtzdmcyL2VjbWEvRWNtYS5j
cHA6IChFY21hOjpzZXR1cERvY3VtZW50KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQ3Vyc29y
RWxlbWVudEltcGwuY3BwOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnRJbXBs
LmNwcDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgIUFQUExFX0NIQU5HRVMgY29kZS4KKworICAgICAg
ICAqIGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaDoKKyAgICAgICAgUmVtb3ZlIHNvbWUgdW5u
ZWVkZWQgQVBQTEVfQ0hBTkdFUyBjb2RlLgorCisgICAgICAgICoga2h0bWwvcmVuZGVyaW5nL3Jl
bmRlcl9mbGV4Ym94LmNwcDogKGtodG1sOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0VmVydGlj
YWxCb3gpOgorICAgICAgICBSZW1vdmUgYSBtaXNsZWFkaW5nIG1lbnRpb24gb2YgQVBQTEVfQ0hB
TkdFUyBpbiBhIGNvbW1lbnQuCisKIDIwMDYtMDEtMTIgIE1pdHogUGV0dGVsICA8b3BlbmRhcndp
bi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYW5kIGxhbmRlZCBieSBE
YXJpbi4KSW5kZXg6IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24g
MTIwMjIpCisrKyBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCiAJ
CQkJT3B0aW1pemF0aW9uPSIwIg0KIAkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIm
cXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxpY29udlxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29s
dXRpb25EaXIpXC4uXC4uXGljdVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4u
XC4uXGxpYnhtbFxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXC4uXGxpYnhz
bHRcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxjc3MmcXVvdDs7
JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcZG9tJnF1b3Q7OyZxdW90OyQoU29sdXRpb25E
aXIpXC4uXGtodG1sXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxc
aHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbFxtaXNjJnF1b3Q7OyZxdW90
OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxraHRtbFx4bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxceHNs
JnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sJnF1b3Q7OyZxdW90OyQoU29sdXRp
b25EaXIpXC4uXGt3cSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKS4uXC4uXEphdmFTY3JpcHRDb3JlXG9zLXdp
bjMyJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iSEFWRV9DT05GSUdfSDsgV0lOMzI7IEFQ
UExFX0NIQU5HRVM7IEtIVE1MX05PX1hCTDsgS0hUTUxfWFNMVCINCisJCQkJUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM9IldJTjMyOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQogCQkJCU1pbmlt
YWxSZWJ1aWxkPSJ0cnVlIg0KIAkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiDQogCQkJCVJ1bnRp
bWVMaWJyYXJ5PSIzIg0KQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCiAJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1
b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5caWNvbnZcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0
aW9uRGlyKVwuLlwuLlxpY3VcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwu
LlxsaWJ4bWxcaW5jbHVkZSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlwuLlxsaWJ4c2x0
XGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcY3NzJnF1b3Q7OyZx
dW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGRvbSZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGly
KVwuLlxraHRtbFxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXGh0
bWwmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5ca2h0bWxcbWlzYyZxdW90OzsmcXVvdDsk
KFNvbHV0aW9uRGlyKVwuLlxraHRtbFxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRp
cilcLi5ca2h0bWxceG1sJnF1b3Q7OyZxdW90OyQoU29sdXRpb25EaXIpXC4uXGtodG1sXHhzbCZx
dW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxraHRtbCZxdW90OzsmcXVvdDskKFNvbHV0aW9u
RGlyKVwuLlxrd3EmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcilcLi5cLi5cSmF2YVNjcmlwdENv
cmUmcXVvdDs7JnF1b3Q7JChTb2x1dGlvbkRpcikuLlwuLlxKYXZhU2NyaXB0Q29yZVxvcy13aW4z
MiZxdW90OzsmcXVvdDskKFNvbHV0aW9uRGlyKVwuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyIN
Ci0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IkhBVkVfQ09ORklHX0g7IFdJTjMyOyBBUFBM
RV9DSEFOR0VTOyBLSFRNTF9OT19YQkw7IEtIVE1MX1hTTFQiDQorCQkJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJXSU4zMjsgS0hUTUxfTk9fWEJMOyBLSFRNTF9YU0xUIg0KIAkJCQlSdW50aW1l
TGlicmFyeT0iMiINCiAJCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQogCQkJCVdhcm5pbmdM
ZXZlbD0iMSINCkluZGV4OiBXZWJDb3JlUHJlZml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZVBy
ZWZpeC5oCShyZXZpc2lvbiAxMjAyMikKKysrIFdlYkNvcmVQcmVmaXguaAkod29ya2luZyBjb3B5
KQpAQCAtNzAsOSArNzAsNiBAQAogI2VuZGlmCiAKICNkZWZpbmUgS0RPTSBET00KLSNkZWZpbmUg
S1NWR1ZpZXcgS0hUTUxWaWV3Ci0jZGVmaW5lIEtET01WaWV3IEtIVE1MVmlldwotI2RlZmluZSBL
RE9NUGFydCBLSFRNTFBhcnQKIAogI3VuZGVmIHRyeQogI3VuZGVmIGNhdGNoCkluZGV4OiBicmlk
Z2UvbWFjL01hY0ZyYW1lLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJyaWRnZS9tYWMvTWFjRnJhbWUubW0J
KHJldmlzaW9uIDEyMDIyKQorKysgYnJpZGdlL21hYy9NYWNGcmFtZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtODUsOSArODUsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvV2ViU2NyaXB0T2Jq
ZWN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvTlBfanNvYmplY3QuaD4KIAot
I2lmIEFQUExFX0NIQU5HRVMKICNpbXBvcnQgIktXUUFjY09iamVjdENhY2hlLmgiCi0jZW5kaWYK
IAogI3VuZGVmIF9LV1FfVElNSU5HCiAKQEAgLTMzNzUsMTEgKzMzNzMsOCBAQAogCiB2b2lkIE1h
Y0ZyYW1lOjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogewotI2lmIEFQUExFX0NIQU5HRVMK
LSAgICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsKKyAg
ICBpZiAoS1dRQWNjT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAg
IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmdldEFjY09iamVjdENhY2hlKCktPnBvc3ROb3RpZmlj
YXRpb25Ub1RvcFdlYkFyZWEocmVuZGVyZXIoKSwgIkFYVmFsdWVDaGFuZ2VkIik7Ci0gICAgfQot
I2VuZGlmCiAgICAgW19icmlkZ2UgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzXTsKIH0KIApJbmRl
eDoga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NW
R0VsZW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysga3N2ZzIvc3ZnL1NWR0VsZW1lbnRJ
bXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE2ICs5NCw4IEBACiBuYW1lc3BhY2UgS1NWRyB7
CiAgICAgc3RhdGljIGlubGluZSBTVkdFbGVtZW50SW1wbCAqc3ZnX2R5bmFtaWNfY2FzdChLRE9N
OjpOb2RlSW1wbCAqbm9kZSkgewogICAgICAgICBTVkdFbGVtZW50SW1wbCAqc3ZnRWxlbWVudCA9
IE5VTEw7Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5pc1NW
R0VsZW1lbnQoKSkKICAgICAgICAgICAgIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50SW1wbCAqPihub2RlKTsKLSNlbHNlCi0gICAgICAgIGlmIChub2RlICYmIChub2RlLT5ub2Rl
VHlwZSgpID09IEtET006OkVMRU1FTlRfTk9ERSkpIHsKLSAgICAgICAgICAgIEtET006OkVsZW1l
bnRJbXBsICplbGVtZW50ID0gc3RhdGljX2Nhc3Q8S0RPTTo6RWxlbWVudEltcGwgKj4obm9kZSk7
Ci0gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiAoS0RPTTo6RE9NU3RyaW5nKGVsZW1lbnQtPm5h
bWVzcGFjZVVSSSgpKSA9PSBLRE9NOjpOU19TVkcpKQotICAgICAgICAgICAgICAgIHN2Z0VsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50SW1wbCAqPihlbGVtZW50KTsKLSAgICAgICAgfQot
I2VuZGlmCiAgICAgICAgIHJldHVybiBzdmdFbGVtZW50OwogICAgIH0KIH07CkluZGV4OiBrc3Zn
Mi9zdmcvU1ZHSW1hZ2VFbGVtZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NW
R0ltYWdlRWxlbWVudEltcGwuY3BwCShyZXZpc2lvbiAxMjAyMikKKysrIGtzdmcyL3N2Zy9TVkdJ
bWFnZUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsNiBAQAogI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nSW1wbC5oIgogI2luY2x1ZGUgIktDYW52YXNSZW5kZXJp
bmdTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0ltcGwu
aCIKLSNpZm5kZWYgQVBQTEVfQ0hBTkdFUwotI2luY2x1ZGUgIktTVkdEb2N1bWVudEJ1aWxkZXIu
aCIKLSNlbmRpZgogI2luY2x1ZGUgIlNWR0RvY3VtZW50SW1wbC5oIgogI2luY2x1ZGUgPGtzdmcy
L0tTVkdWaWV3Lmg+CiAKQEAgLTQ4LDkgKzQ1LDYgQEAKICNpbmNsdWRlIDxrY2FudmFzL0tDYW52
YXNQYXRoLmg+CiAKICNpbmNsdWRlIDxrZG9tL3BhcnNlci9LRE9NUGFyc2VyLmg+Ci0jaWZuZGVm
IEFQUExFX0NIQU5HRVMKLSNpbmNsdWRlIDxrZG9tL3BhcnNlci9LRE9NUGFyc2VyRmFjdG9yeS5o
PgotI2VuZGlmCiAjaW5jbHVkZSA8a2RvbS9jb3JlL0RPTUNvbmZpZ3VyYXRpb25JbXBsLmg+CiAK
ICNpbmNsdWRlIDxreG1sY29yZS9Bc3NlcnRpb25zLmg+CkluZGV4OiBrc3ZnMi9zdmcvU1ZHQUVs
ZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNw
cAkocmV2aXNpb24gMTIwMjIpCisrKyBrc3ZnMi9zdmcvU1ZHQUVsZW1lbnRJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTQsMTEgKzk0LDcgQEAKICAgICAgICAgICAgIEtET006OkV2ZW50VGFy
Z2V0SW1wbDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9Ci0jaWYgQVBQTEVfQ0hBTkdFUwogICAgICAgICB1cmwgPSBraHRtbDo6cGFyc2VV
UkwoaHJlZigpLT5iYXNlVmFsKCkpLnFzdHJpbmcoKTsKLSNlbHNlCi0gICAgICAgIHVybCA9IEtE
T006OkRPTVN0cmluZyhLRE9NOjpIZWxwZXI6OnBhcnNlVVJMKGhyZWYoKS0+YmFzZVZhbCgpKSku
cXN0cmluZygpOwotI2VuZGlmCiAgICAgICAgIGtkRGVidWcoKSA8PCAidXJsIDogIiA8PCB1cmwg
PDwgZW5kbDsKICAgICAgICAgdXRhcmdldCA9IEtET006OkRPTVN0cmluZyhnZXRBdHRyaWJ1dGUo
U1ZHTmFtZXM6OnRhcmdldEF0dHIpKS5xc3RyaW5nKCk7CiAgICAgICAgIGtkRGVidWcoKSA8PCAi
dXRhcmdldCA6ICIgPDwgdXRhcmdldCA8PCBlbmRsOwpJbmRleDoga3N2ZzIvc3ZnL1NWR1Njcmlw
dEVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHU2NyaXB0RWxlbWVu
dEltcGwuY3BwCShyZXZpc2lvbiAxMjAyMikKKysrIGtzdmcyL3N2Zy9TVkdTY3JpcHRFbGVtZW50
SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkgKzcyLDcgQEAKICAgICBpZighZWNtYUVu
Z2luZSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIAotI2lmZGVmIEFQUExFX0NI
QU5HRVMKICAgICBLSlM6OkludGVycHJldGVyOjpsb2NrKCk7Ci0jZW5kaWYKIAogICAgIC8vIFJ1
biBzY3JpcHQKICAgICBLSlM6OkNvbXBsZXRpb24gY29tcCA9IGVjbWFFbmdpbmUtPmV2YWx1YXRl
KGpzQ29kZS5xc3RyaW5nKCksIGVjbWFFbmdpbmUtPmdsb2JhbE9iamVjdCgpKTsKQEAgLTEwNyw5
ICsxMDUsNyBAQAogICAgIGVsc2UgaWYoY29tcC5jb21wbFR5cGUoKSA9PSBLSlM6Ok5vcm1hbCkK
ICAgICAgICAga2REZWJ1ZygpIDw8ICJbU1ZHU2NyaXB0RWxlbWVudF0gRXZhbHVhdGVkIGVjbWEg
c2NyaXB0ISIgPDwgZW5kbDsKICAgICAKLSNpZmRlZiBBUFBMRV9DSEFOR0VTCiAgICAgS0pTOjpJ
bnRlcnByZXRlcjo6dW5sb2NrKCk7Ci0jZW5kaWYKICNlbHNlCiAgICAgaWYgKGpzQ29kZSkKICAg
ICAgICAgLy8gSGFjayB0byBjbG9zZSBtZW1vcnkgbGVhayBkdWUgdG8gI2lmIDAKSW5kZXg6IGtz
dmcyL3N2Zy9TVkdET01JbXBsZW1lbnRhdGlvbkltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9z
dmcvU1ZHRE9NSW1wbGVtZW50YXRpb25JbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysga3N2ZzIv
c3ZnL1NWR0RPTUltcGxlbWVudGF0aW9uSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxNyAr
MjYsMTYgQEAKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbkltcGwuaCIKICNpbmNsdWRlIDxx
c3RyaW5nbGlzdC5oPgogCi1jbGFzcyBLSFRNTFZpZXc7Ci0KIG5hbWVzcGFjZSBLRE9NCiB7CiAg
ICAgY2xhc3MgRE9NU3RyaW5nOwogICAgIGNsYXNzIERvY3VtZW50SW1wbDsKICAgICBjbGFzcyBE
b2N1bWVudFR5cGVJbXBsOwogICAgIGNsYXNzIENTU1N0eWxlU2hlZXRJbXBsOwotICAgIHVzaW5n
IDo6S0hUTUxWaWV3OwotfTsKIAorICAgIHR5cGVkZWYgS0hUTUxWaWV3IEtET01WaWV3OworfQor
CiBuYW1lc3BhY2UgS1NWRwogewogICAgIGNsYXNzIFNWR0RPTUltcGxlbWVudGF0aW9uSW1wbCA6
IHB1YmxpYyBET006OkRPTUltcGxlbWVudGF0aW9uSW1wbApAQCAtNjYsNyArNjUsNyBAQAogICAg
ICAgICBzdGF0aWMgU1ZHRE9NSW1wbGVtZW50YXRpb25JbXBsICpzX2luc3RhbmNlOwogICAgICAg
ICBzdGF0aWMgUVN0cmluZ0xpc3Qgc19mZWF0dXJlczsKICAgICB9OwotfTsKK30KIAogI2VuZGlm
CiAKSW5kZXg6IGtzdmcyL3N2Zy9TVkdEb2N1bWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3Zn
Mi9zdmcvU1ZHRG9jdW1lbnRJbXBsLmgJKHJldmlzaW9uIDEyMDIyKQorKysga3N2ZzIvc3ZnL1NW
R0RvY3VtZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMiArMzEsMTAgQEAKIAogI2lu
Y2x1ZGUgPGtzdmcyL21pc2MvS1NWR1RpbWVTY2hlZHVsZXIuaD4KIAotI2lmZGVmIEFQUExFX0NI
QU5HRVMKLWNsYXNzIEtIVE1MVmlldzsKK3R5cGVkZWYgS0hUTUxWaWV3IEtTVkdWaWV3OwogbmFt
ZXNwYWNlIEtET00gewotICAgIHVzaW5nIDo6S0hUTUxWaWV3OworICAgIHR5cGVkZWYgS0hUTUxW
aWV3IEtET01WaWV3OwogfQotI2VuZGlmCiAKIG5hbWVzcGFjZSBLU1ZHCiB7CkluZGV4OiBrc3Zn
Mi9zdmcvU1ZHQ3Vyc29yRWxlbWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9T
VkdDdXJzb3JFbGVtZW50SW1wbC5jcHAJKHJldmlzaW9uIDEyMDIyKQorKysga3N2ZzIvc3ZnL1NW
R0N1cnNvckVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTQgKzMyLDcgQEAK
ICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aEltcGwuaCIKICNpbmNsdWRlICJTVkdBbmltYXRl
ZFN0cmluZ0ltcGwuaCIKIAotI2lmbmRlZiBBUFBMRV9DSEFOR0VTCi0jaW5jbHVkZSAiaW1sb2Fk
L2ltYWdlcGFpbnRlci5oIgotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBLU1ZHOwotI2lmbmRl
ZiBBUFBMRV9DSEFOR0VTCi11c2luZyBuYW1lc3BhY2Uga2h0bWxJbUxvYWQ7Ci0jZW5kaWYKIAog
U1ZHQ3Vyc29yRWxlbWVudEltcGw6OlNWR0N1cnNvckVsZW1lbnRJbXBsKGNvbnN0IEtET006OlF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIEtET006OkRvY3VtZW50SW1wbCAqZG9jKQogOiBTVkdFbGVt
ZW50SW1wbCh0YWdOYW1lLCBkb2MpLCBTVkdUZXN0c0ltcGwoKSwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZEltcGwoKSwgU1ZHVVJJUmVmZXJlbmNlSW1wbCgpLCBLRE9NOjpDYWNoZWRPYmpl
Y3RDbGllbnQoKQpJbmRleDoga3N2ZzIvZWNtYS9FY21hLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3Zn
Mi9lY21hL0VjbWEuY3BwCShyZXZpc2lvbiAxMjAyMikKKysrIGtzdmcyL2VjbWEvRWNtYS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExNiw5ICsxMTYsNiBAQAogICAgIFNWR0RvY3VtZW50IGRvY09i
aihzdmdEb2N1bWVudCk7CiAKICAgICBLSlM6OkpTT2JqZWN0ICpranNPYmogPSBkb2NPYmouYnJp
ZGdlKGludGVycHJldGVyKCktPmdsb2JhbEV4ZWMoKSk7Ci0jaWZuZGVmIEFQUExFX0NIQU5HRVMK
LSAgICBranNPYmotPnJlZigpOwotI2VuZGlmCiAKICAgICBpbnRlcnByZXRlcigpLT5wdXRET01P
YmplY3Qoc3ZnRG9jdW1lbnQsIGtqc09iaik7CiAgICAgc3ZnRG9jdW1lbnQtPmRlcmVmKCk7Cklu
ZGV4OiBwYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwYWdlL0ZyYW1lLmNwcAkocmV2aXNp
b24gMTIwMjIpCisrKyBwYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMwNiwxMSAr
MzMwNiw5IEBACiAgICAgICAgIFJlbmRlck9iamVjdCAqZWx0UmVuZGVyZXIgPSBfZWxlbWVudFRv
RHJhdyA/IF9lbGVtZW50VG9EcmF3LT5yZW5kZXJlcigpIDogMDsKICAgICAgICAgcmVuZGVyZXIo
KS0+bGF5ZXIoKS0+cGFpbnQocCwgcmVjdCwgX2RyYXdTZWxlY3Rpb25Pbmx5LCBlbHRSZW5kZXJl
cik7CiAgICAgICAgIAotI2lmIEFQUExFX0NIQU5HRVMKICAgICAgICAgLy8gUmVnaW9ucyBtYXkg
aGF2ZSBjaGFuZ2VkIGFzIGEgcmVzdWx0IG9mIHRoZSB2aXNpYmlsaXR5L3otaW5kZXggb2YgZWxl
bWVudCBjaGFuZ2luZy4KICAgICAgICAgaWYgKHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmRhc2hi
b2FyZFJlZ2lvbnNEaXJ0eSgpKQogICAgICAgICAgICAgcmVuZGVyZXIoKS0+Y2FudmFzKCktPnZp
ZXcoKS0+dXBkYXRlRGFzaGJvYXJkUmVnaW9ucygpOwotI2VuZGlmCiAgICAgfSBlbHNlCiAgICAg
ICAgIEVSUk9SKCJjYWxsZWQgRnJhbWU6OnBhaW50IHdpdGggbmlsIHJlbmRlcmVyIik7CiB9Cg==
</data>
<flag name="review"
          id="1251"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>