<?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>143212</bug_id>
          
          <creation_ts>2015-03-29 23:59:35 -0700</creation_ts>
          <short_desc>Web Inspector: Add more ESLint rules that reflect the current state of the code base</short_desc>
          <delta_ts>2015-03-30 15:05:27 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Tobias Reiss">tobi+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081110</commentid>
    <comment_count>0</comment_count>
    <who name="Tobias Reiss">tobi+webkit</who>
    <bug_when>2015-03-29 23:59:35 -0700</bug_when>
    <thetext>We should get to a point where ESLint can actually be used as a pre-commit hook, similar to &quot;Tools/Scripts/check-webkit-style&quot;. But right now we just have too many linting errors, which is because .eslintrc does not reflect the current state of the code. As soon as we have defined most of the rules, we can fix the errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081111</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-29 23:59:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/20342932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081114</commentid>
    <comment_count>2</comment_count>
      <attachid>249712</attachid>
    <who name="Tobias Reiss">tobi+webkit</who>
    <bug_when>2015-03-30 00:23:51 -0700</bug_when>
    <thetext>Created attachment 249712
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081169</commentid>
    <comment_count>3</comment_count>
      <attachid>249712</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-30 08:44:38 -0700</bug_when>
    <thetext>Comment on attachment 249712
patch

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

&gt; Source/WebInspectorUI/.eslintrc:83
&gt; +        &quot;comma-dangle&quot;: 0,

I don&apos;t like using a comma dangle.

&gt; Source/WebInspectorUI/UserInterface/Models/SourceCodeLocation.js:-214
&gt; -        var currentDisplay = undefined;

This should be legal.

&gt; Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js:-360
&gt; -        var prototypeName = undefined;

Ditto.

&gt; Source/WebInspectorUI/UserInterface/Views/TypeTokenView.js:-113
&gt; -        }.bind(this));

This looks like a bug. The function uses this.

&gt; Source/WebInspectorUI/UserInterface/Views/TypeTokenView.js:113
&gt; +        });

Never mind. I see it does not now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081189</commentid>
    <comment_count>4</comment_count>
      <attachid>249712</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 09:30:05 -0700</bug_when>
    <thetext>Comment on attachment 249712
patch

Clearing flags on attachment: 249712

Committed r182142: &lt;http://trac.webkit.org/changeset/182142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081190</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 09:30:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081272</commentid>
    <comment_count>6</comment_count>
      <attachid>249712</attachid>
    <who name="Tobias Reiss">tobi+webkit</who>
    <bug_when>2015-03-30 12:23:32 -0700</bug_when>
    <thetext>Comment on attachment 249712
patch

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

&gt;&gt; Source/WebInspectorUI/.eslintrc:83
&gt;&gt; +        &quot;comma-dangle&quot;: 0,
&gt; 
&gt; I don&apos;t like using a comma dangle.

The rule is turned off. If you don&apos;t want contributors to use trailing commas than we could set &quot;comma-dangle&quot; to &quot;never&quot;.

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/SourceCodeLocation.js:-214
&gt;&gt; -        var currentDisplay = undefined;
&gt; 
&gt; This should be legal.

If you want both to be legal, we could set &quot;no-undef-init&quot; to 0. But keep in mind that `currentDisplay` is undefined by default. There&apos;s no need to set it explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081315</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-30 14:55:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 249712 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=249712&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/.eslintrc:83
&gt; &gt; +        &quot;comma-dangle&quot;: 0,
&gt; 
&gt; I don&apos;t like using a comma dangle.

I do! It makes diffs easier to read. Also, any good minifier can get rid of the extra commas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081320</commentid>
    <comment_count>8</comment_count>
      <attachid>249712</attachid>
    <who name="Tobias Reiss">tobi+webkit</who>
    <bug_when>2015-03-30 15:05:27 -0700</bug_when>
    <thetext>Comment on attachment 249712
patch

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

&gt;&gt;&gt;&gt; Source/WebInspectorUI/.eslintrc:83
&gt;&gt;&gt;&gt; +        &quot;comma-dangle&quot;: 0,
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t like using a comma dangle.
&gt;&gt; 
&gt;&gt; The rule is turned off. If you don&apos;t want contributors to use trailing commas than we could set &quot;comma-dangle&quot; to &quot;never&quot;.
&gt; 
&gt; I do! It makes diffs easier to read. Also, any good minifier can get rid of the extra commas.

ESLint offers 3 variations. &quot;never&quot;, &quot;always&quot; and &quot;always-multiline&quot;. https://github.com/eslint/eslint/blob/master/docs/rules/comma-dangle.md.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249712</attachid>
            <date>2015-03-30 00:23:51 -0700</date>
            <delta_ts>2015-03-30 09:30:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-143212-20150330092312.patch</filename>
            <type>text/plain</type>
            <size>37465</size>
            <attacher name="Tobias Reiss">tobi+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
NjVjMzdiODFkZjAwYjhmNTZhOWQyOWNhY2ZmYmRhMWQ4ZDMxOTE0Li4wZjE1MzA1NmJiNzcyZjhh
MGJlZTI2MmQ2OWJjZWRhNzNkZmNiNTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MiBAQAorMjAxNS0wMy0zMCAgVG9iaWFzIFJlaXNzICA8dG9iaSt3ZWJraXRAYmFzZWNv
ZGUuZGU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIG1vcmUgRVNMaW50IHJ1bGVzIHRo
YXQgcmVmbGVjdCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY29kZSBiYXNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMyMTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIC5lc2xpbnRyYzoKKyAgICAg
ICAgRGVmaW5lIHNvbWUgdXRpbGl0aWVzIGFzIGdsb2JhbHMuCisgICAgICAgIFJlcGxhY2UgIm5v
LWNvbW1hLWRhbmdsZSIgd2l0aCAiY29tbWEtZGFuZ2xlIi4gIm5vLWNvbW1hLWRhbmdsZSIgaXMg
ZGVwcmVjYXRlZCBhbmQgZG9lcyBub3QgdHJpZ2dlciBpbiBFU0xpbnQgdi4wLjE3LjEKKyAgICAg
ICAgU2V0ICJuZXctY2FwIiB0byAwIGR1ZSB0byB0aGUgdXNhZ2Ugb2YgIldlYkluc3BlY3Rvci5V
SVN0cmluZyIuCisgICAgICAgIERpc2FibGUgIm5vLXJlZGVjbGFyZSIgZm9yIG5vdyBhbmQgZW5h
YmxlIGl0IGJhY2sgYXMgc29vbiBhcyBibG9jayBzY29wZWQgYGxldGAgaXMgdXNlZC4KKyAgICAg
ICAgRGlzYWJsZSAiZG90LW5vdGF0aW9uIiwgIm5vLXNoYWRvdyIgYW5kICJuby11c2UtYmVmb3Jl
LWRlZmluZSIgZHVlIHRvIGEgbG90IG9mIGhpdHMuCisgICAgICAgIERpc2FibGUgIm5vLWlubmVy
LWRlY2xhcmF0aW9ucyIgYXMgdGhpcyBpcyBhIGNvbW1vbiBwYXR0ZXJuIHRvIHNhdmUgbWVtb3J5
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZVByb3BlcnR5VHJlZUVs
ZW1lbnQuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZUxvY2F0
aW9uLmpzOgorICAgICAgICBJdCdzIG5vdCBuZWNlc3NhcnkgdG8gaW5pdGlhbGl6ZSB4IHRvIHVu
ZGVmaW5lZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRp
b25UZXh0RWRpdG9yLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVl
RGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Rl
eHRFZGl0b3IuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0
YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB4Lgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZU1hcEVudHJ5VHJlZUVsZW1l
bnQuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlQYXRoLmpzOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5q
czoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlcGxheURhc2hib2FyZFZpZXcuanM6
CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0U3ludGF4VHJlZS5qczoKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRyZWVFbGVtZW50LmpzOgorICAg
ICAgICBSZW1vdmUgdHJhaWxpbmcgYW5kIHVuZXhwZWN0ZWQgd2hpdGVzcGFjZS4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGF0YUdyaWQuanM6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzOgorICAgICAgICBBZGQgbWlzc2luZyBz
ZW1pY29sb24uCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlk
LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5q
czoKKyAgICAgICAgQWRkIG1pc3NpbmcgdmFyIHN0YXRlbWVudC4KKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1R5cGVUb2tlblZpZXcuanM6CisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBgYmluZGAuCisKIDIwMTUtMDMtMjggIFNhYW0gQmFyYXRpICA8c2FhbWJhcmF0aTFAZ21haWwu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEVTNjogQmV0dGVyIHN1cHBvcnQgZm9yIFN5
bWJvbCB0eXBlcyBpbiBUeXBlIFByb2ZpbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvLmVzbGludHJjIGIvU291cmNlL1dlYkluc3BlY3RvclVJLy5lc2xpbnRyYwppbmRleCBh
YWYyZDhhZjBkYmQ1ZmYwOGE1MGMzN2E2NzJhYzIxM2JmNmMzNDk4Li5lYTIyOTAyZjI1MzhlNTEx
NDgyNWQ2MzhhYjNhMTFlYTc0MWE1OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvLmVzbGludHJjCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS8uZXNsaW50cmMKQEAgLTQw
LDYgKzQwLDcgQEAKICAgICAgICAgIkRhdGFiYXNlQWdlbnQiOiB0cnVlLAogICAgICAgICAiRGVi
dWdnZXJBZ2VudCI6IHRydWUsCiAgICAgICAgICJGb3JtYXR0ZXIiOiB0cnVlLAorICAgICAgICAi
Rm9ybWF0dGVyQ29udGVudEJ1aWxkZXIiOiB0cnVlLAogICAgICAgICAiSW5kZXhlZERCQWdlbnQi
OiB0cnVlLAogICAgICAgICAiSW5zcGVjdG9yQWdlbnQiOiB0cnVlLAogICAgICAgICAiSW5zcGVj
dG9yQmFja2VuZCI6IHRydWUsCkBAIC01MywyNSArNTQsNTMgQEAKICAgICAgICAgIlJ1bnRpbWVB
Z2VudCI6IHRydWUsCiAgICAgICAgICJUaW1lbGluZUFnZW50IjogdHJ1ZSwKICAgICAgICAgIldl
Ykluc3BlY3RvciI6IHRydWUsCisgICAgICAgICJXZWJLaXRQb2ludCI6IHRydWUsCiAgICAgICAg
ICJXb3JrZXJBZ2VudCI6IHRydWUsCiAgICAgICAgICJjb25zb2xlIjogdHJ1ZSwKKyAgICAgICAg
Ly8gdXRpbGl0aWVzCisgICAgICAgICJjbGFtcCI6IHRydWUsCisgICAgICAgICJpc0VudGVyS2V5
IjogdHJ1ZSwKKyAgICAgICAgImlzRW1wdHlPYmplY3QiOiB0cnVlLAorICAgICAgICAiaW5zZXJ0
aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uIjogdHJ1ZSwKKyAgICAgICAg
ImlzRnVuY3Rpb25TdHJpbmdOYXRpdmVDb2RlIjogdHJ1ZSwKKyAgICAgICAgInBhcnNlTUlNRVR5
cGUiOiB0cnVlLAorICAgICAgICAiZG91YmxlUXVvdGVkU3RyaW5nIjogdHJ1ZSwKKyAgICAgICAg
Ly8gaW1hZ2UgdXRpbGl0aWVzCisgICAgICAgICJwbGF0Zm9ybUltYWdlUGF0aCI6IHRydWUsCisg
ICAgICAgICJ3cmFwcGVkU1ZHRG9jdW1lbnQiOiB0cnVlLAorICAgICAgICAvLyB1cmwgdXRpbGl0
aWVzCisgICAgICAgICJhYnNvbHV0ZVVSTCI6IHRydWUsCisgICAgICAgICJwYXJzZVF1ZXJ5U3Ry
aW5nIjogdHJ1ZSwKKyAgICAgICAgInBhcnNlVVJMIjogdHJ1ZSwKKyAgICAgICAgInBhcnNlU2Vj
dXJpdHlPcmlnaW4iOiB0cnVlLAorICAgICAgICAicmVtb3ZlVVJMRnJhZ21lbnQiOiB0cnVlLAor
ICAgICAgICAvLyBleHRlcm5hbHMKKyAgICAgICAgImVzcHJpbWEiOiB0cnVlLAogICAgIH0sCiAg
ICAgInJ1bGVzIjogewogICAgICAgICAiY29uc2lzdGVudC1yZXR1cm4iOiAyLAogICAgICAgICAi
Y3VybHkiOiAwLAorICAgICAgICAiY29tbWEtZGFuZ2xlIjogMCwKKyAgICAgICAgImRvdC1ub3Rh
dGlvbiI6IDAsCiAgICAgICAgICJlcWVxZXEiOiAyLAorICAgICAgICAibmV3LWNhcCI6IDAsCiAg
ICAgICAgICJuZXctcGFyZW5zIjogMCwKLSAgICAgICAgIm5vLWNvbW1hLWRhbmdsZSI6IDAsCiAg
ICAgICAgICJuby1jb25zb2xlIjogMCwKICAgICAgICAgIm5vLWNvbnN0YW50LWNvbmRpdGlvbiI6
IDAsCiAgICAgICAgICJuby1leHRyYS1iaW5kIjogMiwKICAgICAgICAgIm5vLWV4dHJhLXNlbWki
OiAyLAorICAgICAgICAibm8taW5uZXItZGVjbGFyYXRpb25zIjogMCwKKyAgICAgICAgIm5vLW5l
dyI6IDAsCiAgICAgICAgICJuby1wcm90byI6IDAsCisgICAgICAgICJuby1yZWRlY2xhcmUiOiAw
LAogICAgICAgICAibm8tcmV0dXJuLWFzc2lnbiI6IDIsCisgICAgICAgICJuby1zaGFkb3ciOiAw
LAogICAgICAgICAibm8tdHJhaWxpbmctc3BhY2VzIjogMiwKICAgICAgICAgIm5vLXVuZGVmIjog
MiwKKyAgICAgICAgIm5vLXVudXNlZC12YXJzIjogWzIsIHsidmFycyI6ICJhbGwiLCAiYXJncyI6
ICJub25lIn1dLAogICAgICAgICAibm8tdW5kZXJzY29yZS1kYW5nbGUiOiAwLAogICAgICAgICAi
bm8tdW51c2VkLWV4cHJlc3Npb25zIjogMiwKKyAgICAgICAgIm5vLXVzZS1iZWZvcmUtZGVmaW5l
IjogMCwKICAgICAgICAgIm5vLXdyYXAtZnVuYyI6IDIsCiAgICAgICAgICJxdW90ZXMiOiBbMiwg
ImRvdWJsZSJdLAogICAgICAgICAic2VtaSI6IDIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlQYXRoLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Byb3BlcnR5UGF0aC5qcwppbmRleCBl
MDkwZGI4ZjU5OGY1YTJhMjgzYWUyMWVkMTgyNjJlYmQzYjI3ZmI1Li5lNjY1NzUzNTdiNzM1NGM3
MjIwY2U4Y2E4OTliMDNkNTBiYzI1ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUHJvcGVydHlQYXRoLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Qcm9wZXJ0eVBhdGguanMKQEAgLTEwMSw3
ICsxMDEsNyBAQCBXZWJJbnNwZWN0b3IuUHJvcGVydHlQYXRoID0gY2xhc3MgUHJvcGVydHlQYXRo
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB2YXIgY29tcG9uZW50cyA9IFtd
OwogICAgICAgICBmb3IgKHZhciBwID0gdGhpczsgcCAmJiBwLnBhdGhDb21wb25lbnQ7IHAgPSBw
LnBhcmVudCkKICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChwLnBhdGhDb21wb25lbnQpOwot
ICAgICAgICBjb21wb25lbnRzLnJldmVyc2UoKQorICAgICAgICBjb21wb25lbnRzLnJldmVyc2Uo
KTsKICAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMuam9pbigiIik7CiAgICAgfQogCkBAIC0xMjYs
NyArMTI2LDcgQEAgV2ViSW5zcGVjdG9yLlByb3BlcnR5UGF0aCA9IGNsYXNzIFByb3BlcnR5UGF0
aCBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgfQogCiAgICAgICAgIGNvbXBv
bmVudHMucmV2ZXJzZSgpOwotICAgICAgICByZXR1cm4gY29tcG9uZW50cy5qb2luKCIiKTsgICAg
ICAgIAorICAgICAgICByZXR1cm4gY29tcG9uZW50cy5qb2luKCIiKTsKICAgICB9CiAKICAgICBk
aXNwbGF5UGF0aCh0eXBlKQpAQCAtMjE0LDEzICsyMTQsMTMgQEAgV2ViSW5zcGVjdG9yLlByb3Bl
cnR5UGF0aCA9IGNsYXNzIFByb3BlcnR5UGF0aCBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
ICAgICAgICAgaWYgKGtleU9iamVjdCAmJiBrZXlPYmplY3QuaGFzVmFsdWUoKSkgewogICAgICAg
ICAgICAgaWYgKGtleU9iamVjdC50eXBlID09PSAic3RyaW5nIikgewogICAgICAgICAgICAgICAg
IHZhciBjb21wb25lbnQgPSAiLmdldCgiICsgZG91YmxlUXVvdGVkU3RyaW5nKGtleU9iamVjdC5k
ZXNjcmlwdGlvbikgKyAiKSI7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0
b3IuUHJvcGVydHlQYXRoKG9iamVjdCwgY29tcG9uZW50LCB0aGlzKTsgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvcGVydHlQYXRoKG9i
amVjdCwgY29tcG9uZW50LCB0aGlzKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgdmFy
IGNvbXBvbmVudCA9ICIuZ2V0KCIgKyBrZXlPYmplY3QuZGVzY3JpcHRpb24gKyAiKSI7Ci0gICAg
ICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9wZXJ0eVBhdGgob2JqZWN0LCBjb21w
b25lbnQsIHRoaXMpOyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2Vi
SW5zcGVjdG9yLlByb3BlcnR5UGF0aChvYmplY3QsIGNvbXBvbmVudCwgdGhpcyk7CiAgICAgICAg
IH0KLSAgICAgICAgICAgIAorCiAgICAgICAgIHZhciBjb21wb25lbnQgPSBXZWJJbnNwZWN0b3Iu
UHJvcGVydHlQYXRoLlNwZWNpYWxQYXRoQ29tcG9uZW50Lk1hcFZhbHVlOwogICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9wZXJ0eVBhdGgob2JqZWN0LCBjb21wb25lbnQsIHRoaXMp
OwogICAgIH0KQEAgLTIzMCw3ICsyMzAsNyBAQCBXZWJJbnNwZWN0b3IuUHJvcGVydHlQYXRoID0g
Y2xhc3MgUHJvcGVydHlQYXRoIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB2
YXIgY29tcG9uZW50ID0gV2ViSW5zcGVjdG9yLlByb3BlcnR5UGF0aC5TcGVjaWFsUGF0aENvbXBv
bmVudC5TZXRJbmRleDsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvcGVydHlQ
YXRoKG9iamVjdCwgY29tcG9uZW50LCB0aGlzKTsKICAgICB9Ci0gICAgCisKICAgICBhcHBlbmRQ
cm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBkZXNjcmlwdG9yLCB0eXBlKQogICAgIHsKICAgICAg
ICAgaWYgKGRlc2NyaXB0b3IuaXNJbnRlcm5hbFByb3BlcnR5KQpAQCAtMjQ4LDcgKzI0OCw3IEBA
IFdlYkluc3BlY3Rvci5Qcm9wZXJ0eVBhdGggPSBjbGFzcyBQcm9wZXJ0eVBhdGggZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIGlmICh0aGlzLl9vYmplY3Quc3VidHlwZSA9PT0g
ImFycmF5IiAmJiAhaXNOYU4ocGFyc2VJbnQoZGVzY3JpcHRvci5uYW1lKSkpCiAgICAgICAgICAg
ICByZXR1cm4gdGhpcy5hcHBlbmRBcnJheUluZGV4KG9iamVjdCwgZGVzY3JpcHRvci5uYW1lKTsK
IAotICAgICAgICByZXR1cm4gdGhpcy5hcHBlbmRQcm9wZXJ0eU5hbWUob2JqZWN0LCBkZXNjcmlw
dG9yLm5hbWUpCisgICAgICAgIHJldHVybiB0aGlzLmFwcGVuZFByb3BlcnR5TmFtZShvYmplY3Qs
IGRlc2NyaXB0b3IubmFtZSk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFN5bnRheFRy
ZWUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0
U3ludGF4VHJlZS5qcwppbmRleCA2OWQxMDkzOGEwMjdiNDgwZTE5N2U1ODAzMTAyYjM0MmNiMmJh
OTM3Li5iYWFiNmMwNGJjMzNmNDQwMzY0ZTdkZDIzMWI2ODFkZTZiMmU5M2NlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0U3ludGF4
VHJlZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
U2NyaXB0U3ludGF4VHJlZS5qcwpAQCAtNDUsNyArNDUsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
U3ludGF4VHJlZSA9IGNsYXNzIFNjcmlwdFN5bnRheFRyZWUgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZQogICAgIH0KIAogICAgIC8vIFB1YmxpYwotICAgIAorCiAgICAgZ2V0IHBhcnNlZFN1Y2Nl
c3NmdWxseSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VkU3VjY2Vzc2Z1bGx5
OwpAQCAtNjAsNyArNjAsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0U3ludGF4VHJlZSA9IGNsYXNz
IFNjcmlwdFN5bnRheFRyZWUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICB0aGlz
Ll9yZWN1cnNlKHRoaXMuX3N5bnRheFRyZWUsIGNhbGxiYWNrLCB0aGlzLl9kZWZhdWx0UGFyc2Vy
U3RhdGUoKSk7CiAgICAgfQogCi0gICAgZmlsdGVyKHByZWRpY2F0ZSwgc3RhcnROb2RlKSAKKyAg
ICBmaWx0ZXIocHJlZGljYXRlLCBzdGFydE5vZGUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFz
c2VydChzdGFydE5vZGUgJiYgdGhpcy5fcGFyc2VkU3VjY2Vzc2Z1bGx5KTsKICAgICAgICAgaWYg
KCF0aGlzLl9wYXJzZWRTdWNjZXNzZnVsbHkpCkBAIC03Miw3ICs3Miw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRTeW50YXhUcmVlID0gY2xhc3MgU2NyaXB0U3ludGF4VHJlZSBleHRlbmRzIFdlYklu
c3BlY3Rvci5PYmplCiAgICAgICAgICAgICBpZiAocHJlZGljYXRlKG5vZGUpKQogICAgICAgICAg
ICAgICAgIG5vZGVzLnB1c2gobm9kZSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgc3RhdGUuc2tpcENoaWxkTm9kZXMgPSB0cnVlOyAKKyAgICAgICAgICAgICAgICBzdGF0ZS5z
a2lwQ2hpbGROb2RlcyA9IHRydWU7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9yZWN1cnNl
KHN0YXJ0Tm9kZSwgZmlsdGVyLCB0aGlzLl9kZWZhdWx0UGFyc2VyU3RhdGUoKSk7CkBAIC04NSw3
ICs4NSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRTeW50YXhUcmVlID0gY2xhc3MgU2NyaXB0U3lu
dGF4VHJlZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRoaXMuX3BhcnNlZFN1Y2Nlc3NmdWxseSk7CiAgICAgICAgIGlmICghdGhpcy5fcGFyc2VkU3Vj
Y2Vzc2Z1bGx5KQogICAgICAgICAgICAgcmV0dXJuIFtdOwotICAgICAgICAKKwogICAgICAgICB2
YXIgYWxsTm9kZXMgPSBbXTsKICAgICAgICAgdmFyIHN0YXJ0ID0gMDsKICAgICAgICAgdmFyIGVu
ZCA9IDE7CkBAIC0xMjcsNyArMTI3LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFN5bnRheFRyZWUg
PSBjbGFzcyBTY3JpcHRTeW50YXhUcmVlIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamUKIAogICAg
ICAgICBmdW5jdGlvbiByZW1vdmVGdW5jdGlvbnNGaWx0ZXIobm9kZSkKICAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIG5vZGUudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlNjcmlwdFN5bnRheFRy
ZWUuTm9kZVR5cGUuRnVuY3Rpb25FeHByZXNzaW9uIAorICAgICAgICAgICAgcmV0dXJuIG5vZGUu
dHlwZSAhPT0gV2ViSW5zcGVjdG9yLlNjcmlwdFN5bnRheFRyZWUuTm9kZVR5cGUuRnVuY3Rpb25F
eHByZXNzaW9uCiAgICAgICAgICAgICAgICAgJiYgbm9kZS50eXBlICE9PSBXZWJJbnNwZWN0b3Iu
U2NyaXB0U3ludGF4VHJlZS5Ob2RlVHlwZS5GdW5jdGlvbkRlY2xhcmF0aW9uOwogICAgICAgICB9
CiAKQEAgLTE0MCw3ICsxNDAsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0U3ludGF4VHJlZSA9IGNs
YXNzIFNjcmlwdFN5bnRheFRyZWUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgICAKKwogICAg
ICAgICBzdGFydE5vZGUuYXR0YWNobWVudHMuX2hhc05vbkVtcHR5UmV0dXJuU3RhdGVtZW50ID0g
aGFzTm9uRW1wdHlSZXR1cm5TdGF0ZW1lbnQ7CiAKICAgICAgICAgcmV0dXJuIGhhc05vbkVtcHR5
UmV0dXJuU3RhdGVtZW50OwpAQCAtMjIxLDcgKzIyMSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRT
eW50YXhUcmVlID0gY2xhc3MgU2NyaXB0U3ludGF4VHJlZSBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplCiAKICAgICBfZ2F0aGVySWRlbnRpZmllcnNJbkRlY2xhcmF0aW9uKG5vZGUpCiAgICAgewot
ICAgICAgICBmdW5jdGlvbiBnYXRoZXJJZGVudGlmaWVycyhub2RlKSAKKyAgICAgICAgZnVuY3Rp
b24gZ2F0aGVySWRlbnRpZmllcnMobm9kZSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNo
IChub2RlLnR5cGUpIHsKICAgICAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5TY3JpcHRT
eW50YXhUcmVlLk5vZGVUeXBlLklkZW50aWZpZXI6CkBAIC0yNTMsNyArMjUzLDcgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdFN5bnRheFRyZWUgPSBjbGFzcyBTY3JpcHRTeW50YXhUcmVlIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLk9iamUKICAgICAgICAgcmV0dXJuIGdhdGhlcklkZW50aWZpZXJzKG5vZGUp
OwogICAgIH0KIAotICAgIF9kZWZhdWx0UGFyc2VyU3RhdGUoKSAKKyAgICBfZGVmYXVsdFBhcnNl
clN0YXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICBzaG91bGRTdG9w
RWFybHk6IGZhbHNlLApAQCAtMjYxLDcgKzI2MSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRTeW50
YXhUcmVlID0gY2xhc3MgU2NyaXB0U3ludGF4VHJlZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmpl
CiAgICAgICAgIH07CiAgICAgfQogCi0gICAgX3JlY3Vyc2Uobm9kZSwgY2FsbGJhY2ssIHN0YXRl
KSAKKyAgICBfcmVjdXJzZShub2RlLCBjYWxsYmFjaywgc3RhdGUpCiAgICAgewogICAgICAgICBp
ZiAoIW5vZGUpCiAgICAgICAgICAgICByZXR1cm47CkBAIC00ODcsMTcgKzQ4NywxNyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0U3ludGF4VHJlZSA9IGNsYXNzIFNjcmlwdFN5bnRheFRyZWUgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAgICBzdGF0ZS5za2lwQ2hpbGROb2RlcyA9IGZhbHNl
OwogICAgIH0KIAotICAgIF9yZWN1cnNlQXJyYXkoYXJyYXksIGNhbGxiYWNrLCBzdGF0ZSkgCisg
ICAgX3JlY3Vyc2VBcnJheShhcnJheSwgY2FsbGJhY2ssIHN0YXRlKQogICAgIHsKICAgICAgICAg
Zm9yICh2YXIgbm9kZSBvZiBhcnJheSkKICAgICAgICAgICAgIHRoaXMuX3JlY3Vyc2Uobm9kZSwg
Y2FsbGJhY2ssIHN0YXRlKTsKICAgICB9Ci0gICAgCi0gICAgLy8gVGhpcyBmdW5jdGlvbiB0cmFu
c2xhdGVzIGZyb20gZXNwcmltYSdzIEFic3RyYWN0IFN5bnRheCBUcmVlIHRvIG91cnMuIAorCisg
ICAgLy8gVGhpcyBmdW5jdGlvbiB0cmFuc2xhdGVzIGZyb20gZXNwcmltYSdzIEFic3RyYWN0IFN5
bnRheCBUcmVlIHRvIG91cnMuCiAgICAgLy8gTW9zdGx5LCB0aGlzIGlzIGp1c3QgdGhlIGlkZW50
aXR5IGZ1bmN0aW9uLiBXZSd2ZSBhZGRlZCBhbiBleHRyYSBpc0dldHRlck9yU2V0dGVyIHByb3Bl
cnR5IGZvciBmdW5jdGlvbnMuCiAgICAgLy8gT3VyIEFTVCBjb21wbGllcyB3aXRoIHRoZSBNb3pp
bGxhIHBhcnNlciBBUEk6CiAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4t
VVMvZG9jcy9Nb3ppbGxhL1Byb2plY3RzL1NwaWRlck1vbmtleS9QYXJzZXJfQVBJCi0gICAgX2Ny
ZWF0ZUludGVybmFsU3ludGF4VHJlZShub2RlKSAKKyAgICBfY3JlYXRlSW50ZXJuYWxTeW50YXhU
cmVlKG5vZGUpCiAgICAgewogICAgICAgICBpZiAoIW5vZGUpCiAgICAgICAgICAgICByZXR1cm4g
bnVsbDsKQEAgLTU3OSw3ICs1NzksNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0U3ludGF4VHJlZSA9
IGNsYXNzIFNjcmlwdFN5bnRheFRyZWUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAgICAg
ICAgICAgICAgIHN1cGVyQ2xhc3M6IHRoaXMuX2NyZWF0ZUludGVybmFsU3ludGF4VHJlZShub2Rl
LnN1cGVyQ2xhc3MpLAogICAgICAgICAgICAgICAgIGJvZHk6IHRoaXMuX2NyZWF0ZUludGVybmFs
U3ludGF4VHJlZShub2RlLmJvZHkpLAogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGJyZWFr
OyAgICAgICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgIkNvbmRpdGlv
bmFsRXhwcmVzc2lvbiI6CiAgICAgICAgICAgICByZXN1bHQgPSB7CiAgICAgICAgICAgICAgICAg
dHlwZTogV2ViSW5zcGVjdG9yLlNjcmlwdFN5bnRheFRyZWUuTm9kZVR5cGUuQ29uZGl0aW9uYWxF
eHByZXNzaW9uLApAQCAtODUzLDcgKzg1Myw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRTeW50YXhU
cmVlID0gY2xhc3MgU2NyaXB0U3ludGF4VHJlZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAg
ICAgICAgICAgICBjb25zb2xlLmVycm9yKCJVbnN1cHBvcnRlZCBTeW50YXggVHJlZSBOb2RlOiAi
ICsgbm9kZS50eXBlLCBub2RlKTsKICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9
Ci0gICAgICAgIAorCiAgICAgICAgIHJlc3VsdC5yYW5nZSA9IG5vZGUucmFuZ2U7CiAgICAgICAg
IC8vIFRoaXMgaXMgYW4gb2JqZWN0IGZvciB3aGljaCB5b3UgY2FuIGFkZCBmaWVsZHMgdG8gYW4g
QVNUIG5vZGUgd2l0aG91dCB3b3JyeWluZyBhYm91dCBwb2xsdXRpbmcgdGhlIHN5bnRheC1yZWxh
dGVkIGZpZWxkcyBvZiB0aGUgbm9kZS4KICAgICAgICAgcmVzdWx0LmF0dGFjaG1lbnRzID0ge307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
U291cmNlQ29kZUxvY2F0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1NvdXJjZUNvZGVMb2NhdGlvbi5qcwppbmRleCA1NzI0ZTBkZTI2YTMwMjNkNDFl
Y2M4ZWViNWI0ODQ3ZmYyN2I0ODU1Li5lM2JjMjBmOGU5ZTE0NThiOGVlMDYwYjJjMGYwODAwZmYx
NjgzYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvU291cmNlQ29kZUxvY2F0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlTG9jYXRpb24uanMKQEAgLTIxMSw3ICsyMTEs
NyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZUxvY2F0aW9uID0gY2xhc3MgU291cmNlQ29kZUxv
Y2F0aW9uIGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgcG9wdWxhdGVMaXZlRGlzcGxheUxv
Y2F0aW9uU3RyaW5nKGVsZW1lbnQsIHByb3BlcnR5TmFtZSwgY29sdW1uU3R5bGUsIG5hbWVTdHls
ZSwgcHJlZml4KQogICAgIHsKLSAgICAgICAgdmFyIGN1cnJlbnREaXNwbGF5ID0gdW5kZWZpbmVk
OworICAgICAgICB2YXIgY3VycmVudERpc3BsYXk7CiAKICAgICAgICAgZnVuY3Rpb24gdXBkYXRl
RGlzcGxheVN0cmluZyhzaG93QWx0ZXJuYXRpdmVMb2NhdGlvbiwgZm9yY2VVcGRhdGUpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMK
aW5kZXggMDNlNDc1YTNkNTk4NzEzMTAwMDE0ODI4NTM5YzczYzcyNGM0ODRiNS4uOTNkYmU5ZDNl
YjdjMzNhODQzYTQyZmU0MTc4NGRmOGYzZmU1ZmZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0
b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NT
U3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKQEAgLTMxMCw4ICszMTAsNiBAQCBXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IgPSBjbGFzcyBDU1NTdHlsZURlY2xh
cmF0aW9uVGV4dEVkaXRvcgogICAgICAgICB7CiAgICAgICAgICAgICB0aGlzLl9jbGVhclRleHRN
YXJrZXJzKHRydWUpOwogCi0gICAgICAgICAgICB2YXIgc3R5bGVUZXh0ID0gdGhpcy5fc3R5bGUu
dGV4dDsKLQogICAgICAgICAgICAgdGhpcy5faXRlcmF0ZU92ZXJQcm9wZXJ0aWVzKHRydWUsIGZ1
bmN0aW9uKHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgdmFyIHN0eWxlVGV4dFJhbmdlID0g
cHJvcGVydHkuc3R5bGVEZWNsYXJhdGlvblRleHRSYW5nZTsKICAgICAgICAgICAgICAgICBjb25z
b2xlLmFzc2VydChzdHlsZVRleHRSYW5nZSk7CkBAIC0zOTUsNyArMzkzLDYgQEAgV2ViSW5zcGVj
dG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJh
dGlvblRleHRFZGl0b3IKICAgICAgICAgICAgICAgICBzd2F0Y2hFbGVtZW50LmFwcGVuZENoaWxk
KHN3YXRjaElubmVyRWxlbWVudCk7CiAKICAgICAgICAgICAgICAgICB2YXIgY29kZU1pcnJvclRl
eHRNYXJrZXIgPSBtYXJrZXIuY29kZU1pcnJvclRleHRNYXJrZXI7Ci0gICAgICAgICAgICAgICAg
dmFyIHN3YXRjaE1hcmtlciA9IHRoaXMuX2NvZGVNaXJyb3Iuc2V0VW5pcXVlQm9va21hcmsoY29k
ZU1pcnJvclRleHRNYXJrZXIuZmluZCgpLmZyb20sIHN3YXRjaEVsZW1lbnQpOwogCiAgICAgICAg
ICAgICAgICAgc3dhdGNoSW5uZXJFbGVtZW50Ll9fY29sb3JUZXh0TWFya2VyID0gY29kZU1pcnJv
clRleHRNYXJrZXI7CiAgICAgICAgICAgICAgICAgc3dhdGNoSW5uZXJFbGVtZW50Ll9fY29sb3Ig
PSBjb2xvcjsKQEAgLTEwMTAsNCArMTAwNyw0IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xh
cmF0aW9uVGV4dEVkaXRvci5Db2xvclN3YXRjaEVsZW1lbnRTdHlsZUNsYXNzTmFtZSA9ICJjCiBX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuQ2hlY2tib3hQbGFjZWhv
bGRlckVsZW1lbnRTdHlsZUNsYXNzTmFtZSA9ICJjaGVja2JveC1wbGFjZWhvbGRlciI7CiBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuRWRpdGluZ0xpbmVTdHlsZUNs
YXNzTmFtZSA9ICJlZGl0aW5nLWxpbmUiOwogV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25UZXh0RWRpdG9yLkNvbW1pdENvYWxlc2NlRGVsYXkgPSAyNTA7Ci1XZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuUmVtb3ZlRWRpdGluZ0xpbmVDbGFzc2VzRGVsYXkg
PSAyMDAwOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dlYkluc3BlY3Rvci5DU1NTdHls
ZURlY2xhcmF0aW9uVGV4dEVkaXRvci5SZW1vdmVFZGl0aW5nTGluZUNsYXNzZXNEZWxheSA9IDIw
MDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRl
eCBiOWMwZjhmY2Q3Y2FlMzVlY2NmODBhYzQwODViZjc2ZDZjZGQ3MDc2Li5hYTVkMjVhNzRiZGRh
ZmI5OWE4ZjVlNTQ0OWRkYWRkNDVhMGU4Y2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJl
ZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTI0NSw4ICsyNDUsNiBAQCBXZWJJbnNwZWN0b3Iu
TGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRl
YmFyUGFuZWwgZQogCiAgICAgX3VwZGF0ZUxheWVySW5mb1NlY3Rpb24obGF5ZXIpCiAgICAgewot
ICAgICAgICB2YXIgZW1EYXNoID0gIlx1MjAxNCI7Ci0KICAgICAgICAgdGhpcy5fbGF5ZXJJbmZv
U2VjdGlvbi5ncm91cHMgPSBsYXllciA/IFt0aGlzLl9sYXllckluZm9Hcm91cF0gOiBbdGhpcy5f
bm9MYXllckluZm9ybWF0aW9uR3JvdXBdOwogCiAgICAgICAgIGlmICghbGF5ZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVl
TWFwRW50cnlUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL09iamVjdFRyZWVNYXBFbnRyeVRyZWVFbGVtZW50LmpzCmluZGV4IGQ2YmE0N2U3
MzliOWJjYzY2Y2VkNTJiZGExOGM4YTQ5M2E1YWI4YzcuLjU5MWRiN2YyNTBkMGQyYTNmM2YxMTFh
NTc3ZjAyM2QyZGRjM2YyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVNYXBFbnRyeVRyZWVFbGVtZW50LmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVNYXBFbnRy
eVRyZWVFbGVtZW50LmpzCkBAIC04OSw3ICs4OSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RUcmVl
TWFwS2V5VHJlZUVsZW1lbnQgPSBjbGFzcyBPYmplY3RUcmVlTWFwS2V5VHJlZUVsZW1lbnQgZXh0
CiAKICAgICAgICAgdGhpcy5hZGRDbGFzc05hbWUoImtleSIpOwogICAgIH0KLSAgICAKKwogICAg
IC8vIFByb3RlY3RlZAogCiAgICAgZGlzcGxheVByb3BlcnR5TmFtZSgpCkBAIC0xMTMsNyArMTEz
LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVNYXBWYWx1ZVRyZWVFbGVtZW50ID0gY2xhc3Mg
T2JqZWN0VHJlZU1hcFZhbHVlVHJlZUVsZW1lbnQKIAogICAgICAgICB0aGlzLmFkZENsYXNzTmFt
ZSgidmFsdWUiKTsKICAgICB9Ci0gICAgCisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAgIGRpc3Bs
YXlQcm9wZXJ0eU5hbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZVByb3BlcnR5VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlUHJvcGVydHlUcmVl
RWxlbWVudC5qcwppbmRleCA2NDZhNjNkZDgzY2M0ZGFlMDdlMWUxZDQ1OWE2M2I0Mzg1NWEzN2Q0
Li44MDYyNTA3NmFiMjEyZmQ3NGQzNGM4YmRiZjUyYzk2ZTU2MzFmMDM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlUHJvcGVy
dHlUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9PYmplY3RUcmVlUHJvcGVydHlUcmVlRWxlbWVudC5qcwpAQCAtNTAsNyArNTAsNyBA
QCBXZWJJbnNwZWN0b3IuT2JqZWN0VHJlZVByb3BlcnR5VHJlZUVsZW1lbnQgPSBjbGFzcyBPYmpl
Y3RUcmVlUHJvcGVydHlUcmVlRWxlbWVudAogICAgICAgICB0aGlzLl91cGRhdGVUb29sdGlwcygp
OwogICAgICAgICB0aGlzLl91cGRhdGVIYXNDaGlsZHJlbigpOwogICAgIH0KLSAgICAKKwogICAg
IC8vIFByb3RlY3RlZAogCiAgICAgb25wb3B1bGF0ZSgpCkBAIC0zNTcsNyArMzU3LDcgQEAgV2Vi
SW5zcGVjdG9yLk9iamVjdFRyZWVQcm9wZXJ0eVRyZWVFbGVtZW50ID0gY2xhc3MgT2JqZWN0VHJl
ZVByb3BlcnR5VHJlZUVsZW1lbnQKICAgICAgICAgdmFyIGlzUHJvcGVydHlNb2RlID0gbW9kZSA9
PT0gV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVWaWV3Lk1vZGUuUHJvcGVydGllcyB8fCB0aGlzLl9n
ZXR0ZXJWYWx1ZTsKICAgICAgICAgdmFyIGlzQVBJID0gbW9kZSAhPT0gV2ViSW5zcGVjdG9yLk9i
amVjdFRyZWVWaWV3Lk1vZGUuUHJvdG90eXBlOwogCi0gICAgICAgIHZhciBwcm90b3R5cGVOYW1l
ID0gdW5kZWZpbmVkOworICAgICAgICB2YXIgcHJvdG90eXBlTmFtZTsKICAgICAgICAgaWYgKHRo
aXMucHJvcGVydHkubmFtZSA9PT0gIl9fcHJvdG9fXyIpIHsKICAgICAgICAgICAgIGlmIChyZXNv
bHZlZFZhbHVlLmRlc2NyaXB0aW9uKQogICAgICAgICAgICAgICAgIHByb3RvdHlwZU5hbWUgPSB0
aGlzLl9zYW5pdGl6ZWRQcm90b3R5cGVTdHJpbmcocmVzb2x2ZWRWYWx1ZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZVNldERhdGFH
cmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVT
ZXREYXRhR3JpZC5qcwppbmRleCAxY2I3ZWJjNWUxMGQ2NDgwY2JhZGZhODExNTc4Y2NhNDEyMTA3
MzBkLi41MWExOWJhOGNiZTI3NjE0MWI1NDYxMTNiYmY1OWFlOTEwYjRlNWIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZVNldERhdGFH
cmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1By
b2JlU2V0RGF0YUdyaWQuanMKQEAgLTQ2LDExICs0NiwxMSBAQCBXZWJJbnNwZWN0b3IuUHJvYmVT
ZXREYXRhR3JpZCA9IGZ1bmN0aW9uKHByb2JlU2V0KQogICAgIHRoaXMuX2xpc3RlbmVycy5yZWdp
c3Rlcihwcm9iZVNldCwgV2ViSW5zcGVjdG9yLlByb2JlU2V0LkV2ZW50LlByb2JlQWRkZWQsIHRo
aXMuX3NldHVwUHJvYmUpOwogICAgIHRoaXMuX2xpc3RlbmVycy5yZWdpc3Rlcihwcm9iZVNldCwg
V2ViSW5zcGVjdG9yLlByb2JlU2V0LkV2ZW50LlByb2JlUmVtb3ZlZCwgdGhpcy5fdGVhcmRvd25Q
cm9iZSk7CiAgICAgdGhpcy5fbGlzdGVuZXJzLnJlZ2lzdGVyKHByb2JlU2V0LCBXZWJJbnNwZWN0
b3IuUHJvYmVTZXQuRXZlbnQuU2FtcGxlc0NsZWFyZWQsIHRoaXMuX3NldHVwRGF0YSk7Ci0gICAg
dGhpcy5fbGlzdGVuZXJzLnJlZ2lzdGVyKFdlYkluc3BlY3Rvci5Qcm9iZSwgV2ViSW5zcGVjdG9y
LlByb2JlLkV2ZW50LkV4cHJlc3Npb25DaGFuZ2VkLCB0aGlzLl9wcm9iZUV4cHJlc3Npb25DaGFu
Z2VkKQorICAgIHRoaXMuX2xpc3RlbmVycy5yZWdpc3RlcihXZWJJbnNwZWN0b3IuUHJvYmUsIFdl
Ykluc3BlY3Rvci5Qcm9iZS5FdmVudC5FeHByZXNzaW9uQ2hhbmdlZCwgdGhpcy5fcHJvYmVFeHBy
ZXNzaW9uQ2hhbmdlZCk7CiAgICAgdGhpcy5fbGlzdGVuZXJzLmluc3RhbGwoKTsKIAogICAgIHRo
aXMuX3NldHVwRGF0YSgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUdyaWQu
RGF0YVVwZGF0ZWRTdHlsZUNsYXNzTmFtZSA9ICJkYXRhLXVwZGF0ZWQiOwogV2ViSW5zcGVjdG9y
LlByb2JlU2V0RGF0YUdyaWQuUGFzdEZyYW1lU3R5bGVDbGFzc05hbWUgPSAicGFzdC12YWx1ZSI7
CkBAIC0xOTIsNCArMTkyLDQgQEAgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUdyaWQucHJvdG90
eXBlID0gewogICAgICAgICBmb3IgKHZhciBmcmFtZSBvZiB0aGlzLl9kYXRhLmZyYW1lcykKICAg
ICAgICAgICAgIHRoaXMuX3VwZGF0ZU5vZGVGb3JGcmFtZShmcmFtZSk7CiAgICAgfQotfQorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jh
ZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLmpzCmluZGV4IGFjODJkOTll
MTRlNWIyNzg1Mjk3N2E4Mjk3MDI2ZmEyZGYzOTI0YzQuLjIzODcxNTc3ZGJiNGIwZThiNThlN2Ji
NWQzMzBkOGRmYmQ0Y2MzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmFkaW9CdXR0b25OYXZpZ2F0aW9u
SXRlbS5qcwpAQCAtNzAsNyArNzAsNyBAQCBXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0
aW9uSXRlbS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBjbGFzc05hbWVzID0gdGhpcy5fY2xh
c3NOYW1lcy5qb2luKCIuIik7CiAKICAgICAgICAgLy8gRGVmYXVsdCBzdGF0ZS4KLSAgICAgICAg
dmFyIHN0eWxlVGV4dCA9IHBhcmVudFNlbGVjdG9yICsgIiAuIiArIGNsYXNzTmFtZXMgKyAiID4g
LmdseXBoIHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1jYW52YXMoIiArIHRoaXMuX2NhbnZh
c0lkZW50aWZpZXIoKSArICIpOyBiYWNrZ3JvdW5kLXNpemU6ICIgKyAgdGhpcy5faW1hZ2VXaWR0
aCArICJweCAiICsgdGhpcy5faW1hZ2VIZWlnaHQgKyAicHg7IH1cbiI7CisgICAgICAgIHZhciBz
dHlsZVRleHQgPSBwYXJlbnRTZWxlY3RvciArICIgLiIgKyBjbGFzc05hbWVzICsgIiA+IC5nbHlw
aCB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtY2FudmFzKCIgKyB0aGlzLl9jYW52YXNJZGVu
dGlmaWVyKCkgKyAiKTsgYmFja2dyb3VuZC1zaXplOiAiICsgdGhpcy5faW1hZ2VXaWR0aCArICJw
eCAiICsgdGhpcy5faW1hZ2VIZWlnaHQgKyAicHg7IH1cbiI7CiAKICAgICAgICAgLy8gU2VsZWN0
ZWQgc3RhdGUuCiAgICAgICAgIHN0eWxlVGV4dCArPSBwYXJlbnRTZWxlY3RvciArICIgLiIgKyBj
bGFzc05hbWVzICsgIi5zZWxlY3RlZDpub3QoLmRpc2FibGVkKSA+IC5nbHlwaCB7IGJhY2tncm91
bmQtaW1hZ2U6IC13ZWJraXQtY2FudmFzKCIgKyB0aGlzLl9jYW52YXNJZGVudGlmaWVyKFdlYklu
c3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdGF0ZXMuRm9jdXMpICsgIik7IH1cbiI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXBs
YXlEYXNoYm9hcmRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVwbGF5RGFzaGJvYXJkVmlldy5qcwppbmRleCA5MmNiZmI4YjZjMjFlOGYxZWU2MDBh
ZTdmOTdiYjk2OGRhMTgyMGZlLi40YjA3ZDM3YWFjOGMxYmI2NTlkZjdjZTQxZGJlZmMwMmY1YWZk
YWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZXBsYXlEYXNoYm9hcmRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JlcGxheURhc2hib2FyZFZpZXcuanMKQEAgLTYyLDcgKzYyLDcgQEAg
V2ViSW5zcGVjdG9yLlJlcGxheURhc2hib2FyZFZpZXcgPSBjbGFzcyBSZXBsYXlEYXNoYm9hcmRW
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGhpcy5f
cGxheWJhY2tQYXVzZWQoKTsKICAgICB9Ci0gICAgCisKICAgICAvLyBQcml2YXRlCiAKICAgICBf
Y2FwdHVyZUJ1dHRvbkl0ZW1DbGlja2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVDaGFpbkRl
dGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggMGQwYjMzNGU4OTZkMjhlNzBmZjNkMDFiMTE3MzFh
NzAwMDRiNjlkMi4uOGEzNzQxNDUxYzg3ZmYzYjU4MDQ2MDAwYzIzNTUyMjIzOGNiNzk4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVD
aGFpbkRldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTkz
LDcgKzkzLDYgQEAgV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsID0g
Y2xhc3MgU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwKICAgICAgICAgICAgIHZhciB0aXRs
ZSA9IG51bGw7CiAgICAgICAgICAgICB2YXIgZXh0cmFQcm9wZXJ0eURlc2NyaXB0b3IgPSBudWxs
OwogICAgICAgICAgICAgdmFyIGNvbGxhcHNlZEJ5RGVmYXVsdCA9IGZhbHNlOwotICAgICAgICAg
ICAgdmFyIGRvbnRIaWdobGlnaHROb25FbnVtZXJhYmxlUHJvcGVydGllcyA9IHRydWU7CiAKICAg
ICAgICAgICAgICsrc2VjdGlvbkNvdW50QnlUeXBlW3Njb3BlLnR5cGVdOwogCkBAIC0xMDEsNyAr
MTAwLDYgQEAgV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsID0gY2xh
c3MgU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwKICAgICAgICAgICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5TY29wZUNoYWluTm9kZS5UeXBlLkxvY2FsOgogICAgICAgICAgICAgICAgICAg
ICBmb3VuZExvY2FsU2NvcGUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBjb2xsYXBzZWRC
eURlZmF1bHQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgZG9udEhpZ2hsaWdodE5vbkVu
dW1lcmFibGVQcm9wZXJ0aWVzID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9jYWwgVmFyaWFibGVzIik7CiAKQEAgLTExMSwzMSAr
MTA5LDI2IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNs
YXNzIFNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsCiAKICAgICAgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5TY29wZUNoYWluTm9kZS5UeXBlLkNsb3N1cmU6CiAgICAgICAgICAgICAg
ICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDbG9zdXJlIFZhcmlhYmxlcyIp
OwotICAgICAgICAgICAgICAgICAgICBkb250SGlnaGxpZ2h0Tm9uRW51bWVyYWJsZVByb3BlcnRp
ZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQgPSBmYWxz
ZTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5TY29wZUNoYWluTm9kZS5UeXBlLkNhdGNoOgogICAgICAgICAgICAgICAgICAg
ICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2F0Y2ggVmFyaWFibGVzIik7Ci0gICAg
ICAgICAgICAgICAgICAgIGRvbnRIaWdobGlnaHROb25FbnVtZXJhYmxlUHJvcGVydGllcyA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIGNvbGxhcHNlZEJ5RGVmYXVsdCA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlNjb3BlQ2hhaW5Ob2RlLlR5cGUuRnVuY3Rpb25OYW1lOgogICAgICAgICAgICAgICAgICAg
ICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSIp
OwotICAgICAgICAgICAgICAgICAgICBkb250SGlnaGxpZ2h0Tm9uRW51bWVyYWJsZVByb3BlcnRp
ZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBjb2xsYXBzZWRCeURlZmF1bHQgPSB0cnVl
OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAgIGNhc2UgV2Vi
SW5zcGVjdG9yLlNjb3BlQ2hhaW5Ob2RlLlR5cGUuV2l0aDoKICAgICAgICAgICAgICAgICAgICAg
dGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIldpdGggT2JqZWN0IFByb3BlcnRpZXMiKTsK
ICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2VkQnlEZWZhdWx0ID0gZm91bmRMb2NhbFNjb3Bl
OwotICAgICAgICAgICAgICAgICAgICBkb250SGlnaGxpZ2h0Tm9uRW51bWVyYWJsZVByb3BlcnRp
ZXMgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5TY29wZUNoYWluTm9kZS5UeXBlLkdsb2JhbDoKICAgICAgICAg
ICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdsb2JhbCBWYXJpYWJs
ZXMiKTsKLSAgICAgICAgICAgICAgICAgICAgZG9udEhpZ2hsaWdodE5vbkVudW1lcmFibGVQcm9w
ZXJ0aWVzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIGNvbGxhcHNlZEJ5RGVmYXVsdCA9
IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwppbmRleCAxNTA5YTFhNDg2N2RlN2E0YmJjNDkzMjgx
MzMxZmE4NmRjMTk1NzU4Li5mYmY2NjRkYmM3MzkwYWViNmNhMDVkMjllODE0NGYxNzc3NWNjMWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
b3VyY2VDb2RlVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpAQCAtMTE2LDcgKzExNiw3IEBA
IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0
RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIucmVtb3ZlSGlnaGxpZ2h0ZWRSYW5nZSgpOwogCiAgICAgICAgIHRoaXMuX2Rpc21pc3NQ
b3BvdmVyKCk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX2Rpc21pc3NFZGl0aW5nQ29udHJv
bGxlcih0cnVlKTsKIAogICAgICAgICBpZiAodGhpcy5fdHlwZVRva2VuQW5ub3RhdG9yKQpAQCAt
Mjk4LDggKzI5OCw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNz
IFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICBwcmV0dHlQcmlu
dChwcmV0dHkpCiAgICAgewotICAgICAgICAvLyBUaGUgYW5ub3RhdG9ycyBtdXN0IGJlIGNsZWFy
ZWQgYmVmb3JlIHByZXR0eSBwcmludGluZyB0YWtlcyBwbGFjZSBhbmQgcmVzdW1lZCAKLSAgICAg
ICAgLy8gYWZ0ZXIgc28gdGhhdCB0aGV5IGNsZWFyIHRoZWlyIGFubm90YXRpb25zIGluIGEga25v
d24gc3RhdGUgYW5kIGluc2VydCBuZXcgYW5ub3RhdGlvbnMgCisgICAgICAgIC8vIFRoZSBhbm5v
dGF0b3JzIG11c3QgYmUgY2xlYXJlZCBiZWZvcmUgcHJldHR5IHByaW50aW5nIHRha2VzIHBsYWNl
IGFuZCByZXN1bWVkCisgICAgICAgIC8vIGFmdGVyIHNvIHRoYXQgdGhleSBjbGVhciB0aGVpciBh
bm5vdGF0aW9ucyBpbiBhIGtub3duIHN0YXRlIGFuZCBpbnNlcnQgbmV3IGFubm90YXRpb25zCiAg
ICAgICAgIC8vIGluIHRoZSBuZXcgc3RhdGUuCiAgICAgICAgIHZhciBzaG91bGRSZXN1bWVUeXBl
VG9rZW5Bbm5vdGF0b3IgPSB0aGlzLl90eXBlVG9rZW5Bbm5vdGF0b3IgJiYgdGhpcy5fdHlwZVRv
a2VuQW5ub3RhdG9yLmlzQWN0aXZlKCk7CiAgICAgICAgIHZhciBzaG91bGRSZXN1bWVCYXNpY0Js
b2NrQW5ub3RhdG9yID0gdGhpcy5fYmFzaWNCbG9ja0Fubm90YXRvciAmJiB0aGlzLl9iYXNpY0Js
b2NrQW5ub3RhdG9yLmlzQWN0aXZlKCk7CkBAIC04NjgsNyArODY4LDcgQEAgV2ViSW5zcGVjdG9y
LlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5k
cyBXZWJJbnNwZWMKICAgICAgICAgICAgIGFycm93RWxlbWVudC5jbGFzc05hbWUgPSAiYXJyb3ci
OwogCiAgICAgICAgICAgICB2YXIgaWNvbkVsZW1lbnQgPSB3aWRnZXRFbGVtZW50LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7Ci0gICAgICAgICAgICBpY29uRWxl
bWVudC5jbGFzc05hbWUgPSAiaWNvbiI7ICAgICAgICAgICAgCisgICAgICAgICAgICBpY29uRWxl
bWVudC5jbGFzc05hbWUgPSAiaWNvbiI7CiAKICAgICAgICAgICAgIHZhciB0ZXh0RWxlbWVudCA9
IHdpZGdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIp
KTsKICAgICAgICAgICAgIHRleHRFbGVtZW50LmNsYXNzTmFtZSA9ICJ0ZXh0IjsKQEAgLTkyNyw3
ICs5MjcsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3Vy
Y2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB2YXIgdGV4dEVsZW1l
bnQgPSB3aWRnZXQud2lkZ2V0RWxlbWVudC5sYXN0Q2hpbGQ7CiAgICAgICAgIGlmICh0ZXh0RWxl
bWVudC5vZmZzZXRXaWR0aCAhPT0gdGV4dEVsZW1lbnQuc2Nyb2xsV2lkdGgpCiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCisKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IApAQCAtMTU1MSw3ICsxNTUxLDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9y
ID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgIF90
cmFja1BvcG92ZXJFdmVudHMoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9wb3BvdmVyRXZl
bnRMaXN0ZW5lcnMpIAorICAgICAgICBpZiAoIXRoaXMuX3BvcG92ZXJFdmVudExpc3RlbmVycykK
ICAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJFdmVudExpc3RlbmVycyA9IG5ldyBXZWJJbnNwZWN0
b3IuRXZlbnRMaXN0ZW5lclNldCh0aGlzLCAiUG9wb3ZlciBsaXN0ZW5lcnMiKTsKICAgICAgICAg
aWYgKCF0aGlzLl9wb3BvdmVyRXZlbnRMaXN0ZW5lcnNBcmVSZWdpc3RlcmVkKSB7CiAgICAgICAg
ICAgICB0aGlzLl9wb3BvdmVyRXZlbnRMaXN0ZW5lcnNBcmVSZWdpc3RlcmVkID0gdHJ1ZTsKQEAg
LTE2MjIsMTMgKzE2MjIsMTMgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0g
Y2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICB7CiAgICAg
ICAgIGlmICh0aGlzLl9lZGl0aW5nQ29udHJvbGxlcikKICAgICAgICAgICAgIHRoaXMuX2VkaXRp
bmdDb250cm9sbGVyLmRpc21pc3NIb3Zlck1lbnUoZGlzY3JldGUpOwotICAgICAgICAKKwogICAg
ICAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLmhvdmVyZWRNYXJrZXIgPSBudWxsOwog
ICAgICAgICBkZWxldGUgdGhpcy5fZWRpdGluZ0NvbnRyb2xsZXI7CiAgICAgfQogCiAgICAgLy8g
Q29kZU1pcnJvckVkaXRpbmdDb250cm9sbGVyIERlbGVnYXRlCi0gICAgCisKICAgICBlZGl0aW5n
Q29udHJvbGxlckRpZFN0YXJ0RWRpdGluZyhlZGl0aW5nQ29udHJvbGxlcikKICAgICB7CiAgICAg
ICAgIC8vIFdlIGNhbiBwYXVzZSB0aGUgdG9rZW4gdHJhY2tpbmcgY29udHJvbGxlciBkdXJpbmcg
ZWRpdGluZywgaXQgd2lsbCBiZSByZXNldApAQCAtMTYzOCwxMSArMTYzOCwxMSBAQCBXZWJJbnNw
ZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBl
eHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIC8vIFdlIGNsZWFyIHRoZSBtYXJrZXIgc2luY2Ug
d2UnbGwgcmVzZXQgaXQgYWZ0ZXIgZWRpdGluZy4KICAgICAgICAgZWRpdGluZ0NvbnRyb2xsZXIu
bWFya2VyLmNsZWFyKCk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIGlnbm9yZSBjb250ZW50
IGNoYW5nZXMgbWFkZSBhcyBhIHJlc3VsdCBvZiBjb2xvciBlZGl0aW5nLgogICAgICAgICB0aGlz
Ll9pZ25vcmVDb250ZW50RGlkQ2hhbmdlKys7CiAgICAgfQotICAgIAorCiAgICAgZWRpdGluZ0Nv
bnRyb2xsZXJEaWRGaW5pc2hFZGl0aW5nKGVkaXRpbmdDb250cm9sbGVyKQogICAgIHsKICAgICAg
ICAgdGhpcy5fdXBkYXRlRWRpdGFibGVNYXJrZXJzKGVkaXRpbmdDb250cm9sbGVyLnJhbmdlKTsK
QEAgLTE2NzAsMTAgKzE2NzAsMTAgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9y
ID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAg
ICAgIGlmICghdGhpcy5fdHlwZVRva2VuU2Nyb2xsSGFuZGxlcikKICAgICAgICAgICAgICAgICB0
aGlzLl9lbmFibGVTY3JvbGxFdmVudHNGb3JUeXBlVG9rZW5Bbm5vdGF0b3IoKTsKICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIEJlY2F1c2Ugd2UgZGlzYWJsZSB0eXBlIHByb2ZpbGlu
ZyB3aGVuIGV4aXRpbmcgdGhlIGluc3BlY3RvciwgdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIAot
ICAgICAgICAgICAgLy8gUnVudGltZUFnZW50LmRpc2FibGVUeXBlUHJvZmlsZXIoKSBoZXJlLiAg
SWYgd2Ugd2VyZSB0byBjYWxsIGl0IGhlcmUsIEphdmFTY3JpcHRDb3JlIHdvdWxkIAotICAgICAg
ICAgICAgLy8gY29tcGlsZSBvdXQgYWxsIHRoZSBuZWNlc3NhcnkgdHlwZSBwcm9maWxpbmcgaW5m
b3JtYXRpb24sIHNvIGlmIGEgdXNlciB3ZXJlIHRvIHF1aWNrbHkgcHJlc3MgdGhlbiAKLSAgICAg
ICAgICAgIC8vIHVucHJlc3MgdGhlIHR5cGUgcHJvZmlsaW5nIGJ1dHRvbiwgd2Ugd291bGRuJ3Qg
YmUgYWJsZSB0byByZS1zaG93IHR5cGUgaW5mb3JtYXRpb24gd2hpY2ggd291bGQgCisgICAgICAg
ICAgICAvLyBCZWNhdXNlIHdlIGRpc2FibGUgdHlwZSBwcm9maWxpbmcgd2hlbiBleGl0aW5nIHRo
ZSBpbnNwZWN0b3IsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbAorICAgICAgICAgICAgLy8gUnVu
dGltZUFnZW50LmRpc2FibGVUeXBlUHJvZmlsZXIoKSBoZXJlLiAgSWYgd2Ugd2VyZSB0byBjYWxs
IGl0IGhlcmUsIEphdmFTY3JpcHRDb3JlIHdvdWxkCisgICAgICAgICAgICAvLyBjb21waWxlIG91
dCBhbGwgdGhlIG5lY2Vzc2FyeSB0eXBlIHByb2ZpbGluZyBpbmZvcm1hdGlvbiwgc28gaWYgYSB1
c2VyIHdlcmUgdG8gcXVpY2tseSBwcmVzcyB0aGVuCisgICAgICAgICAgICAvLyB1bnByZXNzIHRo
ZSB0eXBlIHByb2ZpbGluZyBidXR0b24sIHdlIHdvdWxkbid0IGJlIGFibGUgdG8gcmUtc2hvdyB0
eXBlIGluZm9ybWF0aW9uIHdoaWNoIHdvdWxkCiAgICAgICAgICAgICAvLyBwcm92aWRlIGEgY29u
ZnVzaW5nIHVzZXIgZXhwZXJpZW5jZS4KIAogICAgICAgICAgICAgdGhpcy5fdHlwZVRva2VuQW5u
b3RhdG9yLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVHJlZUVsZW1lbnQuanMKaW5kZXgg
MzU3MzQ1MGRlNzM5MjM0ZjljY2JlZGMzOTlkOWZiZTAyYWFhYmI2NS4uNGU2NjhkZTM4NDNjNDE1
NjQ3ZGE5MWU3MTE4YmMwODY1NTU0YzYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRyZWVFbGVtZW50LmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUcmVlRWxl
bWVudC5qcwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVHJlZUVs
ZW1lbnQgPSBjbGFzcyBTb3VyY2VDb2RlVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwCiAgICAg
ICAgIHZhciBjdXJyZW50UGF0aCA9ICIiOwogICAgICAgICB2YXIgY3VycmVudEZvbGRlclRyZWVF
bGVtZW50ID0gdGhpczsKIAotICAgICAgICBmb3IgKHZhciBpID0gMCA7IGkgPCBjb21wb25lbnRz
Lmxlbmd0aCAtIDE7ICsraSkgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBvbmVu
dHMubGVuZ3RoIC0gMTsgKytpKSB7CiAgICAgICAgICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGNv
bXBvbmVudHNbaV07CiAgICAgICAgICAgICBjdXJyZW50UGF0aCArPSAoaSA/ICIvIiA6ICIiKSAr
IGNvbXBvbmVudE5hbWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCmluZGV4IDE2ODQ5NDhiY2NlYTVmMWJlNzA2
M2M0MGE4MTE1OWQyMTM4ZGE0NTcuLjI2ZWU1MzU4MWE4MGU4ZjNlN2RlMzNlZTFmODk4ZGIyMmIw
NmJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGV4dEVkaXRvci5qcwpAQCAtMjksNyArMjksNiBAQCBXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAg
ICAgewogICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHZhciB0ZXh0ID0gKGVsZW1lbnQgPyBl
bGVtZW50LnRleHRDb250ZW50IDogIiIpOwogICAgICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVu
dCB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdGhpcy5fZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJ0ZXh0LWVkaXRvciIpOwogICAgICAgICB0aGlzLl9lbGVtZW50LmNs
YXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlN5bnRheEhpZ2hsaWdodGVkU3R5bGVDbGFzc05hbWUp
OwpAQCAtNzU3LDggKzc1Niw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yID0gY2xhc3MgVGV4
dEVkaXRvciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgICAgICAgICAgICAgIHZh
ciBtYXBwZWRBbmNob3JMb2NhdGlvbiA9IHRoaXMuX2Zvcm1hdHRlclNvdXJjZU1hcC5vcmlnaW5h
bFRvRm9ybWF0dGVkKG9sZFNlbGVjdGlvbkFuY2hvci5saW5lLCBvbGRTZWxlY3Rpb25BbmNob3Iu
Y2gpOwogICAgICAgICAgICAgICAgIHZhciBtYXBwZWRIZWFkTG9jYXRpb24gPSB0aGlzLl9mb3Jt
YXR0ZXJTb3VyY2VNYXAub3JpZ2luYWxUb0Zvcm1hdHRlZChvbGRTZWxlY3Rpb25IZWFkLmxpbmUs
IG9sZFNlbGVjdGlvbkhlYWQuY2gpOwotICAgICAgICAgICAgICAgIG5ld1NlbGVjdGlvbkFuY2hv
ciA9IHtsaW5lOm1hcHBlZEFuY2hvckxvY2F0aW9uLmxpbmVOdW1iZXIsIGNoOm1hcHBlZEFuY2hv
ckxvY2F0aW9uLmNvbHVtbk51bWJlcn07Ci0gICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uSGVh
ZCA9IHtsaW5lOm1hcHBlZEhlYWRMb2NhdGlvbi5saW5lTnVtYmVyLCBjaDptYXBwZWRIZWFkTG9j
YXRpb24uY29sdW1uTnVtYmVyfTsKKyAgICAgICAgICAgICAgICBuZXdTZWxlY3Rpb25BbmNob3Ig
PSB7bGluZTogbWFwcGVkQW5jaG9yTG9jYXRpb24ubGluZU51bWJlciwgY2g6IG1hcHBlZEFuY2hv
ckxvY2F0aW9uLmNvbHVtbk51bWJlcn07CisgICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uSGVh
ZCA9IHtsaW5lOiBtYXBwZWRIZWFkTG9jYXRpb24ubGluZU51bWJlciwgY2g6IG1hcHBlZEhlYWRM
b2NhdGlvbi5jb2x1bW5OdW1iZXJ9OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICB0aGlzLl9jb2RlTWlycm9yLnVuZG8oKTsKIApAQCAtNzgwLDggKzc3OSw4IEBAIFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9yID0gY2xhc3MgVGV4dEVkaXRvciBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKIAogICAgICAgICAgICAgICAgIHZhciBtYXBwZWRBbmNob3JMb2NhdGlvbiA9IHRo
aXMuX2Zvcm1hdHRlclNvdXJjZU1hcC5mb3JtYXR0ZWRUb09yaWdpbmFsKG9sZFNlbGVjdGlvbkFu
Y2hvci5saW5lLCBvbGRTZWxlY3Rpb25BbmNob3IuY2gpOwogICAgICAgICAgICAgICAgIHZhciBt
YXBwZWRIZWFkTG9jYXRpb24gPSB0aGlzLl9mb3JtYXR0ZXJTb3VyY2VNYXAuZm9ybWF0dGVkVG9P
cmlnaW5hbChvbGRTZWxlY3Rpb25IZWFkLmxpbmUsIG9sZFNlbGVjdGlvbkhlYWQuY2gpOwotICAg
ICAgICAgICAgICAgIG5ld1NlbGVjdGlvbkFuY2hvciA9IHtsaW5lOm1hcHBlZEFuY2hvckxvY2F0
aW9uLmxpbmVOdW1iZXIsIGNoOm1hcHBlZEFuY2hvckxvY2F0aW9uLmNvbHVtbk51bWJlcn07Ci0g
ICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uSGVhZCA9IHtsaW5lOm1hcHBlZEhlYWRMb2NhdGlv
bi5saW5lTnVtYmVyLCBjaDptYXBwZWRIZWFkTG9jYXRpb24uY29sdW1uTnVtYmVyfTsKKyAgICAg
ICAgICAgICAgICBuZXdTZWxlY3Rpb25BbmNob3IgPSB7bGluZTogbWFwcGVkQW5jaG9yTG9jYXRp
b24ubGluZU51bWJlciwgY2g6IG1hcHBlZEFuY2hvckxvY2F0aW9uLmNvbHVtbk51bWJlcn07Cisg
ICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uSGVhZCA9IHtsaW5lOiBtYXBwZWRIZWFkTG9jYXRp
b24ubGluZU51bWJlciwgY2g6IG1hcHBlZEhlYWRMb2NhdGlvbi5jb2x1bW5OdW1iZXJ9OwogCiAg
ICAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0dGVyU291cmNlTWFwID0gbnVsbDsKICAgICAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzCmluZGV4IGI1NTliOGZlZGFlZDhkMTU4YTJh
YTlkMDEwNGRjNWM5MGYyYmJiOWMuLjBkYmMzN2VjNzdiMDU0YWFlYTY5MGE1NzA0M2I1YmJhMDg5
MWE5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcwpAQCAtNjIsNyArNjIsNyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZCA9IGZ1bmN0aW9uKHRyZWVPdXRsaW5lLCBjb2x1bW5z
LCBkZWxlZ2F0ZSwgZWRpdENhbAogICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRGF0YUdyaWQuRXZlbnQuU29ydENoYW5nZWQsIHRoaXMuX3NvcnQsIHRoaXMpOwogCiAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHRoaXMuX3dpbmRvd1Jlc2l6ZWQuYmlu
ZCh0aGlzKSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZC5TdHlsZUNs
YXNzTmFtZSA9ICJ0aW1lbGluZSI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZC5IYXNO
b25EZWZhdWx0RmlsdGVyU3R5bGVDbGFzc05hbWUgPSAiaGFzLW5vbi1kZWZhdWx0LWZpbHRlciI7
CkBAIC0xNjgsNyArMTY4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWQucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl90cmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25pemVyLmFz
c29jaWF0ZSh0cmVlRWxlbWVudCwgZGF0YUdyaWROb2RlKTsKIAogICAgICAgICBwYXJlbnRFbGVt
ZW50ID0gcGFyZW50RWxlbWVudCB8fCB0aGlzLl90cmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25p
emVyLnRyZWVPdXRsaW5lOwotICAgICAgICBwYXJlbnROb2RlID0gcGFyZW50RWxlbWVudC5yb290
ID8gdGhpcyA6IHRoaXMuX3RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuZGF0YUdyaWRO
b2RlRm9yVHJlZUVsZW1lbnQocGFyZW50RWxlbWVudCk7CisgICAgICAgIHZhciBwYXJlbnROb2Rl
ID0gcGFyZW50RWxlbWVudC5yb290ID8gdGhpcyA6IHRoaXMuX3RyZWVPdXRsaW5lRGF0YUdyaWRT
eW5jaHJvbml6ZXIuZGF0YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQocGFyZW50RWxlbWVudCk7CiAK
ICAgICAgICAgY29uc29sZS5hc3NlcnQocGFyZW50Tm9kZSk7CiAKQEAgLTQ2Nyw3ICs0NjcsNyBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICB0aGlzLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4oKTsKIAog
ICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IHRoaXMuc2VsZWN0ZWROb2RlLnJlY29yZC5jYWxsRnJh
bWVzOwotICAgICAgICBmb3IgKHZhciBpID0gMCA7IGkgPCBjYWxsRnJhbWVzLmxlbmd0aDsgKytp
KSB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbEZyYW1lcy5sZW5ndGg7ICsraSkg
ewogICAgICAgICAgICAgdmFyIGNhbGxGcmFtZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rv
ci5DYWxsRnJhbWVUcmVlRWxlbWVudChjYWxsRnJhbWVzW2ldKTsKICAgICAgICAgICAgIHRoaXMu
X3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChjYWxsRnJhbWVUcmVlRWxl
bWVudCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCmluZGV4IDgw
Mjc5MjYxZDczN2FhMGRmNzlhZDI3MDY1NWNjZDYyODkwZGI0ZTMuLjM5ZGExZWM4ZjBiOTE1ZWUw
MzdlMDViN2E5ZGU5N2Q4ODQwMjI1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5q
cwpAQCAtMjEyLDcgKzIxMiw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybiBlbGVtZW50OwogICAgICAgICB9CiAKLSAg
ICAgICAgZm9yICh0eXBlIGluIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlKSB7Cisg
ICAgICAgIGZvciAodmFyIHR5cGUgaW4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUp
IHsKICAgICAgICAgICAgIHZhciByZWNvcmRUeXBlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkLlR5cGVbdHlwZV07CiAgICAgICAgICAgICB2YXIgZHVyYXRpb24gPSBkaXNwbGF5UmVjb3Jk
LmR1cmF0aW9uRm9yUmVjb3JkcyhyZWNvcmRUeXBlKTsKICAgICAgICAgICAgIGlmIChkdXJhdGlv
biA9PT0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzCmluZGV4IGJlMTIwZjRmZjFlZTkwYjJiYjhiOGQw
MjQxNzEzZTI4YzRlNmQxYzMuLmEzM2VjMzU1MWZmMmRmOWVkYzAwMzIyYjM4MTU2Y2QwMjQ1ZTlm
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lUnVsZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSdWxlci5qcwpAQCAtMzUzLDcgKzM1Myw3IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGNvdW50OiBkaXZpZGVy
Q291bnQsCiAgICAgICAgICAgICBmaXJzdFRpbWU6IGZpcnN0RGl2aWRlclRpbWUsCiAgICAgICAg
ICAgICBsYXN0VGltZTogbGFzdERpdmlkZXJUaW1lLAotICAgICAgICB9CisgICAgICAgIH07CiAK
ICAgICAgICAgaWYgKE9iamVjdC5zaGFsbG93RXF1YWwoZGl2aWRlckRhdGEsIHRoaXMuX2N1cnJl
bnREaXZpZGVycykpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVG9rZW5WaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHlwZVRva2VuVmlldy5qcwppbmRl
eCA3MmNlOWVkMTY3YjU3ZmU5ZGI3NGE4NTM0ZmRkMmJiYjE3ZTllYmRlLi4zNjgwNWE4Njc5YTkz
MzEyMmFmZDY5OTg2ZDlkNDE2NzFiMTQyMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UeXBlVG9rZW5WaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1R5cGVUb2tlblZpZXcuanMKQEAgLTI3
LDcgKzI3LDcgQEAgV2ViSW5zcGVjdG9yLlR5cGVUb2tlblZpZXcgPSBjbGFzcyBUeXBlVG9rZW5W
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogewogICAgIGNvbnN0cnVjdG9yKHRva2Vu
QW5ub3RhdG9yLCBzaG91bGRIYXZlUmlnaHRNYXJnaW4sIHNob3VsZEhhdmVMZWZ0TWFyZ2luLCB0
aXRsZVR5cGUsIGZ1bmN0aW9uT3JWYXJpYWJsZU5hbWUpCiAgICAgewotICAgICAgICBjb25zb2xl
LmFzc2VydCh0aXRsZVR5cGUgPT09IFdlYkluc3BlY3Rvci5UeXBlVG9rZW5WaWV3LlRpdGxlVHlw
ZS5WYXJpYWJsZSAgfHwgdGl0bGVUeXBlID09PSBXZWJJbnNwZWN0b3IuVHlwZVRva2VuVmlldy5U
aXRsZVR5cGUuUmV0dXJuU3RhdGVtZW50KTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGl0bGVU
eXBlID09PSBXZWJJbnNwZWN0b3IuVHlwZVRva2VuVmlldy5UaXRsZVR5cGUuVmFyaWFibGUgfHwg
dGl0bGVUeXBlID09PSBXZWJJbnNwZWN0b3IuVHlwZVRva2VuVmlldy5UaXRsZVR5cGUuUmV0dXJu
U3RhdGVtZW50KTsKIAogICAgICAgICBzdXBlcigpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgV2Vi
SW5zcGVjdG9yLlR5cGVUb2tlblZpZXcgPSBjbGFzcyBUeXBlVG9rZW5WaWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2VvdXQiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh0aW1lb3V0SUQpCiAgICAg
ICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Ci0gICAgICAgIH0uYmluZCh0aGlz
KSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIF9zaG91bGRTaG93UG9wb3ZlcigpCkBAIC0x
NDEsNyArMTQxLDcgQEAgV2ViSW5zcGVjdG9yLlR5cGVUb2tlblZpZXcgPSBjbGFzcyBUeXBlVG9r
ZW5WaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICAgICAgICAgIHJldHVy
biB0aGlzLl90eXBlcy5sZWFzdENvbW1vbkFuY2VzdG9yICsgIj8iOwogICAgICAgICB9CiAKLSAg
ICAgICAgLy8gVGhlIG9yZGVyIG9mIHRoZXNlIGNoZWNrcyBhcmUgaW1wb3J0YW50LiAKKyAgICAg
ICAgLy8gVGhlIG9yZGVyIG9mIHRoZXNlIGNoZWNrcyBhcmUgaW1wb3J0YW50LgogICAgICAgICAv
LyBGb3IgZXhhbXBsZSwgaWYgYSB2YWx1ZSBpcyBvbmx5IGEgZnVuY3Rpb24sIGl0IGlzIGNvbnRh
aW5lZCBpbiBUeXBlRnVuY3Rpb24sIGJ1dCBpdCBpcyBhbHNvIGNvbnRhaW5lZCBpbiAoVHlwZUZ1
bmN0aW9uIHwgVHlwZU51bGwpLgogICAgICAgICAvLyBUaGVyZWZvcmUsIG1vcmUgc3BlY2lmaWMg
dHlwZXMgbXVzdCBiZSBjaGVja2VkIGZpcnN0LgogCkBAIC0xNzgsNyArMTc4LDcgQEAgV2ViSW5z
cGVjdG9yLlR5cGVUb2tlblZpZXcgPSBjbGFzcyBUeXBlVG9rZW5WaWV3IGV4dGVuZHMgV2ViSW5z
cGVjdG9yLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuICJTdHJpbmc/IjsKICAgICAgICAgaWYg
KHR5cGVTZXQuaXNDb250YWluZWRJbihXZWJJbnNwZWN0b3IuVHlwZVNldC5UeXBlQml0LlN5bWJv
bCB8IFdlYkluc3BlY3Rvci5UeXBlU2V0Lk51bGxPclVuZGVmaW5lZFR5cGVCaXRzKSkKICAgICAg
ICAgICAgIHJldHVybiAiU3ltYm9sPyI7Ci0gICAgICAgCisKICAgICAgICAgaWYgKHR5cGVTZXQu
aXNDb250YWluZWRJbihXZWJJbnNwZWN0b3IuVHlwZVNldC5UeXBlQml0Lk9iamVjdCB8IFdlYklu
c3BlY3Rvci5UeXBlU2V0LlR5cGVCaXQuRnVuY3Rpb24gfCBXZWJJbnNwZWN0b3IuVHlwZVNldC5U
eXBlQml0LlN0cmluZykpCiAgICAgICAgICAgICByZXR1cm4gIk9iamVjdCI7CiAgICAgICAgIGlm
ICh0eXBlU2V0LmlzQ29udGFpbmVkSW4oV2ViSW5zcGVjdG9yLlR5cGVTZXQuVHlwZUJpdC5PYmpl
Y3QgfCBXZWJJbnNwZWN0b3IuVHlwZVNldC5UeXBlQml0LkZ1bmN0aW9uIHwgV2ViSW5zcGVjdG9y
LlR5cGVTZXQuVHlwZUJpdC5TdHJpbmcgfCBXZWJJbnNwZWN0b3IuVHlwZVNldC5OdWxsT3JVbmRl
ZmluZWRUeXBlQml0cykpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>