<?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>200419</bug_id>
          
          <creation_ts>2019-08-03 11:30:18 -0700</creation_ts>
          <short_desc>Web Inspector: Styles: show @supports CSS groupings</short_desc>
          <delta_ts>2019-08-13 11:28:23 -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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199946</see_also>
          <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>
          <dependson>200488</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1558297</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-03 11:30:18 -0700</bug_when>
    <thetext>We show `@media`, but not `@supports`, even though they can be used in a similar way (change styles based on some &quot;capability&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558329</commentid>
    <comment_count>1</comment_count>
      <attachid>375494</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-03 19:17:05 -0700</bug_when>
    <thetext>Created attachment 375494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558330</commentid>
    <comment_count>2</comment_count>
      <attachid>375495</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-03 19:17:17 -0700</bug_when>
    <thetext>Created attachment 375495
[Image] After Patch is applied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558694</commentid>
    <comment_count>3</comment_count>
      <attachid>375494</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-08-05 19:42:37 -0700</bug_when>
    <thetext>Comment on attachment 375494
Patch

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

r=me! Nice!

&gt; Source/JavaScriptCore/inspector/protocol/CSS.json:224
&gt; -            &quot;id&quot;: &quot;CSSMedia&quot;,
&gt; +            &quot;id&quot;: &quot;Grouping&quot;,

I&apos;m not sure `Grouping` is clear but I&apos;m warming up to it.

I considered `AtRuleQuery`. Since these primarily match a media query or feature query features, with &lt;link media=&quot;...&quot;&gt; / &lt;style media=&quot;...&quot;&gt; special cases.
https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule

I suspect other at-rule features like `@page {...}`, `@font-face {...}` and `@keyframes {...}` will require their own types.

&gt; Source/JavaScriptCore/inspector/protocol/CSS.json:226
&gt; +            &quot;description&quot;: &quot;CSS @media/@supports descriptor.&quot;,

This says &quot;@media/@supports&quot; but has a longer list of supported things (@media, @supports, @import, and synthesized from &lt;link media=&quot;...&quot;&gt; / &lt;style media=&quot;...&quot;&gt;).

&gt; Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:458
&gt; +        let groupings = this.groupings.filter((grouping) =&gt; grouping.text !== &quot;all&quot;);

Does the frontend filter out media queries of `all`? Maybe then the backend shouldn&apos;t filter them itself?

&gt; Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:109
&gt; +            this._groupingElements = groupings.map((grouping, i) =&gt; {

Nit: This doesn&apos;t make use of `i`

&gt; Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:118
&gt; +                if (groupingTypeElement.children.length)
&gt; +                    groupingTypeElement.append(&quot;, &quot;);

This just blew my mind. I did not know that `d = document.createElement(&quot;div&quot;); d.textContent = &quot;foo&quot;; d.children.length` is zero. I guess `children` is not `childNodes`.

Maybe using `groupingTypeElement.childElementCount` might be better? I&apos;d probably have carried a boolean around to say whether or not we&apos;re appending more to the currentGroupingType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558708</commentid>
    <comment_count>4</comment_count>
      <attachid>375494</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-05 21:15:14 -0700</bug_when>
    <thetext>Comment on attachment 375494
Patch

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

&gt;&gt; Source/JavaScriptCore/inspector/protocol/CSS.json:224
&gt;&gt; +            &quot;id&quot;: &quot;Grouping&quot;,
&gt; 
&gt; I&apos;m not sure `Grouping` is clear but I&apos;m warming up to it.
&gt; 
&gt; I considered `AtRuleQuery`. Since these primarily match a media query or feature query features, with &lt;link media=&quot;...&quot;&gt; / &lt;style media=&quot;...&quot;&gt; special cases.
&gt; https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule
&gt; 
&gt; I suspect other at-rule features like `@page {...}`, `@font-face {...}` and `@keyframes {...}` will require their own types.

I like grouping because it&apos;s &quot;so general&quot; that it can be reused for other things.  If we wanted to add `@page`, this could also be used, although we&apos;d need to do something else for how to represent a rule that doesn&apos;t have a selector (the `@page` is the selector).  I&apos;d imagine a `GroupedProperties` object that had a `Grouping` and `Array&lt;CSSProperty&gt;`.

&gt;&gt; Source/JavaScriptCore/inspector/protocol/CSS.json:226
&gt;&gt; +            &quot;description&quot;: &quot;CSS @media/@supports descriptor.&quot;,
&gt; 
&gt; This says &quot;@media/@supports&quot; but has a longer list of supported things (@media, @supports, @import, and synthesized from &lt;link media=&quot;...&quot;&gt; / &lt;style media=&quot;...&quot;&gt;).

The only case that `@imports` and the `&lt;... media=&quot;...&quot;&gt;` apply is when they&apos;re effectively like a media query, so I considered them to be &quot;part&quot; of `@media`, but I can clarify that.

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:458
&gt;&gt; +        let groupings = this.groupings.filter((grouping) =&gt; grouping.text !== &quot;all&quot;);
&gt; 
&gt; Does the frontend filter out media queries of `all`? Maybe then the backend shouldn&apos;t filter them itself?

Yes, this is primarily to handler older backends that don&apos;t already filter out &quot;all&quot;.  Every rule automatically has an &quot;all&quot; media, so there&apos;s no reason to include them (they also don&apos;t really mean anything, as they say &quot;this applies everywhere&quot;).

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:109
&gt;&gt; +            this._groupingElements = groupings.map((grouping, i) =&gt; {
&gt; 
&gt; Nit: This doesn&apos;t make use of `i`

Ah, oops :P

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:118
&gt;&gt; +                    groupingTypeElement.append(&quot;, &quot;);
&gt; 
&gt; This just blew my mind. I did not know that `d = document.createElement(&quot;div&quot;); d.textContent = &quot;foo&quot;; d.children.length` is zero. I guess `children` is not `childNodes`.
&gt; 
&gt; Maybe using `groupingTypeElement.childElementCount` might be better? I&apos;d probably have carried a boolean around to say whether or not we&apos;re appending more to the currentGroupingType.

`children` only counts `Element`s, whereas `childNodes` counts `Node`s.  It was actually my intention to use `children`, as I want to add &quot;, &quot; only after one of the below `&lt;span&gt;` has been added, but not after the `grouping.prefix`.  I&apos;ll add a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558709</commentid>
    <comment_count>5</comment_count>
      <attachid>375599</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-05 21:21:47 -0700</bug_when>
    <thetext>Created attachment 375599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558713</commentid>
    <comment_count>6</comment_count>
      <attachid>375599</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-05 22:04:22 -0700</bug_when>
    <thetext>Comment on attachment 375599
Patch

Clearing flags on attachment: 375599

Committed r248289: &lt;https://trac.webkit.org/changeset/248289&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558714</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-05 22:04:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558715</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-05 22:05:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/53971948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558982</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-06 16:33:34 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 200488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559786</commentid>
    <comment_count>10</comment_count>
      <attachid>375886</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-08 20:34:38 -0700</bug_when>
    <thetext>Created attachment 375886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559802</commentid>
    <comment_count>11</comment_count>
      <attachid>375886</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-08-08 22:46:22 -0700</bug_when>
    <thetext>Comment on attachment 375886
Patch

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

&gt; Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py:74
&gt; +        headerPostlude_args = {
&gt; +            &apos;includes&apos;: &apos;\n&apos;.join([&apos;#import &apos; + header for header in sorted(headerPreludeHeaders)]),
&gt;          }

This should use `sorted(headerPostludeHeaders)` not `sorted(headerPreludeHeaders)`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559820</commentid>
    <comment_count>12</comment_count>
      <attachid>375896</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-08 23:53:12 -0700</bug_when>
    <thetext>Created attachment 375896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559821</commentid>
    <comment_count>13</comment_count>
      <attachid>375886</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-08 23:53:32 -0700</bug_when>
    <thetext>Comment on attachment 375886
Patch

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

&gt;&gt; Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py:74
&gt;&gt;          }
&gt; 
&gt; This should use `sorted(headerPostludeHeaders)` not `sorted(headerPreludeHeaders)`.

Oops :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560817</commentid>
    <comment_count>14</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-13 09:28:07 -0700</bug_when>
    <thetext>*** Bug 200676 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560819</commentid>
    <comment_count>15</comment_count>
      <attachid>376173</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-13 09:30:34 -0700</bug_when>
    <thetext>Created attachment 376173
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560867</commentid>
    <comment_count>16</comment_count>
      <attachid>376173</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-13 11:28:21 -0700</bug_when>
    <thetext>Comment on attachment 376173
Patch

Clearing flags on attachment: 376173

Committed r248602: &lt;https://trac.webkit.org/changeset/248602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560868</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-13 11:28:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375494</attachid>
            <date>2019-08-03 19:17:05 -0700</date>
            <delta_ts>2019-08-05 21:21:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200419-20190803191704.patch</filename>
            <type>text/plain</type>
            <size>57422</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ0ZmFjNGYyODY3ZGQwMjg3NTUxMjUyMDVhODE5
MTczYTQ4YTQ1MmIuLjY0YjkzNGNhYjc2ODVmOWQ2MzJmZjRiMTY1ZTU3N2QwZDgxZWUxNzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA4LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQxOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29u
OgorICAgICAgICBSZW5hbWUgYENTU01lZGlhYCB0byBgR3JvdXBpbmdgIGFuZCByZW1vdmUgdGhl
IGBzb3VyY2VMaW5lYCB2YWx1ZSwgYXMgaXQgd2FzIG5ldmVyIHBvcHVsYXRlZAorICAgICAgICBh
bmQgd2Fzbid0IHVzZWQgYnkgV2ViIEluc3BlY3Rvci4KKwogMjAxOS0wOC0wMyAgRGV2aW4gUm91
c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRE9NOiBh
ZGQgYSBzcGVjaWFsIGJyZWFrcG9pbnQgZm9yICJBbGwgRXZlbnRzIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBk
YWY0MGFiYjIwY2I5MGFkZWNmNjk4NjQzNDE1NDk2YzE2NWQ5NmYuLmNiZmEyYmE5ZTFhMmJjOTJk
ZGI2ZjFlZTJlOGI5MDc5ZGNkOGI4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAx
OS0wOC0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogU3R5bGVzOiBzaG93IEBzdXBwb3J0cyBDU1MgZ3JvdXBpbmdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0MTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3Iv
Y3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkQXJyYXlGb3JH
cm91cGluZ3MpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0eWxlU2hlZXQ6
OmJ1aWxkT2JqZWN0Rm9yUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpidWlsZE1lZGlhT2JqZWN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmZpbGxNZWRpYUxpc3RDaGFpbik6IERlbGV0
ZWQuCisKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0Lmg6CisgICAgICAgICogY3NzL01lZGlhTGlz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5U2V0OjpNZWRpYVF1ZXJ5U2V0KToK
KyAgICAgICAgUmVtb3ZlIHRoZSBgbGFzdExpbmVgIGFzIGl0IHdhcyBuZXZlciBzZXQgYnkgYW55
b25lIGFuZCB3YXNuJ3QgdXNlZCBieSBXZWIgSW5zcGVjdG9yLgorCiAyMDE5LTA4LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
T006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwppbmRleCAyMGNkMjRmODNjNTUwZGQxNDI4YzRkMDE1YjZlNmFiOGQ5ZjIyMWI3
Li5jNzAxMmQ0YWZlNzYzOGI1ZjE3NTFmZTg3ZTQzMmJjM2Q5MmVmZTM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAorMjAxOS0wOC0wMyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBzaG93
IEBzdXBwb3J0cyBDU1MgZ3JvdXBpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDA0MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3VwaW5nLmpzOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NT
U01lZGlhLmpzLgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcpOgorICAgICAgICAoV0kuQ1NTR3Jv
dXBpbmcucHJvdG90eXBlLmdldCB0eXBlKToKKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3Rv
dHlwZS5nZXQgdGV4dCk6CisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0IHNv
dXJjZUNvZGVMb2NhdGlvbik6CisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0
IGlzTWVkaWEpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3RvdHlwZS5nZXQg
aXNTdXBwb3J0cyk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcucHJvdG90eXBlLmdl
dCBwcmVmaXgpOiBBZGRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0
eWxlRGVjbGFyYXRpb24uanM6CisgICAgICAgIChXSS5DU1NTdHlsZURlY2xhcmF0aW9uLnByb3Rv
dHlwZS5nZXQgZ3JvdXBpbmdzKTogQWRkZWQuCisgICAgICAgIChXSS5DU1NTdHlsZURlY2xhcmF0
aW9uLnByb3RvdHlwZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcpOgorICAgICAgICAoV0kuQ1NTU3R5
bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6IERlbGV0ZWQuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzOgorICAgICAgICAoV0kuQ1NTUnVs
ZSk6CisgICAgICAgIChXSS5DU1NSdWxlLnByb3RvdHlwZS5nZXQgZ3JvdXBpbmdzKTogQWRkZWQu
CisgICAgICAgIChXSS5DU1NSdWxlLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV0kuQ1NT
UnVsZS5wcm90b3R5cGUuX3NlbGVjdG9yUmVzb2x2ZWQpOgorICAgICAgICAoV0kuQ1NTUnVsZS5w
cm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzOgorICAgICAgICAoV0kuRE9NTm9kZVN0eWxlcy5w
cm90b3R5cGUuX3BhcnNlUnVsZVBheWxvYWQpOgorICAgICAgICAoV0kuRE9NTm9kZVN0eWxlcy5w
cm90b3R5cGUucnVsZXNGb3JTZWxlY3Rvcik6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanM6Cisg
ICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uKToKKyAgICAg
ICAgKFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLmlu
aXRpYWxMYXlvdXQpOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZUVkaXRvckZpbHRlckFwcGxpZWQpOgorICAgICAgICAo
V0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2NyZWF0
ZU1lZGlhSGVhZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Nw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzOgorICAgICAgICAoLnNwcmVh
ZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdyb3VwaW5n
cykpOiBBZGRlZC4KKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNo
ZXMoLmhlYWRlciwgLmhlYWRlci1ncm91cGluZ3MpOmZpcnN0LWNoaWxkKTogQWRkZWQuCisgICAg
ICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIC5oZWFkZXItZ3JvdXBpbmdzID4gLmdy
b3VwaW5nKTogQWRkZWQuCisgICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIC5o
ZWFkZXItZ3JvdXBpbmdzICsgLmhlYWRlciA+IC5zZWxlY3RvciA+IC5pY29uKTogQWRkZWQuCisg
ICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5o
ZWFkZXItbWVkaWEpKTogRGVsZXRlZC4KKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFy
YXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1tZWRpYSk6Zmlyc3QtY2hpbGQpOiBEZWxl
dGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAubWVkaWEtbGFiZWwp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5h
Z2VyLmpzOgorICAgICAgICAoV0kuQ1NTTWFuYWdlci5wcm90b2NvbEdyb3VwaW5nVHlwZVRvRW51
bSk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTTWFuYWdlci5wcm90b2NvbE1lZGlhU291cmNlVG9F
bnVtKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorCiAyMDE5LTA4LTAzICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50
czogU3R5bGVzOiBhZGQgaWNvbnMgZm9yIHZhcmlvdXMgQ1NTIHJ1bGUgdHlwZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24gYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uCmluZGV4IGU0
OGYzYmIwYTYzNjMzMzQ1ZWI5Njc0MTgxYmRkMzVkZDRmMDllYzAuLmZhYzQ2ZTFhMTNlNDBkNjZi
MTkzMGY2MjBkZjNhM2EwMzg5ZmNkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgpAQCAtMTQ0LDcgKzE0NCw3IEBACiAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VMaW5lIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJMaW5lIG9yZGluYWwgb2YgdGhlIHJ1bGUgc2VsZWN0b3Igc3RhcnQgY2hhcmFj
dGVyIGluIHRoZSByZXNvdXJjZS4ifSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9yaWdp
biIsICIkcmVmIjogIlN0eWxlU2hlZXRPcmlnaW4iLCAiZGVzY3JpcHRpb24iOiAiUGFyZW50IHN0
eWxlc2hlZXQncyBvcmlnaW4uIn0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdHlsZSIs
ICIkcmVmIjogIkNTU1N0eWxlIiwgImRlc2NyaXB0aW9uIjogIkFzc29jaWF0ZWQgc3R5bGUgZGVj
bGFyYXRpb24uIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibWVkaWEiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiQ1NTTWVkaWEiIH0sICJvcHRpb25hbCI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICJNZWRpYSBsaXN0IGFycmF5IChmb3IgcnVsZXMgaW52b2x2aW5n
IG1lZGlhIHF1ZXJpZXMpLiBUaGUgYXJyYXkgZW51bWVyYXRlcyBtZWRpYSBxdWVyaWVzIHN0YXJ0
aW5nIHdpdGggdGhlIGlubmVybW9zdCBvbmUsIGdvaW5nIG91dHdhcmRzLiIgfQorICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiZ3JvdXBpbmdzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7
ICIkcmVmIjogIkdyb3VwaW5nIiB9LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
R3JvdXBpbmcgbGlzdCBhcnJheSAoZm9yIHJ1bGVzIGludm9sdmluZyBAbWVkaWEvQHN1cHBvcnRz
KS4gVGhlIGFycmF5IGVudW1lcmF0ZXMgQ1NTIGdyb3VwaW5ncyBzdGFydGluZyB3aXRoIHRoZSBp
bm5lcm1vc3Qgb25lLCBnb2luZyBvdXR3YXJkcy4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAg
fSwKICAgICAgICAgewpAQCAtMjIxLDE0ICsyMjEsMTMgQEAKICAgICAgICAgICAgIF0KICAgICAg
ICAgfSwKICAgICAgICAgewotICAgICAgICAgICAgImlkIjogIkNTU01lZGlhIiwKKyAgICAgICAg
ICAgICJpZCI6ICJHcm91cGluZyIsCiAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNTUyBtZWRpYSBxdWVyeSBkZXNjcmlwdG9yLiIsCisg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ1NTIEBtZWRpYS9Ac3VwcG9ydHMgZGVzY3JpcHRv
ci4iLAogICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk1lZGlhIHF1ZXJ5
IHRleHQuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlIiwgInR5cGUiOiAi
c3RyaW5nIiwgImVudW0iOiBbIm1lZGlhUnVsZSIsICJpbXBvcnRSdWxlIiwgImxpbmtlZFNoZWV0
IiwgImlubGluZVNoZWV0Il0sICJkZXNjcmlwdGlvbiI6ICJTb3VyY2Ugb2YgdGhlIG1lZGlhIHF1
ZXJ5OiBcIm1lZGlhUnVsZVwiIGlmIHNwZWNpZmllZCBieSBhIEBtZWRpYSBydWxlLCBcImltcG9y
dFJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYW4gQGltcG9ydCBydWxlLCBcImxpbmtlZFNoZWV0XCIg
aWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRpYVwiIGF0dHJpYnV0ZSBpbiBhIGxpbmtlZCBzdHlsZXNo
ZWV0J3MgTElOSyB0YWcsIFwiaW5saW5lU2hlZXRcIiBpZiBzcGVjaWZpZWQgYnkgYSBcIm1lZGlh
XCIgYXR0cmlidXRlIGluIGFuIGlubGluZSBzdHlsZXNoZWV0J3MgU1RZTEUgdGFnLiIgfSwKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZVVSTCIsICJ0eXBlIjogInN0cmluZyIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVUkwgb2YgdGhlIGRvY3VtZW50IGNvbnRh
aW5pbmcgdGhlIG1lZGlhIHF1ZXJ5IGRlc2NyaXB0aW9uLiIgfSwKLSAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInNvdXJjZUxpbmUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIkxpbmUgaW4gdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIG1l
ZGlhIHF1ZXJ5IChub3QgZGVmaW5lZCBmb3IgdGhlIFwic3R5bGVzaGVldFwiIHNvdXJjZSkuIiB9
CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVu
dW0iOiBbIm1lZGlhLXJ1bGUiLCAibWVkaWEtaW1wb3J0LXJ1bGUiLCAibWVkaWEtbGluay1ub2Rl
IiwgIm1lZGlhLXN0eWxlLW5vZGUiLCAic3VwcG9ydHMtcnVsZSJdLCAiZGVzY3JpcHRpb24iOiAi
U291cmNlIG9mIHRoZSBtZWRpYSBxdWVyeTogXCJtZWRpYS1ydWxlXCIgaWYgc3BlY2lmaWVkIGJ5
IGEgQG1lZGlhIHJ1bGUsIFwibWVkaWEtaW1wb3J0LXJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYW4g
QGltcG9ydCBydWxlLCBcIm1lZGlhLWxpbmstbm9kZVwiIGlmIHNwZWNpZmllZCBieSBhIFwibWVk
aWFcIiBhdHRyaWJ1dGUgaW4gYSBsaW5rZWQgc3R5bGUgc2hlZXQncyBMSU5LIHRhZywgXCJtZWRp
YS1zdHlsZS1ub2RlXCIgaWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRpYVwiIGF0dHJpYnV0ZSBpbiBh
biBpbmxpbmUgc3R5bGUgc2hlZXQncyBTVFlMRSB0YWcsIFwic3VwcG9ydHMtcnVsZVwiIGlmIHNw
ZWNpZmllZCBieSBhbiBAc3VwcG9ydHMgcnVsZSwgLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNvdXJjZVVSTCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJVUkwgb2YgdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIENTUyBncm91
cGluZy4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfQogICAgIF0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuY3BwCmluZGV4IDFhZDk2NDQzMjEwOTRjYTgyMjJmZjZkZjIzYmU5YTQ3ZWM1Zjg0MTQu
LjIxMTJmNDBjNGM3MjA4MGJhODBlNWQyZDI5MjkyNGI3NmYxN2ExYjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwCkBAIC03Myw3ICs3Myw2IEBAIE1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlT
ZXQoKSA9IGRlZmF1bHQ7CiAKIE1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlTZXQoY29uc3QgTWVk
aWFRdWVyeVNldCYgbykKICAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgbV9sYXN0TGluZShvLm1f
bGFzdExpbmUpCiAgICAgLCBtX3F1ZXJpZXMoby5tX3F1ZXJpZXMpCiB7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFMaXN0LmgKaW5kZXggNGNiZDQwMTEyMzkyNGYzNGUzMjBiMGQ3ZDc5MTNmMDdhMWMzMjViMi4u
MmI2ZDk4NzkzMWY4N2RmZGU5YjNiZWIzMmQzMWNiYzc2NjY1NjA0OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuaApAQCAtNTYsOSArNTYsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8TWVk
aWFRdWVyeT4mIHF1ZXJ5VmVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9xdWVyaWVzOyB9CiAKLSAg
ICBpbnQgbGFzdExpbmUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RMaW5lOyB9Ci0gICAgdm9pZCBz
ZXRMYXN0TGluZShpbnQgbGFzdExpbmUpIHsgbV9sYXN0TGluZSA9IGxhc3RMaW5lOyB9Ci0KICAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbWVkaWFUZXh0KCkgY29uc3Q7CiAKICAgICBSZWY8TWVk
aWFRdWVyeVNldD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVy
eVNldCgqdGhpcykpOyB9CkBAIC03MCw3ICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9F
WFBPUlQgTWVkaWFRdWVyeVNldChjb25zdCBTdHJpbmcmIG1lZGlhUXVlcnkpOwogICAgIE1lZGlh
UXVlcnlTZXQoY29uc3QgTWVkaWFRdWVyeVNldCYpOwogCi0gICAgaW50IG1fbGFzdExpbmUgeyAw
IH07CiAgICAgVmVjdG9yPE1lZGlhUXVlcnk+IG1fcXVlcmllczsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCBjYTMwZTFh
MjdiZjQwNjE4NWE0ODMyMGEyNjMxODNlYTdlNmU0N2UzLi4xNDk1ZjM5ZTJhNDVlM2M3MmE5NjE0
YWZmNTc5ZTY0ZGRmNTVjMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0zNzksMTMgKzM3OSw2IEBAIHZvaWQgU3R5bGVTaGVl
dEhhbmRsZXI6Om9ic2VydmVDb21tZW50KHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQpCiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay5sYXN0KCktPnN0eWxlU291cmNl
RGF0YS0+cHJvcGVydHlEYXRhLmFwcGVuZChDU1NQcm9wZXJ0eVNvdXJjZURhdGEocHJvcGVydHlE
YXRhLm5hbWUsIHByb3BlcnR5RGF0YS52YWx1ZSwgZmFsc2UsIHRydWUsIHRydWUsIFNvdXJjZVJh
bmdlKHN0YXJ0T2Zmc2V0IC0gdG9wUnVsZUJvZHlSYW5nZS5zdGFydCwgZW5kT2Zmc2V0IC0gdG9w
UnVsZUJvZHlSYW5nZS5zdGFydCkpKTsKIH0KIAotZW51bSBNZWRpYUxpc3RTb3VyY2UgewotICAg
IE1lZGlhTGlzdFNvdXJjZUxpbmtlZFNoZWV0LAotICAgIE1lZGlhTGlzdFNvdXJjZUlubGluZVNo
ZWV0LAotICAgIE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVsZSwKLSAgICBNZWRpYUxpc3RTb3VyY2VJ
bXBvcnRSdWxlCi19OwotCiBzdGF0aWMgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6
U291cmNlUmFuZ2U+IGJ1aWxkU291cmNlUmFuZ2VPYmplY3QoY29uc3QgU291cmNlUmFuZ2UmIHJh
bmdlLCBjb25zdCBWZWN0b3I8c2l6ZV90PiYgbGluZUVuZGluZ3MsIGludCogZW5kaW5nTGluZSA9
IG51bGxwdHIpCiB7CiAgICAgaWYgKGxpbmVFbmRpbmdzLmlzRW1wdHkoKSkKQEAgLTQwNSwzNyAr
Mzk4LDYgQEAgc3RhdGljIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlNvdXJjZVJh
bmdlPiBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnMKICAgICAgICAgLnJlbGVhc2UoKTsKIH0K
IAotc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhPiBidWlsZE1l
ZGlhT2JqZWN0KGNvbnN0IE1lZGlhTGlzdCogbWVkaWEsIE1lZGlhTGlzdFNvdXJjZSBtZWRpYUxp
c3RTb3VyY2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQotewotICAgIC8vIE1ha2UgY2VydGFp
biBjb21waWxlcnMgaGFwcHkgYnkgaW5pdGlhbGl6aW5nIHxzb3VyY2V8IHVwLWZyb250LgotICAg
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZSBzb3VyY2UgPSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6OklubGluZVNoZWV0OwotICAg
IHN3aXRjaCAobWVkaWFMaXN0U291cmNlKSB7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VNZWRp
YVJ1bGU6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVk
aWE6OlNvdXJjZTo6TWVkaWFSdWxlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1lZGlhTGlz
dFNvdXJjZUltcG9ydFJ1bGU6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZTo6SW1wb3J0UnVsZTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBNZWRpYUxpc3RTb3VyY2VMaW5rZWRTaGVldDoKLSAgICAgICAgc291cmNlID0gSW5zcGVj
dG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlOjpMaW5rZWRTaGVldDsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VJbmxpbmVTaGVldDoKLSAgICAgICAg
c291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlOjpJbmxp
bmVTaGVldDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgYXV0byBtZWRpYU9iamVjdCA9
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OmNyZWF0ZSgpCi0gICAgICAgIC5z
ZXRUZXh0KG1lZGlhLT5tZWRpYVRleHQoKSkKLSAgICAgICAgLnNldFNvdXJjZShzb3VyY2UpCi0g
ICAgICAgIC5yZWxlYXNlKCk7Ci0KLSAgICBpZiAoIXNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgbWVkaWFPYmplY3QtPnNldFNvdXJjZVVSTChzb3VyY2VVUkwpOwotICAgICAgICBtZWRp
YU9iamVjdC0+c2V0U291cmNlTGluZShtZWRpYS0+cXVlcmllcygpLT5sYXN0TGluZSgpKTsKLSAg
ICB9Ci0gICAgcmV0dXJuIG1lZGlhT2JqZWN0OwotfQotCiBzdGF0aWMgUmVmUHRyPENTU1J1bGVM
aXN0PiBhc0NTU1J1bGVMaXN0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQpCiB7CiAgICAgaWYg
KCFzdHlsZVNoZWV0KQpAQCAtNDY1LDU5ICs0MjcsODUgQEAgc3RhdGljIFJlZlB0cjxDU1NSdWxl
TGlzdD4gYXNDU1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIHJldHVybiBudWxscHRyOwog
fQogCi1zdGF0aWMgdm9pZCBmaWxsTWVkaWFMaXN0Q2hhaW4oQ1NTUnVsZSogcnVsZSwgSlNPTjo6
QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhPiYgbWVkaWFBcnJheSkK
K3N0YXRpYyBSZWY8SlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3Vw
aW5nPj4gYnVpbGRBcnJheUZvckdyb3VwaW5ncyhDU1NSdWxlJiBydWxlKQogewotICAgIE1lZGlh
TGlzdCogbWVkaWFMaXN0OwotICAgIENTU1J1bGUqIHBhcmVudFJ1bGUgPSBydWxlOwotICAgIFN0
cmluZyBzb3VyY2VVUkw7CisgICAgYXV0byBncm91cGluZ3NQYXlsb2FkID0gSlNPTjo6QXJyYXlP
ZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nPjo6Y3JlYXRlKCk7CisKKyAgICBh
dXRvKiBwYXJlbnRSdWxlID0gJnJ1bGU7CiAgICAgd2hpbGUgKHBhcmVudFJ1bGUpIHsKLSAgICAg
ICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCA9IG51bGxwdHI7Ci0gICAgICAgIGJv
b2wgaXNNZWRpYVJ1bGUgPSB0cnVlOwotICAgICAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPigqcGFy
ZW50UnVsZSkpIHsKLSAgICAgICAgICAgIENTU01lZGlhUnVsZSYgbWVkaWFSdWxlID0gZG93bmNh
c3Q8Q1NTTWVkaWFSdWxlPigqcGFyZW50UnVsZSk7Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSBt
ZWRpYVJ1bGUubWVkaWEoKTsKLSAgICAgICAgICAgIHBhcmVudFN0eWxlU2hlZXQgPSBtZWRpYVJ1
bGUucGFyZW50U3R5bGVTaGVldCgpOwotICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ltcG9ydFJ1
bGU+KCpwYXJlbnRSdWxlKSkgewotICAgICAgICAgICAgQ1NTSW1wb3J0UnVsZSYgaW1wb3J0UnVs
ZSA9IGRvd25jYXN0PENTU0ltcG9ydFJ1bGU+KCpwYXJlbnRSdWxlKTsKLSAgICAgICAgICAgIG1l
ZGlhTGlzdCA9ICZpbXBvcnRSdWxlLm1lZGlhKCk7Ci0gICAgICAgICAgICBwYXJlbnRTdHlsZVNo
ZWV0ID0gaW1wb3J0UnVsZS5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAgICAgICAgICBpc01lZGlh
UnVsZSA9IGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9IG51
bGxwdHI7CisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5n
PiBydWxlR3JvdXBpbmdQYXlsb2FkOwogCi0gICAgICAgIGlmIChwYXJlbnRTdHlsZVNoZWV0KSB7
Ci0gICAgICAgICAgICBzb3VyY2VVUkwgPSBwYXJlbnRTdHlsZVNoZWV0LT5jb250ZW50cygpLmJh
c2VVUkwoKTsKLSAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaXNFbXB0eSgpKQotICAgICAgICAg
ICAgICAgIHNvdXJjZVVSTCA9IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVSTFN0cmluZyhw
YXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkpOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHNvdXJjZVVSTCA9IGVtcHR5U3RyaW5nKCk7Ci0KLSAgICAgICAgaWYgKG1lZGlhTGlz
dCAmJiBtZWRpYUxpc3QtPmxlbmd0aCgpKQotICAgICAgICAgICAgbWVkaWFBcnJheS5hZGRJdGVt
KGJ1aWxkTWVkaWFPYmplY3QobWVkaWFMaXN0LCBpc01lZGlhUnVsZSA/IE1lZGlhTGlzdFNvdXJj
ZU1lZGlhUnVsZSA6IE1lZGlhTGlzdFNvdXJjZUltcG9ydFJ1bGUsIHNvdXJjZVVSTCkpOwotCi0g
ICAgICAgIGlmIChwYXJlbnRSdWxlLT5wYXJlbnRSdWxlKCkpCi0gICAgICAgICAgICBwYXJlbnRS
dWxlID0gcGFyZW50UnVsZS0+cGFyZW50UnVsZSgpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNo
ZWV0KCk7Ci0gICAgICAgICAgICB3aGlsZSAoc3R5bGVTaGVldCkgewotICAgICAgICAgICAgICAg
IG1lZGlhTGlzdCA9IHN0eWxlU2hlZXQtPm1lZGlhKCk7Ci0gICAgICAgICAgICAgICAgaWYgKG1l
ZGlhTGlzdCAmJiBtZWRpYUxpc3QtPmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIERv
Y3VtZW50KiBkb2MgPSBzdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChkb2MpCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBkb2Mt
PnVybCgpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghc3R5bGVTaGVldC0+Y29udGVu
dHMoKS5iYXNlVVJMKCkuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgc291cmNl
VVJMID0gc3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IGVtcHR5U3RyaW5n
KCk7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhQXJyYXkuYWRkSXRlbShidWlsZE1lZGlhT2Jq
ZWN0KG1lZGlhTGlzdCwgc3R5bGVTaGVldC0+b3duZXJOb2RlKCkgPyBNZWRpYUxpc3RTb3VyY2VM
aW5rZWRTaGVldCA6IE1lZGlhTGlzdFNvdXJjZUlubGluZVNoZWV0LCBzb3VyY2VVUkwpKTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcGFyZW50UnVsZSA9IHN0eWxlU2hlZXQt
Pm93bmVyUnVsZSgpOwotICAgICAgICAgICAgICAgIGlmIChwYXJlbnRSdWxlKQotICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBzdHlsZVNoZWV0ID0gc3R5bGVTaGVl
dC0+cGFyZW50U3R5bGVTaGVldCgpOworICAgICAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPihwYXJl
bnRSdWxlKSkgeworICAgICAgICAgICAgYXV0byogbWVkaWEgPSBkb3duY2FzdDxDU1NNZWRpYVJ1
bGU+KHBhcmVudFJ1bGUpLT5tZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhICYmIG1lZGlh
LT5sZW5ndGgoKSAmJiBtZWRpYS0+bWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAg
ICAgICBydWxlR3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91
cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEtPm1lZGlh
VGV4dCgpKQorICAgICAgICAgICAgICAgICAgICAuc2V0VHlwZShJbnNwZWN0b3I6OlByb3RvY29s
OjpDU1M6Okdyb3VwaW5nOjpUeXBlOjpNZWRpYVJ1bGUpCisgICAgICAgICAgICAgICAgICAgIC5y
ZWxlYXNlKCk7CiAgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoaXM8Q1NTSW1wb3J0
UnVsZT4ocGFyZW50UnVsZSkpIHsKKyAgICAgICAgICAgIGF1dG8mIG1lZGlhID0gZG93bmNhc3Q8
Q1NTSW1wb3J0UnVsZT4ocGFyZW50UnVsZSktPm1lZGlhKCk7CisgICAgICAgICAgICBpZiAobWVk
aWEubGVuZ3RoKCkgJiYgbWVkaWEubWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAg
ICAgICBydWxlR3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91
cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEubWVkaWFU
ZXh0KCkpCisgICAgICAgICAgICAgICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkNTUzo6R3JvdXBpbmc6OlR5cGU6Ok1lZGlhSW1wb3J0UnVsZSkKKyAgICAgICAgICAgICAgICAg
ICAgLnJlbGVhc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChpczxDU1NT
dXBwb3J0c1J1bGU+KHBhcmVudFJ1bGUpKSB7CisgICAgICAgICAgICBydWxlR3JvdXBpbmdQYXls
b2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRlKCkKKyAgICAg
ICAgICAgICAgICAuc2V0VGV4dChkb3duY2FzdDxDU1NTdXBwb3J0c1J1bGU+KHBhcmVudFJ1bGUp
LT5jb25kaXRpb25UZXh0KCkpCisgICAgICAgICAgICAgICAgLnNldFR5cGUoSW5zcGVjdG9yOjpQ
cm90b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlwZTo6U3VwcG9ydHNSdWxlKQorICAgICAgICAgICAg
ICAgIC5yZWxlYXNlKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAocnVsZUdyb3VwaW5nUGF5
bG9hZCkgeworICAgICAgICAgICAgaWYgKGF1dG8qIHBhcmVudFN0eWxlU2hlZXQgPSBwYXJlbnRS
dWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkpIHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgc291cmNl
VVJMID0gcGFyZW50U3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7CisgICAgICAgICAg
ICAgICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGF1dG8qIG93bmVyRG9jdW1lbnQgPSBwYXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkp
CisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBJbnNwZWN0b3JET01BZ2VudDo6
ZG9jdW1lbnRVUkxTdHJpbmcob3duZXJEb2N1bWVudCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGlmICghc291cmNlVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAg
ICAgcnVsZUdyb3VwaW5nUGF5bG9hZC0+c2V0U291cmNlVVJMKHNvdXJjZVVSTCk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGdyb3VwaW5nc1BheWxvYWQtPmFkZEl0ZW0oV1RGTW92ZShy
dWxlR3JvdXBpbmdQYXlsb2FkKSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAocGFyZW50UnVs
ZS0+cGFyZW50UnVsZSgpKSB7CisgICAgICAgICAgICBwYXJlbnRSdWxlID0gcGFyZW50UnVsZS0+
cGFyZW50UnVsZSgpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAg
ICBhdXRvKiBzdHlsZVNoZWV0ID0gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpOworICAg
ICAgICB3aGlsZSAoc3R5bGVTaGVldCkgeworICAgICAgICAgICAgYXV0byogbWVkaWEgPSBzdHls
ZVNoZWV0LT5tZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhICYmIG1lZGlhLT5sZW5ndGgo
KSAmJiBtZWRpYS0+bWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAgICAgICBhdXRv
IHNoZWV0R3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGlu
Zzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEtPm1lZGlhVGV4
dCgpKQorICAgICAgICAgICAgICAgICAgICAuc2V0VHlwZShpczxIVE1MU3R5bGVFbGVtZW50Pihz
dHlsZVNoZWV0LT5vd25lck5vZGUoKSkgPyBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3Vw
aW5nOjpUeXBlOjpNZWRpYVN0eWxlTm9kZTogSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91
cGluZzo6VHlwZTo6TWVkaWFMaW5rTm9kZSkKKyAgICAgICAgICAgICAgICAgICAgLnJlbGVhc2Uo
KTsKKworICAgICAgICAgICAgICAgIFN0cmluZyBzb3VyY2VVUkw7CisgICAgICAgICAgICAgICAg
aWYgKGF1dG8qIG93bmVyRG9jdW1lbnQgPSBzdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkpCisg
ICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IG93bmVyRG9jdW1lbnQtPnVybCgpOworICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IHN0eWxlU2hlZXQtPmNv
bnRlbnRzKCkuYmFzZVVSTCgpOworICAgICAgICAgICAgICAgIGlmICghc291cmNlVVJMLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgICAgICAgICAgc2hlZXRHcm91cGluZ1BheWxvYWQtPnNldFNvdXJj
ZVVSTChzb3VyY2VVUkwpOworCisgICAgICAgICAgICAgICAgZ3JvdXBpbmdzUGF5bG9hZC0+YWRk
SXRlbShXVEZNb3ZlKHNoZWV0R3JvdXBpbmdQYXlsb2FkKSk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHBhcmVudFJ1bGUgPSBzdHlsZVNoZWV0LT5vd25lclJ1bGUoKTsKKyAgICAgICAg
ICAgIGlmIChwYXJlbnRSdWxlKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICBzdHlsZVNoZWV0ID0gc3R5bGVTaGVldC0+cGFyZW50U3R5bGVTaGVldCgpOwogICAgICAgICB9
CiAgICAgfQorCisgICAgcmV0dXJuIGdyb3VwaW5nc1BheWxvYWQ7CiB9CiAKIFJlZjxJbnNwZWN0
b3JTdHlsZT4gSW5zcGVjdG9yU3R5bGU6OmNyZWF0ZShjb25zdCBJbnNwZWN0b3JDU1NJZCYgc3R5
bGVJZCwgUmVmPENTU1N0eWxlRGVjbGFyYXRpb24+JiYgc3R5bGUsIEluc3BlY3RvclN0eWxlU2hl
ZXQqIHBhcmVudFN0eWxlU2hlZXQpCkBAIC0xMTczLDExICsxMTYxLDkgQEAgUmVmUHRyPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTUnVsZT4gSW5zcGVjdG9yU3R5bGVTaGVldDo6YnVpbGRP
YmplY3RGb3JSdWwKICAgICAgICAgICAgIHJlc3VsdC0+c2V0UnVsZUlkKGlkLmFzUHJvdG9jb2xW
YWx1ZTxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1J1bGVJZD4oKSk7CiAgICAgfQogCi0g
ICAgYXV0byBtZWRpYUFycmF5ID0gQXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNT
U01lZGlhPjo6Y3JlYXRlKCk7Ci0KLSAgICBmaWxsTWVkaWFMaXN0Q2hhaW4ocnVsZSwgbWVkaWFB
cnJheS5nZXQoKSk7Ci0gICAgaWYgKG1lZGlhQXJyYXktPmxlbmd0aCgpKQotICAgICAgICByZXN1
bHQtPnNldE1lZGlhKFdURk1vdmUobWVkaWFBcnJheSkpOworICAgIGF1dG8gZ3JvdXBpbmdzUGF5
bG9hZCA9IGJ1aWxkQXJyYXlGb3JHcm91cGluZ3MoKnJ1bGUpOworICAgIGlmIChncm91cGluZ3NQ
YXlsb2FkLT5sZW5ndGgoKSkKKyAgICAgICAgcmVzdWx0LT5zZXRHcm91cGluZ3MoV1RGTW92ZShn
cm91cGluZ3NQYXlsb2FkKSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdl
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NT
U01hbmFnZXIuanMKaW5kZXggZjliMjM5NzFhODQyNGEzYjc2ODA2ZWQyN2UxNTIxZmQ3ZjI4ZTQ0
My4uZTJlMThmZjhhMWM0YzFkZjhkOWZmOGFjZjYwYzAyMzAxNWQwNjc0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9DU1NNYW5hZ2VyLmpzCkBAIC04MSwyMSArODEsMjIgQEAgV0kuQ1NTTWFuYWdlciA9IGNsYXNz
IENTU01hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgfQogICAgIH0KIAotICAgIHN0
YXRpYyBwcm90b2NvbE1lZGlhU291cmNlVG9FbnVtKHNvdXJjZSkKKyAgICBzdGF0aWMgcHJvdG9j
b2xHcm91cGluZ1R5cGVUb0VudW0odHlwZSkKICAgICB7Ci0gICAgICAgIHN3aXRjaCAoc291cmNl
KSB7Ci0gICAgICAgIGNhc2UgQ1NTQWdlbnQuQ1NTTWVkaWFTb3VyY2UuTWVkaWFSdWxlOgotICAg
ICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuTWVkaWFSdWxlOwotICAgICAgICBjYXNl
IENTU0FnZW50LkNTU01lZGlhU291cmNlLkltcG9ydFJ1bGU6Ci0gICAgICAgICAgICByZXR1cm4g
V0kuQ1NTTWVkaWEuVHlwZS5JbXBvcnRSdWxlOwotICAgICAgICBjYXNlIENTU0FnZW50LkNTU01l
ZGlhU291cmNlLkxpbmtlZFNoZWV0OgotICAgICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5
cGUuTGlua2VkU3R5bGVTaGVldDsKLSAgICAgICAgY2FzZSBDU1NBZ2VudC5DU1NNZWRpYVNvdXJj
ZS5JbmxpbmVTaGVldDoKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NNZWRpYS5UeXBlLklubGlu
ZVN0eWxlU2hlZXQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2Vy
dChmYWxzZSwgIlVua25vd24gQ1NTLkNTU01lZGlhU291cmNlIiwgc291cmNlKTsKLSAgICAgICAg
ICAgIHJldHVybiBXSS5DU1NNZWRpYS5UeXBlLk1lZGlhUnVsZTsKKyAgICAgICAgLy8gQ09NUEFU
SUJJTElUWSAoaU9TIDEzKTogQ1NTLkdyb3VwaW5nIGRpZCBub3QgZXhpc3QgeWV0LgorICAgICAg
ICBpZiAoIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5DU1MuR3JvdXBpbmcpIHsKKyAgICAgICAg
ICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICAgICAgY2FzZSAibWVkaWFSdWxlIjoKKyAgICAg
ICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYVJ1bGU7CisgICAgICAg
ICAgICBjYXNlICJpbXBvcnRSdWxlIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3Jv
dXBpbmcuVHlwZS5NZWRpYUltcG9ydFJ1bGU7CisgICAgICAgICAgICBjYXNlICJsaW5rZWRTaGVl
dCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFMaW5r
Tm9kZTsKKyAgICAgICAgICAgIGNhc2UgImlubGluZVNoZWV0IjoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYVN0eWxlTm9kZTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQorICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAKICAgICBzdGF0aWMgZGlz
cGxheU5hbWVGb3JQc2V1ZG9JZChwc2V1ZG9JZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCA1ZjhjZTZkODAyMjEzMDY3OTE2OTgzYTE4MDhi
YjgxMmZjNzRhY2EzLi41NDkyYmQyMTYwNzY2NmU5MDAxNmNhOGE0YjljMjU5MWQ1MmQ4MTIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0z
NjEsOCArMzYxLDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0NvbXBsZXRpb25zLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0dyb3VwaW5nLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRpYS5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9k
ZWxzL0NTU1NlbGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MWRmMDRjMmU0NTE2YmJlNTdkMjUyNzc1NzZmNzlhMGY4MzcyOTg4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3Vw
aW5nLmpzCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXSS5DU1NHcm91cGluZyA9IGNs
YXNzIENTU0dyb3VwaW5nCit7CisgICAgY29uc3RydWN0b3IodHlwZSwgdGV4dCwgc291cmNlQ29k
ZUxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhD
U1NHcm91cGluZy5UeXBlKS5pbmNsdWRlcyh0eXBlKSk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHR5cGVvZiB0ZXh0ID09PSAic3RyaW5nIiAmJiB0ZXh0Lmxlbmd0aCk7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KCFzb3VyY2VDb2RlTG9jYXRpb24gfHwgc291cmNlQ29kZUxvY2F0aW9uIGluc3Rh
bmNlb2YgV0kuU291cmNlQ29kZUxvY2F0aW9uKTsKKworICAgICAgICB0aGlzLl90eXBlID0gdHlw
ZTsKKyAgICAgICAgdGhpcy5fdGV4dCA9IHRleHQ7CisgICAgICAgIHRoaXMuX3NvdXJjZUNvZGVM
b2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxsOworICAgIH0KKworICAgIC8vIFB1
YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlOyB9CisgICAgZ2V0IHRl
eHQoKSB7IHJldHVybiB0aGlzLl90ZXh0OyB9CisgICAgZ2V0IHNvdXJjZUNvZGVMb2NhdGlvbigp
IHsgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsgfQorCisgICAgZ2V0IGlzTWVkaWEo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IFdJLkNTU0dyb3VwaW5nLlR5
cGUuTWVkaWFSdWxlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBlID09PSBXSS5DU1NHcm91cGlu
Zy5UeXBlLk1lZGlhSW1wb3J0UnVsZQorICAgICAgICAgICAgfHwgdGhpcy5fdHlwZSA9PT0gV0ku
Q1NTR3JvdXBpbmcuVHlwZS5NZWRpYUxpbmtOb2RlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBl
ID09PSBXSS5DU1NHcm91cGluZy5UeXBlLk1lZGlhU3R5bGVOb2RlOworICAgIH0KKworICAgIGdl
dCBpc1N1cHBvcnRzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl90eXBlID09PSBXSS5D
U1NHcm91cGluZy5UeXBlLlN1cHBvcnRzUnVsZTsKKyAgICB9CisKKyAgICBnZXQgcHJlZml4KCkK
KyAgICB7CisgICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydHMpCisgICAgICAgICAgICByZXR1cm4g
IkBzdXBwb3J0cyI7CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc01lZGlhKTsKKyAg
ICAgICAgcmV0dXJuICJAbWVkaWEiOworICAgIH0KK307CisKK1dJLkNTU0dyb3VwaW5nLlR5cGUg
PSB7CisgICAgTWVkaWFSdWxlOiAibWVkaWEtcnVsZSIsCisgICAgTWVkaWFJbXBvcnRSdWxlOiAi
bWVkaWEtaW1wb3J0LXJ1bGUiLAorICAgIE1lZGlhTGlua05vZGU6ICJtZWRpYS1saW5rLW5vZGUi
LAorICAgIE1lZGlhU3R5bGVOb2RlOiAibWVkaWEtc3R5bGUtbm9kZSIsCisgICAgU3VwcG9ydHNS
dWxlOiAic3VwcG9ydHMtcnVsZSIsCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzYmQ2ODk5ZGNiYzQyMWIzMGUzZGQwNjNiNDg5ZTJlMTcyZGVjOWJkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcworKysgL2Rldi9udWxsCkBA
IC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1XSS5DU1NNZWRpYSA9IGNsYXNzIENTU01lZGlh
Ci17Ci0gICAgY29uc3RydWN0b3IodHlwZSwgdGV4dCwgc291cmNlQ29kZUxvY2F0aW9uKQotICAg
IHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXNvdXJjZUNvZGVMb2NhdGlvbiB8fCBzb3VyY2VD
b2RlTG9jYXRpb24gaW5zdGFuY2VvZiBXSS5Tb3VyY2VDb2RlTG9jYXRpb24pOwotCi0gICAgICAg
IHRoaXMuX3R5cGUgPSB0eXBlIHx8IG51bGw7Ci0gICAgICAgIHRoaXMuX3RleHQgPSB0ZXh0IHx8
ICIiOwotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRp
b24gfHwgbnVsbDsKLSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQotICAgIGdldCB0eXBlKCkgeyBy
ZXR1cm4gdGhpcy5fdHlwZTsgfQotICAgIGdldCB0ZXh0KCkgeyByZXR1cm4gdGhpcy5fdGV4dDsg
fQotICAgIGdldCBzb3VyY2VDb2RlTG9jYXRpb24oKSB7IHJldHVybiB0aGlzLl9zb3VyY2VDb2Rl
TG9jYXRpb247IH0KLX07Ci0KLVdJLkNTU01lZGlhLlR5cGUgPSB7Ci0gICAgTWVkaWFSdWxlOiAi
Y3NzLW1lZGlhLXR5cGUtbWVkaWEtcnVsZSIsCi0gICAgSW1wb3J0UnVsZTogImNzcy1tZWRpYS10
eXBlLWltcG9ydC1ydWxlIiwKLSAgICBMaW5rZWRTdHlsZVNoZWV0OiAiY3NzLW1lZGlhLXR5cGUt
bGlua2VkLXN0eWxlc2hlZXQiLAotICAgIElubGluZVN0eWxlU2hlZXQ6ICJjc3MtbWVkaWEtdHlw
ZS1pbmxpbmUtc3R5bGVzaGVldCIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzCmluZGV4IDhkOGUyNTljN2E4ZTIzM2Ix
NGJlNDZjNTc2MGE4NmYwZGIzYTMxZDMuLjVjMjEwNzk5NGQ2NGQxMDQwMmM5MTk2NDRiMzQ4ZmQz
ODk1Yjg3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NSdWxlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9DU1NSdWxlLmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdJLkNTU1J1bGUgPSBj
bGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Iobm9kZVN0
eWxlcywgb3duZXJTdHlsZVNoZWV0LCBpZCwgdHlwZSwgc291cmNlQ29kZUxvY2F0aW9uLCBzZWxl
Y3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlh
TGlzdCkKKyAgICBjb25zdHJ1Y3Rvcihub2RlU3R5bGVzLCBvd25lclN0eWxlU2hlZXQsIGlkLCB0
eXBlLCBzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVk
U2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgZ3JvdXBpbmdzKQogICAgIHsKICAgICAgICAgc3VwZXIo
KTsKIApAQCAtMzcsNTcgKzM3LDI2IEBAIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlIHx8IG51bGw7CiAgICAgICAg
IHRoaXMuX2luaXRpYWxTdGF0ZSA9IG51bGw7CiAKLSAgICAgICAgdGhpcy51cGRhdGUoc291cmNl
Q29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5k
aWNlcywgc3R5bGUsIG1lZGlhTGlzdCwgdHJ1ZSk7CisgICAgICAgIHRoaXMudXBkYXRlKHNvdXJj
ZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3Rvcklu
ZGljZXMsIHN0eWxlLCBncm91cGluZ3MsIHRydWUpOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwog
CisgICAgZ2V0IG93bmVyU3R5bGVTaGVldCgpIHsgcmV0dXJuIHRoaXMuX293bmVyU3R5bGVTaGVl
dDsgfQogICAgIGdldCBpZCgpIHsgcmV0dXJuIHRoaXMuX2lkOyB9CisgICAgZ2V0IHR5cGUoKSB7
IHJldHVybiB0aGlzLl90eXBlOyB9CiAgICAgZ2V0IGluaXRpYWxTdGF0ZSgpIHsgcmV0dXJuIHRo
aXMuX2luaXRpYWxTdGF0ZTsgfQotCi0gICAgZ2V0IG93bmVyU3R5bGVTaGVldCgpCi0gICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fb3duZXJTdHlsZVNoZWV0OwotICAgIH0KKyAgICBnZXQgc291
cmNlQ29kZUxvY2F0aW9uKCkgeyByZXR1cm4gdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uOyB9Cisg
ICAgZ2V0IHNlbGVjdG9ycygpIHsgcmV0dXJuIHRoaXMuX3NlbGVjdG9yczsgfQorICAgIGdldCBt
YXRjaGVkU2VsZWN0b3JJbmRpY2VzKCkgeyByZXR1cm4gdGhpcy5fbWF0Y2hlZFNlbGVjdG9ySW5k
aWNlczsgfQorICAgIGdldCBzdHlsZSgpIHsgcmV0dXJuIHRoaXMuX3N0eWxlOyB9CisgICAgZ2V0
IGdyb3VwaW5ncygpIHsgcmV0dXJuIHRoaXMuX2dyb3VwaW5nczsgfQogCiAgICAgZ2V0IGVkaXRh
YmxlKCkKICAgICB7CiAgICAgICAgIHJldHVybiAhIXRoaXMuX2lkICYmICh0aGlzLl90eXBlID09
PSBXSS5DU1NTdHlsZVNoZWV0LlR5cGUuQXV0aG9yIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNTU1N0
eWxlU2hlZXQuVHlwZS5JbnNwZWN0b3IpOwogICAgIH0KIAotICAgIHVwZGF0ZShzb3VyY2VDb2Rl
TG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2Vz
LCBzdHlsZSwgbWVkaWFMaXN0KQotICAgIHsKLSAgICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0g
c291cmNlQ29kZUxvY2F0aW9uIHx8IG51bGw7Ci0gICAgICAgIHNlbGVjdG9yVGV4dCA9IHNlbGVj
dG9yVGV4dCB8fCAiIjsKLSAgICAgICAgc2VsZWN0b3JzID0gc2VsZWN0b3JzIHx8IFtdOwotICAg
ICAgICBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcyB8fCBb
XTsKLSAgICAgICAgc3R5bGUgPSBzdHlsZSB8fCBudWxsOwotICAgICAgICBtZWRpYUxpc3QgPSBt
ZWRpYUxpc3QgfHwgW107Ci0KLSAgICAgICAgaWYgKHRoaXMuX3N0eWxlKQotICAgICAgICAgICAg
dGhpcy5fc3R5bGUub3duZXJSdWxlID0gbnVsbDsKLQotICAgICAgICB0aGlzLl9zb3VyY2VDb2Rl
TG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb247Ci0gICAgICAgIHRoaXMuX3NlbGVjdG9yVGV4
dCA9IHNlbGVjdG9yVGV4dDsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3JzID0gc2VsZWN0b3JzOwot
ICAgICAgICB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5k
aWNlczsKLSAgICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKLSAgICAgICAgdGhpcy5fbWVkaWFM
aXN0ID0gbWVkaWFMaXN0OwotCi0gICAgICAgIGlmICh0aGlzLl9zdHlsZSkKLSAgICAgICAgICAg
IHRoaXMuX3N0eWxlLm93bmVyUnVsZSA9IHRoaXM7Ci0gICAgfQotCi0gICAgZ2V0IHR5cGUoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7Ci0gICAgfQotCi0gICAgZ2V0IHNvdXJj
ZUNvZGVMb2NhdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlQ29kZUxv
Y2F0aW9uOwotICAgIH0KLQogICAgIGdldCBzZWxlY3RvclRleHQoKQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRoaXMuX3NlbGVjdG9yVGV4dDsKQEAgLTEwNywyNCArNzYsMjcgQEAgV0kuQ1NTUnVs
ZSA9IGNsYXNzIENTU1J1bGUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5fbm9kZVN0
eWxlcy5jaGFuZ2VSdWxlU2VsZWN0b3IodGhpcywgc2VsZWN0b3JUZXh0KS50aGVuKHRoaXMuX3Nl
bGVjdG9yUmVzb2x2ZWQuYmluZCh0aGlzKSwgdGhpcy5fc2VsZWN0b3JSZWplY3RlZC5iaW5kKHRo
aXMpKTsKICAgICB9CiAKLSAgICBnZXQgc2VsZWN0b3JzKCkKKyAgICB1cGRhdGUoc291cmNlQ29k
ZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNl
cywgc3R5bGUsIGdyb3VwaW5ncykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rv
cnM7Ci0gICAgfQorICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRp
b24gfHwgbnVsbDsKKyAgICAgICAgc2VsZWN0b3JUZXh0ID0gc2VsZWN0b3JUZXh0IHx8ICIiOwor
ICAgICAgICBzZWxlY3RvcnMgPSBzZWxlY3RvcnMgfHwgW107CisgICAgICAgIG1hdGNoZWRTZWxl
Y3RvckluZGljZXMgPSBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzIHx8IFtdOworICAgICAgICBzdHls
ZSA9IHN0eWxlIHx8IG51bGw7CisgICAgICAgIGdyb3VwaW5ncyA9IGdyb3VwaW5ncyB8fCBbXTsK
IAotICAgIGdldCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzOwotICAgIH0KKyAgICAgICAgaWYgKHRoaXMu
X3N0eWxlKQorICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxlID0gbnVsbDsKIAotICAg
IGdldCBzdHlsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc3R5bGU7Ci0gICAgfQor
ICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb247Cisg
ICAgICAgIHRoaXMuX3NlbGVjdG9yVGV4dCA9IHNlbGVjdG9yVGV4dDsKKyAgICAgICAgdGhpcy5f
c2VsZWN0b3JzID0gc2VsZWN0b3JzOworICAgICAgICB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRp
Y2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5kaWNlczsKKyAgICAgICAgdGhpcy5fc3R5bGUgPSBzdHls
ZTsKKyAgICAgICAgdGhpcy5fZ3JvdXBpbmdzID0gZ3JvdXBpbmdzOwogCi0gICAgZ2V0IG1lZGlh
TGlzdCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWVkaWFMaXN0OworICAgICAgICBp
ZiAodGhpcy5fc3R5bGUpCisgICAgICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUgPSB0aGlz
OwogICAgIH0KIAogICAgIGlzRXF1YWxUbyhydWxlKQpAQCAtMTczLDcgKzE0NSw3IEBAIFdJLkNT
U1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAg
ICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHRoaXMuX293bmVyU3R5bGVTaGVldC5vZmZzZXRTb3Vy
Y2VDb2RlTG9jYXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9y
VGV4dCwgc2VsZWN0b3JzLCBbXSwgdGhpcy5fc3R5bGUsIHRoaXMuX21lZGlhTGlzdCk7CisgICAg
ICAgICAgICAgICAgdGhpcy51cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQs
IHNlbGVjdG9ycywgW10sIHRoaXMuX3N0eWxlLCB0aGlzLl9ncm91cGluZ3MpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMKaW5kZXgg
OTAxYjZjYmRiMmNiZDVmNzc5MGNiMTM0MDQxYmU1YTc5ZWI4MzVlMS4uNzhiNDQ0ZTNhODliM2Rl
ZWQ2MDEzMzIwODQwMjc3NjJiYmJkODQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRp
b24uanMKQEAgLTI4NywxMCArMjg3LDEwIEBAIFdJLkNTU1N0eWxlRGVjbGFyYXRpb24gPSBjbGFz
cyBDU1NTdHlsZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHJldHVybiB0
aGlzLl9zdHlsZVNoZWV0VGV4dFJhbmdlOwogICAgIH0KIAotICAgIGdldCBtZWRpYUxpc3QoKQor
ICAgIGdldCBncm91cGluZ3MoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX293bmVyUnVsZSkK
LSAgICAgICAgICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUubWVkaWFMaXN0OworICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX293bmVyUnVsZS5ncm91cGluZ3M7CiAgICAgICAgIHJldHVybiBbXTsK
ICAgICB9CiAKQEAgLTQ1NSwxNyArNDU1LDE3IEBAIFdJLkNTU1N0eWxlRGVjbGFyYXRpb24gPSBj
bGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAg
ICBsZXQgaW5kZW50U3RyaW5nID0gV0kuaW5kZW50U3RyaW5nKCk7CiAgICAgICAgIGxldCBzdHls
ZVRleHQgPSAiIjsKLSAgICAgICAgbGV0IG1lZGlhTGlzdCA9IHRoaXMubWVkaWFMaXN0LmZpbHRl
cigobWVkaWEpID0+IG1lZGlhLnRleHQgIT09ICJhbGwiKTsKLSAgICAgICAgbGV0IG1lZGlhUXVl
cmllc0NvdW50ID0gbWVkaWFMaXN0Lmxlbmd0aDsKLSAgICAgICAgZm9yIChsZXQgaSA9IG1lZGlh
UXVlcmllc0NvdW50IC0gMTsgaSA+PSAwOyAtLWkpCi0gICAgICAgICAgICBzdHlsZVRleHQgKz0g
aW5kZW50U3RyaW5nLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCAtIGkgLSAxKSArICJAbWVkaWEg
IiArIG1lZGlhTGlzdFtpXS50ZXh0ICsgIiB7XG4iOworICAgICAgICBsZXQgZ3JvdXBpbmdzID0g
dGhpcy5ncm91cGluZ3MuZmlsdGVyKChncm91cGluZykgPT4gZ3JvdXBpbmcudGV4dCAhPT0gImFs
bCIpOworICAgICAgICBsZXQgZ3JvdXBpbmdzQ291bnQgPSBncm91cGluZ3MubGVuZ3RoOworICAg
ICAgICBmb3IgKGxldCBpID0gZ3JvdXBpbmdzQ291bnQgLSAxOyBpID49IDA7IC0taSkKKyAgICAg
ICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGdyb3VwaW5nc0NvdW50IC0g
aSAtIDEpICsgZ3JvdXBpbmdzW2ldLnByZWZpeCArICIgIiArIGdyb3VwaW5nc1tpXS50ZXh0ICsg
IiB7XG4iOwogCi0gICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KG1lZGlh
UXVlcmllc0NvdW50KSArIHRoaXMuc2VsZWN0b3JUZXh0ICsgIiB7XG4iOworICAgICAgICBzdHls
ZVRleHQgKz0gaW5kZW50U3RyaW5nLnJlcGVhdChncm91cGluZ3NDb3VudCkgKyB0aGlzLnNlbGVj
dG9yVGV4dCArICIge1xuIjsKIAogICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eSBvZiAodGhpcy5f
c3R5bGVTaGVldFRleHRSYW5nZSA/IHRoaXMudmlzaWJsZVByb3BlcnRpZXMgOiB0aGlzLl9wcm9w
ZXJ0aWVzKSkKLSAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KG1l
ZGlhUXVlcmllc0NvdW50ICsgMSkgKyBwcm9wZXJ0eS5mb3JtYXR0ZWRUZXh0ICsgIlxuIjsKKyAg
ICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGdyb3VwaW5nc0NvdW50
ICsgMSkgKyBwcm9wZXJ0eS5mb3JtYXR0ZWRUZXh0ICsgIlxuIjsKIAotICAgICAgICBmb3IgKGxl
dCBpID0gbWVkaWFRdWVyaWVzQ291bnQ7IGkgPiAwOyAtLWkpCisgICAgICAgIGZvciAobGV0IGkg
PSBncm91cGluZ3NDb3VudDsgaSA+IDA7IC0taSkKICAgICAgICAgICAgIHN0eWxlVGV4dCArPSBp
bmRlbnRTdHJpbmcucmVwZWF0KGkpICsgIn1cbiI7CiAKICAgICAgICAgc3R5bGVUZXh0ICs9ICJ9
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9ET01Ob2RlU3R5bGVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKaW5kZXggMTVlMzljOWUyOGEwYWRlNjVkZmM2NDA2MTQ3
OGY4YWVmMzRlNjQ1MS4uYzFhMjk2YTMzMjQ1ODMxMWI1NDM0Y2Q1MTMzOWU4ZDUzZGUyN2YzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RP
TU5vZGVTdHlsZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKQEAgLTEyMywxNiArMTIzLDI1IEBAIFdJLkRPTU5vZGVT
dHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQ
dWJsaWMKIAotICAgIGdldCBub2RlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ub2Rl
OwotICAgIH0KKyAgICBnZXQgbm9kZSgpIHsgcmV0dXJuIHRoaXMuX25vZGU7IH0KKyAgICBnZXQg
bWF0Y2hlZFJ1bGVzKCkgeyByZXR1cm4gdGhpcy5fbWF0Y2hlZFJ1bGVzOyB9CisgICAgZ2V0IGlu
aGVyaXRlZFJ1bGVzKCkgeyByZXR1cm4gdGhpcy5faW5oZXJpdGVkUnVsZXM7IH0KKyAgICBnZXQg
aW5saW5lU3R5bGUoKSB7IHJldHVybiB0aGlzLl9pbmxpbmVTdHlsZTsgfQorICAgIGdldCBhdHRy
aWJ1dGVzU3R5bGUoKSB7IHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzU3R5bGU7IH0KKyAgICBnZXQg
cHNldWRvRWxlbWVudHMoKSB7IHJldHVybiB0aGlzLl9wc2V1ZG9FbGVtZW50czsgfQorICAgIGdl
dCBjb21wdXRlZFN0eWxlKCkgeyByZXR1cm4gdGhpcy5fY29tcHV0ZWRTdHlsZTsgfQorICAgIGdl
dCBvcmRlcmVkU3R5bGVzKCkgeyByZXR1cm4gdGhpcy5fb3JkZXJlZFN0eWxlczsgfQogCiAgICAg
Z2V0IG5lZWRzUmVmcmVzaCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ1Jl
ZnJlc2hUYXNrIHx8IHRoaXMuX25lZWRzUmVmcmVzaDsKICAgICB9CiAKKyAgICBnZXQgdW5pcXVl
T3JkZXJlZFN0eWxlcygpCisgICAgeworICAgICAgICByZXR1cm4gV0kuRE9NTm9kZVN0eWxlcy51
bmlxdWVPcmRlcmVkU3R5bGVzKHRoaXMuX29yZGVyZWRTdHlsZXMpOworICAgIH0KKwogICAgIHJl
ZnJlc2hJZk5lZWRlZCgpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fcGVuZGluZ1JlZnJlc2hU
YXNrKQpAQCAtMzc1LDYyICszODQsNiBAQCBXSS5ET01Ob2RlU3R5bGVzID0gY2xhc3MgRE9NTm9k
ZVN0eWxlcyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgV0kuY3NzTWFuYWdlci5wcmVm
ZXJyZWRJbnNwZWN0b3JTdHlsZVNoZWV0Rm9yRnJhbWUodGhpcy5fbm9kZS5mcmFtZSwgaW5zcGVj
dG9yU3R5bGVTaGVldEF2YWlsYWJsZS5iaW5kKHRoaXMpKTsKICAgICB9CiAKLSAgICBydWxlc0Zv
clNlbGVjdG9yKHNlbGVjdG9yKQotICAgIHsKLSAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvciB8
fCB0aGlzLl9ub2RlLmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSk7Ci0KLSAgICAgICAgZnVu
Y3Rpb24gcnVsZUhhc1NlbGVjdG9yKHJ1bGUpIHsKLSAgICAgICAgICAgIHJldHVybiAhcnVsZS5t
ZWRpYUxpc3QubGVuZ3RoICYmIHJ1bGUuc2VsZWN0b3JUZXh0ID09PSBzZWxlY3RvcjsKLSAgICAg
ICAgfQotCi0gICAgICAgIGxldCBydWxlcyA9IHRoaXMuX21hdGNoZWRSdWxlcy5maWx0ZXIocnVs
ZUhhc1NlbGVjdG9yKTsKLQotICAgICAgICBmb3IgKGxldCBwc2V1ZG9FbGVtZW50SW5mbyBvZiB0
aGlzLl9wc2V1ZG9FbGVtZW50cy52YWx1ZXMoKSkKLSAgICAgICAgICAgIHJ1bGVzID0gcnVsZXMu
Y29uY2F0KHBzZXVkb0VsZW1lbnRJbmZvLm1hdGNoZWRSdWxlcy5maWx0ZXIocnVsZUhhc1NlbGVj
dG9yKSk7Ci0KLSAgICAgICAgcmV0dXJuIHJ1bGVzOwotICAgIH0KLQotICAgIGdldCBtYXRjaGVk
UnVsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21hdGNoZWRSdWxlczsKLSAgICB9
Ci0KLSAgICBnZXQgaW5oZXJpdGVkUnVsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
X2luaGVyaXRlZFJ1bGVzOwotICAgIH0KLQotICAgIGdldCBpbmxpbmVTdHlsZSgpCi0gICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lU3R5bGU7Ci0gICAgfQotCi0gICAgZ2V0IGF0dHJp
YnV0ZXNTdHlsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlc1N0eWxl
OwotICAgIH0KLQotICAgIGdldCBwc2V1ZG9FbGVtZW50cygpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fcHNldWRvRWxlbWVudHM7Ci0gICAgfQotCi0gICAgZ2V0IGNvbXB1dGVkU3R5bGUo
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXB1dGVkU3R5bGU7Ci0gICAgfQotCi0g
ICAgZ2V0IG9yZGVyZWRTdHlsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX29yZGVy
ZWRTdHlsZXM7Ci0gICAgfQotCi0gICAgZ2V0IHVuaXF1ZU9yZGVyZWRTdHlsZXMoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIFdJLkRPTU5vZGVTdHlsZXMudW5pcXVlT3JkZXJlZFN0eWxlcyh0aGlz
Ll9vcmRlcmVkU3R5bGVzKTsKLSAgICB9Ci0KICAgICBlZmZlY3RpdmVQcm9wZXJ0eUZvck5hbWUo
bmFtZSkKICAgICB7CiAgICAgICAgIGxldCBwcm9wZXJ0eSA9IHRoaXMuX3Byb3BlcnR5TmFtZVRv
RWZmZWN0aXZlUHJvcGVydHlNYXBbbmFtZV07CkBAIC03MzEsMjcgKzY4NCwyNCBAQCBXSS5ET01O
b2RlU3R5bGVzID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBleHRlbmRzIFdJLk9iamVjdAogICAgICAg
ICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0gc3R5bGVTaGVldC5vZmZzZXRTb3VyY2VDb2RlTG9j
YXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICAgICAgfQogCi0gICAgICAgIHZhciBtZWRp
YUxpc3QgPSBbXTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IHBheWxvYWQubWVkaWEgJiYgaSA8
IHBheWxvYWQubWVkaWEubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBtZWRpYUl0ZW0g
PSBwYXlsb2FkLm1lZGlhW2ldOwotICAgICAgICAgICAgdmFyIG1lZGlhVHlwZSA9IFdJLkNTU01h
bmFnZXIucHJvdG9jb2xNZWRpYVNvdXJjZVRvRW51bShtZWRpYUl0ZW0uc291cmNlKTsKLSAgICAg
ICAgICAgIHZhciBtZWRpYVRleHQgPSBtZWRpYUl0ZW0udGV4dDsKLSAgICAgICAgICAgIGxldCBt
ZWRpYVNvdXJjZUNvZGVMb2NhdGlvbiA9IERPTU5vZGVTdHlsZXMuY3JlYXRlU291cmNlQ29kZUxv
Y2F0aW9uKG1lZGlhSXRlbS5zb3VyY2VVUkwsIHtsaW5lOiBtZWRpYUl0ZW0uc291cmNlTGluZX0p
OworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBDU1MuQ1NTUnVsZS5ncm91cGlu
Z3MgZGlkIG5vdCBleGlzdCB5ZXQuCisgICAgICAgIGxldCBncm91cGluZ3MgPSAocGF5bG9hZC5n
cm91cGluZ3MgfHwgcGF5bG9hZC5tZWRpYSB8fCBbXSkubWFwKChncm91cGluZykgPT4geworICAg
ICAgICAgICAgbGV0IGdyb3VwaW5nVHlwZSA9IFdJLkNTU01hbmFnZXIucHJvdG9jb2xHcm91cGlu
Z1R5cGVUb0VudW0oZ3JvdXBpbmcudHlwZSB8fCBncm91cGluZy5zb3VyY2UpOworICAgICAgICAg
ICAgbGV0IGdyb3VwaW5nU291cmNlQ29kZUxvY2F0aW9uID0gRE9NTm9kZVN0eWxlcy5jcmVhdGVT
b3VyY2VDb2RlTG9jYXRpb24oZ3JvdXBpbmcuc291cmNlVVJMKTsKICAgICAgICAgICAgIGlmIChz
dHlsZVNoZWV0KQotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlQ29kZUxvY2F0aW9uID0gc3R5
bGVTaGVldC5vZmZzZXRTb3VyY2VDb2RlTG9jYXRpb24obWVkaWFTb3VyY2VDb2RlTG9jYXRpb24p
OwotCi0gICAgICAgICAgICBtZWRpYUxpc3QucHVzaChuZXcgV0kuQ1NTTWVkaWEobWVkaWFUeXBl
LCBtZWRpYVRleHQsIG1lZGlhU291cmNlQ29kZUxvY2F0aW9uKSk7Ci0gICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBncm91cGluZ1NvdXJjZUNvZGVMb2NhdGlvbiA9IHN0eWxlU2hlZXQub2Zmc2V0
U291cmNlQ29kZUxvY2F0aW9uKGdyb3VwaW5nU291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAg
ICAgIHJldHVybiBuZXcgV0kuQ1NTR3JvdXBpbmcoZ3JvdXBpbmdUeXBlLCBncm91cGluZy50ZXh0
LCBncm91cGluZ1NvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgIH0pOwogCiAgICAgICAgIGlm
IChydWxlKSB7Ci0gICAgICAgICAgICBydWxlLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNl
bGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgbWVk
aWFMaXN0KTsKKyAgICAgICAgICAgIHJ1bGUudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2Vs
ZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91
cGluZ3MpOwogICAgICAgICAgICAgcmV0dXJuIHJ1bGU7CiAgICAgICAgIH0KIAogICAgICAgICBp
ZiAoc3R5bGVTaGVldCkKICAgICAgICAgICAgIHN0eWxlU2hlZXQuYWRkRXZlbnRMaXN0ZW5lcihX
SS5DU1NTdHlsZVNoZWV0LkV2ZW50LkNvbnRlbnREaWRDaGFuZ2UsIHRoaXMuX3N0eWxlU2hlZXRD
b250ZW50RGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBydWxlID0gbmV3IFdJLkNTU1J1bGUo
dGhpcywgc3R5bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JU
ZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBtZWRpYUxpc3Qp
OworICAgICAgICBydWxlID0gbmV3IFdJLkNTU1J1bGUodGhpcywgc3R5bGVTaGVldCwgaWQsIHR5
cGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRT
ZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91cGluZ3MpOwogCiAgICAgICAgIGlmIChtYXBLZXkp
CiAgICAgICAgICAgICB0aGlzLl9ydWxlc01hcC5zZXQobWFwS2V5LCBydWxlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbCBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbAppbmRleCBjMDAyMTgzZWY0
ODg3YjRhZDRiNGZiZGI1MmRhZWY2NjQwZjE1MjYyLi45MmM3ZTk4ZGQ0NDc3MzI0MWZkYjZlNjY4
NzBkNjgyNzBhYzRhYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVGVzdC5odG1sCkBAIC0xMjQsOCArMTI0LDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxz
L0NQVVRpbWVsaW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRp
bWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0Nv
bXBsZXRpb25zLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0dyb3Vw
aW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRDb21w
bGV0aW9ucy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRpYS5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1NlbGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5j
c3MKaW5kZXggM2ZlNzRjMGJiODE1MDE2NmU2MzFiMjZmZTU1NzQ0ZTFjZWY3NjUxNC4uN2Q1NWQ0
NWMxZDk5YmM4OTZhNWZkMzg1YjZkMDg5MTMxM2YyNzc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5jc3MKQEAgLTM5
LDExICszOSwxMSBAQAogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiB9CiAKLS5zcHJl
YWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1tZWRpYSkg
eworLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVy
LWdyb3VwaW5ncykgewogICAgIHBhZGRpbmc6IDAgdmFyKC0tY3NzLWRlY2xhcmF0aW9uLWhvcml6
b250YWwtcGFkZGluZyk7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNo
ZXMoLmhlYWRlciwgLmhlYWRlci1tZWRpYSk6Zmlyc3QtY2hpbGQgeworLnNwcmVhZHNoZWV0LWNz
cy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdyb3VwaW5ncyk6Zmlyc3Qt
Y2hpbGQgewogICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jc3MtZGVjbGFyYXRpb24tdmVydGljYWwt
cGFkZGluZyk7CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAKICAgICByaWdodDogdmFyKC0tY3NzLWRl
Y2xhcmF0aW9uLWhvcml6b250YWwtcGFkZGluZyk7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVj
bGFyYXRpb24gLm1lZGlhLWxhYmVsIHsKKy5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLmhl
YWRlci1ncm91cGluZ3MgPiAuZ3JvdXBpbmcgewogICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9y
KTsKIH0KIApAQCAtMTEyLDYgKzExMiwxMCBAQAogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5v
bmU7CiB9CiAKKy5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLmhlYWRlci1ncm91cGluZ3Mg
KyAuaGVhZGVyID4gLnNlbGVjdG9yID4gLmljb24geworICAgIG1hcmdpbi10b3A6IDA7Cit9CisK
IC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLnNlbGVjdG9yID4gLmljb24gKyAqIHsKICAg
ICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDJweDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IGFiOWFkZDU5
NDIyNTc4YWU0NTdmN2FiYTU0NTgzMTdhOGM0OTM3NjkuLjE1ODI5ZDM2N2RmYTkzOTM4MzIyM2Ew
NGMxY2E4NDkwN2ZjZmM5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hl
ZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwpAQCAtMzgsNyArMzgsNyBAQCBXSS5TcHJl
YWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NT
dHlsZURlY2xhcmF0aW9uUwogICAgICAgICB0aGlzLl9zdHlsZSA9IHN0eWxlOwogICAgICAgICB0
aGlzLl9wcm9wZXJ0aWVzRWRpdG9yID0gbnVsbDsKICAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVt
ZW50cyA9IFtdOwotICAgICAgICB0aGlzLl9tZWRpYUVsZW1lbnRzID0gW107CisgICAgICAgIHRo
aXMuX2dyb3VwaW5nRWxlbWVudHMgPSBbXTsKICAgICAgICAgdGhpcy5fZmlsdGVyVGV4dCA9IG51
bGw7CiAgICAgICAgIHRoaXMuX3Nob3VsZEZvY3VzU2VsZWN0b3JFbGVtZW50ID0gZmFsc2U7CiAg
ICAgICAgIHRoaXMuX3dhc0VkaXRpbmcgPSBmYWxzZTsKQEAgLTk5LDcgKzk5LDMxIEBAIFdJLlNw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TCiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5h
ZGQoaWNvbkNsYXNzTmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl9oZWFkZXJFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGxldCBncm91cGlu
Z3MgPSB0aGlzLl9zdHlsZS5ncm91cGluZ3MuZmlsdGVyKChncm91cGluZykgPT4gZ3JvdXBpbmcu
dGV4dCAhPT0gImFsbCIpOworICAgICAgICBpZiAoZ3JvdXBpbmdzLmxlbmd0aCkgeworICAgICAg
ICAgICAgbGV0IGdyb3VwaW5nc0VsZW1lbnQgPSB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICAgICAgZ3JvdXBpbmdzRWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJoZWFkZXItZ3JvdXBpbmdzIik7CisKKyAgICAgICAgICAgIGxldCBj
dXJyZW50R3JvdXBpbmdUeXBlID0gbnVsbDsKKyAgICAgICAgICAgIGxldCBncm91cGluZ1R5cGVF
bGVtZW50ID0gbnVsbDsKKyAgICAgICAgICAgIHRoaXMuX2dyb3VwaW5nRWxlbWVudHMgPSBncm91
cGluZ3MubWFwKChncm91cGluZywgaSkgPT4geworICAgICAgICAgICAgICAgIGlmIChncm91cGlu
Zy50eXBlICE9PSBjdXJyZW50R3JvdXBpbmdUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgIGdy
b3VwaW5nVHlwZUVsZW1lbnQgPSBncm91cGluZ3NFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdUeXBl
RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJncm91cGluZyIpOworICAgICAgICAgICAgICAgICAgICBn
cm91cGluZ1R5cGVFbGVtZW50LnRleHRDb250ZW50ID0gZ3JvdXBpbmcucHJlZml4ICsgIiAiOwor
ICAgICAgICAgICAgICAgICAgICBjdXJyZW50R3JvdXBpbmdUeXBlID0gZ3JvdXBpbmcudHlwZTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoZ3JvdXBpbmdUeXBlRWxl
bWVudC5jaGlsZHJlbi5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nVHlwZUVs
ZW1lbnQuYXBwZW5kKCIsICIpOworCisgICAgICAgICAgICAgICAgbGV0IHNwYW4gPSBncm91cGlu
Z1R5cGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7
CisgICAgICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9IGdyb3VwaW5nLnRleHQ7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHNwYW47CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorCisg
ICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQgPSB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKICAgICAgICAgdGhpcy5faGVhZGVyRWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJoZWFkZXIiKTsKIAogICAgICAgICB0aGlzLl9zdHlsZU9yaWdpblZp
ZXcgPSBuZXcgV0kuU3R5bGVPcmlnaW5WaWV3KCk7CkBAIC0xMzYsNyArMTYwLDcgQEAgV0kuU3By
ZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NT
U3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgdGhpcy5fY2xvc2VCcmFjZS5jbGFzc0xpc3QuYWRk
KCJjbG9zZS1icmFjZSIpOwogICAgICAgICB0aGlzLl9jbG9zZUJyYWNlLnRleHRDb250ZW50ID0g
In0iOwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kKHRoaXMuX2NyZWF0ZU1lZGlhSGVh
ZGVyKCksIHRoaXMuX2hlYWRlckVsZW1lbnQpOworCiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0
aGlzLl9wcm9wZXJ0aWVzRWRpdG9yKTsKICAgICAgICAgdGhpcy5fcHJvcGVydGllc0VkaXRvci5u
ZWVkc0xheW91dCgpOwogICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZCh0aGlzLl9jbG9zZUJy
YWNlKTsKQEAgLTM4MiwzMSArNDA2LDYgQEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAg
ICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7CiAgICAgfQogCi0gICAg
X2NyZWF0ZU1lZGlhSGVhZGVyKCkKLSAgICB7Ci0gICAgICAgIGxldCBtZWRpYUxpc3QgPSB0aGlz
Ll9zdHlsZS5tZWRpYUxpc3Q7Ci0gICAgICAgIGlmICghbWVkaWFMaXN0Lmxlbmd0aCB8fCAobWVk
aWFMaXN0Lmxlbmd0aCA9PT0gMSAmJiAobWVkaWFMaXN0WzBdLnRleHQgPT09ICJhbGwiIHx8IG1l
ZGlhTGlzdFswXS50ZXh0ID09PSAic2NyZWVuIikpKQotICAgICAgICAgICAgcmV0dXJuICIiOwot
Ci0gICAgICAgIGxldCBtZWRpYUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgbWVkaWFFbGVtZW50LmNsYXNzTGlzdC5hZGQoImhlYWRlci1tZWRpYSIpOwot
Ci0gICAgICAgIGxldCBtZWRpYUxhYmVsID0gbWVkaWFFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgbWVkaWFMYWJlbC5jbGFzc05hbWUg
PSAibWVkaWEtbGFiZWwiOwotICAgICAgICBtZWRpYUxhYmVsLmFwcGVuZCgiQG1lZGlhICIpOwot
Ci0gICAgICAgIHRoaXMuX21lZGlhRWxlbWVudHMgPSBtZWRpYUxpc3QubWFwKChtZWRpYSwgaSkg
PT4gewotICAgICAgICAgICAgaWYgKGkpCi0gICAgICAgICAgICAgICAgbWVkaWFMYWJlbC5hcHBl
bmQoIiwgIik7Ci0KLSAgICAgICAgICAgIGxldCBzcGFuID0gbWVkaWFMYWJlbC5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpOwotICAgICAgICAgICAgc3Bhbi50ZXh0
Q29udGVudCA9IG1lZGlhLnRleHQ7Ci0gICAgICAgICAgICByZXR1cm4gc3BhbjsKLSAgICAgICAg
fSk7Ci0KLSAgICAgICAgcmV0dXJuIG1lZGlhRWxlbWVudDsKLSAgICB9Ci0KICAgICBfc2F2ZShl
dmVudCkKICAgICB7CiAgICAgICAgIGV2ZW50LnN0b3AoKTsKQEAgLTY2OCwxMyArNjY3LDEzIEBA
IFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRz
aGVldENTU1N0eWxlRGVjbGFyYXRpb25TCiAKICAgICBfaGFuZGxlRWRpdG9yRmlsdGVyQXBwbGll
ZChldmVudCkKICAgICB7Ci0gICAgICAgIGxldCBtYXRjaGVzTWVkaWEgPSBmYWxzZTsKLSAgICAg
ICAgZm9yIChsZXQgbWVkaWFFbGVtZW50IG9mIHRoaXMuX21lZGlhRWxlbWVudHMpIHsKLSAgICAg
ICAgICAgIG1lZGlhRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFdJLkdlbmVyYWxTdHlsZURldGFp
bHNTaWRlYmFyUGFuZWwuRmlsdGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKKyAgICAgICAgbGV0
IG1hdGNoZXNHcm91cGluZyA9IGZhbHNlOworICAgICAgICBmb3IgKGxldCBncm91cGluZ0VsZW1l
bnQgb2YgdGhpcy5fZ3JvdXBpbmdFbGVtZW50cykgeworICAgICAgICAgICAgZ3JvdXBpbmdFbGVt
ZW50LmNsYXNzTGlzdC5yZW1vdmUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5G
aWx0ZXJNYXRjaFNlY3Rpb25DbGFzc05hbWUpOwogCi0gICAgICAgICAgICBpZiAobWVkaWFFbGVt
ZW50LnRleHRDb250ZW50LmluY2x1ZGVzKHRoaXMuX2ZpbHRlclRleHQpKSB7Ci0gICAgICAgICAg
ICAgICAgbWVkaWFFbGVtZW50LmNsYXNzTGlzdC5hZGQoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25DbGFzc05hbWUpOwotICAgICAgICAgICAgICAg
IG1hdGNoZXNNZWRpYSA9IHRydWU7CisgICAgICAgICAgICBpZiAoZ3JvdXBpbmdFbGVtZW50LnRl
eHRDb250ZW50LmluY2x1ZGVzKHRoaXMuX2ZpbHRlclRleHQpKSB7CisgICAgICAgICAgICAgICAg
Z3JvdXBpbmdFbGVtZW50LmNsYXNzTGlzdC5hZGQoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25DbGFzc05hbWUpOworICAgICAgICAgICAgICAgIG1h
dGNoZXNHcm91cGluZyA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtNjg4
LDcgKzY4Nyw3IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBj
bGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAotICAgICAgICBsZXQgbWF0Y2hlcyA9IGV2ZW50LmRhdGEubWF0Y2hlcyB8fCBtYXRj
aGVzTWVkaWEgfHwgbWF0Y2hlc1NlbGVjdG9yOworICAgICAgICBsZXQgbWF0Y2hlcyA9IGV2ZW50
LmRhdGEubWF0Y2hlcyB8fCBtYXRjaGVzR3JvdXBpbmcgfHwgbWF0Y2hlc1NlbGVjdG9yOwogICAg
ICAgICBpZiAoIW1hdGNoZXMpCiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5h
ZGQoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5Ob0ZpbHRlck1hdGNoSW5TZWN0
aW9uQ2xhc3NOYW1lKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBhZTZlZTQzODAzMDZmYTQzZTg0MTIxMzU1NDcwZmZl
NzVjMWU2MGEuLjc4ZGUwNGRiZTc3OGVlOGY3ODQ1YWZhODllY2UwMGEyNjg0ZmFkMmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxOS0wOC0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBzaG93IEBzdXBwb3J0cyBD
U1MgZ3JvdXBpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDA0MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGluc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLWV4cGVjdGVkLnR4dDoK
KwogMjAxOS0wOC0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHM6IFN0eWxlczogYWRkIGljb25zIGZvciB2YXJpb3Vz
IENTUyBydWxlIHR5cGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dl
dE1hdGNoZWRTdHlsZXNGb3JOb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0CmluZGV4IGY4ZmQ2M2E5
MWFhM2NlNTYxOGQ4YjYyYTg1MTk4YmFkMmJkYzY0MjAuLjM1YzU2NmY0OGYyNjQ5MGY1YTg2ZjU2
YmNmOTIxZjhiNDY4YzQzMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3Mv
Z2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0CkBAIC03OTAs
OSArNzkwLDkgQEAgSW5oZXJpdGVkOgogICAgICAgICAgICJzdHlsZSI6IHsKICAgICAgICAgICAg
ICJjc3NQcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiei1pbmRleCIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjogIjAiLAotICAgICAgICAg
ICAgICAgICJ0ZXh0IjogInotaW5kZXg6IDA7IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJj
b2xvciIsCisgICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAg
InRleHQiOiAiY29sb3I6IHJlZDsiLAogICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVy
ZWQ+IiwKICAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKICAgICAgICAgICAgICAg
ICAic3RhdHVzIjogImFjdGl2ZSIKQEAgLTgwMyw3ICs4MDMsNTcgQEAgSW5oZXJpdGVkOgogICAg
ICAgICAgICAgIndpZHRoIjogIiIsCiAgICAgICAgICAgICAiaGVpZ2h0IjogIiIsCiAgICAgICAg
ICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCi0gICAgICAgICAgICAiY3NzVGV4dCI6ICIgei1p
bmRleDogMDsgIgorICAgICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9yOiByZWQ7ICIKKyAgICAg
ICAgICB9LAorICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
InJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAiZ3JvdXBpbmdzIjogWworICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIobWluLXdpZHRoOiAwcHgpIiwKKyAgICAg
ICAgICAgICAgInR5cGUiOiAibWVkaWEtaW1wb3J0LXJ1bGUiLAorICAgICAgICAgICAgICAic291
cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9CisgICAgICAgICAgXQorICAgICAg
ICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCisgICAgICAgICAgMAorICAgICAg
ICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6IHsKKyAgICAgICAgICAic2Vs
ZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6IFsKKyAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAgICAgICAgICJzcGVj
aWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAwLAor
ICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAgICAg
InJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291cmNlTGlu
ZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjogInJlZ3VsYXIiLAorICAgICAg
ICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjogWworICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3IiLAorICAgICAgICAgICAgICAg
ICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0IjogImNvbG9yOiByZWQ7IiwK
KyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAgICAg
ImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJhY3RpdmUiCisg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvcnRoYW5kRW50
cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZpbHRlcmVkPiIsCisgICAgICAg
ICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQiOiAiIiwKKyAgICAgICAgICAg
ICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJjc3NUZXh0IjogIiBjb2xvcjog
cmVkOyAiCiAgICAgICAgICAgfSwKICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4i
LAogICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIKQEAgLTgxMSw2ICs4NjEsMjExIEBA
IEluaGVyaXRlZDoKICAgICAgICAgIm1hdGNoaW5nU2VsZWN0b3JzIjogWwogICAgICAgICAgIDAK
ICAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgInJ1bGUiOiB7CisgICAgICAg
ICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJzZWxlY3RvcnMiOiBbCisgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwKKyAgICAgICAgICAgICAg
ICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAg
ICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwKKyAgICAg
ICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgIH0sCisgICAgICAgICAgInNv
dXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgIm9yaWdpbiI6ICJyZWd1bGFyIiwK
KyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAiY3NzUHJvcGVydGllcyI6IFsKKyAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImNvbG9yIiwKKyAgICAgICAg
ICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJjb2xvcjog
cmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAg
ICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiYWN0
aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInNob3J0
aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHlsZUlkIjogIjxmaWx0ZXJlZD4iLAor
ICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAgICAiaGVpZ2h0IjogIiIsCisgICAg
ICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAiY3NzVGV4dCI6ICIg
Y29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6ICI8Zmls
dGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJn
cm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0IjogIihtaW4t
d2lkdGg6IDFweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRpYS1ydWxlIiwKKyAgICAg
ICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgICAgfQorICAgICAg
ICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5nU2VsZWN0b3JzIjogWworICAgICAg
ICAgIDAKKyAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgInJ1bGUiOiB7Cisg
ICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJzZWxlY3RvcnMiOiBbCisg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwKKyAgICAgICAg
ICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAg
ICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAgICAgICAgICBdCisgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwK
KyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgIH0sCisgICAgICAg
ICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgIm9yaWdpbiI6ICJyZWd1
bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAiY3NzUHJvcGVydGllcyI6
IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImNvbG9yIiwKKyAg
ICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJj
b2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAg
ICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAgICAgICAgICJzdGF0dXMi
OiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAg
InNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHlsZUlkIjogIjxmaWx0ZXJl
ZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAgICAiaGVpZ2h0IjogIiIs
CisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAiY3NzVGV4
dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6
ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAg
ICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0Ijog
IihkaXNwbGF5OiBibG9jaykiLAorICAgICAgICAgICAgICAidHlwZSI6ICJzdXBwb3J0cy1ydWxl
IiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRleHQiOiAiKG1pbi13aWR0aDogMnB4
KSIsCisgICAgICAgICAgICAgICJ0eXBlIjogIm1lZGlhLXJ1bGUiLAorICAgICAgICAgICAgICAi
c291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9CisgICAgICAgICAgXQorICAg
ICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCisgICAgICAgICAgMAorICAg
ICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6IHsKKyAgICAgICAgICAi
c2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6IFsKKyAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAgICAgICAgICJz
cGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAw
LAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAg
ICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291cmNl
TGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjogInJlZ3VsYXIiLAorICAg
ICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjogWworICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3IiLAorICAgICAgICAgICAg
ICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0IjogImNvbG9yOiByZWQ7
IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAg
ICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJhY3RpdmUi
CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvcnRoYW5k
RW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQiOiAiIiwKKyAgICAgICAg
ICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJjc3NUZXh0IjogIiBjb2xv
cjogcmVkOyIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVk
PiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAiZ3JvdXBp
bmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIobWluLXdpZHRo
OiAzcHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtc3R5bGUtbm9kZSIsCisgICAg
ICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICBdCisgICAgICAgIH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVjdG9ycyI6IFsKKyAgICAg
ICAgICAwCisgICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJydWxlIjogewor
ICAgICAgICAgICJzZWxlY3Rvckxpc3QiOiB7CisgICAgICAgICAgICAic2VsZWN0b3JzIjogWwor
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAg
ICAgICAgICAgInNwZWNpZmljaXR5IjogWworICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAg
ICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAxCisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInRleHQiOiAiYm9keSIs
CisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICB9LAorICAgICAg
ICAgICJzb3VyY2VMaW5lIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJvcmlnaW4iOiAicmVn
dWxhciIsCisgICAgICAgICAgInN0eWxlIjogeworICAgICAgICAgICAgImNzc1Byb3BlcnRpZXMi
OiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2xvciIsCisg
ICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAgInRleHQiOiAi
Y29sb3I6IHJlZDsiLAorICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAg
ICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAic3RhdHVz
IjogImFjdGl2ZSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAg
ICJzaG9ydGhhbmRFbnRyaWVzIjogW10sCisgICAgICAgICAgICAic3R5bGVJZCI6ICI8ZmlsdGVy
ZWQ+IiwKKyAgICAgICAgICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAgICAgImhlaWdodCI6ICIi
LAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgImNzc1Rl
eHQiOiAiIGNvbG9yOiByZWQ7ICIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VVUkwi
OiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAg
ICAgICAiZ3JvdXBpbmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6
ICIobWluLXdpZHRoOiA0cHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtbGluay1u
b2RlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAg
ICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5nU2VsZWN0b3Jz
IjogWworICAgICAgICAgIDAKKyAgICAgICAgXQogICAgICAgfQogICAgIF0KICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS5o
dG1sCmluZGV4IDYxYzgwYjE4NmY0N2Q0M2NjNWMwYjM5MTQ0NGFjZTA1YjhkMzNmZDAuLjZkYmJm
MmVhMzlhMDRmZTM0NGQ2YzE4MjIxMmMxNWJjOGE4N2JhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLmh0bWwKQEAgLTEs
NiArMSwzNiBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CisgICAgQGltcG9ydCB1cmwocmVzb3VyY2VzL2V4dGVybmFsLmNzcz8xKSAobWluLXdpZHRoOiAw
cHgpOworCisgICAgYm9keSB7IGNvbG9yOiByZWQ7IH0KKyAgICBAbWVkaWEgKG1pbi13aWR0aDog
MXB4KSB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0KKyAgICBAbWVkaWEgKG1pbi13aWR0aDogMnB4
KSB7IEBzdXBwb3J0cyhkaXNwbGF5OiBibG9jaykgeyBib2R5IHsgY29sb3I6IHJlZDsgfSB9IH0K
Kzwvc3R5bGU+Cis8c3R5bGUgbWVkaWE9IihtaW4td2lkdGg6IDNweCkiPgorICAgIGJvZHkgeyBj
b2xvcjogcmVkO30KKzwvc3R5bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291
cmNlcy9leHRlcm5hbC5jc3M/MiIgbWVkaWE9IihtaW4td2lkdGg6IDRweCkiPgorPHN0eWxlPgor
ICAgIGRpdiN4IHsgei1pbmRleDogMTAwOyB9CisgICAgI3ggeyB6LWluZGV4OiAyMDA7IH0KKyAg
ICBkaXYgeyB6LWluZGV4OiAzMDA7IH0KKworICAgIGRpdjo6Zmlyc3QtbGluZSB7IHotaW5kZXg6
IDE7IH0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IHotaW5kZXg6IDI7IH0KKyAgICBkaXY6Om1h
cmtlciB7IHotaW5kZXg6IDM7IH0KKyAgICBkaXY6OmJlZm9yZSB7IHotaW5kZXg6IDQ7IH0KKyAg
ICBkaXY6OmFmdGVyIHsgei1pbmRleDogNTsgfQorICAgIGRpdjo6c2VsZWN0aW9uIHsgei1pbmRl
eDogNjsgfQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB6LWluZGV4OiA3OyB9CisgICAg
ZGl2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IHotaW5kZXg6IDg7IH0KKyAgICBkaXY6Oi13
ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7IHotaW5kZXg6IDk7IH0KKyAgICBkaXY6Oi13ZWJraXQt
c2Nyb2xsYmFyLXRyYWNrIHsgei1pbmRleDogMTA7IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xs
YmFyLXRyYWNrLXBpZWNlIHsgei1pbmRleDogMTE7IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xs
YmFyLWNvcm5lciB7IHotaW5kZXg6IDEyOyB9CisgICAgZGl2Ojotd2Via2l0LXJlc2l6ZXIgeyB6
LWluZGV4OiAxMzsgfQorPC9zdHlsZT4KIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkKIHsKQEAg
LTc1LDI5ICsxMDUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJv
ZHkgb25Mb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RpbmcgQ1NTLmdldE1hdGNoZWRTdHls
ZXNGb3JOb2RlLjwvcD4KLQotICAgIDxzdHlsZT4KLSAgICBib2R5IHsgei1pbmRleDogMDsgfQot
Ci0gICAgZGl2I3ggeyB6LWluZGV4OiAxMDA7IH0KLSAgICAjeCB7IHotaW5kZXg6IDIwMDsgfQot
ICAgIGRpdiB7IHotaW5kZXg6IDMwMDsgfQotCi0gICAgZGl2OjpmaXJzdC1saW5lIHsgei1pbmRl
eDogMTsgfQotICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgei1pbmRleDogMjsgfQotICAgIGRpdjo6
bWFya2VyIHsgei1pbmRleDogMzsgfQotICAgIGRpdjo6YmVmb3JlIHsgei1pbmRleDogNDsgfQot
ICAgIGRpdjo6YWZ0ZXIgeyB6LWluZGV4OiA1OyB9Ci0gICAgZGl2OjpzZWxlY3Rpb24geyB6LWlu
ZGV4OiA2OyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7IHotaW5kZXg6IDc7IH0KLSAg
ICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgei1pbmRleDogODsgfQotICAgIGRpdjo6
LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsgei1pbmRleDogOTsgfQotICAgIGRpdjo6LXdlYmtp
dC1zY3JvbGxiYXItdHJhY2sgeyB6LWluZGV4OiAxMDsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3Jv
bGxiYXItdHJhY2stcGllY2UgeyB6LWluZGV4OiAxMTsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3Jv
bGxiYXItY29ybmVyIHsgei1pbmRleDogMTI7IH0KLSAgICBkaXY6Oi13ZWJraXQtcmVzaXplciB7
IHotaW5kZXg6IDEzOyB9Ci0gICAgPC9zdHlsZT4KLSAgICA8ZGl2IGlkPSJ4Ij48L2Rpdj4KKzxw
PlRlc3RpbmcgQ1NTLmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlLjwvcD4KKzxkaXYgaWQ9IngiPjwv
ZGl2PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>375495</attachid>
            <date>2019-08-03 19:17:17 -0700</date>
            <delta_ts>2019-08-03 19:17:17 -0700</delta_ts>
            <desc>[Image] After Patch is applied</desc>
            <filename>Screen Shot 2019-08-03 at 19.16.24.png</filename>
            <type>image/png</type>
            <size>125250</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">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
7G87wD7QeNDhYO0hxqGKJqRpVlNfs7i5syW9pePwuMNtrYGth34Y9cPOIzZHao4aH11+jHqs7Njg
8ZLj/SdkJ3pP5p7sapvadvfUxFPXT0843X4m5sy5HyN/PHWWc/b4uaBzR84HnD98gX2h+aLvxaZL
PpcO/eTz06F23/amy36XW674X2ntGNtx7GrI1ZPXwq/9eJ13/eKNuBsdN1Nu3r6VeavztvD20zsF
d178XPzzwN0F9wj3Ku7r3696YPGg7heXX/Z2+nYefRj+8NKjpEd3uwRdz35V/Pqhu+wx/XHVE+sn
9U+9nh7piey58tuk37qfyZ4N9Jb/bvB77XPn5wf/CP3jUt/Evu4X8heDfy59afZy56sxr9r6E/of
vC58PfCm4q3Z213v2O/Ovk97/2RgxgfSh+qPLh9bP8V8ujdYODgo48v56qMABhuakwPAnzsBoKcD
wLgCzw+TNPc8tSCau6kagf+ENXdBtfgC0AhfquM69wQA+2BzXAC5QwFQHdWTQwHq7T3ctKLI8fbS
cNHgjYfwdnDwpSUApFYAPsoHBwc2Dg5+3A6DvQPAiema+6VKiPBusCVUhW6YCheAL+RfM1x/Ds//
sxQAAACKZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACH
aQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAAJy
oAMABAAAAAEAAAOEAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdA/zv2MAAAAJcEhZcwAAFiUAABYlAUlS
JPAAAAHWaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2Jl
Om5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJk
Zj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxy
ZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6
Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9u
PjYyNjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNj
cmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lv
bj45MDA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg
PC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KtN7NKgAAABxpRE9UAAAAAgAAAAAAAAHCAAAAKAAAAcIA
AAHCAADb8W6lyZ8AAEAASURBVHgB7J0HmBTF1oYPKBlUcs5BxYAiqAQVxZxzVsxivOZ8r977e835
mnPOOQcwgSgGEAOgSFCigATJIO7fb6011vTO7O7szOwu8B0edno6VFW/3dP19alTVVU6nfhDgQV2
894/um99+vQJ1mpRBERABERABERABESgMhFYa621rIqEXGW6JCqLCIiACIiACIiACJSOQNWqVSXk
SodKe4mACIiACIiACIhA5SIgj1zluh4qjQiIgAiIgAiIgAiUmkBBQUF6j1ypU9GOIiACIiACIiAC
IiAC5U6gRo0aEnLlTl0ZioAIiIAIiIAIiEAOCNSqVSu9kNtzzz1zkIWSEAEREAEREAEREAERyBeB
tL1WJeTyhVzpioAIiIAIiIAIiEBuCEjI5YajUhEBERABERABERCBcicgIVfuyJWhCIiACIiACIiA
COSGgIRcbjgqFREQAREQAREQAREodwIScuWOXBmKgAiIgAiIgAiIQG4ISMjlhqNSEQEREAEREAER
EIFyJVDsgMCZ9FqdNX2OfTX0Oxv/wyRbtGhxTk+iTp3a1nH9drZF342tcfMGOU1biYmACIiACIiA
CIjAqkwga4/cjCmz7Ym7X7KVK1fmlQPziR0xcD9r1qpRXvNR4iIgAiIgAiIgAiKwqhDIWsg9etuL
NmP6TKtXr561aNbcateundNzX7x4sU2bMd0WLFhgzZo3saPP3D+n6SsxERABERABERABEVgVCfz5
55/Zz+xw42X3OW9c1w03tBrVayRxoO126ZKltnz58qT16b5Ur1HdmG4ibsuWL7PRY8YYXrlzrzwx
vlnfRUAEREAEREAERGCNJJC1R+66i+924DbvtlkRgDN/nWnz5/9eZH1xK9arv541bly0+XTkqK/d
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
JREQAREQAREQARGIEygXIUfP1X79+sXz1ncREAEREAEREAEREIEsCORVyI0cOdKmTp3qite/f383
rlwWZdWhIiACIiACIiACIiACAYG8Crnx48fbmDFjXHZt2rSxrl27ajy5AL4WRUAEREAEREAERCAb
AnkVcitXrrRRo0bZ9OnTjZ4VWI0aNdxsDz169Mim3DpWBERABERABERABNZoAuisvAo56E6cONEY
JDic7YFpu/r06bNGw9fJi4AIiIAIiIAIiEC2BPIq5KZNm2YjRoxwZaxTp45rWq1Xr55Vq1bN/c+2
8DpeBERABERABERABNZkAnkVcjSrTp482fHt1auXNWzYcE1mrXMXAREQAREQAREQgZwSyKuQ8+PI
ERe34447WpUqVXJaeCUmAiIgAiIgAiIgAmsygXIRcprZYU2+xXTuIiACIiACIiAC+SCgKbryQVVp
ioAIiIAIiIAIiEA5EPjzzz/z22t1yJAhNn/+fBcbR4ycTAREQAREQAREQAREIHcE8ta0Onv2bDfX
Km6/1q1bW7du3XJXaqUkAiIgAiIgAiIgAiKQe4/c0KFDnRfODwAM4+7du1uLFi2EWwREQAREQARE
QAREIIcEcu6Re//9923x4sWuh2rt2rWtbdu21qFDhxwWWUmJgAiIgAiIgAiIgAjkJUZuxYoVjiyD
/spEQAREQAREQAREQATyQyDvvVbzU2ylKgIiIAIiIAIiIAIiAIGcN60KqwiIgAiIgAiIgAiIQPkQ
kJArH87KRQREQAREQAREQARyTkBCLudIlaAIiIAIiIAIiIAIlA8BCbny4axcREAEREAEREAERCDn
BCTkco5UCYqACIiACIiACIhA+RCQkCsfzspFBERABERABERABHJOQEIu50iVoAiIgAiIgAiIgAjk
n4DGkcs/Y+UgAiIgAiIgAiIgAnkjII9c3tAqYREQAREQAREQARHILwEJufzyVeoiIAIiIAIiIAIi
kBcCxc612qVLl7xkqkRFQAREQAREQAREQASyJ7D22mtriq7sMSoFERABERABERABEagYAmparRju
ylUEREAEREAEREAEsiKgXqtZ4dPBIiACIiACIiACIlBxBCTkKo69chYBERABERABERCBrAmoaTVr
hEpABERABERABERABCqGgIRcxXBXriIgAiIgAiIgAiKQNQEJuawRKgEREAEREAEREAERqBgCORFy
U2fNtw+++MnGTphqixYtzumZ1KlT2zbo0NK279nJWjZeN6dpKzEREAEREAEREAERWJUJZC3kfpk+
z2594j37c+XKvHKoutZa9o8jdrI2zdfLaz5KXAREQAREQAREQARWBQIrI+2VtZC77pHBNn3GLKtT
r541adbCatWundNzX7J4sc2cMc0WLVhgzZs1tgsG9M9p+kpMBERABERABERABFZVAlkLufNueM5Q
hJ027GrVq9fIC4fly5fZT2NG21qRV+6G8w7KSx5KVAREQAREQAREQARWNQJZC7mzr33anXPXbpsX
Ofc/V/5p8+bNsyWLl9iKFSuc4GOnKlWquH0ZyA5jrrDqNapbjRo1bL3661nVqlXd+vDP6FEj3deb
Lzw0XK3lDAgsXbrU5s6da8uWLbM//vjDWrRoYbVz7EHNoDjaVQREQAREQARKRYC6a8mSJbbOOutY
3bp1S3VMPndisnrKhJ5p0KBBPrMqMe28CTmE27Qp05xgiJciLuTC7dWqVbPmLZsbn6FJyIU0Ml/+
6aef7IcffjAvnkmhR48e1qxZs8wT0xEiIAIiIAIiUI4EHnzwQfvll1+sb9++tuOOO5aYMy2FOC9o
yatZs2aJ+2e6w9SpU+2+++5zh51//vlWp06dTJOwcePG2YcffugcKkcccUTGx/sD8ibkpk+dbouj
+LbatWrarr03sI6t6lvdWtXt8rvfSfLIXXnqbrZsxR/22+9L7e1hY23C5FlWMzqmZauWvozuszRC
buHChda4cWMnVkaMGGFdu3ZNSqO8vrRr185mzJhhzz33nO21117llW3afBDV7777ruPCTd20aVN3
Y7dt27ZMN1/ajLRBBERABERABPJAIFMh9/XXX9vLL7/s6rqLLroo5yXKVsihV+66665opI9FTshd
cMEFZSpjTqboStW0SrPdzxN/dk2k5x61nTVcp5Yr4LIVK4sIuf+etputVbWwqXX5H3/aVQ8OtqXL
Vli7Du2ckvZnVhohtyDqEIHbFfvmm29sk0028YeX6ydCaebMmfbCCy/Y/vvvX655p8rst99+s08/
/dRt2nTTTa1NmzapdtM6ERABERABEaiUBMoq5AjZuvjii3N+TtkIOcTX448/buPHj3flIsSprEKO
Jt68eOTwxOGRW2/dunbR0du6gs6ev8TGTZ5tr3zwbZJH7rRDtrEm9WtbjWpruf0eeWOkjZkw3TWv
hvFbEnJlvw+nT59uX331lUtgm222sXXX1Xh8ZaepI0VABEQgtwSo2Im3wng+03KSzqi4cVogUDJp
MqSZEcvkmHRlCNcTc03sGuX2YVPh9nCZshM3X7169Yzj3FIJObxZxNTXqlXoLArz8h650gg50iGN
eHw+zbOcW6qYvGyE3LBhw1wrmS9vNkKONPIi5HAZ/jr9V2vSaD0757Derqz3vfKVjf/lV7fsL7aP
19qpV1fr36Od2/bih2Ps828nWtNmTa1uvb8DGiXkHJ4y/QmFXL9+/VLelGVKWAeJgAiIgAiUmQAi
4fXXX3exUsuXL3fpIOK6detm/fv3Twp9mTVrlr3//vv2448/uo6D1KOEEtHCQusToTLeaA2aMmWK
8bxHaH3xxRc2e/ZsF15DYP7WW29tW265pdudbQgL7PDDD3dpui9//SHfJ5980n3bddddbf3113fL
tPIMHz7cCTNWIBBbt27tyrHVVlslxbnTKkR4DzFhiDkM8bLBBhvYbrvtlrSv25jijxdyvXv3dkJw
9OjRruWLXTmnPn362BZbbOGOvPfee23OnDkuRo4V9evXd537DjroINdSBhsYINS+/fZbo46k/J07
d7btt9/eree6INZoYUTIwXjnnXdOiNV0Qg7Ob7/9tisH8XyEWoVGXvfff7/Lo1OnTkb8eqUTcosW
LnIKdv68+dascX0769Be7hzufOFz+2XabHcB1q62tlv3RxQbx827bY8utnuvTm7dyx+Ptc9GTXC9
V2vVruVOkA1lEXJ0mODG//nnn6179+62ww47FLlJXaZ//UHBc1Pj7qQTwGabbWZ4sNK9HVH2Dz74
wN3MKPltt93WBWI2b968SNPqxIkTbezYse5m4UZJZdxc3FTkxw2TK5OQyxVJpSMCIiACuSEwf/58
Q5zwmcoQZgMGDHBeIsTY3XffnfDa4WUi9tmLIkZ+OOaYY6xVq1YuKS96WI8QSWX77befE4zUD/fc
c4/bhbppu+22S9qdOu6jjz4qDJU691wnLj///HN788033X7UfdS1lNEbAu3QQw91X/Eekj4OHgxv
HOX25WrZsqWdeOKJbltxf/w5pdsHYXvggQfaRhttZNdee63TIeG+iMzjjz/eMafTRDrDs0jdjsiO
G8KY/1g6IYfeeOihh9w+nrH7Ev0hXUQmYg/Ric544403Kp+QGz+usM2Xgndu28yO37u7O4dbnh5m
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
ippvP4+abye5AYUPf+9Eo5lVlpoAw5bQWQLr3Lmzrb9+0SnGUh+ptSIgAiIgAiKw6hOQkKvga3j/
Zje7zg3xYiDetr96NxfPF9+m738ToEmV5lUMj5wff+7vPbQkAiIgAiIgAqsngdV+HLlV4bJN/2KK
Tfv8F5v/yzw30HDtxnWsfseG1nmvrla7UW4mpl8VOKiMIiACIiACIiACmROQRy5zZjpCBERABERA
BERABCoFAQm5SnEZVAgREAEREAEREAERyIxAXuZaZbyxFStWuInQa9WqZfXr11fcUmbXRXuLgAiI
gAiIgAiIQKkI5NwjN3jwYFuyZEkicwZy7du3b04nWU8krgUREAEREAEREAERWIMJ5FzITZgwwRYt
WmRz5syxBQsWOLQMCcHQEDIREAEREAEREAEREIHcEMhrr1XabQcNGmTLly+3Fi1aGPNfykRABERA
BERABERABHJDIK9CjiIOGzbMeeYaNGhgvXsnz0uam1NQKiIgAiIgAiIgAiKw5hLIedNqiHL48OE2
a9Ysk5ALqWhZBERABERABERABHJDQEIuNxyVigiIgAiIgAiIgAiUO4FyEXL0XO3Xr1+5n5wyFAER
EAEREAEREIHVmUBehdzIkSNt6tSpjl///v2NceVkIiACIiACIiACIiACuSGQVyE3fvx4GzNmjCtp
mzZtrGvXrhpPLjfXTamIgAiIgAiIgAis4QRWrlxpeRVyZDBq1CibPn260UUWq1GjhpvtoUePHms4
fp2+CIiACIiACIiACGRHIK9CjqJNnDjRGCQ4nO2Babv69OmTXcl1tAiIgAiIgAiIgAis4QTyKuSm
TZtmI0aMcIjr1Knjmlbr1atn1apVc//XcPY6fREQAREQAREQARHIikBehRzNqpMnT3YF7NWrlzVs
2DCrwupgERABERABERABERCBvwnkVcj5AYGJi9txxx2tSpUqf+esJREQAREQAREQAREQgTITyPsU
XV7IaWaHMl8jHSgCIiACIiACIiACKQkwr325eOQk5FLy10oREAEREAEREAERyIpAXoXckCFDbP78
+S42jhg5mQiIgAiIgAiIgAiIQO4I5E3IzZ4922hapf22devW1q1bt9yVWimJgAiIgAiIgAiIgAjk
vml16NChzgvnBwCGcffu3a1FixbCLQIiIAIiIAIiIAIikCMCeYmRe//9923x4sWuh2rt2rWtbdu2
1qFDhxwVWcmIgAiIgAiIgAiIgAhAIC+9VlesWOHoMuivTAREQAREQAREQAREIH8E8hYjl78iK2UR
EAEREAEREAEREAEISMjpPhABERABERABERCBVZSAhNwqeuFUbBEQAREQAREQARGQkNM9IAIiIAIi
IAIiIAKrKAEJuVX0wqnYIiACIiACIiACIiAhp3tABERABERABERABFZRAhJyq+iFU7FFQAREQARE
QATWbAJ5GUduzUaqsxcBERABERABERCB8iMgj1z5sVZOIiACIiACIiACIpCB+eZgAABAAElEQVRT
AhJyOcWpxERABERABERABESgfAjkZa7V8im6chEBERABERABERABEUjrkevSpYvoiIAIiIAIiIAI
iIAIVFICa6+9tqboqqTXRsUSAREQAREQAREQgWIJqNdqsXi0UQREQAREQAREQAQqLwEJucp7bVQy
ERABERABERABESiRQNoYuT333LPEg7WDCIiACIiACIiACIhAxRGQkKs49spZBERABERABERABLIi
ICGXFT4dLAIiIAIiIAIiIAIVR0BCruLYK2cREAEREAEREAERyIqAhFxW+HSwCIiACIiACIiACFQM
gZUrV2ocuYpBr1xFQAREQAREQAREIHsC8shlz1ApZEiANwjmh3MjUlepkuHR2l0E8k/gjz/+MMZn
qlatWv4zUw4iIAIikAUBCbks4OnQzAksWLDAOnfubL/++qt99913ttFGG2WeSA6PQFSuWLEiKcWq
Vata9erVk9bpy5pFoH///vb+++/bgw8+aMcee+yadfI6WxEQgVWKgITcKnW5Vv3CXnrppXbVVVfZ
NttsYx9//HGFn9D5559vN9xwQ1I51l9/fRs7dmzSOn1Zswg8++yzdsghh1jz5s1t3LhxVqdOnTUL
gM5WBERglSGQdyG3ZMkSGz16tDVs2NDatm1rVdSUlpebg2agfffd1zVZ3njjjdalS5e85JNNotOn
T7cOHTrY0qVL7YUXXrD9998/m+Rycuxdd91lTzzxhEuL8k2YMMGx++GHH3KSvhJZNQnQtMq9Onny
ZPu///s/u+yyy1bNE1GpRUAEVmsCeZuii6aqyy+/3N588037/vvvjYcitu6667oH4jnnnGM0X8ly
R4CYs7XWWsslOGzYMOvVq1fuEs9RSlSI//rXv6xdu3b2008/Jcqbo+SzTuahhx6y4447TkIua5Kr
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
mNi7xhp772L+FmIUEXvvoiKgAipVKYoiIIj3P995nnXuvr197+OVc/g87r27U387O/Obc87MSCYm
//3vfzP8lSobbrhhRkQyEyZM8FEPOOAA//uGG27ISmr48OH++kYbbeSvt2zZ0v+ePHmy/33ffff5
33/84x+jeH379vXXHn30UX+tX79+/vc+++wThSn05eWXX/ZxwjKGcS644AJ/f+211w4v1/o+atSo
KJ0pU6bUus+Fxx57LApzzDHHZD7//PPML7/8EoX9wx/+4O+fffbZ0bVKv/z666+ZFi1a+HTvvvvu
nMldfvnlPszRRx8dhVlllVX8tXfffddfU6zWWWedKEzSl/3339/Ho45JMnv2bH8fzN97771aQXr0
6OHv//vf/47uzZs3LzNr1qyi/4g4ceJEn85CCy2U+eGHHzK9e/fOLLPMMhna0BJLLOHTWn/99X2Y
Bx98MMor6UuhOmlbPOKII2pF5xksuuiiPp//+7//q3WfC/Pnz/f3weT1119PDKMXzzjjDB925513
1kvR53/+8x9/b9lll42u1eUXLdsiiyySWX311bP+wJz60R65t/vuu0dF+8tf/uLvbbvtttG18EvX
rl39/Ysuuii8HH2/9957/X3S5y/pOUSBY19at27t49x2222xOwv25yWXXOLL1aVLl7wFKaevTEqw
mD5Mn28pba+U95b3HDnyyCN93U899dTM0KFD/fc///nP/pP+kbGI57zaaqslVSW6VqhO2qeRlo5R
UWT3pZj+/x//+IcvS662q+mV0+9p3Prwueqqq/p6hu/WN99846+BX1K/dc899/j7iy++eIZ+MC60
DcZW4vPXqlWrzMiRI+PBEn9feeWVPk6nTp0S79vFTEbiIJRL5A488EAPNi8Mcu655/rf2223XVYW
dNA8yEqIHMSBNLbYYoustPP9+PLLL30c4ilhCcP/9a9/9ffTIHLaEW211VZhFtH3pZde2uf1z3/+
M7qWxpdevXr5dM8666ycydV3Ipez4AVuKAGA7EMuDjrooMzNN9/s8YBYK8EaN25c3pQKEblDDz3U
pxlONDTBb7/91t+jjRVD5F577TWNmvhZzmAaJjR16tQMEyf9S+pgw/ClfNeyUddCf+GEQIncWmut
VSu7cDLChC4uI0aMyCiZoV9p1qyZzzspbDwuE0UtZ9JAFA/P7/Hjx2dGjx7t/xjIqiWDBg3yZVt4
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
A4n/Ydezkhu4AAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375599</attachid>
            <date>2019-08-05 21:21:47 -0700</date>
            <delta_ts>2019-08-08 20:34:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200419-20190805212146.patch</filename>
            <type>text/plain</type>
            <size>57421</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ0ZmFjNGYyODY3ZGQwMjg3NTUxMjUyMDVhODE5
MTczYTQ4YTQ1MmIuLjMwNGRiZTM1Y2U3YTYyYTM5NzRjYzZmMTI4NmRmYWYyOWMwNWYxYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA4LTA1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQxOQorCisgICAgICAgIFJldmlld2VkIGJ5
IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9DU1MuanNv
bjoKKyAgICAgICAgUmVuYW1lIGBDU1NNZWRpYWAgdG8gYEdyb3VwaW5nYCBhbmQgcmVtb3ZlIHRo
ZSBgc291cmNlTGluZWAgdmFsdWUsIGFzIGl0IHdhcyBuZXZlciBwb3B1bGF0ZWQKKyAgICAgICAg
YW5kIHdhc24ndCB1c2VkIGJ5IFdlYiBJbnNwZWN0b3IuCisKIDIwMTktMDgtMDMgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTTog
YWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxsIEV2ZW50cyIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAz
OTIwZWE5Mjc5MmNjOWYyMTI2OTk5NmFlYTljNDYzYjEyMjYxMGU0Li44MjdmNDIwODE0Njg4MmI4
NWY5NmRkYTdmZTU0YTk4ZjIyNzQwMDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTktMDgtMDUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdyb3VwaW5ncworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNDE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rv
ci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRBcnJheUZv
ckdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5bGVTaGVl
dDo6YnVpbGRPYmplY3RGb3JSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkTWVkaWFPYmpl
Y3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6ZmlsbE1lZGlhTGlzdENoYWluKTogRGVs
ZXRlZC4KKworICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFM
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlTZXQp
OgorICAgICAgICBSZW1vdmUgdGhlIGBsYXN0TGluZWAgYXMgaXQgd2FzIG5ldmVyIHNldCBieSBh
bnlvbmUgYW5kIHdhc24ndCB1c2VkIGJ5IFdlYiBJbnNwZWN0b3IuCisKIDIwMTktMDgtMDQgIFNh
bSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIE1hbmdsZWQgV0hMU0wgbmFt
ZXMgZG9uJ3QgbmVlZCB0byBhbGxvY2F0ZSBTdHJpbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpp
bmRleCA1NjkxYmU2ZjIwODFiNmVlYmFkMmFmMDVhZmU2NWIxNzA4NDhmZTJjLi5iZThhMTA0N2I1
ZDc3ZGM2NGVhZGU4ODgwMWQ4ODI5M2UzMWVkNmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw1NiBAQAorMjAxOS0wOC0wNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBzaG93IEBzdXBwb3J0cyBD
U1MgZ3JvdXBpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDA0MTkKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qczogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcy4K
KyAgICAgICAgKFdJLkNTU0dyb3VwaW5nKToKKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3Rv
dHlwZS5nZXQgdHlwZSk6CisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0IHRl
eHQpOgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcucHJvdG90eXBlLmdldCBzb3VyY2VDb2RlTG9j
YXRpb24pOgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcucHJvdG90eXBlLmdldCBpc01lZGlhKTog
QWRkZWQuCisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0IGlzU3VwcG9ydHMp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3RvdHlwZS5nZXQgcHJlZml4KTog
QWRkZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0
aW9uLmpzOgorICAgICAgICAoV0kuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IGdy
b3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5
cGUuZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKToKKyAgICAgICAgKFdJLkNTU1N0eWxlRGVjbGFyYXRp
b24ucHJvdG90eXBlLmdldCBtZWRpYUxpc3QpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qczoKKyAgICAgICAgKFdJLkNTU1J1bGUpOgorICAgICAg
ICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUuZ2V0IGdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAo
V0kuQ1NTUnVsZS5wcm90b3R5cGUudXBkYXRlKToKKyAgICAgICAgKFdJLkNTU1J1bGUucHJvdG90
eXBlLl9zZWxlY3RvclJlc29sdmVkKToKKyAgICAgICAgKFdJLkNTU1J1bGUucHJvdG90eXBlLmdl
dCBtZWRpYUxpc3QpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMv
RE9NTm9kZVN0eWxlcy5qczoKKyAgICAgICAgKFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLl9w
YXJzZVJ1bGVQYXlsb2FkKToKKyAgICAgICAgKFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLnJ1
bGVzRm9yU2VsZWN0b3IpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV0ku
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbik6CisgICAgICAgIChXSS5TcHJl
YWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5pbml0aWFsTGF5b3V0
KToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJv
dG90eXBlLl9oYW5kbGVFZGl0b3JGaWx0ZXJBcHBsaWVkKToKKyAgICAgICAgKFdJLlNwcmVhZHNo
ZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9jcmVhdGVNZWRpYUhlYWRl
cik6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNzczoKKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3Mt
ZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1ncm91cGluZ3MpKTogQWRkZWQu
CisgICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIs
IC5oZWFkZXItZ3JvdXBpbmdzKTpmaXJzdC1jaGlsZCk6IEFkZGVkLgorICAgICAgICAoLnNwcmVh
ZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3VwaW5ncyA+IC5ncm91cGluZyk6IEFk
ZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3Vw
aW5ncyArIC5oZWFkZXIgPiAuc2VsZWN0b3IgPiAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLnNw
cmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLW1lZGlh
KSk6IERlbGV0ZWQuCisgICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRj
aGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEpOmZpcnN0LWNoaWxkKTogRGVsZXRlZC4KKyAgICAg
ICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLm1lZGlhLWxhYmVsKTogRGVsZXRlZC4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qczoKKyAg
ICAgICAgKFdJLkNTU01hbmFnZXIucHJvdG9jb2xHcm91cGluZ1R5cGVUb0VudW0pOiBBZGRlZC4K
KyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJvdG9jb2xNZWRpYVNvdXJjZVRvRW51bSk6IERlbGV0
ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1Rlc3QuaHRtbDoKKwogMjAxOS0wOC0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHM6IFN0eWxlczog
bW92ZSBwc3VlZG8tc2VsZWN0b3IgcnVsZXMgYmVmb3JlIGluaGVyaXRlZCBydWxlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24KaW5kZXgg
ZTQ4ZjNiYjBhNjM2MzMzNDVlYjk2NzQxODFiZGQzNWRkNGYwOWVjMC4uY2RhMzE3NWM0NjliMGQy
MDRjYjg2YTdiYzg4MTU5MWQwMzk3ZTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uCkBAIC0xNDQsNyArMTQ0LDcgQEAKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZUxpbmUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRl
c2NyaXB0aW9uIjogIkxpbmUgb3JkaW5hbCBvZiB0aGUgcnVsZSBzZWxlY3RvciBzdGFydCBjaGFy
YWN0ZXIgaW4gdGhlIHJlc291cmNlLiJ9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3Jp
Z2luIiwgIiRyZWYiOiAiU3R5bGVTaGVldE9yaWdpbiIsICJkZXNjcmlwdGlvbiI6ICJQYXJlbnQg
c3R5bGVzaGVldCdzIG9yaWdpbi4ifSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0eWxl
IiwgIiRyZWYiOiAiQ1NTU3R5bGUiLCAiZGVzY3JpcHRpb24iOiAiQXNzb2NpYXRlZCBzdHlsZSBk
ZWNsYXJhdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJtZWRpYSIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDU1NNZWRpYSIgfSwgIm9wdGlvbmFsIjog
dHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1lZGlhIGxpc3QgYXJyYXkgKGZvciBydWxlcyBpbnZvbHZp
bmcgbWVkaWEgcXVlcmllcykuIFRoZSBhcnJheSBlbnVtZXJhdGVzIG1lZGlhIHF1ZXJpZXMgc3Rh
cnRpbmcgd2l0aCB0aGUgaW5uZXJtb3N0IG9uZSwgZ29pbmcgb3V0d2FyZHMuIiB9CisgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJncm91cGluZ3MiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6
IHsgIiRyZWYiOiAiR3JvdXBpbmciIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJHcm91cGluZyBsaXN0IGFycmF5IChmb3IgcnVsZXMgaW52b2x2aW5nIEBtZWRpYS9Ac3VwcG9y
dHMpLiBUaGUgYXJyYXkgZW51bWVyYXRlcyBDU1MgZ3JvdXBpbmdzIHN0YXJ0aW5nIHdpdGggdGhl
IGlubmVybW9zdCBvbmUsIGdvaW5nIG91dHdhcmRzLiIgfQogICAgICAgICAgICAgXQogICAgICAg
ICB9LAogICAgICAgICB7CkBAIC0yMjEsMTQgKzIyMSwxMyBAQAogICAgICAgICAgICAgXQogICAg
ICAgICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAiaWQiOiAiQ1NTTWVkaWEiLAorICAgICAg
ICAgICAgImlkIjogIkdyb3VwaW5nIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCi0g
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ1NTIG1lZGlhIHF1ZXJ5IGRlc2NyaXB0b3IuIiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgQG1lZGlhIChhcyB3ZWxsIGFzIG90aGVy
IHVzZXJzIG9mIG1lZGlhIHF1ZXJpZXMsIGxpa2UgQGltcG9ydCwgPHN0eWxlPiwgPGxpbms+LCBl
dGMuKSBhbmQgQHN1cHBvcnRzIGRlc2NyaXB0b3IuIiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVz
IjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0cmluZyIs
ICJkZXNjcmlwdGlvbiI6ICJNZWRpYSBxdWVyeSB0ZXh0LiIgfSwKLSAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRpYVJ1bGUi
LCAiaW1wb3J0UnVsZSIsICJsaW5rZWRTaGVldCIsICJpbmxpbmVTaGVldCJdLCAiZGVzY3JpcHRp
b24iOiAiU291cmNlIG9mIHRoZSBtZWRpYSBxdWVyeTogXCJtZWRpYVJ1bGVcIiBpZiBzcGVjaWZp
ZWQgYnkgYSBAbWVkaWEgcnVsZSwgXCJpbXBvcnRSdWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFuIEBp
bXBvcnQgcnVsZSwgXCJsaW5rZWRTaGVldFwiIGlmIHNwZWNpZmllZCBieSBhIFwibWVkaWFcIiBh
dHRyaWJ1dGUgaW4gYSBsaW5rZWQgc3R5bGVzaGVldCdzIExJTksgdGFnLCBcImlubGluZVNoZWV0
XCIgaWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRpYVwiIGF0dHJpYnV0ZSBpbiBhbiBpbmxpbmUgc3R5
bGVzaGVldCdzIFNUWUxFIHRhZy4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3Vy
Y2VVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiVVJMIG9mIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSBkZXNjcmlw
dGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VMaW5lIiwgInR5cGUi
OiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJMaW5lIGluIHRo
ZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSAobm90IGRlZmluZWQgZm9yIHRo
ZSBcInN0eWxlc2hlZXRcIiBzb3VyY2UpLiIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRpYS1ydWxlIiwgIm1lZGlhLWlt
cG9ydC1ydWxlIiwgIm1lZGlhLWxpbmstbm9kZSIsICJtZWRpYS1zdHlsZS1ub2RlIiwgInN1cHBv
cnRzLXJ1bGUiXSwgImRlc2NyaXB0aW9uIjogIlNvdXJjZSBvZiB0aGUgbWVkaWEgcXVlcnk6IFwi
bWVkaWEtcnVsZVwiIGlmIHNwZWNpZmllZCBieSBhIEBtZWRpYSBydWxlLCBcIm1lZGlhLWltcG9y
dC1ydWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFuIEBpbXBvcnQgcnVsZSwgXCJtZWRpYS1saW5rLW5v
ZGVcIiBpZiBzcGVjaWZpZWQgYnkgYSBcIm1lZGlhXCIgYXR0cmlidXRlIGluIGEgbGlua2VkIHN0
eWxlIHNoZWV0J3MgTElOSyB0YWcsIFwibWVkaWEtc3R5bGUtbm9kZVwiIGlmIHNwZWNpZmllZCBi
eSBhIFwibWVkaWFcIiBhdHRyaWJ1dGUgaW4gYW4gaW5saW5lIHN0eWxlIHNoZWV0J3MgU1RZTEUg
dGFnLCBcInN1cHBvcnRzLXJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYW4gQHN1cHBvcnRzIHJ1bGUs
IC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VVUkwiLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBkb2N1
bWVudCBjb250YWluaW5nIHRoZSBDU1MgZ3JvdXBpbmcuIiB9CiAgICAgICAgICAgICBdCiAgICAg
ICAgIH0KICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAxYWQ5NjQ0MzIxMDk0
Y2E4MjIyZmY2ZGYyM2JlOWE0N2VjNWY4NDE0Li4yMTEyZjQwYzRjNzIwODBiYTgwZTVkMmQyOTI5
MjRiNzZmMTdhMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtNzMsNyArNzMsNiBA
QCBNZWRpYVF1ZXJ5U2V0OjpNZWRpYVF1ZXJ5U2V0KCkgPSBkZWZhdWx0OwogCiBNZWRpYVF1ZXJ5
U2V0OjpNZWRpYVF1ZXJ5U2V0KGNvbnN0IE1lZGlhUXVlcnlTZXQmIG8pCiAgICAgOiBSZWZDb3Vu
dGVkKCkKLSAgICAsIG1fbGFzdExpbmUoby5tX2xhc3RMaW5lKQogICAgICwgbV9xdWVyaWVzKG8u
bV9xdWVyaWVzKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5oCmluZGV4IDRjYmQ0MDExMjM5MjRm
MzRlMzIwYjBkN2Q3OTEzZjA3YTFjMzI1YjIuLjJiNmQ5ODc5MzFmODdkZmRlOWIzYmViMzJkMzFj
YmM3NjY2NTYwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmgKQEAgLTU2LDkgKzU2LDYgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgVmVjdG9yPE1lZGlhUXVlcnk+JiBxdWVyeVZlY3RvcigpIGNvbnN0
IHsgcmV0dXJuIG1fcXVlcmllczsgfQogCi0gICAgaW50IGxhc3RMaW5lKCkgY29uc3QgeyByZXR1
cm4gbV9sYXN0TGluZTsgfQotICAgIHZvaWQgc2V0TGFzdExpbmUoaW50IGxhc3RMaW5lKSB7IG1f
bGFzdExpbmUgPSBsYXN0TGluZTsgfQotCiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG1lZGlh
VGV4dCgpIGNvbnN0OwogCiAgICAgUmVmPE1lZGlhUXVlcnlTZXQ+IGNvcHkoKSBjb25zdCB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlTZXQoKnRoaXMpKTsgfQpAQCAtNzAsNyArNjcs
NiBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhUXVlcnlTZXQoY29uc3QgU3Ry
aW5nJiBtZWRpYVF1ZXJ5KTsKICAgICBNZWRpYVF1ZXJ5U2V0KGNvbnN0IE1lZGlhUXVlcnlTZXQm
KTsKIAotICAgIGludCBtX2xhc3RMaW5lIHsgMCB9OwogICAgIFZlY3RvcjxNZWRpYVF1ZXJ5PiBt
X3F1ZXJpZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVTaGVldC5jcHAKaW5kZXggY2EzMGUxYTI3YmY0MDYxODVhNDgzMjBhMjYzMTgzZWE3ZTZl
NDdlMy4uMTQ5NWYzOWUyYTQ1ZTNjNzJhOTYxNGFmZjU3OWU2NGRkZjU1YzBiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcApAQCAtMzc5
LDEzICszNzksNiBAQCB2b2lkIFN0eWxlU2hlZXRIYW5kbGVyOjpvYnNlcnZlQ29tbWVudCh1bnNp
Z25lZCBzdGFydE9mZnNldCwgdW5zaWduZWQgZW5kT2Zmc2V0KQogICAgIG1fY3VycmVudFJ1bGVE
YXRhU3RhY2subGFzdCgpLT5zdHlsZVNvdXJjZURhdGEtPnByb3BlcnR5RGF0YS5hcHBlbmQoQ1NT
UHJvcGVydHlTb3VyY2VEYXRhKHByb3BlcnR5RGF0YS5uYW1lLCBwcm9wZXJ0eURhdGEudmFsdWUs
IGZhbHNlLCB0cnVlLCB0cnVlLCBTb3VyY2VSYW5nZShzdGFydE9mZnNldCAtIHRvcFJ1bGVCb2R5
UmFuZ2Uuc3RhcnQsIGVuZE9mZnNldCAtIHRvcFJ1bGVCb2R5UmFuZ2Uuc3RhcnQpKSk7CiB9CiAK
LWVudW0gTWVkaWFMaXN0U291cmNlIHsKLSAgICBNZWRpYUxpc3RTb3VyY2VMaW5rZWRTaGVldCwK
LSAgICBNZWRpYUxpc3RTb3VyY2VJbmxpbmVTaGVldCwKLSAgICBNZWRpYUxpc3RTb3VyY2VNZWRp
YVJ1bGUsCi0gICAgTWVkaWFMaXN0U291cmNlSW1wb3J0UnVsZQotfTsKLQogc3RhdGljIFJlZlB0
cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlNvdXJjZVJhbmdlPiBidWlsZFNvdXJjZVJhbmdl
T2JqZWN0KGNvbnN0IFNvdXJjZVJhbmdlJiByYW5nZSwgY29uc3QgVmVjdG9yPHNpemVfdD4mIGxp
bmVFbmRpbmdzLCBpbnQqIGVuZGluZ0xpbmUgPSBudWxscHRyKQogewogICAgIGlmIChsaW5lRW5k
aW5ncy5pc0VtcHR5KCkpCkBAIC00MDUsMzcgKzM5OCw2IEBAIHN0YXRpYyBSZWZQdHI8SW5zcGVj
dG9yOjpQcm90b2NvbDo6Q1NTOjpTb3VyY2VSYW5nZT4gYnVpbGRTb3VyY2VSYW5nZU9iamVjdChj
b25zCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpDU1NNZWRpYT4gYnVpbGRNZWRpYU9iamVjdChjb25zdCBNZWRpYUxpc3QqIG1l
ZGlhLCBNZWRpYUxpc3RTb3VyY2UgbWVkaWFMaXN0U291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCkKLXsKLSAgICAvLyBNYWtlIGNlcnRhaW4gY29tcGlsZXJzIGhhcHB5IGJ5IGluaXRpYWxp
emluZyB8c291cmNlfCB1cC1mcm9udC4KLSAgICBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNT
U01lZGlhOjpTb3VyY2Ugc291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRp
YTo6U291cmNlOjpJbmxpbmVTaGVldDsKLSAgICBzd2l0Y2ggKG1lZGlhTGlzdFNvdXJjZSkgewot
ICAgIGNhc2UgTWVkaWFMaXN0U291cmNlTWVkaWFSdWxlOgotICAgICAgICBzb3VyY2UgPSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6Ok1lZGlhUnVsZTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VJbXBvcnRSdWxlOgotICAgICAgICBz
b3VyY2UgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6OkltcG9y
dFJ1bGU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTWVkaWFMaXN0U291cmNlTGlua2VkU2hl
ZXQ6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6
OlNvdXJjZTo6TGlua2VkU2hlZXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTWVkaWFMaXN0
U291cmNlSW5saW5lU2hlZXQ6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZTo6SW5saW5lU2hlZXQ7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLQotICAgIGF1dG8gbWVkaWFPYmplY3QgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNT
U01lZGlhOjpjcmVhdGUoKQotICAgICAgICAuc2V0VGV4dChtZWRpYS0+bWVkaWFUZXh0KCkpCi0g
ICAgICAgIC5zZXRTb3VyY2Uoc291cmNlKQotICAgICAgICAucmVsZWFzZSgpOwotCi0gICAgaWYg
KCFzb3VyY2VVUkwuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1lZGlhT2JqZWN0LT5zZXRTb3VyY2VV
Ukwoc291cmNlVVJMKTsKLSAgICAgICAgbWVkaWFPYmplY3QtPnNldFNvdXJjZUxpbmUobWVkaWEt
PnF1ZXJpZXMoKS0+bGFzdExpbmUoKSk7Ci0gICAgfQotICAgIHJldHVybiBtZWRpYU9iamVjdDsK
LX0KLQogc3RhdGljIFJlZlB0cjxDU1NSdWxlTGlzdD4gYXNDU1NSdWxlTGlzdChDU1NTdHlsZVNo
ZWV0KiBzdHlsZVNoZWV0KQogewogICAgIGlmICghc3R5bGVTaGVldCkKQEAgLTQ2NSw1OSArNDI3
LDg1IEBAIHN0YXRpYyBSZWZQdHI8Q1NTUnVsZUxpc3Q+IGFzQ1NTUnVsZUxpc3QoQ1NTUnVsZSog
cnVsZSkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotc3RhdGljIHZvaWQgZmlsbE1lZGlhTGlz
dENoYWluKENTU1J1bGUqIHJ1bGUsIEpTT046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6
Q1NTOjpDU1NNZWRpYT4mIG1lZGlhQXJyYXkpCitzdGF0aWMgUmVmPEpTT046OkFycmF5T2Y8SW5z
cGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZz4+IGJ1aWxkQXJyYXlGb3JHcm91cGluZ3Mo
Q1NTUnVsZSYgcnVsZSkKIHsKLSAgICBNZWRpYUxpc3QqIG1lZGlhTGlzdDsKLSAgICBDU1NSdWxl
KiBwYXJlbnRSdWxlID0gcnVsZTsKLSAgICBTdHJpbmcgc291cmNlVVJMOworICAgIGF1dG8gZ3Jv
dXBpbmdzUGF5bG9hZCA9IEpTT046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpH
cm91cGluZz46OmNyZWF0ZSgpOworCisgICAgYXV0byogcGFyZW50UnVsZSA9ICZydWxlOwogICAg
IHdoaWxlIChwYXJlbnRSdWxlKSB7Ci0gICAgICAgIENTU1N0eWxlU2hlZXQqIHBhcmVudFN0eWxl
U2hlZXQgPSBudWxscHRyOwotICAgICAgICBib29sIGlzTWVkaWFSdWxlID0gdHJ1ZTsKLSAgICAg
ICAgaWYgKGlzPENTU01lZGlhUnVsZT4oKnBhcmVudFJ1bGUpKSB7Ci0gICAgICAgICAgICBDU1NN
ZWRpYVJ1bGUmIG1lZGlhUnVsZSA9IGRvd25jYXN0PENTU01lZGlhUnVsZT4oKnBhcmVudFJ1bGUp
OwotICAgICAgICAgICAgbWVkaWFMaXN0ID0gbWVkaWFSdWxlLm1lZGlhKCk7Ci0gICAgICAgICAg
ICBwYXJlbnRTdHlsZVNoZWV0ID0gbWVkaWFSdWxlLnBhcmVudFN0eWxlU2hlZXQoKTsKLSAgICAg
ICAgfSBlbHNlIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcGFyZW50UnVsZSkpIHsKLSAgICAgICAg
ICAgIENTU0ltcG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigq
cGFyZW50UnVsZSk7Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSAmaW1wb3J0UnVsZS5tZWRpYSgp
OwotICAgICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IGltcG9ydFJ1bGUucGFyZW50U3R5bGVT
aGVldCgpOwotICAgICAgICAgICAgaXNNZWRpYVJ1bGUgPSBmYWxzZTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSBudWxscHRyOworICAgICAgICBSZWZQdHI8SW5zcGVj
dG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZz4gcnVsZUdyb3VwaW5nUGF5bG9hZDsKIAotICAg
ICAgICBpZiAocGFyZW50U3R5bGVTaGVldCkgewotICAgICAgICAgICAgc291cmNlVVJMID0gcGFy
ZW50U3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7Ci0gICAgICAgICAgICBpZiAoc291
cmNlVVJMLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBJbnNwZWN0b3JE
T01BZ2VudDo6ZG9jdW1lbnRVUkxTdHJpbmcocGFyZW50U3R5bGVTaGVldC0+b3duZXJEb2N1bWVu
dCgpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBzb3VyY2VVUkwgPSBlbXB0eVN0cmlu
ZygpOwotCi0gICAgICAgIGlmIChtZWRpYUxpc3QgJiYgbWVkaWFMaXN0LT5sZW5ndGgoKSkKLSAg
ICAgICAgICAgIG1lZGlhQXJyYXkuYWRkSXRlbShidWlsZE1lZGlhT2JqZWN0KG1lZGlhTGlzdCwg
aXNNZWRpYVJ1bGUgPyBNZWRpYUxpc3RTb3VyY2VNZWRpYVJ1bGUgOiBNZWRpYUxpc3RTb3VyY2VJ
bXBvcnRSdWxlLCBzb3VyY2VVUkwpKTsKLQotICAgICAgICBpZiAocGFyZW50UnVsZS0+cGFyZW50
UnVsZSgpKQotICAgICAgICAgICAgcGFyZW50UnVsZSA9IHBhcmVudFJ1bGUtPnBhcmVudFJ1bGUo
KTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0
ID0gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpOwotICAgICAgICAgICAgd2hpbGUgKHN0
eWxlU2hlZXQpIHsKLSAgICAgICAgICAgICAgICBtZWRpYUxpc3QgPSBzdHlsZVNoZWV0LT5tZWRp
YSgpOwotICAgICAgICAgICAgICAgIGlmIChtZWRpYUxpc3QgJiYgbWVkaWFMaXN0LT5sZW5ndGgo
KSkgewotICAgICAgICAgICAgICAgICAgICBEb2N1bWVudCogZG9jID0gc3R5bGVTaGVldC0+b3du
ZXJEb2N1bWVudCgpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZG9jKQotICAgICAgICAgICAg
ICAgICAgICAgICAgc291cmNlVVJMID0gZG9jLT51cmwoKTsKLSAgICAgICAgICAgICAgICAgICAg
ZWxzZSBpZiAoIXN0eWxlU2hlZXQtPmNvbnRlbnRzKCkuYmFzZVVSTCgpLmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCku
YmFzZVVSTCgpOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICBzb3VyY2VVUkwgPSBlbXB0eVN0cmluZygpOwotICAgICAgICAgICAgICAgICAgICBtZWRp
YUFycmF5LmFkZEl0ZW0oYnVpbGRNZWRpYU9iamVjdChtZWRpYUxpc3QsIHN0eWxlU2hlZXQtPm93
bmVyTm9kZSgpID8gTWVkaWFMaXN0U291cmNlTGlua2VkU2hlZXQgOiBNZWRpYUxpc3RTb3VyY2VJ
bmxpbmVTaGVldCwgc291cmNlVVJMKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIHBhcmVudFJ1bGUgPSBzdHlsZVNoZWV0LT5vd25lclJ1bGUoKTsKLSAgICAgICAgICAgICAg
ICBpZiAocGFyZW50UnVsZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgc3R5bGVTaGVldCA9IHN0eWxlU2hlZXQtPnBhcmVudFN0eWxlU2hlZXQoKTsKKyAgICAg
ICAgaWYgKGlzPENTU01lZGlhUnVsZT4ocGFyZW50UnVsZSkpIHsKKyAgICAgICAgICAgIGF1dG8q
IG1lZGlhID0gZG93bmNhc3Q8Q1NTTWVkaWFSdWxlPihwYXJlbnRSdWxlKS0+bWVkaWEoKTsKKyAg
ICAgICAgICAgIGlmIChtZWRpYSAmJiBtZWRpYS0+bGVuZ3RoKCkgJiYgbWVkaWEtPm1lZGlhVGV4
dCgpICE9ICJhbGwiKSB7CisgICAgICAgICAgICAgICAgcnVsZUdyb3VwaW5nUGF5bG9hZCA9IElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OmNyZWF0ZSgpCisgICAgICAgICAgICAg
ICAgICAgIC5zZXRUZXh0KG1lZGlhLT5tZWRpYVRleHQoKSkKKyAgICAgICAgICAgICAgICAgICAg
LnNldFR5cGUoSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlwZTo6TWVkaWFS
dWxlKQorICAgICAgICAgICAgICAgICAgICAucmVsZWFzZSgpOwogICAgICAgICAgICAgfQorICAg
ICAgICB9IGVsc2UgaWYgKGlzPENTU0ltcG9ydFJ1bGU+KHBhcmVudFJ1bGUpKSB7CisgICAgICAg
ICAgICBhdXRvJiBtZWRpYSA9IGRvd25jYXN0PENTU0ltcG9ydFJ1bGU+KHBhcmVudFJ1bGUpLT5t
ZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhLmxlbmd0aCgpICYmIG1lZGlhLm1lZGlhVGV4
dCgpICE9ICJhbGwiKSB7CisgICAgICAgICAgICAgICAgcnVsZUdyb3VwaW5nUGF5bG9hZCA9IElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OmNyZWF0ZSgpCisgICAgICAgICAgICAg
ICAgICAgIC5zZXRUZXh0KG1lZGlhLm1lZGlhVGV4dCgpKQorICAgICAgICAgICAgICAgICAgICAu
c2V0VHlwZShJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpUeXBlOjpNZWRpYUlt
cG9ydFJ1bGUpCisgICAgICAgICAgICAgICAgICAgIC5yZWxlYXNlKCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSBpZiAoaXM8Q1NTU3VwcG9ydHNSdWxlPihwYXJlbnRSdWxlKSkgewor
ICAgICAgICAgICAgcnVsZUdyb3VwaW5nUGF5bG9hZCA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNT
Uzo6R3JvdXBpbmc6OmNyZWF0ZSgpCisgICAgICAgICAgICAgICAgLnNldFRleHQoZG93bmNhc3Q8
Q1NTU3VwcG9ydHNSdWxlPihwYXJlbnRSdWxlKS0+Y29uZGl0aW9uVGV4dCgpKQorICAgICAgICAg
ICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OlR5cGU6
OlN1cHBvcnRzUnVsZSkKKyAgICAgICAgICAgICAgICAucmVsZWFzZSgpOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKHJ1bGVHcm91cGluZ1BheWxvYWQpIHsKKyAgICAgICAgICAgIGlmIChhdXRv
KiBwYXJlbnRTdHlsZVNoZWV0ID0gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpKSB7Cisg
ICAgICAgICAgICAgICAgU3RyaW5nIHNvdXJjZVVSTCA9IHBhcmVudFN0eWxlU2hlZXQtPmNvbnRl
bnRzKCkuYmFzZVVSTCgpOworICAgICAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaXNFbXB0eSgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBvd25lckRvY3VtZW50ID0gcGFyZW50
U3R5bGVTaGVldC0+b3duZXJEb2N1bWVudCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgc291
cmNlVVJMID0gSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKG93bmVyRG9jdW1l
bnQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIXNvdXJjZVVSTC5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIHJ1bGVHcm91cGluZ1BheWxvYWQtPnNldFNv
dXJjZVVSTChzb3VyY2VVUkwpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBncm91cGlu
Z3NQYXlsb2FkLT5hZGRJdGVtKFdURk1vdmUocnVsZUdyb3VwaW5nUGF5bG9hZCkpOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHBhcmVudFJ1bGUtPnBhcmVudFJ1bGUoKSkgeworICAgICAgICAg
ICAgcGFyZW50UnVsZSA9IHBhcmVudFJ1bGUtPnBhcmVudFJ1bGUoKTsKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgYXV0byogc3R5bGVTaGVldCA9IHBhcmVudFJ1
bGUtPnBhcmVudFN0eWxlU2hlZXQoKTsKKyAgICAgICAgd2hpbGUgKHN0eWxlU2hlZXQpIHsKKyAg
ICAgICAgICAgIGF1dG8qIG1lZGlhID0gc3R5bGVTaGVldC0+bWVkaWEoKTsKKyAgICAgICAgICAg
IGlmIChtZWRpYSAmJiBtZWRpYS0+bGVuZ3RoKCkgJiYgbWVkaWEtPm1lZGlhVGV4dCgpICE9ICJh
bGwiKSB7CisgICAgICAgICAgICAgICAgYXV0byBzaGVldEdyb3VwaW5nUGF5bG9hZCA9IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OmNyZWF0ZSgpCisgICAgICAgICAgICAgICAg
ICAgIC5zZXRUZXh0KG1lZGlhLT5tZWRpYVRleHQoKSkKKyAgICAgICAgICAgICAgICAgICAgLnNl
dFR5cGUoaXM8SFRNTFN0eWxlRWxlbWVudD4oc3R5bGVTaGVldC0+b3duZXJOb2RlKCkpID8gSW5z
cGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlwZTo6TWVkaWFTdHlsZU5vZGU6IElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OlR5cGU6Ok1lZGlhTGlua05vZGUpCisg
ICAgICAgICAgICAgICAgICAgIC5yZWxlYXNlKCk7CisKKyAgICAgICAgICAgICAgICBTdHJpbmcg
c291cmNlVVJMOworICAgICAgICAgICAgICAgIGlmIChhdXRvKiBvd25lckRvY3VtZW50ID0gc3R5
bGVTaGVldC0+b3duZXJEb2N1bWVudCgpKQorICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwg
PSBvd25lckRvY3VtZW50LT51cmwoKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmICghc3R5bGVT
aGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAg
ICBzb3VyY2VVUkwgPSBzdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKTsKKyAgICAgICAg
ICAgICAgICBpZiAoIXNvdXJjZVVSTC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIHNo
ZWV0R3JvdXBpbmdQYXlsb2FkLT5zZXRTb3VyY2VVUkwoc291cmNlVVJMKTsKKworICAgICAgICAg
ICAgICAgIGdyb3VwaW5nc1BheWxvYWQtPmFkZEl0ZW0oV1RGTW92ZShzaGVldEdyb3VwaW5nUGF5
bG9hZCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBwYXJlbnRSdWxlID0gc3R5bGVT
aGVldC0+b3duZXJSdWxlKCk7CisgICAgICAgICAgICBpZiAocGFyZW50UnVsZSkKKyAgICAgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICAgICAgc3R5bGVTaGVldCA9IHN0eWxlU2hlZXQtPnBh
cmVudFN0eWxlU2hlZXQoKTsKICAgICAgICAgfQogICAgIH0KKworICAgIHJldHVybiBncm91cGlu
Z3NQYXlsb2FkOwogfQogCiBSZWY8SW5zcGVjdG9yU3R5bGU+IEluc3BlY3RvclN0eWxlOjpjcmVh
dGUoY29uc3QgSW5zcGVjdG9yQ1NTSWQmIHN0eWxlSWQsIFJlZjxDU1NTdHlsZURlY2xhcmF0aW9u
PiYmIHN0eWxlLCBJbnNwZWN0b3JTdHlsZVNoZWV0KiBwYXJlbnRTdHlsZVNoZWV0KQpAQCAtMTE3
MywxMSArMTE2MSw5IEBAIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1J1bGU+
IEluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkT2JqZWN0Rm9yUnVsCiAgICAgICAgICAgICByZXN1
bHQtPnNldFJ1bGVJZChpZC5hc1Byb3RvY29sVmFsdWU8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NT
OjpDU1NSdWxlSWQ+KCkpOwogICAgIH0KIAotICAgIGF1dG8gbWVkaWFBcnJheSA9IEFycmF5T2Y8
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYT46OmNyZWF0ZSgpOwotCi0gICAgZmls
bE1lZGlhTGlzdENoYWluKHJ1bGUsIG1lZGlhQXJyYXkuZ2V0KCkpOwotICAgIGlmIChtZWRpYUFy
cmF5LT5sZW5ndGgoKSkKLSAgICAgICAgcmVzdWx0LT5zZXRNZWRpYShXVEZNb3ZlKG1lZGlhQXJy
YXkpKTsKKyAgICBhdXRvIGdyb3VwaW5nc1BheWxvYWQgPSBidWlsZEFycmF5Rm9yR3JvdXBpbmdz
KCpydWxlKTsKKyAgICBpZiAoZ3JvdXBpbmdzUGF5bG9hZC0+bGVuZ3RoKCkpCisgICAgICAgIHJl
c3VsdC0+c2V0R3JvdXBpbmdzKFdURk1vdmUoZ3JvdXBpbmdzUGF5bG9hZCkpOwogCiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0NTU01hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2VyLmpzCmluZGV4IGY5YjIzOTcxYTg0
MjRhM2I3NjgwNmVkMjdlMTUyMWZkN2YyOGU0NDMuLmUyZTE4ZmY4YTFjNGMxZGY4ZDlmZjhhY2Y2
MGMwMjMwMTVkMDY3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0NTU01hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qcwpAQCAtODEsMjEgKzgx
LDIyIEBAIFdJLkNTU01hbmFnZXIgPSBjbGFzcyBDU1NNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBzdGF0aWMgcHJvdG9jb2xNZWRpYVNvdXJjZVRvRW51
bShzb3VyY2UpCisgICAgc3RhdGljIHByb3RvY29sR3JvdXBpbmdUeXBlVG9FbnVtKHR5cGUpCiAg
ICAgewotICAgICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgICAgICBjYXNlIENTU0FnZW50LkNT
U01lZGlhU291cmNlLk1lZGlhUnVsZToKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NNZWRpYS5U
eXBlLk1lZGlhUnVsZTsKLSAgICAgICAgY2FzZSBDU1NBZ2VudC5DU1NNZWRpYVNvdXJjZS5JbXBv
cnRSdWxlOgotICAgICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuSW1wb3J0UnVsZTsK
LSAgICAgICAgY2FzZSBDU1NBZ2VudC5DU1NNZWRpYVNvdXJjZS5MaW5rZWRTaGVldDoKLSAgICAg
ICAgICAgIHJldHVybiBXSS5DU1NNZWRpYS5UeXBlLkxpbmtlZFN0eWxlU2hlZXQ7Ci0gICAgICAg
IGNhc2UgQ1NTQWdlbnQuQ1NTTWVkaWFTb3VyY2UuSW5saW5lU2hlZXQ6Ci0gICAgICAgICAgICBy
ZXR1cm4gV0kuQ1NTTWVkaWEuVHlwZS5JbmxpbmVTdHlsZVNoZWV0OwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICJVbmtub3duIENTUy5DU1NNZWRp
YVNvdXJjZSIsIHNvdXJjZSk7Ci0gICAgICAgICAgICByZXR1cm4gV0kuQ1NTTWVkaWEuVHlwZS5N
ZWRpYVJ1bGU7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IENTUy5Hcm91cGlu
ZyBkaWQgbm90IGV4aXN0IHlldC4KKyAgICAgICAgaWYgKCFJbnNwZWN0b3JCYWNrZW5kLmRvbWFp
bnMuQ1NTLkdyb3VwaW5nKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAg
ICAgIGNhc2UgIm1lZGlhUnVsZSI6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3Vw
aW5nLlR5cGUuTWVkaWFSdWxlOworICAgICAgICAgICAgY2FzZSAiaW1wb3J0UnVsZSI6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFJbXBvcnRSdWxlOwor
ICAgICAgICAgICAgY2FzZSAibGlua2VkU2hlZXQiOgorICAgICAgICAgICAgICAgIHJldHVybiBX
SS5DU1NHcm91cGluZy5UeXBlLk1lZGlhTGlua05vZGU7CisgICAgICAgICAgICBjYXNlICJpbmxp
bmVTaGVldCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVk
aWFTdHlsZU5vZGU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHR5
cGU7CiAgICAgfQogCiAgICAgc3RhdGljIGRpc3BsYXlOYW1lRm9yUHNldWRvSWQocHNldWRvSWQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXgg
NWY4Y2U2ZDgwMjIxMzA2NzkxNjk4M2ExODA4YmI4MTJmYzc0YWNhMy4uNTQ5MmJkMjE2MDc2NjZl
OTAwMTZjYThhNGI5YzI1OTFkNTJkODEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtMzYxLDggKzM2MSw4IEBACiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9DUFVUaW1lbGluZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1v
ZGVscy9DUFVUaW1lbGluZVJlY29yZC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1v
ZGVscy9DU1NDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVs
cy9DU1NHcm91cGluZy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMv
Q1NTTWVkaWEuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTUHJvcGVy
dHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTUnVsZS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NTZWxlY3Rvci5qcyI+PC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
Q1NTR3JvdXBpbmcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTR3JvdXBpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkZjA0YzJlNDUxNmJiZTU3ZDI1Mjc3NTc2
Zjc5YTBmODM3Mjk4OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qcwpAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworV0kuQ1NTR3JvdXBpbmcgPSBjbGFzcyBDU1NHcm91cGluZworeworICAgIGNvbnN0
cnVjdG9yKHR5cGUsIHRleHQsIHNvdXJjZUNvZGVMb2NhdGlvbikKKyAgICB7CisgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KE9iamVjdC52YWx1ZXMoQ1NTR3JvdXBpbmcuVHlwZSkuaW5jbHVkZXModHlw
ZSkpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgdGV4dCA9PT0gInN0cmluZyIgJiYg
dGV4dC5sZW5ndGgpOworICAgICAgICBjb25zb2xlLmFzc2VydCghc291cmNlQ29kZUxvY2F0aW9u
IHx8IHNvdXJjZUNvZGVMb2NhdGlvbiBpbnN0YW5jZW9mIFdJLlNvdXJjZUNvZGVMb2NhdGlvbik7
CisKKyAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CisgICAgICAgIHRoaXMuX3RleHQgPSB0ZXh0
OworICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb24g
fHwgbnVsbDsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCB0eXBlKCkgeyByZXR1
cm4gdGhpcy5fdHlwZTsgfQorICAgIGdldCB0ZXh0KCkgeyByZXR1cm4gdGhpcy5fdGV4dDsgfQor
ICAgIGdldCBzb3VyY2VDb2RlTG9jYXRpb24oKSB7IHJldHVybiB0aGlzLl9zb3VyY2VDb2RlTG9j
YXRpb247IH0KKworICAgIGdldCBpc01lZGlhKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll90eXBlID09PSBXSS5DU1NHcm91cGluZy5UeXBlLk1lZGlhUnVsZQorICAgICAgICAgICAgfHwg
dGhpcy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYUltcG9ydFJ1bGUKKyAgICAg
ICAgICAgIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFMaW5rTm9k
ZQorICAgICAgICAgICAgfHwgdGhpcy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRp
YVN0eWxlTm9kZTsKKyAgICB9CisKKyAgICBnZXQgaXNTdXBwb3J0cygpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBpbmcuVHlwZS5TdXBwb3J0c1J1bGU7
CisgICAgfQorCisgICAgZ2V0IHByZWZpeCgpCisgICAgeworICAgICAgICBpZiAodGhpcy5pc1N1
cHBvcnRzKQorICAgICAgICAgICAgcmV0dXJuICJAc3VwcG9ydHMiOworCisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuaXNNZWRpYSk7CisgICAgICAgIHJldHVybiAiQG1lZGlhIjsKKyAgICB9
Cit9OworCitXSS5DU1NHcm91cGluZy5UeXBlID0geworICAgIE1lZGlhUnVsZTogIm1lZGlhLXJ1
bGUiLAorICAgIE1lZGlhSW1wb3J0UnVsZTogIm1lZGlhLWltcG9ydC1ydWxlIiwKKyAgICBNZWRp
YUxpbmtOb2RlOiAibWVkaWEtbGluay1ub2RlIiwKKyAgICBNZWRpYVN0eWxlTm9kZTogIm1lZGlh
LXN0eWxlLW5vZGUiLAorICAgIFN1cHBvcnRzUnVsZTogInN1cHBvcnRzLXJ1bGUiLAorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NN
ZWRpYS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NN
ZWRpYS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2JkNjg5OWRjYmM0MjFiMzBl
M2RkMDYzYjQ4OWUyZTE3MmRlYzliZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
Q1NTTWVkaWEuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
V0kuQ1NTTWVkaWEgPSBjbGFzcyBDU1NNZWRpYQotewotICAgIGNvbnN0cnVjdG9yKHR5cGUsIHRl
eHQsIHNvdXJjZUNvZGVMb2NhdGlvbikKLSAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFz
b3VyY2VDb2RlTG9jYXRpb24gfHwgc291cmNlQ29kZUxvY2F0aW9uIGluc3RhbmNlb2YgV0kuU291
cmNlQ29kZUxvY2F0aW9uKTsKLQotICAgICAgICB0aGlzLl90eXBlID0gdHlwZSB8fCBudWxsOwot
ICAgICAgICB0aGlzLl90ZXh0ID0gdGV4dCB8fCAiIjsKLSAgICAgICAgdGhpcy5fc291cmNlQ29k
ZUxvY2F0aW9uID0gc291cmNlQ29kZUxvY2F0aW9uIHx8IG51bGw7Ci0gICAgfQotCi0gICAgLy8g
UHVibGljCi0KLSAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KLSAgICBnZXQg
dGV4dCgpIHsgcmV0dXJuIHRoaXMuX3RleHQ7IH0KLSAgICBnZXQgc291cmNlQ29kZUxvY2F0aW9u
KCkgeyByZXR1cm4gdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uOyB9Ci19OwotCi1XSS5DU1NNZWRp
YS5UeXBlID0gewotICAgIE1lZGlhUnVsZTogImNzcy1tZWRpYS10eXBlLW1lZGlhLXJ1bGUiLAot
ICAgIEltcG9ydFJ1bGU6ICJjc3MtbWVkaWEtdHlwZS1pbXBvcnQtcnVsZSIsCi0gICAgTGlua2Vk
U3R5bGVTaGVldDogImNzcy1tZWRpYS10eXBlLWxpbmtlZC1zdHlsZXNoZWV0IiwKLSAgICBJbmxp
bmVTdHlsZVNoZWV0OiAiY3NzLW1lZGlhLXR5cGUtaW5saW5lLXN0eWxlc2hlZXQiCi19OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1J1
bGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVs
ZS5qcwppbmRleCA4ZDhlMjU5YzdhOGUyMzNiMTRiZTQ2YzU3NjBhODZmMGRiM2EzMWQzLi41YzIx
MDc5OTRkNjRkMTA0MDJjOTE5NjQ0YjM0OGZkMzg5NWI4N2YyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcwpAQCAtMjUs
NyArMjUsNyBAQAogCiBXSS5DU1NSdWxlID0gY2xhc3MgQ1NTUnVsZSBleHRlbmRzIFdJLk9iamVj
dAogewotICAgIGNvbnN0cnVjdG9yKG5vZGVTdHlsZXMsIG93bmVyU3R5bGVTaGVldCwgaWQsIHR5
cGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRT
ZWxlY3RvckluZGljZXMsIHN0eWxlLCBtZWRpYUxpc3QpCisgICAgY29uc3RydWN0b3Iobm9kZVN0
eWxlcywgb3duZXJTdHlsZVNoZWV0LCBpZCwgdHlwZSwgc291cmNlQ29kZUxvY2F0aW9uLCBzZWxl
Y3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIGdyb3Vw
aW5ncykKICAgICB7CiAgICAgICAgIHN1cGVyKCk7CiAKQEAgLTM3LDU3ICszNywyNiBAQCBXSS5D
U1NSdWxlID0gY2xhc3MgQ1NTUnVsZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl90
eXBlID0gdHlwZSB8fCBudWxsOwogICAgICAgICB0aGlzLl9pbml0aWFsU3RhdGUgPSBudWxsOwog
Ci0gICAgICAgIHRoaXMudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBz
ZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBtZWRpYUxpc3QsIHRydWUp
OworICAgICAgICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwg
c2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgZ3JvdXBpbmdzLCB0cnVl
KTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKIAorICAgIGdldCBvd25lclN0eWxlU2hlZXQoKSB7
IHJldHVybiB0aGlzLl9vd25lclN0eWxlU2hlZXQ7IH0KICAgICBnZXQgaWQoKSB7IHJldHVybiB0
aGlzLl9pZDsgfQorICAgIGdldCB0eXBlKCkgeyByZXR1cm4gdGhpcy5fdHlwZTsgfQogICAgIGdl
dCBpbml0aWFsU3RhdGUoKSB7IHJldHVybiB0aGlzLl9pbml0aWFsU3RhdGU7IH0KLQotICAgIGdl
dCBvd25lclN0eWxlU2hlZXQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX293bmVyU3R5
bGVTaGVldDsKLSAgICB9CisgICAgZ2V0IHNvdXJjZUNvZGVMb2NhdGlvbigpIHsgcmV0dXJuIHRo
aXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsgfQorICAgIGdldCBzZWxlY3RvcnMoKSB7IHJldHVybiB0
aGlzLl9zZWxlY3RvcnM7IH0KKyAgICBnZXQgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcygpIHsgcmV0
dXJuIHRoaXMuX21hdGNoZWRTZWxlY3RvckluZGljZXM7IH0KKyAgICBnZXQgc3R5bGUoKSB7IHJl
dHVybiB0aGlzLl9zdHlsZTsgfQorICAgIGdldCBncm91cGluZ3MoKSB7IHJldHVybiB0aGlzLl9n
cm91cGluZ3M7IH0KIAogICAgIGdldCBlZGl0YWJsZSgpCiAgICAgewogICAgICAgICByZXR1cm4g
ISF0aGlzLl9pZCAmJiAodGhpcy5fdHlwZSA9PT0gV0kuQ1NTU3R5bGVTaGVldC5UeXBlLkF1dGhv
ciB8fCB0aGlzLl90eXBlID09PSBXSS5DU1NTdHlsZVNoZWV0LlR5cGUuSW5zcGVjdG9yKTsKICAg
ICB9CiAKLSAgICB1cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVj
dG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlhTGlzdCkKLSAgICB7Ci0g
ICAgICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxsOwot
ICAgICAgICBzZWxlY3RvclRleHQgPSBzZWxlY3RvclRleHQgfHwgIiI7Ci0gICAgICAgIHNlbGVj
dG9ycyA9IHNlbGVjdG9ycyB8fCBbXTsKLSAgICAgICAgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcyA9
IG1hdGNoZWRTZWxlY3RvckluZGljZXMgfHwgW107Ci0gICAgICAgIHN0eWxlID0gc3R5bGUgfHwg
bnVsbDsKLSAgICAgICAgbWVkaWFMaXN0ID0gbWVkaWFMaXN0IHx8IFtdOwotCi0gICAgICAgIGlm
ICh0aGlzLl9zdHlsZSkKLSAgICAgICAgICAgIHRoaXMuX3N0eWxlLm93bmVyUnVsZSA9IG51bGw7
Ci0KLSAgICAgICAgdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uID0gc291cmNlQ29kZUxvY2F0aW9u
OwotICAgICAgICB0aGlzLl9zZWxlY3RvclRleHQgPSBzZWxlY3RvclRleHQ7Ci0gICAgICAgIHRo
aXMuX3NlbGVjdG9ycyA9IHNlbGVjdG9yczsKLSAgICAgICAgdGhpcy5fbWF0Y2hlZFNlbGVjdG9y
SW5kaWNlcyA9IG1hdGNoZWRTZWxlY3RvckluZGljZXM7Ci0gICAgICAgIHRoaXMuX3N0eWxlID0g
c3R5bGU7Ci0gICAgICAgIHRoaXMuX21lZGlhTGlzdCA9IG1lZGlhTGlzdDsKLQotICAgICAgICBp
ZiAodGhpcy5fc3R5bGUpCi0gICAgICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUgPSB0aGlz
OwotICAgIH0KLQotICAgIGdldCB0eXBlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl90
eXBlOwotICAgIH0KLQotICAgIGdldCBzb3VyY2VDb2RlTG9jYXRpb24oKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsKLSAgICB9Ci0KICAgICBnZXQgc2Vs
ZWN0b3JUZXh0KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RvclRleHQ7CkBA
IC0xMDcsMjQgKzc2LDI3IEBAIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVuZHMgV0ku
T2JqZWN0CiAgICAgICAgIHRoaXMuX25vZGVTdHlsZXMuY2hhbmdlUnVsZVNlbGVjdG9yKHRoaXMs
IHNlbGVjdG9yVGV4dCkudGhlbih0aGlzLl9zZWxlY3RvclJlc29sdmVkLmJpbmQodGhpcyksIHRo
aXMuX3NlbGVjdG9yUmVqZWN0ZWQuYmluZCh0aGlzKSk7CiAgICAgfQogCi0gICAgZ2V0IHNlbGVj
dG9ycygpCisgICAgdXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxl
Y3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91cGluZ3MpCiAgICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0b3JzOwotICAgIH0KKyAgICAgICAgc291cmNlQ29k
ZUxvY2F0aW9uID0gc291cmNlQ29kZUxvY2F0aW9uIHx8IG51bGw7CisgICAgICAgIHNlbGVjdG9y
VGV4dCA9IHNlbGVjdG9yVGV4dCB8fCAiIjsKKyAgICAgICAgc2VsZWN0b3JzID0gc2VsZWN0b3Jz
IHx8IFtdOworICAgICAgICBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9y
SW5kaWNlcyB8fCBbXTsKKyAgICAgICAgc3R5bGUgPSBzdHlsZSB8fCBudWxsOworICAgICAgICBn
cm91cGluZ3MgPSBncm91cGluZ3MgfHwgW107CiAKLSAgICBnZXQgbWF0Y2hlZFNlbGVjdG9ySW5k
aWNlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hlZFNlbGVjdG9ySW5kaWNl
czsKLSAgICB9CisgICAgICAgIGlmICh0aGlzLl9zdHlsZSkKKyAgICAgICAgICAgIHRoaXMuX3N0
eWxlLm93bmVyUnVsZSA9IG51bGw7CiAKLSAgICBnZXQgc3R5bGUoKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX3N0eWxlOwotICAgIH0KKyAgICAgICAgdGhpcy5fc291cmNlQ29kZUxvY2F0
aW9uID0gc291cmNlQ29kZUxvY2F0aW9uOworICAgICAgICB0aGlzLl9zZWxlY3RvclRleHQgPSBz
ZWxlY3RvclRleHQ7CisgICAgICAgIHRoaXMuX3NlbGVjdG9ycyA9IHNlbGVjdG9yczsKKyAgICAg
ICAgdGhpcy5fbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcyA9IG1hdGNoZWRTZWxlY3RvckluZGljZXM7
CisgICAgICAgIHRoaXMuX3N0eWxlID0gc3R5bGU7CisgICAgICAgIHRoaXMuX2dyb3VwaW5ncyA9
IGdyb3VwaW5nczsKIAotICAgIGdldCBtZWRpYUxpc3QoKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IHRoaXMuX21lZGlhTGlzdDsKKyAgICAgICAgaWYgKHRoaXMuX3N0eWxlKQorICAgICAgICAgICAg
dGhpcy5fc3R5bGUub3duZXJSdWxlID0gdGhpczsKICAgICB9CiAKICAgICBpc0VxdWFsVG8ocnVs
ZSkKQEAgLTE3Myw3ICsxNDUsNyBAQCBXSS5DU1NSdWxlID0gY2xhc3MgQ1NTUnVsZSBleHRlbmRz
IFdJLk9iamVjdAogICAgICAgICAgICAgICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSB0aGlz
Ll9vd25lclN0eWxlU2hlZXQub2Zmc2V0U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2Nh
dGlvbik7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgdGhpcy51cGRhdGUo
c291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgW10sIHRoaXMuX3N0
eWxlLCB0aGlzLl9tZWRpYUxpc3QpOworICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKHNvdXJj
ZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIFtdLCB0aGlzLl9zdHlsZSwg
dGhpcy5fZ3JvdXBpbmdzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNs
YXJhdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9D
U1NTdHlsZURlY2xhcmF0aW9uLmpzCmluZGV4IDkwMWI2Y2JkYjJjYmQ1Zjc3OTBjYjEzNDA0MWJl
NWE3OWViODM1ZTEuLjc4YjQ0NGUzYTg5YjNkZWVkNjAxMzMyMDg0MDI3NzYyYmJiZDg0OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NT
dHlsZURlY2xhcmF0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCkBAIC0yODcsMTAgKzI4NywxMCBAQCBX
SS5DU1NTdHlsZURlY2xhcmF0aW9uID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBleHRlbmRz
IFdJLk9iamVjdAogICAgICAgICByZXR1cm4gdGhpcy5fc3R5bGVTaGVldFRleHRSYW5nZTsKICAg
ICB9CiAKLSAgICBnZXQgbWVkaWFMaXN0KCkKKyAgICBnZXQgZ3JvdXBpbmdzKCkKICAgICB7CiAg
ICAgICAgIGlmICh0aGlzLl9vd25lclJ1bGUpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb3du
ZXJSdWxlLm1lZGlhTGlzdDsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUuZ3Jv
dXBpbmdzOwogICAgICAgICByZXR1cm4gW107CiAgICAgfQogCkBAIC00NTUsMTcgKzQ1NSwxNyBA
QCBXSS5DU1NTdHlsZURlY2xhcmF0aW9uID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBleHRl
bmRzIFdJLk9iamVjdAogICAgIHsKICAgICAgICAgbGV0IGluZGVudFN0cmluZyA9IFdJLmluZGVu
dFN0cmluZygpOwogICAgICAgICBsZXQgc3R5bGVUZXh0ID0gIiI7Ci0gICAgICAgIGxldCBtZWRp
YUxpc3QgPSB0aGlzLm1lZGlhTGlzdC5maWx0ZXIoKG1lZGlhKSA9PiBtZWRpYS50ZXh0ICE9PSAi
YWxsIik7Ci0gICAgICAgIGxldCBtZWRpYVF1ZXJpZXNDb3VudCA9IG1lZGlhTGlzdC5sZW5ndGg7
Ci0gICAgICAgIGZvciAobGV0IGkgPSBtZWRpYVF1ZXJpZXNDb3VudCAtIDE7IGkgPj0gMDsgLS1p
KQotICAgICAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQobWVkaWFRdWVy
aWVzQ291bnQgLSBpIC0gMSkgKyAiQG1lZGlhICIgKyBtZWRpYUxpc3RbaV0udGV4dCArICIge1xu
IjsKKyAgICAgICAgbGV0IGdyb3VwaW5ncyA9IHRoaXMuZ3JvdXBpbmdzLmZpbHRlcigoZ3JvdXBp
bmcpID0+IGdyb3VwaW5nLnRleHQgIT09ICJhbGwiKTsKKyAgICAgICAgbGV0IGdyb3VwaW5nc0Nv
dW50ID0gZ3JvdXBpbmdzLmxlbmd0aDsKKyAgICAgICAgZm9yIChsZXQgaSA9IGdyb3VwaW5nc0Nv
dW50IC0gMTsgaSA+PSAwOyAtLWkpCisgICAgICAgICAgICBzdHlsZVRleHQgKz0gaW5kZW50U3Ry
aW5nLnJlcGVhdChncm91cGluZ3NDb3VudCAtIGkgLSAxKSArIGdyb3VwaW5nc1tpXS5wcmVmaXgg
KyAiICIgKyBncm91cGluZ3NbaV0udGV4dCArICIge1xuIjsKIAotICAgICAgICBzdHlsZVRleHQg
Kz0gaW5kZW50U3RyaW5nLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCkgKyB0aGlzLnNlbGVjdG9y
VGV4dCArICIge1xuIjsKKyAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQo
Z3JvdXBpbmdzQ291bnQpICsgdGhpcy5zZWxlY3RvclRleHQgKyAiIHtcbiI7CiAKICAgICAgICAg
Zm9yIChsZXQgcHJvcGVydHkgb2YgKHRoaXMuX3N0eWxlU2hlZXRUZXh0UmFuZ2UgPyB0aGlzLnZp
c2libGVQcm9wZXJ0aWVzIDogdGhpcy5fcHJvcGVydGllcykpCi0gICAgICAgICAgICBzdHlsZVRl
eHQgKz0gaW5kZW50U3RyaW5nLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCArIDEpICsgcHJvcGVy
dHkuZm9ybWF0dGVkVGV4dCArICJcbiI7CisgICAgICAgICAgICBzdHlsZVRleHQgKz0gaW5kZW50
U3RyaW5nLnJlcGVhdChncm91cGluZ3NDb3VudCArIDEpICsgcHJvcGVydHkuZm9ybWF0dGVkVGV4
dCArICJcbiI7CiAKLSAgICAgICAgZm9yIChsZXQgaSA9IG1lZGlhUXVlcmllc0NvdW50OyBpID4g
MDsgLS1pKQorICAgICAgICBmb3IgKGxldCBpID0gZ3JvdXBpbmdzQ291bnQ7IGkgPiAwOyAtLWkp
CiAgICAgICAgICAgICBzdHlsZVRleHQgKz0gaW5kZW50U3RyaW5nLnJlcGVhdChpKSArICJ9XG4i
OwogCiAgICAgICAgIHN0eWxlVGV4dCArPSAifSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCmluZGV4
IDE1ZTM5YzllMjhhMGFkZTY1ZGZjNjQwNjE0NzhmOGFlZjM0ZTY0NTEuLmMxYTI5NmEzMzI0NTgz
MTFiNTQzNGNkNTEzMzllOGQ1M2RlMjdmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzCkBAIC0x
MjMsMTYgKzEyMywyNSBAQCBXSS5ET01Ob2RlU3R5bGVzID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBl
eHRlbmRzIFdJLk9iamVjdAogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgbm9kZSgpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5fbm9kZTsKLSAgICB9CisgICAgZ2V0IG5vZGUoKSB7IHJl
dHVybiB0aGlzLl9ub2RlOyB9CisgICAgZ2V0IG1hdGNoZWRSdWxlcygpIHsgcmV0dXJuIHRoaXMu
X21hdGNoZWRSdWxlczsgfQorICAgIGdldCBpbmhlcml0ZWRSdWxlcygpIHsgcmV0dXJuIHRoaXMu
X2luaGVyaXRlZFJ1bGVzOyB9CisgICAgZ2V0IGlubGluZVN0eWxlKCkgeyByZXR1cm4gdGhpcy5f
aW5saW5lU3R5bGU7IH0KKyAgICBnZXQgYXR0cmlidXRlc1N0eWxlKCkgeyByZXR1cm4gdGhpcy5f
YXR0cmlidXRlc1N0eWxlOyB9CisgICAgZ2V0IHBzZXVkb0VsZW1lbnRzKCkgeyByZXR1cm4gdGhp
cy5fcHNldWRvRWxlbWVudHM7IH0KKyAgICBnZXQgY29tcHV0ZWRTdHlsZSgpIHsgcmV0dXJuIHRo
aXMuX2NvbXB1dGVkU3R5bGU7IH0KKyAgICBnZXQgb3JkZXJlZFN0eWxlcygpIHsgcmV0dXJuIHRo
aXMuX29yZGVyZWRTdHlsZXM7IH0KIAogICAgIGdldCBuZWVkc1JlZnJlc2goKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdSZWZyZXNoVGFzayB8fCB0aGlzLl9uZWVkc1JlZnJl
c2g7CiAgICAgfQogCisgICAgZ2V0IHVuaXF1ZU9yZGVyZWRTdHlsZXMoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFdJLkRPTU5vZGVTdHlsZXMudW5pcXVlT3JkZXJlZFN0eWxlcyh0aGlzLl9vcmRl
cmVkU3R5bGVzKTsKKyAgICB9CisKICAgICByZWZyZXNoSWZOZWVkZWQoKQogICAgIHsKICAgICAg
ICAgaWYgKHRoaXMuX3BlbmRpbmdSZWZyZXNoVGFzaykKQEAgLTM3NSw2MiArMzg0LDYgQEAgV0ku
RE9NTm9kZVN0eWxlcyA9IGNsYXNzIERPTU5vZGVTdHlsZXMgZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgICAgIFdJLmNzc01hbmFnZXIucHJlZmVycmVkSW5zcGVjdG9yU3R5bGVTaGVldEZvckZy
YW1lKHRoaXMuX25vZGUuZnJhbWUsIGluc3BlY3RvclN0eWxlU2hlZXRBdmFpbGFibGUuYmluZCh0
aGlzKSk7CiAgICAgfQogCi0gICAgcnVsZXNGb3JTZWxlY3RvcihzZWxlY3RvcikKLSAgICB7Ci0g
ICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgfHwgdGhpcy5fbm9kZS5hcHByb3ByaWF0ZVNlbGVj
dG9yRm9yKHRydWUpOwotCi0gICAgICAgIGZ1bmN0aW9uIHJ1bGVIYXNTZWxlY3RvcihydWxlKSB7
Ci0gICAgICAgICAgICByZXR1cm4gIXJ1bGUubWVkaWFMaXN0Lmxlbmd0aCAmJiBydWxlLnNlbGVj
dG9yVGV4dCA9PT0gc2VsZWN0b3I7Ci0gICAgICAgIH0KLQotICAgICAgICBsZXQgcnVsZXMgPSB0
aGlzLl9tYXRjaGVkUnVsZXMuZmlsdGVyKHJ1bGVIYXNTZWxlY3Rvcik7Ci0KLSAgICAgICAgZm9y
IChsZXQgcHNldWRvRWxlbWVudEluZm8gb2YgdGhpcy5fcHNldWRvRWxlbWVudHMudmFsdWVzKCkp
Ci0gICAgICAgICAgICBydWxlcyA9IHJ1bGVzLmNvbmNhdChwc2V1ZG9FbGVtZW50SW5mby5tYXRj
aGVkUnVsZXMuZmlsdGVyKHJ1bGVIYXNTZWxlY3RvcikpOwotCi0gICAgICAgIHJldHVybiBydWxl
czsKLSAgICB9Ci0KLSAgICBnZXQgbWF0Y2hlZFJ1bGVzKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9tYXRjaGVkUnVsZXM7Ci0gICAgfQotCi0gICAgZ2V0IGluaGVyaXRlZFJ1bGVzKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9pbmhlcml0ZWRSdWxlczsKLSAgICB9Ci0KLSAg
ICBnZXQgaW5saW5lU3R5bGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZVN0
eWxlOwotICAgIH0KLQotICAgIGdldCBhdHRyaWJ1dGVzU3R5bGUoKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXNTdHlsZTsKLSAgICB9Ci0KLSAgICBnZXQgcHNldWRvRWxl
bWVudHMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3BzZXVkb0VsZW1lbnRzOwotICAg
IH0KLQotICAgIGdldCBjb21wdXRlZFN0eWxlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9jb21wdXRlZFN0eWxlOwotICAgIH0KLQotICAgIGdldCBvcmRlcmVkU3R5bGVzKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9vcmRlcmVkU3R5bGVzOwotICAgIH0KLQotICAgIGdldCB1
bmlxdWVPcmRlcmVkU3R5bGVzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBXSS5ET01Ob2RlU3R5
bGVzLnVuaXF1ZU9yZGVyZWRTdHlsZXModGhpcy5fb3JkZXJlZFN0eWxlcyk7Ci0gICAgfQotCiAg
ICAgZWZmZWN0aXZlUHJvcGVydHlGb3JOYW1lKG5hbWUpCiAgICAgewogICAgICAgICBsZXQgcHJv
cGVydHkgPSB0aGlzLl9wcm9wZXJ0eU5hbWVUb0VmZmVjdGl2ZVByb3BlcnR5TWFwW25hbWVdOwpA
QCAtNzMxLDI3ICs2ODQsMjQgQEAgV0kuRE9NTm9kZVN0eWxlcyA9IGNsYXNzIERPTU5vZGVTdHls
ZXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHN0
eWxlU2hlZXQub2Zmc2V0U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlvbik7CiAg
ICAgICAgIH0KIAotICAgICAgICB2YXIgbWVkaWFMaXN0ID0gW107Ci0gICAgICAgIGZvciAodmFy
IGkgPSAwOyBwYXlsb2FkLm1lZGlhICYmIGkgPCBwYXlsb2FkLm1lZGlhLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgICAgICB2YXIgbWVkaWFJdGVtID0gcGF5bG9hZC5tZWRpYVtpXTsKLSAgICAgICAg
ICAgIHZhciBtZWRpYVR5cGUgPSBXSS5DU1NNYW5hZ2VyLnByb3RvY29sTWVkaWFTb3VyY2VUb0Vu
dW0obWVkaWFJdGVtLnNvdXJjZSk7Ci0gICAgICAgICAgICB2YXIgbWVkaWFUZXh0ID0gbWVkaWFJ
dGVtLnRleHQ7Ci0gICAgICAgICAgICBsZXQgbWVkaWFTb3VyY2VDb2RlTG9jYXRpb24gPSBET01O
b2RlU3R5bGVzLmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbihtZWRpYUl0ZW0uc291cmNlVVJMLCB7
bGluZTogbWVkaWFJdGVtLnNvdXJjZUxpbmV9KTsKKyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAo
aU9TIDEzKTogQ1NTLkNTU1J1bGUuZ3JvdXBpbmdzIGRpZCBub3QgZXhpc3QgeWV0LgorICAgICAg
ICBsZXQgZ3JvdXBpbmdzID0gKHBheWxvYWQuZ3JvdXBpbmdzIHx8IHBheWxvYWQubWVkaWEgfHwg
W10pLm1hcCgoZ3JvdXBpbmcpID0+IHsKKyAgICAgICAgICAgIGxldCBncm91cGluZ1R5cGUgPSBX
SS5DU1NNYW5hZ2VyLnByb3RvY29sR3JvdXBpbmdUeXBlVG9FbnVtKGdyb3VwaW5nLnR5cGUgfHwg
Z3JvdXBpbmcuc291cmNlKTsKKyAgICAgICAgICAgIGxldCBncm91cGluZ1NvdXJjZUNvZGVMb2Nh
dGlvbiA9IERPTU5vZGVTdHlsZXMuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKGdyb3VwaW5nLnNv
dXJjZVVSTCk7CiAgICAgICAgICAgICBpZiAoc3R5bGVTaGVldCkKLSAgICAgICAgICAgICAgICBt
ZWRpYVNvdXJjZUNvZGVMb2NhdGlvbiA9IHN0eWxlU2hlZXQub2Zmc2V0U291cmNlQ29kZUxvY2F0
aW9uKG1lZGlhU291cmNlQ29kZUxvY2F0aW9uKTsKLQotICAgICAgICAgICAgbWVkaWFMaXN0LnB1
c2gobmV3IFdJLkNTU01lZGlhKG1lZGlhVHlwZSwgbWVkaWFUZXh0LCBtZWRpYVNvdXJjZUNvZGVM
b2NhdGlvbikpOwotICAgICAgICB9CisgICAgICAgICAgICAgICAgZ3JvdXBpbmdTb3VyY2VDb2Rl
TG9jYXRpb24gPSBzdHlsZVNoZWV0Lm9mZnNldFNvdXJjZUNvZGVMb2NhdGlvbihncm91cGluZ1Nv
dXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgICAgICByZXR1cm4gbmV3IFdJLkNTU0dyb3VwaW5n
KGdyb3VwaW5nVHlwZSwgZ3JvdXBpbmcudGV4dCwgZ3JvdXBpbmdTb3VyY2VDb2RlTG9jYXRpb24p
OworICAgICAgICB9KTsKIAogICAgICAgICBpZiAocnVsZSkgewotICAgICAgICAgICAgcnVsZS51
cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hl
ZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlhTGlzdCk7CisgICAgICAgICAgICBydWxlLnVw
ZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVk
U2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgZ3JvdXBpbmdzKTsKICAgICAgICAgICAgIHJldHVybiBy
dWxlOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHN0eWxlU2hlZXQpCiAgICAgICAgICAgICBz
dHlsZVNoZWV0LmFkZEV2ZW50TGlzdGVuZXIoV0kuQ1NTU3R5bGVTaGVldC5FdmVudC5Db250ZW50
RGlkQ2hhbmdlLCB0aGlzLl9zdHlsZVNoZWV0Q29udGVudERpZENoYW5nZSwgdGhpcyk7CiAKLSAg
ICAgICAgcnVsZSA9IG5ldyBXSS5DU1NSdWxlKHRoaXMsIHN0eWxlU2hlZXQsIGlkLCB0eXBlLCBz
b3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0
b3JJbmRpY2VzLCBzdHlsZSwgbWVkaWFMaXN0KTsKKyAgICAgICAgcnVsZSA9IG5ldyBXSS5DU1NS
dWxlKHRoaXMsIHN0eWxlU2hlZXQsIGlkLCB0eXBlLCBzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVj
dG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgZ3JvdXBp
bmdzKTsKIAogICAgICAgICBpZiAobWFwS2V5KQogICAgICAgICAgICAgdGhpcy5fcnVsZXNNYXAu
c2V0KG1hcEtleSwgcnVsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UZXN0Lmh0bWwKaW5kZXggYzAwMjE4M2VmNDg4N2I0YWQ0YjRmYmRiNTJkYWVmNjY0MGYxNTI2
Mi4uOTJjN2U5OGRkNDQ3NzMyNDFmZGI2ZTY2ODcwZDY4MjcwYWM0YWFmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtMTI0LDggKzEyNCw4
IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DUFVUaW1lbGluZS5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DUFVUaW1lbGluZVJlY29yZC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NHcm91cGluZy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9Ik1vZGVscy9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJNb2RlbHMvQ1NTTWVkaWEuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJNb2RlbHMvQ1NTUHJvcGVydHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2Rl
bHMvQ1NTUnVsZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NTZWxl
Y3Rvci5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNz
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzCmluZGV4IDNmZTc0YzBiYjgxNTAxNjZlNjMx
YjI2ZmU1NTc0NGUxY2VmNzY1MTQuLjdkNTVkNDVjMWQ5OWJjODk2YTVmZDM4NWI2ZDA4OTEzMTNm
Mjc3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24uY3NzCkBAIC0zOSwxMSArMzksMTEgQEAKICAgICAtd2Via2l0LXVz
ZXItc2VsZWN0OiBub25lOwogfQogCi0uc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRj
aGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEpIHsKKy5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRp
b24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1ncm91cGluZ3MpIHsKICAgICBwYWRkaW5nOiAw
IHZhcigtLWNzcy1kZWNsYXJhdGlvbi1ob3Jpem9udGFsLXBhZGRpbmcpOwogfQogCi0uc3ByZWFk
c2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEpOmZp
cnN0LWNoaWxkIHsKKy5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRl
ciwgLmhlYWRlci1ncm91cGluZ3MpOmZpcnN0LWNoaWxkIHsKICAgICBwYWRkaW5nLXRvcDogdmFy
KC0tY3NzLWRlY2xhcmF0aW9uLXZlcnRpY2FsLXBhZGRpbmcpOwogfQogCkBAIC01Niw3ICs1Niw3
IEBACiAgICAgcmlnaHQ6IHZhcigtLWNzcy1kZWNsYXJhdGlvbi1ob3Jpem9udGFsLXBhZGRpbmcp
OwogfQogCi0uc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIC5tZWRpYS1sYWJlbCB7Cisuc3By
ZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIC5oZWFkZXItZ3JvdXBpbmdzID4gLmdyb3VwaW5nIHsK
ICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7CiB9CiAKQEAgLTExMiw2ICsxMTIsMTAgQEAK
ICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogfQogCisuc3ByZWFkc2hlZXQtY3NzLWRl
Y2xhcmF0aW9uIC5oZWFkZXItZ3JvdXBpbmdzICsgLmhlYWRlciA+IC5zZWxlY3RvciA+IC5pY29u
IHsKKyAgICBtYXJnaW4tdG9wOiAwOworfQorCiAuc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9u
IC5zZWxlY3RvciA+IC5pY29uICsgKiB7CiAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAycHg7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5qcwppbmRleCBhYjlhZGQ1OTQyMjU3OGFlNDU3ZjdhYmE1NDU4MzE3YThjNDkz
NzY5Li45ZTAyYmYzMDQwYWYxZDcwODA0YjMxNzBiYzUyNmE0YzEzMWZmNTQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
anMKQEAgLTM4LDcgKzM4LDcgQEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgdGhp
cy5fc3R5bGUgPSBzdHlsZTsKICAgICAgICAgdGhpcy5fcHJvcGVydGllc0VkaXRvciA9IG51bGw7
CiAgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudHMgPSBbXTsKLSAgICAgICAgdGhpcy5fbWVk
aWFFbGVtZW50cyA9IFtdOworICAgICAgICB0aGlzLl9ncm91cGluZ0VsZW1lbnRzID0gW107CiAg
ICAgICAgIHRoaXMuX2ZpbHRlclRleHQgPSBudWxsOwogICAgICAgICB0aGlzLl9zaG91bGRGb2N1
c1NlbGVjdG9yRWxlbWVudCA9IGZhbHNlOwogICAgICAgICB0aGlzLl93YXNFZGl0aW5nID0gZmFs
c2U7CkBAIC05OSw3ICs5OSwyOSBAQCBXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogICAgICAgICAg
ICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKGljb25DbGFzc05hbWUpOwogICAgICAgICB9
CiAKLSAgICAgICAgdGhpcy5faGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgICAgICBsZXQgZ3JvdXBpbmdzID0gdGhpcy5fc3R5bGUuZ3JvdXBpbmdzLmZp
bHRlcigoZ3JvdXBpbmcpID0+IGdyb3VwaW5nLnRleHQgIT09ICJhbGwiKTsKKyAgICAgICAgaWYg
KGdyb3VwaW5ncy5sZW5ndGgpIHsKKyAgICAgICAgICAgIGxldCBncm91cGluZ3NFbGVtZW50ID0g
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsK
KyAgICAgICAgICAgIGdyb3VwaW5nc0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGVhZGVyLWdyb3Vw
aW5ncyIpOworCisgICAgICAgICAgICBsZXQgY3VycmVudEdyb3VwaW5nVHlwZSA9IG51bGw7Cisg
ICAgICAgICAgICBsZXQgZ3JvdXBpbmdUeXBlRWxlbWVudCA9IG51bGw7CisgICAgICAgICAgICB0
aGlzLl9ncm91cGluZ0VsZW1lbnRzID0gZ3JvdXBpbmdzLm1hcCgoZ3JvdXBpbmcpID0+IHsKKyAg
ICAgICAgICAgICAgICBpZiAoZ3JvdXBpbmcudHlwZSAhPT0gY3VycmVudEdyb3VwaW5nVHlwZSkg
eworICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVFbGVtZW50ID0gZ3JvdXBpbmdzRWxl
bWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CisgICAgICAg
ICAgICAgICAgICAgIGdyb3VwaW5nVHlwZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ3JvdXBpbmci
KTsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdUeXBlRWxlbWVudC50ZXh0Q29udGVudCA9
IGdyb3VwaW5nLnByZWZpeCArICIgIjsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudEdyb3Vw
aW5nVHlwZSA9IGdyb3VwaW5nLnR5cGU7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgICAgIGdyb3VwaW5nVHlwZUVsZW1lbnQuYXBwZW5kKCIsICIpOworCisgICAgICAg
ICAgICAgICAgbGV0IHNwYW4gPSBncm91cGluZ1R5cGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7CisgICAgICAgICAgICAgICAgc3Bhbi50ZXh0Q29u
dGVudCA9IGdyb3VwaW5nLnRleHQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIHNwYW47CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQgPSB0
aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsK
ICAgICAgICAgdGhpcy5faGVhZGVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJoZWFkZXIiKTsKIAog
ICAgICAgICB0aGlzLl9zdHlsZU9yaWdpblZpZXcgPSBuZXcgV0kuU3R5bGVPcmlnaW5WaWV3KCk7
CkBAIC0xMzYsNyArMTU4LDcgQEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgdGhp
cy5fY2xvc2VCcmFjZS5jbGFzc0xpc3QuYWRkKCJjbG9zZS1icmFjZSIpOwogICAgICAgICB0aGlz
Ll9jbG9zZUJyYWNlLnRleHRDb250ZW50ID0gIn0iOwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQu
YXBwZW5kKHRoaXMuX2NyZWF0ZU1lZGlhSGVhZGVyKCksIHRoaXMuX2hlYWRlckVsZW1lbnQpOwor
CiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9wcm9wZXJ0aWVzRWRpdG9yKTsKICAgICAg
ICAgdGhpcy5fcHJvcGVydGllc0VkaXRvci5uZWVkc0xheW91dCgpOwogICAgICAgICB0aGlzLl9l
bGVtZW50LmFwcGVuZCh0aGlzLl9jbG9zZUJyYWNlKTsKQEAgLTM4MiwzMSArNDA0LDYgQEAgV0ku
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5f
ZmlsdGVyVGV4dCk7CiAgICAgfQogCi0gICAgX2NyZWF0ZU1lZGlhSGVhZGVyKCkKLSAgICB7Ci0g
ICAgICAgIGxldCBtZWRpYUxpc3QgPSB0aGlzLl9zdHlsZS5tZWRpYUxpc3Q7Ci0gICAgICAgIGlm
ICghbWVkaWFMaXN0Lmxlbmd0aCB8fCAobWVkaWFMaXN0Lmxlbmd0aCA9PT0gMSAmJiAobWVkaWFM
aXN0WzBdLnRleHQgPT09ICJhbGwiIHx8IG1lZGlhTGlzdFswXS50ZXh0ID09PSAic2NyZWVuIikp
KQotICAgICAgICAgICAgcmV0dXJuICIiOwotCi0gICAgICAgIGxldCBtZWRpYUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgbWVkaWFFbGVtZW50LmNsYXNz
TGlzdC5hZGQoImhlYWRlci1tZWRpYSIpOwotCi0gICAgICAgIGxldCBtZWRpYUxhYmVsID0gbWVk
aWFFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAg
ICAgICAgbWVkaWFMYWJlbC5jbGFzc05hbWUgPSAibWVkaWEtbGFiZWwiOwotICAgICAgICBtZWRp
YUxhYmVsLmFwcGVuZCgiQG1lZGlhICIpOwotCi0gICAgICAgIHRoaXMuX21lZGlhRWxlbWVudHMg
PSBtZWRpYUxpc3QubWFwKChtZWRpYSwgaSkgPT4gewotICAgICAgICAgICAgaWYgKGkpCi0gICAg
ICAgICAgICAgICAgbWVkaWFMYWJlbC5hcHBlbmQoIiwgIik7Ci0KLSAgICAgICAgICAgIGxldCBz
cGFuID0gbWVkaWFMYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFu
IikpOwotICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9IG1lZGlhLnRleHQ7Ci0gICAgICAg
ICAgICByZXR1cm4gc3BhbjsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgcmV0dXJuIG1lZGlhRWxl
bWVudDsKLSAgICB9Ci0KICAgICBfc2F2ZShldmVudCkKICAgICB7CiAgICAgICAgIGV2ZW50LnN0
b3AoKTsKQEAgLTY2OCwxMyArNjY1LDEzIEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TCiAKICAg
ICBfaGFuZGxlRWRpdG9yRmlsdGVyQXBwbGllZChldmVudCkKICAgICB7Ci0gICAgICAgIGxldCBt
YXRjaGVzTWVkaWEgPSBmYWxzZTsKLSAgICAgICAgZm9yIChsZXQgbWVkaWFFbGVtZW50IG9mIHRo
aXMuX21lZGlhRWxlbWVudHMpIHsKLSAgICAgICAgICAgIG1lZGlhRWxlbWVudC5jbGFzc0xpc3Qu
cmVtb3ZlKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuRmlsdGVyTWF0Y2hTZWN0
aW9uQ2xhc3NOYW1lKTsKKyAgICAgICAgbGV0IG1hdGNoZXNHcm91cGluZyA9IGZhbHNlOworICAg
ICAgICBmb3IgKGxldCBncm91cGluZ0VsZW1lbnQgb2YgdGhpcy5fZ3JvdXBpbmdFbGVtZW50cykg
eworICAgICAgICAgICAgZ3JvdXBpbmdFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV0kuR2VuZXJh
bFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25DbGFzc05hbWUpOwog
Ci0gICAgICAgICAgICBpZiAobWVkaWFFbGVtZW50LnRleHRDb250ZW50LmluY2x1ZGVzKHRoaXMu
X2ZpbHRlclRleHQpKSB7Ci0gICAgICAgICAgICAgICAgbWVkaWFFbGVtZW50LmNsYXNzTGlzdC5h
ZGQoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25D
bGFzc05hbWUpOwotICAgICAgICAgICAgICAgIG1hdGNoZXNNZWRpYSA9IHRydWU7CisgICAgICAg
ICAgICBpZiAoZ3JvdXBpbmdFbGVtZW50LnRleHRDb250ZW50LmluY2x1ZGVzKHRoaXMuX2ZpbHRl
clRleHQpKSB7CisgICAgICAgICAgICAgICAgZ3JvdXBpbmdFbGVtZW50LmNsYXNzTGlzdC5hZGQo
V0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25DbGFz
c05hbWUpOworICAgICAgICAgICAgICAgIG1hdGNoZXNHcm91cGluZyA9IHRydWU7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIApAQCAtNjg4LDcgKzY4NSw3IEBAIFdJLlNwcmVhZHNoZWV0Q1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBsZXQgbWF0Y2hlcyA9
IGV2ZW50LmRhdGEubWF0Y2hlcyB8fCBtYXRjaGVzTWVkaWEgfHwgbWF0Y2hlc1NlbGVjdG9yOwor
ICAgICAgICBsZXQgbWF0Y2hlcyA9IGV2ZW50LmRhdGEubWF0Y2hlcyB8fCBtYXRjaGVzR3JvdXBp
bmcgfHwgbWF0Y2hlc1NlbGVjdG9yOwogICAgICAgICBpZiAoIW1hdGNoZXMpCiAgICAgICAgICAg
ICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5Ob0ZpbHRlck1hdGNoSW5TZWN0aW9uQ2xhc3NOYW1lKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU3NzI4
MzQxMDM5MGNiOTY1ZmI1ODllYThiOTk5M2M3MzU5OTI5N2YuLmQyMDBiMzhmODQxZDk4ZWM0ZTEy
MmQzMTY3ZWE1MmJhNTJmZDZhMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wOC0wNSAg
RGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogU3R5bGVzOiBzaG93IEBzdXBwb3J0cyBDU1MgZ3JvdXBpbmdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0MTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY3NzL2dldE1hdGNo
ZWRTdHlsZXNGb3JOb2RlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQ6CisKIDIwMTktMDgtMDQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQaW5nIGxvYWRzIHNob3VsZCBub3QgcHJldmVu
dCBwYWdlIGNhY2hpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0
TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQKaW5kZXggZjhmZDYzYTkx
YWEzY2U1NjE4ZDhiNjJhODUxOThiYWQyYmRjNjQyMC4uMzVjNTY2ZjQ4ZjI2NDkwZjVhODZmNTZi
Y2Y5MjFmOGI0NjhjNDMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9n
ZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQKQEAgLTc5MCw5
ICs3OTAsOSBAQCBJbmhlcml0ZWQ6CiAgICAgICAgICAgInN0eWxlIjogewogICAgICAgICAgICAg
ImNzc1Byb3BlcnRpZXMiOiBbCiAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJ6LWluZGV4IiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAiMCIsCi0gICAgICAgICAg
ICAgICAgInRleHQiOiAiei1pbmRleDogMDsiLAorICAgICAgICAgICAgICAgICJuYW1lIjogImNv
bG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAgICAgICAi
dGV4dCI6ICJjb2xvcjogcmVkOyIsCiAgICAgICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJl
ZD4iLAogICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAogICAgICAgICAgICAgICAg
ICJzdGF0dXMiOiAiYWN0aXZlIgpAQCAtODAzLDcgKzgwMyw1NyBAQCBJbmhlcml0ZWQ6CiAgICAg
ICAgICAgICAid2lkdGgiOiAiIiwKICAgICAgICAgICAgICJoZWlnaHQiOiAiIiwKICAgICAgICAg
ICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKLSAgICAgICAgICAgICJjc3NUZXh0IjogIiB6LWlu
ZGV4OiAwOyAiCisgICAgICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAg
ICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAi
cnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0IjogIihtaW4td2lkdGg6IDBweCkiLAorICAgICAg
ICAgICAgICAidHlwZSI6ICJtZWRpYS1pbXBvcnQtcnVsZSIsCisgICAgICAgICAgICAgICJzb3Vy
Y2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBdCisgICAgICAg
IH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVjdG9ycyI6IFsKKyAgICAgICAgICAwCisgICAgICAg
IF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJydWxlIjogeworICAgICAgICAgICJzZWxl
Y3Rvckxpc3QiOiB7CisgICAgICAgICAgICAic2VsZWN0b3JzIjogWworICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAgICAgICAgICAgInNwZWNp
ZmljaXR5IjogWworICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDAsCisg
ICAgICAgICAgICAgICAgICAxCisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAgICAgICAi
cmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VMaW5l
IjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJvcmlnaW4iOiAicmVndWxhciIsCisgICAgICAg
ICAgInN0eWxlIjogeworICAgICAgICAgICAgImNzc1Byb3BlcnRpZXMiOiBbCisgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2xvciIsCisgICAgICAgICAgICAgICAg
InZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsiLAor
ICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICAgICAi
aW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIKKyAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG9ydGhhbmRFbnRy
aWVzIjogW10sCisgICAgICAgICAgICAic3R5bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAg
ICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAgICAgImhlaWdodCI6ICIiLAorICAgICAgICAgICAg
InJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9yOiBy
ZWQ7ICIKICAgICAgICAgICB9LAogICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIs
CiAgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IgpAQCAtODExLDYgKzg2MSwyMTEgQEAg
SW5oZXJpdGVkOgogICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCiAgICAgICAgICAgMAog
ICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6IHsKKyAgICAgICAg
ICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6IFsKKyAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAgICAgICAg
ICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAg
ICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAg
ICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291
cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjogInJlZ3VsYXIiLAor
ICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjogWworICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3IiLAorICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0IjogImNvbG9yOiBy
ZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
ICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJhY3Rp
dmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2hvcnRo
YW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZpbHRlcmVkPiIsCisg
ICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQiOiAiIiwKKyAgICAg
ICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJjc3NUZXh0IjogIiBj
b2xvcjogcmVkOyAiCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0
ZXJlZD4iLAorICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgImdy
b3VwaW5ncyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRleHQiOiAiKG1pbi13
aWR0aDogMXB4KSIsCisgICAgICAgICAgICAgICJ0eXBlIjogIm1lZGlhLXJ1bGUiLAorICAgICAg
ICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9CisgICAgICAg
ICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCisgICAgICAg
ICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6IHsKKyAg
ICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6IFsKKyAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAgICAg
ICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAg
ICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0KKyAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAor
ICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAgICAgICAg
ICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjogInJlZ3Vs
YXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjog
WworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3IiLAorICAg
ICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0IjogImNv
bG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0YXR1cyI6
ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
c2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZpbHRlcmVk
PiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQiOiAiIiwK
KyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJjc3NUZXh0
IjogIiBjb2xvcjogcmVkOyAiCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291cmNlVVJMIjog
IjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIsCisgICAgICAg
ICAgImdyb3VwaW5ncyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRleHQiOiAi
KGRpc3BsYXk6IGJsb2NrKSIsCisgICAgICAgICAgICAgICJ0eXBlIjogInN1cHBvcnRzLXJ1bGUi
LAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIobWluLXdpZHRoOiAycHgp
IiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtcnVsZSIsCisgICAgICAgICAgICAgICJz
b3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBdCisgICAg
ICAgIH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVjdG9ycyI6IFsKKyAgICAgICAgICAwCisgICAg
ICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJydWxlIjogeworICAgICAgICAgICJz
ZWxlY3Rvckxpc3QiOiB7CisgICAgICAgICAgICAic2VsZWN0b3JzIjogWworICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAgICAgICAgICAgInNw
ZWNpZmljaXR5IjogWworICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDAs
CisgICAgICAgICAgICAgICAgICAxCisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICB9
CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAgICAg
ICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VM
aW5lIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJvcmlnaW4iOiAicmVndWxhciIsCisgICAg
ICAgICAgInN0eWxlIjogeworICAgICAgICAgICAgImNzc1Byb3BlcnRpZXMiOiBbCisgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2xvciIsCisgICAgICAgICAgICAg
ICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsi
LAorICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICAg
ICAiaW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIK
KyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJzaG9ydGhhbmRF
bnRyaWVzIjogW10sCisgICAgICAgICAgICAic3R5bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAg
ICAgICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAgICAgImhlaWdodCI6ICIiLAorICAgICAgICAg
ICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9y
OiByZWQ7IgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+
IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJncm91cGlu
Z3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0IjogIihtaW4td2lkdGg6
IDNweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRpYS1zdHlsZS1ub2RlIiwKKyAgICAg
ICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgICAgfQorICAgICAg
ICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5nU2VsZWN0b3JzIjogWworICAgICAg
ICAgIDAKKyAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgInJ1bGUiOiB7Cisg
ICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJzZWxlY3RvcnMiOiBbCisg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwKKyAgICAgICAg
ICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAg
ICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAgICAgICAgICBdCisgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwK
KyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgIH0sCisgICAgICAg
ICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgIm9yaWdpbiI6ICJyZWd1
bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAiY3NzUHJvcGVydGllcyI6
IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImNvbG9yIiwKKyAg
ICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJj
b2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAg
ICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAgICAgICAgICJzdGF0dXMi
OiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAg
InNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHlsZUlkIjogIjxmaWx0ZXJl
ZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAgICAiaGVpZ2h0IjogIiIs
CisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAiY3NzVGV4
dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6
ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAg
ICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0Ijog
IihtaW4td2lkdGg6IDRweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRpYS1saW5rLW5v
ZGUiLAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAg
ICB9CisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMi
OiBbCisgICAgICAgICAgMAorICAgICAgICBdCiAgICAgICB9CiAgICAgXQogICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLmh0
bWwKaW5kZXggNjFjODBiMTg2ZjQ3ZDQzY2M1YzBiMzkxNDQ0YWNlMDViOGQzM2ZkMC4uNmRiYmYy
ZWEzOWEwNGZlMzQ0ZDZjMTgyMjEyYzE1YmM4YTg3YmEyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuaHRtbApAQCAtMSw2
ICsxLDM2IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
KyAgICBAaW1wb3J0IHVybChyZXNvdXJjZXMvZXh0ZXJuYWwuY3NzPzEpIChtaW4td2lkdGg6IDBw
eCk7CisKKyAgICBib2R5IHsgY29sb3I6IHJlZDsgfQorICAgIEBtZWRpYSAobWluLXdpZHRoOiAx
cHgpIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfQorICAgIEBtZWRpYSAobWluLXdpZHRoOiAycHgp
IHsgQHN1cHBvcnRzKGRpc3BsYXk6IGJsb2NrKSB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0gfQor
PC9zdHlsZT4KKzxzdHlsZSBtZWRpYT0iKG1pbi13aWR0aDogM3B4KSI+CisgICAgYm9keSB7IGNv
bG9yOiByZWQ7fQorPC9zdHlsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3Vy
Y2VzL2V4dGVybmFsLmNzcz8yIiBtZWRpYT0iKG1pbi13aWR0aDogNHB4KSI+Cis8c3R5bGU+Cisg
ICAgZGl2I3ggeyB6LWluZGV4OiAxMDA7IH0KKyAgICAjeCB7IHotaW5kZXg6IDIwMDsgfQorICAg
IGRpdiB7IHotaW5kZXg6IDMwMDsgfQorCisgICAgZGl2OjpmaXJzdC1saW5lIHsgei1pbmRleDog
MTsgfQorICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgei1pbmRleDogMjsgfQorICAgIGRpdjo6bWFy
a2VyIHsgei1pbmRleDogMzsgfQorICAgIGRpdjo6YmVmb3JlIHsgei1pbmRleDogNDsgfQorICAg
IGRpdjo6YWZ0ZXIgeyB6LWluZGV4OiA1OyB9CisgICAgZGl2OjpzZWxlY3Rpb24geyB6LWluZGV4
OiA2OyB9CisgICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7IHotaW5kZXg6IDc7IH0KKyAgICBk
aXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgei1pbmRleDogODsgfQorICAgIGRpdjo6LXdl
YmtpdC1zY3JvbGxiYXItYnV0dG9uIHsgei1pbmRleDogOTsgfQorICAgIGRpdjo6LXdlYmtpdC1z
Y3JvbGxiYXItdHJhY2sgeyB6LWluZGV4OiAxMDsgfQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxi
YXItdHJhY2stcGllY2UgeyB6LWluZGV4OiAxMTsgfQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxi
YXItY29ybmVyIHsgei1pbmRleDogMTI7IH0KKyAgICBkaXY6Oi13ZWJraXQtcmVzaXplciB7IHot
aW5kZXg6IDEzOyB9Cis8L3N0eWxlPgogPHNjcmlwdD4KIGZ1bmN0aW9uIHRlc3QoKQogewpAQCAt
NzUsMjkgKzEwNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eSBvbkxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGVzdGluZyBDU1MuZ2V0TWF0Y2hlZFN0eWxl
c0Zvck5vZGUuPC9wPgotCi0gICAgPHN0eWxlPgotICAgIGJvZHkgeyB6LWluZGV4OiAwOyB9Ci0K
LSAgICBkaXYjeCB7IHotaW5kZXg6IDEwMDsgfQotICAgICN4IHsgei1pbmRleDogMjAwOyB9Ci0g
ICAgZGl2IHsgei1pbmRleDogMzAwOyB9Ci0KLSAgICBkaXY6OmZpcnN0LWxpbmUgeyB6LWluZGV4
OiAxOyB9Ci0gICAgZGl2OjpmaXJzdC1sZXR0ZXIgeyB6LWluZGV4OiAyOyB9Ci0gICAgZGl2Ojpt
YXJrZXIgeyB6LWluZGV4OiAzOyB9Ci0gICAgZGl2OjpiZWZvcmUgeyB6LWluZGV4OiA0OyB9Ci0g
ICAgZGl2OjphZnRlciB7IHotaW5kZXg6IDU7IH0KLSAgICBkaXY6OnNlbGVjdGlvbiB7IHotaW5k
ZXg6IDY7IH0KLSAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgei1pbmRleDogNzsgfQotICAg
IGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyB6LWluZGV4OiA4OyB9Ci0gICAgZGl2Ojot
d2Via2l0LXNjcm9sbGJhci1idXR0b24geyB6LWluZGV4OiA5OyB9Ci0gICAgZGl2Ojotd2Via2l0
LXNjcm9sbGJhci10cmFjayB7IHotaW5kZXg6IDEwOyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9s
bGJhci10cmFjay1waWVjZSB7IHotaW5kZXg6IDExOyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9s
bGJhci1jb3JuZXIgeyB6LWluZGV4OiAxMjsgfQotICAgIGRpdjo6LXdlYmtpdC1yZXNpemVyIHsg
ei1pbmRleDogMTM7IH0KLSAgICA8L3N0eWxlPgotICAgIDxkaXYgaWQ9IngiPjwvZGl2PgorPHA+
VGVzdGluZyBDU1MuZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuPC9wPgorPGRpdiBpZD0ieCI+PC9k
aXY+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375886</attachid>
            <date>2019-08-08 20:34:38 -0700</date>
            <delta_ts>2019-08-08 23:53:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200419-20190808203437.patch</filename>
            <type>text/plain</type>
            <size>61027</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBjZTFlMjdjZjFlNzJlYjk3MWIwMzFkY2MwODM3
ODc4MDc5OWVlMzQuLmYzZDFiNzc2ZWI1ODlkOWVmM2QyZDc5YzYyYWQ4YzE3NGE0ZGQ2OGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTA4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQxOQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTM5NzE5NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisg
ICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uOgorICAgICAgICBSZW5hbWUgYENT
U01lZGlhYCB0byBgR3JvdXBpbmdgIGFuZCByZW1vdmUgdGhlIGBzb3VyY2VMaW5lYCB2YWx1ZSwg
YXMgaXQgd2FzIG5ldmVyIHBvcHVsYXRlZAorICAgICAgICBhbmQgd2Fzbid0IHVzZWQgYnkgV2Vi
IEluc3BlY3Rvci4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHk6CisgICAgICAgIChPYmpDSGVhZGVyR2VuZXJhdG9y
LmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmNsdWRpbmcgZmls
ZXMgYXQgdGhlIGVuZCBvZiA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+IGZvciBjb21wYXRp
YmlsaXR5CisgICAgICAgIHN0YXRlbWVudHMgc28gdGhhdCBjaGFuZ2VzIHRvIHRoZSBXZWIgSW5z
cGVjdG9yIHByb3RvY29sIGRvbid0IGJyZWFrIG90aGVyIGNsaWVudHMuCisKIDIwMTktMDgtMDgg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFBhZ2U6IGRvbid0IGFsbG93IHRoZSBkb21haW4gdG8gYmUgZGlzYWJsZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBiYjVkZjFkYzQyOGJhNmU3OGY0NDRmNTIxOGFkOWU3YjZjZjVlYjA1Li5mYTUzZjBkNDJh
YTMyOWZlNDViMzhjOTJhMGEwNTBiMjVjZjdmNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdyb3VwaW5ncwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNDE5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBK
b3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVT
aGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZEFycmF5Rm9yR3JvdXBpbmdzKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjpidWlsZE9iamVjdEZv
clJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRNZWRpYU9iamVjdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpmaWxsTWVkaWFMaXN0Q2hhaW4pOiBEZWxldGVkLgorCisgICAgICAg
ICogY3NzL01lZGlhTGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFRdWVyeVNldDo6TWVkaWFRdWVyeVNldCk6CisgICAgICAgIFJlbW92
ZSB0aGUgYGxhc3RMaW5lYCBhcyBpdCB3YXMgbmV2ZXIgc2V0IGJ5IGFueW9uZSBhbmQgd2Fzbid0
IHVzZWQgYnkgV2ViIEluc3BlY3Rvci4KKwogMjAxOS0wOC0wOCAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUGFnZTogZG9uJ3QgYWxs
b3cgdGhlIGRvbWFpbiB0byBiZSBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXgg
Y2UzMmFjMWZmYWRkNjkyNjkwZmNiZjdjY2M3ZWI1NWJkYjVkZjU2Ny4uYjkwMWFmNDg1MGI1M2Ri
YTNhZGE4MWRkMTdiMjZiYTVlZDgwNjJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTcgQEAKKzIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdy
b3VwaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAwNDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVs
cy9DU1NHcm91cGluZy5qczogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcy4KKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nKToK
KyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3RvdHlwZS5nZXQgdHlwZSk6CisgICAgICAgIChX
SS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0IHRleHQpOgorICAgICAgICAoV0kuQ1NTR3JvdXBp
bmcucHJvdG90eXBlLmdldCBzb3VyY2VDb2RlTG9jYXRpb24pOgorICAgICAgICAoV0kuQ1NTR3Jv
dXBpbmcucHJvdG90eXBlLmdldCBpc01lZGlhKTogQWRkZWQuCisgICAgICAgIChXSS5DU1NHcm91
cGluZy5wcm90b3R5cGUuZ2V0IGlzU3VwcG9ydHMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU0dy
b3VwaW5nLnByb3RvdHlwZS5nZXQgcHJlZml4KTogQWRkZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzOgorICAgICAgICAoV0kuQ1NTU3R5
bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IGdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAo
V0kuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKToK
KyAgICAgICAgKFdJLkNTU1N0eWxlRGVjbGFyYXRpb24ucHJvdG90eXBlLmdldCBtZWRpYUxpc3Qp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qczoK
KyAgICAgICAgKFdJLkNTU1J1bGUpOgorICAgICAgICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUuZ2V0
IGdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUudXBkYXRl
KToKKyAgICAgICAgKFdJLkNTU1J1bGUucHJvdG90eXBlLl9zZWxlY3RvclJlc29sdmVkKToKKyAg
ICAgICAgKFdJLkNTU1J1bGUucHJvdG90eXBlLmdldCBtZWRpYUxpc3QpOiBEZWxldGVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qczoKKyAgICAgICAg
KFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLl9wYXJzZVJ1bGVQYXlsb2FkKToKKyAgICAgICAg
KFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLnJ1bGVzRm9yU2VsZWN0b3IpOiBEZWxldGVkLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbik6CisgICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLnByb3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVFZGl0b3JGaWx0ZXJB
cHBsaWVkKToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b24ucHJvdG90eXBlLl9jcmVhdGVNZWRpYUhlYWRlcik6IERlbGV0ZWQuCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNz
czoKKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRl
ciwgLmhlYWRlci1ncm91cGluZ3MpKTogQWRkZWQuCisgICAgICAgICguc3ByZWFkc2hlZXQtY3Nz
LWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItZ3JvdXBpbmdzKTpmaXJzdC1j
aGlsZCk6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVh
ZGVyLWdyb3VwaW5ncyA+IC5ncm91cGluZyk6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0
LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3VwaW5ncyArIC5oZWFkZXIgPiAuc2VsZWN0b3Ig
PiAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6
bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLW1lZGlhKSk6IERlbGV0ZWQuCisgICAgICAgICguc3By
ZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEp
OmZpcnN0LWNoaWxkKTogRGVsZXRlZC4KKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFy
YXRpb24gLm1lZGlhLWxhYmVsKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvQ1NTTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJvdG9j
b2xHcm91cGluZ1R5cGVUb0VudW0pOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJv
dG9jb2xNZWRpYVNvdXJjZVRvRW51bSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QuaHRtbDoKKwogMjAx
OS0wOC0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogUGFnZTogZG9uJ3QgYWxsb3cgdGhlIGRvbWFpbiB0byBiZSBkaXNhYmxlZApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1Mu
anNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24K
aW5kZXggZTQ4ZjNiYjBhNjM2MzMzNDVlYjk2NzQxODFiZGQzNWRkNGYwOWVjMC4uY2RhMzE3NWM0
NjliMGQyMDRjYjg2YTdiYzg4MTU5MWQwMzk3ZTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uCkBAIC0xNDQsNyArMTQ0LDcgQEAK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZUxpbmUiLCAidHlwZSI6ICJpbnRlZ2Vy
IiwgImRlc2NyaXB0aW9uIjogIkxpbmUgb3JkaW5hbCBvZiB0aGUgcnVsZSBzZWxlY3RvciBzdGFy
dCBjaGFyYWN0ZXIgaW4gdGhlIHJlc291cmNlLiJ9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAib3JpZ2luIiwgIiRyZWYiOiAiU3R5bGVTaGVldE9yaWdpbiIsICJkZXNjcmlwdGlvbiI6ICJQ
YXJlbnQgc3R5bGVzaGVldCdzIG9yaWdpbi4ifSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InN0eWxlIiwgIiRyZWYiOiAiQ1NTU3R5bGUiLCAiZGVzY3JpcHRpb24iOiAiQXNzb2NpYXRlZCBz
dHlsZSBkZWNsYXJhdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJtZWRpYSIs
ICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDU1NNZWRpYSIgfSwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1lZGlhIGxpc3QgYXJyYXkgKGZvciBydWxlcyBp
bnZvbHZpbmcgbWVkaWEgcXVlcmllcykuIFRoZSBhcnJheSBlbnVtZXJhdGVzIG1lZGlhIHF1ZXJp
ZXMgc3RhcnRpbmcgd2l0aCB0aGUgaW5uZXJtb3N0IG9uZSwgZ29pbmcgb3V0d2FyZHMuIiB9Cisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJncm91cGluZ3MiLCAidHlwZSI6ICJhcnJheSIsICJp
dGVtcyI6IHsgIiRyZWYiOiAiR3JvdXBpbmciIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJHcm91cGluZyBsaXN0IGFycmF5IChmb3IgcnVsZXMgaW52b2x2aW5nIEBtZWRpYS9A
c3VwcG9ydHMpLiBUaGUgYXJyYXkgZW51bWVyYXRlcyBDU1MgZ3JvdXBpbmdzIHN0YXJ0aW5nIHdp
dGggdGhlIGlubmVybW9zdCBvbmUsIGdvaW5nIG91dHdhcmRzLiIgfQogICAgICAgICAgICAgXQog
ICAgICAgICB9LAogICAgICAgICB7CkBAIC0yMjEsMTQgKzIyMSwxMyBAQAogICAgICAgICAgICAg
XQogICAgICAgICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAiaWQiOiAiQ1NTTWVkaWEiLAor
ICAgICAgICAgICAgImlkIjogIkdyb3VwaW5nIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVj
dCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ1NTIG1lZGlhIHF1ZXJ5IGRlc2NyaXB0
b3IuIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgQG1lZGlhIChhcyB3ZWxsIGFz
IG90aGVyIHVzZXJzIG9mIG1lZGlhIHF1ZXJpZXMsIGxpa2UgQGltcG9ydCwgPHN0eWxlPiwgPGxp
bms+LCBldGMuKSBhbmQgQHN1cHBvcnRzIGRlc2NyaXB0b3IuIiwKICAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0
cmluZyIsICJkZXNjcmlwdGlvbiI6ICJNZWRpYSBxdWVyeSB0ZXh0LiIgfSwKLSAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRp
YVJ1bGUiLCAiaW1wb3J0UnVsZSIsICJsaW5rZWRTaGVldCIsICJpbmxpbmVTaGVldCJdLCAiZGVz
Y3JpcHRpb24iOiAiU291cmNlIG9mIHRoZSBtZWRpYSBxdWVyeTogXCJtZWRpYVJ1bGVcIiBpZiBz
cGVjaWZpZWQgYnkgYSBAbWVkaWEgcnVsZSwgXCJpbXBvcnRSdWxlXCIgaWYgc3BlY2lmaWVkIGJ5
IGFuIEBpbXBvcnQgcnVsZSwgXCJsaW5rZWRTaGVldFwiIGlmIHNwZWNpZmllZCBieSBhIFwibWVk
aWFcIiBhdHRyaWJ1dGUgaW4gYSBsaW5rZWQgc3R5bGVzaGVldCdzIExJTksgdGFnLCBcImlubGlu
ZVNoZWV0XCIgaWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRpYVwiIGF0dHJpYnV0ZSBpbiBhbiBpbmxp
bmUgc3R5bGVzaGVldCdzIFNUWUxFIHRhZy4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJzb3VyY2VVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiVVJMIG9mIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSBk
ZXNjcmlwdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VMaW5lIiwg
InR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJMaW5l
IGluIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSAobm90IGRlZmluZWQg
Zm9yIHRoZSBcInN0eWxlc2hlZXRcIiBzb3VyY2UpLiIgfQorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRpYS1ydWxlIiwgIm1l
ZGlhLWltcG9ydC1ydWxlIiwgIm1lZGlhLWxpbmstbm9kZSIsICJtZWRpYS1zdHlsZS1ub2RlIiwg
InN1cHBvcnRzLXJ1bGUiXSwgImRlc2NyaXB0aW9uIjogIlNvdXJjZSBvZiB0aGUgbWVkaWEgcXVl
cnk6IFwibWVkaWEtcnVsZVwiIGlmIHNwZWNpZmllZCBieSBhIEBtZWRpYSBydWxlLCBcIm1lZGlh
LWltcG9ydC1ydWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFuIEBpbXBvcnQgcnVsZSwgXCJtZWRpYS1s
aW5rLW5vZGVcIiBpZiBzcGVjaWZpZWQgYnkgYSBcIm1lZGlhXCIgYXR0cmlidXRlIGluIGEgbGlu
a2VkIHN0eWxlIHNoZWV0J3MgTElOSyB0YWcsIFwibWVkaWEtc3R5bGUtbm9kZVwiIGlmIHNwZWNp
ZmllZCBieSBhIFwibWVkaWFcIiBhdHRyaWJ1dGUgaW4gYW4gaW5saW5lIHN0eWxlIHNoZWV0J3Mg
U1RZTEUgdGFnLCBcInN1cHBvcnRzLXJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYW4gQHN1cHBvcnRz
IHJ1bGUsIC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VVUkwiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRo
ZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBDU1MgZ3JvdXBpbmcuIiB9CiAgICAgICAgICAgICBd
CiAgICAgICAgIH0KICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hl
YWRlci5weQppbmRleCAyNTMyNjUyZThmNWQ5M2Q0ZjAyMTQ5MWU1Zjg0NWMwOWRhMDZhZDdjLi5i
MDlmNzIzMmZiYzU4MDdhOWQwYjQ2ZTg3MDlkNTM1YmE3NDE3MmY1IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpj
X2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weQpAQCAtNTcsMTIgKzU3LDIwIEBAIGNsYXNz
IE9iakNIZWFkZXJHZW5lcmF0b3IoT2JqQ0dlbmVyYXRvcik6CiAgICAgICAgIHJldHVybiAnJXMu
aCcgJSBzZWxmLnByb3RvY29sX25hbWUoKQogCiAgICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxm
KToKLSAgICAgICAgaGVhZGVycyA9IHNldChbCisgICAgICAgIGhlYWRlclByZWx1ZGVIZWFkZXJz
ID0gc2V0KFsKICAgICAgICAgICAgICc8V2ViSW5zcGVjdG9yLyVzSlNPTk9iamVjdC5oPicgJSBP
YmpDR2VuZXJhdG9yLk9CSkNfU1RBVElDX1BSRUZJWCwKICAgICAgICAgXSkKIAotICAgICAgICBo
ZWFkZXJfYXJncyA9IHsKLSAgICAgICAgICAgICdpbmNsdWRlcyc6ICdcbicuam9pbihbJyNpbXBv
cnQgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIHNvcnRlZChoZWFkZXJzKV0pLAorICAgICAgICBo
ZWFkZXJQcmVsdWRlX2FyZ3MgPSB7CisgICAgICAgICAgICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4o
WycjaW1wb3J0ICcgKyBoZWFkZXIgZm9yIGhlYWRlciBpbiBzb3J0ZWQoaGVhZGVyUHJlbHVkZUhl
YWRlcnMpXSksCisgICAgICAgIH0KKworICAgICAgICBoZWFkZXJQb3N0bHVkZUhlYWRlcnMgPSBz
ZXQoWworICAgICAgICAgICAgJzxXZWJJbnNwZWN0b3IvJXNCdWlsZENvbXBhdGliaWxpdHlPYmpl
Y3RzLmg+JyAlIE9iakNHZW5lcmF0b3IuT0JKQ19TVEFUSUNfUFJFRklYLAorICAgICAgICBdKQor
CisgICAgICAgIGhlYWRlclBvc3RsdWRlX2FyZ3MgPSB7CisgICAgICAgICAgICAnaW5jbHVkZXMn
OiAnXG4nLmpvaW4oWycjaW1wb3J0ICcgKyBoZWFkZXIgZm9yIGhlYWRlciBpbiBzb3J0ZWQoaGVh
ZGVyUHJlbHVkZUhlYWRlcnMpXSksCiAgICAgICAgIH0KIAogICAgICAgICBkb21haW5zID0gc2Vs
Zi5kb21haW5zX3RvX2dlbmVyYXRlKCkKQEAgLTc3LDcgKzg1LDcgQEAgY2xhc3MgT2JqQ0hlYWRl
ckdlbmVyYXRvcihPYmpDR2VuZXJhdG9yKToKIAogICAgICAgICBzZWN0aW9ucyA9IFtdCiAgICAg
ICAgIHNlY3Rpb25zLmFwcGVuZChzZWxmLmdlbmVyYXRlX2xpY2Vuc2UoKSkKLSAgICAgICAgc2Vj
dGlvbnMuYXBwZW5kKFRlbXBsYXRlKE9iakNUZW1wbGF0ZXMuSGVhZGVyUHJlbHVkZSkuc3Vic3Rp
dHV0ZShOb25lLCAqKmhlYWRlcl9hcmdzKSkKKyAgICAgICAgc2VjdGlvbnMuYXBwZW5kKFRlbXBs
YXRlKE9iakNUZW1wbGF0ZXMuSGVhZGVyUHJlbHVkZSkuc3Vic3RpdHV0ZShOb25lLCAqKmhlYWRl
clByZWx1ZGVfYXJncykpCiAgICAgICAgIHNlY3Rpb25zLmFwcGVuZCgnXG4nLmpvaW4oW19mIGZv
ciBfZiBpbiBtYXAoc2VsZi5fZ2VuZXJhdGVfZm9yd2FyZF9kZWNsYXJhdGlvbnMsIHR5cGVfZG9t
YWlucykgaWYgX2ZdKSkKICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKHNlbGYuX2dlbmVyYXRlX2Vu
dW1fZm9yX3BsYXRmb3JtcygpKQogICAgICAgICBzZWN0aW9ucy5hcHBlbmQoJ1xuJy5qb2luKFtf
ZiBmb3IgX2YgaW4gbWFwKHNlbGYuX2dlbmVyYXRlX2VudW1zLCB0eXBlX2RvbWFpbnMpIGlmIF9m
XSkpCkBAIC04Nyw3ICs5NSw3IEBAIGNsYXNzIE9iakNIZWFkZXJHZW5lcmF0b3IoT2JqQ0dlbmVy
YXRvcik6CiAgICAgICAgICAgICBzZWN0aW9ucy5hcHBlbmQoJ1xuXG4nLmpvaW4oW19mIGZvciBf
ZiBpbiBtYXAoc2VsZi5fZ2VuZXJhdGVfY29tbWFuZF9wcm90b2NvbHMsIGNvbW1hbmRfZG9tYWlu
cykgaWYgX2ZdKSkKICAgICAgICAgICAgIHNlY3Rpb25zLmFwcGVuZCgnXG5cbicuam9pbihbX2Yg
Zm9yIF9mIGluIG1hcChzZWxmLl9nZW5lcmF0ZV9ldmVudF9pbnRlcmZhY2VzLCBldmVudF9kb21h
aW5zKSBpZiBfZl0pKQogCi0gICAgICAgIHNlY3Rpb25zLmFwcGVuZChUZW1wbGF0ZShPYmpDVGVt
cGxhdGVzLkhlYWRlclBvc3RsdWRlKS5zdWJzdGl0dXRlKE5vbmUpKQorICAgICAgICBzZWN0aW9u
cy5hcHBlbmQoVGVtcGxhdGUoT2JqQ1RlbXBsYXRlcy5IZWFkZXJQb3N0bHVkZSkuc3Vic3RpdHV0
ZShOb25lLCAqKmhlYWRlclBvc3RsdWRlX2FyZ3MpKQogICAgICAgICByZXR1cm4gJ1xuXG4nLmpv
aW4oc2VjdGlvbnMpCiAKICAgICBkZWYgX2dlbmVyYXRlX2ZvcndhcmRfZGVjbGFyYXRpb25zKHNl
bGYsIGRvbWFpbik6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRvcl90ZW1w
bGF0ZXMucHkKaW5kZXggNTBjOGY2ZmRlN2NlNjg5OGIwODI4MTQ5OTdiZTU3ZDczMDE5YjI1My4u
NjZmOWZkMmRjNDcwZDIxZjRkZTU3ZGU4MjhjMTU5NDQ1NjcxMjNiYiAxMDA3NTUKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5lcmF0
b3JfdGVtcGxhdGVzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL29iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMzYsNyArMzYsOSBA
QCAke2luY2x1ZGVzfQogIiIiKQogCiAgICAgSGVhZGVyUG9zdGx1ZGUgPSAoCi0gICAgIiIiIiIi
KQorICAgICIiIgorJHtpbmNsdWRlc30KKyIiIikKIAogICAgIFR5cGVDb252ZXJzaW9uc0hlYWRl
clByZWx1ZGUgPSAoCiAgICAgIiIiJHtpbmNsdWRlc30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAK
aW5kZXggMWFkOTY0NDMyMTA5NGNhODIyMmZmNmRmMjNiZTlhNDdlYzVmODQxNC4uMjExMmY0MGM0
YzcyMDgwYmE4MGU1ZDJkMjkyOTI0Yjc2ZjE3YTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAKQEAgLTczLDcgKzczLDYgQEAgTWVkaWFRdWVyeVNldDo6TWVkaWFRdWVyeVNldCgpID0gZGVm
YXVsdDsKIAogTWVkaWFRdWVyeVNldDo6TWVkaWFRdWVyeVNldChjb25zdCBNZWRpYVF1ZXJ5U2V0
JiBvKQogICAgIDogUmVmQ291bnRlZCgpCi0gICAgLCBtX2xhc3RMaW5lKG8ubV9sYXN0TGluZSkK
ICAgICAsIG1fcXVlcmllcyhvLm1fcXVlcmllcykKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaApp
bmRleCA0Y2JkNDAxMTIzOTI0ZjM0ZTMyMGIwZDdkNzkxM2YwN2ExYzMyNWIyLi4yYjZkOTg3OTMx
Zjg3ZGZkZTliM2JlYjMyZDMxY2JjNzY2NjU2MDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5oCkBA
IC01Niw5ICs1Niw2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFZlY3RvcjxNZWRpYVF1ZXJ5PiYg
cXVlcnlWZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3F1ZXJpZXM7IH0KIAotICAgIGludCBsYXN0
TGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdExpbmU7IH0KLSAgICB2b2lkIHNldExhc3RMaW5l
KGludCBsYXN0TGluZSkgeyBtX2xhc3RMaW5lID0gbGFzdExpbmU7IH0KLQogICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBtZWRpYVRleHQoKSBjb25zdDsKIAogICAgIFJlZjxNZWRpYVF1ZXJ5U2V0
PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVF1ZXJ5U2V0KCp0aGlz
KSk7IH0KQEAgLTcwLDcgKzY3LDYgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBNZWRp
YVF1ZXJ5U2V0KGNvbnN0IFN0cmluZyYgbWVkaWFRdWVyeSk7CiAgICAgTWVkaWFRdWVyeVNldChj
b25zdCBNZWRpYVF1ZXJ5U2V0Jik7CiAKLSAgICBpbnQgbV9sYXN0TGluZSB7IDAgfTsKICAgICBW
ZWN0b3I8TWVkaWFRdWVyeT4gbV9xdWVyaWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCmluZGV4IGNhMzBlMWEyN2JmNDA2MTg1
YTQ4MzIwYTI2MzE4M2VhN2U2ZTQ3ZTMuLjE0OTVmMzllMmE0NWUzYzcyYTk2MTRhZmY1NzllNjRk
ZGY1NWMwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5
bGVTaGVldC5jcHAKQEAgLTM3OSwxMyArMzc5LDYgQEAgdm9pZCBTdHlsZVNoZWV0SGFuZGxlcjo6
b2JzZXJ2ZUNvbW1lbnQodW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkK
ICAgICBtX2N1cnJlbnRSdWxlRGF0YVN0YWNrLmxhc3QoKS0+c3R5bGVTb3VyY2VEYXRhLT5wcm9w
ZXJ0eURhdGEuYXBwZW5kKENTU1Byb3BlcnR5U291cmNlRGF0YShwcm9wZXJ0eURhdGEubmFtZSwg
cHJvcGVydHlEYXRhLnZhbHVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgU291cmNlUmFuZ2Uoc3RhcnRP
ZmZzZXQgLSB0b3BSdWxlQm9keVJhbmdlLnN0YXJ0LCBlbmRPZmZzZXQgLSB0b3BSdWxlQm9keVJh
bmdlLnN0YXJ0KSkpOwogfQogCi1lbnVtIE1lZGlhTGlzdFNvdXJjZSB7Ci0gICAgTWVkaWFMaXN0
U291cmNlTGlua2VkU2hlZXQsCi0gICAgTWVkaWFMaXN0U291cmNlSW5saW5lU2hlZXQsCi0gICAg
TWVkaWFMaXN0U291cmNlTWVkaWFSdWxlLAotICAgIE1lZGlhTGlzdFNvdXJjZUltcG9ydFJ1bGUK
LX07Ci0KIHN0YXRpYyBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpTb3VyY2VSYW5n
ZT4gYnVpbGRTb3VyY2VSYW5nZU9iamVjdChjb25zdCBTb3VyY2VSYW5nZSYgcmFuZ2UsIGNvbnN0
IFZlY3RvcjxzaXplX3Q+JiBsaW5lRW5kaW5ncywgaW50KiBlbmRpbmdMaW5lID0gbnVsbHB0cikK
IHsKICAgICBpZiAobGluZUVuZGluZ3MuaXNFbXB0eSgpKQpAQCAtNDA1LDM3ICszOTgsNiBAQCBz
dGF0aWMgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U291cmNlUmFuZ2U+IGJ1aWxk
U291cmNlUmFuZ2VPYmplY3QoY29ucwogICAgICAgICAucmVsZWFzZSgpOwogfQogCi1zdGF0aWMg
UmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE+IGJ1aWxkTWVkaWFPYmplY3Qo
Y29uc3QgTWVkaWFMaXN0KiBtZWRpYSwgTWVkaWFMaXN0U291cmNlIG1lZGlhTGlzdFNvdXJjZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCi17Ci0gICAgLy8gTWFrZSBjZXJ0YWluIGNvbXBpbGVy
cyBoYXBweSBieSBpbml0aWFsaXppbmcgfHNvdXJjZXwgdXAtZnJvbnQuCi0gICAgSW5zcGVjdG9y
OjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZTo6SW5saW5lU2hlZXQ7Ci0gICAgc3dpdGNoICht
ZWRpYUxpc3RTb3VyY2UpIHsKLSAgICBjYXNlIE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVsZToKLSAg
ICAgICAgc291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNl
OjpNZWRpYVJ1bGU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTWVkaWFMaXN0U291cmNlSW1w
b3J0UnVsZToKLSAgICAgICAgc291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NN
ZWRpYTo6U291cmNlOjpJbXBvcnRSdWxlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1lZGlh
TGlzdFNvdXJjZUxpbmtlZFNoZWV0OgotICAgICAgICBzb3VyY2UgPSBJbnNwZWN0b3I6OlByb3Rv
Y29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6OkxpbmtlZFNoZWV0OwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIE1lZGlhTGlzdFNvdXJjZUlubGluZVNoZWV0OgotICAgICAgICBzb3VyY2UgPSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6OklubGluZVNoZWV0Owot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBhdXRvIG1lZGlhT2JqZWN0ID0gSW5zcGVjdG9y
OjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6Y3JlYXRlKCkKLSAgICAgICAgLnNldFRleHQobWVk
aWEtPm1lZGlhVGV4dCgpKQotICAgICAgICAuc2V0U291cmNlKHNvdXJjZSkKLSAgICAgICAgLnJl
bGVhc2UoKTsKLQotICAgIGlmICghc291cmNlVVJMLmlzRW1wdHkoKSkgewotICAgICAgICBtZWRp
YU9iamVjdC0+c2V0U291cmNlVVJMKHNvdXJjZVVSTCk7Ci0gICAgICAgIG1lZGlhT2JqZWN0LT5z
ZXRTb3VyY2VMaW5lKG1lZGlhLT5xdWVyaWVzKCktPmxhc3RMaW5lKCkpOwotICAgIH0KLSAgICBy
ZXR1cm4gbWVkaWFPYmplY3Q7Ci19Ci0KIHN0YXRpYyBSZWZQdHI8Q1NTUnVsZUxpc3Q+IGFzQ1NT
UnVsZUxpc3QoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKIHsKICAgICBpZiAoIXN0eWxlU2hl
ZXQpCkBAIC00NjUsNTkgKzQyNyw4NSBAQCBzdGF0aWMgUmVmUHRyPENTU1J1bGVMaXN0PiBhc0NT
U1J1bGVMaXN0KENTU1J1bGUqIHJ1bGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXN0YXRp
YyB2b2lkIGZpbGxNZWRpYUxpc3RDaGFpbihDU1NSdWxlKiBydWxlLCBKU09OOjpBcnJheU9mPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE+JiBtZWRpYUFycmF5KQorc3RhdGljIFJl
ZjxKU09OOjpBcnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc+PiBidWls
ZEFycmF5Rm9yR3JvdXBpbmdzKENTU1J1bGUmIHJ1bGUpCiB7Ci0gICAgTWVkaWFMaXN0KiBtZWRp
YUxpc3Q7Ci0gICAgQ1NTUnVsZSogcGFyZW50UnVsZSA9IHJ1bGU7Ci0gICAgU3RyaW5nIHNvdXJj
ZVVSTDsKKyAgICBhdXRvIGdyb3VwaW5nc1BheWxvYWQgPSBKU09OOjpBcnJheU9mPEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc+OjpjcmVhdGUoKTsKKworICAgIGF1dG8qIHBhcmVu
dFJ1bGUgPSAmcnVsZTsKICAgICB3aGlsZSAocGFyZW50UnVsZSkgewotICAgICAgICBDU1NTdHls
ZVNoZWV0KiBwYXJlbnRTdHlsZVNoZWV0ID0gbnVsbHB0cjsKLSAgICAgICAgYm9vbCBpc01lZGlh
UnVsZSA9IHRydWU7Ci0gICAgICAgIGlmIChpczxDU1NNZWRpYVJ1bGU+KCpwYXJlbnRSdWxlKSkg
ewotICAgICAgICAgICAgQ1NTTWVkaWFSdWxlJiBtZWRpYVJ1bGUgPSBkb3duY2FzdDxDU1NNZWRp
YVJ1bGU+KCpwYXJlbnRSdWxlKTsKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9IG1lZGlhUnVsZS5t
ZWRpYSgpOwotICAgICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IG1lZGlhUnVsZS5wYXJlbnRT
dHlsZVNoZWV0KCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoaXM8Q1NTSW1wb3J0UnVsZT4oKnBhcmVu
dFJ1bGUpKSB7Ci0gICAgICAgICAgICBDU1NJbXBvcnRSdWxlJiBpbXBvcnRSdWxlID0gZG93bmNh
c3Q8Q1NTSW1wb3J0UnVsZT4oKnBhcmVudFJ1bGUpOwotICAgICAgICAgICAgbWVkaWFMaXN0ID0g
JmltcG9ydFJ1bGUubWVkaWEoKTsKLSAgICAgICAgICAgIHBhcmVudFN0eWxlU2hlZXQgPSBpbXBv
cnRSdWxlLnBhcmVudFN0eWxlU2hlZXQoKTsKLSAgICAgICAgICAgIGlzTWVkaWFSdWxlID0gZmFs
c2U7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbWVkaWFMaXN0ID0gbnVsbHB0cjsKKyAg
ICAgICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc+IHJ1bGVHcm91
cGluZ1BheWxvYWQ7CiAKLSAgICAgICAgaWYgKHBhcmVudFN0eWxlU2hlZXQpIHsKLSAgICAgICAg
ICAgIHNvdXJjZVVSTCA9IHBhcmVudFN0eWxlU2hlZXQtPmNvbnRlbnRzKCkuYmFzZVVSTCgpOwot
ICAgICAgICAgICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgc291
cmNlVVJMID0gSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKHBhcmVudFN0eWxl
U2hlZXQtPm93bmVyRG9jdW1lbnQoKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc291
cmNlVVJMID0gZW1wdHlTdHJpbmcoKTsKLQotICAgICAgICBpZiAobWVkaWFMaXN0ICYmIG1lZGlh
TGlzdC0+bGVuZ3RoKCkpCi0gICAgICAgICAgICBtZWRpYUFycmF5LmFkZEl0ZW0oYnVpbGRNZWRp
YU9iamVjdChtZWRpYUxpc3QsIGlzTWVkaWFSdWxlID8gTWVkaWFMaXN0U291cmNlTWVkaWFSdWxl
IDogTWVkaWFMaXN0U291cmNlSW1wb3J0UnVsZSwgc291cmNlVVJMKSk7Ci0KLSAgICAgICAgaWYg
KHBhcmVudFJ1bGUtPnBhcmVudFJ1bGUoKSkKLSAgICAgICAgICAgIHBhcmVudFJ1bGUgPSBwYXJl
bnRSdWxlLT5wYXJlbnRSdWxlKCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgQ1NTU3R5
bGVTaGVldCogc3R5bGVTaGVldCA9IHBhcmVudFJ1bGUtPnBhcmVudFN0eWxlU2hlZXQoKTsKLSAg
ICAgICAgICAgIHdoaWxlIChzdHlsZVNoZWV0KSB7Ci0gICAgICAgICAgICAgICAgbWVkaWFMaXN0
ID0gc3R5bGVTaGVldC0+bWVkaWEoKTsKLSAgICAgICAgICAgICAgICBpZiAobWVkaWFMaXN0ICYm
IG1lZGlhTGlzdC0+bGVuZ3RoKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnQqIGRv
YyA9IHN0eWxlU2hlZXQtPm93bmVyRG9jdW1lbnQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGRvYykKLSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IGRvYy0+dXJsKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VV
UkwoKS5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBzdHls
ZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlVVJMID0gZW1wdHlTdHJpbmcoKTsKLSAgICAg
ICAgICAgICAgICAgICAgbWVkaWFBcnJheS5hZGRJdGVtKGJ1aWxkTWVkaWFPYmplY3QobWVkaWFM
aXN0LCBzdHlsZVNoZWV0LT5vd25lck5vZGUoKSA/IE1lZGlhTGlzdFNvdXJjZUxpbmtlZFNoZWV0
IDogTWVkaWFMaXN0U291cmNlSW5saW5lU2hlZXQsIHNvdXJjZVVSTCkpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBwYXJlbnRSdWxlID0gc3R5bGVTaGVldC0+b3duZXJSdWxl
KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHBhcmVudFJ1bGUpCi0gICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgIHN0eWxlU2hlZXQgPSBzdHlsZVNoZWV0LT5wYXJlbnRT
dHlsZVNoZWV0KCk7CisgICAgICAgIGlmIChpczxDU1NNZWRpYVJ1bGU+KHBhcmVudFJ1bGUpKSB7
CisgICAgICAgICAgICBhdXRvKiBtZWRpYSA9IGRvd25jYXN0PENTU01lZGlhUnVsZT4ocGFyZW50
UnVsZSktPm1lZGlhKCk7CisgICAgICAgICAgICBpZiAobWVkaWEgJiYgbWVkaWEtPmxlbmd0aCgp
ICYmIG1lZGlhLT5tZWRpYVRleHQoKSAhPSAiYWxsIikgeworICAgICAgICAgICAgICAgIHJ1bGVH
cm91cGluZ1BheWxvYWQgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpjcmVh
dGUoKQorICAgICAgICAgICAgICAgICAgICAuc2V0VGV4dChtZWRpYS0+bWVkaWFUZXh0KCkpCisg
ICAgICAgICAgICAgICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3Jv
dXBpbmc6OlR5cGU6Ok1lZGlhUnVsZSkKKyAgICAgICAgICAgICAgICAgICAgLnJlbGVhc2UoKTsK
ICAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChpczxDU1NJbXBvcnRSdWxlPihwYXJl
bnRSdWxlKSkgeworICAgICAgICAgICAgYXV0byYgbWVkaWEgPSBkb3duY2FzdDxDU1NJbXBvcnRS
dWxlPihwYXJlbnRSdWxlKS0+bWVkaWEoKTsKKyAgICAgICAgICAgIGlmIChtZWRpYS5sZW5ndGgo
KSAmJiBtZWRpYS5tZWRpYVRleHQoKSAhPSAiYWxsIikgeworICAgICAgICAgICAgICAgIHJ1bGVH
cm91cGluZ1BheWxvYWQgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpjcmVh
dGUoKQorICAgICAgICAgICAgICAgICAgICAuc2V0VGV4dChtZWRpYS5tZWRpYVRleHQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgLnNldFR5cGUoSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91
cGluZzo6VHlwZTo6TWVkaWFJbXBvcnRSdWxlKQorICAgICAgICAgICAgICAgICAgICAucmVsZWFz
ZSgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKGlzPENTU1N1cHBvcnRzUnVs
ZT4ocGFyZW50UnVsZSkpIHsKKyAgICAgICAgICAgIHJ1bGVHcm91cGluZ1BheWxvYWQgPSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpjcmVhdGUoKQorICAgICAgICAgICAgICAg
IC5zZXRUZXh0KGRvd25jYXN0PENTU1N1cHBvcnRzUnVsZT4ocGFyZW50UnVsZSktPmNvbmRpdGlv
blRleHQoKSkKKyAgICAgICAgICAgICAgICAuc2V0VHlwZShJbnNwZWN0b3I6OlByb3RvY29sOjpD
U1M6Okdyb3VwaW5nOjpUeXBlOjpTdXBwb3J0c1J1bGUpCisgICAgICAgICAgICAgICAgLnJlbGVh
c2UoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChydWxlR3JvdXBpbmdQYXlsb2FkKSB7Cisg
ICAgICAgICAgICBpZiAoYXV0byogcGFyZW50U3R5bGVTaGVldCA9IHBhcmVudFJ1bGUtPnBhcmVu
dFN0eWxlU2hlZXQoKSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBzb3VyY2VVUkwgPSBwYXJl
bnRTdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKTsKKyAgICAgICAgICAgICAgICBpZiAo
c291cmNlVVJMLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogb3du
ZXJEb2N1bWVudCA9IHBhcmVudFN0eWxlU2hlZXQtPm93bmVyRG9jdW1lbnQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVS
TFN0cmluZyhvd25lckRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgaWYgKCFzb3VyY2VVUkwuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBydWxlR3Jv
dXBpbmdQYXlsb2FkLT5zZXRTb3VyY2VVUkwoc291cmNlVVJMKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZ3JvdXBpbmdzUGF5bG9hZC0+YWRkSXRlbShXVEZNb3ZlKHJ1bGVHcm91cGlu
Z1BheWxvYWQpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChwYXJlbnRSdWxlLT5wYXJlbnRS
dWxlKCkpIHsKKyAgICAgICAgICAgIHBhcmVudFJ1bGUgPSBwYXJlbnRSdWxlLT5wYXJlbnRSdWxl
KCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGF1dG8qIHN0
eWxlU2hlZXQgPSBwYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCk7CisgICAgICAgIHdoaWxl
IChzdHlsZVNoZWV0KSB7CisgICAgICAgICAgICBhdXRvKiBtZWRpYSA9IHN0eWxlU2hlZXQtPm1l
ZGlhKCk7CisgICAgICAgICAgICBpZiAobWVkaWEgJiYgbWVkaWEtPmxlbmd0aCgpICYmIG1lZGlh
LT5tZWRpYVRleHQoKSAhPSAiYWxsIikgeworICAgICAgICAgICAgICAgIGF1dG8gc2hlZXRHcm91
cGluZ1BheWxvYWQgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpjcmVhdGUo
KQorICAgICAgICAgICAgICAgICAgICAuc2V0VGV4dChtZWRpYS0+bWVkaWFUZXh0KCkpCisgICAg
ICAgICAgICAgICAgICAgIC5zZXRUeXBlKGlzPEhUTUxTdHlsZUVsZW1lbnQ+KHN0eWxlU2hlZXQt
Pm93bmVyTm9kZSgpKSA/IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OlR5cGU6
Ok1lZGlhU3R5bGVOb2RlOiBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpUeXBl
OjpNZWRpYUxpbmtOb2RlKQorICAgICAgICAgICAgICAgICAgICAucmVsZWFzZSgpOworCisgICAg
ICAgICAgICAgICAgU3RyaW5nIHNvdXJjZVVSTDsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byog
b3duZXJEb2N1bWVudCA9IHN0eWxlU2hlZXQtPm93bmVyRG9jdW1lbnQoKSkKKyAgICAgICAgICAg
ICAgICAgICAgc291cmNlVVJMID0gb3duZXJEb2N1bWVudC0+dXJsKCk7CisgICAgICAgICAgICAg
ICAgZWxzZSBpZiAoIXN0eWxlU2hlZXQtPmNvbnRlbnRzKCkuYmFzZVVSTCgpLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICAgICAgc291cmNlVVJMID0gc3R5bGVTaGVldC0+Y29udGVudHMoKS5i
YXNlVVJMKCk7CisgICAgICAgICAgICAgICAgaWYgKCFzb3VyY2VVUkwuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgICAgICAgICBzaGVldEdyb3VwaW5nUGF5bG9hZC0+c2V0U291cmNlVVJMKHNvdXJj
ZVVSTCk7CisKKyAgICAgICAgICAgICAgICBncm91cGluZ3NQYXlsb2FkLT5hZGRJdGVtKFdURk1v
dmUoc2hlZXRHcm91cGluZ1BheWxvYWQpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
cGFyZW50UnVsZSA9IHN0eWxlU2hlZXQtPm93bmVyUnVsZSgpOworICAgICAgICAgICAgaWYgKHBh
cmVudFJ1bGUpCisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIHN0eWxlU2hl
ZXQgPSBzdHlsZVNoZWV0LT5wYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgICAgIH0KICAgICB9CisK
KyAgICByZXR1cm4gZ3JvdXBpbmdzUGF5bG9hZDsKIH0KIAogUmVmPEluc3BlY3RvclN0eWxlPiBJ
bnNwZWN0b3JTdHlsZTo6Y3JlYXRlKGNvbnN0IEluc3BlY3RvckNTU0lkJiBzdHlsZUlkLCBSZWY8
Q1NTU3R5bGVEZWNsYXJhdGlvbj4mJiBzdHlsZSwgSW5zcGVjdG9yU3R5bGVTaGVldCogcGFyZW50
U3R5bGVTaGVldCkKQEAgLTExNzMsMTEgKzExNjEsOSBAQCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpDU1NSdWxlPiBJbnNwZWN0b3JTdHlsZVNoZWV0OjpidWlsZE9iamVjdEZvclJ1
bAogICAgICAgICAgICAgcmVzdWx0LT5zZXRSdWxlSWQoaWQuYXNQcm90b2NvbFZhbHVlPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTUnVsZUlkPigpKTsKICAgICB9CiAKLSAgICBhdXRvIG1l
ZGlhQXJyYXkgPSBBcnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE+Ojpj
cmVhdGUoKTsKLQotICAgIGZpbGxNZWRpYUxpc3RDaGFpbihydWxlLCBtZWRpYUFycmF5LmdldCgp
KTsKLSAgICBpZiAobWVkaWFBcnJheS0+bGVuZ3RoKCkpCi0gICAgICAgIHJlc3VsdC0+c2V0TWVk
aWEoV1RGTW92ZShtZWRpYUFycmF5KSk7CisgICAgYXV0byBncm91cGluZ3NQYXlsb2FkID0gYnVp
bGRBcnJheUZvckdyb3VwaW5ncygqcnVsZSk7CisgICAgaWYgKGdyb3VwaW5nc1BheWxvYWQtPmxl
bmd0aCgpKQorICAgICAgICByZXN1bHQtPnNldEdyb3VwaW5ncyhXVEZNb3ZlKGdyb3VwaW5nc1Bh
eWxvYWQpKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2VyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5q
cwppbmRleCAwODdkOWQ3N2JjMjU2NWQzN2U3MmNlMGIyNDk1YzM5YjIxYTA0ODMxLi5iMDI2NjU1
OTg1NjVhZDZmZmFlMGY4OTIxYjE5YTY4MTI1MmZlNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2VyLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NTU01hbmFn
ZXIuanMKQEAgLTgxLDIxICs4MSwyMiBAQCBXSS5DU1NNYW5hZ2VyID0gY2xhc3MgQ1NTTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB9CiAgICAgfQogCi0gICAgc3RhdGljIHByb3Rv
Y29sTWVkaWFTb3VyY2VUb0VudW0oc291cmNlKQorICAgIHN0YXRpYyBwcm90b2NvbEdyb3VwaW5n
VHlwZVRvRW51bSh0eXBlKQogICAgIHsKLSAgICAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICAg
ICAgY2FzZSBDU1NBZ2VudC5DU1NNZWRpYVNvdXJjZS5NZWRpYVJ1bGU6Ci0gICAgICAgICAgICBy
ZXR1cm4gV0kuQ1NTTWVkaWEuVHlwZS5NZWRpYVJ1bGU7Ci0gICAgICAgIGNhc2UgQ1NTQWdlbnQu
Q1NTTWVkaWFTb3VyY2UuSW1wb3J0UnVsZToKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NNZWRp
YS5UeXBlLkltcG9ydFJ1bGU7Ci0gICAgICAgIGNhc2UgQ1NTQWdlbnQuQ1NTTWVkaWFTb3VyY2Uu
TGlua2VkU2hlZXQ6Ci0gICAgICAgICAgICByZXR1cm4gV0kuQ1NTTWVkaWEuVHlwZS5MaW5rZWRT
dHlsZVNoZWV0OwotICAgICAgICBjYXNlIENTU0FnZW50LkNTU01lZGlhU291cmNlLklubGluZVNo
ZWV0OgotICAgICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuSW5saW5lU3R5bGVTaGVl
dDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAi
VW5rbm93biBDU1MuQ1NTTWVkaWFTb3VyY2UiLCBzb3VyY2UpOwotICAgICAgICAgICAgcmV0dXJu
IFdJLkNTU01lZGlhLlR5cGUuTWVkaWFSdWxlOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChp
T1MgMTMpOiBDU1MuR3JvdXBpbmcgZGlkIG5vdCBleGlzdCB5ZXQuCisgICAgICAgIGlmICghSW5z
cGVjdG9yQmFja2VuZC5kb21haW5zLkNTUy5Hcm91cGluZykgeworICAgICAgICAgICAgc3dpdGNo
ICh0eXBlKSB7CisgICAgICAgICAgICBjYXNlICJtZWRpYVJ1bGUiOgorICAgICAgICAgICAgICAg
IHJldHVybiBXSS5DU1NHcm91cGluZy5UeXBlLk1lZGlhUnVsZTsKKyAgICAgICAgICAgIGNhc2Ug
ImltcG9ydFJ1bGUiOgorICAgICAgICAgICAgICAgIHJldHVybiBXSS5DU1NHcm91cGluZy5UeXBl
Lk1lZGlhSW1wb3J0UnVsZTsKKyAgICAgICAgICAgIGNhc2UgImxpbmtlZFNoZWV0IjoKKyAgICAg
ICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYUxpbmtOb2RlOworICAg
ICAgICAgICAgY2FzZSAiaW5saW5lU2hlZXQiOgorICAgICAgICAgICAgICAgIHJldHVybiBXSS5D
U1NHcm91cGluZy5UeXBlLk1lZGlhU3R5bGVOb2RlOworICAgICAgICAgICAgfQogICAgICAgICB9
CisgICAgICAgIHJldHVybiB0eXBlOwogICAgIH0KIAogICAgIHN0YXRpYyBkaXNwbGF5TmFtZUZv
clBzZXVkb0lkKHBzZXVkb0lkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTWFpbi5odG1sCmluZGV4IDVmOGNlNmQ4MDIyMTMwNjc5MTY5ODNhMTgwOGJiODEyZmM3NGFj
YTMuLjU0OTJiZDIxNjA3NjY2ZTkwMDE2Y2E4YTRiOWMyNTkxZDUyZDgxMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTM2MSw4ICszNjEs
OCBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1BVVGltZWxpbmUuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1BVVGltZWxpbmVSZWNvcmQuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTQ29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTR3JvdXBpbmcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJNb2RlbHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0iTW9kZWxzL0NTU01lZGlhLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0NTU1Byb3BlcnR5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9k
ZWxzL0NTU1J1bGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTU2Vs
ZWN0b3IuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3VwaW5nLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3VwaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZGYwNGMy
ZTQ1MTZiYmU1N2QyNTI3NzU3NmY3OWEwZjgzNzI5ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTR3JvdXBpbmcuanMKQEAg
LTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dJLkNTU0dyb3VwaW5nID0gY2xhc3MgQ1NTR3Jv
dXBpbmcKK3sKKyAgICBjb25zdHJ1Y3Rvcih0eXBlLCB0ZXh0LCBzb3VyY2VDb2RlTG9jYXRpb24p
CisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChPYmplY3QudmFsdWVzKENTU0dyb3VwaW5n
LlR5cGUpLmluY2x1ZGVzKHR5cGUpKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHRl
eHQgPT09ICJzdHJpbmciICYmIHRleHQubGVuZ3RoKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
IXNvdXJjZUNvZGVMb2NhdGlvbiB8fCBzb3VyY2VDb2RlTG9jYXRpb24gaW5zdGFuY2VvZiBXSS5T
b3VyY2VDb2RlTG9jYXRpb24pOworCisgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOworICAgICAg
ICB0aGlzLl90ZXh0ID0gdGV4dDsKKyAgICAgICAgdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uID0g
c291cmNlQ29kZUxvY2F0aW9uIHx8IG51bGw7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAg
ICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KKyAgICBnZXQgdGV4dCgpIHsgcmV0
dXJuIHRoaXMuX3RleHQ7IH0KKyAgICBnZXQgc291cmNlQ29kZUxvY2F0aW9uKCkgeyByZXR1cm4g
dGhpcy5fc291cmNlQ29kZUxvY2F0aW9uOyB9CisKKyAgICBnZXQgaXNNZWRpYSgpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYVJ1
bGUKKyAgICAgICAgICAgIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVk
aWFJbXBvcnRSdWxlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBlID09PSBXSS5DU1NHcm91cGlu
Zy5UeXBlLk1lZGlhTGlua05vZGUKKyAgICAgICAgICAgIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNT
U0dyb3VwaW5nLlR5cGUuTWVkaWFTdHlsZU5vZGU7CisgICAgfQorCisgICAgZ2V0IGlzU3VwcG9y
dHMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IFdJLkNTU0dyb3VwaW5n
LlR5cGUuU3VwcG9ydHNSdWxlOworICAgIH0KKworICAgIGdldCBwcmVmaXgoKQorICAgIHsKKyAg
ICAgICAgaWYgKHRoaXMuaXNTdXBwb3J0cykKKyAgICAgICAgICAgIHJldHVybiAiQHN1cHBvcnRz
IjsKKworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLmlzTWVkaWEpOworICAgICAgICByZXR1
cm4gIkBtZWRpYSI7CisgICAgfQorfTsKKworV0kuQ1NTR3JvdXBpbmcuVHlwZSA9IHsKKyAgICBN
ZWRpYVJ1bGU6ICJtZWRpYS1ydWxlIiwKKyAgICBNZWRpYUltcG9ydFJ1bGU6ICJtZWRpYS1pbXBv
cnQtcnVsZSIsCisgICAgTWVkaWFMaW5rTm9kZTogIm1lZGlhLWxpbmstbm9kZSIsCisgICAgTWVk
aWFTdHlsZU5vZGU6ICJtZWRpYS1zdHlsZS1ub2RlIiwKKyAgICBTdXBwb3J0c1J1bGU6ICJzdXBw
b3J0cy1ydWxlIiwKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQ1NTTWVkaWEuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQ1NTTWVkaWEuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNiZDY4OTlkY2JjNDIxYjMwZTNkZDA2M2I0ODllMmUxNzJkZWM5YmQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLVdJLkNTU01lZGlhID0gY2xhc3MgQ1NTTWVkaWEKLXsKLSAgICBj
b25zdHJ1Y3Rvcih0eXBlLCB0ZXh0LCBzb3VyY2VDb2RlTG9jYXRpb24pCi0gICAgewotICAgICAg
ICBjb25zb2xlLmFzc2VydCghc291cmNlQ29kZUxvY2F0aW9uIHx8IHNvdXJjZUNvZGVMb2NhdGlv
biBpbnN0YW5jZW9mIFdJLlNvdXJjZUNvZGVMb2NhdGlvbik7Ci0KLSAgICAgICAgdGhpcy5fdHlw
ZSA9IHR5cGUgfHwgbnVsbDsKLSAgICAgICAgdGhpcy5fdGV4dCA9IHRleHQgfHwgIiI7Ci0gICAg
ICAgIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxs
OwotICAgIH0KLQotICAgIC8vIFB1YmxpYwotCi0gICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlz
Ll90eXBlOyB9Ci0gICAgZ2V0IHRleHQoKSB7IHJldHVybiB0aGlzLl90ZXh0OyB9Ci0gICAgZ2V0
IHNvdXJjZUNvZGVMb2NhdGlvbigpIHsgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsg
fQotfTsKLQotV0kuQ1NTTWVkaWEuVHlwZSA9IHsKLSAgICBNZWRpYVJ1bGU6ICJjc3MtbWVkaWEt
dHlwZS1tZWRpYS1ydWxlIiwKLSAgICBJbXBvcnRSdWxlOiAiY3NzLW1lZGlhLXR5cGUtaW1wb3J0
LXJ1bGUiLAotICAgIExpbmtlZFN0eWxlU2hlZXQ6ICJjc3MtbWVkaWEtdHlwZS1saW5rZWQtc3R5
bGVzaGVldCIsCi0gICAgSW5saW5lU3R5bGVTaGVldDogImNzcy1tZWRpYS10eXBlLWlubGluZS1z
dHlsZXNoZWV0IgotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0NTU1J1bGUuanMKaW5kZXggOGQ4ZTI1OWM3YThlMjMzYjE0YmU0NmM1NzYw
YTg2ZjBkYjNhMzFkMy4uNWMyMTA3OTk0ZDY0ZDEwNDAyYzkxOTY0NGIzNDhmZDM4OTViODdmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NT
U1J1bGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0NTU1J1bGUuanMKQEAgLTI1LDcgKzI1LDcgQEAKIAogV0kuQ1NTUnVsZSA9IGNsYXNzIENTU1J1
bGUgZXh0ZW5kcyBXSS5PYmplY3QKIHsKLSAgICBjb25zdHJ1Y3Rvcihub2RlU3R5bGVzLCBvd25l
clN0eWxlU2hlZXQsIGlkLCB0eXBlLCBzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwg
c2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgbWVkaWFMaXN0KQorICAg
IGNvbnN0cnVjdG9yKG5vZGVTdHlsZXMsIG93bmVyU3R5bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJj
ZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3Rvcklu
ZGljZXMsIHN0eWxlLCBncm91cGluZ3MpCiAgICAgewogICAgICAgICBzdXBlcigpOwogCkBAIC0z
Nyw1NyArMzcsMjYgQEAgV0kuQ1NTUnVsZSA9IGNsYXNzIENTU1J1bGUgZXh0ZW5kcyBXSS5PYmpl
Y3QKICAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGUgfHwgbnVsbDsKICAgICAgICAgdGhpcy5faW5p
dGlhbFN0YXRlID0gbnVsbDsKIAotICAgICAgICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRp
b24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHls
ZSwgbWVkaWFMaXN0LCB0cnVlKTsKKyAgICAgICAgdGhpcy51cGRhdGUoc291cmNlQ29kZUxvY2F0
aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5
bGUsIGdyb3VwaW5ncywgdHJ1ZSk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKKyAgICBnZXQg
b3duZXJTdHlsZVNoZWV0KCkgeyByZXR1cm4gdGhpcy5fb3duZXJTdHlsZVNoZWV0OyB9CiAgICAg
Z2V0IGlkKCkgeyByZXR1cm4gdGhpcy5faWQ7IH0KKyAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRo
aXMuX3R5cGU7IH0KICAgICBnZXQgaW5pdGlhbFN0YXRlKCkgeyByZXR1cm4gdGhpcy5faW5pdGlh
bFN0YXRlOyB9Ci0KLSAgICBnZXQgb3duZXJTdHlsZVNoZWV0KCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9vd25lclN0eWxlU2hlZXQ7Ci0gICAgfQorICAgIGdldCBzb3VyY2VDb2RlTG9j
YXRpb24oKSB7IHJldHVybiB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb247IH0KKyAgICBnZXQgc2Vs
ZWN0b3JzKCkgeyByZXR1cm4gdGhpcy5fc2VsZWN0b3JzOyB9CisgICAgZ2V0IG1hdGNoZWRTZWxl
Y3RvckluZGljZXMoKSB7IHJldHVybiB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzOyB9Cisg
ICAgZ2V0IHN0eWxlKCkgeyByZXR1cm4gdGhpcy5fc3R5bGU7IH0KKyAgICBnZXQgZ3JvdXBpbmdz
KCkgeyByZXR1cm4gdGhpcy5fZ3JvdXBpbmdzOyB9CiAKICAgICBnZXQgZWRpdGFibGUoKQogICAg
IHsKICAgICAgICAgcmV0dXJuICEhdGhpcy5faWQgJiYgKHRoaXMuX3R5cGUgPT09IFdJLkNTU1N0
eWxlU2hlZXQuVHlwZS5BdXRob3IgfHwgdGhpcy5fdHlwZSA9PT0gV0kuQ1NTU3R5bGVTaGVldC5U
eXBlLkluc3BlY3Rvcik7CiAgICAgfQogCi0gICAgdXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwg
c2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBt
ZWRpYUxpc3QpCi0gICAgewotICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2Rl
TG9jYXRpb24gfHwgbnVsbDsKLSAgICAgICAgc2VsZWN0b3JUZXh0ID0gc2VsZWN0b3JUZXh0IHx8
ICIiOwotICAgICAgICBzZWxlY3RvcnMgPSBzZWxlY3RvcnMgfHwgW107Ci0gICAgICAgIG1hdGNo
ZWRTZWxlY3RvckluZGljZXMgPSBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzIHx8IFtdOwotICAgICAg
ICBzdHlsZSA9IHN0eWxlIHx8IG51bGw7Ci0gICAgICAgIG1lZGlhTGlzdCA9IG1lZGlhTGlzdCB8
fCBbXTsKLQotICAgICAgICBpZiAodGhpcy5fc3R5bGUpCi0gICAgICAgICAgICB0aGlzLl9zdHls
ZS5vd25lclJ1bGUgPSBudWxsOwotCi0gICAgICAgIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbiA9
IHNvdXJjZUNvZGVMb2NhdGlvbjsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3JUZXh0ID0gc2VsZWN0
b3JUZXh0OwotICAgICAgICB0aGlzLl9zZWxlY3RvcnMgPSBzZWxlY3RvcnM7Ci0gICAgICAgIHRo
aXMuX21hdGNoZWRTZWxlY3RvckluZGljZXMgPSBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzOwotICAg
ICAgICB0aGlzLl9zdHlsZSA9IHN0eWxlOwotICAgICAgICB0aGlzLl9tZWRpYUxpc3QgPSBtZWRp
YUxpc3Q7Ci0KLSAgICAgICAgaWYgKHRoaXMuX3N0eWxlKQotICAgICAgICAgICAgdGhpcy5fc3R5
bGUub3duZXJSdWxlID0gdGhpczsKLSAgICB9Ci0KLSAgICBnZXQgdHlwZSgpCi0gICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5fdHlwZTsKLSAgICB9Ci0KLSAgICBnZXQgc291cmNlQ29kZUxvY2F0
aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb247Ci0g
ICAgfQotCiAgICAgZ2V0IHNlbGVjdG9yVGV4dCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhp
cy5fc2VsZWN0b3JUZXh0OwpAQCAtMTA3LDI0ICs3NiwyNyBAQCBXSS5DU1NSdWxlID0gY2xhc3Mg
Q1NTUnVsZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9ub2RlU3R5bGVzLmNoYW5n
ZVJ1bGVTZWxlY3Rvcih0aGlzLCBzZWxlY3RvclRleHQpLnRoZW4odGhpcy5fc2VsZWN0b3JSZXNv
bHZlZC5iaW5kKHRoaXMpLCB0aGlzLl9zZWxlY3RvclJlamVjdGVkLmJpbmQodGhpcykpOwogICAg
IH0KIAotICAgIGdldCBzZWxlY3RvcnMoKQorICAgIHVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24s
IHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwg
Z3JvdXBpbmdzKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdG9yczsKLSAgICB9
CisgICAgICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxs
OworICAgICAgICBzZWxlY3RvclRleHQgPSBzZWxlY3RvclRleHQgfHwgIiI7CisgICAgICAgIHNl
bGVjdG9ycyA9IHNlbGVjdG9ycyB8fCBbXTsKKyAgICAgICAgbWF0Y2hlZFNlbGVjdG9ySW5kaWNl
cyA9IG1hdGNoZWRTZWxlY3RvckluZGljZXMgfHwgW107CisgICAgICAgIHN0eWxlID0gc3R5bGUg
fHwgbnVsbDsKKyAgICAgICAgZ3JvdXBpbmdzID0gZ3JvdXBpbmdzIHx8IFtdOwogCi0gICAgZ2V0
IG1hdGNoZWRTZWxlY3RvckluZGljZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21h
dGNoZWRTZWxlY3RvckluZGljZXM7Ci0gICAgfQorICAgICAgICBpZiAodGhpcy5fc3R5bGUpCisg
ICAgICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUgPSBudWxsOwogCi0gICAgZ2V0IHN0eWxl
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zdHlsZTsKLSAgICB9CisgICAgICAgIHRo
aXMuX3NvdXJjZUNvZGVMb2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbjsKKyAgICAgICAgdGhp
cy5fc2VsZWN0b3JUZXh0ID0gc2VsZWN0b3JUZXh0OworICAgICAgICB0aGlzLl9zZWxlY3RvcnMg
PSBzZWxlY3RvcnM7CisgICAgICAgIHRoaXMuX21hdGNoZWRTZWxlY3RvckluZGljZXMgPSBtYXRj
aGVkU2VsZWN0b3JJbmRpY2VzOworICAgICAgICB0aGlzLl9zdHlsZSA9IHN0eWxlOworICAgICAg
ICB0aGlzLl9ncm91cGluZ3MgPSBncm91cGluZ3M7CiAKLSAgICBnZXQgbWVkaWFMaXN0KCkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tZWRpYUxpc3Q7CisgICAgICAgIGlmICh0aGlzLl9z
dHlsZSkKKyAgICAgICAgICAgIHRoaXMuX3N0eWxlLm93bmVyUnVsZSA9IHRoaXM7CiAgICAgfQog
CiAgICAgaXNFcXVhbFRvKHJ1bGUpCkBAIC0xNzMsNyArMTQ1LDcgQEAgV0kuQ1NTUnVsZSA9IGNs
YXNzIENTU1J1bGUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICAgICAgc291cmNl
Q29kZUxvY2F0aW9uID0gdGhpcy5fb3duZXJTdHlsZVNoZWV0Lm9mZnNldFNvdXJjZUNvZGVMb2Nh
dGlvbihzb3VyY2VDb2RlTG9jYXRpb24pOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgICAgIHRoaXMudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxl
Y3RvcnMsIFtdLCB0aGlzLl9zdHlsZSwgdGhpcy5fbWVkaWFMaXN0KTsKKyAgICAgICAgICAgICAg
ICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3Jz
LCBbXSwgdGhpcy5fc3R5bGUsIHRoaXMuX2dyb3VwaW5ncyk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNsYXJhdGlvbi5qcwppbmRleCBjM2JmNDRkNjU0
OTlhYWY5NGIyODRiNmQwYmU2ZmEwYTBkM2FlOWQ0Li4wZTk3ODg0NzM1OTQ0YmNmMmFjNmM5YzE3
NzM3NWYzZjNlOGEzY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNsYXJhdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNsYXJhdGlvbi5qcwpAQCAt
Mjg3LDEwICsyODcsMTAgQEAgV0kuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGNsYXNzIENTU1N0eWxl
RGVjbGFyYXRpb24gZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxl
U2hlZXRUZXh0UmFuZ2U7CiAgICAgfQogCi0gICAgZ2V0IG1lZGlhTGlzdCgpCisgICAgZ2V0IGdy
b3VwaW5ncygpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fb3duZXJSdWxlKQotICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX293bmVyUnVsZS5tZWRpYUxpc3Q7CisgICAgICAgICAgICByZXR1cm4g
dGhpcy5fb3duZXJSdWxlLmdyb3VwaW5nczsKICAgICAgICAgcmV0dXJuIFtdOwogICAgIH0KIApA
QCAtNTExLDE3ICs1MTEsMTcgQEAgV0kuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGNsYXNzIENTU1N0
eWxlRGVjbGFyYXRpb24gZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAgIGxldCBpbmRl
bnRTdHJpbmcgPSBXSS5pbmRlbnRTdHJpbmcoKTsKICAgICAgICAgbGV0IHN0eWxlVGV4dCA9ICIi
OwotICAgICAgICBsZXQgbWVkaWFMaXN0ID0gdGhpcy5tZWRpYUxpc3QuZmlsdGVyKChtZWRpYSkg
PT4gbWVkaWEudGV4dCAhPT0gImFsbCIpOwotICAgICAgICBsZXQgbWVkaWFRdWVyaWVzQ291bnQg
PSBtZWRpYUxpc3QubGVuZ3RoOwotICAgICAgICBmb3IgKGxldCBpID0gbWVkaWFRdWVyaWVzQ291
bnQgLSAxOyBpID49IDA7IC0taSkKLSAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJp
bmcucmVwZWF0KG1lZGlhUXVlcmllc0NvdW50IC0gaSAtIDEpICsgIkBtZWRpYSAiICsgbWVkaWFM
aXN0W2ldLnRleHQgKyAiIHtcbiI7CisgICAgICAgIGxldCBncm91cGluZ3MgPSB0aGlzLmdyb3Vw
aW5ncy5maWx0ZXIoKGdyb3VwaW5nKSA9PiBncm91cGluZy50ZXh0ICE9PSAiYWxsIik7CisgICAg
ICAgIGxldCBncm91cGluZ3NDb3VudCA9IGdyb3VwaW5ncy5sZW5ndGg7CisgICAgICAgIGZvciAo
bGV0IGkgPSBncm91cGluZ3NDb3VudCAtIDE7IGkgPj0gMDsgLS1pKQorICAgICAgICAgICAgc3R5
bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQoZ3JvdXBpbmdzQ291bnQgLSBpIC0gMSkgKyBn
cm91cGluZ3NbaV0ucHJlZml4ICsgIiAiICsgZ3JvdXBpbmdzW2ldLnRleHQgKyAiIHtcbiI7CiAK
LSAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQobWVkaWFRdWVyaWVzQ291
bnQpICsgdGhpcy5zZWxlY3RvclRleHQgKyAiIHtcbiI7CisgICAgICAgIHN0eWxlVGV4dCArPSBp
bmRlbnRTdHJpbmcucmVwZWF0KGdyb3VwaW5nc0NvdW50KSArIHRoaXMuc2VsZWN0b3JUZXh0ICsg
IiB7XG4iOwogCiAgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mICh0aGlzLl9zdHlsZVNoZWV0
VGV4dFJhbmdlID8gdGhpcy52aXNpYmxlUHJvcGVydGllcyA6IHRoaXMuX3Byb3BlcnRpZXMpKQot
ICAgICAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQobWVkaWFRdWVyaWVz
Q291bnQgKyAxKSArIHByb3BlcnR5LmZvcm1hdHRlZFRleHQgKyAiXG4iOworICAgICAgICAgICAg
c3R5bGVUZXh0ICs9IGluZGVudFN0cmluZy5yZXBlYXQoZ3JvdXBpbmdzQ291bnQgKyAxKSArIHBy
b3BlcnR5LmZvcm1hdHRlZFRleHQgKyAiXG4iOwogCi0gICAgICAgIGZvciAobGV0IGkgPSBtZWRp
YVF1ZXJpZXNDb3VudDsgaSA+IDA7IC0taSkKKyAgICAgICAgZm9yIChsZXQgaSA9IGdyb3VwaW5n
c0NvdW50OyBpID4gMDsgLS1pKQogICAgICAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVudFN0cmlu
Zy5yZXBlYXQoaSkgKyAifVxuIjsKIAogICAgICAgICBzdHlsZVRleHQgKz0gIn0iOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVT
dHlsZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZVN0eWxlcy5qcwppbmRleCAxNWUzOWM5ZTI4YTBhZGU2NWRmYzY0MDYxNDc4ZjhhZWYzNGU2
NDUxLi5jMWEyOTZhMzMyNDU4MzExYjU0MzRjZDUxMzM5ZThkNTNkZTI3ZjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxl
cy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZVN0eWxlcy5qcwpAQCAtMTIzLDE2ICsxMjMsMjUgQEAgV0kuRE9NTm9kZVN0eWxlcyA9IGNs
YXNzIERPTU5vZGVTdHlsZXMgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIC8vIFB1YmxpYwogCi0g
ICAgZ2V0IG5vZGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX25vZGU7Ci0gICAgfQor
ICAgIGdldCBub2RlKCkgeyByZXR1cm4gdGhpcy5fbm9kZTsgfQorICAgIGdldCBtYXRjaGVkUnVs
ZXMoKSB7IHJldHVybiB0aGlzLl9tYXRjaGVkUnVsZXM7IH0KKyAgICBnZXQgaW5oZXJpdGVkUnVs
ZXMoKSB7IHJldHVybiB0aGlzLl9pbmhlcml0ZWRSdWxlczsgfQorICAgIGdldCBpbmxpbmVTdHls
ZSgpIHsgcmV0dXJuIHRoaXMuX2lubGluZVN0eWxlOyB9CisgICAgZ2V0IGF0dHJpYnV0ZXNTdHls
ZSgpIHsgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXNTdHlsZTsgfQorICAgIGdldCBwc2V1ZG9FbGVt
ZW50cygpIHsgcmV0dXJuIHRoaXMuX3BzZXVkb0VsZW1lbnRzOyB9CisgICAgZ2V0IGNvbXB1dGVk
U3R5bGUoKSB7IHJldHVybiB0aGlzLl9jb21wdXRlZFN0eWxlOyB9CisgICAgZ2V0IG9yZGVyZWRT
dHlsZXMoKSB7IHJldHVybiB0aGlzLl9vcmRlcmVkU3R5bGVzOyB9CiAKICAgICBnZXQgbmVlZHNS
ZWZyZXNoKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9wZW5kaW5nUmVmcmVzaFRhc2sg
fHwgdGhpcy5fbmVlZHNSZWZyZXNoOwogICAgIH0KIAorICAgIGdldCB1bmlxdWVPcmRlcmVkU3R5
bGVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBXSS5ET01Ob2RlU3R5bGVzLnVuaXF1ZU9yZGVy
ZWRTdHlsZXModGhpcy5fb3JkZXJlZFN0eWxlcyk7CisgICAgfQorCiAgICAgcmVmcmVzaElmTmVl
ZGVkKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9wZW5kaW5nUmVmcmVzaFRhc2spCkBAIC0z
NzUsNjIgKzM4NCw2IEBAIFdJLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5bGVzIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBXSS5jc3NNYW5hZ2VyLnByZWZlcnJlZEluc3Bl
Y3RvclN0eWxlU2hlZXRGb3JGcmFtZSh0aGlzLl9ub2RlLmZyYW1lLCBpbnNwZWN0b3JTdHlsZVNo
ZWV0QXZhaWxhYmxlLmJpbmQodGhpcykpOwogICAgIH0KIAotICAgIHJ1bGVzRm9yU2VsZWN0b3Io
c2VsZWN0b3IpCi0gICAgewotICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yIHx8IHRoaXMuX25v
ZGUuYXBwcm9wcmlhdGVTZWxlY3RvckZvcih0cnVlKTsKLQotICAgICAgICBmdW5jdGlvbiBydWxl
SGFzU2VsZWN0b3IocnVsZSkgewotICAgICAgICAgICAgcmV0dXJuICFydWxlLm1lZGlhTGlzdC5s
ZW5ndGggJiYgcnVsZS5zZWxlY3RvclRleHQgPT09IHNlbGVjdG9yOwotICAgICAgICB9Ci0KLSAg
ICAgICAgbGV0IHJ1bGVzID0gdGhpcy5fbWF0Y2hlZFJ1bGVzLmZpbHRlcihydWxlSGFzU2VsZWN0
b3IpOwotCi0gICAgICAgIGZvciAobGV0IHBzZXVkb0VsZW1lbnRJbmZvIG9mIHRoaXMuX3BzZXVk
b0VsZW1lbnRzLnZhbHVlcygpKQotICAgICAgICAgICAgcnVsZXMgPSBydWxlcy5jb25jYXQocHNl
dWRvRWxlbWVudEluZm8ubWF0Y2hlZFJ1bGVzLmZpbHRlcihydWxlSGFzU2VsZWN0b3IpKTsKLQot
ICAgICAgICByZXR1cm4gcnVsZXM7Ci0gICAgfQotCi0gICAgZ2V0IG1hdGNoZWRSdWxlcygpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hlZFJ1bGVzOwotICAgIH0KLQotICAgIGdl
dCBpbmhlcml0ZWRSdWxlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5faW5oZXJpdGVk
UnVsZXM7Ci0gICAgfQotCi0gICAgZ2V0IGlubGluZVN0eWxlKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9pbmxpbmVTdHlsZTsKLSAgICB9Ci0KLSAgICBnZXQgYXR0cmlidXRlc1N0eWxl
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzU3R5bGU7Ci0gICAgfQot
Ci0gICAgZ2V0IHBzZXVkb0VsZW1lbnRzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9w
c2V1ZG9FbGVtZW50czsKLSAgICB9Ci0KLSAgICBnZXQgY29tcHV0ZWRTdHlsZSgpCi0gICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fY29tcHV0ZWRTdHlsZTsKLSAgICB9Ci0KLSAgICBnZXQgb3Jk
ZXJlZFN0eWxlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fb3JkZXJlZFN0eWxlczsK
LSAgICB9Ci0KLSAgICBnZXQgdW5pcXVlT3JkZXJlZFN0eWxlcygpCi0gICAgewotICAgICAgICBy
ZXR1cm4gV0kuRE9NTm9kZVN0eWxlcy51bmlxdWVPcmRlcmVkU3R5bGVzKHRoaXMuX29yZGVyZWRT
dHlsZXMpOwotICAgIH0KLQogICAgIGVmZmVjdGl2ZVByb3BlcnR5Rm9yTmFtZShuYW1lKQogICAg
IHsKICAgICAgICAgbGV0IHByb3BlcnR5ID0gdGhpcy5fcHJvcGVydHlOYW1lVG9FZmZlY3RpdmVQ
cm9wZXJ0eU1hcFtuYW1lXTsKQEAgLTczMSwyNyArNjg0LDI0IEBAIFdJLkRPTU5vZGVTdHlsZXMg
PSBjbGFzcyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBzb3Vy
Y2VDb2RlTG9jYXRpb24gPSBzdHlsZVNoZWV0Lm9mZnNldFNvdXJjZUNvZGVMb2NhdGlvbihzb3Vy
Y2VDb2RlTG9jYXRpb24pOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIG1lZGlhTGlzdCA9IFtd
OwotICAgICAgICBmb3IgKHZhciBpID0gMDsgcGF5bG9hZC5tZWRpYSAmJiBpIDwgcGF5bG9hZC5t
ZWRpYS5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIG1lZGlhSXRlbSA9IHBheWxvYWQu
bWVkaWFbaV07Ci0gICAgICAgICAgICB2YXIgbWVkaWFUeXBlID0gV0kuQ1NTTWFuYWdlci5wcm90
b2NvbE1lZGlhU291cmNlVG9FbnVtKG1lZGlhSXRlbS5zb3VyY2UpOwotICAgICAgICAgICAgdmFy
IG1lZGlhVGV4dCA9IG1lZGlhSXRlbS50ZXh0OwotICAgICAgICAgICAgbGV0IG1lZGlhU291cmNl
Q29kZUxvY2F0aW9uID0gRE9NTm9kZVN0eWxlcy5jcmVhdGVTb3VyY2VDb2RlTG9jYXRpb24obWVk
aWFJdGVtLnNvdXJjZVVSTCwge2xpbmU6IG1lZGlhSXRlbS5zb3VyY2VMaW5lfSk7CisgICAgICAg
IC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IENTUy5DU1NSdWxlLmdyb3VwaW5ncyBkaWQgbm90
IGV4aXN0IHlldC4KKyAgICAgICAgbGV0IGdyb3VwaW5ncyA9IChwYXlsb2FkLmdyb3VwaW5ncyB8
fCBwYXlsb2FkLm1lZGlhIHx8IFtdKS5tYXAoKGdyb3VwaW5nKSA9PiB7CisgICAgICAgICAgICBs
ZXQgZ3JvdXBpbmdUeXBlID0gV0kuQ1NTTWFuYWdlci5wcm90b2NvbEdyb3VwaW5nVHlwZVRvRW51
bShncm91cGluZy50eXBlIHx8IGdyb3VwaW5nLnNvdXJjZSk7CisgICAgICAgICAgICBsZXQgZ3Jv
dXBpbmdTb3VyY2VDb2RlTG9jYXRpb24gPSBET01Ob2RlU3R5bGVzLmNyZWF0ZVNvdXJjZUNvZGVM
b2NhdGlvbihncm91cGluZy5zb3VyY2VVUkwpOwogICAgICAgICAgICAgaWYgKHN0eWxlU2hlZXQp
Ci0gICAgICAgICAgICAgICAgbWVkaWFTb3VyY2VDb2RlTG9jYXRpb24gPSBzdHlsZVNoZWV0Lm9m
ZnNldFNvdXJjZUNvZGVMb2NhdGlvbihtZWRpYVNvdXJjZUNvZGVMb2NhdGlvbik7Ci0KLSAgICAg
ICAgICAgIG1lZGlhTGlzdC5wdXNoKG5ldyBXSS5DU1NNZWRpYShtZWRpYVR5cGUsIG1lZGlhVGV4
dCwgbWVkaWFTb3VyY2VDb2RlTG9jYXRpb24pKTsKLSAgICAgICAgfQorICAgICAgICAgICAgICAg
IGdyb3VwaW5nU291cmNlQ29kZUxvY2F0aW9uID0gc3R5bGVTaGVldC5vZmZzZXRTb3VyY2VDb2Rl
TG9jYXRpb24oZ3JvdXBpbmdTb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAgcmV0dXJu
IG5ldyBXSS5DU1NHcm91cGluZyhncm91cGluZ1R5cGUsIGdyb3VwaW5nLnRleHQsIGdyb3VwaW5n
U291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgfSk7CiAKICAgICAgICAgaWYgKHJ1bGUpIHsK
LSAgICAgICAgICAgIHJ1bGUudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0
LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBtZWRpYUxpc3QpOwor
ICAgICAgICAgICAgcnVsZS51cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQs
IHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIGdyb3VwaW5ncyk7CiAg
ICAgICAgICAgICByZXR1cm4gcnVsZTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChzdHlsZVNo
ZWV0KQogICAgICAgICAgICAgc3R5bGVTaGVldC5hZGRFdmVudExpc3RlbmVyKFdJLkNTU1N0eWxl
U2hlZXQuRXZlbnQuQ29udGVudERpZENoYW5nZSwgdGhpcy5fc3R5bGVTaGVldENvbnRlbnREaWRD
aGFuZ2UsIHRoaXMpOwogCi0gICAgICAgIHJ1bGUgPSBuZXcgV0kuQ1NTUnVsZSh0aGlzLCBzdHls
ZVNoZWV0LCBpZCwgdHlwZSwgc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVj
dG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlhTGlzdCk7CisgICAgICAg
IHJ1bGUgPSBuZXcgV0kuQ1NTUnVsZSh0aGlzLCBzdHlsZVNoZWV0LCBpZCwgdHlwZSwgc291cmNl
Q29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5k
aWNlcywgc3R5bGUsIGdyb3VwaW5ncyk7CiAKICAgICAgICAgaWYgKG1hcEtleSkKICAgICAgICAg
ICAgIHRoaXMuX3J1bGVzTWFwLnNldChtYXBLZXksIHJ1bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCmluZGV4IGMwMDIxODNlZjQ4ODdiNGFkNGI0
ZmJkYjUyZGFlZjY2NDBmMTUyNjIuLjkyYzdlOThkZDQ0NzczMjQxZmRiNmU2Njg3MGQ2ODI3MGFj
NGFhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rl
c3QuaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0
bWwKQEAgLTEyNCw4ICsxMjQsOCBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1BVVGltZWxp
bmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1BVVGltZWxpbmVSZWNv
cmQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTQ29tcGxldGlvbnMu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTR3JvdXBpbmcuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU01lZGlhLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1Byb3BlcnR5LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1J1bGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJNb2RlbHMvQ1NTU2VsZWN0b3IuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURl
Y2xhcmF0aW9uU2VjdGlvbi5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNzcwppbmRleCAz
ZmU3NGMwYmI4MTUwMTY2ZTYzMWIyNmZlNTU3NDRlMWNlZjc2NTE0Li43ZDU1ZDQ1YzFkOTliYzg5
NmE1ZmQzODViNmQwODkxMzEzZjI3NzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
cHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNzcwpAQCAtMzksMTEgKzM5LDEx
IEBACiAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKIH0KIAotLnNwcmVhZHNoZWV0LWNz
cy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLW1lZGlhKSB7Cisuc3ByZWFk
c2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItZ3JvdXBpbmdz
KSB7CiAgICAgcGFkZGluZzogMCB2YXIoLS1jc3MtZGVjbGFyYXRpb24taG9yaXpvbnRhbC1wYWRk
aW5nKTsKIH0KIAotLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVy
LCAuaGVhZGVyLW1lZGlhKTpmaXJzdC1jaGlsZCB7Cisuc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0
aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItZ3JvdXBpbmdzKTpmaXJzdC1jaGlsZCB7CiAg
ICAgcGFkZGluZy10b3A6IHZhcigtLWNzcy1kZWNsYXJhdGlvbi12ZXJ0aWNhbC1wYWRkaW5nKTsK
IH0KIApAQCAtNTYsNyArNTYsNyBAQAogICAgIHJpZ2h0OiB2YXIoLS1jc3MtZGVjbGFyYXRpb24t
aG9yaXpvbnRhbC1wYWRkaW5nKTsKIH0KIAotLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAu
bWVkaWEtbGFiZWwgeworLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3Vw
aW5ncyA+IC5ncm91cGluZyB7CiAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpOwogfQogCkBA
IC0xMTIsNiArMTEyLDEwIEBACiAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKIH0KIAor
LnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3VwaW5ncyArIC5oZWFkZXIg
PiAuc2VsZWN0b3IgPiAuaWNvbiB7CisgICAgbWFyZ2luLXRvcDogMDsKK30KKwogLnNwcmVhZHNo
ZWV0LWNzcy1kZWNsYXJhdGlvbiAuc2VsZWN0b3IgPiAuaWNvbiArICogewogICAgIC13ZWJraXQt
cGFkZGluZy1zdGFydDogMnB4OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNo
ZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKaW5kZXggMGFkYzIyNzk4MzNmOTMyYzdi
YjUyZjRjNjYxMTMwNDMxYzhjZDk0OC4uNjQzYjU4YmFiMzBjYjkzZjc4ZjkyODY3N2M2NmJhMDIx
ZTI4NTlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC0zOCw3ICszOCw3IEBAIFdJLlNwcmVhZHNoZWV0Q1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TCiAgICAgICAgIHRoaXMuX3N0eWxlID0gc3R5bGU7CiAgICAgICAgIHRoaXMuX3Byb3Bl
cnRpZXNFZGl0b3IgPSBudWxsOwogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnRzID0gW107
Ci0gICAgICAgIHRoaXMuX21lZGlhRWxlbWVudHMgPSBbXTsKKyAgICAgICAgdGhpcy5fZ3JvdXBp
bmdFbGVtZW50cyA9IFtdOwogICAgICAgICB0aGlzLl9maWx0ZXJUZXh0ID0gbnVsbDsKICAgICAg
ICAgdGhpcy5fc2hvdWxkRm9jdXNTZWxlY3RvckVsZW1lbnQgPSBmYWxzZTsKICAgICAgICAgdGhp
cy5fd2FzRWRpdGluZyA9IGZhbHNlOwpAQCAtOTksNyArOTksMjkgQEAgV0kuU3ByZWFkc2hlZXRD
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNs
YXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChpY29uQ2xh
c3NOYW1lKTsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgbGV0IGdyb3VwaW5ncyA9IHRoaXMu
X3N0eWxlLmdyb3VwaW5ncy5maWx0ZXIoKGdyb3VwaW5nKSA9PiBncm91cGluZy50ZXh0ICE9PSAi
YWxsIik7CisgICAgICAgIGlmIChncm91cGluZ3MubGVuZ3RoKSB7CisgICAgICAgICAgICBsZXQg
Z3JvdXBpbmdzRWxlbWVudCA9IHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKSk7CisgICAgICAgICAgICBncm91cGluZ3NFbGVtZW50LmNsYXNzTGlz
dC5hZGQoImhlYWRlci1ncm91cGluZ3MiKTsKKworICAgICAgICAgICAgbGV0IGN1cnJlbnRHcm91
cGluZ1R5cGUgPSBudWxsOworICAgICAgICAgICAgbGV0IGdyb3VwaW5nVHlwZUVsZW1lbnQgPSBu
dWxsOworICAgICAgICAgICAgdGhpcy5fZ3JvdXBpbmdFbGVtZW50cyA9IGdyb3VwaW5ncy5tYXAo
KGdyb3VwaW5nKSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKGdyb3VwaW5nLnR5cGUgIT09IGN1
cnJlbnRHcm91cGluZ1R5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdUeXBlRWxl
bWVudCA9IGdyb3VwaW5nc0VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2IikpOworICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVFbGVtZW50LmNsYXNz
TGlzdC5hZGQoImdyb3VwaW5nIik7CisgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nVHlwZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSBncm91cGluZy5wcmVmaXggKyAiICI7CisgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRHcm91cGluZ1R5cGUgPSBncm91cGluZy50eXBlOworICAgICAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVFbGVtZW50LmFwcGVu
ZCgiLCAiKTsKKworICAgICAgICAgICAgICAgIGxldCBzcGFuID0gZ3JvdXBpbmdUeXBlRWxlbWVu
dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpOworICAgICAgICAg
ICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBncm91cGluZy50ZXh0OworICAgICAgICAgICAgICAg
IHJldHVybiBzcGFuOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICB0aGlz
Ll9oZWFkZXJFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKSk7CiAgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiaGVhZGVyIik7CiAKICAgICAgICAgdGhpcy5fc3R5bGVPcmlnaW5WaWV3ID0gbmV3IFdJ
LlN0eWxlT3JpZ2luVmlldygpOwpAQCAtMTM2LDcgKzE1OCw3IEBAIFdJLlNwcmVhZHNoZWV0Q1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TCiAgICAgICAgIHRoaXMuX2Nsb3NlQnJhY2UuY2xhc3NMaXN0LmFkZCgiY2xvc2UtYnJh
Y2UiKTsKICAgICAgICAgdGhpcy5fY2xvc2VCcmFjZS50ZXh0Q29udGVudCA9ICJ9IjsKIAotICAg
ICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZCh0aGlzLl9jcmVhdGVNZWRpYUhlYWRlcigpLCB0aGlz
Ll9oZWFkZXJFbGVtZW50KTsKKwogICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fcHJvcGVy
dGllc0VkaXRvcik7CiAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNFZGl0b3IubmVlZHNMYXlvdXQo
KTsKICAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmQodGhpcy5fY2xvc2VCcmFjZSk7CkBAIC0z
ODIsMzEgKzQwNCw2IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24g
PSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TCiAgICAgICAgICAgICB0aGlz
LmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpOwogICAgIH0KIAotICAgIF9jcmVhdGVNZWRp
YUhlYWRlcigpCi0gICAgewotICAgICAgICBsZXQgbWVkaWFMaXN0ID0gdGhpcy5fc3R5bGUubWVk
aWFMaXN0OwotICAgICAgICBpZiAoIW1lZGlhTGlzdC5sZW5ndGggfHwgKG1lZGlhTGlzdC5sZW5n
dGggPT09IDEgJiYgKG1lZGlhTGlzdFswXS50ZXh0ID09PSAiYWxsIiB8fCBtZWRpYUxpc3RbMF0u
dGV4dCA9PT0gInNjcmVlbiIpKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsKLQotICAgICAgICBs
ZXQgbWVkaWFFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAg
IG1lZGlhRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJoZWFkZXItbWVkaWEiKTsKLQotICAgICAgICBs
ZXQgbWVkaWFMYWJlbCA9IG1lZGlhRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKSk7Ci0gICAgICAgIG1lZGlhTGFiZWwuY2xhc3NOYW1lID0gIm1lZGlhLWxh
YmVsIjsKLSAgICAgICAgbWVkaWFMYWJlbC5hcHBlbmQoIkBtZWRpYSAiKTsKLQotICAgICAgICB0
aGlzLl9tZWRpYUVsZW1lbnRzID0gbWVkaWFMaXN0Lm1hcCgobWVkaWEsIGkpID0+IHsKLSAgICAg
ICAgICAgIGlmIChpKQotICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kKCIsICIpOwot
Ci0gICAgICAgICAgICBsZXQgc3BhbiA9IG1lZGlhTGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic3BhbiIpKTsKLSAgICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBt
ZWRpYS50ZXh0OwotICAgICAgICAgICAgcmV0dXJuIHNwYW47Ci0gICAgICAgIH0pOwotCi0gICAg
ICAgIHJldHVybiBtZWRpYUVsZW1lbnQ7Ci0gICAgfQotCiAgICAgX3NhdmUoZXZlbnQpCiAgICAg
ewogICAgICAgICBldmVudC5zdG9wKCk7CkBAIC02NjgsMTMgKzY2NSwxMyBAQCBXSS5TcHJlYWRz
aGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NTdHls
ZURlY2xhcmF0aW9uUwogCiAgICAgX2hhbmRsZUVkaXRvckZpbHRlckFwcGxpZWQoZXZlbnQpCiAg
ICAgewotICAgICAgICBsZXQgbWF0Y2hlc01lZGlhID0gZmFsc2U7Ci0gICAgICAgIGZvciAobGV0
IG1lZGlhRWxlbWVudCBvZiB0aGlzLl9tZWRpYUVsZW1lbnRzKSB7Ci0gICAgICAgICAgICBtZWRp
YUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBh
bmVsLkZpbHRlck1hdGNoU2VjdGlvbkNsYXNzTmFtZSk7CisgICAgICAgIGxldCBtYXRjaGVzR3Jv
dXBpbmcgPSBmYWxzZTsKKyAgICAgICAgZm9yIChsZXQgZ3JvdXBpbmdFbGVtZW50IG9mIHRoaXMu
X2dyb3VwaW5nRWxlbWVudHMpIHsKKyAgICAgICAgICAgIGdyb3VwaW5nRWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuRmlsdGVyTWF0Y2hT
ZWN0aW9uQ2xhc3NOYW1lKTsKIAotICAgICAgICAgICAgaWYgKG1lZGlhRWxlbWVudC50ZXh0Q29u
dGVudC5pbmNsdWRlcyh0aGlzLl9maWx0ZXJUZXh0KSkgewotICAgICAgICAgICAgICAgIG1lZGlh
RWxlbWVudC5jbGFzc0xpc3QuYWRkKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwu
RmlsdGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAgICBtYXRjaGVzTWVk
aWEgPSB0cnVlOworICAgICAgICAgICAgaWYgKGdyb3VwaW5nRWxlbWVudC50ZXh0Q29udGVudC5p
bmNsdWRlcyh0aGlzLl9maWx0ZXJUZXh0KSkgeworICAgICAgICAgICAgICAgIGdyb3VwaW5nRWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuRmls
dGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgICAgICBtYXRjaGVzR3JvdXBp
bmcgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTY4OCw3ICs2ODUsNyBA
QCBXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFk
c2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAg
ICAgICAgbGV0IG1hdGNoZXMgPSBldmVudC5kYXRhLm1hdGNoZXMgfHwgbWF0Y2hlc01lZGlhIHx8
IG1hdGNoZXNTZWxlY3RvcjsKKyAgICAgICAgbGV0IG1hdGNoZXMgPSBldmVudC5kYXRhLm1hdGNo
ZXMgfHwgbWF0Y2hlc0dyb3VwaW5nIHx8IG1hdGNoZXNTZWxlY3RvcjsKICAgICAgICAgaWYgKCFt
YXRjaGVzKQogICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdJLkdlbmVy
YWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuTm9GaWx0ZXJNYXRjaEluU2VjdGlvbkNsYXNzTmFt
ZSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAwZTQ2YzNiMzRiZGEwOGY5Y2E0M2UzYmNiYjFlNWE0N2QxNjhiMzliLi43
NmQ1OTM5NTM1YWE1NmFiM2IzMDc2MDI1MzY5NzIwODNhZDVjNmU1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdyb3VwaW5n
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNDE5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRT
dHlsZXNGb3JOb2RlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5
bGVzRm9yTm9kZS1leHBlY3RlZC50eHQ6CisKIDIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBhZ2U6IGRvbid0IGFs
bG93IHRoZSBkb21haW4gdG8gYmUgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQK
aW5kZXggZjhmZDYzYTkxYWEzY2U1NjE4ZDhiNjJhODUxOThiYWQyYmRjNjQyMC4uMzVjNTY2ZjQ4
ZjI2NDkwZjVhODZmNTZiY2Y5MjFmOGI0NjhjNDMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3Rl
ZC50eHQKQEAgLTc5MCw5ICs3OTAsOSBAQCBJbmhlcml0ZWQ6CiAgICAgICAgICAgInN0eWxlIjog
ewogICAgICAgICAgICAgImNzc1Byb3BlcnRpZXMiOiBbCiAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAibmFtZSI6ICJ6LWluZGV4IiwKLSAgICAgICAgICAgICAgICAidmFsdWUiOiAi
MCIsCi0gICAgICAgICAgICAgICAgInRleHQiOiAiei1pbmRleDogMDsiLAorICAgICAgICAgICAg
ICAgICJuYW1lIjogImNvbG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAg
ICAgICAgICAgICAgICAidGV4dCI6ICJjb2xvcjogcmVkOyIsCiAgICAgICAgICAgICAgICAgInJh
bmdlIjogIjxmaWx0ZXJlZD4iLAogICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAog
ICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiYWN0aXZlIgpAQCAtODAzLDcgKzgwMyw1NyBAQCBJ
bmhlcml0ZWQ6CiAgICAgICAgICAgICAid2lkdGgiOiAiIiwKICAgICAgICAgICAgICJoZWlnaHQi
OiAiIiwKICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKLSAgICAgICAgICAgICJj
c3NUZXh0IjogIiB6LWluZGV4OiAwOyAiCisgICAgICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6
IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+
IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJncm91cGlu
Z3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0IjogIihtaW4td2lkdGg6
IDBweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRpYS1pbXBvcnQtcnVsZSIsCisgICAg
ICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICBdCisgICAgICAgIH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVjdG9ycyI6IFsKKyAgICAg
ICAgICAwCisgICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJydWxlIjogewor
ICAgICAgICAgICJzZWxlY3Rvckxpc3QiOiB7CisgICAgICAgICAgICAic2VsZWN0b3JzIjogWwor
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAg
ICAgICAgICAgInNwZWNpZmljaXR5IjogWworICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAg
ICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAxCisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInRleHQiOiAiYm9keSIs
CisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICB9LAorICAgICAg
ICAgICJzb3VyY2VMaW5lIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJvcmlnaW4iOiAicmVn
dWxhciIsCisgICAgICAgICAgInN0eWxlIjogeworICAgICAgICAgICAgImNzc1Byb3BlcnRpZXMi
OiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2xvciIsCisg
ICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAgInRleHQiOiAi
Y29sb3I6IHJlZDsiLAorICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAg
ICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAic3RhdHVz
IjogImFjdGl2ZSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAg
ICJzaG9ydGhhbmRFbnRyaWVzIjogW10sCisgICAgICAgICAgICAic3R5bGVJZCI6ICI8ZmlsdGVy
ZWQ+IiwKKyAgICAgICAgICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAgICAgImhlaWdodCI6ICIi
LAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgImNzc1Rl
eHQiOiAiIGNvbG9yOiByZWQ7ICIKICAgICAgICAgICB9LAogICAgICAgICAgICJzb3VyY2VVUkwi
OiAiPGZpbHRlcmVkPiIsCiAgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IgpAQCAtODEx
LDYgKzg2MSwyMTEgQEAgSW5oZXJpdGVkOgogICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBb
CiAgICAgICAgICAgMAogICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVs
ZSI6IHsKKyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9y
cyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAor
ICAgICAgICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisg
ICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAg
IF0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0Ijog
ImJvZHkiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwK
KyAgICAgICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2lu
IjogInJlZ3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9w
ZXJ0aWVzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29s
b3IiLAorICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0
ZXh0IjogImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVk
PiIsCisgICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAg
InN0YXR1cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAi
PGZpbHRlcmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWln
aHQiOiAiIiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAg
ICJjc3NUZXh0IjogIiBjb2xvcjogcmVkOyAiCisgICAgICAgICAgfSwKKyAgICAgICAgICAic291
cmNlVVJMIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIs
CisgICAgICAgICAgImdyb3VwaW5ncyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
InRleHQiOiAiKG1pbi13aWR0aDogMXB4KSIsCisgICAgICAgICAgICAgICJ0eXBlIjogIm1lZGlh
LXJ1bGUiLAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAg
ICAgICB9CisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3Rv
cnMiOiBbCisgICAgICAgICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAg
ICAicnVsZSI6IHsKKyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNl
bGVjdG9ycyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJv
ZHkiLAorICAgICAgICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAg
IDAsCisgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAg
ICAgICAgIF0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0
ZXh0IjogImJvZHkiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAg
ICAgfSwKKyAgICAgICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAi
b3JpZ2luIjogInJlZ3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJj
c3NQcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUi
OiAiY29sb3IiLAorICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAg
ICAgICJ0ZXh0IjogImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZp
bHRlcmVkPiIsCisgICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAg
ICAgICAgInN0YXR1cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxl
SWQiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAg
ICJoZWlnaHQiOiAiIiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAg
ICAgICAgICJjc3NUZXh0IjogIiBjb2xvcjogcmVkOyAiCisgICAgICAgICAgfSwKKyAgICAgICAg
ICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRl
cmVkPiIsCisgICAgICAgICAgImdyb3VwaW5ncyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgInRleHQiOiAiKGRpc3BsYXk6IGJsb2NrKSIsCisgICAgICAgICAgICAgICJ0eXBlIjog
InN1cHBvcnRzLXJ1bGUiLAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4i
CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIo
bWluLXdpZHRoOiAycHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtcnVsZSIsCisg
ICAgICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVjdG9ycyI6IFsKKyAg
ICAgICAgICAwCisgICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJydWxlIjog
eworICAgICAgICAgICJzZWxlY3Rvckxpc3QiOiB7CisgICAgICAgICAgICAic2VsZWN0b3JzIjog
WworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRleHQiOiAiYm9keSIsCisgICAg
ICAgICAgICAgICAgInNwZWNpZmljaXR5IjogWworICAgICAgICAgICAgICAgICAgMCwKKyAgICAg
ICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAxCisgICAgICAgICAgICAgICAgXQor
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInRleHQiOiAiYm9k
eSIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAgICAgICB9LAorICAg
ICAgICAgICJzb3VyY2VMaW5lIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJvcmlnaW4iOiAi
cmVndWxhciIsCisgICAgICAgICAgInN0eWxlIjogeworICAgICAgICAgICAgImNzc1Byb3BlcnRp
ZXMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJjb2xvciIs
CisgICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAgICAgICAgInRleHQi
OiAiY29sb3I6IHJlZDsiLAorICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwK
KyAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAic3Rh
dHVzIjogImFjdGl2ZSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICJzaG9ydGhhbmRFbnRyaWVzIjogW10sCisgICAgICAgICAgICAic3R5bGVJZCI6ICI8Zmls
dGVyZWQ+IiwKKyAgICAgICAgICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAgICAgImhlaWdodCI6
ICIiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgImNz
c1RleHQiOiAiIGNvbG9yOiByZWQ7IgorICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZVVS
TCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAg
ICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICJ0ZXh0
IjogIihtaW4td2lkdGg6IDNweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRpYS1zdHls
ZS1ub2RlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAg
ICAgICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5nU2VsZWN0
b3JzIjogWworICAgICAgICAgIDAKKyAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAg
ICAgInJ1bGUiOiB7CisgICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJz
ZWxlY3RvcnMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJi
b2R5IiwKKyAgICAgICAgICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAg
ICAwLAorICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAg
ICAgICAgICBdCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
dGV4dCI6ICJib2R5IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAg
ICAgIH0sCisgICAgICAgICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
Im9yaWdpbiI6ICJyZWd1bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAi
Y3NzUHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1l
IjogImNvbG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAg
ICAgICAidGV4dCI6ICJjb2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxm
aWx0ZXJlZD4iLAorICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgInNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHls
ZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAg
ICAiaGVpZ2h0IjogIiIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAg
ICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0
ZXJlZD4iLAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICJ0ZXh0IjogIihtaW4td2lkdGg6IDRweCkiLAorICAgICAgICAgICAgICAidHlwZSI6
ICJtZWRpYS1saW5rLW5vZGUiLAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJl
ZD4iCisgICAgICAgICAgICB9CisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0
Y2hpbmdTZWxlY3RvcnMiOiBbCisgICAgICAgICAgMAorICAgICAgICBdCiAgICAgICB9CiAgICAg
XQogICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRT
dHlsZXNGb3JOb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRT
dHlsZXNGb3JOb2RlLmh0bWwKaW5kZXggNjFjODBiMTg2ZjQ3ZDQzY2M1YzBiMzkxNDQ0YWNlMDVi
OGQzM2ZkMC4uNmRiYmYyZWEzOWEwNGZlMzQ0ZDZjMTgyMjEyYzE1YmM4YTg3YmEyZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5v
ZGUuaHRtbApAQCAtMSw2ICsxLDM2IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KKyAgICBAaW1wb3J0IHVybChyZXNvdXJjZXMvZXh0ZXJuYWwuY3NzPzEp
IChtaW4td2lkdGg6IDBweCk7CisKKyAgICBib2R5IHsgY29sb3I6IHJlZDsgfQorICAgIEBtZWRp
YSAobWluLXdpZHRoOiAxcHgpIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfQorICAgIEBtZWRpYSAo
bWluLXdpZHRoOiAycHgpIHsgQHN1cHBvcnRzKGRpc3BsYXk6IGJsb2NrKSB7IGJvZHkgeyBjb2xv
cjogcmVkOyB9IH0gfQorPC9zdHlsZT4KKzxzdHlsZSBtZWRpYT0iKG1pbi13aWR0aDogM3B4KSI+
CisgICAgYm9keSB7IGNvbG9yOiByZWQ7fQorPC9zdHlsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL2V4dGVybmFsLmNzcz8yIiBtZWRpYT0iKG1pbi13aWR0aDogNHB4
KSI+Cis8c3R5bGU+CisgICAgZGl2I3ggeyB6LWluZGV4OiAxMDA7IH0KKyAgICAjeCB7IHotaW5k
ZXg6IDIwMDsgfQorICAgIGRpdiB7IHotaW5kZXg6IDMwMDsgfQorCisgICAgZGl2OjpmaXJzdC1s
aW5lIHsgei1pbmRleDogMTsgfQorICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgei1pbmRleDogMjsg
fQorICAgIGRpdjo6bWFya2VyIHsgei1pbmRleDogMzsgfQorICAgIGRpdjo6YmVmb3JlIHsgei1p
bmRleDogNDsgfQorICAgIGRpdjo6YWZ0ZXIgeyB6LWluZGV4OiA1OyB9CisgICAgZGl2OjpzZWxl
Y3Rpb24geyB6LWluZGV4OiA2OyB9CisgICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7IHotaW5k
ZXg6IDc7IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgei1pbmRleDogODsg
fQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsgei1pbmRleDogOTsgfQorICAg
IGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyB6LWluZGV4OiAxMDsgfQorICAgIGRpdjo6
LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UgeyB6LWluZGV4OiAxMTsgfQorICAgIGRpdjo6
LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgei1pbmRleDogMTI7IH0KKyAgICBkaXY6Oi13ZWJr
aXQtcmVzaXplciB7IHotaW5kZXg6IDEzOyB9Cis8L3N0eWxlPgogPHNjcmlwdD4KIGZ1bmN0aW9u
IHRlc3QoKQogewpAQCAtNzUsMjkgKzEwNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGVzdGluZyBDU1Mu
Z2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuPC9wPgotCi0gICAgPHN0eWxlPgotICAgIGJvZHkgeyB6
LWluZGV4OiAwOyB9Ci0KLSAgICBkaXYjeCB7IHotaW5kZXg6IDEwMDsgfQotICAgICN4IHsgei1p
bmRleDogMjAwOyB9Ci0gICAgZGl2IHsgei1pbmRleDogMzAwOyB9Ci0KLSAgICBkaXY6OmZpcnN0
LWxpbmUgeyB6LWluZGV4OiAxOyB9Ci0gICAgZGl2OjpmaXJzdC1sZXR0ZXIgeyB6LWluZGV4OiAy
OyB9Ci0gICAgZGl2OjptYXJrZXIgeyB6LWluZGV4OiAzOyB9Ci0gICAgZGl2OjpiZWZvcmUgeyB6
LWluZGV4OiA0OyB9Ci0gICAgZGl2OjphZnRlciB7IHotaW5kZXg6IDU7IH0KLSAgICBkaXY6OnNl
bGVjdGlvbiB7IHotaW5kZXg6IDY7IH0KLSAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgei1p
bmRleDogNzsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyB6LWluZGV4OiA4
OyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhci1idXR0b24geyB6LWluZGV4OiA5OyB9Ci0g
ICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7IHotaW5kZXg6IDEwOyB9Ci0gICAgZGl2
Ojotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSB7IHotaW5kZXg6IDExOyB9Ci0gICAgZGl2
Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIgeyB6LWluZGV4OiAxMjsgfQotICAgIGRpdjo6LXdl
YmtpdC1yZXNpemVyIHsgei1pbmRleDogMTM7IH0KLSAgICA8L3N0eWxlPgotICAgIDxkaXYgaWQ9
IngiPjwvZGl2PgorPHA+VGVzdGluZyBDU1MuZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuPC9wPgor
PGRpdiBpZD0ieCI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375896</attachid>
            <date>2019-08-08 23:53:12 -0700</date>
            <delta_ts>2019-08-13 09:30:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200419.patch</filename>
            <type>text/plain</type>
            <size>61028</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBjZTFlMjdjZjFlNzJlYjk3MWIwMzFkY2MwODM3
ODc4MDc5OWVlMzQuLmYzZDFiNzc2ZWI1ODlkOWVmM2QyZDc5YzYyYWQ4YzE3NGE0ZGQ2OGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTA4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQxOQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTM5NzE5NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisg
ICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uOgorICAgICAgICBSZW5hbWUgYENT
U01lZGlhYCB0byBgR3JvdXBpbmdgIGFuZCByZW1vdmUgdGhlIGBzb3VyY2VMaW5lYCB2YWx1ZSwg
YXMgaXQgd2FzIG5ldmVyIHBvcHVsYXRlZAorICAgICAgICBhbmQgd2Fzbid0IHVzZWQgYnkgV2Vi
IEluc3BlY3Rvci4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHk6CisgICAgICAgIChPYmpDSGVhZGVyR2VuZXJhdG9y
LmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmNsdWRpbmcgZmls
ZXMgYXQgdGhlIGVuZCBvZiA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+IGZvciBjb21wYXRp
YmlsaXR5CisgICAgICAgIHN0YXRlbWVudHMgc28gdGhhdCBjaGFuZ2VzIHRvIHRoZSBXZWIgSW5z
cGVjdG9yIHByb3RvY29sIGRvbid0IGJyZWFrIG90aGVyIGNsaWVudHMuCisKIDIwMTktMDgtMDgg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFBhZ2U6IGRvbid0IGFsbG93IHRoZSBkb21haW4gdG8gYmUgZGlzYWJsZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBiYjVkZjFkYzQyOGJhNmU3OGY0NDRmNTIxOGFkOWU3YjZjZjVlYjA1Li5mYTUzZjBkNDJh
YTMyOWZlNDViMzhjOTJhMGEwNTBiMjVjZjdmNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdyb3VwaW5ncwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNDE5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBK
b3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVT
aGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZEFycmF5Rm9yR3JvdXBpbmdzKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjpidWlsZE9iamVjdEZv
clJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRNZWRpYU9iamVjdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpmaWxsTWVkaWFMaXN0Q2hhaW4pOiBEZWxldGVkLgorCisgICAgICAg
ICogY3NzL01lZGlhTGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFRdWVyeVNldDo6TWVkaWFRdWVyeVNldCk6CisgICAgICAgIFJlbW92
ZSB0aGUgYGxhc3RMaW5lYCBhcyBpdCB3YXMgbmV2ZXIgc2V0IGJ5IGFueW9uZSBhbmQgd2Fzbid0
IHVzZWQgYnkgV2ViIEluc3BlY3Rvci4KKwogMjAxOS0wOC0wOCAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUGFnZTogZG9uJ3QgYWxs
b3cgdGhlIGRvbWFpbiB0byBiZSBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXgg
Y2UzMmFjMWZmYWRkNjkyNjkwZmNiZjdjY2M3ZWI1NWJkYjVkZjU2Ny4uYjkwMWFmNDg1MGI1M2Ri
YTNhZGE4MWRkMTdiMjZiYTVlZDgwNjJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTcgQEAKKzIwMTktMDgtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMgQ1NTIGdy
b3VwaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAwNDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVs
cy9DU1NHcm91cGluZy5qczogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcy4KKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nKToK
KyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3RvdHlwZS5nZXQgdHlwZSk6CisgICAgICAgIChX
SS5DU1NHcm91cGluZy5wcm90b3R5cGUuZ2V0IHRleHQpOgorICAgICAgICAoV0kuQ1NTR3JvdXBp
bmcucHJvdG90eXBlLmdldCBzb3VyY2VDb2RlTG9jYXRpb24pOgorICAgICAgICAoV0kuQ1NTR3Jv
dXBpbmcucHJvdG90eXBlLmdldCBpc01lZGlhKTogQWRkZWQuCisgICAgICAgIChXSS5DU1NHcm91
cGluZy5wcm90b3R5cGUuZ2V0IGlzU3VwcG9ydHMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU0dy
b3VwaW5nLnByb3RvdHlwZS5nZXQgcHJlZml4KTogQWRkZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzOgorICAgICAgICAoV0kuQ1NTU3R5
bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IGdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAo
V0kuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKToK
KyAgICAgICAgKFdJLkNTU1N0eWxlRGVjbGFyYXRpb24ucHJvdG90eXBlLmdldCBtZWRpYUxpc3Qp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qczoK
KyAgICAgICAgKFdJLkNTU1J1bGUpOgorICAgICAgICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUuZ2V0
IGdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTUnVsZS5wcm90b3R5cGUudXBkYXRl
KToKKyAgICAgICAgKFdJLkNTU1J1bGUucHJvdG90eXBlLl9zZWxlY3RvclJlc29sdmVkKToKKyAg
ICAgICAgKFdJLkNTU1J1bGUucHJvdG90eXBlLmdldCBtZWRpYUxpc3QpOiBEZWxldGVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qczoKKyAgICAgICAg
KFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLl9wYXJzZVJ1bGVQYXlsb2FkKToKKyAgICAgICAg
KFdJLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLnJ1bGVzRm9yU2VsZWN0b3IpOiBEZWxldGVkLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbik6CisgICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLnByb3RvdHlwZS5pbml0aWFsTGF5b3V0KToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVFZGl0b3JGaWx0ZXJB
cHBsaWVkKToKKyAgICAgICAgKFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b24ucHJvdG90eXBlLl9jcmVhdGVNZWRpYUhlYWRlcik6IERlbGV0ZWQuCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmNz
czoKKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRl
ciwgLmhlYWRlci1ncm91cGluZ3MpKTogQWRkZWQuCisgICAgICAgICguc3ByZWFkc2hlZXQtY3Nz
LWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItZ3JvdXBpbmdzKTpmaXJzdC1j
aGlsZCk6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiAuaGVh
ZGVyLWdyb3VwaW5ncyA+IC5ncm91cGluZyk6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0
LWNzcy1kZWNsYXJhdGlvbiAuaGVhZGVyLWdyb3VwaW5ncyArIC5oZWFkZXIgPiAuc2VsZWN0b3Ig
PiAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6
bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLW1lZGlhKSk6IERlbGV0ZWQuCisgICAgICAgICguc3By
ZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEp
OmZpcnN0LWNoaWxkKTogRGVsZXRlZC4KKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFy
YXRpb24gLm1lZGlhLWxhYmVsKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvQ1NTTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJvdG9j
b2xHcm91cGluZ1R5cGVUb0VudW0pOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJv
dG9jb2xNZWRpYVNvdXJjZVRvRW51bSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QuaHRtbDoKKwogMjAx
OS0wOC0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogUGFnZTogZG9uJ3QgYWxsb3cgdGhlIGRvbWFpbiB0byBiZSBkaXNhYmxlZApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1Mu
anNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24K
aW5kZXggZTQ4ZjNiYjBhNjM2MzMzNDVlYjk2NzQxODFiZGQzNWRkNGYwOWVjMC4uY2RhMzE3NWM0
NjliMGQyMDRjYjg2YTdiYzg4MTU5MWQwMzk3ZTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uCkBAIC0xNDQsNyArMTQ0LDcgQEAK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZUxpbmUiLCAidHlwZSI6ICJpbnRlZ2Vy
IiwgImRlc2NyaXB0aW9uIjogIkxpbmUgb3JkaW5hbCBvZiB0aGUgcnVsZSBzZWxlY3RvciBzdGFy
dCBjaGFyYWN0ZXIgaW4gdGhlIHJlc291cmNlLiJ9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAib3JpZ2luIiwgIiRyZWYiOiAiU3R5bGVTaGVldE9yaWdpbiIsICJkZXNjcmlwdGlvbiI6ICJQ
YXJlbnQgc3R5bGVzaGVldCdzIG9yaWdpbi4ifSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InN0eWxlIiwgIiRyZWYiOiAiQ1NTU3R5bGUiLCAiZGVzY3JpcHRpb24iOiAiQXNzb2NpYXRlZCBz
dHlsZSBkZWNsYXJhdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJtZWRpYSIs
ICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDU1NNZWRpYSIgfSwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1lZGlhIGxpc3QgYXJyYXkgKGZvciBydWxlcyBp
bnZvbHZpbmcgbWVkaWEgcXVlcmllcykuIFRoZSBhcnJheSBlbnVtZXJhdGVzIG1lZGlhIHF1ZXJp
ZXMgc3RhcnRpbmcgd2l0aCB0aGUgaW5uZXJtb3N0IG9uZSwgZ29pbmcgb3V0d2FyZHMuIiB9Cisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJncm91cGluZ3MiLCAidHlwZSI6ICJhcnJheSIsICJp
dGVtcyI6IHsgIiRyZWYiOiAiR3JvdXBpbmciIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJHcm91cGluZyBsaXN0IGFycmF5IChmb3IgcnVsZXMgaW52b2x2aW5nIEBtZWRpYS9A
c3VwcG9ydHMpLiBUaGUgYXJyYXkgZW51bWVyYXRlcyBDU1MgZ3JvdXBpbmdzIHN0YXJ0aW5nIHdp
dGggdGhlIGlubmVybW9zdCBvbmUsIGdvaW5nIG91dHdhcmRzLiIgfQogICAgICAgICAgICAgXQog
ICAgICAgICB9LAogICAgICAgICB7CkBAIC0yMjEsMTQgKzIyMSwxMyBAQAogICAgICAgICAgICAg
XQogICAgICAgICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAiaWQiOiAiQ1NTTWVkaWEiLAor
ICAgICAgICAgICAgImlkIjogIkdyb3VwaW5nIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVj
dCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ1NTIG1lZGlhIHF1ZXJ5IGRlc2NyaXB0
b3IuIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgQG1lZGlhIChhcyB3ZWxsIGFz
IG90aGVyIHVzZXJzIG9mIG1lZGlhIHF1ZXJpZXMsIGxpa2UgQGltcG9ydCwgPHN0eWxlPiwgPGxp
bms+LCBldGMuKSBhbmQgQHN1cHBvcnRzIGRlc2NyaXB0b3IuIiwKICAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0
cmluZyIsICJkZXNjcmlwdGlvbiI6ICJNZWRpYSBxdWVyeSB0ZXh0LiIgfSwKLSAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRp
YVJ1bGUiLCAiaW1wb3J0UnVsZSIsICJsaW5rZWRTaGVldCIsICJpbmxpbmVTaGVldCJdLCAiZGVz
Y3JpcHRpb24iOiAiU291cmNlIG9mIHRoZSBtZWRpYSBxdWVyeTogXCJtZWRpYVJ1bGVcIiBpZiBz
cGVjaWZpZWQgYnkgYSBAbWVkaWEgcnVsZSwgXCJpbXBvcnRSdWxlXCIgaWYgc3BlY2lmaWVkIGJ5
IGFuIEBpbXBvcnQgcnVsZSwgXCJsaW5rZWRTaGVldFwiIGlmIHNwZWNpZmllZCBieSBhIFwibWVk
aWFcIiBhdHRyaWJ1dGUgaW4gYSBsaW5rZWQgc3R5bGVzaGVldCdzIExJTksgdGFnLCBcImlubGlu
ZVNoZWV0XCIgaWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRpYVwiIGF0dHJpYnV0ZSBpbiBhbiBpbmxp
bmUgc3R5bGVzaGVldCdzIFNUWUxFIHRhZy4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJzb3VyY2VVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiVVJMIG9mIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSBk
ZXNjcmlwdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VMaW5lIiwg
InR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJMaW5l
IGluIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBtZWRpYSBxdWVyeSAobm90IGRlZmluZWQg
Zm9yIHRoZSBcInN0eWxlc2hlZXRcIiBzb3VyY2UpLiIgfQorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJtZWRpYS1ydWxlIiwgIm1l
ZGlhLWltcG9ydC1ydWxlIiwgIm1lZGlhLWxpbmstbm9kZSIsICJtZWRpYS1zdHlsZS1ub2RlIiwg
InN1cHBvcnRzLXJ1bGUiXSwgImRlc2NyaXB0aW9uIjogIlNvdXJjZSBvZiB0aGUgbWVkaWEgcXVl
cnk6IFwibWVkaWEtcnVsZVwiIGlmIHNwZWNpZmllZCBieSBhIEBtZWRpYSBydWxlLCBcIm1lZGlh
LWltcG9ydC1ydWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFuIEBpbXBvcnQgcnVsZSwgXCJtZWRpYS1s
aW5rLW5vZGVcIiBpZiBzcGVjaWZpZWQgYnkgYSBcIm1lZGlhXCIgYXR0cmlidXRlIGluIGEgbGlu
a2VkIHN0eWxlIHNoZWV0J3MgTElOSyB0YWcsIFwibWVkaWEtc3R5bGUtbm9kZVwiIGlmIHNwZWNp
ZmllZCBieSBhIFwibWVkaWFcIiBhdHRyaWJ1dGUgaW4gYW4gaW5saW5lIHN0eWxlIHNoZWV0J3Mg
U1RZTEUgdGFnLCBcInN1cHBvcnRzLXJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYW4gQHN1cHBvcnRz
IHJ1bGUsIC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VVUkwiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRo
ZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBDU1MgZ3JvdXBpbmcuIiB9CiAgICAgICAgICAgICBd
CiAgICAgICAgIH0KICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hl
YWRlci5weQppbmRleCAyNTMyNjUyZThmNWQ5M2Q0ZjAyMTQ5MWU1Zjg0NWMwOWRhMDZhZDdjLi5i
MDlmNzIzMmZiYzU4MDdhOWQwYjQ2ZTg3MDlkNTM1YmE3NDE3MmY1IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpj
X2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weQpAQCAtNTcsMTIgKzU3LDIwIEBAIGNsYXNz
IE9iakNIZWFkZXJHZW5lcmF0b3IoT2JqQ0dlbmVyYXRvcik6CiAgICAgICAgIHJldHVybiAnJXMu
aCcgJSBzZWxmLnByb3RvY29sX25hbWUoKQogCiAgICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxm
KToKLSAgICAgICAgaGVhZGVycyA9IHNldChbCisgICAgICAgIGhlYWRlclByZWx1ZGVIZWFkZXJz
ID0gc2V0KFsKICAgICAgICAgICAgICc8V2ViSW5zcGVjdG9yLyVzSlNPTk9iamVjdC5oPicgJSBP
YmpDR2VuZXJhdG9yLk9CSkNfU1RBVElDX1BSRUZJWCwKICAgICAgICAgXSkKIAotICAgICAgICBo
ZWFkZXJfYXJncyA9IHsKLSAgICAgICAgICAgICdpbmNsdWRlcyc6ICdcbicuam9pbihbJyNpbXBv
cnQgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIHNvcnRlZChoZWFkZXJzKV0pLAorICAgICAgICBo
ZWFkZXJQcmVsdWRlX2FyZ3MgPSB7CisgICAgICAgICAgICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4o
WycjaW1wb3J0ICcgKyBoZWFkZXIgZm9yIGhlYWRlciBpbiBzb3J0ZWQoaGVhZGVyUHJlbHVkZUhl
YWRlcnMpXSksCisgICAgICAgIH0KKworICAgICAgICBoZWFkZXJQb3N0bHVkZUhlYWRlcnMgPSBz
ZXQoWworICAgICAgICAgICAgJzxXZWJJbnNwZWN0b3IvJXNCdWlsZENvbXBhdGliaWxpdHlPYmpl
Y3RzLmg+JyAlIE9iakNHZW5lcmF0b3IuT0JKQ19TVEFUSUNfUFJFRklYLAorICAgICAgICBdKQor
CisgICAgICAgIGhlYWRlclBvc3RsdWRlX2FyZ3MgPSB7CisgICAgICAgICAgICAnaW5jbHVkZXMn
OiAnXG4nLmpvaW4oWycjaW1wb3J0ICcgKyBoZWFkZXIgZm9yIGhlYWRlciBpbiBzb3J0ZWQoaGVh
ZGVyUG9zdGx1ZGVIZWFkZXJzKV0pLAogICAgICAgICB9CiAKICAgICAgICAgZG9tYWlucyA9IHNl
bGYuZG9tYWluc190b19nZW5lcmF0ZSgpCkBAIC03Nyw3ICs4NSw3IEBAIGNsYXNzIE9iakNIZWFk
ZXJHZW5lcmF0b3IoT2JqQ0dlbmVyYXRvcik6CiAKICAgICAgICAgc2VjdGlvbnMgPSBbXQogICAg
ICAgICBzZWN0aW9ucy5hcHBlbmQoc2VsZi5nZW5lcmF0ZV9saWNlbnNlKCkpCi0gICAgICAgIHNl
Y3Rpb25zLmFwcGVuZChUZW1wbGF0ZShPYmpDVGVtcGxhdGVzLkhlYWRlclByZWx1ZGUpLnN1YnN0
aXR1dGUoTm9uZSwgKipoZWFkZXJfYXJncykpCisgICAgICAgIHNlY3Rpb25zLmFwcGVuZChUZW1w
bGF0ZShPYmpDVGVtcGxhdGVzLkhlYWRlclByZWx1ZGUpLnN1YnN0aXR1dGUoTm9uZSwgKipoZWFk
ZXJQcmVsdWRlX2FyZ3MpKQogICAgICAgICBzZWN0aW9ucy5hcHBlbmQoJ1xuJy5qb2luKFtfZiBm
b3IgX2YgaW4gbWFwKHNlbGYuX2dlbmVyYXRlX2ZvcndhcmRfZGVjbGFyYXRpb25zLCB0eXBlX2Rv
bWFpbnMpIGlmIF9mXSkpCiAgICAgICAgIHNlY3Rpb25zLmFwcGVuZChzZWxmLl9nZW5lcmF0ZV9l
bnVtX2Zvcl9wbGF0Zm9ybXMoKSkKICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKCdcbicuam9pbihb
X2YgZm9yIF9mIGluIG1hcChzZWxmLl9nZW5lcmF0ZV9lbnVtcywgdHlwZV9kb21haW5zKSBpZiBf
Zl0pKQpAQCAtODcsNyArOTUsNyBAQCBjbGFzcyBPYmpDSGVhZGVyR2VuZXJhdG9yKE9iakNHZW5l
cmF0b3IpOgogICAgICAgICAgICAgc2VjdGlvbnMuYXBwZW5kKCdcblxuJy5qb2luKFtfZiBmb3Ig
X2YgaW4gbWFwKHNlbGYuX2dlbmVyYXRlX2NvbW1hbmRfcHJvdG9jb2xzLCBjb21tYW5kX2RvbWFp
bnMpIGlmIF9mXSkpCiAgICAgICAgICAgICBzZWN0aW9ucy5hcHBlbmQoJ1xuXG4nLmpvaW4oW19m
IGZvciBfZiBpbiBtYXAoc2VsZi5fZ2VuZXJhdGVfZXZlbnRfaW50ZXJmYWNlcywgZXZlbnRfZG9t
YWlucykgaWYgX2ZdKSkKIAotICAgICAgICBzZWN0aW9ucy5hcHBlbmQoVGVtcGxhdGUoT2JqQ1Rl
bXBsYXRlcy5IZWFkZXJQb3N0bHVkZSkuc3Vic3RpdHV0ZShOb25lKSkKKyAgICAgICAgc2VjdGlv
bnMuYXBwZW5kKFRlbXBsYXRlKE9iakNUZW1wbGF0ZXMuSGVhZGVyUG9zdGx1ZGUpLnN1YnN0aXR1
dGUoTm9uZSwgKipoZWFkZXJQb3N0bHVkZV9hcmdzKSkKICAgICAgICAgcmV0dXJuICdcblxuJy5q
b2luKHNlY3Rpb25zKQogCiAgICAgZGVmIF9nZW5lcmF0ZV9mb3J3YXJkX2RlY2xhcmF0aW9ucyhz
ZWxmLCBkb21haW4pOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5lcmF0b3JfdGVt
cGxhdGVzLnB5CmluZGV4IDUwYzhmNmZkZTdjZTY4OThiMDgyODE0OTk3YmU1N2Q3MzAxOWIyNTMu
LjY2ZjlmZDJkYzQ3MGQyMWY0ZGU1N2RlODI4YzE1OTQ0NTY3MTIzYmIgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL29iamNfZ2VuZXJh
dG9yX3RlbXBsYXRlcy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKQEAgLTM2LDcgKzM2LDkg
QEAgJHtpbmNsdWRlc30KICIiIikKIAogICAgIEhlYWRlclBvc3RsdWRlID0gKAotICAgICIiIiIi
IikKKyAgICAiIiIKKyR7aW5jbHVkZXN9CisiIiIpCiAKICAgICBUeXBlQ29udmVyc2lvbnNIZWFk
ZXJQcmVsdWRlID0gKAogICAgICIiIiR7aW5jbHVkZXN9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3Bw
CmluZGV4IDFhZDk2NDQzMjEwOTRjYTgyMjJmZjZkZjIzYmU5YTQ3ZWM1Zjg0MTQuLjIxMTJmNDBj
NGM3MjA4MGJhODBlNWQyZDI5MjkyNGI3NmYxN2ExYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3Qu
Y3BwCkBAIC03Myw3ICs3Myw2IEBAIE1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlTZXQoKSA9IGRl
ZmF1bHQ7CiAKIE1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVlcnlTZXQoY29uc3QgTWVkaWFRdWVyeVNl
dCYgbykKICAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgbV9sYXN0TGluZShvLm1fbGFzdExpbmUp
CiAgICAgLCBtX3F1ZXJpZXMoby5tX3F1ZXJpZXMpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmgK
aW5kZXggNGNiZDQwMTEyMzkyNGYzNGUzMjBiMGQ3ZDc5MTNmMDdhMWMzMjViMi4uMmI2ZDk4Nzkz
MWY4N2RmZGU5YjNiZWIzMmQzMWNiYzc2NjY1NjA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaApA
QCAtNTYsOSArNTYsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8TWVkaWFRdWVyeT4m
IHF1ZXJ5VmVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9xdWVyaWVzOyB9CiAKLSAgICBpbnQgbGFz
dExpbmUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RMaW5lOyB9Ci0gICAgdm9pZCBzZXRMYXN0TGlu
ZShpbnQgbGFzdExpbmUpIHsgbV9sYXN0TGluZSA9IGxhc3RMaW5lOyB9Ci0KICAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgbWVkaWFUZXh0KCkgY29uc3Q7CiAKICAgICBSZWY8TWVkaWFRdWVyeVNl
dD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeVNldCgqdGhp
cykpOyB9CkBAIC03MCw3ICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFRdWVyeVNldChjb25zdCBTdHJpbmcmIG1lZGlhUXVlcnkpOwogICAgIE1lZGlhUXVlcnlTZXQo
Y29uc3QgTWVkaWFRdWVyeVNldCYpOwogCi0gICAgaW50IG1fbGFzdExpbmUgeyAwIH07CiAgICAg
VmVjdG9yPE1lZGlhUXVlcnk+IG1fcXVlcmllczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCBjYTMwZTFhMjdiZjQwNjE4
NWE0ODMyMGEyNjMxODNlYTdlNmU0N2UzLi4xNDk1ZjM5ZTJhNDVlM2M3MmE5NjE0YWZmNTc5ZTY0
ZGRmNTVjMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0
eWxlU2hlZXQuY3BwCkBAIC0zNzksMTMgKzM3OSw2IEBAIHZvaWQgU3R5bGVTaGVldEhhbmRsZXI6
Om9ic2VydmVDb21tZW50KHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQp
CiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay5sYXN0KCktPnN0eWxlU291cmNlRGF0YS0+cHJv
cGVydHlEYXRhLmFwcGVuZChDU1NQcm9wZXJ0eVNvdXJjZURhdGEocHJvcGVydHlEYXRhLm5hbWUs
IHByb3BlcnR5RGF0YS52YWx1ZSwgZmFsc2UsIHRydWUsIHRydWUsIFNvdXJjZVJhbmdlKHN0YXJ0
T2Zmc2V0IC0gdG9wUnVsZUJvZHlSYW5nZS5zdGFydCwgZW5kT2Zmc2V0IC0gdG9wUnVsZUJvZHlS
YW5nZS5zdGFydCkpKTsKIH0KIAotZW51bSBNZWRpYUxpc3RTb3VyY2UgewotICAgIE1lZGlhTGlz
dFNvdXJjZUxpbmtlZFNoZWV0LAotICAgIE1lZGlhTGlzdFNvdXJjZUlubGluZVNoZWV0LAotICAg
IE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVsZSwKLSAgICBNZWRpYUxpc3RTb3VyY2VJbXBvcnRSdWxl
Ci19OwotCiBzdGF0aWMgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U291cmNlUmFu
Z2U+IGJ1aWxkU291cmNlUmFuZ2VPYmplY3QoY29uc3QgU291cmNlUmFuZ2UmIHJhbmdlLCBjb25z
dCBWZWN0b3I8c2l6ZV90PiYgbGluZUVuZGluZ3MsIGludCogZW5kaW5nTGluZSA9IG51bGxwdHIp
CiB7CiAgICAgaWYgKGxpbmVFbmRpbmdzLmlzRW1wdHkoKSkKQEAgLTQwNSwzNyArMzk4LDYgQEAg
c3RhdGljIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlNvdXJjZVJhbmdlPiBidWls
ZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnMKICAgICAgICAgLnJlbGVhc2UoKTsKIH0KIAotc3RhdGlj
IFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhPiBidWlsZE1lZGlhT2JqZWN0
KGNvbnN0IE1lZGlhTGlzdCogbWVkaWEsIE1lZGlhTGlzdFNvdXJjZSBtZWRpYUxpc3RTb3VyY2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQotewotICAgIC8vIE1ha2UgY2VydGFpbiBjb21waWxl
cnMgaGFwcHkgYnkgaW5pdGlhbGl6aW5nIHxzb3VyY2V8IHVwLWZyb250LgotICAgIEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZSBzb3VyY2UgPSBJbnNwZWN0b3I6OlBy
b3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6OklubGluZVNoZWV0OwotICAgIHN3aXRjaCAo
bWVkaWFMaXN0U291cmNlKSB7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VNZWRpYVJ1bGU6Ci0g
ICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJj
ZTo6TWVkaWFSdWxlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1lZGlhTGlzdFNvdXJjZUlt
cG9ydFJ1bGU6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NT
TWVkaWE6OlNvdXJjZTo6SW1wb3J0UnVsZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNZWRp
YUxpc3RTb3VyY2VMaW5rZWRTaGVldDoKLSAgICAgICAgc291cmNlID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlOjpMaW5rZWRTaGVldDsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VJbmxpbmVTaGVldDoKLSAgICAgICAgc291cmNlID0g
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlOjpJbmxpbmVTaGVldDsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgYXV0byBtZWRpYU9iamVjdCA9IEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OmNyZWF0ZSgpCi0gICAgICAgIC5zZXRUZXh0KG1l
ZGlhLT5tZWRpYVRleHQoKSkKLSAgICAgICAgLnNldFNvdXJjZShzb3VyY2UpCi0gICAgICAgIC5y
ZWxlYXNlKCk7Ci0KLSAgICBpZiAoIXNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbWVk
aWFPYmplY3QtPnNldFNvdXJjZVVSTChzb3VyY2VVUkwpOwotICAgICAgICBtZWRpYU9iamVjdC0+
c2V0U291cmNlTGluZShtZWRpYS0+cXVlcmllcygpLT5sYXN0TGluZSgpKTsKLSAgICB9Ci0gICAg
cmV0dXJuIG1lZGlhT2JqZWN0OwotfQotCiBzdGF0aWMgUmVmUHRyPENTU1J1bGVMaXN0PiBhc0NT
U1J1bGVMaXN0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQpCiB7CiAgICAgaWYgKCFzdHlsZVNo
ZWV0KQpAQCAtNDY1LDU5ICs0MjcsODUgQEAgc3RhdGljIFJlZlB0cjxDU1NSdWxlTGlzdD4gYXND
U1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCi1zdGF0
aWMgdm9pZCBmaWxsTWVkaWFMaXN0Q2hhaW4oQ1NTUnVsZSogcnVsZSwgSlNPTjo6QXJyYXlPZjxJ
bnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhPiYgbWVkaWFBcnJheSkKK3N0YXRpYyBS
ZWY8SlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nPj4gYnVp
bGRBcnJheUZvckdyb3VwaW5ncyhDU1NSdWxlJiBydWxlKQogewotICAgIE1lZGlhTGlzdCogbWVk
aWFMaXN0OwotICAgIENTU1J1bGUqIHBhcmVudFJ1bGUgPSBydWxlOwotICAgIFN0cmluZyBzb3Vy
Y2VVUkw7CisgICAgYXV0byBncm91cGluZ3NQYXlsb2FkID0gSlNPTjo6QXJyYXlPZjxJbnNwZWN0
b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nPjo6Y3JlYXRlKCk7CisKKyAgICBhdXRvKiBwYXJl
bnRSdWxlID0gJnJ1bGU7CiAgICAgd2hpbGUgKHBhcmVudFJ1bGUpIHsKLSAgICAgICAgQ1NTU3R5
bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCA9IG51bGxwdHI7Ci0gICAgICAgIGJvb2wgaXNNZWRp
YVJ1bGUgPSB0cnVlOwotICAgICAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPigqcGFyZW50UnVsZSkp
IHsKLSAgICAgICAgICAgIENTU01lZGlhUnVsZSYgbWVkaWFSdWxlID0gZG93bmNhc3Q8Q1NTTWVk
aWFSdWxlPigqcGFyZW50UnVsZSk7Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSBtZWRpYVJ1bGUu
bWVkaWEoKTsKLSAgICAgICAgICAgIHBhcmVudFN0eWxlU2hlZXQgPSBtZWRpYVJ1bGUucGFyZW50
U3R5bGVTaGVldCgpOwotICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ltcG9ydFJ1bGU+KCpwYXJl
bnRSdWxlKSkgewotICAgICAgICAgICAgQ1NTSW1wb3J0UnVsZSYgaW1wb3J0UnVsZSA9IGRvd25j
YXN0PENTU0ltcG9ydFJ1bGU+KCpwYXJlbnRSdWxlKTsKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9
ICZpbXBvcnRSdWxlLm1lZGlhKCk7Ci0gICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gaW1w
b3J0UnVsZS5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAgICAgICAgICBpc01lZGlhUnVsZSA9IGZh
bHNlOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9IG51bGxwdHI7Cisg
ICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nPiBydWxlR3Jv
dXBpbmdQYXlsb2FkOwogCi0gICAgICAgIGlmIChwYXJlbnRTdHlsZVNoZWV0KSB7Ci0gICAgICAg
ICAgICBzb3VyY2VVUkwgPSBwYXJlbnRTdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKTsK
LSAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIHNv
dXJjZVVSTCA9IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVSTFN0cmluZyhwYXJlbnRTdHls
ZVNoZWV0LT5vd25lckRvY3VtZW50KCkpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHNv
dXJjZVVSTCA9IGVtcHR5U3RyaW5nKCk7Ci0KLSAgICAgICAgaWYgKG1lZGlhTGlzdCAmJiBtZWRp
YUxpc3QtPmxlbmd0aCgpKQotICAgICAgICAgICAgbWVkaWFBcnJheS5hZGRJdGVtKGJ1aWxkTWVk
aWFPYmplY3QobWVkaWFMaXN0LCBpc01lZGlhUnVsZSA/IE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVs
ZSA6IE1lZGlhTGlzdFNvdXJjZUltcG9ydFJ1bGUsIHNvdXJjZVVSTCkpOwotCi0gICAgICAgIGlm
IChwYXJlbnRSdWxlLT5wYXJlbnRSdWxlKCkpCi0gICAgICAgICAgICBwYXJlbnRSdWxlID0gcGFy
ZW50UnVsZS0+cGFyZW50UnVsZSgpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIENTU1N0
eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0g
ICAgICAgICAgICB3aGlsZSAoc3R5bGVTaGVldCkgewotICAgICAgICAgICAgICAgIG1lZGlhTGlz
dCA9IHN0eWxlU2hlZXQtPm1lZGlhKCk7Ci0gICAgICAgICAgICAgICAgaWYgKG1lZGlhTGlzdCAm
JiBtZWRpYUxpc3QtPmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIERvY3VtZW50KiBk
b2MgPSBzdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCk7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChkb2MpCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBkb2MtPnVybCgpOwot
ICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghc3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNl
VVJMKCkuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlVVJMID0gc3R5
bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IGVtcHR5U3RyaW5nKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIG1lZGlhQXJyYXkuYWRkSXRlbShidWlsZE1lZGlhT2JqZWN0KG1lZGlh
TGlzdCwgc3R5bGVTaGVldC0+b3duZXJOb2RlKCkgPyBNZWRpYUxpc3RTb3VyY2VMaW5rZWRTaGVl
dCA6IE1lZGlhTGlzdFNvdXJjZUlubGluZVNoZWV0LCBzb3VyY2VVUkwpKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgcGFyZW50UnVsZSA9IHN0eWxlU2hlZXQtPm93bmVyUnVs
ZSgpOwotICAgICAgICAgICAgICAgIGlmIChwYXJlbnRSdWxlKQotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBzdHlsZVNoZWV0ID0gc3R5bGVTaGVldC0+cGFyZW50
U3R5bGVTaGVldCgpOworICAgICAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPihwYXJlbnRSdWxlKSkg
eworICAgICAgICAgICAgYXV0byogbWVkaWEgPSBkb3duY2FzdDxDU1NNZWRpYVJ1bGU+KHBhcmVu
dFJ1bGUpLT5tZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhICYmIG1lZGlhLT5sZW5ndGgo
KSAmJiBtZWRpYS0+bWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAgICAgICBydWxl
R3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3Jl
YXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEtPm1lZGlhVGV4dCgpKQor
ICAgICAgICAgICAgICAgICAgICAuc2V0VHlwZShJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdy
b3VwaW5nOjpUeXBlOjpNZWRpYVJ1bGUpCisgICAgICAgICAgICAgICAgICAgIC5yZWxlYXNlKCk7
CiAgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoaXM8Q1NTSW1wb3J0UnVsZT4ocGFy
ZW50UnVsZSkpIHsKKyAgICAgICAgICAgIGF1dG8mIG1lZGlhID0gZG93bmNhc3Q8Q1NTSW1wb3J0
UnVsZT4ocGFyZW50UnVsZSktPm1lZGlhKCk7CisgICAgICAgICAgICBpZiAobWVkaWEubGVuZ3Ro
KCkgJiYgbWVkaWEubWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAgICAgICBydWxl
R3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3Jl
YXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEubWVkaWFUZXh0KCkpCisg
ICAgICAgICAgICAgICAgICAgIC5zZXRUeXBlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3Jv
dXBpbmc6OlR5cGU6Ok1lZGlhSW1wb3J0UnVsZSkKKyAgICAgICAgICAgICAgICAgICAgLnJlbGVh
c2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChpczxDU1NTdXBwb3J0c1J1
bGU+KHBhcmVudFJ1bGUpKSB7CisgICAgICAgICAgICBydWxlR3JvdXBpbmdQYXlsb2FkID0gSW5z
cGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAg
ICAuc2V0VGV4dChkb3duY2FzdDxDU1NTdXBwb3J0c1J1bGU+KHBhcmVudFJ1bGUpLT5jb25kaXRp
b25UZXh0KCkpCisgICAgICAgICAgICAgICAgLnNldFR5cGUoSW5zcGVjdG9yOjpQcm90b2NvbDo6
Q1NTOjpHcm91cGluZzo6VHlwZTo6U3VwcG9ydHNSdWxlKQorICAgICAgICAgICAgICAgIC5yZWxl
YXNlKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAocnVsZUdyb3VwaW5nUGF5bG9hZCkgewor
ICAgICAgICAgICAgaWYgKGF1dG8qIHBhcmVudFN0eWxlU2hlZXQgPSBwYXJlbnRSdWxlLT5wYXJl
bnRTdHlsZVNoZWV0KCkpIHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgc291cmNlVVJMID0gcGFy
ZW50U3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7CisgICAgICAgICAgICAgICAgaWYg
KHNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIG93
bmVyRG9jdW1lbnQgPSBwYXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkpCisgICAgICAg
ICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBJbnNwZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRV
UkxTdHJpbmcob3duZXJEb2N1bWVudCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmICghc291cmNlVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgcnVsZUdy
b3VwaW5nUGF5bG9hZC0+c2V0U291cmNlVVJMKHNvdXJjZVVSTCk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGdyb3VwaW5nc1BheWxvYWQtPmFkZEl0ZW0oV1RGTW92ZShydWxlR3JvdXBp
bmdQYXlsb2FkKSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAocGFyZW50UnVsZS0+cGFyZW50
UnVsZSgpKSB7CisgICAgICAgICAgICBwYXJlbnRSdWxlID0gcGFyZW50UnVsZS0+cGFyZW50UnVs
ZSgpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBhdXRvKiBz
dHlsZVNoZWV0ID0gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpOworICAgICAgICB3aGls
ZSAoc3R5bGVTaGVldCkgeworICAgICAgICAgICAgYXV0byogbWVkaWEgPSBzdHlsZVNoZWV0LT5t
ZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhICYmIG1lZGlhLT5sZW5ndGgoKSAmJiBtZWRp
YS0+bWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHNoZWV0R3Jv
dXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRl
KCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQobWVkaWEtPm1lZGlhVGV4dCgpKQorICAg
ICAgICAgICAgICAgICAgICAuc2V0VHlwZShpczxIVE1MU3R5bGVFbGVtZW50PihzdHlsZVNoZWV0
LT5vd25lck5vZGUoKSkgPyBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpUeXBl
OjpNZWRpYVN0eWxlTm9kZTogSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlw
ZTo6TWVkaWFMaW5rTm9kZSkKKyAgICAgICAgICAgICAgICAgICAgLnJlbGVhc2UoKTsKKworICAg
ICAgICAgICAgICAgIFN0cmluZyBzb3VyY2VVUkw7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8q
IG93bmVyRG9jdW1lbnQgPSBzdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkpCisgICAgICAgICAg
ICAgICAgICAgIHNvdXJjZVVSTCA9IG93bmVyRG9jdW1lbnQtPnVybCgpOworICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKCFzdHlsZVNoZWV0LT5jb250ZW50cygpLmJhc2VVUkwoKS5pc0VtcHR5KCkp
CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCku
YmFzZVVSTCgpOworICAgICAgICAgICAgICAgIGlmICghc291cmNlVVJMLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgICAgICAgICAgc2hlZXRHcm91cGluZ1BheWxvYWQtPnNldFNvdXJjZVVSTChzb3Vy
Y2VVUkwpOworCisgICAgICAgICAgICAgICAgZ3JvdXBpbmdzUGF5bG9hZC0+YWRkSXRlbShXVEZN
b3ZlKHNoZWV0R3JvdXBpbmdQYXlsb2FkKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IHBhcmVudFJ1bGUgPSBzdHlsZVNoZWV0LT5vd25lclJ1bGUoKTsKKyAgICAgICAgICAgIGlmIChw
YXJlbnRSdWxlKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBzdHlsZVNo
ZWV0ID0gc3R5bGVTaGVldC0+cGFyZW50U3R5bGVTaGVldCgpOwogICAgICAgICB9CiAgICAgfQor
CisgICAgcmV0dXJuIGdyb3VwaW5nc1BheWxvYWQ7CiB9CiAKIFJlZjxJbnNwZWN0b3JTdHlsZT4g
SW5zcGVjdG9yU3R5bGU6OmNyZWF0ZShjb25zdCBJbnNwZWN0b3JDU1NJZCYgc3R5bGVJZCwgUmVm
PENTU1N0eWxlRGVjbGFyYXRpb24+JiYgc3R5bGUsIEluc3BlY3RvclN0eWxlU2hlZXQqIHBhcmVu
dFN0eWxlU2hlZXQpCkBAIC0xMTczLDExICsxMTYxLDkgQEAgUmVmUHRyPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkNTUzo6Q1NTUnVsZT4gSW5zcGVjdG9yU3R5bGVTaGVldDo6YnVpbGRPYmplY3RGb3JS
dWwKICAgICAgICAgICAgIHJlc3VsdC0+c2V0UnVsZUlkKGlkLmFzUHJvdG9jb2xWYWx1ZTxJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1J1bGVJZD4oKSk7CiAgICAgfQogCi0gICAgYXV0byBt
ZWRpYUFycmF5ID0gQXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhPjo6
Y3JlYXRlKCk7Ci0KLSAgICBmaWxsTWVkaWFMaXN0Q2hhaW4ocnVsZSwgbWVkaWFBcnJheS5nZXQo
KSk7Ci0gICAgaWYgKG1lZGlhQXJyYXktPmxlbmd0aCgpKQotICAgICAgICByZXN1bHQtPnNldE1l
ZGlhKFdURk1vdmUobWVkaWFBcnJheSkpOworICAgIGF1dG8gZ3JvdXBpbmdzUGF5bG9hZCA9IGJ1
aWxkQXJyYXlGb3JHcm91cGluZ3MoKnJ1bGUpOworICAgIGlmIChncm91cGluZ3NQYXlsb2FkLT5s
ZW5ndGgoKSkKKyAgICAgICAgcmVzdWx0LT5zZXRHcm91cGluZ3MoV1RGTW92ZShncm91cGluZ3NQ
YXlsb2FkKSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NTU01hbmFnZXIu
anMKaW5kZXggMDg3ZDlkNzdiYzI1NjVkMzdlNzJjZTBiMjQ5NWMzOWIyMWEwNDgzMS4uYjAyNjY1
NTk4NTY1YWQ2ZmZhZTBmODkyMWIxOWE2ODEyNTJmZTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5h
Z2VyLmpzCkBAIC04MSwyMSArODEsMjIgQEAgV0kuQ1NTTWFuYWdlciA9IGNsYXNzIENTU01hbmFn
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgfQogICAgIH0KIAotICAgIHN0YXRpYyBwcm90
b2NvbE1lZGlhU291cmNlVG9FbnVtKHNvdXJjZSkKKyAgICBzdGF0aWMgcHJvdG9jb2xHcm91cGlu
Z1R5cGVUb0VudW0odHlwZSkKICAgICB7Ci0gICAgICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAg
ICAgIGNhc2UgQ1NTQWdlbnQuQ1NTTWVkaWFTb3VyY2UuTWVkaWFSdWxlOgotICAgICAgICAgICAg
cmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuTWVkaWFSdWxlOwotICAgICAgICBjYXNlIENTU0FnZW50
LkNTU01lZGlhU291cmNlLkltcG9ydFJ1bGU6Ci0gICAgICAgICAgICByZXR1cm4gV0kuQ1NTTWVk
aWEuVHlwZS5JbXBvcnRSdWxlOwotICAgICAgICBjYXNlIENTU0FnZW50LkNTU01lZGlhU291cmNl
LkxpbmtlZFNoZWV0OgotICAgICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuTGlua2Vk
U3R5bGVTaGVldDsKLSAgICAgICAgY2FzZSBDU1NBZ2VudC5DU1NNZWRpYVNvdXJjZS5JbmxpbmVT
aGVldDoKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NNZWRpYS5UeXBlLklubGluZVN0eWxlU2hl
ZXQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwg
IlVua25vd24gQ1NTLkNTU01lZGlhU291cmNlIiwgc291cmNlKTsKLSAgICAgICAgICAgIHJldHVy
biBXSS5DU1NNZWRpYS5UeXBlLk1lZGlhUnVsZTsKKyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAo
aU9TIDEzKTogQ1NTLkdyb3VwaW5nIGRpZCBub3QgZXhpc3QgeWV0LgorICAgICAgICBpZiAoIUlu
c3BlY3RvckJhY2tlbmQuZG9tYWlucy5DU1MuR3JvdXBpbmcpIHsKKyAgICAgICAgICAgIHN3aXRj
aCAodHlwZSkgeworICAgICAgICAgICAgY2FzZSAibWVkaWFSdWxlIjoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYVJ1bGU7CisgICAgICAgICAgICBjYXNl
ICJpbXBvcnRSdWxlIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlw
ZS5NZWRpYUltcG9ydFJ1bGU7CisgICAgICAgICAgICBjYXNlICJsaW5rZWRTaGVldCI6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFMaW5rTm9kZTsKKyAg
ICAgICAgICAgIGNhc2UgImlubGluZVNoZWV0IjoKKyAgICAgICAgICAgICAgICByZXR1cm4gV0ku
Q1NTR3JvdXBpbmcuVHlwZS5NZWRpYVN0eWxlTm9kZTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQorICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAKICAgICBzdGF0aWMgZGlzcGxheU5hbWVG
b3JQc2V1ZG9JZChwc2V1ZG9JZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01haW4uaHRtbAppbmRleCA1ZjhjZTZkODAyMjEzMDY3OTE2OTgzYTE4MDhiYjgxMmZjNzRh
Y2EzLi41NDkyYmQyMTYwNzY2NmU5MDAxNmNhOGE0YjljMjU5MWQ1MmQ4MTIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0zNjEsOCArMzYx
LDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0NvbXBsZXRpb25zLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0dyb3VwaW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRpYS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1v
ZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1Nl
bGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWRmMDRj
MmU0NTE2YmJlNTdkMjUyNzc1NzZmNzlhMGY4MzcyOTg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3VwaW5nLmpzCkBA
IC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXSS5DU1NHcm91cGluZyA9IGNsYXNzIENTU0dy
b3VwaW5nCit7CisgICAgY29uc3RydWN0b3IodHlwZSwgdGV4dCwgc291cmNlQ29kZUxvY2F0aW9u
KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhDU1NHcm91cGlu
Zy5UeXBlKS5pbmNsdWRlcyh0eXBlKSk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB0
ZXh0ID09PSAic3RyaW5nIiAmJiB0ZXh0Lmxlbmd0aCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCFzb3VyY2VDb2RlTG9jYXRpb24gfHwgc291cmNlQ29kZUxvY2F0aW9uIGluc3RhbmNlb2YgV0ku
U291cmNlQ29kZUxvY2F0aW9uKTsKKworICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKKyAgICAg
ICAgdGhpcy5fdGV4dCA9IHRleHQ7CisgICAgICAgIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbiA9
IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxsOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisg
ICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlOyB9CisgICAgZ2V0IHRleHQoKSB7IHJl
dHVybiB0aGlzLl90ZXh0OyB9CisgICAgZ2V0IHNvdXJjZUNvZGVMb2NhdGlvbigpIHsgcmV0dXJu
IHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsgfQorCisgICAgZ2V0IGlzTWVkaWEoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IFdJLkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFS
dWxlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBlID09PSBXSS5DU1NHcm91cGluZy5UeXBlLk1l
ZGlhSW1wb3J0UnVsZQorICAgICAgICAgICAgfHwgdGhpcy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBp
bmcuVHlwZS5NZWRpYUxpbmtOb2RlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBlID09PSBXSS5D
U1NHcm91cGluZy5UeXBlLk1lZGlhU3R5bGVOb2RlOworICAgIH0KKworICAgIGdldCBpc1N1cHBv
cnRzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl90eXBlID09PSBXSS5DU1NHcm91cGlu
Zy5UeXBlLlN1cHBvcnRzUnVsZTsKKyAgICB9CisKKyAgICBnZXQgcHJlZml4KCkKKyAgICB7Cisg
ICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydHMpCisgICAgICAgICAgICByZXR1cm4gIkBzdXBwb3J0
cyI7CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc01lZGlhKTsKKyAgICAgICAgcmV0
dXJuICJAbWVkaWEiOworICAgIH0KK307CisKK1dJLkNTU0dyb3VwaW5nLlR5cGUgPSB7CisgICAg
TWVkaWFSdWxlOiAibWVkaWEtcnVsZSIsCisgICAgTWVkaWFJbXBvcnRSdWxlOiAibWVkaWEtaW1w
b3J0LXJ1bGUiLAorICAgIE1lZGlhTGlua05vZGU6ICJtZWRpYS1saW5rLW5vZGUiLAorICAgIE1l
ZGlhU3R5bGVOb2RlOiAibWVkaWEtc3R5bGUtbm9kZSIsCisgICAgU3VwcG9ydHNSdWxlOiAic3Vw
cG9ydHMtcnVsZSIsCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzYmQ2ODk5ZGNiYzQyMWIzMGUzZGQwNjNiNDg5ZTJlMTcyZGVjOWJkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcworKysgL2Rldi9udWxsCkBAIC0xLDQ5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi1XSS5DU1NNZWRpYSA9IGNsYXNzIENTU01lZGlhCi17Ci0gICAg
Y29uc3RydWN0b3IodHlwZSwgdGV4dCwgc291cmNlQ29kZUxvY2F0aW9uKQotICAgIHsKLSAgICAg
ICAgY29uc29sZS5hc3NlcnQoIXNvdXJjZUNvZGVMb2NhdGlvbiB8fCBzb3VyY2VDb2RlTG9jYXRp
b24gaW5zdGFuY2VvZiBXSS5Tb3VyY2VDb2RlTG9jYXRpb24pOwotCi0gICAgICAgIHRoaXMuX3R5
cGUgPSB0eXBlIHx8IG51bGw7Ci0gICAgICAgIHRoaXMuX3RleHQgPSB0ZXh0IHx8ICIiOwotICAg
ICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb24gfHwgbnVs
bDsKLSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQotICAgIGdldCB0eXBlKCkgeyByZXR1cm4gdGhp
cy5fdHlwZTsgfQotICAgIGdldCB0ZXh0KCkgeyByZXR1cm4gdGhpcy5fdGV4dDsgfQotICAgIGdl
dCBzb3VyY2VDb2RlTG9jYXRpb24oKSB7IHJldHVybiB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb247
IH0KLX07Ci0KLVdJLkNTU01lZGlhLlR5cGUgPSB7Ci0gICAgTWVkaWFSdWxlOiAiY3NzLW1lZGlh
LXR5cGUtbWVkaWEtcnVsZSIsCi0gICAgSW1wb3J0UnVsZTogImNzcy1tZWRpYS10eXBlLWltcG9y
dC1ydWxlIiwKLSAgICBMaW5rZWRTdHlsZVNoZWV0OiAiY3NzLW1lZGlhLXR5cGUtbGlua2VkLXN0
eWxlc2hlZXQiLAotICAgIElubGluZVN0eWxlU2hlZXQ6ICJjc3MtbWVkaWEtdHlwZS1pbmxpbmUt
c3R5bGVzaGVldCIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzCmluZGV4IDhkOGUyNTljN2E4ZTIzM2IxNGJlNDZjNTc2
MGE4NmYwZGIzYTMxZDMuLjVjMjEwNzk5NGQ2NGQxMDQwMmM5MTk2NDRiMzQ4ZmQzODk1Yjg3ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9D
U1NSdWxlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9DU1NSdWxlLmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NS
dWxlIGV4dGVuZHMgV0kuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3Iobm9kZVN0eWxlcywgb3du
ZXJTdHlsZVNoZWV0LCBpZCwgdHlwZSwgc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQs
IHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlhTGlzdCkKKyAg
ICBjb25zdHJ1Y3Rvcihub2RlU3R5bGVzLCBvd25lclN0eWxlU2hlZXQsIGlkLCB0eXBlLCBzb3Vy
Y2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJ
bmRpY2VzLCBzdHlsZSwgZ3JvdXBpbmdzKQogICAgIHsKICAgICAgICAgc3VwZXIoKTsKIApAQCAt
MzcsNTcgKzM3LDI2IEBAIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlIHx8IG51bGw7CiAgICAgICAgIHRoaXMuX2lu
aXRpYWxTdGF0ZSA9IG51bGw7CiAKLSAgICAgICAgdGhpcy51cGRhdGUoc291cmNlQ29kZUxvY2F0
aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5
bGUsIG1lZGlhTGlzdCwgdHJ1ZSk7CisgICAgICAgIHRoaXMudXBkYXRlKHNvdXJjZUNvZGVMb2Nh
dGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0
eWxlLCBncm91cGluZ3MsIHRydWUpOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwogCisgICAgZ2V0
IG93bmVyU3R5bGVTaGVldCgpIHsgcmV0dXJuIHRoaXMuX293bmVyU3R5bGVTaGVldDsgfQogICAg
IGdldCBpZCgpIHsgcmV0dXJuIHRoaXMuX2lkOyB9CisgICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0
aGlzLl90eXBlOyB9CiAgICAgZ2V0IGluaXRpYWxTdGF0ZSgpIHsgcmV0dXJuIHRoaXMuX2luaXRp
YWxTdGF0ZTsgfQotCi0gICAgZ2V0IG93bmVyU3R5bGVTaGVldCgpCi0gICAgewotICAgICAgICBy
ZXR1cm4gdGhpcy5fb3duZXJTdHlsZVNoZWV0OwotICAgIH0KKyAgICBnZXQgc291cmNlQ29kZUxv
Y2F0aW9uKCkgeyByZXR1cm4gdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uOyB9CisgICAgZ2V0IHNl
bGVjdG9ycygpIHsgcmV0dXJuIHRoaXMuX3NlbGVjdG9yczsgfQorICAgIGdldCBtYXRjaGVkU2Vs
ZWN0b3JJbmRpY2VzKCkgeyByZXR1cm4gdGhpcy5fbWF0Y2hlZFNlbGVjdG9ySW5kaWNlczsgfQor
ICAgIGdldCBzdHlsZSgpIHsgcmV0dXJuIHRoaXMuX3N0eWxlOyB9CisgICAgZ2V0IGdyb3VwaW5n
cygpIHsgcmV0dXJuIHRoaXMuX2dyb3VwaW5nczsgfQogCiAgICAgZ2V0IGVkaXRhYmxlKCkKICAg
ICB7CiAgICAgICAgIHJldHVybiAhIXRoaXMuX2lkICYmICh0aGlzLl90eXBlID09PSBXSS5DU1NT
dHlsZVNoZWV0LlR5cGUuQXV0aG9yIHx8IHRoaXMuX3R5cGUgPT09IFdJLkNTU1N0eWxlU2hlZXQu
VHlwZS5JbnNwZWN0b3IpOwogICAgIH0KIAotICAgIHVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24s
IHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwg
bWVkaWFMaXN0KQotICAgIHsKLSAgICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0gc291cmNlQ29k
ZUxvY2F0aW9uIHx8IG51bGw7Ci0gICAgICAgIHNlbGVjdG9yVGV4dCA9IHNlbGVjdG9yVGV4dCB8
fCAiIjsKLSAgICAgICAgc2VsZWN0b3JzID0gc2VsZWN0b3JzIHx8IFtdOwotICAgICAgICBtYXRj
aGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcyB8fCBbXTsKLSAgICAg
ICAgc3R5bGUgPSBzdHlsZSB8fCBudWxsOwotICAgICAgICBtZWRpYUxpc3QgPSBtZWRpYUxpc3Qg
fHwgW107Ci0KLSAgICAgICAgaWYgKHRoaXMuX3N0eWxlKQotICAgICAgICAgICAgdGhpcy5fc3R5
bGUub3duZXJSdWxlID0gbnVsbDsKLQotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24g
PSBzb3VyY2VDb2RlTG9jYXRpb247Ci0gICAgICAgIHRoaXMuX3NlbGVjdG9yVGV4dCA9IHNlbGVj
dG9yVGV4dDsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3JzID0gc2VsZWN0b3JzOwotICAgICAgICB0
aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5kaWNlczsKLSAg
ICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKLSAgICAgICAgdGhpcy5fbWVkaWFMaXN0ID0gbWVk
aWFMaXN0OwotCi0gICAgICAgIGlmICh0aGlzLl9zdHlsZSkKLSAgICAgICAgICAgIHRoaXMuX3N0
eWxlLm93bmVyUnVsZSA9IHRoaXM7Ci0gICAgfQotCi0gICAgZ2V0IHR5cGUoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7Ci0gICAgfQotCi0gICAgZ2V0IHNvdXJjZUNvZGVMb2Nh
dGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlQ29kZUxvY2F0aW9uOwot
ICAgIH0KLQogICAgIGdldCBzZWxlY3RvclRleHQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRo
aXMuX3NlbGVjdG9yVGV4dDsKQEAgLTEwNywyNCArNzYsMjcgQEAgV0kuQ1NTUnVsZSA9IGNsYXNz
IENTU1J1bGUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5fbm9kZVN0eWxlcy5jaGFu
Z2VSdWxlU2VsZWN0b3IodGhpcywgc2VsZWN0b3JUZXh0KS50aGVuKHRoaXMuX3NlbGVjdG9yUmVz
b2x2ZWQuYmluZCh0aGlzKSwgdGhpcy5fc2VsZWN0b3JSZWplY3RlZC5iaW5kKHRoaXMpKTsKICAg
ICB9CiAKLSAgICBnZXQgc2VsZWN0b3JzKCkKKyAgICB1cGRhdGUoc291cmNlQ29kZUxvY2F0aW9u
LCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUs
IGdyb3VwaW5ncykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RvcnM7Ci0gICAg
fQorICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb24gfHwgbnVs
bDsKKyAgICAgICAgc2VsZWN0b3JUZXh0ID0gc2VsZWN0b3JUZXh0IHx8ICIiOworICAgICAgICBz
ZWxlY3RvcnMgPSBzZWxlY3RvcnMgfHwgW107CisgICAgICAgIG1hdGNoZWRTZWxlY3RvckluZGlj
ZXMgPSBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzIHx8IFtdOworICAgICAgICBzdHlsZSA9IHN0eWxl
IHx8IG51bGw7CisgICAgICAgIGdyb3VwaW5ncyA9IGdyb3VwaW5ncyB8fCBbXTsKIAotICAgIGdl
dCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9t
YXRjaGVkU2VsZWN0b3JJbmRpY2VzOwotICAgIH0KKyAgICAgICAgaWYgKHRoaXMuX3N0eWxlKQor
ICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxlID0gbnVsbDsKIAotICAgIGdldCBzdHls
ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc3R5bGU7Ci0gICAgfQorICAgICAgICB0
aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb247CisgICAgICAgIHRo
aXMuX3NlbGVjdG9yVGV4dCA9IHNlbGVjdG9yVGV4dDsKKyAgICAgICAgdGhpcy5fc2VsZWN0b3Jz
ID0gc2VsZWN0b3JzOworICAgICAgICB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0
Y2hlZFNlbGVjdG9ySW5kaWNlczsKKyAgICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKKyAgICAg
ICAgdGhpcy5fZ3JvdXBpbmdzID0gZ3JvdXBpbmdzOwogCi0gICAgZ2V0IG1lZGlhTGlzdCgpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWVkaWFMaXN0OworICAgICAgICBpZiAodGhpcy5f
c3R5bGUpCisgICAgICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUgPSB0aGlzOwogICAgIH0K
IAogICAgIGlzRXF1YWxUbyhydWxlKQpAQCAtMTczLDcgKzE0NSw3IEBAIFdJLkNTU1J1bGUgPSBj
bGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAgICAgIHNvdXJj
ZUNvZGVMb2NhdGlvbiA9IHRoaXMuX293bmVyU3R5bGVTaGVldC5vZmZzZXRTb3VyY2VDb2RlTG9j
YXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgICAgICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2Vs
ZWN0b3JzLCBbXSwgdGhpcy5fc3R5bGUsIHRoaXMuX21lZGlhTGlzdCk7CisgICAgICAgICAgICAg
ICAgdGhpcy51cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9y
cywgW10sIHRoaXMuX3N0eWxlLCB0aGlzLl9ncm91cGluZ3MpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMKaW5kZXggYzNiZjQ0ZDY1
NDk5YWFmOTRiMjg0YjZkMGJlNmZhMGEwZDNhZTlkNC4uMGU5Nzg4NDczNTk0NGJjZjJhYzZjOWMx
NzczNzVmM2YzZThhM2NmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanMKQEAg
LTI4NywxMCArMjg3LDEwIEBAIFdJLkNTU1N0eWxlRGVjbGFyYXRpb24gPSBjbGFzcyBDU1NTdHls
ZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHJldHVybiB0aGlzLl9zdHls
ZVNoZWV0VGV4dFJhbmdlOwogICAgIH0KIAotICAgIGdldCBtZWRpYUxpc3QoKQorICAgIGdldCBn
cm91cGluZ3MoKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX293bmVyUnVsZSkKLSAgICAgICAg
ICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUubWVkaWFMaXN0OworICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX293bmVyUnVsZS5ncm91cGluZ3M7CiAgICAgICAgIHJldHVybiBbXTsKICAgICB9CiAK
QEAgLTUxMSwxNyArNTExLDE3IEBAIFdJLkNTU1N0eWxlRGVjbGFyYXRpb24gPSBjbGFzcyBDU1NT
dHlsZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAgICBsZXQgaW5k
ZW50U3RyaW5nID0gV0kuaW5kZW50U3RyaW5nKCk7CiAgICAgICAgIGxldCBzdHlsZVRleHQgPSAi
IjsKLSAgICAgICAgbGV0IG1lZGlhTGlzdCA9IHRoaXMubWVkaWFMaXN0LmZpbHRlcigobWVkaWEp
ID0+IG1lZGlhLnRleHQgIT09ICJhbGwiKTsKLSAgICAgICAgbGV0IG1lZGlhUXVlcmllc0NvdW50
ID0gbWVkaWFMaXN0Lmxlbmd0aDsKLSAgICAgICAgZm9yIChsZXQgaSA9IG1lZGlhUXVlcmllc0Nv
dW50IC0gMTsgaSA+PSAwOyAtLWkpCi0gICAgICAgICAgICBzdHlsZVRleHQgKz0gaW5kZW50U3Ry
aW5nLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCAtIGkgLSAxKSArICJAbWVkaWEgIiArIG1lZGlh
TGlzdFtpXS50ZXh0ICsgIiB7XG4iOworICAgICAgICBsZXQgZ3JvdXBpbmdzID0gdGhpcy5ncm91
cGluZ3MuZmlsdGVyKChncm91cGluZykgPT4gZ3JvdXBpbmcudGV4dCAhPT0gImFsbCIpOworICAg
ICAgICBsZXQgZ3JvdXBpbmdzQ291bnQgPSBncm91cGluZ3MubGVuZ3RoOworICAgICAgICBmb3Ig
KGxldCBpID0gZ3JvdXBpbmdzQ291bnQgLSAxOyBpID49IDA7IC0taSkKKyAgICAgICAgICAgIHN0
eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGdyb3VwaW5nc0NvdW50IC0gaSAtIDEpICsg
Z3JvdXBpbmdzW2ldLnByZWZpeCArICIgIiArIGdyb3VwaW5nc1tpXS50ZXh0ICsgIiB7XG4iOwog
Ci0gICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KG1lZGlhUXVlcmllc0Nv
dW50KSArIHRoaXMuc2VsZWN0b3JUZXh0ICsgIiB7XG4iOworICAgICAgICBzdHlsZVRleHQgKz0g
aW5kZW50U3RyaW5nLnJlcGVhdChncm91cGluZ3NDb3VudCkgKyB0aGlzLnNlbGVjdG9yVGV4dCAr
ICIge1xuIjsKIAogICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eSBvZiAodGhpcy5fc3R5bGVTaGVl
dFRleHRSYW5nZSA/IHRoaXMudmlzaWJsZVByb3BlcnRpZXMgOiB0aGlzLl9wcm9wZXJ0aWVzKSkK
LSAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KG1lZGlhUXVlcmll
c0NvdW50ICsgMSkgKyBwcm9wZXJ0eS5mb3JtYXR0ZWRUZXh0ICsgIlxuIjsKKyAgICAgICAgICAg
IHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGdyb3VwaW5nc0NvdW50ICsgMSkgKyBw
cm9wZXJ0eS5mb3JtYXR0ZWRUZXh0ICsgIlxuIjsKIAotICAgICAgICBmb3IgKGxldCBpID0gbWVk
aWFRdWVyaWVzQ291bnQ7IGkgPiAwOyAtLWkpCisgICAgICAgIGZvciAobGV0IGkgPSBncm91cGlu
Z3NDb3VudDsgaSA+IDA7IC0taSkKICAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJp
bmcucmVwZWF0KGkpICsgIn1cbiI7CiAKICAgICAgICAgc3R5bGVUZXh0ICs9ICJ9IjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2Rl
U3R5bGVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RP
TU5vZGVTdHlsZXMuanMKaW5kZXggMTVlMzljOWUyOGEwYWRlNjVkZmM2NDA2MTQ3OGY4YWVmMzRl
NjQ1MS4uYzFhMjk2YTMzMjQ1ODMxMWI1NDM0Y2Q1MTMzOWU4ZDUzZGUyN2YzZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHls
ZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RP
TU5vZGVTdHlsZXMuanMKQEAgLTEyMywxNiArMTIzLDI1IEBAIFdJLkRPTU5vZGVTdHlsZXMgPSBj
bGFzcyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQdWJsaWMKIAot
ICAgIGdldCBub2RlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ub2RlOwotICAgIH0K
KyAgICBnZXQgbm9kZSgpIHsgcmV0dXJuIHRoaXMuX25vZGU7IH0KKyAgICBnZXQgbWF0Y2hlZFJ1
bGVzKCkgeyByZXR1cm4gdGhpcy5fbWF0Y2hlZFJ1bGVzOyB9CisgICAgZ2V0IGluaGVyaXRlZFJ1
bGVzKCkgeyByZXR1cm4gdGhpcy5faW5oZXJpdGVkUnVsZXM7IH0KKyAgICBnZXQgaW5saW5lU3R5
bGUoKSB7IHJldHVybiB0aGlzLl9pbmxpbmVTdHlsZTsgfQorICAgIGdldCBhdHRyaWJ1dGVzU3R5
bGUoKSB7IHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzU3R5bGU7IH0KKyAgICBnZXQgcHNldWRvRWxl
bWVudHMoKSB7IHJldHVybiB0aGlzLl9wc2V1ZG9FbGVtZW50czsgfQorICAgIGdldCBjb21wdXRl
ZFN0eWxlKCkgeyByZXR1cm4gdGhpcy5fY29tcHV0ZWRTdHlsZTsgfQorICAgIGdldCBvcmRlcmVk
U3R5bGVzKCkgeyByZXR1cm4gdGhpcy5fb3JkZXJlZFN0eWxlczsgfQogCiAgICAgZ2V0IG5lZWRz
UmVmcmVzaCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ1JlZnJlc2hUYXNr
IHx8IHRoaXMuX25lZWRzUmVmcmVzaDsKICAgICB9CiAKKyAgICBnZXQgdW5pcXVlT3JkZXJlZFN0
eWxlcygpCisgICAgeworICAgICAgICByZXR1cm4gV0kuRE9NTm9kZVN0eWxlcy51bmlxdWVPcmRl
cmVkU3R5bGVzKHRoaXMuX29yZGVyZWRTdHlsZXMpOworICAgIH0KKwogICAgIHJlZnJlc2hJZk5l
ZWRlZCgpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fcGVuZGluZ1JlZnJlc2hUYXNrKQpAQCAt
Mzc1LDYyICszODQsNiBAQCBXSS5ET01Ob2RlU3R5bGVzID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBl
eHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgV0kuY3NzTWFuYWdlci5wcmVmZXJyZWRJbnNw
ZWN0b3JTdHlsZVNoZWV0Rm9yRnJhbWUodGhpcy5fbm9kZS5mcmFtZSwgaW5zcGVjdG9yU3R5bGVT
aGVldEF2YWlsYWJsZS5iaW5kKHRoaXMpKTsKICAgICB9CiAKLSAgICBydWxlc0ZvclNlbGVjdG9y
KHNlbGVjdG9yKQotICAgIHsKLSAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvciB8fCB0aGlzLl9u
b2RlLmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVs
ZUhhc1NlbGVjdG9yKHJ1bGUpIHsKLSAgICAgICAgICAgIHJldHVybiAhcnVsZS5tZWRpYUxpc3Qu
bGVuZ3RoICYmIHJ1bGUuc2VsZWN0b3JUZXh0ID09PSBzZWxlY3RvcjsKLSAgICAgICAgfQotCi0g
ICAgICAgIGxldCBydWxlcyA9IHRoaXMuX21hdGNoZWRSdWxlcy5maWx0ZXIocnVsZUhhc1NlbGVj
dG9yKTsKLQotICAgICAgICBmb3IgKGxldCBwc2V1ZG9FbGVtZW50SW5mbyBvZiB0aGlzLl9wc2V1
ZG9FbGVtZW50cy52YWx1ZXMoKSkKLSAgICAgICAgICAgIHJ1bGVzID0gcnVsZXMuY29uY2F0KHBz
ZXVkb0VsZW1lbnRJbmZvLm1hdGNoZWRSdWxlcy5maWx0ZXIocnVsZUhhc1NlbGVjdG9yKSk7Ci0K
LSAgICAgICAgcmV0dXJuIHJ1bGVzOwotICAgIH0KLQotICAgIGdldCBtYXRjaGVkUnVsZXMoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21hdGNoZWRSdWxlczsKLSAgICB9Ci0KLSAgICBn
ZXQgaW5oZXJpdGVkUnVsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luaGVyaXRl
ZFJ1bGVzOwotICAgIH0KLQotICAgIGdldCBpbmxpbmVTdHlsZSgpCi0gICAgewotICAgICAgICBy
ZXR1cm4gdGhpcy5faW5saW5lU3R5bGU7Ci0gICAgfQotCi0gICAgZ2V0IGF0dHJpYnV0ZXNTdHls
ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlc1N0eWxlOwotICAgIH0K
LQotICAgIGdldCBwc2V1ZG9FbGVtZW50cygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
cHNldWRvRWxlbWVudHM7Ci0gICAgfQotCi0gICAgZ2V0IGNvbXB1dGVkU3R5bGUoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXB1dGVkU3R5bGU7Ci0gICAgfQotCi0gICAgZ2V0IG9y
ZGVyZWRTdHlsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX29yZGVyZWRTdHlsZXM7
Ci0gICAgfQotCi0gICAgZ2V0IHVuaXF1ZU9yZGVyZWRTdHlsZXMoKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIFdJLkRPTU5vZGVTdHlsZXMudW5pcXVlT3JkZXJlZFN0eWxlcyh0aGlzLl9vcmRlcmVk
U3R5bGVzKTsKLSAgICB9Ci0KICAgICBlZmZlY3RpdmVQcm9wZXJ0eUZvck5hbWUobmFtZSkKICAg
ICB7CiAgICAgICAgIGxldCBwcm9wZXJ0eSA9IHRoaXMuX3Byb3BlcnR5TmFtZVRvRWZmZWN0aXZl
UHJvcGVydHlNYXBbbmFtZV07CkBAIC03MzEsMjcgKzY4NCwyNCBAQCBXSS5ET01Ob2RlU3R5bGVz
ID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgc291
cmNlQ29kZUxvY2F0aW9uID0gc3R5bGVTaGVldC5vZmZzZXRTb3VyY2VDb2RlTG9jYXRpb24oc291
cmNlQ29kZUxvY2F0aW9uKTsKICAgICAgICAgfQogCi0gICAgICAgIHZhciBtZWRpYUxpc3QgPSBb
XTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IHBheWxvYWQubWVkaWEgJiYgaSA8IHBheWxvYWQu
bWVkaWEubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBtZWRpYUl0ZW0gPSBwYXlsb2Fk
Lm1lZGlhW2ldOwotICAgICAgICAgICAgdmFyIG1lZGlhVHlwZSA9IFdJLkNTU01hbmFnZXIucHJv
dG9jb2xNZWRpYVNvdXJjZVRvRW51bShtZWRpYUl0ZW0uc291cmNlKTsKLSAgICAgICAgICAgIHZh
ciBtZWRpYVRleHQgPSBtZWRpYUl0ZW0udGV4dDsKLSAgICAgICAgICAgIGxldCBtZWRpYVNvdXJj
ZUNvZGVMb2NhdGlvbiA9IERPTU5vZGVTdHlsZXMuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKG1l
ZGlhSXRlbS5zb3VyY2VVUkwsIHtsaW5lOiBtZWRpYUl0ZW0uc291cmNlTGluZX0pOworICAgICAg
ICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBDU1MuQ1NTUnVsZS5ncm91cGluZ3MgZGlkIG5v
dCBleGlzdCB5ZXQuCisgICAgICAgIGxldCBncm91cGluZ3MgPSAocGF5bG9hZC5ncm91cGluZ3Mg
fHwgcGF5bG9hZC5tZWRpYSB8fCBbXSkubWFwKChncm91cGluZykgPT4geworICAgICAgICAgICAg
bGV0IGdyb3VwaW5nVHlwZSA9IFdJLkNTU01hbmFnZXIucHJvdG9jb2xHcm91cGluZ1R5cGVUb0Vu
dW0oZ3JvdXBpbmcudHlwZSB8fCBncm91cGluZy5zb3VyY2UpOworICAgICAgICAgICAgbGV0IGdy
b3VwaW5nU291cmNlQ29kZUxvY2F0aW9uID0gRE9NTm9kZVN0eWxlcy5jcmVhdGVTb3VyY2VDb2Rl
TG9jYXRpb24oZ3JvdXBpbmcuc291cmNlVVJMKTsKICAgICAgICAgICAgIGlmIChzdHlsZVNoZWV0
KQotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlQ29kZUxvY2F0aW9uID0gc3R5bGVTaGVldC5v
ZmZzZXRTb3VyY2VDb2RlTG9jYXRpb24obWVkaWFTb3VyY2VDb2RlTG9jYXRpb24pOwotCi0gICAg
ICAgICAgICBtZWRpYUxpc3QucHVzaChuZXcgV0kuQ1NTTWVkaWEobWVkaWFUeXBlLCBtZWRpYVRl
eHQsIG1lZGlhU291cmNlQ29kZUxvY2F0aW9uKSk7Ci0gICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBncm91cGluZ1NvdXJjZUNvZGVMb2NhdGlvbiA9IHN0eWxlU2hlZXQub2Zmc2V0U291cmNlQ29k
ZUxvY2F0aW9uKGdyb3VwaW5nU291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgICAgIHJldHVy
biBuZXcgV0kuQ1NTR3JvdXBpbmcoZ3JvdXBpbmdUeXBlLCBncm91cGluZy50ZXh0LCBncm91cGlu
Z1NvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgIH0pOwogCiAgICAgICAgIGlmIChydWxlKSB7
Ci0gICAgICAgICAgICBydWxlLnVwZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4
dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgbWVkaWFMaXN0KTsK
KyAgICAgICAgICAgIHJ1bGUudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0
LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91cGluZ3MpOwog
ICAgICAgICAgICAgcmV0dXJuIHJ1bGU7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoc3R5bGVT
aGVldCkKICAgICAgICAgICAgIHN0eWxlU2hlZXQuYWRkRXZlbnRMaXN0ZW5lcihXSS5DU1NTdHls
ZVNoZWV0LkV2ZW50LkNvbnRlbnREaWRDaGFuZ2UsIHRoaXMuX3N0eWxlU2hlZXRDb250ZW50RGlk
Q2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBydWxlID0gbmV3IFdJLkNTU1J1bGUodGhpcywgc3R5
bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxl
Y3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBtZWRpYUxpc3QpOworICAgICAg
ICBydWxlID0gbmV3IFdJLkNTU1J1bGUodGhpcywgc3R5bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJj
ZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3Rvcklu
ZGljZXMsIHN0eWxlLCBncm91cGluZ3MpOwogCiAgICAgICAgIGlmIChtYXBLZXkpCiAgICAgICAg
ICAgICB0aGlzLl9ydWxlc01hcC5zZXQobWFwS2V5LCBydWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbCBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbAppbmRleCBjMDAyMTgzZWY0ODg3YjRhZDRi
NGZiZGI1MmRhZWY2NjQwZjE1MjYyLi45MmM3ZTk4ZGQ0NDc3MzI0MWZkYjZlNjY4NzBkNjgyNzBh
YzRhYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9U
ZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5o
dG1sCkBAIC0xMjQsOCArMTI0LDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVs
aW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lUmVj
b3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0NvbXBsZXRpb25z
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0dyb3VwaW5nLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRpYS5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iTW9kZWxzL0NTU1NlbGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24uY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5jc3MKaW5kZXgg
M2ZlNzRjMGJiODE1MDE2NmU2MzFiMjZmZTU1NzQ0ZTFjZWY3NjUxNC4uN2Q1NWQ0NWMxZDk5YmM4
OTZhNWZkMzg1YjZkMDg5MTMxM2YyNzc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5jc3MKQEAgLTM5LDExICszOSwx
MSBAQAogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiB9CiAKLS5zcHJlYWRzaGVldC1j
c3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1tZWRpYSkgeworLnNwcmVh
ZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdyb3VwaW5n
cykgewogICAgIHBhZGRpbmc6IDAgdmFyKC0tY3NzLWRlY2xhcmF0aW9uLWhvcml6b250YWwtcGFk
ZGluZyk7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRl
ciwgLmhlYWRlci1tZWRpYSk6Zmlyc3QtY2hpbGQgeworLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJh
dGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdyb3VwaW5ncyk6Zmlyc3QtY2hpbGQgewog
ICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jc3MtZGVjbGFyYXRpb24tdmVydGljYWwtcGFkZGluZyk7
CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAKICAgICByaWdodDogdmFyKC0tY3NzLWRlY2xhcmF0aW9u
LWhvcml6b250YWwtcGFkZGluZyk7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24g
Lm1lZGlhLWxhYmVsIHsKKy5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLmhlYWRlci1ncm91
cGluZ3MgPiAuZ3JvdXBpbmcgewogICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsKIH0KIApA
QCAtMTEyLDYgKzExMiwxMCBAQAogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiB9CiAK
Ky5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLmhlYWRlci1ncm91cGluZ3MgKyAuaGVhZGVy
ID4gLnNlbGVjdG9yID4gLmljb24geworICAgIG1hcmdpbi10b3A6IDA7Cit9CisKIC5zcHJlYWRz
aGVldC1jc3MtZGVjbGFyYXRpb24gLnNlbGVjdG9yID4gLmljb24gKyAqIHsKICAgICAtd2Via2l0
LXBhZGRpbmctc3RhcnQ6IDJweDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRz
aGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IDBhZGMyMjc5ODMzZjkzMmM3
YmI1MmY0YzY2MTEzMDQzMWM4Y2Q5NDguLjY0M2I1OGJhYjMwY2I5M2Y3OGY5Mjg2NzdjNjZiYTAy
MWUyODU5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHls
ZURlY2xhcmF0aW9uU2VjdGlvbi5qcwpAQCAtMzgsNyArMzgsNyBAQCBXSS5TcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uUwogICAgICAgICB0aGlzLl9zdHlsZSA9IHN0eWxlOwogICAgICAgICB0aGlzLl9wcm9w
ZXJ0aWVzRWRpdG9yID0gbnVsbDsKICAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50cyA9IFtd
OwotICAgICAgICB0aGlzLl9tZWRpYUVsZW1lbnRzID0gW107CisgICAgICAgIHRoaXMuX2dyb3Vw
aW5nRWxlbWVudHMgPSBbXTsKICAgICAgICAgdGhpcy5fZmlsdGVyVGV4dCA9IG51bGw7CiAgICAg
ICAgIHRoaXMuX3Nob3VsZEZvY3VzU2VsZWN0b3JFbGVtZW50ID0gZmFsc2U7CiAgICAgICAgIHRo
aXMuX3dhc0VkaXRpbmcgPSBmYWxzZTsKQEAgLTk5LDcgKzk5LDI5IEBAIFdJLlNwcmVhZHNoZWV0
Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVj
bGFyYXRpb25TCiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoaWNvbkNs
YXNzTmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl9oZWFkZXJFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGxldCBncm91cGluZ3MgPSB0aGlz
Ll9zdHlsZS5ncm91cGluZ3MuZmlsdGVyKChncm91cGluZykgPT4gZ3JvdXBpbmcudGV4dCAhPT0g
ImFsbCIpOworICAgICAgICBpZiAoZ3JvdXBpbmdzLmxlbmd0aCkgeworICAgICAgICAgICAgbGV0
IGdyb3VwaW5nc0VsZW1lbnQgPSB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICAgICAgZ3JvdXBpbmdzRWxlbWVudC5jbGFzc0xp
c3QuYWRkKCJoZWFkZXItZ3JvdXBpbmdzIik7CisKKyAgICAgICAgICAgIGxldCBjdXJyZW50R3Jv
dXBpbmdUeXBlID0gbnVsbDsKKyAgICAgICAgICAgIGxldCBncm91cGluZ1R5cGVFbGVtZW50ID0g
bnVsbDsKKyAgICAgICAgICAgIHRoaXMuX2dyb3VwaW5nRWxlbWVudHMgPSBncm91cGluZ3MubWFw
KChncm91cGluZykgPT4geworICAgICAgICAgICAgICAgIGlmIChncm91cGluZy50eXBlICE9PSBj
dXJyZW50R3JvdXBpbmdUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5nVHlwZUVs
ZW1lbnQgPSBncm91cGluZ3NFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpKTsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdUeXBlRWxlbWVudC5jbGFz
c0xpc3QuYWRkKCJncm91cGluZyIpOworICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVF
bGVtZW50LnRleHRDb250ZW50ID0gZ3JvdXBpbmcucHJlZml4ICsgIiAiOworICAgICAgICAgICAg
ICAgICAgICBjdXJyZW50R3JvdXBpbmdUeXBlID0gZ3JvdXBpbmcudHlwZTsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdUeXBlRWxlbWVudC5hcHBl
bmQoIiwgIik7CisKKyAgICAgICAgICAgICAgICBsZXQgc3BhbiA9IGdyb3VwaW5nVHlwZUVsZW1l
bnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKKyAgICAgICAg
ICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gZ3JvdXBpbmcudGV4dDsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gc3BhbjsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAgICAgdGhp
cy5faGVhZGVyRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2IikpOwogICAgICAgICB0aGlzLl9oZWFkZXJFbGVtZW50LmNsYXNzTGlz
dC5hZGQoImhlYWRlciIpOwogCiAgICAgICAgIHRoaXMuX3N0eWxlT3JpZ2luVmlldyA9IG5ldyBX
SS5TdHlsZU9yaWdpblZpZXcoKTsKQEAgLTEzNiw3ICsxNTgsNyBAQCBXSS5TcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uUwogICAgICAgICB0aGlzLl9jbG9zZUJyYWNlLmNsYXNzTGlzdC5hZGQoImNsb3NlLWJy
YWNlIik7CiAgICAgICAgIHRoaXMuX2Nsb3NlQnJhY2UudGV4dENvbnRlbnQgPSAifSI7CiAKLSAg
ICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmQodGhpcy5fY3JlYXRlTWVkaWFIZWFkZXIoKSwgdGhp
cy5faGVhZGVyRWxlbWVudCk7CisKICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX3Byb3Bl
cnRpZXNFZGl0b3IpOwogICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzRWRpdG9yLm5lZWRzTGF5b3V0
KCk7CiAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kKHRoaXMuX2Nsb3NlQnJhY2UpOwpAQCAt
MzgyLDMxICs0MDQsNiBAQCBXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
ID0gY2xhc3MgU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogICAgICAgICAgICAgdGhp
cy5hcHBseUZpbHRlcih0aGlzLl9maWx0ZXJUZXh0KTsKICAgICB9CiAKLSAgICBfY3JlYXRlTWVk
aWFIZWFkZXIoKQotICAgIHsKLSAgICAgICAgbGV0IG1lZGlhTGlzdCA9IHRoaXMuX3N0eWxlLm1l
ZGlhTGlzdDsKLSAgICAgICAgaWYgKCFtZWRpYUxpc3QubGVuZ3RoIHx8IChtZWRpYUxpc3QubGVu
Z3RoID09PSAxICYmIChtZWRpYUxpc3RbMF0udGV4dCA9PT0gImFsbCIgfHwgbWVkaWFMaXN0WzBd
LnRleHQgPT09ICJzY3JlZW4iKSkpCi0gICAgICAgICAgICByZXR1cm4gIiI7Ci0KLSAgICAgICAg
bGV0IG1lZGlhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAg
ICBtZWRpYUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGVhZGVyLW1lZGlhIik7Ci0KLSAgICAgICAg
bGV0IG1lZGlhTGFiZWwgPSBtZWRpYUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2IikpOwotICAgICAgICBtZWRpYUxhYmVsLmNsYXNzTmFtZSA9ICJtZWRpYS1s
YWJlbCI7Ci0gICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kKCJAbWVkaWEgIik7Ci0KLSAgICAgICAg
dGhpcy5fbWVkaWFFbGVtZW50cyA9IG1lZGlhTGlzdC5tYXAoKG1lZGlhLCBpKSA9PiB7Ci0gICAg
ICAgICAgICBpZiAoaSkKLSAgICAgICAgICAgICAgICBtZWRpYUxhYmVsLmFwcGVuZCgiLCAiKTsK
LQotICAgICAgICAgICAgbGV0IHNwYW4gPSBtZWRpYUxhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7Ci0gICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0g
bWVkaWEudGV4dDsKLSAgICAgICAgICAgIHJldHVybiBzcGFuOwotICAgICAgICB9KTsKLQotICAg
ICAgICByZXR1cm4gbWVkaWFFbGVtZW50OwotICAgIH0KLQogICAgIF9zYXZlKGV2ZW50KQogICAg
IHsKICAgICAgICAgZXZlbnQuc3RvcCgpOwpAQCAtNjY4LDEzICs2NjUsMTMgQEAgV0kuU3ByZWFk
c2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5
bGVEZWNsYXJhdGlvblMKIAogICAgIF9oYW5kbGVFZGl0b3JGaWx0ZXJBcHBsaWVkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgbGV0IG1hdGNoZXNNZWRpYSA9IGZhbHNlOwotICAgICAgICBmb3IgKGxl
dCBtZWRpYUVsZW1lbnQgb2YgdGhpcy5fbWVkaWFFbGVtZW50cykgewotICAgICAgICAgICAgbWVk
aWFFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV0kuR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQ
YW5lbC5GaWx0ZXJNYXRjaFNlY3Rpb25DbGFzc05hbWUpOworICAgICAgICBsZXQgbWF0Y2hlc0dy
b3VwaW5nID0gZmFsc2U7CisgICAgICAgIGZvciAobGV0IGdyb3VwaW5nRWxlbWVudCBvZiB0aGlz
Ll9ncm91cGluZ0VsZW1lbnRzKSB7CisgICAgICAgICAgICBncm91cGluZ0VsZW1lbnQuY2xhc3NM
aXN0LnJlbW92ZShXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLkZpbHRlck1hdGNo
U2VjdGlvbkNsYXNzTmFtZSk7CiAKLSAgICAgICAgICAgIGlmIChtZWRpYUVsZW1lbnQudGV4dENv
bnRlbnQuaW5jbHVkZXModGhpcy5fZmlsdGVyVGV4dCkpIHsKLSAgICAgICAgICAgICAgICBtZWRp
YUVsZW1lbnQuY2xhc3NMaXN0LmFkZChXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVs
LkZpbHRlck1hdGNoU2VjdGlvbkNsYXNzTmFtZSk7Ci0gICAgICAgICAgICAgICAgbWF0Y2hlc01l
ZGlhID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChncm91cGluZ0VsZW1lbnQudGV4dENvbnRlbnQu
aW5jbHVkZXModGhpcy5fZmlsdGVyVGV4dCkpIHsKKyAgICAgICAgICAgICAgICBncm91cGluZ0Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZChXSS5HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLkZp
bHRlck1hdGNoU2VjdGlvbkNsYXNzTmFtZSk7CisgICAgICAgICAgICAgICAgbWF0Y2hlc0dyb3Vw
aW5nID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC02ODgsNyArNjg1LDcg
QEAgV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVh
ZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblMKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0g
ICAgICAgIGxldCBtYXRjaGVzID0gZXZlbnQuZGF0YS5tYXRjaGVzIHx8IG1hdGNoZXNNZWRpYSB8
fCBtYXRjaGVzU2VsZWN0b3I7CisgICAgICAgIGxldCBtYXRjaGVzID0gZXZlbnQuZGF0YS5tYXRj
aGVzIHx8IG1hdGNoZXNHcm91cGluZyB8fCBtYXRjaGVzU2VsZWN0b3I7CiAgICAgICAgIGlmICgh
bWF0Y2hlcykKICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChXSS5HZW5l
cmFsU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLk5vRmlsdGVyTWF0Y2hJblNlY3Rpb25DbGFzc05h
bWUpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMGU0NmMzYjM0YmRhMDhmOWNhNDNlM2JjYmIxZTVhNDdkMTY4YjM5Yi4u
NzZkNTkzOTUzNWFhNTZhYjNiMzA3NjAyNTM2OTcyMDgzYWQ1YzZlNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE5LTA4LTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQx
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTM5NzE5NDg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0
eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0OgorCiAyMDE5LTA4LTA4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBQYWdlOiBkb24ndCBh
bGxvdyB0aGUgZG9tYWluIHRvIGJlIGRpc2FibGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0
CmluZGV4IGY4ZmQ2M2E5MWFhM2NlNTYxOGQ4YjYyYTg1MTk4YmFkMmJkYzY0MjAuLjM1YzU2NmY0
OGYyNjQ5MGY1YTg2ZjU2YmNmOTIxZjhiNDY4YzQzMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0
ZWQudHh0CkBAIC03OTAsOSArNzkwLDkgQEAgSW5oZXJpdGVkOgogICAgICAgICAgICJzdHlsZSI6
IHsKICAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgIm5hbWUiOiAiei1pbmRleCIsCi0gICAgICAgICAgICAgICAgInZhbHVlIjog
IjAiLAotICAgICAgICAgICAgICAgICJ0ZXh0IjogInotaW5kZXg6IDA7IiwKKyAgICAgICAgICAg
ICAgICAibmFtZSI6ICJjb2xvciIsCisgICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisg
ICAgICAgICAgICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsiLAogICAgICAgICAgICAgICAgICJy
YW5nZSI6ICI8ZmlsdGVyZWQ+IiwKICAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwK
ICAgICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIKQEAgLTgwMyw3ICs4MDMsNTcgQEAg
SW5oZXJpdGVkOgogICAgICAgICAgICAgIndpZHRoIjogIiIsCiAgICAgICAgICAgICAiaGVpZ2h0
IjogIiIsCiAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCi0gICAgICAgICAgICAi
Y3NzVGV4dCI6ICIgei1pbmRleDogMDsgIgorICAgICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9y
OiByZWQ7ICIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVk
PiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAiZ3JvdXBp
bmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIobWluLXdpZHRo
OiAwcHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtaW1wb3J0LXJ1bGUiLAorICAg
ICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9CisgICAg
ICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCisgICAg
ICAgICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6IHsK
KyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6IFsK
KyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAgICAg
ICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAg
ICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0KKyAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJvZHki
LAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAgICAg
ICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjogInJl
Z3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVz
IjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3IiLAor
ICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0Ijog
ImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisg
ICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0YXR1
cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZpbHRl
cmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQiOiAi
IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJjc3NU
ZXh0IjogIiBjb2xvcjogcmVkOyAiCiAgICAgICAgICAgfSwKICAgICAgICAgICAic291cmNlVVJM
IjogIjxmaWx0ZXJlZD4iLAogICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIKQEAgLTgx
MSw2ICs4NjEsMjExIEBAIEluaGVyaXRlZDoKICAgICAgICAgIm1hdGNoaW5nU2VsZWN0b3JzIjog
WwogICAgICAgICAgIDAKICAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgInJ1
bGUiOiB7CisgICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJzZWxlY3Rv
cnMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJib2R5IiwK
KyAgICAgICAgICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAgICAwLAor
ICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAgICAgICAg
ICBdCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAidGV4dCI6
ICJib2R5IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAgICAgIH0s
CisgICAgICAgICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgIm9yaWdp
biI6ICJyZWd1bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAiY3NzUHJv
cGVydGllcyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImNv
bG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAgICAgICAi
dGV4dCI6ICJjb2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJl
ZD4iLAorICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAgICAgICAg
ICJzdGF0dXMiOiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAg
ICAgICAgICAgInNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHlsZUlkIjog
IjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAgICAiaGVp
Z2h0IjogIiIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
ICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAgICAgInNv
dXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0ZXJlZD4i
LAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICJ0ZXh0IjogIihtaW4td2lkdGg6IDFweCkiLAorICAgICAgICAgICAgICAidHlwZSI6ICJtZWRp
YS1ydWxlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IgorICAgICAg
ICAgICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5nU2VsZWN0
b3JzIjogWworICAgICAgICAgIDAKKyAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAg
ICAgInJ1bGUiOiB7CisgICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJz
ZWxlY3RvcnMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJi
b2R5IiwKKyAgICAgICAgICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAg
ICAwLAorICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAg
ICAgICAgICBdCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
dGV4dCI6ICJib2R5IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAg
ICAgIH0sCisgICAgICAgICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
Im9yaWdpbiI6ICJyZWd1bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAi
Y3NzUHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1l
IjogImNvbG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAg
ICAgICAidGV4dCI6ICJjb2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxm
aWx0ZXJlZD4iLAorICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgInNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHls
ZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAg
ICAiaGVpZ2h0IjogIiIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAg
ICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0
ZXJlZD4iLAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICJ0ZXh0IjogIihkaXNwbGF5OiBibG9jaykiLAorICAgICAgICAgICAgICAidHlwZSI6
ICJzdXBwb3J0cy1ydWxlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+
IgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRleHQiOiAi
KG1pbi13aWR0aDogMnB4KSIsCisgICAgICAgICAgICAgICJ0eXBlIjogIm1lZGlhLXJ1bGUiLAor
ICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9Cisg
ICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBbCisg
ICAgICAgICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVsZSI6
IHsKKyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9ycyI6
IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAorICAg
ICAgICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisgICAg
ICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAgIF0K
KyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0IjogImJv
ZHkiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwKKyAg
ICAgICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2luIjog
InJlZ3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9wZXJ0
aWVzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29sb3Ii
LAorICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0ZXh0
IjogImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIs
CisgICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAiPGZp
bHRlcmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWlnaHQi
OiAiIiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJj
c3NUZXh0IjogIiBjb2xvcjogcmVkOyIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VV
UkwiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAg
ICAgICAgICAiZ3JvdXBpbmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4
dCI6ICIobWluLXdpZHRoOiAzcHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtc3R5
bGUtbm9kZSIsCisgICAgICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgICJtYXRjaGluZ1NlbGVj
dG9ycyI6IFsKKyAgICAgICAgICAwCisgICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7CisgICAg
ICAgICJydWxlIjogeworICAgICAgICAgICJzZWxlY3Rvckxpc3QiOiB7CisgICAgICAgICAgICAi
c2VsZWN0b3JzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRleHQiOiAi
Ym9keSIsCisgICAgICAgICAgICAgICAgInNwZWNpZmljaXR5IjogWworICAgICAgICAgICAgICAg
ICAgMCwKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAxCisgICAgICAg
ICAgICAgICAgXQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAg
InRleHQiOiAiYm9keSIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIKKyAgICAg
ICAgICB9LAorICAgICAgICAgICJzb3VyY2VMaW5lIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAg
ICJvcmlnaW4iOiAicmVndWxhciIsCisgICAgICAgICAgInN0eWxlIjogeworICAgICAgICAgICAg
ImNzc1Byb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFt
ZSI6ICJjb2xvciIsCisgICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAgICAgICAg
ICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsiLAorICAgICAgICAgICAgICAgICJyYW5nZSI6ICI8
ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKKyAgICAgICAg
ICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICJzaG9ydGhhbmRFbnRyaWVzIjogW10sCisgICAgICAgICAgICAic3R5
bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJ3aWR0aCI6ICIiLAorICAgICAgICAg
ICAgImhlaWdodCI6ICIiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iLAorICAg
ICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9yOiByZWQ7ICIKKyAgICAgICAgICB9LAorICAgICAg
ICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8Zmls
dGVyZWQ+IiwKKyAgICAgICAgICAiZ3JvdXBpbmdzIjogWworICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAidGV4dCI6ICIobWluLXdpZHRoOiA0cHgpIiwKKyAgICAgICAgICAgICAgInR5cGUi
OiAibWVkaWEtbGluay1ub2RlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVy
ZWQ+IgorICAgICAgICAgICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1h
dGNoaW5nU2VsZWN0b3JzIjogWworICAgICAgICAgIDAKKyAgICAgICAgXQogICAgICAgfQogICAg
IF0KICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRNYXRjaGVk
U3R5bGVzRm9yTm9kZS5odG1sCmluZGV4IDYxYzgwYjE4NmY0N2Q0M2NjNWMwYjM5MTQ0NGFjZTA1
YjhkMzNmZDAuLjZkYmJmMmVhMzlhMDRmZTM0NGQ2YzE4MjIxMmMxNWJjOGE4N2JhMmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JO
b2RlLmh0bWwKQEAgLTEsNiArMSwzNiBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CisgICAgQGltcG9ydCB1cmwocmVzb3VyY2VzL2V4dGVybmFsLmNzcz8x
KSAobWluLXdpZHRoOiAwcHgpOworCisgICAgYm9keSB7IGNvbG9yOiByZWQ7IH0KKyAgICBAbWVk
aWEgKG1pbi13aWR0aDogMXB4KSB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0KKyAgICBAbWVkaWEg
KG1pbi13aWR0aDogMnB4KSB7IEBzdXBwb3J0cyhkaXNwbGF5OiBibG9jaykgeyBib2R5IHsgY29s
b3I6IHJlZDsgfSB9IH0KKzwvc3R5bGU+Cis8c3R5bGUgbWVkaWE9IihtaW4td2lkdGg6IDNweCki
PgorICAgIGJvZHkgeyBjb2xvcjogcmVkO30KKzwvc3R5bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9InJlc291cmNlcy9leHRlcm5hbC5jc3M/MiIgbWVkaWE9IihtaW4td2lkdGg6IDRw
eCkiPgorPHN0eWxlPgorICAgIGRpdiN4IHsgei1pbmRleDogMTAwOyB9CisgICAgI3ggeyB6LWlu
ZGV4OiAyMDA7IH0KKyAgICBkaXYgeyB6LWluZGV4OiAzMDA7IH0KKworICAgIGRpdjo6Zmlyc3Qt
bGluZSB7IHotaW5kZXg6IDE7IH0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IHotaW5kZXg6IDI7
IH0KKyAgICBkaXY6Om1hcmtlciB7IHotaW5kZXg6IDM7IH0KKyAgICBkaXY6OmJlZm9yZSB7IHot
aW5kZXg6IDQ7IH0KKyAgICBkaXY6OmFmdGVyIHsgei1pbmRleDogNTsgfQorICAgIGRpdjo6c2Vs
ZWN0aW9uIHsgei1pbmRleDogNjsgfQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB6LWlu
ZGV4OiA3OyB9CisgICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IHotaW5kZXg6IDg7
IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7IHotaW5kZXg6IDk7IH0KKyAg
ICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgei1pbmRleDogMTA7IH0KKyAgICBkaXY6
Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlIHsgei1pbmRleDogMTE7IH0KKyAgICBkaXY6
Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7IHotaW5kZXg6IDEyOyB9CisgICAgZGl2Ojotd2Vi
a2l0LXJlc2l6ZXIgeyB6LWluZGV4OiAxMzsgfQorPC9zdHlsZT4KIDxzY3JpcHQ+CiBmdW5jdGlv
biB0ZXN0KCkKIHsKQEAgLTc1LDI5ICsxMDUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RpbmcgQ1NT
LmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlLjwvcD4KLQotICAgIDxzdHlsZT4KLSAgICBib2R5IHsg
ei1pbmRleDogMDsgfQotCi0gICAgZGl2I3ggeyB6LWluZGV4OiAxMDA7IH0KLSAgICAjeCB7IHot
aW5kZXg6IDIwMDsgfQotICAgIGRpdiB7IHotaW5kZXg6IDMwMDsgfQotCi0gICAgZGl2OjpmaXJz
dC1saW5lIHsgei1pbmRleDogMTsgfQotICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgei1pbmRleDog
MjsgfQotICAgIGRpdjo6bWFya2VyIHsgei1pbmRleDogMzsgfQotICAgIGRpdjo6YmVmb3JlIHsg
ei1pbmRleDogNDsgfQotICAgIGRpdjo6YWZ0ZXIgeyB6LWluZGV4OiA1OyB9Ci0gICAgZGl2Ojpz
ZWxlY3Rpb24geyB6LWluZGV4OiA2OyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7IHot
aW5kZXg6IDc7IH0KLSAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgei1pbmRleDog
ODsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsgei1pbmRleDogOTsgfQot
ICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyB6LWluZGV4OiAxMDsgfQotICAgIGRp
djo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UgeyB6LWluZGV4OiAxMTsgfQotICAgIGRp
djo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgei1pbmRleDogMTI7IH0KLSAgICBkaXY6Oi13
ZWJraXQtcmVzaXplciB7IHotaW5kZXg6IDEzOyB9Ci0gICAgPC9zdHlsZT4KLSAgICA8ZGl2IGlk
PSJ4Ij48L2Rpdj4KKzxwPlRlc3RpbmcgQ1NTLmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlLjwvcD4K
KzxkaXYgaWQ9IngiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376173</attachid>
            <date>2019-08-13 09:30:34 -0700</date>
            <delta_ts>2019-08-13 11:28:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200419-20190813093033.patch</filename>
            <type>text/plain</type>
            <size>60920</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGQwOTIwMWZmMzljYmIwMWE0MmFhZDUxODZjNGRl
YjEwODNhZmI5ZmEuLjI1NTYzYzhiOWE3MjQ1OGM3NzY3MWUxMjFmNmE0MjE5NWU3OWExMDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTEzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
dHlsZXM6IHNob3cgQHN1cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDQxOQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTM5NzE5NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisg
ICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5qc29uOgorICAgICAgICBSZW5hbWUgYENT
U01lZGlhYCB0byBgR3JvdXBpbmdgIGFuZCByZW1vdmUgdGhlIGBzb3VyY2VMaW5lYCB2YWx1ZSwg
YXMgaXQgd2FzIG5ldmVyIHBvcHVsYXRlZAorICAgICAgICBhbmQgd2Fzbid0IHVzZWQgYnkgV2Vi
IEluc3BlY3Rvci4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfb2JqY19oZWFkZXIucHk6CisgICAgICAgIChPYmpDSGVhZGVyR2VuZXJhdG9y
LmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmNsdWRpbmcgZmls
ZXMgYXQgdGhlIGVuZCBvZiA8V2ViSW5zcGVjdG9yL1JXSVByb3RvY29sLmg+IGZvciBjb21wYXRp
YmlsaXR5CisgICAgICAgIHN0YXRlbWVudHMgc28gdGhhdCBjaGFuZ2VzIHRvIHRoZSBXZWIgSW5z
cGVjdG9yIHByb3RvY29sIGRvbid0IGJyZWFrIG90aGVyIGNsaWVudHMuCisKIDIwMTktMDgtMTIg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgbXVsdGlw
YXJhbWV0ZXIgb3ZlcmxvYWRzIG9mIGFwcGVuZCgpIGluIFN0cmluZ0J1aWxkZXIgYXMgYSBmaXJz
dCBzdGVwIHRvd2FyZCBzdGFuZGFyZGl6aW5naW5nIG9uIHRoZSBmbGV4aWJsZUFwcGVuZCgpIGlt
cGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzM2QzMTg1ZTkyYmE3Zjk4YTk3MGViYmE5NjI2
ZTc2MDQyOWZmNi4uMjdkYTA4ZTIyZDEyNjA3ZGI2MTViZGVkZDllNTZiZGEyODcyMGMyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA4LTEzICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXM6IHNob3cgQHN1
cHBvcnRzIENTUyBncm91cGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDQxOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTM5NzE5NDg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFRlc3Q6IGlu
c3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUuaHRtbAorCisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRB
cnJheUZvckdyb3VwaW5ncyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R5
bGVTaGVldDo6YnVpbGRPYmplY3RGb3JSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkTWVk
aWFPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6ZmlsbE1lZGlhTGlzdENoYWlu
KTogRGVsZXRlZC4KKworICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaDoKKyAgICAgICAgKiBjc3Mv
TWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVl
cnlTZXQpOgorICAgICAgICBSZW1vdmUgdGhlIGBsYXN0TGluZWAgYXMgaXQgd2FzIG5ldmVyIHNl
dCBieSBhbnlvbmUgYW5kIHdhc24ndCB1c2VkIGJ5IFdlYiBJbnNwZWN0b3IuCisKIDIwMTktMDgt
MTIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgbXVs
dGlwYXJhbWV0ZXIgb3ZlcmxvYWRzIG9mIGFwcGVuZCgpIGluIFN0cmluZ0J1aWxkZXIgYXMgYSBm
aXJzdCBzdGVwIHRvd2FyZCBzdGFuZGFyZGl6aW5naW5nIG9uIHRoZSBmbGV4aWJsZUFwcGVuZCgp
IGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3Y2I2NmZlYTNkYjc5
OTVhMzVjNDkzN2QwMjVlNzJlNDJlOWUzZGM0Li5lMDRiZWU2N2Y5ZWY5OTdjMTBhMjMyZDYwNTYy
YjYzZjRlMTljNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAor
MjAxOS0wOC0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogU3R5bGVzOiBzaG93IEBzdXBwb3J0cyBDU1MgZ3JvdXBpbmdzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA0MTkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzUzOTcxOTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2Vw
aCBQZWNvcmFyby4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0dyb3VwaW5n
LmpzOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0NTU01lZGlhLmpzLgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcpOgorICAgICAgICAoV0ku
Q1NTR3JvdXBpbmcucHJvdG90eXBlLmdldCB0eXBlKToKKyAgICAgICAgKFdJLkNTU0dyb3VwaW5n
LnByb3RvdHlwZS5nZXQgdGV4dCk6CisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5cGUu
Z2V0IHNvdXJjZUNvZGVMb2NhdGlvbik6CisgICAgICAgIChXSS5DU1NHcm91cGluZy5wcm90b3R5
cGUuZ2V0IGlzTWVkaWEpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNTU0dyb3VwaW5nLnByb3RvdHlw
ZS5nZXQgaXNTdXBwb3J0cyk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTR3JvdXBpbmcucHJvdG90
eXBlLmdldCBwcmVmaXgpOiBBZGRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxz
L0NTU1N0eWxlRGVjbGFyYXRpb24uanM6CisgICAgICAgIChXSS5DU1NTdHlsZURlY2xhcmF0aW9u
LnByb3RvdHlwZS5nZXQgZ3JvdXBpbmdzKTogQWRkZWQuCisgICAgICAgIChXSS5DU1NTdHlsZURl
Y2xhcmF0aW9uLnByb3RvdHlwZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcpOgorICAgICAgICAoV0ku
Q1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6IERlbGV0ZWQuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzOgorICAgICAgICAoV0ku
Q1NTUnVsZSk6CisgICAgICAgIChXSS5DU1NSdWxlLnByb3RvdHlwZS5nZXQgZ3JvdXBpbmdzKTog
QWRkZWQuCisgICAgICAgIChXSS5DU1NSdWxlLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAo
V0kuQ1NTUnVsZS5wcm90b3R5cGUuX3NlbGVjdG9yUmVzb2x2ZWQpOgorICAgICAgICAoV0kuQ1NT
UnVsZS5wcm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzOgorICAgICAgICAoV0kuRE9NTm9kZVN0
eWxlcy5wcm90b3R5cGUuX3BhcnNlUnVsZVBheWxvYWQpOgorICAgICAgICAoV0kuRE9NTm9kZVN0
eWxlcy5wcm90b3R5cGUucnVsZXNGb3JTZWxlY3Rvcik6IERlbGV0ZWQuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
anM6CisgICAgICAgIChXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uKToK
KyAgICAgICAgKFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlLmluaXRpYWxMYXlvdXQpOgorICAgICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZUVkaXRvckZpbHRlckFwcGxpZWQpOgorICAg
ICAgICAoV0kuU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUu
X2NyZWF0ZU1lZGlhSGVhZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzOgorICAgICAgICAo
LnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdy
b3VwaW5ncykpOiBBZGRlZC4KKyAgICAgICAgKC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24g
Om1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1ncm91cGluZ3MpOmZpcnN0LWNoaWxkKTogQWRkZWQu
CisgICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0aW9uIC5oZWFkZXItZ3JvdXBpbmdz
ID4gLmdyb3VwaW5nKTogQWRkZWQuCisgICAgICAgICguc3ByZWFkc2hlZXQtY3NzLWRlY2xhcmF0
aW9uIDptYXRjaGVzKC5oZWFkZXIsIC5oZWFkZXItbWVkaWEpKTogRGVsZXRlZC4KKyAgICAgICAg
KC5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1t
ZWRpYSk6Zmlyc3QtY2hpbGQpOiBEZWxldGVkLgorICAgICAgICAoLnNwcmVhZHNoZWV0LWNzcy1k
ZWNsYXJhdGlvbiAubWVkaWEtbGFiZWwpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuQ1NTTWFuYWdlci5w
cm90b2NvbEdyb3VwaW5nVHlwZVRvRW51bSk6IEFkZGVkLgorICAgICAgICAoV0kuQ1NTTWFuYWdl
ci5wcm90b2NvbE1lZGlhU291cmNlVG9FbnVtKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgor
CiAyMDE5LTA4LTEyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50czogU3R5bGVzOiBhZGQgc3BhY2UgYmV0d2VlbiBtZWRp
YSBxdWVyeSBhbmQgc3R5bGUgaWNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9DU1MuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvQ1NTLmpzb24KaW5kZXggZTQ4ZjNiYjBhNjM2MzMzNDVlYjk2NzQxODFi
ZGQzNWRkNGYwOWVjMC4uY2RhMzE3NWM0NjliMGQyMDRjYjg2YTdiYzg4MTU5MWQwMzk3ZTJmZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DU1Mu
anNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NTUy5q
c29uCkBAIC0xNDQsNyArMTQ0LDcgQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJj
ZUxpbmUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIkxpbmUgb3JkaW5hbCBv
ZiB0aGUgcnVsZSBzZWxlY3RvciBzdGFydCBjaGFyYWN0ZXIgaW4gdGhlIHJlc291cmNlLiJ9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3JpZ2luIiwgIiRyZWYiOiAiU3R5bGVTaGVldE9y
aWdpbiIsICJkZXNjcmlwdGlvbiI6ICJQYXJlbnQgc3R5bGVzaGVldCdzIG9yaWdpbi4ifSwKICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInN0eWxlIiwgIiRyZWYiOiAiQ1NTU3R5bGUiLCAiZGVz
Y3JpcHRpb24iOiAiQXNzb2NpYXRlZCBzdHlsZSBkZWNsYXJhdGlvbi4iIH0sCi0gICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJtZWRpYSIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJl
ZiI6ICJDU1NNZWRpYSIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1lZGlh
IGxpc3QgYXJyYXkgKGZvciBydWxlcyBpbnZvbHZpbmcgbWVkaWEgcXVlcmllcykuIFRoZSBhcnJh
eSBlbnVtZXJhdGVzIG1lZGlhIHF1ZXJpZXMgc3RhcnRpbmcgd2l0aCB0aGUgaW5uZXJtb3N0IG9u
ZSwgZ29pbmcgb3V0d2FyZHMuIiB9CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJncm91cGlu
Z3MiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiR3JvdXBpbmciIH0sICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJHcm91cGluZyBsaXN0IGFycmF5IChmb3Ig
cnVsZXMgaW52b2x2aW5nIEBtZWRpYS9Ac3VwcG9ydHMpLiBUaGUgYXJyYXkgZW51bWVyYXRlcyBD
U1MgZ3JvdXBpbmdzIHN0YXJ0aW5nIHdpdGggdGhlIGlubmVybW9zdCBvbmUsIGdvaW5nIG91dHdh
cmRzLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7CkBAIC0yMjEsMTQg
KzIyMSwxMyBAQAogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7Ci0gICAgICAg
ICAgICAiaWQiOiAiQ1NTTWVkaWEiLAorICAgICAgICAgICAgImlkIjogIkdyb3VwaW5nIiwKICAg
ICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
Q1NTIG1lZGlhIHF1ZXJ5IGRlc2NyaXB0b3IuIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJDU1MgQG1lZGlhIChhcyB3ZWxsIGFzIG90aGVyIHVzZXJzIG9mIG1lZGlhIHF1ZXJpZXMsIGxp
a2UgQGltcG9ydCwgPHN0eWxlPiwgPGxpbms+LCBldGMuKSBhbmQgQHN1cHBvcnRzIGRlc2NyaXB0
b3IuIiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJNZWRpYSBxdWVy
eSB0ZXh0LiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZSIsICJ0eXBlIjog
InN0cmluZyIsICJlbnVtIjogWyJtZWRpYVJ1bGUiLCAiaW1wb3J0UnVsZSIsICJsaW5rZWRTaGVl
dCIsICJpbmxpbmVTaGVldCJdLCAiZGVzY3JpcHRpb24iOiAiU291cmNlIG9mIHRoZSBtZWRpYSBx
dWVyeTogXCJtZWRpYVJ1bGVcIiBpZiBzcGVjaWZpZWQgYnkgYSBAbWVkaWEgcnVsZSwgXCJpbXBv
cnRSdWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFuIEBpbXBvcnQgcnVsZSwgXCJsaW5rZWRTaGVldFwi
IGlmIHNwZWNpZmllZCBieSBhIFwibWVkaWFcIiBhdHRyaWJ1dGUgaW4gYSBsaW5rZWQgc3R5bGVz
aGVldCdzIExJTksgdGFnLCBcImlubGluZVNoZWV0XCIgaWYgc3BlY2lmaWVkIGJ5IGEgXCJtZWRp
YVwiIGF0dHJpYnV0ZSBpbiBhbiBpbmxpbmUgc3R5bGVzaGVldCdzIFNUWUxFIHRhZy4iIH0sCi0g
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBkb2N1bWVudCBjb250
YWluaW5nIHRoZSBtZWRpYSBxdWVyeSBkZXNjcmlwdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJzb3VyY2VMaW5lIiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICJMaW5lIGluIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBt
ZWRpYSBxdWVyeSAobm90IGRlZmluZWQgZm9yIHRoZSBcInN0eWxlc2hlZXRcIiBzb3VyY2UpLiIg
fQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJl
bnVtIjogWyJtZWRpYS1ydWxlIiwgIm1lZGlhLWltcG9ydC1ydWxlIiwgIm1lZGlhLWxpbmstbm9k
ZSIsICJtZWRpYS1zdHlsZS1ub2RlIiwgInN1cHBvcnRzLXJ1bGUiXSwgImRlc2NyaXB0aW9uIjog
IlNvdXJjZSBvZiB0aGUgbWVkaWEgcXVlcnk6IFwibWVkaWEtcnVsZVwiIGlmIHNwZWNpZmllZCBi
eSBhIEBtZWRpYSBydWxlLCBcIm1lZGlhLWltcG9ydC1ydWxlXCIgaWYgc3BlY2lmaWVkIGJ5IGFu
IEBpbXBvcnQgcnVsZSwgXCJtZWRpYS1saW5rLW5vZGVcIiBpZiBzcGVjaWZpZWQgYnkgYSBcIm1l
ZGlhXCIgYXR0cmlidXRlIGluIGEgbGlua2VkIHN0eWxlIHNoZWV0J3MgTElOSyB0YWcsIFwibWVk
aWEtc3R5bGUtbm9kZVwiIGlmIHNwZWNpZmllZCBieSBhIFwibWVkaWFcIiBhdHRyaWJ1dGUgaW4g
YW4gaW5saW5lIHN0eWxlIHNoZWV0J3MgU1RZTEUgdGFnLCBcInN1cHBvcnRzLXJ1bGVcIiBpZiBz
cGVjaWZpZWQgYnkgYW4gQHN1cHBvcnRzIHJ1bGUsIC4iIH0sCisgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJzb3VyY2VVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBDU1MgZ3Jv
dXBpbmcuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0KICAgICBdLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVf
b2JqY19oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weQppbmRleCAyNTMyNjUyZThmNWQ5M2Q0ZjAy
MTQ5MWU1Zjg0NWMwOWRhMDZhZDdjLi5mYzBjYzJhYjhlNGI3ODFlNmRkNWJjZWJjMmFhOTk1YTUx
YzQ2OWY1IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2hlYWRlci5weQpA
QCAtNTcsMTIgKzU3LDIwIEBAIGNsYXNzIE9iakNIZWFkZXJHZW5lcmF0b3IoT2JqQ0dlbmVyYXRv
cik6CiAgICAgICAgIHJldHVybiAnJXMuaCcgJSBzZWxmLnByb3RvY29sX25hbWUoKQogCiAgICAg
ZGVmIGdlbmVyYXRlX291dHB1dChzZWxmKToKLSAgICAgICAgaGVhZGVycyA9IHNldChbCisgICAg
ICAgIGhlYWRlclByZWx1ZGVIZWFkZXJzID0gc2V0KFsKICAgICAgICAgICAgICc8V2ViSW5zcGVj
dG9yLyVzSlNPTk9iamVjdC5oPicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfU1RBVElDX1BSRUZJWCwK
ICAgICAgICAgXSkKIAotICAgICAgICBoZWFkZXJfYXJncyA9IHsKLSAgICAgICAgICAgICdpbmNs
dWRlcyc6ICdcbicuam9pbihbJyNpbXBvcnQgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIHNvcnRl
ZChoZWFkZXJzKV0pLAorICAgICAgICBoZWFkZXJQcmVsdWRlX2FyZ3MgPSB7CisgICAgICAgICAg
ICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4oWycjaW1wb3J0ICcgKyBoZWFkZXIgZm9yIGhlYWRlciBp
biBzb3J0ZWQoaGVhZGVyUHJlbHVkZUhlYWRlcnMpXSksCisgICAgICAgIH0KKworICAgICAgICBo
ZWFkZXJQb3N0bHVkZUhlYWRlcnMgPSBzZXQoWworICAgICAgICAgICAgJzxXZWJJbnNwZWN0b3Iv
JXNCdWlsZENvbXBhdGliaWxpdHlPYmplY3RzLmg+JyAlIE9iakNHZW5lcmF0b3IuT0JKQ19TVEFU
SUNfUFJFRklYLAorICAgICAgICBdKQorCisgICAgICAgIGhlYWRlclBvc3RsdWRlX2FyZ3MgPSB7
CisgICAgICAgICAgICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4oWycjaW1wb3J0ICcgKyBoZWFkZXIg
Zm9yIGhlYWRlciBpbiBzb3J0ZWQoaGVhZGVyUG9zdGx1ZGVIZWFkZXJzKV0pLAogICAgICAgICB9
CiAKICAgICAgICAgZG9tYWlucyA9IHNlbGYuZG9tYWluc190b19nZW5lcmF0ZSgpCkBAIC03Nyw3
ICs4NSw3IEBAIGNsYXNzIE9iakNIZWFkZXJHZW5lcmF0b3IoT2JqQ0dlbmVyYXRvcik6CiAKICAg
ICAgICAgc2VjdGlvbnMgPSBbXQogICAgICAgICBzZWN0aW9ucy5hcHBlbmQoc2VsZi5nZW5lcmF0
ZV9saWNlbnNlKCkpCi0gICAgICAgIHNlY3Rpb25zLmFwcGVuZChUZW1wbGF0ZShPYmpDVGVtcGxh
dGVzLkhlYWRlclByZWx1ZGUpLnN1YnN0aXR1dGUoTm9uZSwgKipoZWFkZXJfYXJncykpCisgICAg
ICAgIHNlY3Rpb25zLmFwcGVuZChUZW1wbGF0ZShPYmpDVGVtcGxhdGVzLkhlYWRlclByZWx1ZGUp
LnN1YnN0aXR1dGUoTm9uZSwgKipoZWFkZXJQcmVsdWRlX2FyZ3MpKQogICAgICAgICBzZWN0aW9u
cy5hcHBlbmQoJ1xuJy5qb2luKFtfZiBmb3IgX2YgaW4gbWFwKHNlbGYuX2dlbmVyYXRlX2Zvcndh
cmRfZGVjbGFyYXRpb25zLCB0eXBlX2RvbWFpbnMpIGlmIF9mXSkpCiAgICAgICAgIHNlY3Rpb25z
LmFwcGVuZChzZWxmLl9nZW5lcmF0ZV9lbnVtX2Zvcl9wbGF0Zm9ybXMoKSkKICAgICAgICAgc2Vj
dGlvbnMuYXBwZW5kKCdcbicuam9pbihbX2YgZm9yIF9mIGluIG1hcChzZWxmLl9nZW5lcmF0ZV9l
bnVtcywgdHlwZV9kb21haW5zKSBpZiBfZl0pKQpAQCAtODcsNyArOTUsNyBAQCBjbGFzcyBPYmpD
SGVhZGVyR2VuZXJhdG9yKE9iakNHZW5lcmF0b3IpOgogICAgICAgICAgICAgc2VjdGlvbnMuYXBw
ZW5kKCdcblxuJy5qb2luKFtfZiBmb3IgX2YgaW4gbWFwKHNlbGYuX2dlbmVyYXRlX2NvbW1hbmRf
cHJvdG9jb2xzLCBjb21tYW5kX2RvbWFpbnMpIGlmIF9mXSkpCiAgICAgICAgICAgICBzZWN0aW9u
cy5hcHBlbmQoJ1xuXG4nLmpvaW4oW19mIGZvciBfZiBpbiBtYXAoc2VsZi5fZ2VuZXJhdGVfZXZl
bnRfaW50ZXJmYWNlcywgZXZlbnRfZG9tYWlucykgaWYgX2ZdKSkKIAotICAgICAgICBzZWN0aW9u
cy5hcHBlbmQoVGVtcGxhdGUoT2JqQ1RlbXBsYXRlcy5IZWFkZXJQb3N0bHVkZSkuc3Vic3RpdHV0
ZShOb25lKSkKKyAgICAgICAgc2VjdGlvbnMuYXBwZW5kKFRlbXBsYXRlKE9iakNUZW1wbGF0ZXMu
SGVhZGVyUG9zdGx1ZGUpLnN1YnN0aXR1dGUoTm9uZSwgKipoZWFkZXJQb3N0bHVkZV9hcmdzKSkK
ICAgICAgICAgcmV0dXJuICdcblxuJy5qb2luKHNlY3Rpb25zKQogCiAgICAgZGVmIF9nZW5lcmF0
ZV9mb3J3YXJkX2RlY2xhcmF0aW9ucyhzZWxmLCBkb21haW4pOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5lcmF0b3Jf
dGVtcGxhdGVzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vb2JqY19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CmluZGV4IDUwYzhmNmZkZTdjZTY4OThi
MDgyODE0OTk3YmU1N2Q3MzAxOWIyNTMuLjY2ZjlmZDJkYzQ3MGQyMWY0ZGU1N2RlODI4YzE1OTQ0
NTY3MTIzYmIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL29iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRvcl90ZW1w
bGF0ZXMucHkKQEAgLTM2LDcgKzM2LDkgQEAgJHtpbmNsdWRlc30KICIiIikKIAogICAgIEhlYWRl
clBvc3RsdWRlID0gKAotICAgICIiIiIiIikKKyAgICAiIiIKKyR7aW5jbHVkZXN9CisiIiIpCiAK
ICAgICBUeXBlQ29udmVyc2lvbnNIZWFkZXJQcmVsdWRlID0gKAogICAgICIiIiR7aW5jbHVkZXN9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCmluZGV4IDFhZDk2NDQzMjEwOTRjYTgyMjJmZjZkZjIz
YmU5YTQ3ZWM1Zjg0MTQuLjIxMTJmNDBjNGM3MjA4MGJhODBlNWQyZDI5MjkyNGI3NmYxN2ExYjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC03Myw3ICs3Myw2IEBAIE1lZGlhUXVlcnlT
ZXQ6Ok1lZGlhUXVlcnlTZXQoKSA9IGRlZmF1bHQ7CiAKIE1lZGlhUXVlcnlTZXQ6Ok1lZGlhUXVl
cnlTZXQoY29uc3QgTWVkaWFRdWVyeVNldCYgbykKICAgICA6IFJlZkNvdW50ZWQoKQotICAgICwg
bV9sYXN0TGluZShvLm1fbGFzdExpbmUpCiAgICAgLCBtX3F1ZXJpZXMoby5tX3F1ZXJpZXMpCiB7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFMaXN0LmgKaW5kZXggNGNiZDQwMTEyMzkyNGYzNGUzMjBiMGQ3ZDc5
MTNmMDdhMWMzMjViMi4uMmI2ZDk4NzkzMWY4N2RmZGU5YjNiZWIzMmQzMWNiYzc2NjY1NjA0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaApAQCAtNTYsOSArNTYsNiBAQCBwdWJsaWM6CiAKICAgICBj
b25zdCBWZWN0b3I8TWVkaWFRdWVyeT4mIHF1ZXJ5VmVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9x
dWVyaWVzOyB9CiAKLSAgICBpbnQgbGFzdExpbmUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RMaW5l
OyB9Ci0gICAgdm9pZCBzZXRMYXN0TGluZShpbnQgbGFzdExpbmUpIHsgbV9sYXN0TGluZSA9IGxh
c3RMaW5lOyB9Ci0KICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbWVkaWFUZXh0KCkgY29uc3Q7
CiAKICAgICBSZWY8TWVkaWFRdWVyeVNldD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTWVkaWFRdWVyeVNldCgqdGhpcykpOyB9CkBAIC03MCw3ICs2Nyw2IEBAIHByaXZhdGU6
CiAgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFRdWVyeVNldChjb25zdCBTdHJpbmcmIG1lZGlhUXVl
cnkpOwogICAgIE1lZGlhUXVlcnlTZXQoY29uc3QgTWVkaWFRdWVyeVNldCYpOwogCi0gICAgaW50
IG1fbGFzdExpbmUgeyAwIH07CiAgICAgVmVjdG9yPE1lZGlhUXVlcnk+IG1fcXVlcmllczsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNw
cAppbmRleCBjYTMwZTFhMjdiZjQwNjE4NWE0ODMyMGEyNjMxODNlYTdlNmU0N2UzLi4xNDk1ZjM5
ZTJhNDVlM2M3MmE5NjE0YWZmNTc5ZTY0ZGRmNTVjMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0zNzksMTMgKzM3OSw2IEBA
IHZvaWQgU3R5bGVTaGVldEhhbmRsZXI6Om9ic2VydmVDb21tZW50KHVuc2lnbmVkIHN0YXJ0T2Zm
c2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpCiAgICAgbV9jdXJyZW50UnVsZURhdGFTdGFjay5sYXN0
KCktPnN0eWxlU291cmNlRGF0YS0+cHJvcGVydHlEYXRhLmFwcGVuZChDU1NQcm9wZXJ0eVNvdXJj
ZURhdGEocHJvcGVydHlEYXRhLm5hbWUsIHByb3BlcnR5RGF0YS52YWx1ZSwgZmFsc2UsIHRydWUs
IHRydWUsIFNvdXJjZVJhbmdlKHN0YXJ0T2Zmc2V0IC0gdG9wUnVsZUJvZHlSYW5nZS5zdGFydCwg
ZW5kT2Zmc2V0IC0gdG9wUnVsZUJvZHlSYW5nZS5zdGFydCkpKTsKIH0KIAotZW51bSBNZWRpYUxp
c3RTb3VyY2UgewotICAgIE1lZGlhTGlzdFNvdXJjZUxpbmtlZFNoZWV0LAotICAgIE1lZGlhTGlz
dFNvdXJjZUlubGluZVNoZWV0LAotICAgIE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVsZSwKLSAgICBN
ZWRpYUxpc3RTb3VyY2VJbXBvcnRSdWxlCi19OwotCiBzdGF0aWMgUmVmUHRyPEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkNTUzo6U291cmNlUmFuZ2U+IGJ1aWxkU291cmNlUmFuZ2VPYmplY3QoY29uc3Qg
U291cmNlUmFuZ2UmIHJhbmdlLCBjb25zdCBWZWN0b3I8c2l6ZV90PiYgbGluZUVuZGluZ3MsIGlu
dCogZW5kaW5nTGluZSA9IG51bGxwdHIpCiB7CiAgICAgaWYgKGxpbmVFbmRpbmdzLmlzRW1wdHko
KSkKQEAgLTQwNSwzNyArMzk4LDYgQEAgc3RhdGljIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29s
OjpDU1M6OlNvdXJjZVJhbmdlPiBidWlsZFNvdXJjZVJhbmdlT2JqZWN0KGNvbnMKICAgICAgICAg
LnJlbGVhc2UoKTsKIH0KIAotc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNT
U01lZGlhPiBidWlsZE1lZGlhT2JqZWN0KGNvbnN0IE1lZGlhTGlzdCogbWVkaWEsIE1lZGlhTGlz
dFNvdXJjZSBtZWRpYUxpc3RTb3VyY2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQotewotICAg
IC8vIE1ha2UgY2VydGFpbiBjb21waWxlcnMgaGFwcHkgYnkgaW5pdGlhbGl6aW5nIHxzb3VyY2V8
IHVwLWZyb250LgotICAgIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJj
ZSBzb3VyY2UgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlhOjpTb3VyY2U6Oklu
bGluZVNoZWV0OwotICAgIHN3aXRjaCAobWVkaWFMaXN0U291cmNlKSB7Ci0gICAgY2FzZSBNZWRp
YUxpc3RTb3VyY2VNZWRpYVJ1bGU6Ci0gICAgICAgIHNvdXJjZSA9IEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZTo6TWVkaWFSdWxlOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIE1lZGlhTGlzdFNvdXJjZUltcG9ydFJ1bGU6Ci0gICAgICAgIHNvdXJjZSA9IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OlNvdXJjZTo6SW1wb3J0UnVsZTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VMaW5rZWRTaGVldDoKLSAgICAgICAg
c291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRpYTo6U291cmNlOjpMaW5r
ZWRTaGVldDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNZWRpYUxpc3RTb3VyY2VJbmxpbmVT
aGVldDoKLSAgICAgICAgc291cmNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NNZWRp
YTo6U291cmNlOjpJbmxpbmVTaGVldDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgYXV0
byBtZWRpYU9iamVjdCA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTTWVkaWE6OmNyZWF0
ZSgpCi0gICAgICAgIC5zZXRUZXh0KG1lZGlhLT5tZWRpYVRleHQoKSkKLSAgICAgICAgLnNldFNv
dXJjZShzb3VyY2UpCi0gICAgICAgIC5yZWxlYXNlKCk7Ci0KLSAgICBpZiAoIXNvdXJjZVVSTC5p
c0VtcHR5KCkpIHsKLSAgICAgICAgbWVkaWFPYmplY3QtPnNldFNvdXJjZVVSTChzb3VyY2VVUkwp
OwotICAgICAgICBtZWRpYU9iamVjdC0+c2V0U291cmNlTGluZShtZWRpYS0+cXVlcmllcygpLT5s
YXN0TGluZSgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIG1lZGlhT2JqZWN0OwotfQotCiBzdGF0aWMg
UmVmUHRyPENTU1J1bGVMaXN0PiBhc0NTU1J1bGVMaXN0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hl
ZXQpCiB7CiAgICAgaWYgKCFzdHlsZVNoZWV0KQpAQCAtNDY1LDU5ICs0MjcsODUgQEAgc3RhdGlj
IFJlZlB0cjxDU1NSdWxlTGlzdD4gYXNDU1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIHJl
dHVybiBudWxscHRyOwogfQogCi1zdGF0aWMgdm9pZCBmaWxsTWVkaWFMaXN0Q2hhaW4oQ1NTUnVs
ZSogcnVsZSwgSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU01lZGlh
PiYgbWVkaWFBcnJheSkKK3N0YXRpYyBSZWY8SlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpDU1M6Okdyb3VwaW5nPj4gYnVpbGRBcnJheUZvckdyb3VwaW5ncyhDU1NSdWxlJiBydWxl
KQogewotICAgIE1lZGlhTGlzdCogbWVkaWFMaXN0OwotICAgIENTU1J1bGUqIHBhcmVudFJ1bGUg
PSBydWxlOwotICAgIFN0cmluZyBzb3VyY2VVUkw7CisgICAgYXV0byBncm91cGluZ3NQYXlsb2Fk
ID0gSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nPjo6Y3Jl
YXRlKCk7CisKKyAgICBhdXRvKiBwYXJlbnRSdWxlID0gJnJ1bGU7CiAgICAgd2hpbGUgKHBhcmVu
dFJ1bGUpIHsKLSAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCA9IG51bGxw
dHI7Ci0gICAgICAgIGJvb2wgaXNNZWRpYVJ1bGUgPSB0cnVlOwotICAgICAgICBpZiAoaXM8Q1NT
TWVkaWFSdWxlPigqcGFyZW50UnVsZSkpIHsKLSAgICAgICAgICAgIENTU01lZGlhUnVsZSYgbWVk
aWFSdWxlID0gZG93bmNhc3Q8Q1NTTWVkaWFSdWxlPigqcGFyZW50UnVsZSk7Ci0gICAgICAgICAg
ICBtZWRpYUxpc3QgPSBtZWRpYVJ1bGUubWVkaWEoKTsKLSAgICAgICAgICAgIHBhcmVudFN0eWxl
U2hlZXQgPSBtZWRpYVJ1bGUucGFyZW50U3R5bGVTaGVldCgpOwotICAgICAgICB9IGVsc2UgaWYg
KGlzPENTU0ltcG9ydFJ1bGU+KCpwYXJlbnRSdWxlKSkgewotICAgICAgICAgICAgQ1NTSW1wb3J0
UnVsZSYgaW1wb3J0UnVsZSA9IGRvd25jYXN0PENTU0ltcG9ydFJ1bGU+KCpwYXJlbnRSdWxlKTsK
LSAgICAgICAgICAgIG1lZGlhTGlzdCA9ICZpbXBvcnRSdWxlLm1lZGlhKCk7Ci0gICAgICAgICAg
ICBwYXJlbnRTdHlsZVNoZWV0ID0gaW1wb3J0UnVsZS5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAg
ICAgICAgICBpc01lZGlhUnVsZSA9IGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IG1lZGlhTGlzdCA9IG51bGxwdHI7CisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29s
OjpDU1M6Okdyb3VwaW5nPiBydWxlR3JvdXBpbmdQYXlsb2FkOwogCi0gICAgICAgIGlmIChwYXJl
bnRTdHlsZVNoZWV0KSB7Ci0gICAgICAgICAgICBzb3VyY2VVUkwgPSBwYXJlbnRTdHlsZVNoZWV0
LT5jb250ZW50cygpLmJhc2VVUkwoKTsKLSAgICAgICAgICAgIGlmIChzb3VyY2VVUkwuaXNFbXB0
eSgpKQotICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IEluc3BlY3RvckRPTUFnZW50Ojpkb2N1
bWVudFVSTFN0cmluZyhwYXJlbnRTdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCkpOwotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIHNvdXJjZVVSTCA9IGVtcHR5U3RyaW5nKCk7Ci0KLSAgICAg
ICAgaWYgKG1lZGlhTGlzdCAmJiBtZWRpYUxpc3QtPmxlbmd0aCgpKQotICAgICAgICAgICAgbWVk
aWFBcnJheS5hZGRJdGVtKGJ1aWxkTWVkaWFPYmplY3QobWVkaWFMaXN0LCBpc01lZGlhUnVsZSA/
IE1lZGlhTGlzdFNvdXJjZU1lZGlhUnVsZSA6IE1lZGlhTGlzdFNvdXJjZUltcG9ydFJ1bGUsIHNv
dXJjZVVSTCkpOwotCi0gICAgICAgIGlmIChwYXJlbnRSdWxlLT5wYXJlbnRSdWxlKCkpCi0gICAg
ICAgICAgICBwYXJlbnRSdWxlID0gcGFyZW50UnVsZS0+cGFyZW50UnVsZSgpOwotICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRSdWxl
LT5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAgICAgICAgICB3aGlsZSAoc3R5bGVTaGVldCkgewot
ICAgICAgICAgICAgICAgIG1lZGlhTGlzdCA9IHN0eWxlU2hlZXQtPm1lZGlhKCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKG1lZGlhTGlzdCAmJiBtZWRpYUxpc3QtPmxlbmd0aCgpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIERvY3VtZW50KiBkb2MgPSBzdHlsZVNoZWV0LT5vd25lckRvY3VtZW50KCk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkb2MpCi0gICAgICAgICAgICAgICAgICAgICAgICBz
b3VyY2VVUkwgPSBkb2MtPnVybCgpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghc3R5
bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCkuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgc291cmNlVVJMID0gc3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJMKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVS
TCA9IGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhQXJyYXkuYWRkSXRl
bShidWlsZE1lZGlhT2JqZWN0KG1lZGlhTGlzdCwgc3R5bGVTaGVldC0+b3duZXJOb2RlKCkgPyBN
ZWRpYUxpc3RTb3VyY2VMaW5rZWRTaGVldCA6IE1lZGlhTGlzdFNvdXJjZUlubGluZVNoZWV0LCBz
b3VyY2VVUkwpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcGFyZW50UnVs
ZSA9IHN0eWxlU2hlZXQtPm93bmVyUnVsZSgpOwotICAgICAgICAgICAgICAgIGlmIChwYXJlbnRS
dWxlKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBzdHlsZVNo
ZWV0ID0gc3R5bGVTaGVldC0+cGFyZW50U3R5bGVTaGVldCgpOworICAgICAgICBpZiAoaXM8Q1NT
TWVkaWFSdWxlPihwYXJlbnRSdWxlKSkgeworICAgICAgICAgICAgYXV0byogbWVkaWEgPSBkb3du
Y2FzdDxDU1NNZWRpYVJ1bGU+KHBhcmVudFJ1bGUpLT5tZWRpYSgpOworICAgICAgICAgICAgaWYg
KG1lZGlhICYmIG1lZGlhLT5sZW5ndGgoKSAmJiBtZWRpYS0+bWVkaWFUZXh0KCkgIT0gImFsbCIp
IHsKKyAgICAgICAgICAgICAgICBydWxlR3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRl
eHQobWVkaWEtPm1lZGlhVGV4dCgpKQorICAgICAgICAgICAgICAgICAgICAuc2V0VHlwZShJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6Okdyb3VwaW5nOjpUeXBlOjpNZWRpYVJ1bGUpCisgICAgICAg
ICAgICAgICAgICAgIC5yZWxlYXNlKCk7CiAgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBp
ZiAoaXM8Q1NTSW1wb3J0UnVsZT4ocGFyZW50UnVsZSkpIHsKKyAgICAgICAgICAgIGF1dG8mIG1l
ZGlhID0gZG93bmNhc3Q8Q1NTSW1wb3J0UnVsZT4ocGFyZW50UnVsZSktPm1lZGlhKCk7CisgICAg
ICAgICAgICBpZiAobWVkaWEubGVuZ3RoKCkgJiYgbWVkaWEubWVkaWFUZXh0KCkgIT0gImFsbCIp
IHsKKyAgICAgICAgICAgICAgICBydWxlR3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRl
eHQobWVkaWEubWVkaWFUZXh0KCkpCisgICAgICAgICAgICAgICAgICAgIC5zZXRUeXBlKEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6R3JvdXBpbmc6OlR5cGU6Ok1lZGlhSW1wb3J0UnVsZSkKKyAg
ICAgICAgICAgICAgICAgICAgLnJlbGVhc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl
bHNlIGlmIChpczxDU1NTdXBwb3J0c1J1bGU+KHBhcmVudFJ1bGUpKSB7CisgICAgICAgICAgICBy
dWxlR3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6
Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAuc2V0VGV4dChkb3duY2FzdDxDU1NTdXBwb3J0c1J1
bGU+KHBhcmVudFJ1bGUpLT5jb25kaXRpb25UZXh0KCkpCisgICAgICAgICAgICAgICAgLnNldFR5
cGUoSW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlwZTo6U3VwcG9ydHNSdWxl
KQorICAgICAgICAgICAgICAgIC5yZWxlYXNlKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
cnVsZUdyb3VwaW5nUGF5bG9hZCkgeworICAgICAgICAgICAgaWYgKGF1dG8qIHBhcmVudFN0eWxl
U2hlZXQgPSBwYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkpIHsKKyAgICAgICAgICAgICAg
ICBTdHJpbmcgc291cmNlVVJMID0gcGFyZW50U3R5bGVTaGVldC0+Y29udGVudHMoKS5iYXNlVVJM
KCk7CisgICAgICAgICAgICAgICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGF1dG8qIG93bmVyRG9jdW1lbnQgPSBwYXJlbnRTdHlsZVNoZWV0LT5v
d25lckRvY3VtZW50KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VVUkwgPSBJbnNw
ZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRVUkxTdHJpbmcob3duZXJEb2N1bWVudCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICghc291cmNlVVJMLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcnVsZUdyb3VwaW5nUGF5bG9hZC0+c2V0U291cmNlVVJMKHNvdXJj
ZVVSTCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdyb3VwaW5nc1BheWxvYWQtPmFk
ZEl0ZW0oV1RGTW92ZShydWxlR3JvdXBpbmdQYXlsb2FkKSk7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAocGFyZW50UnVsZS0+cGFyZW50UnVsZSgpKSB7CisgICAgICAgICAgICBwYXJlbnRSdWxl
ID0gcGFyZW50UnVsZS0+cGFyZW50UnVsZSgpOworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKworICAgICAgICBhdXRvKiBzdHlsZVNoZWV0ID0gcGFyZW50UnVsZS0+cGFyZW50U3R5
bGVTaGVldCgpOworICAgICAgICB3aGlsZSAoc3R5bGVTaGVldCkgeworICAgICAgICAgICAgYXV0
byogbWVkaWEgPSBzdHlsZVNoZWV0LT5tZWRpYSgpOworICAgICAgICAgICAgaWYgKG1lZGlhICYm
IG1lZGlhLT5sZW5ndGgoKSAmJiBtZWRpYS0+bWVkaWFUZXh0KCkgIT0gImFsbCIpIHsKKyAgICAg
ICAgICAgICAgICBhdXRvIHNoZWV0R3JvdXBpbmdQYXlsb2FkID0gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6Q1NTOjpHcm91cGluZzo6Y3JlYXRlKCkKKyAgICAgICAgICAgICAgICAgICAgLnNldFRleHQo
bWVkaWEtPm1lZGlhVGV4dCgpKQorICAgICAgICAgICAgICAgICAgICAuc2V0VHlwZShpczxIVE1M
U3R5bGVFbGVtZW50PihzdHlsZVNoZWV0LT5vd25lck5vZGUoKSkgPyBJbnNwZWN0b3I6OlByb3Rv
Y29sOjpDU1M6Okdyb3VwaW5nOjpUeXBlOjpNZWRpYVN0eWxlTm9kZTogSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpHcm91cGluZzo6VHlwZTo6TWVkaWFMaW5rTm9kZSkKKyAgICAgICAgICAgICAg
ICAgICAgLnJlbGVhc2UoKTsKKworICAgICAgICAgICAgICAgIFN0cmluZyBzb3VyY2VVUkw7Cisg
ICAgICAgICAgICAgICAgaWYgKGF1dG8qIG93bmVyRG9jdW1lbnQgPSBzdHlsZVNoZWV0LT5vd25l
ckRvY3VtZW50KCkpCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9IG93bmVyRG9jdW1l
bnQtPnVybCgpOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHlsZVNoZWV0LT5jb250ZW50
cygpLmJhc2VVUkwoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZVVSTCA9
IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCkuYmFzZVVSTCgpOworICAgICAgICAgICAgICAgIGlmICgh
c291cmNlVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgc2hlZXRHcm91cGluZ1Bh
eWxvYWQtPnNldFNvdXJjZVVSTChzb3VyY2VVUkwpOworCisgICAgICAgICAgICAgICAgZ3JvdXBp
bmdzUGF5bG9hZC0+YWRkSXRlbShXVEZNb3ZlKHNoZWV0R3JvdXBpbmdQYXlsb2FkKSk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHBhcmVudFJ1bGUgPSBzdHlsZVNoZWV0LT5vd25lclJ1
bGUoKTsKKyAgICAgICAgICAgIGlmIChwYXJlbnRSdWxlKQorICAgICAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgICAgICBzdHlsZVNoZWV0ID0gc3R5bGVTaGVldC0+cGFyZW50U3R5bGVTaGVl
dCgpOwogICAgICAgICB9CiAgICAgfQorCisgICAgcmV0dXJuIGdyb3VwaW5nc1BheWxvYWQ7CiB9
CiAKIFJlZjxJbnNwZWN0b3JTdHlsZT4gSW5zcGVjdG9yU3R5bGU6OmNyZWF0ZShjb25zdCBJbnNw
ZWN0b3JDU1NJZCYgc3R5bGVJZCwgUmVmPENTU1N0eWxlRGVjbGFyYXRpb24+JiYgc3R5bGUsIElu
c3BlY3RvclN0eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQpCkBAIC0xMTczLDExICsxMTYxLDkg
QEAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTUnVsZT4gSW5zcGVjdG9yU3R5
bGVTaGVldDo6YnVpbGRPYmplY3RGb3JSdWwKICAgICAgICAgICAgIHJlc3VsdC0+c2V0UnVsZUlk
KGlkLmFzUHJvdG9jb2xWYWx1ZTxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1J1bGVJZD4o
KSk7CiAgICAgfQogCi0gICAgYXV0byBtZWRpYUFycmF5ID0gQXJyYXlPZjxJbnNwZWN0b3I6OlBy
b3RvY29sOjpDU1M6OkNTU01lZGlhPjo6Y3JlYXRlKCk7Ci0KLSAgICBmaWxsTWVkaWFMaXN0Q2hh
aW4ocnVsZSwgbWVkaWFBcnJheS5nZXQoKSk7Ci0gICAgaWYgKG1lZGlhQXJyYXktPmxlbmd0aCgp
KQotICAgICAgICByZXN1bHQtPnNldE1lZGlhKFdURk1vdmUobWVkaWFBcnJheSkpOworICAgIGF1
dG8gZ3JvdXBpbmdzUGF5bG9hZCA9IGJ1aWxkQXJyYXlGb3JHcm91cGluZ3MoKnJ1bGUpOworICAg
IGlmIChncm91cGluZ3NQYXlsb2FkLT5sZW5ndGgoKSkKKyAgICAgICAgcmVzdWx0LT5zZXRHcm91
cGluZ3MoV1RGTW92ZShncm91cGluZ3NQYXlsb2FkKSk7CiAKICAgICByZXR1cm4gcmVzdWx0Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQ1NTTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL0NTU01hbmFnZXIuanMKaW5kZXggZDhmM2RkZmNiMjQxOGJjZGUwNjQ2Njlh
NmMzNzVkMzhhMzljNGEzNS4uZGQxMjE4ZWYwYWNhYjAwNDc3NzlkZTg2YmY5YmJjMDZmZjk4ZDMx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQ1NTTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2VyLmpzCkBAIC04MSwyMSArODEsMjIgQEAgV0kuQ1NT
TWFuYWdlciA9IGNsYXNzIENTU01hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgfQog
ICAgIH0KIAotICAgIHN0YXRpYyBwcm90b2NvbE1lZGlhU291cmNlVG9FbnVtKHNvdXJjZSkKKyAg
ICBzdGF0aWMgcHJvdG9jb2xHcm91cGluZ1R5cGVUb0VudW0odHlwZSkKICAgICB7Ci0gICAgICAg
IHN3aXRjaCAoc291cmNlKSB7Ci0gICAgICAgIGNhc2UgQ1NTQWdlbnQuQ1NTTWVkaWFTb3VyY2Uu
TWVkaWFSdWxlOgotICAgICAgICAgICAgcmV0dXJuIFdJLkNTU01lZGlhLlR5cGUuTWVkaWFSdWxl
OwotICAgICAgICBjYXNlIENTU0FnZW50LkNTU01lZGlhU291cmNlLkltcG9ydFJ1bGU6Ci0gICAg
ICAgICAgICByZXR1cm4gV0kuQ1NTTWVkaWEuVHlwZS5JbXBvcnRSdWxlOwotICAgICAgICBjYXNl
IENTU0FnZW50LkNTU01lZGlhU291cmNlLkxpbmtlZFNoZWV0OgotICAgICAgICAgICAgcmV0dXJu
IFdJLkNTU01lZGlhLlR5cGUuTGlua2VkU3R5bGVTaGVldDsKLSAgICAgICAgY2FzZSBDU1NBZ2Vu
dC5DU1NNZWRpYVNvdXJjZS5JbmxpbmVTaGVldDoKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NN
ZWRpYS5UeXBlLklubGluZVN0eWxlU2hlZXQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBjb25zb2xlLmFzc2VydChmYWxzZSwgIlVua25vd24gQ1NTLkNTU01lZGlhU291cmNlIiwgc291
cmNlKTsKLSAgICAgICAgICAgIHJldHVybiBXSS5DU1NNZWRpYS5UeXBlLk1lZGlhUnVsZTsKKyAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogQ1NTLkdyb3VwaW5nIGRpZCBub3QgZXhp
c3QgeWV0LgorICAgICAgICBpZiAoIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5DU1MuR3JvdXBp
bmcpIHsKKyAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICAgICAgY2FzZSAibWVk
aWFSdWxlIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRp
YVJ1bGU7CisgICAgICAgICAgICBjYXNlICJpbXBvcnRSdWxlIjoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYUltcG9ydFJ1bGU7CisgICAgICAgICAgICBj
YXNlICJsaW5rZWRTaGVldCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLkNTU0dyb3VwaW5n
LlR5cGUuTWVkaWFMaW5rTm9kZTsKKyAgICAgICAgICAgIGNhc2UgImlubGluZVNoZWV0IjoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYVN0eWxlTm9kZTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICByZXR1cm4gdHlwZTsKICAgICB9CiAK
ICAgICBzdGF0aWMgZGlzcGxheU5hbWVGb3JQc2V1ZG9JZChwc2V1ZG9JZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCA1YjBiMDY0OTIwY2Nk
NmM0MmNiZmJmMjAyNjY3ZmUzOGViZjM3MTcwLi45YTc2NmY3OTg5MDNlNjg2OGVlOWRjNDVkOWVm
OGJiMTlmZjAxOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sCkBAIC0zNjEsOCArMzYxLDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQ
VVRpbWVsaW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVs
aW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0NvbXBs
ZXRpb25zLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0dyb3VwaW5n
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0
aW9ucy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRpYS5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1NlbGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGluZy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NHcm91cGlu
Zy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42MWRmMDRjMmU0NTE2YmJlNTdkMjUyNzc1NzZmNzlhMGY4MzcyOTg4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0NTU0dyb3VwaW5nLmpzCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXSS5D
U1NHcm91cGluZyA9IGNsYXNzIENTU0dyb3VwaW5nCit7CisgICAgY29uc3RydWN0b3IodHlwZSwg
dGV4dCwgc291cmNlQ29kZUxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
T2JqZWN0LnZhbHVlcyhDU1NHcm91cGluZy5UeXBlKS5pbmNsdWRlcyh0eXBlKSk7CisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB0ZXh0ID09PSAic3RyaW5nIiAmJiB0ZXh0Lmxlbmd0aCk7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFzb3VyY2VDb2RlTG9jYXRpb24gfHwgc291cmNlQ29k
ZUxvY2F0aW9uIGluc3RhbmNlb2YgV0kuU291cmNlQ29kZUxvY2F0aW9uKTsKKworICAgICAgICB0
aGlzLl90eXBlID0gdHlwZTsKKyAgICAgICAgdGhpcy5fdGV4dCA9IHRleHQ7CisgICAgICAgIHRo
aXMuX3NvdXJjZUNvZGVMb2NhdGlvbiA9IHNvdXJjZUNvZGVMb2NhdGlvbiB8fCBudWxsOworICAg
IH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBl
OyB9CisgICAgZ2V0IHRleHQoKSB7IHJldHVybiB0aGlzLl90ZXh0OyB9CisgICAgZ2V0IHNvdXJj
ZUNvZGVMb2NhdGlvbigpIHsgcmV0dXJuIHRoaXMuX3NvdXJjZUNvZGVMb2NhdGlvbjsgfQorCisg
ICAgZ2V0IGlzTWVkaWEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgPT09IFdJ
LkNTU0dyb3VwaW5nLlR5cGUuTWVkaWFSdWxlCisgICAgICAgICAgICB8fCB0aGlzLl90eXBlID09
PSBXSS5DU1NHcm91cGluZy5UeXBlLk1lZGlhSW1wb3J0UnVsZQorICAgICAgICAgICAgfHwgdGhp
cy5fdHlwZSA9PT0gV0kuQ1NTR3JvdXBpbmcuVHlwZS5NZWRpYUxpbmtOb2RlCisgICAgICAgICAg
ICB8fCB0aGlzLl90eXBlID09PSBXSS5DU1NHcm91cGluZy5UeXBlLk1lZGlhU3R5bGVOb2RlOwor
ICAgIH0KKworICAgIGdldCBpc1N1cHBvcnRzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll90eXBlID09PSBXSS5DU1NHcm91cGluZy5UeXBlLlN1cHBvcnRzUnVsZTsKKyAgICB9CisKKyAg
ICBnZXQgcHJlZml4KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLmlzU3VwcG9ydHMpCisgICAg
ICAgICAgICByZXR1cm4gIkBzdXBwb3J0cyI7CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhp
cy5pc01lZGlhKTsKKyAgICAgICAgcmV0dXJuICJAbWVkaWEiOworICAgIH0KK307CisKK1dJLkNT
U0dyb3VwaW5nLlR5cGUgPSB7CisgICAgTWVkaWFSdWxlOiAibWVkaWEtcnVsZSIsCisgICAgTWVk
aWFJbXBvcnRSdWxlOiAibWVkaWEtaW1wb3J0LXJ1bGUiLAorICAgIE1lZGlhTGlua05vZGU6ICJt
ZWRpYS1saW5rLW5vZGUiLAorICAgIE1lZGlhU3R5bGVOb2RlOiAibWVkaWEtc3R5bGUtbm9kZSIs
CisgICAgU3VwcG9ydHNSdWxlOiAic3VwcG9ydHMtcnVsZSIsCit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU01lZGlhLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmQ2ODk5ZGNiYzQyMWIzMGUzZGQwNjNiNDg5ZTJl
MTcyZGVjOWJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NNZWRpYS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1XSS5DU1NNZWRpYSA9
IGNsYXNzIENTU01lZGlhCi17Ci0gICAgY29uc3RydWN0b3IodHlwZSwgdGV4dCwgc291cmNlQ29k
ZUxvY2F0aW9uKQotICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXNvdXJjZUNvZGVMb2Nh
dGlvbiB8fCBzb3VyY2VDb2RlTG9jYXRpb24gaW5zdGFuY2VvZiBXSS5Tb3VyY2VDb2RlTG9jYXRp
b24pOwotCi0gICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlIHx8IG51bGw7Ci0gICAgICAgIHRoaXMu
X3RleHQgPSB0ZXh0IHx8ICIiOwotICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBz
b3VyY2VDb2RlTG9jYXRpb24gfHwgbnVsbDsKLSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQotICAg
IGdldCB0eXBlKCkgeyByZXR1cm4gdGhpcy5fdHlwZTsgfQotICAgIGdldCB0ZXh0KCkgeyByZXR1
cm4gdGhpcy5fdGV4dDsgfQotICAgIGdldCBzb3VyY2VDb2RlTG9jYXRpb24oKSB7IHJldHVybiB0
aGlzLl9zb3VyY2VDb2RlTG9jYXRpb247IH0KLX07Ci0KLVdJLkNTU01lZGlhLlR5cGUgPSB7Ci0g
ICAgTWVkaWFSdWxlOiAiY3NzLW1lZGlhLXR5cGUtbWVkaWEtcnVsZSIsCi0gICAgSW1wb3J0UnVs
ZTogImNzcy1tZWRpYS10eXBlLWltcG9ydC1ydWxlIiwKLSAgICBMaW5rZWRTdHlsZVNoZWV0OiAi
Y3NzLW1lZGlhLXR5cGUtbGlua2VkLXN0eWxlc2hlZXQiLAotICAgIElubGluZVN0eWxlU2hlZXQ6
ICJjc3MtbWVkaWEtdHlwZS1pbmxpbmUtc3R5bGVzaGVldCIKLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTUnVsZS5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzCmluZGV4IDhk
OGUyNTljN2E4ZTIzM2IxNGJlNDZjNTc2MGE4NmYwZGIzYTMxZDMuLjVjMjEwNzk5NGQ2NGQxMDQw
MmM5MTk2NDRiMzQ4ZmQzODk1Yjg3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NSdWxlLmpzCkBAIC0yNSw3ICsyNSw3IEBACiAK
IFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiB7Ci0gICAgY29u
c3RydWN0b3Iobm9kZVN0eWxlcywgb3duZXJTdHlsZVNoZWV0LCBpZCwgdHlwZSwgc291cmNlQ29k
ZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hlZFNlbGVjdG9ySW5kaWNl
cywgc3R5bGUsIG1lZGlhTGlzdCkKKyAgICBjb25zdHJ1Y3Rvcihub2RlU3R5bGVzLCBvd25lclN0
eWxlU2hlZXQsIGlkLCB0eXBlLCBzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2Vs
ZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgZ3JvdXBpbmdzKQogICAgIHsK
ICAgICAgICAgc3VwZXIoKTsKIApAQCAtMzcsNTcgKzM3LDI2IEBAIFdJLkNTU1J1bGUgPSBjbGFz
cyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlIHx8
IG51bGw7CiAgICAgICAgIHRoaXMuX2luaXRpYWxTdGF0ZSA9IG51bGw7CiAKLSAgICAgICAgdGhp
cy51cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0
Y2hlZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIG1lZGlhTGlzdCwgdHJ1ZSk7CisgICAgICAgIHRo
aXMudXBkYXRlKHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1h
dGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91cGluZ3MsIHRydWUpOwogICAgIH0KIAog
ICAgIC8vIFB1YmxpYwogCisgICAgZ2V0IG93bmVyU3R5bGVTaGVldCgpIHsgcmV0dXJuIHRoaXMu
X293bmVyU3R5bGVTaGVldDsgfQogICAgIGdldCBpZCgpIHsgcmV0dXJuIHRoaXMuX2lkOyB9Cisg
ICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlOyB9CiAgICAgZ2V0IGluaXRpYWxTdGF0
ZSgpIHsgcmV0dXJuIHRoaXMuX2luaXRpYWxTdGF0ZTsgfQotCi0gICAgZ2V0IG93bmVyU3R5bGVT
aGVldCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fb3duZXJTdHlsZVNoZWV0OwotICAg
IH0KKyAgICBnZXQgc291cmNlQ29kZUxvY2F0aW9uKCkgeyByZXR1cm4gdGhpcy5fc291cmNlQ29k
ZUxvY2F0aW9uOyB9CisgICAgZ2V0IHNlbGVjdG9ycygpIHsgcmV0dXJuIHRoaXMuX3NlbGVjdG9y
czsgfQorICAgIGdldCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzKCkgeyByZXR1cm4gdGhpcy5fbWF0
Y2hlZFNlbGVjdG9ySW5kaWNlczsgfQorICAgIGdldCBzdHlsZSgpIHsgcmV0dXJuIHRoaXMuX3N0
eWxlOyB9CisgICAgZ2V0IGdyb3VwaW5ncygpIHsgcmV0dXJuIHRoaXMuX2dyb3VwaW5nczsgfQog
CiAgICAgZ2V0IGVkaXRhYmxlKCkKICAgICB7CiAgICAgICAgIHJldHVybiAhIXRoaXMuX2lkICYm
ICh0aGlzLl90eXBlID09PSBXSS5DU1NTdHlsZVNoZWV0LlR5cGUuQXV0aG9yIHx8IHRoaXMuX3R5
cGUgPT09IFdJLkNTU1N0eWxlU2hlZXQuVHlwZS5JbnNwZWN0b3IpOwogICAgIH0KIAotICAgIHVw
ZGF0ZShzb3VyY2VDb2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVk
U2VsZWN0b3JJbmRpY2VzLCBzdHlsZSwgbWVkaWFMaXN0KQotICAgIHsKLSAgICAgICAgc291cmNl
Q29kZUxvY2F0aW9uID0gc291cmNlQ29kZUxvY2F0aW9uIHx8IG51bGw7Ci0gICAgICAgIHNlbGVj
dG9yVGV4dCA9IHNlbGVjdG9yVGV4dCB8fCAiIjsKLSAgICAgICAgc2VsZWN0b3JzID0gc2VsZWN0
b3JzIHx8IFtdOwotICAgICAgICBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVj
dG9ySW5kaWNlcyB8fCBbXTsKLSAgICAgICAgc3R5bGUgPSBzdHlsZSB8fCBudWxsOwotICAgICAg
ICBtZWRpYUxpc3QgPSBtZWRpYUxpc3QgfHwgW107Ci0KLSAgICAgICAgaWYgKHRoaXMuX3N0eWxl
KQotICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxlID0gbnVsbDsKLQotICAgICAgICB0
aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VDb2RlTG9jYXRpb247Ci0gICAgICAgIHRo
aXMuX3NlbGVjdG9yVGV4dCA9IHNlbGVjdG9yVGV4dDsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3Jz
ID0gc2VsZWN0b3JzOwotICAgICAgICB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0
Y2hlZFNlbGVjdG9ySW5kaWNlczsKLSAgICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKLSAgICAg
ICAgdGhpcy5fbWVkaWFMaXN0ID0gbWVkaWFMaXN0OwotCi0gICAgICAgIGlmICh0aGlzLl9zdHls
ZSkKLSAgICAgICAgICAgIHRoaXMuX3N0eWxlLm93bmVyUnVsZSA9IHRoaXM7Ci0gICAgfQotCi0g
ICAgZ2V0IHR5cGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7Ci0gICAgfQot
Ci0gICAgZ2V0IHNvdXJjZUNvZGVMb2NhdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fc291cmNlQ29kZUxvY2F0aW9uOwotICAgIH0KLQogICAgIGdldCBzZWxlY3RvclRleHQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdG9yVGV4dDsKQEAgLTEwNywyNCArNzYs
MjcgQEAgV0kuQ1NTUnVsZSA9IGNsYXNzIENTU1J1bGUgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgdGhpcy5fbm9kZVN0eWxlcy5jaGFuZ2VSdWxlU2VsZWN0b3IodGhpcywgc2VsZWN0b3JUZXh0
KS50aGVuKHRoaXMuX3NlbGVjdG9yUmVzb2x2ZWQuYmluZCh0aGlzKSwgdGhpcy5fc2VsZWN0b3JS
ZWplY3RlZC5iaW5kKHRoaXMpKTsKICAgICB9CiAKLSAgICBnZXQgc2VsZWN0b3JzKCkKKyAgICB1
cGRhdGUoc291cmNlQ29kZUxvY2F0aW9uLCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgbWF0Y2hl
ZFNlbGVjdG9ySW5kaWNlcywgc3R5bGUsIGdyb3VwaW5ncykKICAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9zZWxlY3RvcnM7Ci0gICAgfQorICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSBz
b3VyY2VDb2RlTG9jYXRpb24gfHwgbnVsbDsKKyAgICAgICAgc2VsZWN0b3JUZXh0ID0gc2VsZWN0
b3JUZXh0IHx8ICIiOworICAgICAgICBzZWxlY3RvcnMgPSBzZWxlY3RvcnMgfHwgW107CisgICAg
ICAgIG1hdGNoZWRTZWxlY3RvckluZGljZXMgPSBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzIHx8IFtd
OworICAgICAgICBzdHlsZSA9IHN0eWxlIHx8IG51bGw7CisgICAgICAgIGdyb3VwaW5ncyA9IGdy
b3VwaW5ncyB8fCBbXTsKIAotICAgIGdldCBtYXRjaGVkU2VsZWN0b3JJbmRpY2VzKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYXRjaGVkU2VsZWN0b3JJbmRpY2VzOwotICAgIH0KKyAg
ICAgICAgaWYgKHRoaXMuX3N0eWxlKQorICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxl
ID0gbnVsbDsKIAotICAgIGdldCBzdHlsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
c3R5bGU7Ci0gICAgfQorICAgICAgICB0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24gPSBzb3VyY2VD
b2RlTG9jYXRpb247CisgICAgICAgIHRoaXMuX3NlbGVjdG9yVGV4dCA9IHNlbGVjdG9yVGV4dDsK
KyAgICAgICAgdGhpcy5fc2VsZWN0b3JzID0gc2VsZWN0b3JzOworICAgICAgICB0aGlzLl9tYXRj
aGVkU2VsZWN0b3JJbmRpY2VzID0gbWF0Y2hlZFNlbGVjdG9ySW5kaWNlczsKKyAgICAgICAgdGhp
cy5fc3R5bGUgPSBzdHlsZTsKKyAgICAgICAgdGhpcy5fZ3JvdXBpbmdzID0gZ3JvdXBpbmdzOwog
Ci0gICAgZ2V0IG1lZGlhTGlzdCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWVkaWFM
aXN0OworICAgICAgICBpZiAodGhpcy5fc3R5bGUpCisgICAgICAgICAgICB0aGlzLl9zdHlsZS5v
d25lclJ1bGUgPSB0aGlzOwogICAgIH0KIAogICAgIGlzRXF1YWxUbyhydWxlKQpAQCAtMTczLDcg
KzE0NSw3IEBAIFdJLkNTU1J1bGUgPSBjbGFzcyBDU1NSdWxlIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgICAgICAgICAgICAgICAgIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHRoaXMuX293bmVyU3R5bGVT
aGVldC5vZmZzZXRTb3VyY2VDb2RlTG9jYXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZShzb3VyY2VDb2RlTG9j
YXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBbXSwgdGhpcy5fc3R5bGUsIHRoaXMuX21l
ZGlhTGlzdCk7CisgICAgICAgICAgICAgICAgdGhpcy51cGRhdGUoc291cmNlQ29kZUxvY2F0aW9u
LCBzZWxlY3RvclRleHQsIHNlbGVjdG9ycywgW10sIHRoaXMuX3N0eWxlLCB0aGlzLl9ncm91cGlu
Z3MpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFy
YXRpb24uanMKaW5kZXggYzNiZjQ0ZDY1NDk5YWFmOTRiMjg0YjZkMGJlNmZhMGEwZDNhZTlkNC4u
MGU5Nzg4NDczNTk0NGJjZjJhYzZjOWMxNzczNzVmM2YzZThhM2NmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRp
b24uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NT
U1N0eWxlRGVjbGFyYXRpb24uanMKQEAgLTI4NywxMCArMjg3LDEwIEBAIFdJLkNTU1N0eWxlRGVj
bGFyYXRpb24gPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgICAgIHJldHVybiB0aGlzLl9zdHlsZVNoZWV0VGV4dFJhbmdlOwogICAgIH0KIAotICAgIGdl
dCBtZWRpYUxpc3QoKQorICAgIGdldCBncm91cGluZ3MoKQogICAgIHsKICAgICAgICAgaWYgKHRo
aXMuX293bmVyUnVsZSkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUubWVkaWFM
aXN0OworICAgICAgICAgICAgcmV0dXJuIHRoaXMuX293bmVyUnVsZS5ncm91cGluZ3M7CiAgICAg
ICAgIHJldHVybiBbXTsKICAgICB9CiAKQEAgLTUxMSwxNyArNTExLDE3IEBAIFdJLkNTU1N0eWxl
RGVjbGFyYXRpb24gPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgewogICAgICAgICBsZXQgaW5kZW50U3RyaW5nID0gV0kuaW5kZW50U3RyaW5nKCk7CiAg
ICAgICAgIGxldCBzdHlsZVRleHQgPSAiIjsKLSAgICAgICAgbGV0IG1lZGlhTGlzdCA9IHRoaXMu
bWVkaWFMaXN0LmZpbHRlcigobWVkaWEpID0+IG1lZGlhLnRleHQgIT09ICJhbGwiKTsKLSAgICAg
ICAgbGV0IG1lZGlhUXVlcmllc0NvdW50ID0gbWVkaWFMaXN0Lmxlbmd0aDsKLSAgICAgICAgZm9y
IChsZXQgaSA9IG1lZGlhUXVlcmllc0NvdW50IC0gMTsgaSA+PSAwOyAtLWkpCi0gICAgICAgICAg
ICBzdHlsZVRleHQgKz0gaW5kZW50U3RyaW5nLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCAtIGkg
LSAxKSArICJAbWVkaWEgIiArIG1lZGlhTGlzdFtpXS50ZXh0ICsgIiB7XG4iOworICAgICAgICBs
ZXQgZ3JvdXBpbmdzID0gdGhpcy5ncm91cGluZ3MuZmlsdGVyKChncm91cGluZykgPT4gZ3JvdXBp
bmcudGV4dCAhPT0gImFsbCIpOworICAgICAgICBsZXQgZ3JvdXBpbmdzQ291bnQgPSBncm91cGlu
Z3MubGVuZ3RoOworICAgICAgICBmb3IgKGxldCBpID0gZ3JvdXBpbmdzQ291bnQgLSAxOyBpID49
IDA7IC0taSkKKyAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGdy
b3VwaW5nc0NvdW50IC0gaSAtIDEpICsgZ3JvdXBpbmdzW2ldLnByZWZpeCArICIgIiArIGdyb3Vw
aW5nc1tpXS50ZXh0ICsgIiB7XG4iOwogCi0gICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJp
bmcucmVwZWF0KG1lZGlhUXVlcmllc0NvdW50KSArIHRoaXMuc2VsZWN0b3JUZXh0ICsgIiB7XG4i
OworICAgICAgICBzdHlsZVRleHQgKz0gaW5kZW50U3RyaW5nLnJlcGVhdChncm91cGluZ3NDb3Vu
dCkgKyB0aGlzLnNlbGVjdG9yVGV4dCArICIge1xuIjsKIAogICAgICAgICBmb3IgKGxldCBwcm9w
ZXJ0eSBvZiAodGhpcy5fc3R5bGVTaGVldFRleHRSYW5nZSA/IHRoaXMudmlzaWJsZVByb3BlcnRp
ZXMgOiB0aGlzLl9wcm9wZXJ0aWVzKSkKLSAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRT
dHJpbmcucmVwZWF0KG1lZGlhUXVlcmllc0NvdW50ICsgMSkgKyBwcm9wZXJ0eS5mb3JtYXR0ZWRU
ZXh0ICsgIlxuIjsKKyAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0
KGdyb3VwaW5nc0NvdW50ICsgMSkgKyBwcm9wZXJ0eS5mb3JtYXR0ZWRUZXh0ICsgIlxuIjsKIAot
ICAgICAgICBmb3IgKGxldCBpID0gbWVkaWFRdWVyaWVzQ291bnQ7IGkgPiAwOyAtLWkpCisgICAg
ICAgIGZvciAobGV0IGkgPSBncm91cGluZ3NDb3VudDsgaSA+IDA7IC0taSkKICAgICAgICAgICAg
IHN0eWxlVGV4dCArPSBpbmRlbnRTdHJpbmcucmVwZWF0KGkpICsgIn1cbiI7CiAKICAgICAgICAg
c3R5bGVUZXh0ICs9ICJ9IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKaW5kZXggODA3YjFmNjlhZmVm
MGY3MWUwMWZkYTA4MDM1NTcwYWY4MGMzYjRhZi4uNDMwOWI2YTYxZTM3ODllNGNkMTJjNjcyYjBl
MjkzYTYwODhkODVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKQEAgLTEyMywxNiArMTIzLDI1
IEBAIFdJLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5bGVzIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAKICAgICAvLyBQdWJsaWMKIAotICAgIGdldCBub2RlKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9ub2RlOwotICAgIH0KKyAgICBnZXQgbm9kZSgpIHsgcmV0dXJuIHRoaXMuX25v
ZGU7IH0KKyAgICBnZXQgbWF0Y2hlZFJ1bGVzKCkgeyByZXR1cm4gdGhpcy5fbWF0Y2hlZFJ1bGVz
OyB9CisgICAgZ2V0IGluaGVyaXRlZFJ1bGVzKCkgeyByZXR1cm4gdGhpcy5faW5oZXJpdGVkUnVs
ZXM7IH0KKyAgICBnZXQgaW5saW5lU3R5bGUoKSB7IHJldHVybiB0aGlzLl9pbmxpbmVTdHlsZTsg
fQorICAgIGdldCBhdHRyaWJ1dGVzU3R5bGUoKSB7IHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzU3R5
bGU7IH0KKyAgICBnZXQgcHNldWRvRWxlbWVudHMoKSB7IHJldHVybiB0aGlzLl9wc2V1ZG9FbGVt
ZW50czsgfQorICAgIGdldCBjb21wdXRlZFN0eWxlKCkgeyByZXR1cm4gdGhpcy5fY29tcHV0ZWRT
dHlsZTsgfQorICAgIGdldCBvcmRlcmVkU3R5bGVzKCkgeyByZXR1cm4gdGhpcy5fb3JkZXJlZFN0
eWxlczsgfQogCiAgICAgZ2V0IG5lZWRzUmVmcmVzaCgpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5fcGVuZGluZ1JlZnJlc2hUYXNrIHx8IHRoaXMuX25lZWRzUmVmcmVzaDsKICAgICB9CiAK
KyAgICBnZXQgdW5pcXVlT3JkZXJlZFN0eWxlcygpCisgICAgeworICAgICAgICByZXR1cm4gV0ku
RE9NTm9kZVN0eWxlcy51bmlxdWVPcmRlcmVkU3R5bGVzKHRoaXMuX29yZGVyZWRTdHlsZXMpOwor
ICAgIH0KKwogICAgIHJlZnJlc2hJZk5lZWRlZCgpCiAgICAgewogICAgICAgICBpZiAodGhpcy5f
cGVuZGluZ1JlZnJlc2hUYXNrKQpAQCAtMzc1LDYyICszODQsNiBAQCBXSS5ET01Ob2RlU3R5bGVz
ID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgV0ku
Y3NzTWFuYWdlci5wcmVmZXJyZWRJbnNwZWN0b3JTdHlsZVNoZWV0Rm9yRnJhbWUodGhpcy5fbm9k
ZS5mcmFtZSwgaW5zcGVjdG9yU3R5bGVTaGVldEF2YWlsYWJsZS5iaW5kKHRoaXMpKTsKICAgICB9
CiAKLSAgICBydWxlc0ZvclNlbGVjdG9yKHNlbGVjdG9yKQotICAgIHsKLSAgICAgICAgc2VsZWN0
b3IgPSBzZWxlY3RvciB8fCB0aGlzLl9ub2RlLmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVsZUhhc1NlbGVjdG9yKHJ1bGUpIHsKLSAgICAgICAgICAg
IHJldHVybiAhcnVsZS5tZWRpYUxpc3QubGVuZ3RoICYmIHJ1bGUuc2VsZWN0b3JUZXh0ID09PSBz
ZWxlY3RvcjsKLSAgICAgICAgfQotCi0gICAgICAgIGxldCBydWxlcyA9IHRoaXMuX21hdGNoZWRS
dWxlcy5maWx0ZXIocnVsZUhhc1NlbGVjdG9yKTsKLQotICAgICAgICBmb3IgKGxldCBwc2V1ZG9F
bGVtZW50SW5mbyBvZiB0aGlzLl9wc2V1ZG9FbGVtZW50cy52YWx1ZXMoKSkKLSAgICAgICAgICAg
IHJ1bGVzID0gcnVsZXMuY29uY2F0KHBzZXVkb0VsZW1lbnRJbmZvLm1hdGNoZWRSdWxlcy5maWx0
ZXIocnVsZUhhc1NlbGVjdG9yKSk7Ci0KLSAgICAgICAgcmV0dXJuIHJ1bGVzOwotICAgIH0KLQot
ICAgIGdldCBtYXRjaGVkUnVsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21hdGNo
ZWRSdWxlczsKLSAgICB9Ci0KLSAgICBnZXQgaW5oZXJpdGVkUnVsZXMoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX2luaGVyaXRlZFJ1bGVzOwotICAgIH0KLQotICAgIGdldCBpbmxpbmVT
dHlsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lU3R5bGU7Ci0gICAgfQot
Ci0gICAgZ2V0IGF0dHJpYnV0ZXNTdHlsZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
YXR0cmlidXRlc1N0eWxlOwotICAgIH0KLQotICAgIGdldCBwc2V1ZG9FbGVtZW50cygpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5fcHNldWRvRWxlbWVudHM7Ci0gICAgfQotCi0gICAgZ2V0
IGNvbXB1dGVkU3R5bGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXB1dGVkU3R5
bGU7Ci0gICAgfQotCi0gICAgZ2V0IG9yZGVyZWRTdHlsZXMoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIHRoaXMuX29yZGVyZWRTdHlsZXM7Ci0gICAgfQotCi0gICAgZ2V0IHVuaXF1ZU9yZGVyZWRT
dHlsZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdJLkRPTU5vZGVTdHlsZXMudW5pcXVlT3Jk
ZXJlZFN0eWxlcyh0aGlzLl9vcmRlcmVkU3R5bGVzKTsKLSAgICB9Ci0KICAgICBlZmZlY3RpdmVQ
cm9wZXJ0eUZvck5hbWUobmFtZSkKICAgICB7CiAgICAgICAgIGxldCBwcm9wZXJ0eSA9IHRoaXMu
X3Byb3BlcnR5TmFtZVRvRWZmZWN0aXZlUHJvcGVydHlNYXBbbmFtZV07CkBAIC03MzEsMjcgKzY4
NCwyNCBAQCBXSS5ET01Ob2RlU3R5bGVzID0gY2xhc3MgRE9NTm9kZVN0eWxlcyBleHRlbmRzIFdJ
Lk9iamVjdAogICAgICAgICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0gc3R5bGVTaGVldC5vZmZz
ZXRTb3VyY2VDb2RlTG9jYXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKICAgICAgICAgfQogCi0g
ICAgICAgIHZhciBtZWRpYUxpc3QgPSBbXTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IHBheWxv
YWQubWVkaWEgJiYgaSA8IHBheWxvYWQubWVkaWEubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAg
IHZhciBtZWRpYUl0ZW0gPSBwYXlsb2FkLm1lZGlhW2ldOwotICAgICAgICAgICAgdmFyIG1lZGlh
VHlwZSA9IFdJLkNTU01hbmFnZXIucHJvdG9jb2xNZWRpYVNvdXJjZVRvRW51bShtZWRpYUl0ZW0u
c291cmNlKTsKLSAgICAgICAgICAgIHZhciBtZWRpYVRleHQgPSBtZWRpYUl0ZW0udGV4dDsKLSAg
ICAgICAgICAgIGxldCBtZWRpYVNvdXJjZUNvZGVMb2NhdGlvbiA9IERPTU5vZGVTdHlsZXMuY3Jl
YXRlU291cmNlQ29kZUxvY2F0aW9uKG1lZGlhSXRlbS5zb3VyY2VVUkwsIHtsaW5lOiBtZWRpYUl0
ZW0uc291cmNlTGluZX0pOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBDU1Mu
Q1NTUnVsZS5ncm91cGluZ3MgZGlkIG5vdCBleGlzdCB5ZXQuCisgICAgICAgIGxldCBncm91cGlu
Z3MgPSAocGF5bG9hZC5ncm91cGluZ3MgfHwgcGF5bG9hZC5tZWRpYSB8fCBbXSkubWFwKChncm91
cGluZykgPT4geworICAgICAgICAgICAgbGV0IGdyb3VwaW5nVHlwZSA9IFdJLkNTU01hbmFnZXIu
cHJvdG9jb2xHcm91cGluZ1R5cGVUb0VudW0oZ3JvdXBpbmcudHlwZSB8fCBncm91cGluZy5zb3Vy
Y2UpOworICAgICAgICAgICAgbGV0IGdyb3VwaW5nU291cmNlQ29kZUxvY2F0aW9uID0gRE9NTm9k
ZVN0eWxlcy5jcmVhdGVTb3VyY2VDb2RlTG9jYXRpb24oZ3JvdXBpbmcuc291cmNlVVJMKTsKICAg
ICAgICAgICAgIGlmIChzdHlsZVNoZWV0KQotICAgICAgICAgICAgICAgIG1lZGlhU291cmNlQ29k
ZUxvY2F0aW9uID0gc3R5bGVTaGVldC5vZmZzZXRTb3VyY2VDb2RlTG9jYXRpb24obWVkaWFTb3Vy
Y2VDb2RlTG9jYXRpb24pOwotCi0gICAgICAgICAgICBtZWRpYUxpc3QucHVzaChuZXcgV0kuQ1NT
TWVkaWEobWVkaWFUeXBlLCBtZWRpYVRleHQsIG1lZGlhU291cmNlQ29kZUxvY2F0aW9uKSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBncm91cGluZ1NvdXJjZUNvZGVMb2NhdGlvbiA9IHN0
eWxlU2hlZXQub2Zmc2V0U291cmNlQ29kZUxvY2F0aW9uKGdyb3VwaW5nU291cmNlQ29kZUxvY2F0
aW9uKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV0kuQ1NTR3JvdXBpbmcoZ3JvdXBpbmdUeXBl
LCBncm91cGluZy50ZXh0LCBncm91cGluZ1NvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgIH0p
OwogCiAgICAgICAgIGlmIChydWxlKSB7Ci0gICAgICAgICAgICBydWxlLnVwZGF0ZShzb3VyY2VD
b2RlTG9jYXRpb24sIHNlbGVjdG9yVGV4dCwgc2VsZWN0b3JzLCBtYXRjaGVkU2VsZWN0b3JJbmRp
Y2VzLCBzdHlsZSwgbWVkaWFMaXN0KTsKKyAgICAgICAgICAgIHJ1bGUudXBkYXRlKHNvdXJjZUNv
ZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGlj
ZXMsIHN0eWxlLCBncm91cGluZ3MpOwogICAgICAgICAgICAgcmV0dXJuIHJ1bGU7CiAgICAgICAg
IH0KIAogICAgICAgICBpZiAoc3R5bGVTaGVldCkKICAgICAgICAgICAgIHN0eWxlU2hlZXQuYWRk
RXZlbnRMaXN0ZW5lcihXSS5DU1NTdHlsZVNoZWV0LkV2ZW50LkNvbnRlbnREaWRDaGFuZ2UsIHRo
aXMuX3N0eWxlU2hlZXRDb250ZW50RGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBydWxlID0g
bmV3IFdJLkNTU1J1bGUodGhpcywgc3R5bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJjZUNvZGVMb2Nh
dGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxlY3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0
eWxlLCBtZWRpYUxpc3QpOworICAgICAgICBydWxlID0gbmV3IFdJLkNTU1J1bGUodGhpcywgc3R5
bGVTaGVldCwgaWQsIHR5cGUsIHNvdXJjZUNvZGVMb2NhdGlvbiwgc2VsZWN0b3JUZXh0LCBzZWxl
Y3RvcnMsIG1hdGNoZWRTZWxlY3RvckluZGljZXMsIHN0eWxlLCBncm91cGluZ3MpOwogCiAgICAg
ICAgIGlmIChtYXBLZXkpCiAgICAgICAgICAgICB0aGlzLl9ydWxlc01hcC5zZXQobWFwS2V5LCBy
dWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rl
c3QuaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApp
bmRleCBjMDAyMTgzZWY0ODg3YjRhZDRiNGZiZGI1MmRhZWY2NjQwZjE1MjYyLi45MmM3ZTk4ZGQ0
NDc3MzI0MWZkYjZlNjY4NzBkNjgyNzBhYzRhYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCkBAIC0xMjQsOCArMTI0LDggQEAKICAgICA8c2Ny
aXB0IHNyYz0iTW9kZWxzL0NQVVRpbWVsaW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0NTU0NvbXBsZXRpb25zLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
TW9kZWxzL0NTU0dyb3VwaW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxz
L0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ik1v
ZGVscy9DU1NNZWRpYS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQ
cm9wZXJ0eS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1NlbGVjdG9yLmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uY3NzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5jc3MKaW5kZXggMTc3NjAzZmFkYmZiZmQzMTNhODJhZmU3NTdhNjg1NDY0
OGY0MGIzYi4uMjAwZTgyYzVjYTg0ZmM2NGNlOWFmODRhMTIxMmZjYmM5NDc1NjU4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hl
ZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5jc3MKQEAgLTM5LDExICszOSwxMSBAQAogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5v
bmU7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVjbGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwg
LmhlYWRlci1tZWRpYSkgeworLnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcygu
aGVhZGVyLCAuaGVhZGVyLWdyb3VwaW5ncykgewogICAgIHBhZGRpbmc6IDAgdmFyKC0tY3NzLWRl
Y2xhcmF0aW9uLWhvcml6b250YWwtcGFkZGluZyk7CiB9CiAKLS5zcHJlYWRzaGVldC1jc3MtZGVj
bGFyYXRpb24gOm1hdGNoZXMoLmhlYWRlciwgLmhlYWRlci1tZWRpYSk6Zmlyc3QtY2hpbGQgewor
LnNwcmVhZHNoZWV0LWNzcy1kZWNsYXJhdGlvbiA6bWF0Y2hlcyguaGVhZGVyLCAuaGVhZGVyLWdy
b3VwaW5ncyk6Zmlyc3QtY2hpbGQgewogICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jc3MtZGVjbGFy
YXRpb24tdmVydGljYWwtcGFkZGluZyk7CiB9CiAKQEAgLTU4LDcgKzU4LDcgQEAKICAgICByaWdo
dDogdmFyKC0tY3NzLWRlY2xhcmF0aW9uLWhvcml6b250YWwtcGFkZGluZyk7CiB9CiAKLS5zcHJl
YWRzaGVldC1jc3MtZGVjbGFyYXRpb24gLm1lZGlhLWxhYmVsIHsKKy5zcHJlYWRzaGVldC1jc3Mt
ZGVjbGFyYXRpb24gLmhlYWRlci1ncm91cGluZ3MgPiAuZ3JvdXBpbmcgewogICAgIGNvbG9yOiB2
YXIoLS10ZXh0LWNvbG9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NwcmVhZHNo
ZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMKaW5kZXggOTBhYjc1NGEzYjY5MDdiMzdj
MmU3MDIyYWRlZjhkMTJhNTg4OWNiYS4uYjQxN2MzODMyMDlmOTdlNTM4ZWU2N2M4Nzk3NDkzNGY0
MjkwY2QwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TcHJlYWRzaGVldENTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC0zOCw3ICszOCw3IEBAIFdJLlNwcmVhZHNoZWV0Q1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFy
YXRpb25TCiAgICAgICAgIHRoaXMuX3N0eWxlID0gc3R5bGU7CiAgICAgICAgIHRoaXMuX3Byb3Bl
cnRpZXNFZGl0b3IgPSBudWxsOwogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnRzID0gW107
Ci0gICAgICAgIHRoaXMuX21lZGlhRWxlbWVudHMgPSBbXTsKKyAgICAgICAgdGhpcy5fZ3JvdXBp
bmdFbGVtZW50cyA9IFtdOwogICAgICAgICB0aGlzLl9maWx0ZXJUZXh0ID0gbnVsbDsKICAgICAg
ICAgdGhpcy5fc2hvdWxkRm9jdXNTZWxlY3RvckVsZW1lbnQgPSBmYWxzZTsKICAgICAgICAgdGhp
cy5fd2FzRWRpdGluZyA9IGZhbHNlOwpAQCAtOTksNyArOTksMjkgQEAgV0kuU3ByZWFkc2hlZXRD
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIFNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNs
YXJhdGlvblMKICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGFzLWlj
b24iLCBpY29uQ2xhc3NOYW1lKTsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2hlYWRlckVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgbGV0IGdyb3Vw
aW5ncyA9IHRoaXMuX3N0eWxlLmdyb3VwaW5ncy5maWx0ZXIoKGdyb3VwaW5nKSA9PiBncm91cGlu
Zy50ZXh0ICE9PSAiYWxsIik7CisgICAgICAgIGlmIChncm91cGluZ3MubGVuZ3RoKSB7CisgICAg
ICAgICAgICBsZXQgZ3JvdXBpbmdzRWxlbWVudCA9IHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CisgICAgICAgICAgICBncm91cGluZ3NFbGVt
ZW50LmNsYXNzTGlzdC5hZGQoImhlYWRlci1ncm91cGluZ3MiKTsKKworICAgICAgICAgICAgbGV0
IGN1cnJlbnRHcm91cGluZ1R5cGUgPSBudWxsOworICAgICAgICAgICAgbGV0IGdyb3VwaW5nVHlw
ZUVsZW1lbnQgPSBudWxsOworICAgICAgICAgICAgdGhpcy5fZ3JvdXBpbmdFbGVtZW50cyA9IGdy
b3VwaW5ncy5tYXAoKGdyb3VwaW5nKSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKGdyb3VwaW5n
LnR5cGUgIT09IGN1cnJlbnRHcm91cGluZ1R5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgZ3Jv
dXBpbmdUeXBlRWxlbWVudCA9IGdyb3VwaW5nc0VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVF
bGVtZW50LmNsYXNzTGlzdC5hZGQoImdyb3VwaW5nIik7CisgICAgICAgICAgICAgICAgICAgIGdy
b3VwaW5nVHlwZUVsZW1lbnQudGV4dENvbnRlbnQgPSBncm91cGluZy5wcmVmaXggKyAiICI7Cisg
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRHcm91cGluZ1R5cGUgPSBncm91cGluZy50eXBlOwor
ICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBncm91cGluZ1R5cGVF
bGVtZW50LmFwcGVuZCgiLCAiKTsKKworICAgICAgICAgICAgICAgIGxldCBzcGFuID0gZ3JvdXBp
bmdUeXBlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikp
OworICAgICAgICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBncm91cGluZy50ZXh0OworICAg
ICAgICAgICAgICAgIHJldHVybiBzcGFuOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKwor
ICAgICAgICB0aGlzLl9oZWFkZXJFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CiAgICAgICAgIHRoaXMuX2hlYWRlckVsZW1l
bnQuY2xhc3NMaXN0LmFkZCgiaGVhZGVyIik7CiAKICAgICAgICAgdGhpcy5fc3R5bGVPcmlnaW5W
aWV3ID0gbmV3IFdJLlN0eWxlT3JpZ2luVmlldygpOwpAQCAtMTM2LDcgKzE1OCw3IEBAIFdJLlNw
cmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENT
U1N0eWxlRGVjbGFyYXRpb25TCiAgICAgICAgIHRoaXMuX2Nsb3NlQnJhY2UuY2xhc3NMaXN0LmFk
ZCgiY2xvc2UtYnJhY2UiKTsKICAgICAgICAgdGhpcy5fY2xvc2VCcmFjZS50ZXh0Q29udGVudCA9
ICJ9IjsKIAotICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZCh0aGlzLl9jcmVhdGVNZWRpYUhl
YWRlcigpLCB0aGlzLl9oZWFkZXJFbGVtZW50KTsKKwogICAgICAgICB0aGlzLmFkZFN1YnZpZXco
dGhpcy5fcHJvcGVydGllc0VkaXRvcik7CiAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNFZGl0b3Iu
bmVlZHNMYXlvdXQoKTsKICAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmQodGhpcy5fY2xvc2VC
cmFjZSk7CkBAIC0zODIsMzEgKzQwNCw2IEBAIFdJLlNwcmVhZHNoZWV0Q1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24gPSBjbGFzcyBTcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TCiAgICAg
ICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpOwogICAgIH0KIAotICAg
IF9jcmVhdGVNZWRpYUhlYWRlcigpCi0gICAgewotICAgICAgICBsZXQgbWVkaWFMaXN0ID0gdGhp
cy5fc3R5bGUubWVkaWFMaXN0OwotICAgICAgICBpZiAoIW1lZGlhTGlzdC5sZW5ndGggfHwgKG1l
ZGlhTGlzdC5sZW5ndGggPT09IDEgJiYgKG1lZGlhTGlzdFswXS50ZXh0ID09PSAiYWxsIiB8fCBt
ZWRpYUxpc3RbMF0udGV4dCA9PT0gInNjcmVlbiIpKSkKLSAgICAgICAgICAgIHJldHVybiAiIjsK
LQotICAgICAgICBsZXQgbWVkaWFFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7Ci0gICAgICAgIG1lZGlhRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJoZWFkZXItbWVkaWEiKTsK
LQotICAgICAgICBsZXQgbWVkaWFMYWJlbCA9IG1lZGlhRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Ci0gICAgICAgIG1lZGlhTGFiZWwuY2xhc3NOYW1l
ID0gIm1lZGlhLWxhYmVsIjsKLSAgICAgICAgbWVkaWFMYWJlbC5hcHBlbmQoIkBtZWRpYSAiKTsK
LQotICAgICAgICB0aGlzLl9tZWRpYUVsZW1lbnRzID0gbWVkaWFMaXN0Lm1hcCgobWVkaWEsIGkp
ID0+IHsKLSAgICAgICAgICAgIGlmIChpKQotICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBw
ZW5kKCIsICIpOwotCi0gICAgICAgICAgICBsZXQgc3BhbiA9IG1lZGlhTGFiZWwuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKLSAgICAgICAgICAgIHNwYW4udGV4
dENvbnRlbnQgPSBtZWRpYS50ZXh0OwotICAgICAgICAgICAgcmV0dXJuIHNwYW47Ci0gICAgICAg
IH0pOwotCi0gICAgICAgIHJldHVybiBtZWRpYUVsZW1lbnQ7Ci0gICAgfQotCiAgICAgX3NhdmUo
ZXZlbnQpCiAgICAgewogICAgICAgICBldmVudC5zdG9wKCk7CkBAIC02NjgsMTMgKzY2NSwxMyBA
QCBXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0gY2xhc3MgU3ByZWFk
c2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogCiAgICAgX2hhbmRsZUVkaXRvckZpbHRlckFwcGxp
ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBsZXQgbWF0Y2hlc01lZGlhID0gZmFsc2U7Ci0gICAg
ICAgIGZvciAobGV0IG1lZGlhRWxlbWVudCBvZiB0aGlzLl9tZWRpYUVsZW1lbnRzKSB7Ci0gICAg
ICAgICAgICBtZWRpYUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXSS5HZW5lcmFsU3R5bGVEZXRh
aWxzU2lkZWJhclBhbmVsLkZpbHRlck1hdGNoU2VjdGlvbkNsYXNzTmFtZSk7CisgICAgICAgIGxl
dCBtYXRjaGVzR3JvdXBpbmcgPSBmYWxzZTsKKyAgICAgICAgZm9yIChsZXQgZ3JvdXBpbmdFbGVt
ZW50IG9mIHRoaXMuX2dyb3VwaW5nRWxlbWVudHMpIHsKKyAgICAgICAgICAgIGdyb3VwaW5nRWxl
bWVudC5jbGFzc0xpc3QucmVtb3ZlKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwu
RmlsdGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKIAotICAgICAgICAgICAgaWYgKG1lZGlhRWxl
bWVudC50ZXh0Q29udGVudC5pbmNsdWRlcyh0aGlzLl9maWx0ZXJUZXh0KSkgewotICAgICAgICAg
ICAgICAgIG1lZGlhRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdJLkdlbmVyYWxTdHlsZURldGFpbHNT
aWRlYmFyUGFuZWwuRmlsdGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAg
ICBtYXRjaGVzTWVkaWEgPSB0cnVlOworICAgICAgICAgICAgaWYgKGdyb3VwaW5nRWxlbWVudC50
ZXh0Q29udGVudC5pbmNsdWRlcyh0aGlzLl9maWx0ZXJUZXh0KSkgeworICAgICAgICAgICAgICAg
IGdyb3VwaW5nRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRl
YmFyUGFuZWwuRmlsdGVyTWF0Y2hTZWN0aW9uQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgICAgICBt
YXRjaGVzR3JvdXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTY4
OCw3ICs2ODUsNyBAQCBXSS5TcHJlYWRzaGVldENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uID0g
Y2xhc3MgU3ByZWFkc2hlZXRDU1NTdHlsZURlY2xhcmF0aW9uUwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAKLSAgICAgICAgbGV0IG1hdGNoZXMgPSBldmVudC5kYXRhLm1hdGNoZXMgfHwgbWF0
Y2hlc01lZGlhIHx8IG1hdGNoZXNTZWxlY3RvcjsKKyAgICAgICAgbGV0IG1hdGNoZXMgPSBldmVu
dC5kYXRhLm1hdGNoZXMgfHwgbWF0Y2hlc0dyb3VwaW5nIHx8IG1hdGNoZXNTZWxlY3RvcjsKICAg
ICAgICAgaWYgKCFtYXRjaGVzKQogICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdJLkdlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuTm9GaWx0ZXJNYXRjaEluU2Vj
dGlvbkNsYXNzTmFtZSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MGRkYTVkYjZhMjAwYWQzMjE5ODhhNTg2NzM4MzEw
ZGJkMTZmNzFhLi5jNGYxNTlmZTYxMGY2ZDMyZDU1YzRhZDI5NDcwNDBiMGUzNjNmNmNjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDgtMTMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogc2hvdyBAc3VwcG9ydHMg
Q1NTIGdyb3VwaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAwNDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Mzk3MTk0OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY3Nz
L2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Nzcy9n
ZXRNYXRjaGVkU3R5bGVzRm9yTm9kZS1leHBlY3RlZC50eHQ6CisKIDIwMTktMDgtMTIgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHRlc3QgdG8gZW5z
dXJlIHRoYXQgd2UgZGlzcGF0Y2gga2V5ZG93biBhbmQga2V5dXAgZXZlbnRzIHdoZW4gbXVsdGlw
bGUga2V5cyBhcmUgcHJlc3NlZCBhdCB0aGUgc2FtZSB0aW1lCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHlsZXNGb3JOb2RlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0
ZWQudHh0CmluZGV4IGY4ZmQ2M2E5MWFhM2NlNTYxOGQ4YjYyYTg1MTk4YmFkMmJkYzY0MjAuLjM1
YzU2NmY0OGYyNjQ5MGY1YTg2ZjU2YmNmOTIxZjhiNDY4YzQzMjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUt
ZXhwZWN0ZWQudHh0CkBAIC03OTAsOSArNzkwLDkgQEAgSW5oZXJpdGVkOgogICAgICAgICAgICJz
dHlsZSI6IHsKICAgICAgICAgICAgICJjc3NQcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiei1pbmRleCIsCi0gICAgICAgICAgICAgICAgInZh
bHVlIjogIjAiLAotICAgICAgICAgICAgICAgICJ0ZXh0IjogInotaW5kZXg6IDA7IiwKKyAgICAg
ICAgICAgICAgICAibmFtZSI6ICJjb2xvciIsCisgICAgICAgICAgICAgICAgInZhbHVlIjogInJl
ZCIsCisgICAgICAgICAgICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsiLAogICAgICAgICAgICAg
ICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKICAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBm
YWxzZSwKICAgICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIKQEAgLTgwMyw3ICs4MDMs
NTcgQEAgSW5oZXJpdGVkOgogICAgICAgICAgICAgIndpZHRoIjogIiIsCiAgICAgICAgICAgICAi
aGVpZ2h0IjogIiIsCiAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCi0gICAgICAg
ICAgICAiY3NzVGV4dCI6ICIgei1pbmRleDogMDsgIgorICAgICAgICAgICAgImNzc1RleHQiOiAi
IGNvbG9yOiByZWQ7ICIKKyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZp
bHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAi
Z3JvdXBpbmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAidGV4dCI6ICIobWlu
LXdpZHRoOiAwcHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVkaWEtaW1wb3J0LXJ1bGUi
LAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgICB9
CisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMiOiBb
CisgICAgICAgICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAicnVs
ZSI6IHsKKyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVjdG9y
cyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHkiLAor
ICAgICAgICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAsCisg
ICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAgICAg
IF0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0Ijog
ImJvZHkiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAgfSwK
KyAgICAgICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3JpZ2lu
IjogInJlZ3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQcm9w
ZXJ0aWVzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29s
b3IiLAorICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAgICJ0
ZXh0IjogImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVk
PiIsCisgICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAgICAg
InN0YXR1cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQiOiAi
PGZpbHRlcmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJoZWln
aHQiOiAiIiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAg
ICJjc3NUZXh0IjogIiBjb2xvcjogcmVkOyAiCiAgICAgICAgICAgfSwKICAgICAgICAgICAic291
cmNlVVJMIjogIjxmaWx0ZXJlZD4iLAogICAgICAgICAgICJydWxlSWQiOiAiPGZpbHRlcmVkPiIK
QEAgLTgxMSw2ICs4NjEsMjExIEBAIEluaGVyaXRlZDoKICAgICAgICAgIm1hdGNoaW5nU2VsZWN0
b3JzIjogWwogICAgICAgICAgIDAKICAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsKKyAgICAg
ICAgInJ1bGUiOiB7CisgICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAgICAgICJz
ZWxlY3RvcnMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4dCI6ICJi
b2R5IiwKKyAgICAgICAgICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAgICAgICAg
ICAwLAorICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAg
ICAgICAgICBdCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAi
dGV4dCI6ICJib2R5IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IgorICAgICAg
ICAgIH0sCisgICAgICAgICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAg
Im9yaWdpbiI6ICJyZWd1bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAgICAgICAi
Y3NzUHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1l
IjogImNvbG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAgICAgICAg
ICAgICAidGV4dCI6ICJjb2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdlIjogIjxm
aWx0ZXJlZD4iLAorICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgInNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAgICJzdHls
ZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAgICAgICAg
ICAiaGVpZ2h0IjogIiIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisgICAgICAg
ICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjogIjxmaWx0
ZXJlZD4iLAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICJ0ZXh0IjogIihtaW4td2lkdGg6IDFweCkiLAorICAgICAgICAgICAgICAidHlwZSI6
ICJtZWRpYS1ydWxlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+Igor
ICAgICAgICAgICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgIm1hdGNoaW5n
U2VsZWN0b3JzIjogWworICAgICAgICAgIDAKKyAgICAgICAgXQorICAgICAgfSwKKyAgICAgIHsK
KyAgICAgICAgInJ1bGUiOiB7CisgICAgICAgICAgInNlbGVjdG9yTGlzdCI6IHsKKyAgICAgICAg
ICAgICJzZWxlY3RvcnMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGV4
dCI6ICJib2R5IiwKKyAgICAgICAgICAgICAgICAic3BlY2lmaWNpdHkiOiBbCisgICAgICAgICAg
ICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDEKKyAg
ICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAidGV4dCI6ICJib2R5IiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+Igor
ICAgICAgICAgIH0sCisgICAgICAgICAgInNvdXJjZUxpbmUiOiAiPGZpbHRlcmVkPiIsCisgICAg
ICAgICAgIm9yaWdpbiI6ICJyZWd1bGFyIiwKKyAgICAgICAgICAic3R5bGUiOiB7CisgICAgICAg
ICAgICAiY3NzUHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICJuYW1lIjogImNvbG9yIiwKKyAgICAgICAgICAgICAgICAidmFsdWUiOiAicmVkIiwKKyAgICAg
ICAgICAgICAgICAidGV4dCI6ICJjb2xvcjogcmVkOyIsCisgICAgICAgICAgICAgICAgInJhbmdl
IjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgICAgICJpbXBsaWNpdCI6IGZhbHNlLAorICAg
ICAgICAgICAgICAgICJzdGF0dXMiOiAiYWN0aXZlIgorICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgInNob3J0aGFuZEVudHJpZXMiOiBbXSwKKyAgICAgICAgICAg
ICJzdHlsZUlkIjogIjxmaWx0ZXJlZD4iLAorICAgICAgICAgICAgIndpZHRoIjogIiIsCisgICAg
ICAgICAgICAiaGVpZ2h0IjogIiIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIs
CisgICAgICAgICAgICAiY3NzVGV4dCI6ICIgY29sb3I6IHJlZDsgIgorICAgICAgICAgIH0sCisg
ICAgICAgICAgInNvdXJjZVVSTCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAicnVsZUlkIjog
IjxmaWx0ZXJlZD4iLAorICAgICAgICAgICJncm91cGluZ3MiOiBbCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICJ0ZXh0IjogIihkaXNwbGF5OiBibG9jaykiLAorICAgICAgICAgICAgICAi
dHlwZSI6ICJzdXBwb3J0cy1ydWxlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8Zmls
dGVyZWQ+IgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRl
eHQiOiAiKG1pbi13aWR0aDogMnB4KSIsCisgICAgICAgICAgICAgICJ0eXBlIjogIm1lZGlhLXJ1
bGUiLAorICAgICAgICAgICAgICAic291cmNlVVJMIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAg
ICB9CisgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICAibWF0Y2hpbmdTZWxlY3RvcnMi
OiBbCisgICAgICAgICAgMAorICAgICAgICBdCisgICAgICB9LAorICAgICAgeworICAgICAgICAi
cnVsZSI6IHsKKyAgICAgICAgICAic2VsZWN0b3JMaXN0IjogeworICAgICAgICAgICAgInNlbGVj
dG9ycyI6IFsKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0ZXh0IjogImJvZHki
LAorICAgICAgICAgICAgICAgICJzcGVjaWZpY2l0eSI6IFsKKyAgICAgICAgICAgICAgICAgIDAs
CisgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgMQorICAgICAgICAgICAg
ICAgIF0KKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJ0ZXh0
IjogImJvZHkiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4iCisgICAgICAgICAg
fSwKKyAgICAgICAgICAic291cmNlTGluZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAib3Jp
Z2luIjogInJlZ3VsYXIiLAorICAgICAgICAgICJzdHlsZSI6IHsKKyAgICAgICAgICAgICJjc3NQ
cm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAi
Y29sb3IiLAorICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJyZWQiLAorICAgICAgICAgICAgICAg
ICJ0ZXh0IjogImNvbG9yOiByZWQ7IiwKKyAgICAgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRl
cmVkPiIsCisgICAgICAgICAgICAgICAgImltcGxpY2l0IjogZmFsc2UsCisgICAgICAgICAgICAg
ICAgInN0YXR1cyI6ICJhY3RpdmUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAic2hvcnRoYW5kRW50cmllcyI6IFtdLAorICAgICAgICAgICAgInN0eWxlSWQi
OiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgICAid2lkdGgiOiAiIiwKKyAgICAgICAgICAgICJo
ZWlnaHQiOiAiIiwKKyAgICAgICAgICAgICJyYW5nZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAg
ICAgICJjc3NUZXh0IjogIiBjb2xvcjogcmVkOyIKKyAgICAgICAgICB9LAorICAgICAgICAgICJz
b3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6ICI8ZmlsdGVyZWQ+
IiwKKyAgICAgICAgICAiZ3JvdXBpbmdzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAidGV4dCI6ICIobWluLXdpZHRoOiAzcHgpIiwKKyAgICAgICAgICAgICAgInR5cGUiOiAibWVk
aWEtc3R5bGUtbm9kZSIsCisgICAgICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgICJtYXRjaGlu
Z1NlbGVjdG9ycyI6IFsKKyAgICAgICAgICAwCisgICAgICAgIF0KKyAgICAgIH0sCisgICAgICB7
CisgICAgICAgICJydWxlIjogeworICAgICAgICAgICJzZWxlY3Rvckxpc3QiOiB7CisgICAgICAg
ICAgICAic2VsZWN0b3JzIjogWworICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRl
eHQiOiAiYm9keSIsCisgICAgICAgICAgICAgICAgInNwZWNpZmljaXR5IjogWworICAgICAgICAg
ICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAxCisg
ICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgInRleHQiOiAiYm9keSIsCisgICAgICAgICAgICAicmFuZ2UiOiAiPGZpbHRlcmVkPiIK
KyAgICAgICAgICB9LAorICAgICAgICAgICJzb3VyY2VMaW5lIjogIjxmaWx0ZXJlZD4iLAorICAg
ICAgICAgICJvcmlnaW4iOiAicmVndWxhciIsCisgICAgICAgICAgInN0eWxlIjogeworICAgICAg
ICAgICAgImNzc1Byb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjb2xvciIsCisgICAgICAgICAgICAgICAgInZhbHVlIjogInJlZCIsCisgICAg
ICAgICAgICAgICAgInRleHQiOiAiY29sb3I6IHJlZDsiLAorICAgICAgICAgICAgICAgICJyYW5n
ZSI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICAgICAiaW1wbGljaXQiOiBmYWxzZSwKKyAg
ICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIKKyAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICJzaG9ydGhhbmRFbnRyaWVzIjogW10sCisgICAgICAgICAg
ICAic3R5bGVJZCI6ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAgICJ3aWR0aCI6ICIiLAorICAg
ICAgICAgICAgImhlaWdodCI6ICIiLAorICAgICAgICAgICAgInJhbmdlIjogIjxmaWx0ZXJlZD4i
LAorICAgICAgICAgICAgImNzc1RleHQiOiAiIGNvbG9yOiByZWQ7ICIKKyAgICAgICAgICB9LAor
ICAgICAgICAgICJzb3VyY2VVUkwiOiAiPGZpbHRlcmVkPiIsCisgICAgICAgICAgInJ1bGVJZCI6
ICI8ZmlsdGVyZWQ+IiwKKyAgICAgICAgICAiZ3JvdXBpbmdzIjogWworICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAidGV4dCI6ICIobWluLXdpZHRoOiA0cHgpIiwKKyAgICAgICAgICAgICAg
InR5cGUiOiAibWVkaWEtbGluay1ub2RlIiwKKyAgICAgICAgICAgICAgInNvdXJjZVVSTCI6ICI8
ZmlsdGVyZWQ+IgorICAgICAgICAgICAgfQorICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAg
ICAgIm1hdGNoaW5nU2VsZWN0b3JzIjogWworICAgICAgICAgIDAKKyAgICAgICAgXQogICAgICAg
fQogICAgIF0KICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRN
YXRjaGVkU3R5bGVzRm9yTm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZXRN
YXRjaGVkU3R5bGVzRm9yTm9kZS5odG1sCmluZGV4IDYxYzgwYjE4NmY0N2Q0M2NjNWMwYjM5MTQ0
NGFjZTA1YjhkMzNmZDAuLjZkYmJmMmVhMzlhMDRmZTM0NGQ2YzE4MjIxMmMxNWJjOGE4N2JhMmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2V0TWF0Y2hlZFN0eWxlc0Zv
ck5vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dldE1hdGNoZWRTdHls
ZXNGb3JOb2RlLmh0bWwKQEAgLTEsNiArMSwzNiBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgQGltcG9ydCB1cmwocmVzb3VyY2VzL2V4dGVybmFs
LmNzcz8xKSAobWluLXdpZHRoOiAwcHgpOworCisgICAgYm9keSB7IGNvbG9yOiByZWQ7IH0KKyAg
ICBAbWVkaWEgKG1pbi13aWR0aDogMXB4KSB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0KKyAgICBA
bWVkaWEgKG1pbi13aWR0aDogMnB4KSB7IEBzdXBwb3J0cyhkaXNwbGF5OiBibG9jaykgeyBib2R5
IHsgY29sb3I6IHJlZDsgfSB9IH0KKzwvc3R5bGU+Cis8c3R5bGUgbWVkaWE9IihtaW4td2lkdGg6
IDNweCkiPgorICAgIGJvZHkgeyBjb2xvcjogcmVkO30KKzwvc3R5bGU+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9leHRlcm5hbC5jc3M/MiIgbWVkaWE9IihtaW4td2lk
dGg6IDRweCkiPgorPHN0eWxlPgorICAgIGRpdiN4IHsgei1pbmRleDogMTAwOyB9CisgICAgI3gg
eyB6LWluZGV4OiAyMDA7IH0KKyAgICBkaXYgeyB6LWluZGV4OiAzMDA7IH0KKworICAgIGRpdjo6
Zmlyc3QtbGluZSB7IHotaW5kZXg6IDE7IH0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IHotaW5k
ZXg6IDI7IH0KKyAgICBkaXY6Om1hcmtlciB7IHotaW5kZXg6IDM7IH0KKyAgICBkaXY6OmJlZm9y
ZSB7IHotaW5kZXg6IDQ7IH0KKyAgICBkaXY6OmFmdGVyIHsgei1pbmRleDogNTsgfQorICAgIGRp
djo6c2VsZWN0aW9uIHsgei1pbmRleDogNjsgfQorICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXIg
eyB6LWluZGV4OiA3OyB9CisgICAgZGl2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IHotaW5k
ZXg6IDg7IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7IHotaW5kZXg6IDk7
IH0KKyAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgei1pbmRleDogMTA7IH0KKyAg
ICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlIHsgei1pbmRleDogMTE7IH0KKyAg
ICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7IHotaW5kZXg6IDEyOyB9CisgICAgZGl2
Ojotd2Via2l0LXJlc2l6ZXIgeyB6LWluZGV4OiAxMzsgfQorPC9zdHlsZT4KIDxzY3JpcHQ+CiBm
dW5jdGlvbiB0ZXN0KCkKIHsKQEAgLTc1LDI5ICsxMDUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3Rp
bmcgQ1NTLmdldE1hdGNoZWRTdHlsZXNGb3JOb2RlLjwvcD4KLQotICAgIDxzdHlsZT4KLSAgICBi
b2R5IHsgei1pbmRleDogMDsgfQotCi0gICAgZGl2I3ggeyB6LWluZGV4OiAxMDA7IH0KLSAgICAj
eCB7IHotaW5kZXg6IDIwMDsgfQotICAgIGRpdiB7IHotaW5kZXg6IDMwMDsgfQotCi0gICAgZGl2
OjpmaXJzdC1saW5lIHsgei1pbmRleDogMTsgfQotICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgei1p
bmRleDogMjsgfQotICAgIGRpdjo6bWFya2VyIHsgei1pbmRleDogMzsgfQotICAgIGRpdjo6YmVm
b3JlIHsgei1pbmRleDogNDsgfQotICAgIGRpdjo6YWZ0ZXIgeyB6LWluZGV4OiA1OyB9Ci0gICAg
ZGl2OjpzZWxlY3Rpb24geyB6LWluZGV4OiA2OyB9Ci0gICAgZGl2Ojotd2Via2l0LXNjcm9sbGJh
ciB7IHotaW5kZXg6IDc7IH0KLSAgICBkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgei1p
bmRleDogODsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsgei1pbmRleDog
OTsgfQotICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyB6LWluZGV4OiAxMDsgfQot
ICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UgeyB6LWluZGV4OiAxMTsgfQot
ICAgIGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgei1pbmRleDogMTI7IH0KLSAgICBk
aXY6Oi13ZWJraXQtcmVzaXplciB7IHotaW5kZXg6IDEzOyB9Ci0gICAgPC9zdHlsZT4KLSAgICA8
ZGl2IGlkPSJ4Ij48L2Rpdj4KKzxwPlRlc3RpbmcgQ1NTLmdldE1hdGNoZWRTdHlsZXNGb3JOb2Rl
LjwvcD4KKzxkaXYgaWQ9IngiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>