<?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>223086</bug_id>
          
          <creation_ts>2021-03-11 13:49:25 -0800</creation_ts>
          <short_desc>Remove logging for quota for investigating http/tests/IndexedDB/storage-limit-1.html failure</short_desc>
          <delta_ts>2021-04-08 09:14:54 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222995</see_also>
          <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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1738601</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-03-11 13:49:25 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741441</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-18 14:50:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/75591816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748170</commentid>
    <comment_count>2</comment_count>
      <attachid>425463</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-04-07 17:42:36 -0700</bug_when>
    <thetext>Created attachment 425463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748317</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-08 09:14:52 -0700</bug_when>
    <thetext>Committed r275659 (236295@main): &lt;https://commits.webkit.org/236295@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425463.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425463</attachid>
            <date>2021-04-07 17:42:36 -0700</date>
            <delta_ts>2021-04-08 09:14:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223086-20210407174235.patch</filename>
            <type>text/plain</type>
            <size>33648</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ2MDUwNGFkYjNlMmY0
MTQ3Y2I1YTEwODdmNmUyYTdlNzk1OTUzNC4uZGE4YjIzOTUwYjJhNzA4MmE3NmM2NWRkYmRlMjA4
NWUxOWVlNGM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA0LTA3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBsb2dnaW5nIGZv
ciBpbnZlc3RpZ2F0aW5nIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQtMS5odG1s
IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzA4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU1OTE4MTY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2Vy
dmVyOjpkaXNrVXNhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJT
ZXJ2ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFj
a2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFj
a2luZ1N0b3JlOjpkYXRhYmFzZXNTaXplRm9yRGlyZWN0b3J5KToKKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmg6CisgICAgICAgICogc3Rv
cmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VR
dW90YU1hbmFnZXI6OnJlcXVlc3RTcGFjZU9uQmFja2dyb3VuZFRocmVhZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjp0cnlHcmFudFJlcXVlc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6c2V0TG9nZ2luZ0VuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oOgorCiAyMDIxLTA0LTA3
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgSWdub3JlIG5vbi1udWxs
IGxhc3RRdW90ZSBBU1NFUlQgd2hlbiBjb250aW51YXRpb24gaXMgYnJva2VuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDUwODc4MTk1YTllNWY3ZTI1NGU4YTBiYWYwNmYyZDJhZDljMWVmNjguLjgwMjkwOGFjZTVhY2Uy
MGEwODVmNjhmZWUzM2YyYTc3NThkZGM5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MjEtMDQtMDcgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVt
b3ZlIGxvZ2dpbmcgZm9yIGludmVzdGlnYXRpbmcgaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFn
ZS1saW1pdC0xLmh0bWwgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzMDg2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTU5MTgxNj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1By
b2Nlc3M6OnN0b3JhZ2VRdW90YU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6c2V0UXVvdGFMb2dnaW5nRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJz
aXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNldFF1b3Rh
TG9nZ2luZ0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6
c2V0UXVvdGFMb2dnaW5nRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFT
dG9yZTo6c2V0UXVvdGFMb2dnaW5nRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwogMjAyMS0wNC0wNyAgTWljaGFl
bCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBbV1BFXVtHVEtd
IE51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGNoaWxkIHByb2Nlc3MgZXhpdHMgaW1tZWRp
YXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXggOGFkMGI3NWNlNDI2YThlNzMwNDc2MjFiNWY3
MTFkOGQxYWE5YTNjMC4uM2FlNWE3Y2U0ZTk4MmQ4MjI0MzhlZTZlMDU0ZjE2NzJlZjY3ZGUzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0wNyAgU2lodWkg
TGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgbG9nZ2luZyBmb3Ig
aW52ZXN0aWdhdGluZyBodHRwL3Rlc3RzL0luZGV4ZWREQi9zdG9yYWdlLWxpbWl0LTEuaHRtbCBm
YWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjMwODYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NTkxODE2PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3RvcmFnZS9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwOgorICAgICAgICAoSW5Qcm9jZXNzSURCU2VydmVyOjpxdW90YU1hbmFnZXIpOgor
CiAyMDIxLTA0LTA1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAppbmRleCBiYzBj
ZDExZjY4ODNmYTk3M2E4MzkyNTMyYmE4MDliNDdiNmE1MGM3Li4yZjg4MmE5NDNhN2EwMzJlMWI4
MDg4MWUxZDA1MjllNzFjMTRjY2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAtNzU4LDE0ICs3NTgsMTMgQEAg
U3RvcmFnZVF1b3RhTWFuYWdlcjo6RGVjaXNpb24gSURCU2VydmVyOjpyZXF1ZXN0U3BhY2UoY29u
c3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi11aW50NjRf
dCBJREJTZXJ2ZXI6OmRpc2tVc2FnZShjb25zdCBTdHJpbmcmIHJvb3REaXJlY3RvcnksIGNvbnN0
IENsaWVudE9yaWdpbiYgb3JpZ2luLCBTdG9yYWdlUXVvdGFNYW5hZ2VyOjpTaG91bGRQcmludFVz
YWdlRGV0YWlsIHNob3VsZFByaW50VXNhZ2VEZXRhaWwpCit1aW50NjRfdCBJREJTZXJ2ZXI6OmRp
c2tVc2FnZShjb25zdCBTdHJpbmcmIHJvb3REaXJlY3RvcnksIGNvbnN0IENsaWVudE9yaWdpbiYg
b3JpZ2luKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogCiAgICAgYXV0byBvbGRW
ZXJzaW9uT3JpZ2luRGlyZWN0b3J5ID0gSURCRGF0YWJhc2VJZGVudGlmaWVyOjpkYXRhYmFzZURp
cmVjdG9yeVJlbGF0aXZlVG9Sb290KG9yaWdpbi50b3BPcmlnaW4sIG9yaWdpbi5jbGllbnRPcmln
aW4sIHJvb3REaXJlY3RvcnksICJ2MCJfc3RyKTsKICAgICBhdXRvIG5ld1ZlcnNpb25PcmlnaW5E
aXJlY3RvcnkgPSBJREJEYXRhYmFzZUlkZW50aWZpZXI6OmRhdGFiYXNlRGlyZWN0b3J5UmVsYXRp
dmVUb1Jvb3Qob3JpZ2luLnRvcE9yaWdpbiwgb3JpZ2luLmNsaWVudE9yaWdpbiwgcm9vdERpcmVj
dG9yeSwgInYxIl9zdHIpOwotICAgIGJvb2wgc2hvdWxkUHJpbnRVc2FnZURldGFpbEZvckRpcmVj
dG9yeSA9IHNob3VsZFByaW50VXNhZ2VEZXRhaWwgPT0gU3RvcmFnZVF1b3RhTWFuYWdlcjo6U2hv
dWxkUHJpbnRVc2FnZURldGFpbDo6WWVzOwotICAgIHJldHVybiBTUUxpdGVJREJCYWNraW5nU3Rv
cmU6OmRhdGFiYXNlc1NpemVGb3JEaXJlY3Rvcnkob2xkVmVyc2lvbk9yaWdpbkRpcmVjdG9yeSwg
c2hvdWxkUHJpbnRVc2FnZURldGFpbEZvckRpcmVjdG9yeSkgKyBTUUxpdGVJREJCYWNraW5nU3Rv
cmU6OmRhdGFiYXNlc1NpemVGb3JEaXJlY3RvcnkobmV3VmVyc2lvbk9yaWdpbkRpcmVjdG9yeSwg
c2hvdWxkUHJpbnRVc2FnZURldGFpbEZvckRpcmVjdG9yeSk7CisgICAgcmV0dXJuIFNRTGl0ZUlE
QkJhY2tpbmdTdG9yZTo6ZGF0YWJhc2VzU2l6ZUZvckRpcmVjdG9yeShvbGRWZXJzaW9uT3JpZ2lu
RGlyZWN0b3J5KSArIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGF0YWJhc2VzU2l6ZUZvckRpcmVj
dG9yeShuZXdWZXJzaW9uT3JpZ2luRGlyZWN0b3J5KTsKIH0KIAogdm9pZCBJREJTZXJ2ZXI6OnVw
Z3JhZGVGaWxlc0lmTmVjZXNzYXJ5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaAppbmRleCBkZTJhZDIwNTk5MTg0M2VhZGY1OWQz
NTBjZWQxYTUwOTIyMDBjN2I5Li5mZjdmNTg4NTBmNDMxMTFjODY0YmVkZWRjMzE3Zjg2YjVhYzVj
YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5oCkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgcmVuYW1lT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYs
IGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYpOwogCiAgICAgU3RvcmFnZVF1b3Rh
TWFuYWdlcjo6RGVjaXNpb24gcmVxdWVzdFNwYWNlKGNvbnN0IENsaWVudE9yaWdpbiYsIHVpbnQ2
NF90IHRhc2tTaXplKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdWludDY0X3QgZGlza1Vz
YWdlKGNvbnN0IFN0cmluZyYgcm9vdERpcmVjdG9yeSwgY29uc3QgQ2xpZW50T3JpZ2luJiwgU3Rv
cmFnZVF1b3RhTWFuYWdlcjo6U2hvdWxkUHJpbnRVc2FnZURldGFpbCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHVpbnQ2NF90IGRpc2tVc2FnZShjb25zdCBTdHJpbmcmIHJvb3REaXJlY3Rv
cnksIGNvbnN0IENsaWVudE9yaWdpbiYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9w
RGF0YWJhc2VBY3Rpdml0aWVzT25NYWluVGhyZWFkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tp
bmdTdG9yZS5jcHAKaW5kZXggYzAzMmY1OTVmNzg3YmViNTBjNjYwMjViMWJiMDA2YmFjMzJkMzAx
MS4uMzZkOWIwNDQ2ZjUwMTEzYjRlY2ZjZjI0ZTU4YWQ3MjY0NjkxNzJjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdT
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NR
TGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKQEAgLTEyNzgsMTggKzEyNzgsMTMgQEAgdWludDY0X3Qg
U1FMaXRlSURCQmFja2luZ1N0b3JlOjpkYXRhYmFzZVZlcnNpb24oKQogICAgIHJldHVybiBkYXRh
YmFzZU5hbWVBbmRWZXJzaW9uID8gZGF0YWJhc2VOYW1lQW5kVmVyc2lvbi0+dmVyc2lvbiA6IDA7
CiB9CiAKLXVpbnQ2NF90IFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGF0YWJhc2VzU2l6ZUZvckRp
cmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwgYm9vbCBzaG91bGRQcmludFVzYWdlRGV0
YWlsKQordWludDY0X3QgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpkYXRhYmFzZXNTaXplRm9yRGly
ZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogewogICAgIHVpbnQ2NF90IGRpc2tVc2Fn
ZSA9IDA7CiAgICAgZm9yIChhdXRvJiBkYkRpcmVjdG9yeSA6IEZpbGVTeXN0ZW06Omxpc3REaXJl
Y3RvcnkoZGlyZWN0b3J5LCAiKiIpKSB7CiAgICAgICAgIGZvciAoYXV0byYgZmlsZSA6IEZpbGVT
eXN0ZW06Omxpc3REaXJlY3RvcnkoZGJEaXJlY3RvcnksICIqLnNxbGl0ZTMiX3MpKSB7CiAgICAg
ICAgICAgICBhdXRvIGZpbGVTaXplID0gU1FMaXRlRmlsZVN5c3RlbTo6Z2V0RGF0YWJhc2VGaWxl
U2l6ZShmaWxlKTsKICAgICAgICAgICAgIGRpc2tVc2FnZSArPSBmaWxlU2l6ZTsKLSAgICAgICAg
ICAgIGlmIChzaG91bGRQcmludFVzYWdlRGV0YWlsKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBk
YXRhYmFzZU5hbWVBbmRWZXJzaW9uID0gZGF0YWJhc2VOYW1lQW5kVmVyc2lvbkZyb21GaWxlKGZp
bGUpOwotICAgICAgICAgICAgICAgIFN0cmluZyBkYXRhYmFzZU5hbWUgPSBkYXRhYmFzZU5hbWVB
bmRWZXJzaW9uID8gZGF0YWJhc2VOYW1lQW5kVmVyc2lvbi0+bmFtZSA6ICJbVU5LTk9XTl0iOwot
ICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiU1FMaXRlSURCQmFja2luZ1N0b3JlOjpkYXRh
YmFzZXNTaXplRm9yRGlyZWN0b3J5IGZpbGVQYXRoPSclcycsIGRhdGFiYXNlPSclcycsIHNpemU9
JSIgUFJJdTY0LCBmaWxlLnV0ZjgoKS5kYXRhKCksIGRhdGFiYXNlTmFtZS51dGY4KCkuZGF0YSgp
LCBmaWxlU2l6ZSk7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJu
IGRpc2tVc2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaAppbmRleCA1YTZlMWUzOWY3
ODhmZmUwMDdlNThmZTIxYjVhNmEyMjA2YmMxYWE3Li45NmQyOGUyZTYzY2FhNGE1ZDI4Y2VjNGI5
MmRjZDcyMjBkMDcxNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCkBAIC05Niw3
ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIElEQkVycm9yIGdldEJsb2JSZWNvcmRzRm9yT2JqZWN0
U3RvcmVSZWNvcmQoaW50NjRfdCBvYmplY3RTdG9yZVJlY29yZCwgVmVjdG9yPFN0cmluZz4mIGJs
b2JVUkxzLCBWZWN0b3I8U3RyaW5nPiYgYmxvYkZpbGVQYXRocyk7CiAKLSAgICBzdGF0aWMgdWlu
dDY0X3QgZGF0YWJhc2VzU2l6ZUZvckRpcmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSwg
Ym9vbCBzaG91bGRQcmludFVzYWdlRGV0YWlsID0gZmFsc2UpOworICAgIHN0YXRpYyB1aW50NjRf
dCBkYXRhYmFzZXNTaXplRm9yRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KTsKIAog
ICAgIFN0cmluZyBkYXRhYmFzZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VE
aXJlY3Rvcnk7IH07CiAgICAgc3RhdGljIFN0cmluZyBmdWxsRGF0YWJhc2VQYXRoRm9yRGlyZWN0
b3J5KGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlUXVvdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1
b3RhTWFuYWdlci5jcHAKaW5kZXggMzk4NTMzOWE0OTU5ZTYwNWE2YmZjYmFmNGY3NTFlZjM3ZjVj
NjE2ZC4uYmI0Nzc5OWFkNGQ1YmY2NTM1OGIxMzYzYmI2Y2Q1YTE0ZjM1ZWIwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwCkBAIC03OCw4ICs3
OCw3IEBAIFN0b3JhZ2VRdW90YU1hbmFnZXI6OkRlY2lzaW9uIFN0b3JhZ2VRdW90YU1hbmFnZXI6
OnJlcXVlc3RTcGFjZU9uQmFja2dyb3VuZFRocmVhCiAgICAgaWYgKHRyeUdyYW50UmVxdWVzdChz
cGFjZVJlcXVlc3RlZCkpCiAgICAgICAgIHJldHVybiBEZWNpc2lvbjo6R3JhbnQ7CiAKLSAgICBh
dXRvIHNob3VsZFByaW50VXNhZ2VEZXRhaWwgPSBtX2xvZ2dpbmdFbmFibGVkID8gU2hvdWxkUHJp
bnRVc2FnZURldGFpbDo6WWVzIDogU2hvdWxkUHJpbnRVc2FnZURldGFpbDo6Tm87Ci0gICAgbV91
c2FnZSA9IG1fdXNhZ2VHZXR0ZXIoc2hvdWxkUHJpbnRVc2FnZURldGFpbCk7CisgICAgbV91c2Fn
ZSA9IG1fdXNhZ2VHZXR0ZXIoKTsKICAgICB1cGRhdGVRdW90YUJhc2VkT25Vc2FnZSgpOwogICAg
IG1fcXVvdGFDb3VudERvd24gPSBtX3VzYWdlIDwgbV9xdW90YSA/IG1fcXVvdGEgLSBtX3VzYWdl
IDogMDsKICAgICBpZiAodHJ5R3JhbnRSZXF1ZXN0KHNwYWNlUmVxdWVzdGVkKSkKQEAgLTEwMiw3
ICsxMDEsNyBAQCBTdG9yYWdlUXVvdGFNYW5hZ2VyOjpEZWNpc2lvbiBTdG9yYWdlUXVvdGFNYW5h
Z2VyOjpyZXF1ZXN0U3BhY2VPbkJhY2tncm91bmRUaHJlYQogCiAgICAgc2VtYXBob3JlLndhaXQo
KTsKIAotICAgIG1fdXNhZ2UgPSBtX3VzYWdlR2V0dGVyKHNob3VsZFByaW50VXNhZ2VEZXRhaWwp
OworICAgIG1fdXNhZ2UgPSBtX3VzYWdlR2V0dGVyKCk7CiAgICAgbV9xdW90YUNvdW50RG93biA9
IG1fdXNhZ2UgPCBtX3F1b3RhID8gbV9xdW90YSAtIG1fdXNhZ2UgOiAwOwogICAgIHJldHVybiB0
cnlHcmFudFJlcXVlc3Qoc3BhY2VSZXF1ZXN0ZWQpID8gRGVjaXNpb246OkdyYW50IDogRGVjaXNp
b246OkRlbnk7CiB9CkBAIC0xMTEsOSArMTEwLDYgQEAgYm9vbCBTdG9yYWdlUXVvdGFNYW5hZ2Vy
Ojp0cnlHcmFudFJlcXVlc3QodWludDY0X3Qgc3BhY2VSZXF1ZXN0ZWQpCiB7CiAgICAgQVNTRVJU
KG1fcXVvdGFDb3VudERvd25Mb2NrLmlzTG9ja2VkKCkpOwogCi0gICAgaWYgKG1fbG9nZ2luZ0Vu
YWJsZWQpCi0gICAgICAgIFdURkxvZ0Fsd2F5cygiJXAgLSBTdG9yYWdlUXVvdGFNYW5hZ2VyIHRy
eUdyYW50UmVxdWVzdCBtX3F1b3RhICUiIFBSSXU2NCAiLCBtX3VzYWdlICUiIFBSSXU2NCAiLCBt
X3F1b3RhQ291bnREb3duICUiIFBSSXU2NCAiLCBzcGFjZVJlcXVlc3RlZCAlIiBQUkl1NjQsIHRo
aXMsIG1fcXVvdGEsIG1fdXNhZ2UsIG1fcXVvdGFDb3VudERvd24sIHNwYWNlUmVxdWVzdGVkKTsK
LQogICAgIGlmIChzcGFjZVJlcXVlc3RlZCA8PSBtX3F1b3RhQ291bnREb3duKSB7CiAgICAgICAg
IG1fcXVvdGFDb3VudERvd24gLT0gc3BhY2VSZXF1ZXN0ZWQ7CiAgICAgICAgIHJldHVybiB0cnVl
OwpAQCAtMTQ4LDkgKzE0NCw0IEBAIHZvaWQgU3RvcmFnZVF1b3RhTWFuYWdlcjo6cmVzZXRRdW90
YUZvclRlc3RpbmcoKQogICAgIG1fcXVvdGFDb3VudERvd24gPSAwOwogfQogCi12b2lkIFN0b3Jh
Z2VRdW90YU1hbmFnZXI6OnNldExvZ2dpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBt
X2xvZ2dpbmdFbmFibGVkID0gZW5hYmxlZDsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaAppbmRleCBhZWI4
MDJkODJkODk4ZmI2YWM4ZDJjNGJjODA5ZWQwOWNkNmU1OGE1Li45YWYxZDZlOGVlMTY1MzljODQ1
MGExZTFhYjRjNTA3ZDJiMjk0ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VRdW90YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VRdW90YU1hbmFnZXIuaApAQCAtMzcsOCArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBTdG9yYWdlUXVvdGFNYW5hZ2VyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN0
b3JhZ2VRdW90YU1hbmFnZXI+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U3RvcmFnZVF1b3RhTWFu
YWdlcj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGVudW0g
Y2xhc3MgU2hvdWxkUHJpbnRVc2FnZURldGFpbCB7IE5vLCBZZXMgfTsKLSAgICB1c2luZyBVc2Fn
ZUdldHRlciA9IEZ1bmN0aW9uPHVpbnQ2NF90KFNob3VsZFByaW50VXNhZ2VEZXRhaWwpPjsKKyAg
ICB1c2luZyBVc2FnZUdldHRlciA9IEZ1bmN0aW9uPHVpbnQ2NF90KCk+OwogICAgIHVzaW5nIFF1
b3RhSW5jcmVhc2VSZXF1ZXN0ZXIgPSBGdW5jdGlvbjx2b2lkKHVpbnQ2NF90IGN1cnJlbnRRdW90
YSwgdWludDY0X3QgY3VycmVudFVzYWdlLCB1aW50NjRfdCByZXF1ZXN0ZWRJbmNyZWFzZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDx1aW50NjRfdD4pPiYmKT47CiAgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxTdG9yYWdlUXVvdGFNYW5hZ2VyPiBjcmVhdGUodWludDY0X3Qg
cXVvdGEsIFVzYWdlR2V0dGVyJiYsIFF1b3RhSW5jcmVhc2VSZXF1ZXN0ZXImJik7CiAKQEAgLTUz
LDggKzUyLDYgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNldFF1b3Rh
VXBkYXRlZEJhc2VkT25Vc2FnZUZvclRlc3RpbmcoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHJlc2V0UXVvdGFGb3JUZXN0aW5nKCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMb2dn
aW5nRW5hYmxlZChib29sKTsKLQogcHJpdmF0ZToKICAgICBTdG9yYWdlUXVvdGFNYW5hZ2VyKHVp
bnQ2NF90IHF1b3RhLCBVc2FnZUdldHRlciYmLCBRdW90YUluY3JlYXNlUmVxdWVzdGVyJiYpOwog
ICAgIGJvb2wgdHJ5R3JhbnRSZXF1ZXN0KHVpbnQ2NF90KTsKQEAgLTc1LDcgKzcyLDYgQEAgcHJp
dmF0ZToKIAogICAgIC8vIFRlc3Qgb25seS4KICAgICB1aW50NjRfdCBtX2luaXRpYWxRdW90YSB7
IDAgfTsKLSAgICBib29sIG1fbG9nZ2luZ0VuYWJsZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAppbmRleCAxNWM0ZTRjMGQ3MDcwYTgxYmRmODBiZTEwNmI2OWU2MGFjYmI2
NTlkLi4wM2YyOTUxMjAzNmY5YmQzNjU3YTg3M2NhZTg4NDhmYTY4NDdhN2ZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjM5Nywy
MCArMjM5Nyw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlc2V0UXVvdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkCiAgICAgY29tcGxldGlvbkhhbmRs
ZXIoKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0UXVvdGFMb2dnaW5nRW5hYmxlZChQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgZW5hYmxlZCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChtX3F1b3RhTG9nZ2luZ0Vu
YWJsZWQgPT0gZW5hYmxlZCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0g
ICAgbV9xdW90YUxvZ2dpbmdFbmFibGVkID0gZW5hYmxlZDsKLQotICAgIExvY2tIb2xkZXIgbG9j
a2VyKG1fc2Vzc2lvblN0b3JhZ2VRdW90YU1hbmFnZXJzTG9jayk7Ci0gICAgaWYgKGF1dG8qIHNl
c3Npb25TdG9yYWdlUXVvdGFNYW5hZ2VyID0gbV9zZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnMu
Z2V0KHNlc3Npb25JRCkpIHsKLSAgICAgICAgZm9yIChhdXRvIHN0b3JhZ2VRdW90YU1hbmFnZXIg
OiBzZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlci0+ZXhpc3RpbmdTdG9yYWdlUXVvdGFNYW5hZ2Vy
cygpKQotICAgICAgICAgICAgc3RvcmFnZVF1b3RhTWFuYWdlci0+c2V0TG9nZ2luZ0VuYWJsZWQo
bV9xdW90YUxvZ2dpbmdFbmFibGVkKTsKLSAgICB9Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsK
LX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cmVuYW1lT3JpZ2luSW5XZWJzaXRlRGF0YShQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgb2xkTmFtZSwgY29uc3QgVVJMJiBuZXdO
YW1lLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBhdXRvIGFnZ3JlZ2F0b3Ig
PSBDYWxsYmFja0FnZ3JlZ2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CkBAIC0yNTE0LDE2ICsyNTAwLDEwIEBAIFJlZlB0cjxTdG9yYWdlUXVvdGFNYW5hZ2VyPiBOZXR3
b3JrUHJvY2Vzczo6c3RvcmFnZVF1b3RhTWFuYWdlcihQQUw6OlNlc3Npb25JRCBzCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgU3RyaW5nIGlkYlJvb3RQYXRoID0gc2Vzc2lvblN0b3Jh
Z2VRdW90YU1hbmFnZXItPmlkYlJvb3RQYXRoKCk7Ci0gICAgU3RvcmFnZVF1b3RhTWFuYWdlcjo6
VXNhZ2VHZXR0ZXIgdXNhZ2VHZXR0ZXIgPSBbY2FjaGVSb290UGF0aCA9IHNlc3Npb25TdG9yYWdl
UXVvdGFNYW5hZ2VyLT5jYWNoZVJvb3RQYXRoKCkuaXNvbGF0ZWRDb3B5KCksIGlkYlJvb3RQYXRo
ID0gaWRiUm9vdFBhdGguaXNvbGF0ZWRDb3B5KCksIG9yaWdpbiA9IG9yaWdpbi5pc29sYXRlZENv
cHkoKV0oU3RvcmFnZVF1b3RhTWFuYWdlcjo6U2hvdWxkUHJpbnRVc2FnZURldGFpbCBzaG91bGRQ
cmludFVzYWdlRGV0YWlsKSB7CisgICAgU3RvcmFnZVF1b3RhTWFuYWdlcjo6VXNhZ2VHZXR0ZXIg
dXNhZ2VHZXR0ZXIgPSBbY2FjaGVSb290UGF0aCA9IHNlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vy
LT5jYWNoZVJvb3RQYXRoKCkuaXNvbGF0ZWRDb3B5KCksIGlkYlJvb3RQYXRoID0gaWRiUm9vdFBh
dGguaXNvbGF0ZWRDb3B5KCksIG9yaWdpbiA9IG9yaWdpbi5pc29sYXRlZENvcHkoKV0oKSB7CiAg
ICAgICAgIEFTU0VSVCghaXNNYWluUnVuTG9vcCgpKTsKIAotICAgICAgICB1aW50NjRfdCBjYWNo
ZVVzYWdlID0gQ2FjaGVTdG9yYWdlOjpFbmdpbmU6OmRpc2tVc2FnZShjYWNoZVJvb3RQYXRoLCBv
cmlnaW4pOwotICAgICAgICB1aW50NjRfdCB1c2FnZSA9IGNhY2hlVXNhZ2UgKyBJREJTZXJ2ZXI6
OklEQlNlcnZlcjo6ZGlza1VzYWdlKGlkYlJvb3RQYXRoLCBvcmlnaW4sIHNob3VsZFByaW50VXNh
Z2VEZXRhaWwpOwotCi0gICAgICAgIGlmIChzaG91bGRQcmludFVzYWdlRGV0YWlsID09IFN0b3Jh
Z2VRdW90YU1hbmFnZXI6OlNob3VsZFByaW50VXNhZ2VEZXRhaWw6OlllcykKLSAgICAgICAgICAg
IFdURkxvZ0Fsd2F5cygiU3RvcmFnZVF1b3RhTWFuYWdlcjo6VXNhZ2VHZXR0ZXIgQ2FjaGUgdXNh
Z2UgJSIgUFJJdTY0ICIsIElEQiB1c2FnZSAlIiBQUkl1NjQsIGNhY2hlVXNhZ2UsIHVzYWdlIC0g
Y2FjaGVVc2FnZSk7Ci0KLSAgICAgICAgcmV0dXJuIHVzYWdlOworICAgICAgICByZXR1cm4gQ2Fj
aGVTdG9yYWdlOjpFbmdpbmU6OmRpc2tVc2FnZShjYWNoZVJvb3RQYXRoLCBvcmlnaW4pICsgSURC
U2VydmVyOjpJREJTZXJ2ZXI6OmRpc2tVc2FnZShpZGJSb290UGF0aCwgb3JpZ2luKTsKICAgICB9
OwogICAgIFN0b3JhZ2VRdW90YU1hbmFnZXI6OlF1b3RhSW5jcmVhc2VSZXF1ZXN0ZXIgcXVvdGFJ
bmNyZWFzZVJlcXVlc3RlciA9IFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwg
c2Vzc2lvbklELCBvcmlnaW5dICh1aW50NjRfdCBjdXJyZW50UXVvdGEsIHVpbnQ2NF90IGN1cnJl
bnRTcGFjZSwgdWludDY0X3QgcmVxdWVzdGVkSW5jcmVhc2UsIGF1dG8mJiBjYWxsYmFjaykgewog
ICAgICAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKQEAgLTI1MzMsNyArMjUxMyw2IEBAIFJl
ZlB0cjxTdG9yYWdlUXVvdGFNYW5hZ2VyPiBOZXR3b3JrUHJvY2Vzczo6c3RvcmFnZVF1b3RhTWFu
YWdlcihQQUw6OlNlc3Npb25JRCBzCiAgICAgfTsKIAogICAgIGF1dG8gb3JpZ2luU3RvcmFnZVF1
b3RhTWFuYWdlciA9IHNlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2VyLT5lbnN1cmVPcmlnaW5TdG9y
YWdlUXVvdGFNYW5hZ2VyKG9yaWdpbiwgc2Vzc2lvblN0b3JhZ2VRdW90YU1hbmFnZXItPmRlZmF1
bHRRdW90YShvcmlnaW4pLCBXVEZNb3ZlKHVzYWdlR2V0dGVyKSwgV1RGTW92ZShxdW90YUluY3Jl
YXNlUmVxdWVzdGVyKSkucHRyKCk7Ci0gICAgb3JpZ2luU3RvcmFnZVF1b3RhTWFuYWdlci0+c2V0
TG9nZ2luZ0VuYWJsZWQobV9xdW90YUxvZ2dpbmdFbmFibGVkKTsKICAgICByZXR1cm4gb3JpZ2lu
U3RvcmFnZVF1b3RhTWFuYWdlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGYwZjBmY2M3ZDM1ZjM3YjllMmI1NDQ2ZDNhNTNmNjIz
M2U4NjY0NjMuLmNhZDY5NzllNGI4NGM1OWZiOTRiMmQ3NWI3YmNlYThkOTQ1MWIzNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTMwMyw3
ICszMDMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzeW5jTG9jYWxTdG9yYWdlKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAKICAgICB2b2lkIHJlc2V0UXVvdGEoUEFMOjpTZXNzaW9uSUQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRRdW90YUxvZ2dpbmdF
bmFibGVkKFBBTDo6U2Vzc2lvbklELCBib29sIGVuYWJsZWQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCByZW5hbWVPcmlnaW5JbldlYnNpdGVEYXRhKFBBTDo6U2Vzc2lv
bklELCBjb25zdCBVUkwmLCBjb25zdCBVUkwmLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluCmluZGV4IDg4ZDA3N2EwMTQ1NjcwZjdmNWE1YmIyYTk2MDA1ZmVhMTgw
ZDkzOGYuLjQwZWExMmEwZDQ0YWVkYTIxNDkyZTg1MjQ3OWQ2YThkYzIyZDgzYzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtMTc5LDcgKzE3OSw2IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExl
Z2FjeVJlY2VpdmVyIHsKICAgICBSZXNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXRGb3JUZXN0
aW5nKCkgLT4gKCkgU3luY2hyb25vdXMKIAogICAgIFJlc2V0UXVvdGEoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEKSAtPiAoKSBBc3luYwotICAgIFNldFF1b3RhTG9nZ2luZ0VuYWJsZWQoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIGVuYWJsZWQpIC0+ICgpIEFzeW5jCiAgICAgCiAjaWYg
RU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQogICAgIEhhc0FwcEJvdW5kU2Vzc2lvbihQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpIC0+IChib29sIGhhc0FwcEJvdW5kU2Vzc2lvbikgQXN5bmMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwCmluZGV4IDA1ZDY5OTIwMGNlOWFkYWRjMDMyYWRkMWMyMDNhNmYzN2YzZTlhOWUu
LmQ5MjI4N2QzM2QwNTIxY2JlNTJlNzVhZjkyY2MzNTQxNjU1NmUwYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNw
cApAQCAtODM4LDE0ICs4MzgsNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlc2V0UXVvdGEo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udAogICAgIH0pOwog
fQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFF1b3RhTG9nZ2luZ0VuYWJsZWQoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFibGVkLCB2b2lkKiBjb250ZXh0
LCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRRdW90YUxvZ2dpbmdFbmFibGVkQ2FsbGJhY2sgY2FsbGJh
Y2spCi17Ci0gICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+c2V0UXVvdGFMb2dnaW5n
RW5hYmxlZChlbmFibGVkLCBbY29udGV4dCwgY2FsbGJhY2tdIHsKLSAgICAgICAgaWYgKGNhbGxi
YWNrKQotICAgICAgICAgICAgY2FsbGJhY2soY29udGV4dCk7Ci0gICAgfSk7Ci19Ci0KIHZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlQ2xlYXJBcHBCb3VuZFNlc3Npb24oV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlQ2xlYXJB
cHBCb3VuZFNlc3Npb25GdW5jdGlvbiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICNpZiBFTkFCTEUo
QVBQX0JPVU5EX0RPTUFJTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCmluZGV4IDgzZGE0YTM5NmQyN2MyYjY3M2QwMWVm
YTJjN2U1NDc5NTkzMzcxMTkuLmQ1YzllZWUyYTQwNGZkM2NiNDdjOWY4NzczNWMzOTc2ODFkMjkz
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5oCkBAIC0xOTQsOSArMTk0LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tXZWJz
aXRlRGF0YVN0b3JlU2V0Q2FjaGVNb2RlbFN5bmNocm9ub3VzbHlGb3JUZXN0aW5nKFdLV2Vic2l0
ZUQKIHR5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVJlc2V0UXVvdGFDYWxsYmFjayko
dm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9y
ZVJlc2V0UXVvdGEoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29u
dGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVzZXRRdW90YUNhbGxiYWNrIGNhbGxiYWNrKTsKIAot
dHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlU2V0UXVvdGFMb2dnaW5nRW5hYmxlZENh
bGxiYWNrKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwotV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlU2V0UXVvdGFMb2dnaW5nRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0
YVN0b3JlUmVmLCBib29sIGVuYWJsZWQsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9y
ZVNldFF1b3RhTG9nZ2luZ0VuYWJsZWRDYWxsYmFjayBjYWxsYmFjayk7Ci0KIHR5cGVkZWYgdm9p
ZCAoKldLV2Vic2l0ZURhdGFTdG9yZUNsZWFyQXBwQm91bmRTZXNzaW9uRnVuY3Rpb24pKHZvaWQq
IGZ1bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVDbGVh
ckFwcEJvdW5kU2Vzc2lvbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB2b2lk
KiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVDbGVhckFwcEJvdW5kU2Vzc2lvbkZ1bmN0aW9u
IGNvbXBsZXRpb25IYW5kbGVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZjdiNmJlYTkwNGY2ZjYw
MmE3MGQyOWQxNGRkODhlYTQ5Y2YzZmY4NC4uMTcyOTVmYTEzYzA0MjFjNWYzOTU3MTMxODkxMzVh
ODJiZjU2ZmM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNTQ1LDExICsxNTQ1LDYgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXNldFF1b3RhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
Q29tcGxldGlvbkhhbmRsZXIKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdv
cmtQcm9jZXNzOjpSZXNldFF1b3RhKHNlc3Npb25JRCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRRdW90YUxvZ2dpbmdFbmFi
bGVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBlbmFibGVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0UXVvdGFMb2dnaW5nRW5hYmxlZChzZXNz
aW9uSUQsIGVuYWJsZWQpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci19Ci0KICNpZiBF
TkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Omhhc0Fw
cEJvdW5kU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IDJlNzRl
MGE3ZGMzNTEzM2NkZTAyMmI1NGE5ODQwYjAyZWEzNzhlYTEuLmE1YjM5YmU0MDg0ZTY0NjhhMTFj
YThhNWQ1MWE1M2VmZDYwOTZkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0yNDEsNyArMjQxLDYgQEAgcHVi
bGljOgogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5hdGUoVGVybWluYXRpb25SZWFz
b24pOwogICAgIAogICAgIHZvaWQgcmVzZXRRdW90YShQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNldFF1b3RhTG9nZ2luZ0VuYWJsZWQoUEFM
OjpTZXNzaW9uSUQsIGJvb2wgZW5hYmxlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
IAogICAgIHZvaWQgcmVzb3VyY2VMb2FkRGlkU2VuZFJlcXVlc3QoV2ViUGFnZVByb3h5SWRlbnRp
ZmllciwgUmVzb3VyY2VMb2FkSW5mbyYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgT3B0
aW9uYWw8SVBDOjpGb3JtRGF0YVJlZmVyZW5jZT4mJik7CiAgICAgdm9pZCByZXNvdXJjZUxvYWRE
aWRQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIsIFJlc291cmNl
TG9hZEluZm8mJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDBmNWFlZDM3MzlkZDNiNTE2M2I1M2Ji
NmQzNzY2ZGU5MTBjZTkwY2YuLjExYTM0MjA4YWZjYzU5M2NjZWJiYWQ4Zjg5YzhiNGY0Mjc1YTgz
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0yMDc0LDEyICsyMDc0LDYgQEAgdm9pZCBXZWJzaXRl
RGF0YVN0b3JlOjpyZXNldFF1b3RhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKICAgICBuZXR3b3JrUHJvY2VzcygpLnJlc2V0UXVvdGEobV9zZXNzaW9uSUQs
IFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6
c2V0UXVvdGFMb2dnaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRv
ciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKLSAgICBuZXR3b3JrUHJvY2VzcygpLnNldFF1b3RhTG9nZ2luZ0VuYWJsZWQobV9zZXNzaW9u
SUQsIGVuYWJsZWQsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7Ci19Ci0KICNpZiAhUExBVEZP
Uk0oQ09DT0EpCiBXVEY6OlN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFDYWNo
ZURpcmVjdG9yeSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5kZXggMDJkZjUyZTMwYmY4ZjBlY2YwNmMyYmUz
Zjc5YTNkZTZkYWNhZGQ2MS4uMDM0YmNhNTQyOTkxNTU3ZmQ3NjBhYmEyMDUyYzg2NzgyNWFlNmY1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaApAQCAtMzM4LDcgKzMzOCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBodHRwM0VuYWJsZWQoKTsKIAogICAgIHZvaWQgcmVzZXRRdW90YShDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0UXVvdGFMb2dnaW5nRW5hYmxlZChib29sIGVu
YWJsZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKICNpZiBFTkFCTEUoQVBQX0JP
VU5EX0RPTUFJTlMpCiAgICAgdm9pZCBoYXNBcHBCb3VuZFNlc3Npb24oQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L1N0b3JhZ2UvSW5Qcm9jZXNzSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3Rv
cmFnZS9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCmluZGV4IGUwNTllZjY4ODgzYzVhNzgwMDgyMzc4
NDcxNjk2NjlkMGEwNTZiZTcuLmNiMTRhNjk3Zjk2M2VjNzA5NzAzZWNjYTViZjRkODdiN2NhYThm
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwCkBAIC03Miw3ICs3Miw3IEBAIEluUHJvY2Vzc0lEQlNlcnZlcjo6fkluUHJvY2Vz
c0lEQlNlcnZlcigpCiBTdG9yYWdlUXVvdGFNYW5hZ2VyKiBJblByb2Nlc3NJREJTZXJ2ZXI6OnF1
b3RhTWFuYWdlcihjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbikKIHsKICAgICByZXR1cm4gbV9x
dW90YU1hbmFnZXJzLmVuc3VyZShvcmlnaW4sIFtdIHsKLSAgICAgICAgcmV0dXJuIFN0b3JhZ2VR
dW90YU1hbmFnZXI6OmNyZWF0ZShTdG9yYWdlUXVvdGFNYW5hZ2VyOjpkZWZhdWx0UXVvdGEoKSwg
W10oYXV0bykgeworICAgICAgICByZXR1cm4gU3RvcmFnZVF1b3RhTWFuYWdlcjo6Y3JlYXRlKFN0
b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRRdW90YSgpLCBbXSB7CiAgICAgICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgfSwgW10odWludDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTcGFj
ZSwgdWludDY0X3Qgc3BhY2VJbmNyZWFzZSwgYXV0byBjYWxsYmFjaykgewogICAgICAgICAgICAg
Y2FsbGJhY2socXVvdGEgKyBjdXJyZW50U3BhY2UgKyBzcGFjZUluY3JlYXNlKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MDJkN2UwMWFmMDYw
NDE3ZjM2OGFiOWJhY2U2NjE0NjkyNDg4YmU1Li42M2QwOTllZDRjYTViMWRjNjZkMjQ4MGI1M2Ri
MThkNmRmNjRkZTY3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDQtMDcgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGxvZ2dpbmcgZm9yIGludmVzdGlnYXRpbmcg
aHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0bWwgZmFpbHVyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDg2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NTU5MTgxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UXVv
dGFMb2dnaW5nRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRRdW90
YUxvZ2dpbmdFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25v
dXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAyMS0wNC0wNyAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjc0MzY2KTog
d2Via2l0c2NtcHkudGVzdC5zdm5fdW5pdHRlc3QuVGVzdFJlbW90ZVN2bi50ZXN0X2luZm8gZmFp
bHMgaW4gbm9uLVBEVCB0aW1lem9uZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGJj
Yjc1MjRlYmI0ODkzNjlmZmFiY2QzNjM3ODcxNGZmZGZiMzI4N2IuLjhmOGI4ZTgzYjExODhmOTIx
YTBmMjIzMDMzNzI3NjZiNjZlOTU0ZDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAt
MTMxLDcgKzEzMSw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICAvLyBMb2NhbCBzdG9y
YWdlIEFQSQogICAgIHVuZGVmaW5lZCBjbGVhckFsbERhdGFiYXNlcygpOwogICAgIHVuZGVmaW5l
ZCBzZXREYXRhYmFzZVF1b3RhKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7Ci0gICAgdW5kZWZp
bmVkIHNldFF1b3RhTG9nZ2luZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICBET01TdHJp
bmcgcGF0aFRvTG9jYWxSZXNvdXJjZShET01TdHJpbmcgdXJsKTsKICAgICB1bmRlZmluZWQgc3lu
Y0xvY2FsU3RvcmFnZSgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA2NDU1MWZiMjk5MzM5YzQ3MmE1YzE0Njk3
MWU3OTg2N2Q3NGQ2YjU0Li41Mjc3YmE2ZjU5ZjkyZjFjNGI3MTY1NjNjZjE4NjAzZDUzYTFjNmQ0
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKQEAgLTM4MywxMSArMzgzLDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXREYXRh
YmFzZVF1b3RhKHVpbnQ2NF90IHF1b3RhKQogICAgIHJldHVybiBXS0J1bmRsZVNldERhdGFiYXNl
UXVvdGEoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBxdW90YSk7CiB9CiAK
LXZvaWQgVGVzdFJ1bm5lcjo6c2V0UXVvdGFMb2dnaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17
Ci0gICAgcG9zdFN5bmNocm9ub3VzUGFnZU1lc3NhZ2UoIlNldFF1b3RhTG9nZ2luZ0VuYWJsZWQi
LCBlbmFibGVkKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzeW5jTG9jYWxTdG9yYWdlKCkKIHsK
ICAgICBwb3N0U3luY2hyb25vdXNNZXNzYWdlKCJTeW5jTG9jYWxTdG9yYWdlIiwgdHJ1ZSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CmluZGV4IGY2YzY2N2MyMmU2OGFjMzM3NmRjOGUzOWU2NDc3OWExMDg0YTliM2EuLmZkODYzZTA0
ZTUwN2NiZTBhNmUyNDc0YTY4YjBkNjZmN2Y4NzgwNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xNDEsNyArMTQxLDYg
QEAgcHVibGljOgogICAgIC8vIExvY2FsIHN0b3JhZ2UKICAgICB2b2lkIGNsZWFyQWxsRGF0YWJh
c2VzKCk7CiAgICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhKHVpbnQ2NF90KTsKLSAgICB2b2lkIHNl
dFF1b3RhTG9nZ2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHBhdGhUb0xvY2FsUmVzb3VyY2UoSlNTdHJpbmdSZWYpOwogICAgIHZvaWQgc3luY0xvY2FsU3Rv
cmFnZSgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4
IGY3MzVlYzU4MmQ5YWY2NjE2NmI1YWM3OTUwYjFmNjI4NjJiZTVkMDkuLmY1YzZhZjAxOGJjMmYz
MGM3MGI1NzA3ZDU3MTJkMjA2YWZhNjhlZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCkBAIC0yOTEwLDEzICsyOTEwLDYgQEAgdm9pZCBUZXN0Q29udHJvbGxl
cjo6cmVzZXRRdW90YSgpCiAgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBub1RpbWVvdXQpOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpzZXRRdW90YUxvZ2dpbmdFbmFibGVkKGJvb2wgZW5h
YmxlZCkKLXsKLSAgICBTdG9yYWdlVm9pZENhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsK
LSAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRRdW90YUxvZ2dpbmdFbmFibGVkKFRlc3RDb250cm9s
bGVyOjp3ZWJzaXRlRGF0YVN0b3JlKCksIGVuYWJsZWQsICZjb250ZXh0LCBTdG9yYWdlVm9pZENh
bGxiYWNrKTsKLSAgICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG5vVGltZW91dCk7Ci19Ci0KIHN0
cnVjdCBGZXRjaENhY2hlT3JpZ2luc0NhbGxiYWNrQ29udGV4dCB7CiAgICAgRmV0Y2hDYWNoZU9y
aWdpbnNDYWxsYmFja0NvbnRleHQoVGVzdENvbnRyb2xsZXImIGNvbnRyb2xsZXIsIFdLU3RyaW5n
UmVmIG9yaWdpbikKICAgICAgICAgOiB0ZXN0Q29udHJvbGxlcihjb250cm9sbGVyKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDdiOWZhMTcwMDJhY2JiMGUzN2Fi
Njg2NTY3ZmVkYzY5NmZmYThmOTQuLmNkYTAzMzJiNjA4ZGMzM2QzODNjMzJiMGQ0N2ZhYjhjMzM0
OWU1NTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTI4MSw3
ICsyODEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXJtaW5hdGVTZXJ2aWNlV29ya2VycygpOwog
CiAgICAgdm9pZCByZXNldFF1b3RhKCk7Ci0gICAgdm9pZCBzZXRRdW90YUxvZ2dpbmdFbmFibGVk
KGJvb2wpOwogCiAgICAgdm9pZCByZW1vdmVBbGxTZXNzaW9uQ3JlZGVudGlhbHMoKTsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCBmNGE0ZmU0ZDM5OWUx
MDZmYWJlZjY5ODYyMGZhZGZjZGMxMmY0YjE3Li4wYTMyY2Y0YzdkMDYzZWUyMDFlODNkZmI3YTFi
N2EzNTkyNWEwZGYxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cApAQCAtMTM5MSwxMSArMTM5MSw2IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9j
YXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhD
U3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0UXVvdGFMb2dnaW5nRW5hYmxlZCIpKSB7Ci0gICAgICAg
IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRRdW90YUxvZ2dpbmdFbmFibGVkKG1lc3Nh
Z2VCb2R5KTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDc1ZmM4ZTRjZjJh
YTNiYzNkZTFlOGM2Mzg0OGUyNzEzNGMxNWVhMy4uYWQwY2U0OTYwZDRlNzc3YzcwMGE5NTA2NTlm
ZGVkZmZkMjY0Yzc2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTA3ICBTaWh1aSBM
aXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBsb2dnaW5nIGZvciBp
bnZlc3RpZ2F0aW5nIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQtMS5odG1sIGZh
aWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MzA4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU1OTE4MTY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL0luZGV4ZWREQi9z
dG9yYWdlLWxpbWl0LTEuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL0luZGV4ZWRE
Qi9zdG9yYWdlLWxpbWl0LTIuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL0luZGV4
ZWREQi9zdG9yYWdlLWxpbWl0Lmh0dHBzLmh0bWw6CisKIDIwMjEtMDQtMDcgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJZ25vcmUgbm9uLW51bGwgbGFzdFF1b3RlIEFT
U0VSVCB3aGVuIGNvbnRpbnVhdGlvbiBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQtMS5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0dHBzLmh0bWwKaW5k
ZXggZDJkYjk1ZGUyNzQwYzhiMjQ4OGMxZTk1OTBkNzU2OTlhNTNhNjVjNy4uM2VkOTJjMTgxNzk2
NGQxZTQyMTIwODQ3MTYxZmM5MGY2NDNmYjNlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0dHBzLmh0bWwKQEAg
LTUsMTAgKzUsOCBAQAogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRRdW90YUxvZ2dpbmdFbmFibGVkKHRydWUpOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdlUXVv
dGFJbmNyZWFzZShmYWxzZSk7Ci19CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IHN0b3JhZ2Ugb2YgaW5kZXhlZERCIGFuZCBDYWNoZSBBUEkgZG8gbm90IGdyb3cgdW5i
b3VuZGVkbHkuIik7CiAKQEAgLTI3LDcgKzI1LDcgQEAgd2luZG93LmNhY2hlcy5vcGVuKCJ0ZXN0
IikudGhlbihjYWNoZSA9PiB7CiAgICAgaW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIG9u
T3BlblN1Y2Nlc3MsIHsnc3VmZml4JzogJy0xJ30pOwogfSkuY2F0Y2goZSA9PiB7CiAgICAgdGVz
dEZhaWxlZCgiQ2FjaGUgQVBJIHN0b3JlIG9wZXJhdGlvbiBmYWlsZWQ6ICIgKyBlKTsKLSAgICBm
aW5pc2hUZXN0KCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9KTsKIAogZnVuY3Rpb24gcHJlcGFy
ZURhdGFiYXNlKGV2ZW50KQpAQCAtNDcsMTkgKzQ1LDE0IEBAIGFzeW5jIGZ1bmN0aW9uIG9uT3Bl
blN1Y2Nlc3MoZXZlbnQpCiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiJ2Vycm9yJyBpbiByZXF1ZXN0
Iik7CiAgICAgICAgIHNob3VsZEJlKCJyZXF1ZXN0LmVycm9yLmNvZGUiLCAiRE9NRXhjZXB0aW9u
LlFVT1RBX0VYQ0VFREVEX0VSUiIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJl
cXVlc3QuZXJyb3IubmFtZSIsICJRdW90YUV4Y2VlZGVkRXJyb3IiKTsKLSAgICAgICAgZmluaXNo
VGVzdCgpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkFkZCBvcGVy
YXRpb24gc2hvdWxkIGZhaWwgYmVjYXVzZSBzdG9yYWdlIGxpbWl0IGlzIHJlYWNoZWQsIGJ1dCBz
dWNjZWVkZWQuIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CiAgICAgfQogfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHRlc3RSdW5uZXIu
c2V0UXVvdGFMb2dnaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19CiA8
L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQtMi5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0yLmh0dHBzLmh0bWwKaW5kZXggMGEx
OWE3MmJkMjRlZjcyN2U4NTZhYjI4NTkzYzBhMTI5MTZmYzQ3OS4uNDI3MThlY2E4NjViMDBjNTcz
MTc2M2VlMjFiOTYxZWFjMjdkMDQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0yLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0yLmh0dHBzLmh0bWwKQEAgLTUsMTAg
KzUsOCBAQAogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRRdW90YUxvZ2dpbmdFbmFibGVkKHRydWUpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNy
ZWFzZShmYWxzZSk7Ci19CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHN0b3JhZ2Ugb2YgaW5kZXhlZERCIGFuZCBDYWNoZSBBUEkgZG8gbm90IGdyb3cgdW5ib3VuZGVk
bHkuIik7CiAKQEAgLTI5LDcgKzI3LDcgQEAgYXN5bmMgZnVuY3Rpb24gb25PcGVuU3VjY2Vzcyhl
dmVudCkKICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gc3RvcmUuYWRkKG5ldyBVaW50OEFycmF5
KDIwNDgwMCksICdrZXknKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50
KSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkFkZCBvcGVyYXRpb24gc2hvdWxkIGZhaWwgYmVjYXVz
ZSBzdG9yYWdlIGxpbWl0IGlzIHJlYWNoZWQsIGJ1dCBzdWNjZWVkZWQuIik7Ci0gICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogCiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBhc3luYyAoZXZlbnQpID0+IHsKQEAgLTUzLDE3ICs1MSwxMiBAQCBmdW5j
dGlvbiBjYWNoZVRlc3QoKQogICAgICAgICByZXR1cm4gY2FjaGUucHV0KG5ldyBSZXF1ZXN0KCIv
dGVzdCIpLCBuZXcgUmVzcG9uc2UobmV3IFVpbnQ4QXJyYXkoMzA0ODAwKSkpOwogICAgIH0pLnRo
ZW4oKCkgPT4gewogICAgICAgICB0ZXN0RmFpbGVkKCJDYWNoZSBBUEkgc3RvcmUgb3BlcmF0aW9u
IHN1Y2NlZWRlZCIpOwotICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOwogICAgIH0pLmNhdGNoKGUgPT4gewogICAgICAgICBkZWJ1ZygiQ2FjaGUgQVBJIHN0b3Jl
IG9wZXJhdGlvbiBmYWlsZWQ6ICIgKyBlKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9KTsKIH0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsK
LSAgICB0ZXN0UnVubmVyLnNldFF1b3RhTG9nZ2luZ0VuYWJsZWQoZmFsc2UpOwotICAgIGZpbmlz
aEpTVGVzdCgpOwotfQogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL0luZGV4ZWREQi9zdG9yYWdlLWxpbWl0Lmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL0luZGV4ZWREQi9zdG9yYWdlLWxpbWl0Lmh0dHBzLmh0
bWwKaW5kZXggNGJmZDZkMDAzZmFhYjQxZWJhMGI4ZjA5NWU4MjRmZGU5OThmMDc5Ni4uZDI2MjNm
MzMzMjY1Y2FjNjcyYWM3OGVmY2Q1ZTI5MjE4MWI1MDNiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGltaXQuaHR0cHMuaHRtbApA
QCAtNSwxMCArNSw4IEBACiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLnNldFF1b3RhTG9nZ2luZ0VuYWJsZWQodHJ1ZSk7
CitpZiAod2luZG93LnRlc3RSdW5uZXIpIAogICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdl
UXVvdGFJbmNyZWFzZShmYWxzZSk7Ci19CiAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IHN0b3JhZ2Ugb2YgaW5kZXhlZERCIGRvZXMgbm90IGdyb3cgdW5ib3VuZGVkbHku
Iik7CiAKQEAgLTE4LDcgKzE2LDcgQEAgd2luZG93LmNhY2hlcy5vcGVuKCJ0ZXN0IikudGhlbihj
YWNoZSA9PiB7CiAgICAgaW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIG9uT3BlblN1Y2Nl
c3MsIHsnc3VmZml4JzogJy0xJ30pOwogfSkuY2F0Y2goZSA9PiB7CiAgICAgdGVzdEZhaWxlZCgi
Q2FjaGUgQVBJIHN0b3JlIG9wZXJhdGlvbiBmYWlsZWQ6ICIgKyBlKTsKLSAgICBmaW5pc2hUZXN0
KCk7CisgICAgZmluaXNoSlNUZXN0KCk7CiB9KTsKIAogZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNl
KGV2ZW50KQpAQCAtMzgsMTkgKzM2LDE0IEBAIGFzeW5jIGZ1bmN0aW9uIG9uT3BlblN1Y2Nlc3Mo
ZXZlbnQpCiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiJ2Vycm9yJyBpbiByZXF1ZXN0Iik7CiAgICAg
ICAgIHNob3VsZEJlKCJyZXF1ZXN0LmVycm9yLmNvZGUiLCAiRE9NRXhjZXB0aW9uLlFVT1RBX0VY
Q0VFREVEX0VSUiIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlcXVlc3QuZXJy
b3IubmFtZSIsICJRdW90YUV4Y2VlZGVkRXJyb3IiKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkFkZCBvcGVyYXRpb24gc2hv
dWxkIGZhaWwgYmVjYXVzZSBzdG9yYWdlIGxpbWl0IGlzIHJlYWNoZWQsIGJ1dCBzdWNjZWVkZWQu
Iik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAg
fQogfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgIHRlc3RSdW5uZXIuc2V0UXVvdGFM
b2dnaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19CiA8L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>