<?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>44208</bug_id>
          
          <creation_ts>2010-08-18 15:32:51 -0700</creation_ts>
          <short_desc>Multi-character and some Unicode &lt;mi&gt;s italic in WebKit but not Firefox</short_desc>
          <delta_ts>2014-02-20 05:01:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://golem.ph.utexas.edu/category/2010/08/thermodynamics_and_wick_rotati.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>129097</blocked>
    
    <blocked>84019</blocked>
    
    <blocked>99623</blocked>
    
    <blocked>115789</blocked>
    
    <blocked>124838</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Randall Farmer">randall</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bunhere</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hyatt</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>sausset</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266421</commentid>
    <comment_count>0</comment_count>
    <who name="Randall Farmer">randall</who>
    <bug_when>2010-08-18 15:32:51 -0700</bug_when>
    <thetext>Firefox&apos;s behavior seems to be that if a &lt;mi&gt; contains two or more characters, it&apos;s rendered in normal rather than italic style and there&apos;s space around it, and if it&apos;s a single character, it&apos;s italicized and no space.

So, for example, &lt;mi&gt;unitless&lt;/mi&gt;&lt;mi&gt;parameterization&lt;/mi&gt; in the first table in the linked page appears as two non-italic words in Firefox and one italic word in WebKit.

(I&apos;m sorry in advance if some of these bugs are unhelpful or invalid according to the standard; I&apos;m just going through a page that heavily uses MathML and documenting what looks off.  And I absolutely love that WebKit is adding MathML support.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266431</commentid>
    <comment_count>1</comment_count>
    <who name="Randall Farmer">randall</who>
    <bug_when>2010-08-18 15:48:32 -0700</bug_when>
    <thetext>Firefox also seems to space and not slant some symbols, like blackboard bold letters.  The first math on the linked page is: &quot;q(s): ℝ→ℝ.&quot;  In Firefox, the blackbold bold R&apos;s are not slanted; in WebKit, they are.

Firefox may have a whitelist of single characters that it slants in &lt;mi&gt;; for example, it slanted &lt;mi&gt;Π&lt;/mi&gt; but not &lt;mi&gt;ü&lt;/mi&gt; when I put that text in Firebug.  I suppose the source, or some document or other, likely has the precise answer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273356</commentid>
    <comment_count>2</comment_count>
    <who name="François Sausset">sausset</who>
    <bug_when>2010-09-02 05:55:11 -0700</bug_when>
    <thetext>About italicized &lt;mi&gt; with more than one character: we were aware of that problem and I&apos;m currently working on it.

For slanted ℝ, thanks to report it.
I&apos;ll have a look at the MathML3 specification, but it seems natural that &quot;special&quot; characters shouldn&apos;t be italicized.

Every help (testing, bug reports, etc) is welcomed!
Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273365</commentid>
    <comment_count>3</comment_count>
    <who name="François Sausset">sausset</who>
    <bug_when>2010-09-02 06:14:58 -0700</bug_when>
    <thetext>Here is the MathML3 recommendation answer about special characters:
http://www.w3.org/TR/MathML3/chapter7.html#chars.BMP-SMP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884698</commentid>
    <comment_count>4</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2013-05-04 22:51:36 -0700</bug_when>
    <thetext>Yes, invariant characters should not be italicized:
https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols

See also bug 108778.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961397</commentid>
    <comment_count>5</comment_count>
      <attachid>219653</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2013-12-19 08:42:57 -0800</bug_when>
    <thetext>Created attachment 219653
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977320</commentid>
    <comment_count>6</comment_count>
      <attachid>223326</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-02-06 05:42:58 -0800</bug_when>
    <thetext>Created attachment 223326
Patch V1

This patch fixes the most important situation (testcase and referenced URL) with multi-char vs sing-char mi.

There are some known issues (cf tests):

- things like &lt;mi mathvariant=&quot;normal&quot;&gt;x&lt;/mi&gt; seems to produce the wrong spacing (or width?)
- some dynamically created content are not italicized

Since the WebKit&apos;s spacing is currently poor and since there are issues with dynamic updates, I think we can ignore these issues for now. Actually this is part of bug 124838 which prepares for the operator dictionary and further improvements ; so it might be worth taking this small piece and get feedback on it now rather than working on the big patch which seems to scare potential reviewers.

Note that instead of CSS style this should rather do some code point remapping inside the text rendering code. However, it&apos;s ok for now: Gecko has used that approximation for a long time (see https://bugzilla.mozilla.org/show_bug.cgi?id=114365 and https://bugzilla.mozilla.org/show_bug.cgi?id=930504) and MathJax does not implement mi/mathvariant properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977321</commentid>
    <comment_count>7</comment_count>
      <attachid>223327</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-02-06 05:46:29 -0800</bug_when>
    <thetext>Created attachment 223327
Patch V1

Sorry, wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977333</commentid>
    <comment_count>8</comment_count>
      <attachid>223331</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-02-06 07:00:11 -0800</bug_when>
    <thetext>Created attachment 223331
Patch V2

It looks like the changes to CMakelist.txt were lost when I extracted the code for &lt;mi&gt; from attachment 222977...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977368</commentid>
    <comment_count>9</comment_count>
      <attachid>223331</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:06:16 -0800</bug_when>
    <thetext>Comment on attachment 223331
Patch V2

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        This test prevents multi-char &lt;mi&gt; to be drawn in italic and prepare

can you explain what further improvements it prepares for

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.cpp:2
&gt; + * Copyright (C) 2013 FrÃ©dÃ©ric Wang (fred.wang@free.fr). All rights reserved.

2014

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.cpp:29
&gt; +#include &quot;RenderMathMLToken.h&quot;

i think this line goes right below config.h
it shouldn&apos;t need to be guarded by MATHML, since the header is also guarded by MATHML

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.cpp:65
&gt; +    m_text = element().textContent().stripWhiteSpace().simplifyWhiteSpace().impl();

Do you think we need to store m_text, or can a method always just return the right value, by doing

::text() {
return element().textContent().stripWhiteSpace().simplifyWhiteSpace().impl();;
}

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.cpp:75
&gt; +    if (tokenElement.hasTagName(MathMLNames::miTag)) {

You can probably use an early return here instead.

You might also want to assert that it has this tagName. It looks like this element is only created with a miTag

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.h:2
&gt; + * Copyright (C) 2010 FrÃ©dÃ©ric Wang (fred.wang@free.fr). All rights reserved.

2014

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.h:45
&gt; +    virtual bool isChildAllowed(const RenderObject&amp;, const RenderStyle&amp;) const override  { return true; };

extra space after &quot;override&quot;

&gt; Source/WebCore/rendering/mathml/RenderMathMLToken.h:51
&gt; +    String m_text;

Seems like m_text should be private. I don&apos;t see it referenced outside the .cpp file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977370</commentid>
    <comment_count>10</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-02-06 09:13:29 -0800</bug_when>
    <thetext>@Chris: this prepares for the cleanup of &lt;mo&gt; &amp; &lt;mfenced&gt; frames and implementation of the operator dictionary (see bug 124838 and bug 99620 and all the bugs they block) and especially I try to do a clean thing with anonymous styles (although I&apos;m not sure that&apos;s the case). I have only extracted the &lt;mi&gt; part, so that&apos;s why the class is called RenderMathMLToken and test &lt;mi&gt; and probably why I store m_text (because it was more convenient for &lt;mo&gt; IIRC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977427</commentid>
    <comment_count>11</comment_count>
      <attachid>223346</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-02-06 10:40:28 -0800</bug_when>
    <thetext>Created attachment 223346
Patch V3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977462</commentid>
    <comment_count>12</comment_count>
      <attachid>223346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 11:55:28 -0800</bug_when>
    <thetext>Comment on attachment 223346
Patch V3

Clearing flags on attachment: 223346

Committed r163553: &lt;http://trac.webkit.org/changeset/163553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977463</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 11:55:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>219653</attachid>
            <date>2013-12-19 08:42:57 -0800</date>
            <delta_ts>2013-12-19 08:42:57 -0800</delta_ts>
            <desc>testcase</desc>
            <filename>sin_x.html</filename>
            <type>text/html</type>
            <size>227</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPnNpbiB4PC90aXRsZT4K
ICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgPC9oZWFkPgogIDxib2R5PgoKICAgIDxwPiJz
aW4iIHNob3VsZCBub3QgYmUgaXRhbGljIDsgIngiIHNob3VsZCBiZSBpdGFsaWM6PC9wPgoKICAg
IDxtYXRoPjxtaT5zaW48L21pPjxtaT54PC9taT48L21hdGg+CgogIDwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223326</attachid>
            <date>2014-02-06 05:42:58 -0800</date>
            <delta_ts>2014-02-06 05:44:56 -0800</delta_ts>
            <desc>Patch V1</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>30782</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDkzOTczLi5hZjliM2M3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDIt
MDYgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5v
dCBkcmF3IG11bHRpLWNoYXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2luZ2xlLWNoYXIv
bXVsdGktY2hhciA8bWk+IGVsZW1lbnRzLCB0aGUgbWF0aHZhcmlhbnQKKyAgICAgICAgYXR0cmli
dXRlIGFuZCBNYXRoTUwgdG9rZW4gZWxlbWVudHMgZHluYW1pY2FsbHkgbW9kaWZpZWQuCisKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZh
cmlhbnQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMt
ZHluYW1pYy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQuaHRt
bDoKKwogMjAxNC0wMi0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxv
Y2soKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmli
dXRlcy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKaW5kZXggOTRmZDhi
NC4uMjAxMGNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9h
dHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKQEAg
LTE1LDEyICsxNSwyMSBAQAogICAgICAgICAgaW1wbGVtZW50YXRpb24gcmVsaWVzIG9uIENTUyBz
dHlsZSBpbnN0ZWFkLiBTZWUgYWxzbyBidWcgMTA4Nzc4LgogICAgICAgLS0+CiAgICAgPGRpdj4K
KyAgICAgIDwhLS0gRklYTUU6IHdlIGFkZCBuZXcgbGluZXMgdG8gd29ya2Fyb3VuZCBhIHdpZHRo
L3NwYWNpbmcgYnVnLiAtLT4KKyAgICAgIDxtYXRoPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZv
bnQtc3R5bGU6IG5vcm1hbDsiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8
bWF0aD4KKyAgICAgICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9tdGV4
dD4KKyAgICAgIDwvbWF0aD48YnIvPgogICAgICAgPG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0i
Zm9udC1zdHlsZTogbm9ybWFsOyI+QTwvbWk+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyI+QTwvbWk+CiAgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRh
bGljOyI+QTwvbXRleHQ+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXdlaWdodDogYm9sZDsiPkE8L21pPgotICAgICAgICA8bWkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgor
ICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5B
PC9tdGV4dD4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPkE8L210ZXh0
PgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQuaHRtbCBiL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCmluZGV4
IGMxZDE5ZjYuLjA1YTBhMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCkBAIC0xMSw5ICsxMSwx
NyBAQAogICAgIDxkaXY+CiAgICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJu
b3JtYWwiPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAg
PG1pPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAgPG10
ZXh0IG1hdGh2YXJpYW50PSJpdGFsaWMiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+Cisg
ICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJib2xkIj5BPC9taT4KKyAgICAg
IDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CiAgICAgICAgIDxtaSBtYXRodmFyaWFudD0iYm9s
ZC1pdGFsaWMiPkE8L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLWR5bmFtaWMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50
cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTJhMjc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0OCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlRva2VuIGVs
ZW1lbnRzIC0gZHluYW1pYyBjaGFuZ2VzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAjc3R5bGVkID4gbW8geyBj
b2xvcjogcmVkOyB9CisgICAgICAjc3R5bGVkID4gbWkgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAg
ICNzdHlsZWQgPiBtaSB+ICogeyBjb2xvcjogYmx1ZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisKKyAgICA8IS0tIFRlc3QgMSAtLT4KKyAgICA8cCBzdHlsZT0iZGlzcGxh
eTogbm9uZTsiPgorICAgICAgPG1hdGg+PG1pPnNpbjwvbWk+PG1pPng8L21pPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtaT5jb3M8L21pPjxtaT55PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+
dGFuPC9taT48bWk+ejwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICAgIDwhLS0gVGVzdCAyIC0t
PgorICAgIDxwPgorICAgICAgPG1hdGg+PG1uPjE8L21uPjxtbz4rPC9tbz48bW4+MjwvbW4+PG1v
PuKIkjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtbz4oPC9tbz48bXNxcnQ+
PG1mcmFjPjxtbj40PC9tbj48bW4+NTwvbW4+PC9tZnJhYz48L21zcXJ0Pjxtbz5dPC9tbz48L21h
dGg+CisgICAgICA8bWF0aD48bW8+KzwvbW8+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8
L21uPjxtbj43PC9tbj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+
PC9tZnJhYz48L21hdGg+CisgICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDMgLS0+CisgICAgPHA+
CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlhbnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAg
IDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRhbGljIj5zaW48L21pPjwvbWF0aD4KKyAgICAgIDxt
YXRoPjxtaT54PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+Cisg
ICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDQgLS0+CisgICAgPHA+CisgICAgICA8bWF0aD48bW8g
c3RyZXRjaHk9ImZhbHNlIj57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+NzwvbW4+
PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+PC9tYXRo
PgorICAgICAgPG1hdGg+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8L21uPjxtbj43PC9t
bj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+PC9tZnJhYz48L21h
dGg+CisgICAgPC9wPgorICAgIAorICAgIDwhLS0gVGVzdCA1IC0tPgorICAgIDxwPgorICAgICAg
PG1hdGggaWQ9InN0eWxlZCI+PG1vPi08L21vPjxtaT5zaW48L21pPjxtaT54PC9taT48L21hdGg+
CisgICAgPC9wPgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NTVhMzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+VG9rZW4gZWxlbWVudHMgLSBkeW5hbWljIGNoYW5nZXM8L3RpdGxlPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgICNzdHlsZWQgPiBtbyB7IGNvbG9yOiByZWQ7IH0KKyAgICAgICNzdHlsZWQgPiBtaSB7IGNv
bG9yOiBncmVlbjsgfQorICAgICAgI3N0eWxlZCA+IG1pIH4gKiB7IGNvbG9yOiBibHVlOyB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBm
dW5jdGlvbiBuZXdUZXh0KHQpCisgICAgICB7CisgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh0KTsgCisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAg
eworICAgICAgICB2YXIgbWkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWkiKTsK
KyAgICAgICAgdmFyIG1vID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1vIik7CisK
KyAgICAgICAgLy8gVGVzdCAxCisgICAgICAgIG1pWzBdLnRleHRDb250ZW50ID0gInNpbiI7Cisg
ICAgICAgIG1pWzFdLnRleHRDb250ZW50ID0gIngiOworICAgICAgICBtaVsyXS5hcHBlbmRDaGls
ZChuZXdUZXh0KCJjb3MiKSk7CisgICAgICAgIG1pWzNdLmFwcGVuZENoaWxkKG5ld1RleHQoInki
KSk7CisgICAgICAgIG1pWzRdLnRleHRDb250ZW50ID0gImEiOworICAgICAgICBtaVs0XS5pbnNl
cnRCZWZvcmUobmV3VGV4dCgidCIpLCBtaVs0XS5maXJzdENoaWxkKTsKKyAgICAgICAgbWlbNF0u
YXBwZW5kQ2hpbGQobmV3VGV4dCgibiIpKTsKKyAgICAgICAgbWlbNV0uYXBwZW5kQ2hpbGQobmV3
VGV4dCgib28iKSk7CisgICAgICAgIG1pWzVdLmluc2VydEJlZm9yZShuZXdUZXh0KCJ6IiksIG1p
WzVdLmZpcnN0Q2hpbGQpOworICAgICAgICBtaVs1XS5yZW1vdmVDaGlsZChtaVs1XS5sYXN0Q2hp
bGQpOworCisgICAgICAgIC8vIFRlc3QgMgorICAgICAgICBtb1swXS50ZXh0Q29udGVudCA9ICIr
IjsKKyAgICAgICAgbW9bMV0uYXBwZW5kQ2hpbGQobmV3VGV4dCgiLSIpKTsKKyAgICAgICAgbW9b
Ml0udGV4dENvbnRlbnQgPSAiKCI7CisgICAgICAgIG1vWzNdLmFwcGVuZENoaWxkKG5ld1RleHQo
Il0iKSk7CisgICAgICAgIG1vWzRdLmFwcGVuZENoaWxkKG5ld1RleHQoIi0iKSk7CisgICAgICAg
IG1vWzRdLmluc2VydEJlZm9yZShuZXdUZXh0KCIrIiksIG1vWzRdLmZpcnN0Q2hpbGQpOworICAg
ICAgICBtb1s0XS5yZW1vdmVDaGlsZChtb1s0XS5sYXN0Q2hpbGQpOworICAgICAgICBtb1s1XS5h
cHBlbmRDaGlsZChuZXdUZXh0KCJ8IikpOworICAgICAgICBtb1s1XS5hcHBlbmRDaGlsZChuZXdU
ZXh0KCJ7IikpOworICAgICAgICBtb1s1XS5yZW1vdmVDaGlsZChtb1s1XS5maXJzdENoaWxkKTsK
KworICAgICAgICAvLyBUZXN0IDMKKyAgICAgICAgbWlbNl0uc2V0QXR0cmlidXRlKCJtYXRodmFy
aWFudCIsICJib2xkIik7CisgICAgICAgIG1pWzddLnNldEF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
LCAiaXRhbGljIik7CisgICAgICAgIG1pWzhdLnJlbW92ZUF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
KTsKKyAgICAgICAgbWlbOV0ucmVtb3ZlQXR0cmlidXRlKCJtYXRodmFyaWFudCIpOworCisgICAg
ICAgIC8vIFRlc3QgNAorICAgICAgICBtb1s2XS5zZXRBdHRyaWJ1dGUoInN0cmV0Y2h5IiwgImZh
bHNlIik7CisgICAgICAgIG1vWzddLnJlbW92ZUF0dHJpYnV0ZSgic3RyZXRjaHkiKTsKKworICAg
ICAgICAvLyBUZXN0IDUKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVuc3R5bGVk
Iikuc2V0QXR0cmlidXRlKCJpZCIsICJzdHlsZWQiKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKyAgICA8IS0tIFRoZXNlIHRl
c3RzIHBlcmZvcm0gZHluYW1pYyBjaGFuZ2VzIG9uIG1pIGFuZCBtbyB0b2tlbiBlbGVtZW50cy4g
VGhleSBzaG91bGQgcmVuZGVyIHRoZSBzYW1lIGFzIHRoZSBzdGF0aWMgcmVmZXJlbmNlLiAtLT4K
KworICAgIDwhLS0gVGVzdCAxIC0tPgorICAgIDwhLS0gRklYTUU6IHNpbmdsZS1jaGFyIDxtaT4g
c2hvdWxkIGJlIGl0YWxpYy4gLS0+CisgICAgPHAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KKyAg
ICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21p
PjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4K
KyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgMiAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxt
bj4xPC9tbj48bW8+PC9tbz48bW4+MjwvbW4+PG1vPjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtbz48L21vPjxtc3FydD48bWZyYWM+PG1uPjQ8L21uPjxtbj41PC9tbj48L21m
cmFjPjwvbXNxcnQ+PG1vPjwvbW8+PC9tYXRoPgorICAgICAgPG1hdGg+PG1vPjwvbW8+PG1vPjwv
bW8+PG1mcmFjPjxtZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44
PC9tbj48bW4+OTwvbW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8
IS0tIFRlc3QgMyAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxtaT54PC9taT48L21hdGg+Cisg
ICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlh
bnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRh
bGljIj5zaW48L21pPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgNCAtLT4KKyAg
ICA8cD4KKyAgICAgIDxtYXRoPjxtbz57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+
NzwvbW4+PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+
PC9tYXRoPgorICAgICAgPG1hdGg+PG1vIHN0cmV0Y2h5PSJmYWxzZSI+ezwvbW8+PG1mcmFjPjxt
ZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44PC9tbj48bW4+OTwv
bW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+ICAgIAorCisgICAgPCEtLSBUZXN0
IDUgLS0+CisgICAgPHA+CisgICAgICA8bWF0aCBpZD0idW5zdHlsZWQiPjxtbz4tPC9tbz48bWk+
c2luPC9taT48bWk+eDwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVu
dHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCmluZGV4IDU1NDBh
MmMuLjM1M2ZmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24v
dG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5o
dG1sCkBAIC0xMSwxMSArMTEsMTcgQEAKICAgICAgICAgPG1vIHN0eWxlPSJmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4mI3gyMjA3OzwvbW8+CiAgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyI+dGV4dDwv
bXRleHQ+CiAgICAgICAgIDxtcyBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo
dDogbm9ybWFsOyI+JmFtcDs8L21zPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZvbnQtc3R5bGU6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnNpbjwvbXRleHQ+CiAgICAgICA8L21hdGg+
CiAgICAgPC9wPgotICAgIDxwPkZvbGxvd2luZyBlbGVtZW50IHNob3VsZCBiZSBpbiBpdGFsaWM6
IAorICAgIDxwPkZvbGxvd2luZyBlbGVtZW50cyBzaG91bGQgYmUgaW4gaXRhbGljOgogICAgICAg
PG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+eDwvbWk+Cisg
ICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogbm9y
bWFsOyI+eDwvbXRleHQ+CisgICAgICA8L21hdGg+PGJyLz4KKyAgICAgIDxtYXRoPgorICAgICAg
ICA8IS0tIEZJWE1FOiB0aGUgd2hpdGVzcGFjZSBzaG91bGQgYmUgcmVtb3ZlZCBpbiB0aGUgcmVm
ZXJlbmNlIHdoZW4KKyAgICAgICAgICAgICBidWcgMTI1NjI4IGlzIGZpeGVkLiAtLT4KKyAgICAg
ICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9tdGV4dD4KICAg
ICAgIDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC5odG1sIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0
bWwKaW5kZXggYTc1Y2JlZi4uZDJjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwK
QEAgLTExLDExICsxMSwxNiBAQAogICAgICAgICA8bW8+JiN4MjIwNzs8L21vPgogICAgICAgICA8
bXRleHQ+dGV4dDwvbXRleHQ+CiAgICAgICAgIDxtcz4mYW1wOzwvbXM+CisgICAgICAgIDxtaT5z
aW48L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvcD4KLSAgICA8cD5Gb2xsb3dpbmcgZWxlbWVu
dCBzaG91bGQgYmUgaW4gaXRhbGljOiAKKyAgICA8cD5Gb2xsb3dpbmcgZWxlbWVudHMgc2hvdWxk
IGJlIGluIGl0YWxpYzogCisgICAgICA8IS0tIEZJWE1FOiB3ZSBhZGQgYSBuZXcgbGluZSB0byB3
b3JrYXJvdW5kIGEgd2lkdGgvc3BhY2luZyBidWcuIC0tPgogICAgICAgPG1hdGg+CiAgICAgICAg
IDxtaT54PC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxt
aT4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9taT4KICAgICAg
IDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYmUyNWYxLi45ZDVj
NTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTQtMDItMDYgIEZyw6lkw6lyaWMg
V2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5vdCBkcmF3IG11bHRpLWNo
YXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgdGVzdCBwcmV2ZW50cyBtdWx0aS1jaGFyIDxtaT4gdG8gYmUg
ZHJhd24gaW4gaXRhbGljIGFuZCBwcmVwYXJlCisgICAgICAgIGZ1cnRoZXIgaW1wcm92ZW1lbnRz
LgorCisgICAgICAgIFRlc3Q6IG1hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5h
bWljLmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9tYXRobWwuY3NzOgorICAgICAgICAobWksIG1v
LCBtcm93LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1YnN1cCwgbW11bHRpc2NyaXB0
cywgbXByZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11bmRlcm92ZXIsIG1zcXJ0LCBt
cm9vdCwgbWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9zZSk6CisgICAgICAgICogbWF0
aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRleHRF
bGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4
dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzUmVuZGVyTWF0
aE1MVG9rZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjpSZW5kZXJN
YXRoTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6YWRkQ2hp
bGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OmNyZWF0ZVdyYXBwZXJJ
Zk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6dXBkYXRlVG9r
ZW5Db250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6c3R5bGVEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZUZyb21FbGVt
ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OmVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW4+KToKKwogMjAxNC0wMi0wNCAgTWlobmVh
IE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVE
OiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxvY2soKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IDVlNWYyZjcuLjAyOGFjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNDUzMSw2ICs0NTMxLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVy
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRl
ck92ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Cb3hTaGFwZS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggZTRkYjNjNy4uYmNjMzFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMTIxMyw2ICsxMTIxMyw3IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNwYWNlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdc
bWF0aG1sXFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tlbi5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFVuZGVyT3Zl
ci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcQmFz
aWNTaGFwZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0
eWxlXENvbnRlbnREYXRhLmNwcCI+CkBAIC0xOTkwNCw2ICsxOTkwNSw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNwYWNlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xt
YXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tlbi5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xzdHlsZVxCYXNpY1NoYXBl
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0eWxlXEJvcmRl
ckRhdGEuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjMGEwNjExLi5lZWY3OGE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCkBAIC0yNzQ1LDYgKzI3NDUsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCI+CiAgICAgICA8RmlsdGVyPnJl
bmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVG9rZW4uY3BwIj4KKyAg
ICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxV
bmRlck92ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgpAQCAtOTU5MCw2ICs5NTkzLDkgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5oIj4KICAgICAg
IDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tl
bi5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgorICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5k
ZXJNYXRoTUxVbmRlck92ZXIuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOWE2MWQ1Li43ZTUzY2U5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDU0
LDYgKzE0NTQsOCBAQAogCQk0MzkwNDZFNjEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDM5MDQ2RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCAq
LzsgfTsKIAkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2
RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwICovOyB9OwogCQk0
MzkwNDZFODEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2RDQxMkRBMjVFODAw
QUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuaCAqLzsgfTsKKwkJNDM5MDQ2RUIxMkRBMjVF
ODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ3MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5k
ZXJNYXRoTUxUb2tlbi5jcHAgKi87IH07CisJCTQzOTA0NkVDMTJEQTI1RTgwMEFGODBBOSAvKiBS
ZW5kZXJNYXRoTUxUb2tlbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmgg
Ki87IH07CiAJCTQzOTA0NkU5MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5
MDQ2RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgKi87IH07
CiAJCTQzOTA0NkVBMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ2MTJE
QTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCAqLzsgfTsKIAkJNDM5RDMz
NDMxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5RDMzNDAxM0E2OTExQzAwQzIwRjRGIC8q
IFNWR0FuaW1hdGVkVHlwZS5oICovOyB9OwpAQCAtODMxNyw2ICs4MzE5LDggQEAKIAkJNDM5MDQ2
RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oOyBwYXRoID0g
bWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM5MDQ2RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVuZGVyTWF0aE1MU2NyaXB0
cy5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkQ0MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRo
TUxTY3JpcHRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbmRlck1hdGhN
TFNjcmlwdHMuaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzOTA0NkQ3MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJN
YXRoTUxUb2tlbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW5k
ZXJNYXRoTUxUb2tlbi5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzkwNDZEODEyREEyNUU4MDBBRjgwQTkgLyog
UmVuZGVyTWF0aE1MVG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVu
ZGVyTWF0aE1MVG9rZW4uaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZENTEyREEyNUU4MDBBRjgwQTIgLyogUmVu
ZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1M
VW5kZXJPdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2RDYxMkRB
MjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaDsgcGF0aCA9IG1hdGhtbC9S
ZW5kZXJNYXRoTUxVbmRlck92ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5
RDMzNDAxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE1MjUzLDYgKzE1MjU3LDggQEAKIAkJCQk0MzkwNDZEMjEyREEyNUU4MDBB
RjgwQTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oICovLAogCQkJCTQzOTA0NkQzMTJEQTI1
RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCAqLywKIAkJCQk0MzkwNDZENDEy
REEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5oICovLAorCQkJCTQzOTA0NkQ3
MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgKi8sCisJCQkJNDM5MDQ2
RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmggKi8sCiAJCQkJNDM5MDQ2
RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgKi8sCiAJCQkJ
NDM5MDQ2RDYxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5oICovLAog
CQkJKTsKQEAgLTI0OTcxLDYgKzI0OTc3LDcgQEAKIAkJCQk0MzkwNDZFNjEyREEyNUU4MDBBRjgw
QTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4MzIy
ODUxODAxM0VEODAwOTk5RTBDIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQzOTA0NkU4MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MzkwNDZFQzEyREEyNUU4MDBBRjgwQTkgLyogUmVuZGVy
TWF0aE1MVG9rZW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTA0NkVBMTJEQTI1RTgwMEFGODBB
MiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QzI3OTU5
MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREVC
Q0NERDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4g
SGVhZGVycyAqLywKQEAgLTI4MzE5LDYgKzI4MzI2LDcgQEAKIAkJCQk1QjdBMjA4RDJFMTI5NzlC
NEFFMTlERTYgLyogUmVuZGVyTWF0aE1MU3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDM5
MDQ2RTUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNj
cmlwdHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDM5MDQ2RUIxMkRBMjVFODAwQUY4MEE5IC8q
IFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzOTA0NkU5MTJEQTI1
RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTRDMjc5NTgwQ0Y5NzQxOTAwRTk3Qjk4IC8qIFJlbmRlck1lZGlhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCURFNDlCMzA5MTY1RjJGRTEwMDEwMzM4RCAvKiBSZW5kZXJNZWRpYUNvbnRyb2xF
bGVtZW50cy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9tYXRobWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKaW5kZXggMjJkNmI2
MS4uZDNhMmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKQEAgLTQyLDcgKzQyLDcgQEAgbWF0aFtk
aXNwbGF5PSJibG9jayJdIHsKICAgICAtd2Via2l0LW1hcmdpbi1hZnRlcjogMWVtOwogfQogCi1t
bywgbXJvdywgbWZlbmNlZCwgbWZyYWMsIG1zdWIsIG1zdXAsIG1zdWJzdXAsIG1tdWx0aXNjcmlw
dHMsIG1wcmVzY3JpcHRzLCBub25lLCBtdW5kZXIsIG1vdmVyLCBtdW5kZXJvdmVyLCBtc3FydCwg
bXJvb3QsIG1lcnJvciwgbXBoYW50b20sIG1zdHlsZSwgbWVuY2xvc2UgeworbWksIG1vLCBtcm93
LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1YnN1cCwgbW11bHRpc2NyaXB0cywgbXBy
ZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11bmRlcm92ZXIsIG1zcXJ0LCBtcm9vdCwg
bWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9zZSB7CiAgICAgZGlzcGxheTogLXdlYmtp
dC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogfQogCkBAIC05Niw3ICs5Niw2IEBAIG1zdWIgPiAq
ICsgKiwgbXN1cCA+ICogKyAqLCBtc3Vic3VwID4gKiArICosIG1tdWx0aXNjcmlwdHMgPiAqICsg
KiwgbXVuZGVyID4gKiArCiB9CiAKIG1pIHsKLSAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAg
LXdlYmtpdC1wYWRkaW5nLWVuZDogMC4xZW07CiB9CiBtc3ViID4gbWk6Zmlyc3QtY2hpbGQsIG1z
dWJzdXAgPiBtaTpmaXJzdC1jaGlsZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRl
eHRFbGVtZW50LmNwcAppbmRleCA0ZjE3YjZjLi4zM2VjMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJNYXRoTUxOYW1lcy5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTE9wZXJhdG9yLmgiCiAjaW5j
bHVkZSAiUmVuZGVyTWF0aE1MU3BhY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxUb2tlbi5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCkBAIC01MiwyMSArNTMsMzEgQEAgUGFzc1Jl
ZlB0cjxNYXRoTUxUZXh0RWxlbWVudD4gTWF0aE1MVGV4dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWcKIHZvaWQgTWF0aE1MVGV4dEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRl
cmVycygpCiB7CiAgICAgTWF0aE1MRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAg
aWYgKHJlbmRlcmVyKCkpCisgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgIGlmIChyZW5kZXJl
cigpLT5pc1JlbmRlck1hdGhNTFRva2VuKCkpCisgICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4o
cmVuZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgICAgZWxzZQogICAgICAgICBy
ZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0KIAogdm9pZCBNYXRoTUxU
ZXh0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7
CiAgICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7Ci0gICAgaWYgKHJl
bmRlcmVyKCkpCisgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgIGlmIChyZW5kZXJlcigpLT5p
c1JlbmRlck1hdGhNTFRva2VuKCkpCisgICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4ocmVuZGVy
ZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgICAgZWxzZQogICAgICAgICByZW5kZXJl
cigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0KIAogUmVuZGVyUHRyPFJlbmRlckVs
ZW1lbnQ+IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxS
ZW5kZXJTdHlsZT4gc3R5bGUpCiB7CiAgICAgaWYgKGhhc0xvY2FsTmFtZShNYXRoTUxOYW1lczo6
bW9UYWcpKQogICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MT3BlcmF0
b3I+KCp0aGlzLCBzdGQ6Om1vdmUoc3R5bGUpKTsKKyAgICBpZiAoaGFzTG9jYWxOYW1lKE1hdGhN
TE5hbWVzOjptaVRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRo
TUxUb2tlbj4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNMb2NhbE5hbWUo
TWF0aE1MTmFtZXM6Om1zcGFjZVRhZykpCiAgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxS
ZW5kZXJNYXRoTUxTcGFjZT4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYTY5ZWY4Mi4uZjQ5MmU1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNDE2LDYgKzQxNiw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTcXVhcmVSb290KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTY3JpcHRz
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRo
TUxTY3JpcHRzV3JhcHBlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBi
b29sIGlzUmVuZGVyTWF0aE1MVG9rZW4oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1JlbmRlck1hdGhNTFVuZGVyT3ZlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4zNDlhN2M2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKQEAgLTAsMCArMSwx
MDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgRnLDqWTDqXJpYyBXYW5nIChmcmVkLndh
bmdAZnJlZS5mcikuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIlJlbmRl
ck1hdGhNTFRva2VuLmgiCisKKyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworUmVuZGVyTWF0aE1M
VG9rZW46OlJlbmRlck1hdGhNTFRva2VuKEVsZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVuZGVy
U3R5bGU+IHN0eWxlKQorICAgIDogUmVuZGVyTWF0aE1MQmxvY2soZWxlbWVudCwgc3RkOjptb3Zl
KHN0eWxlKSkKK3sKK30KKworUmVuZGVyTWF0aE1MVG9rZW46OlJlbmRlck1hdGhNTFRva2VuKERv
Y3VtZW50JiBkb2N1bWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUpCisgICAgOiBSZW5k
ZXJNYXRoTUxCbG9jayhkb2N1bWVudCwgc3RkOjptb3ZlKHN0eWxlKSkKK3sKK30KKwordm9pZCBS
ZW5kZXJNYXRoTUxUb2tlbjo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBjcmVhdGVXcmFwcGVySWZOZWVkZWQoKTsKKyAg
ICB0b1JlbmRlckVsZW1lbnQoZmlyc3RDaGlsZCgpKS0+YWRkQ2hpbGQobmV3Q2hpbGQsIGJlZm9y
ZUNoaWxkKTsKK30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6Y3JlYXRlV3JhcHBlcklmTmVl
ZGVkKCkKK3sKKyAgICBpZiAoIWZpcnN0Q2hpbGQoKSkgeworICAgICAgICBSZW5kZXJQdHI8UmVu
ZGVyTWF0aE1MQmxvY2s+IHdyYXBwZXIgPSBjcmVhdGVBbm9ueW1vdXNNYXRoTUxCbG9jaygpOwor
ICAgICAgICAvLyBUaGlzIGNvbnRhaW5lciBkb2Vzbid0IG9mZmVyIGFueSB1c2VmdWwgaW5mb3Jt
YXRpb24gdG8gYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgd3JhcHBlci0+c2V0SWdub3JlSW5BY2Nl
c3NpYmlsaXR5VHJlZSh0cnVlKTsKKyAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2s6OmFkZENoaWxk
KHdyYXBwZXIubGVha1B0cigpKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46
OnVwZGF0ZVRva2VuQ29udGVudCgpCit7CisgICAgbV90ZXh0ID0gZWxlbWVudCgpLnRleHRDb250
ZW50KCkuc3RyaXBXaGl0ZVNwYWNlKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCkuaW1wbCgpOworICAg
IGlmICghaXNFbXB0eSgpKQorICAgICAgICB1cGRhdGVTdHlsZSgpOworICAgIHNldE5lZWRzTGF5
b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworfQorCit2b2lkIFJlbmRlck1hdGhNTFRva2VuOjp1
cGRhdGVTdHlsZSgpCit7CisgICAgY29uc3QgYXV0byYgdG9rZW5FbGVtZW50ID0gZWxlbWVudCgp
OworCisgICAgaWYgKHRva2VuRWxlbWVudC5oYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptaVRhZykp
IHsKKyAgICAgICAgLy8gVGhpcyB0cmllcyB0byBlbXVsYXRlIHRoZSBkZWZhdWx0IG1hdGh2YXJp
YW50IHZhbHVlIG9uIDxtaT4gdXNpbmcgdGhlIENTUyBmb250LXN0eWxlIHByb3BlcnR5LgorICAg
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmV2aXNlZCB3aGVuIG1hdGh2YXJpYW50IGlz
IGltcGxlbWVudGVkIChodHRwOi8vd2tidWcvODU3MzUpIGFuZCB3aGVuIGZvbnRzIHdpdGggTWF0
aGVtYXRpY2FsIEFscGhhbnVtZXJpYyBTeW1ib2xzIGNoYXJhY3RlcnMgYXJlIG1vcmUgcG9wdWxh
ci4KKyAgICAgICAgY29uc3QgYXV0byYgd3JhcHBlciA9IHRvUmVuZGVyRWxlbWVudChmaXJzdENo
aWxkKCkpOworICAgICAgICBhdXRvIG5ld1N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255
bW91c1N0eWxlV2l0aERpc3BsYXkoJnN0eWxlKCksIEZMRVgpOworICAgICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uKG5ld1N0eWxlLmdldCgpLmZvbnREZXNjcmlwdGlvbigpKTsK
KyAgICAgICAgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IgPSBuZXdTdHlsZS5nZXQoKS5mb250
KCkuZm9udFNlbGVjdG9yKCk7CisgICAgICAgIGlmIChtX3RleHQubGVuZ3RoKCkgPT0gMSAmJiAh
dG9rZW5FbGVtZW50Lmhhc0F0dHJpYnV0ZShtYXRodmFyaWFudEF0dHIpKQorICAgICAgICAgICAg
Zm9udERlc2NyaXB0aW9uLnNldEl0YWxpYyh0cnVlKTsKKyAgICAgICAgaWYgKG5ld1N0eWxlLmdl
dCgpLnNldEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pKQorICAgICAgICAgICAgbmV3
U3R5bGUuZ2V0KCkuZm9udCgpLnVwZGF0ZShmb250U2VsZWN0b3IpOworICAgICAgICB3cmFwcGVy
LT5zZXRTdHlsZShzdGQ6Om1vdmUobmV3U3R5bGUpKTsKKyAgICAgICAgd3JhcHBlci0+c2V0TmVl
ZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgfQorfQorCit2b2lkIFJlbmRlck1h
dGhNTFRva2VuOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlKQoreworICAgIFJlbmRlck1hdGhNTEJsb2NrOjpzdHlsZURpZENo
YW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgaWYgKCFpc0VtcHR5KCkpCisgICAgICAgIHVwZGF0
ZVN0eWxlKCk7Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZUZyb21FbGVtZW50
KCkKK3sKKyAgICBSZW5kZXJNYXRoTUxCbG9jazo6dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICBp
ZiAoIWlzRW1wdHkoKSkKKyAgICAgICAgdXBkYXRlU3R5bGUoKTsKK30KKworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MVG9rZW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hNmEwY2UyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgRnLDqWTDqXJpYyBXYW5nIChmcmVkLndhbmdAZnJlZS5mcikuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbmRlck1hdGhNTFRv
a2VuX2gKKyNkZWZpbmUgUmVuZGVyTWF0aE1MVG9rZW5faAorCisjaWYgRU5BQkxFKE1BVEhNTCkK
KworI2luY2x1ZGUgIk1hdGhNTFRleHRFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1M
QmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKK2NsYXNzIFJlbmRlck1hdGhNTFRva2VuIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2Nr
IHsKK3B1YmxpYzoKKyAgICBSZW5kZXJNYXRoTUxUb2tlbihFbGVtZW50JiwgUGFzc1JlZjxSZW5k
ZXJTdHlsZT4pOworICAgIFJlbmRlck1hdGhNTFRva2VuKERvY3VtZW50JiwgUGFzc1JlZjxSZW5k
ZXJTdHlsZT4pOworCisgICAgTWF0aE1MVGV4dEVsZW1lbnQmIGVsZW1lbnQoKSB7IHJldHVybiBz
dGF0aWNfY2FzdDxNYXRoTUxUZXh0RWxlbWVudCY+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7IH0K
KworICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlck1hdGhNTFRva2VuKCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0NoaWxkQWxsb3dlZChj
b25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlICB7
IHJldHVybiB0cnVlOyB9OworICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3Qq
IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKSBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlVG9rZW5Db250ZW50KCk7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNy
ZWF0ZVdyYXBwZXJJZk5lZWRlZCgpOworICAgIFN0cmluZyBtX3RleHQ7CisKK3ByaXZhdGU6Cisg
ICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gaXNBbm9ueW1vdXMoKSA/ICJSZW5kZXJNYXRoTUxUb2tlbiAoYW5vbnltb3VzKSIgOiAiUmVu
ZGVyTWF0aE1MVG9rZW4iOyB9CisgICAgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0
IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZVN0eWxlKCk7Cit9OworCit0ZW1wbGF0ZTw+IGlubGluZSBib29sIGlzUmVuZGVyZXJPZlR5cGU8
Y29uc3QgUmVuZGVyTWF0aE1MVG9rZW4+KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIpIHsg
cmV0dXJuIHJlbmRlcmVyLmlzUmVuZGVyTWF0aE1MVG9rZW4oKTsgfQorUkVOREVSX09CSkVDVF9U
WVBFX0NBU1RTKFJlbmRlck1hdGhNTFRva2VuLCBpc1JlbmRlck1hdGhNTFRva2VuKCkpCisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCisjZW5kaWYgLy8gUmVuZGVyTWF0aE1MVG9rZW5f
aAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223327</attachid>
            <date>2014-02-06 05:46:29 -0800</date>
            <delta_ts>2014-02-06 07:00:11 -0800</delta_ts>
            <desc>Patch V1</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>30890</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDkzOTczLi5hZjliM2M3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDIt
MDYgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5v
dCBkcmF3IG11bHRpLWNoYXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2luZ2xlLWNoYXIv
bXVsdGktY2hhciA8bWk+IGVsZW1lbnRzLCB0aGUgbWF0aHZhcmlhbnQKKyAgICAgICAgYXR0cmli
dXRlIGFuZCBNYXRoTUwgdG9rZW4gZWxlbWVudHMgZHluYW1pY2FsbHkgbW9kaWZpZWQuCisKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZh
cmlhbnQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMt
ZHluYW1pYy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQuaHRt
bDoKKwogMjAxNC0wMi0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxv
Y2soKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmli
dXRlcy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKaW5kZXggOTRmZDhi
NC4uMjAxMGNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9h
dHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKQEAg
LTE1LDEyICsxNSwyMSBAQAogICAgICAgICAgaW1wbGVtZW50YXRpb24gcmVsaWVzIG9uIENTUyBz
dHlsZSBpbnN0ZWFkLiBTZWUgYWxzbyBidWcgMTA4Nzc4LgogICAgICAgLS0+CiAgICAgPGRpdj4K
KyAgICAgIDwhLS0gRklYTUU6IHdlIGFkZCBuZXcgbGluZXMgdG8gd29ya2Fyb3VuZCBhIHdpZHRo
L3NwYWNpbmcgYnVnLiAtLT4KKyAgICAgIDxtYXRoPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZv
bnQtc3R5bGU6IG5vcm1hbDsiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8
bWF0aD4KKyAgICAgICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9tdGV4
dD4KKyAgICAgIDwvbWF0aD48YnIvPgogICAgICAgPG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0i
Zm9udC1zdHlsZTogbm9ybWFsOyI+QTwvbWk+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyI+QTwvbWk+CiAgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRh
bGljOyI+QTwvbXRleHQ+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXdlaWdodDogYm9sZDsiPkE8L21pPgotICAgICAgICA8bWkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgor
ICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5B
PC9tdGV4dD4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPkE8L210ZXh0
PgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQuaHRtbCBiL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCmluZGV4
IGMxZDE5ZjYuLjA1YTBhMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCkBAIC0xMSw5ICsxMSwx
NyBAQAogICAgIDxkaXY+CiAgICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJu
b3JtYWwiPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAg
PG1pPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAgPG10
ZXh0IG1hdGh2YXJpYW50PSJpdGFsaWMiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+Cisg
ICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJib2xkIj5BPC9taT4KKyAgICAg
IDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CiAgICAgICAgIDxtaSBtYXRodmFyaWFudD0iYm9s
ZC1pdGFsaWMiPkE8L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLWR5bmFtaWMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50
cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTJhMjc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0OCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlRva2VuIGVs
ZW1lbnRzIC0gZHluYW1pYyBjaGFuZ2VzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAjc3R5bGVkID4gbW8geyBj
b2xvcjogcmVkOyB9CisgICAgICAjc3R5bGVkID4gbWkgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAg
ICNzdHlsZWQgPiBtaSB+ICogeyBjb2xvcjogYmx1ZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisKKyAgICA8IS0tIFRlc3QgMSAtLT4KKyAgICA8cCBzdHlsZT0iZGlzcGxh
eTogbm9uZTsiPgorICAgICAgPG1hdGg+PG1pPnNpbjwvbWk+PG1pPng8L21pPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtaT5jb3M8L21pPjxtaT55PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+
dGFuPC9taT48bWk+ejwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICAgIDwhLS0gVGVzdCAyIC0t
PgorICAgIDxwPgorICAgICAgPG1hdGg+PG1uPjE8L21uPjxtbz4rPC9tbz48bW4+MjwvbW4+PG1v
PuKIkjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtbz4oPC9tbz48bXNxcnQ+
PG1mcmFjPjxtbj40PC9tbj48bW4+NTwvbW4+PC9tZnJhYz48L21zcXJ0Pjxtbz5dPC9tbz48L21h
dGg+CisgICAgICA8bWF0aD48bW8+KzwvbW8+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8
L21uPjxtbj43PC9tbj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+
PC9tZnJhYz48L21hdGg+CisgICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDMgLS0+CisgICAgPHA+
CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlhbnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAg
IDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRhbGljIj5zaW48L21pPjwvbWF0aD4KKyAgICAgIDxt
YXRoPjxtaT54PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+Cisg
ICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDQgLS0+CisgICAgPHA+CisgICAgICA8bWF0aD48bW8g
c3RyZXRjaHk9ImZhbHNlIj57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+NzwvbW4+
PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+PC9tYXRo
PgorICAgICAgPG1hdGg+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8L21uPjxtbj43PC9t
bj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+PC9tZnJhYz48L21h
dGg+CisgICAgPC9wPgorICAgIAorICAgIDwhLS0gVGVzdCA1IC0tPgorICAgIDxwPgorICAgICAg
PG1hdGggaWQ9InN0eWxlZCI+PG1vPi08L21vPjxtaT5zaW48L21pPjxtaT54PC9taT48L21hdGg+
CisgICAgPC9wPgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NTVhMzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+VG9rZW4gZWxlbWVudHMgLSBkeW5hbWljIGNoYW5nZXM8L3RpdGxlPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgICNzdHlsZWQgPiBtbyB7IGNvbG9yOiByZWQ7IH0KKyAgICAgICNzdHlsZWQgPiBtaSB7IGNv
bG9yOiBncmVlbjsgfQorICAgICAgI3N0eWxlZCA+IG1pIH4gKiB7IGNvbG9yOiBibHVlOyB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBm
dW5jdGlvbiBuZXdUZXh0KHQpCisgICAgICB7CisgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh0KTsgCisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAg
eworICAgICAgICB2YXIgbWkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWkiKTsK
KyAgICAgICAgdmFyIG1vID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1vIik7CisK
KyAgICAgICAgLy8gVGVzdCAxCisgICAgICAgIG1pWzBdLnRleHRDb250ZW50ID0gInNpbiI7Cisg
ICAgICAgIG1pWzFdLnRleHRDb250ZW50ID0gIngiOworICAgICAgICBtaVsyXS5hcHBlbmRDaGls
ZChuZXdUZXh0KCJjb3MiKSk7CisgICAgICAgIG1pWzNdLmFwcGVuZENoaWxkKG5ld1RleHQoInki
KSk7CisgICAgICAgIG1pWzRdLnRleHRDb250ZW50ID0gImEiOworICAgICAgICBtaVs0XS5pbnNl
cnRCZWZvcmUobmV3VGV4dCgidCIpLCBtaVs0XS5maXJzdENoaWxkKTsKKyAgICAgICAgbWlbNF0u
YXBwZW5kQ2hpbGQobmV3VGV4dCgibiIpKTsKKyAgICAgICAgbWlbNV0uYXBwZW5kQ2hpbGQobmV3
VGV4dCgib28iKSk7CisgICAgICAgIG1pWzVdLmluc2VydEJlZm9yZShuZXdUZXh0KCJ6IiksIG1p
WzVdLmZpcnN0Q2hpbGQpOworICAgICAgICBtaVs1XS5yZW1vdmVDaGlsZChtaVs1XS5sYXN0Q2hp
bGQpOworCisgICAgICAgIC8vIFRlc3QgMgorICAgICAgICBtb1swXS50ZXh0Q29udGVudCA9ICIr
IjsKKyAgICAgICAgbW9bMV0uYXBwZW5kQ2hpbGQobmV3VGV4dCgiLSIpKTsKKyAgICAgICAgbW9b
Ml0udGV4dENvbnRlbnQgPSAiKCI7CisgICAgICAgIG1vWzNdLmFwcGVuZENoaWxkKG5ld1RleHQo
Il0iKSk7CisgICAgICAgIG1vWzRdLmFwcGVuZENoaWxkKG5ld1RleHQoIi0iKSk7CisgICAgICAg
IG1vWzRdLmluc2VydEJlZm9yZShuZXdUZXh0KCIrIiksIG1vWzRdLmZpcnN0Q2hpbGQpOworICAg
ICAgICBtb1s0XS5yZW1vdmVDaGlsZChtb1s0XS5sYXN0Q2hpbGQpOworICAgICAgICBtb1s1XS5h
cHBlbmRDaGlsZChuZXdUZXh0KCJ8IikpOworICAgICAgICBtb1s1XS5hcHBlbmRDaGlsZChuZXdU
ZXh0KCJ7IikpOworICAgICAgICBtb1s1XS5yZW1vdmVDaGlsZChtb1s1XS5maXJzdENoaWxkKTsK
KworICAgICAgICAvLyBUZXN0IDMKKyAgICAgICAgbWlbNl0uc2V0QXR0cmlidXRlKCJtYXRodmFy
aWFudCIsICJib2xkIik7CisgICAgICAgIG1pWzddLnNldEF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
LCAiaXRhbGljIik7CisgICAgICAgIG1pWzhdLnJlbW92ZUF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
KTsKKyAgICAgICAgbWlbOV0ucmVtb3ZlQXR0cmlidXRlKCJtYXRodmFyaWFudCIpOworCisgICAg
ICAgIC8vIFRlc3QgNAorICAgICAgICBtb1s2XS5zZXRBdHRyaWJ1dGUoInN0cmV0Y2h5IiwgImZh
bHNlIik7CisgICAgICAgIG1vWzddLnJlbW92ZUF0dHJpYnV0ZSgic3RyZXRjaHkiKTsKKworICAg
ICAgICAvLyBUZXN0IDUKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVuc3R5bGVk
Iikuc2V0QXR0cmlidXRlKCJpZCIsICJzdHlsZWQiKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKyAgICA8IS0tIFRoZXNlIHRl
c3RzIHBlcmZvcm0gZHluYW1pYyBjaGFuZ2VzIG9uIG1pIGFuZCBtbyB0b2tlbiBlbGVtZW50cy4g
VGhleSBzaG91bGQgcmVuZGVyIHRoZSBzYW1lIGFzIHRoZSBzdGF0aWMgcmVmZXJlbmNlLiAtLT4K
KworICAgIDwhLS0gVGVzdCAxIC0tPgorICAgIDwhLS0gRklYTUU6IHNpbmdsZS1jaGFyIDxtaT4g
c2hvdWxkIGJlIGl0YWxpYy4gLS0+CisgICAgPHAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KKyAg
ICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21p
PjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4K
KyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgMiAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxt
bj4xPC9tbj48bW8+PC9tbz48bW4+MjwvbW4+PG1vPjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtbz48L21vPjxtc3FydD48bWZyYWM+PG1uPjQ8L21uPjxtbj41PC9tbj48L21m
cmFjPjwvbXNxcnQ+PG1vPjwvbW8+PC9tYXRoPgorICAgICAgPG1hdGg+PG1vPjwvbW8+PG1vPjwv
bW8+PG1mcmFjPjxtZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44
PC9tbj48bW4+OTwvbW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8
IS0tIFRlc3QgMyAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxtaT54PC9taT48L21hdGg+Cisg
ICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlh
bnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRh
bGljIj5zaW48L21pPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgNCAtLT4KKyAg
ICA8cD4KKyAgICAgIDxtYXRoPjxtbz57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+
NzwvbW4+PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+
PC9tYXRoPgorICAgICAgPG1hdGg+PG1vIHN0cmV0Y2h5PSJmYWxzZSI+ezwvbW8+PG1mcmFjPjxt
ZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44PC9tbj48bW4+OTwv
bW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+ICAgIAorCisgICAgPCEtLSBUZXN0
IDUgLS0+CisgICAgPHA+CisgICAgICA8bWF0aCBpZD0idW5zdHlsZWQiPjxtbz4tPC9tbz48bWk+
c2luPC9taT48bWk+eDwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVu
dHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCmluZGV4IDU1NDBh
MmMuLjM1M2ZmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24v
dG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5o
dG1sCkBAIC0xMSwxMSArMTEsMTcgQEAKICAgICAgICAgPG1vIHN0eWxlPSJmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4mI3gyMjA3OzwvbW8+CiAgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyI+dGV4dDwv
bXRleHQ+CiAgICAgICAgIDxtcyBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo
dDogbm9ybWFsOyI+JmFtcDs8L21zPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZvbnQtc3R5bGU6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnNpbjwvbXRleHQ+CiAgICAgICA8L21hdGg+
CiAgICAgPC9wPgotICAgIDxwPkZvbGxvd2luZyBlbGVtZW50IHNob3VsZCBiZSBpbiBpdGFsaWM6
IAorICAgIDxwPkZvbGxvd2luZyBlbGVtZW50cyBzaG91bGQgYmUgaW4gaXRhbGljOgogICAgICAg
PG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+eDwvbWk+Cisg
ICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogbm9y
bWFsOyI+eDwvbXRleHQ+CisgICAgICA8L21hdGg+PGJyLz4KKyAgICAgIDxtYXRoPgorICAgICAg
ICA8IS0tIEZJWE1FOiB0aGUgd2hpdGVzcGFjZSBzaG91bGQgYmUgcmVtb3ZlZCBpbiB0aGUgcmVm
ZXJlbmNlIHdoZW4KKyAgICAgICAgICAgICBidWcgMTI1NjI4IGlzIGZpeGVkLiAtLT4KKyAgICAg
ICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9tdGV4dD4KICAg
ICAgIDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC5odG1sIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0
bWwKaW5kZXggYTc1Y2JlZi4uZDJjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwK
QEAgLTExLDExICsxMSwxNiBAQAogICAgICAgICA8bW8+JiN4MjIwNzs8L21vPgogICAgICAgICA8
bXRleHQ+dGV4dDwvbXRleHQ+CiAgICAgICAgIDxtcz4mYW1wOzwvbXM+CisgICAgICAgIDxtaT5z
aW48L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvcD4KLSAgICA8cD5Gb2xsb3dpbmcgZWxlbWVu
dCBzaG91bGQgYmUgaW4gaXRhbGljOiAKKyAgICA8cD5Gb2xsb3dpbmcgZWxlbWVudHMgc2hvdWxk
IGJlIGluIGl0YWxpYzogCisgICAgICA8IS0tIEZJWE1FOiB3ZSBhZGQgYSBuZXcgbGluZSB0byB3
b3JrYXJvdW5kIGEgd2lkdGgvc3BhY2luZyBidWcuIC0tPgogICAgICAgPG1hdGg+CiAgICAgICAg
IDxtaT54PC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxt
aT4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9taT4KICAgICAg
IDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYmUyNWYxLi45ZDVj
NTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTQtMDItMDYgIEZyw6lkw6lyaWMg
V2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5vdCBkcmF3IG11bHRpLWNo
YXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgdGVzdCBwcmV2ZW50cyBtdWx0aS1jaGFyIDxtaT4gdG8gYmUg
ZHJhd24gaW4gaXRhbGljIGFuZCBwcmVwYXJlCisgICAgICAgIGZ1cnRoZXIgaW1wcm92ZW1lbnRz
LgorCisgICAgICAgIFRlc3Q6IG1hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5h
bWljLmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9tYXRobWwuY3NzOgorICAgICAgICAobWksIG1v
LCBtcm93LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1YnN1cCwgbW11bHRpc2NyaXB0
cywgbXByZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11bmRlcm92ZXIsIG1zcXJ0LCBt
cm9vdCwgbWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9zZSk6CisgICAgICAgICogbWF0
aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRleHRF
bGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4
dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzUmVuZGVyTWF0
aE1MVG9rZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjpSZW5kZXJN
YXRoTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6YWRkQ2hp
bGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OmNyZWF0ZVdyYXBwZXJJ
Zk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6dXBkYXRlVG9r
ZW5Db250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6c3R5bGVEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZUZyb21FbGVt
ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OmVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW4+KToKKwogMjAxNC0wMi0wNCAgTWlobmVh
IE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVE
OiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxvY2soKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IDVlNWYyZjcuLjAyOGFjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNDUzMSw2ICs0NTMxLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVy
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRl
ck92ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9Cb3hTaGFwZS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggZTRkYjNjNy4uYmNjMzFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMTIxMyw2ICsxMTIxMyw3IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNwYWNlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdc
bWF0aG1sXFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tlbi5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFVuZGVyT3Zl
ci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcQmFz
aWNTaGFwZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0
eWxlXENvbnRlbnREYXRhLmNwcCI+CkBAIC0xOTkwNCw2ICsxOTkwNSw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNwYWNlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xt
YXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tlbi5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xzdHlsZVxCYXNpY1NoYXBl
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0eWxlXEJvcmRl
ckRhdGEuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjMGEwNjExLi5lZWY3OGE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCkBAIC0yNzQ1LDYgKzI3NDUsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCI+CiAgICAgICA8RmlsdGVyPnJl
bmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVG9rZW4uY3BwIj4KKyAg
ICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxV
bmRlck92ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgpAQCAtOTU5MCw2ICs5NTkzLDkgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5oIj4KICAgICAg
IDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tl
bi5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgorICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5k
ZXJNYXRoTUxVbmRlck92ZXIuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOWE2MWQ1Li43ZTUzY2U5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDU0
LDYgKzE0NTQsOCBAQAogCQk0MzkwNDZFNjEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDM5MDQ2RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCAq
LzsgfTsKIAkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2
RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwICovOyB9OwogCQk0
MzkwNDZFODEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2RDQxMkRBMjVFODAw
QUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuaCAqLzsgfTsKKwkJNDM5MDQ2RUIxMkRBMjVF
ODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ3MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5k
ZXJNYXRoTUxUb2tlbi5jcHAgKi87IH07CisJCTQzOTA0NkVDMTJEQTI1RTgwMEFGODBBOSAvKiBS
ZW5kZXJNYXRoTUxUb2tlbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmgg
Ki87IH07CiAJCTQzOTA0NkU5MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5
MDQ2RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgKi87IH07
CiAJCTQzOTA0NkVBMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ2MTJE
QTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCAqLzsgfTsKIAkJNDM5RDMz
NDMxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5RDMzNDAxM0E2OTExQzAwQzIwRjRGIC8q
IFNWR0FuaW1hdGVkVHlwZS5oICovOyB9OwpAQCAtODMxNyw2ICs4MzE5LDggQEAKIAkJNDM5MDQ2
RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oOyBwYXRoID0g
bWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM5MDQ2RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVuZGVyTWF0aE1MU2NyaXB0
cy5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkQ0MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRo
TUxTY3JpcHRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbmRlck1hdGhN
TFNjcmlwdHMuaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzOTA0NkQ3MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJN
YXRoTUxUb2tlbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW5k
ZXJNYXRoTUxUb2tlbi5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzkwNDZEODEyREEyNUU4MDBBRjgwQTkgLyog
UmVuZGVyTWF0aE1MVG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVu
ZGVyTWF0aE1MVG9rZW4uaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZENTEyREEyNUU4MDBBRjgwQTIgLyogUmVu
ZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1M
VW5kZXJPdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2RDYxMkRB
MjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaDsgcGF0aCA9IG1hdGhtbC9S
ZW5kZXJNYXRoTUxVbmRlck92ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5
RDMzNDAxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE1MjUzLDYgKzE1MjU3LDggQEAKIAkJCQk0MzkwNDZEMjEyREEyNUU4MDBB
RjgwQTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oICovLAogCQkJCTQzOTA0NkQzMTJEQTI1
RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCAqLywKIAkJCQk0MzkwNDZENDEy
REEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5oICovLAorCQkJCTQzOTA0NkQ3
MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgKi8sCisJCQkJNDM5MDQ2
RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmggKi8sCiAJCQkJNDM5MDQ2
RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgKi8sCiAJCQkJ
NDM5MDQ2RDYxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5oICovLAog
CQkJKTsKQEAgLTI0OTcxLDYgKzI0OTc3LDcgQEAKIAkJCQk0MzkwNDZFNjEyREEyNUU4MDBBRjgw
QTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4MzIy
ODUxODAxM0VEODAwOTk5RTBDIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQzOTA0NkU4MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MzkwNDZFQzEyREEyNUU4MDBBRjgwQTkgLyogUmVuZGVy
TWF0aE1MVG9rZW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTA0NkVBMTJEQTI1RTgwMEFGODBB
MiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QzI3OTU5
MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREVC
Q0NERDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4g
SGVhZGVycyAqLywKQEAgLTI4MzE5LDYgKzI4MzI2LDcgQEAKIAkJCQk1QjdBMjA4RDJFMTI5NzlC
NEFFMTlERTYgLyogUmVuZGVyTWF0aE1MU3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDM5
MDQ2RTUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNj
cmlwdHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDM5MDQ2RUIxMkRBMjVFODAwQUY4MEE5IC8q
IFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzOTA0NkU5MTJEQTI1
RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTRDMjc5NTgwQ0Y5NzQxOTAwRTk3Qjk4IC8qIFJlbmRlck1lZGlhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCURFNDlCMzA5MTY1RjJGRTEwMDEwMzM4RCAvKiBSZW5kZXJNZWRpYUNvbnRyb2xF
bGVtZW50cy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9tYXRobWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKaW5kZXggMjJkNmI2
MS4uZDNhMmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKQEAgLTQyLDcgKzQyLDcgQEAgbWF0aFtk
aXNwbGF5PSJibG9jayJdIHsKICAgICAtd2Via2l0LW1hcmdpbi1hZnRlcjogMWVtOwogfQogCi1t
bywgbXJvdywgbWZlbmNlZCwgbWZyYWMsIG1zdWIsIG1zdXAsIG1zdWJzdXAsIG1tdWx0aXNjcmlw
dHMsIG1wcmVzY3JpcHRzLCBub25lLCBtdW5kZXIsIG1vdmVyLCBtdW5kZXJvdmVyLCBtc3FydCwg
bXJvb3QsIG1lcnJvciwgbXBoYW50b20sIG1zdHlsZSwgbWVuY2xvc2UgeworbWksIG1vLCBtcm93
LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1YnN1cCwgbW11bHRpc2NyaXB0cywgbXBy
ZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11bmRlcm92ZXIsIG1zcXJ0LCBtcm9vdCwg
bWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9zZSB7CiAgICAgZGlzcGxheTogLXdlYmtp
dC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogfQogCkBAIC05Niw3ICs5Niw2IEBAIG1zdWIgPiAq
ICsgKiwgbXN1cCA+ICogKyAqLCBtc3Vic3VwID4gKiArICosIG1tdWx0aXNjcmlwdHMgPiAqICsg
KiwgbXVuZGVyID4gKiArCiB9CiAKIG1pIHsKLSAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAg
LXdlYmtpdC1wYWRkaW5nLWVuZDogMC4xZW07CiB9CiBtc3ViID4gbWk6Zmlyc3QtY2hpbGQsIG1z
dWJzdXAgPiBtaTpmaXJzdC1jaGlsZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRl
eHRFbGVtZW50LmNwcAppbmRleCA0ZjE3YjZjLi4yNjI1ZDcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJNYXRoTUxOYW1lcy5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTE9wZXJhdG9yLmgiCiAjaW5j
bHVkZSAiUmVuZGVyTWF0aE1MU3BhY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxUb2tlbi5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCkBAIC01MiwyMSArNTMsMzEgQEAgUGFzc1Jl
ZlB0cjxNYXRoTUxUZXh0RWxlbWVudD4gTWF0aE1MVGV4dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWcKIHZvaWQgTWF0aE1MVGV4dEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRl
cmVycygpCiB7CiAgICAgTWF0aE1MRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAg
aWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7
CisgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCktPmlzUmVuZGVy
TWF0aE1MVG9rZW4oKSkKKyAgICAgICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4ocmVuZGVyZXIo
KSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZW5k
ZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0KIAogdm9pZCBNYXRoTUxUZXh0
RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiB7CiAg
ICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7Ci0gICAgaWYgKHJlbmRl
cmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgaWYg
KHJlbmRlcmVyKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCktPmlzUmVuZGVyTWF0aE1MVG9r
ZW4oKSkKKyAgICAgICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4ocmVuZGVyZXIoKSktPnVwZGF0
ZVRva2VuQ29udGVudCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZW5kZXJlcigpLT51
cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0KIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+
IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxSZW5kZXJT
dHlsZT4gc3R5bGUpCiB7CiAgICAgaWYgKGhhc0xvY2FsTmFtZShNYXRoTUxOYW1lczo6bW9UYWcp
KQogICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCp0
aGlzLCBzdGQ6Om1vdmUoc3R5bGUpKTsKKyAgICBpZiAoaGFzTG9jYWxOYW1lKE1hdGhNTE5hbWVz
OjptaVRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxUb2tl
bj4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNMb2NhbE5hbWUoTWF0aE1M
TmFtZXM6Om1zcGFjZVRhZykpCiAgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJN
YXRoTUxTcGFjZT4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYTY5ZWY4Mi4uZjQ5MmU1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNDE2LDYgKzQxNiw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTcXVhcmVSb290KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTY3JpcHRzKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTY3Jp
cHRzV3JhcHBlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlz
UmVuZGVyTWF0aE1MVG9rZW4oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc1JlbmRlck1hdGhNTFVuZGVyT3ZlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAj
ZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4zNDlhN2M2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKQEAgLTAsMCArMSwxMDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgRnLDqWTDqXJpYyBXYW5nIChmcmVkLndhbmdAZnJl
ZS5mcikuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIlJlbmRlck1hdGhN
TFRva2VuLmgiCisKKyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworUmVuZGVyTWF0aE1MVG9rZW46
OlJlbmRlck1hdGhNTFRva2VuKEVsZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVuZGVyU3R5bGU+
IHN0eWxlKQorICAgIDogUmVuZGVyTWF0aE1MQmxvY2soZWxlbWVudCwgc3RkOjptb3ZlKHN0eWxl
KSkKK3sKK30KKworUmVuZGVyTWF0aE1MVG9rZW46OlJlbmRlck1hdGhNTFRva2VuKERvY3VtZW50
JiBkb2N1bWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUpCisgICAgOiBSZW5kZXJNYXRo
TUxCbG9jayhkb2N1bWVudCwgc3RkOjptb3ZlKHN0eWxlKSkKK3sKK30KKwordm9pZCBSZW5kZXJN
YXRoTUxUb2tlbjo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBjcmVhdGVXcmFwcGVySWZOZWVkZWQoKTsKKyAgICB0b1Jl
bmRlckVsZW1lbnQoZmlyc3RDaGlsZCgpKS0+YWRkQ2hpbGQobmV3Q2hpbGQsIGJlZm9yZUNoaWxk
KTsKK30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6Y3JlYXRlV3JhcHBlcklmTmVlZGVkKCkK
K3sKKyAgICBpZiAoIWZpcnN0Q2hpbGQoKSkgeworICAgICAgICBSZW5kZXJQdHI8UmVuZGVyTWF0
aE1MQmxvY2s+IHdyYXBwZXIgPSBjcmVhdGVBbm9ueW1vdXNNYXRoTUxCbG9jaygpOworICAgICAg
ICAvLyBUaGlzIGNvbnRhaW5lciBkb2Vzbid0IG9mZmVyIGFueSB1c2VmdWwgaW5mb3JtYXRpb24g
dG8gYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgd3JhcHBlci0+c2V0SWdub3JlSW5BY2Nlc3NpYmls
aXR5VHJlZSh0cnVlKTsKKyAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2s6OmFkZENoaWxkKHdyYXBw
ZXIubGVha1B0cigpKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0
ZVRva2VuQ29udGVudCgpCit7CisgICAgbV90ZXh0ID0gZWxlbWVudCgpLnRleHRDb250ZW50KCku
c3RyaXBXaGl0ZVNwYWNlKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCkuaW1wbCgpOworICAgIGlmICgh
aXNFbXB0eSgpKQorICAgICAgICB1cGRhdGVTdHlsZSgpOworICAgIHNldE5lZWRzTGF5b3V0QW5k
UHJlZldpZHRoc1JlY2FsYygpOworfQorCit2b2lkIFJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVT
dHlsZSgpCit7CisgICAgY29uc3QgYXV0byYgdG9rZW5FbGVtZW50ID0gZWxlbWVudCgpOworCisg
ICAgaWYgKHRva2VuRWxlbWVudC5oYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptaVRhZykpIHsKKyAg
ICAgICAgLy8gVGhpcyB0cmllcyB0byBlbXVsYXRlIHRoZSBkZWZhdWx0IG1hdGh2YXJpYW50IHZh
bHVlIG9uIDxtaT4gdXNpbmcgdGhlIENTUyBmb250LXN0eWxlIHByb3BlcnR5LgorICAgICAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmV2aXNlZCB3aGVuIG1hdGh2YXJpYW50IGlzIGltcGxl
bWVudGVkIChodHRwOi8vd2tidWcvODU3MzUpIGFuZCB3aGVuIGZvbnRzIHdpdGggTWF0aGVtYXRp
Y2FsIEFscGhhbnVtZXJpYyBTeW1ib2xzIGNoYXJhY3RlcnMgYXJlIG1vcmUgcG9wdWxhci4KKyAg
ICAgICAgY29uc3QgYXV0byYgd3JhcHBlciA9IHRvUmVuZGVyRWxlbWVudChmaXJzdENoaWxkKCkp
OworICAgICAgICBhdXRvIG5ld1N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255bW91c1N0
eWxlV2l0aERpc3BsYXkoJnN0eWxlKCksIEZMRVgpOworICAgICAgICBGb250RGVzY3JpcHRpb24g
Zm9udERlc2NyaXB0aW9uKG5ld1N0eWxlLmdldCgpLmZvbnREZXNjcmlwdGlvbigpKTsKKyAgICAg
ICAgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IgPSBuZXdTdHlsZS5nZXQoKS5mb250KCkuZm9u
dFNlbGVjdG9yKCk7CisgICAgICAgIGlmIChtX3RleHQubGVuZ3RoKCkgPT0gMSAmJiAhdG9rZW5F
bGVtZW50Lmhhc0F0dHJpYnV0ZShtYXRodmFyaWFudEF0dHIpKQorICAgICAgICAgICAgZm9udERl
c2NyaXB0aW9uLnNldEl0YWxpYyh0cnVlKTsKKyAgICAgICAgaWYgKG5ld1N0eWxlLmdldCgpLnNl
dEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pKQorICAgICAgICAgICAgbmV3U3R5bGUu
Z2V0KCkuZm9udCgpLnVwZGF0ZShmb250U2VsZWN0b3IpOworICAgICAgICB3cmFwcGVyLT5zZXRT
dHlsZShzdGQ6Om1vdmUobmV3U3R5bGUpKTsKKyAgICAgICAgd3JhcHBlci0+c2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAgfQorfQorCit2b2lkIFJlbmRlck1hdGhNTFRv
a2VuOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlKQoreworICAgIFJlbmRlck1hdGhNTEJsb2NrOjpzdHlsZURpZENoYW5nZShk
aWZmLCBvbGRTdHlsZSk7CisgICAgaWYgKCFpc0VtcHR5KCkpCisgICAgICAgIHVwZGF0ZVN0eWxl
KCk7Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZUZyb21FbGVtZW50KCkKK3sK
KyAgICBSZW5kZXJNYXRoTUxCbG9jazo6dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICBpZiAoIWlz
RW1wdHkoKSkKKyAgICAgICAgdXBkYXRlU3R5bGUoKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5B
QkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MVG9rZW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmEw
Y2UyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgRnLDqWTDqXJpYyBXYW5nIChmcmVkLndhbmdAZnJlZS5mcikuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbmRlck1hdGhNTFRva2VuX2gK
KyNkZWZpbmUgUmVuZGVyTWF0aE1MVG9rZW5faAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKworI2lu
Y2x1ZGUgIk1hdGhNTFRleHRFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2su
aCIKKyNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAK
K2NsYXNzIFJlbmRlck1hdGhNTFRva2VuIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2NrIHsKK3B1
YmxpYzoKKyAgICBSZW5kZXJNYXRoTUxUb2tlbihFbGVtZW50JiwgUGFzc1JlZjxSZW5kZXJTdHls
ZT4pOworICAgIFJlbmRlck1hdGhNTFRva2VuKERvY3VtZW50JiwgUGFzc1JlZjxSZW5kZXJTdHls
ZT4pOworCisgICAgTWF0aE1MVGV4dEVsZW1lbnQmIGVsZW1lbnQoKSB7IHJldHVybiBzdGF0aWNf
Y2FzdDxNYXRoTUxUZXh0RWxlbWVudCY+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7IH0KKworICAg
IHZpcnR1YWwgYm9vbCBpc1JlbmRlck1hdGhNTFRva2VuKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0NoaWxkQWxsb3dlZChjb25zdCBS
ZW5kZXJPYmplY3QmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlICB7IHJldHVy
biB0cnVlOyB9OworICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3QqIG5ld0No
aWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVG9rZW5Db250ZW50KCk7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNyZWF0ZVdy
YXBwZXJJZk5lZWRlZCgpOworICAgIFN0cmluZyBtX3RleHQ7CisKK3ByaXZhdGU6CisgICAgdmly
dHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNB
bm9ueW1vdXMoKSA/ICJSZW5kZXJNYXRoTUxUb2tlbiAoYW5vbnltb3VzKSIgOiAiUmVuZGVyTWF0
aE1MVG9rZW4iOyB9CisgICAgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxl
KCk7Cit9OworCit0ZW1wbGF0ZTw+IGlubGluZSBib29sIGlzUmVuZGVyZXJPZlR5cGU8Y29uc3Qg
UmVuZGVyTWF0aE1MVG9rZW4+KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIpIHsgcmV0dXJu
IHJlbmRlcmVyLmlzUmVuZGVyTWF0aE1MVG9rZW4oKTsgfQorUkVOREVSX09CSkVDVF9UWVBFX0NB
U1RTKFJlbmRlck1hdGhNTFRva2VuLCBpc1JlbmRlck1hdGhNTFRva2VuKCkpCisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShNQVRITUwpCisjZW5kaWYgLy8gUmVuZGVyTWF0aE1MVG9rZW5faAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223331</attachid>
            <date>2014-02-06 07:00:11 -0800</date>
            <delta_ts>2014-02-06 10:40:28 -0800</delta_ts>
            <desc>Patch V2</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>31404</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDkzOTczLi5hZjliM2M3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDIt
MDYgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5v
dCBkcmF3IG11bHRpLWNoYXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2luZ2xlLWNoYXIv
bXVsdGktY2hhciA8bWk+IGVsZW1lbnRzLCB0aGUgbWF0aHZhcmlhbnQKKyAgICAgICAgYXR0cmli
dXRlIGFuZCBNYXRoTUwgdG9rZW4gZWxlbWVudHMgZHluYW1pY2FsbHkgbW9kaWZpZWQuCisKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZh
cmlhbnQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMt
ZHluYW1pYy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQuaHRt
bDoKKwogMjAxNC0wMi0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxv
Y2soKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmli
dXRlcy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKaW5kZXggOTRmZDhi
NC4uMjAxMGNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9h
dHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKQEAg
LTE1LDEyICsxNSwyMSBAQAogICAgICAgICAgaW1wbGVtZW50YXRpb24gcmVsaWVzIG9uIENTUyBz
dHlsZSBpbnN0ZWFkLiBTZWUgYWxzbyBidWcgMTA4Nzc4LgogICAgICAgLS0+CiAgICAgPGRpdj4K
KyAgICAgIDwhLS0gRklYTUU6IHdlIGFkZCBuZXcgbGluZXMgdG8gd29ya2Fyb3VuZCBhIHdpZHRo
L3NwYWNpbmcgYnVnLiAtLT4KKyAgICAgIDxtYXRoPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZv
bnQtc3R5bGU6IG5vcm1hbDsiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8
bWF0aD4KKyAgICAgICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9tdGV4
dD4KKyAgICAgIDwvbWF0aD48YnIvPgogICAgICAgPG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0i
Zm9udC1zdHlsZTogbm9ybWFsOyI+QTwvbWk+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyI+QTwvbWk+CiAgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRh
bGljOyI+QTwvbXRleHQ+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXdlaWdodDogYm9sZDsiPkE8L21pPgotICAgICAgICA8bWkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgor
ICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5B
PC9tdGV4dD4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPkE8L210ZXh0
PgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQuaHRtbCBiL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCmluZGV4
IGMxZDE5ZjYuLjA1YTBhMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCkBAIC0xMSw5ICsxMSwx
NyBAQAogICAgIDxkaXY+CiAgICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJu
b3JtYWwiPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAg
PG1pPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAgPG10
ZXh0IG1hdGh2YXJpYW50PSJpdGFsaWMiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+Cisg
ICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJib2xkIj5BPC9taT4KKyAgICAg
IDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CiAgICAgICAgIDxtaSBtYXRodmFyaWFudD0iYm9s
ZC1pdGFsaWMiPkE8L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLWR5bmFtaWMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50
cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTJhMjc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0OCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlRva2VuIGVs
ZW1lbnRzIC0gZHluYW1pYyBjaGFuZ2VzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAjc3R5bGVkID4gbW8geyBj
b2xvcjogcmVkOyB9CisgICAgICAjc3R5bGVkID4gbWkgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAg
ICNzdHlsZWQgPiBtaSB+ICogeyBjb2xvcjogYmx1ZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisKKyAgICA8IS0tIFRlc3QgMSAtLT4KKyAgICA8cCBzdHlsZT0iZGlzcGxh
eTogbm9uZTsiPgorICAgICAgPG1hdGg+PG1pPnNpbjwvbWk+PG1pPng8L21pPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtaT5jb3M8L21pPjxtaT55PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+
dGFuPC9taT48bWk+ejwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICAgIDwhLS0gVGVzdCAyIC0t
PgorICAgIDxwPgorICAgICAgPG1hdGg+PG1uPjE8L21uPjxtbz4rPC9tbz48bW4+MjwvbW4+PG1v
PuKIkjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtbz4oPC9tbz48bXNxcnQ+
PG1mcmFjPjxtbj40PC9tbj48bW4+NTwvbW4+PC9tZnJhYz48L21zcXJ0Pjxtbz5dPC9tbz48L21h
dGg+CisgICAgICA8bWF0aD48bW8+KzwvbW8+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8
L21uPjxtbj43PC9tbj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+
PC9tZnJhYz48L21hdGg+CisgICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDMgLS0+CisgICAgPHA+
CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlhbnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAg
IDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRhbGljIj5zaW48L21pPjwvbWF0aD4KKyAgICAgIDxt
YXRoPjxtaT54PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+Cisg
ICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDQgLS0+CisgICAgPHA+CisgICAgICA8bWF0aD48bW8g
c3RyZXRjaHk9ImZhbHNlIj57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+NzwvbW4+
PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+PC9tYXRo
PgorICAgICAgPG1hdGg+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8L21uPjxtbj43PC9t
bj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+PC9tZnJhYz48L21h
dGg+CisgICAgPC9wPgorICAgIAorICAgIDwhLS0gVGVzdCA1IC0tPgorICAgIDxwPgorICAgICAg
PG1hdGggaWQ9InN0eWxlZCI+PG1vPi08L21vPjxtaT5zaW48L21pPjxtaT54PC9taT48L21hdGg+
CisgICAgPC9wPgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NTVhMzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+VG9rZW4gZWxlbWVudHMgLSBkeW5hbWljIGNoYW5nZXM8L3RpdGxlPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgICNzdHlsZWQgPiBtbyB7IGNvbG9yOiByZWQ7IH0KKyAgICAgICNzdHlsZWQgPiBtaSB7IGNv
bG9yOiBncmVlbjsgfQorICAgICAgI3N0eWxlZCA+IG1pIH4gKiB7IGNvbG9yOiBibHVlOyB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBm
dW5jdGlvbiBuZXdUZXh0KHQpCisgICAgICB7CisgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh0KTsgCisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAg
eworICAgICAgICB2YXIgbWkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWkiKTsK
KyAgICAgICAgdmFyIG1vID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1vIik7CisK
KyAgICAgICAgLy8gVGVzdCAxCisgICAgICAgIG1pWzBdLnRleHRDb250ZW50ID0gInNpbiI7Cisg
ICAgICAgIG1pWzFdLnRleHRDb250ZW50ID0gIngiOworICAgICAgICBtaVsyXS5hcHBlbmRDaGls
ZChuZXdUZXh0KCJjb3MiKSk7CisgICAgICAgIG1pWzNdLmFwcGVuZENoaWxkKG5ld1RleHQoInki
KSk7CisgICAgICAgIG1pWzRdLnRleHRDb250ZW50ID0gImEiOworICAgICAgICBtaVs0XS5pbnNl
cnRCZWZvcmUobmV3VGV4dCgidCIpLCBtaVs0XS5maXJzdENoaWxkKTsKKyAgICAgICAgbWlbNF0u
YXBwZW5kQ2hpbGQobmV3VGV4dCgibiIpKTsKKyAgICAgICAgbWlbNV0uYXBwZW5kQ2hpbGQobmV3
VGV4dCgib28iKSk7CisgICAgICAgIG1pWzVdLmluc2VydEJlZm9yZShuZXdUZXh0KCJ6IiksIG1p
WzVdLmZpcnN0Q2hpbGQpOworICAgICAgICBtaVs1XS5yZW1vdmVDaGlsZChtaVs1XS5sYXN0Q2hp
bGQpOworCisgICAgICAgIC8vIFRlc3QgMgorICAgICAgICBtb1swXS50ZXh0Q29udGVudCA9ICIr
IjsKKyAgICAgICAgbW9bMV0uYXBwZW5kQ2hpbGQobmV3VGV4dCgiLSIpKTsKKyAgICAgICAgbW9b
Ml0udGV4dENvbnRlbnQgPSAiKCI7CisgICAgICAgIG1vWzNdLmFwcGVuZENoaWxkKG5ld1RleHQo
Il0iKSk7CisgICAgICAgIG1vWzRdLmFwcGVuZENoaWxkKG5ld1RleHQoIi0iKSk7CisgICAgICAg
IG1vWzRdLmluc2VydEJlZm9yZShuZXdUZXh0KCIrIiksIG1vWzRdLmZpcnN0Q2hpbGQpOworICAg
ICAgICBtb1s0XS5yZW1vdmVDaGlsZChtb1s0XS5sYXN0Q2hpbGQpOworICAgICAgICBtb1s1XS5h
cHBlbmRDaGlsZChuZXdUZXh0KCJ8IikpOworICAgICAgICBtb1s1XS5hcHBlbmRDaGlsZChuZXdU
ZXh0KCJ7IikpOworICAgICAgICBtb1s1XS5yZW1vdmVDaGlsZChtb1s1XS5maXJzdENoaWxkKTsK
KworICAgICAgICAvLyBUZXN0IDMKKyAgICAgICAgbWlbNl0uc2V0QXR0cmlidXRlKCJtYXRodmFy
aWFudCIsICJib2xkIik7CisgICAgICAgIG1pWzddLnNldEF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
LCAiaXRhbGljIik7CisgICAgICAgIG1pWzhdLnJlbW92ZUF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
KTsKKyAgICAgICAgbWlbOV0ucmVtb3ZlQXR0cmlidXRlKCJtYXRodmFyaWFudCIpOworCisgICAg
ICAgIC8vIFRlc3QgNAorICAgICAgICBtb1s2XS5zZXRBdHRyaWJ1dGUoInN0cmV0Y2h5IiwgImZh
bHNlIik7CisgICAgICAgIG1vWzddLnJlbW92ZUF0dHJpYnV0ZSgic3RyZXRjaHkiKTsKKworICAg
ICAgICAvLyBUZXN0IDUKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVuc3R5bGVk
Iikuc2V0QXR0cmlidXRlKCJpZCIsICJzdHlsZWQiKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKyAgICA8IS0tIFRoZXNlIHRl
c3RzIHBlcmZvcm0gZHluYW1pYyBjaGFuZ2VzIG9uIG1pIGFuZCBtbyB0b2tlbiBlbGVtZW50cy4g
VGhleSBzaG91bGQgcmVuZGVyIHRoZSBzYW1lIGFzIHRoZSBzdGF0aWMgcmVmZXJlbmNlLiAtLT4K
KworICAgIDwhLS0gVGVzdCAxIC0tPgorICAgIDwhLS0gRklYTUU6IHNpbmdsZS1jaGFyIDxtaT4g
c2hvdWxkIGJlIGl0YWxpYy4gLS0+CisgICAgPHAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KKyAg
ICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21p
PjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4K
KyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgMiAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxt
bj4xPC9tbj48bW8+PC9tbz48bW4+MjwvbW4+PG1vPjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtbz48L21vPjxtc3FydD48bWZyYWM+PG1uPjQ8L21uPjxtbj41PC9tbj48L21m
cmFjPjwvbXNxcnQ+PG1vPjwvbW8+PC9tYXRoPgorICAgICAgPG1hdGg+PG1vPjwvbW8+PG1vPjwv
bW8+PG1mcmFjPjxtZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44
PC9tbj48bW4+OTwvbW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8
IS0tIFRlc3QgMyAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxtaT54PC9taT48L21hdGg+Cisg
ICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlh
bnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRh
bGljIj5zaW48L21pPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgNCAtLT4KKyAg
ICA8cD4KKyAgICAgIDxtYXRoPjxtbz57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+
NzwvbW4+PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+
PC9tYXRoPgorICAgICAgPG1hdGg+PG1vIHN0cmV0Y2h5PSJmYWxzZSI+ezwvbW8+PG1mcmFjPjxt
ZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44PC9tbj48bW4+OTwv
bW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+ICAgIAorCisgICAgPCEtLSBUZXN0
IDUgLS0+CisgICAgPHA+CisgICAgICA8bWF0aCBpZD0idW5zdHlsZWQiPjxtbz4tPC9tbz48bWk+
c2luPC9taT48bWk+eDwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVu
dHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCmluZGV4IDU1NDBh
MmMuLjM1M2ZmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24v
dG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5o
dG1sCkBAIC0xMSwxMSArMTEsMTcgQEAKICAgICAgICAgPG1vIHN0eWxlPSJmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4mI3gyMjA3OzwvbW8+CiAgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyI+dGV4dDwv
bXRleHQ+CiAgICAgICAgIDxtcyBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo
dDogbm9ybWFsOyI+JmFtcDs8L21zPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZvbnQtc3R5bGU6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnNpbjwvbXRleHQ+CiAgICAgICA8L21hdGg+
CiAgICAgPC9wPgotICAgIDxwPkZvbGxvd2luZyBlbGVtZW50IHNob3VsZCBiZSBpbiBpdGFsaWM6
IAorICAgIDxwPkZvbGxvd2luZyBlbGVtZW50cyBzaG91bGQgYmUgaW4gaXRhbGljOgogICAgICAg
PG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+eDwvbWk+Cisg
ICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogbm9y
bWFsOyI+eDwvbXRleHQ+CisgICAgICA8L21hdGg+PGJyLz4KKyAgICAgIDxtYXRoPgorICAgICAg
ICA8IS0tIEZJWE1FOiB0aGUgd2hpdGVzcGFjZSBzaG91bGQgYmUgcmVtb3ZlZCBpbiB0aGUgcmVm
ZXJlbmNlIHdoZW4KKyAgICAgICAgICAgICBidWcgMTI1NjI4IGlzIGZpeGVkLiAtLT4KKyAgICAg
ICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9tdGV4dD4KICAg
ICAgIDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC5odG1sIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0
bWwKaW5kZXggYTc1Y2JlZi4uZDJjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwK
QEAgLTExLDExICsxMSwxNiBAQAogICAgICAgICA8bW8+JiN4MjIwNzs8L21vPgogICAgICAgICA8
bXRleHQ+dGV4dDwvbXRleHQ+CiAgICAgICAgIDxtcz4mYW1wOzwvbXM+CisgICAgICAgIDxtaT5z
aW48L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvcD4KLSAgICA8cD5Gb2xsb3dpbmcgZWxlbWVu
dCBzaG91bGQgYmUgaW4gaXRhbGljOiAKKyAgICA8cD5Gb2xsb3dpbmcgZWxlbWVudHMgc2hvdWxk
IGJlIGluIGl0YWxpYzogCisgICAgICA8IS0tIEZJWE1FOiB3ZSBhZGQgYSBuZXcgbGluZSB0byB3
b3JrYXJvdW5kIGEgd2lkdGgvc3BhY2luZyBidWcuIC0tPgogICAgICAgPG1hdGg+CiAgICAgICAg
IDxtaT54PC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxt
aT4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9taT4KICAgICAg
IDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTdl
ZTIzNi4uMmI5ZGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIyMjAsNiArMjIyMCw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNj
cmlwdHMuY3BwCiAgICAgcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAKICAg
ICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuY3BwCisgICAgcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKICAgICByZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKIAogICAgIHJlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMmJlMjVmMS4uNDNjNjEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQwIEBACisyMDE0LTAyLTA2ICBGcsOpZMOpcmljIFdhbmcgIDxmcmVkLndhbmdAZnJlZS5mcj4K
KworICAgICAgICBEbyBub3QgZHJhdyBtdWx0aS1jaGFyYWN0ZXJzIDxtaT4gaW4gaXRhbGljLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHRlc3Qg
cHJldmVudHMgbXVsdGktY2hhciA8bWk+IHRvIGJlIGRyYXduIGluIGl0YWxpYyBhbmQgcHJlcGFy
ZQorICAgICAgICBmdXJ0aGVyIGltcHJvdmVtZW50cy4KKworICAgICAgICBUZXN0OiBtYXRobWwv
cHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvbWF0aG1sLmNzczoKKyAgICAgICAgKG1pLCBt
bywgbXJvdywgbWZlbmNlZCwgbWZyYWMsIG1zdWIsIG1zdXAsIG1zdWJzdXAsIG1tdWx0aXNjcmlw
dHMsIG1wcmVzY3JpcHRzLCBub25lLCBtdW5kZXIsIG1vdmVyLCBtdW5kZXJvdmVyLCBtc3FydCwg
bXJvb3QsIG1lcnJvciwgbXBoYW50b20sIG1zdHlsZSwgbWVuY2xvc2UpOgorICAgICAgICAqIG1h
dGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRl
eHRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4
dEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1JlbmRlck1h
dGhNTFRva2VuKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2Vu
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6UmVuZGVy
TWF0aE1MVG9rZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OmFkZENo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjpjcmVhdGVXcmFwcGVy
SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZVRv
a2VuQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxUb2tlbjo6dXBkYXRl
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OnN0eWxlRGlkQ2hh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVGcm9tRWxl
bWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuOjplbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFRva2VuPik6CisKIDIwMTQtMDItMDQgIE1paG5l
YSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxF
RDogIW9iamVjdCB8fCAob2JqZWN0LT5pc1JlbmRlckJsb2NrKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCA1ZTVmMmY3Li4wMjhhY2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTQ1MzEsNiArNDUzMSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290LmggXAog
CVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zl
ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5k
ZXJPdmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IGU0ZGIzYzcuLmJjYzMxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTEyMTMsNiArMTEyMTMsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxTcGFjZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5n
XG1hdGhtbFxSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVG9rZW4uY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxVbmRlck92
ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0eWxlXEJh
c2ljU2hhcGVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xz
dHlsZVxDb250ZW50RGF0YS5jcHAiPgpAQCAtMTk5MDQsNiArMTk5MDUsNyBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxTcGFjZS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRo
TUxTcXVhcmVSb290LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdc
bWF0aG1sXFJlbmRlck1hdGhNTFNjcmlwdHMuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVG9rZW4uaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcQmFzaWNTaGFw
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xzdHlsZVxCb3Jk
ZXJEYXRhLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggYzBhMDYxMS4uZWVmNzhhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwpAQCAtMjc0NSw2ICsyNzQ1LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJl
bmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAiPgogICAgICAgPEZpbHRlcj5y
ZW5kZXJpbmdcbWF0aG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFRva2VuLmNwcCI+Cisg
ICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1M
VW5kZXJPdmVyLmNwcCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KQEAgLTk1OTAsNiArOTU5Myw5IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNjcmlwdHMuaCI+CiAgICAg
ICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MVG9r
ZW4uaCI+CisgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KKyAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVu
ZGVyTWF0aE1MVW5kZXJPdmVyLmgiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmdcbWF0aG1sPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjlhNjFkNS4uN2U1M2NlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ1
NCw2ICsxNDU0LDggQEAKIAkJNDM5MDQ2RTYxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQzOTA0NkQyMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTcXVhcmVSb290Lmgg
Ki87IH07CiAJCTQzOTA0NkU3MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0
NkQzMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCAqLzsgfTsKIAkJ
NDM5MDQ2RTgxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ0MTJEQTI1RTgw
MEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmggKi87IH07CisJCTQzOTA0NkVCMTJEQTI1
RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzkwNDZENzEyREEyNUU4MDBBRjgwQTkgLyogUmVu
ZGVyTWF0aE1MVG9rZW4uY3BwICovOyB9OworCQk0MzkwNDZFQzEyREEyNUU4MDBBRjgwQTkgLyog
UmVuZGVyTWF0aE1MVG9rZW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQzOTA0NkQ4MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5o
ICovOyB9OwogCQk0MzkwNDZFOTEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MVW5kZXJP
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQz
OTA0NkQ1MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwICovOyB9
OwogCQk0MzkwNDZFQTEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzkwNDZENjEy
REEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmggKi87IH07CiAJCTQzOUQz
MzQzMTNBNjkxMUMwMEMyMEY0RiAvKiBTVkdBbmltYXRlZFR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOUQzMzQwMTNBNjkxMUMwMEMyMEY0RiAv
KiBTVkdBbmltYXRlZFR5cGUuaCAqLzsgfTsKQEAgLTgzMTcsNiArODMxOSw4IEBACiAJCTQzOTA0
NkQyMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTcXVhcmVSb290LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDsgcGF0aCA9
IG1hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQzOTA0NkQzMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbmRlck1hdGhNTFNjcmlw
dHMuY3BwOyBwYXRoID0gbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZENDEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0
aE1MU2NyaXB0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW5kZXJNYXRo
TUxTY3JpcHRzLmg7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MzkwNDZENzEyREEyNUU4MDBBRjgwQTkgLyogUmVuZGVy
TWF0aE1MVG9rZW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVu
ZGVyTWF0aE1MVG9rZW4uY3BwOyBwYXRoID0gbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEE5IC8q
IFJlbmRlck1hdGhNTFRva2VuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJl
bmRlck1hdGhNTFRva2VuLmg7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJl
bmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwOyBwYXRoID0gbWF0aG1sL1JlbmRlck1hdGhN
TFVuZGVyT3Zlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkQ2MTJE
QTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmg7IHBhdGggPSBtYXRobWwv
UmVuZGVyTWF0aE1MVW5kZXJPdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQz
OUQzMzQwMTNBNjkxMUMwMEMyMEY0RiAvKiBTVkdBbmltYXRlZFR5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNTI1Myw2ICsxNTI1Nyw4IEBACiAJCQkJNDM5MDQ2RDIxMkRBMjVFODAw
QUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCAqLywKIAkJCQk0MzkwNDZEMzEyREEy
NUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAgKi8sCiAJCQkJNDM5MDQ2RDQx
MkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuaCAqLywKKwkJCQk0MzkwNDZE
NzEyREEyNUU4MDBBRjgwQTkgLyogUmVuZGVyTWF0aE1MVG9rZW4uY3BwICovLAorCQkJCTQzOTA0
NkQ4MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5oICovLAogCQkJCTQzOTA0
NkQ1MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwICovLAogCQkJ
CTQzOTA0NkQ2MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCAqLywK
IAkJCSk7CkBAIC0yNDk3MSw2ICsyNDk3Nyw3IEBACiAJCQkJNDM5MDQ2RTYxMkRBMjVFODAwQUY4
MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3ODMy
Mjg1MTgwMTNFRDgwMDk5OUUwQyAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MzkwNDZFODEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDM5MDQ2RUMxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRl
ck1hdGhNTFRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MzkwNDZFQTEyREEyNUU4MDBBRjgw
QTIgLyogUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEMyNzk1
OTBDRjk3NDE5MDBFOTdCOTggLyogUmVuZGVyTWVkaWEuaCBpbiBIZWFkZXJzICovLAogCQkJCURF
QkNDREQyMTY2NDZFODIwMEE0NTJFMSAvKiBSZW5kZXJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yODMxOSw2ICsyODMyNiw3IEBACiAJCQkJNUI3QTIwOEQyRTEyOTc5
QjRBRTE5REU2IC8qIFJlbmRlck1hdGhNTFNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQz
OTA0NkU1MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTcXVhcmVSb290LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQzOTA0NkU3MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxT
Y3JpcHRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQzOTA0NkVCMTJEQTI1RTgwMEFGODBBOSAv
KiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzkwNDZFOTEyREEy
NUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUU0QzI3OTU4MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlERTQ5QjMwOTE2NUYyRkUxMDAxMDMzOEQgLyogUmVuZGVyTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWF0aG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYXRobWwuY3NzCmluZGV4IDIyZDZi
NjEuLmQzYTJkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYXRobWwuY3NzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYXRobWwuY3NzCkBAIC00Miw3ICs0Miw3IEBAIG1hdGhb
ZGlzcGxheT0iYmxvY2siXSB7CiAgICAgLXdlYmtpdC1tYXJnaW4tYWZ0ZXI6IDFlbTsKIH0KIAot
bW8sIG1yb3csIG1mZW5jZWQsIG1mcmFjLCBtc3ViLCBtc3VwLCBtc3Vic3VwLCBtbXVsdGlzY3Jp
cHRzLCBtcHJlc2NyaXB0cywgbm9uZSwgbXVuZGVyLCBtb3ZlciwgbXVuZGVyb3ZlciwgbXNxcnQs
IG1yb290LCBtZXJyb3IsIG1waGFudG9tLCBtc3R5bGUsIG1lbmNsb3NlIHsKK21pLCBtbywgbXJv
dywgbWZlbmNlZCwgbWZyYWMsIG1zdWIsIG1zdXAsIG1zdWJzdXAsIG1tdWx0aXNjcmlwdHMsIG1w
cmVzY3JpcHRzLCBub25lLCBtdW5kZXIsIG1vdmVyLCBtdW5kZXJvdmVyLCBtc3FydCwgbXJvb3Qs
IG1lcnJvciwgbXBoYW50b20sIG1zdHlsZSwgbWVuY2xvc2UgewogICAgIGRpc3BsYXk6IC13ZWJr
aXQtaW5saW5lLWZsZXggIWltcG9ydGFudDsKIH0KIApAQCAtOTYsNyArOTYsNiBAQCBtc3ViID4g
KiArICosIG1zdXAgPiAqICsgKiwgbXN1YnN1cCA+ICogKyAqLCBtbXVsdGlzY3JpcHRzID4gKiAr
ICosIG11bmRlciA+ICogKwogfQogCiBtaSB7Ci0gICAgZm9udC1zdHlsZTogaXRhbGljOwogICAg
IC13ZWJraXQtcGFkZGluZy1lbmQ6IDAuMWVtOwogfQogbXN1YiA+IG1pOmZpcnN0LWNoaWxkLCBt
c3Vic3VwID4gbWk6Zmlyc3QtY2hpbGQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxU
ZXh0RWxlbWVudC5jcHAKaW5kZXggNGYxN2I2Yy4uMjYyNWQ3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiTWF0aE1MTmFtZXMuaCIKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxPcGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlck1hdGhNTFNwYWNlLmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MVG9rZW4u
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIApAQCAtNTIsMjEgKzUzLDMxIEBAIFBhc3NS
ZWZQdHI8TWF0aE1MVGV4dEVsZW1lbnQ+IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnCiB2b2lkIE1hdGhNTFRleHRFbGVtZW50OjpkaWRBdHRhY2hSZW5k
ZXJlcnMoKQogewogICAgIE1hdGhNTEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpOwotICAg
IGlmIChyZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgp
OworICAgIGlmIChyZW5kZXJlcigpKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpLT5pc1JlbmRl
ck1hdGhNTFRva2VuKCkpCisgICAgICAgICAgICB0b1JlbmRlck1hdGhNTFRva2VuKHJlbmRlcmVy
KCkpLT51cGRhdGVUb2tlbkNvbnRlbnQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9CiB9CiAKIHZvaWQgTWF0aE1MVGV4
dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewog
ICAgIE1hdGhNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwotICAgIGlmIChyZW5k
ZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIGlm
IChyZW5kZXJlcigpKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpLT5pc1JlbmRlck1hdGhNTFRv
a2VuKCkpCisgICAgICAgICAgICB0b1JlbmRlck1hdGhNTFRva2VuKHJlbmRlcmVyKCkpLT51cGRh
dGVUb2tlbkNvbnRlbnQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+
dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9CiB9CiAKIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50
PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVy
U3R5bGU+IHN0eWxlKQogewogICAgIGlmIChoYXNMb2NhbE5hbWUoTWF0aE1MTmFtZXM6Om1vVGFn
KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9yPigq
dGhpcywgc3RkOjptb3ZlKHN0eWxlKSk7CisgICAgaWYgKGhhc0xvY2FsTmFtZShNYXRoTUxOYW1l
czo6bWlUYWcpKQorICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MVG9r
ZW4+KCp0aGlzLCBzdGQ6Om1vdmUoc3R5bGUpKTsKICAgICBpZiAoaGFzTG9jYWxOYW1lKE1hdGhN
TE5hbWVzOjptc3BhY2VUYWcpKQogICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVy
TWF0aE1MU3BhY2U+KCp0aGlzLCBzdGQ6Om1vdmUoc3R5bGUpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGE2OWVmODIuLmY0OTJlNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQxNiw2ICs0MTYsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyTWF0aE1MU3F1YXJlUm9vdCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyTWF0aE1MU2NyaXB0cygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyTWF0aE1MU2Ny
aXB0c1dyYXBwZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c1JlbmRlck1hdGhNTFRva2VuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNSZW5kZXJNYXRoTUxVbmRlck92ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
I2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMzQ5YTdjNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uY3BwCkBAIC0wLDAgKzEsMTA3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEZyw6lkw6lyaWMgV2FuZyAoZnJlZC53YW5nQGZy
ZWUuZnIpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJSZW5kZXJNYXRo
TUxUb2tlbi5oIgorCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CisKK1JlbmRlck1hdGhNTFRva2Vu
OjpSZW5kZXJNYXRoTUxUb2tlbihFbGVtZW50JiBlbGVtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxl
PiBzdHlsZSkKKyAgICA6IFJlbmRlck1hdGhNTEJsb2NrKGVsZW1lbnQsIHN0ZDo6bW92ZShzdHls
ZSkpCit7Cit9CisKK1JlbmRlck1hdGhNTFRva2VuOjpSZW5kZXJNYXRoTUxUb2tlbihEb2N1bWVu
dCYgZG9jdW1lbnQsIFBhc3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxlKQorICAgIDogUmVuZGVyTWF0
aE1MQmxvY2soZG9jdW1lbnQsIHN0ZDo6bW92ZShzdHlsZSkpCit7Cit9CisKK3ZvaWQgUmVuZGVy
TWF0aE1MVG9rZW46OmFkZENoaWxkKFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVj
dCogYmVmb3JlQ2hpbGQpCit7CisgICAgY3JlYXRlV3JhcHBlcklmTmVlZGVkKCk7CisgICAgdG9S
ZW5kZXJFbGVtZW50KGZpcnN0Q2hpbGQoKSktPmFkZENoaWxkKG5ld0NoaWxkLCBiZWZvcmVDaGls
ZCk7Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46OmNyZWF0ZVdyYXBwZXJJZk5lZWRlZCgp
Cit7CisgICAgaWYgKCFmaXJzdENoaWxkKCkpIHsKKyAgICAgICAgUmVuZGVyUHRyPFJlbmRlck1h
dGhNTEJsb2NrPiB3cmFwcGVyID0gY3JlYXRlQW5vbnltb3VzTWF0aE1MQmxvY2soKTsKKyAgICAg
ICAgLy8gVGhpcyBjb250YWluZXIgZG9lc24ndCBvZmZlciBhbnkgdXNlZnVsIGluZm9ybWF0aW9u
IHRvIGFjY2Vzc2liaWxpdHkuCisgICAgICAgIHdyYXBwZXItPnNldElnbm9yZUluQWNjZXNzaWJp
bGl0eVRyZWUodHJ1ZSk7CisgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrOjphZGRDaGlsZCh3cmFw
cGVyLmxlYWtQdHIoKSk7CisgICAgfQorfQorCit2b2lkIFJlbmRlck1hdGhNTFRva2VuOjp1cGRh
dGVUb2tlbkNvbnRlbnQoKQoreworICAgIG1fdGV4dCA9IGVsZW1lbnQoKS50ZXh0Q29udGVudCgp
LnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpLmltcGwoKTsKKyAgICBpZiAo
IWlzRW1wdHkoKSkKKyAgICAgICAgdXBkYXRlU3R5bGUoKTsKKyAgICBzZXROZWVkc0xheW91dEFu
ZFByZWZXaWR0aHNSZWNhbGMoKTsKK30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6dXBkYXRl
U3R5bGUoKQoreworICAgIGNvbnN0IGF1dG8mIHRva2VuRWxlbWVudCA9IGVsZW1lbnQoKTsKKwor
ICAgIGlmICh0b2tlbkVsZW1lbnQuaGFzVGFnTmFtZShNYXRoTUxOYW1lczo6bWlUYWcpKSB7Cisg
ICAgICAgIC8vIFRoaXMgdHJpZXMgdG8gZW11bGF0ZSB0aGUgZGVmYXVsdCBtYXRodmFyaWFudCB2
YWx1ZSBvbiA8bWk+IHVzaW5nIHRoZSBDU1MgZm9udC1zdHlsZSBwcm9wZXJ0eS4KKyAgICAgICAg
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJldmlzZWQgd2hlbiBtYXRodmFyaWFudCBpcyBpbXBs
ZW1lbnRlZCAoaHR0cDovL3drYnVnLzg1NzM1KSBhbmQgd2hlbiBmb250cyB3aXRoIE1hdGhlbWF0
aWNhbCBBbHBoYW51bWVyaWMgU3ltYm9scyBjaGFyYWN0ZXJzIGFyZSBtb3JlIHBvcHVsYXIuCisg
ICAgICAgIGNvbnN0IGF1dG8mIHdyYXBwZXIgPSB0b1JlbmRlckVsZW1lbnQoZmlyc3RDaGlsZCgp
KTsKKyAgICAgICAgYXV0byBuZXdTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNT
dHlsZVdpdGhEaXNwbGF5KCZzdHlsZSgpLCBGTEVYKTsKKyAgICAgICAgRm9udERlc2NyaXB0aW9u
IGZvbnREZXNjcmlwdGlvbihuZXdTdHlsZS5nZXQoKS5mb250RGVzY3JpcHRpb24oKSk7CisgICAg
ICAgIEZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yID0gbmV3U3R5bGUuZ2V0KCkuZm9udCgpLmZv
bnRTZWxlY3RvcigpOworICAgICAgICBpZiAobV90ZXh0Lmxlbmd0aCgpID09IDEgJiYgIXRva2Vu
RWxlbWVudC5oYXNBdHRyaWJ1dGUobWF0aHZhcmlhbnRBdHRyKSkKKyAgICAgICAgICAgIGZvbnRE
ZXNjcmlwdGlvbi5zZXRJdGFsaWModHJ1ZSk7CisgICAgICAgIGlmIChuZXdTdHlsZS5nZXQoKS5z
ZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKSkKKyAgICAgICAgICAgIG5ld1N0eWxl
LmdldCgpLmZvbnQoKS51cGRhdGUoZm9udFNlbGVjdG9yKTsKKyAgICAgICAgd3JhcHBlci0+c2V0
U3R5bGUoc3RkOjptb3ZlKG5ld1N0eWxlKSk7CisgICAgICAgIHdyYXBwZXItPnNldE5lZWRzTGF5
b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOworICAgIH0KK30KKwordm9pZCBSZW5kZXJNYXRoTUxU
b2tlbjo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0
eWxlKiBvbGRTdHlsZSkKK3sKKyAgICBSZW5kZXJNYXRoTUxCbG9jazo6c3R5bGVEaWRDaGFuZ2Uo
ZGlmZiwgb2xkU3R5bGUpOworICAgIGlmICghaXNFbXB0eSgpKQorICAgICAgICB1cGRhdGVTdHls
ZSgpOworfQorCit2b2lkIFJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVGcm9tRWxlbWVudCgpCit7
CisgICAgUmVuZGVyTWF0aE1MQmxvY2s6OnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgaWYgKCFp
c0VtcHR5KCkpCisgICAgICAgIHVwZGF0ZVN0eWxlKCk7Cit9CisKK30KKworI2VuZGlmIC8vIEVO
QUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFRva2VuLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFRva2VuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZh
MGNlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MVG9rZW4uaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEZyw6lkw6lyaWMgV2FuZyAoZnJlZC53YW5nQGZyZWUuZnIpLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZW5kZXJNYXRoTUxUb2tlbl9o
CisjZGVmaW5lIFJlbmRlck1hdGhNTFRva2VuX2gKKworI2lmIEVOQUJMRShNQVRITUwpCisKKyNp
bmNsdWRlICJNYXRoTUxUZXh0RWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1hdGhNTEJsb2Nr
LmgiCisjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAg
CitjbGFzcyBSZW5kZXJNYXRoTUxUb2tlbiA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7Citw
dWJsaWM6CisgICAgUmVuZGVyTWF0aE1MVG9rZW4oRWxlbWVudCYsIFBhc3NSZWY8UmVuZGVyU3R5
bGU+KTsKKyAgICBSZW5kZXJNYXRoTUxUb2tlbihEb2N1bWVudCYsIFBhc3NSZWY8UmVuZGVyU3R5
bGU+KTsKKworICAgIE1hdGhNTFRleHRFbGVtZW50JiBlbGVtZW50KCkgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8TWF0aE1MVGV4dEVsZW1lbnQmPihub2RlRm9yTm9uQW5vbnltb3VzKCkpOyB9CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxUb2tlbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoY29uc3Qg
UmVuZGVyT2JqZWN0JiwgY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBvdmVycmlkZSAgeyByZXR1
cm4gdHJ1ZTsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdD
aGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRva2VuQ29udGVudCgpOworCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBjcmVhdGVX
cmFwcGVySWZOZWVkZWQoKTsKKyAgICBTdHJpbmcgbV90ZXh0OworCitwcml2YXRlOgorICAgIHZp
cnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlz
QW5vbnltb3VzKCkgPyAiUmVuZGVyTWF0aE1MVG9rZW4gKGFub255bW91cykiIDogIlJlbmRlck1h
dGhNTFRva2VuIjsgfQorICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHls
ZSgpOworfTsKKwordGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0
IFJlbmRlck1hdGhNTFRva2VuPihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyKSB7IHJldHVy
biByZW5kZXJlci5pc1JlbmRlck1hdGhNTFRva2VuKCk7IH0KK1JFTkRFUl9PQkpFQ1RfVFlQRV9D
QVNUUyhSZW5kZXJNYXRoTUxUb2tlbiwgaXNSZW5kZXJNYXRoTUxUb2tlbigpKQorCit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8vIFJlbmRlck1hdGhNTFRva2VuX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223346</attachid>
            <date>2014-02-06 10:40:28 -0800</date>
            <delta_ts>2014-02-06 11:55:28 -0800</delta_ts>
            <desc>Patch V3</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>31317</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDkzOTczLi5hZjliM2M3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDIt
MDYgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgorCisgICAgICAgIERvIG5v
dCBkcmF3IG11bHRpLWNoYXJhY3RlcnMgPG1pPiBpbiBpdGFsaWMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2luZ2xlLWNoYXIv
bXVsdGktY2hhciA8bWk+IGVsZW1lbnRzLCB0aGUgbWF0aHZhcmlhbnQKKyAgICAgICAgYXR0cmli
dXRlIGFuZCBNYXRoTUwgdG9rZW4gZWxlbWVudHMgZHluYW1pY2FsbHkgbW9kaWZpZWQuCisKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZh
cmlhbnQuaHRtbDoKKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMt
ZHluYW1pYy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0
aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtbWF0aHZhcmlhbnQuaHRt
bDoKKwogMjAxNC0wMi0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxv
Y2soKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmli
dXRlcy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKaW5kZXggOTRmZDhi
NC4uMjAxMGNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9h
dHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi9hdHRyaWJ1dGVzLW1hdGh2YXJpYW50LWV4cGVjdGVkLmh0bWwKQEAg
LTE1LDEyICsxNSwyMSBAQAogICAgICAgICAgaW1wbGVtZW50YXRpb24gcmVsaWVzIG9uIENTUyBz
dHlsZSBpbnN0ZWFkLiBTZWUgYWxzbyBidWcgMTA4Nzc4LgogICAgICAgLS0+CiAgICAgPGRpdj4K
KyAgICAgIDwhLS0gRklYTUU6IHdlIGFkZCBuZXcgbGluZXMgdG8gd29ya2Fyb3VuZCBhIHdpZHRo
L3NwYWNpbmcgYnVnLiAtLT4KKyAgICAgIDxtYXRoPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZv
bnQtc3R5bGU6IG5vcm1hbDsiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8
bWF0aD4KKyAgICAgICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9tdGV4
dD4KKyAgICAgIDwvbWF0aD48YnIvPgogICAgICAgPG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0i
Zm9udC1zdHlsZTogbm9ybWFsOyI+QTwvbWk+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyI+QTwvbWk+CiAgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRh
bGljOyI+QTwvbXRleHQ+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXdlaWdodDogYm9sZDsiPkE8L21pPgotICAgICAgICA8bWkgc3R5bGU9ImZvbnQtd2VpZ2h0
OiBib2xkOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5BPC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgor
ICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5B
PC9tdGV4dD4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPkE8L210ZXh0
PgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
YXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMtbWF0aHZhcmlhbnQuaHRtbCBiL0xheW91dFRl
c3RzL21hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCmluZGV4
IGMxZDE5ZjYuLjA1YTBhMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCisrKyBiL0xheW91dFRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1tYXRodmFyaWFudC5odG1sCkBAIC0xMSw5ICsxMSwx
NyBAQAogICAgIDxkaXY+CiAgICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJu
b3JtYWwiPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAg
PG1pPkE8L21pPgorICAgICAgPC9tYXRoPjxici8+CisgICAgICA8bWF0aD4KICAgICAgICAgPG10
ZXh0IG1hdGh2YXJpYW50PSJpdGFsaWMiPkE8L210ZXh0PgorICAgICAgPC9tYXRoPjxici8+Cisg
ICAgICA8bWF0aD4KICAgICAgICAgPG1pIG1hdGh2YXJpYW50PSJib2xkIj5BPC9taT4KKyAgICAg
IDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CiAgICAgICAgIDxtaSBtYXRodmFyaWFudD0iYm9s
ZC1pdGFsaWMiPkE8L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLWR5bmFtaWMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50
cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYTJhMjc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0OCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlRva2VuIGVs
ZW1lbnRzIC0gZHluYW1pYyBjaGFuZ2VzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIvPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAjc3R5bGVkID4gbW8geyBj
b2xvcjogcmVkOyB9CisgICAgICAjc3R5bGVkID4gbWkgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAg
ICNzdHlsZWQgPiBtaSB+ICogeyBjb2xvcjogYmx1ZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisKKyAgICA8IS0tIFRlc3QgMSAtLT4KKyAgICA8cCBzdHlsZT0iZGlzcGxh
eTogbm9uZTsiPgorICAgICAgPG1hdGg+PG1pPnNpbjwvbWk+PG1pPng8L21pPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtaT5jb3M8L21pPjxtaT55PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+
dGFuPC9taT48bWk+ejwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICAgIDwhLS0gVGVzdCAyIC0t
PgorICAgIDxwPgorICAgICAgPG1hdGg+PG1uPjE8L21uPjxtbz4rPC9tbz48bW4+MjwvbW4+PG1v
PuKIkjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtbz4oPC9tbz48bXNxcnQ+
PG1mcmFjPjxtbj40PC9tbj48bW4+NTwvbW4+PC9tZnJhYz48L21zcXJ0Pjxtbz5dPC9tbz48L21h
dGg+CisgICAgICA8bWF0aD48bW8+KzwvbW8+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8
L21uPjxtbj43PC9tbj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+
PC9tZnJhYz48L21hdGg+CisgICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDMgLS0+CisgICAgPHA+
CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlhbnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAg
IDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRhbGljIj5zaW48L21pPjwvbWF0aD4KKyAgICAgIDxt
YXRoPjxtaT54PC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+Cisg
ICAgPC9wPgorCisgICAgPCEtLSBUZXN0IDQgLS0+CisgICAgPHA+CisgICAgICA8bWF0aD48bW8g
c3RyZXRjaHk9ImZhbHNlIj57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+NzwvbW4+
PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+PC9tYXRo
PgorICAgICAgPG1hdGg+PG1vPns8L21vPjxtZnJhYz48bWZyYWM+PG1uPjY8L21uPjxtbj43PC9t
bj48L21mcmFjPjxtZnJhYz48bW4+ODwvbW4+PG1uPjk8L21uPjwvbWZyYWM+PC9tZnJhYz48L21h
dGg+CisgICAgPC9wPgorICAgIAorICAgIDwhLS0gVGVzdCA1IC0tPgorICAgIDxwPgorICAgICAg
PG1hdGggaWQ9InN0eWxlZCI+PG1vPi08L21vPjxtaT5zaW48L21pPjxtaT54PC9taT48L21hdGg+
CisgICAgPC9wPgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NTVhMzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVudHMtZHluYW1pYy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+VG9rZW4gZWxlbWVudHMgLSBkeW5hbWljIGNoYW5nZXM8L3RpdGxlPgorICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAg
ICAgICNzdHlsZWQgPiBtbyB7IGNvbG9yOiByZWQ7IH0KKyAgICAgICNzdHlsZWQgPiBtaSB7IGNv
bG9yOiBncmVlbjsgfQorICAgICAgI3N0eWxlZCA+IG1pIH4gKiB7IGNvbG9yOiBibHVlOyB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBm
dW5jdGlvbiBuZXdUZXh0KHQpCisgICAgICB7CisgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh0KTsgCisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAg
eworICAgICAgICB2YXIgbWkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWkiKTsK
KyAgICAgICAgdmFyIG1vID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1vIik7CisK
KyAgICAgICAgLy8gVGVzdCAxCisgICAgICAgIG1pWzBdLnRleHRDb250ZW50ID0gInNpbiI7Cisg
ICAgICAgIG1pWzFdLnRleHRDb250ZW50ID0gIngiOworICAgICAgICBtaVsyXS5hcHBlbmRDaGls
ZChuZXdUZXh0KCJjb3MiKSk7CisgICAgICAgIG1pWzNdLmFwcGVuZENoaWxkKG5ld1RleHQoInki
KSk7CisgICAgICAgIG1pWzRdLnRleHRDb250ZW50ID0gImEiOworICAgICAgICBtaVs0XS5pbnNl
cnRCZWZvcmUobmV3VGV4dCgidCIpLCBtaVs0XS5maXJzdENoaWxkKTsKKyAgICAgICAgbWlbNF0u
YXBwZW5kQ2hpbGQobmV3VGV4dCgibiIpKTsKKyAgICAgICAgbWlbNV0uYXBwZW5kQ2hpbGQobmV3
VGV4dCgib28iKSk7CisgICAgICAgIG1pWzVdLmluc2VydEJlZm9yZShuZXdUZXh0KCJ6IiksIG1p
WzVdLmZpcnN0Q2hpbGQpOworICAgICAgICBtaVs1XS5yZW1vdmVDaGlsZChtaVs1XS5sYXN0Q2hp
bGQpOworCisgICAgICAgIC8vIFRlc3QgMgorICAgICAgICBtb1swXS50ZXh0Q29udGVudCA9ICIr
IjsKKyAgICAgICAgbW9bMV0uYXBwZW5kQ2hpbGQobmV3VGV4dCgiLSIpKTsKKyAgICAgICAgbW9b
Ml0udGV4dENvbnRlbnQgPSAiKCI7CisgICAgICAgIG1vWzNdLmFwcGVuZENoaWxkKG5ld1RleHQo
Il0iKSk7CisgICAgICAgIG1vWzRdLmFwcGVuZENoaWxkKG5ld1RleHQoIi0iKSk7CisgICAgICAg
IG1vWzRdLmluc2VydEJlZm9yZShuZXdUZXh0KCIrIiksIG1vWzRdLmZpcnN0Q2hpbGQpOworICAg
ICAgICBtb1s0XS5yZW1vdmVDaGlsZChtb1s0XS5sYXN0Q2hpbGQpOworICAgICAgICBtb1s1XS5h
cHBlbmRDaGlsZChuZXdUZXh0KCJ8IikpOworICAgICAgICBtb1s1XS5hcHBlbmRDaGlsZChuZXdU
ZXh0KCJ7IikpOworICAgICAgICBtb1s1XS5yZW1vdmVDaGlsZChtb1s1XS5maXJzdENoaWxkKTsK
KworICAgICAgICAvLyBUZXN0IDMKKyAgICAgICAgbWlbNl0uc2V0QXR0cmlidXRlKCJtYXRodmFy
aWFudCIsICJib2xkIik7CisgICAgICAgIG1pWzddLnNldEF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
LCAiaXRhbGljIik7CisgICAgICAgIG1pWzhdLnJlbW92ZUF0dHJpYnV0ZSgibWF0aHZhcmlhbnQi
KTsKKyAgICAgICAgbWlbOV0ucmVtb3ZlQXR0cmlidXRlKCJtYXRodmFyaWFudCIpOworCisgICAg
ICAgIC8vIFRlc3QgNAorICAgICAgICBtb1s2XS5zZXRBdHRyaWJ1dGUoInN0cmV0Y2h5IiwgImZh
bHNlIik7CisgICAgICAgIG1vWzddLnJlbW92ZUF0dHJpYnV0ZSgic3RyZXRjaHkiKTsKKworICAg
ICAgICAvLyBUZXN0IDUKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVuc3R5bGVk
Iikuc2V0QXR0cmlidXRlKCJpZCIsICJzdHlsZWQiKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKyAgICA8IS0tIFRoZXNlIHRl
c3RzIHBlcmZvcm0gZHluYW1pYyBjaGFuZ2VzIG9uIG1pIGFuZCBtbyB0b2tlbiBlbGVtZW50cy4g
VGhleSBzaG91bGQgcmVuZGVyIHRoZSBzYW1lIGFzIHRoZSBzdGF0aWMgcmVmZXJlbmNlLiAtLT4K
KworICAgIDwhLS0gVGVzdCAxIC0tPgorICAgIDwhLS0gRklYTUU6IHNpbmdsZS1jaGFyIDxtaT4g
c2hvdWxkIGJlIGl0YWxpYy4gLS0+CisgICAgPHAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KKyAg
ICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21p
PjxtaT48L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaT48L21pPjxtaT48L21pPjwvbWF0aD4K
KyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgMiAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxt
bj4xPC9tbj48bW8+PC9tbz48bW4+MjwvbW4+PG1vPjwvbW8+PG1uPjM8L21uPjwvbWF0aD4KKyAg
ICAgIDxtYXRoPjxtbz48L21vPjxtc3FydD48bWZyYWM+PG1uPjQ8L21uPjxtbj41PC9tbj48L21m
cmFjPjwvbXNxcnQ+PG1vPjwvbW8+PC9tYXRoPgorICAgICAgPG1hdGg+PG1vPjwvbW8+PG1vPjwv
bW8+PG1mcmFjPjxtZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44
PC9tbj48bW4+OTwvbW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8
IS0tIFRlc3QgMyAtLT4KKyAgICA8cD4KKyAgICAgIDxtYXRoPjxtaT54PC9taT48L21hdGg+Cisg
ICAgICA8bWF0aD48bWk+c2luPC9taT48L21hdGg+CisgICAgICA8bWF0aD48bWkgbWF0aHZhcmlh
bnQ9ImJvbGQiPng8L21pPjwvbWF0aD4KKyAgICAgIDxtYXRoPjxtaSBtYXRodmFyaWFudD0iaXRh
bGljIj5zaW48L21pPjwvbWF0aD4KKyAgICA8L3A+CisKKyAgICA8IS0tIFRlc3QgNCAtLT4KKyAg
ICA8cD4KKyAgICAgIDxtYXRoPjxtbz57PC9tbz48bWZyYWM+PG1mcmFjPjxtbj42PC9tbj48bW4+
NzwvbW4+PC9tZnJhYz48bWZyYWM+PG1uPjg8L21uPjxtbj45PC9tbj48L21mcmFjPjwvbWZyYWM+
PC9tYXRoPgorICAgICAgPG1hdGg+PG1vIHN0cmV0Y2h5PSJmYWxzZSI+ezwvbW8+PG1mcmFjPjxt
ZnJhYz48bW4+NjwvbW4+PG1uPjc8L21uPjwvbWZyYWM+PG1mcmFjPjxtbj44PC9tbj48bW4+OTwv
bW4+PC9tZnJhYz48L21mcmFjPjwvbWF0aD4KKyAgICA8L3A+ICAgIAorCisgICAgPCEtLSBUZXN0
IDUgLS0+CisgICAgPHA+CisgICAgICA8bWF0aCBpZD0idW5zdHlsZWQiPjxtbz4tPC9tbz48bWk+
c2luPC9taT48bWk+eDwvbWk+PC9tYXRoPgorICAgIDwvcD4KKworICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3Rva2VuRWxlbWVu
dHMtbWF0aHZhcmlhbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCmluZGV4IDU1NDBh
MmMuLjM1M2ZmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24v
dG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC1leHBlY3RlZC5o
dG1sCkBAIC0xMSwxMSArMTEsMTcgQEAKICAgICAgICAgPG1vIHN0eWxlPSJmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4mI3gyMjA3OzwvbW8+CiAgICAgICAgIDxtdGV4
dCBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyI+dGV4dDwv
bXRleHQ+CiAgICAgICAgIDxtcyBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdo
dDogbm9ybWFsOyI+JmFtcDs8L21zPgorICAgICAgICA8bXRleHQgc3R5bGU9ImZvbnQtc3R5bGU6
IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnNpbjwvbXRleHQ+CiAgICAgICA8L21hdGg+
CiAgICAgPC9wPgotICAgIDxwPkZvbGxvd2luZyBlbGVtZW50IHNob3VsZCBiZSBpbiBpdGFsaWM6
IAorICAgIDxwPkZvbGxvd2luZyBlbGVtZW50cyBzaG91bGQgYmUgaW4gaXRhbGljOgogICAgICAg
PG1hdGg+Ci0gICAgICAgIDxtaSBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+eDwvbWk+Cisg
ICAgICAgIDxtdGV4dCBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBmb250LXdlaWdodDogbm9y
bWFsOyI+eDwvbXRleHQ+CisgICAgICA8L21hdGg+PGJyLz4KKyAgICAgIDxtYXRoPgorICAgICAg
ICA8IS0tIEZJWE1FOiB0aGUgd2hpdGVzcGFjZSBzaG91bGQgYmUgcmVtb3ZlZCBpbiB0aGUgcmVm
ZXJlbmNlIHdoZW4KKyAgICAgICAgICAgICBidWcgMTI1NjI4IGlzIGZpeGVkLiAtLT4KKyAgICAg
ICAgPG10ZXh0IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ij4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9tdGV4dD4KICAg
ICAgIDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1tYXRodmFyaWFudC5odG1sIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0
bWwKaW5kZXggYTc1Y2JlZi4uZDJjYmFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi90b2tlbkVsZW1lbnRzLW1hdGh2YXJpYW50Lmh0bWwK
QEAgLTExLDExICsxMSwxNiBAQAogICAgICAgICA8bW8+JiN4MjIwNzs8L21vPgogICAgICAgICA8
bXRleHQ+dGV4dDwvbXRleHQ+CiAgICAgICAgIDxtcz4mYW1wOzwvbXM+CisgICAgICAgIDxtaT5z
aW48L21pPgogICAgICAgPC9tYXRoPgogICAgIDwvcD4KLSAgICA8cD5Gb2xsb3dpbmcgZWxlbWVu
dCBzaG91bGQgYmUgaW4gaXRhbGljOiAKKyAgICA8cD5Gb2xsb3dpbmcgZWxlbWVudHMgc2hvdWxk
IGJlIGluIGl0YWxpYzogCisgICAgICA8IS0tIEZJWE1FOiB3ZSBhZGQgYSBuZXcgbGluZSB0byB3
b3JrYXJvdW5kIGEgd2lkdGgvc3BhY2luZyBidWcuIC0tPgogICAgICAgPG1hdGg+CiAgICAgICAg
IDxtaT54PC9taT4KKyAgICAgIDwvbWF0aD48YnIvPgorICAgICAgPG1hdGg+CisgICAgICAgIDxt
aT4mI3gyMDsmI3g5OyYjeEQ7JiN4QTt4JiN4MjA7JiN4OTsmI3hEOyYjeEE7PC9taT4KICAgICAg
IDwvbWF0aD4KICAgICA8L3A+CiAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTdl
ZTIzNi4uMmI5ZGMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIyMjAsNiArMjIyMCw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNj
cmlwdHMuY3BwCiAgICAgcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAKICAg
ICByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuY3BwCisgICAgcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAKICAgICByZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKIAogICAgIHJlbmRlcmluZy9zaGFwZXMvQm94U2hhcGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMmJlMjVmMS4uMjA1Mzk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQxIEBACisyMDE0LTAyLTA2ICBGcsOpZMOpcmljIFdhbmcgIDxmcmVkLndhbmdAZnJlZS5mcj4K
KworICAgICAgICBEbyBub3QgZHJhdyBtdWx0aS1jaGFyYWN0ZXJzIDxtaT4gaW4gaXRhbGljLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHRlc3Qg
cHJldmVudHMgbXVsdGktY2hhciA8bWk+IHRvIGJlIGRyYXduIGluIGl0YWxpYyBhbmQgcHJlcGFy
ZQorICAgICAgICBmdXJ0aGVyIGltcHJvdmVtZW50cyB0byBNYXRoTUwgdG9rZW4gYW5kIG1mZW5j
ZWQgZWxlbWVudHMgKGJ1Z3MgMTI0ODM4CisgICAgICAgIGFuZCBidWcgOTk2MjApLgorCisgICAg
ICAgIFRlc3Q6IG1hdGhtbC9wcmVzZW50YXRpb24vdG9rZW5FbGVtZW50cy1keW5hbWljLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9tYXRobWwuY3Nz
OgorICAgICAgICAobWksIG1vLCBtcm93LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1
YnN1cCwgbW11bHRpc2NyaXB0cywgbXByZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11
bmRlcm92ZXIsIG1zcXJ0LCBtcm9vdCwgbWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9z
ZSk6CisgICAgICAgICogbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1hdGhNTFRleHRFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAo
V2ViQ29yZTo6TWF0aE1MVGV4dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OmlzUmVuZGVyTWF0aE1MVG9rZW4pOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MVG9rZW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
dGhNTFRva2VuOjpSZW5kZXJNYXRoTUxUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxUb2tlbjo6YWRkQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9r
ZW46OmNyZWF0ZVdyYXBwZXJJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRo
TUxUb2tlbjo6dXBkYXRlVG9rZW5Db250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
dGhNTFRva2VuOjp1cGRhdGVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxU
b2tlbjo6c3R5bGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9r
ZW46OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFRva2VuLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9r
ZW46OmVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW4+KToKKwog
MjAxNC0wMi0wNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAg
ICBBU1NFUlRJT04gRkFJTEVEOiAhb2JqZWN0IHx8IChvYmplY3QtPmlzUmVuZGVyQmxvY2soKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVlNWYyZjcuLjAyOGFjYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDUzMSw2ICs0NTMxLDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFNxdWFyZVJvb3QuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxTY3JpcHRzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxTY3JpcHRzLmggXAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MVG9rZW4uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFRva2VuLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9Cb3hTaGFwZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKaW5kZXggZTRkYjNjNy4uYmNjMzFlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMTIxMyw2ICsxMTIxMyw3
IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1h
dGhNTFNwYWNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xt
YXRobWxcUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwIiAvPgorICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tl
bi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJl
bmRlck1hdGhNTFVuZGVyT3Zlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
ZW5kZXJpbmdcc3R5bGVcQmFzaWNTaGFwZXMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccmVuZGVyaW5nXHN0eWxlXENvbnRlbnREYXRhLmNwcCI+CkBAIC0xOTkwNCw2ICsxOTkw
NSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcbWF0aG1sXFJlbmRl
ck1hdGhNTFNwYWNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdc
bWF0aG1sXFJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1MU2NyaXB0cy5oIiAvPgorICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxUb2tlbi5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJN
YXRoTUxVbmRlck92ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmlu
Z1xzdHlsZVxCYXNpY1NoYXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXHN0eWxlXEJvcmRlckRhdGEuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjMGEwNjExLi5l
ZWY3OGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0yNzQ1LDYgKzI3NDUsOSBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCI+
CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0
aE1MVG9rZW4uY3BwIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgor
ICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1h
dGhtbFxSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
XG1hdGhtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtOTU5MCw2ICs5NTkzLDkgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xtYXRobWxcUmVuZGVyTWF0aE1M
U2NyaXB0cy5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXG1hdGht
bFxSZW5kZXJNYXRoTUxUb2tlbi5oIj4KKyAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXG1hdGhtbDwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXG1hdGhtbFxSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCI+CiAgICAgICA8RmlsdGVyPnJl
bmRlcmluZ1xtYXRobWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOWE2MWQ1Li43
ZTUzY2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xNDU0LDYgKzE0NTQsOCBAQAogCQk0MzkwNDZFNjEyREEyNUU4MDBBRjgw
QTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1h
dGhNTFNxdWFyZVJvb3QuaCAqLzsgfTsKIAkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEyIC8qIFJl
bmRlck1hdGhNTFNjcmlwdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDM5MDQ2RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlw
dHMuY3BwICovOyB9OwogCQk0MzkwNDZFODEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1M
U2NyaXB0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDM5MDQ2RDQxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuaCAqLzsgfTsK
KwkJNDM5MDQ2RUIxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzOTA0NkQ3MTJEQTI1
RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgKi87IH07CisJCTQzOTA0NkVDMTJE
QTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJl
bmRlck1hdGhNTFRva2VuLmggKi87IH07CiAJCTQzOTA0NkU5MTJEQTI1RTgwMEFGODBBMiAvKiBS
ZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDM5MDQ2RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVu
ZGVyT3Zlci5jcHAgKi87IH07CiAJCTQzOTA0NkVBMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJN
YXRoTUxVbmRlck92ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQzOTA0NkQ2MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIu
aCAqLzsgfTsKIAkJNDM5RDMzNDMxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDM5RDMzNDAx
M0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlwZS5oICovOyB9OwpAQCAtODMxNyw2ICs4
MzE5LDggQEAKIAkJNDM5MDQ2RDIxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNxdWFy
ZVJvb3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVuZGVyTWF0aE1MU3F1
YXJlUm9vdC5oOyBwYXRoID0gbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM5MDQ2RDMxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRl
ck1hdGhNTFNjcmlwdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
UmVuZGVyTWF0aE1MU2NyaXB0cy5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzOTA0NkQ0MTJEQTI1RTgwMEFG
ODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFJlbmRlck1hdGhNTFNjcmlwdHMuaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxT
Y3JpcHRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzOTA0NkQ3MTJEQTI1RTgw
MEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBSZW5kZXJNYXRoTUxUb2tlbi5jcHA7IHBhdGggPSBtYXRobWwvUmVuZGVy
TWF0aE1MVG9rZW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzkwNDZEODEy
REEyNUU4MDBBRjgwQTkgLyogUmVuZGVyTWF0aE1MVG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gUmVuZGVyTWF0aE1MVG9rZW4uaDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJN
YXRoTUxUb2tlbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzkwNDZENTEyREEy
NUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA7IHBhdGggPSBt
YXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM5MDQ2RDYxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVyT3Zlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW5kZXJNYXRoTUxVbmRlck92ZXIu
aDsgcGF0aCA9IG1hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDM5RDMzNDAxM0E2OTExQzAwQzIwRjRGIC8qIFNWR0FuaW1hdGVkVHlw
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlZFR5cGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjUzLDYgKzE1MjU3LDggQEAKIAkJCQk0
MzkwNDZEMjEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oICovLAog
CQkJCTQzOTA0NkQzMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCAq
LywKIAkJCQk0MzkwNDZENDEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU2NyaXB0cy5o
ICovLAorCQkJCTQzOTA0NkQ3MTJEQTI1RTgwMEFGODBBOSAvKiBSZW5kZXJNYXRoTUxUb2tlbi5j
cHAgKi8sCisJCQkJNDM5MDQ2RDgxMkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2Vu
LmggKi8sCiAJCQkJNDM5MDQ2RDUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFVuZGVy
T3Zlci5jcHAgKi8sCiAJCQkJNDM5MDQ2RDYxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhN
TFVuZGVyT3Zlci5oICovLAogCQkJKTsKQEAgLTI0OTcxLDYgKzI0OTc3LDcgQEAKIAkJCQk0Mzkw
NDZFNjEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDc4MzIyODUxODAxM0VEODAwOTk5RTBDIC8qIE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTA0NkU4MTJEQTI1RTgwMEFGODBBMiAvKiBS
ZW5kZXJNYXRoTUxTY3JpcHRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MzkwNDZFQzEyREEyNUU4
MDBBRjgwQTkgLyogUmVuZGVyTWF0aE1MVG9rZW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTA0
NkVBMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0QzI3OTU5MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJREVCQ0NERDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJlbmRlck1lZGlhQ29u
dHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLywKQEAgLTI4MzE5LDYgKzI4MzI2LDcgQEAKIAkJ
CQk1QjdBMjA4RDJFMTI5NzlCNEFFMTlERTYgLyogUmVuZGVyTWF0aE1MU3BhY2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDM5MDQ2RTUxMkRBMjVFODAwQUY4MEEyIC8qIFJlbmRlck1hdGhNTFNx
dWFyZVJvb3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDM5MDQ2RTcxMkRBMjVFODAwQUY4MEEy
IC8qIFJlbmRlck1hdGhNTFNjcmlwdHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDM5MDQ2RUIx
MkRBMjVFODAwQUY4MEE5IC8qIFJlbmRlck1hdGhNTFRva2VuLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQzOTA0NkU5MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxVbmRlck92ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDMjc5NTgwQ0Y5NzQxOTAwRTk3Qjk4IC8qIFJlbmRlck1l
ZGlhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFNDlCMzA5MTY1RjJGRTEwMDEwMzM4RCAvKiBS
ZW5kZXJNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9tYXRobWwuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGht
bC5jc3MKaW5kZXggMjJkNmI2MS4uZDNhMmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL21hdGhtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21hdGhtbC5jc3MKQEAgLTQy
LDcgKzQyLDcgQEAgbWF0aFtkaXNwbGF5PSJibG9jayJdIHsKICAgICAtd2Via2l0LW1hcmdpbi1h
ZnRlcjogMWVtOwogfQogCi1tbywgbXJvdywgbWZlbmNlZCwgbWZyYWMsIG1zdWIsIG1zdXAsIG1z
dWJzdXAsIG1tdWx0aXNjcmlwdHMsIG1wcmVzY3JpcHRzLCBub25lLCBtdW5kZXIsIG1vdmVyLCBt
dW5kZXJvdmVyLCBtc3FydCwgbXJvb3QsIG1lcnJvciwgbXBoYW50b20sIG1zdHlsZSwgbWVuY2xv
c2UgeworbWksIG1vLCBtcm93LCBtZmVuY2VkLCBtZnJhYywgbXN1YiwgbXN1cCwgbXN1YnN1cCwg
bW11bHRpc2NyaXB0cywgbXByZXNjcmlwdHMsIG5vbmUsIG11bmRlciwgbW92ZXIsIG11bmRlcm92
ZXIsIG1zcXJ0LCBtcm9vdCwgbWVycm9yLCBtcGhhbnRvbSwgbXN0eWxlLCBtZW5jbG9zZSB7CiAg
ICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogfQogCkBAIC05Niw3
ICs5Niw2IEBAIG1zdWIgPiAqICsgKiwgbXN1cCA+ICogKyAqLCBtc3Vic3VwID4gKiArICosIG1t
dWx0aXNjcmlwdHMgPiAqICsgKiwgbXVuZGVyID4gKiArCiB9CiAKIG1pIHsKLSAgICBmb250LXN0
eWxlOiBpdGFsaWM7CiAgICAgLXdlYmtpdC1wYWRkaW5nLWVuZDogMC4xZW07CiB9CiBtc3ViID4g
bWk6Zmlyc3QtY2hpbGQsIG1zdWJzdXAgPiBtaTpmaXJzdC1jaGlsZCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcAppbmRleCA0ZjE3YjZjLi4yNjI1ZDcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhN
TE9wZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MU3BhY2UuaCIKKyNpbmNsdWRlICJS
ZW5kZXJNYXRoTUxUb2tlbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCkBAIC01Miwy
MSArNTMsMzEgQEAgUGFzc1JlZlB0cjxNYXRoTUxUZXh0RWxlbWVudD4gTWF0aE1MVGV4dEVsZW1l
bnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWcKIHZvaWQgTWF0aE1MVGV4dEVsZW1l
bnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiB7CiAgICAgTWF0aE1MRWxlbWVudDo6ZGlkQXR0YWNo
UmVuZGVyZXJzKCk7Ci0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVw
ZGF0ZUZyb21FbGVtZW50KCk7CisgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgICAgaWYgKHJl
bmRlcmVyKCktPmlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKKyAgICAgICAgICAgIHRvUmVuZGVyTWF0
aE1MVG9rZW4ocmVuZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0K
IAogdm9pZCBNYXRoTUxUZXh0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hh
bmdlJiBjaGFuZ2UpCiB7CiAgICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5n
ZSk7Ci0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21F
bGVtZW50KCk7CisgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkt
PmlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKKyAgICAgICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4o
cmVuZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KIH0KIAogUmVuZGVy
UHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUpCiB7CiAgICAgaWYgKGhhc0xvY2FsTmFtZShN
YXRoTUxOYW1lczo6bW9UYWcpKQogICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVy
TWF0aE1MT3BlcmF0b3I+KCp0aGlzLCBzdGQ6Om1vdmUoc3R5bGUpKTsKKyAgICBpZiAoaGFzTG9j
YWxOYW1lKE1hdGhNTE5hbWVzOjptaVRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJl
cjxSZW5kZXJNYXRoTUxUb2tlbj4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwogICAgIGlmICho
YXNMb2NhbE5hbWUoTWF0aE1MTmFtZXM6Om1zcGFjZVRhZykpCiAgICAgICAgIHJldHVybiBjcmVh
dGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxTcGFjZT4oKnRoaXMsIHN0ZDo6bW92ZShzdHlsZSkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYTY5ZWY4Mi4uZjQ5
MmU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtNDE2LDYg
KzQxNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJNYXRoTUxTcXVhcmVS
b290KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJN
YXRoTUxTY3JpcHRzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIGlzUmVuZGVyTWF0aE1MVG9rZW4oKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlck1hdGhNTFVuZGVyT3ZlcigpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmMyNDE4Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAK
QEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRnLDqWTDqXJpYyBX
YW5nIChmcmVkLndhbmdAZnJlZS5mcikuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MVG9r
ZW4uaCIKKworI2lmIEVOQUJMRShNQVRITUwpCisKKyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKwor
UmVuZGVyTWF0aE1MVG9rZW46OlJlbmRlck1hdGhNTFRva2VuKEVsZW1lbnQmIGVsZW1lbnQsIFBh
c3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxlKQorICAgIDogUmVuZGVyTWF0aE1MQmxvY2soZWxlbWVu
dCwgc3RkOjptb3ZlKHN0eWxlKSkKK3sKK30KKworUmVuZGVyTWF0aE1MVG9rZW46OlJlbmRlck1h
dGhNTFRva2VuKERvY3VtZW50JiBkb2N1bWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUp
CisgICAgOiBSZW5kZXJNYXRoTUxCbG9jayhkb2N1bWVudCwgc3RkOjptb3ZlKHN0eWxlKSkKK3sK
K30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdD
aGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3sKKyAgICBjcmVhdGVXcmFwcGVySWZO
ZWVkZWQoKTsKKyAgICB0b1JlbmRlckVsZW1lbnQoZmlyc3RDaGlsZCgpKS0+YWRkQ2hpbGQobmV3
Q2hpbGQsIGJlZm9yZUNoaWxkKTsKK30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6Y3JlYXRl
V3JhcHBlcklmTmVlZGVkKCkKK3sKKyAgICBpZiAoIWZpcnN0Q2hpbGQoKSkgeworICAgICAgICBS
ZW5kZXJQdHI8UmVuZGVyTWF0aE1MQmxvY2s+IHdyYXBwZXIgPSBjcmVhdGVBbm9ueW1vdXNNYXRo
TUxCbG9jaygpOworICAgICAgICAvLyBUaGlzIGNvbnRhaW5lciBkb2Vzbid0IG9mZmVyIGFueSB1
c2VmdWwgaW5mb3JtYXRpb24gdG8gYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgd3JhcHBlci0+c2V0
SWdub3JlSW5BY2Nlc3NpYmlsaXR5VHJlZSh0cnVlKTsKKyAgICAgICAgUmVuZGVyTWF0aE1MQmxv
Y2s6OmFkZENoaWxkKHdyYXBwZXIubGVha1B0cigpKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVy
TWF0aE1MVG9rZW46OnVwZGF0ZVRva2VuQ29udGVudCgpCit7CisgICAgaWYgKCFpc0VtcHR5KCkp
CisgICAgICAgIHVwZGF0ZVN0eWxlKCk7CisgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7Cit9CisKK3ZvaWQgUmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0ZVN0eWxlKCkKK3sK
KyAgICBjb25zdCBhdXRvJiB0b2tlbkVsZW1lbnQgPSBlbGVtZW50KCk7CisKKyAgICAvLyBUaGlz
IHRyaWVzIHRvIGVtdWxhdGUgdGhlIGRlZmF1bHQgbWF0aHZhcmlhbnQgdmFsdWUgb24gPG1pPiB1
c2luZyB0aGUgQ1NTIGZvbnQtc3R5bGUgcHJvcGVydHkuCisgICAgLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGJlIHJldmlzZWQgd2hlbiBtYXRodmFyaWFudCBpcyBpbXBsZW1lbnRlZCAoaHR0cDovL3dr
YnVnLzg1NzM1KSBhbmQgd2hlbiBmb250cyB3aXRoIE1hdGhlbWF0aWNhbCBBbHBoYW51bWVyaWMg
U3ltYm9scyBjaGFyYWN0ZXJzIGFyZSBtb3JlIHBvcHVsYXIuCisgICAgY29uc3QgYXV0byYgd3Jh
cHBlciA9IHRvUmVuZGVyRWxlbWVudChmaXJzdENoaWxkKCkpOworICAgIGF1dG8gbmV3U3R5bGUg
PSBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheSgmc3R5bGUoKSwg
RkxFWCk7CisgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbihuZXdTdHlsZS5nZXQo
KS5mb250RGVzY3JpcHRpb24oKSk7CisgICAgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IgPSBu
ZXdTdHlsZS5nZXQoKS5mb250KCkuZm9udFNlbGVjdG9yKCk7CisgICAgaWYgKGVsZW1lbnQoKS50
ZXh0Q29udGVudCgpLnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpLmxlbmd0
aCgpID09IDEgJiYgIXRva2VuRWxlbWVudC5oYXNBdHRyaWJ1dGUobWF0aHZhcmlhbnRBdHRyKSkK
KyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldEl0YWxpYyh0cnVlKTsKKyAgICBpZiAobmV3U3R5
bGUuZ2V0KCkuc2V0Rm9udERlc2NyaXB0aW9uKGZvbnREZXNjcmlwdGlvbikpCisgICAgICAgIG5l
d1N0eWxlLmdldCgpLmZvbnQoKS51cGRhdGUoZm9udFNlbGVjdG9yKTsKKyAgICB3cmFwcGVyLT5z
ZXRTdHlsZShzdGQ6Om1vdmUobmV3U3R5bGUpKTsKKyAgICB3cmFwcGVyLT5zZXROZWVkc0xheW91
dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKK30KKwordm9pZCBSZW5kZXJNYXRoTUxUb2tlbjo6c3R5
bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkKK3sKKyAgICBSZW5kZXJNYXRoTUxCbG9jazo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xk
U3R5bGUpOworICAgIGlmICghaXNFbXB0eSgpKQorICAgICAgICB1cGRhdGVTdHlsZSgpOworfQor
Cit2b2lkIFJlbmRlck1hdGhNTFRva2VuOjp1cGRhdGVGcm9tRWxlbWVudCgpCit7CisgICAgUmVu
ZGVyTWF0aE1MQmxvY2s6OnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgaWYgKCFpc0VtcHR5KCkp
CisgICAgICAgIHVwZGF0ZVN0eWxlKCk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRI
TUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFRva2VuLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFRva2VuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJmMzdlOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MVG9rZW4uaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEZy
w6lkw6lyaWMgV2FuZyAoZnJlZC53YW5nQGZyZWUuZnIpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZW5kZXJNYXRoTUxUb2tlbl9oCisjZGVmaW5l
IFJlbmRlck1hdGhNTFRva2VuX2gKKworI2lmIEVOQUJMRShNQVRITUwpCisKKyNpbmNsdWRlICJN
YXRoTUxUZXh0RWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1hdGhNTEJsb2NrLmgiCisjaW5j
bHVkZSAiUmVuZGVyVGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBS
ZW5kZXJNYXRoTUxUb2tlbiA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7CitwdWJsaWM6Cisg
ICAgUmVuZGVyTWF0aE1MVG9rZW4oRWxlbWVudCYsIFBhc3NSZWY8UmVuZGVyU3R5bGU+KTsKKyAg
ICBSZW5kZXJNYXRoTUxUb2tlbihEb2N1bWVudCYsIFBhc3NSZWY8UmVuZGVyU3R5bGU+KTsKKwor
ICAgIE1hdGhNTFRleHRFbGVtZW50JiBlbGVtZW50KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TWF0
aE1MVGV4dEVsZW1lbnQmPihub2RlRm9yTm9uQW5vbnltb3VzKCkpOyB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgaXNSZW5kZXJNYXRoTUxUb2tlbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiwgY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
OworICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
VG9rZW5Db250ZW50KCk7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNyZWF0ZVdyYXBwZXJJZk5l
ZWRlZCgpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzQW5vbnltb3VzKCkgPyAiUmVuZGVyTWF0aE1MVG9r
ZW4gKGFub255bW91cykiIDogIlJlbmRlck1hdGhNTFRva2VuIjsgfQorICAgIHZvaWQgdXBkYXRl
RnJvbUVsZW1lbnQoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwor
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHlsZSgpOworfTsKKwordGVtcGxhdGU8PiBpbmxpbmUg
Ym9vbCBpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFJlbmRlck1hdGhNTFRva2VuPihjb25zdCBSZW5k
ZXJPYmplY3QmIHJlbmRlcmVyKSB7IHJldHVybiByZW5kZXJlci5pc1JlbmRlck1hdGhNTFRva2Vu
KCk7IH0KK1JFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxUb2tlbiwgaXNSZW5k
ZXJNYXRoTUxUb2tlbigpKQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQorI2VuZGlm
IC8vIFJlbmRlck1hdGhNTFRva2VuX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>