<?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>214714</bug_id>
          
          <creation_ts>2020-07-23 17:23:03 -0700</creation_ts>
          <short_desc>IDBBindingUtilies miss exception checks</short_desc>
          <delta_ts>2020-07-24 14:50:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>214695</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>jsbell</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1674480</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-23 17:23:03 -0700</bug_when>
    <thetext>IDBBindingUtilies miss exception checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674481</commentid>
    <comment_count>1</comment_count>
      <attachid>405101</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-23 17:23:53 -0700</bug_when>
    <thetext>Created attachment 405101
WIP, which should be applied after https://bugs.webkit.org/show_bug.cgi?id=214695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674482</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-23 17:23:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/65931557&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674848</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-24 14:50:50 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 214695 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405101</attachid>
            <date>2020-07-23 17:23:53 -0700</date>
            <delta_ts>2020-07-23 17:23:53 -0700</delta_ts>
            <desc>WIP, which should be applied after https://bugs.webkit.org/show_bug.cgi?id=214695</desc>
            <filename>bug-214714-20200723172352.patch</filename>
            <type>text/plain</type>
            <size>25536</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OWVjYmRkMjVlZTAwZmY2MmJiN2FjYTliYzBlZmI3YzM0OTZhYzMyLi5mNTgyMDgxNjYwMjdjMTQz
YjFjYzVmMzI2Mzk0YzllNWU0NTQ4YjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wNy0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIElEQkJpbmRpbmdVdGlsaWVzIG1pc3MgZXhjZXB0aW9uIGNoZWNrcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NzE0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS82NTkzMTU1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVk0gaW5zdGVhZCBvZiBKU0dsb2JhbE9iamVjdCBz
aW5jZSBWTSBpcyBlbm91Z2guCisKKyAgICAgICAgKiBydW50aW1lL0pTU3RyaW5nLmg6CisgICAg
ICAgIChKU0M6OmpzU3RyaW5nV2l0aENhY2hlKToKKwogMjAyMC0wNy0yMyAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEZUTCBPU1IgZW50cnkgc2hv
dWxkIHN0b3JlIGJveGVkIHx0aGlzfApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY0ZjA4NTI5Y2E3MWZkYTE2MjAy
MjFmMzAxNjk1ZjNhYTRhMjQ4OWUuLjA1MjlhNmViMWY2YTAyMmZjOWVkOTc2N2IxNjYxNDE3NWE2
ZTI0ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMC0wNy0yMyAgWXVzdWtlIFN1
enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIElEQkJpbmRpbmdVdGlsaWVzIG1p
c3MgZXhjZXB0aW9uIGNoZWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE0NzE0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTkzMTU1Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OnNldCk6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZUlEQktleUZyb21WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjplbnN1
cmVOdGhWYWx1ZU9uS2V5UGF0aCk6CisgICAgICAgIChXZWJDb3JlOjppbmplY3RJREJLZXlJbnRv
U2NyaXB0VmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29r
dXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydERhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVUb0RhdGUpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NQ29udmVydERhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnZlcnRlcjxJRExE
YXRlPjo6Y29udmVydCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db252ZXJ0U3RyaW5n
cy5oOgorICAgICAgICAoV2ViQ29yZTo6SlNDb252ZXJ0ZXI8SURMRE9NU3RyaW5nPjo6Y29udmVy
dCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NvbnZlcnRlcjxJRExCeXRlU3RyaW5nPjo6Y29udmVy
dCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NvbnZlcnRlcjxJRExVU1ZTdHJpbmc+Ojpjb252ZXJ0
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRXZWJHTC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjb252ZXJ0VG9KU1ZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0xh
enlFdmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTGF6eUV2ZW50TGlzdGVu
ZXI6OmluaXRpYWxpemVKU0Z1bmN0aW9uIGNvbnN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlRW51bWVyYXRpb25JbXBs
ZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RW51
bWVyYXRpb25Ub0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRFbnVtZXJhdGlvblRvSlMpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25lRGljdGlvbmFy
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0RW51bWVyYXRpb25Ub0pTKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RhbmRhbG9uZUVudW1lcmF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRFbnVtZXJhdGlvblRvSlMpOgorICAgICAg
ICAqIGJyaWRnZS9jL2NfdXRpbGl0eS5jcHA6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpjb252
ZXJ0TlBWYXJpYW50VG9WYWx1ZSk6CisKIDIwMjAtMDctMjMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBzaG91bGQgaGF2ZSBleGNlcHRpb24gY2hlY2sg
YWZ0ZXIgcHJvbWlzZSBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU3RyaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0
cmluZy5oCmluZGV4IDZkNmE5MTBjMTQxMDgwZDhjODhjNWE3YzllMTY1ZDM1NzQzZDAwMTIuLmI3
NTdmMDAxMDk0ZjAyMDc3YjI2YjhkNmQxMDJkZmVmZmVlMWE1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaApAQCAtOTE3LDkgKzkxNyw4IEBAIGlubGluZSBKU1N0
cmluZyoganNPd25lZFN0cmluZyhWTSYgdm0sIGNvbnN0IFN0cmluZyYgcykKICAgICByZXR1cm4g
SlNTdHJpbmc6OmNyZWF0ZUhhc090aGVyT3duZXIodm0sICpzLmltcGwoKSk7CiB9CiAKLUFMV0FZ
U19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nV2l0aENhY2hlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIGNvbnN0IFN0cmluZyYgcykKK0FMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3Ry
aW5nV2l0aENhY2hlKFZNJiB2bSwgY29uc3QgU3RyaW5nJiBzKQogewotICAgIFZNJiB2bSA9IGdl
dFZNKGdsb2JhbE9iamVjdCk7CiAgICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9IHMuaW1wbCgp
OwogICAgIGlmICghc3RyaW5nSW1wbCB8fCAhc3RyaW5nSW1wbC0+bGVuZ3RoKCkpCiAgICAgICAg
IHJldHVybiBqc0VtcHR5U3RyaW5nKHZtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKaW5kZXggYjhhOGZhODc0ZmMzYzBmNTQzYTRi
NTE1M2JkMTBmMGQ2ZTE1NDRlOC4uOWI5NWUzMzI1YzQ0ZmVjMmI4YWVlMzMzNmNkOWFmOTA5NTdj
NDQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSURCQmluZGluZ1V0
aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSURCQmluZGluZ1V0
aWxpdGllcy5jcHAKQEAgLTYwLDYgKzYwLDkgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogc3Rh
dGljIGJvb2wgZ2V0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IG9iamVjdCwgY29uc3QgU3RyaW5nJiBrZXlQYXRoRWxlbWVudCwgSlNWYWx1ZSYgcmVzdWx0KQog
eworICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKKyAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisKICAgICBpZiAob2JqZWN0LmlzU3RyaW5nKCkg
JiYga2V5UGF0aEVsZW1lbnQgPT0gImxlbmd0aCIpIHsKICAgICAgICAgcmVzdWx0ID0ganNOdW1i
ZXIoYXNTdHJpbmcob2JqZWN0KS0+bGVuZ3RoKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTY3LDExICs3MCwxMSBAQCBzdGF0aWMgYm9vbCBnZXQoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVmFsdWUgb2JqZWN0LCBjb25zdCBTdHJpbgogICAgIGlmICghb2JqZWN0
LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvKiBvYmogPSBhc09iamVjdChvYmplY3QpOwog
ICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIGtl
eVBhdGhFbGVtZW50KTsKICAgICBpZiAob2JqLT5pbmhlcml0czxKU0FycmF5Pih2bSkgJiYga2V5
UGF0aEVsZW1lbnQgPT0gImxlbmd0aCIpIHsKICAgICAgICAgcmVzdWx0ID0gb2JqLT5nZXQoJmxl
eGljYWxHbG9iYWxPYmplY3QsIGlkZW50aWZpZXIpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBpZiAo
b2JqLT5pbmhlcml0czxKU0Jsb2I+KHZtKSAmJiAoa2V5UGF0aEVsZW1lbnQgPT0gInNpemUiIHx8
IGtleVBhdGhFbGVtZW50ID09ICJ0eXBlIikpIHsKQEAgLTEwMCwxMiArMTAzLDE1IEBAIHN0YXRp
YyBib29sIGdldChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSBv
YmplY3QsIGNvbnN0IFN0cmluCiAgICAgfQogCiAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2Ny
aXB0b3I7Ci0gICAgaWYgKCFvYmotPmdldE93blByb3BlcnR5RGVzY3JpcHRvcigmbGV4aWNhbEds
b2JhbE9iamVjdCwgaWRlbnRpZmllciwgZGVzY3JpcHRvcikpCisgICAgYm9vbCBmb3VuZCA9IG9i
ai0+Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBpZGVudGlm
aWVyLCBkZXNjcmlwdG9yKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7
CisgICAgaWYgKCFmb3VuZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVzY3Jp
cHRvci5lbnVtZXJhYmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJlc3VsdCA9
IG9iai0+Z2V0KCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBpZGVudGlmaWVyKTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEx
NSwxMSArMTIxLDEwIEBAIHN0YXRpYyBib29sIGNhblNldChKU1ZhbHVlIG9iamVjdCwgY29uc3Qg
U3RyaW5nJiBrZXlQYXRoRWxlbWVudCkKICAgICByZXR1cm4gb2JqZWN0LmlzT2JqZWN0KCk7CiB9
CiAKLXN0YXRpYyBib29sIHNldChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNWYWx1ZSYgb2JqZWN0LCBjb25zdCBTdHJpbmcmIGtleVBhdGhFbGVtZW50LCBKU1ZhbHVlIGpz
VmFsdWUpCitzdGF0aWMgYm9vbCBzZXQoVk0mIHZtLCBKU1ZhbHVlJiBvYmplY3QsIGNvbnN0IFN0
cmluZyYga2V5UGF0aEVsZW1lbnQsIEpTVmFsdWUganNWYWx1ZSkKIHsKICAgICBpZiAoIWNhblNl
dChvYmplY3QsIGtleVBhdGhFbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFZN
JiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKICAgICBJZGVudGlmaWVyIGlkZW50aWZp
ZXIgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBrZXlQYXRoRWxlbWVudCk7CiAgICAgYXNP
YmplY3Qob2JqZWN0KS0+cHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCBqc1ZhbHVlKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTE2NCwxMSArMTY5LDExIEBAIEpTVmFsdWUgdG9KUyhKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwK
ICAgICAgICAgcmV0dXJuIEpTQXJyYXlCdWZmZXI6OmNyZWF0ZShsZXhpY2FsR2xvYmFsT2JqZWN0
LnZtKCksIHN0cnVjdHVyZSwgV1RGTW92ZShhcnJheUJ1ZmZlcikpOwogICAgIH0KICAgICBjYXNl
IEluZGV4ZWREQjo6S2V5VHlwZTo6U3RyaW5nOgotICAgICAgICByZXR1cm4ganNTdHJpbmdXaXRo
Q2FjaGUoJmxleGljYWxHbG9iYWxPYmplY3QsIGtleS0+c3RyaW5nKCkpOworICAgICAgICByZXR1
cm4ganNTdHJpbmdXaXRoQ2FjaGUodm0sIGtleS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSW5kZXhl
ZERCOjpLZXlUeXBlOjpEYXRlOgogICAgICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFi
bHkgYmUgdG9KUzxJRExEYXRlPiguLi4pIGFzIHBlcjoKICAgICAgICAgLy8gaHR0cDovL3czYy5n
aXRodWIuaW8vSW5kZXhlZERCLyNyZXF1ZXN0LWNvbnZlcnQtYS1rZXktdG8tYS12YWx1ZQotICAg
ICAgICByZXR1cm4gdG9KUzxJRExOdWxsYWJsZTxJRExEYXRlPj4obGV4aWNhbEdsb2JhbE9iamVj
dCwga2V5LT5kYXRlKCkpOworICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIHRvSlM8
SURMTnVsbGFibGU8SURMRGF0ZT4+KGxleGljYWxHbG9iYWxPYmplY3QsIGtleS0+ZGF0ZSgpKSk7
CiAgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6Ok51bWJlcjoKICAgICAgICAgcmV0dXJuIGpz
TnVtYmVyKGtleS0+bnVtYmVyKCkpOwogICAgIGNhc2UgSW5kZXhlZERCOjpLZXlUeXBlOjpNaW46
CkBAIC0xODksMTQgKzE5NCwxNyBAQCBzdGF0aWMgUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5
RnJvbVZhbHVlKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LAogICAgIFZNJiB2
bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSAmJiAhc3RkOjppc25h
bih2YWx1ZS50b051bWJlcigmbGV4aWNhbEdsb2JhbE9iamVjdCkpKQotICAgICAgICByZXR1cm4g
SURCS2V5OjpjcmVhdGVOdW1iZXIodmFsdWUudG9OdW1iZXIoJmxleGljYWxHbG9iYWxPYmplY3Qp
KTsKKyAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSAmJiAhc3RkOjppc25hbih2YWx1ZS5hc051bWJl
cigpKSkKKyAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlTnVtYmVyKHZhbHVlLmFzTnVtYmVy
KCkpOwogCi0gICAgaWYgKHZhbHVlLmlzU3RyaW5nKCkpCi0gICAgICAgIHJldHVybiBJREJLZXk6
OmNyZWF0ZVN0cmluZyhhc1N0cmluZyh2YWx1ZSktPnZhbHVlKCZsZXhpY2FsR2xvYmFsT2JqZWN0
KSk7CisgICAgaWYgKHZhbHVlLmlzU3RyaW5nKCkpIHsKKyAgICAgICAgYXV0byBzdHJpbmcgPSBh
c1N0cmluZyh2YWx1ZSktPnZhbHVlKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgcmV0dXJuIElEQktleTo6Y3Jl
YXRlU3RyaW5nKFdURk1vdmUoc3RyaW5nKSk7CisgICAgfQogCiAgICAgaWYgKHZhbHVlLmluaGVy
aXRzPERhdGVJbnN0YW5jZT4odm0pKSB7Ci0gICAgICAgIGF1dG8gZGF0ZVZhbHVlID0gdmFsdWVU
b0RhdGUobGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgICAgICBhdXRvIGRhdGVWYWx1
ZSA9IHZhbHVlVG9EYXRlKHZtLCB2YWx1ZSk7CiAgICAgICAgIGlmICghc3RkOjppc25hbihkYXRl
VmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlRGF0ZShkYXRlVmFsdWUp
OwogICAgIH0KQEAgLTIxOSw2ICsyMjcsNyBAQCBzdGF0aWMgUmVmUHRyPElEQktleT4gY3JlYXRl
SURCS2V5RnJvbVZhbHVlKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LAogICAg
ICAgICAgICAgICAgIEpTVmFsdWUgaXRlbSA9IGFycmF5LT5nZXRJbmRleCgmbGV4aWNhbEdsb2Jh
bE9iamVjdCwgaSk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKICAgICAgICAgICAgICAgICBSZWZQdHI8SURCS2V5PiBzdWJrZXkgPSBjcmVhdGVJREJL
ZXlGcm9tVmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgaXRlbSwgc3RhY2spOworICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgICAgICAgICAgICAg
aWYgKCFzdWJrZXkpCiAgICAgICAgICAgICAgICAgICAgIHN1YmtleXMuYXBwZW5kKElEQktleTo6
Y3JlYXRlSW52YWxpZCgpKTsKICAgICAgICAgICAgICAgICBlbHNlCkBAIC0yODMsNyArMjkyLDcg
QEAgc3RhdGljIEpTVmFsdWUgZW5zdXJlTnRoVmFsdWVPbktleVBhdGgoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmEKICAgICAgICAgY29uc3QgU3RyaW5nJiBrZXlQYXRo
RWxlbWVudCA9IGtleVBhdGhFbGVtZW50c1tpXTsKICAgICAgICAgaWYgKCFnZXQobGV4aWNhbEds
b2JhbE9iamVjdCwgcGFyZW50VmFsdWUsIGtleVBhdGhFbGVtZW50LCBjdXJyZW50VmFsdWUpKSB7
CiAgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoJmxl
eGljYWxHbG9iYWxPYmplY3QpOwotICAgICAgICAgICAgaWYgKCFzZXQobGV4aWNhbEdsb2JhbE9i
amVjdCwgcGFyZW50VmFsdWUsIGtleVBhdGhFbGVtZW50LCBKU1ZhbHVlKG9iamVjdCkpKQorICAg
ICAgICAgICAgaWYgKCFzZXQobGV4aWNhbEdsb2JhbE9iamVjdC52bSgpLCBwYXJlbnRWYWx1ZSwg
a2V5UGF0aEVsZW1lbnQsIEpTVmFsdWUob2JqZWN0KSkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CiAgICAgICAgICAgICBjdXJyZW50VmFsdWUgPSBKU1ZhbHVlKG9iamVj
dCk7CiAgICAgICAgIH0KQEAgLTMzNSw3ICszNDQsNyBAQCBib29sIGluamVjdElEQktleUludG9T
Y3JpcHRWYWx1ZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3QgSURC
SwogICAgIEpTVmFsdWUgZXhpc3RpbmdLZXk7CiAgICAgaWYgKGdldChsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBwYXJlbnQsIGtleVBhdGhFbGVtZW50cy5sYXN0KCksIGV4aXN0aW5nS2V5KSAmJiAha2V5
LT5jb21wYXJlKGNyZWF0ZUlEQktleUZyb21WYWx1ZShsZXhpY2FsR2xvYmFsT2JqZWN0LCBleGlz
dGluZ0tleSkpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAoIXNldChsZXhpY2FsR2xv
YmFsT2JqZWN0LCBwYXJlbnQsIGtleVBhdGhFbGVtZW50cy5sYXN0KCksIHRvSlMobGV4aWNhbEds
b2JhbE9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwga2V5LmdldCgpKSkpCisgICAgaWYgKCFz
ZXQobGV4aWNhbEdsb2JhbE9iamVjdC52bSgpLCBwYXJlbnQsIGtleVBhdGhFbGVtZW50cy5sYXN0
KCksIHRvSlMobGV4aWNhbEdsb2JhbE9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwga2V5Lmdl
dCgpKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwCmluZGV4IGRmNTYyZDA1OGJmMTczMGFhNTUwZWZjYzk4N2I1ZjU0MzIzODM5OTMuLjg2Njkz
ZTY5NzA3MDYwNWM0OGNkMjY1NWFmZmEwMTJmNDU0ZTA0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTg4
LDcgKzg4LDcgQEAgU3RyaW5nIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3Bh
Y2VVUkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgUmVmPEpTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFy
Z3M7Ci0gICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUobGV4aWNhbEdsb2JhbE9iamVj
dCwgcHJlZml4KSk7CisgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUodm0sIHByZWZp
eCkpOwogICAgIEFTU0VSVCghYXJncy5oYXNPdmVyZmxvd2VkKCkpOwogCiAgICAgTmFrZWRQdHI8
SlNDOjpFeGNlcHRpb24+IGV4Y2VwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQ29udmVydERhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01Db252ZXJ0RGF0ZS5jcHAKaW5kZXggNjQwZTc3ZTMzNjBmZjdlNjlhM2I3MDljNmNk
YmM4MDc1MWIwZTk5My4uOGFiZmFhY2I5YWQ4ZmMxNDJhNGE0OTlkZmYxY2IxNjlmYWE5Mjk3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0RGF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0RGF0ZS5jcHAK
QEAgLTM2LDEzICszNiwxMyBAQCBKU1ZhbHVlIGpzRGF0ZShKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgZG91YmxlIHZhbHVlKQogICAgIHJldHVybiBEYXRlSW5zdGFuY2U6OmNy
ZWF0ZShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCksIGxleGljYWxHbG9iYWxPYmplY3QuZGF0ZVN0
cnVjdHVyZSgpLCB2YWx1ZSk7CiB9CiAKLWRvdWJsZSB2YWx1ZVRvRGF0ZShKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK2RvdWJsZSB2YWx1ZVRvRGF0
ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlLmlzTnVtYmVyKCkpCiAg
ICAgICAgIHJldHVybiB2YWx1ZS5hc051bWJlcigpOwotICAgIGlmICghdmFsdWUuaW5oZXJpdHM8
RGF0ZUluc3RhbmNlPihsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCkpKQorICAgIGlmICghdmFsdWUu
aW5oZXJpdHM8RGF0ZUluc3RhbmNlPih2bSkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNf
bGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxEYXRl
SW5zdGFuY2UqPih2YWx1ZS50b09iamVjdCgmbGV4aWNhbEdsb2JhbE9iamVjdCkpLT5pbnRlcm5h
bE51bWJlcigpOworICAgIHJldHVybiBqc0Nhc3Q8RGF0ZUluc3RhbmNlKj4odmFsdWUpLT5pbnRl
cm5hbE51bWJlcigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnREYXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnREYXRlLmgKaW5kZXggNTI1YWU4NzAzNjUxNmQy
YjVlZDdmZTgyOTEwYWRiYWI2OTU3MTcwZi4uMDQ0MWFhMThhZjYzMjI2YjE2NWQ5N2EyNTBmODNm
MzFmYjcwYzcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01D
b252ZXJ0RGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dERhdGUuaApAQCAtMzEsMTIgKzMxLDEyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEpTQzo6
SlNWYWx1ZSBqc0RhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGRvdWJsZSB2YWx1ZSk7Ci1kb3Vi
bGUgdmFsdWVUb0RhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7IC8vIE5h
TiBpZiB0aGUgdmFsdWUgY2FuJ3QgYmUgY29udmVydGVkIHRvIGEgZGF0ZS4KK2RvdWJsZSB2YWx1
ZVRvRGF0ZShKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsgLy8gTmFOIGlmIHRoZSB2YWx1ZSBjYW4n
dCBiZSBjb252ZXJ0ZWQgdG8gYSBkYXRlLgogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDb252ZXJ0ZXI8
SURMRGF0ZT4gOiBEZWZhdWx0Q29udmVydGVyPElETERhdGU+IHsKICAgICBzdGF0aWMgZG91Ymxl
IGNvbnZlcnQoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpK
U1ZhbHVlIHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHZhbHVlVG9EYXRlKGxleGljYWxH
bG9iYWxPYmplY3QsIHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHZhbHVlVG9EYXRlKGxleGljYWxH
bG9iYWxPYmplY3Qudm0oKSwgdmFsdWUpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFN0cmluZ3MuaAppbmRleCBjYmFlZmJjZmYwZGIz
ZjMxMDhkNjYwZGM1NjM1YTVjNTg2NjFlMzdkLi40NjhjZDFlODVjYmRmNzFlOWQ3MTE2MDhmNjAx
OTQwZjA4NjIzYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUNvbnZlcnRTdHJpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01D
b252ZXJ0U3RyaW5ncy5oCkBAIC02Myw3ICs2Myw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEpTQ29u
dmVydGVyPElETERPTVN0cmluZz4gewogCiAgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb252ZXJ0
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYg
dmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gSlNDOjpqc1N0cmluZ1dpdGhDYWNoZSgmbGV4
aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgICAgICByZXR1cm4gSlNDOjpqc1N0cmluZ1dp
dGhDYWNoZShKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdmFsdWUpOwogICAgIH0K
IAogICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgY29udmVydChKU0M6OkpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBjb25zdCBVbmNhY2hlZFN0cmluZyYgdmFsdWUpCkBAIC05NSw3
ICs5NSw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEpTQ29udmVydGVyPElETEJ5dGVTdHJpbmc+IHsK
IAogICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgY29udmVydChKU0M6OkpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIEpTQzo6anNTdHJpbmdXaXRoQ2FjaGUoJmxleGljYWxHbG9iYWxPYmplY3QsIHZhbHVl
KTsKKyAgICAgICAgcmV0dXJuIEpTQzo6anNTdHJpbmdXaXRoQ2FjaGUoSlNDOjpnZXRWTSgmbGV4
aWNhbEdsb2JhbE9iamVjdCksIHZhbHVlKTsKICAgICB9CiAKICAgICBzdGF0aWMgSlNDOjpKU1Zh
bHVlIGNvbnZlcnQoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgY29u
c3QgVW5jYWNoZWRTdHJpbmcmIHZhbHVlKQpAQCAtMTI2LDcgKzEyNiw3IEBAIHRlbXBsYXRlPD4g
c3RydWN0IEpTQ29udmVydGVyPElETFVTVlN0cmluZz4gewogCiAgICAgc3RhdGljIEpTQzo6SlNW
YWx1ZSBjb252ZXJ0KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIGNv
bnN0IFN0cmluZyYgdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gSlNDOjpqc1N0cmluZ1dp
dGhDYWNoZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgICAgICByZXR1cm4gSlND
Ojpqc1N0cmluZ1dpdGhDYWNoZShKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdmFs
dWUpOwogICAgIH0KIAogICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgY29udmVydChKU0M6OkpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBjb25zdCBVbmNhY2hlZFN0cmluZyYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRX
ZWJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRXZWJHTC5j
cHAKaW5kZXggZjVkODMzZTg2OGRhYmYyMTc3ZTAzZWM4NmM3ZWQ4NzUwZmQ4YTY4NS4uMGQ1ZDBl
MWIxYjRmMDY1MzY2YjI5N2U4MWY2ZGYyZDg2ZjM3ZDJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0V2ViR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcApAQCAtOTMsNyArOTMsNyBAQCBK
U1ZhbHVlIGNvbnZlcnRUb0pTVmFsdWUoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRE9NR2xvYmFsT2JqZWN0JgogICAgICAgICAgICAgcmV0dXJuIGpzTnVtYmVyKHZhbHVl
KTsKICAgICAgICAgfSwKICAgICAgICAgWyZdIChjb25zdCBTdHJpbmcmIHZhbHVlKSB7Ci0gICAg
ICAgICAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUoJmxleGljYWxHbG9iYWxPYmplY3QsIHZh
bHVlKTsKKyAgICAgICAgICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZShsZXhpY2FsR2xvYmFs
T2JqZWN0LnZtKCksIHZhbHVlKTsKICAgICAgICAgfSwKICAgICAgICAgWyZdIChjb25zdCBWZWN0
b3I8Ym9vbD4mIHZhbHVlcykgewogICAgICAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlz
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlz
dGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5l
ci5jcHAKaW5kZXggMTVjN2ExNjQwZmZjMjE0NThiODFmZWFjMTcwYTJjNjc2NzViMTNkZC4uOTg3
Y2JhNGMzMWI3MGU1OGI0MWUzYTY2YWNjZjBiYTJhNmY3NTg4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKQEAgLTE1MCw3ICsx
NTAsNyBAQCBKU09iamVjdCogSlNMYXp5RXZlbnRMaXN0ZW5lcjo6aW5pdGlhbGl6ZUpTRnVuY3Rp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgZXhlYwogCiAgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXJnczsKICAgICBhcmdzLmFwcGVuZChqc05vbnRyaXZpYWxTdHJpbmcodm0sIG1fZXZlbnRQ
YXJhbWV0ZXJOYW1lKSk7Ci0gICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUobGV4aWNh
bEdsb2JhbE9iamVjdCwgbV9jb2RlKSk7CisgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2Fj
aGUodm0sIG1fY29kZSkpOwogICAgIEFTU0VSVCghYXJncy5oYXNPdmVyZmxvd2VkKCkpOwogCiAg
ICAgLy8gV2Ugd2FudCBhbGwgZXJyb3JzIHRvIHJlZmVyIGJhY2sgdG8gdGhlIGxpbmUgb24gd2hp
Y2ggb3VyIGF0dHJpYnV0ZSB3YXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMzQxMTc5Yzg0YWMxZjM4MDZiMjZjZjZhYzEx
NjJkMTFkYTkzZDIxYS4uMzMzY2U4YWU0NjA4MjAzZjBiNzQxMjI1ZTBkNDQ4M2MwY2ExYmVlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTIxMTQsNyArMjExNCw3IEBAIHN1YiBHZW5lcmF0ZUVudW1lcmF0aW9uSW1wbGVt
ZW50YXRpb25Db250ZW50CiAgICAgIyBGSVhNRTogQ2hhbmdlIHRvIHRha2UgVk0mIGluc3RlYWQg
b2YgSlNHbG9iYWxPYmplY3QqLgogICAgICRyZXN1bHQgLj0gInRlbXBsYXRlPD4gSlNTdHJpbmcq
IGNvbnZlcnRFbnVtZXJhdGlvblRvSlMoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsICRjbGFzc05hbWUgZW51bWVyYXRpb25WYWx1ZSlcbiI7CiAgICAgJHJlc3VsdCAuPSAie1xu
IjsKLSAgICAkcmVzdWx0IC49ICIgICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVl
KSk7XG4iOworICAgICRyZXN1bHQgLj0gIiAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUobGV4
aWNhbEdsb2JhbE9iamVjdC52bSgpLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJh
dGlvblZhbHVlKSk7XG4iOwogICAgICRyZXN1bHQgLj0gIn1cblxuIjsKIAogICAgICMgRklYTUU6
IENoYW5nZSB0byB0YWtlIFZNJiBpbnN0ZWFkIG9mIEpTR2xvYmFsT2JqZWN0Ji4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCmluZGV4IGMwN2M2ODI2YjU2NjU3OGJhYmQ5ZTBm
OGY1YmM5YTdiZmEyZjRmYTQuLjYyODkzM2ZmZDYzMzgwMDg0YzJhNGYxNWY1MjY2OTdhMWVkYjE0
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcApAQCAtNjEsNyArNjEs
NyBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoVGVzdENhbGxiYWNrSW50ZXJm
YWNlOjpFbnVtIGVudW1lcmF0aW9uVmFsdWUpCiAKIHRlbXBsYXRlPD4gSlNTdHJpbmcqIGNvbnZl
cnRFbnVtZXJhdGlvblRvSlMoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFRl
c3RDYWxsYmFja0ludGVyZmFjZTo6RW51bSBlbnVtZXJhdGlvblZhbHVlKQogewotICAgIHJldHVy
biBqc1N0cmluZ1dpdGhDYWNoZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgY29udmVydEVudW1lcmF0
aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOworICAgIHJldHVybiBqc1N0cmluZ1dpdGhD
YWNoZShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5n
KGVudW1lcmF0aW9uVmFsdWUpKTsKIH0KIAogdGVtcGxhdGU8PiBPcHRpb25hbDxUZXN0Q2FsbGJh
Y2tJbnRlcmZhY2U6OkVudW0+IHBhcnNlRW51bWVyYXRpb248VGVzdENhbGxiYWNrSW50ZXJmYWNl
OjpFbnVtPihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggZjAyM2FiYjBiZDdjYmVjZmVjNmUxZDk5MWRkZTVmYTAwOGZkMDU4
OC4uNTBmMGI5Y2Q0MjQ0YzQxZDg5ODc2ZmZkMTczMTgxOTYyMGM5ZTI3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
QEAgLTEzOCw3ICsxMzgsNyBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoVGVz
dE9iajo6RW51bVR5cGUgZW51bWVyYXRpb25WYWx1ZSkKIAogdGVtcGxhdGU8PiBKU1N0cmluZyog
Y29udmVydEVudW1lcmF0aW9uVG9KUyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgVGVzdE9iajo6RW51bVR5cGUgZW51bWVyYXRpb25WYWx1ZSkKIHsKLSAgICByZXR1cm4ganNT
dHJpbmdXaXRoQ2FjaGUoJmxleGljYWxHbG9iYWxPYmplY3QsIGNvbnZlcnRFbnVtZXJhdGlvblRv
U3RyaW5nKGVudW1lcmF0aW9uVmFsdWUpKTsKKyAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUo
bGV4aWNhbEdsb2JhbE9iamVjdC52bSgpLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVt
ZXJhdGlvblZhbHVlKSk7CiB9CiAKIHRlbXBsYXRlPD4gT3B0aW9uYWw8VGVzdE9iajo6RW51bVR5
cGU+IHBhcnNlRW51bWVyYXRpb248VGVzdE9iajo6RW51bVR5cGU+KEpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTc4LDcgKzE3OCw3IEBAIFN0
cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhUZXN0T2JqOjpPcHRpb25hbCBlbnVtZXJh
dGlvblZhbHVlKQogCiB0ZW1wbGF0ZTw+IEpTU3RyaW5nKiBjb252ZXJ0RW51bWVyYXRpb25Ub0pT
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBUZXN0T2JqOjpPcHRpb25hbCBl
bnVtZXJhdGlvblZhbHVlKQogewotICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZSgmbGV4aWNh
bEdsb2JhbE9iamVjdCwgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1
ZSkpOworICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZShsZXhpY2FsR2xvYmFsT2JqZWN0LnZt
KCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVudW1lcmF0aW9uVmFsdWUpKTsKIH0KIAog
dGVtcGxhdGU8PiBPcHRpb25hbDxUZXN0T2JqOjpPcHRpb25hbD4gcGFyc2VFbnVtZXJhdGlvbjxU
ZXN0T2JqOjpPcHRpb25hbD4oSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCkBAIC0yMTQsNyArMjE0LDcgQEAgU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlv
blRvU3RyaW5nKEFsdGVybmF0ZUVudW1OYW1lIGVudW1lcmF0aW9uVmFsdWUpCiAKIHRlbXBsYXRl
PD4gSlNTdHJpbmcqIGNvbnZlcnRFbnVtZXJhdGlvblRvSlMoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEFsdGVybmF0ZUVudW1OYW1lIGVudW1lcmF0aW9uVmFsdWUpCiB7Ci0g
ICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBjb252ZXJ0
RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVlKSk7CisgICAgcmV0dXJuIGpzU3Ry
aW5nV2l0aENhY2hlKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSwgY29udmVydEVudW1lcmF0aW9u
VG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOwogfQogCiB0ZW1wbGF0ZTw+IE9wdGlvbmFsPEFs
dGVybmF0ZUVudW1OYW1lPiBwYXJzZUVudW1lcmF0aW9uPEFsdGVybmF0ZUVudW1OYW1lPihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKQEAgLTI0Niw3
ICsyNDYsNyBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoVGVzdE9iajo6RW51
bUEgZW51bWVyYXRpb25WYWx1ZSkKIAogdGVtcGxhdGU8PiBKU1N0cmluZyogY29udmVydEVudW1l
cmF0aW9uVG9KUyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVGVzdE9iajo6
RW51bUEgZW51bWVyYXRpb25WYWx1ZSkKIHsKLSAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUo
JmxleGljYWxHbG9iYWxPYmplY3QsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVudW1lcmF0
aW9uVmFsdWUpKTsKKyAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUobGV4aWNhbEdsb2JhbE9i
amVjdC52bSgpLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVlKSk7
CiB9CiAKIHRlbXBsYXRlPD4gT3B0aW9uYWw8VGVzdE9iajo6RW51bUE+IHBhcnNlRW51bWVyYXRp
b248VGVzdE9iajo6RW51bUE+KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1ZhbHVlIHZhbHVlKQpAQCAtMjc4LDcgKzI3OCw3IEBAIFN0cmluZyBjb252ZXJ0RW51bWVyYXRp
b25Ub1N0cmluZyhUZXN0T2JqOjpFbnVtQiBlbnVtZXJhdGlvblZhbHVlKQogCiB0ZW1wbGF0ZTw+
IEpTU3RyaW5nKiBjb252ZXJ0RW51bWVyYXRpb25Ub0pTKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBUZXN0T2JqOjpFbnVtQiBlbnVtZXJhdGlvblZhbHVlKQogewotICAgIHJl
dHVybiBqc1N0cmluZ1dpdGhDYWNoZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgY29udmVydEVudW1l
cmF0aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOworICAgIHJldHVybiBqc1N0cmluZ1dp
dGhDYWNoZShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3Ry
aW5nKGVudW1lcmF0aW9uVmFsdWUpKTsKIH0KIAogdGVtcGxhdGU8PiBPcHRpb25hbDxUZXN0T2Jq
OjpFbnVtQj4gcGFyc2VFbnVtZXJhdGlvbjxUZXN0T2JqOjpFbnVtQj4oSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCkBAIC0zMTAsNyArMzEwLDcgQEAg
U3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFRlc3RPYmo6OkVudW1DIGVudW1lcmF0
aW9uVmFsdWUpCiAKIHRlbXBsYXRlPD4gSlNTdHJpbmcqIGNvbnZlcnRFbnVtZXJhdGlvblRvSlMo
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFRlc3RPYmo6OkVudW1DIGVudW1l
cmF0aW9uVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKCZsZXhpY2FsR2xv
YmFsT2JqZWN0LCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVlKSk7
CisgICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSwg
Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOwogfQogCiB0ZW1w
bGF0ZTw+IE9wdGlvbmFsPFRlc3RPYmo6OkVudW1DPiBwYXJzZUVudW1lcmF0aW9uPFRlc3RPYmo6
OkVudW1DPihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1
ZSkKQEAgLTM0Miw3ICszNDIsNyBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmco
VGVzdE9iajo6S2luZCBlbnVtZXJhdGlvblZhbHVlKQogCiB0ZW1wbGF0ZTw+IEpTU3RyaW5nKiBj
b252ZXJ0RW51bWVyYXRpb25Ub0pTKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBUZXN0T2JqOjpLaW5kIGVudW1lcmF0aW9uVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGpzU3RyaW5n
V2l0aENhY2hlKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmlu
ZyhlbnVtZXJhdGlvblZhbHVlKSk7CisgICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKGxleGlj
YWxHbG9iYWxPYmplY3Qudm0oKSwgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoZW51bWVyYXRp
b25WYWx1ZSkpOwogfQogCiB0ZW1wbGF0ZTw+IE9wdGlvbmFsPFRlc3RPYmo6OktpbmQ+IHBhcnNl
RW51bWVyYXRpb248VGVzdE9iajo6S2luZD4oSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTVmFsdWUgdmFsdWUpCkBAIC0zNzQsNyArMzc0LDcgQEAgU3RyaW5nIGNvbnZlcnRF
bnVtZXJhdGlvblRvU3RyaW5nKFRlc3RPYmo6OlNpemUgZW51bWVyYXRpb25WYWx1ZSkKIAogdGVt
cGxhdGU8PiBKU1N0cmluZyogY29udmVydEVudW1lcmF0aW9uVG9KUyhKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgVGVzdE9iajo6U2l6ZSBlbnVtZXJhdGlvblZhbHVlKQogewot
ICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOworICAgIHJldHVybiBqc1N0
cmluZ1dpdGhDYWNoZShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCksIGNvbnZlcnRFbnVtZXJhdGlv
blRvU3RyaW5nKGVudW1lcmF0aW9uVmFsdWUpKTsKIH0KIAogdGVtcGxhdGU8PiBPcHRpb25hbDxU
ZXN0T2JqOjpTaXplPiBwYXJzZUVudW1lcmF0aW9uPFRlc3RPYmo6OlNpemU+KEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpAQCAtNDA2LDcgKzQwNiw3
IEBAIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhUZXN0T2JqOjpDb25maWRlbmNl
IGVudW1lcmF0aW9uVmFsdWUpCiAKIHRlbXBsYXRlPD4gSlNTdHJpbmcqIGNvbnZlcnRFbnVtZXJh
dGlvblRvSlMoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFRlc3RPYmo6OkNv
bmZpZGVuY2UgZW51bWVyYXRpb25WYWx1ZSkKIHsKLSAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2Fj
aGUoJmxleGljYWxHbG9iYWxPYmplY3QsIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVudW1l
cmF0aW9uVmFsdWUpKTsKKyAgICByZXR1cm4ganNTdHJpbmdXaXRoQ2FjaGUobGV4aWNhbEdsb2Jh
bE9iamVjdC52bSgpLCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVl
KSk7CiB9CiAKIHRlbXBsYXRlPD4gT3B0aW9uYWw8VGVzdE9iajo6Q29uZmlkZW5jZT4gcGFyc2VF
bnVtZXJhdGlvbjxUZXN0T2JqOjpDb25maWRlbmNlPihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25lRGljdGlvbmFyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RhbmRhbG9uZURp
Y3Rpb25hcnkuY3BwCmluZGV4IGExNzlkY2NjYTY3OGJiNDcxMGZmNDI2NDMxZmQyMTU1NDk2OTQy
MjIuLmViZTZkYjU4NTNkNWRhMWQyMzQyZDFkY2Q0MDAyOWYyZDkzZWE0NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25l
RGljdGlvbmFyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0YW5kYWxvbmVEaWN0aW9uYXJ5LmNwcApAQCAtMzI4LDcgKzMyOCw3IEBAIFN0
cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhUZXN0U3RhbmRhbG9uZURpY3Rpb25hcnk6
OkVudW1JblN0YW5kYWxvbmVEaWN0CiAKIHRlbXBsYXRlPD4gSlNTdHJpbmcqIGNvbnZlcnRFbnVt
ZXJhdGlvblRvSlMoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIFRlc3RTdGFu
ZGFsb25lRGljdGlvbmFyeTo6RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlIGVudW1lcmF0
aW9uVmFsdWUpCiB7Ci0gICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKCZsZXhpY2FsR2xvYmFs
T2JqZWN0LCBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhlbnVtZXJhdGlvblZhbHVlKSk7Cisg
ICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hlKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSwgY29u
dmVydEVudW1lcmF0aW9uVG9TdHJpbmcoZW51bWVyYXRpb25WYWx1ZSkpOwogfQogCiB0ZW1wbGF0
ZTw+IE9wdGlvbmFsPFRlc3RTdGFuZGFsb25lRGljdGlvbmFyeTo6RW51bUluU3RhbmRhbG9uZURp
Y3Rpb25hcnlGaWxlPiBwYXJzZUVudW1lcmF0aW9uPFRlc3RTdGFuZGFsb25lRGljdGlvbmFyeTo6
RW51bUluU3RhbmRhbG9uZURpY3Rpb25hcnlGaWxlPihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdGFuZGFsb25lRW51bWVyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVF
bnVtZXJhdGlvbi5jcHAKaW5kZXggOTE2M2FjMmEyODUzMjU4ZWNlNWM1YTBlYjRiMWQzOGQ5ZmZh
YTBlZi4uNWVkNzk4MDhlZTgxODY0YjFkNjg2YzhiNjQzY2FiMzNjZGNhMTM5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0YW5kYWxv
bmVFbnVtZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0YW5kYWxvbmVFbnVtZXJhdGlvbi5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAg
U3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFRlc3RTdGFuZGFsb25lRW51bWVyYXRp
b24gZW51bWVyYXRpb25WYWx1ZSkKIAogdGVtcGxhdGU8PiBKU1N0cmluZyogY29udmVydEVudW1l
cmF0aW9uVG9KUyhKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgVGVzdFN0YW5k
YWxvbmVFbnVtZXJhdGlvbiBlbnVtZXJhdGlvblZhbHVlKQogewotICAgIHJldHVybiBqc1N0cmlu
Z1dpdGhDYWNoZSgmbGV4aWNhbEdsb2JhbE9iamVjdCwgY29udmVydEVudW1lcmF0aW9uVG9TdHJp
bmcoZW51bWVyYXRpb25WYWx1ZSkpOworICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZShsZXhp
Y2FsR2xvYmFsT2JqZWN0LnZtKCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVudW1lcmF0
aW9uVmFsdWUpKTsKIH0KIAogdGVtcGxhdGU8PiBPcHRpb25hbDxUZXN0U3RhbmRhbG9uZUVudW1l
cmF0aW9uPiBwYXJzZUVudW1lcmF0aW9uPFRlc3RTdGFuZGFsb25lRW51bWVyYXRpb24+KEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvY191dGlsaXR5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9jL2NfdXRpbGl0eS5jcHAKaW5kZXggYWVjYjczY2RhMGE5YzYzZjgwN2EzYTU4MWNj
NmI4MGYyYjI2ZTc4NS4uZDc5MWI4MjUyNjRiOWZhNzA2MDU0MWYzMDVlZWIwYmMzNjU3ODAzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvY191dGlsaXR5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX3V0aWxpdHkuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAg
SlNWYWx1ZSBjb252ZXJ0TlBWYXJpYW50VG9WYWx1ZShKU0dsb2JhbE9iamVjdCogZXhlYywgY29u
c3QgTlBWYXJpYW50KiB2YXJpYW50LAogICAgIGlmICh0eXBlID09IE5QVmFyaWFudFR5cGVfRG91
YmxlKQogICAgICAgICByZXR1cm4ganNOdW1iZXIoTlBWQVJJQU5UX1RPX0RPVUJMRSgqdmFyaWFu
dCkpOwogICAgIGlmICh0eXBlID09IE5QVmFyaWFudFR5cGVfU3RyaW5nKQotICAgICAgICByZXR1
cm4ganNTdHJpbmdXaXRoQ2FjaGUoZXhlYywgY29udmVydE5QU3RyaW5nVG9VVEYxNigmdmFyaWFu
dC0+dmFsdWUuc3RyaW5nVmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGpzU3RyaW5nV2l0aENhY2hl
KGV4ZWMtPnZtKCksIGNvbnZlcnROUFN0cmluZ1RvVVRGMTYoJnZhcmlhbnQtPnZhbHVlLnN0cmlu
Z1ZhbHVlKSk7CiAgICAgaWYgKHR5cGUgPT0gTlBWYXJpYW50VHlwZV9PYmplY3QpIHsKICAgICAg
ICAgTlBPYmplY3QqIG9iaiA9IHZhcmlhbnQtPnZhbHVlLm9iamVjdFZhbHVlOwogICAgICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>