<?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>181893</bug_id>
          
          <creation_ts>2018-01-19 17:33:59 -0800</creation_ts>
          <short_desc>Should reject updating a build request which has an associated build.</short_desc>
          <delta_ts>2018-01-21 19:36:55 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>dewei_zhu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1391310</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-19 17:33:59 -0800</bug_when>
    <thetext>Should reject updating a &apos;completed&apos; build request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391364</commentid>
    <comment_count>1</comment_count>
      <attachid>331833</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-19 22:53:38 -0800</bug_when>
    <thetext>Created attachment 331833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391366</commentid>
    <comment_count>2</comment_count>
      <attachid>331833</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-19 22:56:41 -0800</bug_when>
    <thetext>Comment on attachment 331833
Patch

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

&gt; Websites/perf.webkit.org/public/include/report-processor.php:146
&gt; -            if ($this-&gt;db-&gt;update_row(&apos;build_requests&apos;, &apos;request&apos;, array(&apos;id&apos; =&gt; $build_request_id), array(&apos;status&apos; =&gt; &apos;completed&apos;, &apos;build&apos; =&gt; $build_id))
&gt; +            if ($this-&gt;db-&gt;update_row(&apos;build_requests&apos;, &apos;request&apos;, array(&apos;id&apos; =&gt; $build_request_id, &apos;build&apos; =&gt; null), array(&apos;status&apos; =&gt; &apos;completed&apos;, &apos;build&apos; =&gt; $build_id))

We need to this check before build row is created.

&gt; Websites/perf.webkit.org/server-tests/api-report-tests.js:784
&gt; +            assert.equal(response[&apos;status&apos;], &apos;OK&apos;);
&gt; +            return TestServer.remoteAPI().postJSON(&apos;/api/report/&apos;, [anotherReportWithSameBuildRequest]);

As I mentioned, we should check that this didn&apos;t create a new build entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391370</commentid>
    <comment_count>3</comment_count>
      <attachid>331833</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-19 23:18:38 -0800</bug_when>
    <thetext>Comment on attachment 331833
Patch

r- because we shouldn&apos;t be creating zombie build entires in the database.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1391376</commentid>
    <comment_count>4</comment_count>
      <attachid>331836</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-01-20 00:01:59 -0800</bug_when>
    <thetext>Created attachment 331836
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331833</attachid>
            <date>2018-01-19 22:53:38 -0800</date>
            <delta_ts>2018-01-20 00:01:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181893-20180119225337.patch</filename>
            <type>text/plain</type>
            <size>6049</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MjUwCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBhZmZkZDRlZGI3MzRhN2ZhZGI3ZmM2YjAxZmU1MWVkZjcxZGM5Yjk4Li5lZWIzZWFhYjVk
MGU3NmZhZDQ1ZGEyNmE2ZmE1N2RhMDI1NDQyOTQwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wMS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBTaG91bGQgcmVqZWN0IHVwZGF0aW5nIGEgYnVpbGQgcmVx
dWVzdCB3aGljaCBoYXMgYW4gYXNzb2NpYXRlZCBidWlsZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTg5MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnQgY29kZSBkb2VzIG5vdCBwcmV2ZW50
IHN1Ym1pdHRpbmcgdG8gc2FtZSBidWlsZCByZXF1ZXN0IG11bHRpcGxlIHRpbWVzLgorICAgICAg
ICBUaGlzIGNvdWxkIGxlYWQgdG8gYSBidWlsZCBsb3NpbmcgaXRzIGFzc29jaWF0ZWQgYnVpbGQg
cmVxdWVzdC4KKyAgICAgICAgQXMgYSByZXN1bHQsIHRoaXMgYnVpbGQgd2lsbCBiZSB2aXNpYmxl
IGluIGNoYXJ0cyB3aGljaCBpcyBub3QgcmlnaHQuCisgICAgICAgIEFkZGVkIGEgY2hlY2sgd2hl
biBhIGJ1aWxkIHJlcXVlc3QgaXMgcmVwb3J0ZWQuCisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVk
ZS9yZXBvcnQtcHJvY2Vzc29yLnBocDogQWRkIGEgY2hlY2sgdG8gbWFrZSBzdXJlIG9ubHkgYSBi
dWlsZCByZXF1ZXN0CisgICAgICAgIGhhcyBubyBhc3NvY2lhdGVkIGJ1aWxkIGNhbiBiZSB1cGRh
dGVkLgorICAgICAgICAqIHNlcnZlci10ZXN0cy9hcGktcmVwb3J0LXRlc3RzLmpzOiBBZGRlZCB1
bml0IHRlc3RzIGFjY29yZGluZ2x5LgorCiAyMDE4LTAxLTE4ICBEZXdlaSBaaHUgIDxkZXdlaV96
aHVAYXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCBhbGxvdyB1cGRhdGluZyBhIGJ1aWxkLXJl
cXVlc3QgdG8gJ2NhbmNlbGVkJy4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvaW5jbHVkZS9yZXBvcnQtcHJvY2Vzc29yLnBocCBiL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9yZXBvcnQtcHJvY2Vzc29yLnBocAppbmRleCBjYTFhMDMx
YmU4ZWY0NzY3ZjVkMWUzMmNjZTNmZWNlNTZhYWIzMTNkLi40NWFiYjczZWE3NmMyNjkwZGI1OGFh
MmZhY2E2MmNkNWVlNzAyNGY1IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL2luY2x1ZGUvcmVwb3J0LXByb2Nlc3Nvci5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL3JlcG9ydC1wcm9jZXNzb3IucGhwCkBAIC0xNDMsNyAr
MTQzLDcgQEAgY2xhc3MgUmVwb3J0UHJvY2Vzc29yIHsKICAgICAgICAgICAgICR0aGlzLT5leGl0
X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvSW5zZXJ0QnVpbGQnLCAkYnVpbGRfZGF0YSk7CiAKICAgICAg
ICAgaWYgKCRidWlsZF9yZXF1ZXN0X2lkKSB7Ci0gICAgICAgICAgICBpZiAoJHRoaXMtPmRiLT51
cGRhdGVfcm93KCdidWlsZF9yZXF1ZXN0cycsICdyZXF1ZXN0JywgYXJyYXkoJ2lkJyA9PiAkYnVp
bGRfcmVxdWVzdF9pZCksIGFycmF5KCdzdGF0dXMnID0+ICdjb21wbGV0ZWQnLCAnYnVpbGQnID0+
ICRidWlsZF9pZCkpCisgICAgICAgICAgICBpZiAoJHRoaXMtPmRiLT51cGRhdGVfcm93KCdidWls
ZF9yZXF1ZXN0cycsICdyZXF1ZXN0JywgYXJyYXkoJ2lkJyA9PiAkYnVpbGRfcmVxdWVzdF9pZCwg
J2J1aWxkJyA9PiBudWxsKSwgYXJyYXkoJ3N0YXR1cycgPT4gJ2NvbXBsZXRlZCcsICdidWlsZCcg
PT4gJGJ1aWxkX2lkKSkKICAgICAgICAgICAgICAgICAhPSAkYnVpbGRfcmVxdWVzdF9pZCkKICAg
ICAgICAgICAgICAgICAkdGhpcy0+ZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb1VwZGF0ZUJ1aWxk
UmVxdWVzdCcsIGFycmF5KCdidWlsZFJlcXVlc3QnID0+ICRidWlsZF9yZXF1ZXN0X2lkLCAnYnVp
bGQnID0+ICRidWlsZF9pZCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQtdGVzdHMuanMgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQtdGVzdHMuanMKaW5kZXggMWEy
ZWVmMzY1NDk4YjUzMzZiZWQ3OTkwYjY2YzI1ZDJkMDY0OWJjZi4uYmFjZGEzNjM2M2Y5NmJkZTg2
OWFiZmEyMjQxYWY0MDI4NzM5YjdlZiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3NlcnZlci10ZXN0cy9hcGktcmVwb3J0LXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXJlcG9ydC10ZXN0cy5qcwpAQCAtNiw2ICs2LDcg
QEAgY29uc3QgVGVzdFNlcnZlciA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL3Rlc3Qtc2VydmVyLmpz
Jyk7CiBjb25zdCBhZGRCdWlsZGVyRm9yUmVwb3J0ID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvY29t
bW9uLW9wZXJhdGlvbnMuanMnKS5hZGRCdWlsZGVyRm9yUmVwb3J0OwogY29uc3QgYWRkU2xhdmVG
b3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLmFk
ZFNsYXZlRm9yUmVwb3J0OwogY29uc3QgcHJlcGFyZVNlcnZlclRlc3QgPSByZXF1aXJlKCcuL3Jl
c291cmNlcy9jb21tb24tb3BlcmF0aW9ucy5qcycpLnByZXBhcmVTZXJ2ZXJUZXN0OworY29uc3Qg
TW9ja0RhdGEgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9tb2NrLWRhdGEuanMnKTsKIAogZGVzY3Jp
YmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkgewogICAgIHByZXBhcmVTZXJ2ZXJUZXN0KHRo
aXMpOwpAQCAtMzc3LDcgKzM3OCw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydCIsIGZ1bmN0aW9u
ICgpIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfX07CiAKLSAgICBmdW5jdGlvbiByZXBvcnRB
ZnRlckFkZGluZ0J1aWxkZXJBbmRBZ2dyZWdhdG9ycyhyZXBvcnQpCisgICAgZnVuY3Rpb24gcmVw
b3J0QWZ0ZXJBZGRpbmdCdWlsZGVyQW5kQWdncmVnYXRvcnNXaXRoUmVzcG9uc2UocmVwb3J0KQog
ICAgIHsKICAgICAgICAgcmV0dXJuIGFkZEJ1aWxkZXJGb3JSZXBvcnQocmVwb3J0KS50aGVuKCgp
ID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwpAQCAt
Mzg1LDkgKzM4NiwxMiBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQiLCBmdW5jdGlvbiAoKSB7CiAg
ICAgICAgICAgICAgICAgZGIuaW5zZXJ0KCdhZ2dyZWdhdG9ycycsIHtuYW1lOiAnQXJpdGhtZXRp
Yyd9KSwKICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ2FnZ3JlZ2F0b3JzJywge25hbWU6ICdH
ZW9tZXRyaWMnfSksCiAgICAgICAgICAgICBdKTsKLSAgICAgICAgfSkudGhlbigoKSA9PiB7Ci0g
ICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9y
ZXBvcnQvJywgW3JlcG9ydF0pOwotICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4geworICAg
ICAgICB9KS50aGVuKCgpID0+IFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkv
cmVwb3J0LycsIFtyZXBvcnRdKSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmVwb3J0QWZ0ZXJB
ZGRpbmdCdWlsZGVyQW5kQWdncmVnYXRvcnMocmVwb3J0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHJlcG9ydEFmdGVyQWRkaW5nQnVpbGRlckFuZEFnZ3JlZ2F0b3JzV2l0aFJlc3BvbnNlKHJlcG9y
dCkudGhlbigocmVzcG9uc2UpID0+IHsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25z
ZVsnc3RhdHVzJ10sICdPSycpOwogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydm
YWlsdXJlU3RvcmVkJ10sIGZhbHNlKTsKICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTsKQEAg
LTczNSw0ICs3MzksNTIgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rpb24gKCkgewog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0pOworCisgICAgY29uc3QgcmVwb3J0
V2l0aEJ1aWxkUmVxdWVzdCA9IHsKKyAgICAgICAgImJ1aWxkTnVtYmVyIjogIjEyMyIsCisgICAg
ICAgICJidWlsZFRpbWUiOiAiMjAxMy0wMi0yOFQxMDoxMjowMy4zODgzMDQiLAorICAgICAgICAi
YnVpbGRlck5hbWUiOiAic29tZUJ1aWxkZXIiLAorICAgICAgICAiYnVpbGRlclBhc3N3b3JkIjog
InNvbWVQYXNzd29yZCIsCisgICAgICAgICJwbGF0Zm9ybSI6ICJNb3VudGFpbiBMaW9uIiwKKyAg
ICAgICAgImJ1aWxkUmVxdWVzdCI6ICI3MDAiLAorICAgICAgICAidGVzdHMiOiB7CisgICAgICAg
ICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICAgICAibWV0cmljcyI6IHsiRnJhbWVSYXRlIjog
eyAiY3VycmVudCI6IFtbWzAsIDRdLCBbMTAwLCA1XSwgWzIwNSwgM11dXSB9fQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgfSwKKyAgICB9OworCisgICAgY29uc3QgYW5vdGhlclJlcG9ydFdpdGhT
YW1lQnVpbGRSZXF1ZXN0ID0geworICAgICAgICAiYnVpbGROdW1iZXIiOiAiMTI0IiwKKyAgICAg
ICAgImJ1aWxkVGltZSI6ICIyMDEzLTAyLTI4VDEwOjEyOjAzLjM4ODMwNCIsCisgICAgICAgICJi
dWlsZGVyTmFtZSI6ICJzb21lQnVpbGRlciIsCisgICAgICAgICJidWlsZGVyUGFzc3dvcmQiOiAi
c29tZVBhc3N3b3JkIiwKKyAgICAgICAgInBsYXRmb3JtIjogIk1vdW50YWluIExpb24iLAorICAg
ICAgICAiYnVpbGRSZXF1ZXN0IjogIjcwMCIsCisgICAgICAgICJ0ZXN0cyI6IHsKKyAgICAgICAg
ICAgICJ0ZXN0IjogeworICAgICAgICAgICAgICAgICJtZXRyaWNzIjogeyJGcmFtZVJhdGUiOiB7
ICJjdXJyZW50IjogW1tbMCwgNF0sIFsxMDAsIDVdLCBbMjA1LCAzXV1dIH19CisgICAgICAgICAg
ICB9LAorICAgICAgICB9LAorICAgIH07CisKKyAgICBpdCgic2hvdWxkIGFsbG93IHRvIHJlcG9y
dCBhIGJ1aWxkIHJlcXVlc3QiLCAoKSA9PiB7CisgICAgICAgIHJldHVybiBNb2NrRGF0YS5hZGRN
b2NrRGF0YShUZXN0U2VydmVyLmRhdGFiYXNlKCkpLnRoZW4oKCkgPT4geworICAgICAgICAgICAg
cmV0dXJuIHJlcG9ydEFmdGVyQWRkaW5nQnVpbGRlckFuZEFnZ3JlZ2F0b3JzV2l0aFJlc3BvbnNl
KHJlcG9ydFdpdGhCdWlsZFJlcXVlc3QpOworICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4g
eworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09LJyk7Cisg
ICAgICAgIH0pOworICAgIH0pOworCisgICAgaXQoInNob3VsZCByZWplY3QgdGhlIHJlcG9ydCBp
ZiB0aGUgYnVpbGQgcmVxdWVzdCBpbiB0aGUgcmVwb3J0IGhhcyBhbiBleGlzdGluZyBhc3NvY2lh
dGVkIGJ1aWxkIiwgKCkgPT4geworICAgICAgICByZXR1cm4gTW9ja0RhdGEuYWRkTW9ja0RhdGEo
VGVzdFNlcnZlci5kYXRhYmFzZSgpKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBy
ZXBvcnRBZnRlckFkZGluZ0J1aWxkZXJBbmRBZ2dyZWdhdG9yc1dpdGhSZXNwb25zZShyZXBvcnRX
aXRoQnVpbGRSZXF1ZXN0KTsKKyAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVzJ10sICdPSycpOworICAgICAgICAg
ICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJKCkucG9zdEpTT04oJy9hcGkvcmVwb3J0Lycs
IFthbm90aGVyUmVwb3J0V2l0aFNhbWVCdWlsZFJlcXVlc3RdKTsKKyAgICAgICAgfSkudGhlbigo
cmVzcG9uc2UpID0+IHsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZVsnc3RhdHVz
J10sICdGYWlsZWRUb1VwZGF0ZUJ1aWxkUmVxdWVzdCcpOworICAgICAgICB9KTsKKyAgICB9KTsK
KwogfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331836</attachid>
            <date>2018-01-20 00:01:59 -0800</date>
            <delta_ts>2018-01-21 19:36:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181893-20180120000158.patch</filename>
            <type>text/plain</type>
            <size>12163</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MjUwCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBhZmZkZDRlZGI3MzRhN2ZhZGI3ZmM2YjAxZmU1MWVkZjcxZGM5Yjk4Li44ZGM0MDM5NTk4
N2Q1MDYzZWEyMmM3ZWY0NDkyMWI1YjA0NDA2NjI2IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0wMS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBTaG91bGQgcmVqZWN0IHVwZGF0aW5nIGEgYnVpbGQgcmVx
dWVzdCB3aGljaCBoYXMgYW4gYXNzb2NpYXRlZCBidWlsZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTg5MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnQgY29kZSBkb2VzIG5vdCBwcmV2ZW50
IHN1Ym1pdHRpbmcgdG8gc2FtZSBidWlsZCByZXF1ZXN0IG11bHRpcGxlIHRpbWVzLgorICAgICAg
ICBUaGlzIGNvdWxkIGxlYWQgdG8gYSBidWlsZCBsb3NpbmcgaXRzIGFzc29jaWF0ZWQgYnVpbGQg
cmVxdWVzdC4KKyAgICAgICAgQXMgYSByZXN1bHQsIHRoaXMgYnVpbGQgd2lsbCBiZSB2aXNpYmxl
IGluIGNoYXJ0cyB3aGljaCBpcyBub3QgcmlnaHQuCisgICAgICAgIEFkZGVkIGEgY2hlY2sgd2hl
biBhIGJ1aWxkIHJlcXVlc3QgaXMgcmVwb3J0ZWQuCisgICAgICAgIEFkZHJlc3NlZCBhICdGSVhN
RScgZm9yIHRoZSByYWNlIGNvbmRpdGlvbiBpbnNpZGUgUmVwb3J0UHJvY2Vzc29yLT5yZXNvbHZl
X2J1aWxkX2lkIGJ5IHN1cnJvdW5kaW5nCisgICAgICAgIGl0IHdpdGggYSBkYXRhYmFzZSB0cmFu
c2FjdGlvbi4KKworICAgICAgICAqIHB1YmxpYy9pbmNsdWRlL3JlcG9ydC1wcm9jZXNzb3IucGhw
OgorICAgICAgICBXcmFwIGFkZGluZyBwbGF0Zm9ybSBhbmQgcmVzb2x2ZV9idWlsZF9pZCB3aXRo
IGEgZGF0YWJhc2UgdHJhbnNhY3Rpb24uCisgICAgICAgIEFkZCBhIGNoZWNrIHRvIG1ha2Ugc3Vy
ZSBvbmx5IGEgYnVpbGQgcmVxdWVzdCBoYXMgbm8gYXNzb2NpYXRlZCBidWlsZCBjYW4gYmUgdXBk
YXRlZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvYXBpLXJlcG9ydC10ZXN0cy5qczogQWRkZWQg
dW5pdCB0ZXN0cyBhY2NvcmRpbmdseS4KKwogMjAxOC0wMS0xOCAgRGV3ZWkgWmh1ICA8ZGV3ZWlf
emh1QGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgYWxsb3cgdXBkYXRpbmcgYSBidWlsZC1y
ZXF1ZXN0IHRvICdjYW5jZWxlZCcuCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2luY2x1ZGUvcmVwb3J0LXByb2Nlc3Nvci5waHAgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL2luY2x1ZGUvcmVwb3J0LXByb2Nlc3Nvci5waHAKaW5kZXggY2ExYTAz
MWJlOGVmNDc2N2Y1ZDFlMzJjY2UzZmVjZTU2YWFiMzEzZC4uZjM2ZDk0YTUzMjI3YzBkYWRkZjBi
MmQ5OTNjMjk5YjY4MDUyM2VmNiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy9pbmNsdWRlL3JlcG9ydC1wcm9jZXNzb3IucGhwCisrKyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9yZXBvcnQtcHJvY2Vzc29yLnBocApAQCAtNDQsMTQg
KzQ0LDE4IEBAIGNsYXNzIFJlcG9ydFByb2Nlc3NvciB7CiAgICAgICAgICR0aGlzLT5ydW5zLT5h
Z2dyZWdhdGUoKTsKICAgICAgICAgJHRoaXMtPnJ1bnMtPmNvbXB1dGVfY2FjaGVzKCk7CiAKKyAg
ICAgICAgJHRoaXMtPmRiLT5iZWdpbl90cmFuc2FjdGlvbigpIG9yICR0aGlzLT5leGl0X3dpdGhf
ZXJyb3IoJ0ZhaWxlZFRvQmVnaW5UcmFuc2FjdGlvbicpOworCiAgICAgICAgICRwbGF0Zm9ybV9p
ZCA9ICR0aGlzLT5kYi0+c2VsZWN0X29yX2luc2VydF9yb3coJ3BsYXRmb3JtcycsICdwbGF0Zm9y
bScsIGFycmF5KCduYW1lJyA9PiAkcmVwb3J0WydwbGF0Zm9ybSddKSk7CiAgICAgICAgIGlmICgh
JHBsYXRmb3JtX2lkKQotICAgICAgICAgICAgJHRoaXMtPmV4aXRfd2l0aF9lcnJvcignRmFpbGVk
VG9JbnNlcnRQbGF0Zm9ybScsIGFycmF5KCduYW1lJyA9PiAkcmVwb3J0WydwbGF0Zm9ybSddKSk7
CisgICAgICAgICAgICAkdGhpcy0+cm9sbGJhY2tfd2l0aF9lcnJvcignRmFpbGVkVG9JbnNlcnRQ
bGF0Zm9ybScsIGFycmF5KCduYW1lJyA9PiAkcmVwb3J0WydwbGF0Zm9ybSddKSk7CiAKICAgICAg
ICAgLy8gRklYTUU6IERlcHJlY2F0ZSBhbmQgdW5zdXBwb3J0ICJqb2JJZCIuCiAgICAgICAgICRi
dWlsZF9pZCA9ICR0aGlzLT5yZXNvbHZlX2J1aWxkX2lkKCRidWlsZF9kYXRhLCBhcnJheV9nZXQo
JHJlcG9ydCwgJ3JldmlzaW9ucycsIGFycmF5KCkpLAogICAgICAgICAgICAgYXJyYXlfZ2V0KCRy
ZXBvcnQsICdqb2JJZCcsIGFycmF5X2dldCgkcmVwb3J0LCAnYnVpbGRSZXF1ZXN0JykpKTsKIAor
ICAgICAgICAkdGhpcy0+ZGItPmNvbW1pdF90cmFuc2FjdGlvbigpIG9yICR0aGlzLT5leGl0X3dp
dGhfZXJyb3IoJ0ZhaWxlZFRvQ29tbWl0VHJhbnNhY3Rpb24nKTsKKwogICAgICAgICAkdGhpcy0+
cnVucy0+Y29tbWl0KCRwbGF0Zm9ybV9pZCwgJGJ1aWxkX2lkKTsKICAgICB9CiAKQEAgLTEyOCwz
MSArMTMyLDMxIEBAIGNsYXNzIFJlcG9ydFByb2Nlc3NvciB7CiAgICAgfQogCiAgICAgcHJpdmF0
ZSBmdW5jdGlvbiByZXNvbHZlX2J1aWxkX2lkKCYkYnVpbGRfZGF0YSwgJHJldmlzaW9ucywgJGJ1
aWxkX3JlcXVlc3RfaWQpIHsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBoYXMgYSByYWNl
IGNvbmRpdGlvbi4gU2VlIDxyZGFyOi8vcHJvYmxlbS8xNTg3NjMwMz4uCiAgICAgICAgICRyZXN1
bHRzID0gJHRoaXMtPmRiLT5xdWVyeV9hbmRfZmV0Y2hfYWxsKCJTRUxFQ1QgYnVpbGRfaWQsIGJ1
aWxkX3NsYXZlIEZST00gYnVpbGRzCiAgICAgICAgICAgICBXSEVSRSBidWlsZF9idWlsZGVyID0g
JDEgQU5EIGJ1aWxkX251bWJlciA9ICQyIEFORCBidWlsZF90aW1lIDw9ICQzIEFORCBidWlsZF90
aW1lICsgaW50ZXJ2YWwgJzEgZGF5JyA+ICQzIExJTUlUIDIiLAogICAgICAgICAgICAgYXJyYXko
JGJ1aWxkX2RhdGFbJ2J1aWxkZXInXSwgJGJ1aWxkX2RhdGFbJ251bWJlciddLCAkYnVpbGRfZGF0
YVsndGltZSddKSk7CiAgICAgICAgIGlmICgkcmVzdWx0cykgewogICAgICAgICAgICAgJGZpcnN0
X3Jlc3VsdCA9ICRyZXN1bHRzWzBdOwogICAgICAgICAgICAgaWYgKCRmaXJzdF9yZXN1bHRbJ2J1
aWxkX3NsYXZlJ10gIT0gJGJ1aWxkX2RhdGFbJ3NsYXZlJ10pCi0gICAgICAgICAgICAgICAgJHRo
aXMtPmV4aXRfd2l0aF9lcnJvcignTWlzbWF0Y2hpbmdCdWlsZFNsYXZlJywgYXJyYXkoJ3N0b3Jl
ZEJ1aWxkJyA9PiAkcmVzdWx0cywgJ3JlcG9ydGVkQnVpbGREYXRhJyA9PiAkYnVpbGRfZGF0YSkp
OworICAgICAgICAgICAgICAgICR0aGlzLT5yb2xsYmFja193aXRoX2Vycm9yKCdNaXNtYXRjaGlu
Z0J1aWxkU2xhdmUnLCBhcnJheSgnc3RvcmVkQnVpbGQnID0+ICRyZXN1bHRzLCAncmVwb3J0ZWRC
dWlsZERhdGEnID0+ICRidWlsZF9kYXRhKSk7CiAgICAgICAgICAgICAkYnVpbGRfaWQgPSAkZmly
c3RfcmVzdWx0WydidWlsZF9pZCddOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICRidWls
ZF9pZCA9ICR0aGlzLT5kYi0+aW5zZXJ0X3JvdygnYnVpbGRzJywgJ2J1aWxkJywgJGJ1aWxkX2Rh
dGEpOworCiAgICAgICAgIGlmICghJGJ1aWxkX2lkKQotICAgICAgICAgICAgJHRoaXMtPmV4aXRf
d2l0aF9lcnJvcignRmFpbGVkVG9JbnNlcnRCdWlsZCcsICRidWlsZF9kYXRhKTsKKyAgICAgICAg
ICAgICR0aGlzLT5yb2xsYmFja193aXRoX2Vycm9yKCdGYWlsZWRUb0luc2VydEJ1aWxkJywgJGJ1
aWxkX2RhdGEpOwogCiAgICAgICAgIGlmICgkYnVpbGRfcmVxdWVzdF9pZCkgewotICAgICAgICAg
ICAgaWYgKCR0aGlzLT5kYi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVzdCcs
IGFycmF5KCdpZCcgPT4gJGJ1aWxkX3JlcXVlc3RfaWQpLCBhcnJheSgnc3RhdHVzJyA9PiAnY29t
cGxldGVkJywgJ2J1aWxkJyA9PiAkYnVpbGRfaWQpKQorICAgICAgICAgICAgaWYgKCR0aGlzLT5k
Yi0+dXBkYXRlX3JvdygnYnVpbGRfcmVxdWVzdHMnLCAncmVxdWVzdCcsIGFycmF5KCdpZCcgPT4g
JGJ1aWxkX3JlcXVlc3RfaWQsICdidWlsZCcgPT4gbnVsbCksIGFycmF5KCdzdGF0dXMnID0+ICdj
b21wbGV0ZWQnLCAnYnVpbGQnID0+ICRidWlsZF9pZCkpCiAgICAgICAgICAgICAgICAgIT0gJGJ1
aWxkX3JlcXVlc3RfaWQpCi0gICAgICAgICAgICAgICAgJHRoaXMtPmV4aXRfd2l0aF9lcnJvcign
RmFpbGVkVG9VcGRhdGVCdWlsZFJlcXVlc3QnLCBhcnJheSgnYnVpbGRSZXF1ZXN0JyA9PiAkYnVp
bGRfcmVxdWVzdF9pZCwgJ2J1aWxkJyA9PiAkYnVpbGRfaWQpKTsKKyAgICAgICAgICAgICAgICAk
dGhpcy0+cm9sbGJhY2tfd2l0aF9lcnJvcignRmFpbGVkVG9VcGRhdGVCdWlsZFJlcXVlc3QnLCBh
cnJheSgnYnVpbGRSZXF1ZXN0JyA9PiAkYnVpbGRfcmVxdWVzdF9pZCwgJ2J1aWxkJyA9PiAkYnVp
bGRfaWQpKTsKICAgICAgICAgfQogCiAKICAgICAgICAgZm9yZWFjaCAoJHJldmlzaW9ucyBhcyAk
cmVwb3NpdG9yeV9uYW1lID0+ICRyZXZpc2lvbl9kYXRhKSB7CiAgICAgICAgICAgICAkcmVwb3Np
dG9yeV9pZCA9ICR0aGlzLT5kYi0+c2VsZWN0X29yX2luc2VydF9yb3coJ3JlcG9zaXRvcmllcycs
ICdyZXBvc2l0b3J5JywgYXJyYXkoJ25hbWUnID0+ICRyZXBvc2l0b3J5X25hbWUsICdvd25lcicg
PT4gTlVMTCkpOwogICAgICAgICAgICAgaWYgKCEkcmVwb3NpdG9yeV9pZCkKLSAgICAgICAgICAg
ICAgICAkdGhpcy0+ZXhpdF93aXRoX2Vycm9yKCdGYWlsZWRUb0luc2VydFJlcG9zaXRvcnknLCBh
cnJheSgnbmFtZScgPT4gJHJlcG9zaXRvcnlfbmFtZSkpOworICAgICAgICAgICAgICAgICR0aGlz
LT5yb2xsYmFja193aXRoX2Vycm9yKCdGYWlsZWRUb0luc2VydFJlcG9zaXRvcnknLCBhcnJheSgn
bmFtZScgPT4gJHJlcG9zaXRvcnlfbmFtZSkpOwogCiAgICAgICAgICAgICAkY29tbWl0X2RhdGEg
PSBhcnJheSgncmVwb3NpdG9yeScgPT4gJHJlcG9zaXRvcnlfaWQsICdyZXZpc2lvbicgPT4gJHJl
dmlzaW9uX2RhdGFbJ3JldmlzaW9uJ10sICd0aW1lJyA9PiBhcnJheV9nZXQoJHJldmlzaW9uX2Rh
dGEsICd0aW1lc3RhbXAnKSk7CiAKQEAgLTE2MCwyMyArMTY0LDI4IEBAIGNsYXNzIFJlcG9ydFBy
b2Nlc3NvciB7CiAgICAgICAgICAgICAgICAgV0hFUkUgYnVpbGRfY29tbWl0ID0gY29tbWl0X2lk
IEFORCBjb21taXRfYnVpbGQgPSAkMSBBTkQgY29tbWl0X3JlcG9zaXRvcnkgPSAkMiBBTkQgY29t
bWl0X3JldmlzaW9uICE9ICQzIExJTUlUIDEnLAogICAgICAgICAgICAgICAgIGFycmF5KCRidWls
ZF9pZCwgJHJlcG9zaXRvcnlfaWQsICRyZXZpc2lvbl9kYXRhWydyZXZpc2lvbiddKSk7CiAgICAg
ICAgICAgICBpZiAoJG1pc21hdGNoaW5nX2NvbW1pdCkKLSAgICAgICAgICAgICAgICAkdGhpcy0+
ZXhpdF93aXRoX2Vycm9yKCdNaXNtYXRjaGluZ0NvbW1pdFJldmlzaW9uJywgYXJyYXkoJ2J1aWxk
JyA9PiAkYnVpbGRfaWQsICdleGlzdGluZycgPT4gJG1pc21hdGNoaW5nX2NvbW1pdCwgJ25ldycg
PT4gJGNvbW1pdF9kYXRhKSk7CisgICAgICAgICAgICAgICAgJHRoaXMtPnJvbGxiYWNrX3dpdGhf
ZXJyb3IoJ01pc21hdGNoaW5nQ29tbWl0UmV2aXNpb24nLCBhcnJheSgnYnVpbGQnID0+ICRidWls
ZF9pZCwgJ2V4aXN0aW5nJyA9PiAkbWlzbWF0Y2hpbmdfY29tbWl0LCAnbmV3JyA9PiAkY29tbWl0
X2RhdGEpKTsKIAogICAgICAgICAgICAgJGNvbW1pdF9yb3cgPSAkdGhpcy0+ZGItPnNlbGVjdF9v
cl9pbnNlcnRfcm93KCdjb21taXRzJywgJ2NvbW1pdCcsCiAgICAgICAgICAgICAgICAgYXJyYXko
J3JlcG9zaXRvcnknID0+ICRyZXBvc2l0b3J5X2lkLCAncmV2aXNpb24nID0+ICRyZXZpc2lvbl9k
YXRhWydyZXZpc2lvbiddKSwgJGNvbW1pdF9kYXRhLCAnKicpOwogICAgICAgICAgICAgaWYgKCEk
Y29tbWl0X3JvdykKLSAgICAgICAgICAgICAgICAkdGhpcy0+ZXhpdF93aXRoX2Vycm9yKCdGYWls
ZWRUb1JlY29yZENvbW1pdCcsICRjb21taXRfZGF0YSk7CisgICAgICAgICAgICAgICAgJHRoaXMt
PnJvbGxiYWNrX3dpdGhfZXJyb3IoJ0ZhaWxlZFRvUmVjb3JkQ29tbWl0JywgJGNvbW1pdF9kYXRh
KTsKICAgICAgICAgICAgIGlmICgkY29tbWl0X2RhdGFbJ3RpbWUnXSAmJiBhYnMoZmxvYXR2YWwo
JGNvbW1pdF9yb3dbJ2NvbW1pdF90aW1lJ10pIC0gZmxvYXR2YWwoJGNvbW1pdF9kYXRhWyd0aW1l
J10pKSA+IDEuMCkKLSAgICAgICAgICAgICAgICAkdGhpcy0+ZXhpdF93aXRoX2Vycm9yKCdNaXNt
YXRjaGluZ0NvbW1pdFRpbWUnLCBhcnJheSgnZXhpc3RpbmcnID0+ICRjb21taXRfcm93LCAnbmV3
JyA9PiAkY29tbWl0X2RhdGEpKTsKKyAgICAgICAgICAgICAgICAkdGhpcy0+cm9sbGJhY2tfd2l0
aF9lcnJvcignTWlzbWF0Y2hpbmdDb21taXRUaW1lJywgYXJyYXkoJ2V4aXN0aW5nJyA9PiAkY29t
bWl0X3JvdywgJ25ldycgPT4gJGNvbW1pdF9kYXRhKSk7CiAKICAgICAgICAgICAgIGlmICghJHRo
aXMtPmRiLT5zZWxlY3Rfb3JfaW5zZXJ0X3JvdygnYnVpbGRfY29tbWl0cycsIG51bGwsCiAgICAg
ICAgICAgICAgICAgYXJyYXkoJ2NvbW1pdF9idWlsZCcgPT4gJGJ1aWxkX2lkLCAnYnVpbGRfY29t
bWl0JyA9PiAkY29tbWl0X3Jvd1snY29tbWl0X2lkJ10pLCBudWxsLCAnKicpKQotICAgICAgICAg
ICAgICAgICR0aGlzLT5leGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvUmVsYXRlQ29tbWl0VG9CdWls
ZCcsIGFycmF5KCdjb21taXQnID0+ICRjb21taXRfcm93LCAnYnVpbGQnID0+ICRidWlsZF9pZCkp
OworICAgICAgICAgICAgICAgICR0aGlzLT5yb2xsYmFja193aXRoX2Vycm9yKCdGYWlsZWRUb1Jl
bGF0ZUNvbW1pdFRvQnVpbGQnLCBhcnJheSgnY29tbWl0JyA9PiAkY29tbWl0X3JvdywgJ2J1aWxk
JyA9PiAkYnVpbGRfaWQpKTsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiAkYnVpbGRfaWQ7
CiAgICAgfQogCisgICAgcHJpdmF0ZSBmdW5jdGlvbiByb2xsYmFja193aXRoX2Vycm9yKCRtZXNz
YWdlLCAkZGV0YWlscykgeworICAgICAgICAkdGhpcy0+ZGItPnJvbGxiYWNrX3RyYW5zYWN0aW9u
KCk7CisgICAgICAgICR0aGlzLT5leGl0X3dpdGhfZXJyb3IoJG1lc3NhZ2UsICRkZXRhaWxzKTsK
KyAgICB9CisKICAgICBwcml2YXRlIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5X2Vuc3VyZV90ZXN0cygm
JHRlc3RzLCAkcGFyZW50X2lkID0gTlVMTCwgJGxldmVsID0gMCkgewogICAgICAgICBmb3JlYWNo
ICgkdGVzdHMgYXMgJHRlc3RfbmFtZSA9PiAkdGVzdCkgewogICAgICAgICAgICAgJHRlc3RfaWQg
PSAkdGhpcy0+ZGItPnNlbGVjdF9vcl9pbnNlcnRfcm93KCd0ZXN0cycsICd0ZXN0JywgJHBhcmVu
dF9pZCA/IGFycmF5KCduYW1lJyA9PiAkdGVzdF9uYW1lLCAncGFyZW50JyA9PiAkcGFyZW50X2lk
KSA6IGFycmF5KCduYW1lJyA9PiAkdGVzdF9uYW1lKSwKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXJlcG9ydC10ZXN0cy5qcyBiL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVzdHMvYXBpLXJlcG9ydC10ZXN0cy5qcwppbmRleCAx
YTJlZWYzNjU0OThiNTMzNmJlZDc5OTBiNjZjMjVkMmQwNjQ5YmNmLi4zYjQwZDQ1MGFiZTBlNDM2
ZjMyMzcxNzAyNjQ4YmUzNjdhYzliMzc4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktcmVwb3J0LXRlc3RzLmpzCkBAIC02LDYgKzYs
NyBAQCBjb25zdCBUZXN0U2VydmVyID0gcmVxdWlyZSgnLi9yZXNvdXJjZXMvdGVzdC1zZXJ2ZXIu
anMnKTsKIGNvbnN0IGFkZEJ1aWxkZXJGb3JSZXBvcnQgPSByZXF1aXJlKCcuL3Jlc291cmNlcy9j
b21tb24tb3BlcmF0aW9ucy5qcycpLmFkZEJ1aWxkZXJGb3JSZXBvcnQ7CiBjb25zdCBhZGRTbGF2
ZUZvclJlcG9ydCA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJyku
YWRkU2xhdmVGb3JSZXBvcnQ7CiBjb25zdCBwcmVwYXJlU2VydmVyVGVzdCA9IHJlcXVpcmUoJy4v
cmVzb3VyY2VzL2NvbW1vbi1vcGVyYXRpb25zLmpzJykucHJlcGFyZVNlcnZlclRlc3Q7Citjb25z
dCBNb2NrRGF0YSA9IHJlcXVpcmUoJy4vcmVzb3VyY2VzL21vY2stZGF0YS5qcycpOwogCiBkZXNj
cmliZSgiL2FwaS9yZXBvcnQiLCBmdW5jdGlvbiAoKSB7CiAgICAgcHJlcGFyZVNlcnZlclRlc3Qo
dGhpcyk7CkBAIC0zNzcsNyArMzc4LDcgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0IiwgZnVuY3Rp
b24gKCkgewogICAgICAgICAgICAgfQogICAgICAgICB9fTsKIAotICAgIGZ1bmN0aW9uIHJlcG9y
dEFmdGVyQWRkaW5nQnVpbGRlckFuZEFnZ3JlZ2F0b3JzKHJlcG9ydCkKKyAgICBmdW5jdGlvbiBy
ZXBvcnRBZnRlckFkZGluZ0J1aWxkZXJBbmRBZ2dyZWdhdG9yc1dpdGhSZXNwb25zZShyZXBvcnQp
CiAgICAgewogICAgICAgICByZXR1cm4gYWRkQnVpbGRlckZvclJlcG9ydChyZXBvcnQpLnRoZW4o
KCkgPT4gewogICAgICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CkBA
IC0zODUsOSArMzg2LDEyIEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydCIsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgICAgICBkYi5pbnNlcnQoJ2FnZ3JlZ2F0b3JzJywge25hbWU6ICdBcml0aG1l
dGljJ30pLAogICAgICAgICAgICAgICAgIGRiLmluc2VydCgnYWdncmVnYXRvcnMnLCB7bmFtZTog
J0dlb21ldHJpYyd9KSwKICAgICAgICAgICAgIF0pOwotICAgICAgICB9KS50aGVuKCgpID0+IHsK
LSAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBp
L3JlcG9ydC8nLCBbcmVwb3J0XSk7Ci0gICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7Cisg
ICAgICAgIH0pLnRoZW4oKCkgPT4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2Fw
aS9yZXBvcnQvJywgW3JlcG9ydF0pKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByZXBvcnRBZnRl
ckFkZGluZ0J1aWxkZXJBbmRBZ2dyZWdhdG9ycyhyZXBvcnQpCisgICAgeworICAgICAgICByZXR1
cm4gcmVwb3J0QWZ0ZXJBZGRpbmdCdWlsZGVyQW5kQWdncmVnYXRvcnNXaXRoUmVzcG9uc2UocmVw
b3J0KS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3Bv
bnNlWydzdGF0dXMnXSwgJ09LJyk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2Vb
J2ZhaWx1cmVTdG9yZWQnXSwgZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwpA
QCAtNzM1LDQgKzczOSw2NCBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQiLCBmdW5jdGlvbiAoKSB7
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSk7CisKKyAgICBjb25zdCByZXBv
cnRXaXRoQnVpbGRSZXF1ZXN0ID0geworICAgICAgICAiYnVpbGROdW1iZXIiOiAiMTIzIiwKKyAg
ICAgICAgImJ1aWxkVGltZSI6ICIyMDEzLTAyLTI4VDEwOjEyOjAzLjM4ODMwNCIsCisgICAgICAg
ICJidWlsZGVyTmFtZSI6ICJzb21lQnVpbGRlciIsCisgICAgICAgICJidWlsZGVyUGFzc3dvcmQi
OiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgInBsYXRmb3JtIjogIk1vdW50YWluIExpb24iLAor
ICAgICAgICAiYnVpbGRSZXF1ZXN0IjogIjcwMCIsCisgICAgICAgICJ0ZXN0cyI6IHsKKyAgICAg
ICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgICAgICJtZXRyaWNzIjogeyJGcmFtZVJhdGUi
OiB7ICJjdXJyZW50IjogW1tbMCwgNF0sIFsxMDAsIDVdLCBbMjA1LCAzXV1dIH19CisgICAgICAg
ICAgICB9LAorICAgICAgICB9LAorICAgIH07CisKKyAgICBjb25zdCBhbm90aGVyUmVwb3J0V2l0
aFNhbWVCdWlsZFJlcXVlc3QgPSB7CisgICAgICAgICJidWlsZE51bWJlciI6ICIxMjQiLAorICAg
ICAgICAiYnVpbGRUaW1lIjogIjIwMTMtMDItMjhUMTA6MTI6MDMuMzg4MzA0IiwKKyAgICAgICAg
ImJ1aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKKyAgICAgICAgImJ1aWxkZXJQYXNzd29yZCI6
ICJzb21lUGFzc3dvcmQiLAorICAgICAgICAicGxhdGZvcm0iOiAiTGlvbiIsCisgICAgICAgICJi
dWlsZFJlcXVlc3QiOiAiNzAwIiwKKyAgICAgICAgInRlc3RzIjogeworICAgICAgICAgICAgInRl
c3QiOiB7CisgICAgICAgICAgICAgICAgIm1ldHJpY3MiOiB7IkZyYW1lUmF0ZSI6IHsgImN1cnJl
bnQiOiBbW1swLCA0XSwgWzEwMCwgNV0sIFsyMDUsIDNdXV0gfX0KKyAgICAgICAgICAgIH0sCisg
ICAgICAgIH0sCisgICAgfTsKKworICAgIGl0KCJzaG91bGQgYWxsb3cgdG8gcmVwb3J0IGEgYnVp
bGQgcmVxdWVzdCIsICgpID0+IHsKKyAgICAgICAgcmV0dXJuIE1vY2tEYXRhLmFkZE1vY2tEYXRh
KFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4g
cmVwb3J0QWZ0ZXJBZGRpbmdCdWlsZGVyQW5kQWdncmVnYXRvcnNXaXRoUmVzcG9uc2UocmVwb3J0
V2l0aEJ1aWxkUmVxdWVzdCk7CisgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CisgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0snKTsKKyAgICAgICAg
fSk7CisgICAgfSk7CisKKyAgICBpdCgic2hvdWxkIHJlamVjdCB0aGUgcmVwb3J0IGlmIHRoZSBi
dWlsZCByZXF1ZXN0IGluIHRoZSByZXBvcnQgaGFzIGFuIGV4aXN0aW5nIGFzc29jaWF0ZWQgYnVp
bGQiLCAoKSA9PiB7CisgICAgICAgIHJldHVybiBNb2NrRGF0YS5hZGRNb2NrRGF0YShUZXN0U2Vy
dmVyLmRhdGFiYXNlKCkpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIHJlcG9ydEFm
dGVyQWRkaW5nQnVpbGRlckFuZEFnZ3JlZ2F0b3JzV2l0aFJlc3BvbnNlKHJlcG9ydFdpdGhCdWls
ZFJlcXVlc3QpOworICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ09LJyk7CisgICAgICAgICAgICByZXR1
cm4gVGVzdFNlcnZlci5kYXRhYmFzZSgpLnNlbGVjdFJvd3MoJ2J1aWxkcycsIHtudW1iZXI6ICcx
MjMnfSk7CisgICAgICAgIH0pLnRoZW4oKHJlc3VsdHMpID0+IHsKKyAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChyZXN1bHRzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZl
ci5kYXRhYmFzZSgpLnNlbGVjdFJvd3MoJ3BsYXRmb3JtcycsIHtuYW1lOiAnTW91bnRhaW4gTGlv
bid9KTsKKyAgICAgICAgfSkudGhlbigocmVzdWx0cykgPT4geworICAgICAgICAgICAgYXNzZXJ0
LmVxdWFsKHJlc3VsdHMubGVuZ3RoLCAxKTsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVy
LnJlbW90ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC8nLCBbYW5vdGhlclJlcG9ydFdpdGhT
YW1lQnVpbGRSZXF1ZXN0XSk7CisgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CisgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnRmFpbGVkVG9VcGRhdGVC
dWlsZFJlcXVlc3QnKTsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLmRhdGFiYXNlKCku
c2VsZWN0Um93cygnYnVpbGRzJywge251bWJlcjogJzEyNCd9KTsKKyAgICAgICAgfSkudGhlbigo
cmVzdWx0cykgPT4geworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3VsdHMubGVuZ3RoLCAw
KTsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLmRhdGFiYXNlKCkuc2VsZWN0Um93cygn
cGxhdGZvcm1zJywge25hbWU6ICdMaW9uJ30pOworICAgICAgICB9KS50aGVuKChyZXN1bHRzKSA9
PiB7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzdWx0cy5sZW5ndGgsIDApOworICAgICAg
ICB9KTsKKyAgICB9KTsKKwogfSk7Cg==
</data>
<flag name="review"
          id="350808"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>