<?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>176125</bug_id>
          
          <creation_ts>2017-08-30 14:25:34 -0700</creation_ts>
          <short_desc>Add initSyncers method in BuildbotTriggerable</short_desc>
          <delta_ts>2017-11-16 00:34:13 -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>Tools / Tests</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>175969</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1343699</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-08-30 14:25:34 -0700</bug_when>
    <thetext>This is part of changes for https://bugs.webkit.org/show_bug.cgi?id=175969.

We should create a separate initSyncers() method in BuildbotTriggerable, which would initialize all BuildbotSyncer. This method could later be updated to support Buildbot 0.9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343706</commentid>
    <comment_count>1</comment_count>
      <attachid>319404</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-08-30 14:32:09 -0700</bug_when>
    <thetext>Created attachment 319404
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345372</commentid>
    <comment_count>2</comment_count>
      <attachid>319404</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-09-05 00:56:50 -0700</bug_when>
    <thetext>Comment on attachment 319404
Proposed patch

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

&gt; Websites/perf.webkit.org/server-tests/tools-buildbot-triggerable-tests.js:40
&gt; +                syncPromise = triggerable.initSyncers().then(() =&gt; {
&gt; +                    return triggerable.syncOnce();
&gt; +                });

Please just do:
triggerable.initSyncers().then(() =&gt; triggerable.syncOnce())
here and elsewhere. There&apos;s no need in adding the boilerplate of { return ~ }.

&gt; Websites/perf.webkit.org/tools/js/buildbot-triggerable.js:35
&gt; +        return new Promise((resolve, reject) =&gt; {
&gt; +            this._syncers = BuildbotSyncer._loadConfig(this._buildbotRemote, this._config);
&gt; +            resolve();
&gt; +        });

This would resolve the promise right away. In order to test your change, we need to do something like:
setTimeout(resolve, 0);
or:
Promise.resolve().then(() =&gt; this._syncers = BuildbotSyncer._loadConfig(this._buildbotRemote, this._config))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345373</commentid>
    <comment_count>3</comment_count>
      <attachid>319404</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-09-05 00:57:07 -0700</bug_when>
    <thetext>Comment on attachment 319404
Proposed patch

r=me provided those two issues are addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346129</commentid>
    <comment_count>4</comment_count>
      <attachid>320071</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-09-06 15:56:48 -0700</bug_when>
    <thetext>Created attachment 320071
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346225</commentid>
    <comment_count>5</comment_count>
      <attachid>320071</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 21:23:38 -0700</bug_when>
    <thetext>Comment on attachment 320071
Patch for landing

Clearing flags on attachment: 320071

Committed r221717: &lt;http://trac.webkit.org/changeset/221717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346226</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 21:23:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353659</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:48:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/34694048&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319404</attachid>
            <date>2017-08-30 14:32:09 -0700</date>
            <delta_ts>2017-09-06 15:56:48 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_buildbot_perf_initSyncer</filename>
            <type>text/plain</type>
            <size>17819</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxMzk3KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDE3LTA4LTMwICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgaW5pdFN5bmNlcnMgbWV0aG9kIGluIEJ1aWxkYm90VHJpZ2dlcmFi
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjEy
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdG9v
bHMvc3luYy1idWlsZGJvdC5qczoKKyAgICAgICAgKHN5bmNMb29wKTogVXNlIGluaXRTeW5jZXJz
KCkgd2hpY2ggcmV0dXJucyBhIHByb21pc2UuIE1vZGlmaWVkIHRvIGhhbmRsZSB0aGUgcHJvbWlz
ZS4KKyAgICAgICAgKiB0b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qczoKKyAgICAgICAg
KEJ1aWxkYm90VHJpZ2dlcmFibGUpOiBJbnZva2VzIGluaXRTeW5jZXJzKCkgYXBwcm9wcmlhdGVs
eS4KKyAgICAgICAgKEJ1aWxkYm90VHJpZ2dlcmFibGUucHJvdG90eXBlLmluaXRTeW5jZXJzKTog
UmV0dXJucyBhIHByb21pc2Ugd2hpY2ggaW5pdGlhbGl6ZSBhbGwgdGhlIHN5bmNlcnMuCisgICAg
ICAgICogc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzOiBV
cGRhdGVkIHRlc3RzIHRvIGhhbmRsZSBpbml0U3luY2VycygpLgorICAgICAgICAqIHNlcnZlci10
ZXN0cy90b29scy1zeW5jLWJ1aWxkYm90LWludGVncmF0aW9uLXRlc3RzLmpzOiBEaXR0by4KKwog
MjAxNy0wOC0yOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBC
dWlsZCBmaXguIE9TIFggInJldmlzaW9uIiBjYW4gaGF2ZSBhIHNwYWNlLgpJbmRleDogV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJs
ZS10ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVy
LXRlc3RzL3Rvb2xzLWJ1aWxkYm90LXRyaWdnZXJhYmxlLXRlc3RzLmpzCShyZXZpc2lvbiAyMjEz
OTUpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLWJ1aWxk
Ym90LXRyaWdnZXJhYmxlLXRlc3RzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw5IEBA
IGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAg
ICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBz
bGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAg
ICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJs
ZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5m
bywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5
bmNPbmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0
U3luY2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dl
cmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKEJ1aWxkUmVxdWVzdC5hbGwo
KS5sZW5ndGgsIDQpOwpAQCAtODksNyArOTEsOSBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2Vy
YWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgbGV0IGxvZ2dlciA9IG5ldyBNb2NrTG9n
Z2VyOwogICAgICAgICAgICAgICAgIGxldCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUn
LCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAgICAgbGV0IHRyaWdnZXJhYmxl
ID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgp
LCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAgICAgICAgc3lu
Y1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIHN5bmNQ
cm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVl
c3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBdLm1ldGhvZCwgJ0dFVCcpOwpAQCAtMTM3
LDcgKzE0MSw5IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAg
ICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAg
ICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bh
c3N3b3JkJ307CiAgICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRi
b3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVB
UEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRy
aWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmln
Z2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAg
ICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAg
ICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tS
ZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKQEAgLTIxNiw3ICsyMjIsOSBAQCBkZXNjcmli
ZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgbGV0IGxv
Z2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAgICAgICAgICAgIGxldCBzbGF2ZUluZm8gPSB7
bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAg
ICAgbGV0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0
U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0g
ICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAg
ICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVu
KCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNl
KCk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1v
dGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAg
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwg
Mik7CkBAIC0yODgsNyArMjk2LDkgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBm
dW5jdGlvbgogICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwog
ICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBh
c3N3b3JkOiAncGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9
IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwg
TW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQ
cm9taXNlID0gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJv
bWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAg
IH0pOwogICAgICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0
KCk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDIpOwpAQCAtMzY3LDcgKzM3Nyw5
IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAg
ICAgICBsZXQgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgbGV0IHNs
YXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKICAg
ICAgICAgICAgICAgICBsZXQgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShj
b25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywg
bG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNP
bmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3lu
Y2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICByZXR1
cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigo
KSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHMubGVuZ3RoLCAxKTsKQEAgLTQzMCw3ICs0NDIsOSBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmln
Z2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1v
Y2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5j
LXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwogICAgICAgICAgICAgICAgIGNvbnN0IHRy
aWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAg
ICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2Fp
dEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgMik7CkBAIC01
MjgsNyArNTQyLDkgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgog
ICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAgICAg
ICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAn
cGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWls
ZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90
ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0g
dHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRy
aWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAg
ICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDIpOwpAQCAtNjI5LDcgKzY0NSw5IEBAIGRlc2Ny
aWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25z
dCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUlu
Zm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAg
ICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25m
aWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9n
Z2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNl
KCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2Vy
cygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlcmFibGUu
c3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICByZXR1cm4g
TW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9
PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CkBA
IC03MDQsNyArNzIyLDkgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlv
bgogICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAg
ICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3Jk
OiAncGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICB0cmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJv
dFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQ
SSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJp
Z2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdn
ZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAg
ICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVz
dHMubGVuZ3RoLCAxKTsKQEAgLTczMSw3ICs3NTEsOSBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmln
Z2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgICAgIHtbLTFdOiBNb2NrRGF0YS5y
dW5uaW5nQnVpbGQoe2J1aWxkUmVxdWVzdElkOiA3MDB9KSwgWy0yXTogTW9ja0RhdGEuZmluaXNo
ZWRCdWlsZCh7YnVpbGRSZXF1ZXN0SWQ6IDcxMH0pfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHN5bmNQcm9taXNlOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAg
IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZv
clJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDYpOwpAQCAtNzY0LDcgKzc4Niw5IEBAIGRl
c2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBj
b25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2
ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAg
ICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShj
b25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywg
bG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNP
bmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3lu
Y2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICByZXR1
cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigo
KSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVz
dHMubGVuZ3RoLCAxKTsKQEAgLTgzMSw3ICs4NTUsOSBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmln
Z2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1v
Y2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5j
LXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwogICAgICAgICAgICAgICAgIGNvbnN0IHRy
aWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJl
bW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAg
ICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2Fp
dEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgMSk7CkBAIC04
ODYsNyArOTEyLDkgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgog
ICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAgICAg
ICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAn
cGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWls
ZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90
ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0g
dHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRy
aWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAg
ICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDEpOwpAQCAtOTcyLDcgKzEwMDAsOSBAQCBkZXNj
cmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgY29u
c3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJ
bmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwogICAgICAg
ICAgICAgICAgIGNvbnN0IGJ1aWxkYm90VHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2Vy
YWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZl
SW5mbywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gYnVpbGRib3RUcmlnZ2VyYWJs
ZS51cGRhdGVUcmlnZ2VyYWJsZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBidWlsZGJvdFRy
aWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBidWlsZGJvdFRyaWdnZXJhYmxlLnVwZGF0ZVRyaWdnZXJhYmxlKCk7CisgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHJlZmV0Y2hNYW5pZmVzdCgp
KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoVHJpZ2dlcmFibGUu
YWxsKCkubGVuZ3RoLCAxKTsKIApAQCAtOTk3LDcgKzEwMjcsOSBAQCBkZXNjcmliZSgnQnVpbGRi
b3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0g
bmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6
ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9OwogICAgICAgICAgICAgICAgIGNv
bnN0IGJ1aWxkYm90VHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcs
IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2Vy
KTsKLSAgICAgICAgICAgICAgICByZXR1cm4gYnVpbGRib3RUcmlnZ2VyYWJsZS51cGRhdGVUcmln
Z2VyYWJsZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBidWlsZGJvdFRyaWdnZXJhYmxlLmlu
aXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBidWls
ZGJvdFRyaWdnZXJhYmxlLnVwZGF0ZVRyaWdnZXJhYmxlKCk7CisgICAgICAgICAgICAgICAgfSk7
CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHJlZmV0Y2hNYW5pZmVzdCgpKS50aGVuKCgpID0+
IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoVHJpZ2dlcmFibGUuYWxsKCkubGVuZ3Ro
LCAxKTsKICAgICAgICAgICAgICAgICBjb25zdCBncm91cHMgPSBUcmlnZ2VyYWJsZVJlcG9zaXRv
cnlHcm91cC5zb3J0QnlOYW1lKFRyaWdnZXJhYmxlLmFsbCgpWzBdLnJlcG9zaXRvcnlHcm91cHMo
KSk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLXN5
bmMtYnVpbGRib3QtaW50ZWdyYXRpb24tdGVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1zeW5jLWJ1aWxkYm90LWludGVncmF0
aW9uLXRlc3RzLmpzCShyZXZpc2lvbiAyMjEzOTUpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvc2VydmVyLXRlc3RzL3Rvb2xzLXN5bmMtYnVpbGRib3QtaW50ZWdyYXRpb24tdGVzdHMuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTYxLDcgKzYxLDkgQEAgZnVuY3Rpb24gY3JlYXRlVHJpZ2dlcmFi
bGUoKQogICAgICAgICByZXR1cm4gTWFuaWZlc3QuZmV0Y2goKTsKICAgICB9KS50aGVuKCgpID0+
IHsKICAgICAgICAgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcs
IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHtuYW1lOiAnc3luYy1zbGF2
ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfSwgbmV3IE1vY2tMb2dnZXIpOwotICAgICAgICByZXR1
cm4gdHJpZ2dlcmFibGUudXBkYXRlVHJpZ2dlcmFibGUoKTsKKyAgICAgICAgcmV0dXJuIHRyaWdn
ZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gdHJp
Z2dlcmFibGUudXBkYXRlVHJpZ2dlcmFibGUoKTsKKyAgICAgICAgfSk7CiAgICAgfSkudGhlbigo
KSA9PiBNYW5pZmVzdC5mZXRjaCgpKS50aGVuKCgpID0+IHsKICAgICAgICAgcmV0dXJuIG5ldyBC
dWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1Jl
bW90ZUFQSSwge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9LCBuZXcg
TW9ja0xvZ2dlcik7CiAgICAgfSk7CkBAIC0xNTYsNyArMTU4LDkgQEAgZGVzY3JpYmUoJ3N5bmMt
YnVpbGRib3QnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwob3RoZXJD
b21taXRTZXQucm9vdEZvclJlcG9zaXRvcnkod2Via2l0KSwgbnVsbCk7CiAgICAgICAgICAgICBh
c3NlcnQuZGVlcEVxdWFsKG90aGVyQ29tbWl0U2V0LmFsbFJvb3RGaWxlcygpLCBbXSk7CiAKLSAg
ICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAg
ICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3Qo
KTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVx
dWVzdHMubGVuZ3RoLCAzKTsKQEAgLTI2Nyw3ICsyNzEsOSBAQCBkZXNjcmliZSgnc3luYy1idWls
ZGJvdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwob3RoZXJD
b21taXRTZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsKIAogICAgICAgICAgICAgTW9ja1JlbW90ZUFQ
SS5yZXNldCgpOwotICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25j
ZSgpOworICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2Vycygp
LnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25j
ZSgpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53
YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDMpOwpAQCAtNDQxLDcgKzQ0Nyw5IEBAIGRlc2Ny
aWJlKCdzeW5jLWJ1aWxkYm90JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgY29uc3Qgb3Ro
ZXJSb290cyA9IG90aGVyQnVpbGRSZXF1ZXN0LmNvbW1pdFNldCgpLmFsbFJvb3RGaWxlcygpOwog
ICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG90aGVyUm9vdHMubGVuZ3RoLCAxKTsKICAgICAgICAg
ICAgIGFzc2VydC5kZWVwRXF1YWwob3RoZXJSb290c1swXS5maWxlbmFtZSgpLCAncm9vdDQ2LmRh
dCcpOwotICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOwor
ICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4o
KCkgPT4geworICAgICAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOwor
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9y
UmVxdWVzdCgpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5l
cXVhbChyZXF1ZXN0cy5sZW5ndGgsIDMpOwpAQCAtNTEyLDcgKzUyMCw5IEBAIGRlc2NyaWJlKCdz
eW5jLWJ1aWxkYm90JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG90
aGVyQnVpbGRSZXF1ZXN0LnN0YXR1c1VybCgpLCBudWxsKTsKICAgICAgICAgICAgIGFzc2VydC5l
cXVhbChvdGhlckJ1aWxkUmVxdWVzdC5idWlsZElkKCksIG51bGwpOwogCi0gICAgICAgICAgICBz
eW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICBzeW5jUHJv
bWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVz
dCgpLCB1cGxvYWRSb290KDEsIDEyMyldKTsKICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAzKTsKQEAgLTU5Niw3ICs2MDYs
OSBAQCBkZXNjcmliZSgnc3luYy1idWlsZGJvdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChvdGhlckJ1aWxkUmVxdWVzdC5zdGF0dXNVcmwoKSwgbnVsbCk7CiAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwob3RoZXJCdWlsZFJlcXVlc3QuYnVpbGRJZCgpLCBudWxsKTsK
IAotICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAg
ICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkg
PT4geworICAgICAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVx
dWVzdCgpOwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChyZXF1ZXN0cy5sZW5ndGgsIDMpOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rv
b2xzL3N5bmMtYnVpbGRib3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3Rvb2xzL3N5bmMtYnVpbGRib3QuanMJKHJldmlzaW9uIDIyMTM5NSkKKysrIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy90b29scy9zeW5jLWJ1aWxkYm90LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSwxMSArMzUsMTcgQEAgZnVuY3Rpb24gc3luY0xvb3Aob3B0aW9ucykKICAgICB9OwogCiAg
ICAgTWFuaWZlc3QuZmV0Y2goKS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIG1ha2VUcmln
Z2VyYWJsZSgpLnVwZGF0ZVRyaWdnZXJhYmxlKCk7CisgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxl
ID0gbWFrZVRyaWdnZXJhYmxlKCk7CisgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5pbml0U3lu
Y2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLnVwZGF0
ZVRyaWdnZXJhYmxlKCk7CisgICAgICAgIH0pOwogICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAg
ICByZXR1cm4gTWFuaWZlc3QuZmV0Y2goKTsKICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAg
cmV0dXJuIG1ha2VUcmlnZ2VyYWJsZSgpLnN5bmNPbmNlKCk7CisgICAgICAgIGNvbnN0IHRyaWdn
ZXJhYmxlID0gbWFrZVRyaWdnZXJhYmxlKCk7CisgICAgICAgIHJldHVybiB0cmlnZ2VyYWJsZS5p
bml0U3luY2VycygpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxl
LnN5bmNPbmNlKCk7CisgICAgICAgIH0pOwogICAgIH0pLmNhdGNoKChlcnJvcikgPT4gewogICAg
ICAgICBjb25zb2xlLmVycm9yKGVycm9yKTsKICAgICAgICAgaWYgKHR5cGVvZihlcnJvci5zdGFj
aykgPT0gJ3N0cmluZycpIHsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9q
cy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanMJKHJldmlzaW9uIDIyMTM5
NSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2Vy
YWJsZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMTYsMTUgKzE2LDI1IEBAIGNsYXNzIEJ1aWxkYm90
VHJpZ2dlcmFibGUgewogICAgICAgICBhc3NlcnQodHlwZW9mKHRoaXMuX2xvb2tiYWNrQ291bnQp
ID09ICdudW1iZXInICYmIHRoaXMuX2xvb2tiYWNrQ291bnQgPiAwLCAnbG9va2JhY2tDb3VudCBt
dXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwJyk7CiAKICAgICAgICAgdGhpcy5fcmVtb3Rl
ID0gcmVtb3RlOworICAgICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7CisgICAgICAgIHRoaXMu
X2J1aWxkYm90UmVtb3RlID0gYnVpbGRib3RSZW1vdGU7CiAKICAgICAgICAgdGhpcy5fc2xhdmVJ
bmZvID0gc2xhdmVJbmZvOwogICAgICAgICBhc3NlcnQodHlwZW9mKHNsYXZlSW5mby5uYW1lKSA9
PSAnc3RyaW5nJywgJ3NsYXZlIG5hbWUgbXVzdCBiZSBzcGVjaWZpZWQnKTsKICAgICAgICAgYXNz
ZXJ0KHR5cGVvZihzbGF2ZUluZm8ucGFzc3dvcmQpID09ICdzdHJpbmcnLCAnc2xhdmUgcGFzc3dv
cmQgbXVzdCBiZSBzcGVjaWZpZWQnKTsKIAotICAgICAgICB0aGlzLl9zeW5jZXJzID0gQnVpbGRi
b3RTeW5jZXIuX2xvYWRDb25maWcoYnVpbGRib3RSZW1vdGUsIGNvbmZpZyk7CisgICAgICAgIHRo
aXMuX3N5bmNlcnMgPSBudWxsOwogICAgICAgICB0aGlzLl9sb2dnZXIgPSBsb2dnZXIgfHwge2xv
ZzogKCkgPT4geyB9LCBlcnJvcjogKCkgPT4geyB9fTsKICAgICB9CiAKKyAgICBpbml0U3luY2Vy
cygpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4geworICAgICAgICAgICAgdGhpcy5fc3luY2VycyA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29u
ZmlnKHRoaXMuX2J1aWxkYm90UmVtb3RlLCB0aGlzLl9jb25maWcpOworICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICBuYW1lKCkgeyByZXR1cm4gdGhpcy5f
bmFtZTsgfQogCiAgICAgdXBkYXRlVHJpZ2dlcmFibGUoKQo=
</data>
<flag name="review"
          id="339693"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320071</attachid>
            <date>2017-09-06 15:56:48 -0700</date>
            <delta_ts>2017-09-06 21:23:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch_buildbot_perf_initSyncer_v2</filename>
            <type>text/plain</type>
            <size>16728</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxNzA2KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDE3LTA5LTA2ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgaW5pdFN5bmNlcnMgbWV0aG9kIGluIEJ1aWxkYm90VHJpZ2dlcmFi
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjEy
NQorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIHRvb2xz
L3N5bmMtYnVpbGRib3QuanM6CisgICAgICAgIChzeW5jTG9vcCk6IFVzZSBpbml0U3luY2Vycygp
IHdoaWNoIHJldHVybnMgYSBwcm9taXNlLiBNb2RpZmllZCB0byBoYW5kbGUgdGhlIHByb21pc2Uu
CisgICAgICAgICogdG9vbHMvanMvYnVpbGRib3QtdHJpZ2dlcmFibGUuanM6CisgICAgICAgIChC
dWlsZGJvdFRyaWdnZXJhYmxlKTogSW52b2tlcyBpbml0U3luY2VycygpIGFwcHJvcHJpYXRlbHku
CisgICAgICAgIChCdWlsZGJvdFRyaWdnZXJhYmxlLnByb3RvdHlwZS5pbml0U3luY2Vycyk6IFJl
dHVybnMgYSBwcm9taXNlIHdoaWNoIGluaXRpYWxpemUgYWxsIHRoZSBzeW5jZXJzLgorICAgICAg
ICAqIHNlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qczogVXBk
YXRlZCB0ZXN0cyB0byBoYW5kbGUgaW5pdFN5bmNlcnMoKS4KKyAgICAgICAgKiBzZXJ2ZXItdGVz
dHMvdG9vbHMtc3luYy1idWlsZGJvdC1pbnRlZ3JhdGlvbi10ZXN0cy5qczogRGl0dG8uCisKIDIw
MTctMDktMDUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRk
IGEgYnV0dG9uIHRvIHNob3cgdHdvIHdlZWtzIG9mIGRhdGEgdG8gcGVyZiBkYXNoYm9hcmQKSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvdG9vbHMtYnVpbGRib3Qt
dHJpZ2dlcmFibGUtdGVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3NlcnZlci10ZXN0cy90b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwkocmV2
aXNpb24gMjIxNjk5KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90
b29scy1idWlsZGJvdC10cmlnZ2VyYWJsZS10ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAg
ICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAg
ICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNz
d29yZCd9OwogICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90
VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJ
LCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmln
Z2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dl
cmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAg
ICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
QnVpbGRSZXF1ZXN0LmFsbCgpLmxlbmd0aCwgNCk7CkBAIC04OSw3ICs4OSw3IEBAIGRlc2NyaWJl
KCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBsZXQgbG9n
Z2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgbGV0IHNsYXZlSW5mbyA9IHtu
YW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKICAgICAgICAgICAgICAg
ICBsZXQgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAg
ICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAg
ICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4o
KCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1v
Y2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4g
ewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzWzBd
Lm1ldGhvZCwgJ0dFVCcpOwpAQCAtMTM3LDcgKzEzNyw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRy
aWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcg
TW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5
bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAgICAgY29uc3Qg
dHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIu
cmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAgICAgICAg
ICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAg
ICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4g
dHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1v
dGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAg
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwg
Mik7CkBAIC0yMTYsNyArMjE2LDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBm
dW5jdGlvbgogICAgICAgICAgICAgICAgIGxldCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAg
ICAgICAgICAgICAgICBsZXQgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dv
cmQ6ICdwYXNzd29yZCd9OwogICAgICAgICAgICAgICAgIGxldCB0cmlnZ2VyYWJsZSA9IG5ldyBC
dWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1Jl
bW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQcm9taXNl
ID0gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9
IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2VyYWJsZS5zeW5jT25j
ZSgpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVz
dCgpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKQEAgLTI4OCw3ICsyODgs
NyBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAg
ICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29u
c3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9
OwogICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dl
cmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2
ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJs
ZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUu
aW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAg
ICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAg
ICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDIpOwpAQCAtMzY3LDcgKzM2Nyw3IEBAIGRlc2NyaWJl
KCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBsZXQgbG9n
Z2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgbGV0IHNsYXZlSW5mbyA9IHtu
YW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKICAgICAgICAgICAgICAg
ICBsZXQgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RT
ZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAg
ICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAg
ICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4o
KCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1v
Y2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4g
ewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxl
bmd0aCwgMSk7CkBAIC00MzAsNyArNDMwLDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFi
bGUnLCBmdW5jdGlvbgogICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9n
Z2VyOwogICAgICAgICAgICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2
ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2Vy
YWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVB
UEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAg
IHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBz
eW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2Vy
YWJsZS5zeW5jT25jZSgpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53
YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAyKTsKQEAg
LTUyOCw3ICs1MjgsNyBAQCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9u
CiAgICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAg
ICAgICAgICAgY29uc3Qgc2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6
ICdwYXNzd29yZCd9OwogICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1
aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVt
b3RlQVBJLCBzbGF2ZUluZm8sIGxvZ2dlcik7Ci0gICAgICAgICAgICAgICAgc3luY1Byb21pc2Ug
PSB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0g
dHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNl
KCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0
KCk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoTW9ja1JlbW90ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDIpOwpAQCAtNjI5LDcgKzYyOSw3
IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAg
ICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25z
dCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307
CiAgICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2Vy
YWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHNsYXZl
SW5mbywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxl
LnN5bmNPbmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5p
bml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAg
ICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0
cy5sZW5ndGgsIDEpOwpAQCAtNzA0LDcgKzcwNCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdn
ZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9j
a0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMt
c2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAgICAgdHJpZ2dlcmFi
bGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBz
eW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICAgICAgc3lu
Y1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2Fp
dEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwpAQCAtNzMxLDcgKzczMSw3IEBA
IGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAg
ICAgICAge1stMV06IE1vY2tEYXRhLnJ1bm5pbmdCdWlsZCh7YnVpbGRSZXF1ZXN0SWQ6IDcwMH0p
LCBbLTJdOiBNb2NrRGF0YS5maW5pc2hlZEJ1aWxkKHtidWlsZFJlcXVlc3RJZDogNzEwfSl9KTsK
ICAgICAgICAgICAgICAgICByZXR1cm4gc3luY1Byb21pc2U7CiAgICAgICAgICAgICB9KS50aGVu
KCgpID0+IHsKLSAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNP
bmNlKCk7CisgICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3lu
Y2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2FpdEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0p
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5n
dGgsIDYpOwpAQCAtNzY0LDcgKzc2NCw3IEBAIGRlc2NyaWJlKCdCdWlsZGJvdFRyaWdnZXJhYmxl
JywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dl
cjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTogJ3N5bmMtc2xhdmUn
LCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlcmFi
bGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShjb25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCksIE1vY2tSZW1vdGVBUEksIHNsYXZlSW5mbywgbG9nZ2VyKTsKLSAgICAgICAgICAgICAgICBz
eW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICAgICAgc3lu
Y1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFi
bGUuc3luY09uY2UoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tSZW1vdGVBUEkud2Fp
dEZvclJlcXVlc3QoKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChNb2NrUmVtb3RlQVBJLnJlcXVlc3RzLmxlbmd0aCwgMSk7CkBAIC04
MzEsNyArODMxLDcgQEAgZGVzY3JpYmUoJ0J1aWxkYm90VHJpZ2dlcmFibGUnLCBmdW5jdGlvbgog
ICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAgICAg
ICAgICAgIGNvbnN0IHNsYXZlSW5mbyA9IHtuYW1lOiAnc3luYy1zbGF2ZScsIHBhc3N3b3JkOiAn
cGFzc3dvcmQnfTsKICAgICAgICAgICAgICAgICBjb25zdCB0cmlnZ2VyYWJsZSA9IG5ldyBCdWls
ZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90
ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIpOwotICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0g
dHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAgICAgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRy
aWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgp
KTsKICAgICAgICAgICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgp
OwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKE1vY2tSZW1vdGVBUEkucmVxdWVzdHMubGVuZ3RoLCAxKTsKQEAgLTg4Niw3ICs4ODYsNyBA
QCBkZXNjcmliZSgnQnVpbGRib3RUcmlnZ2VyYWJsZScsIGZ1bmN0aW9uCiAgICAgICAgICAgICAg
ICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7CiAgICAgICAgICAgICAgICAgY29uc3Qg
c2xhdmVJbmZvID0ge25hbWU6ICdzeW5jLXNsYXZlJywgcGFzc3dvcmQ6ICdwYXNzd29yZCd9Owog
ICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJhYmxlID0gbmV3IEJ1aWxkYm90VHJpZ2dlcmFi
bGUoY29uZmlnLCBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCBzbGF2ZUlu
Zm8sIGxvZ2dlcik7Ci0gICAgICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJsZS5z
eW5jT25jZSgpOworICAgICAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5p
dFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAg
ICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAgICAg
ICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1JlbW90
ZUFQSS5yZXF1ZXN0cy5sZW5ndGgsIDEpOwpAQCAtOTcyLDcgKzk3Miw3IEBAIGRlc2NyaWJlKCdC
dWlsZGJvdFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25zdCBsb2dn
ZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7
bmFtZTogJ3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAg
ICAgY29uc3QgYnVpbGRib3RUcmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNv
bmZpZywgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBs
b2dnZXIpOwotICAgICAgICAgICAgICAgIHJldHVybiBidWlsZGJvdFRyaWdnZXJhYmxlLnVwZGF0
ZVRyaWdnZXJhYmxlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJ1aWxkYm90VHJpZ2dlcmFi
bGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IGJ1aWxkYm90VHJpZ2dlcmFibGUudXBkYXRlVHJp
Z2dlcmFibGUoKSk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHJlZmV0Y2hNYW5pZmVzdCgp
KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoVHJpZ2dlcmFibGUu
YWxsKCkubGVuZ3RoLCAxKTsKIApAQCAtOTk3LDcgKzk5Nyw3IEBAIGRlc2NyaWJlKCdCdWlsZGJv
dFRyaWdnZXJhYmxlJywgZnVuY3Rpb24KICAgICAgICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBu
ZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgICAgICBjb25zdCBzbGF2ZUluZm8gPSB7bmFtZTog
J3N5bmMtc2xhdmUnLCBwYXNzd29yZDogJ3Bhc3N3b3JkJ307CiAgICAgICAgICAgICAgICAgY29u
c3QgYnVpbGRib3RUcmlnZ2VyYWJsZSA9IG5ldyBCdWlsZGJvdFRyaWdnZXJhYmxlKGNvbmZpZywg
VGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgTW9ja1JlbW90ZUFQSSwgc2xhdmVJbmZvLCBsb2dnZXIp
OwotICAgICAgICAgICAgICAgIHJldHVybiBidWlsZGJvdFRyaWdnZXJhYmxlLnVwZGF0ZVRyaWdn
ZXJhYmxlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJ1aWxkYm90VHJpZ2dlcmFibGUuaW5p
dFN5bmNlcnMoKS50aGVuKCgpID0+IGJ1aWxkYm90VHJpZ2dlcmFibGUudXBkYXRlVHJpZ2dlcmFi
bGUoKSk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHJlZmV0Y2hNYW5pZmVzdCgpKS50aGVu
KCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoVHJpZ2dlcmFibGUuYWxsKCku
bGVuZ3RoLCAxKTsKICAgICAgICAgICAgICAgICBjb25zdCBncm91cHMgPSBUcmlnZ2VyYWJsZVJl
cG9zaXRvcnlHcm91cC5zb3J0QnlOYW1lKFRyaWdnZXJhYmxlLmFsbCgpWzBdLnJlcG9zaXRvcnlH
cm91cHMoKSk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rv
b2xzLXN5bmMtYnVpbGRib3QtaW50ZWdyYXRpb24tdGVzdHMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1zeW5jLWJ1aWxkYm90LWlu
dGVncmF0aW9uLXRlc3RzLmpzCShyZXZpc2lvbiAyMjE2OTkpCisrKyBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLXN5bmMtYnVpbGRib3QtaW50ZWdyYXRpb24tdGVz
dHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTYxLDcgKzYxLDcgQEAgZnVuY3Rpb24gY3JlYXRlVHJp
Z2dlcmFibGUoKQogICAgICAgICByZXR1cm4gTWFuaWZlc3QuZmV0Y2goKTsKICAgICB9KS50aGVu
KCgpID0+IHsKICAgICAgICAgdHJpZ2dlcmFibGUgPSBuZXcgQnVpbGRib3RUcmlnZ2VyYWJsZShj
b25maWcsIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCksIE1vY2tSZW1vdGVBUEksIHtuYW1lOiAnc3lu
Yy1zbGF2ZScsIHBhc3N3b3JkOiAncGFzc3dvcmQnfSwgbmV3IE1vY2tMb2dnZXIpOwotICAgICAg
ICByZXR1cm4gdHJpZ2dlcmFibGUudXBkYXRlVHJpZ2dlcmFibGUoKTsKKyAgICAgICAgcmV0dXJu
IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2VyYWJsZS51cGRhdGVU
cmlnZ2VyYWJsZSgpKTsKICAgICB9KS50aGVuKCgpID0+IE1hbmlmZXN0LmZldGNoKCkpLnRoZW4o
KCkgPT4gewogICAgICAgICByZXR1cm4gbmV3IEJ1aWxkYm90VHJpZ2dlcmFibGUoY29uZmlnLCBU
ZXN0U2VydmVyLnJlbW90ZUFQSSgpLCBNb2NrUmVtb3RlQVBJLCB7bmFtZTogJ3N5bmMtc2xhdmUn
LCBwYXNzd29yZDogJ3Bhc3N3b3JkJ30sIG5ldyBNb2NrTG9nZ2VyKTsKICAgICB9KTsKQEAgLTE1
Niw3ICsxNTYsNyBAQCBkZXNjcmliZSgnc3luYy1idWlsZGJvdCcsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChvdGhlckNvbW1pdFNldC5yb290Rm9yUmVwb3NpdG9yeSh3
ZWJraXQpLCBudWxsKTsKICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwob3RoZXJDb21taXRT
ZXQuYWxsUm9vdEZpbGVzKCksIFtdKTsKIAotICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmln
Z2VyYWJsZS5zeW5jT25jZSgpOworICAgICAgICAgICAgc3luY1Byb21pc2UgPSB0cmlnZ2VyYWJs
ZS5pbml0U3luY2VycygpLnRoZW4oKCkgPT4gdHJpZ2dlcmFibGUuc3luY09uY2UoKSk7CiAgICAg
ICAgICAgICByZXR1cm4gTW9ja1JlbW90ZUFQSS53YWl0Rm9yUmVxdWVzdCgpOwogICAgICAgICB9
KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgs
IDMpOwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGRlc2NyaWJlKCdzeW5jLWJ1aWxkYm90JywgZnVuY3Rp
b24gKCkgewogICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChvdGhlckNvbW1pdFNldC5hbGxS
b290RmlsZXMoKSwgW10pOwogCiAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7Ci0g
ICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAg
ICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0
cmlnZ2VyYWJsZS5zeW5jT25jZSgpKTsKICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJ
LndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMyk7CkBAIC00NDEsNyArNDQxLDcgQEAgZGVz
Y3JpYmUoJ3N5bmMtYnVpbGRib3QnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBjb25zdCBv
dGhlclJvb3RzID0gb3RoZXJCdWlsZFJlcXVlc3QuY29tbWl0U2V0KCkuYWxsUm9vdEZpbGVzKCk7
CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwob3RoZXJSb290cy5sZW5ndGgsIDEpOwogICAgICAg
ICAgICAgYXNzZXJ0LmRlZXBFcXVhbChvdGhlclJvb3RzWzBdLmZpbGVuYW1lKCksICdyb290NDYu
ZGF0Jyk7Ci0gICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7
CisgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhl
bigoKSA9PiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgpKTsKICAgICAgICAgICAgIHJldHVybiBNb2Nr
UmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMyk7CkBAIC01MTIsNyArNTEy
LDcgQEAgZGVzY3JpYmUoJ3N5bmMtYnVpbGRib3QnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwob3RoZXJCdWlsZFJlcXVlc3Quc3RhdHVzVXJsKCksIG51bGwpOwogICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKG90aGVyQnVpbGRSZXF1ZXN0LmJ1aWxkSWQoKSwgbnVsbCk7
CiAKLSAgICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuc3luY09uY2UoKTsKKyAg
ICAgICAgICAgIHN5bmNQcm9taXNlID0gdHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgp
ID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCkpOwogICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
YWxsKFtNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCksIHVwbG9hZFJvb3QoMSwgMTIzKV0p
OwogICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0cy5sZW5ndGgsIDMpOwpAQCAtNTk2LDcgKzU5Niw3IEBAIGRlc2NyaWJlKCdzeW5jLWJ1aWxk
Ym90JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG90aGVyQnVpbGRS
ZXF1ZXN0LnN0YXR1c1VybCgpLCBudWxsKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChvdGhl
ckJ1aWxkUmVxdWVzdC5idWlsZElkKCksIG51bGwpOwogCi0gICAgICAgICAgICBzeW5jUHJvbWlz
ZSA9IHRyaWdnZXJhYmxlLnN5bmNPbmNlKCk7CisgICAgICAgICAgICBzeW5jUHJvbWlzZSA9IHRy
aWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhlbigoKSA9PiB0cmlnZ2VyYWJsZS5zeW5jT25jZSgp
KTsKICAgICAgICAgICAgIHJldHVybiBNb2NrUmVtb3RlQVBJLndhaXRGb3JSZXF1ZXN0KCk7CiAg
ICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3Rz
Lmxlbmd0aCwgMyk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvc3luYy1i
dWlsZGJvdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMv
c3luYy1idWlsZGJvdC5qcwkocmV2aXNpb24gMjIxNjk5KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3Rvb2xzL3N5bmMtYnVpbGRib3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTM1LDExICsz
NSwxMyBAQCBmdW5jdGlvbiBzeW5jTG9vcChvcHRpb25zKQogICAgIH07CiAKICAgICBNYW5pZmVz
dC5mZXRjaCgpLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gbWFrZVRyaWdnZXJhYmxlKCku
dXBkYXRlVHJpZ2dlcmFibGUoKTsKKyAgICAgICAgY29uc3QgdHJpZ2dlcmFibGUgPSBtYWtlVHJp
Z2dlcmFibGUoKTsKKyAgICAgICAgcmV0dXJuIHRyaWdnZXJhYmxlLmluaXRTeW5jZXJzKCkudGhl
bigoKSA9PiB0cmlnZ2VyYWJsZS51cGRhdGVUcmlnZ2VyYWJsZSgpKTsKICAgICB9KS50aGVuKCgp
ID0+IHsKICAgICAgICAgcmV0dXJuIE1hbmlmZXN0LmZldGNoKCk7CiAgICAgfSkudGhlbigoKSA9
PiB7Ci0gICAgICAgIHJldHVybiBtYWtlVHJpZ2dlcmFibGUoKS5zeW5jT25jZSgpOworICAgICAg
ICBjb25zdCB0cmlnZ2VyYWJsZSA9IG1ha2VUcmlnZ2VyYWJsZSgpOworICAgICAgICByZXR1cm4g
dHJpZ2dlcmFibGUuaW5pdFN5bmNlcnMoKS50aGVuKCgpID0+IHRyaWdnZXJhYmxlLnN5bmNPbmNl
KCkpOwogICAgIH0pLmNhdGNoKChlcnJvcikgPT4gewogICAgICAgICBjb25zb2xlLmVycm9yKGVy
cm9yKTsKICAgICAgICAgaWYgKHR5cGVvZihlcnJvci5zdGFjaykgPT0gJ3N0cmluZycpIHsKSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJs
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvYnVp
bGRib3QtdHJpZ2dlcmFibGUuanMJKHJldmlzaW9uIDIyMTY5OSkKKysrIFdlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy90b29scy9qcy9idWlsZGJvdC10cmlnZ2VyYWJsZS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMTYsMTUgKzE2LDI1IEBAIGNsYXNzIEJ1aWxkYm90VHJpZ2dlcmFibGUgewogICAgICAg
ICBhc3NlcnQodHlwZW9mKHRoaXMuX2xvb2tiYWNrQ291bnQpID09ICdudW1iZXInICYmIHRoaXMu
X2xvb2tiYWNrQ291bnQgPiAwLCAnbG9va2JhY2tDb3VudCBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0
ZXIgdGhhbiAwJyk7CiAKICAgICAgICAgdGhpcy5fcmVtb3RlID0gcmVtb3RlOworICAgICAgICB0
aGlzLl9jb25maWcgPSBjb25maWc7CisgICAgICAgIHRoaXMuX2J1aWxkYm90UmVtb3RlID0gYnVp
bGRib3RSZW1vdGU7CiAKICAgICAgICAgdGhpcy5fc2xhdmVJbmZvID0gc2xhdmVJbmZvOwogICAg
ICAgICBhc3NlcnQodHlwZW9mKHNsYXZlSW5mby5uYW1lKSA9PSAnc3RyaW5nJywgJ3NsYXZlIG5h
bWUgbXVzdCBiZSBzcGVjaWZpZWQnKTsKICAgICAgICAgYXNzZXJ0KHR5cGVvZihzbGF2ZUluZm8u
cGFzc3dvcmQpID09ICdzdHJpbmcnLCAnc2xhdmUgcGFzc3dvcmQgbXVzdCBiZSBzcGVjaWZpZWQn
KTsKIAotICAgICAgICB0aGlzLl9zeW5jZXJzID0gQnVpbGRib3RTeW5jZXIuX2xvYWRDb25maWco
YnVpbGRib3RSZW1vdGUsIGNvbmZpZyk7CisgICAgICAgIHRoaXMuX3N5bmNlcnMgPSBudWxsOwog
ICAgICAgICB0aGlzLl9sb2dnZXIgPSBsb2dnZXIgfHwge2xvZzogKCkgPT4geyB9LCBlcnJvcjog
KCkgPT4geyB9fTsKICAgICB9CiAKKyAgICBpbml0U3luY2VycygpCisgICAgeworICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgdGhp
cy5fc3luY2VycyA9IEJ1aWxkYm90U3luY2VyLl9sb2FkQ29uZmlnKHRoaXMuX2J1aWxkYm90UmVt
b3RlLCB0aGlzLl9jb25maWcpOworICAgICAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCAwKTsK
KyAgICAgICAgfSk7CisgICAgfQorCiAgICAgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH0K
IAogICAgIHVwZGF0ZVRyaWdnZXJhYmxlKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>