<?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>202998</bug_id>
          
          <creation_ts>2019-10-15 11:41:25 -0700</creation_ts>
          <short_desc>Have a CLI version of JetStream 2 to run on watchOS</short_desc>
          <delta_ts>2019-10-17 15:53:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>jbedard</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>rniwa</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580196</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-15 11:41:25 -0700</bug_when>
    <thetext>We want to run it on more constrained devices, like watches.

Some things we probably want:
- no Wasm (because watches don&apos;t JIT at this time)
- fewer iterations
- maybe no asm.js
- maybe remove super long running tests (WSL I&apos;m looking at you)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580199</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-15 11:47:05 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #0)
&gt; We want to run it on more constrained devices, like watches.
&gt; 
&gt; Some things we probably want:
&gt; - no Wasm (because watches don&apos;t JIT at this time)
&gt; - fewer iterations
&gt; - maybe no asm.js
&gt; - maybe remove super long running tests (WSL I&apos;m looking at you)

this variant of JS2 will also be good for just measuring interpreter performance on any platform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580217</commentid>
    <comment_count>2</comment_count>
      <attachid>381014</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-15 13:05:07 -0700</bug_when>
    <thetext>Created attachment 381014
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580808</commentid>
    <comment_count>3</comment_count>
      <attachid>381145</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-16 18:41:15 -0700</bug_when>
    <thetext>Created attachment 381145
WIP

Might be done. Just need to validate it and write a changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581113</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-17 13:24:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/56208554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581121</commentid>
    <comment_count>5</comment_count>
      <attachid>381220</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-17 13:35:11 -0700</bug_when>
    <thetext>Created attachment 381220
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581126</commentid>
    <comment_count>6</comment_count>
      <attachid>381220</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-10-17 13:49:43 -0700</bug_when>
    <thetext>Comment on attachment 381220
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581201</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-17 15:53:00 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 381220:

inspector/console/webcore-logging.html bug 203118 (authors: drousso@apple.com and eric.carlson@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581202</commentid>
    <comment_count>8</comment_count>
      <attachid>381220</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-17 15:53:52 -0700</bug_when>
    <thetext>Comment on attachment 381220
patch

Clearing flags on attachment: 381220

Committed r251265: &lt;https://trac.webkit.org/changeset/251265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581203</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-17 15:53:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381014</attachid>
            <date>2019-10-15 13:05:07 -0700</date>
            <delta_ts>2019-10-16 18:41:15 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4041</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9saW1pdGVkLWNsaS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvbGltaXRlZC1jbGkuanMJKG5vbmV4
aXN0ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL2xpbWl0ZWQtY2xpLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjAgQEAKK3Rlc3RJdGVyYXRpb25Db3VudCA9IDE4Owor
dGVzdExpc3QgPSBbCisgICAgIkFpciIsCisgICAgIkJhc2ljIiwKKyAgICAiTUwiLAorICAgICJC
YWJ5bG9uIiwKKyAgICAiY2RqcyIsCisgICAgImZpcnN0LWluc3BlY3Rvci1jb2RlLWxvYWQiLAor
ICAgICJtdWx0aS1pbnNwZWN0b3ItY29kZS1sb2FkIiwKKyAgICAiQm94MkQiLAorICAgICJvY3Rh
bmUtY29kZS1sb2FkIiwKKyAgICAiY3J5cHRvIiwKKyAgICAiZGVsdGEtYmx1ZSIsCisgICAgImVh
cmxleS1ib3llciIsCisgICAgImdiZW11IiwKKyAgICAvLyJtYW5kcmVlbCIsCisgICAgIm5hdmll
ci1zdG9rZXMiLAorICAgICJwZGZqcyIsCisgICAgInJheXRyYWNlIiwKKyAgICAicmVnZXhwIiwK
KyAgICAicmljaGFyZHMiLAorICAgICJzcGxheSIsCisgICAgLy8idHlwZXNjcmlwdCIsCisgICAg
Ly8ib2N0YW5lLXpsaWIiLAorICAgICJGbGlnaHRQbGFubmVyIiwKKyAgICAvLyJPZmZsaW5lQXNz
ZW1ibGVyIiwKKyAgICAiVW5pUG9rZXIiLAorICAgICJhaS1hc3RhciIsCisgICAgImdhdXNzaWFu
LWJsdXIiLAorICAgICJzdGFuZm9yZC1jcnlwdG8tYWVzIiwKKyAgICAic3RhbmZvcmQtY3J5cHRv
LXBia2RmMiIsCisgICAgInN0YW5mb3JkLWNyeXB0by1zaGEyNTYiLAorICAgICJqc29uLXN0cmlu
Z2lmeS1pbnNwZWN0b3IiLAorICAgICJqc29uLXBhcnNlLWluc3BlY3RvciIsCisgICAgImFzeW5j
LWZzIiwKKyAgICAiaGFzaC1tYXAiLAorICAgICIzZC1jdWJlLVNQIiwKKyAgICAiM2QtcmF5dHJh
Y2UtU1AiLAorICAgICJiYXNlNjQtU1AiLAorICAgICJjcnlwdG8tYWVzLVNQIiwKKyAgICAiY3J5
cHRvLW1kNS1TUCIsCisgICAgImNyeXB0by1zaGExLVNQIiwKKyAgICAiZGF0ZS1mb3JtYXQtdG9m
dGUtU1AiLAorICAgICJkYXRlLWZvcm1hdC14cGFyYi1TUCIsCisgICAgIm4tYm9keS1TUCIsCisg
ICAgInJlZ2V4LWRuYS1TUCIsCisgICAgInN0cmluZy11bnBhY2stY29kZS1TUCIsCisgICAgInRh
Z2Nsb3VkLVNQIiwKKyAgICAiYWNvcm4td3RiIiwKKyAgICAiYmFieWxvbi13dGIiLAorICAgICJj
aGFpLXd0YiIsCisgICAgLy8iY29mZmVlc2NyaXB0LXd0YiIsCisgICAgLy8iZXNwcmVlLXd0YiIs
CisgICAgImpzaGludC13dGIiLAorICAgICJsZWJhYi13dGIiLAorICAgICJwcmVwYWNrLXd0YiIs
CisgICAgInVnbGlmeS1qcy13dGIiCitdOworCitsb2FkKCIuL2NsaS5qcyIpOwpJbmRleDogUGVy
Zm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL0ZsaWdodFBsYW5uZXIvYmVuY2htYXJr
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9G
bGlnaHRQbGFubmVyL2JlbmNobWFyay5qcwkocmV2aXNpb24gMjUxMTQ5KQorKysgUGVyZm9ybWFu
Y2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL0ZsaWdodFBsYW5uZXIvYmVuY2htYXJrLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIEJlbmNobWFyayB7CiAKICAgICB2
YWxpZGF0ZSgpCiAgICAgeworICAgICAgICByZXR1cm47CiAgICAgICAgIGZvciAobGV0IGZsaWdo
dFBsYW4gb2YgZXhwZWN0ZWRGbGlnaHRQbGFucykgewogICAgICAgICAgICAgZmxpZ2h0UGxhbi5j
YWxjdWxhdGUoKTsKICAgICAgICAgICAgIGZsaWdodFBsYW4uY2hlY2tFeHBlY3RhdGlvbnMoKTsK
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9PZmZsaW5lQXNzZW1i
bGVyL2JlbmNobWFyay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVh
bTIvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9iZW5jaG1hcmsuanMJKHJldmlzaW9uIDI1MTE0
OSkKKysrIFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9PZmZsaW5lQXNzZW1i
bGVyL2JlbmNobWFyay5qcwkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBjbGFzcyBC
ZW5jaG1hcmsgewogCiAgICAgdmFsaWRhdGUoKQogICAgIHsKKyAgICAgICAgcmV0dXJuOwogICAg
ICAgICBsZXQgYXN0RHVtcGVkQXNMaW5lcyA9IHRoaXMuYXN0LmR1bXAoKS5zcGxpdCgiXG4iKTsK
IAogICAgICAgICBpZiAoYXN0RHVtcGVkQXNMaW5lcy5sZW5ndGggIT0gZXhwZWN0ZWRBU1REdW1w
ZWRBc0xpbmVzLmxlbmd0aCkgewpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL1Jl
eEJlbmNoL1N1blNwaWRlci9iZW5jaG1hcmsuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VU
ZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL1N1blNwaWRlci9iZW5jaG1hcmsuanMJKHJldmlzaW9u
IDI1MTE0OSkKKysrIFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9TdW5TcGlk
ZXIvYmVuY2htYXJrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw2IEBAIGNsYXNzIFJl
Z2V4RE5BQmVuY2htYXJrIGV4dGVuZHMgQmVuY2htYXIKIAogICAgIHZhbGlkYXRlKCkKICAgICB7
Ci0gICAgICAgIGNoZWNrUmVzdWx0KCk7CisgICAgICAgIC8vY2hlY2tSZXN1bHQoKTsKICAgICB9
CiB9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvUmV4QmVuY2gvVW5pUG9rZXIv
YmVuY2htYXJrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9S
ZXhCZW5jaC9VbmlQb2tlci9iZW5jaG1hcmsuanMJKHJldmlzaW9uIDI1MTE0OSkKKysrIFBlcmZv
cm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9SZXhCZW5jaC9VbmlQb2tlci9iZW5jaG1hcmsuanMJKHdv
cmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgQmVuY2htYXJrIHsKIAogICAgIHZh
bGlkYXRlKCkKICAgICB7CisgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKHRoaXMuX3BsYXll
cnMubGVuZ3RoICE9IHBsYXllckV4cGVjdGF0aW9ucy5sZW5ndGgpCiAgICAgICAgICAgICB0aHJv
dyAiRXhwZWN0ICIgKyBwbGF5ZXJFeHBlY3RhdGlvbnMubGVuZ3RoICsgIiwgYnV0IGFjdHVhbGx5
IGhhdmUgIiArIHRoaXMuX3BsYXllcnMubGVuZ3RoOwogCkluZGV4OiBQZXJmb3JtYW5jZVRlc3Rz
L0pldFN0cmVhbTIvUmV4QmVuY2gvVW5pUG9rZXIvZXhwZWN0ZWQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
UGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL1VuaVBva2VyL2V4cGVjdGVkLmpz
CShyZXZpc2lvbiAyNTExNDkpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvUmV4QmVu
Y2gvVW5pUG9rZXIvZXhwZWN0ZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAg
Y2xhc3MgUGxheWVyRXhwZWN0YXRpb24KIAogICAgIHZhbGlkYXRlKHBsYXllcikKICAgICB7Cisg
ICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKHBsYXllci53aW5zICE9IHRoaXMuX3dpbnMpCiAg
ICAgICAgICAgICB0aHJvdyAiRXhwZWN0ZWQgIiArIHBsYXllci5uYW1lICsgIiB0byBoYXZlICIg
KyB0aGlzLl93aW5zICsgIiwgYnV0IHRoZXkgaGF2ZSAiICsgcGxheWVyLndpbnM7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381145</attachid>
            <date>2019-10-16 18:41:15 -0700</date>
            <delta_ts>2019-10-17 13:35:11 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>6919</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9KZXRTdHJlYW1Ecml2ZXIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL0pldFN0cmVhbURyaXZlci5q
cwkocmV2aXNpb24gMjUxMTQ5KQorKysgUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL0pldFN0
cmVhbURyaXZlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsMTUgQEAgaWYgKHR5cGVv
ZiBSQU1pZmljYXRpb24gPT09ICJ1bmRlZmluZWQiKQogaWYgKHR5cGVvZiB0ZXN0SXRlcmF0aW9u
Q291bnQgPT09ICJ1bmRlZmluZWQiKQogICAgIHZhciB0ZXN0SXRlcmF0aW9uQ291bnQgPSB1bmRl
ZmluZWQ7CiAKK2lmICh0eXBlb2YgdGVzdEl0ZXJhdGlvbkNvdW50TWFwID09PSAidW5kZWZpbmVk
IikKKyAgICB2YXIgdGVzdEl0ZXJhdGlvbkNvdW50TWFwID0gbmV3IE1hcDsKKworaWYgKHR5cGVv
ZiB0ZXN0V29yc3RDYXNlQ291bnRNYXAgPT09ICJ1bmRlZmluZWQiKQorICAgIHZhciB0ZXN0V29y
c3RDYXNlQ291bnRNYXAgPSBuZXcgTWFwOworCitpZiAodHlwZW9mIGR1bXBKU09OUmVzdWx0cyA9
PT0gInVuZGVmaW5lZCIpCisgICAgdmFyIGR1bXBKU09OUmVzdWx0cyA9IGZhbHNlOworCiAvLyBV
c2VkIGZvciB0aGUgcHJvbWlzZSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgYmVuY2htYXJrIHJ1
bi4KIHRoaXMuY3VycmVudFJlc29sdmUgPSBudWxsOwogdGhpcy5jdXJyZW50UmVqZWN0ID0gbnVs
bDsKQEAgLTU1LDYgKzY0LDI0IEBAIGZ1bmN0aW9uIGRpc3BsYXlDYXRlZ29yeVNjb3JlcygpIHsK
ICAgICBjYXRlZ29yeVNjb3JlcyA9IG51bGw7CiB9CiAKK2Z1bmN0aW9uIGdldEl0ZXJhdGlvbkNv
dW50KHBsYW4pIHsKKyAgICBpZiAodGVzdEl0ZXJhdGlvbkNvdW50TWFwLmhhcyhwbGFuLm5hbWUp
KQorICAgICAgICByZXR1cm4gdGVzdEl0ZXJhdGlvbkNvdW50TWFwLmdldChwbGFuLm5hbWUpOwor
ICAgIGlmICh0ZXN0SXRlcmF0aW9uQ291bnQpCisgICAgICAgIHJldHVybiB0ZXN0SXRlcmF0aW9u
Q291bnQ7CisgICAgaWYgKHBsYW4uaXRlcmF0aW9ucykKKyAgICAgICAgcmV0dXJuIHBsYW4uaXRl
cmF0aW9uczsKKyAgICByZXR1cm4gZGVmYXVsdEl0ZXJhdGlvbkNvdW50OworfQorCitmdW5jdGlv
biBnZXRXb3JzdENhc2VDb3VudChwbGFuKSB7CisgICAgaWYgKHRlc3RXb3JzdENhc2VDb3VudE1h
cC5oYXMocGxhbi5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHRlc3RXb3JzdENhc2VDb3VudE1hcC5n
ZXQocGxhbi5uYW1lKTsKKyAgICBpZiAocGxhbi53b3JzdENhc2VDb3VudCkKKyAgICAgICAgcmV0
dXJuIHBsYW4ud29yc3RDYXNlQ291bnQ7CisgICAgcmV0dXJuIGRlZmF1bHRXb3JzdENhc2VDb3Vu
dDsKK30KKwogaWYgKGlzSW5Ccm93c2VyKSB7CiAgICAgZG9jdW1lbnQub25rZXlkb3duID0gKGtl
eWJvYXJkRXZlbnQpID0+IHsKICAgICAgICAgbGV0IGtleSA9IGtleWJvYXJkRXZlbnQua2V5OwpA
QCAtMjUwLDYgKzI3Nyw3IEBAIGNsYXNzIERyaXZlciB7CiAgICAgICAgIH0KIAogICAgICAgICB0
aGlzLnJlcG9ydFNjb3JlVG9SdW5CZW5jaG1hcmtSdW5uZXIoKTsKKyAgICAgICAgdGhpcy5kdW1w
SlNPTlJlc3VsdHNJZk5lZWRlZCgpOwogICAgIH0KIAogICAgIHJ1bkNvZGUoc3RyaW5nKQpAQCAt
MzU1LDE0ICszODMsOCBAQCBjbGFzcyBEcml2ZXIgewogICAgICAgICB9CiAgICAgfQogCi0gICAg
YXN5bmMgcmVwb3J0U2NvcmVUb1J1bkJlbmNobWFya1J1bm5lcigpCisgICAgcmVzdWx0c0pTT04o
KQogICAgIHsKLSAgICAgICAgaWYgKCFpc0luQnJvd3NlcikKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCAhPT0gJz9yZXBvcnQ9dHJ1ZScp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgbGV0IHJlc3VsdHMgPSB7fTsKICAgICAg
ICAgZm9yIChsZXQgYmVuY2htYXJrIG9mIHRoaXMuYmVuY2htYXJrcykgewogICAgICAgICAgICAg
Y29uc3Qgc3ViUmVzdWx0cyA9IHt9CkBAIC0zODEsNyArNDAzLDI3IEBAIGNsYXNzIERyaXZlciB7
CiAKICAgICAgICAgcmVzdWx0cyA9IHsiSmV0U3RyZWFtMi4wIjogeyJtZXRyaWNzIiA6IHsiU2Nv
cmUiIDogWyJHZW9tZXRyaWMiXX0sICJ0ZXN0cyIgOiByZXN1bHRzfX07CiAKLSAgICAgICAgY29u
c3QgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdHMpOworICAgICAgICByZXR1cm4gSlNP
Ti5zdHJpbmdpZnkocmVzdWx0cyk7CisgICAgfQorCisgICAgZHVtcEpTT05SZXN1bHRzSWZOZWVk
ZWQoKQorICAgIHsKKyAgICAgICAgaWYgKGR1bXBKU09OUmVzdWx0cykgeworICAgICAgICAgICAg
cHJpbnQoIlxuIik7CisgICAgICAgICAgICBwcmludCh0aGlzLnJlc3VsdHNKU09OKCkpOworICAg
ICAgICAgICAgcHJpbnQoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3luYyByZXBv
cnRTY29yZVRvUnVuQmVuY2htYXJrUnVubmVyKCkKKyAgICB7CisgICAgICAgIGlmICghaXNJbkJy
b3dzZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlv
bi5zZWFyY2ggIT09ICc/cmVwb3J0PXRydWUnKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc3VsdHNKU09OKCk7CiAgICAgICAgIGF3YWl0IGZl
dGNoKCIvcmVwb3J0IiwgewogICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAg
ICBoZWVhZGVyczogewpAQCAtMzk4LDcgKzQ0MCw3IEBAIGNsYXNzIEJlbmNobWFyayB7CiAgICAg
Y29uc3RydWN0b3IocGxhbikKICAgICB7CiAgICAgICAgIHRoaXMucGxhbiA9IHBsYW47Ci0gICAg
ICAgIHRoaXMuaXRlcmF0aW9ucyA9IHRlc3RJdGVyYXRpb25Db3VudCB8fCBwbGFuLml0ZXJhdGlv
bnMgfHwgZGVmYXVsdEl0ZXJhdGlvbkNvdW50OworICAgICAgICB0aGlzLml0ZXJhdGlvbnMgPSBn
ZXRJdGVyYXRpb25Db3VudChwbGFuKTsKICAgICAgICAgdGhpcy5pc0FzeW5jID0gISFwbGFuLmlz
QXN5bmM7CiAKICAgICAgICAgdGhpcy5zY3JpcHRzID0gbnVsbDsKQEAgLTYyMyw3ICs2NjUsNyBA
QCBjbGFzcyBEZWZhdWx0QmVuY2htYXJrIGV4dGVuZHMgQmVuY2htYXJrCiAgICAgY29uc3RydWN0
b3IoLi4uYXJncykgewogICAgICAgICBzdXBlciguLi5hcmdzKTsKIAotICAgICAgICB0aGlzLndv
cnN0Q2FzZUNvdW50ID0gdGhpcy5wbGFuLndvcnN0Q2FzZUNvdW50IHx8IGRlZmF1bHRXb3JzdENh
c2VDb3VudDsKKyAgICAgICAgdGhpcy53b3JzdENhc2VDb3VudCA9IGdldFdvcnN0Q2FzZUNvdW50
KHRoaXMucGxhbik7CiAgICAgICAgIHRoaXMuZmlyc3RJdGVyYXRpb24gPSBudWxsOwogICAgICAg
ICB0aGlzLndvcnN0NCA9IG51bGw7CiAgICAgICAgIHRoaXMuYXZlcmFnZSA9IG51bGw7CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvd2F0Y2gtY2xpLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi93YXRjaC1jbGkuanMJKG5vbmV4aXN0ZW50KQor
KysgUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL3dhdGNoLWNsaS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDc1IEBACitkdW1wSlNPTlJlc3VsdHMgPSB0cnVlOworCit0ZXN0SXRlcmF0
aW9uQ291bnQgPSAxNTsKKwordGVzdExpc3QgPSBbCisgICAgLy97bmFtZTogIm1hbmRyZWVsIn0s
CisgICAgLy97bmFtZTogInR5cGVzY3JpcHQifSwKKyAgICAvL3tuYW1lOiAib2N0YW5lLXpsaWIi
fSwKKyAgICAvL3tuYW1lOiAiT2ZmbGluZUFzc2VtYmxlciJ9LAorICAgIC8ve25hbWU6ICJhY29y
bi13dGIifSwKKyAgICAvL3tuYW1lOiAiYmFieWxvbi13dGIifSwKKyAgICAvL3tuYW1lOiAiY29m
ZmVlc2NyaXB0LXd0YiJ9LAorICAgIC8ve25hbWU6ICJlc3ByZWUtd3RiIn0sCisgICAgLy97bmFt
ZTogImxlYmFiLXd0YiJ9LAorICAgIC8ve25hbWU6ICJwcmVwYWNrLXd0YiJ9LAorICAgIC8ve25h
bWU6ICJ1Z2xpZnktanMtd3RiIn0KKyAgICB7bmFtZTogIkZsaWdodFBsYW5uZXIifSwKKyAgICB7
bmFtZTogIlVuaVBva2VyIn0sCisgICAge25hbWU6ICJBaXIifSwKKyAgICB7bmFtZTogIkJhc2lj
In0sCisgICAge25hbWU6ICJNTCIsIGl0ZXJhdGlvbnM6IDcsIHdvcnN0Q2FzZUNvdW50OiAyfSwK
KyAgICB7bmFtZTogIkJhYnlsb24ifSwKKyAgICB7bmFtZTogImNkanMiLCBpdGVyYXRpb25zOiAx
MCwgd29yc3RDYXNlQ291bnQ6IDJ9LAorICAgIHtuYW1lOiAiZmlyc3QtaW5zcGVjdG9yLWNvZGUt
bG9hZCJ9LAorICAgIHtuYW1lOiAibXVsdGktaW5zcGVjdG9yLWNvZGUtbG9hZCJ9LAorICAgIHtu
YW1lOiAiQm94MkQifSwKKyAgICB7bmFtZTogIm9jdGFuZS1jb2RlLWxvYWQifSwKKyAgICB7bmFt
ZTogImNyeXB0byJ9LAorICAgIHtuYW1lOiAiZGVsdGEtYmx1ZSJ9LAorICAgIHtuYW1lOiAiZWFy
bGV5LWJveWVyIn0sCisgICAge25hbWU6ICJnYmVtdSIsIGl0ZXJhdGlvbnM6IDEwLCB3b3JzdENh
c2VDb3VudDogMn0sCisgICAge25hbWU6ICJuYXZpZXItc3Rva2VzIn0sCisgICAge25hbWU6ICJw
ZGZqcyJ9LAorICAgIHtuYW1lOiAicmF5dHJhY2UifSwKKyAgICB7bmFtZTogInJlZ2V4cCJ9LAor
ICAgIHtuYW1lOiAicmljaGFyZHMifSwKKyAgICB7bmFtZTogInNwbGF5In0sCisgICAge25hbWU6
ICJhaS1hc3RhciJ9LAorICAgIHtuYW1lOiAiZ2F1c3NpYW4tYmx1ciIsIGl0ZXJhdGlvbnM6IDEw
LCB3b3JzdENhc2VDb3VudDogMn0sCisgICAge25hbWU6ICJzdGFuZm9yZC1jcnlwdG8tYWVzIn0s
CisgICAge25hbWU6ICJzdGFuZm9yZC1jcnlwdG8tcGJrZGYyIn0sCisgICAge25hbWU6ICJzdGFu
Zm9yZC1jcnlwdG8tc2hhMjU2In0sCisgICAge25hbWU6ICJqc29uLXN0cmluZ2lmeS1pbnNwZWN0
b3IifSwKKyAgICB7bmFtZTogImpzb24tcGFyc2UtaW5zcGVjdG9yIn0sCisgICAge25hbWU6ICJh
c3luYy1mcyIsIGl0ZXJhdGlvbnM6IDgsIHdvcnN0Q2FzZUNvdW50OiAyfSwKKyAgICB7bmFtZTog
Imhhc2gtbWFwIiwgaXRlcmF0aW9uczogMTIsIHdvcnN0Q2FzZUNvdW50OiAzfSwKKyAgICB7bmFt
ZTogIjNkLWN1YmUtU1AifSwKKyAgICB7bmFtZTogIjNkLXJheXRyYWNlLVNQIn0sCisgICAge25h
bWU6ICJiYXNlNjQtU1AifSwKKyAgICB7bmFtZTogImNyeXB0by1hZXMtU1AifSwKKyAgICB7bmFt
ZTogImNyeXB0by1tZDUtU1AifSwKKyAgICB7bmFtZTogImNyeXB0by1zaGExLVNQIn0sCisgICAg
e25hbWU6ICJkYXRlLWZvcm1hdC10b2Z0ZS1TUCJ9LAorICAgIHtuYW1lOiAiZGF0ZS1mb3JtYXQt
eHBhcmItU1AifSwKKyAgICB7bmFtZTogIm4tYm9keS1TUCJ9LAorICAgIHtuYW1lOiAicmVnZXgt
ZG5hLVNQIn0sCisgICAge25hbWU6ICJzdHJpbmctdW5wYWNrLWNvZGUtU1AifSwKKyAgICB7bmFt
ZTogInRhZ2Nsb3VkLVNQIn0sCisgICAge25hbWU6ICJjaGFpLXd0YiIsIGl0ZXJhdGlvbnM6IDUs
IHdvcnN0Q2FzZUNvdW50OiAyfSwKKyAgICB7bmFtZTogImpzaGludC13dGIiLCBpdGVyYXRpb25z
OiA1LCB3b3JzdENhc2VDb3VudDogMn0KK107CisKK3Rlc3RJdGVyYXRpb25Db3VudE1hcCA9IG5l
dyBNYXA7Cit0ZXN0V29yc3RDYXNlQ291bnRNYXAgPSBuZXcgTWFwOworZm9yIChsZXQgdGVzdCBv
ZiB0ZXN0TGlzdCkgeworICAgIGlmICh0ZXN0Lml0ZXJhdGlvbnMpCisgICAgICAgIHRlc3RJdGVy
YXRpb25Db3VudE1hcC5zZXQodGVzdC5uYW1lLCB0ZXN0Lml0ZXJhdGlvbnMpOworICAgIGlmICh0
ZXN0LndvcnN0Q2FzZUNvdW50KQorICAgICAgICB0ZXN0V29yc3RDYXNlQ291bnRNYXAuc2V0KHRl
c3QubmFtZSwgdGVzdC53b3JzdENhc2VDb3VudCk7Cit9CisKKwordGVzdExpc3QgPSB0ZXN0TGlz
dC5tYXAoeCA9PiB4Lm5hbWUpOworCitsb2FkKCIuL2NsaS5qcyIpOwpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL1VuaVBva2VyL2JlbmNobWFyay5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvUmV4QmVuY2gvVW5pUG9rZXIvYmVu
Y2htYXJrLmpzCShyZXZpc2lvbiAyNTExNDkpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVh
bTIvUmV4QmVuY2gvVW5pUG9rZXIvYmVuY2htYXJrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4
ICs0Myw5IEBAIGNsYXNzIEJlbmNobWFyayB7CiAgICAgewogICAgICAgICBpZiAodGhpcy5fcGxh
eWVycy5sZW5ndGggIT0gcGxheWVyRXhwZWN0YXRpb25zLmxlbmd0aCkKICAgICAgICAgICAgIHRo
cm93ICJFeHBlY3QgIiArIHBsYXllckV4cGVjdGF0aW9ucy5sZW5ndGggKyAiLCBidXQgYWN0dWFs
bHkgaGF2ZSAiICsgdGhpcy5fcGxheWVycy5sZW5ndGg7Ci0KLSAgICAgICAgZm9yIChsZXQgcGxh
eWVySWR4ID0gMDsgcGxheWVySWR4IDwgcGxheWVyRXhwZWN0YXRpb25zLmxlbmd0aDsgcGxheWVy
SWR4KyspCi0gICAgICAgICAgICBwbGF5ZXJFeHBlY3RhdGlvbnNbcGxheWVySWR4XS52YWxpZGF0
ZSh0aGlzLl9wbGF5ZXJzW3BsYXllcklkeF0pOworICAgICAgICBpZiAoaXNJbkJyb3dzZXIpIHsK
KyAgICAgICAgICAgIGZvciAobGV0IHBsYXllcklkeCA9IDA7IHBsYXllcklkeCA8IHBsYXllckV4
cGVjdGF0aW9ucy5sZW5ndGg7IHBsYXllcklkeCsrKQorICAgICAgICAgICAgICAgIHBsYXllckV4
cGVjdGF0aW9uc1twbGF5ZXJJZHhdLnZhbGlkYXRlKHRoaXMuX3BsYXllcnNbcGxheWVySWR4XSk7
CisgICAgICAgIH0KICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381220</attachid>
            <date>2019-10-17 13:35:11 -0700</date>
            <delta_ts>2019-10-17 15:53:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8194</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTEyNTQpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE5LTEwLTE3ICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgYSBDTEkgdmVy
c2lvbiBvZiBKZXRTdHJlYW0gMiB0byBydW4gb24gd2F0Y2hPUworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyOTk4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS81NjIwODU1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBDTEkgdmVyc2lvbiBvZiBKUzIgdG8gcnVuIG9uIHdh
dGNoT1MuIFdlIHJ1biBtb3N0IHN1YnRlc3RzCisgICAgICAgIGZyb20gdGhlIGJyb3dzZXIgdmVy
c2lvbiBvZiBKUzIsIGJ1dCBza2lwIGEgZmV3IHRlc3RzIHRoYXQgYXJlIHBhcnRpY3VsYXJseQor
ICAgICAgICBsb25nIHJ1bm5pbmcsIGxpa2UgV1NMIGFuZCBzb21lIG9mIFdUQi4gV2UgYWxzbyBk
b24ndCBydW4gdGhlIFdhc20gdGVzdHMKKyAgICAgICAgYXMgd2UgZG9uJ3QgSklUIG9uIHdhdGNo
T1MuIEVhY2ggdGVzdCBydW5zIGZvciBmZXdlciBpdGVyYXRpb25zIGluIHRoZSB3YXRjaAorICAg
ICAgICB2ZXJzaW9uLiAxNSBpcyB0aGUgZGVmYXVsdCBpdGVyYXRpb24gY291bnQuIFRoaXMgYmVu
Y2htYXJrIHJ1bnMgaW4gNyBtaW51dGVzIG9uCisgICAgICAgIGEgU2VyaWVzIDQgd2F0Y2guCisK
KyAgICAgICAgKiBKZXRTdHJlYW0yL0pldFN0cmVhbURyaXZlci5qczoKKyAgICAgICAgKGdldEl0
ZXJhdGlvbkNvdW50KToKKyAgICAgICAgKGdldFdvcnN0Q2FzZUNvdW50KToKKyAgICAgICAgKERy
aXZlci5wcm90b3R5cGUuYXN5bmMuc3RhcnQpOgorICAgICAgICAoRHJpdmVyLnByb3RvdHlwZS5y
ZXN1bHRzSlNPTik6CisgICAgICAgIChEcml2ZXIucHJvdG90eXBlLmR1bXBKU09OUmVzdWx0c0lm
TmVlZGVkKToKKyAgICAgICAgKERyaXZlci5wcm90b3R5cGUuYXN5bmMucmVwb3J0U2NvcmVUb1J1
bkJlbmNobWFya1J1bm5lcik6CisgICAgICAgIChEZWZhdWx0QmVuY2htYXJrKToKKyAgICAgICAg
KiBKZXRTdHJlYW0yL1JleEJlbmNoL1VuaVBva2VyL2JlbmNobWFyay5qczoKKyAgICAgICAgKEJl
bmNobWFyay5wcm90b3R5cGUudmFsaWRhdGUpOgorICAgICAgICAoQmVuY2htYXJrKToKKyAgICAg
ICAgKiBKZXRTdHJlYW0yL3dhdGNoLWNsaS5qczogQWRkZWQuCisKIDIwMTktMTAtMTcgIENhcmxv
cyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S10gUGVyZiB0ZXN0IEluZGV4ZWREQi9iYXNpYy9pbmRleC1jdXJzb3ItZGVsZXRlLmh0bWwgdGlt
ZW91dHMKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi9KZXRTdHJlYW1Ecml2ZXIu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL0pldFN0cmVhbURy
aXZlci5qcwkocmV2aXNpb24gMjUxMTQ5KQorKysgUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0y
L0pldFN0cmVhbURyaXZlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsMTUgQEAgaWYg
KHR5cGVvZiBSQU1pZmljYXRpb24gPT09ICJ1bmRlZmluZWQiKQogaWYgKHR5cGVvZiB0ZXN0SXRl
cmF0aW9uQ291bnQgPT09ICJ1bmRlZmluZWQiKQogICAgIHZhciB0ZXN0SXRlcmF0aW9uQ291bnQg
PSB1bmRlZmluZWQ7CiAKK2lmICh0eXBlb2YgdGVzdEl0ZXJhdGlvbkNvdW50TWFwID09PSAidW5k
ZWZpbmVkIikKKyAgICB2YXIgdGVzdEl0ZXJhdGlvbkNvdW50TWFwID0gbmV3IE1hcDsKKworaWYg
KHR5cGVvZiB0ZXN0V29yc3RDYXNlQ291bnRNYXAgPT09ICJ1bmRlZmluZWQiKQorICAgIHZhciB0
ZXN0V29yc3RDYXNlQ291bnRNYXAgPSBuZXcgTWFwOworCitpZiAodHlwZW9mIGR1bXBKU09OUmVz
dWx0cyA9PT0gInVuZGVmaW5lZCIpCisgICAgdmFyIGR1bXBKU09OUmVzdWx0cyA9IGZhbHNlOwor
CiAvLyBVc2VkIGZvciB0aGUgcHJvbWlzZSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgYmVuY2ht
YXJrIHJ1bi4KIHRoaXMuY3VycmVudFJlc29sdmUgPSBudWxsOwogdGhpcy5jdXJyZW50UmVqZWN0
ID0gbnVsbDsKQEAgLTU1LDYgKzY0LDI0IEBAIGZ1bmN0aW9uIGRpc3BsYXlDYXRlZ29yeVNjb3Jl
cygpIHsKICAgICBjYXRlZ29yeVNjb3JlcyA9IG51bGw7CiB9CiAKK2Z1bmN0aW9uIGdldEl0ZXJh
dGlvbkNvdW50KHBsYW4pIHsKKyAgICBpZiAodGVzdEl0ZXJhdGlvbkNvdW50TWFwLmhhcyhwbGFu
Lm5hbWUpKQorICAgICAgICByZXR1cm4gdGVzdEl0ZXJhdGlvbkNvdW50TWFwLmdldChwbGFuLm5h
bWUpOworICAgIGlmICh0ZXN0SXRlcmF0aW9uQ291bnQpCisgICAgICAgIHJldHVybiB0ZXN0SXRl
cmF0aW9uQ291bnQ7CisgICAgaWYgKHBsYW4uaXRlcmF0aW9ucykKKyAgICAgICAgcmV0dXJuIHBs
YW4uaXRlcmF0aW9uczsKKyAgICByZXR1cm4gZGVmYXVsdEl0ZXJhdGlvbkNvdW50OworfQorCitm
dW5jdGlvbiBnZXRXb3JzdENhc2VDb3VudChwbGFuKSB7CisgICAgaWYgKHRlc3RXb3JzdENhc2VD
b3VudE1hcC5oYXMocGxhbi5uYW1lKSkKKyAgICAgICAgcmV0dXJuIHRlc3RXb3JzdENhc2VDb3Vu
dE1hcC5nZXQocGxhbi5uYW1lKTsKKyAgICBpZiAocGxhbi53b3JzdENhc2VDb3VudCkKKyAgICAg
ICAgcmV0dXJuIHBsYW4ud29yc3RDYXNlQ291bnQ7CisgICAgcmV0dXJuIGRlZmF1bHRXb3JzdENh
c2VDb3VudDsKK30KKwogaWYgKGlzSW5Ccm93c2VyKSB7CiAgICAgZG9jdW1lbnQub25rZXlkb3du
ID0gKGtleWJvYXJkRXZlbnQpID0+IHsKICAgICAgICAgbGV0IGtleSA9IGtleWJvYXJkRXZlbnQu
a2V5OwpAQCAtMjUwLDYgKzI3Nyw3IEBAIGNsYXNzIERyaXZlciB7CiAgICAgICAgIH0KIAogICAg
ICAgICB0aGlzLnJlcG9ydFNjb3JlVG9SdW5CZW5jaG1hcmtSdW5uZXIoKTsKKyAgICAgICAgdGhp
cy5kdW1wSlNPTlJlc3VsdHNJZk5lZWRlZCgpOwogICAgIH0KIAogICAgIHJ1bkNvZGUoc3RyaW5n
KQpAQCAtMzU1LDE0ICszODMsOCBAQCBjbGFzcyBEcml2ZXIgewogICAgICAgICB9CiAgICAgfQog
Ci0gICAgYXN5bmMgcmVwb3J0U2NvcmVUb1J1bkJlbmNobWFya1J1bm5lcigpCisgICAgcmVzdWx0
c0pTT04oKQogICAgIHsKLSAgICAgICAgaWYgKCFpc0luQnJvd3NlcikKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCAhPT0gJz9yZXBvcnQ9
dHJ1ZScpCi0gICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgbGV0IHJlc3VsdHMgPSB7fTsK
ICAgICAgICAgZm9yIChsZXQgYmVuY2htYXJrIG9mIHRoaXMuYmVuY2htYXJrcykgewogICAgICAg
ICAgICAgY29uc3Qgc3ViUmVzdWx0cyA9IHt9CkBAIC0zODEsNyArNDAzLDI3IEBAIGNsYXNzIERy
aXZlciB7CiAKICAgICAgICAgcmVzdWx0cyA9IHsiSmV0U3RyZWFtMi4wIjogeyJtZXRyaWNzIiA6
IHsiU2NvcmUiIDogWyJHZW9tZXRyaWMiXX0sICJ0ZXN0cyIgOiByZXN1bHRzfX07CiAKLSAgICAg
ICAgY29uc3QgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdHMpOworICAgICAgICByZXR1
cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0cyk7CisgICAgfQorCisgICAgZHVtcEpTT05SZXN1bHRz
SWZOZWVkZWQoKQorICAgIHsKKyAgICAgICAgaWYgKGR1bXBKU09OUmVzdWx0cykgeworICAgICAg
ICAgICAgcHJpbnQoIlxuIik7CisgICAgICAgICAgICBwcmludCh0aGlzLnJlc3VsdHNKU09OKCkp
OworICAgICAgICAgICAgcHJpbnQoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhc3lu
YyByZXBvcnRTY29yZVRvUnVuQmVuY2htYXJrUnVubmVyKCkKKyAgICB7CisgICAgICAgIGlmICgh
aXNJbkJyb3dzZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHdpbmRvdy5s
b2NhdGlvbi5zZWFyY2ggIT09ICc/cmVwb3J0PXRydWUnKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc3VsdHNKU09OKCk7CiAgICAgICAgIGF3
YWl0IGZldGNoKCIvcmVwb3J0IiwgewogICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAg
ICAgICAgICBoZWVhZGVyczogewpAQCAtMzk4LDcgKzQ0MCw3IEBAIGNsYXNzIEJlbmNobWFyayB7
CiAgICAgY29uc3RydWN0b3IocGxhbikKICAgICB7CiAgICAgICAgIHRoaXMucGxhbiA9IHBsYW47
Ci0gICAgICAgIHRoaXMuaXRlcmF0aW9ucyA9IHRlc3RJdGVyYXRpb25Db3VudCB8fCBwbGFuLml0
ZXJhdGlvbnMgfHwgZGVmYXVsdEl0ZXJhdGlvbkNvdW50OworICAgICAgICB0aGlzLml0ZXJhdGlv
bnMgPSBnZXRJdGVyYXRpb25Db3VudChwbGFuKTsKICAgICAgICAgdGhpcy5pc0FzeW5jID0gISFw
bGFuLmlzQXN5bmM7CiAKICAgICAgICAgdGhpcy5zY3JpcHRzID0gbnVsbDsKQEAgLTYyMyw3ICs2
NjUsNyBAQCBjbGFzcyBEZWZhdWx0QmVuY2htYXJrIGV4dGVuZHMgQmVuY2htYXJrCiAgICAgY29u
c3RydWN0b3IoLi4uYXJncykgewogICAgICAgICBzdXBlciguLi5hcmdzKTsKIAotICAgICAgICB0
aGlzLndvcnN0Q2FzZUNvdW50ID0gdGhpcy5wbGFuLndvcnN0Q2FzZUNvdW50IHx8IGRlZmF1bHRX
b3JzdENhc2VDb3VudDsKKyAgICAgICAgdGhpcy53b3JzdENhc2VDb3VudCA9IGdldFdvcnN0Q2Fz
ZUNvdW50KHRoaXMucGxhbik7CiAgICAgICAgIHRoaXMuZmlyc3RJdGVyYXRpb24gPSBudWxsOwog
ICAgICAgICB0aGlzLndvcnN0NCA9IG51bGw7CiAgICAgICAgIHRoaXMuYXZlcmFnZSA9IG51bGw7
CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvd2F0Y2gtY2xpLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtMi93YXRjaC1jbGkuanMJKG5vbmV4aXN0
ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL3dhdGNoLWNsaS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDY1IEBACitkdW1wSlNPTlJlc3VsdHMgPSB0cnVlOworCit0ZXN0
SXRlcmF0aW9uQ291bnQgPSAxNTsKKwordGVzdExpc3QgPSBbCisgICAge25hbWU6ICJGbGlnaHRQ
bGFubmVyIn0sCisgICAge25hbWU6ICJVbmlQb2tlciJ9LAorICAgIHtuYW1lOiAiQWlyIn0sCisg
ICAge25hbWU6ICJCYXNpYyJ9LAorICAgIHtuYW1lOiAiTUwiLCBpdGVyYXRpb25zOiA3LCB3b3Jz
dENhc2VDb3VudDogMn0sCisgICAge25hbWU6ICJCYWJ5bG9uIn0sCisgICAge25hbWU6ICJjZGpz
IiwgaXRlcmF0aW9uczogMTAsIHdvcnN0Q2FzZUNvdW50OiAyfSwKKyAgICB7bmFtZTogImZpcnN0
LWluc3BlY3Rvci1jb2RlLWxvYWQifSwKKyAgICB7bmFtZTogIm11bHRpLWluc3BlY3Rvci1jb2Rl
LWxvYWQifSwKKyAgICB7bmFtZTogIkJveDJEIn0sCisgICAge25hbWU6ICJvY3RhbmUtY29kZS1s
b2FkIn0sCisgICAge25hbWU6ICJjcnlwdG8ifSwKKyAgICB7bmFtZTogImRlbHRhLWJsdWUifSwK
KyAgICB7bmFtZTogImVhcmxleS1ib3llciJ9LAorICAgIHtuYW1lOiAiZ2JlbXUiLCBpdGVyYXRp
b25zOiAxMCwgd29yc3RDYXNlQ291bnQ6IDJ9LAorICAgIHtuYW1lOiAibmF2aWVyLXN0b2tlcyJ9
LAorICAgIHtuYW1lOiAicGRmanMifSwKKyAgICB7bmFtZTogInJheXRyYWNlIn0sCisgICAge25h
bWU6ICJyZWdleHAifSwKKyAgICB7bmFtZTogInJpY2hhcmRzIn0sCisgICAge25hbWU6ICJzcGxh
eSJ9LAorICAgIHtuYW1lOiAiYWktYXN0YXIifSwKKyAgICB7bmFtZTogImdhdXNzaWFuLWJsdXIi
LCBpdGVyYXRpb25zOiAxMCwgd29yc3RDYXNlQ291bnQ6IDJ9LAorICAgIHtuYW1lOiAic3RhbmZv
cmQtY3J5cHRvLWFlcyJ9LAorICAgIHtuYW1lOiAic3RhbmZvcmQtY3J5cHRvLXBia2RmMiJ9LAor
ICAgIHtuYW1lOiAic3RhbmZvcmQtY3J5cHRvLXNoYTI1NiJ9LAorICAgIHtuYW1lOiAianNvbi1z
dHJpbmdpZnktaW5zcGVjdG9yIn0sCisgICAge25hbWU6ICJqc29uLXBhcnNlLWluc3BlY3RvciJ9
LAorICAgIHtuYW1lOiAiYXN5bmMtZnMiLCBpdGVyYXRpb25zOiA4LCB3b3JzdENhc2VDb3VudDog
Mn0sCisgICAge25hbWU6ICJoYXNoLW1hcCIsIGl0ZXJhdGlvbnM6IDEyLCB3b3JzdENhc2VDb3Vu
dDogM30sCisgICAge25hbWU6ICIzZC1jdWJlLVNQIn0sCisgICAge25hbWU6ICIzZC1yYXl0cmFj
ZS1TUCJ9LAorICAgIHtuYW1lOiAiYmFzZTY0LVNQIn0sCisgICAge25hbWU6ICJjcnlwdG8tYWVz
LVNQIn0sCisgICAge25hbWU6ICJjcnlwdG8tbWQ1LVNQIn0sCisgICAge25hbWU6ICJjcnlwdG8t
c2hhMS1TUCJ9LAorICAgIHtuYW1lOiAiZGF0ZS1mb3JtYXQtdG9mdGUtU1AifSwKKyAgICB7bmFt
ZTogImRhdGUtZm9ybWF0LXhwYXJiLVNQIn0sCisgICAge25hbWU6ICJuLWJvZHktU1AifSwKKyAg
ICB7bmFtZTogInJlZ2V4LWRuYS1TUCJ9LAorICAgIHtuYW1lOiAic3RyaW5nLXVucGFjay1jb2Rl
LVNQIn0sCisgICAge25hbWU6ICJ0YWdjbG91ZC1TUCJ9LAorICAgIHtuYW1lOiAiY2hhaS13dGIi
LCBpdGVyYXRpb25zOiA1LCB3b3JzdENhc2VDb3VudDogMn0sCisgICAge25hbWU6ICJqc2hpbnQt
d3RiIiwgaXRlcmF0aW9uczogNSwgd29yc3RDYXNlQ291bnQ6IDJ9LAorICAgIHtuYW1lOiAicHJl
cGFjay13dGIiLCBpdGVyYXRpb25zOiA1LCB3b3JzdENhc2VDb3VudDogMn0KK107CisKK3Rlc3RJ
dGVyYXRpb25Db3VudE1hcCA9IG5ldyBNYXA7Cit0ZXN0V29yc3RDYXNlQ291bnRNYXAgPSBuZXcg
TWFwOworZm9yIChsZXQgdGVzdCBvZiB0ZXN0TGlzdCkgeworICAgIGlmICh0ZXN0Lml0ZXJhdGlv
bnMpCisgICAgICAgIHRlc3RJdGVyYXRpb25Db3VudE1hcC5zZXQodGVzdC5uYW1lLCB0ZXN0Lml0
ZXJhdGlvbnMpOworICAgIGlmICh0ZXN0LndvcnN0Q2FzZUNvdW50KQorICAgICAgICB0ZXN0V29y
c3RDYXNlQ291bnRNYXAuc2V0KHRlc3QubmFtZSwgdGVzdC53b3JzdENhc2VDb3VudCk7Cit9CisK
KwordGVzdExpc3QgPSB0ZXN0TGlzdC5tYXAoeCA9PiB4Lm5hbWUpOworCitsb2FkKCIuL2NsaS5q
cyIpOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0yL1JleEJlbmNoL1VuaVBva2Vy
L2JlbmNobWFyay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbTIv
UmV4QmVuY2gvVW5pUG9rZXIvYmVuY2htYXJrLmpzCShyZXZpc2lvbiAyNTExNDkpCisrKyBQZXJm
b3JtYW5jZVRlc3RzL0pldFN0cmVhbTIvUmV4QmVuY2gvVW5pUG9rZXIvYmVuY2htYXJrLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC00Myw4ICs0Myw5IEBAIGNsYXNzIEJlbmNobWFyayB7CiAgICAgewog
ICAgICAgICBpZiAodGhpcy5fcGxheWVycy5sZW5ndGggIT0gcGxheWVyRXhwZWN0YXRpb25zLmxl
bmd0aCkKICAgICAgICAgICAgIHRocm93ICJFeHBlY3QgIiArIHBsYXllckV4cGVjdGF0aW9ucy5s
ZW5ndGggKyAiLCBidXQgYWN0dWFsbHkgaGF2ZSAiICsgdGhpcy5fcGxheWVycy5sZW5ndGg7Ci0K
LSAgICAgICAgZm9yIChsZXQgcGxheWVySWR4ID0gMDsgcGxheWVySWR4IDwgcGxheWVyRXhwZWN0
YXRpb25zLmxlbmd0aDsgcGxheWVySWR4KyspCi0gICAgICAgICAgICBwbGF5ZXJFeHBlY3RhdGlv
bnNbcGxheWVySWR4XS52YWxpZGF0ZSh0aGlzLl9wbGF5ZXJzW3BsYXllcklkeF0pOworICAgICAg
ICBpZiAoaXNJbkJyb3dzZXIpIHsKKyAgICAgICAgICAgIGZvciAobGV0IHBsYXllcklkeCA9IDA7
IHBsYXllcklkeCA8IHBsYXllckV4cGVjdGF0aW9ucy5sZW5ndGg7IHBsYXllcklkeCsrKQorICAg
ICAgICAgICAgICAgIHBsYXllckV4cGVjdGF0aW9uc1twbGF5ZXJJZHhdLnZhbGlkYXRlKHRoaXMu
X3BsYXllcnNbcGxheWVySWR4XSk7CisgICAgICAgIH0KICAgICB9CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>