<?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>156008</bug_id>
          
          <creation_ts>2016-03-29 22:01:18 -0700</creation_ts>
          <short_desc>BuildRequest should have a method to fetch all in-progress and pending requests for a triggerable</short_desc>
          <delta_ts>2016-03-30 12:46:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Perf Dashboard</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1178973</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-29 22:01:18 -0700</bug_when>
    <thetext>In order to write a new syncing scripts, BuildRequest should have a method to fetch
all pending and in-progress build requests.

Furthermore, /api/build-requests/&lt;triggerable-name&gt; should include all build requests
whose test group hasn&apos;t finished yet so that new syncing script can figure out to which
slave/builder each request belongs in the new syncing script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178980</commentid>
    <comment_count>1</comment_count>
      <attachid>275184</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-29 22:18:39 -0700</bug_when>
    <thetext>Created attachment 275184
Adds a method and improves JSON API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179149</commentid>
    <comment_count>2</comment_count>
      <attachid>275184</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-30 12:46:22 -0700</bug_when>
    <thetext>Comment on attachment 275184
Adds a method and improves JSON API

Clearing flags on attachment: 275184

Committed r198853: &lt;http://trac.webkit.org/changeset/198853&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179150</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-30 12:46:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275184</attachid>
            <date>2016-03-29 22:18:39 -0700</date>
            <delta_ts>2016-03-30 12:46:22 -0700</delta_ts>
            <desc>Adds a method and improves JSON API</desc>
            <filename>bug-156008-20160329221842.patch</filename>
            <type>text/plain</type>
            <size>24108</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTk4ODI2KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQxIEBACisyMDE2LTAzLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIEJ1aWxkUmVxdWVzdCBzaG91bGQgaGF2ZSBhIG1ldGhvZCB0byBmZXRjaCBhbGwg
aW4tcHJvZ3Jlc3MgYW5kIHBlbmRpbmcgcmVxdWVzdHMgZm9yIGEgdHJpZ2dlcmFibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjAwOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1ldGhvZCB0
byBCdWlsZFJlcXVlc3QgdGhhdCBmZXRjaGVzIGFsbCBwZW5kaW5nIGFuZCBpbi1wcm9ncmVzcyBy
ZXF1ZXN0cyBmb3IgYSB0cmlnZ2VyYWJsZS4KKworICAgICAgICBOb3csIG5ldyBzeW5jaW5nIHNj
cmlwdHMgbXVzdCBiZSBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlIGJ1aWxkIHNsYXZlIHRoZSBmaXJz
dCBidWlsZCByZXF1ZXN0cyBpbgorICAgICAgICBhIGdpdmVuIHRlc3QgZ3JvdXAgaGFkIHVzZWQg
aW4gb3JkZXIgdG8gc2NoZWR1bGUgc3Vic2VxdWVudCBidWlsZCByZXF1ZXN0cyBpbiB0aGUgdGVz
dCBncm91cC4KKworICAgICAgICBGb3IgdGhpcyBwdXJwb3NlLCAvYXBpL2J1aWxkLXJlcXVlc3Rz
IGhhcyBiZWVuIG1vZGlmaWVkIHRvIHJldHVybiBhbGwgYnVpbGQgcmVxdWVzdHMgd2hvc2UgdGVz
dAorICAgICAgICBncm91cCBoYWQgbm90IGZpbmlzaGVkIHlldC4gQSB0ZXN0IGdyb3VwIGlzIGZp
bmlzaGVkIGlmIGFsbCBidWlsZCByZXF1ZXN0cyBpbiB0aGUgdGVzdCBncm91cCBoYWQKKyAgICAg
ICAgZmluaXNoZWQgKGNvbXBsZXRlZCwgZmFpbGVkLCBvciBjYW5jZWxlZCkuCisKKyAgICAgICAg
KiBwdWJsaWMvaW5jbHVkZS9idWlsZC1yZXF1ZXN0cy1mZXRjaGVyLnBocDoKKyAgICAgICAgKEJ1
aWxkUmVxdWVzdEZldGNoZXI6OmZldGNoX2luY29tcGxldGVfcmVxdWVzdHNfZm9yX3RyaWdnZXJh
YmxlKTogUmV0dXJuIGFsbCBidWlsZCByZXF1ZXN0cyBpbiB0ZXN0CisgICAgICAgIGdyb3VwcyB0
aGF0IGhhdmUgbm90IGJlZW4gZmluaXNoZWQuCisgICAgICAgICogcHVibGljL3YzL21vZGVscy9i
dWlsZC1yZXF1ZXN0LmpzOgorICAgICAgICAoQnVpbGRSZXF1ZXN0KToKKyAgICAgICAgKEJ1aWxk
UmVxdWVzdC5wcm90b3R5cGUudGVzdEdyb3VwSWQpOiBBZGRlZC4KKyAgICAgICAgKEJ1aWxkUmVx
dWVzdC5wcm90b3R5cGUuaXNQZW5kaW5nKTogUmVuYW1lZCBmcm9tIGhhc1BlbmRpbmcgdG8gZml4
IGEgYmFkIGdyYW1tYXIuCisgICAgICAgIChCdWlsZFJlcXVlc3QuZmV0Y2hGb3JUcmlnZ2VyYWJs
ZSk6IEFkZGVkLgorICAgICAgICAoQnVpbGRSZXF1ZXN0LmNvbnN0cnVjdEJ1aWxkUmVxdWVzdHNG
cm9tRGF0YSk6IEV4dHJhY3RlZCBmcm9tIF9jcmVhdGVNb2RlbHNGcm9tRmV0Y2hlZFRlc3RHcm91
cHMgaW4KKyAgICAgICAgVGVzdEdyb3VwLgorICAgICAgICAqIHB1YmxpYy92My9tb2RlbHMvbWFu
aWZlc3QuanM6CisgICAgICAgIChNYW5pZmVzdC5mZXRjaCk6IFVzZSB0aGUgZnVsbCBwYXRoIGZy
b20gcm9vdCBzbyB0aGF0IGl0IHdvcmtzIGluIHNlcnZlciB0ZXN0cy4KKyAgICAgICAgKiBwdWJs
aWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanM6CisgICAgICAgIChUZXN0R3JvdXAuaGFzUGVuZGlu
Zyk6CisgICAgICAgIChUZXN0R3JvdXAuX2NyZWF0ZU1vZGVsc0Zyb21GZXRjaGVkVGVzdEdyb3Vw
cyk6CisgICAgICAgICogc2VydmVyLXRlc3RzL2FwaS1idWlsZC1yZXF1ZXN0cy10ZXN0cy5qczog
QWRkZWQgdGVzdHMgdG8gZW5zdXJlIGFsbCBidWlsZCByZXF1ZXN0cyBmb3IgYSB0ZXN0IGdyb3Vw
CisgICAgICAgIGlzIHByZXNlbnQgaW4gdGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IC9hcGkvYnVp
bGQtcmVxdWVzdHMgaWZmIGFueSBidWlsZCByZXF1ZXN0IGluIHRoZSBncm91cCBoYWQgbm90Cisg
ICAgICAgIGZpbmlzaGVkIHlldC4KKyAgICAgICAgKC5hZGRNb2NrRGF0YSk6CisgICAgICAgICgu
YWRkQW5vdGhlck1vY2tUZXN0R3JvdXApOiBBZGRlZC4KKyAgICAgICAgKiB1bml0LXRlc3RzL3Rl
c3QtZ3JvdXBzLXRlc3RzLmpzOgorCiAyMDE2LTAzLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgZGVwZW5kZW5jeSBpbmplY3Rpb24gaW4gdW5pdCB0
ZXN0cyBtb3JlIGV4cGxpY2l0CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L2luY2x1ZGUvYnVpbGQtcmVxdWVzdHMtZmV0Y2hlci5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL2J1aWxkLXJlcXVlc3RzLWZldGNoZXIu
cGhwCShyZXZpc2lvbiAxOTg4MjYpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L2luY2x1ZGUvYnVpbGQtcmVxdWVzdHMtZmV0Y2hlci5waHAJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDggKzI3LDExIEBAIGNsYXNzIEJ1aWxkUmVxdWVzdHNGZXRjaGVyIHsKIAogICAgIGZ1bmN0aW9u
IGZldGNoX2luY29tcGxldGVfcmVxdWVzdHNfZm9yX3RyaWdnZXJhYmxlKCR0cmlnZ2VyYWJsZV9p
ZCkgewogICAgICAgICAkdGhpcy0+cm93cyA9ICR0aGlzLT5kYi0+cXVlcnlfYW5kX2ZldGNoX2Fs
bCgnU0VMRUNUICogRlJPTSBidWlsZF9yZXF1ZXN0cwotICAgICAgICAgICAgV0hFUkUgcmVxdWVz
dF90cmlnZ2VyYWJsZSA9ICQxIEFORCByZXF1ZXN0X3N0YXR1cyAhPSBcJ2NvbXBsZXRlZFwnCi0g
ICAgICAgICAgICBPUkRFUiBCWSByZXF1ZXN0X2NyZWF0ZWRfYXQsIHJlcXVlc3RfZ3JvdXAsIHJl
cXVlc3Rfb3JkZXInLCBhcnJheSgkdHJpZ2dlcmFibGVfaWQpKTsKKyAgICAgICAgICAgIFdIRVJF
IHJlcXVlc3RfdHJpZ2dlcmFibGUgPSAkMSBBTkQgcmVxdWVzdF9ncm91cAorICAgICAgICAgICAg
ICAgIElOIChTRUxFQ1QgdGVzdGdyb3VwX2lkIEZST00gYW5hbHlzaXNfdGVzdF9ncm91cHMgV0hF
UkUgRVhJU1RTCisgICAgICAgICAgICAgICAgICAgIChTRUxFQ1QgMSBGUk9NIGJ1aWxkX3JlcXVl
c3RzIFdIRVJFIHRlc3Rncm91cF9pZCA9IHJlcXVlc3RfZ3JvdXAgQU5EIHJlcXVlc3Rfc3RhdHVz
CisgICAgICAgICAgICAgICAgICAgICAgICBJTiAoXCdwZW5kaW5nXCcsIFwnc2NoZWR1bGVkXCcs
IFwncnVubmluZ1wnKSkpCisgICAgICAgICAgICBPUkRFUiBCWSByZXF1ZXN0X2dyb3VwLCByZXF1
ZXN0X29yZGVyJywgYXJyYXkoJHRyaWdnZXJhYmxlX2lkKSk7CiAgICAgfQogCiAgICAgZnVuY3Rp
b24gZmV0Y2hfcmVxdWVzdCgkcmVxdWVzdF9pZCkgewpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9tb2RlbHMvYnVpbGQtcmVxdWVzdC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9idWlsZC1yZXF1ZXN0Lmpz
CShyZXZpc2lvbiAxOTg4MjYpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L21vZGVscy9idWlsZC1yZXF1ZXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNyBAQCBj
bGFzcyBCdWlsZFJlcXVlc3QgZXh0ZW5kcyBEYXRhTW9kZWxPYmplCiAgICAgY29uc3RydWN0b3Io
aWQsIG9iamVjdCkKICAgICB7CiAgICAgICAgIHN1cGVyKGlkLCBvYmplY3QpOworICAgICAgICB0
aGlzLl90ZXN0R3JvdXBJZCA9IG9iamVjdC50ZXN0R3JvdXBJZDsKICAgICAgICAgY29uc29sZS5h
c3NlcnQoIW9iamVjdC50ZXN0R3JvdXAgfHwgb2JqZWN0LnRlc3RHcm91cCBpbnN0YW5jZW9mIFRl
c3RHcm91cCk7CiAgICAgICAgIHRoaXMuX3Rlc3RHcm91cCA9IG9iamVjdC50ZXN0R3JvdXA7CiAg
ICAgICAgIGlmICh0aGlzLl90ZXN0R3JvdXApCkBAIC0yOCwxMyArMjksMTQgQEAgY2xhc3MgQnVp
bGRSZXF1ZXN0IGV4dGVuZHMgRGF0YU1vZGVsT2JqZQogICAgICAgICB0aGlzLl9idWlsZElkID0g
b2JqZWN0LmJ1aWxkOwogICAgIH0KIAorICAgIHRlc3RHcm91cElkKCkgeyByZXR1cm4gdGhpcy5f
dGVzdEdyb3VwSWQ7IH0KICAgICB0ZXN0R3JvdXAoKSB7IHJldHVybiB0aGlzLl90ZXN0R3JvdXA7
IH0KICAgICBvcmRlcigpIHsgcmV0dXJuIHRoaXMuX29yZGVyOyB9CiAgICAgcm9vdFNldCgpIHsg
cmV0dXJuIHRoaXMuX3Jvb3RTZXQ7IH0KIAogICAgIGhhc0ZpbmlzaGVkKCkgeyByZXR1cm4gdGhp
cy5fc3RhdHVzID09ICdmYWlsZWQnIHx8IHRoaXMuX3N0YXR1cyA9PSAnY29tcGxldGVkJyB8fCB0
aGlzLl9zdGF0dXMgPT0gJ2NhbmNlbGVkJzsgfQogICAgIGhhc1N0YXJ0ZWQoKSB7IHJldHVybiB0
aGlzLl9zdGF0dXMgIT0gJ3BlbmRpbmcnOyB9Ci0gICAgaGFzUGVuZGluZygpIHsgcmV0dXJuIHRo
aXMuX3N0YXR1cyA9PSAncGVuZGluZyc7IH0KKyAgICBpc1BlbmRpbmcoKSB7IHJldHVybiB0aGlz
Ll9zdGF0dXMgPT0gJ3BlbmRpbmcnOyB9CiAgICAgc3RhdHVzTGFiZWwoKQogICAgIHsKICAgICAg
ICAgc3dpdGNoICh0aGlzLl9zdGF0dXMpIHsKQEAgLTYyLDYgKzY0LDM2IEBAIGNsYXNzIEJ1aWxk
UmVxdWVzdCBleHRlbmRzIERhdGFNb2RlbE9iamUKICAgICAgICAgdGhpcy5fcmVzdWx0ID0gcmVz
dWx0OwogICAgICAgICB0aGlzLl90ZXN0R3JvdXAuZGlkU2V0UmVzdWx0KHRoaXMpOwogICAgIH0K
KworICAgIHN0YXRpYyBmZXRjaEZvclRyaWdnZXJhYmxlKHRyaWdnZXJhYmxlKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIFJlbW90ZUFQSS5nZXRKU09OV2l0aFN0YXR1cygnL2FwaS9idWlsZC1yZXF1
ZXN0cy8nICsgdHJpZ2dlcmFibGUpLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsKKyAgICAgICAgICAg
IHJldHVybiBCdWlsZFJlcXVlc3QuY29uc3RydWN0QnVpbGRSZXF1ZXN0c0Zyb21EYXRhKGRhdGEp
OworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBzdGF0aWMgY29uc3RydWN0QnVpbGRSZXF1ZXN0
c0Zyb21EYXRhKGRhdGEpCisgICAgeworICAgICAgICB2YXIgcm9vdElkTWFwID0ge307CisgICAg
ICAgIGZvciAodmFyIHJvb3Qgb2YgZGF0YVsncm9vdHMnXSkgeworICAgICAgICAgICAgcm9vdElk
TWFwW3Jvb3QuaWRdID0gcm9vdDsKKyAgICAgICAgICAgIHJvb3QucmVwb3NpdG9yeSA9IFJlcG9z
aXRvcnkuZmluZEJ5SWQocm9vdC5yZXBvc2l0b3J5KTsKKyAgICAgICAgfQorCisgICAgICAgIHZh
ciByb290U2V0cyA9IGRhdGFbJ3Jvb3RTZXRzJ10ubWFwKGZ1bmN0aW9uIChyb3cpIHsKKyAgICAg
ICAgICAgIHJvdy5yb290cyA9IHJvdy5yb290cy5tYXAoZnVuY3Rpb24gKHJvb3RJZCkgeyByZXR1
cm4gcm9vdElkTWFwW3Jvb3RJZF07IH0pOworICAgICAgICAgICAgcmV0dXJuIFJvb3RTZXQuZW5z
dXJlU2luZ2xldG9uKHJvdy5pZCwgcm93KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJu
IGRhdGFbJ2J1aWxkUmVxdWVzdHMnXS5tYXAoZnVuY3Rpb24gKHJhd0RhdGEpIHsKKyAgICAgICAg
ICAgIHJhd0RhdGEucGxhdGZvcm0gPSBQbGF0Zm9ybS5maW5kQnlJZChyYXdEYXRhLnBsYXRmb3Jt
KTsKKyAgICAgICAgICAgIHJhd0RhdGEudGVzdCA9IFRlc3QuZmluZEJ5SWQocmF3RGF0YS50ZXN0
KTsKKyAgICAgICAgICAgIHJhd0RhdGEudGVzdEdyb3VwSWQgPSByYXdEYXRhLnRlc3RHcm91cDsK
KyAgICAgICAgICAgIHJhd0RhdGEudGVzdEdyb3VwID0gVGVzdEdyb3VwLmZpbmRCeUlkKHJhd0Rh
dGEudGVzdEdyb3VwKTsKKyAgICAgICAgICAgIHJhd0RhdGEucm9vdFNldCA9IFJvb3RTZXQuZmlu
ZEJ5SWQocmF3RGF0YS5yb290U2V0KTsKKyAgICAgICAgICAgIHJldHVybiBCdWlsZFJlcXVlc3Qu
ZW5zdXJlU2luZ2xldG9uKHJhd0RhdGEuaWQsIHJhd0RhdGEpOworICAgICAgICB9KTsKKyAgICB9
CiB9CiAKIGlmICh0eXBlb2YgbW9kdWxlICE9ICd1bmRlZmluZWQnKQpJbmRleDogV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvbWFuaWZlc3QuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvbWFuaWZlc3QuanMJ
KHJldmlzaW9uIDE5ODgyNikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMv
bW9kZWxzL21hbmlmZXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC00LDggKzQsOCBAQCBjbGFzcyBN
YW5pZmVzdCB7CiAKICAgICBzdGF0aWMgZmV0Y2goKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFJl
bW90ZUFQSS5nZXRKU09OKCcuLi9kYXRhL21hbmlmZXN0Lmpzb24nKS5jYXRjaChmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICByZXR1cm4gUmVtb3RlQVBJLmdldEpTT04oJy4uL2FwaS9tYW5pZmVz
dC8nKTsKKyAgICAgICAgcmV0dXJuIFJlbW90ZUFQSS5nZXRKU09OKCcvZGF0YS9tYW5pZmVzdC5q
c29uJykuY2F0Y2goZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuIFJlbW90ZUFQSS5n
ZXRKU09OKCcvYXBpL21hbmlmZXN0LycpOwogICAgICAgICB9KS50aGVuKHRoaXMuX2RpZEZldGNo
TWFuaWZlc3QuYmluZCh0aGlzKSk7CiAgICAgfQogCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YzL21vZGVscy90ZXN0LWdyb3VwLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3Rlc3QtZ3JvdXAuanMJKHJldmlz
aW9uIDE5ODgyNikKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxz
L3Rlc3QtZ3JvdXAuanMJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNyBAQCBjbGFzcyBU
ZXN0R3JvdXAgZXh0ZW5kcyBMYWJlbGVkT2JqZWN0IHsKIAogICAgIGhhc1BlbmRpbmcoKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2J1aWxkUmVxdWVzdHMuc29tZShmdW5jdGlvbiAocmVx
dWVzdCkgeyByZXR1cm4gcmVxdWVzdC5oYXNQZW5kaW5nKCk7IH0pOworICAgICAgICByZXR1cm4g
dGhpcy5fYnVpbGRSZXF1ZXN0cy5zb21lKGZ1bmN0aW9uIChyZXF1ZXN0KSB7IHJldHVybiByZXF1
ZXN0LmlzUGVuZGluZygpOyB9KTsKICAgICB9CiAKICAgICBjb21wYXJlVGVzdFJlc3VsdHMocm9v
dFNldEEsIHJvb3RTZXRCKQpAQCAtMjIyLDIyICsyMjIsNyBAQCBjbGFzcyBUZXN0R3JvdXAgZXh0
ZW5kcyBMYWJlbGVkT2JqZWN0IHsKICAgICAgICAgICAgIHJldHVybiBUZXN0R3JvdXAuZW5zdXJl
U2luZ2xldG9uKHJvdy5pZCwgcm93KTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgdmFyIHJvb3RJ
ZE1hcCA9IHt9OwotICAgICAgICBmb3IgKHZhciByb290IG9mIGRhdGFbJ3Jvb3RzJ10pIHsKLSAg
ICAgICAgICAgIHJvb3RJZE1hcFtyb290LmlkXSA9IHJvb3Q7Ci0gICAgICAgICAgICByb290LnJl
cG9zaXRvcnkgPSBSZXBvc2l0b3J5LmZpbmRCeUlkKHJvb3QucmVwb3NpdG9yeSk7Ci0gICAgICAg
IH0KLQotICAgICAgICB2YXIgcm9vdFNldHMgPSBkYXRhWydyb290U2V0cyddLm1hcChmdW5jdGlv
biAocm93KSB7Ci0gICAgICAgICAgICByb3cucm9vdHMgPSByb3cucm9vdHMubWFwKGZ1bmN0aW9u
IChyb290SWQpIHsgcmV0dXJuIHJvb3RJZE1hcFtyb290SWRdOyB9KTsKLSAgICAgICAgICAgIHJl
dHVybiBSb290U2V0LmVuc3VyZVNpbmdsZXRvbihyb3cuaWQsIHJvdyk7Ci0gICAgICAgIH0pOwot
Ci0gICAgICAgIHZhciBidWlsZFJlcXVlc3RzID0gZGF0YVsnYnVpbGRSZXF1ZXN0cyddLm1hcChm
dW5jdGlvbiAocmF3RGF0YSkgewotICAgICAgICAgICAgcmF3RGF0YS50ZXN0R3JvdXAgPSBUZXN0
R3JvdXAuZmluZEJ5SWQocmF3RGF0YS50ZXN0R3JvdXApOwotICAgICAgICAgICAgcmF3RGF0YS5y
b290U2V0ID0gUm9vdFNldC5maW5kQnlJZChyYXdEYXRhLnJvb3RTZXQpOwotICAgICAgICAgICAg
cmV0dXJuIEJ1aWxkUmVxdWVzdC5lbnN1cmVTaW5nbGV0b24ocmF3RGF0YS5pZCwgcmF3RGF0YSk7
Ci0gICAgICAgIH0pOworICAgICAgICBCdWlsZFJlcXVlc3QuY29uc3RydWN0QnVpbGRSZXF1ZXN0
c0Zyb21EYXRhKGRhdGEpOwogCiAgICAgICAgIHJldHVybiB0ZXN0R3JvdXBzOwogICAgIH0KSW5k
ZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLWJ1aWxkLXJlcXVl
c3RzLXRlc3RzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2
ZXItdGVzdHMvYXBpLWJ1aWxkLXJlcXVlc3RzLXRlc3RzLmpzCShyZXZpc2lvbiAxOTg4MjYpCisr
KyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1idWlsZC1yZXF1ZXN0
cy10ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMSwyOCBAQAogJ3VzZSBzdHJpY3Qn
OwogCiBsZXQgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7CisKK3JlcXVpcmUoJy4uL3Rvb2xz
L2pzL3YzLW1vZGVscy5qcycpOworCiBsZXQgVGVzdFNlcnZlciA9IHJlcXVpcmUoJy4vcmVzb3Vy
Y2VzL3Rlc3Qtc2VydmVyLmpzJyk7CiAKIGRlc2NyaWJlKCcvYXBpL2J1aWxkLXJlcXVlc3RzJywg
ZnVuY3Rpb24gKCkgewogICAgIHRoaXMudGltZW91dCgxMDAwMCk7CiAgICAgVGVzdFNlcnZlci5p
bmplY3QoKTsKIAorICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkgeworICAgICAgICBBbmFseXNp
c1Rhc2suX2ZldGNoQWxsUHJvbWlzZSA9IG51bGw7CisgICAgICAgIEFuYWx5c2lzVGFzay5jbGVh
clN0YXRpY01hcCgpOworICAgICAgICBCdWlsZFJlcXVlc3QuY2xlYXJTdGF0aWNNYXAoKTsKKyAg
ICAgICAgQ29tbWl0TG9nLmNsZWFyU3RhdGljTWFwKCk7CisgICAgICAgIE1ldHJpYy5jbGVhclN0
YXRpY01hcCgpOworICAgICAgICBQbGF0Zm9ybS5jbGVhclN0YXRpY01hcCgpOworICAgICAgICBS
ZXBvc2l0b3J5LmNsZWFyU3RhdGljTWFwKCk7CisgICAgICAgIFJvb3RTZXQuY2xlYXJTdGF0aWNN
YXAoKTsKKyAgICAgICAgVGVzdC5jbGVhclN0YXRpY01hcCgpOworICAgICAgICBUZXN0R3JvdXAu
Y2xlYXJTdGF0aWNNYXAoKTsKKyAgICB9KQorCiAgICAgaXQoJ3Nob3VsZCByZXR1cm4gIlRyaWdn
ZXJhYmxlTm90Rm91bmQiIHdoZW4gdGhlIGRhdGFiYXNlIGlzIGVtcHR5JywgZnVuY3Rpb24gKGRv
bmUpIHsKICAgICAgICAgVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5nZXRKU09OKCcvYXBpL2J1aWxk
LXJlcXVlc3RzL2J1aWxkLXdlYmtpdCcpLnRoZW4oZnVuY3Rpb24gKGNvbnRlbnQpIHsKICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChjb250ZW50WydzdGF0dXMnXSwgJ1RyaWdnZXJhYmxlTm90Rm91
bmQnKTsKQEAgLTI5LDE4ICs0NSwyMSBAQCBkZXNjcmliZSgnL2FwaS9idWlsZC1yZXF1ZXN0cycs
IGZ1bmN0aW9uCiAgICAgICAgIH0pLmNhdGNoKGRvbmUpOwogICAgIH0pOwogCi0gICAgZnVuY3Rp
b24gYWRkTW9ja0RhdGEoZGIpCisgICAgZnVuY3Rpb24gYWRkTW9ja0RhdGEoZGIsIHN0YXR1c0xp
c3QpCiAgICAgeworICAgICAgICBpZiAoIXN0YXR1c0xpc3QpCisgICAgICAgICAgICBzdGF0dXNM
aXN0ID0gWydwZW5kaW5nJywgJ3BlbmRpbmcnLCAncGVuZGluZycsICdwZW5kaW5nJ107CiAgICAg
ICAgIHJldHVybiBQcm9taXNlLmFsbChbCiAgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3Ry
aWdnZXJhYmxlcycsIHtpZDogMSwgbmFtZTogJ2J1aWxkLXdlYmtpdCd9KSwKICAgICAgICAgICAg
IGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywge2lkOiA5LCBuYW1lOiAnT1MgWCd9KSwKICAgICAg
ICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywge2lkOiAxMSwgbmFtZTogJ1dlYktpdCd9
KSwKICAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0cycsIHtpZDogODc4MzIsIHJlcG9zaXRv
cnk6IDksIHJldmlzaW9uOiAnMTAuMTEgMTVBMjg0J30pLAotICAgICAgICAgICAgZGIuaW5zZXJ0
KCdjb21taXRzJywge2lkOiA5MzExNiwgcmVwb3NpdG9yeTogMTEsIHJldmlzaW9uOiAnMTkxNjIy
JywgdGltZTogbmV3IERhdGUoMTQ0NTk0NTgxNjg3OCl9KSwKLSAgICAgICAgICAgIGRiLmluc2Vy
dCgnY29tbWl0cycsIHtpZDogOTYzMzYsIHJlcG9zaXRvcnk6IDExLCByZXZpc2lvbjogJzE5Mjcz
NicsIHRpbWU6IG5ldyBEYXRlKDE0NDgyMjUzMjU2NTApfSksCisgICAgICAgICAgICBkYi5pbnNl
cnQoJ2NvbW1pdHMnLCB7aWQ6IDkzMTE2LCByZXBvc2l0b3J5OiAxMSwgcmV2aXNpb246ICcxOTE2
MjInLCB0aW1lOiAobmV3IERhdGUoMTQ0NTk0NTgxNjg3OCkpLnRvSVNPU3RyaW5nKCl9KSwKKyAg
ICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0cycsIHtpZDogOTYzMzYsIHJlcG9zaXRvcnk6IDEx
LCByZXZpc2lvbjogJzE5MjczNicsIHRpbWU6IChuZXcgRGF0ZSgxNDQ4MjI1MzI1NjUwKSkudG9J
U09TdHJpbmcoKX0pLAogICAgICAgICAgICAgZGIuaW5zZXJ0KCdwbGF0Zm9ybXMnLCB7aWQ6IDY1
LCBuYW1lOiAnc29tZSBwbGF0Zm9ybSd9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgndGVzdHMn
LCB7aWQ6IDIwMCwgbmFtZTogJ3NvbWUgdGVzdCd9KSwKICAgICAgICAgICAgIGRiLmluc2VydCgn
dGVzdF9tZXRyaWNzJywge2lkOiAzMDAsIHRlc3Q6IDIwMCwgbmFtZTogJ3NvbWUgbWV0cmljJ30p
LAorICAgICAgICAgICAgZGIuaW5zZXJ0KCd0ZXN0X2NvbmZpZ3VyYXRpb25zJywge2lkOiAzMDEs
IG1ldHJpYzogMzAwLCBwbGF0Zm9ybTogNjUsIHR5cGU6ICdjdXJyZW50J30pLAogICAgICAgICAg
ICAgZGIuaW5zZXJ0KCdyb290X3NldHMnLCB7aWQ6IDQwMX0pLAogICAgICAgICAgICAgZGIuaW5z
ZXJ0KCdyb290cycsIHtzZXQ6IDQwMSwgY29tbWl0OiA4NzgzMn0pLAogICAgICAgICAgICAgZGIu
aW5zZXJ0KCdyb290cycsIHtzZXQ6IDQwMSwgY29tbWl0OiA5MzExNn0pLApAQCAtNDksMTAgKzY4
LDIzIEBAIGRlc2NyaWJlKCcvYXBpL2J1aWxkLXJlcXVlc3RzJywgZnVuY3Rpb24KICAgICAgICAg
ICAgIGRiLmluc2VydCgncm9vdHMnLCB7c2V0OiA0MDIsIGNvbW1pdDogOTYzMzZ9KSwKICAgICAg
ICAgICAgIGRiLmluc2VydCgnYW5hbHlzaXNfdGFza3MnLCB7aWQ6IDUwMCwgcGxhdGZvcm06IDY1
LCBtZXRyaWM6IDMwMCwgbmFtZTogJ3NvbWUgdGFzayd9KSwKICAgICAgICAgICAgIGRiLmluc2Vy
dCgnYW5hbHlzaXNfdGVzdF9ncm91cHMnLCB7aWQ6IDYwMCwgdGFzazogNTAwLCBuYW1lOiAnc29t
ZSB0ZXN0IGdyb3VwJ30pLAotICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF9yZXF1ZXN0cycs
IHtpZDogNzAwLCB0cmlnZ2VyYWJsZTogMSwgcGxhdGZvcm06IDY1LCB0ZXN0OiAyMDAsIGdyb3Vw
OiA2MDAsIG9yZGVyOiAwLCByb290X3NldDogNDAxfSksCi0gICAgICAgICAgICBkYi5pbnNlcnQo
J2J1aWxkX3JlcXVlc3RzJywge2lkOiA3MDEsIHRyaWdnZXJhYmxlOiAxLCBwbGF0Zm9ybTogNjUs
IHRlc3Q6IDIwMCwgZ3JvdXA6IDYwMCwgb3JkZXI6IDEsIHJvb3Rfc2V0OiA0MDJ9KSwKLSAgICAg
ICAgICAgIGRiLmluc2VydCgnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDcwMiwgdHJpZ2dlcmFibGU6
IDEsIHBsYXRmb3JtOiA2NSwgdGVzdDogMjAwLCBncm91cDogNjAwLCBvcmRlcjogMiwgcm9vdF9z
ZXQ6IDQwMX0pLAotICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF9yZXF1ZXN0cycsIHtpZDog
NzAzLCB0cmlnZ2VyYWJsZTogMSwgcGxhdGZvcm06IDY1LCB0ZXN0OiAyMDAsIGdyb3VwOiA2MDAs
IG9yZGVyOiAzLCByb290X3NldDogNDAyfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxk
X3JlcXVlc3RzJywge2lkOiA3MDAsIHN0YXR1czogc3RhdHVzTGlzdFswXSwgdHJpZ2dlcmFibGU6
IDEsIHBsYXRmb3JtOiA2NSwgdGVzdDogMjAwLCBncm91cDogNjAwLCBvcmRlcjogMCwgcm9vdF9z
ZXQ6IDQwMX0pLAorICAgICAgICAgICAgZGIuaW5zZXJ0KCdidWlsZF9yZXF1ZXN0cycsIHtpZDog
NzAxLCBzdGF0dXM6IHN0YXR1c0xpc3RbMV0sIHRyaWdnZXJhYmxlOiAxLCBwbGF0Zm9ybTogNjUs
IHRlc3Q6IDIwMCwgZ3JvdXA6IDYwMCwgb3JkZXI6IDEsIHJvb3Rfc2V0OiA0MDJ9KSwKKyAgICAg
ICAgICAgIGRiLmluc2VydCgnYnVpbGRfcmVxdWVzdHMnLCB7aWQ6IDcwMiwgc3RhdHVzOiBzdGF0
dXNMaXN0WzJdLCB0cmlnZ2VyYWJsZTogMSwgcGxhdGZvcm06IDY1LCB0ZXN0OiAyMDAsIGdyb3Vw
OiA2MDAsIG9yZGVyOiAyLCByb290X3NldDogNDAxfSksCisgICAgICAgICAgICBkYi5pbnNlcnQo
J2J1aWxkX3JlcXVlc3RzJywge2lkOiA3MDMsIHN0YXR1czogc3RhdHVzTGlzdFszXSwgdHJpZ2dl
cmFibGU6IDEsIHBsYXRmb3JtOiA2NSwgdGVzdDogMjAwLCBncm91cDogNjAwLCBvcmRlcjogMywg
cm9vdF9zZXQ6IDQwMn0pLAorICAgICAgICBdKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBhZGRB
bm90aGVyTW9ja1Rlc3RHcm91cChkYiwgc3RhdHVzTGlzdCkKKyAgICB7CisgICAgICAgIGlmICgh
c3RhdHVzTGlzdCkKKyAgICAgICAgICAgIHN0YXR1c0xpc3QgPSBbJ3BlbmRpbmcnLCAncGVuZGlu
ZycsICdwZW5kaW5nJywgJ3BlbmRpbmcnXTsKKyAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsK
KyAgICAgICAgICAgIGRiLmluc2VydCgnYW5hbHlzaXNfdGVzdF9ncm91cHMnLCB7aWQ6IDU5OSwg
dGFzazogNTAwLCBuYW1lOiAnYW5vdGhlciB0ZXN0IGdyb3VwJ30pLAorICAgICAgICAgICAgZGIu
aW5zZXJ0KCdidWlsZF9yZXF1ZXN0cycsIHtpZDogNzEzLCBzdGF0dXM6IHN0YXR1c0xpc3RbM10s
IHRyaWdnZXJhYmxlOiAxLCBwbGF0Zm9ybTogNjUsIHRlc3Q6IDIwMCwgZ3JvdXA6IDU5OSwgb3Jk
ZXI6IDMsIHJvb3Rfc2V0OiA0MDJ9KSwKKyAgICAgICAgICAgIGRiLmluc2VydCgnYnVpbGRfcmVx
dWVzdHMnLCB7aWQ6IDcxMCwgc3RhdHVzOiBzdGF0dXNMaXN0WzBdLCB0cmlnZ2VyYWJsZTogMSwg
cGxhdGZvcm06IDY1LCB0ZXN0OiAyMDAsIGdyb3VwOiA1OTksIG9yZGVyOiAwLCByb290X3NldDog
NDAxfSksCisgICAgICAgICAgICBkYi5pbnNlcnQoJ2J1aWxkX3JlcXVlc3RzJywge2lkOiA3MTIs
IHN0YXR1czogc3RhdHVzTGlzdFsyXSwgdHJpZ2dlcmFibGU6IDEsIHBsYXRmb3JtOiA2NSwgdGVz
dDogMjAwLCBncm91cDogNTk5LCBvcmRlcjogMiwgcm9vdF9zZXQ6IDQwMX0pLAorICAgICAgICAg
ICAgZGIuaW5zZXJ0KCdidWlsZF9yZXF1ZXN0cycsIHtpZDogNzExLCBzdGF0dXM6IHN0YXR1c0xp
c3RbMV0sIHRyaWdnZXJhYmxlOiAxLCBwbGF0Zm9ybTogNjUsIHRlc3Q6IDIwMCwgZ3JvdXA6IDU5
OSwgb3JkZXI6IDEsIHJvb3Rfc2V0OiA0MDJ9KSwKICAgICAgICAgXSk7CiAgICAgfQogCkBAIC0x
MTQsNyArMTQ2LDcgQEAgZGVzY3JpYmUoJy9hcGkvYnVpbGQtcmVxdWVzdHMnLCBmdW5jdGlvbgog
ICAgICAgICB9KS5jYXRjaChkb25lKTsKICAgICB9KTsKIAotICAgIGl0KCdzaG91bGQgcmV0dXJu
IHN1cHBvcnQgdXNlTGVnYWN5SWRSZXNvbHV0aW9uIG9wdGlvbicsIGZ1bmN0aW9uIChkb25lKSB7
CisgICAgaXQoJ3Nob3VsZCBzdXBwb3J0IHVzZUxlZ2FjeUlkUmVzb2x1dGlvbiBvcHRpb24nLCBm
dW5jdGlvbiAoZG9uZSkgewogICAgICAgICBsZXQgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7
CiAgICAgICAgIGRiLmNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIHJl
dHVybiBhZGRNb2NrRGF0YShkYik7CkBAIC0xNzIsNCArMjA0LDE4MyBAQCBkZXNjcmliZSgnL2Fw
aS9idWlsZC1yZXF1ZXN0cycsIGZ1bmN0aW9uCiAgICAgICAgIH0pLmNhdGNoKGRvbmUpOwogICAg
IH0pOwogCisgICAgaXQoJ3Nob3VsZCBiZSBmZXRjaGFibGUgYnkgQnVpbGRSZXF1ZXN0LmZldGNo
Rm9yVHJpZ2dlcmFibGUnLCBmdW5jdGlvbiAoZG9uZSkgeworICAgICAgICBsZXQgZGIgPSBUZXN0
U2VydmVyLmRhdGFiYXNlKCk7CisgICAgICAgIGRiLmNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgIHJldHVybiBhZGRNb2NrRGF0YShkYik7CisgICAgICAgIH0pLnRoZW4o
ZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuIE1hbmlmZXN0LmZldGNoKCk7CisgICAg
ICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuIEJ1aWxkUmVxdWVz
dC5mZXRjaEZvclRyaWdnZXJhYmxlKCdidWlsZC13ZWJraXQnKTsKKyAgICAgICAgfSkudGhlbihm
dW5jdGlvbiAoYnVpbGRSZXF1ZXN0cykgeworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxk
UmVxdWVzdHMubGVuZ3RoLCA0KTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVx
dWVzdHNbMF0uaWQoKSwgNzAwKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVl
c3RzWzBdLm9yZGVyKCksIDApOworICAgICAgICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNb
MF0ucm9vdFNldCgpIGluc3RhbmNlb2YgUm9vdFNldCk7CisgICAgICAgICAgICBhc3NlcnQub2so
IWJ1aWxkUmVxdWVzdHNbMF0uaGFzRmluaXNoZWQoKSk7CisgICAgICAgICAgICBhc3NlcnQub2so
IWJ1aWxkUmVxdWVzdHNbMF0uaGFzU3RhcnRlZCgpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayhi
dWlsZFJlcXVlc3RzWzBdLmlzUGVuZGluZygpKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChi
dWlsZFJlcXVlc3RzWzBdLnN0YXR1c0xhYmVsKCksICdXYWl0aW5nIHRvIGJlIHNjaGVkdWxlZCcp
OworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0c1sxXS5pZCgpLCA3MDEp
OworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHNbMV0ub3JkZXIoKSwgMSk7
CisgICAgICAgICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1sxXS5yb290U2V0KCkgaW5zdGFu
Y2VvZiBSb290U2V0KTsKKyAgICAgICAgICAgIGFzc2VydC5vayghYnVpbGRSZXF1ZXN0c1sxXS5o
YXNGaW5pc2hlZCgpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayghYnVpbGRSZXF1ZXN0c1sxXS5o
YXNTdGFydGVkKCkpOworICAgICAgICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNbMV0uaXNQ
ZW5kaW5nKCkpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHNbMV0uc3Rh
dHVzTGFiZWwoKSwgJ1dhaXRpbmcgdG8gYmUgc2NoZWR1bGVkJyk7CisKKyAgICAgICAgICAgIGFz
c2VydC5lcXVhbChidWlsZFJlcXVlc3RzWzJdLmlkKCksIDcwMik7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoYnVpbGRSZXF1ZXN0c1syXS5vcmRlcigpLCAyKTsKKyAgICAgICAgICAgIGFzc2Vy
dC5vayhidWlsZFJlcXVlc3RzWzJdLnJvb3RTZXQoKSBpbnN0YW5jZW9mIFJvb3RTZXQpOworICAg
ICAgICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzJdLmhhc0ZpbmlzaGVkKCkpOworICAg
ICAgICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzJdLmhhc1N0YXJ0ZWQoKSk7CisgICAg
ICAgICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1syXS5pc1BlbmRpbmcoKSk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0c1syXS5zdGF0dXNMYWJlbCgpLCAnV2FpdGlu
ZyB0byBiZSBzY2hlZHVsZWQnKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVx
dWVzdHNbM10uaWQoKSwgNzAzKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVl
c3RzWzNdLm9yZGVyKCksIDMpOworICAgICAgICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNb
M10ucm9vdFNldCgpIGluc3RhbmNlb2YgUm9vdFNldCk7CisgICAgICAgICAgICBhc3NlcnQub2so
IWJ1aWxkUmVxdWVzdHNbM10uaGFzRmluaXNoZWQoKSk7CisgICAgICAgICAgICBhc3NlcnQub2so
IWJ1aWxkUmVxdWVzdHNbM10uaGFzU3RhcnRlZCgpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayhi
dWlsZFJlcXVlc3RzWzNdLmlzUGVuZGluZygpKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChi
dWlsZFJlcXVlc3RzWzNdLnN0YXR1c0xhYmVsKCksICdXYWl0aW5nIHRvIGJlIHNjaGVkdWxlZCcp
OworCisgICAgICAgICAgICBsZXQgb3N4ID0gUmVwb3NpdG9yeS5maW5kQnlJZCg5KTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChvc3gubmFtZSgpLCAnT1MgWCcpOworCisgICAgICAgICAgICBs
ZXQgd2Via2l0ID0gUmVwb3NpdG9yeS5maW5kQnlJZCgxMSk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwod2Via2l0Lm5hbWUoKSwgJ1dlYktpdCcpOworCisgICAgICAgICAgICBsZXQgZmlyc3RS
b290U2V0ID0gYnVpbGRSZXF1ZXN0c1swXS5yb290U2V0KCk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoYnVpbGRSZXF1ZXN0c1syXS5yb290U2V0KCksIGZpcnN0Um9vdFNldCk7CisKKyAgICAg
ICAgICAgIGxldCBzZWNvbmRSb290U2V0ID0gYnVpbGRSZXF1ZXN0c1sxXS5yb290U2V0KCk7Cisg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0c1szXS5yb290U2V0KCksIHNlY29u
ZFJvb3RTZXQpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoZmlyc3RSb290U2V0LnJldmlz
aW9uRm9yUmVwb3NpdG9yeShvc3gpLCAnMTAuMTEgMTVBMjg0Jyk7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoZmlyc3RSb290U2V0LnJldmlzaW9uRm9yUmVwb3NpdG9yeSh3ZWJraXQpLCAnMTkx
NjIyJyk7CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChzZWNvbmRSb290U2V0LnJldmlzaW9u
Rm9yUmVwb3NpdG9yeShvc3gpLCAnMTAuMTEgMTVBMjg0Jyk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoc2Vjb25kUm9vdFNldC5yZXZpc2lvbkZvclJlcG9zaXRvcnkod2Via2l0KSwgJzE5Mjcz
NicpOworCisgICAgICAgICAgICBsZXQgb3N4Q29tbWl0ID0gZmlyc3RSb290U2V0LmNvbW1pdEZv
clJlcG9zaXRvcnkob3N4KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChvc3hDb21taXQucmV2
aXNpb24oKSwgJzEwLjExIDE1QTI4NCcpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG9zeENv
bW1pdCwgc2Vjb25kUm9vdFNldC5jb21taXRGb3JSZXBvc2l0b3J5KG9zeCkpOworCisgICAgICAg
ICAgICBsZXQgZmlyc3RXZWJLaXRDb21taXQgPSBmaXJzdFJvb3RTZXQuY29tbWl0Rm9yUmVwb3Np
dG9yeSh3ZWJraXQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGZpcnN0V2ViS2l0Q29tbWl0
LnJldmlzaW9uKCksICcxOTE2MjInKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbCgrZmlyc3RX
ZWJLaXRDb21taXQudGltZSgpLCAxNDQ1OTQ1ODE2ODc4KTsKKworICAgICAgICAgICAgbGV0IHNl
Y29uZFdlYktpdENvbW1pdCA9IHNlY29uZFJvb3RTZXQuY29tbWl0Rm9yUmVwb3NpdG9yeSh3ZWJr
aXQpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHNlY29uZFdlYktpdENvbW1pdC5yZXZpc2lv
bigpLCAnMTkyNzM2Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoK3NlY29uZFdlYktpdENv
bW1pdC50aW1lKCksIDE0NDgyMjUzMjU2NTApOworCisgICAgICAgICAgICBkb25lKCk7CisgICAg
ICAgIH0pLmNhdGNoKGRvbmUpOworICAgIH0pOworCisgICAgaXQoJ3Nob3VsZCBub3QgaW5jbHVk
ZSBhIGJ1aWxkIHJlcXVlc3QgaWYgYWxsIHJlcXVlc3RzIGluIHRoZSBzYW1lIGdyb3VwIGhhZCBi
ZWVuIGNvbXBsZXRlZCcsIGZ1bmN0aW9uIChkb25lKSB7CisgICAgICAgIGxldCBkYiA9IFRlc3RT
ZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAgICAgZGIuY29ubmVjdCgpLnRoZW4oZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgcmV0dXJuIGFkZE1vY2tEYXRhKGRiLCBbJ2NvbXBsZXRlZCcsICdjb21w
bGV0ZWQnLCAnY29tcGxldGVkJywgJ2NvbXBsZXRlZCddKTsKKyAgICAgICAgfSkudGhlbihmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICByZXR1cm4gTWFuaWZlc3QuZmV0Y2goKTsKKyAgICAgICAg
fSkudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICByZXR1cm4gQnVpbGRSZXF1ZXN0LmZl
dGNoRm9yVHJpZ2dlcmFibGUoJ2J1aWxkLXdlYmtpdCcpOworICAgICAgICB9KS50aGVuKGZ1bmN0
aW9uIChidWlsZFJlcXVlc3RzKSB7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1
ZXN0cy5sZW5ndGgsIDApOworICAgICAgICAgICAgZG9uZSgpOworICAgICAgICB9KS5jYXRjaChk
b25lKTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgbm90IGluY2x1ZGUgYSBidWlsZCByZXF1
ZXN0IGlmIGFsbCByZXF1ZXN0cyBpbiB0aGUgc2FtZSBncm91cCBoYWQgYmVlbiBmYWlsZWQgb3Ig
Y2FuY2xlZCcsIGZ1bmN0aW9uIChkb25lKSB7CisgICAgICAgIGxldCBkYiA9IFRlc3RTZXJ2ZXIu
ZGF0YWJhc2UoKTsKKyAgICAgICAgZGIuY29ubmVjdCgpLnRoZW4oZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgcmV0dXJuIGFkZE1vY2tEYXRhKGRiLCBbJ2ZhaWxlZCcsICdmYWlsZWQnLCAnY2Fu
Y2VsZWQnLCAnY2FuY2VsZWQnXSk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgcmV0dXJuIE1hbmlmZXN0LmZldGNoKCk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgcmV0dXJuIEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJh
YmxlKCdidWlsZC13ZWJraXQnKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoYnVpbGRSZXF1
ZXN0cykgeworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHMubGVuZ3RoLCAw
KTsKKyAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgfSkuY2F0Y2goZG9uZSk7CisgICAgfSk7
CisKKyAgICBpdCgnc2hvdWxkIGluY2x1ZGUgYWxsIGJ1aWxkIHJlcXVlc3RzIG9mIGEgdGVzdCBn
cm91cCBpZiBvbmUgb2YgdGhlIHJlcWV1c3RzIGluIHRoZSBncm91cCBoYWQgbm90IGJlZW4gZmlu
aXNoZWQnLCBmdW5jdGlvbiAoZG9uZSkgeworICAgICAgICBsZXQgZGIgPSBUZXN0U2VydmVyLmRh
dGFiYXNlKCk7CisgICAgICAgIGRiLmNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgIHJldHVybiBhZGRNb2NrRGF0YShkYiwgWydjb21wbGV0ZWQnLCAnY29tcGxldGVkJywg
J3NjaGVkdWxlZCcsICdwZW5kaW5nJ10pOworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIHJldHVybiBNYW5pZmVzdC5mZXRjaCgpOworICAgICAgICB9KS50aGVuKGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJldHVybiBCdWlsZFJlcXVlc3QuZmV0Y2hGb3JUcmln
Z2VyYWJsZSgnYnVpbGQtd2Via2l0Jyk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGJ1aWxk
UmVxdWVzdHMpIHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3RzLmxlbmd0
aCwgNCk7CisgICAgICAgICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1swXS5oYXNGaW5pc2hl
ZCgpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayhidWlsZFJlcXVlc3RzWzBdLmhhc1N0YXJ0ZWQo
KSk7CisgICAgICAgICAgICBhc3NlcnQub2soIWJ1aWxkUmVxdWVzdHNbMF0uaXNQZW5kaW5nKCkp
OworICAgICAgICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNbMV0uaGFzRmluaXNoZWQoKSk7
CisgICAgICAgICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1sxXS5oYXNTdGFydGVkKCkpOwor
ICAgICAgICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzFdLmlzUGVuZGluZygpKTsKKyAg
ICAgICAgICAgIGFzc2VydC5vayghYnVpbGRSZXF1ZXN0c1syXS5oYXNGaW5pc2hlZCgpKTsKKyAg
ICAgICAgICAgIGFzc2VydC5vayhidWlsZFJlcXVlc3RzWzJdLmhhc1N0YXJ0ZWQoKSk7CisgICAg
ICAgICAgICBhc3NlcnQub2soIWJ1aWxkUmVxdWVzdHNbMl0uaXNQZW5kaW5nKCkpOworICAgICAg
ICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzNdLmhhc0ZpbmlzaGVkKCkpOworICAgICAg
ICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzNdLmhhc1N0YXJ0ZWQoKSk7CisgICAgICAg
ICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1szXS5pc1BlbmRpbmcoKSk7CisgICAgICAgICAg
ICBkb25lKCk7CisgICAgICAgIH0pLmNhdGNoKGRvbmUpOworICAgIH0pOworCisgICAgaXQoJ3No
b3VsZCBpbmNsdWRlIGFsbCBidWlsZCByZXF1ZXN0cyBvZiBhIHRlc3QgZ3JvdXAgaWYgb25lIG9m
IHRoZSByZXFldXN0cyBpbiB0aGUgZ3JvdXAgaXMgc3RpbGwgcnVubmluZycsIGZ1bmN0aW9uIChk
b25lKSB7CisgICAgICAgIGxldCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKKyAgICAgICAg
ZGIuY29ubmVjdCgpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuIGFkZE1v
Y2tEYXRhKGRiLCBbJ2NvbXBsZXRlZCcsICdjb21wbGV0ZWQnLCAnY29tcGxldGVkJywgJ3J1bm5p
bmcnXSk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJu
IE1hbmlmZXN0LmZldGNoKCk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgcmV0dXJuIEJ1aWxkUmVxdWVzdC5mZXRjaEZvclRyaWdnZXJhYmxlKCdidWlsZC13ZWJr
aXQnKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoYnVpbGRSZXF1ZXN0cykgeworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHMubGVuZ3RoLCA0KTsKKyAgICAgICAgICAg
IGFzc2VydC5vayhidWlsZFJlcXVlc3RzWzBdLmhhc0ZpbmlzaGVkKCkpOworICAgICAgICAgICAg
YXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNbMF0uaGFzU3RhcnRlZCgpKTsKKyAgICAgICAgICAgIGFz
c2VydC5vayghYnVpbGRSZXF1ZXN0c1swXS5pc1BlbmRpbmcoKSk7CisgICAgICAgICAgICBhc3Nl
cnQub2soYnVpbGRSZXF1ZXN0c1sxXS5oYXNGaW5pc2hlZCgpKTsKKyAgICAgICAgICAgIGFzc2Vy
dC5vayhidWlsZFJlcXVlc3RzWzFdLmhhc1N0YXJ0ZWQoKSk7CisgICAgICAgICAgICBhc3NlcnQu
b2soIWJ1aWxkUmVxdWVzdHNbMV0uaXNQZW5kaW5nKCkpOworICAgICAgICAgICAgYXNzZXJ0Lm9r
KGJ1aWxkUmVxdWVzdHNbMl0uaGFzRmluaXNoZWQoKSk7CisgICAgICAgICAgICBhc3NlcnQub2so
YnVpbGRSZXF1ZXN0c1syXS5oYXNTdGFydGVkKCkpOworICAgICAgICAgICAgYXNzZXJ0Lm9rKCFi
dWlsZFJlcXVlc3RzWzJdLmlzUGVuZGluZygpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayghYnVp
bGRSZXF1ZXN0c1szXS5oYXNGaW5pc2hlZCgpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayhidWls
ZFJlcXVlc3RzWzNdLmhhc1N0YXJ0ZWQoKSk7CisgICAgICAgICAgICBhc3NlcnQub2soIWJ1aWxk
UmVxdWVzdHNbM10uaXNQZW5kaW5nKCkpOworICAgICAgICAgICAgZG9uZSgpOworICAgICAgICB9
KS5jYXRjaChkb25lKTsKKyAgICB9KTsKKworICAgIGl0KCdzaG91bGQgb3JkZXIgYnVpbGQgcmVx
dWVzdHMgYmFzZWQgb24gdGVzdCBncm91cCBhbmQgb3JkZXInLCBmdW5jdGlvbiAoZG9uZSkgewor
ICAgICAgICBsZXQgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CisgICAgICAgIGRiLmNvbm5l
Y3QoKS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChb
YWRkTW9ja0RhdGEoZGIpLCBhZGRBbm90aGVyTW9ja1Rlc3RHcm91cChkYildKQorICAgICAgICB9
KS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJldHVybiBNYW5pZmVzdC5mZXRjaCgp
OworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJldHVybiBCdWls
ZFJlcXVlc3QuZmV0Y2hGb3JUcmlnZ2VyYWJsZSgnYnVpbGQtd2Via2l0Jyk7CisgICAgICAgIH0p
LnRoZW4oZnVuY3Rpb24gKGJ1aWxkUmVxdWVzdHMpIHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChidWlsZFJlcXVlc3RzLmxlbmd0aCwgOCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVp
bGRSZXF1ZXN0c1swXS5pZCgpLCA3MTApOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxk
UmVxdWVzdHNbMF0udGVzdEdyb3VwSWQoKSwgNTk5KTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVh
bChidWlsZFJlcXVlc3RzWzFdLmlkKCksIDcxMSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
YnVpbGRSZXF1ZXN0c1sxXS50ZXN0R3JvdXBJZCgpLCA1OTkpOworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKGJ1aWxkUmVxdWVzdHNbMl0uaWQoKSwgNzEyKTsKKyAgICAgICAgICAgIGFzc2VydC5l
cXVhbChidWlsZFJlcXVlc3RzWzJdLnRlc3RHcm91cElkKCksIDU5OSk7CisgICAgICAgICAgICBh
c3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0c1szXS5pZCgpLCA3MTMpOworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHNbM10udGVzdEdyb3VwSWQoKSwgNTk5KTsKKyAgICAgICAg
ICAgIGRvbmUoKTsKKyAgICAgICAgfSkuY2F0Y2goZG9uZSk7CisgICAgfSk7CisKIH0pOwpJbmRl
eDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvdGVzdC1ncm91cHMtdGVzdHMu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvdGVz
dC1ncm91cHMtdGVzdHMuanMJKHJldmlzaW9uIDE5ODgyNikKKysrIFdlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy91bml0LXRlc3RzL3Rlc3QtZ3JvdXBzLXRlc3RzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzksNyArMTM5LDcgQEAgZGVzY3JpYmUoJ1Rlc3RHcm91cCcsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3RzWzBdLm9yZGVyKCksIDApOwogICAg
ICAgICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzBdLmhhc0ZpbmlzaGVkKCkpOwogICAg
ICAgICAgICAgYXNzZXJ0Lm9rKCFidWlsZFJlcXVlc3RzWzBdLmhhc1N0YXJ0ZWQoKSk7Ci0gICAg
ICAgICAgICBhc3NlcnQub2soYnVpbGRSZXF1ZXN0c1swXS5oYXNQZW5kaW5nKCkpOworICAgICAg
ICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVzdHNbMF0uaXNQZW5kaW5nKCkpOwogICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHNbMF0uc3RhdHVzTGFiZWwoKSwgJ1dhaXRpbmcg
dG8gYmUgc2NoZWR1bGVkJyk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRSZXF1ZXN0
c1swXS5idWlsZElkKCksIG51bGwpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVx
dWVzdHNbMF0ucmVzdWx0KCksIG51bGwpOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIGRlc2NyaWJlKCdU
ZXN0R3JvdXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoYnVpbGRS
ZXF1ZXN0c1sxXS5vcmRlcigpLCAxKTsKICAgICAgICAgICAgIGFzc2VydC5vayghYnVpbGRSZXF1
ZXN0c1sxXS5oYXNGaW5pc2hlZCgpKTsKICAgICAgICAgICAgIGFzc2VydC5vayghYnVpbGRSZXF1
ZXN0c1sxXS5oYXNTdGFydGVkKCkpOwotICAgICAgICAgICAgYXNzZXJ0Lm9rKGJ1aWxkUmVxdWVz
dHNbMV0uaGFzUGVuZGluZygpKTsKKyAgICAgICAgICAgIGFzc2VydC5vayhidWlsZFJlcXVlc3Rz
WzFdLmlzUGVuZGluZygpKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3Rz
WzFdLnN0YXR1c0xhYmVsKCksICdXYWl0aW5nIHRvIGJlIHNjaGVkdWxlZCcpOwogICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKGJ1aWxkUmVxdWVzdHNbMV0uYnVpbGRJZCgpLCBudWxsKTsKICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChidWlsZFJlcXVlc3RzWzFdLnJlc3VsdCgpLCBudWxsKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>