<?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>161758</bug_id>
          
          <creation_ts>2016-09-08 13:55:27 -0700</creation_ts>
          <short_desc>Delete older WebAssembly tests</short_desc>
          <delta_ts>2016-09-08 14:32:21 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1227753</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-08 13:55:27 -0700</bug_when>
    <thetext>They&apos;re not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180

We&apos;ll re-use this space for updated tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227772</commentid>
    <comment_count>1</comment_count>
      <attachid>288318</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-08 13:57:47 -0700</bug_when>
    <thetext>Created attachment 288318
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227817</commentid>
    <comment_count>2</comment_count>
      <attachid>288318</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-08 14:32:18 -0700</bug_when>
    <thetext>Comment on attachment 288318
patch

Clearing flags on attachment: 288318

Committed r205662: &lt;http://trac.webkit.org/changeset/205662&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227818</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-08 14:32:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288318</attachid>
            <date>2016-09-08 13:57:47 -0700</date>
            <delta_ts>2016-09-08 14:32:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Delete-older-WebAssembly-tests.patch</filename>
            <type>text/plain</type>
            <size>61645</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzMzAzMWU2YmYxNDYzZmM2OWQyNTliNjU4ODI3ZDc3NWYyYjhjOWQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDggU2VwIDIwMTYgMTM6NTQ6NTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBEZWxldGUg
b2xkZXIgV2ViQXNzZW1ibHkgdGVzdHMKCi0tLQogSlNUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAzMiArKysKIEpTVGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRp
Yy1mbG9hdDMyLmpzICAgfCAxMDUgLS0tLS0tLS0tCiBKU1Rlc3RzL3N0cmVzcy93YXNtLWFyaXRo
bWV0aWMtZmxvYXQ2NC5qcyAgIHwgMjE1IC0tLS0tLS0tLS0tLS0tLS0tLQogSlNUZXN0cy9zdHJl
c3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzICAgICB8IDIyMCAtLS0tLS0tLS0tLS0tLS0tLS0t
CiBKU1Rlc3RzL3N0cmVzcy93YXNtLWNhbGxzLmpzICAgICAgICAgICAgICAgIHwgMTMwIC0tLS0t
LS0tLS0tCiBKU1Rlc3RzL3N0cmVzcy93YXNtLWNvbW1hLmpzICAgICAgICAgICAgICAgIHwgIDQ2
IC0tLS0KIEpTVGVzdHMvc3RyZXNzL3dhc20tY29udHJvbC1mbG93LmpzICAgICAgICAgfCAzMjYg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogSlNUZXN0cy9zdHJlc3Mvd2FzbS1nbG9iYWxz
LmpzICAgICAgICAgICAgICB8IDEzMSAtLS0tLS0tLS0tLQogSlNUZXN0cy9zdHJlc3Mvd2FzbS1s
aW5lYXItbWVtb3J5LmpzICAgICAgICB8IDI3MSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogSlNU
ZXN0cy9zdHJlc3Mvd2FzbS1sb2NhbHMuanMgICAgICAgICAgICAgICB8ICA2MiAtLS0tLS0KIEpT
VGVzdHMvc3RyZXNzL3dhc20tcmVsYXRpb25hbC5qcyAgICAgICAgICAgfCAyNDIgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiBKU1Rlc3RzL3N0cmVzcy93YXNtLXR5cGUtY29udmVyc2lvbi5qcyAgICAg
IHwgMTkxIC0tLS0tLS0tLS0tLS0tLS0KIEpTVGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1m
bG9hdDMyLndhc20gfCBCaW4gMTk2IC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNzL3dhc20vYXJp
dGhtZXRpYy1mbG9hdDY0Lndhc20gfCBCaW4gNDE3IC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNz
L3dhc20vYXJpdGhtZXRpYy1pbnQzMi53YXNtICAgfCBCaW4gMzk4IC0+IDAgYnl0ZXMKIEpTVGVz
dHMvc3RyZXNzL3dhc20vY2FsbHMud2FzbSAgICAgICAgICAgICAgfCBCaW4gMjQ1IC0+IDAgYnl0
ZXMKIEpTVGVzdHMvc3RyZXNzL3dhc20vY29tbWEud2FzbSAgICAgICAgICAgICAgfCBCaW4gMTM5
IC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc20gICAgICAg
fCBCaW4gODQwIC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNzL3dhc20vZ2xvYmFscy53YXNtICAg
ICAgICAgICAgfCBCaW4gMjI4IC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNzL3dhc20vbGluZWFy
LW1lbW9yeS53YXNtICAgICAgfCBCaW4gNDgyIC0+IDAgYnl0ZXMKIEpTVGVzdHMvc3RyZXNzL3dh
c20vbG9jYWxzLndhc20gICAgICAgICAgICAgfCBCaW4gMTcwIC0+IDAgYnl0ZXMKIEpTVGVzdHMv
c3RyZXNzL3dhc20vcmVsYXRpb25hbC53YXNtICAgICAgICAgfCBCaW4gNTc5IC0+IDAgYnl0ZXMK
IEpTVGVzdHMvc3RyZXNzL3dhc20vdHlwZS1jb252ZXJzaW9uLndhc20gICAgfCBCaW4gNjQ0IC0+
IDAgYnl0ZXMKIDIzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDE5MzkgZGVsZXRp
b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGlj
LWZsb2F0MzIuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtLWFyaXRo
bWV0aWMtZmxvYXQ2NC5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20t
YXJpdGhtZXRpYy1pbnQzMi5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dh
c20tY2FsbHMuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtLWNvbW1h
LmpzCiBkZWxldGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mvd2FzbS1jb250cm9sLWZsb3cu
anMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtLWdsb2JhbHMuanMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtLWxvY2Fscy5qcwogZGVsZXRlIG1v
ZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20tcmVsYXRpb25hbC5qcwogZGVsZXRlIG1vZGUg
MTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20tdHlwZS1jb252ZXJzaW9uLmpzCiBkZWxldGUgbW9k
ZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mvd2FzbS9hcml0aG1ldGljLWZsb2F0MzIud2FzbQogZGVs
ZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1mbG9hdDY0Lndh
c20KIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMtaW50
MzIud2FzbQogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vY2FsbHMud2Fz
bQogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vY29tbWEud2FzbQogZGVs
ZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc20KIGRl
bGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNtL2dsb2JhbHMud2FzbQogZGVsZXRl
IG1vZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vbGluZWFyLW1lbW9yeS53YXNtCiBkZWxl
dGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mvd2FzbS9sb2NhbHMud2FzbQogZGVsZXRlIG1v
ZGUgMTAwNjQ0IEpTVGVzdHMvc3RyZXNzL3dhc20vcmVsYXRpb25hbC53YXNtCiBkZWxldGUgbW9k
ZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mvd2FzbS90eXBlLWNvbnZlcnNpb24ud2FzbQoKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDJkYzg3
NS4uNjUyYWE3MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxNi0wOS0wOCAgSkYgQmFzdGllbiAgPGpmYmFz
dGllbkBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsZXRlIG9sZGVyIFdlYkFzc2VtYmx5IHRlc3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE3NTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGV5J3Jl
IG5vdCBydW5uaW5nLCByZWx5IG9uIHRoZSBvbGRlciBwb2x5ZmlsbCBwcm90b3R5cGUsIGFuZCB0
aGUgb2xkZXIgY29kZSB3YXMgZGVsZXRlZCBpbjogaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzIwNDE4MAorCisgICAgICAgICogc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9hdDMy
LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNtLWNhbGxzLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHN0cmVzcy93YXNtLWNvbW1hLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNt
LWNvbnRyb2wtZmxvdy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3Mvd2FzbS1nbG9iYWxz
LmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanM6IFJl
bW92ZWQuCisgICAgICAgICogc3RyZXNzL3dhc20tbG9jYWxzLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHN0cmVzcy93YXNtLXJlbGF0aW9uYWwuanM6IFJlbW92ZWQuCisgICAgICAgICogc3RyZXNz
L3dhc20tdHlwZS1jb252ZXJzaW9uLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNt
L2FyaXRobWV0aWMtZmxvYXQzMi53YXNtOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNt
L2FyaXRobWV0aWMtZmxvYXQ2NC53YXNtOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNt
L2FyaXRobWV0aWMtaW50MzIud2FzbTogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3Mvd2FzbS9j
YWxscy53YXNtOiBSZW1vdmVkLgorICAgICAgICAqIHN0cmVzcy93YXNtL2NvbW1hLndhc206IFJl
bW92ZWQuCisgICAgICAgICogc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc206IFJlbW92ZWQu
CisgICAgICAgICogc3RyZXNzL3dhc20vZ2xvYmFscy53YXNtOiBSZW1vdmVkLgorICAgICAgICAq
IHN0cmVzcy93YXNtL2xpbmVhci1tZW1vcnkud2FzbTogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJl
c3Mvd2FzbS9sb2NhbHMud2FzbTogUmVtb3ZlZC4KKyAgICAgICAgKiBzdHJlc3Mvd2FzbS9yZWxh
dGlvbmFsLndhc206IFJlbW92ZWQuCisgICAgICAgICogc3RyZXNzL3dhc20vdHlwZS1jb252ZXJz
aW9uLndhc206IFJlbW92ZWQuCisKIDIwMTYtMDktMDggIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIEV4Y2VwdGlvbiBmdXp6IHRlc3RzIGZhaWwK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9hdDMyLmpzIGIv
SlNUZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0MzIuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDUyNWVjYTcuLjAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3Mvd2Fz
bS1hcml0aG1ldGljLWZsb2F0MzIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAot
Ly9AIHNraXAKLQotZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgewotICAgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1
ZTogJyArIGFjdHVhbCk7Ci19Ci0KLS8qCi13YXNtL2FyaXRobWV0aWMtZmxvYXQzMi53YXNtIGlz
IGdlbmVyYXRlZCBieSBwYWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkv
cG9seWZpbGwtcHJvdG90eXBlLTE+IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6Ci0KLWZ1bmN0
aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwotCi0g
ICAgdmFyIGZyb3VuZCA9IGdsb2JhbC5NYXRoLmZyb3VuZDsKLSAgICB2YXIgYWJzID0gZ2xvYmFs
Lk1hdGguYWJzOwotICAgIHZhciBjZWlsID0gZ2xvYmFsLk1hdGguY2VpbDsKLSAgICB2YXIgZmxv
b3IgPSBnbG9iYWwuTWF0aC5mbG9vcjsKLSAgICB2YXIgc3FydCA9IGdsb2JhbC5NYXRoLnNxcnQ7
Ci0KLSAgICBmdW5jdGlvbiBudW1iZXIoKSB7Ci0gICAgICAgIHJldHVybiBmcm91bmQoMC41KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBuZWdhdGUoeCkgewotICAgICAgICB4ID0gZnJvdW5kKHgp
OwotICAgICAgICByZXR1cm4gZnJvdW5kKC14KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGQo
eCwgeSkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICB5ID0gZnJvdW5kKHkpOwot
ICAgICAgICByZXR1cm4gZnJvdW5kKHggKyB5KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdWJ0
cmFjdCh4LCB5KSB7Ci0gICAgICAgIHggPSBmcm91bmQoeCk7Ci0gICAgICAgIHkgPSBmcm91bmQo
eSk7Ci0gICAgICAgIHJldHVybiBmcm91bmQoeCAtIHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IG11bHRpcGx5KHgsIHkpIHsKLSAgICAgICAgeCA9IGZyb3VuZCh4KTsKLSAgICAgICAgeSA9IGZy
b3VuZCh5KTsKLSAgICAgICAgcmV0dXJuIGZyb3VuZCh4ICogeSk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gZGl2aWRlKHgsIHkpIHsKLSAgICAgICAgeCA9IGZyb3VuZCh4KTsKLSAgICAgICAgeSA9
IGZyb3VuZCh5KTsKLSAgICAgICAgcmV0dXJuIGZyb3VuZCh4IC8geSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gYWJzb2x1dGUoeCkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICBy
ZXR1cm4gZnJvdW5kKGFicyh4KSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2VpbE51bWJlcih4
KSB7Ci0gICAgICAgIHggPSBmcm91bmQoeCk7Ci0gICAgICAgIHJldHVybiBmcm91bmQoY2VpbCh4
KSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmxvb3JOdW1iZXIoeCkgewotICAgICAgICB4ID0g
ZnJvdW5kKHgpOwotICAgICAgICByZXR1cm4gZnJvdW5kKGZsb29yKHgpKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzcXVhcmVSb290KHgpIHsKLSAgICAgICAgeCA9IGZyb3VuZCh4KTsKLSAgICAg
ICAgcmV0dXJuIGZyb3VuZChzcXJ0KHgpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAg
ICBudW1iZXI6IG51bWJlciwKLSAgICAgICAgbmVnYXRlOiBuZWdhdGUsCi0gICAgICAgIGFkZDog
YWRkLAotICAgICAgICBzdWJ0cmFjdDogc3VidHJhY3QsCi0gICAgICAgIG11bHRpcGx5OiBtdWx0
aXBseSwKLSAgICAgICAgZGl2aWRlOiBkaXZpZGUsCi0gICAgICAgIGFic29sdXRlOiBhYnNvbHV0
ZSwKLSAgICAgICAgY2VpbE51bWJlcjogY2VpbE51bWJlciwKLSAgICAgICAgZmxvb3JOdW1iZXI6
IGZsb29yTnVtYmVyLAotICAgICAgICBzcXVhcmVSb290OiBzcXVhcmVSb290LAotICAgIH07Ci19
Ci0qLwotCi12YXIgbW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3YXNtL2FyaXRobWV0aWMtZmxv
YXQzMi53YXNtIik7Ci0KLXNob3VsZEJlKG1vZHVsZS5udW1iZXIoKSwgMC41KTsKLXNob3VsZEJl
KG1vZHVsZS5uZWdhdGUoMC4xKSwgLTAuMTAwMDAwMDAxNDkwMTE2MTIpOwotc2hvdWxkQmUobW9k
dWxlLmFkZCgwLjEsIDAuNSksIDAuNjAwMDAwMDIzODQxODU3OSk7Ci1zaG91bGRCZShpc05hTiht
b2R1bGUuYWRkKDAuMSwgTmFOKSksIHRydWUpOwotc2hvdWxkQmUobW9kdWxlLmFkZCgwLjEsIElu
ZmluaXR5KSwgSW5maW5pdHkpOwotc2hvdWxkQmUoaXNOYU4obW9kdWxlLmFkZChJbmZpbml0eSwg
LUluZmluaXR5KSksIHRydWUpOwotc2hvdWxkQmUobW9kdWxlLnN1YnRyYWN0KDAuMSwgMC41KSwg
LTAuNDAwMDAwMDA1OTYwNDY0NSk7Ci1zaG91bGRCZShtb2R1bGUubXVsdGlwbHkoMC4xLCAwLjUp
LCAwLjA1MDAwMDAwMDc0NTA1ODA2KTsKLXNob3VsZEJlKG1vZHVsZS5kaXZpZGUoMC4xLCAwLjUp
LCAwLjIwMDAwMDAwMjk4MDIzMjI0KTsKLXNob3VsZEJlKG1vZHVsZS5kaXZpZGUoMC4xLCAwKSwg
SW5maW5pdHkpOwotc2hvdWxkQmUobW9kdWxlLmRpdmlkZSgwLjEsIC0wKSwgLUluZmluaXR5KTsK
LXNob3VsZEJlKG1vZHVsZS5hYnNvbHV0ZSgtNC4yKSwgNC4xOTk5OTk4MDkyNjUxMzcpOwotc2hv
dWxkQmUobW9kdWxlLmFic29sdXRlKDQuMiksIDQuMTk5OTk5ODA5MjY1MTM3KTsKLXNob3VsZEJl
KG1vZHVsZS5jZWlsTnVtYmVyKDQuMiksIDUpOwotc2hvdWxkQmUobW9kdWxlLmZsb29yTnVtYmVy
KDQuMiksIDQpOwotc2hvdWxkQmUobW9kdWxlLnNxdWFyZVJvb3QoMC4wOSksIDAuMzAwMDAwMDEx
OTIwOTI4OTYpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZs
b2F0NjQuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjBiM2NhYS4uMDAwMDAwMAotLS0gYS9KU1Rlc3Rz
L3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIx
NSArMCwwIEBACi0vL0Agc2tpcAotCi1mdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVk
KSB7Ci0gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJv
cignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKLX0KLQotLyoKLXdhc20vYXJpdGhtZXRpYy1mbG9h
dDY0Lndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMgPGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJvbSB0aGUgZm9sbG93aW5nIHNjcmlw
dDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKLSAgICAidXNl
IGFzbSI7Ci0KLSAgICB2YXIgYWJzID0gZ2xvYmFsLk1hdGguYWJzOwotICAgIHZhciBjZWlsID0g
Z2xvYmFsLk1hdGguY2VpbDsKLSAgICB2YXIgZmxvb3IgPSBnbG9iYWwuTWF0aC5mbG9vcjsKLSAg
ICB2YXIgc3FydCA9IGdsb2JhbC5NYXRoLnNxcnQ7Ci0gICAgdmFyIGNvcyA9IGdsb2JhbC5NYXRo
LmNvczsKLSAgICB2YXIgc2luID0gZ2xvYmFsLk1hdGguc2luOwotICAgIHZhciB0YW4gPSBnbG9i
YWwuTWF0aC50YW47Ci0gICAgdmFyIGFjb3MgPSBnbG9iYWwuTWF0aC5hY29zOwotICAgIHZhciBh
c2luID0gZ2xvYmFsLk1hdGguYXNpbjsKLSAgICB2YXIgYXRhbiA9IGdsb2JhbC5NYXRoLmF0YW47
Ci0gICAgdmFyIGF0YW4yID0gZ2xvYmFsLk1hdGguYXRhbjI7Ci0gICAgdmFyIGV4cCA9IGdsb2Jh
bC5NYXRoLmV4cDsKLSAgICB2YXIgbG9nID0gZ2xvYmFsLk1hdGgubG9nOwotICAgIHZhciBwb3cg
PSBnbG9iYWwuTWF0aC5wb3c7Ci0gICAgdmFyIG1pbiA9IGdsb2JhbC5NYXRoLm1pbjsKLSAgICB2
YXIgbWF4ID0gZ2xvYmFsLk1hdGgubWF4OwotCi0gICAgZnVuY3Rpb24gbnVtYmVyKCkgewotICAg
ICAgICByZXR1cm4gNC4yOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5lZ2F0ZSh4KSB7Ci0gICAg
ICAgIHggPSAreDsKLSAgICAgICAgcmV0dXJuIC14OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFk
ZCh4LCB5KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgeSA9ICt5OwotICAgICAgICByZXR1
cm4geCArIHk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3VidHJhY3QoeCwgeSkgewotICAgICAg
ICB4ID0gK3g7Ci0gICAgICAgIHkgPSAreTsKLSAgICAgICAgcmV0dXJuIHggLSB5OwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIG11bHRpcGx5KHgsIHkpIHsKLSAgICAgICAgeCA9ICt4OwotICAgICAg
ICB5ID0gK3k7Ci0gICAgICAgIHJldHVybiB4ICogeTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBk
aXZpZGUoeCwgeSkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHkgPSAreTsKLSAgICAgICAg
cmV0dXJuIHggLyB5OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG1vZHVsbyh4LCB5KSB7Ci0gICAg
ICAgIHggPSAreDsKLSAgICAgICAgeSA9ICt5OwotICAgICAgICByZXR1cm4geCAlIHk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gYWJzb2x1dGUoeCkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAg
IHJldHVybiBhYnMoeCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2VpbE51bWJlcih4KSB7Ci0g
ICAgICAgIHggPSAreDsKLSAgICAgICAgcmV0dXJuIGNlaWwoeCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gZmxvb3JOdW1iZXIoeCkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHJldHVybiBm
bG9vcih4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzcXVhcmVSb290KHgpIHsKLSAgICAgICAg
eCA9ICt4OwotICAgICAgICByZXR1cm4gc3FydCh4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBj
b3NpbmUoeCkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHJldHVybiBjb3MoeCk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc2luZSh4KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgcmV0
dXJuIHNpbih4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0YW5nZW50KHgpIHsKLSAgICAgICAg
eCA9ICt4OwotICAgICAgICByZXR1cm4gdGFuKHgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFy
Y2Nvc2luZSh4KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgcmV0dXJuIGFjb3MoeCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gYXJjc2luZSh4KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAg
ICAgcmV0dXJuIGFzaW4oeCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYXJjdGFuZ2VudCh4KSB7
Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgcmV0dXJuIGF0YW4oeCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gYXJjdGFuZ2VudDIoeCwgeSkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHkg
PSAreTsKLSAgICAgICAgcmV0dXJuIGF0YW4yKHgsIHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGV4cG9uZW50aWFsKHgpIHsKLSAgICAgICAgeCA9ICt4OwotICAgICAgICByZXR1cm4gZXhwKHgp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxvZ2FyaXRobSh4KSB7Ci0gICAgICAgIHggPSAreDsK
LSAgICAgICAgcmV0dXJuIGxvZyh4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBwb3dlcih4LCB5
KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgeSA9ICt5OwotICAgICAgICByZXR1cm4gcG93
KHgsIHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG1pbmltdW0oeCwgeSwgeikgewotICAgICAg
ICB4ID0gK3g7Ci0gICAgICAgIHkgPSAreTsKLSAgICAgICAgeiA9ICt6OwotICAgICAgICByZXR1
cm4gbWluKHgsIHksIHopOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG1heGltdW0oeCwgeSwgeikg
ewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHkgPSAreTsKLSAgICAgICAgeiA9ICt6OwotICAg
ICAgICByZXR1cm4gbWF4KHgsIHksIHopOwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICAg
IG51bWJlcjogbnVtYmVyLAotICAgICAgICBuZWdhdGU6IG5lZ2F0ZSwKLSAgICAgICAgYWRkOiBh
ZGQsCi0gICAgICAgIHN1YnRyYWN0OiBzdWJ0cmFjdCwKLSAgICAgICAgbXVsdGlwbHk6IG11bHRp
cGx5LAotICAgICAgICBkaXZpZGU6IGRpdmlkZSwKLSAgICAgICAgbW9kdWxvOiBtb2R1bG8sCi0g
ICAgICAgIGFic29sdXRlOiBhYnNvbHV0ZSwKLSAgICAgICAgY2VpbE51bWJlcjogY2VpbE51bWJl
ciwKLSAgICAgICAgZmxvb3JOdW1iZXI6IGZsb29yTnVtYmVyLAotICAgICAgICBzcXVhcmVSb290
OiBzcXVhcmVSb290LAotICAgICAgICBjb3NpbmU6IGNvc2luZSwKLSAgICAgICAgc2luZTogc2lu
ZSwKLSAgICAgICAgdGFuZ2VudDogdGFuZ2VudCwKLSAgICAgICAgYXJjY29zaW5lOiBhcmNjb3Np
bmUsCi0gICAgICAgIGFyY3NpbmU6IGFyY3NpbmUsCi0gICAgICAgIGFyY3RhbmdlbnQ6IGFyY3Rh
bmdlbnQsCi0gICAgICAgIGFyY3RhbmdlbnQyOiBhcmN0YW5nZW50MiwKLSAgICAgICAgZXhwb25l
bnRpYWw6IGV4cG9uZW50aWFsLAotICAgICAgICBsb2dhcml0aG06IGxvZ2FyaXRobSwKLSAgICAg
ICAgcG93ZXI6IHBvd2VyLAotICAgICAgICBtaW5pbXVtOiBtaW5pbXVtLAotICAgICAgICBtYXhp
bXVtOiBtYXhpbXVtLAotICAgIH07Ci19Ci0qLwotCi12YXIgbW9kdWxlID0gbG9hZFdlYkFzc2Vt
Ymx5KCJ3YXNtL2FyaXRobWV0aWMtZmxvYXQ2NC53YXNtIik7Ci0KLXNob3VsZEJlKG1vZHVsZS5u
dW1iZXIoKSwgNC4yKTsKLXNob3VsZEJlKG1vZHVsZS5uZWdhdGUoMC4xKSwgLTAuMSk7Ci1zaG91
bGRCZShtb2R1bGUuYWRkKDAuMSwgMC41KSwgMC42KTsKLXNob3VsZEJlKGlzTmFOKG1vZHVsZS5h
ZGQoMC4xLCBOYU4pKSwgdHJ1ZSk7Ci1zaG91bGRCZShtb2R1bGUuYWRkKDAuMSwgSW5maW5pdHkp
LCBJbmZpbml0eSk7Ci1zaG91bGRCZShpc05hTihtb2R1bGUuYWRkKEluZmluaXR5LCAtSW5maW5p
dHkpKSwgdHJ1ZSk7Ci1zaG91bGRCZShtb2R1bGUuc3VidHJhY3QoMC4xLCAwLjUpLCAtMC40KTsK
LXNob3VsZEJlKG1vZHVsZS5tdWx0aXBseSgwLjEsIDAuNSksIDAuMDUpOwotc2hvdWxkQmUobW9k
dWxlLmRpdmlkZSgwLjEsIDAuNSksIDAuMik7Ci1zaG91bGRCZShtb2R1bGUuZGl2aWRlKDAuMSwg
MCksIEluZmluaXR5KTsKLXNob3VsZEJlKG1vZHVsZS5kaXZpZGUoMC4xLCAtMCksIC1JbmZpbml0
eSk7Ci1zaG91bGRCZShtb2R1bGUubW9kdWxvKDAuMSwgMC4wMyksIDAuMDEwMDAwMDAwMDAwMDAw
MDA5KTsKLXNob3VsZEJlKGlzTmFOKG1vZHVsZS5tb2R1bG8oMC4xLCAwKSksIHRydWUpOwotc2hv
dWxkQmUobW9kdWxlLmFic29sdXRlKC00LjIpLCA0LjIpOwotc2hvdWxkQmUobW9kdWxlLmFic29s
dXRlKDQuMiksIDQuMik7Ci1zaG91bGRCZShtb2R1bGUuY2VpbE51bWJlcig0LjIpLCA1KTsKLXNo
b3VsZEJlKG1vZHVsZS5mbG9vck51bWJlcig0LjIpLCA0KTsKLXNob3VsZEJlKG1vZHVsZS5zcXVh
cmVSb290KDAuMDkpLCAwLjMpOwotc2hvdWxkQmUobW9kdWxlLmNvc2luZShNYXRoLlBJKSwgLTEp
Owotc2hvdWxkQmUobW9kdWxlLnNpbmUoTWF0aC5QSSAvIDIpLCAxKTsKLXNob3VsZEJlKG1vZHVs
ZS50YW5nZW50KE1hdGguUEkgLyA0KSwgMC45OTk5OTk5OTk5OTk5OTk5KTsKLXNob3VsZEJlKG1v
ZHVsZS5hcmNjb3NpbmUoLTEpLCBNYXRoLlBJKTsKLXNob3VsZEJlKG1vZHVsZS5hcmNzaW5lKDEp
LCBNYXRoLlBJIC8gMik7Ci1zaG91bGRCZShtb2R1bGUuYXJjdGFuZ2VudCgxKSwgTWF0aC5QSSAv
IDQpOwotc2hvdWxkQmUobW9kdWxlLmFyY3RhbmdlbnQyKDEsIDApLCBNYXRoLlBJIC8gMik7Ci1z
aG91bGRCZShtb2R1bGUuZXhwb25lbnRpYWwoMSksIE1hdGguRSk7Ci1zaG91bGRCZShtb2R1bGUu
bG9nYXJpdGhtKE1hdGguRSksIDEpOwotc2hvdWxkQmUobW9kdWxlLnBvd2VyKDQsIDEuNSksIDgp
Owotc2hvdWxkQmUobW9kdWxlLm1pbmltdW0oMC4xLCAtMC4yLCAwLjMpLCAtMC4yKTsKLXNob3Vs
ZEJlKG1vZHVsZS5tYXhpbXVtKDAuMSwgLTAuMiwgMC4zKSwgMC4zKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1pbnQzMi5qcyBiL0pTVGVzdHMvc3RyZXNzL3dh
c20tYXJpdGhtZXRpYy1pbnQzMi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc1
MGY2OC4uMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtaW50MzIu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyMjAgKzAsMCBAQAotLy9AIHNraXAKLQotZnVuY3Rpb24g
c2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgewotICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Ci19Ci0K
LWZ1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMsIG1lc3NhZ2UpIHsKLSAgICB2YXIgZXJyb3IgPSBu
dWxsOwotICAgIHRyeSB7Ci0gICAgICAgIGZ1bmMoKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAg
ICAgIGVycm9yID0gZTsKLSAgICB9Ci0gICAgaWYgKCFlcnJvcikKLSAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJub3QgdGhyb3duLiIpOwotICAgIGlmIChTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdl
KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikp
OwotfQotCi0vKgotd2FzbS9hcml0aG1ldGljLWludDMyLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBh
Y2stYXNtanMgPGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5
cGUtMT4gZnJvbSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGds
b2JhbCwgZW52LCBidWZmZXIpIHsKLSAgICAidXNlIGFzbSI7Ci0KLSAgICB2YXIgY2x6MzIgPSBn
bG9iYWwuTWF0aC5jbHozMjsKLSAgICB2YXIgaW11bCA9IGdsb2JhbC5NYXRoLmltdWw7Ci0gICAg
dmFyIGFicyA9IGdsb2JhbC5NYXRoLmFiczsKLSAgICB2YXIgbWluID0gZ2xvYmFsLk1hdGgubWlu
OwotICAgIHZhciBtYXggPSBnbG9iYWwuTWF0aC5tYXg7Ci0KLSAgICBmdW5jdGlvbiBuZWdhdGUo
eCkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHJldHVybiAoLXgpIHwgMDsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBhZGQoeCwgeSkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAg
IHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuICh4ICsgeSkgfCAwOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN1YnRyYWN0KHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0g
eSB8IDA7Ci0gICAgICAgIHJldHVybiAoeCAtIHkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBtdWx0aXBseSh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgeSA9IHkgfCAw
OwotICAgICAgICByZXR1cm4gaW11bCh4LCB5KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
ZGl2aWRlKHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0g
ICAgICAgIHJldHVybiAoKHggfCAwKSAvICh5IHwgMCkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiB1bnNpZ25lZERpdmlkZSh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAg
eSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKCh4ID4+PiAwKSAvICh5ID4+PiAwKSkgfCAwOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIG1vZHVsbyh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsK
LSAgICAgICAgeSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKCh4IHwgMCkgJSAoeSB8IDApKSB8
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdW5zaWduZWRNb2R1bG8oeCwgeSkgewotICAgICAg
ICB4ID0geCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuICgoeCA+Pj4g
MCkgJSAoeSA+Pj4gMCkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBiaXROb3QoeCkgewot
ICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHJldHVybiB+eDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBiaXRPcih4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgeSA9IHkgfCAw
OwotICAgICAgICByZXR1cm4geCB8IHk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYml0QW5kKHgs
IHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHJl
dHVybiB4ICYgeTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBiaXRYb3IoeCwgeSkgewotICAgICAg
ICB4ID0geCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuIHggXiB5Owot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGxlZnRTaGlmdCh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwg
MDsKLSAgICAgICAgeSA9IHkgfCAwOwotICAgICAgICByZXR1cm4geCA8PCB5OwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGFyaXRobWV0aWNSaWdodFNoaWZ0KHgsIHkpIHsKLSAgICAgICAgeCA9IHgg
fCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHJldHVybiB4ID4+IHk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gbG9naWNhbFJpZ2h0U2hpZnQoeCwgeSkgewotICAgICAgICB4ID0geCB8
IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuICh4ID4+PiB5KSB8IDA7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gY291bnRMZWFkaW5nWmVyb3MoeCkgewotICAgICAgICB4ID0g
eCB8IDA7Ci0gICAgICAgIHJldHVybiBjbHozMih4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBs
b2dpY2FsTm90KHgpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICByZXR1cm4gKCF4KSB8
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWJzb2x1dGUoeCkgewotICAgICAgICB4ID0geCB8
IDA7Ci0gICAgICAgIHJldHVybiBhYnMoeCB8IDApIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBtaW5pbXVtKHgsIHksIHopIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8
IDA7Ci0gICAgICAgIHogPSB6IHwgMDsKLSAgICAgICAgcmV0dXJuIG1pbih4IHwgMCwgeSB8IDAs
IHogfCAwKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBtYXhpbXVtKHgsIHksIHopIHsKLSAgICAg
ICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHogPSB6IHwgMDsKLSAg
ICAgICAgcmV0dXJuIG1heCh4IHwgMCwgeSB8IDAsIHogfCAwKTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gewotICAgICAgICBuZWdhdGU6IG5lZ2F0ZSwKLSAgICAgICAgYWRkOiBhZGQsCi0gICAgICAg
IHN1YnRyYWN0OiBzdWJ0cmFjdCwKLSAgICAgICAgbXVsdGlwbHk6IG11bHRpcGx5LAotICAgICAg
ICBkaXZpZGU6IGRpdmlkZSwKLSAgICAgICAgdW5zaWduZWREaXZpZGU6IHVuc2lnbmVkRGl2aWRl
LAotICAgICAgICBtb2R1bG86IG1vZHVsbywKLSAgICAgICAgdW5zaWduZWRNb2R1bG86IHVuc2ln
bmVkTW9kdWxvLAotICAgICAgICBiaXROb3Q6IGJpdE5vdCwKLSAgICAgICAgYml0T3I6IGJpdE9y
LAotICAgICAgICBiaXRBbmQ6IGJpdEFuZCwKLSAgICAgICAgYml0WG9yOiBiaXRYb3IsCi0gICAg
ICAgIGxlZnRTaGlmdDogbGVmdFNoaWZ0LAotICAgICAgICBhcml0aG1ldGljUmlnaHRTaGlmdDog
YXJpdGhtZXRpY1JpZ2h0U2hpZnQsCi0gICAgICAgIGxvZ2ljYWxSaWdodFNoaWZ0OiBsb2dpY2Fs
UmlnaHRTaGlmdCwKLSAgICAgICAgY291bnRMZWFkaW5nWmVyb3M6IGNvdW50TGVhZGluZ1plcm9z
LAotICAgICAgICBsb2dpY2FsTm90OiBsb2dpY2FsTm90LAotICAgICAgICBhYnNvbHV0ZTogYWJz
b2x1dGUsCi0gICAgICAgIG1pbmltdW06IG1pbmltdW0sCi0gICAgICAgIG1heGltdW06IG1heGlt
dW0sCi0gICAgfTsKLX0KLSovCi0KLXZhciBtb2R1bGUgPSBsb2FkV2ViQXNzZW1ibHkoIndhc20v
YXJpdGhtZXRpYy1pbnQzMi53YXNtIik7Ci0KLXNob3VsZEJlKG1vZHVsZS5uZWdhdGUoNDIpLCAt
NDIpOwotc2hvdWxkQmUobW9kdWxlLmFkZCgxLCAyKSwgMyk7Ci1zaG91bGRCZShtb2R1bGUuYWRk
KDIxNDc0ODM2NDcsIDEpLCAtMjE0NzQ4MzY0OCk7Ci1zaG91bGRCZShtb2R1bGUuc3VidHJhY3Qo
MSwgMiksIC0xKTsKLXNob3VsZEJlKG1vZHVsZS5tdWx0aXBseSgyLCAzKSwgNik7Ci1zaG91bGRC
ZShtb2R1bGUubXVsdGlwbHkoLTIxNDc0ODM2NDgsIC0xKSwgLTIxNDc0ODM2NDgpOwotc2hvdWxk
QmUobW9kdWxlLmRpdmlkZSg3LCAzKSwgMik7Ci1zaG91bGRUaHJvdygoKSA9PiB7Ci0gICAgbW9k
dWxlLmRpdmlkZSgxLCAwKTsKLX0sICJFcnJvcjogRGl2aXNpb24gYnkgemVybyBvciBkaXZpc2lv
biBvdmVyZmxvdy4iKTsKLXNob3VsZFRocm93KCgpID0+IHsKLSAgICBtb2R1bGUuZGl2aWRlKC0y
MTQ3NDgzNjQ4LCAtMSk7Ci19LCAiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gb3IgZGl2aXNpb24g
b3ZlcmZsb3cuIik7Ci1zaG91bGRCZShtb2R1bGUudW5zaWduZWREaXZpZGUoLTEsIDIpLCAyMTQ3
NDgzNjQ3KTsKLXNob3VsZFRocm93KCgpID0+IHsKLSAgICBtb2R1bGUudW5zaWduZWREaXZpZGUo
LTEsIDApOwotfSwgIkVycm9yOiBEaXZpc2lvbiBieSB6ZXJvIG9yIGRpdmlzaW9uIG92ZXJmbG93
LiIpOwotc2hvdWxkQmUobW9kdWxlLm1vZHVsbyg3LCAzKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUu
bW9kdWxvKC03LCAzKSwgLTEpOwotc2hvdWxkVGhyb3coKCkgPT4gewotICAgIG1vZHVsZS5tb2R1
bG8oMSwgMCk7Ci19LCAiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gb3IgZGl2aXNpb24gb3ZlcmZs
b3cuIik7Ci1zaG91bGRUaHJvdygoKSA9PiB7Ci0gICAgbW9kdWxlLm1vZHVsbygtMjE0NzQ4MzY0
OCwgLTEpOwotfSwgIkVycm9yOiBEaXZpc2lvbiBieSB6ZXJvIG9yIGRpdmlzaW9uIG92ZXJmbG93
LiIpOwotc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkTW9kdWxvKC0xLCAxMDAwMDApLCA2NzI5NSk7
Ci1zaG91bGRUaHJvdygoKSA9PiB7Ci0gICAgbW9kdWxlLnVuc2lnbmVkTW9kdWxvKC0xLCAwKTsK
LX0sICJFcnJvcjogRGl2aXNpb24gYnkgemVybyBvciBkaXZpc2lvbiBvdmVyZmxvdy4iKTsKLXNo
b3VsZEJlKG1vZHVsZS5iaXROb3QoMSksIC0yKTsKLXNob3VsZEJlKG1vZHVsZS5iaXRPcigzLCA1
KSwgNyk7Ci1zaG91bGRCZShtb2R1bGUuYml0QW5kKDMsIDUpLCAxKTsKLXNob3VsZEJlKG1vZHVs
ZS5iaXRYb3IoMywgNSksIDYpOwotc2hvdWxkQmUobW9kdWxlLmxlZnRTaGlmdCgxLCAxNiksIDY1
NTM2KTsKLXNob3VsZEJlKG1vZHVsZS5hcml0aG1ldGljUmlnaHRTaGlmdCgtMSwgMTYpLCAtMSk7
Ci1zaG91bGRCZShtb2R1bGUubG9naWNhbFJpZ2h0U2hpZnQoLTEsIDE2KSwgNjU1MzUpOwotc2hv
dWxkQmUobW9kdWxlLmNvdW50TGVhZGluZ1plcm9zKDQyKSwgMjYpOwotc2hvdWxkQmUobW9kdWxl
LmNvdW50TGVhZGluZ1plcm9zKDApLCAzMik7Ci1zaG91bGRCZShtb2R1bGUubG9naWNhbE5vdCg0
MiksIDApOwotc2hvdWxkQmUobW9kdWxlLmxvZ2ljYWxOb3QoMCksIDEpOwotc2hvdWxkQmUobW9k
dWxlLmFic29sdXRlKC00MiksIDQyKTsKLXNob3VsZEJlKG1vZHVsZS5hYnNvbHV0ZSg0MiksIDQy
KTsKLXNob3VsZEJlKG1vZHVsZS5taW5pbXVtKDEsIC0yLCAzKSwgLTIpOwotc2hvdWxkQmUobW9k
dWxlLm1heGltdW0oMSwgLTIsIDMpLCAzKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3dh
c20tY2FsbHMuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWNhbGxzLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2OThhZjczLi4wMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL3dh
c20tY2FsbHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzAgKzAsMCBAQAotLy9AIHNraXAKLQot
ZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgewotICAgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVh
bCk7Ci19Ci0KLS8qCi13YXNtL2NhbGxzLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMg
PGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJv
bSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1w
b3J0cywgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwotCi0gICAgdmFyIGltdWwgPSBnbG9iYWwu
TWF0aC5pbXVsOwotICAgIHZhciBzdW0gPSBpbXBvcnRzLnN1bTsKLSAgICB2YXIgbWF4ID0gaW1w
b3J0cy5tYXg7Ci0gICAgdmFyIGcgPSAwOwotCi0gICAgZnVuY3Rpb24gZmlib25hY2NpKHgpIHsK
LSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICBpZiAoKHggfCAwKSA8PSAxKQotICAgICAgICAg
ICAgcmV0dXJuIDE7Ci0gICAgICAgIHJldHVybiAoKGZpYm9uYWNjaSgoeCAtIDEpIHwgMCkgfCAw
KSArIChmaWJvbmFjY2koKHggLSAyKSB8IDApIHwgMCkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBnY2QoeCwgeSkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsK
LSAgICAgICAgaWYgKCh5IHwgMCkgPT0gMCkKLSAgICAgICAgICAgIHJldHVybiB4IHwgMDsKLSAg
ICAgICAgcmV0dXJuIGdjZCh5LCAoKHggfCAwKSAlICh5IHwgMCkpIHwgMCkgfCAwOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIGxjbSh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAg
eSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKGltdWwoeCwgeSkgLyAoZ2NkKHgsIHkpIHwgMCkp
IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRHKHgpIHsKLSAgICAgICAgeCA9IHggfCAw
OwotICAgICAgICBnID0geDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q2FsbFN0YXRlbWVu
dCh4KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgc2V0Ryh4KTsKLSAgICAgICAgcmV0
dXJuIGcgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZFN1Yk11bERpdihpLCB4LCB5KSB7
Ci0gICAgICAgIGkgPSBpIHwgMDsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8
IDA7Ci0gICAgICAgIHJldHVybiBhZGRTdWJNdWxEaXZUYWJsZVtpICYgM10oeCwgeSkgfCAwOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGFkZCh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAg
ICAgICAgeSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKHggKyB5KSB8IDA7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3ViKHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0g
eSB8IDA7Ci0gICAgICAgIHJldHVybiAoeCAtIHkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBtdWwoeCwgeSkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAg
ICAgICAgcmV0dXJuIGltdWwoeCwgeSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZGl2KHgsIHkp
IHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHJldHVy
biAoKHggfCAwKSAvICh5IHwgMCkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjYWxsU3Vt
KHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAg
IHJldHVybiBzdW0oeCB8IDAsIHkgfCAwKSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2Fs
bE1heCh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgeSA9IHkgfCAwOwotICAg
ICAgICByZXR1cm4gbWF4KHggfCAwLCB5IHwgMCkgfCAwOwotICAgIH0KLQotICAgIHZhciBhZGRT
dWJNdWxEaXZUYWJsZSA9IFthZGQsIHN1YiwgbXVsLCBkaXZdOwotCi0gICAgcmV0dXJuIHsKLSAg
ICAgICAgZmlib25hY2NpOiBmaWJvbmFjY2ksCi0gICAgICAgIGdjZDogZ2NkLAotICAgICAgICBs
Y206IGxjbSwKLSAgICAgICAgdGVzdENhbGxTdGF0ZW1lbnQ6IHRlc3RDYWxsU3RhdGVtZW50LAot
Ci0gICAgICAgIGFkZFN1Yk11bERpdjogYWRkU3ViTXVsRGl2LAotCi0gICAgICAgIGNhbGxTdW06
IGNhbGxTdW0sCi0gICAgICAgIGNhbGxNYXg6IGNhbGxNYXgsCi0gICAgfTsKLX0KLSovCi0KLXZh
ciBpbXBvcnRzID0gewotICAgIHN1bTogKHgsIHkpID0+IHggKyB5LAotICAgIG1heDogTWF0aC5t
YXgsCi19OwotdmFyIG1vZHVsZSA9IGxvYWRXZWJBc3NlbWJseSgid2FzbS9jYWxscy53YXNtIiwg
aW1wb3J0cyk7Ci0KLXNob3VsZEJlKG1vZHVsZS5maWJvbmFjY2koMTApLCA4OSk7Ci1zaG91bGRC
ZShtb2R1bGUuZ2NkKDE1LCAyNSksIDUpOwotc2hvdWxkQmUobW9kdWxlLmxjbSgxNSwgMjUpLCA3
NSk7Ci1zaG91bGRCZShtb2R1bGUudGVzdENhbGxTdGF0ZW1lbnQoNDIpLCA0Mik7Ci0KLXNob3Vs
ZEJlKG1vZHVsZS5hZGRTdWJNdWxEaXYoMCwgNiwgMiksIDgpOwotc2hvdWxkQmUobW9kdWxlLmFk
ZFN1Yk11bERpdigxLCA2LCAyKSwgNCk7Ci1zaG91bGRCZShtb2R1bGUuYWRkU3ViTXVsRGl2KDIs
IDYsIDIpLCAxMik7Ci1zaG91bGRCZShtb2R1bGUuYWRkU3ViTXVsRGl2KDMsIDYsIDIpLCAzKTsK
LXNob3VsZEJlKG1vZHVsZS5hZGRTdWJNdWxEaXYoNCwgNiwgMiksIDgpOwotc2hvdWxkQmUobW9k
dWxlLmFkZFN1Yk11bERpdigxMCwgNiwgMiksIDEyKTsKLXNob3VsZEJlKG1vZHVsZS5hZGRTdWJN
dWxEaXYoLTEsIDYsIDIpLCAzKTsKLQotc2hvdWxkQmUobW9kdWxlLmNhbGxTdW0oMSwgMiksIDMp
Owotc2hvdWxkQmUobW9kdWxlLmNhbGxNYXgoMSwgMiksIDIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3Mvd2FzbS1jb21tYS5qcyBiL0pTVGVzdHMvc3RyZXNzL3dhc20tY29tbWEuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMzc2M2YuLjAwMDAwMDAKLS0tIGEvSlNUZXN0
cy9zdHJlc3Mvd2FzbS1jb21tYS5qcworKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLS8v
QCBza2lwCi0KLWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKLSAgICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6
ICcgKyBhY3R1YWwpOwotfQotCi0vKgotd2FzbS9jb21tYS53YXNtIGlzIGdlbmVyYXRlZCBieSBw
YWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvcG9seWZpbGwtcHJvdG90
eXBlLTE+IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6Ci0KLWZ1bmN0aW9uIGFzbU1vZHVsZShn
bG9iYWwsIGVudiwgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwotCi0gICAgdmFyIGcgPSAwOwot
Ci0gICAgZnVuY3Rpb24gc2V0Ryh4KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgZyA9
IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdENvbW1hMSgpIHsKLSAgICAgICAgcmV0dXJu
IDEsIDIsIDMsIDQ7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdENvbW1hMigpIHsKLSAgICAg
ICAgdmFyIHggPSAwLjA7Ci0gICAgICAgIHJldHVybiAoeCA9IHggKyAxLjApLCAoeCA9IHggKiAy
LjApLCAreDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Q29tbWEzKCkgewotICAgICAgICBy
ZXR1cm4gKGcgPSAwKSwgc2V0Ryg0MiksIChnIHwgMCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHsK
LSAgICAgICAgdGVzdENvbW1hMTogdGVzdENvbW1hMSwKLSAgICAgICAgdGVzdENvbW1hMjogdGVz
dENvbW1hMiwKLSAgICAgICAgdGVzdENvbW1hMzogdGVzdENvbW1hMywKLSAgICB9OwotfQotKi8K
LQotdmFyIG1vZHVsZSA9IGxvYWRXZWJBc3NlbWJseSgid2FzbS9jb21tYS53YXNtIik7Ci0KLXNo
b3VsZEJlKG1vZHVsZS50ZXN0Q29tbWExKCksIDQpOwotc2hvdWxkQmUobW9kdWxlLnRlc3RDb21t
YTIoKSwgMik7Ci1zaG91bGRCZShtb2R1bGUudGVzdENvbW1hMygpLCA0Mik7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3N0cmVzcy93YXNtLWNvbnRyb2wtZmxvdy5qcyBiL0pTVGVzdHMvc3RyZXNzL3dh
c20tY29udHJvbC1mbG93LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWM0OGY2
Li4wMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL3dhc20tY29udHJvbC1mbG93LmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMzI2ICswLDAgQEAKLS8vQCBza2lwCi0KLWZ1bmN0aW9uIHNob3VsZEJl
KGFjdHVhbCwgZXhwZWN0ZWQpIHsKLSAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKLSAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOwotfQotCi0vKgotd2Fz
bS9jb250cm9sLWZsb3cud2FzbSBpcyBnZW5lcmF0ZWQgYnkgcGFjay1hc21qcyA8aHR0cHM6Ly9n
aXRodWIuY29tL1dlYkFzc2VtYmx5L3BvbHlmaWxsLXByb3RvdHlwZS0xPiBmcm9tIHRoZSBmb2xs
b3dpbmcgc2NyaXB0OgotCi1mdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikg
ewotICAgICJ1c2UgYXNtIjsKLQotICAgIGZ1bmN0aW9uIGlmVHJ1ZSgpIHsKLSAgICAgICAgdmFy
IHggPSAwOwotICAgICAgICB4ID0gNTsKLSAgICAgICAgaWYgKCh4IHwgMCkgPiAwKQotICAgICAg
ICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGlmRmFsc2UoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgaWYgKCh4IHwgMCkgPiAw
KQotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGlmRWxzZVRydWUoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgeCA9
IDU7Ci0gICAgICAgIGlmICgoeCB8IDApID4gMCkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gMjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gaWZFbHNlRmFsc2UoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAg
ICAgICAgaWYgKCh4IHwgMCkgPiAwKQotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHJldHVybiAyOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBpZkluSWYoKSB7Ci0gICAgICAgIHZhciB4ID0gMCwgeSA9IDA7Ci0gICAgICAg
IHggPSAxOwotICAgICAgICBpZiAoKHggfCAwKSA9PSAwKSB7Ci0gICAgICAgICAgICBpZiAoKHkg
fCAwKSA9PSAwKQotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgIHJldHVybiAyOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
aWYgKCh5IHwgMCkgPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gMzsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gNDsKLSAgICAgICAgfQotICAgICAgICByZXR1
cm4gMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB3aGlsZUxvb3AoKSB7Ci0gICAgICAgIHZhciB4
ID0gMCwgaSA9IDA7Ci0gICAgICAgIHdoaWxlICgoaSB8IDApIDwgNSkgewotICAgICAgICAgICAg
eCA9ICh4ICsgMSkgfCAwOwotICAgICAgICAgICAgaSA9IChpICsgMSkgfCAwOwotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiB4IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB3aGlsZUJyZWFr
KCkgewotICAgICAgICB2YXIgeCA9IDAsIGkgPSAwOwotICAgICAgICB3aGlsZSAoMSkgewotICAg
ICAgICAgICAgaWYgKChpIHwgMCkgPT0gMikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIHggPSAoeCArIDEpIHwgMDsKLSAgICAgICAgICAgIGkgPSAoaSArIDEpIHwgMDsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4geCB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gd2hp
bGVDb250aW51ZSgpIHsKLSAgICAgICAgdmFyIHggPSAwLCBpID0gMDsKLSAgICAgICAgd2hpbGUg
KChpIHwgMCkgPCA1KSB7Ci0gICAgICAgICAgICBpZiAoKGkgfCAwKSA9PSAyKSB7Ci0gICAgICAg
ICAgICAgICAgaSA9IDM7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICB4ID0gKHggKyAxKSB8IDA7Ci0gICAgICAgICAgICBpID0gKGkgKyAxKSB8
IDA7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHggfCAwOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHdoaWxlSW5XaGlsZSgpIHsKLSAgICAgICAgdmFyIHggPSAwLCBpID0gMCwgaiA9IDA7Ci0g
ICAgICAgIHdoaWxlICgoaSB8IDApIDwgNSkgewotICAgICAgICAgICAgaiA9IDA7Ci0gICAgICAg
ICAgICB3aGlsZSAoKGogfCAwKSA8IDIpIHsKLSAgICAgICAgICAgICAgICB4ID0gKHggKyAxKSB8
IDA7Ci0gICAgICAgICAgICAgICAgaiA9IChqICsgMSkgfCAwOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaSA9IChpICsgMSkgfCAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB4IHwg
MDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkb0xvb3AoKSB7Ci0gICAgICAgIHZhciB4ID0gMCwg
aSA9IDA7Ci0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIHggPSAoeCArIDEpIHwgMDsKLSAgICAg
ICAgICAgIGkgPSAoaSArIDEpIHwgMDsKLSAgICAgICAgfSB3aGlsZSAoKGkgfCAwKSA8IDApOwot
ICAgICAgICByZXR1cm4geCB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZG9CcmVhaygpIHsK
LSAgICAgICAgdmFyIHggPSAwLCBpID0gMDsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgaWYg
KChpIHwgMCkgPT0gMikKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIHggPSAo
eCArIDEpIHwgMDsKLSAgICAgICAgICAgIGkgPSAoaSArIDEpIHwgMDsKLSAgICAgICAgfSB3aGls
ZSAoMSk7Ci0gICAgICAgIHJldHVybiB4IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkb0Nv
bnRpbnVlKCkgewotICAgICAgICB2YXIgeCA9IDAsIGkgPSAwOwotICAgICAgICBkbyB7Ci0gICAg
ICAgICAgICBpZiAoKGkgfCAwKSA9PSAyKSB7Ci0gICAgICAgICAgICAgICAgaSA9IDM7Ci0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB4ID0gKHgg
KyAxKSB8IDA7Ci0gICAgICAgICAgICBpID0gKGkgKyAxKSB8IDA7Ci0gICAgICAgIH0gd2hpbGUg
KChpIHwgMCkgPCA1KTsKLSAgICAgICAgcmV0dXJuIHggfCAwOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGxhYmVsQnJlYWsoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgbGFiZWw6IGRv
IHsKLSAgICAgICAgICAgIHggPSAxOwotICAgICAgICAgICAgYnJlYWsgbGFiZWw7Ci0gICAgICAg
ICAgICB4ID0gMjsKLSAgICAgICAgfSB3aGlsZSAoMCk7Ci0gICAgICAgIHJldHVybiB4IHwgMDsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBsYWJlbENvbnRpbnVlKCkgewotICAgICAgICB2YXIgeCA9
IDA7Ci0gICAgICAgIGxhYmVsOiBkbyB7Ci0gICAgICAgICAgICBpZiAoKHggfCAwKSA9PSAxKQot
ICAgICAgICAgICAgICAgIGJyZWFrIGxhYmVsOwotICAgICAgICAgICAgeCA9IDE7Ci0gICAgICAg
ICAgICBjb250aW51ZSBsYWJlbDsKLSAgICAgICAgICAgIHggPSAyOwotICAgICAgICB9IHdoaWxl
ICgwKTsKLSAgICAgICAgcmV0dXJuIHggfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxhYmVs
SW5MYWJlbEJyZWFrSW5uZXIoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgb3V0ZXI6
IGRvIHsKLSAgICAgICAgICAgIHggPSAxOwotICAgICAgICAgICAgaW5uZXI6IGRvIHsKLSAgICAg
ICAgICAgICAgICB4ID0gMjsKLSAgICAgICAgICAgICAgICBicmVhayBpbm5lcjsKLSAgICAgICAg
ICAgICAgICB4ID0gMzsKLSAgICAgICAgICAgIH0gd2hpbGUgKDApOwotICAgICAgICAgICAgeCA9
IDQ7Ci0gICAgICAgIH0gd2hpbGUgKDApOwotICAgICAgICByZXR1cm4geCB8IDA7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gbGFiZWxJbkxhYmVsQnJlYWtPdXRlcigpIHsKLSAgICAgICAgdmFyIHgg
PSAwOwotICAgICAgICBvdXRlcjogZG8gewotICAgICAgICAgICAgeCA9IDE7Ci0gICAgICAgICAg
ICBpbm5lcjogZG8gewotICAgICAgICAgICAgICAgIHggPSAyOwotICAgICAgICAgICAgICAgIGJy
ZWFrIG91dGVyOwotICAgICAgICAgICAgICAgIHggPSAzOwotICAgICAgICAgICAgfSB3aGlsZSAo
MCk7Ci0gICAgICAgICAgICB4ID0gNDsKLSAgICAgICAgfSB3aGlsZSAoMCk7Ci0gICAgICAgIHJl
dHVybiB4IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB3aGlsZUluV2hpbGVCcmVha091dGVy
KCkgewotICAgICAgICB2YXIgeCA9IDAsIGkgPSAwLCBqID0gMDsKLSAgICAgICAgbGFiZWw6Ci0g
ICAgICAgIHdoaWxlICgoaSB8IDApIDwgNSkgewotICAgICAgICAgICAgaiA9IDA7Ci0gICAgICAg
ICAgICB3aGlsZSAoKGogfCAwKSA8IDIpIHsKLSAgICAgICAgICAgICAgICB4ID0gKHggKyAxKSB8
IDA7Ci0gICAgICAgICAgICAgICAgaWYgKCh4IHwgMCkgPT0gOCkKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWsgbGFiZWw7Ci0gICAgICAgICAgICAgICAgaiA9IChqICsgMSkgfCAwOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaSA9IChpICsgMSkgfCAwOwotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiB4IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzd2l0Y2hDYXNlKHgpIHsKLSAg
ICAgICAgeCA9IHggfCAwOwotICAgICAgICB2YXIgeSA9IDA7Ci0gICAgICAgIHN3aXRjaCAoeCB8
IDApIHsKLSAgICAgICAgY2FzZSAwOgotICAgICAgICAgICAgeSA9IDE7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgeSA9IDI7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgeSA9IDM7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4geSB8IDA7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3dpdGNoRmFsbFRocm91Z2goeCkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAg
IHZhciB5ID0gMDsKLSAgICAgICAgc3dpdGNoICh4IHwgMCkgewotICAgICAgICBjYXNlIDM6Ci0g
ICAgICAgICAgICB5ID0gKHkgKyAxMDAwKSB8IDA7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAg
ICAgIHkgPSAoeSArIDEwMCkgfCAwOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICB5ID0g
KHkgKyAxMCkgfCAwOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgeSA9ICh5ICsgMSkg
fCAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB5IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBjb25kaXRpb25hbFRydWUoKSB7Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgeCA9
IDU7Ci0gICAgICAgIHJldHVybiAoKCh4IHwgMCkgPiAwKSA/IDEgOiAyKSB8IDA7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gY29uZGl0aW9uYWxGYWxzZSgpIHsKLSAgICAgICAgdmFyIHggPSAwOwot
ICAgICAgICByZXR1cm4gKCh4IHwgMCkgPiAwKSA/IDEuMCA6IDIuMDsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBjb25kaXRpb25hbEZhbHNlMigpIHsKLSAgICAgICAgdmFyIHggPSAwLCB5ID0gMDsK
LSAgICAgICAgcmV0dXJuICgoKHggfCAwKSA+IDApID8gKHkgPSAoeSArIDEpIHwgMCkgOiAoeSA9
ICh5ICsgMikgfCAwKSkgfCAwOwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICAgIGlmVHJ1
ZTogaWZUcnVlLAotICAgICAgICBpZkZhbHNlOiBpZkZhbHNlLAotICAgICAgICBpZkVsc2VUcnVl
OiBpZkVsc2VUcnVlLAotICAgICAgICBpZkVsc2VGYWxzZTogaWZFbHNlRmFsc2UsCi0gICAgICAg
IGlmSW5JZjogaWZJbklmLAotCi0gICAgICAgIHdoaWxlTG9vcDogd2hpbGVMb29wLAotICAgICAg
ICB3aGlsZUJyZWFrOiB3aGlsZUJyZWFrLAotICAgICAgICB3aGlsZUNvbnRpbnVlOiB3aGlsZUNv
bnRpbnVlLAotICAgICAgICB3aGlsZUluV2hpbGU6IHdoaWxlSW5XaGlsZSwKLQotICAgICAgICBk
b0xvb3A6IGRvTG9vcCwKLSAgICAgICAgZG9CcmVhazogZG9CcmVhaywKLSAgICAgICAgZG9Db250
aW51ZTogZG9Db250aW51ZSwKLQotICAgICAgICBsYWJlbEJyZWFrOiBsYWJlbEJyZWFrLAotICAg
ICAgICBsYWJlbENvbnRpbnVlOiBsYWJlbENvbnRpbnVlLAotICAgICAgICBsYWJlbEluTGFiZWxC
cmVha0lubmVyOiBsYWJlbEluTGFiZWxCcmVha0lubmVyLAotICAgICAgICBsYWJlbEluTGFiZWxC
cmVha091dGVyOiBsYWJlbEluTGFiZWxCcmVha091dGVyLAotICAgICAgICB3aGlsZUluV2hpbGVC
cmVha091dGVyOiB3aGlsZUluV2hpbGVCcmVha091dGVyLAotCi0gICAgICAgIHN3aXRjaENhc2U6
IHN3aXRjaENhc2UsCi0gICAgICAgIHN3aXRjaEZhbGxUaHJvdWdoOiBzd2l0Y2hGYWxsVGhyb3Vn
aCwKLQotICAgICAgICBjb25kaXRpb25hbFRydWU6IGNvbmRpdGlvbmFsVHJ1ZSwKLSAgICAgICAg
Y29uZGl0aW9uYWxGYWxzZTogY29uZGl0aW9uYWxGYWxzZSwKLSAgICAgICAgY29uZGl0aW9uYWxG
YWxzZTI6IGNvbmRpdGlvbmFsRmFsc2UyLAotICAgIH07Ci19Ci0qLwotCi12YXIgbW9kdWxlID0g
bG9hZFdlYkFzc2VtYmx5KCJ3YXNtL2NvbnRyb2wtZmxvdy53YXNtIik7Ci0KLXNob3VsZEJlKG1v
ZHVsZS5pZlRydWUoKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuaWZGYWxzZSgpLCAwKTsKLXNob3Vs
ZEJlKG1vZHVsZS5pZkVsc2VUcnVlKCksIDEpOwotc2hvdWxkQmUobW9kdWxlLmlmRWxzZUZhbHNl
KCksIDIpOwotc2hvdWxkQmUobW9kdWxlLmlmSW5JZigpLCAzKTsKLQotc2hvdWxkQmUobW9kdWxl
LndoaWxlTG9vcCgpLCA1KTsKLXNob3VsZEJlKG1vZHVsZS53aGlsZUJyZWFrKCksIDIpOwotc2hv
dWxkQmUobW9kdWxlLndoaWxlQ29udGludWUoKSwgNCk7Ci1zaG91bGRCZShtb2R1bGUud2hpbGVJ
bldoaWxlKCksIDEwKTsKLQotc2hvdWxkQmUobW9kdWxlLmRvTG9vcCgpLCAxKTsKLXNob3VsZEJl
KG1vZHVsZS5kb0JyZWFrKCksIDIpOwotc2hvdWxkQmUobW9kdWxlLmRvQ29udGludWUoKSwgNCk7
Ci0KLXNob3VsZEJlKG1vZHVsZS5sYWJlbEJyZWFrKCksIDEpOwotc2hvdWxkQmUobW9kdWxlLmxh
YmVsQ29udGludWUoKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUubGFiZWxJbkxhYmVsQnJlYWtJbm5l
cigpLCA0KTsKLXNob3VsZEJlKG1vZHVsZS5sYWJlbEluTGFiZWxCcmVha091dGVyKCksIDIpOwot
c2hvdWxkQmUobW9kdWxlLndoaWxlSW5XaGlsZUJyZWFrT3V0ZXIoKSwgOCk7Ci0KLXNob3VsZEJl
KG1vZHVsZS5zd2l0Y2hDYXNlKDApLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5zd2l0Y2hDYXNlKDEp
LCAyKTsKLXNob3VsZEJlKG1vZHVsZS5zd2l0Y2hDYXNlKDIpLCAzKTsKLXNob3VsZEJlKG1vZHVs
ZS5zd2l0Y2hDYXNlKDMpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5zd2l0Y2hGYWxsVGhyb3VnaCgw
KSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuc3dpdGNoRmFsbFRocm91Z2goMSksIDExKTsKLXNob3Vs
ZEJlKG1vZHVsZS5zd2l0Y2hGYWxsVGhyb3VnaCgyKSwgMTExKTsKLXNob3VsZEJlKG1vZHVsZS5z
d2l0Y2hGYWxsVGhyb3VnaCgzKSwgMTExMSk7Ci1zaG91bGRCZShtb2R1bGUuc3dpdGNoRmFsbFRo
cm91Z2goNCksIDEpOwotCi1zaG91bGRCZShtb2R1bGUuY29uZGl0aW9uYWxUcnVlKCksIDEpOwot
c2hvdWxkQmUobW9kdWxlLmNvbmRpdGlvbmFsRmFsc2UoKSwgMik7Ci1zaG91bGRCZShtb2R1bGUu
Y29uZGl0aW9uYWxGYWxzZTIoKSwgMik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNt
LWdsb2JhbHMuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWdsb2JhbHMuanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE2OWYyNmQuLjAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3Mv
d2FzbS1nbG9iYWxzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTMxICswLDAgQEAKLS8vQCBza2lw
Ci0KLWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKLSAgICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBh
Y3R1YWwpOwotfQotCi0vKgotd2FzbS9nbG9iYWxzLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2st
YXNtanMgPGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUt
MT4gZnJvbSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2Jh
bCwgaW1wb3J0cywgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwotCi0gICAgdmFyIGZyb3VuZCA9
IGdsb2JhbC5NYXRoLmZyb3VuZDsKLSAgICB2YXIgYSA9IGltcG9ydHMuYSB8IDA7Ci0gICAgdmFy
IGIgPSBmcm91bmQoaW1wb3J0cy5iKTsKLSAgICB2YXIgYyA9ICtpbXBvcnRzLmM7Ci0gICAgdmFy
IHggPSAwOwotICAgIHZhciB5ID0gZnJvdW5kKDApOwotICAgIHZhciB6ID0gMC4wOwotCi0gICAg
ZnVuY3Rpb24gZ2V0QSgpIHsKLSAgICAgICAgcmV0dXJuIGEgfCAwOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGdldEIoKSB7Ci0gICAgICAgIHJldHVybiBiOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGdldEMoKSB7Ci0gICAgICAgIHJldHVybiBjOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGdldFgo
KSB7Ci0gICAgICAgIHJldHVybiB4IHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRZKCkg
ewotICAgICAgICByZXR1cm4geTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRaKCkgewotICAg
ICAgICByZXR1cm4gejsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRYKG5ld1gpIHsKLSAgICAg
ICAgbmV3WCA9IG5ld1ggfCAwOwotICAgICAgICB4ID0gbmV3WDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzZXRZKG5ld1kpIHsKLSAgICAgICAgbmV3WSA9IGZyb3VuZChuZXdZKTsKLSAgICAgICAg
eSA9IG5ld1k7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0WihuZXdaKSB7Ci0gICAgICAgIG5l
d1ogPSArbmV3WjsKLSAgICAgICAgeiA9IG5ld1o7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0
WEV4cHJlc3Npb24obmV3WCkgewotICAgICAgICBuZXdYID0gbmV3WCB8IDA7Ci0gICAgICAgIHJl
dHVybiAoeCA9IG5ld1gpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRZRXhwcmVzc2lv
bihuZXdZKSB7Ci0gICAgICAgIG5ld1kgPSBmcm91bmQobmV3WSk7Ci0gICAgICAgIHJldHVybiB5
ID0gbmV3WTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRaRXhwcmVzc2lvbihuZXdaKSB7Ci0g
ICAgICAgIG5ld1ogPSArbmV3WjsKLSAgICAgICAgcmV0dXJuIHogPSBuZXdaOwotICAgIH0KLQot
ICAgIHJldHVybiB7Ci0gICAgICAgIGdldEE6IGdldEEsCi0gICAgICAgIGdldEI6IGdldEIsCi0g
ICAgICAgIGdldEM6IGdldEMsCi0gICAgICAgIGdldFg6IGdldFgsCi0gICAgICAgIGdldFk6IGdl
dFksCi0gICAgICAgIGdldFo6IGdldFosCi0gICAgICAgIHNldFg6IHNldFgsCi0gICAgICAgIHNl
dFk6IHNldFksCi0gICAgICAgIHNldFo6IHNldFosCi0gICAgICAgIHNldFhFeHByZXNzaW9uOiBz
ZXRYRXhwcmVzc2lvbiwKLSAgICAgICAgc2V0WUV4cHJlc3Npb246IHNldFlFeHByZXNzaW9uLAot
ICAgICAgICBzZXRaRXhwcmVzc2lvbjogc2V0WkV4cHJlc3Npb24sCi0gICAgfTsKLX0KLSovCi0K
LXZhciBpbXBvcnRzID0gewotICAgIGE6IDQyLAotICAgIGI6IDQuMiwKLSAgICBjOiA0LjIsCi19
OwotdmFyIG1vZHVsZSA9IGxvYWRXZWJBc3NlbWJseSgid2FzbS9nbG9iYWxzLndhc20iLCBpbXBv
cnRzKTsKLQotc2hvdWxkQmUobW9kdWxlLmdldEEoKSwgNDIpOwotc2hvdWxkQmUobW9kdWxlLmdl
dEIoKSwgNC4xOTk5OTk4MDkyNjUxMzcpOwotc2hvdWxkQmUobW9kdWxlLmdldEMoKSwgNC4yKTsK
LQotc2hvdWxkQmUobW9kdWxlLmdldFgoKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0WSgpLCAw
KTsKLXNob3VsZEJlKG1vZHVsZS5nZXRaKCksIDApOwotCi1tb2R1bGUuc2V0WCgxKTsKLQotc2hv
dWxkQmUobW9kdWxlLmdldFgoKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0WSgpLCAwKTsKLXNo
b3VsZEJlKG1vZHVsZS5nZXRaKCksIDApOwotCi1tb2R1bGUuc2V0WSgwLjEpOwotCi1zaG91bGRC
ZShtb2R1bGUuZ2V0WCgpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5nZXRZKCksIDAuMTAwMDAwMDAx
NDkwMTE2MTIpOwotc2hvdWxkQmUobW9kdWxlLmdldFooKSwgMCk7Ci0KLW1vZHVsZS5zZXRaKDAu
MSk7Ci0KLXNob3VsZEJlKG1vZHVsZS5nZXRYKCksIDEpOwotc2hvdWxkQmUobW9kdWxlLmdldFko
KSwgMC4xMDAwMDAwMDE0OTAxMTYxMik7Ci1zaG91bGRCZShtb2R1bGUuZ2V0WigpLCAwLjEpOwot
Ci1zaG91bGRCZShtb2R1bGUuc2V0WEV4cHJlc3Npb24oMiksIDIpOwotc2hvdWxkQmUobW9kdWxl
LmdldFgoKSwgMik7Ci1zaG91bGRCZShtb2R1bGUuc2V0WUV4cHJlc3Npb24oMC4yKSwgMC4yMDAw
MDAwMDI5ODAyMzIyNCk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0WSgpLCAwLjIwMDAwMDAwMjk4MDIz
MjI0KTsKLXNob3VsZEJlKG1vZHVsZS5zZXRaRXhwcmVzc2lvbigwLjIpLCAwLjIpOwotc2hvdWxk
QmUobW9kdWxlLmdldFooKSwgMC4yKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3dhc20t
bGluZWFyLW1lbW9yeS5qcyBiL0pTVGVzdHMvc3RyZXNzL3dhc20tbGluZWFyLW1lbW9yeS5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDA5NjY1ZC4uMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEg
KzAsMCBAQAotLy9AIHNraXAKLQotZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkg
ewotICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Ci19Ci0KLWZ1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMs
IG1lc3NhZ2UpIHsKLSAgICB2YXIgZXJyb3IgPSBudWxsOwotICAgIHRyeSB7Ci0gICAgICAgIGZ1
bmMoKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGVycm9yID0gZTsKLSAgICB9Ci0gICAg
aWYgKCFlcnJvcikKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJub3QgdGhyb3duLiIpOwotICAg
IGlmIChTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdlKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
ImJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikpOwotfQotCi0vKgotd2FzbS9saW5lYXItbWVt
b3J5Lndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMgPGh0dHBzOi8vZ2l0aHViLmNvbS9X
ZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJvbSB0aGUgZm9sbG93aW5nIHNjcmlw
dDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7Ci0gICAg
InVzZSBhc20iOwotCi0gICAgdmFyIGZyb3VuZCA9IGdsb2JhbC5NYXRoLmZyb3VuZDsKLSAgICB2
YXIgaW50OEFycmF5ID0gbmV3IGdsb2JhbC5JbnQ4QXJyYXkoYnVmZmVyKTsKLSAgICB2YXIgdWlu
dDhBcnJheSA9IG5ldyBnbG9iYWwuVWludDhBcnJheShidWZmZXIpOwotICAgIHZhciBpbnQxNkFy
cmF5ID0gbmV3IGdsb2JhbC5JbnQxNkFycmF5KGJ1ZmZlcik7Ci0gICAgdmFyIHVpbnQxNkFycmF5
ID0gbmV3IGdsb2JhbC5VaW50MTZBcnJheShidWZmZXIpOwotICAgIHZhciBpbnQzMkFycmF5ID0g
bmV3IGdsb2JhbC5JbnQzMkFycmF5KGJ1ZmZlcik7Ci0gICAgdmFyIGZsb2F0MzJBcnJheSA9IG5l
dyBnbG9iYWwuRmxvYXQzMkFycmF5KGJ1ZmZlcik7Ci0gICAgdmFyIGZsb2F0NjRBcnJheSA9IG5l
dyBnbG9iYWwuRmxvYXQ2NEFycmF5KGJ1ZmZlcik7Ci0KLSAgICBmdW5jdGlvbiBnZXRJbnQ4KGkp
IHsKLSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICByZXR1cm4gaW50OEFycmF5W2ldIHwgMDsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRVaW50OChpKSB7Ci0gICAgICAgIGkgPSBpIHwgMDsK
LSAgICAgICAgcmV0dXJuIHVpbnQ4QXJyYXlbaV0gfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGdldEludDE2KGkpIHsKLSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICByZXR1cm4gaW50MTZB
cnJheVtpID4+IDFdIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRVaW50MTYoaSkgewot
ICAgICAgICBpID0gaSB8IDA7Ci0gICAgICAgIHJldHVybiB1aW50MTZBcnJheVtpID4+IDFdIHwg
MDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBnZXRJbnQzMihpKSB7Ci0gICAgICAgIGkgPSBpIHwg
MDsKLSAgICAgICAgcmV0dXJuIGludDMyQXJyYXlbaSA+PiAyXSB8IDA7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZ2V0RmxvYXQzMihpKSB7Ci0gICAgICAgIGkgPSBpIHwgMDsKLSAgICAgICAgcmV0
dXJuIGZyb3VuZChmbG9hdDMyQXJyYXlbaSA+PiAyXSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
Z2V0RmxvYXQ2NChpKSB7Ci0gICAgICAgIGkgPSBpIHwgMDsKLSAgICAgICAgcmV0dXJuICtmbG9h
dDY0QXJyYXlbaSA+PiAzXTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRJbnQ4KGksIHgpIHsK
LSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIGludDhBcnJh
eVtpXSA9IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VWludDgoaSwgeCkgewotICAgICAg
ICBpID0gaSB8IDA7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgdWludDhBcnJheVtpXSA9
IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0SW50MTYoaSwgeCkgewotICAgICAgICBpID0g
aSB8IDA7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgaW50MTZBcnJheVtpID4+IDFdID0g
eDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRVaW50MTYoaSwgeCkgewotICAgICAgICBpID0g
aSB8IDA7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgdWludDE2QXJyYXlbaSA+PiAxXSA9
IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0SW50MzIoaSwgeCkgewotICAgICAgICBpID0g
aSB8IDA7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgaW50MzJBcnJheVtpID4+IDJdID0g
eDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRGbG9hdDMyKGksIHgpIHsKLSAgICAgICAgaSA9
IGkgfCAwOwotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICBmbG9hdDMyQXJyYXlbaSA+
PiAyXSA9IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0RmxvYXQ2NChpLCB4KSB7Ci0gICAg
ICAgIGkgPSBpIHwgMDsKLSAgICAgICAgeCA9ICt4OwotICAgICAgICBmbG9hdDY0QXJyYXlbaSA+
PiAzXSA9IHg7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0SW50OEV4cHJlc3Npb24oaSwgeCkg
ewotICAgICAgICBpID0gaSB8IDA7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgcmV0dXJu
IChpbnQ4QXJyYXlbaV0gPSB4KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VWludDhF
eHByZXNzaW9uKGksIHgpIHsKLSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICB4ID0geCB8IDA7
Ci0gICAgICAgIHJldHVybiAodWludDhBcnJheVtpXSA9IHgpIHwgMDsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzZXRJbnQxNkV4cHJlc3Npb24oaSwgeCkgewotICAgICAgICBpID0gaSB8IDA7Ci0g
ICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgcmV0dXJuIChpbnQxNkFycmF5W2kgPj4gMV0gPSB4
KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0VWludDE2RXhwcmVzc2lvbihpLCB4KSB7
Ci0gICAgICAgIGkgPSBpIHwgMDsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICByZXR1cm4g
KHVpbnQxNkFycmF5W2kgPj4gMV0gPSB4KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0
SW50MzJFeHByZXNzaW9uKGksIHgpIHsKLSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICB4ID0g
eCB8IDA7Ci0gICAgICAgIHJldHVybiAoaW50MzJBcnJheVtpID4+IDJdID0geCkgfCAwOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHNldEZsb2F0MzJFeHByZXNzaW9uKGksIHgpIHsKLSAgICAgICAg
aSA9IGkgfCAwOwotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICByZXR1cm4gZmxvYXQz
MkFycmF5W2kgPj4gMl0gPSB4OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNldEZsb2F0NjRFeHBy
ZXNzaW9uKGksIHgpIHsKLSAgICAgICAgaSA9IGkgfCAwOwotICAgICAgICB4ID0gK3g7Ci0gICAg
ICAgIHJldHVybiBmbG9hdDY0QXJyYXlbaSA+PiAzXSA9IHg7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHsKLSAgICAgICAgZ2V0SW50ODogZ2V0SW50OCwKLSAgICAgICAgZ2V0VWludDg6IGdldFVpbnQ4
LAotICAgICAgICBnZXRJbnQxNjogZ2V0SW50MTYsCi0gICAgICAgIGdldFVpbnQxNjogZ2V0VWlu
dDE2LAotICAgICAgICBnZXRJbnQzMjogZ2V0SW50MzIsCi0gICAgICAgIGdldEZsb2F0MzI6IGdl
dEZsb2F0MzIsCi0gICAgICAgIGdldEZsb2F0NjQ6IGdldEZsb2F0NjQsCi0KLSAgICAgICAgc2V0
SW50ODogc2V0SW50OCwKLSAgICAgICAgc2V0VWludDg6IHNldFVpbnQ4LAotICAgICAgICBzZXRJ
bnQxNjogc2V0SW50MTYsCi0gICAgICAgIHNldFVpbnQxNjogc2V0VWludDE2LAotICAgICAgICBz
ZXRJbnQzMjogc2V0SW50MzIsCi0gICAgICAgIHNldEZsb2F0MzI6IHNldEZsb2F0MzIsCi0gICAg
ICAgIHNldEZsb2F0NjQ6IHNldEZsb2F0NjQsCi0KLSAgICAgICAgc2V0SW50OEV4cHJlc3Npb246
IHNldEludDhFeHByZXNzaW9uLAotICAgICAgICBzZXRVaW50OEV4cHJlc3Npb246IHNldFVpbnQ4
RXhwcmVzc2lvbiwKLSAgICAgICAgc2V0SW50MTZFeHByZXNzaW9uOiBzZXRJbnQxNkV4cHJlc3Np
b24sCi0gICAgICAgIHNldFVpbnQxNkV4cHJlc3Npb246IHNldFVpbnQxNkV4cHJlc3Npb24sCi0g
ICAgICAgIHNldEludDMyRXhwcmVzc2lvbjogc2V0SW50MzJFeHByZXNzaW9uLAotICAgICAgICBz
ZXRGbG9hdDMyRXhwcmVzc2lvbjogc2V0RmxvYXQzMkV4cHJlc3Npb24sCi0gICAgICAgIHNldEZs
b2F0NjRFeHByZXNzaW9uOiBzZXRGbG9hdDY0RXhwcmVzc2lvbiwKLSAgICB9OwotfQotKi8KLQot
dmFyIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcigxNik7Ci12YXIgbW9kdWxlID0gbG9hZFdlYkFz
c2VtYmx5KCJ3YXNtL2xpbmVhci1tZW1vcnkud2FzbSIsIHsgfSwgYnVmZmVyKTsKLQotdmFyIGlu
dDMyQXJyYXkgPSBuZXcgSW50MzJBcnJheShidWZmZXIpOwotCi0vLyBCYXNpYyBnZXRzIGFuZCBz
ZXRzLgotbW9kdWxlLnNldEludDgoMCwgMSk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0SW50OCgwKSwg
MSk7Ci1tb2R1bGUuc2V0VWludDgoMCwgMik7Ci1zaG91bGRCZShtb2R1bGUuZ2V0VWludDgoMCks
IDIpOwotbW9kdWxlLnNldEludDE2KDAsIDMpOwotc2hvdWxkQmUobW9kdWxlLmdldEludDE2KDAp
LCAzKTsKLW1vZHVsZS5zZXRVaW50MTYoMCwgNCk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0VWludDE2
KDApLCA0KTsKLW1vZHVsZS5zZXRJbnQzMigwLCA1KTsKLXNob3VsZEJlKG1vZHVsZS5nZXRJbnQz
MigwKSwgNSk7Ci1tb2R1bGUuc2V0RmxvYXQzMigwLCA2LjcpOwotc2hvdWxkQmUobW9kdWxlLmdl
dEZsb2F0MzIoMCksIDYuNjk5OTk5ODA5MjY1MTM3KTsKLW1vZHVsZS5zZXRGbG9hdDY0KDAsIDgu
OSk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0RmxvYXQ2NCgwKSwgOC45KTsKLQotaW50MzJBcnJheVsw
XSA9IDB4MDBGRkZGMDA7Ci1zaG91bGRCZShtb2R1bGUuZ2V0VWludDgoMCksIDApOwotc2hvdWxk
QmUobW9kdWxlLmdldFVpbnQ4KDEpLCAyNTUpOwotc2hvdWxkQmUobW9kdWxlLmdldFVpbnQ4KDIp
LCAyNTUpOwotc2hvdWxkQmUobW9kdWxlLmdldFVpbnQ4KDMpLCAwKTsKLQotLy8gVHlwZSBwdW5u
aW5nLgotbW9kdWxlLnNldEludDgoMCwgLTEpOwotc2hvdWxkQmUobW9kdWxlLmdldEludDgoMCks
IC0xKTsKLXNob3VsZEJlKG1vZHVsZS5nZXRVaW50OCgwKSwgMjU1KTsKLQotbW9kdWxlLnNldElu
dDgoMSwgLTEpOwotc2hvdWxkQmUobW9kdWxlLmdldEludDgoMSksIC0xKTsKLXNob3VsZEJlKG1v
ZHVsZS5nZXRVaW50OCgxKSwgMjU1KTsKLXNob3VsZEJlKG1vZHVsZS5nZXRJbnQxNigwKSwgLTEp
Owotc2hvdWxkQmUobW9kdWxlLmdldFVpbnQxNigwKSwgNjU1MzUpOwotCi0vLyBPdXQtb2YtYm91
bmQgYWNjZXNzZXMuCi1tb2R1bGUuZ2V0SW50OCgxNSk7Ci1zaG91bGRUaHJvdygoKSA9PiB7Ci0g
ICAgbW9kdWxlLmdldEludDgoMTYpOwotfSwgIkVycm9yOiBPdXQtb2YtYm91bmRzIGFjY2Vzcy4i
KTsKLXNob3VsZFRocm93KCgpID0+IHsKLSAgICBtb2R1bGUuZ2V0SW50OCgtMSk7Ci19LCAiRXJy
b3I6IE91dC1vZi1ib3VuZHMgYWNjZXNzLiIpOwotCi0vLyBVbmFsaWduZWQgYWNjZXNzZXMKLWlu
dDMyQXJyYXlbMF0gPSAwOwotaW50MzJBcnJheVsxXSA9IDB4MDEyMzQ1Njc7Ci1pbnQzMkFycmF5
WzJdID0gMDsKLXNob3VsZEJlKG1vZHVsZS5nZXRJbnQzMigzKSwgMCk7Ci1zaG91bGRCZShtb2R1
bGUuZ2V0SW50MzIoNCksIDB4MDEyMzQ1NjcpOwotc2hvdWxkQmUobW9kdWxlLmdldEludDMyKDUp
LCAweDAxMjM0NTY3KTsKLXNob3VsZEJlKG1vZHVsZS5nZXRJbnQzMig2KSwgMHgwMTIzNDU2Nyk7
Ci1zaG91bGRCZShtb2R1bGUuZ2V0SW50MzIoNyksIDB4MDEyMzQ1NjcpOwotc2hvdWxkQmUobW9k
dWxlLmdldEludDMyKDgpLCAwKTsKLQotaW50MzJBcnJheVswXSA9IDA7Ci1pbnQzMkFycmF5WzFd
ID0gMDsKLWludDMyQXJyYXlbMl0gPSAwOwotbW9kdWxlLnNldEludDMyKDMsIDEpOwotc2hvdWxk
QmUoaW50MzJBcnJheVswXSA9PSAxICYmIGludDMyQXJyYXlbMV0gPT0gMCAmJiBpbnQzMkFycmF5
WzJdID09IDAsIHRydWUpOwotbW9kdWxlLnNldEludDMyKDQsIDIpOwotc2hvdWxkQmUoaW50MzJB
cnJheVswXSA9PSAxICYmIGludDMyQXJyYXlbMV0gPT0gMiAmJiBpbnQzMkFycmF5WzJdID09IDAs
IHRydWUpOwotbW9kdWxlLnNldEludDMyKDUsIDMpOwotc2hvdWxkQmUoaW50MzJBcnJheVswXSA9
PSAxICYmIGludDMyQXJyYXlbMV0gPT0gMyAmJiBpbnQzMkFycmF5WzJdID09IDAsIHRydWUpOwot
bW9kdWxlLnNldEludDMyKDYsIDQpOwotc2hvdWxkQmUoaW50MzJBcnJheVswXSA9PSAxICYmIGlu
dDMyQXJyYXlbMV0gPT0gNCAmJiBpbnQzMkFycmF5WzJdID09IDAsIHRydWUpOwotbW9kdWxlLnNl
dEludDMyKDcsIDUpOwotc2hvdWxkQmUoaW50MzJBcnJheVswXSA9PSAxICYmIGludDMyQXJyYXlb
MV0gPT0gNSAmJiBpbnQzMkFycmF5WzJdID09IDAsIHRydWUpOwotbW9kdWxlLnNldEludDMyKDgs
IDYpOwotc2hvdWxkQmUoaW50MzJBcnJheVswXSA9PSAxICYmIGludDMyQXJyYXlbMV0gPT0gNSAm
JiBpbnQzMkFycmF5WzJdID09IDYsIHRydWUpOwotCi0vLyBTdG9yZSBleHByZXNzaW9ucy4KLXNo
b3VsZEJlKG1vZHVsZS5zZXRJbnQ4RXhwcmVzc2lvbigwLCAxKSwgMSk7Ci1zaG91bGRCZShtb2R1
bGUuZ2V0SW50OCgwKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuc2V0VWludDhFeHByZXNzaW9uKDAs
IC0xKSwgLTEpOwotc2hvdWxkQmUobW9kdWxlLmdldFVpbnQ4KDApLCAyNTUpOwotc2hvdWxkQmUo
bW9kdWxlLnNldEludDE2RXhwcmVzc2lvbigwLCAyKSwgMik7Ci1zaG91bGRCZShtb2R1bGUuZ2V0
SW50MTYoMCksIDIpOwotc2hvdWxkQmUobW9kdWxlLnNldFVpbnQxNkV4cHJlc3Npb24oMCwgLTEp
LCAtMSk7Ci1zaG91bGRCZShtb2R1bGUuZ2V0VWludDE2KDApLCA2NTUzNSk7Ci1zaG91bGRCZSht
b2R1bGUuc2V0SW50MzJFeHByZXNzaW9uKDAsIDMpLCAzKTsKLXNob3VsZEJlKG1vZHVsZS5nZXRJ
bnQzMigwKSwgMyk7Ci1zaG91bGRCZShtb2R1bGUuc2V0RmxvYXQzMkV4cHJlc3Npb24oMCwgNC4y
KSwgNC4xOTk5OTk4MDkyNjUxMzcpOwotc2hvdWxkQmUobW9kdWxlLmdldEZsb2F0MzIoMCksIDQu
MTk5OTk5ODA5MjY1MTM3KTsKLXNob3VsZEJlKG1vZHVsZS5zZXRGbG9hdDY0RXhwcmVzc2lvbigw
LCA0LjIpLCA0LjIpOwotc2hvdWxkQmUobW9kdWxlLmdldEZsb2F0NjQoMCksIDQuMik7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvY2Fscy5qcyBiL0pTVGVzdHMvc3RyZXNzL3dh
c20tbG9jYWxzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2UwODcwLi4wMDAw
MDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL3dhc20tbG9jYWxzLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNjIgKzAsMCBAQAotLy9AIHNraXAKLQotZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBl
Y3RlZCkgewotICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Ci19Ci0KLS8qCi13YXNtL2xvY2Fscy53YXNt
IGlzIGdlbmVyYXRlZCBieSBwYWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1i
bHkvcG9seWZpbGwtcHJvdG90eXBlLTE+IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6Ci0KLWZ1
bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwot
Ci0gICAgZnVuY3Rpb24gc3VtKHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5
ID0geSB8IDA7Ci0gICAgICAgIHZhciByZXN1bHQgPSAwOwotICAgICAgICByZXN1bHQgPSAoeCAr
IHkpIHwgMDsKLSAgICAgICAgcmV0dXJuIHJlc3VsdCB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gYWRkMSh4KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgcmV0dXJuICh4ICsgMSkg
fCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RTZXRMb2NhbEV4cHJlc3Npb24xKCkgewot
ICAgICAgICB2YXIgeCA9IDA7Ci0gICAgICAgIHJldHVybiAoeCA9IDIpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHRlc3RTZXRMb2NhbEV4cHJlc3Npb24yKCkgewotICAgICAgICB2YXIgeCA9IDA7
Ci0gICAgICAgIHggPSAxOwotICAgICAgICByZXR1cm4gKHggKyAoKCh4ID0gMykgKyB4KSB8IDAp
KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdFNldExvY2FsRXhwcmVzc2lvbjMoKSB7
Ci0gICAgICAgIHZhciB4ID0gMDsKLSAgICAgICAgeCA9IDE7Ci0gICAgICAgIHJldHVybiAoeCAr
ICgoKHggPSAoKHggKyAxKSB8IDApKSArIHgpIHwgMCkpIHwgMDsKLSAgICB9Ci0KLSAgICByZXR1
cm4gewotICAgICAgICBzdW06IHN1bSwKLSAgICAgICAgYWRkMTogYWRkMSwKLQotICAgICAgICB0
ZXN0U2V0TG9jYWxFeHByZXNzaW9uMTogdGVzdFNldExvY2FsRXhwcmVzc2lvbjEsCi0gICAgICAg
IHRlc3RTZXRMb2NhbEV4cHJlc3Npb24yOiB0ZXN0U2V0TG9jYWxFeHByZXNzaW9uMiwKLSAgICAg
ICAgdGVzdFNldExvY2FsRXhwcmVzc2lvbjM6IHRlc3RTZXRMb2NhbEV4cHJlc3Npb24zLAotICAg
IH07Ci19Ci0qLwotCi12YXIgbW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3YXNtL2xvY2Fscy53
YXNtIik7Ci0KLXNob3VsZEJlKG1vZHVsZS5zdW0oMTIsIDMwKSwgNDIpOwotc2hvdWxkQmUobW9k
dWxlLmFkZDEoNDIpLCA0Myk7Ci0KLXNob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHByZXNz
aW9uMSgpLCAyKTsKLXNob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHByZXNzaW9uMigpLCA3
KTsKLXNob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHByZXNzaW9uMygpLCA1KTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvc3RyZXNzL3dhc20tcmVsYXRpb25hbC5qcyBiL0pTVGVzdHMvc3RyZXNz
L3dhc20tcmVsYXRpb25hbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFmMzg4
Yi4uMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy93YXNtLXJlbGF0aW9uYWwuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNDIgKzAsMCBAQAotLy9AIHNraXAKLQotZnVuY3Rpb24gc2hvdWxkQmUo
YWN0dWFsLCBleHBlY3RlZCkgewotICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQotICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Ci19Ci0KLS8qCi13YXNt
L3JlbGF0aW9uYWwud2FzbSBpcyBnZW5lcmF0ZWQgYnkgcGFjay1hc21qcyA8aHR0cHM6Ly9naXRo
dWIuY29tL1dlYkFzc2VtYmx5L3BvbHlmaWxsLXByb3RvdHlwZS0xPiBmcm9tIHRoZSBmb2xsb3dp
bmcgc2NyaXB0OgotCi1mdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewot
ICAgICJ1c2UgYXNtIjsKLQotICAgIHZhciBmcm91bmQgPSBnbG9iYWwuTWF0aC5mcm91bmQ7Ci0K
LSAgICBmdW5jdGlvbiBlcXVhbCh4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAg
eSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKCh4IHwgMCkgPT0gKHkgfCAwKSkgfCAwOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIG5vdEVxdWFsKHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwot
ICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHJldHVybiAoKHggfCAwKSAhPSAoeSB8IDApKSB8
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbGVzc1RoYW4oeCwgeSkgewotICAgICAgICB4ID0g
eCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuICgoeCB8IDApIDwgKHkg
fCAwKSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGxlc3NUaGFuT3JFcXVhbCh4LCB5KSB7
Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgeSA9IHkgfCAwOwotICAgICAgICByZXR1cm4g
KCh4IHwgMCkgPD0gKHkgfCAwKSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGdyZWF0ZXJU
aGFuKHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAg
ICAgIHJldHVybiAoKHggfCAwKSA+ICh5IHwgMCkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBncmVhdGVyVGhhbk9yRXF1YWwoeCwgeSkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAg
IHkgPSB5IHwgMDsKLSAgICAgICAgcmV0dXJuICgoeCB8IDApID49ICh5IHwgMCkpIHwgMDsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiB1bnNpZ25lZExlc3NUaGFuKHgsIHkpIHsKLSAgICAgICAgeCA9
IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAgIHJldHVybiAoKHggPj4+IDApIDwg
KHkgPj4+IDApKSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdW5zaWduZWRMZXNzVGhhbk9y
RXF1YWwoeCwgeSkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHkgPSB5IHwgMDsKLSAg
ICAgICAgcmV0dXJuICgoeCA+Pj4gMCkgPD0gKHkgPj4+IDApKSB8IDA7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gdW5zaWduZWRHcmVhdGVyVGhhbih4LCB5KSB7Ci0gICAgICAgIHggPSB4IHwgMDsK
LSAgICAgICAgeSA9IHkgfCAwOwotICAgICAgICByZXR1cm4gKCh4ID4+PiAwKSA+ICh5ID4+PiAw
KSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHVuc2lnbmVkR3JlYXRlclRoYW5PckVxdWFs
KHgsIHkpIHsKLSAgICAgICAgeCA9IHggfCAwOwotICAgICAgICB5ID0geSB8IDA7Ci0gICAgICAg
IHJldHVybiAoKHggPj4+IDApID49ICh5ID4+PiAwKSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGZsb2F0RXF1YWwoeCwgeSkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICB5
ID0gZnJvdW5kKHkpOwotICAgICAgICByZXR1cm4gKHggPT0geSkgfCAwOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGZsb2F0Tm90RXF1YWwoeCwgeSkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwot
ICAgICAgICB5ID0gZnJvdW5kKHkpOwotICAgICAgICByZXR1cm4gKHggIT0geSkgfCAwOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGZsb2F0TGVzc1RoYW4oeCwgeSkgewotICAgICAgICB4ID0gZnJv
dW5kKHgpOwotICAgICAgICB5ID0gZnJvdW5kKHkpOwotICAgICAgICByZXR1cm4gKHggPCB5KSB8
IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmxvYXRMZXNzVGhhbk9yRXF1YWwoeCwgeSkgewot
ICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICB5ID0gZnJvdW5kKHkpOwotICAgICAgICBy
ZXR1cm4gKHggPD0geSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZsb2F0R3JlYXRlclRo
YW4oeCwgeSkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAgICAgICB5ID0gZnJvdW5kKHkp
OwotICAgICAgICByZXR1cm4gKHggPiB5KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmxv
YXRHcmVhdGVyVGhhbk9yRXF1YWwoeCwgeSkgewotICAgICAgICB4ID0gZnJvdW5kKHgpOwotICAg
ICAgICB5ID0gZnJvdW5kKHkpOwotICAgICAgICByZXR1cm4gKHggPj0geSkgfCAwOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIGRvdWJsZUVxdWFsKHgsIHkpIHsKLSAgICAgICAgeCA9ICt4OwotICAg
ICAgICB5ID0gK3k7Ci0gICAgICAgIHJldHVybiAoeCA9PSB5KSB8IDA7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZG91YmxlTm90RXF1YWwoeCwgeSkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAg
IHkgPSAreTsKLSAgICAgICAgcmV0dXJuICh4ICE9IHkpIHwgMDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBkb3VibGVMZXNzVGhhbih4LCB5KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgeSA9
ICt5OwotICAgICAgICByZXR1cm4gKHggPCB5KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
ZG91YmxlTGVzc1RoYW5PckVxdWFsKHgsIHkpIHsKLSAgICAgICAgeCA9ICt4OwotICAgICAgICB5
ID0gK3k7Ci0gICAgICAgIHJldHVybiAoeCA8PSB5KSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gZG91YmxlR3JlYXRlclRoYW4oeCwgeSkgewotICAgICAgICB4ID0gK3g7Ci0gICAgICAgIHkg
PSAreTsKLSAgICAgICAgcmV0dXJuICh4ID4geSkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGRvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbCh4LCB5KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAg
ICAgeSA9ICt5OwotICAgICAgICByZXR1cm4gKHggPj0geSkgfCAwOwotICAgIH0KLQotICAgIHJl
dHVybiB7Ci0gICAgICAgIGVxdWFsOiBlcXVhbCwKLSAgICAgICAgbm90RXF1YWw6IG5vdEVxdWFs
LAotICAgICAgICBsZXNzVGhhbjogbGVzc1RoYW4sCi0gICAgICAgIGxlc3NUaGFuT3JFcXVhbDog
bGVzc1RoYW5PckVxdWFsLAotICAgICAgICBncmVhdGVyVGhhbjogZ3JlYXRlclRoYW4sCi0gICAg
ICAgIGdyZWF0ZXJUaGFuT3JFcXVhbDogZ3JlYXRlclRoYW5PckVxdWFsLAotICAgICAgICB1bnNp
Z25lZExlc3NUaGFuOiB1bnNpZ25lZExlc3NUaGFuLAotICAgICAgICB1bnNpZ25lZExlc3NUaGFu
T3JFcXVhbDogdW5zaWduZWRMZXNzVGhhbk9yRXF1YWwsCi0gICAgICAgIHVuc2lnbmVkR3JlYXRl
clRoYW46IHVuc2lnbmVkR3JlYXRlclRoYW4sCi0gICAgICAgIHVuc2lnbmVkR3JlYXRlclRoYW5P
ckVxdWFsOiB1bnNpZ25lZEdyZWF0ZXJUaGFuT3JFcXVhbCwKLQotICAgICAgICBmbG9hdEVxdWFs
OiBmbG9hdEVxdWFsLAotICAgICAgICBmbG9hdE5vdEVxdWFsOiBmbG9hdE5vdEVxdWFsLAotICAg
ICAgICBmbG9hdExlc3NUaGFuOiBmbG9hdExlc3NUaGFuLAotICAgICAgICBmbG9hdExlc3NUaGFu
T3JFcXVhbDogZmxvYXRMZXNzVGhhbk9yRXF1YWwsCi0gICAgICAgIGZsb2F0R3JlYXRlclRoYW46
IGZsb2F0R3JlYXRlclRoYW4sCi0gICAgICAgIGZsb2F0R3JlYXRlclRoYW5PckVxdWFsOiBmbG9h
dEdyZWF0ZXJUaGFuT3JFcXVhbCwKLQotICAgICAgICBkb3VibGVFcXVhbDogZG91YmxlRXF1YWws
Ci0gICAgICAgIGRvdWJsZU5vdEVxdWFsOiBkb3VibGVOb3RFcXVhbCwKLSAgICAgICAgZG91Ymxl
TGVzc1RoYW46IGRvdWJsZUxlc3NUaGFuLAotICAgICAgICBkb3VibGVMZXNzVGhhbk9yRXF1YWw6
IGRvdWJsZUxlc3NUaGFuT3JFcXVhbCwKLSAgICAgICAgZG91YmxlR3JlYXRlclRoYW46IGRvdWJs
ZUdyZWF0ZXJUaGFuLAotICAgICAgICBkb3VibGVHcmVhdGVyVGhhbk9yRXF1YWw6IGRvdWJsZUdy
ZWF0ZXJUaGFuT3JFcXVhbCwKLSAgICB9OwotfQotKi8KLQotdmFyIG1vZHVsZSA9IGxvYWRXZWJB
c3NlbWJseSgid2FzbS9yZWxhdGlvbmFsLndhc20iKTsKLQotc2hvdWxkQmUobW9kdWxlLmVxdWFs
KDEsIDEpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5lcXVhbCgxLCAyKSwgMCk7Ci1zaG91bGRCZSht
b2R1bGUubm90RXF1YWwoMSwgMiksIDEpOwotc2hvdWxkQmUobW9kdWxlLm5vdEVxdWFsKDEsIDEp
LCAwKTsKLXNob3VsZEJlKG1vZHVsZS5sZXNzVGhhbigtMSwgMiksIDEpOwotc2hvdWxkQmUobW9k
dWxlLmxlc3NUaGFuKDEsIDEpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5sZXNzVGhhbk9yRXF1YWwo
MSwgMSksIDEpOwotc2hvdWxkQmUobW9kdWxlLmxlc3NUaGFuT3JFcXVhbCgyLCAxKSwgMCk7Ci1z
aG91bGRCZShtb2R1bGUuZ3JlYXRlclRoYW4oMiwgLTEpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5n
cmVhdGVyVGhhbigxLCAxKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUuZ3JlYXRlclRoYW5PckVxdWFs
KDEsIDEpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5ncmVhdGVyVGhhbk9yRXF1YWwoMSwgMiksIDAp
Owotc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkTGVzc1RoYW4oMiwgLTEpLCAxKTsKLXNob3VsZEJl
KG1vZHVsZS51bnNpZ25lZExlc3NUaGFuKC0xLCAyKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUudW5z
aWduZWRMZXNzVGhhbk9yRXF1YWwoMiwgLTEpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS51bnNpZ25l
ZExlc3NUaGFuT3JFcXVhbCgtMSwgMiksIDApOwotc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkR3Jl
YXRlclRoYW4oLTEsIDIpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS51bnNpZ25lZEdyZWF0ZXJUaGFu
KDIsIC0xKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUudW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWwo
LTEsIDIpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS51bnNpZ25lZEdyZWF0ZXJUaGFuT3JFcXVhbCgy
LCAtMSksIDApOwotCi1zaG91bGRCZShtb2R1bGUuZmxvYXRFcXVhbCgwLjEsIDAuMSksIDEpOwot
c2hvdWxkQmUobW9kdWxlLmZsb2F0RXF1YWwoMC4xLCAwLjIpLCAwKTsKLXNob3VsZEJlKG1vZHVs
ZS5mbG9hdE5vdEVxdWFsKDAuMSwgMC4yKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuZmxvYXROb3RF
cXVhbCgwLjEsIDAuMSksIDApOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0TGVzc1RoYW4oLTAuMSwg
MC4yKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUuZmxvYXRMZXNzVGhhbigwLjEsIDAuMSksIDApOwot
c2hvdWxkQmUobW9kdWxlLmZsb2F0TGVzc1RoYW5PckVxdWFsKDAuMSwgMC4xKSwgMSk7Ci1zaG91
bGRCZShtb2R1bGUuZmxvYXRMZXNzVGhhbk9yRXF1YWwoMC4yLCAwLjEpLCAwKTsKLXNob3VsZEJl
KG1vZHVsZS5mbG9hdEdyZWF0ZXJUaGFuKDAuMiwgLTAuMSksIDEpOwotc2hvdWxkQmUobW9kdWxl
LmZsb2F0R3JlYXRlclRoYW4oMC4xLCAwLjEpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5mbG9hdEdy
ZWF0ZXJUaGFuT3JFcXVhbCgwLjEsIDAuMSksIDEpOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0R3Jl
YXRlclRoYW5PckVxdWFsKDAuMSwgMC4yKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUuZmxvYXRFcXVh
bChOYU4sIE5hTiksIDApOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0Tm90RXF1YWwoTmFOLCBOYU4p
LCAwKTsKLXNob3VsZEJlKG1vZHVsZS5mbG9hdE5vdEVxdWFsKE5hTiwgMC4xKSwgMCk7Ci1zaG91
bGRCZShtb2R1bGUuZmxvYXRHcmVhdGVyVGhhbihOYU4sIDAuMSksIDApOwotc2hvdWxkQmUobW9k
dWxlLmZsb2F0TGVzc1RoYW4oTmFOLCAwLjEpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5mbG9hdEVx
dWFsKEluZmluaXR5LCBJbmZpbml0eSksIDEpOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0R3JlYXRl
clRoYW4oSW5maW5pdHksIDAuMSksIDEpOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0R3JlYXRlclRo
YW4oSW5maW5pdHksIE5hTiksIDApOwotc2hvdWxkQmUobW9kdWxlLmZsb2F0TGVzc1RoYW4oSW5m
aW5pdHksIE5hTiksIDApOwotCi1zaG91bGRCZShtb2R1bGUuZG91YmxlRXF1YWwoMC4xLCAwLjEp
LCAxKTsKLXNob3VsZEJlKG1vZHVsZS5kb3VibGVFcXVhbCgwLjEsIDAuMiksIDApOwotc2hvdWxk
QmUobW9kdWxlLmRvdWJsZU5vdEVxdWFsKDAuMSwgMC4yKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUu
ZG91YmxlTm90RXF1YWwoMC4xLCAwLjEpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5kb3VibGVMZXNz
VGhhbigtMC4xLCAwLjIpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5kb3VibGVMZXNzVGhhbigwLjEs
IDAuMSksIDApOwotc2hvdWxkQmUobW9kdWxlLmRvdWJsZUxlc3NUaGFuT3JFcXVhbCgwLjEsIDAu
MSksIDEpOwotc2hvdWxkQmUobW9kdWxlLmRvdWJsZUxlc3NUaGFuT3JFcXVhbCgwLjIsIDAuMSks
IDApOwotc2hvdWxkQmUobW9kdWxlLmRvdWJsZUdyZWF0ZXJUaGFuKDAuMiwgLTAuMSksIDEpOwot
c2hvdWxkQmUobW9kdWxlLmRvdWJsZUdyZWF0ZXJUaGFuKDAuMSwgMC4xKSwgMCk7Ci1zaG91bGRC
ZShtb2R1bGUuZG91YmxlR3JlYXRlclRoYW5PckVxdWFsKDAuMSwgMC4xKSwgMSk7Ci1zaG91bGRC
ZShtb2R1bGUuZG91YmxlR3JlYXRlclRoYW5PckVxdWFsKDAuMSwgMC4yKSwgMCk7Ci1zaG91bGRC
ZShtb2R1bGUuZG91YmxlRXF1YWwoTmFOLCBOYU4pLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5kb3Vi
bGVOb3RFcXVhbChOYU4sIE5hTiksIDApOwotc2hvdWxkQmUobW9kdWxlLmRvdWJsZU5vdEVxdWFs
KE5hTiwgMC4xKSwgMCk7Ci1zaG91bGRCZShtb2R1bGUuZG91YmxlR3JlYXRlclRoYW4oTmFOLCAw
LjEpLCAwKTsKLXNob3VsZEJlKG1vZHVsZS5kb3VibGVMZXNzVGhhbihOYU4sIDAuMSksIDApOwot
c2hvdWxkQmUobW9kdWxlLmRvdWJsZUVxdWFsKEluZmluaXR5LCBJbmZpbml0eSksIDEpOwotc2hv
dWxkQmUobW9kdWxlLmRvdWJsZUdyZWF0ZXJUaGFuKEluZmluaXR5LCAwLjEpLCAxKTsKLXNob3Vs
ZEJlKG1vZHVsZS5kb3VibGVHcmVhdGVyVGhhbihJbmZpbml0eSwgTmFOKSwgMCk7Ci1zaG91bGRC
ZShtb2R1bGUuZG91YmxlTGVzc1RoYW4oSW5maW5pdHksIE5hTiksIDApOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3Mvd2FzbS10eXBlLWNvbnZlcnNpb24uanMgYi9KU1Rlc3RzL3N0cmVzcy93
YXNtLXR5cGUtY29udmVyc2lvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y5
MzhiYS4uMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy93YXNtLXR5cGUtY29udmVyc2lvbi5q
cworKysgL2Rldi9udWxsCkBAIC0xLDE5MSArMCwwIEBACi0vL0Agc2tpcAotCi1mdW5jdGlvbiBz
aG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Ci0gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKLX0KLQot
LyoKLXdhc20vdHlwZS1jb252ZXJzaW9uLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMg
PGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJv
bSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKLQotZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1w
b3J0cywgYnVmZmVyKSB7Ci0gICAgInVzZSBhc20iOwotCi0gICAgdmFyIGZyb3VuZCA9IGdsb2Jh
bC5NYXRoLmZyb3VuZDsKLSAgICB2YXIgZ2V0SW50MzIgPSBpbXBvcnRzLmdldEludDMyOwotICAg
IHZhciBnZXREb3VibGUgPSBpbXBvcnRzLmdldERvdWJsZTsKLSAgICB2YXIgZ2V0U3RyaW5nID0g
aW1wb3J0cy5nZXRTdHJpbmc7Ci0gICAgdmFyIGdldEJvb2xlYW4gPSBpbXBvcnRzLmdldEJvb2xl
YW47Ci0KLSAgICBmdW5jdGlvbiBjb252ZXJ0SW50VG9GbG9hdCh4KSB7Ci0gICAgICAgIHggPSB4
IHwgMDsKLSAgICAgICAgcmV0dXJuIGZyb3VuZCh4IHwgMCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gY29udmVydFVuc2lnbmVkSW50VG9GbG9hdCh4KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAg
ICAgICAgcmV0dXJuIGZyb3VuZCh4ID4+PiAwKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb252
ZXJ0SW50VG9Eb3VibGUoeCkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHJldHVybiAr
KHggfCAwKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb252ZXJ0VW5zaWduZWRJbnRUb0RvdWJs
ZSh4KSB7Ci0gICAgICAgIHggPSB4IHwgMDsKLSAgICAgICAgcmV0dXJuICsoeCA+Pj4gMCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gY29udmVydEZsb2F0VG9JbnQoeCkgewotICAgICAgICB4ID0g
ZnJvdW5kKHgpOwotICAgICAgICByZXR1cm4gfn54OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNv
bnZlcnRGbG9hdFRvRG91YmxlKHgpIHsKLSAgICAgICAgeCA9IGZyb3VuZCh4KTsKLSAgICAgICAg
cmV0dXJuICt4OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNvbnZlcnREb3VibGVUb0ludCh4KSB7
Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAgcmV0dXJuIH5+eDsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBjb252ZXJ0RG91YmxlVG9GbG9hdCh4KSB7Ci0gICAgICAgIHggPSAreDsKLSAgICAgICAg
cmV0dXJuIGZyb3VuZCh4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0YWtlQW5kUmV0dXJuSW50
MzIoeCkgewotICAgICAgICB4ID0geCB8IDA7Ci0gICAgICAgIHJldHVybiB4IHwgMDsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiB0YWtlQW5kUmV0dXJuRmxvYXQoeCkgewotICAgICAgICB4ID0gZnJv
dW5kKHgpOwotICAgICAgICByZXR1cm4geDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0YWtlQW5k
UmV0dXJuRG91YmxlKHgpIHsKLSAgICAgICAgeCA9ICt4OwotICAgICAgICByZXR1cm4geDsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiByZXR1cm5JbnQzMkZyb21JbnQzMigpIHsKLSAgICAgICAgcmV0
dXJuIGdldEludDMyKCkgfCAwOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJldHVybkludDMyRnJv
bURvdWJsZSgpIHsKLSAgICAgICAgcmV0dXJuIGdldERvdWJsZSgpIHwgMDsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiByZXR1cm5JbnQzMkZyb21TdHJpbmcoKSB7Ci0gICAgICAgIHJldHVybiBnZXRT
dHJpbmcoKSB8IDA7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmV0dXJuSW50MzJGcm9tQm9vbGVh
bigpIHsKLSAgICAgICAgcmV0dXJuIGdldEJvb2xlYW4oKSB8IDA7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gcmV0dXJuRG91YmxlRnJvbUludDMyKCkgewotICAgICAgICByZXR1cm4gK2dldEludDMy
KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmV0dXJuRG91YmxlRnJvbURvdWJsZSgpIHsKLSAg
ICAgICAgcmV0dXJuICtnZXREb3VibGUoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiByZXR1cm5E
b3VibGVGcm9tU3RyaW5nKCkgewotICAgICAgICByZXR1cm4gK2dldFN0cmluZygpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHJldHVybkRvdWJsZUZyb21Cb29sZWFuKCkgewotICAgICAgICByZXR1
cm4gK2dldEJvb2xlYW4oKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgICBjb252ZXJ0
SW50VG9GbG9hdDogY29udmVydEludFRvRmxvYXQsCi0gICAgICAgIGNvbnZlcnRVbnNpZ25lZElu
dFRvRmxvYXQ6IGNvbnZlcnRVbnNpZ25lZEludFRvRmxvYXQsCi0gICAgICAgIGNvbnZlcnRJbnRU
b0RvdWJsZTogY29udmVydEludFRvRG91YmxlLAotICAgICAgICBjb252ZXJ0VW5zaWduZWRJbnRU
b0RvdWJsZTogY29udmVydFVuc2lnbmVkSW50VG9Eb3VibGUsCi0gICAgICAgIGNvbnZlcnRGbG9h
dFRvSW50OiBjb252ZXJ0RmxvYXRUb0ludCwKLSAgICAgICAgY29udmVydEZsb2F0VG9Eb3VibGU6
IGNvbnZlcnRGbG9hdFRvRG91YmxlLAotICAgICAgICBjb252ZXJ0RG91YmxlVG9JbnQ6IGNvbnZl
cnREb3VibGVUb0ludCwKLSAgICAgICAgY29udmVydERvdWJsZVRvRmxvYXQ6IGNvbnZlcnREb3Vi
bGVUb0Zsb2F0LAotCi0gICAgICAgIHRha2VBbmRSZXR1cm5JbnQzMjogdGFrZUFuZFJldHVybklu
dDMyLAotICAgICAgICB0YWtlQW5kUmV0dXJuRmxvYXQ6IHRha2VBbmRSZXR1cm5GbG9hdCwKLSAg
ICAgICAgdGFrZUFuZFJldHVybkRvdWJsZTogdGFrZUFuZFJldHVybkRvdWJsZSwKLQotICAgICAg
ICByZXR1cm5JbnQzMkZyb21JbnQzMjogcmV0dXJuSW50MzJGcm9tSW50MzIsCi0gICAgICAgIHJl
dHVybkludDMyRnJvbURvdWJsZTogcmV0dXJuSW50MzJGcm9tRG91YmxlLAotICAgICAgICByZXR1
cm5JbnQzMkZyb21TdHJpbmc6IHJldHVybkludDMyRnJvbVN0cmluZywKLSAgICAgICAgcmV0dXJu
SW50MzJGcm9tQm9vbGVhbjogcmV0dXJuSW50MzJGcm9tQm9vbGVhbiwKLSAgICAgICAgcmV0dXJu
RG91YmxlRnJvbUludDMyOiByZXR1cm5Eb3VibGVGcm9tSW50MzIsCi0gICAgICAgIHJldHVybkRv
dWJsZUZyb21Eb3VibGU6IHJldHVybkRvdWJsZUZyb21Eb3VibGUsCi0gICAgICAgIHJldHVybkRv
dWJsZUZyb21TdHJpbmc6IHJldHVybkRvdWJsZUZyb21TdHJpbmcsCi0gICAgICAgIHJldHVybkRv
dWJsZUZyb21Cb29sZWFuOiByZXR1cm5Eb3VibGVGcm9tQm9vbGVhbiwKLSAgICB9OwotfQotKi8K
LQotdmFyIGltcG9ydHMgPSB7Ci0gICAgZ2V0SW50MzI6ICgpID0+IDQyLAotICAgIGdldERvdWJs
ZTogKCkgPT4gNC4yLAotICAgIGdldFN0cmluZzogKCkgPT4gIjQuMiIsCi0gICAgZ2V0Qm9vbGVh
bjogKCkgPT4gdHJ1ZSwKLX07Ci12YXIgbW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3YXNtL3R5
cGUtY29udmVyc2lvbi53YXNtIiwgaW1wb3J0cyk7Ci0KLXNob3VsZEJlKG1vZHVsZS5jb252ZXJ0
SW50VG9GbG9hdCgtMSksIC0xKTsKLXNob3VsZEJlKG1vZHVsZS5jb252ZXJ0VW5zaWduZWRJbnRU
b0Zsb2F0KC0xKSwgNDI5NDk2NzI5Nik7Ci1zaG91bGRCZShtb2R1bGUuY29udmVydEludFRvRG91
YmxlKC0xKSwgLTEpOwotc2hvdWxkQmUobW9kdWxlLmNvbnZlcnRVbnNpZ25lZEludFRvRG91Ymxl
KC0xKSwgNDI5NDk2NzI5NSk7Ci1zaG91bGRCZShtb2R1bGUuY29udmVydEZsb2F0VG9JbnQoNC4y
KSwgNCk7Ci1zaG91bGRCZShtb2R1bGUuY29udmVydEZsb2F0VG9Eb3VibGUoNC4yKSwgNC4xOTk5
OTk4MDkyNjUxMzcpOwotc2hvdWxkQmUobW9kdWxlLmNvbnZlcnREb3VibGVUb0ludCg0LjIpLCA0
KTsKLXNob3VsZEJlKG1vZHVsZS5jb252ZXJ0RG91YmxlVG9GbG9hdCg0LjIpLCA0LjE5OTk5OTgw
OTI2NTEzNyk7Ci0KLXZhciB0d28gPSB7Ci0gICAgdmFsdWVPZigpIHsgcmV0dXJuIDI7IH0KLX07
Ci0KLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIoMSksIDEpOwotc2hvdWxkQmUo
bW9kdWxlLnRha2VBbmRSZXR1cm5JbnQzMigiMSIpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS50YWtl
QW5kUmV0dXJuSW50MzIoMS45KSwgMSk7Ci1zaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVybklu
dDMyKHRydWUpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIoZmFsc2Up
LCAwKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIoIm9uZSIpLCAwKTsKLXNo
b3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIoeyB9KSwgMCk7Ci1zaG91bGRCZShtb2R1
bGUudGFrZUFuZFJldHVybkludDMyKFsyLjVdKSwgMik7Ci1zaG91bGRCZShtb2R1bGUudGFrZUFu
ZFJldHVybkludDMyKHR3byksIDIpOwotCi1zaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVybkZs
b2F0KDAuMSksIDAuMTAwMDAwMDAxNDkwMTE2MTIpOwotc2hvdWxkQmUobW9kdWxlLnRha2VBbmRS
ZXR1cm5GbG9hdCgiMC4xIiksIDAuMTAwMDAwMDAxNDkwMTE2MTIpOwotc2hvdWxkQmUobW9kdWxl
LnRha2VBbmRSZXR1cm5GbG9hdCgxKSwgMSk7Ci1zaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVy
bkZsb2F0KHRydWUpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRmxvYXQoZmFs
c2UpLCAwKTsKLXNob3VsZEJlKGlzTmFOKG1vZHVsZS50YWtlQW5kUmV0dXJuRmxvYXQoIm9uZSIp
KSwgdHJ1ZSk7Ci1zaG91bGRCZShpc05hTihtb2R1bGUudGFrZUFuZFJldHVybkZsb2F0KHsgfSkp
LCB0cnVlKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRmxvYXQoWzIuNV0pLCAyLjUp
Owotc2hvdWxkQmUobW9kdWxlLnRha2VBbmRSZXR1cm5GbG9hdCh0d28pLCAyKTsKLQotc2hvdWxk
QmUobW9kdWxlLnRha2VBbmRSZXR1cm5Eb3VibGUoMS41KSwgMS41KTsKLXNob3VsZEJlKG1vZHVs
ZS50YWtlQW5kUmV0dXJuRG91YmxlKCIxLjUiKSwgMS41KTsKLXNob3VsZEJlKG1vZHVsZS50YWtl
QW5kUmV0dXJuRG91YmxlKDEpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRG91
YmxlKHRydWUpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRG91YmxlKGZhbHNl
KSwgMCk7Ci1zaG91bGRCZShpc05hTihtb2R1bGUudGFrZUFuZFJldHVybkRvdWJsZSgib25lIikp
LCB0cnVlKTsKLXNob3VsZEJlKGlzTmFOKG1vZHVsZS50YWtlQW5kUmV0dXJuRG91YmxlKHsgfSkp
LCB0cnVlKTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRG91YmxlKFsyLjVdKSwgMi41
KTsKLXNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuRG91YmxlKHR3byksIDIpOwotCi1zaG91
bGRCZShtb2R1bGUucmV0dXJuSW50MzJGcm9tSW50MzIoKSwgNDIpOwotc2hvdWxkQmUobW9kdWxl
LnJldHVybkludDMyRnJvbURvdWJsZSgpLCA0KTsKLXNob3VsZEJlKG1vZHVsZS5yZXR1cm5JbnQz
MkZyb21TdHJpbmcoKSwgNCk7Ci1zaG91bGRCZShtb2R1bGUucmV0dXJuSW50MzJGcm9tQm9vbGVh
bigpLCAxKTsKLXNob3VsZEJlKG1vZHVsZS5yZXR1cm5Eb3VibGVGcm9tSW50MzIoKSwgNDIpOwot
c2hvdWxkQmUobW9kdWxlLnJldHVybkRvdWJsZUZyb21Eb3VibGUoKSwgNC4yKTsKLXNob3VsZEJl
KG1vZHVsZS5yZXR1cm5Eb3VibGVGcm9tU3RyaW5nKCksIDQuMik7Ci1zaG91bGRCZShtb2R1bGUu
cmV0dXJuRG91YmxlRnJvbUJvb2xlYW4oKSwgMSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy93YXNtL2FyaXRobWV0aWMtZmxvYXQzMi53YXNtIGIvSlNUZXN0cy9zdHJlc3Mvd2FzbS9hcml0
aG1ldGljLWZsb2F0MzIud2FzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQ4ZmNi
N2Y2NjIzZWIyZWRmZWIxNjA2MTI1Mzk5ZWE1YmE3YjZlNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKbGl0ZXJhbCAxOTYKemNtWFpUU3F7UD01Qy02eHdyK2hmWVRadWI0U2V0aFB8JVAtUTVLREY5
dDk2LTsoLTFTLSg8RTJeWEFoKVBLfCgrCnozYkN8QTNzX098NmthJmJeOD9qSUI5YGUqdThMaThV
RUpqNUhuWXBANlNoTSVUc25ZM1VSYVFUT2JEb2E8aVc4JQpzS3k5Szk+WitnNjJ6NklOIWlhSGli
KT9nQUZPQCQyLVh+e210QH00cWV+Wms/bGVHYjZVczxkJWVnRlVmCgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3Mvd2FzbS9hcml0aG1ldGljLWZsb2F0NjQud2FzbSBiL0pTVGVzdHMvc3RyZXNz
L3dhc20vYXJpdGhtZXRpYy1mbG9hdDY0Lndhc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGEzODNmNDM0MzQ5NGZjZWVmNjJkMWRlMTEzZTg4NmEzZDM5NzBhMjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgNDE3CnpjbVlNdk5tOWN3NUN6YmQ2Yk4lZENOc34mbylkNWE3
VGlGI2c7QTlUQlRGUmcqbC1Wcl5UM0BARCo8fSheanF6QQp6bThRSldBNj54ZVBAc2dTViRwT0wk
elg5d3spIVNwOEgwRHlCaX48R3tyaXspWkRpUWFxb2Q/RklaMDs4MU5gST0KeklZTiQrNlhYOypM
KFkqNDxQeTBgZClGOW1rbFdQbnYzQzkkeUx+KUtXYGZSejEyQ2ZFVUk1YGAzQTcyaGNmOWJ4Cnpi
V21RXz5KMilqZTNoa3U2PlpDKUVVZmFwdWAweHNaWHUrNFNvfih+Tm09V2ImM2Z8XnhEJGBvZGV8
c3pCYU1Lfgp6PGQpfkE2MmArZWNnMXFENkpyfG9WKSZpK3xNTU59aWRrKDxUJDViRUstcjJyPjdP
K1dZZGVpazctP3l3NGpSVXEKSSZyK0VEMDkrUyE+SHEpJAoKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
c3RyZXNzL3dhc20vYXJpdGhtZXRpYy1pbnQzMi53YXNtIGIvSlNUZXN0cy9zdHJlc3Mvd2FzbS9h
cml0aG1ldGljLWludDMyLndhc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMmE5
ZWEyNzk4MWRkZmMwMmY3ZjhhOTZiYzRkZTE0Y2Y5Njc4MzguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmxpdGVyYWwgMzk4CnpjbVlrJSR4ZyZEMzxoQWcxJWBjQz1FfVlkPnE4KW81Qzt8c0V7SSMm
V0xpc0VRMHVWVmNySCNJb3tZcChCeipYTwp6K3Ata3BUe1B5cTJlQzNwMDgoeXZXKEpUPHRJTSFW
UX17fnlUV3cmd29ka0UtVTNRUCVYQWpzel85JmhvYjMwXkQKeippLWg1SiFkY0M7YnI2fEdSb1M/
UHNyPC0kLXReb2tPQn09TGVsdTBZRWNsUiMlc2I/e1J4QEdIPFN1eXlsdD93CnpOeyopVXRafnc3
MlhsWT55WG9BXms/dE1BZThgNnk3RDhORTM1eX0wVEA2Y0dqcD9idkZ+UEVea3QoQUlpJF5UMAp4
Wm84c2dpR3xTclI7entjbVRyfWhYdi1IPnk5V0IqUmVXaHA8Yy1ybGR9N184TWRKLUA4MWNjKTx9
VlJAY15Mb3oKCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtL2NhbGxzLndhc20gYi9K
U1Rlc3RzL3N0cmVzcy93YXNtL2NhbGxzLndhc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDQ3MWMwNGFiODllNmY0YjllNzI3OWViZDFkMjAxYmJjNTM5Yjc3NjYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgMjQ1CnpjbVhYPnlBcHloNVdFQmdBSXhOSWtQMzl7dD9qaj87
dE43UmhuV05tZj9Eel47Rmx6Um5IUjxfX1YpSTZpK2t9LQp6cjIjbmpLbWFJIWhyYDMyKHltdVBo
fmpUI0chWVJoaWl0bmBBWTg1bng7PmtUTylRTmVHbjFuYWRNNyhGISh3OE8KeiN0d3VYX1F1QTwk
PFlpbkAobDk7P0h3NVYjaEsyYlktVVdsIXBzVFlhWT9YQSFkcHs1U31zSGJhMkZMMkRIS3AkCmtj
bHlHbUVIdX0ocyNeXnt1ZDFSaV5JbCQ/Q29GX0o7d05oLWEocmc8MUZNKW4xT05hNAoKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvc3RyZXNzL3dhc20vY29tbWEud2FzbSBiL0pTVGVzdHMvc3RyZXNzL3dh
c20vY29tbWEud2FzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU3NjA1OTVhZmZj
ZTE0OGVkMzI1NzgwMTM1ZDQ1ODMzMjhhYTI2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0
ZXJhbCAxMzkKemNtWFI8RVk0bFIlbTR6KyUjMSppMzVZPjcwfE5eS0JOSFAtMUxKfU40VUdJITM9
NT9nN0QrS0lVYyRvMiRqYF5iCnohWFVmPXFLeDUjSiV9cGA8MSNvYjBJTyRaU1JlJjdte0UoRmZz
d2Yrd1liRE5LUX1rZ2tieDEtSGV6NmN2eUI7OwpFMGYtekp2SCQ9OAoKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc20gYi9KU1Rlc3RzL3N0cmVzcy93YXNt
L2NvbnRyb2wtZmxvdy53YXNtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTExMzEw
MTdmNGJjMWNiOTE3YzRmMDNmMmFkY2Y2OWQ5Y2VhMzcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpsaXRlcmFsIDg0MAp6Y21aWFIlV2wqIzZvITJYbHVMXjx3K3YtNWsxemB+T0F2PyhxKTMoNlJB
TD5QZ295fD9udX0lfHIhTndGSXVoYjMKemwwRlNmOSlWK2ZDWWhFPGlHUDNSX3dPOGc2REB6ZEp3
QGlCQE0xKSlIbEx0WDJaMyFfKHFoK3BRJiZ1fU58SUlxCno/S2BScz97ckJFKXR9YXRrTmVaY3Rr
UWU2V3cpIzwkemF5KGR7UnRtQmAxd3lINHg+fi1uN3hkSiFvdGVgJFRTRQp6Y0JMRGFLKzk/e3lW
RVlJb1pQaSghIUNSVmAkUFdsTEE+MmA1QVRKO21hTFghMWhxbnFRSzRiRW9xRH0jWkdidkkKemc1
YUBFSjt1ZWhEc0Iodmotdnk9QXRUJU47aXN1LTJRcSgrUVRPWVR5ck1OaE01PSZiQjZVQ3JiUk10
PDNTTnlWCno5MmZwYDB1Pmx6akE4aWcqJl9yKXYxOHxPOCVqJmUmT2wmeWhreEpnMSR0aiU+K21v
Znk3XzF2V2Etc25vZ2tFQAp6cFEzITNBZV5OaVZZSEFxP0Z1d1lMbXNCYytzdn4oeGZKM2pkU3ZC
P01HfTJTa0ZDQkNlM2Z5P0pGKE17ZT0lbkMKekJvPW5UKF54cTd2c2twJj1YdnhzJHNJcW54LUZn
QVh+LXtJTjYyfXlLcmpCfHBWdXFrPzA4cTM9KHhZIVdVSzQ+Cm9NRmI3QG9ROV9JdE5COCN6cyp0
cVRKU2hxV3I5YiFaRzNQOVQ9JkM9PFRWPW8wfkdFSyo4bChqCgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3Mvd2FzbS9nbG9iYWxzLndhc20gYi9KU1Rlc3RzL3N0cmVzcy93YXNtL2dsb2JhbHMu
d2FzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU4YWNiMDA4MDFmM2RjMzZkOWE1
YjkwM2MyZDk3ODA1MjdjODlhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAyMjgK
emNtWWp7T0FmKj8zYEEjfnEjdmwlSE9CJE85Y1h0MlJmcSoyNWhQZ1ZEMW5vM0gwLVd3KzBRZCR6
bEx+TzF6NlBwCnpBI2x7RHFvXlkoRHJ7PkZJTipvfGJgc305UUMzSzdvaWxodEZpYVV1Tm4tdmJl
c2JiaHJ3dmZvMjJOVHNvNzREUQp0MUlpN2srKE1MbElBc1R+Pj1CfFJnfGI3Yj5gX149ZCoyXnBq
T1dgR3djVGNaVlA3LTlgfnhsP0ZjQU8lCgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvd2Fz
bS9saW5lYXItbWVtb3J5Lndhc20gYi9KU1Rlc3RzL3N0cmVzcy93YXNtL2xpbmVhci1tZW1vcnku
d2FzbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk3YWIwMmE2OGE3Y2Y1NDgyYTJi
MmQ4NDExZjMxNmE1OWZiY2U0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCA0ODIK
emNtWSs3TmUrVFE1SmpzUjFqR1J4STAkTnA3dHE4NWNtTml9bV5lajlibT4qUjJfRE01SDhlQHZx
KDZfeEA5SVpjCnpwVDhtUz5IYDhJN3pFRCVaPX1yK0FoOGpXQjRxTUg8TUh4KTBrMUhFN2JaYlY1
cGwjRUx5aj9ye05PT3skQS1AJgp6NWltdlZgLUwkX2xKZDlCc2olaTtTYy1KWDg/IV56PkBMazNm
TTk9UUxSRVBJI3lVYno8I0dXJihlYHZMOHslSGEKeiNSYEpqUDZgUWhRbHlIR19wS3cwUm5xQUpR
OCNKV0YtO24yVzQoRmE/cDBrTXVOTjRUbDlgVDZ3M1ppK09LdEJACldQUERqT0lLP1NCZCQoZ31v
aD8/NW8mTngjI2ZpSEIKCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtL2xvY2Fscy53
YXNtIGIvSlNUZXN0cy9zdHJlc3Mvd2FzbS9sb2NhbHMud2FzbQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYmQ1MTI0YzkwODM2YTk3YTFhZjUzZDcwNzZiMjM1ZmQ5NjFlNjBmZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxNzAKemNtWFI8RVk4KHRWRV9TVTF8fWZNMnhk
YkZSdDgyVUNNSmVQclk1LXEybCk+KkYhSVlDU2xHek8mJSZeJWsqUSVKCnprU0U4JnU9b0lpNFV8
NT4kWFo7USVmT0pCbDQ4aWZTZHY7PzV9YUQlbGJAV0o8NjJRcmx2LVN6blYpQ0t6PVUxRwpNaD1D
Y3FnZlJtUDA3MztZQ2piQmQKCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtL3JlbGF0
aW9uYWwud2FzbSBiL0pTVGVzdHMvc3RyZXNzL3dhc20vcmVsYXRpb25hbC53YXNtCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGMwMzg3YWQ3ZDA1OWM2OTU3YTRmNGRkMTI4ODdiYTBj
MzlkZjg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDU3OQp6Y21adlhOcDhZRzVK
a0oyRm9aRF45RF5CPmtjbU1rbjwjOSFLcUh6I0dQWXU0V3QqZUdPflBlempAWjhgJVFuPkYKenNz
NjkyYCYmQWp6WU95dSFHdVNfSVRPT3E1RVYpbzt8UTxqbXckTXZgZ2AhJDBOZGFMX3pkPko0KV9T
WmZDSTMkCnorazNOM3VuWUZVUzh4Y3shNGBOQUs3bnVHWHQoRFRfMm8pfkcxSjxQayNSI2cmVTdW
QkNNY1dPeHxDU2pOXlhebgp6PlAxTFVMKCg7IV8wbS1INTg5RTZKSmd6eyFoMnxFPThRPUxta1l5
XiQyVnE/ZjZ8azRraXBHLU1BQ2MjWnVuWDsKbD9vZXhLWm4tbDw9fSV2MjVnZmJMST1GVGQpd0pW
USt1P2g2Q2wpb0F7e2Epcnl7WjVKCgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvd2FzbS90
eXBlLWNvbnZlcnNpb24ud2FzbSBiL0pTVGVzdHMvc3RyZXNzL3dhc20vdHlwZS1jb252ZXJzaW9u
Lndhc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5YzM5ZGIwMmU4YWQzOGZhNzAy
N2ZiMjNhMDcwYzIzZTMwNjQxMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgNjQ0
CnpjbVp2Wk8te293NVFXRmllX0VROVpqaiY8Wn5fcGojMV9mezA9MSV3KVJ0VHF3ajZ7N045b2Er
aTY/RGlGX0olZgp6LWkpN31fXmE3JWU9P3ckMm13KzYycUFHcmticEMjNTxvKG54NV88ZmNYdGMy
Q35eSTBfSFVpeTxpKipJWmFIfXsKenJjO2ZrdGhhX21aeVV1KW4ma3lYaTI+aURuakh8OzVqQ3hA
ZS1VJVM0V1Q5K2FMYFFTM0o4KUE2SD4lZjVGJGNDCnokaSg4Xj11YyhvIVlpfXZPeWRBcGRleXM0
dEpWNmZCK2syc0BBfEt1WVoyRmE8Q1FAdGh7cUIpQ2FuNkBjY3l7bgp6WjxvMnxMKjQ4M3Z2UFpA
e2VSOSFuKHIkezhYcl5JKTJeajhUZmNvMHNONmdhV1BaQWZLcHF9KD01QGRNV0x8fGIKUHlWcyU0
X1ZaOTV7NGY2aXpIYDY+CgotLSAKMi45LjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>