<?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>168492</bug_id>
          
          <creation_ts>2017-02-16 19:54:09 -0800</creation_ts>
          <short_desc>Use expect.js instead of expect in browser tests</short_desc>
          <delta_ts>2017-02-16 21:37:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Perf Dashboard</component>
          <version>Other</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1278083</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-16 19:54:09 -0800</bug_when>
    <thetext>The perf dashboard&apos;s browser tests should be using expect.js, not expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278084</commentid>
    <comment_count>1</comment_count>
      <attachid>301872</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-16 19:59:05 -0800</bug_when>
    <thetext>Created attachment 301872
Replaces the library</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278085</commentid>
    <comment_count>2</comment_count>
      <attachid>301872</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-02-16 20:02:57 -0800</bug_when>
    <thetext>Comment on attachment 301872
Replaces the library

View in context: https://bugs.webkit.org/attachment.cgi?id=301872&amp;action=review

rs=me

&gt; Websites/perf.webkit.org/browser-tests/editable-text-tests.js:80
&gt; +            return waitCopmonentToRender(context);

Typo: &quot;Copmonent&quot; =&gt; &quot;Component&quot;

Maybe instead of &quot;waitComponentToRender&quot; this should be &quot;waitForComponentToRender&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278114</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-16 21:35:34 -0800</bug_when>
    <thetext>Actually, they should be waitForComponentsToRender since it waits for all components that got enqueued to render instead of just a specific component to render.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278115</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-16 21:37:46 -0800</bug_when>
    <thetext>Committed r212533: &lt;http://trac.webkit.org/changeset/212533&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301872</attachid>
            <date>2017-02-16 19:59:05 -0800</date>
            <delta_ts>2017-02-16 20:02:57 -0800</delta_ts>
            <desc>Replaces the library</desc>
            <filename>bug-168492-20170216195630.patch</filename>
            <type>text/plain</type>
            <size>33137</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyNTIwKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE3LTAyLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFVzZSBleHBlY3QuanMgaW5zdGVhZCBvZiBleHBlY3QgaW4gYnJvd3NlciB0ZXN0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NDky
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGV4
cGVjdC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvZXhwZWN0LmpzKSBpbnN0ZWFk
IG9mIGV4cGVjdCAoaHR0cHM6Ly9naXRodWIuY29tL21qYWNrc29uL2V4cGVjdCkuCisKKyAgICAg
ICAgKiBicm93c2VyLXRlc3RzL2Nsb3NlLWJ1dHRvbi10ZXN0cy5qczoKKyAgICAgICAgKiBicm93
c2VyLXRlc3RzL2NvbXBvbmVudC1iYXNlLXRlc3RzLmpzOgorICAgICAgICAqIGJyb3dzZXItdGVz
dHMvZWRpdGFibGUtdGV4dC10ZXN0cy5qczoKKyAgICAgICAgKiBicm93c2VyLXRlc3RzL2luZGV4
Lmh0bWw6CisKIDIwMTctMDItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgTW9kZXJuaXplIGFuZCBmaXggbWVhc3VyZW1lbnQtc2V0IHRlc3RzCkluZGV4OiBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9jbG9zZS1idXR0b24tdGVzdHMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMv
Y2xvc2UtYnV0dG9uLXRlc3RzLmpzCShyZXZpc2lvbiAyMTI1MjApCisrKyBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9jbG9zZS1idXR0b24tdGVzdHMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTE0LDExICsxNCwxMSBAQCBkZXNjcmliZSgnQ2xvc2VCdXR0b24nLCAoKSA9PiB7
CiAgICAgICAgICAgICBjbG9zZUJ1dHRvbi5saXN0ZW5Ub0FjdGlvbignYWN0aXZhdGUnLCAoKSA9
PiB7CiAgICAgICAgICAgICAgICAgYWN0aXZhdGVDb3VudCsrOwogICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICBleHBlY3QoYWN0aXZhdGVDb3VudCkudG9CZSgwKTsKKyAgICAgICAgICAgIGV4
cGVjdChhY3RpdmF0ZUNvdW50KS50by5iZSgwKTsKICAgICAgICAgICAgIGNsb3NlQnV0dG9uLmNv
bnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdhJykuY2xpY2soKTsKLSAgICAgICAgICAgIGV4cGVjdChh
Y3RpdmF0ZUNvdW50KS50b0JlKDEpOworICAgICAgICAgICAgZXhwZWN0KGFjdGl2YXRlQ291bnQp
LnRvLmJlKDEpOwogICAgICAgICAgICAgY2xvc2VCdXR0b24uY29udGVudCgpLnF1ZXJ5U2VsZWN0
b3IoJ2EnKS5jbGljaygpOwotICAgICAgICAgICAgZXhwZWN0KGFjdGl2YXRlQ291bnQpLnRvQmUo
Mik7CisgICAgICAgICAgICBleHBlY3QoYWN0aXZhdGVDb3VudCkudG8uYmUoMik7CiAgICAgICAg
IH0pOwogICAgIH0pOwogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nlci10
ZXN0cy9jb21wb25lbnQtYmFzZS10ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9jb21wb25lbnQtYmFzZS10ZXN0cy5qcwkocmV2aXNp
b24gMjEyNTIwKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvY29t
cG9uZW50LWJhc2UtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAgZGVz
Y3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICBkZXNjcmliZSgnY29uc3Ry
dWN0b3InLCAoKSA9PiB7CiAgICAgICAgIGl0KCdpcyBhIGZ1bmN0aW9uJywgKCkgPT4gewogICAg
ICAgICAgICAgcmV0dXJuIG5ldyBCcm93c2luZ0NvbnRleHQoKS5pbXBvcnRTY3JpcHQoJ2NvbXBv
bmVudHMvYmFzZS5qcycsICdDb21wb25lbnRCYXNlJykudGhlbigoQ29tcG9uZW50QmFzZSkgPT4g
ewotICAgICAgICAgICAgICAgIGV4cGVjdChDb21wb25lbnRCYXNlKS50b0JlQSgnZnVuY3Rpb24n
KTsKKyAgICAgICAgICAgICAgICBleHBlY3QoQ29tcG9uZW50QmFzZSkudG8uYmUuYSgnZnVuY3Rp
b24nKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIApAQCAtMzUsMTUgKzM1LDE1IEBA
IGRlc2NyaWJlKCdDb21wb25lbnRCYXNlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbGV0IGluc3RhbmNlID0g
bmV3IFNvbWVDb21wb25lbnQ7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlKS50b0Jl
QShDb21wb25lbnRCYXNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaW5zdGFuY2UpLnRvQmVB
KFNvbWVDb21wb25lbnQpOwotICAgICAgICAgICAgICAgIGV4cGVjdChjYWxsQ291bnQpLnRvQmUo
MSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlKS50by5iZS5hKENvbXBvbmVudEJh
c2UpOworICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZSkudG8uYmUuYShTb21lQ29tcG9u
ZW50KTsKKyAgICAgICAgICAgICAgICBleHBlY3QoY2FsbENvdW50KS50by5iZSgxKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICB9KTsKIAogICAgICAgICBpdCgnbXVzdCBub3QgY3JlYXRlIHNo
YWRvdyB0cmVlIGVhZ2VybHknLCAoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlVGVz
dFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNlLCBoYXNTaGFkb3dUcmVlKSA9
PiB7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG9CZShmYWxzZSk7
CisgICAgICAgICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG8uYmUoZmFsc2UpOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0pOwpAQCAtNTQsNyArNTQsNyBAQCBk
ZXNjcmliZSgnQ29tcG9uZW50QmFzZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuaW1wb3J0U2NyaXB0KCdjb21wb25lbnRzL2Jhc2UuanMnLCAnQ29tcG9uZW50QmFz
ZScpLnRoZW4oKENvbXBvbmVudEJhc2UpID0+IHsKICAgICAgICAgICAgICAgICBjbGFzcyBTb21l
Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7IH0KICAgICAgICAgICAgICAgICBsZXQg
aW5zdGFuY2UgPSBuZXcgU29tZUNvbXBvbmVudCgnc29tZS1jb21wb25lbnQnKTsKLSAgICAgICAg
ICAgICAgICBleHBlY3QoaW5zdGFuY2UuZWxlbWVudCgpKS50b0JlQShjb250ZXh0Lmdsb2JhbC5I
VE1MRWxlbWVudCk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlLmVsZW1lbnQoKSku
dG8uYmUuYShjb250ZXh0Lmdsb2JhbC5IVE1MRWxlbWVudCk7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfSk7CiAKQEAgLTYyLDE0ICs2MiwxNCBAQCBkZXNjcmliZSgnQ29tcG9uZW50QmFzZScs
IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgcmV0dXJuIG5ldyBCcm93c2luZ0NvbnRleHQoKS5p
bXBvcnRTY3JpcHQoJ2NvbXBvbmVudHMvYmFzZS5qcycsICdDb21wb25lbnRCYXNlJykudGhlbigo
Q29tcG9uZW50QmFzZSkgPT4gewogICAgICAgICAgICAgICAgIGNsYXNzIFNvbWVDb21wb25lbnQg
ZXh0ZW5kcyBDb21wb25lbnRCYXNlIHsgfQogICAgICAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9
IG5ldyBTb21lQ29tcG9uZW50KCdzb21lLWNvbXBvbmVudCcpOwotICAgICAgICAgICAgICAgIGV4
cGVjdChpbnN0YW5jZS5lbGVtZW50KCkuY29tcG9uZW50KCkpLnRvQmUoaW5zdGFuY2UpOworICAg
ICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZS5lbGVtZW50KCkuY29tcG9uZW50KCkpLnRvLmJl
KGluc3RhbmNlKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAogICAgICAgICBpdCgn
bXVzdCBub3QgY3JlYXRlIHNoYWRvdyB0cmVlIGVhZ2VybHknLCAoKSA9PiB7CiAgICAgICAgICAg
ICByZXR1cm4gY3JlYXRlVGVzdFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNl
LCBoYXNTaGFkb3dUcmVlKSA9PiB7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UuZWxlbWVudCgp
OwotICAgICAgICAgICAgICAgIGV4cGVjdChoYXNTaGFkb3dUcmVlKCkpLnRvQmUoZmFsc2UpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdChoYXNTaGFkb3dUcmVlKCkpLnRvLmJlKGZhbHNlKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKQEAgLTc4LDEzICs3OCwxMyBAQCBk
ZXNjcmliZSgnQ29tcG9uZW50QmFzZScsIGZ1bmN0aW9uKCkgewogICAgICAgICBpdCgnbXVzdCBj
cmVhdGUgc2hhZG93IHRyZWUnLCAoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlVGVz
dFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNlLCBoYXNTaGFkb3dUcmVlKSA9
PiB7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGVudCgpOwotICAgICAgICAgICAgICAg
IGV4cGVjdChoYXNTaGFkb3dUcmVlKCkpLnRvQmUodHJ1ZSk7CisgICAgICAgICAgICAgICAgZXhw
ZWN0KGhhc1NoYWRvd1RyZWUoKSkudG8uYmUodHJ1ZSk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfSk7CiAKICAgICAgICAgaXQoJ211c3QgcmV0dXJuIHRoZSBzYW1lIHNoYWRvdyB0cmVlIGVh
Y2ggdGltZSBpdCBpcyBjYWxsZWQnLCAoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gY3JlYXRl
VGVzdFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNlLCBoYXNTaGFkb3dUcmVl
KSA9PiB7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlLmNvbnRlbnQoKSkudG9CZShp
bnN0YW5jZS5jb250ZW50KCkpOworICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZS5jb250
ZW50KCkpLnRvLmJlKGluc3RhbmNlLmNvbnRlbnQoKSk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfSk7CiAKQEAgLTk3LDkgKzk3LDkgQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5j
dGlvbigpIHsKIAogICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNvbWVDb21w
b25lbnQ7CiAgICAgICAgICAgICAgICAgY29uc3QgcGFydDEgPSBpbnN0YW5jZS5jb250ZW50KCdw
YXJ0MScpOwotICAgICAgICAgICAgICAgIGV4cGVjdChwYXJ0MS5sb2NhbE5hbWUpLnRvQmUoJ2Rp
dicpOwotICAgICAgICAgICAgICAgIGV4cGVjdChwYXJ0MS50aXRsZSkudG9CZSgnZm9vJyk7Ci0g
ICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlLmNvbnRlbnQoJ3BhcnQyJykpLnRvQmUobnVs
bCk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHBhcnQxLmxvY2FsTmFtZSkudG8uYmUoJ2Rpdicp
OworICAgICAgICAgICAgICAgIGV4cGVjdChwYXJ0MS50aXRsZSkudG8uYmUoJ2ZvbycpOworICAg
ICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZS5jb250ZW50KCdwYXJ0MicpKS50by5iZShudWxs
KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKQEAgLTEwOCw3ICsxMDgs
NyBAQCBkZXNjcmliZSgnQ29tcG9uZW50QmFzZScsIGZ1bmN0aW9uKCkgewogICAgICAgICBpdCgn
bXVzdCBjcmVhdGUgc2hhZG93IHRyZWUnLCAoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gY3Jl
YXRlVGVzdFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNlLCBoYXNTaGFkb3dU
cmVlKSA9PiB7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UucGFydCgnZm9vJyk7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG9CZSh0cnVlKTsKKyAgICAgICAgICAg
ICAgICBleHBlY3QoaGFzU2hhZG93VHJlZSgpKS50by5iZSh0cnVlKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKIApAQCAtMTI0LDEwICsxMjQsMTAgQEAgZGVzY3JpYmUoJ0NvbXBvbmVu
dEJhc2UnLCBmdW5jdGlvbigpIHsKIAogICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyQ29tcG9u
ZW50ID0gbmV3IE90aGVyQ29tcG9uZW50OwogICAgICAgICAgICAgICAgIGNvbnN0IHNvbWVDb21w
b25lbnQgPSBvdGhlckNvbXBvbmVudC5wYXJ0KCdmb28nKTsKLSAgICAgICAgICAgICAgICBleHBl
Y3Qoc29tZUNvbXBvbmVudCkudG9CZUEoU29tZUNvbXBvbmVudCk7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0KHNvbWVDb21wb25lbnQuZWxlbWVudCgpLmlkKS50b0JlKCdmb28nKTsKLSAgICAgICAg
ICAgICAgICBleHBlY3Qob3RoZXJDb21wb25lbnQucGFydCgnZm9vJykpLnRvQmUoc29tZUNvbXBv
bmVudCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KG90aGVyQ29tcG9uZW50LnBhcnQoJ2Jhcicp
KS50b0JlKG51bGwpOworICAgICAgICAgICAgICAgIGV4cGVjdChzb21lQ29tcG9uZW50KS50by5i
ZS5hKFNvbWVDb21wb25lbnQpOworICAgICAgICAgICAgICAgIGV4cGVjdChzb21lQ29tcG9uZW50
LmVsZW1lbnQoKS5pZCkudG8uYmUoJ2ZvbycpOworICAgICAgICAgICAgICAgIGV4cGVjdChvdGhl
ckNvbXBvbmVudC5wYXJ0KCdmb28nKSkudG8uYmUoc29tZUNvbXBvbmVudCk7CisgICAgICAgICAg
ICAgICAgZXhwZWN0KG90aGVyQ29tcG9uZW50LnBhcnQoJ2JhcicpKS50by5iZShudWxsKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKQEAgLTE0NywxMCArMTQ3LDEwIEBA
IGRlc2NyaWJlKCdDb21wb25lbnRCYXNlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAg
Y29uc3Qgb2JqZWN0ID0geydmb28nOiAxfTsKICAgICAgICAgICAgICAgICBpbnN0YW5jZS5kaXNw
YXRjaEFjdGlvbignYWN0aW9uJywgJ2JhcicsIG9iamVjdCwgNSk7CiAKLSAgICAgICAgICAgICAg
ICBleHBlY3QoY2FsbHMubGVuZ3RoKS50b0JlKDEpOwotICAgICAgICAgICAgICAgIGV4cGVjdChj
YWxsc1swXVswXSkudG9CZSgnYmFyJyk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGNhbGxzWzBd
WzFdKS50b0JlKG9iamVjdCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGNhbGxzWzBdWzJdKS50
b0JlKDUpOworICAgICAgICAgICAgICAgIGV4cGVjdChjYWxscy5sZW5ndGgpLnRvLmJlKDEpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdChjYWxsc1swXVswXSkudG8uYmUoJ2JhcicpOworICAgICAg
ICAgICAgICAgIGV4cGVjdChjYWxsc1swXVsxXSkudG8uYmUob2JqZWN0KTsKKyAgICAgICAgICAg
ICAgICBleHBlY3QoY2FsbHNbMF1bMl0pLnRvLmJlKDUpOwogICAgICAgICAgICAgfSk7CiAgICAg
ICAgIH0pOwogCkBAIC0xNzgsMTAgKzE3OCwxMCBAQCBkZXNjcmliZSgnQ29tcG9uZW50QmFzZScs
IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIENvbXBvbmVudEJhc2UuZGVmaW5lRWxlbWVu
dCgnc29tZS1jb21wb25lbnQnLCBTb21lQ29tcG9uZW50KTsKIAogICAgICAgICAgICAgICAgIChu
ZXcgU29tZUNvbXBvbmVudCkuZW5xdWV1ZVRvUmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhw
ZWN0KHJlbmRlckNhbGxDb3VudCkudG9CZSgwKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVu
ZGVyQ2FsbENvdW50KS50by5iZSgwKTsKIAogICAgICAgICAgICAgICAgIChuZXcgU29tZUNvbXBv
bmVudCkuZW5xdWV1ZVRvUmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNh
bGxDb3VudCkudG9CZSgwKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbENvdW50
KS50by5iZSgwKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIApAQCAtMTk0LDIxICsx
OTQsMjEgQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgICBjb25zdCBTb21lQ29tcG9uZW50ID0gY2xhc3MgZXh0ZW5kcyBDb21wb25lbnRCYXNl
IHsgfQogICAgICAgICAgICAgICAgIENvbXBvbmVudEJhc2UuZGVmaW5lRWxlbWVudCgnc29tZS1j
b21wb25lbnQnLCBTb21lQ29tcG9uZW50KTsKIAotICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG9CZSgwKTsKKyAgICAgICAgICAgICAgICBleHBlY3Qo
cmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvLmJlKDApOwogICAgICAgICAgICAgICAgIGxl
dCBpbnN0YW5jZSA9IG5ldyBTb21lQ29tcG9uZW50OwogICAgICAgICAgICAgICAgIGluc3RhbmNl
LmVucXVldWVUb1JlbmRlcigpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0
aW9uRnJhbWVDb3VudCkudG9CZSgxKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVxdWVzdEFu
aW1hdGlvbkZyYW1lQ291bnQpLnRvLmJlKDEpOwogCiAgICAgICAgICAgICAgICAgaW5zdGFuY2Uu
ZW5xdWV1ZVRvUmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRp
b25GcmFtZUNvdW50KS50b0JlKDEpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDb3VudCkudG8uYmUoMSk7CiAKICAgICAgICAgICAgICAgICAobmV3IFNvbWVD
b21wb25lbnQpLmVucXVldWVUb1JlbmRlcigpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG9CZSgxKTsKKyAgICAgICAgICAgICAgICBleHBlY3Qo
cmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvLmJlKDEpOwogCiAgICAgICAgICAgICAgICAg
Y29uc3QgQW5vdGhlckNvbXBvbmVudCA9IGNsYXNzIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7IH0K
ICAgICAgICAgICAgICAgICBDb21wb25lbnRCYXNlLmRlZmluZUVsZW1lbnQoJ2Fub3RoZXItY29t
cG9uZW50JywgQW5vdGhlckNvbXBvbmVudCk7CiAgICAgICAgICAgICAgICAgKG5ldyBBbm90aGVy
Q29tcG9uZW50KS5lbnF1ZXVlVG9SZW5kZXIoKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVx
dWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvQmUoMSk7CisgICAgICAgICAgICAgICAgZXhwZWN0
KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50by5iZSgxKTsKICAgICAgICAgICAgIH0pOwog
ICAgICAgICB9KTsKIApAQCAtMjE3LDggKzIxNyw4IEBAIGRlc2NyaWJlKCdDb21wb25lbnRCYXNl
JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5pbXBvcnRTY3JpcHRz
KFsnaW5zdHJ1bWVudGF0aW9uLmpzJywgJ2NvbXBvbmVudHMvYmFzZS5qcyddLCAnQ29tcG9uZW50
QmFzZScpLnRoZW4oKENvbXBvbmVudEJhc2UpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgY2Fs
bGJhY2sgPSBudWxsOwogICAgICAgICAgICAgICAgIGNvbnRleHQuZ2xvYmFsLnJlcXVlc3RBbmlt
YXRpb25GcmFtZSA9IChuZXdDYWxsYmFjaykgPT4gewotICAgICAgICAgICAgICAgICAgICBleHBl
Y3QoY2FsbGJhY2spLnRvQmUobnVsbCk7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChuZXdD
YWxsYmFjaykudG9Ob3RCZShudWxsKTsKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGNhbGxi
YWNrKS50by5iZShudWxsKTsKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0KG5ld0NhbGxiYWNr
KS50by5ub3QuYmUobnVsbCk7CiAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrID0gbmV3Q2Fs
bGJhY2s7CiAgICAgICAgICAgICAgICAgfQogCkBAIC0yMzAsMjAgKzIzMCwyMCBAQCBkZXNjcmli
ZSgnQ29tcG9uZW50QmFzZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICBDb21wb25lbnRCYXNlLmRlZmluZUVsZW1lbnQoJ3NvbWUtY29tcG9uZW50Jywg
U29tZUNvbXBvbmVudCk7CiAKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHMubGVu
Z3RoKS50b0JlKDApOworICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5sZW5ndGgp
LnRvLmJlKDApOwogICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNvbWVDb21w
b25lbnQ7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UuZW5xdWV1ZVRvUmVuZGVyKCk7CiAgICAg
ICAgICAgICAgICAgaW5zdGFuY2UuZW5xdWV1ZVRvUmVuZGVyKCk7CiAKICAgICAgICAgICAgICAg
ICBjb25zdCBhbm90aGVySW5zdGFuY2UgPSBuZXcgU29tZUNvbXBvbmVudDsKICAgICAgICAgICAg
ICAgICBhbm90aGVySW5zdGFuY2UuZW5xdWV1ZVRvUmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0KHJlbmRlckNhbGxzLmxlbmd0aCkudG9CZSgwKTsKKyAgICAgICAgICAgICAgICBleHBl
Y3QocmVuZGVyQ2FsbHMubGVuZ3RoKS50by5iZSgwKTsKIAogICAgICAgICAgICAgICAgIGNhbGxi
YWNrKCk7CiAKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHMubGVuZ3RoKS50b0Jl
KDIpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxsc1swXSkudG9CZShpbnN0YW5j
ZSk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzFdKS50b0JlKGFub3RoZXJJ
bnN0YW5jZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzLmxlbmd0aCkudG8u
YmUoMik7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzBdKS50by5iZShpbnN0
YW5jZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzFdKS50by5iZShhbm90
aGVySW5zdGFuY2UpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCkBAIC0yNTIsOCAr
MjUyLDggQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmltcG9ydFNjcmlwdHMoWydpbnN0cnVtZW50YXRpb24uanMnLCAn
Y29tcG9uZW50cy9iYXNlLmpzJ10sICdDb21wb25lbnRCYXNlJykudGhlbigoQ29tcG9uZW50QmFz
ZSkgPT4gewogICAgICAgICAgICAgICAgIGxldCBjYWxsYmFjayA9IG51bGw7CiAgICAgICAgICAg
ICAgICAgY29udGV4dC5nbG9iYWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gKG5ld0NhbGxiYWNr
KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChjYWxsYmFjaykudG9CZShudWxsKTsK
LSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KG5ld0NhbGxiYWNrKS50b05vdEJlKG51bGwpOwor
ICAgICAgICAgICAgICAgICAgICBleHBlY3QoY2FsbGJhY2spLnRvLmJlKG51bGwpOworICAgICAg
ICAgICAgICAgICAgICBleHBlY3QobmV3Q2FsbGJhY2spLnRvLm5vdC5iZShudWxsKTsKICAgICAg
ICAgICAgICAgICAgICAgY2FsbGJhY2sgPSBuZXdDYWxsYmFjazsKICAgICAgICAgICAgICAgICB9
CiAKQEAgLTI2OSwyNiArMjY5LDI2IEBAIGRlc2NyaWJlKCdDb21wb25lbnRCYXNlJywgZnVuY3Rp
b24oKSB7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIENvbXBvbmVudEJhc2Uu
ZGVmaW5lRWxlbWVudCgnc29tZS1jb21wb25lbnQnLCBTb21lQ29tcG9uZW50KTsKIAotICAgICAg
ICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5sZW5ndGgpLnRvQmUoMCk7CisgICAgICAgICAg
ICAgICAgZXhwZWN0KHJlbmRlckNhbGxzLmxlbmd0aCkudG8uYmUoMCk7CiAgICAgICAgICAgICAg
ICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU29tZUNvbXBvbmVudDsKICAgICAgICAgICAgICAgICBj
b25zdCBhbm90aGVySW5zdGFuY2UgPSBuZXcgU29tZUNvbXBvbmVudDsKICAgICAgICAgICAgICAg
ICBpbnN0YW5jZS5lbnF1ZXVlVG9SZW5kZXIoKTsKICAgICAgICAgICAgICAgICBpbnN0YW5jZVRv
RW5xdWV1ZSA9IGFub3RoZXJJbnN0YW5jZTsKICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOwog
ICAgICAgICAgICAgICAgIGNhbGxiYWNrID0gbnVsbDsKLSAgICAgICAgICAgICAgICBleHBlY3Qo
cmVuZGVyQ2FsbHMubGVuZ3RoKS50b0JlKDIpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZW5k
ZXJDYWxsc1swXSkudG9CZShpbnN0YW5jZSk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRl
ckNhbGxzWzFdKS50b0JlKGFub3RoZXJJbnN0YW5jZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0
KHJlbmRlckNhbGxzLmxlbmd0aCkudG8uYmUoMik7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJl
bmRlckNhbGxzWzBdKS50by5iZShpbnN0YW5jZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJl
bmRlckNhbGxzWzFdKS50by5iZShhbm90aGVySW5zdGFuY2UpOwogICAgICAgICAgICAgICAgIHJl
bmRlckNhbGxzID0gW107CiAKICAgICAgICAgICAgICAgICBpbnN0YW5jZS5lbnF1ZXVlVG9SZW5k
ZXIoKTsKICAgICAgICAgICAgICAgICBhbm90aGVySW5zdGFuY2UuZW5xdWV1ZVRvUmVuZGVyKCk7
CiAgICAgICAgICAgICAgICAgaW5zdGFuY2VUb0VucXVldWUgPSBpbnN0YW5jZTsKICAgICAgICAg
ICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5s
ZW5ndGgpLnRvQmUoMyk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzBdKS50
b0JlKGluc3RhbmNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHNbMV0pLnRv
QmUoYW5vdGhlckluc3RhbmNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHNb
Ml0pLnRvQmUoaW5zdGFuY2UpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5s
ZW5ndGgpLnRvLmJlKDMpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxsc1swXSku
dG8uYmUoaW5zdGFuY2UpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxsc1sxXSku
dG8uYmUoYW5vdGhlckluc3RhbmNlKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2Fs
bHNbMl0pLnRvLmJlKGluc3RhbmNlKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIApA
QCAtMjk4LDggKzI5OCw4IEBAIGRlc2NyaWJlKCdDb21wb25lbnRCYXNlJywgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50ID0gMDsKICAg
ICAgICAgICAgICAgICBsZXQgY2FsbGJhY2sgPSBudWxsOwogICAgICAgICAgICAgICAgIGNvbnRl
eHQuZ2xvYmFsLnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IChuZXdDYWxsYmFjaykgPT4gewotICAg
ICAgICAgICAgICAgICAgICBleHBlY3QoY2FsbGJhY2spLnRvQmUobnVsbCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGV4cGVjdChuZXdDYWxsYmFjaykudG9Ob3RCZShudWxsKTsKKyAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0KGNhbGxiYWNrKS50by5iZShudWxsKTsKKyAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0KG5ld0NhbGxiYWNrKS50by5ub3QuYmUobnVsbCk7CiAgICAgICAgICAgICAgICAg
ICAgIGNhbGxiYWNrID0gbmV3Q2FsbGJhY2s7CiAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RB
bmltYXRpb25GcmFtZUNvdW50Kys7CiAgICAgICAgICAgICAgICAgfQpAQCAtMzEyLDM1ICszMTIs
MzUgQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKIAogICAgICAgICAg
ICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNvbWVDb21wb25lbnQ7CiAgICAgICAgICAgICAg
ICAgY29uc3QgYW5vdGhlckluc3RhbmNlID0gbmV3IFNvbWVDb21wb25lbnQ7Ci0gICAgICAgICAg
ICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50b0JlKDApOworICAgICAg
ICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG8uYmUoMCk7CiAK
ICAgICAgICAgICAgICAgICBpbnN0YW5jZS5lbnF1ZXVlVG9SZW5kZXIoKTsKLSAgICAgICAgICAg
ICAgICBleHBlY3QocmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvQmUoMSk7CisgICAgICAg
ICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50by5iZSgxKTsKICAg
ICAgICAgICAgICAgICBhbm90aGVySW5zdGFuY2UuZW5xdWV1ZVRvUmVuZGVyKCk7Ci0gICAgICAg
ICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50b0JlKDEpOworICAg
ICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG8uYmUoMSk7
CiAKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHMubGVuZ3RoKS50b0JlKDApOwor
ICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5sZW5ndGgpLnRvLmJlKDApOwogICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2sgPSBudWxs
OwotICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5sZW5ndGgpLnRvQmUoMik7Ci0g
ICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzBdKS50b0JlKGluc3RhbmNlKTsKLSAg
ICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHNbMV0pLnRvQmUoYW5vdGhlckluc3RhbmNl
KTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRv
QmUoMSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzLmxlbmd0aCkudG8uYmUo
Mik7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzBdKS50by5iZShpbnN0YW5j
ZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzFdKS50by5iZShhbm90aGVy
SW5zdGFuY2UpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
b3VudCkudG8uYmUoMSk7CiAKICAgICAgICAgICAgICAgICBhbm90aGVySW5zdGFuY2UuZW5xdWV1
ZVRvUmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFt
ZUNvdW50KS50b0JlKDIpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9u
RnJhbWVDb3VudCkudG8uYmUoMik7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UuZW5xdWV1ZVRv
UmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNv
dW50KS50b0JlKDIpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDb3VudCkudG8uYmUoMik7CiAKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHMu
bGVuZ3RoKS50b0JlKDIpOworICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5sZW5n
dGgpLnRvLmJlKDIpOwogICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAg
ICAgY2FsbGJhY2sgPSBudWxsOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZW5kZXJDYWxscy5s
ZW5ndGgpLnRvQmUoNCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KHJlbmRlckNhbGxzWzBdKS50
b0JlKGluc3RhbmNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHNbMV0pLnRv
QmUoYW5vdGhlckluc3RhbmNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVyQ2FsbHNb
Ml0pLnRvQmUoYW5vdGhlckluc3RhbmNlKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVy
Q2FsbHNbM10pLnRvQmUoaW5zdGFuY2UpOwotICAgICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDb3VudCkudG9CZSgyKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVu
ZGVyQ2FsbHMubGVuZ3RoKS50by5iZSg0KTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVy
Q2FsbHNbMF0pLnRvLmJlKGluc3RhbmNlKTsKKyAgICAgICAgICAgICAgICBleHBlY3QocmVuZGVy
Q2FsbHNbMV0pLnRvLmJlKGFub3RoZXJJbnN0YW5jZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0
KHJlbmRlckNhbGxzWzJdKS50by5iZShhbm90aGVySW5zdGFuY2UpOworICAgICAgICAgICAgICAg
IGV4cGVjdChyZW5kZXJDYWxsc1szXSkudG8uYmUoaW5zdGFuY2UpOworICAgICAgICAgICAgICAg
IGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG8uYmUoMik7CiAgICAgICAgICAg
ICB9KTsKICAgICAgICAgfSk7CiAKQEAgLTM1MCwyOCArMzUwLDI4IEBAIGRlc2NyaWJlKCdDb21w
b25lbnRCYXNlJywgZnVuY3Rpb24oKSB7CiAgICAgICAgIGl0KCdtdXN0IGNyZWF0ZSBzaGFkb3cg
dHJlZScsICgpID0+IHsKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVUZXN0VG9DaGVja0V4aXN0
ZW5jZU9mU2hhZG93VHJlZSgoaW5zdGFuY2UsIGhhc1NoYWRvd1RyZWUpID0+IHsKICAgICAgICAg
ICAgICAgICBpbnN0YW5jZS5yZW5kZXIoKTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaGFzU2hh
ZG93VHJlZSgpKS50b0JlKHRydWUpOworICAgICAgICAgICAgICAgIGV4cGVjdChoYXNTaGFkb3dU
cmVlKCkpLnRvLmJlKHRydWUpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCiAgICAg
ICAgIGl0KCdtdXN0IG5vdCBjcmVhdGUgc2hhZG93IHRyZWUgd2hlbiBuZWl0aGVyIGh0bWxUZW1w
bGF0ZSBub3IgY3NzVGVtcGxhdGUgYXJlIHByZXNlbnQnLCAoKSA9PiB7CiAgICAgICAgICAgICBy
ZXR1cm4gY3JlYXRlVGVzdFRvQ2hlY2tFeGlzdGVuY2VPZlNoYWRvd1RyZWUoKGluc3RhbmNlLCBo
YXNTaGFkb3dUcmVlKSA9PiB7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2UucmVuZGVyKCk7Ci0g
ICAgICAgICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG9CZShmYWxzZSk7CisgICAg
ICAgICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG8uYmUoZmFsc2UpOwogICAgICAg
ICAgICAgfSwge2h0bWxUZW1wbGF0ZTogZmFsc2UsIGNzc1RlbXBsYXRlOiBmYWxzZX0pOwogICAg
ICAgICB9KTsKIAogICAgICAgICBpdCgnbXVzdCBjcmVhdGUgc2hhZG93IHRyZWUgd2hlbiBodG1s
VGVtcGxhdGUgaXMgcHJlc2VudCBhbmQgY3NzVGVtcGxhdGUgaXMgbm90JywgKCkgPT4gewogICAg
ICAgICAgICAgcmV0dXJuIGNyZWF0ZVRlc3RUb0NoZWNrRXhpc3RlbmNlT2ZTaGFkb3dUcmVlKChp
bnN0YW5jZSwgaGFzU2hhZG93VHJlZSkgPT4gewogICAgICAgICAgICAgICAgIGluc3RhbmNlLnJl
bmRlcigpOwotICAgICAgICAgICAgICAgIGV4cGVjdChoYXNTaGFkb3dUcmVlKCkpLnRvQmUodHJ1
ZSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGhhc1NoYWRvd1RyZWUoKSkudG8uYmUodHJ1ZSk7
CiAgICAgICAgICAgICB9LCB7aHRtbFRlbXBsYXRlOiB0cnVlLCBjc3NUZW1wbGF0ZTogZmFsc2V9
KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgaXQoJ211c3QgY3JlYXRlIHNoYWRvdyB0cmVlIHdo
ZW4gY3NzVGVtcGxhdGUgaXMgcHJlc2VudCBhbmQgaHRtbFRlbXBsYXRlIGlzIG5vdCcsICgpID0+
IHsKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVUZXN0VG9DaGVja0V4aXN0ZW5jZU9mU2hhZG93
VHJlZSgoaW5zdGFuY2UsIGhhc1NoYWRvd1RyZWUpID0+IHsKICAgICAgICAgICAgICAgICBpbnN0
YW5jZS5yZW5kZXIoKTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaGFzU2hhZG93VHJlZSgpKS50
b0JlKHRydWUpOworICAgICAgICAgICAgICAgIGV4cGVjdChoYXNTaGFkb3dUcmVlKCkpLnRvLmJl
KHRydWUpOwogICAgICAgICAgICAgfSwge2h0bWxUZW1wbGF0ZTogZmFsc2UsIGNzc1RlbXBsYXRl
OiB0cnVlfSk7CiAgICAgICAgIH0pOwogCkBAIC0zODQsNyArMzg0LDcgQEAgZGVzY3JpYmUoJ0Nv
bXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjbGFzcyBTb21lQ29t
cG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7CiAgICAgICAgICAgICAgICAgICAgIGRpZENv
bnN0cnVjdFNoYWRvd1RyZWUoKQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBleHBlY3QodGhpcy5jb250ZW50KCkpLnRvQmVBKGNvbnRleHQuZ2xvYmFsLlNo
YWRvd1Jvb3QpOworICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0KHRoaXMuY29udGVudCgp
KS50by5iZS5hKGNvbnRleHQuZ2xvYmFsLlNoYWRvd1Jvb3QpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkQ29uc3RydWN0U2hhZG93VHJlZUNvdW50Kys7CiAgICAgICAgICAgICAgICAgICAg
IH0KIApAQCAtMzk3LDExICszOTcsMTEgQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgICAgICBDb21wb25lbnRCYXNlLmRlZmluZUVsZW1lbnQoJ3Nv
bWUtY29tcG9uZW50JywgU29tZUNvbXBvbmVudCk7CiAKICAgICAgICAgICAgICAgICBjb25zdCBp
bnN0YW5jZSA9IG5ldyBTb21lQ29tcG9uZW50OwotICAgICAgICAgICAgICAgIGV4cGVjdChkaWRD
b25zdHJ1Y3RTaGFkb3dUcmVlQ291bnQpLnRvQmUoMCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0
KGh0bWxUZW1wbGF0ZUNvdW50KS50b0JlKDApOworICAgICAgICAgICAgICAgIGV4cGVjdChkaWRD
b25zdHJ1Y3RTaGFkb3dUcmVlQ291bnQpLnRvLmJlKDApOworICAgICAgICAgICAgICAgIGV4cGVj
dChodG1sVGVtcGxhdGVDb3VudCkudG8uYmUoMCk7CiAgICAgICAgICAgICAgICAgaW5zdGFuY2Uu
cmVuZGVyKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGRpZENvbnN0cnVjdFNoYWRvd1RyZWVD
b3VudCkudG9CZSgxKTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaHRtbFRlbXBsYXRlQ291bnQp
LnRvQmUoMSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGRpZENvbnN0cnVjdFNoYWRvd1RyZWVD
b3VudCkudG8uYmUoMSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGh0bWxUZW1wbGF0ZUNvdW50
KS50by5iZSgxKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKQEAgLTQx
NSw4ICs0MTUsOCBAQCBkZXNjcmliZSgnQ29tcG9uZW50QmFzZScsIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgICAgIENvbXBvbmVudEJhc2UuZGVmaW5lRWxlbWVudCgnc29tZS1jb21wb25lbnQn
LCBTb21lQ29tcG9uZW50KTsKIAogICAgICAgICAgICAgICAgIGxldCBlbGVtZW50Q2xhc3MgPSBj
b250ZXh0Lmdsb2JhbC5jdXN0b21FbGVtZW50cy5nZXQoJ3NvbWUtY29tcG9uZW50Jyk7Ci0gICAg
ICAgICAgICAgICAgZXhwZWN0KGVsZW1lbnRDbGFzcykudG9CZUEoJ2Z1bmN0aW9uJyk7Ci0gICAg
ICAgICAgICAgICAgZXhwZWN0KGVsZW1lbnRDbGFzcy5uYW1lKS50b0JlKCdTb21lQ29tcG9uZW50
RWxlbWVudCcpOworICAgICAgICAgICAgICAgIGV4cGVjdChlbGVtZW50Q2xhc3MpLnRvLmJlLmEo
J2Z1bmN0aW9uJyk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGVsZW1lbnRDbGFzcy5uYW1lKS50
by5iZSgnU29tZUNvbXBvbmVudEVsZW1lbnQnKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9
KTsKIApAQCAtNDMyLDE0ICs0MzIsMTQgQEAgZGVzY3JpYmUoJ0NvbXBvbmVudEJhc2UnLCBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgQ29tcG9uZW50QmFz
ZS5kZWZpbmVFbGVtZW50KCdzb21lLWNvbXBvbmVudCcsIFNvbWVDb21wb25lbnQpOwogCi0gICAg
ICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlcy5sZW5ndGgpLnRvQmUoMCk7CisgICAgICAgICAg
ICAgICAgZXhwZWN0KGluc3RhbmNlcy5sZW5ndGgpLnRvLmJlKDApOwogICAgICAgICAgICAgICAg
IGxldCBlbGVtZW50ID0gY29udGV4dC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzb21lLWNvbXBv
bmVudCcpOwotICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZXMubGVuZ3RoKS50b0JlKDEp
OworICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZXMubGVuZ3RoKS50by5iZSgxKTsKIAot
ICAgICAgICAgICAgICAgIGV4cGVjdChlbGVtZW50KS50b0JlQShjb250ZXh0Lmdsb2JhbC5IVE1M
RWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0KGVsZW1lbnQuY29tcG9uZW50KCkpLnRv
QmUoaW5zdGFuY2VzWzBdKTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaW5zdGFuY2VzWzBdLmVs
ZW1lbnQoKSkudG9CZShlbGVtZW50KTsKLSAgICAgICAgICAgICAgICBleHBlY3QoaW5zdGFuY2Vz
Lmxlbmd0aCkudG9CZSgxKTsKKyAgICAgICAgICAgICAgICBleHBlY3QoZWxlbWVudCkudG8uYmUu
YShjb250ZXh0Lmdsb2JhbC5IVE1MRWxlbWVudCk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGVs
ZW1lbnQuY29tcG9uZW50KCkpLnRvLmJlKGluc3RhbmNlc1swXSk7CisgICAgICAgICAgICAgICAg
ZXhwZWN0KGluc3RhbmNlc1swXS5lbGVtZW50KCkpLnRvLmJlKGVsZW1lbnQpOworICAgICAgICAg
ICAgICAgIGV4cGVjdChpbnN0YW5jZXMubGVuZ3RoKS50by5iZSgxKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKIApAQCAtNDU1LDE0ICs0NTUsMTQgQEAgZGVzY3JpYmUoJ0NvbXBvbmVu
dEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
Q29tcG9uZW50QmFzZS5kZWZpbmVFbGVtZW50KCdzb21lLWNvbXBvbmVudCcsIFNvbWVDb21wb25l
bnQpOwogCi0gICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlcy5sZW5ndGgpLnRvQmUoMCk7
CisgICAgICAgICAgICAgICAgZXhwZWN0KGluc3RhbmNlcy5sZW5ndGgpLnRvLmJlKDApOwogICAg
ICAgICAgICAgICAgIGxldCBjb21wb25lbnQgPSBuZXcgU29tZUNvbXBvbmVudDsKLSAgICAgICAg
ICAgICAgICBleHBlY3QoaW5zdGFuY2VzLmxlbmd0aCkudG9CZSgxKTsKKyAgICAgICAgICAgICAg
ICBleHBlY3QoaW5zdGFuY2VzLmxlbmd0aCkudG8uYmUoMSk7CiAKLSAgICAgICAgICAgICAgICBl
eHBlY3QoY29tcG9uZW50KS50b0JlKGluc3RhbmNlc1swXSk7Ci0gICAgICAgICAgICAgICAgZXhw
ZWN0KGNvbXBvbmVudC5lbGVtZW50KCkpLnRvQmVBKGNvbnRleHQuZ2xvYmFsLkhUTUxFbGVtZW50
KTsKLSAgICAgICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmVsZW1lbnQoKS5jb21wb25lbnQo
KSkudG9CZShjb21wb25lbnQpOwotICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZXMubGVu
Z3RoKS50b0JlKDEpOworICAgICAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQpLnRvLmJlKGlu
c3RhbmNlc1swXSk7CisgICAgICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5lbGVtZW50KCkp
LnRvLmJlLmEoY29udGV4dC5nbG9iYWwuSFRNTEVsZW1lbnQpOworICAgICAgICAgICAgICAgIGV4
cGVjdChjb21wb25lbnQuZWxlbWVudCgpLmNvbXBvbmVudCgpKS50by5iZShjb21wb25lbnQpOwor
ICAgICAgICAgICAgICAgIGV4cGVjdChpbnN0YW5jZXMubGVuZ3RoKS50by5iZSgxKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICB9KTsKIApAQCAtNDgxLDEyICs0ODEsMTIgQEAgZGVzY3JpYmUo
J0NvbXBvbmVudEJhc2UnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ291bnQrKzsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
ICAgICBleHBlY3QocmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvQmUoMCk7CisgICAgICAg
ICAgICAgICAgZXhwZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50by5iZSgwKTsKICAg
ICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTb21lQ29tcG9uZW50OwogICAgICAg
ICAgICAgICAgIGNvbnRleHQuZ2xvYmFsLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUn
KSk7CiAgICAgICAgICAgICAgICAgY29udGV4dC5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlu
c3RhbmNlLmVsZW1lbnQoKSk7CiAgICAgICAgICAgICAgICAgY29udGV4dC5nbG9iYWwuZGlzcGF0
Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTsKLSAgICAgICAgICAgICAgICBleHBlY3QocmVx
dWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvQmUoMSk7CisgICAgICAgICAgICAgICAgZXhwZWN0
KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50by5iZSgxKTsKICAgICAgICAgICAgIH0pOwog
ICAgICAgICB9KTsKIApAQCAtNTA2LDkgKzUwNiw5IEBAIGRlc2NyaWJlKCdDb21wb25lbnRCYXNl
JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgY29u
c3QgaW5zdGFuY2UgPSBuZXcgU29tZUNvbXBvbmVudDsKLSAgICAgICAgICAgICAgICBleHBlY3Qo
cmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvQmUoMCk7CisgICAgICAgICAgICAgICAgZXhw
ZWN0KHJlcXVlc3RBbmltYXRpb25GcmFtZUNvdW50KS50by5iZSgwKTsKICAgICAgICAgICAgICAg
ICBjb250ZXh0Lmdsb2JhbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJykpOwotICAg
ICAgICAgICAgICAgIGV4cGVjdChyZXF1ZXN0QW5pbWF0aW9uRnJhbWVDb3VudCkudG9CZSgwKTsK
KyAgICAgICAgICAgICAgICBleHBlY3QocmVxdWVzdEFuaW1hdGlvbkZyYW1lQ291bnQpLnRvLmJl
KDApOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCkluZGV4OiBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9lZGl0YWJsZS10ZXh0LXRlc3RzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2VkaXRhYmxlLXRl
eHQtdGVzdHMuanMJKHJldmlzaW9uIDIxMjUyMCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9icm93c2VyLXRlc3RzL2VkaXRhYmxlLXRleHQtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDE0ICszMSwxNCBAQCBkZXNjcmliZSgnRWRpdGFibGVUZXh0JywgKCkgPT4gewogICAgICAg
ICAgICAgZWRpdGFibGVUZXh0ID0gbmV3IEVkaXRhYmxlVGV4dDsKICAgICAgICAgICAgIGNvbnRl
eHQuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlZGl0YWJsZVRleHQuZWxlbWVudCgpKTsKICAg
ICAgICAgICAgIGVkaXRhYmxlVGV4dC5lbnF1ZXVlVG9SZW5kZXIoKTsKLSAgICAgICAgICAgIHJl
dHVybiB3YWl0VG9SZW5kZXIoY29udGV4dCk7CisgICAgICAgICAgICByZXR1cm4gd2FpdENvcG1v
bmVudFRvUmVuZGVyKGNvbnRleHQpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAg
ICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnRleHRDb250ZW50KS50b05vdEluY2x1
ZGUoJ2hlbGxvJyk7CisgICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmNvbnRlbnQoKS50
ZXh0Q29udGVudCkudG8ubm90LmNvbnRhaW4oJ2hlbGxvJyk7CiAgICAgICAgICAgICBlZGl0YWJs
ZVRleHQuc2V0VGV4dCgnaGVsbG8nKTsKICAgICAgICAgICAgIGVkaXRhYmxlVGV4dC5lbnF1ZXVl
VG9SZW5kZXIoKTsKLSAgICAgICAgICAgIHJldHVybiB3YWl0VG9SZW5kZXIoY29udGV4dCk7Cisg
ICAgICAgICAgICByZXR1cm4gd2FpdENvcG1vbmVudFRvUmVuZGVyKGNvbnRleHQpOwogICAgICAg
ICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVu
dCgpLnRleHRDb250ZW50KS50b0luY2x1ZGUoJ2hlbGxvJyk7CisgICAgICAgICAgICBleHBlY3Qo
ZWRpdGFibGVUZXh0LmNvbnRlbnQoKS50ZXh0Q29udGVudCkudG8uY29udGFpbignaGVsbG8nKTsK
ICAgICAgICAgfSk7CiAgICAgfSk7CiAKQEAgLTUxLDE4ICs1MSwxOCBAQCBkZXNjcmliZSgnRWRp
dGFibGVUZXh0JywgKCkgPT4gewogICAgICAgICAgICAgY29udGV4dC5kb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGVkaXRhYmxlVGV4dC5lbGVtZW50KCkpOwogICAgICAgICAgICAgZWRpdGFibGVU
ZXh0LnNldFRleHQoJ2hlbGxvJyk7CiAgICAgICAgICAgICBlZGl0YWJsZVRleHQuZW5xdWV1ZVRv
UmVuZGVyKCk7Ci0gICAgICAgICAgICByZXR1cm4gd2FpdFRvUmVuZGVyKGNvbnRleHQpOworICAg
ICAgICAgICAgcmV0dXJuIHdhaXRDb3Btb25lbnRUb1JlbmRlcihjb250ZXh0KTsKICAgICAgICAg
fSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmNvbnRlbnQo
KS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLm9mZnNldEhlaWdodCkudG9CZSgwKTsKLSAgICAgICAg
ICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnRleHRDb250ZW50KS50b0luY2x1ZGUo
J2hlbGxvJyk7Ci0gICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmNvbnRlbnQoKS5xdWVy
eVNlbGVjdG9yKCdhJykudGV4dENvbnRlbnQpLnRvSW5jbHVkZSgnRWRpdCcpOwotICAgICAgICAg
ICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5jb250ZW50KCkucXVlcnlTZWxlY3RvcignYScpLnRleHRD
b250ZW50KS50b05vdEluY2x1ZGUoJ1NhdmUnKTsKLSAgICAgICAgICAgIGVkaXRhYmxlVGV4dC5j
b250ZW50KCkucXVlcnlTZWxlY3RvcignYScpLmNsaWNrKCk7Ci0gICAgICAgICAgICByZXR1cm4g
d2FpdFRvUmVuZGVyKGNvbnRleHQpOwotICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAg
ICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyku
b2Zmc2V0SGVpZ2h0KS50b05vdEJlKDApOwotICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4
dC5jb250ZW50KCkucXVlcnlTZWxlY3RvcignYScpLnRleHRDb250ZW50KS50b05vdEluY2x1ZGUo
J0VkaXQnKTsKLSAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5
U2VsZWN0b3IoJ2EnKS50ZXh0Q29udGVudCkudG9JbmNsdWRlKCdTYXZlJyk7CisgICAgICAgICAg
ICBleHBlY3QoZWRpdGFibGVUZXh0LmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLm9m
ZnNldEhlaWdodCkudG8uYmUoMCk7CisgICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmNv
bnRlbnQoKS50ZXh0Q29udGVudCkudG8uY29udGFpbignaGVsbG8nKTsKKyAgICAgICAgICAgIGV4
cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2EnKS50ZXh0Q29udGVu
dCkudG8uY29udGFpbignRWRpdCcpOworICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5j
b250ZW50KCkucXVlcnlTZWxlY3RvcignYScpLnRleHRDb250ZW50KS50by5ub3QuY29udGFpbign
U2F2ZScpOworICAgICAgICAgICAgZWRpdGFibGVUZXh0LmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9y
KCdhJykuY2xpY2soKTsKKyAgICAgICAgICAgIHJldHVybiB3YWl0Q29wbW9uZW50VG9SZW5kZXIo
Y29udGV4dCk7CisgICAgICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgZXhwZWN0KGVk
aXRhYmxlVGV4dC5jb250ZW50KCkucXVlcnlTZWxlY3RvcignaW5wdXQnKS5vZmZzZXRIZWlnaHQp
LnRvLm5vdC5iZSgwKTsKKyAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgp
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS50ZXh0Q29udGVudCkudG8ubm90LmNvbnRhaW4oJ0VkaXQnKTsK
KyAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3Io
J2EnKS50ZXh0Q29udGVudCkudG8uY29udGFpbignU2F2ZScpOwogICAgICAgICB9KTsKICAgICB9
KTsKIApAQCAtNzcsMjEgKzc3LDIxIEBAIGRlc2NyaWJlKCdFZGl0YWJsZVRleHQnLCAoKSA9PiB7
CiAgICAgICAgICAgICBlZGl0YWJsZVRleHQuc2V0VGV4dCgnaGVsbG8nKTsKICAgICAgICAgICAg
IGVkaXRhYmxlVGV4dC5lbnF1ZXVlVG9SZW5kZXIoKTsKICAgICAgICAgICAgIGVkaXRhYmxlVGV4
dC5saXN0ZW5Ub0FjdGlvbigndXBkYXRlJywgKCkgPT4gdXBkYXRlQ291bnQrKyk7Ci0gICAgICAg
ICAgICByZXR1cm4gd2FpdFRvUmVuZGVyKGNvbnRleHQpOworICAgICAgICAgICAgcmV0dXJuIHdh
aXRDb3Btb25lbnRUb1JlbmRlcihjb250ZXh0KTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICBlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5jbGlj
aygpOwotICAgICAgICAgICAgcmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAgICAg
ICAgIHJldHVybiB3YWl0Q29wbW9uZW50VG9SZW5kZXIoY29udGV4dCk7CiAgICAgICAgIH0pLnRo
ZW4oKCkgPT4gewogICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBlZGl0YWJsZVRleHQuY29udGVu
dCgpLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7Ci0gICAgICAgICAgICBleHBlY3QoaW5wdXQub2Zm
c2V0SGVpZ2h0KS50b05vdEJlKDApOwotICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5l
ZGl0ZWRUZXh0KCkpLnRvQmUoJ2hlbGxvJyk7CisgICAgICAgICAgICBleHBlY3QoaW5wdXQub2Zm
c2V0SGVpZ2h0KS50by5ub3QuYmUoMCk7CisgICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0
LmVkaXRlZFRleHQoKSkudG8uYmUoJ2hlbGxvJyk7CiAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9
ICd3b3JsZCc7Ci0gICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmVkaXRlZFRleHQoKSku
dG9CZSgnd29ybGQnKTsKLSAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG9CZSgwKTsK
KyAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuZWRpdGVkVGV4dCgpKS50by5iZSgnd29y
bGQnKTsKKyAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG8uYmUoMCk7CiAgICAgICAg
ICAgICBlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5jbGljaygpOwot
ICAgICAgICAgICAgZXhwZWN0KHVwZGF0ZUNvdW50KS50b0JlKDEpOwotICAgICAgICAgICAgZXhw
ZWN0KGVkaXRhYmxlVGV4dC5lZGl0ZWRUZXh0KCkpLnRvQmUoJ3dvcmxkJyk7Ci0gICAgICAgICAg
ICBleHBlY3QoZWRpdGFibGVUZXh0LnRleHQoKSkudG9CZSgnaGVsbG8nKTsKKyAgICAgICAgICAg
IGV4cGVjdCh1cGRhdGVDb3VudCkudG8uYmUoMSk7CisgICAgICAgICAgICBleHBlY3QoZWRpdGFi
bGVUZXh0LmVkaXRlZFRleHQoKSkudG8uYmUoJ3dvcmxkJyk7CisgICAgICAgICAgICBleHBlY3Qo
ZWRpdGFibGVUZXh0LnRleHQoKSkudG8uYmUoJ2hlbGxvJyk7CiAgICAgICAgIH0pOwogICAgIH0p
OwogCkBAIC0xMDYsMjcgKzEwNiwyNyBAQCBkZXNjcmliZSgnRWRpdGFibGVUZXh0JywgKCkgPT4g
ewogICAgICAgICAgICAgZWRpdGFibGVUZXh0LnNldFRleHQoJ2hlbGxvJyk7CiAgICAgICAgICAg
ICBlZGl0YWJsZVRleHQuZW5xdWV1ZVRvUmVuZGVyKCk7CiAgICAgICAgICAgICBlZGl0YWJsZVRl
eHQubGlzdGVuVG9BY3Rpb24oJ3VwZGF0ZScsICgpID0+IHVwZGF0ZUNvdW50KyspOwotICAgICAg
ICAgICAgcmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAgICAgICAgIHJldHVybiB3
YWl0Q29wbW9uZW50VG9SZW5kZXIoY29udGV4dCk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewog
ICAgICAgICAgICAgZWRpdGFibGVUZXh0LmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdhJykuY2xp
Y2soKTsKLSAgICAgICAgICAgIHJldHVybiB3YWl0VG9SZW5kZXIoY29udGV4dCk7CisgICAgICAg
ICAgICByZXR1cm4gd2FpdENvcG1vbmVudFRvUmVuZGVyKGNvbnRleHQpOwogICAgICAgICB9KS50
aGVuKCgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZWRpdGFibGVUZXh0LmNvbnRl
bnQoKS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpOwotICAgICAgICAgICAgZXhwZWN0KGlucHV0Lm9m
ZnNldEhlaWdodCkudG9Ob3RCZSgwKTsKLSAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQu
ZWRpdGVkVGV4dCgpKS50b0JlKCdoZWxsbycpOworICAgICAgICAgICAgZXhwZWN0KGlucHV0Lm9m
ZnNldEhlaWdodCkudG8ubm90LmJlKDApOworICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4
dC5lZGl0ZWRUZXh0KCkpLnRvLmJlKCdoZWxsbycpOwogICAgICAgICAgICAgaW5wdXQudmFsdWUg
PSAnd29ybGQnOwotICAgICAgICAgICAgZXhwZWN0KHVwZGF0ZUNvdW50KS50b0JlKDApOworICAg
ICAgICAgICAgZXhwZWN0KHVwZGF0ZUNvdW50KS50by5iZSgwKTsKIAogICAgICAgICAgICAgY29u
c3QgZm9jdXNhYmxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAg
ICAgICAgICAgZm9jdXNhYmxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7CiAg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvY3VzYWJsZUVsZW1lbnQpOwog
ICAgICAgICAgICAgZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpOwogCi0gICAgICAgICAgICByZXR1
cm4gd2FpdFRvUmVuZGVyKGNvbnRleHQpOworICAgICAgICAgICAgcmV0dXJuIHdhaXRDb3Btb25l
bnRUb1JlbmRlcihjb250ZXh0KTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAg
ICBleHBlY3QoZWRpdGFibGVUZXh0LmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLm9m
ZnNldEhlaWdodCkudG9CZSgwKTsKLSAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQudGV4
dCgpKS50b0JlKCdoZWxsbycpOwotICAgICAgICAgICAgZXhwZWN0KHVwZGF0ZUNvdW50KS50b0Jl
KDApOworICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5jb250ZW50KCkucXVlcnlTZWxl
Y3RvcignaW5wdXQnKS5vZmZzZXRIZWlnaHQpLnRvLmJlKDApOworICAgICAgICAgICAgZXhwZWN0
KGVkaXRhYmxlVGV4dC50ZXh0KCkpLnRvLmJlKCdoZWxsbycpOworICAgICAgICAgICAgZXhwZWN0
KHVwZGF0ZUNvdW50KS50by5iZSgwKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiAKQEAgLTE0MSwy
MyArMTQxLDIzIEBAIGRlc2NyaWJlKCdFZGl0YWJsZVRleHQnLCAoKSA9PiB7CiAgICAgICAgICAg
ICBlZGl0YWJsZVRleHQuc2V0VGV4dCgnaGVsbG8nKTsKICAgICAgICAgICAgIGVkaXRhYmxlVGV4
dC5lbnF1ZXVlVG9SZW5kZXIoKTsKICAgICAgICAgICAgIGVkaXRhYmxlVGV4dC5saXN0ZW5Ub0Fj
dGlvbigndXBkYXRlJywgKCkgPT4gdXBkYXRlQ291bnQrKyk7Ci0gICAgICAgICAgICByZXR1cm4g
d2FpdFRvUmVuZGVyKGNvbnRleHQpOworICAgICAgICAgICAgcmV0dXJuIHdhaXRDb3Btb25lbnRU
b1JlbmRlcihjb250ZXh0KTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBl
ZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5jbGljaygpOwotICAgICAg
ICAgICAgcmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAgICAgICAgIHJldHVybiB3
YWl0Q29wbW9uZW50VG9SZW5kZXIoY29udGV4dCk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewog
ICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2Vs
ZWN0b3IoJ2lucHV0Jyk7Ci0gICAgICAgICAgICBleHBlY3QoaW5wdXQub2Zmc2V0SGVpZ2h0KS50
b05vdEJlKDApOwotICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5lZGl0ZWRUZXh0KCkp
LnRvQmUoJ2hlbGxvJyk7CisgICAgICAgICAgICBleHBlY3QoaW5wdXQub2Zmc2V0SGVpZ2h0KS50
by5ub3QuYmUoMCk7CisgICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmVkaXRlZFRleHQo
KSkudG8uYmUoJ2hlbGxvJyk7CiAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICd3b3JsZCc7Ci0g
ICAgICAgICAgICBleHBlY3QodXBkYXRlQ291bnQpLnRvQmUoMCk7CisgICAgICAgICAgICBleHBl
Y3QodXBkYXRlQ291bnQpLnRvLmJlKDApOwogICAgICAgICAgICAgZWRpdGFibGVUZXh0LmNvbnRl
bnQoKS5xdWVyeVNlbGVjdG9yKCdhJykuZm9jdXMoKTsKLSAgICAgICAgICAgIHJldHVybiB3YWl0
VG9SZW5kZXIoY29udGV4dCk7CisgICAgICAgICAgICByZXR1cm4gd2FpdENvcG1vbmVudFRvUmVu
ZGVyKGNvbnRleHQpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIGV4cGVj
dChlZGl0YWJsZVRleHQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jykub2Zmc2V0SGVp
Z2h0KS50b05vdEJlKDApOworICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5jb250ZW50
KCkucXVlcnlTZWxlY3RvcignaW5wdXQnKS5vZmZzZXRIZWlnaHQpLnRvLm5vdC5iZSgwKTsKICAg
ICAgICAgICAgIGVkaXRhYmxlVGV4dC5jb250ZW50KCkucXVlcnlTZWxlY3RvcignYScpLmNsaWNr
KCk7Ci0gICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmVkaXRlZFRleHQoKSkudG9CZSgn
d29ybGQnKTsKLSAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG9CZSgxKTsKKyAgICAg
ICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuZWRpdGVkVGV4dCgpKS50by5iZSgnd29ybGQnKTsK
KyAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG8uYmUoMSk7CiAgICAgICAgIH0pOwog
ICAgIH0pOwogCkBAIC0xNzIsMjggKzE3MiwyOCBAQCBkZXNjcmliZSgnRWRpdGFibGVUZXh0Jywg
KCkgPT4gewogICAgICAgICAgICAgZWRpdGFibGVUZXh0LnNldFRleHQoJ2hlbGxvJyk7CiAgICAg
ICAgICAgICBlZGl0YWJsZVRleHQuZW5xdWV1ZVRvUmVuZGVyKCk7CiAgICAgICAgICAgICBlZGl0
YWJsZVRleHQubGlzdGVuVG9BY3Rpb24oJ3VwZGF0ZScsICgpID0+IHVwZGF0ZUNvdW50KyspOwot
ICAgICAgICAgICAgcmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAgICAgICAgIHJl
dHVybiB3YWl0Q29wbW9uZW50VG9SZW5kZXIoY29udGV4dCk7CiAgICAgICAgIH0pLnRoZW4oKCkg
PT4gewogICAgICAgICAgICAgZWRpdGFibGVUZXh0LmNvbnRlbnQoJ2FjdGlvbi1idXR0b24nKS5j
bGljaygpOwotICAgICAgICAgICAgcmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAg
ICAgICAgIHJldHVybiB3YWl0Q29wbW9uZW50VG9SZW5kZXIoY29udGV4dCk7CiAgICAgICAgIH0p
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBlZGl0YWJsZVRleHQuY29u
dGVudCgndGV4dC1maWVsZCcpOwotICAgICAgICAgICAgZXhwZWN0KGlucHV0Lm9mZnNldEhlaWdo
dCkudG9Ob3RCZSgwKTsKLSAgICAgICAgICAgIGV4cGVjdChlZGl0YWJsZVRleHQuZWRpdGVkVGV4
dCgpKS50b0JlKCdoZWxsbycpOworICAgICAgICAgICAgZXhwZWN0KGlucHV0Lm9mZnNldEhlaWdo
dCkudG8ubm90LmJlKDApOworICAgICAgICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5lZGl0ZWRU
ZXh0KCkpLnRvLmJlKCdoZWxsbycpOwogICAgICAgICAgICAgaW5wdXQudmFsdWUgPSAnd29ybGQn
OwotICAgICAgICAgICAgZXhwZWN0KHVwZGF0ZUNvdW50KS50b0JlKDApOwotICAgICAgICAgICAg
cmV0dXJuIHdhaXRUb1JlbmRlcihjb250ZXh0KTsKKyAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVD
b3VudCkudG8uYmUoMCk7CisgICAgICAgICAgICByZXR1cm4gd2FpdENvcG1vbmVudFRvUmVuZGVy
KGNvbnRleHQpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGVkaXRhYmxl
VGV4dC5jb250ZW50KCdhY3Rpb24tYnV0dG9uJykuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVu
dCgnbW91c2Vkb3duJykpOwogICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZl
KSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICBlZGl0YWJsZVRleHQuY29udGVudCgndGV4dC1maWVsZCcpLmJsdXIoKTsKICAg
ICAgICAgICAgIGVkaXRhYmxlVGV4dC5jb250ZW50KCdhY3Rpb24tYnV0dG9uJykuZGlzcGF0Y2hF
dmVudChuZXcgTW91c2VFdmVudCgnbW91c2V1cCcpKTsKLSAgICAgICAgICAgIHJldHVybiB3YWl0
VG9SZW5kZXIoY29udGV4dCk7CisgICAgICAgICAgICByZXR1cm4gd2FpdENvcG1vbmVudFRvUmVu
ZGVyKGNvbnRleHQpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIGV4cGVj
dChlZGl0YWJsZVRleHQuY29udGVudCgndGV4dC1maWVsZCcpLm9mZnNldEhlaWdodCkudG9CZSgw
KTsKLSAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG9CZSgxKTsKLSAgICAgICAgICAg
IGV4cGVjdChlZGl0YWJsZVRleHQuZWRpdGVkVGV4dCgpKS50b0JlKCd3b3JsZCcpOworICAgICAg
ICAgICAgZXhwZWN0KGVkaXRhYmxlVGV4dC5jb250ZW50KCd0ZXh0LWZpZWxkJykub2Zmc2V0SGVp
Z2h0KS50by5iZSgwKTsKKyAgICAgICAgICAgIGV4cGVjdCh1cGRhdGVDb3VudCkudG8uYmUoMSk7
CisgICAgICAgICAgICBleHBlY3QoZWRpdGFibGVUZXh0LmVkaXRlZFRleHQoKSkudG8uYmUoJ3dv
cmxkJyk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvYnJvd3Nlci10ZXN0cy9pbmRleC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2luZGV4Lmh0bWwJKHJldmlzaW9uIDIxMjUyMCkK
KysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2luZGV4Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBACiA8dGl0bGU+SW4tQnJvd3NlciBUZXN0cyBmb3Ig
UGVyZm9ybWFuY2UgRGFzaGJvYXJkPC90aXRsZT4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iaHR0cHM6Ly9jZG4ucmF3Z2l0LmNvbS9tb2NoYWpzL21vY2hhLzIuMi41L21vY2hhLmNzcyI+
CiA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbW9j
aGEvMi4yLjUvbW9jaGEuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMu
Y2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2V4cGVjdC8xLjIwLjIvZXhwZWN0Lm1pbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xp
YnMvZXhwZWN0LmpzLzAuMi4wL2V4cGVjdC5taW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAog
bW9jaGEuc2V0dXAoJ2JkZCcpOwo=
</data>
<flag name="review"
          id="323628"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>