<?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>25167</bug_id>
          
          <creation_ts>2009-04-13 16:21:35 -0700</creation_ts>
          <short_desc>Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.</short_desc>
          <delta_ts>2009-04-18 18:41:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25170</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117380</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-13 16:21:35 -0700</bug_when>
    <thetext>Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117387</commentid>
    <comment_count>1</comment_count>
      <attachid>29448</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-04-13 17:30:20 -0700</bug_when>
    <thetext>Created attachment 29448
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117868</commentid>
    <comment_count>2</comment_count>
      <attachid>29448</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-04-16 20:44:24 -0700</bug_when>
    <thetext>Comment on attachment 29448
Proposed Patch

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118038</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-04-18 18:41:40 -0700</bug_when>
    <thetext>landed: http://trac.webkit.org/changeset/42647</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29448</attachid>
            <date>2009-04-13 17:30:20 -0700</date>
            <delta_ts>2009-04-16 20:44:24 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>25167</filename>
            <type>text/plain</type>
            <size>25717</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2IyZDRjOS4uNjcyZjNiNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wNC0xMyAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvcG9zdF9idWcuY2c6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MTY3IAorICAgICAgICBDaGFuZ2UgY3JlYXRlSGlk
ZGVuWEhSRGVwZW5kZW5jeSBhbmQgcmVtb3ZlSGlkZGVuWEhSRGVwZW5kZW5jeSBzbyB0aGF0IHRo
ZXkgY2FuIGJlIHVzZWQgYnkgb3RoZXIgY3VzdG9tIGNvZGUgaW4gVjggYmluZGluZ3MuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHA6IFJlbmFtZWQgZnJvbSBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXMuY3BwLgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlSGlkZGVuRGVwZW5kZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpyZW1vdmVI
aWRkZW5EZXBlbmRlbmN5KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5oOiBS
ZW5hbWVkIGZyb20gV2ViQ29yZS9iaW5kaW5ncy92OC9WOFhNTEh0dHBSZXF1ZXN0VXRpbGl0aWVz
LmguCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QUNDRVNTT1JfU0VUVEVSKToKKyAgICAgICAgKFdlYkNv
cmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
WE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QUNDRVNT
T1JfU0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OkNBTExCQUNLX0ZVTkNfREVDTCk6CisKIDIw
MDktMDQtMTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
VXRpbGl0aWVzLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNjI4N2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcApAQCAtMCwwICsxLDc0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCisKKyNpbmNs
dWRlIDx2OC5oPgorCisjaW5jbHVkZSAiVjhDdXN0b21CaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQ
cm94eS5oIgorCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCisvLyBVc2UgYW4gYXJyYXkgdG8gaG9sZCBkZXBlbmRlbnRzLiBJdCB3b3JrcyBsaWtl
IGEgcmVmLWNvdW50ZWQgc2NoZW1lLgorLy8gQSB2YWx1ZSBjYW4gYmUgYWRkZWQgbW9yZSB0aGFu
IG9uY2UgdG8gdGhlIERPTSBvYmplY3QuCit2b2lkIGNyZWF0ZUhpZGRlbkRlcGVuZGVuY3kodjg6
OkxvY2FsPHY4OjpPYmplY3Q+IG9iamVjdCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGlu
dCBjYWNoZUluZGV4KQoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGNhY2hlID0gb2JqZWN0
LT5HZXRJbnRlcm5hbEZpZWxkKGNhY2hlSW5kZXgpOworICAgIGlmIChjYWNoZS0+SXNOdWxsKCkg
fHwgY2FjaGUtPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgY2FjaGUgPSB2ODo6QXJyYXk6Ok5l
dygpOworICAgICAgICBvYmplY3QtPlNldEludGVybmFsRmllbGQoY2FjaGVJbmRleCwgY2FjaGUp
OworICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+IGNhY2hlQXJyYXkgPSB2ODo6TG9j
YWw8djg6OkFycmF5Pjo6Q2FzdChjYWNoZSk7CisgICAgY2FjaGVBcnJheS0+U2V0KHY4OjpJbnRl
Z2VyOjpOZXcoY2FjaGVBcnJheS0+TGVuZ3RoKCkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQgcmVtb3Zl
SGlkZGVuRGVwZW5kZW5jeSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0LCB2ODo6TG9jYWw8
djg6OlZhbHVlPiB2YWx1ZSwgaW50IGNhY2hlSW5kZXgpCit7CisgICAgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gY2FjaGUgPSBvYmplY3QtPkdldEludGVybmFsRmllbGQoY2FjaGVJbmRleCk7CisgICAg
QVNTRVJUKGNhY2hlLT5Jc0FycmF5KCkpOworICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+IGNhY2hl
QXJyYXkgPSB2ODo6TG9jYWw8djg6OkFycmF5Pjo6Q2FzdChjYWNoZSk7CisgICAgZm9yIChpbnQg
aSA9IGNhY2hlQXJyYXktPkxlbmd0aCgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gY2FjaGVkID0gY2FjaGVBcnJheS0+R2V0KHY4OjpJbnRlZ2VyOjpO
ZXcoaSkpOworICAgICAgICBpZiAoY2FjaGVkLT5TdHJpY3RFcXVhbHModmFsdWUpKSB7CisgICAg
ICAgICAgICBjYWNoZUFycmF5LT5EZWxldGUoaSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICAvLyBXZSBzaG91bGQgb25seSBnZXQgaGVyZSBpZiB3ZSB0cnkg
dG8gcmVtb3ZlIGFuIGV2ZW50IGxpc3RlbmVyIHRoYXQgd2FzIG5ldmVyIGFkZGVkLgorICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmggYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4VXRpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgy
OGRlYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMu
aApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOFV0aWxpdGllc19oCisjZGVmaW5lIFY4
VXRpbGl0aWVzX2gKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Ly8gVXNlIGFuIGFycmF5IHRvIGhvbGQgZGVwZW5kZW50cy4gSXQgd29ya3MgbGlrZSBhIHJlZi1j
b3VudGVkIHNjaGVtZS4KKy8vIEEgdmFsdWUgY2FuIGJlIGFkZGVkIG1vcmUgdGhhbiBvbmNlIHRv
IHRoZSBET00gb2JqZWN0Lgordm9pZCBjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KHY4OjpMb2NhbDx2
ODo6T2JqZWN0Piwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4sIGludCBjYWNoZUluZGV4KTsKK3ZvaWQg
cmVtb3ZlSGlkZGVuRGVwZW5kZW5jeSh2ODo6TG9jYWw8djg6Ok9iamVjdD4sIHY4OjpMb2NhbDx2
ODo6VmFsdWU+LCBpbnQgY2FjaGVJbmRleCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIFY4VXRpbGl0aWVzX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhYTUxIdHRwUmVxdWVzdFV0aWxpdGllcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4WE1M
SHR0cFJlcXVlc3RVdGlsaXRpZXMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
ZmQ1ZTQ1Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhYTUxIdHRwUmVxdWVz
dFV0aWxpdGllcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRp
c3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXMuaCIKLQot
I2luY2x1ZGUgPHY4Lmg+Ci0KLSNpbmNsdWRlICJWOEN1c3RvbUJpbmRpbmcuaCIKLSNpbmNsdWRl
ICJWOFByb3h5LmgiCi0KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLS8vIFVzZSBhbiBhcnJheSB0byBob2xkIGRlcGVuZGVudHMuIEl0IHdvcmtz
IGxpa2UgYSByZWYtY291bnRlZCBzY2hlbWUuCi0vLyBBIHZhbHVlIGNhbiBiZSBhZGRlZCBtb3Jl
IHRoYW4gb25jZSB0byB0aGUgeG1sSHR0cFJlcXVlc3Qgb2JqZWN0Lgotdm9pZCBjcmVhdGVIaWRk
ZW5YSFJEZXBlbmRlbmN5KHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB4bWxIdHRwUmVxdWVzdCwgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUpCi17Ci0gICAgQVNTRVJUKFY4UHJveHk6OkdldERPTVdy
YXBwZXJUeXBlKHhtbEh0dHBSZXF1ZXN0KSA9PSBWOENsYXNzSW5kZXg6OlhNTEhUVFBSRVFVRVNU
IHx8IFY4UHJveHk6OkdldERPTVdyYXBwZXJUeXBlKHhtbEh0dHBSZXF1ZXN0KSA9PSBWOENsYXNz
SW5kZXg6OlhNTEhUVFBSRVFVRVNUVVBMT0FEKTsKLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBj
YWNoZSA9IHhtbEh0dHBSZXF1ZXN0LT5HZXRJbnRlcm5hbEZpZWxkKFY4Q3VzdG9tOjprWE1MSHR0
cFJlcXVlc3RDYWNoZUluZGV4KTsKLSAgICBpZiAoY2FjaGUtPklzTnVsbCgpIHx8IGNhY2hlLT5J
c1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIGNhY2hlID0gdjg6OkFycmF5OjpOZXcoKTsKLSAgICAg
ICAgeG1sSHR0cFJlcXVlc3QtPlNldEludGVybmFsRmllbGQoVjhDdXN0b206OmtYTUxIdHRwUmVx
dWVzdENhY2hlSW5kZXgsIGNhY2hlKTsKLSAgICB9Ci0KLSAgICB2ODo6TG9jYWw8djg6OkFycmF5
PiBjYWNoZUFycmF5ID0gdjg6OkxvY2FsPHY4OjpBcnJheT46OkNhc3QoY2FjaGUpOwotICAgIGNh
Y2hlQXJyYXktPlNldCh2ODo6SW50ZWdlcjo6TmV3KGNhY2hlQXJyYXktPkxlbmd0aCgpKSwgdmFs
dWUpOwotfQotCi12b2lkIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVuY3kodjg6OkxvY2FsPHY4OjpP
YmplY3Q+IHhtbEh0dHBSZXF1ZXN0LCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSkKLXsKLSAg
ICBBU1NFUlQoVjhQcm94eTo6R2V0RE9NV3JhcHBlclR5cGUoeG1sSHR0cFJlcXVlc3QpID09IFY4
Q2xhc3NJbmRleDo6WE1MSFRUUFJFUVVFU1QgfHwgVjhQcm94eTo6R2V0RE9NV3JhcHBlclR5cGUo
eG1sSHR0cFJlcXVlc3QpID09IFY4Q2xhc3NJbmRleDo6WE1MSFRUUFJFUVVFU1RVUExPQUQpOwot
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGNhY2hlID0geG1sSHR0cFJlcXVlc3QtPkdldEludGVy
bmFsRmllbGQoVjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwotICAgIEFTU0VS
VChjYWNoZS0+SXNBcnJheSgpKTsKLSAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBjYWNoZUFycmF5
ID0gdjg6OkxvY2FsPHY4OjpBcnJheT46OkNhc3QoY2FjaGUpOwotICAgIGZvciAoaW50IGkgPSBj
YWNoZUFycmF5LT5MZW5ndGgoKSAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IGNhY2hlZCA9IGNhY2hlQXJyYXktPkdldCh2ODo6SW50ZWdlcjo6TmV3KGkp
KTsKLSAgICAgICAgaWYgKGNhY2hlZC0+U3RyaWN0RXF1YWxzKHZhbHVlKSkgewotICAgICAgICAg
ICAgY2FjaGVBcnJheS0+RGVsZXRlKGkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgLy8gV2Ugc2hvdWxkIG9ubHkgZ2V0IGhlcmUgaWYgd2UgdHJ5IHRvIHJl
bW92ZSBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdhcyBuZXZlciBhZGRlZC4KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFhNTEh0dHBSZXF1ZXN0VXRpbGl0aWVzLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXMuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNWE1NTk3NC4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoK
LSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIFY4WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXNfaAotI2RlZmluZSBWOFhN
TEh0dHBSZXF1ZXN0VXRpbGl0aWVzX2gKLQotI2luY2x1ZGUgPHY4Lmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotLy8gVXNlIGFuIGFycmF5IHRvIGhvbGQgZGVwZW5kZW50cy4gSXQgd29ya3Mg
bGlrZSBhIHJlZi1jb3VudGVkIHNjaGVtZS4KLS8vIEEgdmFsdWUgY2FuIGJlIGFkZGVkIG1vcmUg
dGhhbiBvbmNlIHRvIHRoZSB4bWxIdHRwUmVxdWVzdCBvYmplY3QuCi12b2lkIGNyZWF0ZUhpZGRl
blhIUkRlcGVuZGVuY3kodjg6OkxvY2FsPHY4OjpPYmplY3Q+IHhtbEh0dHBSZXF1ZXN0LCB2ODo6
TG9jYWw8djg6OlZhbHVlPik7Ci12b2lkIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVuY3kodjg6Okxv
Y2FsPHY4OjpPYmplY3Q+IHhtbEh0dHBSZXF1ZXN0LCB2ODo6TG9jYWw8djg6OlZhbHVlPik7Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFY4WE1MSHR0cFJlcXVlc3RVdGls
aXRpZXNfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBS
ZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBhODBjZjUxLi4zNzZhYTlmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAt
MzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhP
YmplY3RFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgotI2luY2x1ZGUgIlY4
WE1MSHR0cFJlcXVlc3RVdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgogI2lu
Y2x1ZGUgIldvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJDb250ZXh0RXhlY3V0aW9u
UHJveHkuaCIKIApAQCAtNzksNyArNzksNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVl
c3RPbmFib3J0KQogICAgICAgICBpZiAoeG1sSHR0cFJlcXVlc3QtPm9uYWJvcnQoKSkgewogICAg
ICAgICAgICAgVjhPYmplY3RFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IHN0YXRpY19jYXN0PFY4
T2JqZWN0RXZlbnRMaXN0ZW5lcio+KHhtbEh0dHBSZXF1ZXN0LT5vbmFib3J0KCkpOwogICAgICAg
ICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHY4TGlzdGVuZXIgPSBsaXN0ZW5lci0+Z2V0TGlz
dGVuZXJPYmplY3QoKTsKLSAgICAgICAgICAgIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5m
by5Ib2xkZXIoKSwgdjhMaXN0ZW5lcik7CisgICAgICAgICAgICByZW1vdmVIaWRkZW5EZXBlbmRl
bmN5KGluZm8uSG9sZGVyKCksIHY4TGlzdGVuZXIsIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RD
YWNoZUluZGV4KTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIENsZWFyIHRoZSBsaXN0ZW5lci4K
QEAgLTg4LDcgKzg4LDcgQEAgQUNDRVNTT1JfU0VUVEVSKFhNTEh0dHBSZXF1ZXN0T25hYm9ydCkK
ICAgICAgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gZ2V0RXZlbnRMaXN0ZW5l
cih4bWxIdHRwUmVxdWVzdCwgdmFsdWUsIGZhbHNlKTsKICAgICAgICAgaWYgKGxpc3RlbmVyKSB7
CiAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+c2V0T25hYm9ydChsaXN0ZW5lcik7Ci0gICAg
ICAgICAgICBjcmVhdGVIaWRkZW5YSFJEZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHZhbHVlKTsK
KyAgICAgICAgICAgIGNyZWF0ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUs
IFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNoZUluZGV4KTsKICAgICAgICAgfQogICAgIH0K
IH0KQEAgLTExMyw3ICsxMTMsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbmVy
cm9yKQogICAgICAgICBpZiAoeG1sSHR0cFJlcXVlc3QtPm9uZXJyb3IoKSkgewogICAgICAgICAg
ICAgVjhPYmplY3RFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IHN0YXRpY19jYXN0PFY4T2JqZWN0
RXZlbnRMaXN0ZW5lcio+KHhtbEh0dHBSZXF1ZXN0LT5vbmVycm9yKCkpOwogICAgICAgICAgICAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IHY4TGlzdGVuZXIgPSBsaXN0ZW5lci0+Z2V0TGlzdGVuZXJP
YmplY3QoKTsKLSAgICAgICAgICAgIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5mby5Ib2xk
ZXIoKSwgdjhMaXN0ZW5lcik7CisgICAgICAgICAgICByZW1vdmVIaWRkZW5EZXBlbmRlbmN5KGlu
Zm8uSG9sZGVyKCksIHY4TGlzdGVuZXIsIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNoZUlu
ZGV4KTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIENsZWFyIHRoZSBsaXN0ZW5lci4KQEAgLTEy
Miw3ICsxMjIsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbmVycm9yKQogICAg
ICAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBnZXRFdmVudExpc3RlbmVyKHht
bEh0dHBSZXF1ZXN0LCB2YWx1ZSwgZmFsc2UpOwogICAgICAgICBpZiAobGlzdGVuZXIpIHsKICAg
ICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5zZXRPbmVycm9yKGxpc3RlbmVyKTsKLSAgICAgICAg
ICAgIGNyZWF0ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUpOworICAg
ICAgICAgICAgY3JlYXRlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2YWx1ZSwgVjhD
dXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgICAgICB9CiAgICAgfQogfQpA
QCAtMTQ3LDcgKzE0Nyw3IEBAIEFDQ0VTU09SX1NFVFRFUihYTUxIdHRwUmVxdWVzdE9ubG9hZCkK
ICAgICAgICAgaWYgKHhtbEh0dHBSZXF1ZXN0LT5vbmxvYWQoKSkgewogICAgICAgICAgICAgVjhP
YmplY3RFdmVudExpc3RlbmVyKiBsaXN0ZW5lciA9IHN0YXRpY19jYXN0PFY4T2JqZWN0RXZlbnRM
aXN0ZW5lcio+KHhtbEh0dHBSZXF1ZXN0LT5vbmxvYWQoKSk7CiAgICAgICAgICAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gdjhMaXN0ZW5lciA9IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVjdCgp
OwotICAgICAgICAgICAgcmVtb3ZlSGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2
OExpc3RlbmVyKTsKKyAgICAgICAgICAgIHJlbW92ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xk
ZXIoKSwgdjhMaXN0ZW5lciwgVjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwog
ICAgICAgICB9CiAKICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPnNldE9ubG9hZCgwKTsKQEAgLTE1
Niw3ICsxNTYsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbmxvYWQpCiAgICAg
ICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9IGdldEV2ZW50TGlzdGVuZXIoeG1s
SHR0cFJlcXVlc3QsIHZhbHVlLCBmYWxzZSk7CiAgICAgICAgIGlmIChsaXN0ZW5lcikgewogICAg
ICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPnNldE9ubG9hZChsaXN0ZW5lci5nZXQoKSk7Ci0gICAg
ICAgICAgICBjcmVhdGVIaWRkZW5YSFJEZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHZhbHVlKTsK
KyAgICAgICAgICAgIGNyZWF0ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUs
IFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNoZUluZGV4KTsKICAgICAgICAgfQogICAgIH0K
IH0KQEAgLTE4MSw3ICsxODEsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbmxv
YWRzdGFydCkKICAgICAgICAgaWYgKHhtbEh0dHBSZXF1ZXN0LT5vbmxvYWRzdGFydCgpKSB7CiAg
ICAgICAgICAgICBWOE9iamVjdEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gc3RhdGljX2Nhc3Q8
VjhPYmplY3RFdmVudExpc3RlbmVyKj4oeG1sSHR0cFJlcXVlc3QtPm9ubG9hZHN0YXJ0KCkpOwog
ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHY4TGlzdGVuZXIgPSBsaXN0ZW5lci0+
Z2V0TGlzdGVuZXJPYmplY3QoKTsKLSAgICAgICAgICAgIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVu
Y3koaW5mby5Ib2xkZXIoKSwgdjhMaXN0ZW5lcik7CisgICAgICAgICAgICByZW1vdmVIaWRkZW5E
ZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHY4TGlzdGVuZXIsIFY4Q3VzdG9tOjprWE1MSHR0cFJl
cXVlc3RDYWNoZUluZGV4KTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIENsZWFyIHRoZSBsaXN0
ZW5lci4KQEAgLTE5MCw3ICsxOTAsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RP
bmxvYWRzdGFydCkKICAgICAgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gZ2V0
RXZlbnRMaXN0ZW5lcih4bWxIdHRwUmVxdWVzdCwgdmFsdWUsIGZhbHNlKTsKICAgICAgICAgaWYg
KGxpc3RlbmVyKSB7CiAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+c2V0T25sb2Fkc3RhcnQo
bGlzdGVuZXIpOwotICAgICAgICAgICAgY3JlYXRlSGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhv
bGRlcigpLCB2YWx1ZSk7CisgICAgICAgICAgICBjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KGluZm8u
SG9sZGVyKCksIHZhbHVlLCBWOEN1c3RvbTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAg
ICAgICAgIH0KICAgICB9CiB9CkBAIC0yMTUsNyArMjE1LDcgQEAgQUNDRVNTT1JfU0VUVEVSKFhN
TEh0dHBSZXF1ZXN0T25wcm9ncmVzcykKICAgICAgICAgaWYgKHhtbEh0dHBSZXF1ZXN0LT5vbnBy
b2dyZXNzKCkpIHsKICAgICAgICAgICAgIFY4T2JqZWN0RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIg
PSBzdGF0aWNfY2FzdDxWOE9iamVjdEV2ZW50TGlzdGVuZXIqPih4bWxIdHRwUmVxdWVzdC0+b25w
cm9ncmVzcygpKTsKICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB2OExpc3RlbmVy
ID0gbGlzdGVuZXItPmdldExpc3RlbmVyT2JqZWN0KCk7Ci0gICAgICAgICAgICByZW1vdmVIaWRk
ZW5YSFJEZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHY4TGlzdGVuZXIpOworICAgICAgICAgICAg
cmVtb3ZlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2OExpc3RlbmVyLCBWOEN1c3Rv
bTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBD
bGVhciB0aGUgbGlzdGVuZXIuCkBAIC0yMjQsNyArMjI0LDcgQEAgQUNDRVNTT1JfU0VUVEVSKFhN
TEh0dHBSZXF1ZXN0T25wcm9ncmVzcykKICAgICAgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxp
c3RlbmVyID0gZ2V0RXZlbnRMaXN0ZW5lcih4bWxIdHRwUmVxdWVzdCwgdmFsdWUsIGZhbHNlKTsK
ICAgICAgICAgaWYgKGxpc3RlbmVyKSB7CiAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+c2V0
T25wcm9ncmVzcyhsaXN0ZW5lcik7Ci0gICAgICAgICAgICBjcmVhdGVIaWRkZW5YSFJEZXBlbmRl
bmN5KGluZm8uSG9sZGVyKCksIHZhbHVlKTsKKyAgICAgICAgICAgIGNyZWF0ZUhpZGRlbkRlcGVu
ZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUsIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNo
ZUluZGV4KTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTI0OSw3ICsyNDksNyBAQCBBQ0NFU1NP
Ul9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbnJlYWR5c3RhdGVjaGFuZ2UpCiAgICAgICAgIGlmICh4
bWxIdHRwUmVxdWVzdC0+b25yZWFkeXN0YXRlY2hhbmdlKCkpIHsKICAgICAgICAgICAgIFY4T2Jq
ZWN0RXZlbnRMaXN0ZW5lciogbGlzdGVuZXIgPSBzdGF0aWNfY2FzdDxWOE9iamVjdEV2ZW50TGlz
dGVuZXIqPih4bWxIdHRwUmVxdWVzdC0+b25yZWFkeXN0YXRlY2hhbmdlKCkpOwogICAgICAgICAg
ICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHY4TGlzdGVuZXIgPSBsaXN0ZW5lci0+Z2V0TGlzdGVu
ZXJPYmplY3QoKTsKLSAgICAgICAgICAgIHJlbW92ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5mby5I
b2xkZXIoKSwgdjhMaXN0ZW5lcik7CisgICAgICAgICAgICByZW1vdmVIaWRkZW5EZXBlbmRlbmN5
KGluZm8uSG9sZGVyKCksIHY4TGlzdGVuZXIsIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNo
ZUluZGV4KTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIENsZWFyIHRoZSBsaXN0ZW5lci4KQEAg
LTI1OCw3ICsyNTgsNyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RPbnJlYWR5c3Rh
dGVjaGFuZ2UpCiAgICAgICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9IGdldEV2
ZW50TGlzdGVuZXIoeG1sSHR0cFJlcXVlc3QsIHZhbHVlLCBmYWxzZSk7CiAgICAgICAgIGlmIChs
aXN0ZW5lcikgewogICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPnNldE9ucmVhZHlzdGF0ZWNo
YW5nZShsaXN0ZW5lci5nZXQoKSk7Ci0gICAgICAgICAgICBjcmVhdGVIaWRkZW5YSFJEZXBlbmRl
bmN5KGluZm8uSG9sZGVyKCksIHZhbHVlKTsKKyAgICAgICAgICAgIGNyZWF0ZUhpZGRlbkRlcGVu
ZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUsIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVlc3RDYWNo
ZUluZGV4KTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTI4Myw3ICsyODMsNyBAQCBDQUxMQkFD
S19GVU5DX0RFQ0woWE1MSHR0cFJlcXVlc3RBZGRFdmVudExpc3RlbmVyKQogICAgICAgICBib29s
IHVzZUNhcHR1cmUgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKICAgICAgICAgeG1sSHR0cFJl
cXVlc3QtPmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUpOwogCi0g
ICAgICAgIGNyZWF0ZUhpZGRlblhIUkRlcGVuZGVuY3koYXJncy5Ib2xkZXIoKSwgYXJnc1sxXSk7
CisgICAgICAgIGNyZWF0ZUhpZGRlbkRlcGVuZGVuY3koYXJncy5Ib2xkZXIoKSwgYXJnc1sxXSwg
VjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgIH0KICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOwogfQpAQCAtMjk5LDcgKzI5OSw3IEBAIENBTExCQUNLX0ZVTkNfREVD
TChYTUxIdHRwUmVxdWVzdFJlbW92ZUV2ZW50TGlzdGVuZXIpCiAgICAgICAgIGJvb2wgdXNlQ2Fw
dHVyZSA9IGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpOwogICAgICAgICB4bWxIdHRwUmVxdWVzdC0+
cmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lci5nZXQoKSwgdXNlQ2FwdHVyZSk7CiAK
LSAgICAgICAgcmVtb3ZlSGlkZGVuWEhSRGVwZW5kZW5jeShhcmdzLkhvbGRlcigpLCBhcmdzWzFd
KTsKKyAgICAgICAgcmVtb3ZlSGlkZGVuRGVwZW5kZW5jeShhcmdzLkhvbGRlcigpLCBhcmdzWzFd
LCBWOEN1c3RvbTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgfQogCiAgICAgcmV0
dXJuIHY4OjpVbmRlZmluZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4WE1MSHR0cFJlcXVlc3RVcGxvYWRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKaW5kZXggN2ZmYWQ4Mi4u
ZjMyNWVjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhYTUxIdHRwUmVxdWVzdFVwbG9hZEN1c3RvbS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNs
dWRlICJWOEN1c3RvbUJpbmRpbmcuaCIKICNpbmNsdWRlICJWOE9iamVjdEV2ZW50TGlzdGVuZXIu
aCIKICNpbmNsdWRlICJWOFByb3h5LmgiCi0jaW5jbHVkZSAiVjhYTUxIdHRwUmVxdWVzdFV0aWxp
dGllcy5oIgorI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVl
c3QuaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBAIC02Myw3ICs2Myw3IEBAIEFD
Q0VTU09SX1NFVFRFUihYTUxIdHRwUmVxdWVzdFVwbG9hZE9uYWJvcnQpCiAgICAgICAgIGlmICh4
bWxIdHRwUmVxdWVzdFVwbG9hZC0+b25hYm9ydCgpKSB7CiAgICAgICAgICAgICBWOE9iamVjdEV2
ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gc3RhdGljX2Nhc3Q8VjhPYmplY3RFdmVudExpc3RlbmVy
Kj4oeG1sSHR0cFJlcXVlc3RVcGxvYWQtPm9uYWJvcnQoKSk7CiAgICAgICAgICAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gdjhMaXN0ZW5lciA9IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVjdCgp
OwotICAgICAgICAgICAgcmVtb3ZlSGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2
OExpc3RlbmVyKTsKKyAgICAgICAgICAgIHJlbW92ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xk
ZXIoKSwgdjhMaXN0ZW5lciwgVjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwog
ICAgICAgICB9CiAKICAgICAgICAgLy8gQ2xlYXIgdGhlIGxpc3RlbmVyLgpAQCAtNzcsNyArNzcs
NyBAQCBBQ0NFU1NPUl9TRVRURVIoWE1MSHR0cFJlcXVlc3RVcGxvYWRPbmFib3J0KQogICAgICAg
ICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBwcm94eS0+RmluZE9yQ3JlYXRlT2Jq
ZWN0RXZlbnRMaXN0ZW5lcih2YWx1ZSwgZmFsc2UpOwogICAgICAgICBpZiAobGlzdGVuZXIpIHsK
ICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0VXBsb2FkLT5zZXRPbmFib3J0KGxpc3RlbmVyKTsK
LSAgICAgICAgICAgIGNyZWF0ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFs
dWUpOworICAgICAgICAgICAgY3JlYXRlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2
YWx1ZSwgVjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgICAgICB9CiAg
ICAgfQogfQpAQCAtMTAyLDcgKzEwMiw3IEBAIEFDQ0VTU09SX1NFVFRFUihYTUxIdHRwUmVxdWVz
dFVwbG9hZE9uZXJyb3IpCiAgICAgICAgIGlmICh4bWxIdHRwUmVxdWVzdFVwbG9hZC0+b25lcnJv
cigpKSB7CiAgICAgICAgICAgICBWOE9iamVjdEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gc3Rh
dGljX2Nhc3Q8VjhPYmplY3RFdmVudExpc3RlbmVyKj4oeG1sSHR0cFJlcXVlc3RVcGxvYWQtPm9u
ZXJyb3IoKSk7CiAgICAgICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdjhMaXN0ZW5lciA9
IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVjdCgpOwotICAgICAgICAgICAgcmVtb3ZlSGlkZGVu
WEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2OExpc3RlbmVyKTsKKyAgICAgICAgICAgIHJl
bW92ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdjhMaXN0ZW5lciwgVjhDdXN0b206
OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gQ2xl
YXIgdGhlIGxpc3RlbmVyLgpAQCAtMTE2LDcgKzExNiw3IEBAIEFDQ0VTU09SX1NFVFRFUihYTUxI
dHRwUmVxdWVzdFVwbG9hZE9uZXJyb3IpCiAgICAgICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBs
aXN0ZW5lciA9IHByb3h5LT5GaW5kT3JDcmVhdGVPYmplY3RFdmVudExpc3RlbmVyKHZhbHVlLCBm
YWxzZSk7CiAgICAgICAgIGlmIChsaXN0ZW5lcikgewogICAgICAgICAgICAgeG1sSHR0cFJlcXVl
c3RVcGxvYWQtPnNldE9uZXJyb3IobGlzdGVuZXIpOwotICAgICAgICAgICAgY3JlYXRlSGlkZGVu
WEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2YWx1ZSk7CisgICAgICAgICAgICBjcmVhdGVI
aWRkZW5EZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHZhbHVlLCBWOEN1c3RvbTo6a1hNTEh0dHBS
ZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xNDEsNyArMTQxLDcg
QEAgQUNDRVNTT1JfU0VUVEVSKFhNTEh0dHBSZXF1ZXN0VXBsb2FkT25sb2FkKQogICAgICAgICBp
ZiAoeG1sSHR0cFJlcXVlc3RVcGxvYWQtPm9ubG9hZCgpKSB7CiAgICAgICAgICAgICBWOE9iamVj
dEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0gc3RhdGljX2Nhc3Q8VjhPYmplY3RFdmVudExpc3Rl
bmVyKj4oeG1sSHR0cFJlcXVlc3RVcGxvYWQtPm9ubG9hZCgpKTsKICAgICAgICAgICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiB2OExpc3RlbmVyID0gbGlzdGVuZXItPmdldExpc3RlbmVyT2JqZWN0
KCk7Ci0gICAgICAgICAgICByZW1vdmVIaWRkZW5YSFJEZXBlbmRlbmN5KGluZm8uSG9sZGVyKCks
IHY4TGlzdGVuZXIpOworICAgICAgICAgICAgcmVtb3ZlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhv
bGRlcigpLCB2OExpc3RlbmVyLCBWOEN1c3RvbTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7
CiAgICAgICAgIH0KIAogICAgICAgICAvLyBDbGVhciB0aGUgbGlzdGVuZXIuCkBAIC0xNTUsNyAr
MTU1LDcgQEAgQUNDRVNTT1JfU0VUVEVSKFhNTEh0dHBSZXF1ZXN0VXBsb2FkT25sb2FkKQogICAg
ICAgICBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBwcm94eS0+RmluZE9yQ3JlYXRl
T2JqZWN0RXZlbnRMaXN0ZW5lcih2YWx1ZSwgZmFsc2UpOwogICAgICAgICBpZiAobGlzdGVuZXIp
IHsKICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0VXBsb2FkLT5zZXRPbmxvYWQobGlzdGVuZXIp
OwotICAgICAgICAgICAgY3JlYXRlSGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2
YWx1ZSk7CisgICAgICAgICAgICBjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KGluZm8uSG9sZGVyKCks
IHZhbHVlLCBWOEN1c3RvbTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgICAgIH0K
ICAgICB9CiB9CkBAIC0xODAsNyArMTgwLDcgQEAgQUNDRVNTT1JfU0VUVEVSKFhNTEh0dHBSZXF1
ZXN0VXBsb2FkT25sb2Fkc3RhcnQpCiAgICAgICAgIGlmICh4bWxIdHRwUmVxdWVzdFVwbG9hZC0+
b25sb2Fkc3RhcnQoKSkgewogICAgICAgICAgICAgVjhPYmplY3RFdmVudExpc3RlbmVyKiBsaXN0
ZW5lciA9IHN0YXRpY19jYXN0PFY4T2JqZWN0RXZlbnRMaXN0ZW5lcio+KHhtbEh0dHBSZXF1ZXN0
VXBsb2FkLT5vbmxvYWRzdGFydCgpKTsKICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiB2OExpc3RlbmVyID0gbGlzdGVuZXItPmdldExpc3RlbmVyT2JqZWN0KCk7Ci0gICAgICAgICAg
ICByZW1vdmVIaWRkZW5YSFJEZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHY4TGlzdGVuZXIpOwor
ICAgICAgICAgICAgcmVtb3ZlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2OExpc3Rl
bmVyLCBWOEN1c3RvbTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgICAgIH0KIAog
ICAgICAgICAvLyBDbGVhciB0aGUgbGlzdGVuZXIuCkBAIC0xOTQsNyArMTk0LDcgQEAgQUNDRVNT
T1JfU0VUVEVSKFhNTEh0dHBSZXF1ZXN0VXBsb2FkT25sb2Fkc3RhcnQpCiAgICAgICAgIFJlZlB0
cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9IHByb3h5LT5GaW5kT3JDcmVhdGVPYmplY3RFdmVu
dExpc3RlbmVyKHZhbHVlLCBmYWxzZSk7CiAgICAgICAgIGlmIChsaXN0ZW5lcikgewogICAgICAg
ICAgICAgeG1sSHR0cFJlcXVlc3RVcGxvYWQtPnNldE9ubG9hZHN0YXJ0KGxpc3RlbmVyKTsKLSAg
ICAgICAgICAgIGNyZWF0ZUhpZGRlblhIUkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdmFsdWUp
OworICAgICAgICAgICAgY3JlYXRlSGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2YWx1
ZSwgVjhDdXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgICAgICB9CiAgICAg
fQogfQpAQCAtMjE5LDcgKzIxOSw3IEBAIEFDQ0VTU09SX1NFVFRFUihYTUxIdHRwUmVxdWVzdFVw
bG9hZE9ucHJvZ3Jlc3MpCiAgICAgICAgIGlmICh4bWxIdHRwUmVxdWVzdFVwbG9hZC0+b25wcm9n
cmVzcygpKSB7CiAgICAgICAgICAgICBWOE9iamVjdEV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyID0g
c3RhdGljX2Nhc3Q8VjhPYmplY3RFdmVudExpc3RlbmVyKj4oeG1sSHR0cFJlcXVlc3RVcGxvYWQt
Pm9ucHJvZ3Jlc3MoKSk7CiAgICAgICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdjhMaXN0
ZW5lciA9IGxpc3RlbmVyLT5nZXRMaXN0ZW5lck9iamVjdCgpOwotICAgICAgICAgICAgcmVtb3Zl
SGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2OExpc3RlbmVyKTsKKyAgICAgICAg
ICAgIHJlbW92ZUhpZGRlbkRlcGVuZGVuY3koaW5mby5Ib2xkZXIoKSwgdjhMaXN0ZW5lciwgVjhD
dXN0b206OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgICAgICB9CiAKICAgICAgICAg
Ly8gQ2xlYXIgdGhlIGxpc3RlbmVyLgpAQCAtMjMzLDcgKzIzMyw3IEBAIEFDQ0VTU09SX1NFVFRF
UihYTUxIdHRwUmVxdWVzdFVwbG9hZE9ucHJvZ3Jlc3MpCiAgICAgICAgIFJlZlB0cjxFdmVudExp
c3RlbmVyPiBsaXN0ZW5lciA9IHByb3h5LT5GaW5kT3JDcmVhdGVPYmplY3RFdmVudExpc3RlbmVy
KHZhbHVlLCBmYWxzZSk7CiAgICAgICAgIGlmIChsaXN0ZW5lcikgewogICAgICAgICAgICAgeG1s
SHR0cFJlcXVlc3RVcGxvYWQtPnNldE9ucHJvZ3Jlc3MobGlzdGVuZXIpOwotICAgICAgICAgICAg
Y3JlYXRlSGlkZGVuWEhSRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCB2YWx1ZSk7CisgICAgICAg
ICAgICBjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KGluZm8uSG9sZGVyKCksIHZhbHVlLCBWOEN1c3Rv
bTo6a1hNTEh0dHBSZXF1ZXN0Q2FjaGVJbmRleCk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0y
NTQsNyArMjU0LDcgQEAgQ0FMTEJBQ0tfRlVOQ19ERUNMKFhNTEh0dHBSZXF1ZXN0VXBsb2FkQWRk
RXZlbnRMaXN0ZW5lcikKICAgICAgICAgYm9vbCB1c2VDYXB0dXJlID0gYXJnc1syXS0+Qm9vbGVh
blZhbHVlKCk7CiAgICAgICAgIHhtbEh0dHBSZXF1ZXN0VXBsb2FkLT5hZGRFdmVudExpc3RlbmVy
KHR5cGUsIGxpc3RlbmVyLCB1c2VDYXB0dXJlKTsKIAotICAgICAgICBjcmVhdGVIaWRkZW5YSFJE
ZXBlbmRlbmN5KGFyZ3MuSG9sZGVyKCksIGFyZ3NbMV0pOworICAgICAgICBjcmVhdGVIaWRkZW5E
ZXBlbmRlbmN5KGFyZ3MuSG9sZGVyKCksIGFyZ3NbMV0sIFY4Q3VzdG9tOjprWE1MSHR0cFJlcXVl
c3RDYWNoZUluZGV4KTsKICAgICB9CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KQEAg
LTI3Niw3ICsyNzYsNyBAQCBDQUxMQkFDS19GVU5DX0RFQ0woWE1MSHR0cFJlcXVlc3RVcGxvYWRS
ZW1vdmVFdmVudExpc3RlbmVyKQogICAgICAgICBib29sIHVzZUNhcHR1cmUgPSBhcmdzWzJdLT5C
b29sZWFuVmFsdWUoKTsKICAgICAgICAgeG1sSHR0cFJlcXVlc3RVcGxvYWQtPnJlbW92ZUV2ZW50
TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIuZ2V0KCksIHVzZUNhcHR1cmUpOwogCi0gICAgICAgIHJl
bW92ZUhpZGRlblhIUkRlcGVuZGVuY3koYXJncy5Ib2xkZXIoKSwgYXJnc1sxXSk7CisgICAgICAg
IHJlbW92ZUhpZGRlbkRlcGVuZGVuY3koYXJncy5Ib2xkZXIoKSwgYXJnc1sxXSwgVjhDdXN0b206
OmtYTUxIdHRwUmVxdWVzdENhY2hlSW5kZXgpOwogICAgIH0KIAogICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7Cg==
</data>
<flag name="review"
          id="14661"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>