<?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>201757</bug_id>
          
          <creation_ts>2019-09-13 02:20:39 -0700</creation_ts>
          <short_desc>Web Inspector: HTML Formatter - better handling for HTML specific tag cases (&lt;p&gt;/&lt;li&gt;)</short_desc>
          <delta_ts>2019-09-17 11:37:42 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <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>1570535</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-13 02:20:39 -0700</bug_when>
    <thetext>HTML Formatter - better handling for HTML specific tag cases (&lt;p&gt;/&lt;li&gt;)

Cases like:

    &lt;ul&gt;
        &lt;li&gt;one
        &lt;li&gt;two
        &lt;li&gt;Three
    &lt;/ul&gt;

Or:

    &lt;div&gt;
        &lt;p&gt;Test
        &lt;p&gt;Test
    &lt;/div&gt;

Currently display poorly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570769</commentid>
    <comment_count>1</comment_count>
      <attachid>378766</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-13 17:18:29 -0700</bug_when>
    <thetext>Created attachment 378766
[PATCH] Proposed Fix

Blocked by other patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570807</commentid>
    <comment_count>2</comment_count>
      <attachid>378772</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-13 19:21:52 -0700</bug_when>
    <thetext>Created attachment 378772
[PATCH] Proposed Fix

Unblocked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570809</commentid>
    <comment_count>3</comment_count>
      <attachid>378772</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-13 19:24:15 -0700</bug_when>
    <thetext>Comment on attachment 378772
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:137
&gt; +    _autoCloseHTMLNodesForOpenTag(parserNode, node)

I&apos;ve considered renaming &quot;autoClose&quot; to &quot;implicitlyClose&quot; everywhere. I&apos;m fine with both names though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570852</commentid>
    <comment_count>4</comment_count>
      <attachid>378766</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-09-14 02:12:40 -0700</bug_when>
    <thetext>Comment on attachment 378766
[PATCH] Proposed Fix

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

&gt; LayoutTests/inspector/formatting/resources/html-tests/auto-close-special.html:7
&gt; +    &lt;option&gt;0

Can we add a second sibling `&lt;option&gt;` here as well? So it’s tested at both nesting levels.

&gt; LayoutTests/inspector/formatting/resources/html-tests/list.html:7
&gt; +&lt;!-- Nested --&gt;

What about nested of the same type?

&gt; LayoutTests/inspector/formatting/resources/html-tests/p-expected.html:13
&gt; +        &lt;p&gt;1

Ditto for another sibling

&gt; Source/WebInspectorUI/ChangeLog:10
&gt; +        Handle a closing tag with different text than the opening tag.

When can this happen?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:98
&gt; +                containerNode = this._stackOfOpenElements[this._stackOfOpenElements.length - 1];

`this._stackOfOpenElements.lastValue`?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:137
&gt; +    _autoCloseHTMLNodesForOpenTag(parserNode, node)

We only seem to use `node` for the `lowercaseName`. Could we just pass that in instead and make the signature slightly easier to read?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:139
&gt; +        if (parserNode.closed)

Ditto

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:172
&gt; +            this._autoCloseNodesExistingOpenTagWithName([&quot;tr&quot;], [&quot;table&quot;]);

Shouldn’t this also close td/th too?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:179
&gt; +            this._autoCloseNodesExistingOpenTagWithName([&quot;thead&quot;], [&quot;table&quot;]);

Ditto, but also with tr

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:182
&gt; +            this._autoCloseNodesExistingOpenTagWithName([&quot;tbody&quot;], [&quot;table&quot;]);

Ditto, but also with tr

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:232
&gt; +    _autoCloseNodesExistingOpenTagWithName(tagNames, containerTagNames)

This name could be clearer to the better explain the difference between the two arguments. I had to read this patch twice before I understood that the second parameter is like a “scope” that limits when the first parameter is applied.

`_autoCloseTagNamesInsideParentTagNames`

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:240
&gt; +            for (let i = existingOpenTagIndex + 1; i &lt; this._stackOfOpenElements.length; ++i) {

Shouldn’t we be searching for nodes _before_ `existingOpenTagIndex`. I thought this was a stack, so wouldn’t the container node be at an earlier/smaller index?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:242
&gt; +                console.assert(!this._xml);

Can we move this assert outside?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571202</commentid>
    <comment_count>5</comment_count>
      <attachid>378766</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-16 12:18:06 -0700</bug_when>
    <thetext>Comment on attachment 378766
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/ChangeLog:10
&gt;&gt; +        Handle a closing tag with different text than the opening tag.
&gt; 
&gt; When can this happen?

Example `&lt;div&gt;Test&lt;/DIV&gt;`. In HTML the opening div gets closed. In xml it is case sensitive so behaves differently.

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:74
&gt; +            if (!this._xml)
&gt; +                this._autoCloseHTMLNodesForOpenTag(parserNode, node);

I actually suspect this can&apos;t happen because there is no parent to auto-close at this level. So I should be able to remove this.

&gt;&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:98
&gt;&gt; +                containerNode = this._stackOfOpenElements[this._stackOfOpenElements.length - 1];
&gt; 
&gt; `this._stackOfOpenElements.lastValue`?

Sure. FormatterWorker has WorkerUtilities.js which has &quot;lastValue&quot;. I assumed Workers didn&apos;t have the Utilities.js equivalents!

&gt;&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:137
&gt;&gt; +    _autoCloseHTMLNodesForOpenTag(parserNode, node)
&gt; 
&gt; We only seem to use `node` for the `lowercaseName`. Could we just pass that in instead and make the signature slightly easier to read?

I&apos;d rather we pass both nodes since the nodes are the entire context.

&gt;&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:172
&gt;&gt; +            this._autoCloseNodesExistingOpenTagWithName([&quot;tr&quot;], [&quot;table&quot;]);
&gt; 
&gt; Shouldn’t this also close td/th too?

Good point. I&apos;ve made this like `optgroup`. First attempt to close a `tr` scoped to a `table`. If that did not close something, close `th`/`td` within the `table`.

&gt;&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:240
&gt;&gt; +            for (let i = existingOpenTagIndex + 1; i &lt; this._stackOfOpenElements.length; ++i) {
&gt; 
&gt; Shouldn’t we be searching for nodes _before_ `existingOpenTagIndex`. I thought this was a stack, so wouldn’t the container node be at an earlier/smaller index?

The efficient way to use an Array as a stack is to use the end of the stack as the top of the stack. `pop` is much cheaper than `unshift` since no elements in the array need to move on every operation.

&gt;&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:242
&gt;&gt; +                console.assert(!this._xml);
&gt; 
&gt; Can we move this assert outside?

I wanted the assert next to the `lowercaseName` call so that it is obvious to anyone reading it that this lowercaseName call is okay because we are not XML. I&apos;ll move the assert and put a message in the assertion instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571203</commentid>
    <comment_count>6</comment_count>
      <attachid>378877</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-16 12:24:25 -0700</bug_when>
    <thetext>Created attachment 378877
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571204</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-16 12:31:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/55409987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571424</commentid>
    <comment_count>8</comment_count>
      <attachid>378877</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-09-16 21:36:07 -0700</bug_when>
    <thetext>Comment on attachment 378877
[PATCH] Proposed Fix

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

r=me, nice work!

&gt; LayoutTests/inspector/formatting/resources/html-tests/auto-close-special.html:2
&gt; +&lt;head&gt;&lt;title&gt;Title&lt;/title&gt;

Can we omit the `&lt;/title&gt;` to ensure that the `&lt;body&gt;` still closes the `&lt;head&gt;` even if there are other open tags &quot;in between&quot;?

&gt; Source/WebInspectorUI/UserInterface/Workers/Formatter/HTMLTreeBuilderFormatter.js:241
&gt; +        console.assert(!this._isXML, &quot;Implicitly closing only happens in HTML. Also, names are compared case insensitively which would be invalid for XML&quot;);

NIT: missing &quot;.&quot; at the end :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571599</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-17 11:37:38 -0700</bug_when>
    <thetext>&lt;https://trac.webkit.org/r249969&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378766</attachid>
            <date>2019-09-13 17:18:29 -0700</date>
            <delta_ts>2019-09-13 19:21:52 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>html-1.patch</filename>
            <type>text/plain</type>
            <size>24273</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMGYxYjU5MGViYi4uNmNkODM1NDU5ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxOS0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEhUTUwgRm9ybWF0dGVyIC0gYmV0dGVyIGhhbmRsaW5nIGZvciBI
VE1MIHNwZWNpZmljIHRhZyBjYXNlcyAoPHA+LzxsaT4pCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE3NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRp
bmctaHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9y
bWF0dGluZy1odG1sLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3Rz
L2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNs
b3NlLXNwZWNpYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3Jt
ZWQtMS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWw6CisgICAgICAgICogaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvcC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9w
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhYmxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNl
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyBm
b3IgSFRNTCBzcGVjaWFsdGllcy4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zv
cm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9mb3JtYXR0aW5nLXhtbC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQueG1sOiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLnhtbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0
cy92YWxpZC1odG1sLWludmFsaWQteG1sLWV4cGVjdGVkLnhtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwu
eG1sOgorICAgICAgICBYTUwgaXMgY2FzZS1zZW5zaXRpdmUuIEVuc3VyZSBYTUwgZG9lc24ndCBn
ZXQgbW9yZSBvZiB0aGUgSFRNTCBzcGVjaWFsdGllcy4KKwogMjAxOS0wOS0xMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhU
TUwgRm9ybWF0dGVyIC0gWE1MIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CmluZGV4IDM5
OTI1OWZmMWU1Li4wZDQzNzQyYTMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsOCBAQCBUZXN0IEhUTUwgZm9ybWF0dGluZy4KID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
SFRNTEZvcm1hdHRlcgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IEhUTUxGb3JtYXR0ZXIKIFBBU1M6
IGF0dHJpYnV0ZXMuaHRtbAotUEFTUzogYXV0by1jbG9zZS5odG1sCitQQVNTOiBhdXRvLWNsb3Nl
LW5vcm1hbC5odG1sCitQQVNTOiBhdXRvLWNsb3NlLXNwZWNpYWwuaHRtbAogUEFTUzogYmFzaWMt
MS5odG1sCiBQQVNTOiBiYXNpYy0yLmh0bWwKIFBBU1M6IGNvbW1lbnRzLmh0bWwKQEAgLTIzLDUg
KzI0LDggQEAgUEFTUzogbGlzdC5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMS5odG1sCiBQ
QVNTOiBub3Qtd2VsbC1mb3JtZWQtMi5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMy5odG1s
CitQQVNTOiBwLmh0bWwKIFBBU1M6IHNlbGYtY2xvc2luZy5odG1sCitQQVNTOiB0YWJsZS5odG1s
CitQQVNTOiB0YWctY2FzZS5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLmh0bWwKaW5kZXggMGFhYzUzMDAzZGUuLjFmYzFk
ZTE2OTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3Jt
YXR0aW5nLWh0bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9m
b3JtYXR0aW5nLWh0bWwuaHRtbApAQCAtMTAsNyArMTAsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAog
ICAgIGFkZEZvcm1hdHRpbmdUZXN0cyhzdWl0ZSwgInRleHQvaHRtbCIsIFsKICAgICAgICAgInJl
c291cmNlcy9odG1sLXRlc3RzL2F0dHJpYnV0ZXMuaHRtbCIsCi0gICAgICAgICJyZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLmh0bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9hdXRvLWNsb3NlLXNwZWNpYWwuaHRtbCIsCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9iYXNpYy0xLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvYmFzaWMtMi5o
dG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRlc3RzL2NvbW1lbnRzLmh0bWwiLApAQCAt
MjksNyArMzAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10
ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRl
c3RzL25vdC13ZWxsLWZvcm1lZC0yLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvbm90LXdlbGwtZm9ybWVkLTMuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9wLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvc2VsZi1jbG9zaW5nLmh0
bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFibGUuaHRtbCIsCisgICAgICAg
ICJyZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1sIiwKICAgICBdKTsKIAogICAgIHN1
aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CmluZGV4
IGYwNmU3NDhhMjQxLi5iMzgyYjJkNGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dApAQCAt
Niw2ICs2LDcgQEAgVGVzdCBYTUwgZm9ybWF0dGluZy4KIFBBU1M6IGF0b20ueG1sCiBQQVNTOiBi
YXNpYy54bWwKIFBBU1M6IHJzcy54bWwKK1BBU1M6IHRhZy1jYXNlLnhtbAogUEFTUzogdmFsaWQt
aHRtbC1pbnZhbGlkLXhtbC54bWwKIFBBU1M6IHhzbHQueG1sCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCmluZGV4IDg1NWYw
NDQ2MDNiLi43NzA0YmZlZDUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvZm9ybWF0dGluZy14bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCkBAIC0xMiw2ICsxMiw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy9hdG9tLnhtbCIsCiAgICAgICAg
ICJyZXNvdXJjZXMveG1sLXRlc3RzL2Jhc2ljLnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1s
LXRlc3RzL3Jzcy54bWwiLAorICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS54
bWwiLAogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1sLWludmFsaWQteG1s
LnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1sLXRlc3RzL3hzbHQueG1sIiwKICAgICBdKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utbm9ybWFsLWV4cGVj
dGVkLmh0bWwKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0
ZWQuaHRtbApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbApzaW1pbGFyaXR5IGluZGV4IDEw
MCUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2Vz
L2h0bWwtdGVzdHMvYXV0by1jbG9zZS5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLXNwZWNpYWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3Bl
Y2lhbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li44ZGY0NGY0MTY3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhLS0gYm9keSBjbG9zZXMgaGVhZCAtLT4KKzxoZWFk
PgorICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+Cis8Ym9keT4KKworICAgIDwhLS0gb3B0aW9uIGFu
ZCBvcHRncm91cCAtLT4KKyAgICA8c2VsZWN0PgorICAgICAgICA8b3B0aW9uPjAKKyAgICAgICAg
ICAgIAorICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9Ikdyb3VwIDEiPgorICAgICAgICAgICAgPG9w
dGlvbj4xCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgPG9wdGlvbj4yCisgICAg
ICAgICAgICAgICAgCisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iR3JvdXAgMiI+CisgICAgICAg
ICAgICA8b3B0aW9uPjEKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICA8b3B0aW9u
PjIKKyAgICA8L3NlbGVjdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3Jt
YXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvYXV0by1j
bG9zZS1zcGVjaWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
Ljg3NTk5ZTkyYzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1zcGVjaWFsLmh0bWwKQEAg
LTAsMCArMSwxNCBAQAorPCEtLSBib2R5IGNsb3NlcyBoZWFkIC0tPgorPGhlYWQ+PHRpdGxlPlRp
dGxlPC90aXRsZT4KKzxib2R5PgorICAgIAorPCEtLSBvcHRpb24gYW5kIG9wdGdyb3VwIC0tPgor
PHNlbGVjdD4KKyAgICA8b3B0aW9uPjAKKyAgICA8b3B0Z3JvdXAgbGFiZWw9Ikdyb3VwIDEiPgor
ICAgICAgICA8b3B0aW9uPjEKKyAgICAgICAgPG9wdGlvbj4yCisgICAgPG9wdGdyb3VwIGxhYmVs
PSJHcm91cCAyIj4KKyAgICAgICAgPG9wdGlvbj4xCisgICAgICAgIDxvcHRpb24+MgorPC9zZWxl
Y3Q+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJj
ZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwKaW5kZXgg
YWRjOGNlNDgwM2QuLmRkZWIxYzgzNGZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
bGlzdC1leHBlY3RlZC5odG1sCkBAIC0xMCwxNiArMTAsMzAgQEAKIDwvb2w+CiAKIDx1bD4KLSAg
ICA8bGk+Ci0gICAgICAgIE9uZQotICAgICAgICA8bGk+Ci0gICAgICAgICAgICBUd28KLSAgICAg
ICAgICAgIDxsaT5UaHJlZQorICAgIDxsaT5PbmUKKyAgICA8bGk+VHdvCisgICAgPGxpPlRocmVl
CiA8L3VsPgorPG9sPgorICAgIDxsaT5PbmUKKyAgICA8bGk+VHdvCisgICAgPGxpPlRocmVlCis8
L29sPgorCis8IS0tIE5lc3RlZCAtLT4KIDxvbD4KICAgICA8bGk+Ci0gICAgICAgIE9uZQotICAg
ICAgICA8bGk+Ci0gICAgICAgICAgICBUd28KLSAgICAgICAgICAgIDxsaT5UaHJlZQorICAgICAg
ICA8dWw+CisgICAgICAgICAgICA8bGk+MQorICAgICAgICAgICAgPGxpPjIKKyAgICAgICAgPC91
bD4KKyAgICA8bGk+VGVzdAogPC9vbD4KKzx1bD4KKyAgICA8bGk+CisgICAgICAgIDxvbD4KKyAg
ICAgICAgICAgIDxsaT4xCisgICAgICAgICAgICA8bGk+MgorICAgICAgICA8L29sPgorICAgIDxs
aT5UZXN0Cis8L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRp
bmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCmluZGV4IDFlOTA3OTcz
NDliLi45Y2QxNTI1YjBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1h
dHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbApAQCAtMywz
ICszLDcgQEAKIAogPHVsPjxsaT5PbmU8bGk+VHdvPGxpPlRocmVlPC91bD4KIDxvbD48bGk+T25l
PGxpPlR3bzxsaT5UaHJlZTwvb2w+CisKKzwhLS0gTmVzdGVkIC0tPgorPG9sPjxsaT48dWw+PGxp
PjE8bGk+MjwvdWw+PGxpPlRlc3Q8L29sPgorPHVsPjxsaT48b2w+PGxpPjE8bGk+Mjwvb2w+PGxp
PlRlc3Q8L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbm90LXdlbGwtZm9ybWVkLTEtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13
ZWxsLWZvcm1lZC0xLWV4cGVjdGVkLmh0bWwKaW5kZXggM2U0OWQwNmQyM2QuLjE5OGE5ODM1ZTc2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZv
cm1lZC0xLWV4cGVjdGVkLmh0bWwKQEAgLTEsMyArMSwzIEBACi08cD4KKzx4PgogICAgIDwvYnI+
Ci0gICAgPHA+VGVzdDwvcD4KKyAgICA8eD5UZXN0PC94PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbm90LXdlbGwtZm9y
bWVkLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWwKaW5kZXggZjZiZTQwYzk1YWQuLjMzN2Iw
ZTg0NTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNv
dXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1l
ZC0xLmh0bWwKQEAgLTEgKzEgQEAKLTxwPjwvYnI+PHA+VGVzdDwvcD4KKzx4PjwvYnI+PHg+VGVz
dDwveD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjBlZTc1MGE2YzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0
cy9wLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHA+MQorPHA+MgorPHA+MworCis8
ZGl2PgorICAgIDxwPjEKKyAgICA8cD4yCisgICAgPHA+MworPC9kaXY+CisKKzxkaXY+CisgICAg
PHNlY3Rpb24+CisgICAgICAgIDxwPjEKKyAgICAgICAgPHNlY3Rpb24+CisgICAgICAgICAgICA8
cD4yCisgICAgICAgICAgICA8cD4zCis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWVkMDBkNTYzZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRt
bC10ZXN0cy9wLmh0bWwKQEAgLTAsMCArMSw1IEBACis8cD4xPHA+MjxwPjMKKworPGRpdj48cD4x
PHA+MjxwPjM8L2Rpdj4KKworPGRpdj48c2VjdGlvbj48cD4xPHNlY3Rpb24+PHA+MjxwPjM8L2Rp
dj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWJsZS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hY2I5ODBiZTYzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1s
LXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHRhYmxlPgorICAg
IDx0cj4KKyAgICAgICAgPHRoPjEKKyAgICAgICAgPHRkPjIKKyAgICAgICAgPHRkPjMKKyAgICAg
ICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRkPjEKKyAgICAgICAgPHRoPjIKKyAgICAgICAg
PHRkPjMKKyAgICAgICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRkPjEKKyAgICAgICAgPHRk
PjIKKyAgICAgICAgPHRoPjMKKyAgICAgICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRoPjEK
KyAgICAgICAgPHRoPjIKKyAgICAgICAgPHRoPjMKKzwvdGFibGU+CisKKzx0YWJsZT4KKyAgICA8
dGhlYWQ+SGVhZAorICAgIDx0Ym9keT5Cb2R5CisgICAgPHRmb290PkZvb3QKKzwvdGFibGU+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRt
bC10ZXN0cy90YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVz
b3VyY2VzL2h0bWwtdGVzdHMvdGFibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uNTI2MDE4MzU0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWJsZS5odG1sCkBAIC0w
LDAgKzEsOCBAQAorPHRhYmxlPgorICAgIDx0cj48dGg+MTx0ZD4yPHRkPjMKKyAgICA8dHI+PHRk
PjE8dGg+Mjx0ZD4zCisgICAgPHRyPjx0ZD4xPHRkPjI8dGg+MworICAgIDx0cj48dGg+MTx0aD4y
PHRoPjMKKzwvdGFibGU+CisKKzx0YWJsZT48dGhlYWQ+SGVhZDx0Ym9keT5Cb2R5PHRmb290PkZv
b3Q8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmMwOGM5NWZh
YzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIg
QEAKKzxkaXY+dGV4dDwvRElWPgorPERJVj50ZXh0PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVz
dHMvdGFnLWNhc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u
YzA4Yzk1ZmFjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9y
bWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1sCkBAIC0wLDAgKzEsMiBA
QAorPGRpdj50ZXh0PC9ESVY+Cis8RElWPnRleHQ8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UtZXhw
ZWN0ZWQueG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3ht
bC10ZXN0cy90YWctY2FzZS1leHBlY3RlZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLmRmMmZlYWI3OGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS1leHBlY3Rl
ZC54bWwKQEAgLTAsMCArMSw0IEBACis8ZGl2PgorICAgIHRleHQ8L0RJVj4KKyAgICA8RElWPnRl
eHQKKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS54bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLnhtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzA4Yzk1ZmFjMTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3Rh
Zy1jYXNlLnhtbApAQCAtMCwwICsxLDIgQEAKKzxkaXY+dGV4dDwvRElWPgorPERJVj50ZXh0PC9k
aXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJj
ZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwtZXhwZWN0ZWQueG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1s
LWludmFsaWQteG1sLWV4cGVjdGVkLnhtbAppbmRleCBjZmY0ZmNjOGZmNC4uM2MwMTkyY2U1N2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94
bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC1leHBlY3RlZC54bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1s
LWludmFsaWQteG1sLWV4cGVjdGVkLnhtbApAQCAtMSw0ICsxLDExIEBACiA8b3V0ZXI+CiAgICAg
PGltZyBzcmM9IjEiPgogICAgICAgICA8aW1nIHNyYz0iMiI+CisgICAgICAgICAgICA8b2w+Cisg
ICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgICAgICBPbmUKKyAgICAgICAgICAg
ICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgICAgICAgICAgVHdvCisgICAgICAgICAgICAg
ICAgICAgICAgICA8bGk+VGhyZWUKKyAgICAgICAgICAgIDwvb2w+CiA8L291dGVyPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0
cy92YWxpZC1odG1sLWludmFsaWQteG1sLnhtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3Jt
YXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC54bWwKaW5k
ZXggYjljMWRlMWRhMTQuLmZiMzdkMTE5NjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14
bWwueG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94
bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC54bWwKQEAgLTEgKzEsNCBAQAotPG91dGVy
PjxpbWcgc3JjPSIxIj48aW1nIHNyYz0iMiI+PC9vdXRlcj4KKzxvdXRlcj4KKzxpbWcgc3JjPSIx
Ij48aW1nIHNyYz0iMiI+Cis8b2w+PGxpPk9uZTxsaT5Ud288bGk+VGhyZWU8L29sPgorPC9vdXRl
cj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGVhYzdjNWRhMTlmLi5jY2MyYjI5MGYwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDktMTMgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBIVE1MIEZvcm1hdHRlciAtIGJldHRlciBoYW5kbGluZyBmb3IgSFRNTCBzcGVjaWZpYyB0
YWcgY2FzZXMgKDxwPi88bGk+KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxNzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxGb3JtYXR0
ZXIuanM6CisgICAgICAgIChIVE1MRm9ybWF0dGVyLnByb3RvdHlwZS5fYWZ0ZXIpOgorICAgICAg
ICBIYW5kbGUgYSBjbG9zaW5nIHRhZyB3aXRoIGRpZmZlcmVudCB0ZXh0IHRoYW4gdGhlIG9wZW5p
bmcgdGFnLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9IVE1M
VHJlZUJ1aWxkZXJGb3JtYXR0ZXIuanM6CisgICAgICAgIChIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0
ZXIucHJvdG90eXBlLl9wdXNoUGFyc2VyTm9kZVRvcExldmVsKToKKyAgICAgICAgKEhUTUxUcmVl
QnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX3B1c2hQYXJzZXJOb2RlU3RhY2spOgorICAgICAg
ICAoSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyLnByb3RvdHlwZS5fYXV0b0Nsb3NlSFRNTE5vZGVz
Rm9yT3BlblRhZyk6CisgICAgICAgIChIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIucHJvdG90eXBl
Ll9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKToKKyAgICAgICAgKEhUTUxU
cmVlQnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX2luZGV4T2ZTdGFja05vZGVNYXRjaGluZ1Rh
Z05hbWVzKToKKyAgICAgICAgR2VuZXJhbGl6ZSB0aGUgaW1wbGljaXQgY2xvc2luZyBhIGJpdC4g
QWxsb3cgb3BlbiB0YWdzIHRvIGltcGxpY2l0bHkKKyAgICAgICAgY2xvc2UgY2VydGFpbiBvdGhl
ciBvcGVuIHRhZ3MgaW4gdGhlIHN0YWNrLgorCiAyMDE5LTA5LTEzICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSFRNTCBGb3Jt
YXR0ZXIgLSBYTUwgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTEZvcm1hdHRlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxGb3JtYXR0ZXIu
anMKaW5kZXggYzk4YTNiMmViNzguLmQ1Y2VjODhlZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9IVE1MRm9ybWF0dGVy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9y
bWF0dGVyL0hUTUxGb3JtYXR0ZXIuanMKQEAgLTI4Nyw4ICsyODcsOSBAQCBIVE1MRm9ybWF0dGVy
ID0gY2xhc3MgSFRNTEZvcm1hdHRlcgogICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkZXIuYXBw
ZW5kTmV3bGluZSgpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFub2RlLmltcGxp
Y2l0Q2xvc2UpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChub2RlLmNsb3NlVGFn
TmFtZSk7CiAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQobm9kZS5jbG9zZVRhZ1Bvcyk7
Ci0gICAgICAgICAgICAgICAgdGhpcy5fYnVpbGRlci5hcHBlbmRUb2tlbigiPC8iICsgbm9kZS5u
YW1lICsgIj4iLCBub2RlLmNsb3NlVGFnUG9zKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9idWls
ZGVyLmFwcGVuZFRva2VuKCI8LyIgKyBub2RlLmNsb3NlVGFnTmFtZSArICI+Iiwgbm9kZS5jbG9z
ZVRhZ1Bvcyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGlzLl9idWlsZGVyLmFwcGVu
ZE5ld2xpbmUoKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRl
ckZvcm1hdHRlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtl
cnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5qcwppbmRleCBhNDViNTY0ZGQz
Yi4uZmJmNDhjMzU5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9I
VE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIuanMKQEAgLTcwLDYgKzcwLDggQEAgSFRNTFRyZWVCdWls
ZGVyRm9ybWF0dGVyID0gY2xhc3MgSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyCiAgICAgewogICAg
ICAgICBpZiAocGFyc2VyTm9kZS50eXBlID09PSBIVE1MUGFyc2VyLk5vZGVUeXBlLk9wZW5UYWcp
IHsKICAgICAgICAgICAgIGxldCBub2RlID0gdGhpcy5fYnVpbGRET01Ob2RlRnJvbU9wZW5UYWco
cGFyc2VyTm9kZSk7CisgICAgICAgICAgICBpZiAoIXRoaXMuX3htbCkKKyAgICAgICAgICAgICAg
ICB0aGlzLl9hdXRvQ2xvc2VIVE1MTm9kZXNGb3JPcGVuVGFnKHBhcnNlck5vZGUsIG5vZGUpOwog
ICAgICAgICAgICAgdGhpcy5fZG9tLnB1c2gobm9kZSk7CiAgICAgICAgICAgICBpZiAoIXRoaXMu
X2lzRW1wdHlOb2RlKHBhcnNlck5vZGUsIG5vZGUpKQogICAgICAgICAgICAgICAgIHRoaXMuX3N0
YWNrT2ZPcGVuRWxlbWVudHMucHVzaChub2RlKTsKQEAgLTkwLDM0ICs5MiwzNCBAQCBIVE1MVHJl
ZUJ1aWxkZXJGb3JtYXR0ZXIgPSBjbGFzcyBIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIKICAgICB7
CiAgICAgICAgIGlmIChwYXJzZXJOb2RlLnR5cGUgPT09IEhUTUxQYXJzZXIuTm9kZVR5cGUuT3Bl
blRhZykgewogICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLl9idWlsZERPTU5vZGVGcm9tT3Bl
blRhZyhwYXJzZXJOb2RlKTsKLSAgICAgICAgICAgIGNvbnRhaW5lck5vZGUuY2hpbGRyZW4ucHVz
aChub2RlKTsKKyAgICAgICAgICAgIGxldCBjaGlsZHJlbkFycmF5ID0gY29udGFpbmVyTm9kZS5j
aGlsZHJlbjsKKyAgICAgICAgICAgIGlmICghdGhpcy5feG1sKSB7CisgICAgICAgICAgICAgICAg
dGhpcy5fYXV0b0Nsb3NlSFRNTE5vZGVzRm9yT3BlblRhZyhwYXJzZXJOb2RlLCBub2RlKTsKKyAg
ICAgICAgICAgICAgICBjb250YWluZXJOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50c1t0
aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLmxlbmd0aCAtIDFdOworICAgICAgICAgICAgICAgIGNo
aWxkcmVuQXJyYXkgPSBjb250YWluZXJOb2RlID8gY29udGFpbmVyTm9kZS5jaGlsZHJlbiA6IHRo
aXMuX2RvbTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNoaWxkcmVuQXJyYXkucHVzaChu
b2RlKTsKICAgICAgICAgICAgIGlmICghdGhpcy5faXNFbXB0eU5vZGUocGFyc2VyTm9kZSwgbm9k
ZSkpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5wdXNoKG5vZGUp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHBhcnNlck5v
ZGUudHlwZSA9PT0gSFRNTFBhcnNlci5Ob2RlVHlwZS5DbG9zZVRhZykgewotICAgICAgICAgICAg
bGV0IGZvdW5kID0gZmFsc2U7Ci0gICAgICAgICAgICBsZXQgbm9kZXNUb1BvcCA9IDA7Ci0gICAg
ICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5sZW5ndGggLSAx
OyBpID49IDA7IC0taSkgewotICAgICAgICAgICAgICAgIG5vZGVzVG9Qb3ArKzsKLSAgICAgICAg
ICAgICAgICBsZXQgc3RhY2tOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50c1tpXTsKLSAg
ICAgICAgICAgICAgICBpZiAoc3RhY2tOb2RlLm5hbWUgPT09IHBhcnNlck5vZGUubmFtZSkgewot
ICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxldCB0
YWdOYW1lID0gdGhpcy5feG1sID8gcGFyc2VyTm9kZS5uYW1lIDogcGFyc2VyTm9kZS5uYW1lLnRv
TG93ZXJDYXNlKCk7CisgICAgICAgICAgICBsZXQgbWF0Y2hpbmdPcGVuVGFnSW5kZXggPSB0aGlz
Ll9pbmRleE9mU3RhY2tOb2RlTWF0Y2hpbmdUYWdOYW1lcyhbdGFnTmFtZV0pOwogCiAgICAgICAg
ICAgICAvLyBGb3VuZCBhIG1hdGNoaW5nIHRhZywgYXV0by1jbG9zZSBub2Rlcy4KLSAgICAgICAg
ICAgIGlmIChmb3VuZCkgewotICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG5vZGVzVG9Q
b3AgPiAwKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGluZ09wZW5UYWdJbmRleCAhPT0gLTEpIHsK
KyAgICAgICAgICAgICAgICBsZXQgbm9kZXNUb1BvcCA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVu
dHMubGVuZ3RoIC0gbWF0Y2hpbmdPcGVuVGFnSW5kZXg7CiAgICAgICAgICAgICAgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBub2Rlc1RvUG9wIC0gMTsgKytpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGxldCBhdXRvQ2xvc2luZ05vZGUgPSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLnBvcCgpOwog
ICAgICAgICAgICAgICAgICAgICBhdXRvQ2xvc2luZ05vZGUuaW1wbGljaXRDbG9zZSA9IHRydWU7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGxldCBhdXRvQ2xvc2luZ05vZGUg
PSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLnBvcCgpOwotICAgICAgICAgICAgICAgIGlmIChw
YXJzZXJOb2RlLnBvcykKKyAgICAgICAgICAgICAgICBpZiAocGFyc2VyTm9kZS5wb3MpIHsKICAg
ICAgICAgICAgICAgICAgICAgYXV0b0Nsb3NpbmdOb2RlLmNsb3NlVGFnUG9zID0gcGFyc2VyTm9k
ZS5wb3M7CisgICAgICAgICAgICAgICAgICAgIGF1dG9DbG9zaW5nTm9kZS5jbG9zZVRhZ05hbWUg
PSBwYXJzZXJOb2RlLm5hbWU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KIApAQCAtMTMyLDYgKzEzNCwxNDAgQEAgSFRNTFRyZWVCdWls
ZGVyRm9ybWF0dGVyID0gY2xhc3MgSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyCiAgICAgICAgIGNv
bnRhaW5lck5vZGUuY2hpbGRyZW4ucHVzaChub2RlKTsKICAgICB9CiAKKyAgICBfYXV0b0Nsb3Nl
SFRNTE5vZGVzRm9yT3BlblRhZyhwYXJzZXJOb2RlLCBub2RlKQorICAgIHsKKyAgICAgICAgaWYg
KHBhcnNlck5vZGUuY2xvc2VkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHN3aXRj
aCAobm9kZS5sb3dlcmNhc2VOYW1lKSB7CisgICAgICAgIC8vIDxib2R5PiBjbG9zZXMgPGhlYWQ+
LgorICAgICAgICBjYXNlICJib2R5IjoKKyAgICAgICAgICAgIHRoaXMuX2F1dG9DbG9zZU5vZGVz
RXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJoZWFkIl0pOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgLy8gSW5zaWRlIDxzZWxlY3Q+LgorICAgICAgICBjYXNlICJvcHRpb24iOgorICAg
ICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9kZXNFeGlzdGluZ09wZW5UYWdXaXRoTmFtZShbIm9w
dGlvbiJdLCBbInNlbGVjdCJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJv
cHRncm91cCI6IHsKKyAgICAgICAgICAgIGxldCBkaWRDbG9zZSA9IHRoaXMuX2F1dG9DbG9zZU5v
ZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJvcHRncm91cCJdLCBbInNlbGVjdCJdKTs7Cisg
ICAgICAgICAgICBpZiAoIWRpZENsb3NlKQorICAgICAgICAgICAgICAgIHRoaXMuX2F1dG9DbG9z
ZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJvcHRpb24iXSwgWyJzZWxlY3QiXSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEluc2lkZSA8b2w+Lzx1
bD4uCisgICAgICAgIGNhc2UgImxpIjoKKyAgICAgICAgICAgIHRoaXMuX2F1dG9DbG9zZU5vZGVz
RXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJsaSJdLCBbIm9sIiwgInVsIl0pOworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgLy8gSW5zaWRlIDxkbD4uCisgICAgICAgIGNhc2UgImRkIjoK
KyAgICAgICAgY2FzZSAiZHQiOgorICAgICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9kZXNFeGlz
dGluZ09wZW5UYWdXaXRoTmFtZShbImRkIiwgImR0Il0sIFsiZGwiXSk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICAvLyBJbnNpZGUgPHRhYmxlPi4KKyAgICAgICAgY2FzZSAidHIiOgor
ICAgICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9kZXNFeGlzdGluZ09wZW5UYWdXaXRoTmFtZShb
InRyIl0sIFsidGFibGUiXSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAidGQi
OgorICAgICAgICBjYXNlICJ0aCI6CisgICAgICAgICAgICB0aGlzLl9hdXRvQ2xvc2VOb2Rlc0V4
aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGQiLCAidGgiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlICJ0Ym9keSI6CisgICAgICAgICAgICB0aGlzLl9hdXRv
Q2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGhlYWQiXSwgWyJ0YWJsZSJdKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJ0Zm9vdCI6CisgICAgICAgICAgICB0
aGlzLl9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGJvZHkiXSwgWyJ0
YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJjb2xncm91cCI6Cisg
ICAgICAgICAgICB0aGlzLl9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsi
Y29sZ3JvdXAiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8v
IE5vZGVzIHRoYXQgYXV0b2Nsb3NlIGEgPHA+LiBOb3JtYWxseSB0aGlzIGlzIG9ubHkgaW4gPGJv
ZHk+IGJ1dCB3ZSBzaW1wbGlmeSB0byBhbHdheXMuCisgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNwYXJzaW5nLW1haW4taW5ib2R5
CisgICAgICAgIGNhc2UgImFkZHJlc3MiOgorICAgICAgICBjYXNlICJhcnRpY2xlIjoKKyAgICAg
ICAgY2FzZSAiYXNpZGUiOgorICAgICAgICBjYXNlICJibG9ja3F1b3RlIjoKKyAgICAgICAgY2Fz
ZSAiY2VudGVyIjoKKyAgICAgICAgY2FzZSAiZGV0YWlscyI6CisgICAgICAgIGNhc2UgImRpYWxv
ZyI6CisgICAgICAgIGNhc2UgImRpciI6CisgICAgICAgIGNhc2UgImRpdiI6CisgICAgICAgIGNh
c2UgImRsIjoKKyAgICAgICAgY2FzZSAiZmllbGRzZXQiOgorICAgICAgICBjYXNlICJmaWdjYXB0
aW9uIjoKKyAgICAgICAgY2FzZSAiZmlndXJlIjoKKyAgICAgICAgY2FzZSAiZm9vdGVyIjoKKyAg
ICAgICAgY2FzZSAiZm9ybSI6CisgICAgICAgIGNhc2UgImgxIjoKKyAgICAgICAgY2FzZSAiaDIi
OgorICAgICAgICBjYXNlICJoMyI6CisgICAgICAgIGNhc2UgImg0IjoKKyAgICAgICAgY2FzZSAi
aDUiOgorICAgICAgICBjYXNlICJoNiI6CisgICAgICAgIGNhc2UgImhlYWRlciI6CisgICAgICAg
IGNhc2UgImhncm91cCI6CisgICAgICAgIGNhc2UgImhyIjoKKyAgICAgICAgY2FzZSAibGlzdGlu
ZyI6CisgICAgICAgIGNhc2UgIm1haW4iOgorICAgICAgICBjYXNlICJtZW51IjoKKyAgICAgICAg
Y2FzZSAibmF2IjoKKyAgICAgICAgY2FzZSAib2wiOgorICAgICAgICBjYXNlICJwIjoKKyAgICAg
ICAgY2FzZSAicGxhaW50ZXh0IjoKKyAgICAgICAgY2FzZSAicHJlIjoKKyAgICAgICAgY2FzZSAi
c2VjdGlvbiI6CisgICAgICAgIGNhc2UgInN1bW1hcnkiOgorICAgICAgICBjYXNlICJ0YWJsZSI6
CisgICAgICAgIGNhc2UgInVsIjoKKyAgICAgICAgY2FzZSAieG1wIjoKKyAgICAgICAgICAgIHRo
aXMuX2F1dG9DbG9zZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJwIl0pOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBfYXV0b0Nsb3NlTm9kZXNFeGlz
dGluZ09wZW5UYWdXaXRoTmFtZSh0YWdOYW1lcywgY29udGFpbmVyVGFnTmFtZXMpCisgICAgewor
ICAgICAgICBsZXQgZXhpc3RpbmdPcGVuVGFnSW5kZXggPSB0aGlzLl9pbmRleE9mU3RhY2tOb2Rl
TWF0Y2hpbmdUYWdOYW1lcyh0YWdOYW1lcyk7CisgICAgICAgIGlmIChleGlzdGluZ09wZW5UYWdJ
bmRleCA9PT0gLTEpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gRGlz
YWxsb3cgYXV0byBjbG9zaW5nIGJleW9uZCBhIGNvbnRhaW5lciB0YWcgYm91bmRhcnkuCisgICAg
ICAgIGlmIChjb250YWluZXJUYWdOYW1lcykgeworICAgICAgICAgICAgZm9yIChsZXQgaSA9IGV4
aXN0aW5nT3BlblRhZ0luZGV4ICsgMTsgaSA8IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMubGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhY2tOb2RlID0gdGhpcy5fc3RhY2tP
Zk9wZW5FbGVtZW50c1tpXTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5f
eG1sKTsKKyAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IHN0YWNrTm9kZS5sb3dlcmNhc2VOYW1l
OworICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJUYWdOYW1lcy5pbmNsdWRlcyhuYW1lKSkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgLy8gSW1wbGljaXRseSBjbG9zZSB0YWdzLgorICAgICAgICBsZXQgbm9k
ZXNUb1BvcCA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMubGVuZ3RoIC0gZXhpc3RpbmdPcGVu
VGFnSW5kZXg7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXNUb1BvcDsgKytpKSB7
CisgICAgICAgICAgICBsZXQgYXV0b0Nsb3NpbmdOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVt
ZW50cy5wb3AoKTsKKyAgICAgICAgICAgIGF1dG9DbG9zaW5nTm9kZS5pbXBsaWNpdENsb3NlID0g
dHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIF9p
bmRleE9mU3RhY2tOb2RlTWF0Y2hpbmdUYWdOYW1lcyh0YWdOYW1lcykKKyAgICB7CisgICAgICAg
IGZvciAobGV0IGkgPSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0g
MDsgLS1pKSB7CisgICAgICAgICAgICBsZXQgc3RhY2tOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5F
bGVtZW50c1tpXTsKKyAgICAgICAgICAgIGxldCBuYW1lID0gdGhpcy5feG1sID8gc3RhY2tOb2Rl
Lm5hbWUgOiBzdGFja05vZGUubG93ZXJjYXNlTmFtZTsKKyAgICAgICAgICAgIGlmICh0YWdOYW1l
cy5pbmNsdWRlcyhuYW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAgfQor
CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKICAgICBfaXNFbXB0eU5vZGUocGFyc2VyTm9k
ZSwgbm9kZSkKICAgICB7CiAgICAgICAgIGlmIChwYXJzZXJOb2RlLmNsb3NlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378772</attachid>
            <date>2019-09-13 19:21:52 -0700</date>
            <delta_ts>2019-09-16 12:24:25 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>html-2.patch</filename>
            <type>text/plain</type>
            <size>24283</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYzcyNGIxMjMxMi4uNTA5YTNlOGM1OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxOS0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEhUTUwgRm9ybWF0dGVyIC0gYmV0dGVyIGhhbmRsaW5nIGZvciBI
VE1MIHNwZWNpZmljIHRhZyBjYXNlcyAoPHA+LzxsaT4pCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE3NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRp
bmctaHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9y
bWF0dGluZy1odG1sLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3Rz
L2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNs
b3NlLXNwZWNpYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3Jt
ZWQtMS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWw6CisgICAgICAgICogaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvcC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9w
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhYmxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNl
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyBm
b3IgSFRNTCBzcGVjaWFsdGllcy4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zv
cm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9mb3JtYXR0aW5nLXhtbC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQueG1sOiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLnhtbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0
cy92YWxpZC1odG1sLWludmFsaWQteG1sLWV4cGVjdGVkLnhtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwu
eG1sOgorICAgICAgICBYTUwgaXMgY2FzZS1zZW5zaXRpdmUuIEVuc3VyZSBYTUwgZG9lc24ndCBn
ZXQgbW9yZSBvZiB0aGUgSFRNTCBzcGVjaWFsdGllcy4KKwogMjAxOS0wOS0xMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhU
TUwgRm9ybWF0dGVyIC0gWE1MIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CmluZGV4IDM5
OTI1OWZmMWU1Li4wZDQzNzQyYTMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsOCBAQCBUZXN0IEhUTUwgZm9ybWF0dGluZy4KID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
SFRNTEZvcm1hdHRlcgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IEhUTUxGb3JtYXR0ZXIKIFBBU1M6
IGF0dHJpYnV0ZXMuaHRtbAotUEFTUzogYXV0by1jbG9zZS5odG1sCitQQVNTOiBhdXRvLWNsb3Nl
LW5vcm1hbC5odG1sCitQQVNTOiBhdXRvLWNsb3NlLXNwZWNpYWwuaHRtbAogUEFTUzogYmFzaWMt
MS5odG1sCiBQQVNTOiBiYXNpYy0yLmh0bWwKIFBBU1M6IGNvbW1lbnRzLmh0bWwKQEAgLTIzLDUg
KzI0LDggQEAgUEFTUzogbGlzdC5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMS5odG1sCiBQ
QVNTOiBub3Qtd2VsbC1mb3JtZWQtMi5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMy5odG1s
CitQQVNTOiBwLmh0bWwKIFBBU1M6IHNlbGYtY2xvc2luZy5odG1sCitQQVNTOiB0YWJsZS5odG1s
CitQQVNTOiB0YWctY2FzZS5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLmh0bWwKaW5kZXggMGFhYzUzMDAzZGUuLjFmYzFk
ZTE2OTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3Jt
YXR0aW5nLWh0bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9m
b3JtYXR0aW5nLWh0bWwuaHRtbApAQCAtMTAsNyArMTAsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAog
ICAgIGFkZEZvcm1hdHRpbmdUZXN0cyhzdWl0ZSwgInRleHQvaHRtbCIsIFsKICAgICAgICAgInJl
c291cmNlcy9odG1sLXRlc3RzL2F0dHJpYnV0ZXMuaHRtbCIsCi0gICAgICAgICJyZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLmh0bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9hdXRvLWNsb3NlLXNwZWNpYWwuaHRtbCIsCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9iYXNpYy0xLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvYmFzaWMtMi5o
dG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRlc3RzL2NvbW1lbnRzLmh0bWwiLApAQCAt
MjksNyArMzAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10
ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRl
c3RzL25vdC13ZWxsLWZvcm1lZC0yLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvbm90LXdlbGwtZm9ybWVkLTMuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9wLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvc2VsZi1jbG9zaW5nLmh0
bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFibGUuaHRtbCIsCisgICAgICAg
ICJyZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1sIiwKICAgICBdKTsKIAogICAgIHN1
aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CmluZGV4
IGYwNmU3NDhhMjQxLi5iMzgyYjJkNGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dApAQCAt
Niw2ICs2LDcgQEAgVGVzdCBYTUwgZm9ybWF0dGluZy4KIFBBU1M6IGF0b20ueG1sCiBQQVNTOiBi
YXNpYy54bWwKIFBBU1M6IHJzcy54bWwKK1BBU1M6IHRhZy1jYXNlLnhtbAogUEFTUzogdmFsaWQt
aHRtbC1pbnZhbGlkLXhtbC54bWwKIFBBU1M6IHhzbHQueG1sCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCmluZGV4IDg1NWYw
NDQ2MDNiLi43NzA0YmZlZDUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvZm9ybWF0dGluZy14bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCkBAIC0xMiw2ICsxMiw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy9hdG9tLnhtbCIsCiAgICAgICAg
ICJyZXNvdXJjZXMveG1sLXRlc3RzL2Jhc2ljLnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1s
LXRlc3RzL3Jzcy54bWwiLAorICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS54
bWwiLAogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1sLWludmFsaWQteG1s
LnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1sLXRlc3RzL3hzbHQueG1sIiwKICAgICBdKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utbm9ybWFsLWV4cGVj
dGVkLmh0bWwKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0
ZWQuaHRtbApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbApzaW1pbGFyaXR5IGluZGV4IDEw
MCUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2Vz
L2h0bWwtdGVzdHMvYXV0by1jbG9zZS5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLXNwZWNpYWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3Bl
Y2lhbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li44ZGY0NGY0MTY3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhLS0gYm9keSBjbG9zZXMgaGVhZCAtLT4KKzxoZWFk
PgorICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+Cis8Ym9keT4KKworICAgIDwhLS0gb3B0aW9uIGFu
ZCBvcHRncm91cCAtLT4KKyAgICA8c2VsZWN0PgorICAgICAgICA8b3B0aW9uPjAKKyAgICAgICAg
ICAgIAorICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9Ikdyb3VwIDEiPgorICAgICAgICAgICAgPG9w
dGlvbj4xCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgPG9wdGlvbj4yCisgICAg
ICAgICAgICAgICAgCisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iR3JvdXAgMiI+CisgICAgICAg
ICAgICA8b3B0aW9uPjEKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICA8b3B0aW9u
PjIKKyAgICA8L3NlbGVjdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3Jt
YXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvYXV0by1j
bG9zZS1zcGVjaWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
Ljg3NTk5ZTkyYzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1zcGVjaWFsLmh0bWwKQEAg
LTAsMCArMSwxNCBAQAorPCEtLSBib2R5IGNsb3NlcyBoZWFkIC0tPgorPGhlYWQ+PHRpdGxlPlRp
dGxlPC90aXRsZT4KKzxib2R5PgorICAgIAorPCEtLSBvcHRpb24gYW5kIG9wdGdyb3VwIC0tPgor
PHNlbGVjdD4KKyAgICA8b3B0aW9uPjAKKyAgICA8b3B0Z3JvdXAgbGFiZWw9Ikdyb3VwIDEiPgor
ICAgICAgICA8b3B0aW9uPjEKKyAgICAgICAgPG9wdGlvbj4yCisgICAgPG9wdGdyb3VwIGxhYmVs
PSJHcm91cCAyIj4KKyAgICAgICAgPG9wdGlvbj4xCisgICAgICAgIDxvcHRpb24+MgorPC9zZWxl
Y3Q+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJj
ZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwKaW5kZXgg
YWRjOGNlNDgwM2QuLmRkZWIxYzgzNGZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
bGlzdC1leHBlY3RlZC5odG1sCkBAIC0xMCwxNiArMTAsMzAgQEAKIDwvb2w+CiAKIDx1bD4KLSAg
ICA8bGk+Ci0gICAgICAgIE9uZQotICAgICAgICA8bGk+Ci0gICAgICAgICAgICBUd28KLSAgICAg
ICAgICAgIDxsaT5UaHJlZQorICAgIDxsaT5PbmUKKyAgICA8bGk+VHdvCisgICAgPGxpPlRocmVl
CiA8L3VsPgorPG9sPgorICAgIDxsaT5PbmUKKyAgICA8bGk+VHdvCisgICAgPGxpPlRocmVlCis8
L29sPgorCis8IS0tIE5lc3RlZCAtLT4KIDxvbD4KICAgICA8bGk+Ci0gICAgICAgIE9uZQotICAg
ICAgICA8bGk+Ci0gICAgICAgICAgICBUd28KLSAgICAgICAgICAgIDxsaT5UaHJlZQorICAgICAg
ICA8dWw+CisgICAgICAgICAgICA8bGk+MQorICAgICAgICAgICAgPGxpPjIKKyAgICAgICAgPC91
bD4KKyAgICA8bGk+VGVzdAogPC9vbD4KKzx1bD4KKyAgICA8bGk+CisgICAgICAgIDxvbD4KKyAg
ICAgICAgICAgIDxsaT4xCisgICAgICAgICAgICA8bGk+MgorICAgICAgICA8L29sPgorICAgIDxs
aT5UZXN0Cis8L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRp
bmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCmluZGV4IDFlOTA3OTcz
NDliLi45Y2QxNTI1YjBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1h
dHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbApAQCAtMywz
ICszLDcgQEAKIAogPHVsPjxsaT5PbmU8bGk+VHdvPGxpPlRocmVlPC91bD4KIDxvbD48bGk+T25l
PGxpPlR3bzxsaT5UaHJlZTwvb2w+CisKKzwhLS0gTmVzdGVkIC0tPgorPG9sPjxsaT48dWw+PGxp
PjE8bGk+MjwvdWw+PGxpPlRlc3Q8L29sPgorPHVsPjxsaT48b2w+PGxpPjE8bGk+Mjwvb2w+PGxp
PlRlc3Q8L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbm90LXdlbGwtZm9ybWVkLTEtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13
ZWxsLWZvcm1lZC0xLWV4cGVjdGVkLmh0bWwKaW5kZXggM2U0OWQwNmQyM2QuLjE5OGE5ODM1ZTc2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZv
cm1lZC0xLWV4cGVjdGVkLmh0bWwKQEAgLTEsMyArMSwzIEBACi08cD4KKzx4PgogICAgIDwvYnI+
Ci0gICAgPHA+VGVzdDwvcD4KKyAgICA8eD5UZXN0PC94PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbm90LXdlbGwtZm9y
bWVkLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWwKaW5kZXggZjZiZTQwYzk1YWQuLjMzN2Iw
ZTg0NTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNv
dXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1l
ZC0xLmh0bWwKQEAgLTEgKzEgQEAKLTxwPjwvYnI+PHA+VGVzdDwvcD4KKzx4PjwvYnI+PHg+VGVz
dDwveD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjBlZTc1MGE2YzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0
cy9wLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHA+MQorPHA+MgorPHA+MworCis8
ZGl2PgorICAgIDxwPjEKKyAgICA8cD4yCisgICAgPHA+MworPC9kaXY+CisKKzxkaXY+CisgICAg
PHNlY3Rpb24+CisgICAgICAgIDxwPjEKKyAgICAgICAgPHNlY3Rpb24+CisgICAgICAgICAgICA8
cD4yCisgICAgICAgICAgICA8cD4zCis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWVkMDBkNTYzZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRt
bC10ZXN0cy9wLmh0bWwKQEAgLTAsMCArMSw1IEBACis8cD4xPHA+MjxwPjMKKworPGRpdj48cD4x
PHA+MjxwPjM8L2Rpdj4KKworPGRpdj48c2VjdGlvbj48cD4xPHNlY3Rpb24+PHA+MjxwPjM8L2Rp
dj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWJsZS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hY2I5ODBiZTYzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1s
LXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHRhYmxlPgorICAg
IDx0cj4KKyAgICAgICAgPHRoPjEKKyAgICAgICAgPHRkPjIKKyAgICAgICAgPHRkPjMKKyAgICAg
ICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRkPjEKKyAgICAgICAgPHRoPjIKKyAgICAgICAg
PHRkPjMKKyAgICAgICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRkPjEKKyAgICAgICAgPHRk
PjIKKyAgICAgICAgPHRoPjMKKyAgICAgICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRoPjEK
KyAgICAgICAgPHRoPjIKKyAgICAgICAgPHRoPjMKKzwvdGFibGU+CisKKzx0YWJsZT4KKyAgICA8
dGhlYWQ+SGVhZAorICAgIDx0Ym9keT5Cb2R5CisgICAgPHRmb290PkZvb3QKKzwvdGFibGU+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRt
bC10ZXN0cy90YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVz
b3VyY2VzL2h0bWwtdGVzdHMvdGFibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uNTI2MDE4MzU0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWJsZS5odG1sCkBAIC0w
LDAgKzEsOCBAQAorPHRhYmxlPgorICAgIDx0cj48dGg+MTx0ZD4yPHRkPjMKKyAgICA8dHI+PHRk
PjE8dGg+Mjx0ZD4zCisgICAgPHRyPjx0ZD4xPHRkPjI8dGg+MworICAgIDx0cj48dGg+MTx0aD4y
PHRoPjMKKzwvdGFibGU+CisKKzx0YWJsZT48dGhlYWQ+SGVhZDx0Ym9keT5Cb2R5PHRmb290PkZv
b3Q8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmMwOGM5NWZh
YzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIg
QEAKKzxkaXY+dGV4dDwvRElWPgorPERJVj50ZXh0PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVz
dHMvdGFnLWNhc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u
YzA4Yzk1ZmFjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9y
bWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1sCkBAIC0wLDAgKzEsMiBA
QAorPGRpdj50ZXh0PC9ESVY+Cis8RElWPnRleHQ8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UtZXhw
ZWN0ZWQueG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3ht
bC10ZXN0cy90YWctY2FzZS1leHBlY3RlZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLmRmMmZlYWI3OGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS1leHBlY3Rl
ZC54bWwKQEAgLTAsMCArMSw0IEBACis8ZGl2PgorICAgIHRleHQ8L0RJVj4KKyAgICA8RElWPnRl
eHQKKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS54bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLnhtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzA4Yzk1ZmFjMTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3Rh
Zy1jYXNlLnhtbApAQCAtMCwwICsxLDIgQEAKKzxkaXY+dGV4dDwvRElWPgorPERJVj50ZXh0PC9k
aXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJj
ZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwtZXhwZWN0ZWQueG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1s
LWludmFsaWQteG1sLWV4cGVjdGVkLnhtbAppbmRleCBjZmY0ZmNjOGZmNC4uM2MwMTkyY2U1N2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94
bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC1leHBlY3RlZC54bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1s
LWludmFsaWQteG1sLWV4cGVjdGVkLnhtbApAQCAtMSw0ICsxLDExIEBACiA8b3V0ZXI+CiAgICAg
PGltZyBzcmM9IjEiPgogICAgICAgICA8aW1nIHNyYz0iMiI+CisgICAgICAgICAgICA8b2w+Cisg
ICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgICAgICBPbmUKKyAgICAgICAgICAg
ICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgICAgICAgICAgVHdvCisgICAgICAgICAgICAg
ICAgICAgICAgICA8bGk+VGhyZWUKKyAgICAgICAgICAgIDwvb2w+CiA8L291dGVyPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0
cy92YWxpZC1odG1sLWludmFsaWQteG1sLnhtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3Jt
YXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC54bWwKaW5k
ZXggYjljMWRlMWRhMTQuLmZiMzdkMTE5NjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14
bWwueG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94
bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC54bWwKQEAgLTEgKzEsNCBAQAotPG91dGVy
PjxpbWcgc3JjPSIxIj48aW1nIHNyYz0iMiI+PC9vdXRlcj4KKzxvdXRlcj4KKzxpbWcgc3JjPSIx
Ij48aW1nIHNyYz0iMiI+Cis8b2w+PGxpPk9uZTxsaT5Ud288bGk+VGhyZWU8L29sPgorPC9vdXRl
cj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDBkYTY5MzFkMTk2Li43ZmZkMGRlNTY4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDktMTMgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBIVE1MIEZvcm1hdHRlciAtIGJldHRlciBoYW5kbGluZyBmb3IgSFRNTCBzcGVjaWZpYyB0
YWcgY2FzZXMgKDxwPi88bGk+KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxNzU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxGb3JtYXR0
ZXIuanM6CisgICAgICAgIChIVE1MRm9ybWF0dGVyLnByb3RvdHlwZS5fYWZ0ZXIpOgorICAgICAg
ICBIYW5kbGUgYSBjbG9zaW5nIHRhZyB3aXRoIGRpZmZlcmVudCB0ZXh0IHRoYW4gdGhlIG9wZW5p
bmcgdGFnLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9IVE1M
VHJlZUJ1aWxkZXJGb3JtYXR0ZXIuanM6CisgICAgICAgIChIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0
ZXIucHJvdG90eXBlLl9wdXNoUGFyc2VyTm9kZVRvcExldmVsKToKKyAgICAgICAgKEhUTUxUcmVl
QnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX3B1c2hQYXJzZXJOb2RlU3RhY2spOgorICAgICAg
ICAoSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyLnByb3RvdHlwZS5fYXV0b0Nsb3NlSFRNTE5vZGVz
Rm9yT3BlblRhZyk6CisgICAgICAgIChIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIucHJvdG90eXBl
Ll9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKToKKyAgICAgICAgKEhUTUxU
cmVlQnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX2luZGV4T2ZTdGFja05vZGVNYXRjaGluZ1Rh
Z05hbWVzKToKKyAgICAgICAgR2VuZXJhbGl6ZSB0aGUgaW1wbGljaXQgY2xvc2luZyBhIGJpdC4g
QWxsb3cgb3BlbiB0YWdzIHRvIGltcGxpY2l0bHkKKyAgICAgICAgY2xvc2UgY2VydGFpbiBvdGhl
ciBvcGVuIHRhZ3MgaW4gdGhlIHN0YWNrLgorCiAyMDE5LTA5LTEzICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSFRNTCBGb3Jt
YXR0ZXIgLSBYTUwgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTEZvcm1hdHRlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxGb3JtYXR0ZXIu
anMKaW5kZXggZGIyOGQ3ZDJkMGUuLmJiZDUzYWQ2YzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9IVE1MRm9ybWF0dGVy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9y
bWF0dGVyL0hUTUxGb3JtYXR0ZXIuanMKQEAgLTI4OSw4ICsyODksOSBAQCBIVE1MRm9ybWF0dGVy
ID0gY2xhc3MgSFRNTEZvcm1hdHRlcgogICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkZXIuYXBw
ZW5kTmV3bGluZSgpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFub2RlLmltcGxp
Y2l0Q2xvc2UpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChub2RlLmNsb3NlVGFn
TmFtZSk7CiAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQobm9kZS5jbG9zZVRhZ1Bvcyk7
Ci0gICAgICAgICAgICAgICAgdGhpcy5fYnVpbGRlci5hcHBlbmRUb2tlbigiPC8iICsgbm9kZS5u
YW1lICsgIj4iLCBub2RlLmNsb3NlVGFnUG9zKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9idWls
ZGVyLmFwcGVuZFRva2VuKCI8LyIgKyBub2RlLmNsb3NlVGFnTmFtZSArICI+Iiwgbm9kZS5jbG9z
ZVRhZ1Bvcyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGlzLl9idWlsZGVyLmFwcGVu
ZE5ld2xpbmUoKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRl
ckZvcm1hdHRlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtl
cnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5qcwppbmRleCBjOTNiMTkxZDY2
MC4uOTBiMDMzZjYxMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9I
VE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIuanMKQEAgLTcwLDYgKzcwLDggQEAgSFRNTFRyZWVCdWls
ZGVyRm9ybWF0dGVyID0gY2xhc3MgSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyCiAgICAgewogICAg
ICAgICBpZiAocGFyc2VyTm9kZS50eXBlID09PSBIVE1MUGFyc2VyLk5vZGVUeXBlLk9wZW5UYWcp
IHsKICAgICAgICAgICAgIGxldCBub2RlID0gdGhpcy5fYnVpbGRET01Ob2RlRnJvbU9wZW5UYWco
cGFyc2VyTm9kZSk7CisgICAgICAgICAgICBpZiAoIXRoaXMuX2lzWE1MKQorICAgICAgICAgICAg
ICAgIHRoaXMuX2F1dG9DbG9zZUhUTUxOb2Rlc0Zvck9wZW5UYWcocGFyc2VyTm9kZSwgbm9kZSk7
CiAgICAgICAgICAgICB0aGlzLl9kb20ucHVzaChub2RlKTsKICAgICAgICAgICAgIGlmICghdGhp
cy5faXNFbXB0eU5vZGUocGFyc2VyTm9kZSwgbm9kZSkpCiAgICAgICAgICAgICAgICAgdGhpcy5f
c3RhY2tPZk9wZW5FbGVtZW50cy5wdXNoKG5vZGUpOwpAQCAtOTAsMzQgKzkyLDM0IEBAIEhUTUxU
cmVlQnVpbGRlckZvcm1hdHRlciA9IGNsYXNzIEhUTUxUcmVlQnVpbGRlckZvcm1hdHRlcgogICAg
IHsKICAgICAgICAgaWYgKHBhcnNlck5vZGUudHlwZSA9PT0gSFRNTFBhcnNlci5Ob2RlVHlwZS5P
cGVuVGFnKSB7CiAgICAgICAgICAgICBsZXQgbm9kZSA9IHRoaXMuX2J1aWxkRE9NTm9kZUZyb21P
cGVuVGFnKHBhcnNlck5vZGUpOwotICAgICAgICAgICAgY29udGFpbmVyTm9kZS5jaGlsZHJlbi5w
dXNoKG5vZGUpOworICAgICAgICAgICAgbGV0IGNoaWxkcmVuQXJyYXkgPSBjb250YWluZXJOb2Rl
LmNoaWxkcmVuOworICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1hNTCkgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2F1dG9DbG9zZUhUTUxOb2Rlc0Zvck9wZW5UYWcocGFyc2VyTm9kZSwgbm9kZSk7
CisgICAgICAgICAgICAgICAgY29udGFpbmVyTm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVu
dHNbdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5sZW5ndGggLSAxXTsKKyAgICAgICAgICAgICAg
ICBjaGlsZHJlbkFycmF5ID0gY29udGFpbmVyTm9kZSA/IGNvbnRhaW5lck5vZGUuY2hpbGRyZW4g
OiB0aGlzLl9kb207CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjaGlsZHJlbkFycmF5LnB1
c2gobm9kZSk7CiAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzRW1wdHlOb2RlKHBhcnNlck5vZGUs
IG5vZGUpKQogICAgICAgICAgICAgICAgIHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMucHVzaChu
b2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChwYXJz
ZXJOb2RlLnR5cGUgPT09IEhUTUxQYXJzZXIuTm9kZVR5cGUuQ2xvc2VUYWcpIHsKLSAgICAgICAg
ICAgIGxldCBmb3VuZCA9IGZhbHNlOwotICAgICAgICAgICAgbGV0IG5vZGVzVG9Qb3AgPSAwOwot
ICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMubGVuZ3Ro
IC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgICAgICAgICBub2Rlc1RvUG9wKys7Ci0gICAg
ICAgICAgICAgICAgbGV0IHN0YWNrTm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHNbaV07
Ci0gICAgICAgICAgICAgICAgaWYgKHN0YWNrTm9kZS5uYW1lID09PSBwYXJzZXJOb2RlLm5hbWUp
IHsKLSAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBs
ZXQgdGFnTmFtZSA9IHRoaXMuX2lzWE1MID8gcGFyc2VyTm9kZS5uYW1lIDogcGFyc2VyTm9kZS5u
YW1lLnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICBsZXQgbWF0Y2hpbmdPcGVuVGFnSW5kZXgg
PSB0aGlzLl9pbmRleE9mU3RhY2tOb2RlTWF0Y2hpbmdUYWdOYW1lcyhbdGFnTmFtZV0pOwogCiAg
ICAgICAgICAgICAvLyBGb3VuZCBhIG1hdGNoaW5nIHRhZywgYXV0by1jbG9zZSBub2Rlcy4KLSAg
ICAgICAgICAgIGlmIChmb3VuZCkgewotICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG5v
ZGVzVG9Qb3AgPiAwKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGluZ09wZW5UYWdJbmRleCAhPT0g
LTEpIHsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZXNUb1BvcCA9IHRoaXMuX3N0YWNrT2ZPcGVu
RWxlbWVudHMubGVuZ3RoIC0gbWF0Y2hpbmdPcGVuVGFnSW5kZXg7CiAgICAgICAgICAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBub2Rlc1RvUG9wIC0gMTsgKytpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGxldCBhdXRvQ2xvc2luZ05vZGUgPSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLnBv
cCgpOwogICAgICAgICAgICAgICAgICAgICBhdXRvQ2xvc2luZ05vZGUuaW1wbGljaXRDbG9zZSA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGxldCBhdXRvQ2xvc2lu
Z05vZGUgPSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLnBvcCgpOwotICAgICAgICAgICAgICAg
IGlmIChwYXJzZXJOb2RlLnBvcykKKyAgICAgICAgICAgICAgICBpZiAocGFyc2VyTm9kZS5wb3Mp
IHsKICAgICAgICAgICAgICAgICAgICAgYXV0b0Nsb3NpbmdOb2RlLmNsb3NlVGFnUG9zID0gcGFy
c2VyTm9kZS5wb3M7CisgICAgICAgICAgICAgICAgICAgIGF1dG9DbG9zaW5nTm9kZS5jbG9zZVRh
Z05hbWUgPSBwYXJzZXJOb2RlLm5hbWU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIApAQCAtMTMyLDYgKzEzNCwxNDAgQEAgSFRNTFRy
ZWVCdWlsZGVyRm9ybWF0dGVyID0gY2xhc3MgSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyCiAgICAg
ICAgIGNvbnRhaW5lck5vZGUuY2hpbGRyZW4ucHVzaChub2RlKTsKICAgICB9CiAKKyAgICBfYXV0
b0Nsb3NlSFRNTE5vZGVzRm9yT3BlblRhZyhwYXJzZXJOb2RlLCBub2RlKQorICAgIHsKKyAgICAg
ICAgaWYgKHBhcnNlck5vZGUuY2xvc2VkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHN3aXRjaCAobm9kZS5sb3dlcmNhc2VOYW1lKSB7CisgICAgICAgIC8vIDxib2R5PiBjbG9zZXMg
PGhlYWQ+LgorICAgICAgICBjYXNlICJib2R5IjoKKyAgICAgICAgICAgIHRoaXMuX2F1dG9DbG9z
ZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJoZWFkIl0pOworICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgLy8gSW5zaWRlIDxzZWxlY3Q+LgorICAgICAgICBjYXNlICJvcHRpb24i
OgorICAgICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9kZXNFeGlzdGluZ09wZW5UYWdXaXRoTmFt
ZShbIm9wdGlvbiJdLCBbInNlbGVjdCJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlICJvcHRncm91cCI6IHsKKyAgICAgICAgICAgIGxldCBkaWRDbG9zZSA9IHRoaXMuX2F1dG9D
bG9zZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJvcHRncm91cCJdLCBbInNlbGVjdCJd
KTs7CisgICAgICAgICAgICBpZiAoIWRpZENsb3NlKQorICAgICAgICAgICAgICAgIHRoaXMuX2F1
dG9DbG9zZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJvcHRpb24iXSwgWyJzZWxlY3Qi
XSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEluc2lkZSA8
b2w+Lzx1bD4uCisgICAgICAgIGNhc2UgImxpIjoKKyAgICAgICAgICAgIHRoaXMuX2F1dG9DbG9z
ZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJsaSJdLCBbIm9sIiwgInVsIl0pOworICAg
ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLy8gSW5zaWRlIDxkbD4uCisgICAgICAgIGNhc2Ug
ImRkIjoKKyAgICAgICAgY2FzZSAiZHQiOgorICAgICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9k
ZXNFeGlzdGluZ09wZW5UYWdXaXRoTmFtZShbImRkIiwgImR0Il0sIFsiZGwiXSk7CisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICAvLyBJbnNpZGUgPHRhYmxlPi4KKyAgICAgICAgY2FzZSAi
dHIiOgorICAgICAgICAgICAgdGhpcy5fYXV0b0Nsb3NlTm9kZXNFeGlzdGluZ09wZW5UYWdXaXRo
TmFtZShbInRyIl0sIFsidGFibGUiXSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSAidGQiOgorICAgICAgICBjYXNlICJ0aCI6CisgICAgICAgICAgICB0aGlzLl9hdXRvQ2xvc2VO
b2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGQiLCAidGgiXSwgWyJ0YWJsZSJdKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJ0Ym9keSI6CisgICAgICAgICAgICB0aGlz
Ll9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGhlYWQiXSwgWyJ0YWJs
ZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJ0Zm9vdCI6CisgICAgICAg
ICAgICB0aGlzLl9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhOYW1lKFsidGJvZHki
XSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJjb2xncm91
cCI6CisgICAgICAgICAgICB0aGlzLl9hdXRvQ2xvc2VOb2Rlc0V4aXN0aW5nT3BlblRhZ1dpdGhO
YW1lKFsiY29sZ3JvdXAiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIC8vIE5vZGVzIHRoYXQgYXV0b2Nsb3NlIGEgPHA+LiBOb3JtYWxseSB0aGlzIGlzIG9ubHkg
aW4gPGJvZHk+IGJ1dCB3ZSBzaW1wbGlmeSB0byBhbHdheXMuCisgICAgICAgIC8vIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNwYXJzaW5nLW1haW4t
aW5ib2R5CisgICAgICAgIGNhc2UgImFkZHJlc3MiOgorICAgICAgICBjYXNlICJhcnRpY2xlIjoK
KyAgICAgICAgY2FzZSAiYXNpZGUiOgorICAgICAgICBjYXNlICJibG9ja3F1b3RlIjoKKyAgICAg
ICAgY2FzZSAiY2VudGVyIjoKKyAgICAgICAgY2FzZSAiZGV0YWlscyI6CisgICAgICAgIGNhc2Ug
ImRpYWxvZyI6CisgICAgICAgIGNhc2UgImRpciI6CisgICAgICAgIGNhc2UgImRpdiI6CisgICAg
ICAgIGNhc2UgImRsIjoKKyAgICAgICAgY2FzZSAiZmllbGRzZXQiOgorICAgICAgICBjYXNlICJm
aWdjYXB0aW9uIjoKKyAgICAgICAgY2FzZSAiZmlndXJlIjoKKyAgICAgICAgY2FzZSAiZm9vdGVy
IjoKKyAgICAgICAgY2FzZSAiZm9ybSI6CisgICAgICAgIGNhc2UgImgxIjoKKyAgICAgICAgY2Fz
ZSAiaDIiOgorICAgICAgICBjYXNlICJoMyI6CisgICAgICAgIGNhc2UgImg0IjoKKyAgICAgICAg
Y2FzZSAiaDUiOgorICAgICAgICBjYXNlICJoNiI6CisgICAgICAgIGNhc2UgImhlYWRlciI6Cisg
ICAgICAgIGNhc2UgImhncm91cCI6CisgICAgICAgIGNhc2UgImhyIjoKKyAgICAgICAgY2FzZSAi
bGlzdGluZyI6CisgICAgICAgIGNhc2UgIm1haW4iOgorICAgICAgICBjYXNlICJtZW51IjoKKyAg
ICAgICAgY2FzZSAibmF2IjoKKyAgICAgICAgY2FzZSAib2wiOgorICAgICAgICBjYXNlICJwIjoK
KyAgICAgICAgY2FzZSAicGxhaW50ZXh0IjoKKyAgICAgICAgY2FzZSAicHJlIjoKKyAgICAgICAg
Y2FzZSAic2VjdGlvbiI6CisgICAgICAgIGNhc2UgInN1bW1hcnkiOgorICAgICAgICBjYXNlICJ0
YWJsZSI6CisgICAgICAgIGNhc2UgInVsIjoKKyAgICAgICAgY2FzZSAieG1wIjoKKyAgICAgICAg
ICAgIHRoaXMuX2F1dG9DbG9zZU5vZGVzRXhpc3RpbmdPcGVuVGFnV2l0aE5hbWUoWyJwIl0pOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBfYXV0b0Nsb3NlTm9k
ZXNFeGlzdGluZ09wZW5UYWdXaXRoTmFtZSh0YWdOYW1lcywgY29udGFpbmVyVGFnTmFtZXMpCisg
ICAgeworICAgICAgICBsZXQgZXhpc3RpbmdPcGVuVGFnSW5kZXggPSB0aGlzLl9pbmRleE9mU3Rh
Y2tOb2RlTWF0Y2hpbmdUYWdOYW1lcyh0YWdOYW1lcyk7CisgICAgICAgIGlmIChleGlzdGluZ09w
ZW5UYWdJbmRleCA9PT0gLTEpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
Ly8gRGlzYWxsb3cgYXV0byBjbG9zaW5nIGJleW9uZCBhIGNvbnRhaW5lciB0YWcgYm91bmRhcnku
CisgICAgICAgIGlmIChjb250YWluZXJUYWdOYW1lcykgeworICAgICAgICAgICAgZm9yIChsZXQg
aSA9IGV4aXN0aW5nT3BlblRhZ0luZGV4ICsgMTsgaSA8IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVu
dHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhY2tOb2RlID0gdGhpcy5f
c3RhY2tPZk9wZW5FbGVtZW50c1tpXTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydCgh
dGhpcy5faXNYTUwpOworICAgICAgICAgICAgICAgIGxldCBuYW1lID0gc3RhY2tOb2RlLmxvd2Vy
Y2FzZU5hbWU7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lclRhZ05hbWVzLmluY2x1ZGVz
KG5hbWUpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKworICAgICAgICAvLyBJbXBsaWNpdGx5IGNsb3NlIHRhZ3MuCisgICAgICAg
IGxldCBub2Rlc1RvUG9wID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5sZW5ndGggLSBleGlz
dGluZ09wZW5UYWdJbmRleDsKKyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2Rlc1RvUG9w
OyArK2kpIHsKKyAgICAgICAgICAgIGxldCBhdXRvQ2xvc2luZ05vZGUgPSB0aGlzLl9zdGFja09m
T3BlbkVsZW1lbnRzLnBvcCgpOworICAgICAgICAgICAgYXV0b0Nsb3NpbmdOb2RlLmltcGxpY2l0
Q2xvc2UgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgX2luZGV4T2ZTdGFja05vZGVNYXRjaGluZ1RhZ05hbWVzKHRhZ05hbWVzKQorICAgIHsK
KyAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMubGVuZ3RoIC0g
MTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgICAgIGxldCBzdGFja05vZGUgPSB0aGlzLl9zdGFj
a09mT3BlbkVsZW1lbnRzW2ldOworICAgICAgICAgICAgbGV0IG5hbWUgPSB0aGlzLl9pc1hNTCA/
IHN0YWNrTm9kZS5uYW1lIDogc3RhY2tOb2RlLmxvd2VyY2FzZU5hbWU7CisgICAgICAgICAgICBp
ZiAodGFnTmFtZXMuaW5jbHVkZXMobmFtZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCiAgICAgX2lzRW1wdHlOb2Rl
KHBhcnNlck5vZGUsIG5vZGUpCiAgICAgewogICAgICAgICBpZiAocGFyc2VyTm9kZS5jbG9zZWQp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378877</attachid>
            <date>2019-09-16 12:24:25 -0700</date>
            <delta_ts>2019-09-17 11:37:42 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>html-3.patch</filename>
            <type>text/plain</type>
            <size>26439</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYzcyNGIxMjMxMi4uNTA5YTNlOGM1OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxOS0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEhUTUwgRm9ybWF0dGVyIC0gYmV0dGVyIGhhbmRsaW5nIGZvciBI
VE1MIHNwZWNpZmljIHRhZyBjYXNlcyAoPHA+LzxsaT4pCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE3NTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRp
bmctaHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9y
bWF0dGluZy1odG1sLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3Rz
L2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNs
b3NlLXNwZWNpYWwuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3Jt
ZWQtMS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWw6CisgICAgICAgICogaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvcC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9w
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhYmxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNl
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyBm
b3IgSFRNTCBzcGVjaWFsdGllcy4KKworICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL2Zv
cm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZm9ybWF0dGlu
Zy9mb3JtYXR0aW5nLXhtbC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mb3JtYXR0aW5nL3Jl
c291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQueG1sOiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLnhtbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0
cy92YWxpZC1odG1sLWludmFsaWQteG1sLWV4cGVjdGVkLnhtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwu
eG1sOgorICAgICAgICBYTUwgaXMgY2FzZS1zZW5zaXRpdmUuIEVuc3VyZSBYTUwgZG9lc24ndCBn
ZXQgbW9yZSBvZiB0aGUgSFRNTCBzcGVjaWFsdGllcy4KKwogMjAxOS0wOS0xMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhU
TUwgRm9ybWF0dGVyIC0gWE1MIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CmluZGV4IDM5
OTI1OWZmMWU1Li4wZDQzNzQyYTMyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLWh0bWwtZXhwZWN0ZWQudHh0CkBAIC00
LDcgKzQsOCBAQCBUZXN0IEhUTUwgZm9ybWF0dGluZy4KID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
SFRNTEZvcm1hdHRlcgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IEhUTUxGb3JtYXR0ZXIKIFBBU1M6
IGF0dHJpYnV0ZXMuaHRtbAotUEFTUzogYXV0by1jbG9zZS5odG1sCitQQVNTOiBhdXRvLWNsb3Nl
LW5vcm1hbC5odG1sCitQQVNTOiBhdXRvLWNsb3NlLXNwZWNpYWwuaHRtbAogUEFTUzogYmFzaWMt
MS5odG1sCiBQQVNTOiBiYXNpYy0yLmh0bWwKIFBBU1M6IGNvbW1lbnRzLmh0bWwKQEAgLTIzLDUg
KzI0LDggQEAgUEFTUzogbGlzdC5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMS5odG1sCiBQ
QVNTOiBub3Qtd2VsbC1mb3JtZWQtMi5odG1sCiBQQVNTOiBub3Qtd2VsbC1mb3JtZWQtMy5odG1s
CitQQVNTOiBwLmh0bWwKIFBBU1M6IHNlbGYtY2xvc2luZy5odG1sCitQQVNTOiB0YWJsZS5odG1s
CitQQVNTOiB0YWctY2FzZS5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmctaHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2Zvcm1hdHRpbmcvZm9ybWF0dGluZy1odG1sLmh0bWwKaW5kZXggMGFhYzUzMDAzZGUuLjFmYzFk
ZTE2OTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3Jt
YXR0aW5nLWh0bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9m
b3JtYXR0aW5nLWh0bWwuaHRtbApAQCAtMTAsNyArMTAsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAog
ICAgIGFkZEZvcm1hdHRpbmdUZXN0cyhzdWl0ZSwgInRleHQvaHRtbCIsIFsKICAgICAgICAgInJl
c291cmNlcy9odG1sLXRlc3RzL2F0dHJpYnV0ZXMuaHRtbCIsCi0gICAgICAgICJyZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLmh0bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9hdXRvLWNsb3NlLXNwZWNpYWwuaHRtbCIsCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9iYXNpYy0xLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvYmFzaWMtMi5o
dG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRlc3RzL2NvbW1lbnRzLmh0bWwiLApAQCAt
MjksNyArMzAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICJyZXNvdXJjZXMvaHRtbC10
ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1sIiwKICAgICAgICAgInJlc291cmNlcy9odG1sLXRl
c3RzL25vdC13ZWxsLWZvcm1lZC0yLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVz
dHMvbm90LXdlbGwtZm9ybWVkLTMuaHRtbCIsCisgICAgICAgICJyZXNvdXJjZXMvaHRtbC10ZXN0
cy9wLmh0bWwiLAogICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvc2VsZi1jbG9zaW5nLmh0
bWwiLAorICAgICAgICAicmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFibGUuaHRtbCIsCisgICAgICAg
ICJyZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1sIiwKICAgICBdKTsKIAogICAgIHN1
aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CmluZGV4
IGYwNmU3NDhhMjQxLi5iMzgyYjJkNGEyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2Zvcm1hdHRpbmcvZm9ybWF0dGluZy14bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLWV4cGVjdGVkLnR4dApAQCAt
Niw2ICs2LDcgQEAgVGVzdCBYTUwgZm9ybWF0dGluZy4KIFBBU1M6IGF0b20ueG1sCiBQQVNTOiBi
YXNpYy54bWwKIFBBU1M6IHJzcy54bWwKK1BBU1M6IHRhZy1jYXNlLnhtbAogUEFTUzogdmFsaWQt
aHRtbC1pbnZhbGlkLXhtbC54bWwKIFBBU1M6IHhzbHQueG1sCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL2Zvcm1hdHRpbmcteG1sLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCmluZGV4IDg1NWYw
NDQ2MDNiLi43NzA0YmZlZDUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvZm9ybWF0dGluZy14bWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9mb3JtYXR0aW5nLXhtbC5odG1sCkBAIC0xMiw2ICsxMiw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy9hdG9tLnhtbCIsCiAgICAgICAg
ICJyZXNvdXJjZXMveG1sLXRlc3RzL2Jhc2ljLnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1s
LXRlc3RzL3Jzcy54bWwiLAorICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS54
bWwiLAogICAgICAgICAicmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1odG1sLWludmFsaWQteG1s
LnhtbCIsCiAgICAgICAgICJyZXNvdXJjZXMveG1sLXRlc3RzL3hzbHQueG1sIiwKICAgICBdKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9o
dG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utbm9ybWFsLWV4cGVj
dGVkLmh0bWwKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2UtZXhwZWN0
ZWQuaHRtbApyZW5hbWUgdG8gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwtZXhwZWN0ZWQuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMv
YXV0by1jbG9zZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvYXV0by1jbG9zZS1ub3JtYWwuaHRtbApzaW1pbGFyaXR5IGluZGV4IDEw
MCUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2Vz
L2h0bWwtdGVzdHMvYXV0by1jbG9zZS5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLW5vcm1hbC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy9hdXRvLWNsb3NlLXNwZWNpYWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3Bl
Y2lhbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li5hZDM2OGM0YTAzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2F1dG8tY2xvc2Utc3BlY2lhbC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gYm9keSBjbG9zZXMgaGVhZCAtLT4KKzxoZWFk
PgorICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+Cis8Ym9keT4KKworICAgIDwhLS0gb3B0aW9uIGFu
ZCBvcHRncm91cCAtLT4KKyAgICA8c2VsZWN0PgorICAgICAgICA8b3B0aW9uPjEKKyAgICAgICAg
PG9wdGlvbj4yCisgICAgICAgICAgICAKKyAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJHcm91cCAx
Ij4KKyAgICAgICAgICAgIDxvcHRpb24+MQorICAgICAgICAgICAgPG9wdGlvbj4yCisgICAgICAg
ICAgICAgICAgCisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iR3JvdXAgMiI+CisgICAgICAgICAg
ICA8b3B0aW9uPjEKKyAgICAgICAgICAgIDxvcHRpb24+MgorICAgIDwvc2VsZWN0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVz
dHMvYXV0by1jbG9zZS1zcGVjaWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0
dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9hdXRvLWNsb3NlLXNwZWNpYWwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTMwMzM3MjFiMTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10
ZXN0cy9hdXRvLWNsb3NlLXNwZWNpYWwuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IS0tIGJvZHkg
Y2xvc2VzIGhlYWQgLS0+Cis8aGVhZD48dGl0bGU+VGl0bGU8L3RpdGxlPgorPGJvZHk+CisgICAg
Cis8IS0tIG9wdGlvbiBhbmQgb3B0Z3JvdXAgLS0+Cis8c2VsZWN0PgorICAgIDxvcHRpb24+MTxv
cHRpb24+MgorICAgIDxvcHRncm91cCBsYWJlbD0iR3JvdXAgMSI+CisgICAgICAgIDxvcHRpb24+
MTxvcHRpb24+MgorICAgIDxvcHRncm91cCBsYWJlbD0iR3JvdXAgMiI+CisgICAgICAgIDxvcHRp
b24+MTxvcHRpb24+MgorPC9zZWxlY3Q+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0LWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9saXN0
LWV4cGVjdGVkLmh0bWwKaW5kZXggYWRjOGNlNDgwM2QuLjM4MDQxMWIxM2I1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9s
aXN0LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC1leHBlY3RlZC5odG1sCkBAIC0xMCwxNiArMTAsNDYg
QEAKIDwvb2w+CiAKIDx1bD4KKyAgICA8bGk+T25lCisgICAgPGxpPlR3bworICAgIDxsaT5UaHJl
ZQorPC91bD4KKzxvbD4KKyAgICA8bGk+T25lCisgICAgPGxpPlR3bworICAgIDxsaT5UaHJlZQor
PC9vbD4KKworPCEtLSBOZXN0ZWQgLS0+Cis8b2w+CiAgICAgPGxpPgotICAgICAgICBPbmUKLSAg
ICAgICAgPGxpPgotICAgICAgICAgICAgVHdvCi0gICAgICAgICAgICA8bGk+VGhyZWUKKyAgICAg
ICAgPHVsPgorICAgICAgICAgICAgPGxpPjEKKyAgICAgICAgICAgIDxsaT4yCisgICAgICAgIDwv
dWw+CisgICAgPGxpPlRlc3QKKzwvb2w+Cis8dWw+CisgICAgPGxpPgorICAgICAgICA8b2w+Cisg
ICAgICAgICAgICA8bGk+MQorICAgICAgICAgICAgPGxpPjIKKyAgICAgICAgPC9vbD4KKyAgICA8
bGk+VGVzdAogPC91bD4KIDxvbD4KICAgICA8bGk+Ci0gICAgICAgIE9uZQotICAgICAgICA8bGk+
Ci0gICAgICAgICAgICBUd28KLSAgICAgICAgICAgIDxsaT5UaHJlZQorICAgICAgICA8b2w+Cisg
ICAgICAgICAgICA8bGk+MQorICAgICAgICAgICAgPGxpPjIKKyAgICAgICAgPC9vbD4KKyAgICA8
bGk+VGVzdAogPC9vbD4KKzx1bD4KKyAgICA8bGk+CisgICAgICAgIDx1bD4KKyAgICAgICAgICAg
IDxsaT4xCisgICAgICAgICAgICA8bGk+MgorICAgICAgICA8L3VsPgorICAgIDxsaT5UZXN0Cis8
L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRp
bmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCmluZGV4IDFlOTA3OTczNDliLi5mZWYx
ODU4OTg1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVz
b3VyY2VzL2h0bWwtdGVzdHMvbGlzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL2xpc3QuaHRtbApAQCAtMywzICszLDkgQEAK
IAogPHVsPjxsaT5PbmU8bGk+VHdvPGxpPlRocmVlPC91bD4KIDxvbD48bGk+T25lPGxpPlR3bzxs
aT5UaHJlZTwvb2w+CisKKzwhLS0gTmVzdGVkIC0tPgorPG9sPjxsaT48dWw+PGxpPjE8bGk+Mjwv
dWw+PGxpPlRlc3Q8L29sPgorPHVsPjxsaT48b2w+PGxpPjE8bGk+Mjwvb2w+PGxpPlRlc3Q8L3Vs
PgorPG9sPjxsaT48b2w+PGxpPjE8bGk+Mjwvb2w+PGxpPlRlc3Q8L29sPgorPHVsPjxsaT48dWw+
PGxpPjE8bGk+MjwvdWw+PGxpPlRlc3Q8L3VsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvbm90LXdlbGwtZm9ybWVkLTEt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLWV4cGVjdGVkLmh0bWwKaW5kZXggM2U0OWQw
NmQyM2QuLjE5OGE5ODM1ZTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9y
bWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS1leHBlY3RlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1s
LXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLWV4cGVjdGVkLmh0bWwKQEAgLTEsMyArMSwzIEBACi08
cD4KKzx4PgogICAgIDwvYnI+Ci0gICAgPHA+VGVzdDwvcD4KKyAgICA8eD5UZXN0PC94PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwt
dGVzdHMvbm90LXdlbGwtZm9ybWVkLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3Jt
YXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWwKaW5kZXgg
ZjZiZTQwYzk1YWQuLjMzN2IwZTg0NTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy9ub3Qtd2VsbC1mb3JtZWQtMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRl
c3RzL25vdC13ZWxsLWZvcm1lZC0xLmh0bWwKQEAgLTEgKzEgQEAKLTxwPjwvYnI+PHA+VGVzdDwv
cD4KKzx4PjwvYnI+PHg+VGVzdDwveD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmJlMGQ2NTll
MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9y
ZXNvdXJjZXMvaHRtbC10ZXN0cy9wLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPHA+
MQorPHA+MgorPHA+MworCis8ZGl2PgorICAgIDxwPjEKKyAgICA8cD4yCisgICAgPHA+MworPC9k
aXY+CisKKzxkaXY+CisgICAgPHNlY3Rpb24+CisgICAgICAgIDxwPjEKKyAgICAgICAgPHA+Mgor
ICAgICAgICA8c2VjdGlvbj4KKyAgICAgICAgICAgIDxwPjMKKyAgICAgICAgICAgIDxwPjQKKzwv
ZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3Vy
Y2VzL2h0bWwtdGVzdHMvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcv
cmVzb3VyY2VzL2h0bWwtdGVzdHMvcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi42OThlNGJiOWNhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3AuaHRtbApAQCAtMCwwICsx
LDUgQEAKKzxwPjE8cD4yPHA+MworCis8ZGl2PjxwPjE8cD4yPHA+MzwvZGl2PgorCis8ZGl2Pjxz
ZWN0aW9uPjxwPjE8cD4yPHNlY3Rpb24+PHA+MzxwPjQ8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhYmxlLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMv
aHRtbC10ZXN0cy90YWJsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwLi4yYjkwZWZiMjkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhYmxlLWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPHRhYmxlPgorICAgIDx0cj4KKyAgICAgICAgPHRoPjEK
KyAgICAgICAgPHRkPjIKKyAgICAgICAgPHRkPjMKKyAgICAgICAgICAgIAorICAgIDx0cj4KKyAg
ICAgICAgPHRkPjEKKyAgICAgICAgPHRoPjIKKyAgICAgICAgPHRkPjMKKyAgICAgICAgICAgIAor
ICAgIDx0cj4KKyAgICAgICAgPHRkPjEKKyAgICAgICAgPHRkPjIKKyAgICAgICAgPHRoPjMKKyAg
ICAgICAgICAgIAorICAgIDx0cj4KKyAgICAgICAgPHRoPjEKKyAgICAgICAgPHRoPjIKKyAgICAg
ICAgPHRoPjMKKzwvdGFibGU+CisKKzx0YWJsZT4KKyAgICA8dGQ+MQorICAgIDx0ZD4yCisgICAg
PHRyPgorICAgICAgICA8dGQ+MworICAgICAgICA8dGQ+NAorPC90YWJsZT4KKzx0YWJsZT4KKyAg
ICA8dGg+MQorICAgIDx0aD4yCisgICAgPHRyPgorICAgICAgICA8dGg+MworICAgICAgICA8dGg+
NAorPC90YWJsZT4KKworPHRhYmxlPgorICAgIDx0aGVhZD5IZWFkCisgICAgPHRib2R5PkJvZHkK
KyAgICA8dGZvb3Q+Rm9vdAorPC90YWJsZT4KKzx0YWJsZT4KKyAgICA8dHI+CisgICAgICAgIDx0
ZD4xCisgICAgPHRmb290PlRleHQKKzwvdGFibGU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWJsZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFibGUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmI4NDQ1YzAzYTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNv
dXJjZXMvaHRtbC10ZXN0cy90YWJsZS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzx0YWJsZT4KKyAg
ICA8dHI+PHRoPjE8dGQ+Mjx0ZD4zCisgICAgPHRyPjx0ZD4xPHRoPjI8dGQ+MworICAgIDx0cj48
dGQ+MTx0ZD4yPHRoPjMKKyAgICA8dHI+PHRoPjE8dGg+Mjx0aD4zCis8L3RhYmxlPgorCis8dGFi
bGU+PHRkPjE8dGQ+Mjx0cj48dGQ+Mzx0ZD40PC90YWJsZT4KKzx0YWJsZT48dGg+MTx0aD4yPHRy
Pjx0aD4zPHRoPjQ8L3RhYmxlPgorCis8dGFibGU+PHRoZWFkPkhlYWQ8dGJvZHk+Qm9keTx0Zm9v
dD5Gb290PC90YWJsZT4KKzx0YWJsZT48dHI+PHRkPjE8dGZvb3Q+VGV4dDwvdGFibGU+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10
ZXN0cy90YWctY2FzZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1h
dHRpbmcvcmVzb3VyY2VzL2h0bWwtdGVzdHMvdGFnLWNhc2UtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzA4Yzk1ZmFjMTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10
ZXN0cy90YWctY2FzZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMiBAQAorPGRpdj50ZXh0PC9E
SVY+Cis8RElWPnRleHQ8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9m
b3JtYXR0aW5nL3Jlc291cmNlcy9odG1sLXRlc3RzL3RhZy1jYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMvaHRtbC10ZXN0cy90YWctY2FzZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jMDhjOTVmYWMxMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNl
cy9odG1sLXRlc3RzL3RhZy1jYXNlLmh0bWwKQEAgLTAsMCArMSwyIEBACis8ZGl2PnRleHQ8L0RJ
Vj4KKzxESVY+dGV4dDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zv
cm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy90YWctY2FzZS1leHBlY3RlZC54bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNl
LWV4cGVjdGVkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGYy
ZmVhYjc4ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0
dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3RhZy1jYXNlLWV4cGVjdGVkLnhtbApAQCAtMCwwICsx
LDQgQEAKKzxkaXY+CisgICAgdGV4dDwvRElWPgorICAgIDxESVY+dGV4dAorPC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRl
c3RzL3RhZy1jYXNlLnhtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291
cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi5jMDhjOTVmYWMxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdGFnLWNhc2UueG1sCkBAIC0w
LDAgKzEsMiBAQAorPGRpdj50ZXh0PC9ESVY+Cis8RElWPnRleHQ8L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5nL3Jlc291cmNlcy94bWwtdGVzdHMvdmFs
aWQtaHRtbC1pbnZhbGlkLXhtbC1leHBlY3RlZC54bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwtZXhw
ZWN0ZWQueG1sCmluZGV4IGNmZjRmY2M4ZmY0Li4zYzAxOTJjZTU3YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1o
dG1sLWludmFsaWQteG1sLWV4cGVjdGVkLnhtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Zm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52YWxpZC14bWwtZXhw
ZWN0ZWQueG1sCkBAIC0xLDQgKzEsMTEgQEAKIDxvdXRlcj4KICAgICA8aW1nIHNyYz0iMSI+CiAg
ICAgICAgIDxpbWcgc3JjPSIyIj4KKyAgICAgICAgICAgIDxvbD4KKyAgICAgICAgICAgICAgICA8
bGk+CisgICAgICAgICAgICAgICAgICAgIE9uZQorICAgICAgICAgICAgICAgICAgICA8bGk+Cisg
ICAgICAgICAgICAgICAgICAgICAgICBUd28KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5U
aHJlZQorICAgICAgICAgICAgPC9vbD4KIDwvb3V0ZXI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZm9ybWF0dGluZy9yZXNvdXJjZXMveG1sLXRlc3RzL3ZhbGlkLWh0bWwtaW52
YWxpZC14bWwueG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2Vz
L3htbC10ZXN0cy92YWxpZC1odG1sLWludmFsaWQteG1sLnhtbAppbmRleCBiOWMxZGUxZGExNC4u
ZmIzN2QxMTk2NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9mb3JtYXR0aW5n
L3Jlc291cmNlcy94bWwtdGVzdHMvdmFsaWQtaHRtbC1pbnZhbGlkLXhtbC54bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2Zvcm1hdHRpbmcvcmVzb3VyY2VzL3htbC10ZXN0cy92YWxpZC1o
dG1sLWludmFsaWQteG1sLnhtbApAQCAtMSArMSw0IEBACi08b3V0ZXI+PGltZyBzcmM9IjEiPjxp
bWcgc3JjPSIyIj48L291dGVyPgorPG91dGVyPgorPGltZyBzcmM9IjEiPjxpbWcgc3JjPSIyIj4K
KzxvbD48bGk+T25lPGxpPlR3bzxsaT5UaHJlZTwvb2w+Cis8L291dGVyPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKaW5kZXggMGRhNjkzMWQxOTYuLmI4NjdmZmJmMGI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOS0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEhUTUwgRm9ybWF0
dGVyIC0gYmV0dGVyIGhhbmRsaW5nIGZvciBIVE1MIHNwZWNpZmljIHRhZyBjYXNlcyAoPHA+Lzxs
aT4pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE3
NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTEZvcm1hdHRlci5qczoKKyAgICAgICAg
KEhUTUxGb3JtYXR0ZXIucHJvdG90eXBlLl9hZnRlcik6CisgICAgICAgIEhhbmRsZSBhIGNsb3Np
bmcgdGFnIHdpdGggZGlmZmVyZW50IHRleHQgdGhhbiB0aGUgb3BlbmluZyB0YWcuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxUcmVlQnVpbGRlckZvcm1h
dHRlci5qczoKKyAgICAgICAgKEhUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX3B1
c2hQYXJzZXJOb2RlVG9wTGV2ZWwpOgorICAgICAgICAoSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVy
LnByb3RvdHlwZS5fcHVzaFBhcnNlck5vZGVTdGFjayk6CisgICAgICAgIChIVE1MVHJlZUJ1aWxk
ZXJGb3JtYXR0ZXIucHJvdG90eXBlLl9pbXBsaWNpdGx5Q2xvc2VIVE1MTm9kZXNGb3JPcGVuVGFn
KToKKyAgICAgICAgKEhUTUxUcmVlQnVpbGRlckZvcm1hdHRlci5wcm90b3R5cGUuX2ltcGxpY2l0
bHlDbG9zZVRhZ05hbWVzSW5zaWRlUGFyZW50VGFnTmFtZXMpOgorICAgICAgICAoSFRNTFRyZWVC
dWlsZGVyRm9ybWF0dGVyLnByb3RvdHlwZS5faW5kZXhPZlN0YWNrTm9kZU1hdGNoaW5nVGFnTmFt
ZXMpOgorICAgICAgICBHZW5lcmFsaXplIHRoZSBpbXBsaWNpdCBjbG9zaW5nIGEgYml0LiBBbGxv
dyBvcGVuIHRhZ3MgdG8gaW1wbGljaXRseQorICAgICAgICBjbG9zZSBjZXJ0YWluIG90aGVyIG9w
ZW4gdGFncyBpbiB0aGUgc3RhY2suCisKIDIwMTktMDktMTMgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBIVE1MIEZvcm1hdHRl
ciAtIFhNTCBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Xb3JrZXJzL0Zvcm1hdHRlci9IVE1MRm9ybWF0dGVyLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTEZvcm1hdHRlci5qcwpp
bmRleCBkYjI4ZDdkMmQwZS4uYmJkNTNhZDZjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxGb3JtYXR0ZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0
ZXIvSFRNTEZvcm1hdHRlci5qcwpAQCAtMjg5LDggKzI4OSw5IEBAIEhUTUxGb3JtYXR0ZXIgPSBj
bGFzcyBIVE1MRm9ybWF0dGVyCiAgICAgICAgICAgICAgICAgdGhpcy5fYnVpbGRlci5hcHBlbmRO
ZXdsaW5lKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIW5vZGUuaW1wbGljaXRD
bG9zZSkgeworICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG5vZGUuY2xvc2VUYWdOYW1l
KTsKICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChub2RlLmNsb3NlVGFnUG9zKTsKLSAg
ICAgICAgICAgICAgICB0aGlzLl9idWlsZGVyLmFwcGVuZFRva2VuKCI8LyIgKyBub2RlLm5hbWUg
KyAiPiIsIG5vZGUuY2xvc2VUYWdQb3MpOworICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkZXIu
YXBwZW5kVG9rZW4oIjwvIiArIG5vZGUuY2xvc2VUYWdOYW1lICsgIj4iLCBub2RlLmNsb3NlVGFn
UG9zKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRoaXMuX2J1aWxkZXIuYXBwZW5kTmV3
bGluZSgpOwogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTFRyZWVCdWlsZGVyRm9y
bWF0dGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvV29ya2Vycy9G
b3JtYXR0ZXIvSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyLmpzCmluZGV4IGM5M2IxOTFkNjYwLi42
ODY1ZmQ4ZTViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvV29ya2Vycy9Gb3JtYXR0ZXIvSFRNTFRyZWVCdWlsZGVyRm9ybWF0dGVyLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1dvcmtlcnMvRm9ybWF0dGVyL0hUTUxU
cmVlQnVpbGRlckZvcm1hdHRlci5qcwpAQCAtMjQsOSArMjQsOSBAQAogICovCiAKIC8vIFRoaXMg
dHJlZSBidWlsZGVyIGF0dGVtcHRzIHRvIG1hdGNoIGlucHV0IHRleHQgdG8gb3V0cHV0IERPTSBu
b2RlLgotLy8gVGhpcyB0aGVyZWZvcmUgZG9lc24ndCBkbyBIVE1MNSB0cmVlIGNvbnN0cnVjdGlv
biBsaWtlIGF1dG8tY2xvc2luZworLy8gVGhpcyB0aGVyZWZvcmUgZG9lc24ndCBkbyBIVE1MNSB0
cmVlIGNvbnN0cnVjdGlvbiBsaWtlIGltcGxpY2l0bHktY2xvc2luZwogLy8gc3BlY2lmaWMgSFRN
TCBwYXJlbnQgbm9kZXMgZGVwZW5kaW5nIG9uIGJlaW5nIGluIGEgcGFydGljdWxhciBub2RlLAot
Ly8gaXQgb25seSBkb2VzIGJhc2ljIGF1dG8tY2xvc2luZy4gSW4gZ2VuZXJhbCB0aGlzIHRyaWVz
IHRvIGJlIGEKKy8vIGl0IG9ubHkgZG9lcyBiYXNpYyBpbXBsaWNpdGx5LWNsb3NpbmcuIEluIGdl
bmVyYWwgdGhpcyB0cmllcyB0byBiZSBhCiAvLyB3aGl0ZXNwYWNlIHJlZm9ybWF0dGVyIGZvciBp
bnB1dCB0ZXh0IGFuZCBub3QgZ2VuZXJhdGUgdGhlIHVsdGltYXRlCiAvLyBodG1sIHRyZWUgdGhh
dCBhIGJyb3dzZXIgd291bGQgZ2VuZXJhdGUuCiAvLwpAQCAtNTEsNyArNTEsNyBAQCBIVE1MVHJl
ZUJ1aWxkZXJGb3JtYXR0ZXIgPSBjbGFzcyBIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIKIAogICAg
IHB1c2hQYXJzZXJOb2RlKHBhcnNlck5vZGUpCiAgICAgewotICAgICAgICBsZXQgY29udGFpbmVy
Tm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHNbdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50
cy5sZW5ndGggLSAxXTsKKyAgICAgICAgbGV0IGNvbnRhaW5lck5vZGUgPSB0aGlzLl9zdGFja09m
T3BlbkVsZW1lbnRzLmxhc3RWYWx1ZTsKICAgICAgICAgaWYgKCFjb250YWluZXJOb2RlKQogICAg
ICAgICAgICAgdGhpcy5fcHVzaFBhcnNlck5vZGVUb3BMZXZlbChwYXJzZXJOb2RlKTsKICAgICAg
ICAgZWxzZQpAQCAtOTAsMzQgKzkwLDM0IEBAIEhUTUxUcmVlQnVpbGRlckZvcm1hdHRlciA9IGNs
YXNzIEhUTUxUcmVlQnVpbGRlckZvcm1hdHRlcgogICAgIHsKICAgICAgICAgaWYgKHBhcnNlck5v
ZGUudHlwZSA9PT0gSFRNTFBhcnNlci5Ob2RlVHlwZS5PcGVuVGFnKSB7CiAgICAgICAgICAgICBs
ZXQgbm9kZSA9IHRoaXMuX2J1aWxkRE9NTm9kZUZyb21PcGVuVGFnKHBhcnNlck5vZGUpOwotICAg
ICAgICAgICAgY29udGFpbmVyTm9kZS5jaGlsZHJlbi5wdXNoKG5vZGUpOworICAgICAgICAgICAg
bGV0IGNoaWxkcmVuQXJyYXkgPSBjb250YWluZXJOb2RlLmNoaWxkcmVuOworICAgICAgICAgICAg
aWYgKCF0aGlzLl9pc1hNTCkgeworICAgICAgICAgICAgICAgIHRoaXMuX2ltcGxpY2l0bHlDbG9z
ZUhUTUxOb2Rlc0Zvck9wZW5UYWcocGFyc2VyTm9kZSwgbm9kZSk7CisgICAgICAgICAgICAgICAg
Y29udGFpbmVyTm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMubGFzdFZhbHVlOworICAg
ICAgICAgICAgICAgIGNoaWxkcmVuQXJyYXkgPSBjb250YWluZXJOb2RlID8gY29udGFpbmVyTm9k
ZS5jaGlsZHJlbiA6IHRoaXMuX2RvbTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNoaWxk
cmVuQXJyYXkucHVzaChub2RlKTsKICAgICAgICAgICAgIGlmICghdGhpcy5faXNFbXB0eU5vZGUo
cGFyc2VyTm9kZSwgbm9kZSkpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RhY2tPZk9wZW5FbGVt
ZW50cy5wdXNoKG5vZGUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKHBhcnNlck5vZGUudHlwZSA9PT0gSFRNTFBhcnNlci5Ob2RlVHlwZS5DbG9zZVRhZykg
ewotICAgICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7Ci0gICAgICAgICAgICBsZXQgbm9kZXNU
b1BvcCA9IDA7Ci0gICAgICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVt
ZW50cy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewotICAgICAgICAgICAgICAgIG5vZGVzVG9Q
b3ArKzsKLSAgICAgICAgICAgICAgICBsZXQgc3RhY2tOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5F
bGVtZW50c1tpXTsKLSAgICAgICAgICAgICAgICBpZiAoc3RhY2tOb2RlLm5hbWUgPT09IHBhcnNl
ck5vZGUubmFtZSkgewotICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGxldCB0YWdOYW1lID0gdGhpcy5faXNYTUwgPyBwYXJzZXJOb2RlLm5hbWUgOiBw
YXJzZXJOb2RlLm5hbWUudG9Mb3dlckNhc2UoKTsKKyAgICAgICAgICAgIGxldCBtYXRjaGluZ09w
ZW5UYWdJbmRleCA9IHRoaXMuX2luZGV4T2ZTdGFja05vZGVNYXRjaGluZ1RhZ05hbWVzKFt0YWdO
YW1lXSk7CiAKLSAgICAgICAgICAgIC8vIEZvdW5kIGEgbWF0Y2hpbmcgdGFnLCBhdXRvLWNsb3Nl
IG5vZGVzLgotICAgICAgICAgICAgaWYgKGZvdW5kKSB7Ci0gICAgICAgICAgICAgICAgY29uc29s
ZS5hc3NlcnQobm9kZXNUb1BvcCA+IDApOworICAgICAgICAgICAgLy8gRm91bmQgYSBtYXRjaGlu
ZyB0YWcsIGltcGxpY2l0bHktY2xvc2Ugbm9kZXMuCisgICAgICAgICAgICBpZiAobWF0Y2hpbmdP
cGVuVGFnSW5kZXggIT09IC0xKSB7CisgICAgICAgICAgICAgICAgbGV0IG5vZGVzVG9Qb3AgPSB0
aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLmxlbmd0aCAtIG1hdGNoaW5nT3BlblRhZ0luZGV4Owog
ICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXNUb1BvcCAtIDE7ICsraSkg
ewotICAgICAgICAgICAgICAgICAgICBsZXQgYXV0b0Nsb3NpbmdOb2RlID0gdGhpcy5fc3RhY2tP
Zk9wZW5FbGVtZW50cy5wb3AoKTsKLSAgICAgICAgICAgICAgICAgICAgYXV0b0Nsb3NpbmdOb2Rl
LmltcGxpY2l0Q2xvc2UgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBsZXQgaW1wbGljaXRs
eUNsb3NpbmdOb2RlID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5wb3AoKTsKKyAgICAgICAg
ICAgICAgICAgICAgaW1wbGljaXRseUNsb3NpbmdOb2RlLmltcGxpY2l0Q2xvc2UgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBsZXQgaW1wbGljaXRseUNsb3NpbmdO
b2RlID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5wb3AoKTsKKyAgICAgICAgICAgICAgICBp
ZiAocGFyc2VyTm9kZS5wb3MpIHsKKyAgICAgICAgICAgICAgICAgICAgaW1wbGljaXRseUNsb3Np
bmdOb2RlLmNsb3NlVGFnUG9zID0gcGFyc2VyTm9kZS5wb3M7CisgICAgICAgICAgICAgICAgICAg
IGltcGxpY2l0bHlDbG9zaW5nTm9kZS5jbG9zZVRhZ05hbWUgPSBwYXJzZXJOb2RlLm5hbWU7CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGxldCBhdXRvQ2xvc2luZ05vZGUgPSB0
aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzLnBvcCgpOwotICAgICAgICAgICAgICAgIGlmIChwYXJz
ZXJOb2RlLnBvcykKLSAgICAgICAgICAgICAgICAgICAgYXV0b0Nsb3NpbmdOb2RlLmNsb3NlVGFn
UG9zID0gcGFyc2VyTm9kZS5wb3M7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCkBAIC0xMzIsNiArMTMyLDE1MCBAQCBIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIgPSBj
bGFzcyBIVE1MVHJlZUJ1aWxkZXJGb3JtYXR0ZXIKICAgICAgICAgY29udGFpbmVyTm9kZS5jaGls
ZHJlbi5wdXNoKG5vZGUpOwogICAgIH0KIAorICAgIF9pbXBsaWNpdGx5Q2xvc2VIVE1MTm9kZXNG
b3JPcGVuVGFnKHBhcnNlck5vZGUsIG5vZGUpCisgICAgeworICAgICAgICBpZiAocGFyc2VyTm9k
ZS5jbG9zZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc3dpdGNoIChub2RlLmxv
d2VyY2FzZU5hbWUpIHsKKyAgICAgICAgLy8gPGJvZHk+IGNsb3NlcyA8aGVhZD4uCisgICAgICAg
IGNhc2UgImJvZHkiOgorICAgICAgICAgICAgdGhpcy5faW1wbGljaXRseUNsb3NlVGFnTmFtZXNJ
bnNpZGVQYXJlbnRUYWdOYW1lcyhbImhlYWQiXSk7CisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICAvLyBJbnNpZGUgPHNlbGVjdD4uCisgICAgICAgIGNhc2UgIm9wdGlvbiI6CisgICAgICAg
ICAgICB0aGlzLl9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsi
b3B0aW9uIl0sIFsic2VsZWN0Il0pOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Im9wdGdyb3VwIjogeworICAgICAgICAgICAgbGV0IGRpZENsb3NlID0gdGhpcy5faW1wbGljaXRs
eUNsb3NlVGFnTmFtZXNJbnNpZGVQYXJlbnRUYWdOYW1lcyhbIm9wdGdyb3VwIl0sIFsic2VsZWN0
Il0pOzsKKyAgICAgICAgICAgIGlmICghZGlkQ2xvc2UpCisgICAgICAgICAgICAgICAgdGhpcy5f
aW1wbGljaXRseUNsb3NlVGFnTmFtZXNJbnNpZGVQYXJlbnRUYWdOYW1lcyhbIm9wdGlvbiJdLCBb
InNlbGVjdCJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8g
SW5zaWRlIDxvbD4vPHVsPi4KKyAgICAgICAgY2FzZSAibGkiOgorICAgICAgICAgICAgdGhpcy5f
aW1wbGljaXRseUNsb3NlVGFnTmFtZXNJbnNpZGVQYXJlbnRUYWdOYW1lcyhbImxpIl0sIFsib2wi
LCAidWwiXSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvLyBJbnNpZGUgPGRsPi4K
KyAgICAgICAgY2FzZSAiZGQiOgorICAgICAgICBjYXNlICJkdCI6CisgICAgICAgICAgICB0aGlz
Ll9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsiZGQiLCAiZHQi
XSwgWyJkbCJdKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIEluc2lkZSA8dGFi
bGU+LgorICAgICAgICBjYXNlICJ0ciI6IHsKKyAgICAgICAgICAgIGxldCBkaWRDbG9zZSA9IHRo
aXMuX2ltcGxpY2l0bHlDbG9zZVRhZ05hbWVzSW5zaWRlUGFyZW50VGFnTmFtZXMoWyJ0ciJdLCBb
InRhYmxlIl0pOworICAgICAgICAgICAgaWYgKCFkaWRDbG9zZSkKKyAgICAgICAgICAgICAgICB0
aGlzLl9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsidGQiLCAi
dGgiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IGNhc2UgInRkIjoKKyAgICAgICAgY2FzZSAidGgiOgorICAgICAgICAgICAgdGhpcy5faW1wbGlj
aXRseUNsb3NlVGFnTmFtZXNJbnNpZGVQYXJlbnRUYWdOYW1lcyhbInRkIiwgInRoIl0sIFsidGFi
bGUiXSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAidGJvZHkiOiB7CisgICAg
ICAgICAgICBsZXQgZGlkQ2xvc2UgPSB0aGlzLl9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lk
ZVBhcmVudFRhZ05hbWVzKFsidGhlYWQiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGlmICgh
ZGlkQ2xvc2UpCisgICAgICAgICAgICAgICAgZGlkQ2xvc2UgPSB0aGlzLl9pbXBsaWNpdGx5Q2xv
c2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsidHIiXSwgWyJ0YWJsZSJdKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgInRmb290IjogeworICAgICAg
ICAgICAgbGV0IGRpZENsb3NlID0gdGhpcy5faW1wbGljaXRseUNsb3NlVGFnTmFtZXNJbnNpZGVQ
YXJlbnRUYWdOYW1lcyhbInRib2R5Il0sIFsidGFibGUiXSk7CisgICAgICAgICAgICBpZiAoIWRp
ZENsb3NlKQorICAgICAgICAgICAgICAgIGRpZENsb3NlID0gdGhpcy5faW1wbGljaXRseUNsb3Nl
VGFnTmFtZXNJbnNpZGVQYXJlbnRUYWdOYW1lcyhbInRyIl0sIFsidGFibGUiXSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlICJjb2xncm91cCI6CisgICAgICAg
ICAgICB0aGlzLl9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsi
Y29sZ3JvdXAiXSwgWyJ0YWJsZSJdKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8v
IE5vZGVzIHRoYXQgaW1wbGljaXRseSBjbG9zZSBhIDxwPi4gTm9ybWFsbHkgdGhpcyBpcyBvbmx5
IGluIDxib2R5PiBidXQgd2Ugc2ltcGxpZnkgdG8gYWx3YXlzLgorICAgICAgICAvLyBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9wYXJzaW5nLmh0bWwjcGFyc2luZy1tYWlu
LWluYm9keQorICAgICAgICBjYXNlICJhZGRyZXNzIjoKKyAgICAgICAgY2FzZSAiYXJ0aWNsZSI6
CisgICAgICAgIGNhc2UgImFzaWRlIjoKKyAgICAgICAgY2FzZSAiYmxvY2txdW90ZSI6CisgICAg
ICAgIGNhc2UgImNlbnRlciI6CisgICAgICAgIGNhc2UgImRldGFpbHMiOgorICAgICAgICBjYXNl
ICJkaWFsb2ciOgorICAgICAgICBjYXNlICJkaXIiOgorICAgICAgICBjYXNlICJkaXYiOgorICAg
ICAgICBjYXNlICJkbCI6CisgICAgICAgIGNhc2UgImZpZWxkc2V0IjoKKyAgICAgICAgY2FzZSAi
ZmlnY2FwdGlvbiI6CisgICAgICAgIGNhc2UgImZpZ3VyZSI6CisgICAgICAgIGNhc2UgImZvb3Rl
ciI6CisgICAgICAgIGNhc2UgImZvcm0iOgorICAgICAgICBjYXNlICJoMSI6CisgICAgICAgIGNh
c2UgImgyIjoKKyAgICAgICAgY2FzZSAiaDMiOgorICAgICAgICBjYXNlICJoNCI6CisgICAgICAg
IGNhc2UgImg1IjoKKyAgICAgICAgY2FzZSAiaDYiOgorICAgICAgICBjYXNlICJoZWFkZXIiOgor
ICAgICAgICBjYXNlICJoZ3JvdXAiOgorICAgICAgICBjYXNlICJociI6CisgICAgICAgIGNhc2Ug
Imxpc3RpbmciOgorICAgICAgICBjYXNlICJtYWluIjoKKyAgICAgICAgY2FzZSAibWVudSI6Cisg
ICAgICAgIGNhc2UgIm5hdiI6CisgICAgICAgIGNhc2UgIm9sIjoKKyAgICAgICAgY2FzZSAicCI6
CisgICAgICAgIGNhc2UgInBsYWludGV4dCI6CisgICAgICAgIGNhc2UgInByZSI6CisgICAgICAg
IGNhc2UgInNlY3Rpb24iOgorICAgICAgICBjYXNlICJzdW1tYXJ5IjoKKyAgICAgICAgY2FzZSAi
dGFibGUiOgorICAgICAgICBjYXNlICJ1bCI6CisgICAgICAgIGNhc2UgInhtcCI6CisgICAgICAg
ICAgICB0aGlzLl9pbXBsaWNpdGx5Q2xvc2VUYWdOYW1lc0luc2lkZVBhcmVudFRhZ05hbWVzKFsi
cCJdKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgX2ltcGxp
Y2l0bHlDbG9zZVRhZ05hbWVzSW5zaWRlUGFyZW50VGFnTmFtZXModGFnTmFtZXMsIGNvbnRhaW5l
clNjb3BlVGFnTmFtZXMpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5faXNY
TUwsICJJbXBsaWNpdGx5IGNsb3Npbmcgb25seSBoYXBwZW5zIGluIEhUTUwuIEFsc28sIG5hbWVz
IGFyZSBjb21wYXJlZCBjYXNlIGluc2Vuc2l0aXZlbHkgd2hpY2ggd291bGQgYmUgaW52YWxpZCBm
b3IgWE1MIik7CisKKyAgICAgICAgbGV0IGV4aXN0aW5nT3BlblRhZ0luZGV4ID0gdGhpcy5faW5k
ZXhPZlN0YWNrTm9kZU1hdGNoaW5nVGFnTmFtZXModGFnTmFtZXMpOworICAgICAgICBpZiAoZXhp
c3RpbmdPcGVuVGFnSW5kZXggPT09IC0xKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgIC8vIERpc2FsbG93IGltcGxpdGljbHkgY2xvc2luZyBiZXlvbmQgdGhlIGNvbnRhaW5l
ciB0YWcgYm91bmRhcnkuCisgICAgICAgIGlmIChjb250YWluZXJTY29wZVRhZ05hbWVzKSB7Cisg
ICAgICAgICAgICBmb3IgKGxldCBpID0gZXhpc3RpbmdPcGVuVGFnSW5kZXggKyAxOyBpIDwgdGhp
cy5fc3RhY2tPZk9wZW5FbGVtZW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGxl
dCBzdGFja05vZGUgPSB0aGlzLl9zdGFja09mT3BlbkVsZW1lbnRzW2ldOworICAgICAgICAgICAg
ICAgIGxldCBuYW1lID0gc3RhY2tOb2RlLmxvd2VyY2FzZU5hbWU7CisgICAgICAgICAgICAgICAg
aWYgKGNvbnRhaW5lclNjb3BlVGFnTmFtZXMuaW5jbHVkZXMobmFtZSkpCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IC8vIEltcGxpY2l0bHkgY2xvc2UgdGFncy4KKyAgICAgICAgbGV0IG5vZGVzVG9Qb3AgPSB0aGlz
Ll9zdGFja09mT3BlbkVsZW1lbnRzLmxlbmd0aCAtIGV4aXN0aW5nT3BlblRhZ0luZGV4OworICAg
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzVG9Qb3A7ICsraSkgeworICAgICAgICAgICAg
bGV0IGltcGxpY2l0bHlDbG9zaW5nTm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxlbWVudHMucG9w
KCk7CisgICAgICAgICAgICBpbXBsaWNpdGx5Q2xvc2luZ05vZGUuaW1wbGljaXRDbG9zZSA9IHRy
dWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBfaW5k
ZXhPZlN0YWNrTm9kZU1hdGNoaW5nVGFnTmFtZXModGFnTmFtZXMpCisgICAgeworICAgICAgICBm
b3IgKGxldCBpID0gdGhpcy5fc3RhY2tPZk9wZW5FbGVtZW50cy5sZW5ndGggLSAxOyBpID49IDA7
IC0taSkgeworICAgICAgICAgICAgbGV0IHN0YWNrTm9kZSA9IHRoaXMuX3N0YWNrT2ZPcGVuRWxl
bWVudHNbaV07CisgICAgICAgICAgICBsZXQgbmFtZSA9IHRoaXMuX2lzWE1MID8gc3RhY2tOb2Rl
Lm5hbWUgOiBzdGFja05vZGUubG93ZXJjYXNlTmFtZTsKKyAgICAgICAgICAgIGlmICh0YWdOYW1l
cy5pbmNsdWRlcyhuYW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAgfQor
CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKICAgICBfaXNFbXB0eU5vZGUocGFyc2VyTm9k
ZSwgbm9kZSkKICAgICB7CiAgICAgICAgIGlmIChwYXJzZXJOb2RlLmNsb3NlZCkK
</data>
<flag name="review"
          id="394540"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
      

    </bug>

</bugzilla>