<?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>172326</bug_id>
          
          <creation_ts>2017-05-18 17:43:14 -0700</creation_ts>
          <short_desc>Add SixSpeed benchmark to PerformanceTests</short_desc>
          <delta_ts>2017-05-19 06:59:31 -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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310365</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-18 17:43:14 -0700</bug_when>
    <thetext>While arewefastyet repository&apos;s SixSpeed does not include license text, the original SixSpeed is released under MIT license.
We can just import it to WebKit tree.

Maybe, adjusting the wrapper script to be fit to the original repository is necessary (since the current wrapper script is written for the version in arewefastyet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310366</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-18 17:43:43 -0700</bug_when>
    <thetext>https://github.com/kpdecker/six-speed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310511</commentid>
    <comment_count>2</comment_count>
      <attachid>310633</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-19 01:26:44 -0700</bug_when>
    <thetext>Created attachment 310633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310584</commentid>
    <comment_count>3</comment_count>
      <attachid>310633</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-19 06:30:17 -0700</bug_when>
    <thetext>Comment on attachment 310633
Patch

Thanks, let&apos;s land it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310588</commentid>
    <comment_count>4</comment_count>
      <attachid>310633</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-19 06:59:29 -0700</bug_when>
    <thetext>Comment on attachment 310633
Patch

Clearing flags on attachment: 310633

Committed r217124: &lt;http://trac.webkit.org/changeset/217124&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310589</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-19 06:59:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310633</attachid>
            <date>2017-05-19 01:26:44 -0700</date>
            <delta_ts>2017-05-19 06:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172326-20170519172643.patch</filename>
            <type>text/plain</type>
            <size>42462</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MTAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMWIwYzNkYTE0NjE1NDliZmMyMjVhN2U2MzBjYjJhMTBj
ODgzNTkyMC4uMDA1MTM0N2Q3OGM0ZWZhYWU4MDZlMzUwZmE4NWM1Mzk2MmEzZThhOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE3LTA1LTE5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgor
CisgICAgICAgIEFkZCBTaXhTcGVlZCBiZW5jaG1hcmsgdG8gUGVyZm9ybWFuY2VUZXN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMzI2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1qc2MtYmVuY2htYXJrczoKKwogMjAxNy0wNS0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjE2Njk0IC0gMjE2NzEyKTogUGVyZm9y
bWFuY2UgdGVzdCBTcGVlZG9tZXRlci9GdWxsLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9ydW4tanNjLWJlbmNobWFya3MgYi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mt
YmVuY2htYXJrcwppbmRleCA5ZjQ4NTM1Mzk5MzRkYjZjYjBmNTEyMzNiMmJhMDE5ZTUwMjJmNGE0
Li5hY2ZlODdiM2ZlNjkwZDU3YzRhNDM5NzZjNjFiNmY2NjcxY2E3NDQwIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3J1bi1qc2MtYmVuY2htYXJrcworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1q
c2MtYmVuY2htYXJrcwpAQCAtNTEsNiArNTEsNyBAQCBWOF9QQVRIID0gUEVSRk9STUFOQ0VURVNU
U19QQVRIICsgIlN1blNwaWRlciIgKyAidGVzdHMiICsgInY4LXY2IgogTUlDUk9CRU5DSE1BUktT
X1BBVEggPSBPUEVOU09VUkNFX1BBVEggKyAiSlNUZXN0cyIgKyAibWljcm9iZW5jaG1hcmtzIgog
T0NUQU5FX1dSQVBQRVJfUEFUSCA9IFBFUkZPUk1BTkNFVEVTVFNfUEFUSCArICJPY3RhbmUiICsg
IndyYXBwZXJzIgogSlNCRU5DSF9QQVRIID0gUEVSRk9STUFOQ0VURVNUU19QQVRIICsgIkpTQmVu
Y2giCitTSVhTUEVFRF9QQVRIID0gUEVSRk9STUFOQ0VURVNUU19QQVRIICsgIlNpeFNwZWVkIiAr
ICJ0ZXN0cyIKIFNJWFNQRUVEX1dSQVBQRVJfUEFUSCA9IFBFUkZPUk1BTkNFVEVTVFNfUEFUSCAr
ICJTaXhTcGVlZCIgKyAid3JhcHBlcnMiCiAKIFRFTVBfUEFUSCA9IE9QRU5TT1VSQ0VfUEFUSCAr
ICJCZW5jaG1hcmtUZW1wIgpAQCAtMTY1MCwxMyArMTY1MSwxNCBAQCBlbmQKIGNsYXNzIFNpeFNw
ZWVkQmVuY2htYXJrCiAgIGluY2x1ZGUgQmVuY2htYXJrCiAKLSAgZGVmIGluaXRpYWxpemUobmFt
ZSwgaXRlcmF0aW9ucykKKyAgZGVmIGluaXRpYWxpemUobmFtZSwgcGF0aCwgaXRlcmF0aW9ucykK
ICAgICBAbmFtZSA9IG5hbWUKKyAgICBAcGF0aCA9IHBhdGgKICAgICBAaXRlcmF0aW9ucyA9IGl0
ZXJhdGlvbnMKICAgZW5kCiAKICAgZGVmIGVtaXRSdW5Db2RlKHBsYW4pCi0gICAgZW1pdEJlbmNo
UnVuQ29kZShmdWxsbmFtZSwgcGxhbiwgTXVsdGlGaWxlVGltZWRCZW5jaG1hcmtQYXJhbWV0ZXJz
Lm5ldyhbZW5zdXJlRmlsZSgiU2l4U3BlZWQtI3tAbmFtZX0td3JhcHBlciIsICIje1NJWFNQRUVE
X1dSQVBQRVJfUEFUSH0vd3JhcHBlci5qcyIpLCBlbnN1cmVGaWxlKCJTaXhTcGVlZC0je0BuYW1l
fSIsICIje1NJWFNQRUVEX1BBVEh9LyN7QG5hbWV9IildLCBzaW1wbGVDb21tYW5kKCJqc2NSdW4o
I3tAaXRlcmF0aW9uc30pOyIpKSkKKyAgICBlbWl0QmVuY2hSdW5Db2RlKGZ1bGxuYW1lLCBwbGFu
LCBNdWx0aUZpbGVUaW1lZEJlbmNobWFya1BhcmFtZXRlcnMubmV3KFtlbnN1cmVGaWxlKCJTaXhT
cGVlZC0je0BuYW1lfS13cmFwcGVyIiwgIiN7U0lYU1BFRURfV1JBUFBFUl9QQVRIfS93cmFwcGVy
LmpzIiksIGVuc3VyZUZpbGUoIlNpeFNwZWVkLSN7QG5hbWV9IiwgIiN7U0lYU1BFRURfUEFUSH0v
I3tAcGF0aH0iKV0sIHNpbXBsZUNvbW1hbmQoImpzY1J1bigje0BpdGVyYXRpb25zfSk7IikpKQog
ICBlbmQKIGVuZAogCkBAIC0yODgwLDcgKzI4ODIsNiBAQCBiZWdpbgogICBCUk9XU0VSTUFSS19E
T01fUEFUSCA9IHBhdGhuYW1lX2lmX2V4aXN0KGNvbmZpZ1siQnJvd3Nlck1hcmtET01QYXRoIl0p
CiAgIEFTTUJFTkNIX1BBVEggPSBwYXRobmFtZV9pZl9leGlzdChjb25maWdbIkFzbUJlbmNoUGF0
aCJdKQogICBDT01QUkVTU0lPTkJFTkNIX1BBVEggPSBwYXRobmFtZV9pZl9leGlzdChjb25maWdb
IkNvbXByZXNzaW9uQmVuY2hQYXRoIl0pCi0gIFNJWFNQRUVEX1BBVEggPSBwYXRobmFtZV9pZl9l
eGlzdChjb25maWdbIlNpeFNwZWVkUGF0aCJdKQogICBEU1BKU19GSUxUUlJfUEFUSCA9IHBhdGhu
YW1lX2lmX2V4aXN0KGNvbmZpZ1siRFNQSlNGaWx0cnJQYXRoIl0pCiAgIERTUEpTX1JPVVRFOV9Q
QVRIID0gcGF0aG5hbWVfaWZfZXhpc3QoY29uZmlnWyJEU1BKU1JvdXRlOVBhdGgiXSkKICAgRFNQ
SlNfU1RBUkZJRUxEX1BBVEggPSBwYXRobmFtZV9pZl9leGlzdChjb25maWdbIkRTUEpTU3RhcmZp
ZWxkUGF0aCJdKQpAQCAtMzA1MiwzOSArMzA1MywzNyBAQCBiZWdpbgogICB9CiAKICAgU0lYU1BF
RUQgPSBCZW5jaG1hcmtTdWl0ZS5uZXcoIlNpeFNwZWVkIiwgOmdlb21ldHJpY01lYW4sIDApCi0g
IGlmIFNJWFNQRUVEX1BBVEgKLSAgICBbWyAidGVtcGxhdGVfc3RyaW5nIiwgMjAwMDAwMDAwIF0s
Ci0gICAgIFsgImRlZmF1bHRzIiwgMTAwMDAwMDAwIF0sCi0gICAgIFsgIm1hcC1zZXQtbG9va3Vw
IiwgMjAwMDAwIF0sCi0gICAgIFsgInNwcmVhZCIsIDEwMDAwMDAgXSwKLSAgICAgWyAib2JqZWN0
LWFzc2lnbiIsIDYwMDAwMCBdLAotICAgICBbICJzcHJlYWQtbGl0ZXJhbCIsIDEwMDAwMDAgXSwK
LSAgICAgWyAibWFwLXNldCIsIDEwMDAwIF0sCi0gICAgIFsgImRlc3RydWN0dXJpbmctc2ltcGxl
IiwgMjAwMDAwMDAgXSwKLSAgICAgWyAic3VwZXIiLCAzMDAwMDAwIF0sCi0gICAgIFsgImZvci1v
Zi1vYmplY3QiLCAxMDAwMDAwIF0sCi0gICAgIFsgInJlc3QiLCA1MDAwMDAgXSwKLSAgICAgWyAi
cmVnZXgtdSIsIDEwMDAwMDAgXSwKLSAgICAgWyAiYXJyb3ciLCAyMDAwMDAwMCBdLAotICAgICBb
ICJiaW5kaW5ncy1jb21wb3VuZCIsIDIwMDAwMDAwIF0sCi0gICAgIFsgImNsYXNzZXMiLCAxMDAw
MDAwMCBdLAotICAgICBbICJ0ZW1wbGF0ZV9zdHJpbmdfdGFnIiwgMjAwMDAwMCBdLAotICAgICBb
ICJtYXAtc3RyaW5nIiwgMzAwMDAwMDAgXSwKLSAgICAgWyAiYXJyb3ctZGVjbGFyZSIsIDMwMDAw
MDAwIF0sCi0gICAgIFsgInNwcmVhZC1nZW5lcmF0b3IiLCAxMDAwMDAwIF0sCi0gICAgIFsgIm9i
amVjdC1saXRlcmFsLWV4dCIsIDEwMDAwMDAgXSwKLSAgICAgWyAiZ2VuZXJhdG9yIiwgMzAwMDAw
MCBdLAotICAgICBbICJhcnJvdy1hcmdzIiwgMjAwMDAwMDAgXSwKLSAgICAgWyAiZm9yLW9mLWFy
cmF5IiwgNTAwMDAwMCBdLAotICAgICBbICJiaW5kaW5ncyIsIDIwMDAwMDAwIF0sCi0gICAgIFsg
ImRlc3RydWN0dXJpbmciLCAyMDAwMDAwMCBdLAotICAgICBbICJtYXAtc2V0LW9iamVjdCIsIDUw
MDAgXSwKLSAgICBdLmVhY2ggewotICAgICAgfCBuYW1lLCBpdGVyYXRpb25zIHwKLSAgICAgIFNJ
WFNQRUVELmFkZCBTaXhTcGVlZEJlbmNobWFyay5uZXcoIiN7bmFtZX0uZXM1IiwgaXRlcmF0aW9u
cykKLSAgICAgIFNJWFNQRUVELmFkZCBTaXhTcGVlZEJlbmNobWFyay5uZXcoIiN7bmFtZX0uZXM2
IiwgaXRlcmF0aW9ucykKLSAgICB9Ci0gIGVuZAorICBbWyAidGVtcGxhdGVfc3RyaW5nIiwgMjAw
MDAwMDAwIF0sCisgICBbICJkZWZhdWx0cyIsIDEwMDAwMDAwMCBdLAorICAgWyAibWFwLXNldC1s
b29rdXAiLCAyMDAwMDAgXSwKKyAgIFsgInNwcmVhZCIsIDEwMDAwMDAgXSwKKyAgIFsgIm9iamVj
dC1hc3NpZ24iLCA2MDAwMDAgXSwKKyAgIFsgInNwcmVhZC1saXRlcmFsIiwgMTAwMDAwMCBdLAor
ICAgWyAibWFwLXNldCIsIDEwMDAwIF0sCisgICBbICJkZXN0cnVjdHVyaW5nLXNpbXBsZSIsIDIw
MDAwMDAwIF0sCisgICBbICJzdXBlciIsIDMwMDAwMDAgXSwKKyAgIFsgImZvci1vZi1vYmplY3Qi
LCAxMDAwMDAwIF0sCisgICBbICJyZXN0IiwgNTAwMDAwIF0sCisgICBbICJyZWdleC11IiwgMTAw
MDAwMCBdLAorICAgWyAiYXJyb3ciLCAyMDAwMDAwMCBdLAorICAgWyAiYmluZGluZ3MtY29tcG91
bmQiLCAyMDAwMDAwMCBdLAorICAgWyAiY2xhc3NlcyIsIDEwMDAwMDAwIF0sCisgICBbICJ0ZW1w
bGF0ZV9zdHJpbmdfdGFnIiwgMjAwMDAwMCBdLAorICAgWyAibWFwLXN0cmluZyIsIDMwMDAwMDAw
IF0sCisgICBbICJhcnJvdy1kZWNsYXJlIiwgMzAwMDAwMDAgXSwKKyAgIFsgInNwcmVhZC1nZW5l
cmF0b3IiLCAxMDAwMDAwIF0sCisgICBbICJvYmplY3QtbGl0ZXJhbC1leHQiLCAxMDAwMDAwIF0s
CisgICBbICJnZW5lcmF0b3IiLCAzMDAwMDAwIF0sCisgICBbICJhcnJvdy1hcmdzIiwgMjAwMDAw
MDAgXSwKKyAgIFsgImZvci1vZi1hcnJheSIsIDUwMDAwMDAgXSwKKyAgIFsgImJpbmRpbmdzIiwg
MjAwMDAwMDAgXSwKKyAgIFsgImRlc3RydWN0dXJpbmciLCAyMDAwMDAwMCBdLAorICAgWyAibWFw
LXNldC1vYmplY3QiLCA1MDAwIF0sCisgIF0uZWFjaCB7CisgICAgfCBuYW1lLCBpdGVyYXRpb25z
IHwKKyAgICBTSVhTUEVFRC5hZGQgU2l4U3BlZWRCZW5jaG1hcmsubmV3KCIje25hbWV9LmVzNSIs
ICIje25hbWV9LyN7bmFtZX0uZXM1IiwgaXRlcmF0aW9ucykKKyAgICBTSVhTUEVFRC5hZGQgU2l4
U3BlZWRCZW5jaG1hcmsubmV3KCIje25hbWV9LmVzNiIsICIje25hbWV9LyN7bmFtZX0uZXM2Iiwg
aXRlcmF0aW9ucykKKyAgfQogCiAgIERTUEpTID0gQmVuY2htYXJrU3VpdGUubmV3KCJEU1AiLCA6
Z2VvbWV0cmljTWVhbiwgMCkKICAgRFNQSlMuYWRkIERTUEpTRmlsdHJyQmVuY2htYXJrLm5ldygi
ZmlsdHJyLXBvc3Rlcml6ZS10aW50IiwgImUyIikKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVz
dHMvQ2hhbmdlTG9nIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTg3NDUyMjA2
OWQ3ZTJmODFmMTk3OTlkYzFiMGM2N2MwNGM3ODFmNC4uZGU3ZDMxZDUwNGE3MjAzYmJmNDZkMTVm
OTI5OWY2YjE2N2I4YTc3MCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAorMjAxNy0w
NS0xOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBB
ZGQgU2l4U3BlZWQgYmVuY2htYXJrIHRvIFBlcmZvcm1hbmNlVGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjMyNgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wb3J0cyBTaXhT
cGVlZCBiZW5jaG1hcmsgaW50byBXZWJLaXQgdHJlZS4KKyAgICAgICAgSXQgaXMgYSBjb2xsZWN0
aW9uIG9mIEVTNiBtaWNyb2JlbmNobWFya3MuIFdoaWxlIHRoZSBzY3JpcHRzIGFyZSB2ZXJ5IHRp
bnksCisgICAgICAgIGl0IHNvbWV0aW1lcyBoaXRzIG91ciBtaXNzaW5nIGNhcmUgZm9yIG9wdGlt
aXphdGlvbi4gU28gaW5jbHVkaW5nIGl0IGlzIHVzZWZ1bC4KKworICAgICAgICBUaGUgYmVuY2ht
YXJrIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLgorCisgICAgICAgICogU2l4U3BlZWQv
TElDRU5TRTogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvUkVWSVNJT046IEFkZGVkLgorICAg
ICAgICAqIFNpeFNwZWVkL1JlYWRNZS5tZDogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVz
dHMvLmVzbGludHJjOiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9hcnJvdy1hcmdz
L2Fycm93LWFyZ3MuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9hcnJvdy1h
cmdzL2Fycm93LWFyZ3MuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9hcnJv
dy1kZWNsYXJlL2Fycm93LWRlY2xhcmUuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90
ZXN0cy9hcnJvdy1kZWNsYXJlL2Fycm93LWRlY2xhcmUuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBT
aXhTcGVlZC90ZXN0cy9hcnJvdy9hcnJvdy5lczU6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVk
L3Rlc3RzL2Fycm93L2Fycm93LmVzNjogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMv
YmluZGluZ3MtY29tcG91bmQvYmluZGluZ3MtY29tcG91bmQuZXM1OiBBZGRlZC4KKyAgICAgICAg
KiBTaXhTcGVlZC90ZXN0cy9iaW5kaW5ncy1jb21wb3VuZC9iaW5kaW5ncy1jb21wb3VuZC5lczY6
IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL2JpbmRpbmdzL2JpbmRpbmdzLmVzNTog
QWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMvYmluZGluZ3MvYmluZGluZ3MuZXM2OiBB
ZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9jbGFzc2VzL2NsYXNzZXMuZXM1OiBBZGRl
ZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9jbGFzc2VzL2NsYXNzZXMuZXM2OiBBZGRlZC4K
KyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9kZWZhdWx0cy9kZWZhdWx0cy5lczU6IEFkZGVkLgor
ICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL2RlZmF1bHRzL2RlZmF1bHRzLmVzNjogQWRkZWQuCisg
ICAgICAgICogU2l4U3BlZWQvdGVzdHMvZGVzdHJ1Y3R1cmluZy1zaW1wbGUvZGVzdHJ1Y3R1cmlu
Zy1zaW1wbGUuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9kZXN0cnVjdHVy
aW5nLXNpbXBsZS9kZXN0cnVjdHVyaW5nLXNpbXBsZS5lczY6IEFkZGVkLgorICAgICAgICAqIFNp
eFNwZWVkL3Rlc3RzL2Rlc3RydWN0dXJpbmcvZGVzdHJ1Y3R1cmluZy5lczU6IEFkZGVkLgorICAg
ICAgICAqIFNpeFNwZWVkL3Rlc3RzL2Rlc3RydWN0dXJpbmcvZGVzdHJ1Y3R1cmluZy5lczY6IEFk
ZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL2Zvci1vZi1hcnJheS9mb3Itb2YtYXJyYXku
ZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9mb3Itb2YtYXJyYXkvZm9yLW9m
LWFycmF5LmVzNjogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMvZm9yLW9mLW9iamVj
dC9mb3Itb2Ytb2JqZWN0LmVzNTogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMvZm9y
LW9mLW9iamVjdC9mb3Itb2Ytb2JqZWN0LmVzNjogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQv
dGVzdHMvZ2VuZXJhdG9yL2dlbmVyYXRvci5lczU6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVk
L3Rlc3RzL2dlbmVyYXRvci9nZW5lcmF0b3IuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVl
ZC90ZXN0cy9tYXAtc2V0LWxvb2t1cC9tYXAtc2V0LWxvb2t1cC5lczU6IEFkZGVkLgorICAgICAg
ICAqIFNpeFNwZWVkL3Rlc3RzL21hcC1zZXQtbG9va3VwL21hcC1zZXQtbG9va3VwLmVzNjogQWRk
ZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMvbWFwLXNldC1vYmplY3QvbWFwLXNldC1vYmpl
Y3QuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9tYXAtc2V0LW9iamVjdC9t
YXAtc2V0LW9iamVjdC5lczY6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL21hcC1z
ZXQvbWFwLXNldC5lczU6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL21hcC1zZXQv
bWFwLXNldC5lczY6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL21hcC1zdHJpbmcv
bWFwLXN0cmluZy5lczU6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL21hcC1zdHJp
bmcvbWFwLXN0cmluZy5lczY6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL25ldy10
YXJnZXQvZGVmYXVsdHMuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9uZXct
dGFyZ2V0L2RlZmF1bHRzLmVzNjogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMvb2Jq
ZWN0LWFzc2lnbi9vYmplY3QtYXNzaWduLmVzNTogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQv
dGVzdHMvb2JqZWN0LWFzc2lnbi9vYmplY3QtYXNzaWduLmVzNjogQWRkZWQuCisgICAgICAgICog
U2l4U3BlZWQvdGVzdHMvb2JqZWN0LWxpdGVyYWwtZXh0L29iamVjdC1saXRlcmFsLWV4dC5lczU6
IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVkL3Rlc3RzL29iamVjdC1saXRlcmFsLWV4dC9vYmpl
Y3QtbGl0ZXJhbC1leHQuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9yZWdl
eC11L3JlZ2V4LXUuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9yZWdleC11
L3JlZ2V4LXUuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9yZXN0L3Jlc3Qu
ZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9yZXN0L3Jlc3QuZXM2OiBBZGRl
ZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9zcHJlYWQtZ2VuZXJhdG9yL3NwcmVhZC1nZW5l
cmF0b3IuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy9zcHJlYWQtZ2VuZXJh
dG9yL3NwcmVhZC1nZW5lcmF0b3IuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0
cy9zcHJlYWQtbGl0ZXJhbC9zcHJlYWQtbGl0ZXJhbC5lczU6IEFkZGVkLgorICAgICAgICAqIFNp
eFNwZWVkL3Rlc3RzL3NwcmVhZC1saXRlcmFsL3NwcmVhZC1saXRlcmFsLmVzNjogQWRkZWQuCisg
ICAgICAgICogU2l4U3BlZWQvdGVzdHMvc3ByZWFkL3NwcmVhZC5lczU6IEFkZGVkLgorICAgICAg
ICAqIFNpeFNwZWVkL3Rlc3RzL3NwcmVhZC9zcHJlYWQuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBT
aXhTcGVlZC90ZXN0cy9zdXBlci9zdXBlci5lczU6IEFkZGVkLgorICAgICAgICAqIFNpeFNwZWVk
L3Rlc3RzL3N1cGVyL3N1cGVyLmVzNjogQWRkZWQuCisgICAgICAgICogU2l4U3BlZWQvdGVzdHMv
dGVtcGxhdGVfc3RyaW5nL3RlbXBsYXRlX3N0cmluZy5lczU6IEFkZGVkLgorICAgICAgICAqIFNp
eFNwZWVkL3Rlc3RzL3RlbXBsYXRlX3N0cmluZy90ZW1wbGF0ZV9zdHJpbmcuZXM2OiBBZGRlZC4K
KyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy90ZW1wbGF0ZV9zdHJpbmdfdGFnL3RlbXBsYXRlX3N0
cmluZ190YWcuZXM1OiBBZGRlZC4KKyAgICAgICAgKiBTaXhTcGVlZC90ZXN0cy90ZW1wbGF0ZV9z
dHJpbmdfdGFnL3RlbXBsYXRlX3N0cmluZ190YWcuZXM2OiBBZGRlZC4KKyAgICAgICAgKiBTaXhT
cGVlZC93cmFwcGVycy93cmFwcGVyLmpzOgorICAgICAgICAodGVzdCk6CisKIDIwMTctMDUtMTgg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjIxNjY5NCAtIDIxNjcxMik6IFBlcmZvcm1hbmNlIHRlc3QgU3BlZWRvbWV0ZXIvRnVsbC5odG1s
IGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvTElDRU5T
RSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGY0ZTAx
OTI2MGJiYzRiNjRkZWRlODU3MDMzNDFjNTcwYzQwNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvUGVy
Zm9ybWFuY2VUZXN0cy9TaXhTcGVlZC9MSUNFTlNFCkBAIC0wLDAgKzEsNyBAQAorQ29weXJpZ2h0
IChjKSAyMDE1IEtldmluIERlY2tlcgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp
LCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcg
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUg
aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMv
U2l4U3BlZWQvUkVWSVNJT04gYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL1JFVklTSU9OCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc2ZTBhNmEyZTI2NzE2YTg5Y2I0NmRiM2FlZDQ0ZTA5ODU1MzcxOGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL1JFVklTSU9OCkBAIC0wLDAg
KzEgQEAKK2YyNWUwMTNhMjg2OTBmYzNmNDZhNjMyYjA2NDExZGEzYmNhOWM3NTcKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvUmVhZE1lLm1kIGIvUGVyZm9ybWFuY2VUZXN0
cy9TaXhTcGVlZC9SZWFkTWUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjExNWQzODI3ZjBhNmEyNDJiMzc4Mjk3
MTMxMWU2MDVhZGIwODUxNgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvUmVhZE1lLm1kCkBAIC0wLDAgKzEsMyBAQAorIyBTaXhTcGVlZCBiZW5jaG1hcmsKKwor
U2l4U3BlZWQgaXMgY29sbGVjdGlvbiBvZiBFUzYgbWljcm9iZW5jaG1hcmtzIGltcG9ydGVkIGZy
b20gaHR0cHM6Ly9naXRodWIuY29tL2twZGVja2VyL3NpeC1zcGVlZC4KZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvLmVzbGludHJjIGIvUGVyZm9ybWFuY2VUZXN0
cy9TaXhTcGVlZC90ZXN0cy8uZXNsaW50cmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYxYmY0MjAwYmEwZWI2MGVj
M2YxYjY0NjFmNGI2M2VhMmQ5Njg5NwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVz
dHMvU2l4U3BlZWQvdGVzdHMvLmVzbGludHJjCkBAIC0wLDAgKzEsNSBAQAoreworICAiZ2xvYmFs
cyI6IHsKKyAgICAidGVzdCI6IGZhbHNlCisgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fycm93LWFy
Z3MvYXJyb3ctYXJncy5lczUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fycm93
LWFyZ3MvYXJyb3ctYXJncy5lczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUyYzAyYTdjODAyZmU0ZTg0N2QxYmRk
OGJhMGY4ZWUzMzRkNzU3OAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvYXJyb3ctYXJncy9hcnJvdy1hcmdzLmVzNQpAQCAtMCwwICsxLDE2IEBACit2
YXIgb2JqID0geworICB2YWx1ZTogNDIsCisgIGZuOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgYXJn
cyA9IGFyZ3VtZW50czsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gYXJn
c1swXTsKKyAgICB9OworICB9Cit9OworCit2YXIgZm4gPSBvYmouZm4oMSk7Cithc3NlcnRFcXVh
bChmbigpLCAxKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgZm4oKTsKK30pOwpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9hcnJvdy1hcmdzL2Fycm93LWFyZ3Mu
ZXM2IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9hcnJvdy1hcmdzL2Fycm93LWFy
Z3MuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFhODJkMzY4NTMxNmUyMGY2OGQ3ZTI5ZTY3N2E1NGE5ZmMyMzA4
MGMKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fy
cm93LWFyZ3MvYXJyb3ctYXJncy5lczYKQEAgLTAsMCArMSwxNCBAQAorCit2YXIgb2JqID0gewor
ICB2YWx1ZTogNDIsCisgIGZuOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gKCkgPT4gYXJndW1l
bnRzWzBdOworICB9Cit9OworCit2YXIgZm4gPSBvYmouZm4oMSk7Cithc3NlcnRFcXVhbChmbigp
LCAxKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgZm4oKTsKK30pOwpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9hcnJvdy1kZWNsYXJlL2Fycm93LWRlY2xhcmUu
ZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9hcnJvdy1kZWNsYXJlL2Fycm93
LWRlY2xhcmUuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNTY1NDYyNGVmMDAxZmYwYzljMDM2MDEyODJiMDRj
NmVjZWU4YWEKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rl
c3RzL2Fycm93LWRlY2xhcmUvYXJyb3ctZGVjbGFyZS5lczUKQEAgLTAsMCArMSwxNCBAQAordmFy
IG9iaiA9IHsKKyAgdmFsdWU6IDQyLAorICBmbjogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGZ1
bmN0aW9uKCkgeworICAgICAgcmV0dXJuIG9iai52YWx1ZTsKKyAgICB9OworICB9Cit9OworCith
c3NlcnRFcXVhbChvYmouZm4oKSgpLCA0Mik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIG9iai5m
bigpOworfSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fy
cm93LWRlY2xhcmUvYXJyb3ctZGVjbGFyZS5lczYgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVk
L3Rlc3RzL2Fycm93LWRlY2xhcmUvYXJyb3ctZGVjbGFyZS5lczYKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUzNzM2
NWIyODkwZmI2MjQ1YzdkODlmNDJiZTdlYzZhNDk3NTIzNQotLS0gL2Rldi9udWxsCisrKyBiL1Bl
cmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYXJyb3ctZGVjbGFyZS9hcnJvdy1kZWNsYXJl
LmVzNgpAQCAtMCwwICsxLDEzIEBACisKK3ZhciBvYmogPSB7CisgIHZhbHVlOiA0MiwKKyAgZm46
IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzLnZhbHVlOworICB9Cit9OworCith
c3NlcnRFcXVhbChvYmouZm4oKSgpLCA0Mik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIG9iai5m
bigpOworfSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fy
cm93L2Fycm93LmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYXJyb3cvYXJy
b3cuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxZjdmZjljMWRlNWRmZDdjZWVlYjNkNWJkMDM1YzhlMTMzNzhh
OWUKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fy
cm93L2Fycm93LmVzNQpAQCAtMCwwICsxLDE1IEBACit2YXIgb2JqID0geworICB2YWx1ZTogNDIs
CisgIGZuOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1
cm4gb2JqLnZhbHVlOworICAgIH07CisgIH0KK307CisKK3ZhciBmbiA9IG9iai5mbigpOworYXNz
ZXJ0RXF1YWwoZm4oKSwgNDIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBmbigpOworfSk7CmRp
ZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fycm93L2Fycm93LmVz
NiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYXJyb3cvYXJyb3cuZXM2Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYyYzAxNDkzZGI4MmM2NTVkNGZjNTk2NjdlOTMxM2VjMDRlZTA3MDIKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Fycm93L2Fycm93LmVz
NgpAQCAtMCwwICsxLDE0IEBACisKK3ZhciBvYmogPSB7CisgIHZhbHVlOiA0MiwKKyAgZm46IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzLnZhbHVlOworICB9Cit9OworCit2YXIg
Zm4gPSBvYmouZm4oKTsKK2Fzc2VydEVxdWFsKGZuKCksIDQyKTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgZm4oKTsKK30pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90
ZXN0cy9iaW5kaW5ncy1jb21wb3VuZC9iaW5kaW5ncy1jb21wb3VuZC5lczUgYi9QZXJmb3JtYW5j
ZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2JpbmRpbmdzLWNvbXBvdW5kL2JpbmRpbmdzLWNvbXBvdW5k
LmVzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ODlkNTg2Y2FjNTA1M2Y4ODQwZDI0ZjA1NGJlMWY4ZmNkOWU0NmVm
Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9iaW5k
aW5ncy1jb21wb3VuZC9iaW5kaW5ncy1jb21wb3VuZC5lczUKQEAgLTAsMCArMSwxMSBAQAordmFy
IGIgPSAyOworCithc3NlcnRFcXVhbChmbigpLCAzKTsKKworZnVuY3Rpb24gZm4oKSB7CisgIHZh
ciBhID0gMTsKKyAgYSArPSBiOworCisgIHJldHVybiBhOworfQordGVzdChmbik7CmRpZmYgLS1n
aXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2JpbmRpbmdzLWNvbXBvdW5kL2Jp
bmRpbmdzLWNvbXBvdW5kLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYmlu
ZGluZ3MtY29tcG91bmQvYmluZGluZ3MtY29tcG91bmQuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYTQ3OGYw
NzAzNmZhNDM4ZjhiMzQ1NjhkZDUzODE2NjZiZGE3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2JpbmRpbmdzLWNvbXBvdW5kL2JpbmRpbmdzLWNv
bXBvdW5kLmVzNgpAQCAtMCwwICsxLDE0IEBACisidXNlIHN0cmljdCI7CisKK2NvbnN0IGIgPSAy
OworCitmdW5jdGlvbiBmbigpIHsKKworICBsZXQgYSA9IDE7CisgIGEgKz0gYjsKKworICByZXR1
cm4gYTsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgMyk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYmluZGluZ3MvYmluZGluZ3MuZXM1IGIv
UGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9iaW5kaW5ncy9iaW5kaW5ncy5lczUKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGQ0ZGY4MzYyZGIxZmJkMjY5YmNkZjMyNTkyMWFhZTRhNzhiNjNkOQotLS0gL2Rl
di9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYmluZGluZ3MvYmlu
ZGluZ3MuZXM1CkBAIC0wLDAgKzEsOCBAQAordmFyIGEgPSAxLAorICAgIGIgPSAyOworCithc3Nl
cnRFcXVhbChhK2IsIDMpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICByZXR1cm4gYSArIGI7Cit9
KTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvYmluZGluZ3Mv
YmluZGluZ3MuZXM2IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9iaW5kaW5ncy9i
aW5kaW5ncy5lczYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRlMzRiYzhkNWJmNjhkOWNlNjYxMDBmZjY0ZjUzMmFl
N2E3Zjc5OAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvYmluZGluZ3MvYmluZGluZ3MuZXM2CkBAIC0wLDAgKzEsMTAgQEAKKyJ1c2Ugc3RyaWN0IjsK
KworY29uc3QgYSA9IDE7CitsZXQgYiA9IDI7CisKK2Fzc2VydEVxdWFsKGErYiwgMyk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgIHJldHVybiBhICsgYjsKK30pOwpkaWZmIC0tZ2l0IGEvUGVyZm9y
bWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9jbGFzc2VzL2NsYXNzZXMuZXM1IGIvUGVyZm9ybWFu
Y2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9jbGFzc2VzL2NsYXNzZXMuZXM1Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFl
NWM3YzExZmI2ZTFlYjBmN2E3MjM4NzU5ODQzMmEzZWIxNTVkMjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2NsYXNzZXMvY2xhc3Nlcy5lczUKQEAg
LTAsMCArMSwxMSBAQAorZnVuY3Rpb24gQygpIHsKKyAgdGhpcy5mb28gPSAnYmFyJzsKK30KK0Mu
cHJvdG90eXBlLmJhciA9IGZ1bmN0aW9uKCkgeworfTsKKworYXNzZXJ0RXF1YWwobmV3IEMoKS5m
b28sICdiYXInKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgcmV0dXJuIG5ldyBDKCk7Cit9KTsK
ZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvY2xhc3Nlcy9jbGFz
c2VzLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvY2xhc3Nlcy9jbGFzc2Vz
LmVzNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45MDA3Yjk5MmY3OGJkM2E1ODhjNTkyYzNkYjQwYTY1MzA5ZTQzYmIw
Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9jbGFz
c2VzL2NsYXNzZXMuZXM2CkBAIC0wLDAgKzEsMTMgQEAKK2NsYXNzIEMgeworICBjb25zdHJ1Y3Rv
cigpIHsKKyAgICB0aGlzLmZvbyA9ICdiYXInOworICB9CisgIGJhcigpIHsKKyAgfQorfQorCith
c3NlcnRFcXVhbChuZXcgQygpLmZvbywgJ2JhcicpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBy
ZXR1cm4gbmV3IEMoKTsKK30pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVl
ZC90ZXN0cy9kZWZhdWx0cy9kZWZhdWx0cy5lczUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVk
L3Rlc3RzL2RlZmF1bHRzL2RlZmF1bHRzLmVzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWMzZjBkMmU3ZTgwY2I2
MzU1N2U2ZDM5MWQ1MmMyZDQ1ZTU1ODZlCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9TaXhTcGVlZC90ZXN0cy9kZWZhdWx0cy9kZWZhdWx0cy5lczUKQEAgLTAsMCArMSwxNCBA
QAorZnVuY3Rpb24gZm4oYXJnLCBvdGhlcikgeworICBhcmcgPSBhcmcgPT09IHVuZGVmaW5lZCA/
IDEgOiBhcmc7CisgIG90aGVyID0gb3RoZXIgPT09IHVuZGVmaW5lZCA/IDMgOiBvdGhlcjsKKyAg
cmV0dXJuIG90aGVyOworfQorCithc3NlcnRFcXVhbChmbigpLCAzKTsKK2Fzc2VydEVxdWFsKGZu
KDEsIDIpLCAyKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgZm4oKTsKKyAgZm4oMik7CisgIGZu
KDIsIDQpOworfSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3Rz
L2RlZmF1bHRzL2RlZmF1bHRzLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMv
ZGVmYXVsdHMvZGVmYXVsdHMuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZjhmZGViMDE2MWY4ODJiZWEzZWE4
NzgxZTk5N2UzNDdiMWE0MTgKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1Np
eFNwZWVkL3Rlc3RzL2RlZmF1bHRzL2RlZmF1bHRzLmVzNgpAQCAtMCwwICsxLDEzIEBACitmdW5j
dGlvbiBmbihhcmcgPSAxLCBvdGhlciA9IDMpIHsKKyAgcmV0dXJuIG90aGVyOworfQorCisKK2Fz
c2VydEVxdWFsKGZuKCksIDMpOworYXNzZXJ0RXF1YWwoZm4oMSwgMiksIDIpOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBmbigpOworICBmbigyKTsKKyAgZm4oMiwgNCk7Cit9KTsKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZGVzdHJ1Y3R1cmluZy1zaW1wbGUv
ZGVzdHJ1Y3R1cmluZy1zaW1wbGUuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0
cy9kZXN0cnVjdHVyaW5nLXNpbXBsZS9kZXN0cnVjdHVyaW5nLXNpbXBsZS5lczUKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWJkODkzODdjZmI3ZTU0ODgxM2UyMjc3MDIwNGI1MWYzNzUwNmIxNQotLS0gL2Rldi9udWxs
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZGVzdHJ1Y3R1cmluZy1zaW1w
bGUvZGVzdHJ1Y3R1cmluZy1zaW1wbGUuZXM1CkBAIC0wLDAgKzEsMTQgQEAKK3ZhciBkYXRhID0g
eworICBhOiAnZm9vJywKKyAgYjoge2M6ICdkJ30sCisgIGFycjogWzEsIDIsIDNdCit9OworCitm
dW5jdGlvbiBmbigpIHsKKyAgdmFyIGEgPSBkYXRhLmEsCisgICAgICBiID0gZGF0YS5iOworICBy
ZXR1cm4gYTsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgJ2ZvbycpOwordGVzdChmbik7CmRpZmYg
LS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Rlc3RydWN0dXJpbmctc2lt
cGxlL2Rlc3RydWN0dXJpbmctc2ltcGxlLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQv
dGVzdHMvZGVzdHJ1Y3R1cmluZy1zaW1wbGUvZGVzdHJ1Y3R1cmluZy1zaW1wbGUuZXM2Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYwZmQzYzAxMGU4NDBjNjliYmQ2MGU5YTA1MTVlZTRjNzMyMjJkZjMKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Rlc3RydWN0dXJpbmct
c2ltcGxlL2Rlc3RydWN0dXJpbmctc2ltcGxlLmVzNgpAQCAtMCwwICsxLDE0IEBACit2YXIgZGF0
YSA9IHsKKyAgYTogJ2ZvbycsCisgIGI6IHtjOiAnZCd9LAorICBhcnI6IFsxLCAyLCAzXQorfTsK
KworZnVuY3Rpb24gZm4oKSB7CisgIHZhciB7YSwgYn0gPSBkYXRhOworICByZXR1cm4gYTsKK30K
KworYXNzZXJ0RXF1YWwoZm4oKSwgJ2ZvbycpOworCit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZGVzdHJ1Y3R1cmluZy9kZXN0cnVjdHVyaW5n
LmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZGVzdHJ1Y3R1cmluZy9kZXN0
cnVjdHVyaW5nLmVzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YmU1ZTNjZmM4NTZjMGE5OWZlOWI1OTk2MTI0M2Vi
YTAyODRkNjYzCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90
ZXN0cy9kZXN0cnVjdHVyaW5nL2Rlc3RydWN0dXJpbmcuZXM1CkBAIC0wLDAgKzEsMTUgQEAKK3Zh
ciBkYXRhID0geworICBhOiAnZm9vJywKKyAgYjoge2M6ICdkJ30sCisgIGFycjogWzEsIDIsIDNd
Cit9OworCitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIGEgPSBkYXRhLmEsCisgICAgICBiID0gZGF0
YS5iLmMsCisgICAgICBjID0gZGF0YS5hcnJbMV07CisgIHJldHVybiBjOworfQorCithc3NlcnRF
cXVhbChmbigpLCAyKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9T
aXhTcGVlZC90ZXN0cy9kZXN0cnVjdHVyaW5nL2Rlc3RydWN0dXJpbmcuZXM2IGIvUGVyZm9ybWFu
Y2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9kZXN0cnVjdHVyaW5nL2Rlc3RydWN0dXJpbmcuZXM2Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUwZTliNzViYjNkMzI1NTEwMzhlNjg4MDBmNjM2M2ZmMjY1NDRkNGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Rlc3RydWN0dXJp
bmcvZGVzdHJ1Y3R1cmluZy5lczYKQEAgLTAsMCArMSwxMyBAQAordmFyIGRhdGEgPSB7CisgIGE6
ICdmb28nLAorICBiOiB7YzogJ2QnfSwKKyAgYXJyOiBbMSwgMiwgM10KK307CisKK2Z1bmN0aW9u
IGZuKCkgeworICB2YXIge2EsIGI6e2M6Yn0sIGFycjpbLCBjXX0gPSBkYXRhOworICByZXR1cm4g
YzsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgMik7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZm9yLW9mLWFycmF5L2Zvci1vZi1hcnJheS5l
czUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Zvci1vZi1hcnJheS9mb3Itb2Yt
YXJyYXkuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyNzU0M2Y4NGFkZTJjNzIyNGY5MzU2OGU2ZmE4YmZhNzU2
N2NlNzQKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3Rz
L2Zvci1vZi1hcnJheS9mb3Itb2YtYXJyYXkuZXM1CkBAIC0wLDAgKzEsMTMgQEAKK3ZhciBkYXRh
ID0gWzEsMiwzXTsKKworZnVuY3Rpb24gZm4oKSB7CisgIHZhciByZXQgPSAnJzsKKyAgZm9yICh2
YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7CisgICAgcmV0ICs9IGRhdGFbaV07Cisg
IH0KKyAgcmV0dXJuIHJldDsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgJzEyMycpOworCit0ZXN0
KGZuKTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZm9yLW9m
LWFycmF5L2Zvci1vZi1hcnJheS5lczYgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3Rz
L2Zvci1vZi1hcnJheS9mb3Itb2YtYXJyYXkuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2NDM3ODk0OGIyYTIy
NGI4ODBiODAyZGIzNjkyODMzZGI3YjU4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Zvci1vZi1hcnJheS9mb3Itb2YtYXJyYXkuZXM2CkBAIC0w
LDAgKzEsMTMgQEAKK3ZhciBkYXRhID0gWzEsMiwzXTsKKworZnVuY3Rpb24gZm4oKSB7CisgIHZh
ciByZXQgPSAnJzsKKyAgZm9yICh2YXIgdmFsdWUgb2YgZGF0YSkgeworICAgIHJldCArPSB2YWx1
ZTsKKyAgfQorICByZXR1cm4gcmV0OworfQorCithc3NlcnRFcXVhbChmbigpLCAnMTIzJyk7CisK
K3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9m
b3Itb2Ytb2JqZWN0L2Zvci1vZi1vYmplY3QuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVl
ZC90ZXN0cy9mb3Itb2Ytb2JqZWN0L2Zvci1vZi1vYmplY3QuZXM1Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYzFk
YTE5Mjk3MmFlMjdmZDQ1YjlmZGYzMzAxYjAyY2FiNmUyMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Q
ZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2Zvci1vZi1vYmplY3QvZm9yLW9mLW9iamVj
dC5lczUKQEAgLTAsMCArMSwxMyBAQAordmFyIGRhdGEgPSB7J2EnOiAnYicsICdjJzogJ2QnfTsK
K2Z1bmN0aW9uIGZuKCkgeworICB2YXIgcmV0ID0gJyc7CisgIGZvciAodmFyIG5hbWUgaW4gZGF0
YSkgeworICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KG5hbWUpKSB7CisgICAgICByZXQgKz0g
ZGF0YVtuYW1lXTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJldDsKK30KKworYXNzZXJ0RXF1YWwo
Zm4oKSwgJ2JkJyk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvZm9yLW9mLW9iamVjdC9mb3Itb2Ytb2JqZWN0LmVzNiBiL1BlcmZvcm1hbmNl
VGVzdHMvU2l4U3BlZWQvdGVzdHMvZm9yLW9mLW9iamVjdC9mb3Itb2Ytb2JqZWN0LmVzNgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NWI1ZmI2ZGQwY2E4MTY1NDEyMjkxOTQzMDBhNWUwODdiODVhNDEyCi0tLSAvZGV2
L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9mb3Itb2Ytb2JqZWN0
L2Zvci1vZi1vYmplY3QuZXM2CkBAIC0wLDAgKzEsMjQgQEAKK3ZhciBkYXRhID0geydhJzogJ2In
LCAnYyc6ICdkJ307CitkYXRhW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsKKyAgdmFy
IGFycmF5ID0gT2JqZWN0LmtleXMoZGF0YSksCisgICAgICBuZXh0SW5kZXggPSAwOworCisgIHJl
dHVybiB7CisgICAgbmV4dDogZnVuY3Rpb24oKSB7CisgICAgICAgcmV0dXJuIG5leHRJbmRleCA8
IGFycmF5Lmxlbmd0aCA/CisgICAgICAgICB7dmFsdWU6IGRhdGFbYXJyYXlbbmV4dEluZGV4Kytd
XSwgZG9uZTogZmFsc2V9IDoKKyAgICAgICAgIHtkb25lOiB0cnVlfTsKKyAgICB9CisgIH07Cit9
OworCitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIHJldCA9ICcnOworICBmb3IgKHZhciB2YWx1ZSBv
ZiBkYXRhKSB7CisgICAgcmV0ICs9IHZhbHVlOworICB9CisgIHJldHVybiByZXQ7Cit9CisKK2Fz
c2VydEVxdWFsKGZuKCksICdiZCcpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2dlbmVyYXRvci9nZW5lcmF0b3IuZXM1IGIvUGVyZm9ybWFu
Y2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9nZW5lcmF0b3IvZ2VuZXJhdG9yLmVzNQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMWI0NDFjMWRhOTAwMzJjNzdkYjk1YjY3OTI2YjRkNTZmYmU4ZTdjCi0tLSAvZGV2L251bGwK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9nZW5lcmF0b3IvZ2VuZXJhdG9y
LmVzNQpAQCAtMCwwICsxLDI2IEBACitmdW5jdGlvbiBnZW5lcmF0b3IoKSB7CisgIHZhciBpID0g
MDsKKyAgcmV0dXJuIHsKKyAgICBuZXh0OiBmdW5jdGlvbigpIHsKKyAgICAgIGkrKzsKKyAgICAg
IGlmIChpID49IDMpIHsKKyAgICAgICAgcmV0dXJuIHtkb25lOiB0cnVlfTsKKyAgICAgIH0gZWxz
ZSB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgdmFsdWU6IGksCisgICAgICAgICAgZG9u
ZTogZmFsc2UKKyAgICAgICAgfTsKKyAgICAgIH0KKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9u
IGZuKCkgeworICB2YXIgaXRlcmF0b3IgPSBnZW5lcmF0b3IoKTsKKyAgaXRlcmF0b3IubmV4dCgp
OworICBpdGVyYXRvci5uZXh0KCk7CisgIHJldHVybiBpdGVyYXRvci5uZXh0KCkuZG9uZTsKK30K
KworYXNzZXJ0RXF1YWwoZm4oKSwgdHJ1ZSk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvZ2VuZXJhdG9yL2dlbmVyYXRvci5lczYgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2dlbmVyYXRvci9nZW5lcmF0b3IuZXM2Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQzMWZkNzZmMjIxM2Y4MTM0ZTVlZmNlNzRlNDI2ZTJhNDIzNjBiMGEKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL2dlbmVyYXRvci9nZW5l
cmF0b3IuZXM2CkBAIC0wLDAgKzEsMTQgQEAKK2Z1bmN0aW9uICogZ2VuZXJhdG9yKCkgeworICB5
aWVsZCAxOworICB5aWVsZCAyOworfQorCitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIGl0ZXJhdG9y
ID0gZ2VuZXJhdG9yKCk7CisgIGl0ZXJhdG9yLm5leHQoKTsKKyAgaXRlcmF0b3IubmV4dCgpOwor
ICByZXR1cm4gaXRlcmF0b3IubmV4dCgpLmRvbmU7Cit9CisKK2Fzc2VydEVxdWFsKGZuKCksIHRy
dWUpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rl
c3RzL21hcC1zZXQtbG9va3VwL21hcC1zZXQtbG9va3VwLmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMv
U2l4U3BlZWQvdGVzdHMvbWFwLXNldC1sb29rdXAvbWFwLXNldC1sb29rdXAuZXM1Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUwZmE3MGQ5N2E4ODQxYjJjZjI3ZmUxYTQ0N2M3YzE0ZTkxNzNhYTgKLS0tIC9kZXYvbnVs
bAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQtbG9va3VwL21h
cC1zZXQtbG9va3VwLmVzNQpAQCAtMCwwICsxLDIxIEBACit2YXIga2V5cyA9IFtdLAorICAgIHZh
bHVlcyA9IFtdLAorICAgIHNldCA9IFtdLAorICAgIGtleSA9IHt9OworCitmb3IgKHZhciBpID0g
MDsgaSA8IDUwMDsgaSsrKSB7CisgIGtleXMucHVzaChpKTsKKyAgdmFsdWVzLnB1c2goaSk7Cisg
IHNldC5wdXNoKGkpOworfQorCitrZXlzLnB1c2goa2V5KTsKK3ZhbHVlcy5wdXNoKCdiYXInKTsK
K3NldC5wdXNoKGtleSk7CisKK2Z1bmN0aW9uIGZuKCkgeworICByZXR1cm4gc2V0LmluZGV4T2Yo
a2V5KSA+PSAwICYmIGtleXMuaW5kZXhPZihrZXkpID49IDA7Cit9CisKK2Fzc2VydEVxdWFsKGZu
KCksIHRydWUpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNw
ZWVkL3Rlc3RzL21hcC1zZXQtbG9va3VwL21hcC1zZXQtbG9va3VwLmVzNiBiL1BlcmZvcm1hbmNl
VGVzdHMvU2l4U3BlZWQvdGVzdHMvbWFwLXNldC1sb29rdXAvbWFwLXNldC1sb29rdXAuZXM2Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJmYzljNTAzZTIzN2M0ZDc3YTQ2M2I0MTFmZmM2YWI3Zjc5NGMwZGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQtbG9v
a3VwL21hcC1zZXQtbG9va3VwLmVzNgpAQCAtMCwwICsxLDE4IEBACit2YXIgbWFwID0gbmV3IE1h
cCgpLAorICAgIHNldCA9IG5ldyBTZXQoKSwKKyAgICBrZXkgPSB7fTsKKworZm9yICh2YXIgaSA9
IDA7IGkgPCA1MDA7IGkrKykgeworICBtYXAuc2V0KGksIGkpOworICBzZXQuYWRkKGkpOworfQor
CittYXAuc2V0KGtleSwgJ2JhcicpOworc2V0LmFkZChrZXkpOworCitmdW5jdGlvbiBmbigpIHsK
KyAgcmV0dXJuIG1hcC5oYXMoa2V5KSAmJiBzZXQuaGFzKGtleSk7Cit9CisKK2Fzc2VydEVxdWFs
KGZuKCksIHRydWUpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1Np
eFNwZWVkL3Rlc3RzL21hcC1zZXQtb2JqZWN0L21hcC1zZXQtb2JqZWN0LmVzNSBiL1BlcmZvcm1h
bmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvbWFwLXNldC1vYmplY3QvbWFwLXNldC1vYmplY3QuZXM1
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYxZGZjYzViMjE2MGM0NzJjMjVkNzBiMjk1NzQ2OTE4Zjg0YzNiMDYKLS0t
IC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQt
b2JqZWN0L21hcC1zZXQtb2JqZWN0LmVzNQpAQCAtMCwwICsxLDIxIEBACitmdW5jdGlvbiBmbigp
IHsKKyAgdmFyIGtleXMgPSBbXSwKKyAgICAgIHZhbHVlcyA9IFtdLAorICAgICAgc2V0ID0gW10s
CisgICAgICBrZXkgPSB7fTsKKworICBmb3IgKHZhciBpID0gMDsgaSA8IDUwMDsgaSsrKSB7Cisg
ICAga2V5cy5wdXNoKGkpOworICAgIHZhbHVlcy5wdXNoKGkpOworICAgIHNldC5wdXNoKGkpOwor
ICB9CisKKyAga2V5cy5wdXNoKGtleSk7CisgIHZhbHVlcy5wdXNoKCdiYXInKTsKKyAgc2V0LnB1
c2goa2V5KTsKKworICByZXR1cm4gc2V0LmluZGV4T2Yoa2V5KSA+PSAwICYmIGtleXMuaW5kZXhP
ZihrZXkpID49IDA7Cit9CisKK2Fzc2VydEVxdWFsKGZuKCksIHRydWUpOwordGVzdChmbik7CmRp
ZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQtb2JqZWN0
L21hcC1zZXQtb2JqZWN0LmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvbWFw
LXNldC1vYmplY3QvbWFwLXNldC1vYmplY3QuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MjRhMGJiMjdhM2Rm
NTZkOTEwODY2NGExYmJmZTQwMjk1NDgxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQtb2JqZWN0L21hcC1zZXQtb2JqZWN0LmVzNgpA
QCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIG1hcCA9IG5ldyBNYXAoKSwK
KyAgICAgIHNldCA9IG5ldyBTZXQoKSwKKyAgICAgIGtleSA9IHt9OworCisgIGZvciAodmFyIGkg
PSAwOyBpIDwgNTAwOyBpKyspIHsKKyAgICBtYXAuc2V0KGksIGkpOworICAgIHNldC5hZGQoaSk7
CisgIH0KKworICBtYXAuc2V0KGtleSwgJ2JhcicpOworICBzZXQuYWRkKGtleSk7CisKKyAgcmV0
dXJuIG1hcC5oYXMoa2V5KSAmJiBzZXQuaGFzKGtleSk7Cit9CisKK2Fzc2VydEVxdWFsKGZuKCks
IHRydWUpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVk
L3Rlc3RzL21hcC1zZXQvbWFwLXNldC5lczUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rl
c3RzL21hcC1zZXQvbWFwLXNldC5lczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5ZWM3YWQwNGM0OTAyYzk5MmU5
MzM3MWRlM2IyZDYxMTE2YTVkNgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMv
U2l4U3BlZWQvdGVzdHMvbWFwLXNldC9tYXAtc2V0LmVzNQpAQCAtMCwwICsxLDE2IEBACitmdW5j
dGlvbiBmbigpIHsKKyAgdmFyIG1hcCA9IHt9LAorICAgICAgc2V0ID0gW107CisKKyAgZm9yICh2
YXIgaSA9IDA7IGkgPCAyNTA7IGkrKykgeworICAgIG1hcFtpXSA9IGk7CisgICAgc2V0LnB1c2go
aSk7CisgIH0KKworICBtYXAuZm9vID0gJ2Jhcic7CisgIHNldC5wdXNoKCdiYXInKTsKKyAgcmV0
dXJuICgnZm9vJyBpbiBtYXApICYmIHNldC5pbmRleE9mKCdiYXInKSA+PSAwOworfQorCithc3Nl
cnRFcXVhbChmbigpLCB0cnVlKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9TaXhTcGVlZC90ZXN0cy9tYXAtc2V0L21hcC1zZXQuZXM2IGIvUGVyZm9ybWFuY2VUZXN0
cy9TaXhTcGVlZC90ZXN0cy9tYXAtc2V0L21hcC1zZXQuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MzQ1MGQx
ZGI2OGU3NTIyNmQ3MTdhMmE3MDhlZTQ1ZjE0OWU1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zZXQvbWFwLXNldC5lczYKQEAgLTAsMCAr
MSwxNyBAQAorZnVuY3Rpb24gZm4oKSB7CisgIHZhciBtYXAgPSBuZXcgTWFwKCksCisgICAgICBz
ZXQgPSBuZXcgU2V0KCk7CisKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTA7IGkrKykgeworICAg
IG1hcC5zZXQoaSwgaSk7CisgICAgc2V0LmFkZChpKTsKKyAgfQorCisgIG1hcC5zZXQoJ2Zvbycs
ICdiYXInKTsKKyAgc2V0LmFkZCgnYmFyJyk7CisKKyAgcmV0dXJuIG1hcC5oYXMoJ2ZvbycpICYm
IHNldC5oYXMoJ2JhcicpOworfQorCithc3NlcnRFcXVhbChmbigpLCB0cnVlKTsKK3Rlc3QoZm4p
OwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9tYXAtc3RyaW5n
L21hcC1zdHJpbmcuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9tYXAtc3Ry
aW5nL21hcC1zdHJpbmcuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0NzU0N2U2YjRkODc1Mzk4ODZmMjBlNjVh
NTJjZGYxN2M4ZDRiZGQKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNw
ZWVkL3Rlc3RzL21hcC1zdHJpbmcvbWFwLXN0cmluZy5lczUKQEAgLTAsMCArMSwxMiBAQAordmFy
IG1hcCA9IHt9OworCitmb3IgKHZhciBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CisgIG1hcFtpXSA9
IGk7Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICByZXR1cm4gbWFwWyc0OTknXSA9PT0gNDk5Owor
fQorCithc3NlcnRFcXVhbChmbigpLCB0cnVlKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9tYXAtc3RyaW5nL21hcC1zdHJpbmcuZXM2IGIv
UGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9tYXAtc3RyaW5nL21hcC1zdHJpbmcuZXM2
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQzYjc4MTEwMjU1NWZjNGFmYTA0OGE4NTA0ZTJkMWEwMjljMDdiMjcKLS0t
IC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL21hcC1zdHJp
bmcvbWFwLXN0cmluZy5lczYKQEAgLTAsMCArMSwxMiBAQAordmFyIG1hcCA9IG5ldyBNYXAoKTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCA1MDA7IGkrKykgeworICBtYXAuc2V0KGkgKyAnJywgaSk7
Cit9CisKK2Z1bmN0aW9uIGZuKCkgeworICByZXR1cm4gbWFwLmdldCgnNDk5JykgPT09IDQ5OTsK
K30KKworYXNzZXJ0RXF1YWwoZm4oKSwgdHJ1ZSk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvbmV3LXRhcmdldC9kZWZhdWx0cy5lczUgYi9Q
ZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL25ldy10YXJnZXQvZGVmYXVsdHMuZXM1Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNkN2NhYjdmZmUyNmI5NmYyNjgyNDI3MWQxYWNhNDU5NjFmNTk4N2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL25ldy10YXJnZXQv
ZGVmYXVsdHMuZXM1CkBAIC0wLDAgKzEsMTAgQEAKK2Z1bmN0aW9uIEZuKCkgeworICByZXR1cm4g
ISEodGhpcyAmJiB0aGlzLmNvbnN0cnVjdG9yID09PSBGbik7Cit9CisKK2Fzc2VydEVxdWFsKHR5
cGVvZiBGbigpLCAnYm9vbGVhbicpOworYXNzZXJ0RXF1YWwodHlwZW9mIChuZXcgRm4oKSksICdv
YmplY3QnKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgcmV0dXJuIChGbigpIHx8IG5ldyBGbigp
KTsKK30pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9uZXct
dGFyZ2V0L2RlZmF1bHRzLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvbmV3
LXRhcmdldC9kZWZhdWx0cy5lczYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRmNGJjZDQ0NzEzYWNkYjZmZmFiZDQ0
NWMyNTVlNjJlZWZmMzBkMgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvbmV3LXRhcmdldC9kZWZhdWx0cy5lczYKQEAgLTAsMCArMSwxMCBAQAorZnVu
Y3Rpb24gRm4oKSB7CisgIHJldHVybiAobmV3LnRhcmdldCA9PT0gRm4pOworfQorCithc3NlcnRF
cXVhbCh0eXBlb2YgRm4oKSwgJ2Jvb2xlYW4nKTsKK2Fzc2VydEVxdWFsKHR5cGVvZiAobmV3IEZu
KCkpLCAnb2JqZWN0Jyk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHJldHVybiAoRm4oKSB8fCBu
ZXcgRm4oKSk7Cit9KTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvb2JqZWN0LWFzc2lnbi9vYmplY3QtYXNzaWduLmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvb2JqZWN0LWFzc2lnbi9vYmplY3QtYXNzaWduLmVzNQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
M2QxNTcxZDI3OWFhODQ0OWZkZjBlZWU2MDUwNjUzNWE5OGJhYjllCi0tLSAvZGV2L251bGwKKysr
IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9vYmplY3QtYXNzaWduL29iamVjdC1h
c3NpZ24uZXM1CkBAIC0wLDAgKzEsMjggQEAKK3ZhciBvYmogPSB7CisgIGE6IDEsCisgIGI6IHRy
dWUsCisgIGM6IGZ1bmN0aW9uICgpIHt9LAorICBkOiBudWxsLAorICBlOiAnZScKK307CisKK3Zh
ciBmbiA9IGZ1bmN0aW9uIChzcmMpIHsKKyAgdmFyIG8gPSB7fTsKKyAgdmFyIGtleXMgPSBPYmpl
Y3Qua2V5cyhzcmMpOworICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHsK
KyAgICB2YXIga2V5ID0ga2V5c1tpXTsKKyAgICBvW2tleV0gPSBzcmNba2V5XTsKKyAgfQorICBy
ZXR1cm4gbzsKK307CisKK3ZhciByID0gZm4ob2JqKTsKK2Fzc2VydEVxdWFsKHIuYSwgb2JqLmEp
OworYXNzZXJ0RXF1YWwoci5iLCBvYmouYik7Cithc3NlcnRFcXVhbChyLmMsIG9iai5jKTsKK2Fz
c2VydEVxdWFsKHIuZCwgb2JqLmQpOworYXNzZXJ0RXF1YWwoci5lLCBvYmouZSk7CisKK3Rlc3Qo
ZnVuY3Rpb24gKCkgeworICBmbihvYmopOworfSk7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRl
c3RzL1NpeFNwZWVkL3Rlc3RzL29iamVjdC1hc3NpZ24vb2JqZWN0LWFzc2lnbi5lczYgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL29iamVjdC1hc3NpZ24vb2JqZWN0LWFzc2lnbi5l
czYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmRjZTBiMjBmYzBhYjczMWUwZGFmMWE1MWMzNTJiNmM5NjEyZjQzMwot
LS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvb2JqZWN0
LWFzc2lnbi9vYmplY3QtYXNzaWduLmVzNgpAQCAtMCwwICsxLDIyIEBACitjb25zdCBvYmogPSB7
CisgIGE6IDEsCisgIGI6IHRydWUsCisgIGM6IGZ1bmN0aW9uICgpIHt9LAorICBkOiBudWxsLAor
ICBlOiAnZScKK307CisKK2NvbnN0IGZuID0gZnVuY3Rpb24gKHNyYykgeworICByZXR1cm4gT2Jq
ZWN0LmFzc2lnbih7fSwgc3JjKTsKK307CisKK2NvbnN0IHIgPSBmbihvYmopOworYXNzZXJ0RXF1
YWwoci5hLCBvYmouYSk7Cithc3NlcnRFcXVhbChyLmIsIG9iai5iKTsKK2Fzc2VydEVxdWFsKHIu
Yywgb2JqLmMpOworYXNzZXJ0RXF1YWwoci5kLCBvYmouZCk7Cithc3NlcnRFcXVhbChyLmUsIG9i
ai5lKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGZuKG9iaik7Cit9KTsKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvb2JqZWN0LWxpdGVyYWwtZXh0L29iamVj
dC1saXRlcmFsLWV4dC5lczUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL29iamVj
dC1saXRlcmFsLWV4dC9vYmplY3QtbGl0ZXJhbC1leHQuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlYTMxNjg3
ZGI5MDI0Yjc4OTU1MTBjNmVlMGIxOTA4ODU4ZWUwOTgKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL29iamVjdC1saXRlcmFsLWV4dC9vYmplY3QtbGl0
ZXJhbC1leHQuZXM1CkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIgbmFt
ZSA9ICdmb28nOworICB2YXIgcmV0ID0geworICAgICdiaXp6IGJ1enonOiBmdW5jdGlvbigpIHsK
KyAgICAgIHJldHVybiAxOworICAgIH0sCisgICAgbmFtZTogbmFtZQorICB9OworICByZXRbbmFt
ZV0gPSAnYmFyJzsKKyAgcmV0W25hbWUgKyAnZm9vJ10gPSAnZm9vJzsKKyAgcmV0dXJuIHJldDsK
K30KKworYXNzZXJ0RXF1YWwoZm4oKS5mb29mb28sICdmb28nKTsKK3Rlc3QoZm4pOwpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9vYmplY3QtbGl0ZXJhbC1leHQv
b2JqZWN0LWxpdGVyYWwtZXh0LmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMv
b2JqZWN0LWxpdGVyYWwtZXh0L29iamVjdC1saXRlcmFsLWV4dC5lczYKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIy
MDUyZjk5MDNkZDM2MGI5NzJlNjhhZjAzMGNlNDVkN2JkYTJkYwotLS0gL2Rldi9udWxsCisrKyBi
L1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvb2JqZWN0LWxpdGVyYWwtZXh0L29iamVj
dC1saXRlcmFsLWV4dC5lczYKQEAgLTAsMCArMSwxNCBAQAorZnVuY3Rpb24gZm4oKSB7CisgIHZh
ciBuYW1lID0gJ2Zvbyc7CisgIHJldHVybiB7CisgICAgJ2JpenogYnV6eicoKSB7CisgICAgICBy
ZXR1cm4gMTsKKyAgICB9LAorICAgIG5hbWUsCisgICAgW25hbWVdOiAnYmFyJywKKyAgICBbbmFt
ZSArICdmb28nXTogJ2ZvbycKKyAgfTsKK30KKworYXNzZXJ0RXF1YWwoZm4oKS5mb29mb28sICdm
b28nKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90
ZXN0cy9yZWdleC11L3JlZ2V4LXUuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0
cy9yZWdleC11L3JlZ2V4LXUuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5MWVhZGQxYzVhN2NjZDEwOTg5OTFh
NTIxNjYyNTY0YWU1YTI2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1Np
eFNwZWVkL3Rlc3RzL3JlZ2V4LXUvcmVnZXgtdS5lczUKQEAgLTAsMCArMSw2IEBACitmdW5jdGlv
biBmbigpIHsKKyAgcmV0dXJuICfwoK63Jy5tYXRjaCgvXi4kLyk7Cit9CisKKy8vIE5vdCBhc3Nl
cnRpbmcgYXMgdGhpcyBpc24ndCBxdWl0ZSBhbiBhY2N1cmF0ZSB0ZXN0IHVuZGVyIGVzNQordGVz
dChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3JlZ2V4
LXUvcmVnZXgtdS5lczYgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3JlZ2V4LXUv
cmVnZXgtdS5lczYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI4Y2JiY2FjNzk1M2I1ZWRhZmU4MmQ2NjIxNjM1OWE4
MzM5ZjAyZQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvcmVnZXgtdS9yZWdleC11LmVzNgpAQCAtMCwwICsxLDYgQEAKK2Z1bmN0aW9uIGZuKCkgewor
ICByZXR1cm4gJ/CgrrcnLm1hdGNoKC9eLiQvdSk7Cit9CisKK2Fzc2VydEVxdWFsKCEhZm4oKSwg
dHJ1ZSk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQv
dGVzdHMvcmVzdC9yZXN0LmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvcmVz
dC9yZXN0LmVzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzliNTZhMDlhNTcxMGUzZTI0MWJlYTI4NWJlNzU5OGZl
ODc2MjhmCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0
cy9yZXN0L3Jlc3QuZXM1CkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZuKCkgeworICByZXR1
cm4gYXJndW1lbnRzWzFdOworfQorCithc3NlcnRFcXVhbChmbigpLCB1bmRlZmluZWQpOworYXNz
ZXJ0RXF1YWwoZm4oMiksIHVuZGVmaW5lZCk7Cithc3NlcnRFcXVhbChmbigyLCA0KSwgNCk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgIGZuKCk7CisgIGZuKDIpOworICBmbigyLCA0KTsKK30pOwpk
aWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9yZXN0L3Jlc3QuZXM2
IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9yZXN0L3Jlc3QuZXM2Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQxZTRkOTE2MTE1YWUzZDI1MDc4YzdmMmFmMmQ0N2JjOTRjZjExZjYKLS0tIC9kZXYvbnVs
bAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3Jlc3QvcmVzdC5lczYKQEAg
LTAsMCArMSwxMyBAQAorZnVuY3Rpb24gZm4oZm9vLCAuLi5hcmdzKSB7CisgIHJldHVybiBhcmdz
WzBdOworfQorCithc3NlcnRFcXVhbChmbigpLCB1bmRlZmluZWQpOworYXNzZXJ0RXF1YWwoZm4o
MiksIHVuZGVmaW5lZCk7Cithc3NlcnRFcXVhbChmbigyLCA0KSwgNCk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgIGZuKCk7CisgIGZuKDIpOworICBmbigyLCA0KTsKK30pOwpkaWZmIC0tZ2l0IGEv
UGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9zcHJlYWQtZ2VuZXJhdG9yL3NwcmVhZC1n
ZW5lcmF0b3IuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9zcHJlYWQtZ2Vu
ZXJhdG9yL3NwcmVhZC1nZW5lcmF0b3IuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhMDMwNWIzNDkwZGVjYzk3
Y2FiMjhjMWZiOWY0YzQwYzRjYmI0ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRl
c3RzL1NpeFNwZWVkL3Rlc3RzL3NwcmVhZC1nZW5lcmF0b3Ivc3ByZWFkLWdlbmVyYXRvci5lczUK
QEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gZ2VuZXJhdG9yKCkgeworICB2YXIgaSA9IDA7Cisg
IHJldHVybiB7CisgICAgbmV4dDogZnVuY3Rpb24oKSB7CisgICAgICBpKys7CisgICAgICBpZiAo
aSA+PSA0KSB7CisgICAgICAgIHJldHVybiB7ZG9uZTogdHJ1ZX07CisgICAgICB9IGVsc2Ugewor
ICAgICAgICByZXR1cm4geworICAgICAgICAgIHZhbHVlOiBpLAorICAgICAgICAgIGRvbmU6IGZh
bHNlCisgICAgICAgIH07CisgICAgICB9CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBmbigp
IHsKKyAgdmFyIGl0ZXJhdG9yID0gZ2VuZXJhdG9yKCk7CisgIHZhciBhcmdzID0gW2l0ZXJhdG9y
Lm5leHQoKS52YWx1ZSwgaXRlcmF0b3IubmV4dCgpLnZhbHVlLCBpdGVyYXRvci5uZXh0KCkudmFs
dWVdOworICBpdGVyYXRvci5uZXh0KCk7CisKKyAgcmV0dXJuIE1hdGgubWF4LmFwcGx5KE1hdGgs
IGFyZ3MpOworfQorCithc3NlcnRFcXVhbChmbigpLCAzKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9zcHJlYWQtZ2VuZXJhdG9yL3NwcmVh
ZC1nZW5lcmF0b3IuZXM2IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9zcHJlYWQt
Z2VuZXJhdG9yL3NwcmVhZC1nZW5lcmF0b3IuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3ODMxMjk1YTk3ZGEw
MjRkZjdhNTIyMGNiMWI0MDJiM2NlZDlkNWYKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5j
ZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3NwcmVhZC1nZW5lcmF0b3Ivc3ByZWFkLWdlbmVyYXRvci5l
czYKQEAgLTAsMCArMSwxMSBAQAorZnVuY3Rpb24gKmdlbmVyYXRlKCkgeworICB5aWVsZCAxOwor
ICB5aWVsZCAyOworICB5aWVsZCAzOworfQorCitmdW5jdGlvbiBmbigpIHsKKyAgcmV0dXJuIE1h
dGgubWF4KC4uLiBnZW5lcmF0ZSgpKTsKK30KK2Fzc2VydEVxdWFsKGZuKCksIDMpOwordGVzdChm
bik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3NwcmVhZC1s
aXRlcmFsL3NwcmVhZC1saXRlcmFsLmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvc3ByZWFkLWxpdGVyYWwvc3ByZWFkLWxpdGVyYWwuZXM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3NmQ4OGVk
Zjk5MjUwNjc1NTE2NzFlOTE1ZWQxNGY3NDM2YmYxYzEKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3NwcmVhZC1saXRlcmFsL3NwcmVhZC1saXRlcmFs
LmVzNQpAQCAtMCwwICsxLDggQEAKK2Z1bmN0aW9uIGZuKCkgeworICB2YXIgcmV0ID0gWzFdOwor
ICByZXQucHVzaCgxLCAyLCAzKTsKKyAgcmV0dXJuIHJldDsKK30KKworYXNzZXJ0RXF1YWwoZm4o
KVszXSwgMyk7Cit0ZXN0KGZuKTsKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3Bl
ZWQvdGVzdHMvc3ByZWFkLWxpdGVyYWwvc3ByZWFkLWxpdGVyYWwuZXM2IGIvUGVyZm9ybWFuY2VU
ZXN0cy9TaXhTcGVlZC90ZXN0cy9zcHJlYWQtbGl0ZXJhbC9zcHJlYWQtbGl0ZXJhbC5lczYKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjE4MGZiNTU4N2VlZTYwYjliYWRiNDg3ZTU2YzhjYjY3NzM4NTkzNwotLS0gL2Rl
di9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvc3ByZWFkLWxpdGVy
YWwvc3ByZWFkLWxpdGVyYWwuZXM2CkBAIC0wLDAgKzEsNSBAQAorZnVuY3Rpb24gZm4oKSB7Cisg
IHJldHVybiBbMSwgLi4uIFsxLCAyLCAzXV07Cit9Cithc3NlcnRFcXVhbChmbigpWzNdLCAzKTsK
K3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy9z
cHJlYWQvc3ByZWFkLmVzNSBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvc3ByZWFk
L3NwcmVhZC5lczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQxM2Y0NGM2ZmM3YTliNTM2YzZiMjA3M2YyZmM0N2Zh
Njg2YTc4ZQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvc3ByZWFkL3NwcmVhZC5lczUKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiBmbigpIHsKKyAg
cmV0dXJuIE1hdGgubWF4LmFwcGx5KE1hdGgsIFsxLDIsM10pOworfQorCithc3NlcnRFcXVhbChm
bigpLCAzKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVl
ZC90ZXN0cy9zcHJlYWQvc3ByZWFkLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVz
dHMvc3ByZWFkL3NwcmVhZC5lczYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVlZTkzN2QyNDk0ZjQ0MWMyZThhYjg0
YmJiNzVmYmVmZGE3NWRlZQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvc3ByZWFkL3NwcmVhZC5lczYKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiBm
bigpIHsKKyAgcmV0dXJuIE1hdGgubWF4KC4uLlsxLDIsM10pOworfQorCithc3NlcnRFcXVhbChm
bigpLCAzKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVl
ZC90ZXN0cy9zdXBlci9zdXBlci5lczUgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3Rz
L3N1cGVyL3N1cGVyLmVzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWRjNTI3MTI3NjQxMzYzNzc1ODE1ZjFlNzRi
ZGY2ZTk4NjE2NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVl
ZC90ZXN0cy9zdXBlci9zdXBlci5lczUKQEAgLTAsMCArMSwyMyBAQAorZnVuY3Rpb24gQygpIHsK
KyAgdGhpcy5mb28gPSAnYmFyJzsKK30KK0MucHJvdG90eXBlLmJhciA9IGZ1bmN0aW9uKCkgewor
ICByZXR1cm4gNDE7Cit9OworCisKK2Z1bmN0aW9uIEQoKSB7CisgIEMuY2FsbCh0aGlzKTsKKyAg
dGhpcy5iYXogPSAnYmF0JzsKK30KK0QucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShDLnByb3Rv
dHlwZSk7CitELnByb3RvdHlwZS5iYXIgPSBmdW5jdGlvbigpIHsKKyAgcmV0dXJuIEMucHJvdG90
eXBlLmJhci5jYWxsKHRoaXMpICsgMTsKK307CitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIGQgPSBu
ZXcgRCgpOworICByZXR1cm4gZC5iYXIoKTsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgNDIpOwor
dGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3N1
cGVyL3N1cGVyLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvc3VwZXIvc3Vw
ZXIuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI5Mzg2YmU1MjRlYTRlMmVkMzE0MWJiOWU0ZWU5YjlkOGVmNWQ0
NDgKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3N1
cGVyL3N1cGVyLmVzNgpAQCAtMCwwICsxLDI1IEBACisKK2NsYXNzIEMgeworICBjb25zdHJ1Y3Rv
cigpIHsKKyAgICB0aGlzLmZvbyA9ICdiYXInOworICB9CisgIGJhcigpIHsKKyAgICByZXR1cm4g
NDE7CisgIH0KK30KK2NsYXNzIEQgZXh0ZW5kcyBDIHsKKyAgY29uc3RydWN0b3IoKSB7CisgICAg
c3VwZXIoKTsKKyAgICB0aGlzLmJheiA9ICdiYXQnOworICB9CisgIGJhcigpIHsKKyAgICByZXR1
cm4gc3VwZXIuYmFyKCkgKyAxOworICB9Cit9CitmdW5jdGlvbiBmbigpIHsKKyAgdmFyIGQgPSBu
ZXcgRCgpOworICByZXR1cm4gZC5iYXIoKTsKK30KKworYXNzZXJ0RXF1YWwoZm4oKSwgNDIpOwor
dGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3Rl
bXBsYXRlX3N0cmluZy90ZW1wbGF0ZV9zdHJpbmcuZXM1IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhT
cGVlZC90ZXN0cy90ZW1wbGF0ZV9zdHJpbmcvdGVtcGxhdGVfc3RyaW5nLmVzNQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42Mjk2YWQzNjI1ZDc1YmU1ZTkwMzdmOWExYjZhMWQyNjQ1NjczNzBmCi0tLSAvZGV2L251bGwK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy90ZW1wbGF0ZV9zdHJpbmcvdGVt
cGxhdGVfc3RyaW5nLmVzNQpAQCAtMCwwICsxLDcgQEAKK3ZhciBkYXRhID0gWzEsMiwzXTsKK2Z1
bmN0aW9uIGZuKCkgeworICByZXR1cm4gZGF0YVswXSArICcgJyArIChkYXRhWzFdICsgZGF0YVsy
XSk7Cit9CisKK2Fzc2VydEVxdWFsKGZuKCksICcxIDUnKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy90ZW1wbGF0ZV9zdHJpbmcvdGVtcGxh
dGVfc3RyaW5nLmVzNiBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvdGVzdHMvdGVtcGxhdGVf
c3RyaW5nL3RlbXBsYXRlX3N0cmluZy5lczYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U4OTEyMzdiOTk2ZGU3YWMy
MmVmZmJmMjAyZDE2ODE2ZTNjOTdlMAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVz
dHMvU2l4U3BlZWQvdGVzdHMvdGVtcGxhdGVfc3RyaW5nL3RlbXBsYXRlX3N0cmluZy5lczYKQEAg
LTAsMCArMSw3IEBACit2YXIgZGF0YSA9IFsxLDIsM107CitmdW5jdGlvbiBmbigpIHsKKyAgcmV0
dXJuIGAke2RhdGFbMF19ICR7ZGF0YVsxXSArIGRhdGFbMl19YDsKK30KKworYXNzZXJ0RXF1YWwo
Zm4oKSwgJzEgNScpOwordGVzdChmbik7CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1Np
eFNwZWVkL3Rlc3RzL3RlbXBsYXRlX3N0cmluZ190YWcvdGVtcGxhdGVfc3RyaW5nX3RhZy5lczUg
Yi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3RlbXBsYXRlX3N0cmluZ190YWcvdGVt
cGxhdGVfc3RyaW5nX3RhZy5lczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBlNWRiMDUwNzkwMjEyZmIzYzgyOWQx
ZDY0YTg4ZDcxNzhjYThlYgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU2l4
U3BlZWQvdGVzdHMvdGVtcGxhdGVfc3RyaW5nX3RhZy90ZW1wbGF0ZV9zdHJpbmdfdGFnLmVzNQpA
QCAtMCwwICsxLDExIEBACit2YXIgZGF0YSA9IFsxLCAyLCAzXTsKK2Z1bmN0aW9uIHRhZyhzdHJp
bmdzLCB2YWx1ZTEsIHZhbHVlMikgeworICByZXR1cm4gc3RyaW5nc1swXSArIHZhbHVlMSArIHN0
cmluZ3NbMV0gKyB2YWx1ZTIgKyBzdHJpbmdzWzJdOworfQorCitmdW5jdGlvbiBmbigpIHsKKyAg
cmV0dXJuIHRhZyhbJycsICcgJywgJyddLCBkYXRhWzBdLCBkYXRhWzFdICsgZGF0YVsyXSk7Cit9
CisKK2Fzc2VydEVxdWFsKGZuKCksICcxIDUnKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy90ZW1wbGF0ZV9zdHJpbmdfdGFnL3RlbXBsYXRl
X3N0cmluZ190YWcuZXM2IGIvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC90ZXN0cy90ZW1wbGF0
ZV9zdHJpbmdfdGFnL3RlbXBsYXRlX3N0cmluZ190YWcuZXM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlYzY1MDFi
Y2VkYWFiNzI3NjAzOGY1MjU2MWM5MGQxODVkYWM5YmEKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NpeFNwZWVkL3Rlc3RzL3RlbXBsYXRlX3N0cmluZ190YWcvdGVtcGxhdGVf
c3RyaW5nX3RhZy5lczYKQEAgLTAsMCArMSwxMSBAQAordmFyIGRhdGEgPSBbMSwgMiwgM107Citm
dW5jdGlvbiB0YWcoc3RyaW5ncywgdmFsdWUxLCB2YWx1ZTIpIHsKKyAgcmV0dXJuIHN0cmluZ3Nb
MF0gKyB2YWx1ZTEgKyBzdHJpbmdzWzFdICsgdmFsdWUyICsgc3RyaW5nc1syXTsKK30KKworZnVu
Y3Rpb24gZm4oKSB7CisgIHJldHVybiB0YWdgJHtkYXRhWzBdfSAke2RhdGFbMV0gKyBkYXRhWzJd
fWA7Cit9CisKK2Fzc2VydEVxdWFsKGZuKCksICcxIDUnKTsKK3Rlc3QoZm4pOwpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9TaXhTcGVlZC93cmFwcGVycy93cmFwcGVyLmpzIGIvUGVyZm9y
bWFuY2VUZXN0cy9TaXhTcGVlZC93cmFwcGVycy93cmFwcGVyLmpzCmluZGV4IGZmNTNkODExMmI3
MjdjYzVjNmRlMDU5YjIyZjJjNTQ1MzlmNmRiZWUuLmNmNThmNTRjNzZlMGQzOWNjZDA4YWFlZmE1
MGNlMDcyNmIzMjc3MmMgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvU2l4U3BlZWQvd3Jh
cHBlcnMvd3JhcHBlci5qcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NpeFNwZWVkL3dyYXBwZXJz
L3dyYXBwZXIuanMKQEAgLTYsNiArNiw3IEBAIGZ1bmN0aW9uIGFzc2VydEVxdWFsKGEsIGIpCiBm
dW5jdGlvbiB0ZXN0KGZuKQogewogICAgIHRhcmdldEZ1bmN0aW9uID0gZm47CisgICAgbm9Jbmxp
bmUodGFyZ2V0RnVuY3Rpb24pOwogfQogCiBmdW5jdGlvbiBqc2NSdW4oaXRlcmF0aW9ucykK
</data>

          </attachment>
      

    </bug>

</bugzilla>