<?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>212235</bug_id>
          
          <creation_ts>2020-05-21 15:35:45 -0700</creation_ts>
          <short_desc>Rename some variables in Bitmap API test for consistency and better readability.</short_desc>
          <delta_ts>2020-05-21 16:17:16 -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>Tools / Tests</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1655113</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-21 15:35:45 -0700</bug_when>
    <thetext>This patch renames the following:
    bitmap0 =&gt; bitmapZeroes
    bitmapFilled =&gt; bitmapOnes
    bitmap3 =&gt; bitmap2Clone
    bitmapSmallZeroed =&gt; smallBitmapZeroes
    bitmapSmallFilled =&gt; smallBitmapOnes
    bitmapSmall1 =&gt; smallBitmap1
    bitmapSmall2 =&gt; smallBitmap2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655115</commentid>
    <comment_count>1</comment_count>
      <attachid>399988</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-21 15:38:28 -0700</bug_when>
    <thetext>Created attachment 399988
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655119</commentid>
    <comment_count>2</comment_count>
      <attachid>399988</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-05-21 15:40:45 -0700</bug_when>
    <thetext>Comment on attachment 399988
proposed patch.

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655120</commentid>
    <comment_count>3</comment_count>
      <attachid>399988</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-21 15:41:51 -0700</bug_when>
    <thetext>Comment on attachment 399988
proposed patch.

Thanks for the reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655133</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-21 16:16:48 -0700</bug_when>
    <thetext>Committed r262034: &lt;https://trac.webkit.org/changeset/262034&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399988.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655135</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-21 16:17:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/63515936&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399988</attachid>
            <date>2020-05-21 15:38:28 -0700</date>
            <delta_ts>2020-05-21 16:16:49 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-212235.patch</filename>
            <type>text/plain</type>
            <size>46847</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MjAzMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDU1IEBACisyMDIwLTA1LTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZW5hbWUgc29tZSB2YXJpYWJsZXMgaW4gQml0bWFwIEFQSSB0ZXN0IGZvciBjb25z
aXN0ZW5jeSBhbmQgYmV0dGVyIHJlYWRhYmlsaXR5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW5hbWVzIHRoZSBmb2xsb3dpbmc6
CisgICAgICAgICAgICBiaXRtYXAwID0+IGJpdG1hcFplcm9lcworICAgICAgICAgICAgYml0bWFw
RmlsbGVkID0+IGJpdG1hcE9uZXMKKyAgICAgICAgICAgIGJpdG1hcDMgPT4gYml0bWFwMkNsb25l
CisgICAgICAgICAgICBiaXRtYXBTbWFsbFplcm9lZCA9PiBzbWFsbEJpdG1hcFplcm9lcworICAg
ICAgICAgICAgYml0bWFwU21hbGxGaWxsZWQgPT4gc21hbGxCaXRtYXBPbmVzCisgICAgICAgICAg
ICBiaXRtYXBTbWFsbDEgPT4gc21hbGxCaXRtYXAxCisgICAgICAgICAgICBiaXRtYXBTbWFsbDIg
PT4gc21hbGxCaXRtYXAyCisKKyAgICAgICAgQXBhcnQgZnJvbSB0aGVzZSByZW5hbWluZ3MsIHRo
ZXJlIGFyZSBubyBvdGhlciBjb2RlIGNoYW5nZXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9CaXRtYXAuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEJpdG1h
cFNpemUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEJpdG1hcENvbnN0cnVjdGVkRW1w
dHkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEJpdG1hcFNldEdldCk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwVGVzdEFuZFNldCk6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjp0ZXN0Qml0bWFwVGVzdEFuZENsZWFyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OnRlc3RCaXRtYXBDb25jdXJyZW50VGVzdEFuZFNldCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
Ojp0ZXN0Qml0bWFwQ29uY3VycmVudFRlc3RBbmRDbGVhcik6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjp0ZXN0Qml0bWFwQ2xlYXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEJpdG1h
cENsZWFyQWxsKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RCaXRtYXBJbnZlcnQpOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdEJpdG1hcEZpbmRSdW5PZlplcm9zKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RCaXRtYXBDb3VudCk6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjp0ZXN0Qml0bWFwSXNFbXB0eSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0
bWFwSXNGdWxsKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RCaXRtYXBNZXJnZSk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwRmlsdGVyKToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OnRlc3RCaXRtYXBFeGNsdWRlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRl
c3RCaXRtYXBDb25jdXJyZW50RmlsdGVyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RC
aXRtYXBTdWJzdW1lcyk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwRm9yRWFj
aFNldEJpdCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwRmluZEJpdCk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwSXRlcmF0aW9uKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnRlc3RCaXRtYXBNZXJnZUFuZENsZWFyKToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OnRlc3RCaXRtYXBTZXRBbmRDbGVhcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0
ZXN0Qml0bWFwU2V0RWFjaE50aEJpdCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0
bWFwT3BlcmF0b3JFcXVhbCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwT3Bl
cmF0b3JOb3RFcXVhbCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwT3BlcmF0
b3JBc3NpZ25tZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RCaXRtYXBPcGVyYXRv
ckJpdE9yQXNzaWdubWVudCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjp0ZXN0Qml0bWFwT3Bl
cmF0b3JCaXRBbmRBc3NpZ25tZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RCaXRt
YXBPcGVyYXRvckJpdFhvckFzc2lnbm1lbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVz
dEJpdG1hcEhhc2gpOgorCiAyMDIwLTA1LTIwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgbW9yZSBCaXRtYXAgbWV0aG9kcy4KSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0JpdG1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvQml0bWFwLmNwcAkocmV2aXNpb24gMjYyMDMwKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQml0bWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQs
MjggKzk0LDI4IEBAIGNvbnN0ZXhwciBzaXplX3QgZXhwZWN0ZWROdW1iZXJPZlNldEJpdHMKIGNv
bnN0ZXhwciBzaXplX3QgZXhwZWN0ZWROdW1iZXJPZlNldEJpdHMyID0gY291bnRCaXRzKGV4cGVj
dGVkQml0czIsIHNpemUpOwogCiAjZGVmaW5lIERFQ0xBUkVfQklUTUFQU19GT1JfVEVTVCgpIFwK
LSAgICBCaXRtYXA8c2l6ZSwgV29yZFR5cGU+IGJpdG1hcDA7IC8qIEFsbCBiaXRzIHdpbGwgcmVt
YWluIGNsZWFyZWQuICovIFwKKyAgICBCaXRtYXA8c2l6ZSwgV29yZFR5cGU+IGJpdG1hcFplcm9l
czsgXAogICAgIEJpdG1hcDxzaXplLCBXb3JkVHlwZT4gYml0bWFwMTsgLyogV2lsbCBob2xkIHZh
bHVlcyBzcGVjaWZpZWQgaW4gZXhwZWN0ZWRCaXRzMS4gKi8gXAogICAgIEJpdG1hcDxzaXplLCBX
b3JkVHlwZT4gYml0bWFwMjsgLyogV2lsbCBob2xkIHZhbHVlcyBzcGVjaWZpZWQgaW4gZXhwZWN0
ZWRCaXRzMi4gKi8gXAotICAgIEJpdG1hcDxzaXplLCBXb3JkVHlwZT4gYml0bWFwMzsgLyogU2Ft
ZSBhcyBiaXRtYXAyLiAqLyBcCi0gICAgQml0bWFwPHNpemUsIFdvcmRUeXBlPiBiaXRtYXBGaWxs
ZWQ7IFwKLSAgICBCaXRtYXA8c21hbGxTaXplLCBXb3JkVHlwZT4gYml0bWFwU21hbGxaZXJvZWQ7
IFwKLSAgICBCaXRtYXA8c21hbGxTaXplLCBXb3JkVHlwZT4gYml0bWFwU21hbGxGaWxsZWQ7IFwK
LSAgICBCaXRtYXA8c21hbGxTaXplLCBXb3JkVHlwZT4gYml0bWFwU21hbGwxOyAvKiBXaWxsIGhv
bGQgdmFsdWVzIHNwZWNpZmllZCBpbiBleHBlY3RlZFNtYWxsQml0czEuICovIFwKLSAgICBCaXRt
YXA8c21hbGxTaXplLCBXb3JkVHlwZT4gYml0bWFwU21hbGwyOyAvKiBXaWxsIGhvbGQgdmFsdWVz
IHNwZWNpZmllZCBpbiBleHBlY3RlZFNtYWxsQml0czIuICovIFwKKyAgICBCaXRtYXA8c2l6ZSwg
V29yZFR5cGU+IGJpdG1hcDJDbG9uZTsgLyogU2FtZSBhcyBiaXRtYXAyLiAqLyBcCisgICAgQml0
bWFwPHNpemUsIFdvcmRUeXBlPiBiaXRtYXBPbmVzOyBcCisgICAgQml0bWFwPHNtYWxsU2l6ZSwg
V29yZFR5cGU+IHNtYWxsQml0bWFwWmVyb2VzOyBcCisgICAgQml0bWFwPHNtYWxsU2l6ZSwgV29y
ZFR5cGU+IHNtYWxsQml0bWFwT25lczsgXAorICAgIEJpdG1hcDxzbWFsbFNpemUsIFdvcmRUeXBl
PiBzbWFsbEJpdG1hcDE7IC8qIFdpbGwgaG9sZCB2YWx1ZXMgc3BlY2lmaWVkIGluIGV4cGVjdGVk
U21hbGxCaXRzMS4gKi8gXAorICAgIEJpdG1hcDxzbWFsbFNpemUsIFdvcmRUeXBlPiBzbWFsbEJp
dG1hcDI7IC8qIFdpbGwgaG9sZCB2YWx1ZXMgc3BlY2lmaWVkIGluIGV4cGVjdGVkU21hbGxCaXRz
Mi4gKi8gXAogCiAjZGVmaW5lIERFQ0xBUkVfQU5EX0lOSVRfQklUTUFQU19GT1JfVEVTVCgpIFwK
ICAgICBERUNMQVJFX0JJVE1BUFNfRk9SX1RFU1QoKSBcCiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBzaXplOyArK2kpIHsgXAogICAgICAgICBiaXRtYXAxLnNldChpLCBleHBlY3RlZEJpdHMx
W2ldKTsgXAogICAgICAgICBiaXRtYXAyLnNldChpLCBleHBlY3RlZEJpdHMyW2ldKTsgXAotICAg
ICAgICBiaXRtYXAzLnNldChpLCBleHBlY3RlZEJpdHMyW2ldKTsgXAotICAgICAgICBiaXRtYXBG
aWxsZWQuc2V0KGkpOyBcCisgICAgICAgIGJpdG1hcDJDbG9uZS5zZXQoaSwgZXhwZWN0ZWRCaXRz
MltpXSk7IFwKKyAgICAgICAgYml0bWFwT25lcy5zZXQoaSk7IFwKICAgICB9IFwKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHNtYWxsU2l6ZTsgKytpKSB7IFwKLSAgICAgICAgYml0bWFwU21h
bGwxLnNldChpLCBleHBlY3RlZFNtYWxsQml0czFbaV0pOyBcCi0gICAgICAgIGJpdG1hcFNtYWxs
Mi5zZXQoaSwgZXhwZWN0ZWRTbWFsbEJpdHMyW2ldKTsgXAotICAgICAgICBiaXRtYXBTbWFsbEZp
bGxlZC5zZXQoaSk7IFwKKyAgICAgICAgc21hbGxCaXRtYXAxLnNldChpLCBleHBlY3RlZFNtYWxs
Qml0czFbaV0pOyBcCisgICAgICAgIHNtYWxsQml0bWFwMi5zZXQoaSwgZXhwZWN0ZWRTbWFsbEJp
dHMyW2ldKTsgXAorICAgICAgICBzbWFsbEJpdG1hcE9uZXMuc2V0KGkpOyBcCiAgICAgfQogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTEyOCwxMyArMTI4LDEzIEBAIHZvaWQgdGVz
dEJpdG1hcFNpemUoKQogICAgICAgICBFWFBFQ1RfTkUoYml0bWFwLnNpemUoKSwgbm90RXhwZWN0
ZWRTaXplKTsKICAgICB9OwogCi0gICAgdmVyaWZ5U2l6ZShiaXRtYXAwLCBzaXplLCBzbWFsbFNp
emUpOworICAgIHZlcmlmeVNpemUoYml0bWFwWmVyb2VzLCBzaXplLCBzbWFsbFNpemUpOwogICAg
IHZlcmlmeVNpemUoYml0bWFwMSwgc2l6ZSwgc21hbGxTaXplKTsKICAgICB2ZXJpZnlTaXplKGJp
dG1hcDIsIHNpemUsIHNtYWxsU2l6ZSk7Ci0gICAgdmVyaWZ5U2l6ZShiaXRtYXAzLCBzaXplLCBz
bWFsbFNpemUpOwotICAgIHZlcmlmeVNpemUoYml0bWFwRmlsbGVkLCBzaXplLCBzbWFsbFNpemUp
OwotICAgIHZlcmlmeVNpemUoYml0bWFwU21hbGxaZXJvZWQsIHNtYWxsU2l6ZSwgc2l6ZSk7Ci0g
ICAgdmVyaWZ5U2l6ZShiaXRtYXBTbWFsbEZpbGxlZCwgc21hbGxTaXplLCBzaXplKTsKKyAgICB2
ZXJpZnlTaXplKGJpdG1hcDJDbG9uZSwgc2l6ZSwgc21hbGxTaXplKTsKKyAgICB2ZXJpZnlTaXpl
KGJpdG1hcE9uZXMsIHNpemUsIHNtYWxsU2l6ZSk7CisgICAgdmVyaWZ5U2l6ZShzbWFsbEJpdG1h
cFplcm9lcywgc21hbGxTaXplLCBzaXplKTsKKyAgICB2ZXJpZnlTaXplKHNtYWxsQml0bWFwT25l
cywgc21hbGxTaXplLCBzaXplKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBA
IC0xNTAsMTMgKzE1MCwxMyBAQCB2b2lkIHRlc3RCaXRtYXBDb25zdHJ1Y3RlZEVtcHR5KCkKICAg
ICAgICAgICAgIEVYUEVDVF9GQUxTRShiaXRtYXAuZ2V0KGkpKTsKICAgICB9OwogCi0gICAgdmVy
aWZ5SXNFbXB0eShiaXRtYXAwKTsKKyAgICB2ZXJpZnlJc0VtcHR5KGJpdG1hcFplcm9lcyk7CiAg
ICAgdmVyaWZ5SXNFbXB0eShiaXRtYXAxKTsKICAgICB2ZXJpZnlJc0VtcHR5KGJpdG1hcDIpOwot
ICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwMyk7Ci0gICAgdmVyaWZ5SXNFbXB0eShiaXRtYXBGaWxs
ZWQpOwotICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwU21hbGxaZXJvZWQpOwotICAgIHZlcmlmeUlz
RW1wdHkoYml0bWFwU21hbGxGaWxsZWQpOworICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwMkNsb25l
KTsKKyAgICB2ZXJpZnlJc0VtcHR5KGJpdG1hcE9uZXMpOworICAgIHZlcmlmeUlzRW1wdHkoc21h
bGxCaXRtYXBaZXJvZXMpOworICAgIHZlcmlmeUlzRW1wdHkoc21hbGxCaXRtYXBPbmVzKTsKIH0K
IAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC0xNzYsMjAgKzE3NiwyMCBAQCB2b2lk
IHRlc3RCaXRtYXBTZXRHZXQoKQogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKICAgICAgICAgRVhQRUNUX0VRKGJpdG1hcDIuZ2V0KGkpLCBleHBlY3RlZEJpdHMyW2ld
KTsKLSAgICAgICAgRVhQRUNUX0VRKGJpdG1hcDMuZ2V0KGkpLCBleHBlY3RlZEJpdHMyW2ldKTsK
KyAgICAgICAgRVhQRUNUX0VRKGJpdG1hcDJDbG9uZS5nZXQoaSksIGV4cGVjdGVkQml0czJbaV0p
OwogICAgIH0KICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAg
RVhQRUNUX0VRKGJpdG1hcDIuZ2V0KGkpLCBiaXRtYXAzLmdldChpKSk7CisgICAgICAgIEVYUEVD
VF9FUShiaXRtYXAyLmdldChpKSwgYml0bWFwMkNsb25lLmdldChpKSk7CiAKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgRVhQRUNUX1RSVUUoYml0bWFwRmls
bGVkLmdldChpKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKGJpdG1hcE9uZXMuZ2V0KGkpKTsKIAog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc21hbGxTaXplOyArK2kpCi0gICAgICAgIEVYUEVD
VF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVkLmdldChpKSk7CisgICAgICAgIEVYUEVDVF9UUlVFKHNt
YWxsQml0bWFwT25lcy5nZXQoaSkpOwogCiAgICAgLy8gVmVyaWZ5IHRoYXQgdGhlcmUgaXMgbm8g
b3V0IG9mIGJvdW5kcyB3cml0ZSBmcm9tIHRoZSBhYm92ZSBzZXQgb3BlcmF0aW9ucy4KLSAgICB2
ZXJpZnlJc0VtcHR5KGJpdG1hcDApOwotICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwU21hbGxaZXJv
ZWQpOworICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwWmVyb2VzKTsKKyAgICB2ZXJpZnlJc0VtcHR5
KHNtYWxsQml0bWFwWmVyb2VzKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBA
IC0yMDQsMTEgKzIwNCwxMSBAQCB2b2lkIHRlc3RCaXRtYXBUZXN0QW5kU2V0KCkKICAgICAgICAg
QVNTRVJUX0VRKGJpdG1hcDEudGVzdEFuZFNldChpKSwgZXhwZWN0ZWRCaXRzMVtpXSk7CiAgICAg
QVNTRVJUX1RSVUUoYml0bWFwMS5pc0Z1bGwoKSk7CiAKLSAgICBBU1NFUlRfRkFMU0UoYml0bWFw
U21hbGxaZXJvZWQuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2Vk
LmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX0ZBTFNFKHNtYWxsQml0bWFwWmVyb2VzLmlzRnVsbCgp
KTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOwogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgc21hbGxTaXplOyArK2kpCi0gICAgICAgIEFTU0VSVF9GQUxT
RShiaXRtYXBTbWFsbFplcm9lZC50ZXN0QW5kU2V0KGkpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRt
YXBTbWFsbFplcm9lZC5pc0Z1bGwoKSk7CisgICAgICAgIEFTU0VSVF9GQUxTRShzbWFsbEJpdG1h
cFplcm9lcy50ZXN0QW5kU2V0KGkpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9l
cy5pc0Z1bGwoKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRUeXBlPgpAQCAtMjIzLDEx
ICsyMjMsMTEgQEAgdm9pZCB0ZXN0Qml0bWFwVGVzdEFuZENsZWFyKCkKICAgICAgICAgQVNTRVJU
X0VRKGJpdG1hcDEudGVzdEFuZENsZWFyKGkpLCBleHBlY3RlZEJpdHMxW2ldKTsKICAgICBBU1NF
UlRfVFJVRShiaXRtYXAxLmlzRW1wdHkoKSk7CiAKLSAgICBBU1NFUlRfRkFMU0UoYml0bWFwU21h
bGxGaWxsZWQuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5p
c0Z1bGwoKSk7CisgICAgQVNTRVJUX0ZBTFNFKHNtYWxsQml0bWFwT25lcy5pc0VtcHR5KCkpOwor
ICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5pc0Z1bGwoKSk7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBzbWFsbFNpemU7ICsraSkKLSAgICAgICAgQVNTRVJUX1RSVUUoYml0bWFw
U21hbGxGaWxsZWQudGVzdEFuZENsZWFyKGkpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFs
bEZpbGxlZC5pc0VtcHR5KCkpOworICAgICAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMu
dGVzdEFuZENsZWFyKGkpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMuaXNFbXB0
eSgpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC0yNDQsMTEgKzI0NCwx
MSBAQCB2b2lkIHRlc3RCaXRtYXBDb25jdXJyZW50VGVzdEFuZFNldCgpCiAgICAgICAgIEFTU0VS
VF9FUShiaXRtYXAxLnRlc3RBbmRTZXQoaSksIGV4cGVjdGVkQml0czFbaV0pOwogICAgIEFTU0VS
VF9UUlVFKGJpdG1hcDEuaXNGdWxsKCkpOwogCi0gICAgQVNTRVJUX0ZBTFNFKGJpdG1hcFNtYWxs
WmVyb2VkLmlzRnVsbCgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbFplcm9lZC5pc0Vt
cHR5KCkpOworICAgIEFTU0VSVF9GQUxTRShzbWFsbEJpdG1hcFplcm9lcy5pc0Z1bGwoKSk7Cisg
ICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNtYWxsU2l6ZTsgKytpKQotICAgICAgICBBU1NFUlRfRkFMU0UoYml0
bWFwU21hbGxaZXJvZWQudGVzdEFuZFNldChpKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21h
bGxaZXJvZWQuaXNGdWxsKCkpOworICAgICAgICBBU1NFUlRfRkFMU0Uoc21hbGxCaXRtYXBaZXJv
ZXMudGVzdEFuZFNldChpKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBaZXJvZXMuaXNG
dWxsKCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTI2NSwxMSArMjY1
LDExIEBAIHZvaWQgdGVzdEJpdG1hcENvbmN1cnJlbnRUZXN0QW5kQ2xlYXIoKQogICAgICAgICBB
U1NFUlRfRVEoYml0bWFwMS50ZXN0QW5kQ2xlYXIoaSksIGV4cGVjdGVkQml0czFbaV0pOwogICAg
IEFTU0VSVF9UUlVFKGJpdG1hcDEuaXNFbXB0eSgpKTsKIAotICAgIEFTU0VSVF9GQUxTRShiaXRt
YXBTbWFsbEZpbGxlZC5pc0VtcHR5KCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmls
bGVkLmlzRnVsbCgpKTsKKyAgICBBU1NFUlRfRkFMU0Uoc21hbGxCaXRtYXBPbmVzLmlzRW1wdHko
KSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHNtYWxsU2l6ZTsgKytpKQotICAgICAgICBBU1NFUlRfVFJVRShi
aXRtYXBTbWFsbEZpbGxlZC50ZXN0QW5kQ2xlYXIoaSkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1h
cFNtYWxsRmlsbGVkLmlzRW1wdHkoKSk7CisgICAgICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFw
T25lcy50ZXN0QW5kQ2xlYXIoaSkpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5p
c0VtcHR5KCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTI3NywxMiAr
Mjc3LDEyIEBAIHZvaWQgdGVzdEJpdG1hcENsZWFyKCkKIHsKICAgICBERUNMQVJFX0FORF9JTklU
X0JJVE1BUFNfRk9SX1RFU1QoKTsKIAotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5pc0Z1
bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgaWYgKCFleHBlY3RlZEJpdHMx
W2ldKQotICAgICAgICAgICAgYml0bWFwRmlsbGVkLmNsZWFyKGkpOworICAgICAgICAgICAgYml0
bWFwT25lcy5jbGVhcihpKTsKICAgICB9Ci0gICAgQVNTRVJUX0VRKGJpdG1hcEZpbGxlZCwgYml0
bWFwMSk7CisgICAgQVNTRVJUX0VRKGJpdG1hcE9uZXMsIGJpdG1hcDEpOwogfQogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTMwNiwyMyArMzA2LDIzIEBAIHZvaWQgdGVzdEJpdG1h
cENsZWFyQWxsKCkKICAgICBFWFBFQ1RfRkFMU0UoYml0bWFwMS5pc0VtcHR5KCkpOwogICAgIGJp
dG1hcDEuY2xlYXJBbGwoKTsKICAgICB2ZXJpZnlJc0VtcHR5KGJpdG1hcDEpOwotICAgIHZlcmlm
eUlzRnVsbChiaXRtYXBGaWxsZWQpOwotICAgIHZlcmlmeUlzRnVsbChiaXRtYXBTbWFsbEZpbGxl
ZCk7CisgICAgdmVyaWZ5SXNGdWxsKGJpdG1hcE9uZXMpOworICAgIHZlcmlmeUlzRnVsbChzbWFs
bEJpdG1hcE9uZXMpOwogCiAgICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDIuaXNFbXB0eSgpKTsKICAg
ICBiaXRtYXAyLmNsZWFyQWxsKCk7CiAgICAgdmVyaWZ5SXNFbXB0eShiaXRtYXAxKTsKICAgICB2
ZXJpZnlJc0VtcHR5KGJpdG1hcDIpOwotICAgIHZlcmlmeUlzRnVsbChiaXRtYXBGaWxsZWQpOwot
ICAgIHZlcmlmeUlzRnVsbChiaXRtYXBTbWFsbEZpbGxlZCk7CisgICAgdmVyaWZ5SXNGdWxsKGJp
dG1hcE9uZXMpOworICAgIHZlcmlmeUlzRnVsbChzbWFsbEJpdG1hcE9uZXMpOwogCi0gICAgRVhQ
RUNUX0ZBTFNFKGJpdG1hcDMuaXNFbXB0eSgpKTsKLSAgICBiaXRtYXAzLmNsZWFyQWxsKCk7Cisg
ICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDJDbG9uZS5pc0VtcHR5KCkpOworICAgIGJpdG1hcDJDbG9u
ZS5jbGVhckFsbCgpOwogICAgIHZlcmlmeUlzRW1wdHkoYml0bWFwMSk7CiAgICAgdmVyaWZ5SXNF
bXB0eShiaXRtYXAyKTsKLSAgICB2ZXJpZnlJc0VtcHR5KGJpdG1hcDMpOwotICAgIHZlcmlmeUlz
RnVsbChiaXRtYXBGaWxsZWQpOwotICAgIHZlcmlmeUlzRnVsbChiaXRtYXBTbWFsbEZpbGxlZCk7
CisgICAgdmVyaWZ5SXNFbXB0eShiaXRtYXAyQ2xvbmUpOworICAgIHZlcmlmeUlzRnVsbChiaXRt
YXBPbmVzKTsKKyAgICB2ZXJpZnlJc0Z1bGwoc21hbGxCaXRtYXBPbmVzKTsKIH0KIAogdGVtcGxh
dGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC0zNDEsOCArMzQxLDggQEAgdm9pZCB0ZXN0Qml0bWFw
SW52ZXJ0KCkKICAgICAgICAgQVNTRVJUX0ZBTFNFKGJpdG1hcC5pc0VtcHR5KCkpOwogICAgIH07
CiAKLSAgICB2ZXJpZnlJbnZlcnQoYml0bWFwRmlsbGVkKTsKLSAgICB2ZXJpZnlJbnZlcnQoYml0
bWFwU21hbGxGaWxsZWQpOworICAgIHZlcmlmeUludmVydChiaXRtYXBPbmVzKTsKKyAgICB2ZXJp
ZnlJbnZlcnQoc21hbGxCaXRtYXBPbmVzKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
c2l6ZTsgKytpKQogICAgICAgICBBU1NFUlRfRVEoYml0bWFwMS5nZXQoaSksIGV4cGVjdGVkQml0
czFbaV0pOwpAQCAtMzgxLDE3ICszODEsMTcgQEAgdm9pZCB0ZXN0Qml0bWFwRmluZFJ1bk9mWmVy
b3MoKQogICAgIH07CiAKICAgICBmb3IgKHNpemVfdCBydW5MZW5ndGggPSAwOyBydW5MZW5ndGgg
PCAxNTsgKytydW5MZW5ndGgpIHsKLSAgICAgICAgQVNTRVJUX0VRKGJpdG1hcDAuZmluZFJ1bk9m
WmVyb3MocnVuTGVuZ3RoKSwgMGxsKTsKKyAgICAgICAgQVNTRVJUX0VRKGJpdG1hcFplcm9lcy5m
aW5kUnVuT2ZaZXJvcyhydW5MZW5ndGgpLCAwbGwpOwogICAgICAgICBBU1NFUlRfRVEoYml0bWFw
MS5maW5kUnVuT2ZaZXJvcyhydW5MZW5ndGgpLCBiaXRtYXAxUnVuc09mWmVyb3NbcnVuTGVuZ3Ro
XSk7CiAgICAgICAgIEFTU0VSVF9FUShiaXRtYXAyLmZpbmRSdW5PZlplcm9zKHJ1bkxlbmd0aCks
IGJpdG1hcDJSdW5zT2ZaZXJvc1tydW5MZW5ndGhdKTsKLSAgICAgICAgQVNTRVJUX0VRKGJpdG1h
cEZpbGxlZC5maW5kUnVuT2ZaZXJvcyhydW5MZW5ndGgpLCAtMWxsKTsKKyAgICAgICAgQVNTRVJU
X0VRKGJpdG1hcE9uZXMuZmluZFJ1bk9mWmVyb3MocnVuTGVuZ3RoKSwgLTFsbCk7CiAKICAgICAg
ICAgaWYgKHJ1bkxlbmd0aCA8PSBzbWFsbFNpemUpCi0gICAgICAgICAgICBBU1NFUlRfRVEoYml0
bWFwU21hbGxaZXJvZWQuZmluZFJ1bk9mWmVyb3MocnVuTGVuZ3RoKSwgMGxsKTsKKyAgICAgICAg
ICAgIEFTU0VSVF9FUShzbWFsbEJpdG1hcFplcm9lcy5maW5kUnVuT2ZaZXJvcyhydW5MZW5ndGgp
LCAwbGwpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBBU1NFUlRfRVEoYml0bWFwU21hbGxa
ZXJvZWQuZmluZFJ1bk9mWmVyb3MocnVuTGVuZ3RoKSwgLTFsbCk7CisgICAgICAgICAgICBBU1NF
UlRfRVEoc21hbGxCaXRtYXBaZXJvZXMuZmluZFJ1bk9mWmVyb3MocnVuTGVuZ3RoKSwgLTFsbCk7
CiAKLSAgICAgICAgQVNTRVJUX0VRKGJpdG1hcFNtYWxsRmlsbGVkLmZpbmRSdW5PZlplcm9zKHJ1
bkxlbmd0aCksIC0xbGwpOworICAgICAgICBBU1NFUlRfRVEoc21hbGxCaXRtYXBPbmVzLmZpbmRS
dW5PZlplcm9zKHJ1bkxlbmd0aCksIC0xbGwpOwogCiAgICAgICAgIEFTU0VSVF9FUShzbWFsbFRl
bXAuZmluZFJ1bk9mWmVyb3MocnVuTGVuZ3RoKSwgc21hbGxUZW1wUnVuc09mWmVyb3NbcnVuTGVu
Z3RoXSk7CiAgICAgfQpAQCAtNDAyLDEzICs0MDIsMTMgQEAgdm9pZCB0ZXN0Qml0bWFwQ291bnQo
KQogewogICAgIERFQ0xBUkVfQU5EX0lOSVRfQklUTUFQU19GT1JfVEVTVCgpOwogCi0gICAgRVhQ
RUNUX0VRKGJpdG1hcDAuY291bnQoKSwgemVyb1NpemUpOworICAgIEVYUEVDVF9FUShiaXRtYXBa
ZXJvZXMuY291bnQoKSwgemVyb1NpemUpOwogICAgIEVYUEVDVF9FUShiaXRtYXAxLmNvdW50KCks
IGV4cGVjdGVkTnVtYmVyT2ZTZXRCaXRzMSk7CiAgICAgRVhQRUNUX0VRKGJpdG1hcDIuY291bnQo
KSwgZXhwZWN0ZWROdW1iZXJPZlNldEJpdHMyKTsKLSAgICBFWFBFQ1RfRVEoYml0bWFwMy5jb3Vu
dCgpLCBleHBlY3RlZE51bWJlck9mU2V0Qml0czIpOwotICAgIEVYUEVDVF9FUShiaXRtYXBGaWxs
ZWQuY291bnQoKSwgc2l6ZSk7Ci0gICAgRVhQRUNUX0VRKGJpdG1hcFNtYWxsWmVyb2VkLmNvdW50
KCksIHplcm9TaXplKTsKLSAgICBFWFBFQ1RfRVEoYml0bWFwU21hbGxGaWxsZWQuY291bnQoKSwg
c21hbGxTaXplKTsKKyAgICBFWFBFQ1RfRVEoYml0bWFwMkNsb25lLmNvdW50KCksIGV4cGVjdGVk
TnVtYmVyT2ZTZXRCaXRzMik7CisgICAgRVhQRUNUX0VRKGJpdG1hcE9uZXMuY291bnQoKSwgc2l6
ZSk7CisgICAgRVhQRUNUX0VRKHNtYWxsQml0bWFwWmVyb2VzLmNvdW50KCksIHplcm9TaXplKTsK
KyAgICBFWFBFQ1RfRVEoc21hbGxCaXRtYXBPbmVzLmNvdW50KCksIHNtYWxsU2l6ZSk7CiB9CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRUeXBlPgpAQCAtNDE2LDEzICs0MTYsMTMgQEAgdm9pZCB0
ZXN0Qml0bWFwSXNFbXB0eSgpCiB7CiAgICAgREVDTEFSRV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9U
RVNUKCk7CiAKLSAgICBFWFBFQ1RfVFJVRShiaXRtYXAwLmlzRW1wdHkoKSk7CisgICAgRVhQRUNU
X1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CiAgICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDEu
aXNFbXB0eSgpKTsKICAgICBFWFBFQ1RfRkFMU0UoYml0bWFwMi5pc0VtcHR5KCkpOwotICAgIEVY
UEVDVF9GQUxTRShiaXRtYXAzLmlzRW1wdHkoKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGJpdG1hcEZp
bGxlZC5pc0VtcHR5KCkpOwotICAgIEVYUEVDVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1w
dHkoKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGJpdG1hcFNtYWxsRmlsbGVkLmlzRW1wdHkoKSk7Cisg
ICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDJDbG9uZS5pc0VtcHR5KCkpOworICAgIEVYUEVDVF9GQUxT
RShiaXRtYXBPbmVzLmlzRW1wdHkoKSk7CisgICAgRVhQRUNUX1RSVUUoc21hbGxCaXRtYXBaZXJv
ZXMuaXNFbXB0eSgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc21hbGxCaXRtYXBPbmVzLmlzRW1wdHko
KSk7CiAKICAgICBhdXRvIHZlcmlmeUlzRW1wdHkgPSBbPV0gKGNvbnN0IGF1dG8mIGJpdG1hcCkg
ewogICAgICAgICBFWFBFQ1RfVFJVRShiaXRtYXAuaXNFbXB0eSgpKTsKQEAgLTQzMSw4ICs0MzEs
OCBAQCB2b2lkIHRlc3RCaXRtYXBJc0VtcHR5KCkKICAgICAgICAgICAgIEVYUEVDVF9GQUxTRShi
aXRtYXAuZ2V0KGkpKTsKICAgICB9OwogCi0gICAgdmVyaWZ5SXNFbXB0eShiaXRtYXAwKTsKLSAg
ICB2ZXJpZnlJc0VtcHR5KGJpdG1hcFNtYWxsWmVyb2VkKTsKKyAgICB2ZXJpZnlJc0VtcHR5KGJp
dG1hcFplcm9lcyk7CisgICAgdmVyaWZ5SXNFbXB0eShzbWFsbEJpdG1hcFplcm9lcyk7CiB9CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRUeXBlPgpAQCAtNDQwLDEzICs0NDAsMTMgQEAgdm9pZCB0
ZXN0Qml0bWFwSXNGdWxsKCkKIHsKICAgICBERUNMQVJFX0FORF9JTklUX0JJVE1BUFNfRk9SX1RF
U1QoKTsKIAotICAgIEVYUEVDVF9GQUxTRShiaXRtYXAwLmlzRnVsbCgpKTsKKyAgICBFWFBFQ1Rf
RkFMU0UoYml0bWFwWmVyb2VzLmlzRnVsbCgpKTsKICAgICBFWFBFQ1RfRkFMU0UoYml0bWFwMS5p
c0Z1bGwoKSk7CiAgICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDIuaXNGdWxsKCkpOwotICAgIEVYUEVD
VF9GQUxTRShiaXRtYXAzLmlzRnVsbCgpKTsKLSAgICBFWFBFQ1RfVFJVRShiaXRtYXBGaWxsZWQu
aXNGdWxsKCkpOwotICAgIEVYUEVDVF9GQUxTRShiaXRtYXBTbWFsbFplcm9lZC5pc0Z1bGwoKSk7
Ci0gICAgRVhQRUNUX1RSVUUoYml0bWFwU21hbGxGaWxsZWQuaXNGdWxsKCkpOworICAgIEVYUEVD
VF9GQUxTRShiaXRtYXAyQ2xvbmUuaXNGdWxsKCkpOworICAgIEVYUEVDVF9UUlVFKGJpdG1hcE9u
ZXMuaXNGdWxsKCkpOworICAgIEVYUEVDVF9GQUxTRShzbWFsbEJpdG1hcFplcm9lcy5pc0Z1bGwo
KSk7CisgICAgRVhQRUNUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKIAogICAgIGF1
dG8gdmVyaWZ5SXNGdWxsID0gWz1dIChhdXRvJiBiaXRtYXApIHsKICAgICAgICAgRVhQRUNUX1RS
VUUoYml0bWFwLmlzRnVsbCgpKTsKQEAgLTQ1NCw4ICs0NTQsOCBAQCB2b2lkIHRlc3RCaXRtYXBJ
c0Z1bGwoKQogICAgICAgICAgICAgRVhQRUNUX1RSVUUoYml0bWFwLmdldChpKSk7CiAgICAgfTsK
IAotICAgIHZlcmlmeUlzRnVsbChiaXRtYXBGaWxsZWQpOwotICAgIHZlcmlmeUlzRnVsbChiaXRt
YXBTbWFsbEZpbGxlZCk7CisgICAgdmVyaWZ5SXNGdWxsKGJpdG1hcE9uZXMpOworICAgIHZlcmlm
eUlzRnVsbChzbWFsbEJpdG1hcE9uZXMpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXb3JkVHlw
ZT4KQEAgLTQ2Myw0NiArNDYzLDQ2IEBAIHZvaWQgdGVzdEJpdG1hcE1lcmdlKCkKIHsKICAgICBE
RUNMQVJFX0FORF9JTklUX0JJVE1BUFNfRk9SX1RFU1QoKTsKIAotICAgIEFTU0VSVF9UUlVFKGJp
dG1hcDAuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7Ci0gICAg
Yml0bWFwMi5tZXJnZShiaXRtYXAwKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7
CisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX0VR
KGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CisgICAgYml0bWFwMi5tZXJnZShiaXRtYXBaZXJvZXMp
OworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAyQ2xvbmUpOwogICAgIAogICAgIEFTU0VS
VF9ORShiaXRtYXAxLCBiaXRtYXAyKTsKLSAgICBBU1NFUlRfTkUoYml0bWFwMSwgYml0bWFwMyk7
Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDMpOwotICAgIGJpdG1hcDMubWVyZ2UoYml0
bWFwMSk7Ci0gICAgQVNTRVJUX05FKGJpdG1hcDIsIGJpdG1hcDMpOworICAgIEFTU0VSVF9ORShi
aXRtYXAxLCBiaXRtYXAyQ2xvbmUpOworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAyQ2xv
bmUpOworICAgIGJpdG1hcDJDbG9uZS5tZXJnZShiaXRtYXAxKTsKKyAgICBBU1NFUlRfTkUoYml0
bWFwMiwgYml0bWFwMkNsb25lKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsr
aSkgewogICAgICAgICBib29sIGV4cGVjdGVkQml0ID0gZXhwZWN0ZWRCaXRzMltpXSB8IGV4cGVj
dGVkQml0czFbaV07Ci0gICAgICAgIEFTU0VSVF9FUShiaXRtYXAzLmdldChpKSwgZXhwZWN0ZWRC
aXQpOworICAgICAgICBBU1NFUlRfRVEoYml0bWFwMkNsb25lLmdldChpKSwgZXhwZWN0ZWRCaXQp
OwogICAgIH0KIAotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAg
QVNTRVJUX1RSVUUoYml0bWFwMC5pc0VtcHR5KCkpOwotICAgIGJpdG1hcEZpbGxlZC5tZXJnZShi
aXRtYXAwKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOwotICAgIEFT
U0VSVF9UUlVFKGJpdG1hcDAuaXNFbXB0eSgpKTsKLQotICAgIGJpdG1hcDAubWVyZ2UoYml0bWFw
MSk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDAsIGJpdG1hcDEpOwotCi0gICAgYml0bWFwMS5tZXJn
ZShiaXRtYXBGaWxsZWQpOwotICAgIEFTU0VSVF9FUShiaXRtYXAxLCBiaXRtYXBGaWxsZWQpOwot
Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxaZXJvZWQuaXNFbXB0eSgpKTsKLSAgICBBU1NF
UlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAgYml0bWFwU21hbGxaZXJv
ZWQubWVyZ2UoYml0bWFwU21hbGxGaWxsZWQpOwotICAgIEFTU0VSVF9GQUxTRShiaXRtYXBTbWFs
bFplcm9lZC5pc0VtcHR5KCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlz
RnVsbCgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwoKSk7Cisg
ICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoYml0
bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAgYml0bWFwT25lcy5tZXJnZShiaXRtYXBaZXJvZXMp
OworICAgIEFTU0VSVF9UUlVFKGJpdG1hcE9uZXMuaXNGdWxsKCkpOworICAgIEFTU0VSVF9UUlVF
KGJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOworCisgICAgYml0bWFwWmVyb2VzLm1lcmdlKGJpdG1h
cDEpOworICAgIEFTU0VSVF9FUShiaXRtYXBaZXJvZXMsIGJpdG1hcDEpOworCisgICAgYml0bWFw
MS5tZXJnZShiaXRtYXBPbmVzKTsKKyAgICBBU1NFUlRfRVEoYml0bWFwMSwgYml0bWFwT25lcyk7
CisKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOworICAgIEFT
U0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgc21hbGxCaXRtYXBaZXJv
ZXMubWVyZ2Uoc21hbGxCaXRtYXBPbmVzKTsKKyAgICBBU1NFUlRfRkFMU0Uoc21hbGxCaXRtYXBa
ZXJvZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0Z1
bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKICAgICAK
LSAgICBiaXRtYXBTbWFsbFplcm9lZC5jbGVhckFsbCgpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1h
cFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxGaWxs
ZWQuaXNGdWxsKCkpOwotICAgIGJpdG1hcFNtYWxsRmlsbGVkLm1lcmdlKGJpdG1hcFNtYWxsWmVy
b2VkKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAg
QVNTRVJUX1RSVUUoYml0bWFwU21hbGxaZXJvZWQuaXNFbXB0eSgpKTsKKyAgICBzbWFsbEJpdG1h
cFplcm9lcy5jbGVhckFsbCgpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwWmVyb2VzLmlz
RW1wdHkoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKKyAg
ICBzbWFsbEJpdG1hcE9uZXMubWVyZ2Uoc21hbGxCaXRtYXBaZXJvZXMpOworICAgIEFTU0VSVF9U
UlVFKHNtYWxsQml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRt
YXBaZXJvZXMuaXNFbXB0eSgpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBA
IC01MTAsNDQgKzUxMCw0NCBAQCB2b2lkIHRlc3RCaXRtYXBGaWx0ZXIoKQogewogICAgIERFQ0xB
UkVfQU5EX0lOSVRfQklUTUFQU19GT1JfVEVTVCgpOwogCi0gICAgQVNTRVJUX1RSVUUoYml0bWFw
RmlsbGVkLmlzRnVsbCgpKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7Ci0gICAg
Yml0bWFwMi5maWx0ZXIoYml0bWFwRmlsbGVkKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0
bWFwMyk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgQVNTRVJU
X0VRKGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CisgICAgYml0bWFwMi5maWx0ZXIoYml0bWFwT25l
cyk7CisgICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CiAgICAgCiAgICAgQVNT
RVJUX05FKGJpdG1hcDEsIGJpdG1hcDIpOwotICAgIEFTU0VSVF9ORShiaXRtYXAxLCBiaXRtYXAz
KTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7Ci0gICAgYml0bWFwMy5maWx0ZXIo
Yml0bWFwMSk7Ci0gICAgQVNTRVJUX05FKGJpdG1hcDIsIGJpdG1hcDMpOworICAgIEFTU0VSVF9O
RShiaXRtYXAxLCBiaXRtYXAyQ2xvbmUpOworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAy
Q2xvbmUpOworICAgIGJpdG1hcDJDbG9uZS5maWx0ZXIoYml0bWFwMSk7CisgICAgQVNTRVJUX05F
KGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXpl
OyArK2kpIHsKICAgICAgICAgYm9vbCBleHBlY3RlZEJpdCA9IGV4cGVjdGVkQml0czJbaV0gJiBl
eHBlY3RlZEJpdHMxW2ldOwotICAgICAgICBBU1NFUlRfRVEoYml0bWFwMy5nZXQoaSksIGV4cGVj
dGVkQml0KTsKKyAgICAgICAgQVNTRVJUX0VRKGJpdG1hcDJDbG9uZS5nZXQoaSksIGV4cGVjdGVk
Qml0KTsKICAgICB9CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXAwLmlzRW1wdHkoKSk7Ci0gICAg
Yml0bWFwMi5maWx0ZXIoYml0bWFwMCk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDAp
OwotCi0gICAgQVNTRVJUX1RSVUUoYml0bWFwMC5pc0VtcHR5KCkpOwotICAgIGJpdG1hcDAuZmls
dGVyKGJpdG1hcDEpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDAuaXNFbXB0eSgpKTsKLQotICAg
IEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAgYml0bWFwRmlsbGVkLmZp
bHRlcihiaXRtYXAxKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwRmlsbGVkLCBiaXRtYXAxKTsKLQot
ICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJU
X1RSVUUoYml0bWFwU21hbGxGaWxsZWQuaXNGdWxsKCkpOwotICAgIGJpdG1hcFNtYWxsWmVyb2Vk
LmZpbHRlcihiaXRtYXBTbWFsbEZpbGxlZCk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxa
ZXJvZWQuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfRkFMU0UoYml0bWFwU21hbGxaZXJvZWQuaXNG
dWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVkLmlzRnVsbCgpKTsKKyAg
ICBBU1NFUlRfVFJVRShiaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKKyAgICBiaXRtYXAyLmZpbHRl
cihiaXRtYXBaZXJvZXMpOworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXBaZXJvZXMpOwor
CisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAgYml0bWFwWmVy
b2VzLmZpbHRlcihiaXRtYXAxKTsKKyAgICBBU1NFUlRfVFJVRShiaXRtYXBaZXJvZXMuaXNFbXB0
eSgpKTsKKworICAgIEFTU0VSVF9UUlVFKGJpdG1hcE9uZXMuaXNGdWxsKCkpOworICAgIGJpdG1h
cE9uZXMuZmlsdGVyKGJpdG1hcDEpOworICAgIEFTU0VSVF9FUShiaXRtYXBPbmVzLCBiaXRtYXAx
KTsKKworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAg
QVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKKyAgICBzbWFsbEJpdG1hcFpl
cm9lcy5maWx0ZXIoc21hbGxCaXRtYXBPbmVzKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1h
cFplcm9lcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9GQUxTRShzbWFsbEJpdG1hcFplcm9lcy5p
c0Z1bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKICAg
ICAKLSAgICBiaXRtYXBTbWFsbEZpbGxlZC5maWx0ZXIoYml0bWFwU21hbGxaZXJvZWQpOwotICAg
IEFTU0VSVF9GQUxTRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAgQVNTRVJUX1RS
VUUoYml0bWFwU21hbGxGaWxsZWQuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBT
bWFsbFplcm9lZC5pc0VtcHR5KCkpOworICAgIHNtYWxsQml0bWFwT25lcy5maWx0ZXIoc21hbGxC
aXRtYXBaZXJvZXMpOworICAgIEFTU0VSVF9GQUxTRShzbWFsbEJpdG1hcE9uZXMuaXNGdWxsKCkp
OworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5pc0VtcHR5KCkpOworICAgIEFTU0VS
VF9UUlVFKHNtYWxsQml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFdvcmRUeXBlPgpAQCAtNTU1LDQ1ICs1NTUsNDUgQEAgdm9pZCB0ZXN0Qml0bWFwRXhjbHVk
ZSgpCiB7CiAgICAgREVDTEFSRV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7CiAKLSAgICBB
U1NFUlRfVFJVRShiaXRtYXAwLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJp
dG1hcDMpOwotICAgIGJpdG1hcDIuZXhjbHVkZShiaXRtYXAwKTsKLSAgICBBU1NFUlRfRVEoYml0
bWFwMiwgYml0bWFwMyk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7
CisgICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CisgICAgYml0bWFwMi5leGNs
dWRlKGJpdG1hcFplcm9lcyk7CisgICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7
CiAgICAgCiAgICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1hcDIpOwotICAgIEFTU0VSVF9ORShi
aXRtYXAxLCBiaXRtYXAzKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7Ci0gICAg
Yml0bWFwMy5leGNsdWRlKGJpdG1hcDEpOwotICAgIEFTU0VSVF9ORShiaXRtYXAyLCBiaXRtYXAz
KTsKKyAgICBBU1NFUlRfTkUoYml0bWFwMSwgYml0bWFwMkNsb25lKTsKKyAgICBBU1NFUlRfRVEo
Yml0bWFwMiwgYml0bWFwMkNsb25lKTsKKyAgICBiaXRtYXAyQ2xvbmUuZXhjbHVkZShiaXRtYXAx
KTsKKyAgICBBU1NFUlRfTkUoYml0bWFwMiwgYml0bWFwMkNsb25lKTsKICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgICBib29sIGV4cGVjdGVkQml0ID0gZXhw
ZWN0ZWRCaXRzMltpXSAmICFleHBlY3RlZEJpdHMxW2ldOwotICAgICAgICBBU1NFUlRfRVEoYml0
bWFwMy5nZXQoaSksIGV4cGVjdGVkQml0KTsKKyAgICAgICAgQVNTRVJUX0VRKGJpdG1hcDJDbG9u
ZS5nZXQoaSksIGV4cGVjdGVkQml0KTsKICAgICB9CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXAw
LmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwRmlsbGVkLmlzRnVsbCgpKTsKLSAg
ICBiaXRtYXAyLmV4Y2x1ZGUoYml0bWFwRmlsbGVkKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwg
Yml0bWFwMCk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAg
QVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgYml0bWFwMi5leGNsdWRlKGJp
dG1hcE9uZXMpOworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXBaZXJvZXMpOwogCi0gICAg
QVNTRVJUX1RSVUUoYml0bWFwRmlsbGVkLmlzRnVsbCgpKTsKLSAgICBiaXRtYXBGaWxsZWQuZXhj
bHVkZShiaXRtYXAxKTsKKyAgICBBU1NFUlRfVFJVRShiaXRtYXBPbmVzLmlzRnVsbCgpKTsKKyAg
ICBiaXRtYXBPbmVzLmV4Y2x1ZGUoYml0bWFwMSk7CiAgICAgYml0bWFwMS5pbnZlcnQoKTsKLSAg
ICBBU1NFUlRfRVEoYml0bWFwRmlsbGVkLCBiaXRtYXAxKTsKKyAgICBBU1NFUlRfRVEoYml0bWFw
T25lcywgYml0bWFwMSk7CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbFplcm9lZC5pc0Vt
cHR5KCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVkLmlzRnVsbCgpKTsKLSAg
ICBiaXRtYXBTbWFsbFplcm9lZC5leGNsdWRlKGJpdG1hcFNtYWxsRmlsbGVkKTsKLSAgICBBU1NF
UlRfVFJVRShiaXRtYXBTbWFsbFplcm9lZC5pc0VtcHR5KCkpOwotICAgIEFTU0VSVF9GQUxTRShi
aXRtYXBTbWFsbFplcm9lZC5pc0Z1bGwoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxG
aWxsZWQuaXNGdWxsKCkpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwWmVyb2VzLmlzRW1w
dHkoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmlzRnVsbCgpKTsKKyAgICBz
bWFsbEJpdG1hcFplcm9lcy5leGNsdWRlKHNtYWxsQml0bWFwT25lcyk7CisgICAgQVNTRVJUX1RS
VUUoc21hbGxCaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfRkFMU0Uoc21hbGxC
aXRtYXBaZXJvZXMuaXNGdWxsKCkpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5p
c0Z1bGwoKSk7CiAgICAgCi0gICAgYml0bWFwU21hbGxGaWxsZWQuZXhjbHVkZShiaXRtYXBTbWFs
bFplcm9lZCk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxGaWxsZWQuaXNGdWxsKCkpOwot
ICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0KLSAgICBiaXRt
YXBTbWFsbEZpbGxlZC5leGNsdWRlKGJpdG1hcFNtYWxsRmlsbGVkKTsKLSAgICBBU1NFUlRfRkFM
U0UoYml0bWFwU21hbGxGaWxsZWQuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNt
YWxsRmlsbGVkLmlzRW1wdHkoKSk7CisgICAgc21hbGxCaXRtYXBPbmVzLmV4Y2x1ZGUoc21hbGxC
aXRtYXBaZXJvZXMpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwT25lcy5pc0Z1bGwoKSk7
CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKKworICAgIHNt
YWxsQml0bWFwT25lcy5leGNsdWRlKHNtYWxsQml0bWFwT25lcyk7CisgICAgQVNTRVJUX0ZBTFNF
KHNtYWxsQml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBP
bmVzLmlzRW1wdHkoKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRUeXBlPgpAQCAtNjAz
LDQ0ICs2MDMsNDQgQEAgdm9pZCB0ZXN0Qml0bWFwQ29uY3VycmVudEZpbHRlcigpCiAKICAgICAv
LyBGSVhNRTogdGhlIGZvbGxvd2luZyBkb2VzIG5vdCB0ZXN0IHRoZSBjb25jdXJyZW50IHBhcnQu
IEl0IG9ubHkgZW5zdXJlcyB0aGF0CiAgICAgLy8gdGhlIEZpbHRlciBwYXJ0IG9mIHRoZSBvcGVy
YXRpb24gaXMgd29ya2luZy4KLSAgICBBU1NFUlRfVFJVRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkp
OwotICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAzKTsKLSAgICBiaXRtYXAyLmNvbmN1cnJl
bnRGaWx0ZXIoYml0bWFwRmlsbGVkKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMiwgYml0bWFwMyk7
CisgICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgQVNTRVJUX0VRKGJp
dG1hcDIsIGJpdG1hcDJDbG9uZSk7CisgICAgYml0bWFwMi5jb25jdXJyZW50RmlsdGVyKGJpdG1h
cE9uZXMpOworICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAyQ2xvbmUpOwogICAgIAogICAg
IEFTU0VSVF9ORShiaXRtYXAxLCBiaXRtYXAyKTsKLSAgICBBU1NFUlRfTkUoYml0bWFwMSwgYml0
bWFwMyk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDIsIGJpdG1hcDMpOwotICAgIGJpdG1hcDMuY29u
Y3VycmVudEZpbHRlcihiaXRtYXAxKTsKLSAgICBBU1NFUlRfTkUoYml0bWFwMiwgYml0bWFwMyk7
CisgICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1hcDJDbG9uZSk7CisgICAgQVNTRVJUX0VRKGJp
dG1hcDIsIGJpdG1hcDJDbG9uZSk7CisgICAgYml0bWFwMkNsb25lLmNvbmN1cnJlbnRGaWx0ZXIo
Yml0bWFwMSk7CisgICAgQVNTRVJUX05FKGJpdG1hcDIsIGJpdG1hcDJDbG9uZSk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgYm9vbCBleHBlY3RlZEJp
dCA9IGV4cGVjdGVkQml0czJbaV0gJiBleHBlY3RlZEJpdHMxW2ldOwotICAgICAgICBBU1NFUlRf
RVEoYml0bWFwMy5nZXQoaSksIGV4cGVjdGVkQml0KTsKKyAgICAgICAgQVNTRVJUX0VRKGJpdG1h
cDJDbG9uZS5nZXQoaSksIGV4cGVjdGVkQml0KTsKICAgICB9CiAKLSAgICBBU1NFUlRfVFJVRShi
aXRtYXAwLmlzRW1wdHkoKSk7Ci0gICAgYml0bWFwMi5jb25jdXJyZW50RmlsdGVyKGJpdG1hcDAp
OwotICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAwKTsKLQotICAgIEFTU0VSVF9UUlVFKGJp
dG1hcDAuaXNFbXB0eSgpKTsKLSAgICBiaXRtYXAwLmNvbmN1cnJlbnRGaWx0ZXIoYml0bWFwMSk7
Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwMC5pc0VtcHR5KCkpOwotCi0gICAgQVNTRVJUX1RSVUUo
Yml0bWFwRmlsbGVkLmlzRnVsbCgpKTsKLSAgICBiaXRtYXBGaWxsZWQuY29uY3VycmVudEZpbHRl
cihiaXRtYXAxKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwRmlsbGVkLCBiaXRtYXAxKTsKLQotICAg
IEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RS
VUUoYml0bWFwU21hbGxGaWxsZWQuaXNGdWxsKCkpOwotICAgIGJpdG1hcFNtYWxsWmVyb2VkLmNv
bmN1cnJlbnRGaWx0ZXIoYml0bWFwU21hbGxGaWxsZWQpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1h
cFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGJpdG1hcFNtYWxsWmVy
b2VkLmlzRnVsbCgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwo
KSk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAgYml0bWFw
Mi5jb25jdXJyZW50RmlsdGVyKGJpdG1hcFplcm9lcyk7CisgICAgQVNTRVJUX0VRKGJpdG1hcDIs
IGJpdG1hcFplcm9lcyk7CisKKyAgICBBU1NFUlRfVFJVRShiaXRtYXBaZXJvZXMuaXNFbXB0eSgp
KTsKKyAgICBiaXRtYXBaZXJvZXMuY29uY3VycmVudEZpbHRlcihiaXRtYXAxKTsKKyAgICBBU1NF
UlRfVFJVRShiaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKKworICAgIEFTU0VSVF9UUlVFKGJpdG1h
cE9uZXMuaXNGdWxsKCkpOworICAgIGJpdG1hcE9uZXMuY29uY3VycmVudEZpbHRlcihiaXRtYXAx
KTsKKyAgICBBU1NFUlRfRVEoYml0bWFwT25lcywgYml0bWFwMSk7CisKKyAgICBBU1NFUlRfVFJV
RShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0
bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgc21hbGxCaXRtYXBaZXJvZXMuY29uY3VycmVudEZpbHRl
cihzbWFsbEJpdG1hcE9uZXMpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0bWFwWmVyb2VzLmlz
RW1wdHkoKSk7CisgICAgQVNTRVJUX0ZBTFNFKHNtYWxsQml0bWFwWmVyb2VzLmlzRnVsbCgpKTsK
KyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMuaXNGdWxsKCkpOwogICAgIAotICAgIGJp
dG1hcFNtYWxsRmlsbGVkLmNvbmN1cnJlbnRGaWx0ZXIoYml0bWFwU21hbGxaZXJvZWQpOwotICAg
IEFTU0VSVF9GQUxTRShiaXRtYXBTbWFsbEZpbGxlZC5pc0Z1bGwoKSk7Ci0gICAgQVNTRVJUX1RS
VUUoYml0bWFwU21hbGxGaWxsZWQuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBT
bWFsbFplcm9lZC5pc0VtcHR5KCkpOworICAgIHNtYWxsQml0bWFwT25lcy5jb25jdXJyZW50Rmls
dGVyKHNtYWxsQml0bWFwWmVyb2VzKTsKKyAgICBBU1NFUlRfRkFMU0Uoc21hbGxCaXRtYXBPbmVz
LmlzRnVsbCgpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMuaXNFbXB0eSgpKTsK
KyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOwogfQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTY0OCw0NSArNjQ4LDQ1IEBAIHZvaWQgdGVzdEJp
dG1hcFN1YnN1bWVzKCkKIHsKICAgICBERUNMQVJFX0FORF9JTklUX0JJVE1BUFNfRk9SX1RFU1Qo
KTsKIAotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDAuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlRfVFJV
RShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9FUShiaXRtYXAyLCBiaXRtYXAz
KTsKLQotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDAuc3Vic3VtZXMoYml0bWFwMCkpOwotICAgIEFT
U0VSVF9GQUxTRShiaXRtYXAwLnN1YnN1bWVzKGJpdG1hcDEpKTsKLSAgICBBU1NFUlRfRkFMU0Uo
Yml0bWFwMC5zdWJzdW1lcyhiaXRtYXAyKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGJpdG1hcDAuc3Vi
c3VtZXMoYml0bWFwMykpOwotICAgIEFTU0VSVF9GQUxTRShiaXRtYXAwLnN1YnN1bWVzKGJpdG1h
cEZpbGxlZCkpOworICAgIEFTU0VSVF9UUlVFKGJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOworICAg
IEFTU0VSVF9UUlVFKGJpdG1hcE9uZXMuaXNGdWxsKCkpOworICAgIEFTU0VSVF9FUShiaXRtYXAy
LCBiaXRtYXAyQ2xvbmUpOworCisgICAgQVNTRVJUX1RSVUUoYml0bWFwWmVyb2VzLnN1YnN1bWVz
KGJpdG1hcFplcm9lcykpOworICAgIEFTU0VSVF9GQUxTRShiaXRtYXBaZXJvZXMuc3Vic3VtZXMo
Yml0bWFwMSkpOworICAgIEFTU0VSVF9GQUxTRShiaXRtYXBaZXJvZXMuc3Vic3VtZXMoYml0bWFw
MikpOworICAgIEFTU0VSVF9GQUxTRShiaXRtYXBaZXJvZXMuc3Vic3VtZXMoYml0bWFwMkNsb25l
KSk7CisgICAgQVNTRVJUX0ZBTFNFKGJpdG1hcFplcm9lcy5zdWJzdW1lcyhiaXRtYXBPbmVzKSk7
CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXAxLnN1YnN1bWVzKGJpdG1hcDApKTsKKyAgICBBU1NF
UlRfVFJVRShiaXRtYXAxLnN1YnN1bWVzKGJpdG1hcFplcm9lcykpOwogICAgIEFTU0VSVF9UUlVF
KGJpdG1hcDEuc3Vic3VtZXMoYml0bWFwMSkpOwogICAgIEFTU0VSVF9GQUxTRShiaXRtYXAxLnN1
YnN1bWVzKGJpdG1hcDIpKTsKLSAgICBBU1NFUlRfRkFMU0UoYml0bWFwMS5zdWJzdW1lcyhiaXRt
YXAzKSk7Ci0gICAgQVNTRVJUX0ZBTFNFKGJpdG1hcDEuc3Vic3VtZXMoYml0bWFwRmlsbGVkKSk7
CisgICAgQVNTRVJUX0ZBTFNFKGJpdG1hcDEuc3Vic3VtZXMoYml0bWFwMkNsb25lKSk7CisgICAg
QVNTRVJUX0ZBTFNFKGJpdG1hcDEuc3Vic3VtZXMoYml0bWFwT25lcykpOwogCi0gICAgQVNTRVJU
X1RSVUUoYml0bWFwMi5zdWJzdW1lcyhiaXRtYXAwKSk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFw
Mi5zdWJzdW1lcyhiaXRtYXBaZXJvZXMpKTsKICAgICBBU1NFUlRfRkFMU0UoYml0bWFwMi5zdWJz
dW1lcyhiaXRtYXAxKSk7CiAgICAgQVNTRVJUX1RSVUUoYml0bWFwMi5zdWJzdW1lcyhiaXRtYXAy
KSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwMi5zdWJzdW1lcyhiaXRtYXAzKSk7Ci0gICAgQVNT
RVJUX0ZBTFNFKGJpdG1hcDIuc3Vic3VtZXMoYml0bWFwRmlsbGVkKSk7CisgICAgQVNTRVJUX1RS
VUUoYml0bWFwMi5zdWJzdW1lcyhiaXRtYXAyQ2xvbmUpKTsKKyAgICBBU1NFUlRfRkFMU0UoYml0
bWFwMi5zdWJzdW1lcyhiaXRtYXBPbmVzKSk7CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXAzLnN1
YnN1bWVzKGJpdG1hcDApKTsKLSAgICBBU1NFUlRfRkFMU0UoYml0bWFwMy5zdWJzdW1lcyhiaXRt
YXAxKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwMy5zdWJzdW1lcyhiaXRtYXAyKSk7Ci0gICAg
QVNTRVJUX1RSVUUoYml0bWFwMy5zdWJzdW1lcyhiaXRtYXAzKSk7Ci0gICAgQVNTRVJUX0ZBTFNF
KGJpdG1hcDMuc3Vic3VtZXMoYml0bWFwRmlsbGVkKSk7Ci0KLSAgICBBU1NFUlRfVFJVRShiaXRt
YXBGaWxsZWQuc3Vic3VtZXMoYml0bWFwMCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxl
ZC5zdWJzdW1lcyhiaXRtYXAxKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwRmlsbGVkLnN1YnN1
bWVzKGJpdG1hcDIpKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBGaWxsZWQuc3Vic3VtZXMoYml0
bWFwMykpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5zdWJzdW1lcyhiaXRtYXBGaWxs
ZWQpKTsKKyAgICBBU1NFUlRfVFJVRShiaXRtYXAyQ2xvbmUuc3Vic3VtZXMoYml0bWFwWmVyb2Vz
KSk7CisgICAgQVNTRVJUX0ZBTFNFKGJpdG1hcDJDbG9uZS5zdWJzdW1lcyhiaXRtYXAxKSk7Cisg
ICAgQVNTRVJUX1RSVUUoYml0bWFwMkNsb25lLnN1YnN1bWVzKGJpdG1hcDIpKTsKKyAgICBBU1NF
UlRfVFJVRShiaXRtYXAyQ2xvbmUuc3Vic3VtZXMoYml0bWFwMkNsb25lKSk7CisgICAgQVNTRVJU
X0ZBTFNFKGJpdG1hcDJDbG9uZS5zdWJzdW1lcyhiaXRtYXBPbmVzKSk7CisKKyAgICBBU1NFUlRf
VFJVRShiaXRtYXBPbmVzLnN1YnN1bWVzKGJpdG1hcFplcm9lcykpOworICAgIEFTU0VSVF9UUlVF
KGJpdG1hcE9uZXMuc3Vic3VtZXMoYml0bWFwMSkpOworICAgIEFTU0VSVF9UUlVFKGJpdG1hcE9u
ZXMuc3Vic3VtZXMoYml0bWFwMikpOworICAgIEFTU0VSVF9UUlVFKGJpdG1hcE9uZXMuc3Vic3Vt
ZXMoYml0bWFwMkNsb25lKSk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5zdWJzdW1lcyhi
aXRtYXBPbmVzKSk7CiAKLSAgICBBU1NFUlRfVFJVRShiaXRtYXBTbWFsbEZpbGxlZC5zdWJzdW1l
cyhiaXRtYXBTbWFsbEZpbGxlZCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVk
LnN1YnN1bWVzKGJpdG1hcFNtYWxsWmVyb2VkKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRt
YXBPbmVzLnN1YnN1bWVzKHNtYWxsQml0bWFwT25lcykpOworICAgIEFTU0VSVF9UUlVFKHNtYWxs
Qml0bWFwT25lcy5zdWJzdW1lcyhzbWFsbEJpdG1hcFplcm9lcykpOwogCi0gICAgQVNTRVJUX0ZB
TFNFKGJpdG1hcFNtYWxsWmVyb2VkLnN1YnN1bWVzKGJpdG1hcFNtYWxsRmlsbGVkKSk7Ci0gICAg
QVNTRVJUX1RSVUUoYml0bWFwU21hbGxaZXJvZWQuc3Vic3VtZXMoYml0bWFwU21hbGxaZXJvZWQp
KTsKKyAgICBBU1NFUlRfRkFMU0Uoc21hbGxCaXRtYXBaZXJvZXMuc3Vic3VtZXMoc21hbGxCaXRt
YXBPbmVzKSk7CisgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBaZXJvZXMuc3Vic3VtZXMoc21h
bGxCaXRtYXBaZXJvZXMpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC02
OTUsOCArNjk1LDggQEAgdm9pZCB0ZXN0Qml0bWFwRm9yRWFjaFNldEJpdCgpCiAgICAgREVDTEFS
RV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7CiAKICAgICBzaXplX3QgY291bnQgPSAwOwot
ICAgIEFTU0VSVF9UUlVFKGJpdG1hcDAuaXNFbXB0eSgpKTsKLSAgICBiaXRtYXAwLmZvckVhY2hT
ZXRCaXQoWyZdIChzaXplX3QgaSkgeworICAgIEFTU0VSVF9UUlVFKGJpdG1hcFplcm9lcy5pc0Vt
cHR5KCkpOworICAgIGJpdG1hcFplcm9lcy5mb3JFYWNoU2V0Qml0KFsmXSAoc2l6ZV90IGkpIHsK
ICAgICAgICAgY29uc3RleHByIGJvb2wgbm90UmVhY2hlZCA9IGZhbHNlOwogICAgICAgICBBU1NF
UlRfVFJVRShub3RSZWFjaGVkKTsKICAgICAgICAgY291bnQrKzsKQEAgLTcxMiwxNiArNzEyLDE2
IEBAIHZvaWQgdGVzdEJpdG1hcEZvckVhY2hTZXRCaXQoKQogICAgIEFTU0VSVF9FUShjb3VudCwg
ZXhwZWN0ZWROdW1iZXJPZlNldEJpdHMxKTsKIAogICAgIGNvdW50ID0gMDsKLSAgICBBU1NFUlRf
VFJVRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOwotICAgIGJpdG1hcEZpbGxlZC5mb3JFYWNoU2V0
Qml0KFsmXSAoc2l6ZV90IGkpIHsKLSAgICAgICAgQVNTRVJUX1RSVUUoYml0bWFwRmlsbGVkLmdl
dChpKSk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgYml0bWFw
T25lcy5mb3JFYWNoU2V0Qml0KFsmXSAoc2l6ZV90IGkpIHsKKyAgICAgICAgQVNTRVJUX1RSVUUo
Yml0bWFwT25lcy5nZXQoaSkpOwogICAgICAgICBjb3VudCsrOwogICAgIH0pOwogICAgIEFTU0VS
VF9FUShjb3VudCwgc2l6ZSk7CiAKICAgICBjb3VudCA9IDA7Ci0gICAgQVNTRVJUX1RSVUUoYml0
bWFwU21hbGxaZXJvZWQuaXNFbXB0eSgpKTsKLSAgICBiaXRtYXBTbWFsbFplcm9lZC5mb3JFYWNo
U2V0Qml0KFsmXSAoc2l6ZV90IGkpIHsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9l
cy5pc0VtcHR5KCkpOworICAgIHNtYWxsQml0bWFwWmVyb2VzLmZvckVhY2hTZXRCaXQoWyZdIChz
aXplX3QgaSkgewogICAgICAgICBjb25zdGV4cHIgYm9vbCBub3RSZWFjaGVkID0gZmFsc2U7CiAg
ICAgICAgIEFTU0VSVF9UUlVFKG5vdFJlYWNoZWQpOwogICAgICAgICBjb3VudCsrOwpAQCAtNzI5
LDkgKzcyOSw5IEBAIHZvaWQgdGVzdEJpdG1hcEZvckVhY2hTZXRCaXQoKQogICAgIEFTU0VSVF9F
UShjb3VudCwgemVyb1NpemUpOwogCiAgICAgY291bnQgPSAwOwotICAgIEFTU0VSVF9UUlVFKGJp
dG1hcFNtYWxsRmlsbGVkLmlzRnVsbCgpKTsKLSAgICBiaXRtYXBTbWFsbEZpbGxlZC5mb3JFYWNo
U2V0Qml0KFsmXSAoc2l6ZV90IGkpIHsKLSAgICAgICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxG
aWxsZWQuZ2V0KGkpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMuaXNGdWxsKCkp
OworICAgIHNtYWxsQml0bWFwT25lcy5mb3JFYWNoU2V0Qml0KFsmXSAoc2l6ZV90IGkpIHsKKyAg
ICAgICAgQVNTRVJUX1RSVUUoc21hbGxCaXRtYXBPbmVzLmdldChpKSk7CiAgICAgICAgIGNvdW50
Kys7CiAgICAgfSk7CiAgICAgQVNTRVJUX0VRKGNvdW50LCBzbWFsbFNpemUpOwpAQCAtNzU2LDMz
ICs3NTYsMzMgQEAgdm9pZCB0ZXN0Qml0bWFwRmluZEJpdCgpCiAgICAgICAgIEFTU0VSVF9FUShi
aXRtYXAyLmZpbmRCaXQoaSwgdHJ1ZSksIGZpbmRFeHBlY3RlZEJpdChleHBlY3RlZEJpdHMyLCBp
LCB0cnVlKSk7CiAgICAgICAgIEFTU0VSVF9FUShiaXRtYXAyLmZpbmRCaXQoaSwgZmFsc2UpLCBm
aW5kRXhwZWN0ZWRCaXQoZXhwZWN0ZWRCaXRzMiwgaSwgZmFsc2UpKTsKIAotICAgICAgICBBU1NF
UlRfRVEoYml0bWFwMi5maW5kQml0KGksIHRydWUpLCBiaXRtYXAzLmZpbmRCaXQoaSwgdHJ1ZSkp
OwotICAgICAgICBBU1NFUlRfRVEoYml0bWFwMi5maW5kQml0KGksIGZhbHNlKSwgYml0bWFwMy5m
aW5kQml0KGksIGZhbHNlKSk7CisgICAgICAgIEFTU0VSVF9FUShiaXRtYXAyLmZpbmRCaXQoaSwg
dHJ1ZSksIGJpdG1hcDJDbG9uZS5maW5kQml0KGksIHRydWUpKTsKKyAgICAgICAgQVNTRVJUX0VR
KGJpdG1hcDIuZmluZEJpdChpLCBmYWxzZSksIGJpdG1hcDJDbG9uZS5maW5kQml0KGksIGZhbHNl
KSk7CiAgICAgfQogCi0gICAgQVNTRVJUX0VRKGJpdG1hcDAuZmluZEJpdCgwLCBmYWxzZSksIHpl
cm9TaXplKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMC5maW5kQml0KDEwLCBmYWxzZSksIHN0YXRp
Y19jYXN0PHNpemVfdD4oMTApKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMC5maW5kQml0KHNpemUg
LSAxLCBmYWxzZSksIHNpemUtMSk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDAuZmluZEJpdChzaXpl
LCBmYWxzZSksIHNpemUpOwotICAgIEFTU0VSVF9FUShiaXRtYXAwLmZpbmRCaXQoc2l6ZSArIDEs
IGZhbHNlKSwgc2l6ZSk7Ci0KLSAgICBBU1NFUlRfRVEoYml0bWFwMC5maW5kQml0KDAsIHRydWUp
LCBzaXplKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwMC5maW5kQml0KDEwLCB0cnVlKSwgc2l6ZSk7
Ci0gICAgQVNTRVJUX0VRKGJpdG1hcDAuZmluZEJpdChzaXplIC0gMSwgdHJ1ZSksIHNpemUpOwot
ICAgIEFTU0VSVF9FUShiaXRtYXAwLmZpbmRCaXQoc2l6ZSwgdHJ1ZSksIHNpemUpOwotICAgIEFT
U0VSVF9FUShiaXRtYXAwLmZpbmRCaXQoc2l6ZSArIDEsIHRydWUpLCBzaXplKTsKLQotICAgIEFT
U0VSVF9FUShiaXRtYXBGaWxsZWQuZmluZEJpdCgwLCBmYWxzZSksIHNpemUpOwotICAgIEFTU0VS
VF9FUShiaXRtYXBGaWxsZWQuZmluZEJpdCgxMCwgZmFsc2UpLCBzaXplKTsKLSAgICBBU1NFUlRf
RVEoYml0bWFwRmlsbGVkLmZpbmRCaXQoc2l6ZSAtIDEsIGZhbHNlKSwgc2l6ZSk7Ci0gICAgQVNT
RVJUX0VRKGJpdG1hcEZpbGxlZC5maW5kQml0KHNpemUsIGZhbHNlKSwgc2l6ZSk7Ci0gICAgQVNT
RVJUX0VRKGJpdG1hcEZpbGxlZC5maW5kQml0KHNpemUgKyAxLCBmYWxzZSksIHNpemUpOwotCi0g
ICAgQVNTRVJUX0VRKGJpdG1hcEZpbGxlZC5maW5kQml0KDAsIHRydWUpLCB6ZXJvU2l6ZSk7Ci0g
ICAgQVNTRVJUX0VRKGJpdG1hcEZpbGxlZC5maW5kQml0KDEwLCB0cnVlKSwgc3RhdGljX2Nhc3Q8
c2l6ZV90PigxMCkpOwotICAgIEFTU0VSVF9FUShiaXRtYXBGaWxsZWQuZmluZEJpdChzaXplIC0g
MSwgdHJ1ZSksIHNpemUtMSk7Ci0gICAgQVNTRVJUX0VRKGJpdG1hcEZpbGxlZC5maW5kQml0KHNp
emUsIHRydWUpLCBzaXplKTsKLSAgICBBU1NFUlRfRVEoYml0bWFwRmlsbGVkLmZpbmRCaXQoc2l6
ZSArIDEsIHRydWUpLCBzaXplKTsKKyAgICBBU1NFUlRfRVEoYml0bWFwWmVyb2VzLmZpbmRCaXQo
MCwgZmFsc2UpLCB6ZXJvU2l6ZSk7CisgICAgQVNTRVJUX0VRKGJpdG1hcFplcm9lcy5maW5kQml0
KDEwLCBmYWxzZSksIHN0YXRpY19jYXN0PHNpemVfdD4oMTApKTsKKyAgICBBU1NFUlRfRVEoYml0
bWFwWmVyb2VzLmZpbmRCaXQoc2l6ZSAtIDEsIGZhbHNlKSwgc2l6ZS0xKTsKKyAgICBBU1NFUlRf
RVEoYml0bWFwWmVyb2VzLmZpbmRCaXQoc2l6ZSwgZmFsc2UpLCBzaXplKTsKKyAgICBBU1NFUlRf
RVEoYml0bWFwWmVyb2VzLmZpbmRCaXQoc2l6ZSArIDEsIGZhbHNlKSwgc2l6ZSk7CisKKyAgICBB
U1NFUlRfRVEoYml0bWFwWmVyb2VzLmZpbmRCaXQoMCwgdHJ1ZSksIHNpemUpOworICAgIEFTU0VS
VF9FUShiaXRtYXBaZXJvZXMuZmluZEJpdCgxMCwgdHJ1ZSksIHNpemUpOworICAgIEFTU0VSVF9F
UShiaXRtYXBaZXJvZXMuZmluZEJpdChzaXplIC0gMSwgdHJ1ZSksIHNpemUpOworICAgIEFTU0VS
VF9FUShiaXRtYXBaZXJvZXMuZmluZEJpdChzaXplLCB0cnVlKSwgc2l6ZSk7CisgICAgQVNTRVJU
X0VRKGJpdG1hcFplcm9lcy5maW5kQml0KHNpemUgKyAxLCB0cnVlKSwgc2l6ZSk7CisKKyAgICBB
U1NFUlRfRVEoYml0bWFwT25lcy5maW5kQml0KDAsIGZhbHNlKSwgc2l6ZSk7CisgICAgQVNTRVJU
X0VRKGJpdG1hcE9uZXMuZmluZEJpdCgxMCwgZmFsc2UpLCBzaXplKTsKKyAgICBBU1NFUlRfRVEo
Yml0bWFwT25lcy5maW5kQml0KHNpemUgLSAxLCBmYWxzZSksIHNpemUpOworICAgIEFTU0VSVF9F
UShiaXRtYXBPbmVzLmZpbmRCaXQoc2l6ZSwgZmFsc2UpLCBzaXplKTsKKyAgICBBU1NFUlRfRVEo
Yml0bWFwT25lcy5maW5kQml0KHNpemUgKyAxLCBmYWxzZSksIHNpemUpOworCisgICAgQVNTRVJU
X0VRKGJpdG1hcE9uZXMuZmluZEJpdCgwLCB0cnVlKSwgemVyb1NpemUpOworICAgIEFTU0VSVF9F
UShiaXRtYXBPbmVzLmZpbmRCaXQoMTAsIHRydWUpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KDEwKSk7
CisgICAgQVNTRVJUX0VRKGJpdG1hcE9uZXMuZmluZEJpdChzaXplIC0gMSwgdHJ1ZSksIHNpemUt
MSk7CisgICAgQVNTRVJUX0VRKGJpdG1hcE9uZXMuZmluZEJpdChzaXplLCB0cnVlKSwgc2l6ZSk7
CisgICAgQVNTRVJUX0VRKGJpdG1hcE9uZXMuZmluZEJpdChzaXplICsgMSwgdHJ1ZSksIHNpemUp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KQEAgLTc5OSwxMyArNzk5LDEzIEBA
IHZvaWQgdGVzdEJpdG1hcEl0ZXJhdGlvbigpCiAgICAgICAgIHJldHVybiBjb3VudDsKICAgICB9
OwogCi0gICAgRVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQoYml0bWFwMCksIHplcm9TaXpl
KTsKKyAgICBFWFBFQ1RfRVEoY29tcHV0ZVNldEJpdHNDb3VudChiaXRtYXBaZXJvZXMpLCB6ZXJv
U2l6ZSk7CiAgICAgRVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQoYml0bWFwMSksIGV4cGVj
dGVkTnVtYmVyT2ZTZXRCaXRzMSk7CiAgICAgRVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQo
Yml0bWFwMiksIGV4cGVjdGVkTnVtYmVyT2ZTZXRCaXRzMik7Ci0gICAgRVhQRUNUX0VRKGNvbXB1
dGVTZXRCaXRzQ291bnQoYml0bWFwMyksIGV4cGVjdGVkTnVtYmVyT2ZTZXRCaXRzMik7Ci0gICAg
RVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQoYml0bWFwRmlsbGVkKSwgc2l6ZSk7Ci0gICAg
RVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQoYml0bWFwU21hbGxaZXJvZWQpLCB6ZXJvU2l6
ZSk7Ci0gICAgRVhQRUNUX0VRKGNvbXB1dGVTZXRCaXRzQ291bnQoYml0bWFwU21hbGxGaWxsZWQp
LCBzbWFsbFNpemUpOworICAgIEVYUEVDVF9FUShjb21wdXRlU2V0Qml0c0NvdW50KGJpdG1hcDJD
bG9uZSksIGV4cGVjdGVkTnVtYmVyT2ZTZXRCaXRzMik7CisgICAgRVhQRUNUX0VRKGNvbXB1dGVT
ZXRCaXRzQ291bnQoYml0bWFwT25lcyksIHNpemUpOworICAgIEVYUEVDVF9FUShjb21wdXRlU2V0
Qml0c0NvdW50KHNtYWxsQml0bWFwWmVyb2VzKSwgemVyb1NpemUpOworICAgIEVYUEVDVF9FUShj
b21wdXRlU2V0Qml0c0NvdW50KHNtYWxsQml0bWFwT25lcyksIHNtYWxsU2l6ZSk7CiAKICAgICBh
dXRvIHZlcmlmeVNldEJpdHMgPSBbPV0gKGF1dG8mIGJpdG1hcCwgYXV0byYgZXhwZWN0ZWRCaXRz
KSB7CiAgICAgICAgIGZvciAoYXV0byBiaXRJbmRleCA6IGJpdG1hcCkgewpAQCAtODE2LDcgKzgx
Niw3IEBAIHZvaWQgdGVzdEJpdG1hcEl0ZXJhdGlvbigpCiAKICAgICB2ZXJpZnlTZXRCaXRzKGJp
dG1hcDEsIGV4cGVjdGVkQml0czEpOwogICAgIHZlcmlmeVNldEJpdHMoYml0bWFwMiwgZXhwZWN0
ZWRCaXRzMik7Ci0gICAgdmVyaWZ5U2V0Qml0cyhiaXRtYXAzLCBleHBlY3RlZEJpdHMyKTsKKyAg
ICB2ZXJpZnlTZXRCaXRzKGJpdG1hcDJDbG9uZSwgZXhwZWN0ZWRCaXRzMik7CiAKICAgICBhdXRv
IHZlcmlmeUJpdHNBbGxTZXQgPSBbPV0gKGF1dG8mIGJpdG1hcCkgewogICAgICAgICBzaXplX3Qg
bGFzdEJpdEluZGV4ID0gMDsKQEAgLTgyOCw4ICs4MjgsOCBAQCB2b2lkIHRlc3RCaXRtYXBJdGVy
YXRpb24oKQogICAgICAgICB9CiAgICAgfTsKIAotICAgIHZlcmlmeUJpdHNBbGxTZXQoYml0bWFw
RmlsbGVkKTsKLSAgICB2ZXJpZnlCaXRzQWxsU2V0KGJpdG1hcFNtYWxsRmlsbGVkKTsKKyAgICB2
ZXJpZnlCaXRzQWxsU2V0KGJpdG1hcE9uZXMpOworICAgIHZlcmlmeUJpdHNBbGxTZXQoc21hbGxC
aXRtYXBPbmVzKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC04NDYsNjcg
Kzg0Niw2NyBAQCB2b2lkIHRlc3RCaXRtYXBNZXJnZUFuZENsZWFyKCkKICAgICBBU1NFUlRfRVEo
c2F2ZWRCaXRtYXAxLCBiaXRtYXAxKTsKICAgICAKICAgICBBU1NFUlRfTkUoYml0bWFwMSwgYml0
bWFwMik7Ci0gICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1hcDMpOwotICAgIEFTU0VSVF9FUShi
aXRtYXAzLCBiaXRtYXAyKTsKLSAgICBiaXRtYXAxLm1lcmdlQW5kQ2xlYXIoYml0bWFwMyk7Cisg
ICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1hcDJDbG9uZSk7CisgICAgQVNTRVJUX0VRKGJpdG1h
cDJDbG9uZSwgYml0bWFwMik7CisgICAgYml0bWFwMS5tZXJnZUFuZENsZWFyKGJpdG1hcDJDbG9u
ZSk7CiAgICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1hcDIpOwogICAgIEFTU0VSVF9ORShiaXRt
YXAxLCBzYXZlZEJpdG1hcDEpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDMuaXNFbXB0eSgpKTsK
KyAgICBBU1NFUlRfVFJVRShiaXRtYXAyQ2xvbmUuaXNFbXB0eSgpKTsKICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgICBib29sIGV4cGVjdGVkQml0ID0gZXhw
ZWN0ZWRCaXRzMVtpXSB8IGV4cGVjdGVkQml0czJbaV07CiAgICAgICAgIEFTU0VSVF9FUShiaXRt
YXAxLmdldChpKSwgZXhwZWN0ZWRCaXQpOwogICAgIH0KIAotICAgIGJpdG1hcDMubWVyZ2UoYml0
bWFwMik7IC8vIHJlc3RvcmUgYml0bWFwMwotICAgIEFTU0VSVF9FUShiaXRtYXAzLCBiaXRtYXAy
KTsKKyAgICBiaXRtYXAyQ2xvbmUubWVyZ2UoYml0bWFwMik7IC8vIHJlc3RvcmUgYml0bWFwMkNs
b25lCisgICAgQVNTRVJUX0VRKGJpdG1hcDJDbG9uZSwgYml0bWFwMik7CiAKICAgICBBU1NFUlRf
VFJVRSh0ZW1wLmlzRW1wdHkoKSk7Ci0gICAgdGVtcC5tZXJnZUFuZENsZWFyKGJpdG1hcDMpOwor
ICAgIHRlbXAubWVyZ2VBbmRDbGVhcihiaXRtYXAyQ2xvbmUpOwogICAgIEFTU0VSVF9GQUxTRSh0
ZW1wLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUX0VRKHRlbXAsIGJpdG1hcDIpOwotICAgIEFTU0VS
VF9UUlVFKGJpdG1hcDMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfVFJVRShiaXRtYXAyQ2xvbmUu
aXNFbXB0eSgpKTsKIAotICAgIEJpdG1hcDxzaXplLCBXb3JkVHlwZT4gc2F2ZWRCaXRtYXBGaWxs
ZWQ7Ci0gICAgc2F2ZWRCaXRtYXBGaWxsZWQubWVyZ2UoYml0bWFwRmlsbGVkKTsKKyAgICBCaXRt
YXA8c2l6ZSwgV29yZFR5cGU+IHNhdmVkQml0bWFwT25lczsKKyAgICBzYXZlZEJpdG1hcE9uZXMu
bWVyZ2UoYml0bWFwT25lcyk7CiAKICAgICB0ZW1wLmNsZWFyQWxsKCk7CiAgICAgQVNTRVJUX1RS
VUUodGVtcC5pc0VtcHR5KCkpOwogICAgIEFTU0VSVF9GQUxTRSh0ZW1wLmlzRnVsbCgpKTsKLSAg
ICBBU1NFUlRfRkFMU0UoYml0bWFwRmlsbGVkLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RSVUUo
Yml0bWFwRmlsbGVkLmlzRnVsbCgpKTsKLSAgICB0ZW1wLm1lcmdlQW5kQ2xlYXIoYml0bWFwRmls
bGVkKTsKKyAgICBBU1NFUlRfRkFMU0UoYml0bWFwT25lcy5pc0VtcHR5KCkpOworICAgIEFTU0VS
VF9UUlVFKGJpdG1hcE9uZXMuaXNGdWxsKCkpOworICAgIHRlbXAubWVyZ2VBbmRDbGVhcihiaXRt
YXBPbmVzKTsKICAgICBBU1NFUlRfRkFMU0UodGVtcC5pc0VtcHR5KCkpOwogICAgIEFTU0VSVF9U
UlVFKHRlbXAuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5pc0VtcHR5
KCkpOwotICAgIEFTU0VSVF9GQUxTRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOworICAgIEFTU0VS
VF9UUlVFKGJpdG1hcE9uZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfRkFMU0UoYml0bWFwT25l
cy5pc0Z1bGwoKSk7CiAKLSAgICBiaXRtYXAzLm1lcmdlKGJpdG1hcDIpOyAvLyByZXN0b3JlIGJp
dG1hcDMKLSAgICBBU1NFUlRfRVEoYml0bWFwMywgYml0bWFwMik7Ci0gICAgYml0bWFwRmlsbGVk
Lm1lcmdlKHNhdmVkQml0bWFwRmlsbGVkKTsgLy8gcmVzdG9yZSBiaXRtYXBGaWxsZWQKLSAgICBB
U1NFUlRfVFJVRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOworICAgIGJpdG1hcDJDbG9uZS5tZXJn
ZShiaXRtYXAyKTsgLy8gcmVzdG9yZSBiaXRtYXAyQ2xvbmUKKyAgICBBU1NFUlRfRVEoYml0bWFw
MkNsb25lLCBiaXRtYXAyKTsKKyAgICBiaXRtYXBPbmVzLm1lcmdlKHNhdmVkQml0bWFwT25lcyk7
IC8vIHJlc3RvcmUgYml0bWFwT25lcworICAgIEFTU0VSVF9UUlVFKGJpdG1hcE9uZXMuaXNGdWxs
KCkpOwogCiAgICAgQVNTRVJUX1RSVUUodGVtcC5pc0Z1bGwoKSk7Ci0gICAgdGVtcC5tZXJnZUFu
ZENsZWFyKGJpdG1hcDMpOworICAgIHRlbXAubWVyZ2VBbmRDbGVhcihiaXRtYXAyQ2xvbmUpOwog
ICAgIEFTU0VSVF9UUlVFKHRlbXAuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9FUSh0ZW1wLCBiaXRt
YXBGaWxsZWQpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDMuaXNFbXB0eSgpKTsKKyAgICBBU1NF
UlRfRVEodGVtcCwgYml0bWFwT25lcyk7CisgICAgQVNTRVJUX1RSVUUoYml0bWFwMkNsb25lLmlz
RW1wdHkoKSk7CiAKICAgICBCaXRtYXA8c21hbGxTaXplLCBXb3JkVHlwZT4gc21hbGxUZW1wOwog
Ci0gICAgc21hbGxUZW1wLm1lcmdlKGJpdG1hcFNtYWxsRmlsbGVkKTsKKyAgICBzbWFsbFRlbXAu
bWVyZ2Uoc21hbGxCaXRtYXBPbmVzKTsKICAgICBBU1NFUlRfVFJVRShzbWFsbFRlbXAuaXNGdWxs
KCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7Ci0gICAg
c21hbGxUZW1wLm1lcmdlQW5kQ2xlYXIoYml0bWFwU21hbGxaZXJvZWQpOworICAgIEFTU0VSVF9U
UlVFKHNtYWxsQml0bWFwWmVyb2VzLmlzRW1wdHkoKSk7CisgICAgc21hbGxUZW1wLm1lcmdlQW5k
Q2xlYXIoc21hbGxCaXRtYXBaZXJvZXMpOwogICAgIEFTU0VSVF9UUlVFKHNtYWxsVGVtcC5pc0Z1
bGwoKSk7CiAgICAgQVNTRVJUX0ZBTFNFKHNtYWxsVGVtcC5pc0VtcHR5KCkpOwotICAgIEFTU0VS
VF9UUlVFKGJpdG1hcFNtYWxsWmVyb2VkLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX1RSVUUoc21h
bGxCaXRtYXBaZXJvZXMuaXNFbXB0eSgpKTsKIAogICAgIHNtYWxsVGVtcC5jbGVhckFsbCgpOwot
ICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVkLmlzRnVsbCgpKTsKKyAgICBBU1NFUlRf
VFJVRShzbWFsbEJpdG1hcE9uZXMuaXNGdWxsKCkpOwogICAgIEFTU0VSVF9UUlVFKHNtYWxsVGVt
cC5pc0VtcHR5KCkpOwotICAgIHNtYWxsVGVtcC5tZXJnZUFuZENsZWFyKGJpdG1hcFNtYWxsRmls
bGVkKTsKKyAgICBzbWFsbFRlbXAubWVyZ2VBbmRDbGVhcihzbWFsbEJpdG1hcE9uZXMpOwogICAg
IEFTU0VSVF9UUlVFKHNtYWxsVGVtcC5pc0Z1bGwoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFw
U21hbGxGaWxsZWQuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMu
aXNFbXB0eSgpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CkBAIC05MjMsNTYg
KzkyMyw1NiBAQCB2b2lkIHRlc3RCaXRtYXBTZXRBbmRDbGVhcigpCiAgICAgQVNTRVJUX0VRKHNh
dmVkQml0bWFwMSwgYml0bWFwMSk7CiAgICAgCiAgICAgQVNTRVJUX05FKGJpdG1hcDEsIGJpdG1h
cDIpOwotICAgIEFTU0VSVF9ORShiaXRtYXAxLCBiaXRtYXAzKTsKLSAgICBBU1NFUlRfRVEoYml0
bWFwMywgYml0bWFwMik7Ci0gICAgYml0bWFwMS5zZXRBbmRDbGVhcihiaXRtYXAzKTsKKyAgICBB
U1NFUlRfTkUoYml0bWFwMSwgYml0bWFwMkNsb25lKTsKKyAgICBBU1NFUlRfRVEoYml0bWFwMkNs
b25lLCBiaXRtYXAyKTsKKyAgICBiaXRtYXAxLnNldEFuZENsZWFyKGJpdG1hcDJDbG9uZSk7CiAg
ICAgQVNTRVJUX0VRKGJpdG1hcDEsIGJpdG1hcDIpOwogICAgIEFTU0VSVF9ORShiaXRtYXAxLCBz
YXZlZEJpdG1hcDEpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcDMuaXNFbXB0eSgpKTsKKyAgICBB
U1NFUlRfVFJVRShiaXRtYXAyQ2xvbmUuaXNFbXB0eSgpKTsKIAotICAgIGJpdG1hcDMubWVyZ2Uo
Yml0bWFwMik7IC8vIHJlc3RvcmUgYml0bWFwMwotICAgIEFTU0VSVF9FUShiaXRtYXAzLCBiaXRt
YXAyKTsKKyAgICBiaXRtYXAyQ2xvbmUubWVyZ2UoYml0bWFwMik7IC8vIHJlc3RvcmUgYml0bWFw
MkNsb25lCisgICAgQVNTRVJUX0VRKGJpdG1hcDJDbG9uZSwgYml0bWFwMik7CiAKICAgICBBU1NF
UlRfVFJVRSh0ZW1wLmlzRW1wdHkoKSk7Ci0gICAgdGVtcC5zZXRBbmRDbGVhcihiaXRtYXAzKTsK
KyAgICB0ZW1wLnNldEFuZENsZWFyKGJpdG1hcDJDbG9uZSk7CiAgICAgQVNTRVJUX0ZBTFNFKHRl
bXAuaXNFbXB0eSgpKTsKICAgICBBU1NFUlRfRVEodGVtcCwgYml0bWFwMik7Ci0gICAgQVNTRVJU
X1RSVUUoYml0bWFwMy5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9UUlVFKGJpdG1hcDJDbG9uZS5p
c0VtcHR5KCkpOwogCiAgICAgdGVtcC5jbGVhckFsbCgpOwogICAgIEFTU0VSVF9UUlVFKHRlbXAu
aXNFbXB0eSgpKTsKICAgICBBU1NFUlRfRkFMU0UodGVtcC5pc0Z1bGwoKSk7Ci0gICAgQVNTRVJU
X0ZBTFNFKGJpdG1hcEZpbGxlZC5pc0VtcHR5KCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZp
bGxlZC5pc0Z1bGwoKSk7Ci0gICAgdGVtcC5zZXRBbmRDbGVhcihiaXRtYXBGaWxsZWQpOworICAg
IEFTU0VSVF9GQUxTRShiaXRtYXBPbmVzLmlzRW1wdHkoKSk7CisgICAgQVNTRVJUX1RSVUUoYml0
bWFwT25lcy5pc0Z1bGwoKSk7CisgICAgdGVtcC5zZXRBbmRDbGVhcihiaXRtYXBPbmVzKTsKICAg
ICBBU1NFUlRfRkFMU0UodGVtcC5pc0VtcHR5KCkpOwogICAgIEFTU0VSVF9UUlVFKHRlbXAuaXNG
dWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcEZpbGxlZC5pc0VtcHR5KCkpOwotICAgIEFT
U0VSVF9GQUxTRShiaXRtYXBGaWxsZWQuaXNGdWxsKCkpOworICAgIEFTU0VSVF9UUlVFKGJpdG1h
cE9uZXMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfRkFMU0UoYml0bWFwT25lcy5pc0Z1bGwoKSk7
CiAKLSAgICBiaXRtYXAzLm1lcmdlKGJpdG1hcDIpOyAvLyByZXN0b3JlIGJpdG1hcDMKLSAgICBB
U1NFUlRfRVEoYml0bWFwMywgYml0bWFwMik7CisgICAgYml0bWFwMkNsb25lLm1lcmdlKGJpdG1h
cDIpOyAvLyByZXN0b3JlIGJpdG1hcDJDbG9uZQorICAgIEFTU0VSVF9FUShiaXRtYXAyQ2xvbmUs
IGJpdG1hcDIpOwogCiAgICAgQVNTRVJUX1RSVUUodGVtcC5pc0Z1bGwoKSk7Ci0gICAgdGVtcC5z
ZXRBbmRDbGVhcihiaXRtYXAzKTsKKyAgICB0ZW1wLnNldEFuZENsZWFyKGJpdG1hcDJDbG9uZSk7
CiAgICAgQVNTRVJUX0ZBTFNFKHRlbXAuaXNGdWxsKCkpOwogICAgIEFTU0VSVF9FUSh0ZW1wLCBi
aXRtYXAyKTsKLSAgICBBU1NFUlRfVFJVRShiaXRtYXAzLmlzRW1wdHkoKSk7CisgICAgQVNTRVJU
X1RSVUUoYml0bWFwMkNsb25lLmlzRW1wdHkoKSk7CiAKICAgICBCaXRtYXA8c21hbGxTaXplLCBX
b3JkVHlwZT4gc21hbGxUZW1wOwogCi0gICAgc21hbGxUZW1wLm1lcmdlKGJpdG1hcFNtYWxsRmls
bGVkKTsKKyAgICBzbWFsbFRlbXAubWVyZ2Uoc21hbGxCaXRtYXBPbmVzKTsKICAgICBBU1NFUlRf
VFJVRShzbWFsbFRlbXAuaXNGdWxsKCkpOwotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsWmVy
b2VkLmlzRW1wdHkoKSk7Ci0gICAgc21hbGxUZW1wLnNldEFuZENsZWFyKGJpdG1hcFNtYWxsWmVy
b2VkKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5KCkpOworICAg
IHNtYWxsVGVtcC5zZXRBbmRDbGVhcihzbWFsbEJpdG1hcFplcm9lcyk7CiAgICAgQVNTRVJUX1RS
VUUoc21hbGxUZW1wLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUX1RSVUUoYml0bWFwU21hbGxaZXJv
ZWQuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcFplcm9lcy5pc0VtcHR5
KCkpOwogICAgIAotICAgIEFTU0VSVF9UUlVFKGJpdG1hcFNtYWxsRmlsbGVkLmlzRnVsbCgpKTsK
KyAgICBBU1NFUlRfVFJVRShzbWFsbEJpdG1hcE9uZXMuaXNGdWxsKCkpOwogICAgIEFTU0VSVF9U
UlVFKHNtYWxsVGVtcC5pc0VtcHR5KCkpOwotICAgIHNtYWxsVGVtcC5zZXRBbmRDbGVhcihiaXRt
YXBTbWFsbEZpbGxlZCk7CisgICAgc21hbGxUZW1wLnNldEFuZENsZWFyKHNtYWxsQml0bWFwT25l
cyk7CiAgICAgQVNTRVJUX1RSVUUoc21hbGxUZW1wLmlzRnVsbCgpKTsKLSAgICBBU1NFUlRfVFJV
RShiaXRtYXBTbWFsbEZpbGxlZC5pc0VtcHR5KCkpOworICAgIEFTU0VSVF9UUlVFKHNtYWxsQml0
bWFwT25lcy5pc0VtcHR5KCkpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCaXRtYXA+CkBAIC0x
MDEyLDggKzEwMTIsOCBAQCB2b2lkIHRlc3RCaXRtYXBTZXRFYWNoTnRoQml0KCkKIHsKICAgICBE
RUNMQVJFX0FORF9JTklUX0JJVE1BUFNfRk9SX1RFU1QoKTsKICAgICBjb25zdGV4cHIgc2l6ZV90
IHdvcmRTaXplID0gc2l6ZW9mKFdvcmRUeXBlKSAqIDg7Ci0gICAgdGVzdEJpdG1hcFNldEVhY2hO
dGhCaXRJbXBsKHNpemUsIHdvcmRTaXplLCBiaXRtYXAwLCBiaXRtYXBGaWxsZWQpOwotICAgIHRl
c3RCaXRtYXBTZXRFYWNoTnRoQml0SW1wbChzbWFsbFNpemUsIHdvcmRTaXplLCBiaXRtYXBTbWFs
bFplcm9lZCwgYml0bWFwU21hbGxGaWxsZWQpOworICAgIHRlc3RCaXRtYXBTZXRFYWNoTnRoQml0
SW1wbChzaXplLCB3b3JkU2l6ZSwgYml0bWFwWmVyb2VzLCBiaXRtYXBPbmVzKTsKKyAgICB0ZXN0
Qml0bWFwU2V0RWFjaE50aEJpdEltcGwoc21hbGxTaXplLCB3b3JkU2l6ZSwgc21hbGxCaXRtYXBa
ZXJvZXMsIHNtYWxsQml0bWFwT25lcyk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRUeXBl
PgpAQCAtMTAyMSwxNCArMTAyMSwxNCBAQCB2b2lkIHRlc3RCaXRtYXBPcGVyYXRvckVxdWFsKCkK
IHsKICAgICBERUNMQVJFX0FORF9JTklUX0JJVE1BUFNfRk9SX1RFU1QoKTsKIAotICAgIEVYUEVD
VF9UUlVFKGJpdG1hcDAgPT0gYml0bWFwMCk7Ci0gICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDAgPT0g
Yml0bWFwMSk7CisgICAgRVhQRUNUX1RSVUUoYml0bWFwWmVyb2VzID09IGJpdG1hcFplcm9lcyk7
CisgICAgRVhQRUNUX0ZBTFNFKGJpdG1hcFplcm9lcyA9PSBiaXRtYXAxKTsKICAgICBFWFBFQ1Rf
VFJVRShiaXRtYXAxID09IGJpdG1hcDEpOwogICAgIEVYUEVDVF9GQUxTRShiaXRtYXAxID09IGJp
dG1hcDIpOwotICAgIEVYUEVDVF9GQUxTRShiaXRtYXAxID09IGJpdG1hcDMpOwotICAgIEVYUEVD
VF9UUlVFKGJpdG1hcDIgPT0gYml0bWFwMyk7Ci0gICAgRVhQRUNUX0ZBTFNFKGJpdG1hcEZpbGxl
ZCA9PSBiaXRtYXAxKTsKLSAgICBFWFBFQ1RfRkFMU0UoYml0bWFwU21hbGxaZXJvZWQgPT0gYml0
bWFwU21hbGxGaWxsZWQpOworICAgIEVYUEVDVF9GQUxTRShiaXRtYXAxID09IGJpdG1hcDJDbG9u
ZSk7CisgICAgRVhQRUNUX1RSVUUoYml0bWFwMiA9PSBiaXRtYXAyQ2xvbmUpOworICAgIEVYUEVD
VF9GQUxTRShiaXRtYXBPbmVzID09IGJpdG1hcDEpOworICAgIEVYUEVDVF9GQUxTRShzbWFsbEJp
dG1hcFplcm9lcyA9PSBzbWFsbEJpdG1hcE9uZXMpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBX
b3JkVHlwZT4KQEAgLTEwMzYsMTQgKzEwMzYsMTQgQEAgdm9pZCB0ZXN0Qml0bWFwT3BlcmF0b3JO
b3RFcXVhbCgpCiB7CiAgICAgREVDTEFSRV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7CiAK
LSAgICBFWFBFQ1RfRkFMU0UoYml0bWFwMCAhPSBiaXRtYXAwKTsKLSAgICBFWFBFQ1RfVFJVRShi
aXRtYXAwICE9IGJpdG1hcDEpOworICAgIEVYUEVDVF9GQUxTRShiaXRtYXBaZXJvZXMgIT0gYml0
bWFwWmVyb2VzKTsKKyAgICBFWFBFQ1RfVFJVRShiaXRtYXBaZXJvZXMgIT0gYml0bWFwMSk7CiAg
ICAgRVhQRUNUX0ZBTFNFKGJpdG1hcDEgIT0gYml0bWFwMSk7CiAgICAgRVhQRUNUX1RSVUUoYml0
bWFwMSAhPSBiaXRtYXAyKTsKLSAgICBFWFBFQ1RfVFJVRShiaXRtYXAxICE9IGJpdG1hcDMpOwot
ICAgIEVYUEVDVF9GQUxTRShiaXRtYXAyICE9IGJpdG1hcDMpOwotICAgIEVYUEVDVF9UUlVFKGJp
dG1hcEZpbGxlZCAhPSBiaXRtYXAxKTsKLSAgICBFWFBFQ1RfVFJVRShiaXRtYXBTbWFsbFplcm9l
ZCAhPSBiaXRtYXBTbWFsbEZpbGxlZCk7CisgICAgRVhQRUNUX1RSVUUoYml0bWFwMSAhPSBiaXRt
YXAyQ2xvbmUpOworICAgIEVYUEVDVF9GQUxTRShiaXRtYXAyICE9IGJpdG1hcDJDbG9uZSk7Cisg
ICAgRVhQRUNUX1RSVUUoYml0bWFwT25lcyAhPSBiaXRtYXAxKTsKKyAgICBFWFBFQ1RfVFJVRShz
bWFsbEJpdG1hcFplcm9lcyAhPSBzbWFsbEJpdG1hcE9uZXMpOwogfQogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBCaXRtYXA+CkBAIC0xMDgxLDggKzEwODEsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXb3Jk
VHlwZT4KIHZvaWQgdGVzdEJpdG1hcE9wZXJhdG9yQXNzaWdubWVudCgpCiB7CiAgICAgREVDTEFS
RV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7Ci0gICAgdGVzdEJpdG1hcE9wZXJhdG9yQXNz
aWdubWVudEltcGwoYml0bWFwMSwgYml0bWFwMiwgYml0bWFwMCwgYml0bWFwRmlsbGVkKTsKLSAg
ICB0ZXN0Qml0bWFwT3BlcmF0b3JBc3NpZ25tZW50SW1wbChiaXRtYXBTbWFsbDEsIGJpdG1hcFNt
YWxsMiwgYml0bWFwU21hbGxaZXJvZWQsIGJpdG1hcFNtYWxsRmlsbGVkKTsKKyAgICB0ZXN0Qml0
bWFwT3BlcmF0b3JBc3NpZ25tZW50SW1wbChiaXRtYXAxLCBiaXRtYXAyLCBiaXRtYXBaZXJvZXMs
IGJpdG1hcE9uZXMpOworICAgIHRlc3RCaXRtYXBPcGVyYXRvckFzc2lnbm1lbnRJbXBsKHNtYWxs
Qml0bWFwMSwgc21hbGxCaXRtYXAyLCBzbWFsbEJpdG1hcFplcm9lcywgc21hbGxCaXRtYXBPbmVz
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgQml0bWFwPgpAQCAtMTE0NSw4ICsxMTQ1LDggQEAg
dGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CiB2b2lkIHRlc3RCaXRtYXBPcGVyYXRvckJpdE9y
QXNzaWdubWVudCgpCiB7CiAgICAgREVDTEFSRV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7
Ci0gICAgdGVzdEJpdG1hcE9wZXJhdG9yQml0T3JBc3NpZ25tZW50SW1wbChzaXplLCBiaXRtYXAx
LCBiaXRtYXAyLCBiaXRtYXAwLCBiaXRtYXBGaWxsZWQpOwotICAgIHRlc3RCaXRtYXBPcGVyYXRv
ckJpdE9yQXNzaWdubWVudEltcGwoc21hbGxTaXplLCBiaXRtYXBTbWFsbDEsIGJpdG1hcFNtYWxs
MiwgYml0bWFwU21hbGxaZXJvZWQsIGJpdG1hcFNtYWxsRmlsbGVkKTsKKyAgICB0ZXN0Qml0bWFw
T3BlcmF0b3JCaXRPckFzc2lnbm1lbnRJbXBsKHNpemUsIGJpdG1hcDEsIGJpdG1hcDIsIGJpdG1h
cFplcm9lcywgYml0bWFwT25lcyk7CisgICAgdGVzdEJpdG1hcE9wZXJhdG9yQml0T3JBc3NpZ25t
ZW50SW1wbChzbWFsbFNpemUsIHNtYWxsQml0bWFwMSwgc21hbGxCaXRtYXAyLCBzbWFsbEJpdG1h
cFplcm9lcywgc21hbGxCaXRtYXBPbmVzKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgQml0bWFw
PgpAQCAtMTIxNSw4ICsxMjE1LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgV29yZFR5cGU+CiB2b2lk
IHRlc3RCaXRtYXBPcGVyYXRvckJpdEFuZEFzc2lnbm1lbnQoKQogewogICAgIERFQ0xBUkVfQU5E
X0lOSVRfQklUTUFQU19GT1JfVEVTVCgpOwotICAgIHRlc3RCaXRtYXBPcGVyYXRvckJpdEFuZEFz
c2lnbm1lbnRJbXBsKHNpemUsIGJpdG1hcDEsIGJpdG1hcDIsIGJpdG1hcDAsIGJpdG1hcEZpbGxl
ZCk7Ci0gICAgdGVzdEJpdG1hcE9wZXJhdG9yQml0QW5kQXNzaWdubWVudEltcGwoc21hbGxTaXpl
LCBiaXRtYXBTbWFsbDEsIGJpdG1hcFNtYWxsMiwgYml0bWFwU21hbGxaZXJvZWQsIGJpdG1hcFNt
YWxsRmlsbGVkKTsKKyAgICB0ZXN0Qml0bWFwT3BlcmF0b3JCaXRBbmRBc3NpZ25tZW50SW1wbChz
aXplLCBiaXRtYXAxLCBiaXRtYXAyLCBiaXRtYXBaZXJvZXMsIGJpdG1hcE9uZXMpOworICAgIHRl
c3RCaXRtYXBPcGVyYXRvckJpdEFuZEFzc2lnbm1lbnRJbXBsKHNtYWxsU2l6ZSwgc21hbGxCaXRt
YXAxLCBzbWFsbEJpdG1hcDIsIHNtYWxsQml0bWFwWmVyb2VzLCBzbWFsbEJpdG1hcE9uZXMpOwog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCaXRtYXA+CkBAIC0xMjg2LDggKzEyODYsOCBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBXb3JkVHlwZT4KIHZvaWQgdGVzdEJpdG1hcE9wZXJhdG9yQml0WG9yQXNz
aWdubWVudCgpCiB7CiAgICAgREVDTEFSRV9BTkRfSU5JVF9CSVRNQVBTX0ZPUl9URVNUKCk7Ci0g
ICAgdGVzdEJpdG1hcE9wZXJhdG9yQml0WG9yQXNzaWdubWVudEltcGwoc2l6ZSwgYml0bWFwMSwg
Yml0bWFwMiwgYml0bWFwMCwgYml0bWFwRmlsbGVkKTsKLSAgICB0ZXN0Qml0bWFwT3BlcmF0b3JC
aXRYb3JBc3NpZ25tZW50SW1wbChzbWFsbFNpemUsIGJpdG1hcFNtYWxsMSwgYml0bWFwU21hbGwy
LCBiaXRtYXBTbWFsbFplcm9lZCwgYml0bWFwU21hbGxGaWxsZWQpOworICAgIHRlc3RCaXRtYXBP
cGVyYXRvckJpdFhvckFzc2lnbm1lbnRJbXBsKHNpemUsIGJpdG1hcDEsIGJpdG1hcDIsIGJpdG1h
cFplcm9lcywgYml0bWFwT25lcyk7CisgICAgdGVzdEJpdG1hcE9wZXJhdG9yQml0WG9yQXNzaWdu
bWVudEltcGwoc21hbGxTaXplLCBzbWFsbEJpdG1hcDEsIHNtYWxsQml0bWFwMiwgc21hbGxCaXRt
YXBaZXJvZXMsIHNtYWxsQml0bWFwT25lcyk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdvcmRU
eXBlPgpAQCAtMTI5OCw3ICsxMjk4LDcgQEAgdm9pZCB0ZXN0Qml0bWFwSGFzaCgpCiAgICAgY29u
c3RleHByIHVuc2lnbmVkIHdvcmRTaXplID0gc2l6ZW9mKFdvcmRUeXBlKSAqIDg7CiAgICAgY29u
c3RleHByIHNpemVfdCB3b3JkcyA9IChzaXplICsgd29yZFNpemUgLSAxKSAvIHdvcmRTaXplOwog
Ci0gICAgYXV0byBleHBlY3RlZEJpdG1hcDBIYXNoID0gWz1dICgpIC0+IHVuc2lnbmVkIHsKKyAg
ICBhdXRvIGV4cGVjdGVkQml0bWFwWmVyb2VzSGFzaCA9IFs9XSAoKSAtPiB1bnNpZ25lZCB7CiAg
ICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7CiAgICAgICAgIFdvcmRUeXBlIHplcm9Xb3JkID0g
MDsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3b3JkczsgKytpKQpAQCAtMTMwNiw3
ICsxMzA2LDcgQEAgdm9pZCB0ZXN0Qml0bWFwSGFzaCgpCiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfTsKIAotICAgIGF1dG8gZXhwZWN0ZWRCaXRtYXBGaWxsZWRIYXNoID0gWz1dICgpIC0+
IHVuc2lnbmVkIHsKKyAgICBhdXRvIGV4cGVjdGVkQml0bWFwT25lc0hhc2ggPSBbPV0gKCkgLT4g
dW5zaWduZWQgewogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSAwOwogICAgICAgICBXb3JkVHlw
ZSBmaWxsZWRXb3JkID0gc3RhdGljX2Nhc3Q8V29yZFR5cGU+KC0xKTsKICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB3b3JkczsgKytpKQpAQCAtMTMxNCw4ICsxMzE0LDggQEAgdm9pZCB0
ZXN0Qml0bWFwSGFzaCgpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfTsKIAotICAgIEFT
U0VSVF9FUShiaXRtYXAwLmhhc2goKSwgZXhwZWN0ZWRCaXRtYXAwSGFzaCgpKTsKLSAgICBBU1NF
UlRfRVEoYml0bWFwRmlsbGVkLmhhc2goKSwgZXhwZWN0ZWRCaXRtYXBGaWxsZWRIYXNoKCkpOwor
ICAgIEFTU0VSVF9FUShiaXRtYXBaZXJvZXMuaGFzaCgpLCBleHBlY3RlZEJpdG1hcFplcm9lc0hh
c2goKSk7CisgICAgQVNTRVJUX0VRKGJpdG1hcE9uZXMuaGFzaCgpLCBleHBlY3RlZEJpdG1hcE9u
ZXNIYXNoKCkpOwogCiAgICAgYXV0byBleHBlY3RlZEhhc2ggPSBbPV0gKGF1dG8gZXhwZWN0ZWRC
aXRzLCBzaXplX3Qgc2l6ZSkgewogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSAwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>