<?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>67790</bug_id>
          
          <creation_ts>2011-09-08 10:59:55 -0700</creation_ts>
          <short_desc>&lt;style scoped&gt;: Implement registering of &lt;style scoped&gt; with the scoping element</short_desc>
          <delta_ts>2012-01-24 22:48:47 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>67718</dependson>
    
    <dependson>73893</dependson>
          <blocked>49142</blocked>
    
    <blocked>67720</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>gustavo</cc>
    
    <cc>hyatt</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>464172</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-09-08 10:59:55 -0700</bug_when>
    <thetext>For fast processing of &lt;style scoped&gt; it is necessary that the containing element (i.e., the scope) &quot;knows&quot; of direct &lt;style scoped&gt; children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465200</commentid>
    <comment_count>1</comment_count>
      <attachid>106955</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-09-09 20:02:59 -0700</bug_when>
    <thetext>Created attachment 106955
work-in-progress

work-in-progress patch, also get linker symbols from EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465202</commentid>
    <comment_count>2</comment_count>
      <attachid>106956</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-09-09 20:05:39 -0700</bug_when>
    <thetext>Created attachment 106956
work-in-progress

work-in-progress patch (combined with IDL patch to allow it to compile)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465294</commentid>
    <comment_count>3</comment_count>
      <attachid>106956</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-09-10 07:09:58 -0700</bug_when>
    <thetext>Comment on attachment 106956
work-in-progress

Attachment 106956 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9639029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467458</commentid>
    <comment_count>4</comment_count>
      <attachid>107417</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-09-14 16:13:24 -0700</bug_when>
    <thetext>Created attachment 107417
Patch

Functional patch, but will not compile without the patch for 67718. Also still a bit-work-in-progressy, as scoped stylesheets are not registered unless in the document, which may or may not matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503567</commentid>
    <comment_count>5</comment_count>
      <attachid>115316</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-15 21:11:53 -0800</bug_when>
    <thetext>Created attachment 115316
updated patch

Updated patch - removed conflicts and work-in-progress comments, otherwise the same as the previous patch. Will r? once 67718 has landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515622</commentid>
    <comment_count>6</comment_count>
      <attachid>117986</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-12-05 20:56:18 -0800</bug_when>
    <thetext>Created attachment 117986
patch with flag

patch, same as before, just added ENABLE(STYLE_SCOPED) flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515630</commentid>
    <comment_count>7</comment_count>
      <attachid>117986</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-05 21:16:18 -0800</bug_when>
    <thetext>Comment on attachment 117986
patch with flag

Attachment 117986 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10689733</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515633</commentid>
    <comment_count>8</comment_count>
      <attachid>117986</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 21:27:37 -0800</bug_when>
    <thetext>Comment on attachment 117986
patch with flag

Attachment 117986 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10731897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515644</commentid>
    <comment_count>9</comment_count>
      <attachid>117986</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-05 22:02:16 -0800</bug_when>
    <thetext>Comment on attachment 117986
patch with flag

Attachment 117986 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10736570</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515659</commentid>
    <comment_count>10</comment_count>
      <attachid>117986</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 22:32:40 -0800</bug_when>
    <thetext>Comment on attachment 117986
patch with flag

Attachment 117986 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10739018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515660</commentid>
    <comment_count>11</comment_count>
      <attachid>117989</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-12-05 22:33:08 -0800</bug_when>
    <thetext>Created attachment 117989
patch with flag, corrected

missed a change, new patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515710</commentid>
    <comment_count>12</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-12-06 00:37:27 -0800</bug_when>
    <thetext>Note: Windows should be pacified as well, once the patch for bug 73893 is landed (&lt;style scoped&gt; being incorrectly enabled by default on Windows).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515719</commentid>
    <comment_count>13</comment_count>
      <attachid>118004</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-12-06 00:49:19 -0800</bug_when>
    <thetext>Created attachment 118004
patch with flag, for EWS

re-submit same patch to make sure EWS is happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529990</commentid>
    <comment_count>14</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-04 21:18:12 -0800</bug_when>
    <thetext>New Year request for review! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530035</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-04 23:41:49 -0800</bug_when>
    <thetext>&gt; New Year request for review! :)

Do you have someone in mind who you think should review this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530036</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-04 23:42:05 -0800</bug_when>
    <thetext>(and the other patches you pinged)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530366</commentid>
    <comment_count>17</comment_count>
      <attachid>118004</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-01-05 09:56:07 -0800</bug_when>
    <thetext>Comment on attachment 118004
patch with flag, for EWS

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

&gt; Source/WebCore/dom/Element.cpp:1851
&gt; +std::size_t Element::numberOfScopedHTMLStyleChildren() const

The std:: prefix is not needed here.

&gt; Source/WebCore/dom/Element.h:298
&gt; +    void registerScopedHTMLStyleChild();

I wonder if we should avoid adding more members to Element.h. It&apos;s already pretty fat. Fat classes suck.

Can these methods be organized into a helper class somehow? Just thinking outloud.

&gt; Source/WebCore/dom/Element.h:301
&gt; +    std::size_t numberOfScopedHTMLStyleChildren() const;

Ditto.

&gt; Source/WebCore/dom/ElementRareData.h:58
&gt; +    std::size_t m_numberOfScopedHTMLStyleChildren;

Ditto.

&gt; Source/WebCore/testing/Internals.idl:34
&gt; +        unsigned long numberOfScopedHTMLStyleChildren(in Element element) raises(DOMException);

Isn&apos;t there a [Conditional] directive or something to avoid the ifdefs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532870</commentid>
    <comment_count>18</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-10 00:52:50 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Do you have someone in mind who you think should review this patch?

Well, Antti reviewed some of the patches so far. I guess Dave Hyatt would also be an obvious (if overworked) candidate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541145</commentid>
    <comment_count>19</comment_count>
      <attachid>123702</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-23 23:26:42 -0800</bug_when>
    <thetext>Created attachment 123702
patch, updated

Slightly updated version of patch (and de-conflicted)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541162</commentid>
    <comment_count>20</comment_count>
      <attachid>123704</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-24 00:40:57 -0800</bug_when>
    <thetext>Created attachment 123704
patch, updated

Slightly updated version of patch (and de-conflicted), this time with less cruft</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541164</commentid>
    <comment_count>21</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-24 00:43:34 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; Source/WebCore/dom/Element.cpp:1851
&gt; &gt; +std::size_t Element::numberOfScopedHTMLStyleChildren() const
&gt; 
&gt; The std:: prefix is not needed here.

removed all occurrences of std::.

&gt; &gt; Source/WebCore/dom/Element.h:298
&gt; &gt; +    void registerScopedHTMLStyleChild();
&gt; 
&gt; I wonder if we should avoid adding more members to Element.h. It&apos;s already pretty fat. Fat classes suck.
&gt; 
&gt; Can these methods be organized into a helper class somehow? Just thinking outloud.

At this point I would like to avoid anything that would increase the patch size. I&apos;m happy to follow up with a clean-up patch afterwards.

&gt; &gt; Source/WebCore/testing/Internals.idl:34
&gt; &gt; +        unsigned long numberOfScopedHTMLStyleChildren(in Element element) raises(DOMException);
&gt; 
&gt; Isn&apos;t there a [Conditional] directive or something to avoid the ifdefs?

I took out a leaf from the ShadowRoot book and made the function unconditional - it simply returns 0 in the unsupported case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541221</commentid>
    <comment_count>22</comment_count>
      <attachid>123704</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-24 03:40:11 -0800</bug_when>
    <thetext>Comment on attachment 123704
patch, updated

Attachment 123704 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11118699

New failing tests:
media/audio-garbage-collect.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541368</commentid>
    <comment_count>23</comment_count>
      <attachid>123704</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-01-24 08:59:26 -0800</bug_when>
    <thetext>Comment on attachment 123704
patch, updated

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

&gt; Source/WebCore/dom/Element.h:310
&gt; +#if ENABLE(STYLE_SCOPED)
&gt; +    void registerScopedHTMLStyleChild();
&gt; +    void unregisterScopedHTMLStyleChild();
&gt; +    bool hasScopedHTMLStyleChild() const;
&gt; +    size_t numberOfScopedHTMLStyleChildren() const;
&gt; +#endif

This plumbing-through just looks unkempt. Please consider cleaning up in follow-up patches.

&gt; Source/WebCore/testing/Internals.cpp:167
&gt; +std::size_t Internals::numberOfScopedHTMLStyleChildren(const Element* element, ExceptionCode&amp; ec) const

Please kill remaining std prefixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542024</commentid>
    <comment_count>24</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-24 22:48:47 -0800</bug_when>
    <thetext>Committed r105849: &lt;http://trac.webkit.org/changeset/105849&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106955</attachid>
            <date>2011-09-09 20:02:59 -0700</date>
            <delta_ts>2011-09-09 20:05:35 -0700</delta_ts>
            <desc>work-in-progress</desc>
            <filename>bug-67790-20110909200258.patch</filename>
            <type>text/plain</type>
            <size>26685</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ4MjEKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2ZTFkODg4YWY5ODI5N2VkZTQxOTQyYTViZTEzMTA0ZGExOTU3OWE4Li41ZjA3
MTg5YTY0N2ZmYjkxMGU5OTJjNGJkZTkxNmUwMzNmNWM5OGI2IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDkgIFJvbGFuZCBT
dGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNj
b3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBz
Y29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NzkwCisKKyAgICAgICAgd2luZG93cy5pbnRlcm5hbHMgdXBkYXRlcyAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMDktMDggIFZhcnVuIEphaW4gIDx2YXJ1bmph
aW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgZG91YmxlIHRhcCBkZXRlY3Rpb24g
aW4gR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE4NDI1MGE3YTI1NTZhMTM1MjI0
ZGMzMWFhNzFkM2VlZGNhNjIxN2MuLjI4ZWQ1NDU2YzczMDkyMmE3NzQ4ZDk2MTk5ZmE4Njc0ODk1
OTRkOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wOS0wOSAgUm9sYW5kIFN0ZWluZXIg
IDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8c3R5bGUgc2NvcGVkPjog
SW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggdGhlIHNjb3Bpbmcg
ZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njc3OTAKKworICAgICAgICBUZXN0cyB0aGF0IHJlZ2lzdHJhdGlvbiBvZiA8c3R5bGUgc2NvcGVk
PiB3aXRoIGl0cyBwYXJlbnQgaXMgcGVyZm9ybWVkIGNvcnJlY3RseQorICAgICAgICBpbiB2YXJp
b3VzIGNpcmN1bXN0YW5jZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDktMDggIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgPHN0eWxlIHNjb3BlZD46IEFkZCAnc2NvcGVkJyBhdHRyaWJ1dGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3Rlcmlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWZlMjQ5M2I5MWJhYTU5YmZmMTIyNmYxOTQzNWNlODU5ZWQwZmFkMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdp
c3RlcmluZy5odG1sCkBAIC0wLDAgKzEsMTc3IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRlc3QgW3VuXXJlZ2lzdGVyaW5n
IGEgJmx0O3N0eWxlIHNjb3BlZCZndDsgZWxlbWVudCBmcm9tIGl0cyBwYXJlbnQ8L3A+CisgICAg
PGRpdiBpZD0ic2NvcGUxIj4KKyAgICAgICAgPHN0eWxlIGlkPSJnbG9iYWwxIj48L3N0eWxlPgor
ICAgICAgICA8c3R5bGUgc2NvcGVkPSdzY29wZWQxJyBpZD0ic2NvcGVkMSI+PC9zdHlsZT4KKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJzY29wZTIiPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMgfHwgIXdpbmRvdy5pbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbikKKyAgICAgICAgICAgIGRlYnVnKCJ3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuIG5vdCBmb3VuZCEiKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICB2YXIgc2NvcGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlMScpOworICAg
ICAgICAgICAgdmFyIHNjb3BlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZTInKTsK
KyAgICAgICAgICAgIHZhciBzY29wZTMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KworICAgICAgICAgICAgdmFyIGdsb2JhbDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2xv
YmFsMScpOworICAgICAgICAgICAgdmFyIHNjb3BlZDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2NvcGVkMScpOworCisgICAgICAgICAgICB2YXIgZ2xvYmFsMiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3N0eWxlJyk7CisgICAgICAgICAgICB2YXIgc2NvcGVkMiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgICAgICAgICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgn
c2NvcGVkJywgJ3Njb3BlZCcpOworICAgICAgICAgICAgdmFyIHNjb3BlZDMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAgc2NvcGVkMy5zY29wZWQgPSB0cnVl
OworLyogdmVyc2lvbiB3aGVyZSA8c3R5bGUgc2NvcGVkPiBvdXRzaWRlIHRoZSBkb2N1bWVudCBJ
UyByZWdpc3RlcmVkOgorICAgICAgICAgICAgZGVidWcoIi0tLSBJbml0aWFsIC0tLSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykiLCAiMCIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEF0dGFjaGluZyAtLS0iKTsKKyAg
ICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3Bl
Mi5hcHBlbmRDaGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChz
Y29wZWQzKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTMpIiwgIjEiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRp
bmcgQHNjb3BlZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7Cisg
ICAgICAgICAgICBzY29wZWQyLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMy5y
ZW1vdmVBdHRyaWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBkZWJ1ZygiLS0tIFJlLXNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAgICAgICAg
ICAgIHNjb3BlZDEuc2NvcGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2V0QXR0cmli
dXRlKCdzY29wZWQnLCAnc2NvcGVkJyk7CisgICAgICAgICAgICBzY29wZWQzLnNldEF0dHJpYnV0
ZSgnc2NvcGVkJywgJycpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMiki
LCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMSIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0t
IEluc2VydGluZy9yZW1vdmluZyBzY29wZSBlbGVtZW50cyBmcm9tIGRvY3VtZW50IC0tLSIpOwor
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY29wZTIpOworICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY29wZTMpOworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAi
MSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMSIpOworCisg
ICAgICAgICAgICBkZWJ1ZygiLS0tIE11bHRpcGxlIHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3aXRo
aW4gc2luZ2xlIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKHNj
b3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKGdsb2JhbDIpOworICAgICAg
ICAgICAgc2NvcGUzLnJlbW92ZUNoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2NvcGUxLmFw
cGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3Bl
ZDIpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMSkiLCAiMyIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAi
MCIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFJlbW92aW5nIHNjb3BpbmcgZWxlbWVudCBm
cm9tIGRvY3VtZW50IC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZChzY29wZTEpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMyIpOworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIp
OworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluc2Vy
dGluZyBzY29wZSB3aXRoaW4gb3RoZXIgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZTEu
cmVtb3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2Nv
cGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTEpIiwgIjIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwg
IjAiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRpbmcgQHNjb3BlZCBpbiBuZXN0
ZWQgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IGZhbHNlOworICAg
ICAgICAgICAgc2NvcGVkMi5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIp
OworKi8KKy8qIHZlcnNpb24gd2hlcmUgPHN0eWxlIHNjb3BlZD4gb3V0c2lkZSB0aGUgZG9jdW1l
bnQgaXMgTk9UIHJlZ2lzdGVyZWQ6ICovCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluaXRpYWwg
LS0tIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQXR0YWNoaW5n
IC0tLSIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAg
ICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLmFw
cGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MikiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworCisgICAgICAgICAgICBkZWJ1Zygi
LS0tIFVuc2V0dGluZyBAc2NvcGVkIC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAg
ICBzY29wZWQzLnJlbW92ZUF0dHJpYnV0ZSgnc2NvcGVkJyk7CisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIw
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIGRlYnVnKCItLS0gUmUtc2V0dGluZyBAc2NvcGVkIC0tLSIp
OworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSB0cnVlOworICAgICAgICAgICAgc2NvcGVk
Mi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHNjb3BlZDMu
c2V0QXR0cmlidXRlKCdzY29wZWQnLCAnJyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUyKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAg
IGRlYnVnKCItLS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNjb3BlIGVsZW1lbnRzIGZyb20gZG9jdW1l
bnQgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjb3BlMik7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjb3BlMyk7CisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUxKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7CisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIs
ICIxIik7CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gTXVsdGlwbGUgc2NvcGVkIHN0eWxlIGVs
ZW1lbnRzIHdpdGhpbiBzaW5nbGUgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZTIucmVt
b3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIucmVtb3ZlQ2hpbGQoZ2xvYmFs
Mik7CisgICAgICAgICAgICBzY29wZTMucmVtb3ZlQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAg
ICBzY29wZTEuYXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzY29wZTEuYXBwZW5k
Q2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTEuYXBwZW5kQ2hpbGQoZ2xvYmFsMik7
CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oc2NvcGUxKSIsICIzIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7CisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gUmVtb3Zpbmcgc2NvcGlu
ZyBlbGVtZW50IGZyb20gZG9jdW1lbnQgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKHNjb3BlMSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIwIik7CisgICAgICAgICAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUyKSIsICIwIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVn
KCItLS0gSW5zZXJ0aW5nIHNjb3BlIHdpdGhpbiBvdGhlciBzY29wZSAtLS0iKTsKKyAgICAgICAg
ICAgIHNjb3BlMS5yZW1vdmVDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBl
bmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZTEp
OworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMSkiLCAiMiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykiLCAiMCIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFVuc2V0dGluZyBAc2Nv
cGVkIGluIG5lc3RlZCBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0g
ZmFsc2U7CisgICAgICAgICAgICBzY29wZWQyLnJlbW92ZUF0dHJpYnV0ZSgnc2NvcGVkJyk7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUxKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7CisgICAgICAgICAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUzKSIsICIwIik7CisvKiovCisgICAgICAgICAgICBkZWJ1ZygiLS0tIERPTkUgLS0tIik7Cisg
ICAgICAgIH0KKyAgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGExZTVhNjZmNTZm
YWI1MjgwMDUwMWRiOWJhYmFmMWIzYTEwODZlNmIuLjJkZjg5ZGJhM2QzMjY2NGZlZDZjZDVkODQz
OWIwZTE4OTdjNWY1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMS0wOS0wOSAg
Um9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8
c3R5bGUgc2NvcGVkPjogSW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdp
dGggdGhlIHNjb3BpbmcgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njc3OTAKKworICAgICAgICBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2Yg
YSA8c3R5bGU+IGVsZW1lbnQgd2l0aCBpdHMgcGFyZW50IGVsZW1lbnQgaWYgdGhlICdzY29wZWQn
IGF0dHJpYnV0ZSBpcyBzZXQuCisgICAgICAgIFVwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdoZW5l
dmVyIHRoZSAnc2NvcGVkJyBhdHRyaWJ1dGUgaXMgY2hhbmdlZCwKKyAgICAgICAgb3IgdGhlIDxz
dHlsZT4gZWxlbWVudCBlbmV0ZXJzIG9yIGxlYXZlcyB0aGUgdHJlZS4KKworICAgICAgICBBbHNv
LCBleHRlbmQgd2luZG93cy5pbnRlcm5hbHMgdG8gYWxsb3cgZm9yIHRlc3Rpbmcgb2YgdGhlIHJl
Z2lzdHJhdGlvbiByZWYtY291bnRpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5n
Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1bnJlZ2lzdGVyU2NvcGVkSFRN
TFN0eWxlQ2hpbGQpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL0Vs
ZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjpFbGVt
ZW50UmFyZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjpyZWdpc3Rl
clNjb3BlZEhUTUxTdHlsZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0
YTo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnRSYXJlRGF0YTo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFJhcmVEYXRhOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKToKKyAg
ICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
U3R5bGVFbGVtZW50Ojp+SFRNTFN0eWxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
U3R5bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU3R5bGVFbGVtZW50OjpyZWdpc3RlcldpdGhTY29waW5nTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6d2lsbFJlbW92ZSk6CisgICAgICAg
ICogaHRtbC9IVE1MU3R5bGVFbGVtZW50Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wOS0wOCAgUm9sYW5kIFN0ZWluZXIgIDxyb2xh
bmRzdGVpbmVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICA8c3R5bGUgc2NvcGVkPjogQWRkICdz
Y29wZWQnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2MTk0NGUwYTIzMjA1ZjZh
ZDMxZDIxYjc2MGZhNDUxMjMzZjNlYWFhLi41NjY5NjdkN2E3MGFmOThjM2IxODY4MWEyMWU1ZDY5
OTczYWEwYjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTMwNCw2ICsxMzA0LDcgQEAgX19a
Tks3V2ViQ29yZTZXaWRnZXQ5ZnJhbWVSZWN0RXYKIF9fWk5LN1dlYkNvcmU3RWxlbWVudDEwc2Ny
ZWVuUmVjdEV2CiBfX1pOSzdXZWJDb3JlN0VsZW1lbnQxMHNoYWRvd1Jvb3RFdgogX19aTks3V2Vi
Q29yZTdFbGVtZW50MTJnZXRBdHRyaWJ1dGVFUktOU18xM1F1YWxpZmllZE5hbWVFCitfX1pOSzdX
ZWJDb3JlN0VsZW1lbnQzMW51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5FdgogX19aTks3
V2ViQ29yZTdJbnRSZWN0MTBpbnRlcnNlY3RzRVJLUzBfCiBfX1pOSzdXZWJDb3JlN0ludFJlY3Q4
Y29udGFpbnNFUktTMF8KIF9fWk5LN1dlYkNvcmU3SW50UmVjdGN2NkNHUmVjdEV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggMmYyYjYyM2I3YzIxMWIyZmM0ZWZmYWE1NzdkYmI1ZTUxMmI5ZWVl
Yy4uYWZmMzJjN2M1NTgzYTE3ODI0YTc4ZDAxODVlYmFhOTg5NjU3ZDQ3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcApAQCAtMTgxMiw2ICsxODEyLDI4IEBAIHVuc2lnbmVkIEVsZW1lbnQ6OmNoaWxk
RWxlbWVudENvdW50KCkgY29uc3QKICAgICByZXR1cm4gY291bnQ7CiB9CiAKK2Jvb2wgRWxlbWVu
dDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJl
RGF0YSgpICYmIHJhcmVEYXRhKCktPmhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3N0
ZDo6c2l6ZV90IEVsZW1lbnQ6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25z
dAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gcmFyZURhdGEoKS0+bnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbigpIDogMDsKK30KKwordm9pZCBFbGVtZW50OjpyZWdpc3RlclNj
b3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBlbnN1cmVSYXJlRGF0YSgpLT5yZWdpc3RlclNj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3ZvaWQgRWxlbWVudDo6dW5yZWdpc3RlclNjb3Bl
ZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgaWYg
KGhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJhcmVEYXRhKCktPnVucmVnaXN0ZXJTY29wZWRIVE1M
U3R5bGVDaGlsZCgpOworfQorCiBib29sIEVsZW1lbnQ6OndlYmtpdE1hdGNoZXNTZWxlY3Rvcihj
b25zdCBTdHJpbmcmIHNlbGVjdG9yLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoc2Vs
ZWN0b3IuaXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkMmE4NzZmY2M3NDFjNzdk
NzBhNDJmYjE0Njg1MWE2M2E2OTg5N2JiLi5mNTE1ZTU3OWJhYzYzODRkMDdiODRhOTQ2ZTdjNzVj
OWFlZDZhOWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTI5Miw2ICsyOTIsMTEgQEAgcHVibGlj
OgogICAgIEVsZW1lbnQqIG5leHRFbGVtZW50U2libGluZygpIGNvbnN0OwogICAgIHVuc2lnbmVk
IGNoaWxkRWxlbWVudENvdW50KCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRN
TFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgp
OworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsKKyAgICBzdGQ6OnNp
emVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3Q7CisKICAgICBib29s
IHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9u
Q29kZSYpOwogCiAgICAgRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaAppbmRleCAxY2FjY2Q0OTRmMTBmMmE2YzMwNmU2MGJlMTM0NGE3NTQ2
NWUyOTZmLi41ODBkMGY1MzViODM4ZTkyZmQwYzE2MTU4OTIwMTBkNWE4MjRkODZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zOSw2ICszOSwxMSBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHJlc2V0Q29tcHV0ZWRTdHlsZSgpOwogCisgICAgdm9pZCByZWdpc3RlclNjb3Bl
ZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hp
bGQoKTsKKyAgICBib29sIGhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3Q7CisgICAgc3Rk
OjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0OworCiAgICAg
dXNpbmcgTm9kZVJhcmVEYXRhOjpuZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0
dGFjaDsKICAgICB1c2luZyBOb2RlUmFyZURhdGE6OnNldE5lZWRzRm9jdXNBcHBlYXJhbmNlVXBk
YXRlU29vbkFmdGVyQXR0YWNoOwogCkBAIC00Nyw2ICs1Miw4IEBAIHB1YmxpYzoKICAgICBTaGFk
b3dSb290KiBtX3NoYWRvd1Jvb3Q7CiAgICAgQXRvbWljU3RyaW5nIG1fc2hhZG93UHNldWRvSWQ7
CiAKKyAgICBzdGQ6OnNpemVfdCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47CisK
ICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOwog
ICAgIE93blB0cjxDbGFzc0xpc3Q+IG1fY2xhc3NMaXN0OwogCkBAIC02NSw2ICs3Miw3IEBAIGlu
bGluZSBJbnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkKIGlubGluZSBFbGVt
ZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSgpCiAgICAgOiBtX21pbmltdW1TaXplRm9yUmVz
aXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKSkKICAgICAsIG1fc2hhZG93Um9v
dCgwKQorICAgICwgbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKDApCiAgICAgLCBt
X3N0eWxlQWZmZWN0ZWRCeUVtcHR5KGZhbHNlKQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkK
ICAgICAsIG1fY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudChmYWxzZSkKQEAgLTc3LDYgKzg1LDI4
IEBAIGlubGluZSBFbGVtZW50UmFyZURhdGE6On5FbGVtZW50UmFyZURhdGEoKQogICAgIEFTU0VS
VCghbV9zaGFkb3dSb290KTsKIH0KIAoraW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZWdp
c3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICArK21fbnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbjsKK30KKworaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjp1bnJlZ2lz
dGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQoreworICAgIEFTU0VSVChtX251bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4gPiAwKTsKKyAgICBpZiAobV9udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuID4gMCkKKyAgICAgICAgLS1tX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW47Cit9CisKK2lubGluZSBib29sIEVsZW1lbnRSYXJlRGF0YTo6aGFzU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKSBjb25zdAoreworICAgIHJldHVybiBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW47Cit9CisKK2lubGluZSBzdGQ6OnNpemVfdCBFbGVtZW50UmFyZURhdGE6Om51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdAoreworICAgIHJldHVybiBtX251bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKIGlubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0
YTo6cmVzZXRDb21wdXRlZFN0eWxlKCkKIHsKICAgICBtX2NvbXB1dGVkU3R5bGUuY2xlYXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCmluZGV4IDczMTI1NzU0MTFh
ZjRhNjc2ZDZhNDFiN2NiYjI1MWRmZmEzYTQ5NTAuLjJkNmM3NmNjOGRkOGE1ZmM2YmRkYzI5MmZi
ODA3YzkwMTAyZDQzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNw
cApAQCAtMzgsMTIgKzM4LDE1IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBpbmxpbmUg
SFRNTFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKQogICAgIDog
SFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBTdHlsZUVsZW1lbnQoZG9jdW1l
bnQsIGNyZWF0ZWRCeVBhcnNlcikKKyAgICAsIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2Rl
KGZhbHNlKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKHN0eWxlVGFnKSk7CiB9CiAKIEhUTUxT
dHlsZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KCkKIHsKKyAgICAvLyBEdXJpbmcgdGVhci1k
b3duLCB3aWxsUmVtb3ZlIGlzbid0IGNhbGxlZCwgc28gbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGlu
Z05vZGUgbWF5IHN0aWxsIGJlIHNldCBoZXJlLgorICAgIC8vIFRoZXJlZm9yZSB3ZSBjYW4ndCBB
U1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKS4KICAgICBTdHlsZUVsZW1lbnQ6
OmNsZWFyRG9jdW1lbnREYXRhKGRvY3VtZW50KCksIHRoaXMpOwogfQogCkBAIC01Niw3ICs1OSwx
MiBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSogYXR0cikKIHsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IHRpdGxlQXR0ciAmJiBtX3NoZWV0
KQogICAgICAgICBtX3NoZWV0LT5zZXRUaXRsZShhdHRyLT52YWx1ZSgpKTsKLSAgICBlbHNlCisg
ICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IHNjb3BlZEF0dHIpIHsKKyAgICAgICAgaWYgKCFh
dHRyLT5pc051bGwoKSAmJiAhbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgJiYgaW5Eb2N1
bWVudCgpKQorICAgICAgICAgICAgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICAgICAg
ZWxzZSBpZiAoYXR0ci0+aXNOdWxsKCkgJiYgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUp
CisgICAgICAgICAgICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAgfSBlbHNlCiAg
ICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KIApAQCAt
NjYsMTggKzc0LDczIEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxk
cmVuKCkKICAgICBIVE1MRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKK3Zv
aWQgSFRNTFN0eWxlRWxlbWVudDo6cmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKQoreworICAgIC8v
IE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSAnc2NvcGVkJyBlbGVtZW50IGFscmVhZHkgYmVp
bmcgcHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlzIGludm9rZWQuCisgICAgLy8gVGhlcmVmb3Jl
IHdlIGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQorICAgIEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRX
aXRoU2NvcGluZ05vZGUpOworICAgIEFTU0VSVChpbkRvY3VtZW50KCkpOworICAgIGlmICghbV9p
c1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpIHsKKyAgICAgICAgRWxlbWVudCogc2NvcGUgPSBw
YXJlbnRFbGVtZW50KCk7CisgICAgICAgIGlmICghc2NvcGUpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgc2NvcGUtPnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICAg
ICAgc2NvcGUtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAgaWYgKGluRG9jdW1lbnQo
KSAmJiAhZG9jdW1lbnQoKS0+cGFyc2luZygpICYmIGRvY3VtZW50KCktPnJlbmRlcmVyKCkpCisg
ICAgICAgICAgICBkb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9yQ2hhbmdlZChEZWZlclJlY2FsY1N0
eWxlKTsKKworICAgICAgICBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSA9IHRydWU7Cisg
ICAgfQorfQorCit2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05v
ZGUoKQoreworICAgIC8vIE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSAnc2NvcGVkJyBlbGVt
ZW50IHN0aWxsIGJlaW5nIHByZXNlbnQgd2hlbiB0aGlzIG1ldGhvZCBpcyBpbnZva2VkLgorICAg
IC8vIFRoZXJlZm9yZSB3ZSBjYW5ub3QgcmVseSBvbiBzY29wZWQoKSEKKyAgICBBU1NFUlQobV9p
c1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOworICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50KiBzY29wZSA9IHBhcmVudEVsZW1lbnQoKTsK
KyAgICAgICAgQVNTRVJUKHNjb3BlKTsKKyAgICAgICAgaWYgKHNjb3BlKSB7CisgICAgICAgICAg
ICBBU1NFUlQoc2NvcGUtPmhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkpOworICAgICAgICAgICAg
c2NvcGUtPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgICAgICAgICAgc2Nv
cGUtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaW5Eb2N1
bWVudCgpICYmICFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIo
KSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVj
YWxjU3R5bGUpOworCisgICAgICAgIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlID0gZmFs
c2U7CisgICAgfQorfQorCiB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3Vt
ZW50KCkKIHsKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICBT
dHlsZUVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KGRvY3VtZW50KCksIHRoaXMpOworICAg
IGlmIChzY29wZWQoKSAmJiAhbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAgICAg
IHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CiB9CiAKIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6
cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7CisgICAgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSk7CiAgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKICAg
ICBTdHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhpcyk7CiB9
CiAKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6d2lsbFJlbW92ZSgpCit7CisvLyBQUk9CTEVNOiAk
JCQKKy8vIHdpbGxSZW1vdmUoKSBpcyBhbHNvIGNhbGxlZCBpZiBhbiBhbmNlc3RvciBpcyByZW1v
dmVkIGZyb20gdGhlIGRvY3VtZW50LgorLy8gTm93LCBpZiB3ZSB3YW50IHRvIHJlZ2lzdGVyIDxz
dHlsZSBzY29wZWQ+IGV2ZW4gaWYgaXQncyBub3QgaW5Eb2N1bWVudCwKKy8vIHdlJ2QgbmVlZCB0
byBmaW5kIGEgd2F5IHRvIGRpc2Nlcm4gd2hldGhlciB0aGF0IGlzIHRoZSBjYXNlLCBvciB3aGV0
aGVyIDxzdHlsZSBzY29wZWQ+IGl0c2VsZiBpcyBhYm91dCB0byBiZSByZW1vdmVkLgorICAgIEFT
U0VSVCghc2NvcGVkKCkgfHwgIWluRG9jdW1lbnQoKSB8fCBtX2lzUmVnaXN0ZXJlZFdpdGhTY29w
aW5nTm9kZSk7CisgICAgaWYgKG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKQorICAgICAg
ICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAgSFRNTEVsZW1lbnQ6OndpbGxSZW1v
dmUoKTsKK30KKwogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBj
aGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGlu
dCBjaGlsZENvdW50RGVsdGEpCiB7CiAgICAgU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
dGhpcyk7CkBAIC0xMDQsMjEgKzE2Nyw2IEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6c2V0U2Nv
cGVkKGJvb2wgc2NvcGVkVmFsdWUpCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShzY29wZWRBdHRy
LCBzY29wZWRWYWx1ZSk7CiB9CiAKLUVsZW1lbnQqIEhUTUxTdHlsZUVsZW1lbnQ6OnNjb3BpbmdF
bGVtZW50KCkgY29uc3QKLXsKLSAgICBpZiAoIXNjb3BlZCgpKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIC8vIEZJWE1FOiBUaGlzIHByb2JhYmx5IG5lZWRzIHRvIGJlIHJlZmluZWQgZm9yIHNj
b3BlZCBzdHlsZXNoZWV0cyB3aXRoaW4gc2hhZG93IERPTS4KLSAgICAvLyBBcyB3cml0dGVuLCBz
dWNoIGEgc3R5bGVzaGVldCBjb3VsZCBzdHlsZSB0aGUgaG9zdCBlbGVtZW50LCBhcyB3ZWxsIGFz
IGNoaWxkcmVuIG9mIHRoZSBob3N0LgotICAgIC8vIE9UT0gsIHRoaXMgcGF2ZXMgdGhlIHdheSBm
b3IgYSA6Ym91bmQtZWxlbWVudCBpbXBsZW1lbnRhdGlvbi4KLSAgICBDb250YWluZXJOb2RlKiBw
YXJlbnRPckhvc3QgPSBwYXJlbnRPckhvc3ROb2RlKCk7Ci0gICAgaWYgKCFwYXJlbnRPckhvc3Qg
fHwgIXBhcmVudE9ySG9zdC0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIHJldHVybiB0b0VsZW1lbnQocGFyZW50T3JIb3N0KTsKLX0KLQogdm9pZCBIVE1MU3R5bGVF
bGVtZW50OjphZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVy
bHMpIGNvbnN0CiB7ICAgIAogICAgIEhUTUxFbGVtZW50OjphZGRTdWJyZXNvdXJjZUF0dHJpYnV0
ZVVSTHModXJscyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCmluZGV4IDUy
ZTRmNzc1NjZhMWFjNGI5YzUwNzkwYWIxY2MyZTVhMTcxZWViMDUuLmE0ODdhMWVlZTJlZGEzOTkw
NGViMTI3MzgxZTRlZGY2MzY1NjU0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFN0eWxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxl
bWVudC5oCkBAIC0zOSw3ICszOSw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2NvcGVkKCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRTY29wZWQoYm9vbCk7Ci0gICAgRWxlbWVudCogc2NvcGluZ0VsZW1l
bnQoKSBjb25zdDsKIAogICAgIHVzaW5nIFN0eWxlRWxlbWVudDo6c2hlZXQ7CiAKQEAgLTUzLDYg
KzUyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
QXR0cmlidXRlKik7CiAgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7CiAg
ICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
d2lsbFJlbW92ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFu
Z2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJD
aGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CkBAIC02NSw2ICs2NSwxMSBAQCBwcml2YXRlOgogCiAg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUoKSBjb25zdDsKKworICAgIHZvaWQgcmVnaXN0ZXJX
aXRoU2NvcGluZ05vZGUoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsK
KworICAgIGJvb2wgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGU7CiB9OwogCiB9IC8vbmFt
ZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMDRlYzllZjUzNzQ4
YjlhZDc0ZmVlODA2NjZjZjE1MGRiMTgwZWEzYi4uOGVmZmE2NGNiOGY3NTFmZDM1MWY5MDEwZmM2
ZDFkMTliOGQwODJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTYz
LDYgKzE2MywxNiBAQCBTdHJpbmcgSW50ZXJuYWxzOjpzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiBl
bGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gZWxlbWVudC0+c2hhZG93UHNl
dWRvSWQoKS5zdHJpbmcoKTsKIH0KIAorc3RkOjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKSBjb25zdAoreworICAgIGlmICghZWxlbWVudCkgeworICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIGVs
ZW1lbnQtPm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKTsKK30KKwogdm9pZCBJbnRl
cm5hbHM6OmRpc2FibGVNZW1vcnlDYWNoZShib29sIGRpc2FibGVkKQogewogICAgIFdlYkNvcmU6
Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVkKGRpc2FibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDEzNDM3ZTFlZGE0MDU3OTQ4MmVhZTg3Yzc0ODcxNjdmNGQ3MGY2NTIu
LmE2ZDc2MGJjNTZhZTljN2M0MzlkMzA0NTgwOTM1NTA5MTAzMGNlZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtNjAsNiArNjAsOCBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCog
Z2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3QoTm9kZSogc2hhZG93Um9vdCwgY29uc3QgU3RyaW5n
JiBpZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wg
ZGlzYWJsZWQpOwogCisgICAgc3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihjb25zdCBFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCiAjaWYgRU5BQkxF
KElOUFVUX0NPTE9SKQogICAgIGJvb2wgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50
Kik7CiAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYgY29s
b3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNWUyMzFjY2Q1
MzE4OTU5NGVhZDRjNmYwOGNiNzMwOWQ0MmJlNzM2OC4uN2RjMDdiMzBkYmIyNDU0OWFiOTdjZjJk
MTRlNzdjN2FlMjNhYWMzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAt
MzksNiArMzksOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50
QnlJZEluU2hhZG93Um9vdChpbiBOb2RlIHNoYWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGluIGJv
b2xlYW4gZGlzYWJsZWQpOwogCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24p
OworCiAjaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfQ09MT1IpICYmIEVOQUJMRV9JTlBVVF9DT0xP
UgogICAgICAgICBib29sZWFuIGNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoaW4gRWxlbWVudCBl
bGVtZW50KTsKICAgICAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKGluIERPTVN0
cmluZyBjb2xvclZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDA3NmFkYzY0ZjMx
YzA3Y2E0NjgzZGM3OTdjODYzNWExM2YyY2MwNjEuLjJhMmY5MDE2ZTc1NzY5NDQ5OTNmNWQyMDQ1
NDk5ZDJlNTZkNzBlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNjIsNiArNjIsNyBA
QCBfWk43V2ViQ29yZTZKU05vZGU2c19pbmZvRTsKIF9aTjdXZWJDb3JlNnRvTm9kZUVOM0pTQzdK
U1ZhbHVlRTsKIF9aTjdXZWJDb3JlN0VsZW1lbnQxNmVuc3VyZVNoYWRvd1Jvb3RFdjsKIF9aTjdX
ZWJDb3JlN0VsZW1lbnQxNnJlbW92ZVNoYWRvd1Jvb3RFdjsKK19aTks3V2ViQ29yZTdFbGVtZW50
MzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKIF9aTjdXZWJDb3JlOUpTRWxlbWVu
dDNwdXRFUE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJO
UzFfMTVQdXRQcm9wZXJ0eVNsb3RFOwogX1pON1dlYkNvcmU5SlNFbGVtZW50NnNfaW5mb0U7CiBf
Wk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUU7CkBAIC03MCw2ICs3MSw3IEBAIF9a
Tks3V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIxMWlzUHJlbG9hZGVkRVJLTjNXVEY2U3Ry
aW5nRTsKIF9aTks3V2ViQ29yZTI2SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQyMWxhc3RDaGFu
Z2VXYXNVc2VyRWRpdEV2OwogX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNj
b3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRTsKIF9aTks3V2ViQ29y
ZTdFbGVtZW50MTBzaGFkb3dSb290RXY7CitfWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHBhZ2VFdjsK
IF9aTks3V2ViQ29yZThEb2N1bWVudDhzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50
NHZpZXdFdjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106956</attachid>
            <date>2011-09-09 20:05:39 -0700</date>
            <delta_ts>2011-09-14 16:13:20 -0700</delta_ts>
            <desc>work-in-progress</desc>
            <filename>bug-67790-20110909200538.patch</filename>
            <type>text/plain</type>
            <size>36348</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ4MjEKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2ZTFkODg4YWY5ODI5N2VkZTQxOTQyYTViZTEzMTA0ZGExOTU3OWE4Li41ZjA3
MTg5YTY0N2ZmYjkxMGU5OTJjNGJkZTkxNmUwMzNmNWM5OGI2IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDkgIFJvbGFuZCBT
dGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNj
b3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBz
Y29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NzkwCisKKyAgICAgICAgd2luZG93cy5pbnRlcm5hbHMgdXBkYXRlcyAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMDktMDggIFZhcnVuIEphaW4gIDx2YXJ1bmph
aW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgZG91YmxlIHRhcCBkZXRlY3Rpb24g
aW4gR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMzNDQ0MDhmYjEyY2EzMWUyMTRh
MTZkOGFjMGU1MDdlMWY5Y2E1MmIuLjI4ZWQ1NDU2YzczMDkyMmE3NzQ4ZDk2MTk5ZmE4Njc0ODk1
OTRkOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOS0wOSAgUm9sYW5kIFN0ZWluZXIg
IDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8c3R5bGUgc2NvcGVkPjog
SW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggdGhlIHNjb3Bpbmcg
ZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njc3OTAKKworICAgICAgICBUZXN0cyB0aGF0IHJlZ2lzdHJhdGlvbiBvZiA8c3R5bGUgc2NvcGVk
PiB3aXRoIGl0cyBwYXJlbnQgaXMgcGVyZm9ybWVkIGNvcnJlY3RseQorICAgICAgICBpbiB2YXJp
b3VzIGNpcmN1bXN0YW5jZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbDogQWRk
ZWQuCisKKzIwMTEtMDktMDggIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEFkZCAnc2NvcGVkJyBhdHRyaWJ1dGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE4CisK
KyAgICAgICAgVGVzdCBzZXR0aW5nL3Jlc2V0dGluZyBvZiB0aGUgJ3Njb3BlZCcgYXR0cmlidXRl
IGluIHZhcmlvdXMgY2lyY3Vtc3RhbmNlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9iYXNpYy1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQv
YmFzaWMtYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTA4ICBSb2xhbmQgU3RlaW5l
ciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHI5NDgwOS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LXNjb3BlZC9iYXNpYy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc3R5bGUtc2NvcGVkL2Jhc2ljLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NThhMDk4NjZlMzRmY2ZiYjVjMTE1MGI5NDYzZTg4MzkzZWZiOGJhYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9iYXNpYy1hdHRyaWJ1dGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjIgQEAKK0Jhc2ljIHRlc3QgZm9yIHRoZSA8c3R5bGUgc2Nv
cGVkPiBhdHRyaWJ1dGUuCisKKy0tLSBJbml0aWFsIC0tLQorUEFTUyBnbG9iYWwxLmdldEF0dHJp
YnV0ZSgnc2NvcGVkJykgaXMgbnVsbAorUEFTUyBnbG9iYWwxLnNjb3BlZCBpcyBmYWxzZQorUEFT
UyBnbG9iYWwyLmdldEF0dHJpYnV0ZSgnc2NvcGVkJykgaXMgbnVsbAorUEFTUyBnbG9iYWwyLnNj
b3BlZCBpcyBmYWxzZQorUEFTUyB0ZXN0Qm9vbGVhbkF0dHJpYnV0ZShzY29wZWQxLCAnc2NvcGVk
JykgaXMgdHJ1ZQorUEFTUyBzY29wZWQxLnNjb3BlZCBpcyB0cnVlCitQQVNTIHRlc3RCb29sZWFu
QXR0cmlidXRlKHNjb3BlZDIsICdzY29wZWQnKSBpcyB0cnVlCitQQVNTIHNjb3BlZDIuc2NvcGVk
IGlzIHRydWUKK1BBU1MgdGVzdEJvb2xlYW5BdHRyaWJ1dGUoc2NvcGVkMywgJ3Njb3BlZCcpIGlz
IHRydWUKK1BBU1Mgc2NvcGVkMy5zY29wZWQgaXMgdHJ1ZQorLS0tIEFmdGVyIGluc2VydGlvbiBp
bnRvIHRyZWUgLS0tCitQQVNTIGdsb2JhbDEuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSBpcyBudWxs
CitQQVNTIGdsb2JhbDEuc2NvcGVkIGlzIGZhbHNlCitQQVNTIGdsb2JhbDIuZ2V0QXR0cmlidXRl
KCdzY29wZWQnKSBpcyBudWxsCitQQVNTIGdsb2JhbDIuc2NvcGVkIGlzIGZhbHNlCitQQVNTIHRl
c3RCb29sZWFuQXR0cmlidXRlKHNjb3BlZDEsICdzY29wZWQnKSBpcyB0cnVlCitQQVNTIHNjb3Bl
ZDEuc2NvcGVkIGlzIHRydWUKK1BBU1MgdGVzdEJvb2xlYW5BdHRyaWJ1dGUoc2NvcGVkMiwgJ3Nj
b3BlZCcpIGlzIHRydWUKK1BBU1Mgc2NvcGVkMi5zY29wZWQgaXMgdHJ1ZQorUEFTUyB0ZXN0Qm9v
bGVhbkF0dHJpYnV0ZShzY29wZWQzLCAnc2NvcGVkJykgaXMgdHJ1ZQorUEFTUyBzY29wZWQzLnNj
b3BlZCBpcyB0cnVlCistLS0gSW52ZXJ0aW5nICdzY29wZWQnIGF0dHJpYnV0ZSB3aGlsZSBpbiB0
cmVlIC0tLQorUEFTUyB0ZXN0Qm9vbGVhbkF0dHJpYnV0ZShnbG9iYWwxLCAnc2NvcGVkJykgaXMg
dHJ1ZQorUEFTUyBnbG9iYWwxLnNjb3BlZCBpcyB0cnVlCitQQVNTIHRlc3RCb29sZWFuQXR0cmli
dXRlKGdsb2JhbDIsICdzY29wZWQnKSBpcyB0cnVlCitQQVNTIGdsb2JhbDIuc2NvcGVkIGlzIHRy
dWUKK1BBU1Mgc2NvcGVkMS5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIGlzIG51bGwKK1BBU1Mgc2Nv
cGVkMS5zY29wZWQgaXMgZmFsc2UKK1BBU1Mgc2NvcGVkMi5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcp
IGlzIG51bGwKK1BBU1Mgc2NvcGVkMi5zY29wZWQgaXMgZmFsc2UKK1BBU1Mgc2NvcGVkMy5nZXRB
dHRyaWJ1dGUoJ3Njb3BlZCcpIGlzIG51bGwKK1BBU1Mgc2NvcGVkMy5zY29wZWQgaXMgZmFsc2UK
Ky0tLSBBZnRlciByZW1vdmFsIGZyb20gdHJlZSAoYXR0cmlidXRlIGlzIHN0aWxsIGludmVydGVk
KSAtLS0KK1BBU1MgdGVzdEJvb2xlYW5BdHRyaWJ1dGUoZ2xvYmFsMSwgJ3Njb3BlZCcpIGlzIHRy
dWUKK1BBU1MgZ2xvYmFsMS5zY29wZWQgaXMgdHJ1ZQorUEFTUyB0ZXN0Qm9vbGVhbkF0dHJpYnV0
ZShnbG9iYWwyLCAnc2NvcGVkJykgaXMgdHJ1ZQorUEFTUyBnbG9iYWwyLnNjb3BlZCBpcyB0cnVl
CitQQVNTIHNjb3BlZDEuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSBpcyBudWxsCitQQVNTIHNjb3Bl
ZDEuc2NvcGVkIGlzIGZhbHNlCitQQVNTIHNjb3BlZDIuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSBp
cyBudWxsCitQQVNTIHNjb3BlZDIuc2NvcGVkIGlzIGZhbHNlCitQQVNTIHNjb3BlZDMuZ2V0QXR0
cmlidXRlKCdzY29wZWQnKSBpcyBudWxsCitQQVNTIHNjb3BlZDMuc2NvcGVkIGlzIGZhbHNlCist
LS0gSW52ZXJ0aW5nICdzY29wZWQnIGF0dHJpYnV0ZSBhZ2Fpbiwgd2hpbGUgb3V0c2lkZSB0cmVl
IC0tLQorUEFTUyBnbG9iYWwxLmdldEF0dHJpYnV0ZSgnc2NvcGVkJykgaXMgbnVsbAorUEFTUyBn
bG9iYWwxLnNjb3BlZCBpcyBmYWxzZQorUEFTUyBnbG9iYWwyLmdldEF0dHJpYnV0ZSgnc2NvcGVk
JykgaXMgbnVsbAorUEFTUyBnbG9iYWwyLnNjb3BlZCBpcyBmYWxzZQorUEFTUyB0ZXN0Qm9vbGVh
bkF0dHJpYnV0ZShzY29wZWQxLCAnc2NvcGVkJykgaXMgdHJ1ZQorUEFTUyBzY29wZWQxLnNjb3Bl
ZCBpcyB0cnVlCitQQVNTIHRlc3RCb29sZWFuQXR0cmlidXRlKHNjb3BlZDIsICdzY29wZWQnKSBp
cyB0cnVlCitQQVNTIHNjb3BlZDIuc2NvcGVkIGlzIHRydWUKK1BBU1MgdGVzdEJvb2xlYW5BdHRy
aWJ1dGUoc2NvcGVkMywgJ3Njb3BlZCcpIGlzIHRydWUKK1BBU1Mgc2NvcGVkMy5zY29wZWQgaXMg
dHJ1ZQorLS0tIERPTkUgLS0tCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkL2Jhc2ljLWF0dHJpYnV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkL2Jhc2ljLWF0dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MTM1ZmU2YTA3YmU3OTQxMWE0
NDM0NGE1MGRkNjIwMDZmMDM5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRlLmh0bWwKQEAgLTAsMCArMSwxMjQgQEAK
KzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHA+QmFzaWMgdGVzdCBmb3IgdGhlICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGF0dHJpYnV0ZS48
L3A+CisgICAgPGRpdiBpZD0ic2NvcGUiPgorICAgICAgICA8c3R5bGUgaWQ9Imdsb2JhbDEiPjwv
c3R5bGU+CisgICAgICAgIDxzdHlsZSBzY29wZWQ9J3Njb3BlZCcgaWQ9InNjb3BlZDEiPjwvc3R5
bGU+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworICAgIDxz
Y3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3RCb29sZWFuQXR0cmlidXRlKGVsZW0sIGF0dHIp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB2YWwgPSBlbGVtLmdldEF0dHJpYnV0ZShhdHRy
KTsKKyAgICAgICAgICAgIGlmICh2YWwgPT09IG51bGwpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlCisgICAgICAgICAgICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT09IGF0dHIpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB0aHJvdyAiSWxsZWdhbCB2YWx1
ZSBmb3IgYm9vbGVhbiBhdHRyaWJ1dGUhIjsKKyAgICAgICAgfQorICAgIAorICAgICAgICB2YXIg
c2NvcGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcGUnKTsKKworICAgICAgICB2YXIg
Z2xvYmFsMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbG9iYWwxJyk7CisgICAgICAgIHZh
ciBzY29wZWQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlZDEnKTsKKworICAgICAg
ICB2YXIgZ2xvYmFsMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgICAgICAg
IHZhciBzY29wZWQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAg
c2NvcGVkMi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgdmFyIHNj
b3BlZDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICBzY29wZWQz
LnNjb3BlZCA9IHRydWU7CisKKyAgICAgICAgZGVidWcoIi0tLSBJbml0aWFsIC0tLSIpOworICAg
ICAgICBzaG91bGRCZU51bGwoImdsb2JhbDEuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSIpOworICAg
ICAgICBzaG91bGRCZUZhbHNlKCJnbG9iYWwxLnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZU51
bGwoImdsb2JhbDIuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSIpOworICAgICAgICBzaG91bGRCZUZh
bHNlKCJnbG9iYWwyLnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZVRydWUoInRlc3RCb29sZWFu
QXR0cmlidXRlKHNjb3BlZDEsICdzY29wZWQnKSIpOworICAgICAgICBzaG91bGRCZVRydWUoInNj
b3BlZDEuc2NvcGVkIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdEJvb2xlYW5BdHRyaWJ1
dGUoc2NvcGVkMiwgJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgic2NvcGVkMi5z
Y29wZWQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0Qm9vbGVhbkF0dHJpYnV0ZShzY29w
ZWQzLCAnc2NvcGVkJykiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJzY29wZWQzLnNjb3BlZCIp
OworCisgICAgICAgIGRlYnVnKCItLS0gQWZ0ZXIgaW5zZXJ0aW9uIGludG8gdHJlZSAtLS0iKQor
ICAgICAgICBzY29wZS5hcHBlbmRDaGlsZChnbG9iYWwyKTsKKyAgICAgICAgc2NvcGUuYXBwZW5k
Q2hpbGQoc2NvcGVkMik7CisgICAgICAgIHNjb3BlLmFwcGVuZENoaWxkKHNjb3BlZDMpOworCisg
ICAgICAgIHNob3VsZEJlTnVsbCgiZ2xvYmFsMS5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIik7Cisg
ICAgICAgIHNob3VsZEJlRmFsc2UoImdsb2JhbDEuc2NvcGVkIik7CisgICAgICAgIHNob3VsZEJl
TnVsbCgiZ2xvYmFsMi5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJl
RmFsc2UoImdsb2JhbDIuc2NvcGVkIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdEJvb2xl
YW5BdHRyaWJ1dGUoc2NvcGVkMSwgJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
c2NvcGVkMS5zY29wZWQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0Qm9vbGVhbkF0dHJp
YnV0ZShzY29wZWQyLCAnc2NvcGVkJykiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJzY29wZWQy
LnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZVRydWUoInRlc3RCb29sZWFuQXR0cmlidXRlKHNj
b3BlZDMsICdzY29wZWQnKSIpOworICAgICAgICBzaG91bGRCZVRydWUoInNjb3BlZDMuc2NvcGVk
Iik7CisKKyAgICAgICAgZGVidWcoIi0tLSBJbnZlcnRpbmcgJ3Njb3BlZCcgYXR0cmlidXRlIHdo
aWxlIGluIHRyZWUgLS0tIik7CisgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gbnVsbDsKKyAgICAg
ICAgc2NvcGVkMi5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgc2NvcGVkMy5yZW1vdmVBdHRyaWJ1
dGUoJ3Njb3BlZCcpOworICAgICAgICBnbG9iYWwxLnNjb3BlZCA9IHRydWU7CisgICAgICAgIGds
b2JhbDIuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVkJyk7CisKKyAgICAgICAgc2hvdWxk
QmVUcnVlKCJ0ZXN0Qm9vbGVhbkF0dHJpYnV0ZShnbG9iYWwxLCAnc2NvcGVkJykiKTsKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCJnbG9iYWwxLnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZVRydWUo
InRlc3RCb29sZWFuQXR0cmlidXRlKGdsb2JhbDIsICdzY29wZWQnKSIpOworICAgICAgICBzaG91
bGRCZVRydWUoImdsb2JhbDIuc2NvcGVkIik7CisgICAgICAgIHNob3VsZEJlTnVsbCgic2NvcGVk
MS5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlRmFsc2UoInNjb3Bl
ZDEuc2NvcGVkIik7CisgICAgICAgIHNob3VsZEJlTnVsbCgic2NvcGVkMi5nZXRBdHRyaWJ1dGUo
J3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlRmFsc2UoInNjb3BlZDIuc2NvcGVkIik7Cisg
ICAgICAgIHNob3VsZEJlTnVsbCgic2NvcGVkMy5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIik7Cisg
ICAgICAgIHNob3VsZEJlRmFsc2UoInNjb3BlZDMuc2NvcGVkIik7CisKKyAgICAgICAgZGVidWco
Ii0tLSBBZnRlciByZW1vdmFsIGZyb20gdHJlZSAoYXR0cmlidXRlIGlzIHN0aWxsIGludmVydGVk
KSAtLS0iKTsKKyAgICAgICAgc2NvcGUucmVtb3ZlQ2hpbGQoZ2xvYmFsMSk7CisgICAgICAgIHNj
b3BlLnJlbW92ZUNoaWxkKGdsb2JhbDIpOworICAgICAgICBzY29wZS5yZW1vdmVDaGlsZChzY29w
ZWQxKTsKKyAgICAgICAgc2NvcGUucmVtb3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgIHNjb3Bl
LnJlbW92ZUNoaWxkKHNjb3BlZDMpOworCisgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdEJvb2xl
YW5BdHRyaWJ1dGUoZ2xvYmFsMSwgJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
Z2xvYmFsMS5zY29wZWQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0Qm9vbGVhbkF0dHJp
YnV0ZShnbG9iYWwyLCAnc2NvcGVkJykiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJnbG9iYWwy
LnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZU51bGwoInNjb3BlZDEuZ2V0QXR0cmlidXRlKCdz
Y29wZWQnKSIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJzY29wZWQxLnNjb3BlZCIpOworICAg
ICAgICBzaG91bGRCZU51bGwoInNjb3BlZDIuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSIpOworICAg
ICAgICBzaG91bGRCZUZhbHNlKCJzY29wZWQyLnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZU51
bGwoInNjb3BlZDMuZ2V0QXR0cmlidXRlKCdzY29wZWQnKSIpOworICAgICAgICBzaG91bGRCZUZh
bHNlKCJzY29wZWQzLnNjb3BlZCIpOworCisgICAgICAgIGRlYnVnKCItLS0gSW52ZXJ0aW5nICdz
Y29wZWQnIGF0dHJpYnV0ZSBhZ2Fpbiwgd2hpbGUgb3V0c2lkZSB0cmVlIC0tLSIpOworICAgICAg
ICBzY29wZWQxLnNjb3BlZCA9IHRydWU7CisgICAgICAgIHNjb3BlZDIuc2NvcGVkID0gdHJ1ZTsK
KyAgICAgICAgc2NvcGVkMy5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAg
ICAgZ2xvYmFsMS5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgZ2xvYmFsMi5yZW1vdmVBdHRyaWJ1
dGUoJ3Njb3BlZCcpOworCisgICAgICAgIHNob3VsZEJlTnVsbCgiZ2xvYmFsMS5nZXRBdHRyaWJ1
dGUoJ3Njb3BlZCcpIik7CisgICAgICAgIHNob3VsZEJlRmFsc2UoImdsb2JhbDEuc2NvcGVkIik7
CisgICAgICAgIHNob3VsZEJlTnVsbCgiZ2xvYmFsMi5nZXRBdHRyaWJ1dGUoJ3Njb3BlZCcpIik7
CisgICAgICAgIHNob3VsZEJlRmFsc2UoImdsb2JhbDIuc2NvcGVkIik7CisgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgidGVzdEJvb2xlYW5BdHRyaWJ1dGUoc2NvcGVkMSwgJ3Njb3BlZCcpIik7CisgICAg
ICAgIHNob3VsZEJlVHJ1ZSgic2NvcGVkMS5zY29wZWQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJ0ZXN0Qm9vbGVhbkF0dHJpYnV0ZShzY29wZWQyLCAnc2NvcGVkJykiKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJzY29wZWQyLnNjb3BlZCIpOworICAgICAgICBzaG91bGRCZVRydWUoInRlc3RC
b29sZWFuQXR0cmlidXRlKHNjb3BlZDMsICdzY29wZWQnKSIpOworICAgICAgICBzaG91bGRCZVRy
dWUoInNjb3BlZDMuc2NvcGVkIik7CisKKyAgICAgICAgZGVidWcoIi0tLSBET05FIC0tLSIpOwor
ICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
dHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LXNjb3BlZC9yZWdpc3RlcmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmZTI0OTNiOTFiYWE1OWJmZjEy
MjZmMTk0MzVjZTg1OWVkMGZhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbApAQCAtMCwwICsxLDE3NyBAQAorPGh0
bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
cD5UZXN0IFt1bl1yZWdpc3RlcmluZyBhICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGVsZW1lbnQgZnJv
bSBpdHMgcGFyZW50PC9wPgorICAgIDxkaXYgaWQ9InNjb3BlMSI+CisgICAgICAgIDxzdHlsZSBp
ZD0iZ2xvYmFsMSI+PC9zdHlsZT4KKyAgICAgICAgPHN0eWxlIHNjb3BlZD0nc2NvcGVkMScgaWQ9
InNjb3BlZDEiPjwvc3R5bGU+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ic2NvcGUyIj4KKyAg
ICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCisgICAgPHNjcmlwdD4K
KyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cuaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pCisgICAgICAgICAgICBkZWJ1Zygid2luZG93cy5p
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiBub3QgZm91bmQhIik7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIHNjb3BlMSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzY29wZTEnKTsKKyAgICAgICAgICAgIHZhciBzY29wZTIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc2NvcGUyJyk7CisgICAgICAgICAgICB2YXIgc2NvcGUzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKKyAgICAgICAgICAgIHZhciBnbG9iYWwxID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbDEnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQxID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlZDEnKTsKKworICAgICAgICAgICAgdmFyIGds
b2JhbDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAgdmFy
IHNjb3BlZDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAg
c2NvcGVkMi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHZh
ciBzY29wZWQzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAgICAg
IHNjb3BlZDMuc2NvcGVkID0gdHJ1ZTsKKy8qIHZlcnNpb24gd2hlcmUgPHN0eWxlIHNjb3BlZD4g
b3V0c2lkZSB0aGUgZG9jdW1lbnQgSVMgcmVnaXN0ZXJlZDoKKyAgICAgICAgICAgIGRlYnVnKCIt
LS0gSW5pdGlhbCAtLS0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIp
IiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAgICAgICAgZGVidWcoIi0t
LSBBdHRhY2hpbmcgLS0tIik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVk
Mik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoZ2xvYmFsMik7CisgICAgICAgICAg
ICBzY29wZTMuYXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUyKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIxIik7CisKKyAgICAgICAg
ICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29w
ZWQxLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMi5zY29wZWQgPSBmYWxzZTsK
KyAgICAgICAgICAgIHNjb3BlZDMucmVtb3ZlQXR0cmlidXRlKCdzY29wZWQnKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTEpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwg
IjAiKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZGVidWcoIi0tLSBSZS1zZXR0aW5nIEBz
Y29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IHRydWU7CisgICAgICAg
ICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Njb3BlZCcpOworICAgICAgICAg
ICAgc2NvcGVkMy5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICcnKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwg
IjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjEiKTsKKwor
ICAgICAgICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcvcmVtb3Zpbmcgc2NvcGUgZWxlbWVudHMg
ZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoc2NvcGUyKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NvcGUz
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTMpIiwgIjEiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBNdWx0aXBsZSBzY29w
ZWQgc3R5bGUgZWxlbWVudHMgd2l0aGluIHNpbmdsZSBzY29wZSAtLS0iKTsKKyAgICAgICAgICAg
IHNjb3BlMi5yZW1vdmVDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVD
aGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNjb3BlMy5yZW1vdmVDaGlsZChzY29wZWQzKTsK
KyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNj
b3BlMS5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGls
ZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjMiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBSZW1v
dmluZyBzY29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjMiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTIpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAg
ICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0aGluIG90aGVyIHNjb3BlIC0tLSIp
OworICAgICAgICAgICAgc2NvcGUxLnJlbW92ZUNoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAg
c2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENo
aWxkKHNjb3BlMSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7CisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIx
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5z
ZXR0aW5nIEBzY29wZWQgaW4gbmVzdGVkIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGVk
MS5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDIucmVtb3ZlQXR0cmlidXRlKCdz
Y29wZWQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKyovCisvKiB2ZXJzaW9uIHdoZXJlIDxzdHlsZSBzY29w
ZWQ+IG91dHNpZGUgdGhlIGRvY3VtZW50IGlzIE5PVCByZWdpc3RlcmVkOiAqLworICAgICAgICAg
ICAgZGVidWcoIi0tLSBJbml0aWFsIC0tLSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworCisgICAgICAgICAg
ICBkZWJ1ZygiLS0tIEF0dGFjaGluZyAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRD
aGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChnbG9iYWwyKTsK
KyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsK
KworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAgICAg
ICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAgICBzY29wZWQyLnNjb3Bl
ZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMy5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3BlZCcp
OworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykiLCAiMCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFJl
LXNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gdHJ1
ZTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVkJyk7
CisgICAgICAgICAgICBzY29wZWQzLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJycpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMyki
LCAiMCIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluc2VydGluZy9yZW1vdmluZyBzY29w
ZSBlbGVtZW50cyBmcm9tIGRvY3VtZW50IC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChzY29wZTIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzY29wZTMpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAi
MCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMSIpOworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIE11
bHRpcGxlIHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3aXRoaW4gc2luZ2xlIHNjb3BlIC0tLSIpOwor
ICAgICAgICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2Nv
cGUyLnJlbW92ZUNoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLnJlbW92ZUNoaWxk
KHNjb3BlZDMpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDMpOworICAg
ICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUx
LmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMyIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworCisgICAgICAgICAgICBkZWJ1
ZygiLS0tIFJlbW92aW5nIHNjb3BpbmcgZWxlbWVudCBmcm9tIGRvY3VtZW50IC0tLSIpOworICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY29wZTEpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIp
OworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluc2VydGluZyBzY29wZSB3aXRoaW4gb3RoZXIg
c2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZTEucmVtb3ZlQ2hpbGQoc2NvcGVkMik7Cisg
ICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29w
ZTIuYXBwZW5kQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjIiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTIpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAgICAgICAgZGVi
dWcoIi0tLSBVbnNldHRpbmcgQHNjb3BlZCBpbiBuZXN0ZWQgc2NvcGUgLS0tIik7CisgICAgICAg
ICAgICBzY29wZWQxLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMi5yZW1vdmVB
dHRyaWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MikiLCAiMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOworLyoqLworICAgICAgICAgICAgZGVi
dWcoIi0tLSBET05FIC0tLSIpOworICAgICAgICB9CisgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBiY2ZhNTlkNWM5YWM3MmI5YTAwYzMxMTMyMTE0M2I5YjE1MzViMTE0Li4yZGY4
OWRiYTNkMzI2NjRmZWQ2Y2Q1ZDg0MzliMGUxODk3YzVmNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNjYgQEAKKzIwMTEtMDktMDkgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3Rlcmlu
ZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgSW1w
bGVtZW50IHJlZ2lzdGVyaW5nIG9mIGEgPHN0eWxlPiBlbGVtZW50IHdpdGggaXRzIHBhcmVudCBl
bGVtZW50IGlmIHRoZSAnc2NvcGVkJyBhdHRyaWJ1dGUgaXMgc2V0LgorICAgICAgICBVcGRhdGUg
dGhlIHJlZ2lzdHJhdGlvbiB3aGVuZXZlciB0aGUgJ3Njb3BlZCcgYXR0cmlidXRlIGlzIGNoYW5n
ZWQsCisgICAgICAgIG9yIHRoZSA8c3R5bGU+IGVsZW1lbnQgZW5ldGVycyBvciBsZWF2ZXMgdGhl
IHRyZWUuCisKKyAgICAgICAgQWxzbywgZXh0ZW5kIHdpbmRvd3MuaW50ZXJuYWxzIHRvIGFsbG93
IGZvciB0ZXN0aW5nIG9mIHRoZSByZWdpc3RyYXRpb24gcmVmLWNvdW50aW5nLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL3N0
eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoK
KyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpo
YXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpudW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnRSYXJlRGF0YTo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6Omhhc1Njb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6bnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbik6CisgICAgICAgICogaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6fkhUTUxTdHlsZUVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVnaXN0ZXJXaXRoU2NvcGlu
Z05vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6dW5yZWdpc3Rlcldp
dGhTY29waW5nTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjppbnNl
cnRlZEludG9Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6
OndpbGxSZW1vdmUpOgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbik6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKKzIwMTEtMDktMDgg
IFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
PHN0eWxlIHNjb3BlZD46IEFkZCAnc2NvcGVkJyBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE4CisKKyAgICAgICAgQWRkICdzY29w
ZWQnIGF0dHJpYnV0ZSB0byBJREwgYW5kIGF0dHJpYnV0ZSBsaXN0LAorICAgICAgICBpbXBsZW1l
bnQgYW5kIHRlc3Qgc2V0dGluZy9yZXNldHRpbmcgb2YgdGhlIGF0dHJpYnV0ZS4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRlLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjpzY29wZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFN0eWxlRWxlbWVudDo6c2V0U2NvcGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTdHlsZUVsZW1lbnQ6OnNjb3BpbmdFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTdHls
ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsOgorCiAyMDEx
LTA5LTA4ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hy
b21pdW1dIEtVUkw6OmNvcHkgZG9lc24ndCBwcm9kdWNlIHNvbWV0aGluZyB1c2FibGUgb24gYW5v
dGhlciB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDYxOTQ0ZTBhMjMyMDVmNmFkMzFk
MjFiNzYwZmE0NTEyMzNmM2VhYWEuLjU2Njk2N2Q3YTcwYWY5OGMzYjE4NjgxYTIxZTVkNjk5NzNh
YTBiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMzA0LDYgKzEzMDQsNyBAQCBfX1pOSzdX
ZWJDb3JlNldpZGdldDlmcmFtZVJlY3RFdgogX19aTks3V2ViQ29yZTdFbGVtZW50MTBzY3JlZW5S
ZWN0RXYKIF9fWk5LN1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9vdEV2CiBfX1pOSzdXZWJDb3Jl
N0VsZW1lbnQxMmdldEF0dHJpYnV0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKK19fWk5LN1dlYkNv
cmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2CiBfX1pOSzdXZWJD
b3JlN0ludFJlY3QxMGludGVyc2VjdHNFUktTMF8KIF9fWk5LN1dlYkNvcmU3SW50UmVjdDhjb250
YWluc0VSS1MwXwogX19aTks3V2ViQ29yZTdJbnRSZWN0Y3Y2Q0dSZWN0RXYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCAyZjJiNjIzYjdjMjExYjJmYzRlZmZhYTU3N2RiYjVlNTEyYjllZWVjLi5h
ZmYzMmM3YzU1ODNhMTc4MjRhNzhkMDE4NWViYWE5ODk2NTdkNDc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCkBAIC0xODEyLDYgKzE4MTIsMjggQEAgdW5zaWduZWQgRWxlbWVudDo6Y2hpbGRFbGVt
ZW50Q291bnQoKSBjb25zdAogICAgIHJldHVybiBjb3VudDsKIH0KIAorYm9vbCBFbGVtZW50Ojpo
YXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRh
KCkgJiYgcmFyZURhdGEoKS0+aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKK30KKworc3RkOjpz
aXplX3QgRWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyByYXJlRGF0YSgpLT5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKCkgOiAwOworfQorCit2b2lkIEVsZW1lbnQ6OnJlZ2lzdGVyU2NvcGVk
SFRNTFN0eWxlQ2hpbGQoKQoreworICAgIGVuc3VyZVJhcmVEYXRhKCktPnJlZ2lzdGVyU2NvcGVk
SFRNTFN0eWxlQ2hpbGQoKTsKK30KKwordm9pZCBFbGVtZW50Ojp1bnJlZ2lzdGVyU2NvcGVkSFRN
TFN0eWxlQ2hpbGQoKQoreworICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICBpZiAoaGFz
UmFyZURhdGEoKSkKKyAgICAgICAgcmFyZURhdGEoKS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCk7Cit9CisKIGJvb2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0
IFN0cmluZyYgc2VsZWN0b3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChzZWxlY3Rv
ci5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGQyYTg3NmZjYzc0MWM3N2Q3MGE0
MmZiMTQ2ODUxYTYzYTY5ODk3YmIuLmY1MTVlNTc5YmFjNjM4NGQwN2I4NGE5NDZlN2M3NWM5YWVk
NmE5ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMjkyLDYgKzI5MiwxMSBAQCBwdWJsaWM6CiAg
ICAgRWxlbWVudCogbmV4dEVsZW1lbnRTaWJsaW5nKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY2hp
bGRFbGVtZW50Q291bnQoKSBjb25zdDsKIAorICAgIHZvaWQgcmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCgpOworICAgIHZvaWQgdW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cisg
ICAgYm9vbCBoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpIGNvbnN0OworICAgIHN0ZDo6c2l6ZV90
IG51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdDsKKwogICAgIGJvb2wgd2Vi
a2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3JzLCBFeGNlcHRpb25Db2Rl
Jik7CiAKICAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oCmluZGV4IDFjYWNjZDQ5NGYxMGYyYTZjMzA2ZTYwYmUxMzQ0YTc1NDY1ZTI5
NmYuLjU4MGQwZjUzNWI4MzhlOTJmZDBjMTYxNTg5MjAxMGQ1YTgyNGQ4NmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTM5LDYgKzM5LDExIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgcmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKKyAgICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRN
TFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgp
OworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsKKyAgICBzdGQ6OnNp
emVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3Q7CisKICAgICB1c2lu
ZyBOb2RlUmFyZURhdGE6Om5lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNo
OwogICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVT
b29uQWZ0ZXJBdHRhY2g7CiAKQEAgLTQ3LDYgKzUyLDggQEAgcHVibGljOgogICAgIFNoYWRvd1Jv
b3QqIG1fc2hhZG93Um9vdDsKICAgICBBdG9taWNTdHJpbmcgbV9zaGFkb3dQc2V1ZG9JZDsKIAor
ICAgIHN0ZDo6c2l6ZV90IG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKKwogICAg
IE93blB0cjxEYXRhc2V0RE9NU3RyaW5nTWFwPiBtX2RhdGFzZXRET01TdHJpbmdNYXA7CiAgICAg
T3duUHRyPENsYXNzTGlzdD4gbV9jbGFzc0xpc3Q7CiAKQEAgLTY1LDYgKzcyLDcgQEAgaW5saW5l
IEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKQogaW5saW5lIEVsZW1lbnRS
YXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKCkKICAgICA6IG1fbWluaW11bVNpemVGb3JSZXNpemlu
ZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpKQogICAgICwgbV9zaGFkb3dSb290KDAp
CisgICAgLCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oMCkKICAgICAsIG1fc3R5
bGVBZmZlY3RlZEJ5RW1wdHkoZmFsc2UpCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAg
ICwgbV9jb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KGZhbHNlKQpAQCAtNzcsNiArODUsMjggQEAg
aW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6fkVsZW1lbnRSYXJlRGF0YSgpCiAgICAgQVNTRVJUKCFt
X3NoYWRvd1Jvb3QpOwogfQogCitpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVy
U2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQoreworICAgICsrbV9udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuOworfQorCitpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURhdGE6OnVucmVnaXN0ZXJT
Y29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgQVNTRVJUKG1fbnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbiA+IDApOworICAgIGlmIChtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4gPiAwKQorICAgICAgICAtLW1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsK
K30KKworaW5saW5lIGJvb2wgRWxlbWVudFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGls
ZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bjsKK30KKworaW5saW5lIHN0ZDo6c2l6ZV90IEVsZW1lbnRSYXJlRGF0YTo6bnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30KKwogaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpy
ZXNldENvbXB1dGVkU3R5bGUoKQogewogICAgIG1fY29tcHV0ZWRTdHlsZS5jbGVhcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCA3OTkxNjNjMmZhZmQw
M2RhMDdmYWZkNTZhNjIyNjBlMGY0MTkzMGNlLi45MTZkZTQ4MjA0MjRmNzg3Y2NmMmZhNDc5ZWVi
ZGRjNTA5YTEyNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1
dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgpAQCAtMjY2LDYgKzI2Niw3IEBAIHJ1bGVzCiBzYW5kYm94CiBzY2hlbWUKIHNjb3BlCitzY29w
ZWQKIHNjcm9sbGFtb3VudAogc2Nyb2xsZGVsYXkKIHNjcm9sbGluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKaW5kZXggNjQ4ZDBiZDZlNTU5YzgxZGY0ODA1YzczYzBl
MjlmOGU1ZTE2ZDEzYy4uMmQ2Yzc2Y2M4ZGQ4YTVmYzZiZGRjMjkyZmI4MDdjOTAxMDJkNDMxNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCkBAIC0zOCwxMiArMzgs
MTUgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1MU3R5bGVFbGVtZW50
OjpIVE1MU3R5bGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKICAgICAsIFN0eWxlRWxlbWVudChkb2N1bWVudCwgY3JlYXRlZEJ5UGFy
c2VyKQorICAgICwgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUoZmFsc2UpCiB7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUoc3R5bGVUYWcpKTsKIH0KIAogSFRNTFN0eWxlRWxlbWVudDo6fkhU
TUxTdHlsZUVsZW1lbnQoKQogeworICAgIC8vIER1cmluZyB0ZWFyLWRvd24sIHdpbGxSZW1vdmUg
aXNuJ3QgY2FsbGVkLCBzbyBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSBtYXkgc3RpbGwg
YmUgc2V0IGhlcmUuCisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbid0IEFTU0VSVCghbV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUpLgogICAgIFN0eWxlRWxlbWVudDo6Y2xlYXJEb2N1bWVudERh
dGEoZG9jdW1lbnQoKSwgdGhpcyk7CiB9CiAKQEAgLTU2LDcgKzU5LDEyIEBAIHZvaWQgSFRNTFN0
eWxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewogICAg
IGlmIChhdHRyLT5uYW1lKCkgPT0gdGl0bGVBdHRyICYmIG1fc2hlZXQpCiAgICAgICAgIG1fc2hl
ZXQtPnNldFRpdGxlKGF0dHItPnZhbHVlKCkpOwotICAgIGVsc2UKKyAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gc2NvcGVkQXR0cikgeworICAgICAgICBpZiAoIWF0dHItPmlzTnVsbCgpICYm
ICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSAmJiBpbkRvY3VtZW50KCkpCisgICAgICAg
ICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAgICAgICBlbHNlIGlmIChhdHRyLT5p
c051bGwoKSAmJiBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkKKyAgICAgICAgICAgIHVu
cmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICB9IGVsc2UKICAgICAgICAgSFRNTEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQogCkBAIC02NiwxOCArNzQsNzMgQEAg
dm9pZCBIVE1MU3R5bGVFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogICAgIEhUTUxF
bGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKIH0KIAordm9pZCBIVE1MU3R5bGVFbGVt
ZW50OjpyZWdpc3RlcldpdGhTY29waW5nTm9kZSgpCit7CisgICAgLy8gTm90ZTogV2UgY2Fubm90
IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQgYWxyZWFkeSBiZWluZyBwcmVzZW50IHdoZW4g
dGhpcyBtZXRob2QgaXMgaW52b2tlZC4KKyAgICAvLyBUaGVyZWZvcmUgd2UgY2Fubm90IHJlbHkg
b24gc2NvcGVkKCkhCisgICAgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7
CisgICAgQVNTRVJUKGluRG9jdW1lbnQoKSk7CisgICAgaWYgKCFtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50KiBzY29wZSA9IHBhcmVudEVsZW1lbnQoKTsK
KyAgICAgICAgaWYgKCFzY29wZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzY29w
ZS0+cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgICAgICBzY29wZS0+c2V0TmVl
ZHNTdHlsZVJlY2FsYygpOworICAgICAgICBpZiAoaW5Eb2N1bWVudCgpICYmICFkb2N1bWVudCgp
LT5wYXJzaW5nKCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIGRvY3Vt
ZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOworCisgICAgICAg
IG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlID0gdHJ1ZTsKKyAgICB9Cit9CisKK3ZvaWQg
SFRNTFN0eWxlRWxlbWVudDo6dW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpCit7CisgICAgLy8g
Tm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQgc3RpbGwgYmVpbmcg
cHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlzIGludm9rZWQuCisgICAgLy8gVGhlcmVmb3JlIHdl
IGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQorICAgIEFTU0VSVChtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSk7CisgICAgaWYgKG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKSB7Cisg
ICAgICAgIEVsZW1lbnQqIHNjb3BlID0gcGFyZW50RWxlbWVudCgpOworICAgICAgICBBU1NFUlQo
c2NvcGUpOworICAgICAgICBpZiAoc2NvcGUpIHsKKyAgICAgICAgICAgIEFTU0VSVChzY29wZS0+
aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSk7CisgICAgICAgICAgICBzY29wZS0+dW5yZWdpc3Rl
clNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgICAgICAgICBzY29wZS0+c2V0TmVlZHNTdHls
ZVJlY2FsYygpOworICAgICAgICB9CisgICAgICAgIGlmIChpbkRvY3VtZW50KCkgJiYgIWRvY3Vt
ZW50KCktPnBhcnNpbmcoKSAmJiBkb2N1bWVudCgpLT5yZW5kZXJlcigpKQorICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CisKKyAg
ICAgICAgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgPSBmYWxzZTsKKyAgICB9Cit9CisK
IHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewogICAgIEhU
TUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIFN0eWxlRWxlbWVudDo6aW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhpcyk7CisgICAgaWYgKHNjb3BlZCgpICYm
ICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkKKyAgICAgICAgcmVnaXN0ZXJXaXRoU2Nv
cGluZ05vZGUoKTsKIH0KIAogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJvbURvY3Vt
ZW50KCkKIHsKKyAgICBBU1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKICAg
ICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIFN0eWxlRWxlbWVudDo6
cmVtb3ZlZEZyb21Eb2N1bWVudChkb2N1bWVudCgpLCB0aGlzKTsKIH0KIAordm9pZCBIVE1MU3R5
bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKCkKK3sKKy8vIFBST0JMRU06ICQkJAorLy8gd2lsbFJlbW92
ZSgpIGlzIGFsc28gY2FsbGVkIGlmIGFuIGFuY2VzdG9yIGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9j
dW1lbnQuCisvLyBOb3csIGlmIHdlIHdhbnQgdG8gcmVnaXN0ZXIgPHN0eWxlIHNjb3BlZD4gZXZl
biBpZiBpdCdzIG5vdCBpbkRvY3VtZW50LAorLy8gd2UnZCBuZWVkIHRvIGZpbmQgYSB3YXkgdG8g
ZGlzY2VybiB3aGV0aGVyIHRoYXQgaXMgdGhlIGNhc2UsIG9yIHdoZXRoZXIgPHN0eWxlIHNjb3Bl
ZD4gaXRzZWxmIGlzIGFib3V0IHRvIGJlIHJlbW92ZWQuCisgICAgQVNTRVJUKCFzY29wZWQoKSB8
fCAhaW5Eb2N1bWVudCgpIHx8IG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBp
ZiAobV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAgICAgIHVucmVnaXN0ZXJXaXRo
U2NvcGluZ05vZGUoKTsKKyAgICBIVE1MRWxlbWVudDo6d2lsbFJlbW92ZSgpOworfQorCiB2b2lk
IEhUTUxTdHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwg
Tm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0
YSkKIHsKICAgICBTdHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCh0aGlzKTsKQEAgLTk0LDYg
KzE1NywxNiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxTdHlsZUVsZW1lbnQ6OnR5cGUoKSBj
b25zdAogICAgIHJldHVybiBnZXRBdHRyaWJ1dGUodHlwZUF0dHIpOwogfQogCitib29sIEhUTUxT
dHlsZUVsZW1lbnQ6OnNjb3BlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhc3RIYXNBdHRyaWJ1
dGUoc2NvcGVkQXR0cik7Cit9CisKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6c2V0U2NvcGVkKGJv
b2wgc2NvcGVkVmFsdWUpCit7CisgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShzY29wZWRBdHRyLCBz
Y29wZWRWYWx1ZSk7Cit9CisKIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6YWRkU3VicmVzb3VyY2VB
dHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKSBjb25zdAogeyAgICAKICAgICBI
VE1MRWxlbWVudDo6YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKHVybHMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAppbmRleCBhZjI4MDg1ZGJiYmY0NWVkN2NkZDRiZDI0
ZjRkZjRmZGRmZmU0ZTFmLi5hNDg3YTFlZWUyZWRhMzk5MDRlYjEyNzM4MWU0ZWRmNjM2NTY1NGYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaApAQCAtMzcsNiArMzcsOSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKKyAg
ICBib29sIHNjb3BlZCgpIGNvbnN0OworICAgIHZvaWQgc2V0U2NvcGVkKGJvb2wpOworCiAgICAg
dXNpbmcgU3R5bGVFbGVtZW50OjpzaGVldDsKIAogICAgIGJvb2wgZGlzYWJsZWQoKSBjb25zdDsK
QEAgLTQ5LDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3Vt
ZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgd2lsbFJlbW92ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQo
Ym9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9k
ZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CkBAIC02MSw2ICs2NSwxMSBAQCBwcml2
YXRlOgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUoKSBjb25zdDsKKworICAgIHZvaWQg
cmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJXaXRoU2NvcGlu
Z05vZGUoKTsKKworICAgIGJvb2wgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGU7CiB9Owog
CiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHls
ZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbApp
bmRleCBjOTg2MjljNjI0NjJkYjAyNDRhMTZhNTcwMjg4ZjdiNjExZGJlNDYzLi5lODYzOTY1NzZm
NGIwYzdlYjgyMWQ3NjEwMzgwZjBhNTE2YmNiYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFN0eWxlRWxlbWVudC5pZGwKQEAgLTIyLDYgKzIyLDcgQEAgbW9kdWxlIGh0bWwgewogCiAgICAg
aW50ZXJmYWNlIEhUTUxTdHlsZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJp
YnV0ZSBib29sZWFuIGRpc2FibGVkOworICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBzY29wZWQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG1lZGlhOwogICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB0eXBlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKaW5kZXggMDRlYzllZjUzNzQ4YjlhZDc0ZmVlODA2NjZjZjE1MGRiMTgwZWEz
Yi4uOGVmZmE2NGNiOGY3NTFmZDM1MWY5MDEwZmM2ZDFkMTliOGQwODJhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTYzLDYgKzE2MywxNiBAQCBTdHJpbmcgSW50ZXJu
YWxzOjpzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykK
ICAgICByZXR1cm4gZWxlbWVudC0+c2hhZG93UHNldWRvSWQoKS5zdHJpbmcoKTsKIH0KIAorc3Rk
OjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICgh
ZWxlbWVudCkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQtPm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oKTsKK30KKwogdm9pZCBJbnRlcm5hbHM6OmRpc2FibGVNZW1vcnlDYWNoZShi
b29sIGRpc2FibGVkKQogewogICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVk
KGRpc2FibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDEzNDM3ZTFlZGE0
MDU3OTQ4MmVhZTg3Yzc0ODcxNjdmNGQ3MGY2NTIuLmE2ZDc2MGJjNTZhZTljN2M0MzlkMzA0NTgw
OTM1NTA5MTAzMGNlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNjAsNiAr
NjAsOCBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3Qo
Tm9kZSogc2hhZG93Um9vdCwgY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpOwogCisgICAgc3RkOjpzaXpl
X3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjb25zdCBFbGVtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OworCiAjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQogICAgIGJvb2wgY29u
bmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50Kik7CiAgICAgdm9pZCBzZWxlY3RDb2xvcklu
Q29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggNWUyMzFjY2Q1MzE4OTU5NGVhZDRjNmYwOGNiNzMwOWQ0MmJl
NzM2OC4uN2RjMDdiMzBkYmIyNDU0OWFiOTdjZjJkMTRlNzdjN2FlMjNhYWMzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzksNiArMzksOCBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZEluU2hhZG93Um9vdChpbiBOb2RlIHNo
YWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAg
IHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGluIGJvb2xlYW4gZGlzYWJsZWQpOwogCisgICAgICAg
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihpbiBFbGVtZW50
IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAjaWYgZGVmaW5lZChFTkFCTEVfSU5Q
VVRfQ09MT1IpICYmIEVOQUJMRV9JTlBVVF9DT0xPUgogICAgICAgICBib29sZWFuIGNvbm5lY3RD
b2xvckNob29zZXJDbGllbnQoaW4gRWxlbWVudCBlbGVtZW50KTsKICAgICAgICAgdm9pZCBzZWxl
Y3RDb2xvckluQ29sb3JDaG9vc2VyKGluIERPTVN0cmluZyBjb2xvclZhbHVlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyCmluZGV4IDA3NmFkYzY0ZjMxYzA3Y2E0NjgzZGM3OTdjODYzNWExM2YyY2Mw
NjEuLjJhMmY5MDE2ZTc1NzY5NDQ5OTNmNWQyMDQ1NDk5ZDJlNTZkNzBlNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgpAQCAtNjIsNiArNjIsNyBAQCBfWk43V2ViQ29yZTZKU05vZGU2c19pbmZv
RTsKIF9aTjdXZWJDb3JlNnRvTm9kZUVOM0pTQzdKU1ZhbHVlRTsKIF9aTjdXZWJDb3JlN0VsZW1l
bnQxNmVuc3VyZVNoYWRvd1Jvb3RFdjsKIF9aTjdXZWJDb3JlN0VsZW1lbnQxNnJlbW92ZVNoYWRv
d1Jvb3RFdjsKK19aTks3V2ViQ29yZTdFbGVtZW50MzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuRXYKIF9aTjdXZWJDb3JlOUpTRWxlbWVudDNwdXRFUE4zSlNDOUV4ZWNTdGF0ZUVSS05T
MV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RFOwogX1pO
N1dlYkNvcmU5SlNFbGVtZW50NnNfaW5mb0U7CiBfWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3
SlNWYWx1ZUU7CkBAIC03MCw2ICs3MSw3IEBAIF9aTks3V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VM
b2FkZXIxMWlzUHJlbG9hZGVkRVJLTjNXVEY2U3RyaW5nRTsKIF9aTks3V2ViQ29yZTI2SFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQyMWxhc3RDaGFuZ2VXYXNVc2VyRWRpdEV2OwogX1pOSzdXZWJD
b3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8x
NFNjb3BlQ2hhaW5Ob2RlRTsKIF9aTks3V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290RXY7Citf
Wk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2Owog
X1pOSzdXZWJDb3JlOERvY3VtZW50NHBhZ2VFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDhzZXR0
aW5nc0V2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHZpZXdFdjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107417</attachid>
            <date>2011-09-14 16:13:24 -0700</date>
            <delta_ts>2011-11-15 21:11:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67790-20110914161321.patch</filename>
            <type>text/plain</type>
            <size>38103</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxMzYKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAyMzBiODJmYWM5NjFkZTA1OTBlOGNmZWVmY2M3YzYwNzY3YjA3YjI3Li5hMjQx
N2ZlYWU2ZWEyODA4OGQzNmNkNDIyMjU4YTMzMTdhODlkMTZhIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMTQgIFJvbGFuZCBT
dGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNj
b3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBz
Y29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NzkwCisKKyAgICAgICAgd2luZG93cy5pbnRlcm5hbHMgdXBkYXRlcyAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMDktMTQgIENzYWJhIE9zenRyb2dvbsOhYyAg
PG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbR1RLXSBVbnJldmlld2VkIGJ1aWxkZml4IGFm
dGVyIHI5NTEwNy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA1YzJjZjA1NGViNTE0ZGY3MTRjNjJmOWUyMjlhMzY4MjgwNDQy
NGQ1Li4yM2M5ZWE0ZjI1MGYzZmNhY2MzN2RiNzhlZGE5MTNmODI1MWRiYzYyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTEtMDktMTQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3Rl
cmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAg
VGVzdHMgdGhhdCByZWdpc3RyYXRpb24gb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCBpdHMgcGFyZW50
IGlzIHBlcmZvcm1lZCBjb3JyZWN0bHkKKyAgICAgICAgaW4gdmFyaW91cyBjaXJjdW1zdGFuY2Vz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWw6IEFkZGVkLgorCiAy
MDExLTA5LTE0ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1lZGlhIGVsZW1lbnQgdGVzdHMgc2hvdWxkIGxvb2sgdXAgY29udHJvbGxlciBlbGVtZW50
IGxvY2F0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTEwZDhhNmRkYTQ5
NDhiZDVhODU0MDc0MTk0MTA2OTE3ZWE5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNTkgQEAKK1Rlc3QgW3VuXXJlZ2lzdGVyaW5nIGEgPHN0eWxlIHNjb3BlZD4gZWxlbWVudCBm
cm9tIGl0cyBwYXJlbnQKKworLS0tIEluaXRpYWwgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gQXR0YWNo
aW5nIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTEpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIFVuc2V0dGluZyBAc2NvcGVkIC0tLQorUEFTUyBpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDAKK1BBU1Mg
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQ
QVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMg
MAorLS0tIFJlLXNldHRpbmcgQHNjb3BlZCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcv
cmVtb3Zpbmcgc2NvcGUgZWxlbWVudHMgZnJvbSBkb2N1bWVudCAtLS0KK1BBU1MgaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDEKKy0t
LSBNdWx0aXBsZSBzY29wZWQgc3R5bGUgZWxlbWVudHMgd2l0aGluIHNpbmdsZSBzY29wZSAtLS0K
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBp
cyAzCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTMpIGlzIDAKKy0tLSBSZW1vdmluZyBzY29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAt
LS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUx
KSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0aGluIG90aGVyIHNjb3BlIC0t
LQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykgaXMgMAorLS0tIENsb25pbmcgPHN0eWxlIHNjb3BlZD4gYW5kIHBhcmVudHMgLS0t
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkg
aXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKGNsb25lc2NvcGUxZGVlcCkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cpIGlzIDAKK1BBU1MgaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSBpcyAwCitQ
QVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUy
c2hhbGxvdykgaXMgMAorLS0tIGluc2VydGluZyBjbG9uZXMgaW50byBzaW5nbGUgcGFyZW50IC0t
LQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykgaXMgNAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihjbG9uZXNjb3BlMWRlZXApIGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSBpcyAwCitQQVNTIGludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkgaXMgMQor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3Bl
MnNoYWxsb3cpIGlzIDAKKy0tLSBVbnNldHRpbmcgQHNjb3BlZCBpbiBuZXN0ZWQgc2NvcGUgLS0t
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkg
aXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSBpcyA0CistLS0gRE9ORSAtLS0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
dHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LXNjb3BlZC9yZWdpc3RlcmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzM2I5YzQ3YTc0OGNiNDMxYmY5
NTFiODM0OTI3NmU4YjVjYWRiMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbApAQCAtMCwwICsxLDI0NyBAQAorPGh0
bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
cD5UZXN0IFt1bl1yZWdpc3RlcmluZyBhICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGVsZW1lbnQgZnJv
bSBpdHMgcGFyZW50PC9wPgorICAgIDxkaXYgaWQ9InNjb3BlMSI+CisgICAgICAgIDxzdHlsZSBp
ZD0iZ2xvYmFsMSI+PC9zdHlsZT4KKyAgICAgICAgPHN0eWxlIHNjb3BlZD0nc2NvcGVkMScgaWQ9
InNjb3BlZDEiPjwvc3R5bGU+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ic2NvcGUyIj4KKyAg
ICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCisgICAgPHNjcmlwdD4K
KyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cuaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pCisgICAgICAgICAgICBkZWJ1Zygid2luZG93cy5p
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiBub3QgZm91bmQhIik7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIHNjb3BlMSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdzY29wZTEnKTsKKyAgICAgICAgICAgIHZhciBzY29wZTIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc2NvcGUyJyk7CisgICAgICAgICAgICB2YXIgc2NvcGUzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKKyAgICAgICAgICAgIHZhciBnbG9iYWwxID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbDEnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQxID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlZDEnKTsKKworICAgICAgICAgICAgdmFyIGds
b2JhbDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAgdmFy
IHNjb3BlZDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAg
c2NvcGVkMi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHZh
ciBzY29wZWQzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAgICAg
IHNjb3BlZDMuc2NvcGVkID0gdHJ1ZTsKKy8qIHZlcnNpb24gd2hlcmUgPHN0eWxlIHNjb3BlZD4g
b3V0c2lkZSB0aGUgZG9jdW1lbnQgSVMgcmVnaXN0ZXJlZDoKKyAgICAgICAgICAgIGRlYnVnKCIt
LS0gSW5pdGlhbCAtLS0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIp
IiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAgICAgICAgZGVidWcoIi0t
LSBBdHRhY2hpbmcgLS0tIik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVk
Mik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoZ2xvYmFsMik7CisgICAgICAgICAg
ICBzY29wZTMuYXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUyKSIsICIxIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIxIik7CisKKyAgICAgICAg
ICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29w
ZWQxLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMi5zY29wZWQgPSBmYWxzZTsK
KyAgICAgICAgICAgIHNjb3BlZDMucmVtb3ZlQXR0cmlidXRlKCdzY29wZWQnKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTEpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwg
IjAiKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZGVidWcoIi0tLSBSZS1zZXR0aW5nIEBz
Y29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IHRydWU7CisgICAgICAg
ICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Njb3BlZCcpOworICAgICAgICAg
ICAgc2NvcGVkMy5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICcnKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwg
IjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjEiKTsKKwor
ICAgICAgICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcvcmVtb3Zpbmcgc2NvcGUgZWxlbWVudHMg
ZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoc2NvcGUyKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NvcGUz
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTMpIiwgIjEiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBNdWx0aXBsZSBzY29w
ZWQgc3R5bGUgZWxlbWVudHMgd2l0aGluIHNpbmdsZSBzY29wZSAtLS0iKTsKKyAgICAgICAgICAg
IHNjb3BlMi5yZW1vdmVDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVD
aGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNjb3BlMy5yZW1vdmVDaGlsZChzY29wZWQzKTsK
KyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNj
b3BlMS5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGls
ZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjMiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAgICAgICAgZGVidWcoIi0tLSBSZW1v
dmluZyBzY29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjMiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTIpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsKKworICAgICAg
ICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0aGluIG90aGVyIHNjb3BlIC0tLSIp
OworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoc2NvcGUyLCBzY29wZTMp
OworICAgICAgICAgICAgc2NvcGUxLnJlbW92ZUNoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAg
c2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENo
aWxkKHNjb3BlMSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7CisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIx
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQ2xv
bmluZyA8c3R5bGUgc2NvcGVkPiBhbmQgcGFyZW50cyAtLS0iKTsKKyAgICAgICAgICAgIHZhciBj
bG9uZXNjb3BlMWRlZXAgPSBzY29wZTEuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFy
IGNsb25lc2NvcGUxc2hhbGxvdyA9IHNjb3BlMS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAg
ICAgdmFyIGNsb25lc2NvcGUyZGVlcCA9IHNjb3BlMi5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAg
ICAgICB2YXIgY2xvbmVzY29wZTJzaGFsbG93ID0gc2NvcGUyLmNsb25lTm9kZShmYWxzZSk7Cisg
ICAgICAgICAgICB2YXIgY2xvbmVzY29wZWQxZGVlcCA9IHNjb3BlZDEuY2xvbmVOb2RlKHRydWUp
OworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMXNoYWxsb3cgPSBzY29wZWQxLmNsb25lTm9k
ZShmYWxzZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZWQyZGVlcCA9IHNjb3BlZDIuY2xv
bmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMnNoYWxsb3cgPSBzY29w
ZWQyLmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8gKiBpbiB0cmVl
LCBjaGlsZCBvZiBzY29wZTIgKiAvCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8gKiBpbiB0cmVl
ICogLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvICogaW4gdHJlZSAqIC8KKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9u
ZXNjb3BlMWRlZXApIiwgIjAiKTsgLyAqIG91dCBvZiB0cmVlICogLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2Nv
cGUxc2hhbGxvdykiLCAiMCIpOyAvICogb3V0IG9mIHRyZWUgKiAvCisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29w
ZTJkZWVwKSIsICIwIik7IC8gKiBvdXQgb2YgdHJlZSAqIC8KKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNo
YWxsb3cpIiwgIjAiKTsgLyAqIG91dCBvZiB0cmVlICogLworCisgICAgICAgICAgICBkZWJ1Zygi
LS0tIGluc2VydGluZyBjbG9uZXMgaW50byBzaW5nbGUgcGFyZW50IC0tLSIpOworICAgICAgICAg
ICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUxZGVlcCk7CisgICAgICAgICAgICBzY29w
ZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTFzaGFsbG93KTsKKyAgICAgICAgICAgIHNjb3BlMy5h
cHBlbmRDaGlsZChjbG9uZXNjb3BlMmRlZXApOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENo
aWxkKGNsb25lc2NvcGUyc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQo
Y2xvbmVzY29wZWQxZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVz
Y29wZWQxc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29w
ZWQyZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZWQyc2hh
bGxvdyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8gKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29w
ZTIgKiAvCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8gKiBpbiB0cmVlICogLworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMykiLCAiNCIpOyAvICogaW4gdHJlZSAqIC8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIiwg
IjIiKTsgLyAqIGluIHRyZWUgKiAvCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSIsICIwIik7
IC8gKiBpbiB0cmVlICogLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkiLCAiMSIpOyAvICogaW4g
dHJlZSAqIC8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIiwgIjAiKTsgLyAqIGluIHRyZWUg
KiAvCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgaW4gbmVzdGVk
IHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSBmYWxzZTsKKyAgICAg
ICAgICAgIHNjb3BlZDIucmVtb3ZlQXR0cmlidXRlKCdzY29wZWQnKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IiwgIjEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsK
KyovCisvKiB2ZXJzaW9uIHdoZXJlIDxzdHlsZSBzY29wZWQ+IG91dHNpZGUgdGhlIGRvY3VtZW50
IGlzIE5PVCByZWdpc3RlcmVkOiAqLworICAgICAgICAgICAgZGVidWcoIi0tLSBJbml0aWFsIC0t
LSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUy
KSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91
dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQXR0YWNoaW5nIC0tLSIpOwor
ICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2Nv
cGUyLmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxk
KHNjb3BlZDMpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyog
b3V0IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRpbmcgQHNjb3Bl
ZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAg
ICBzY29wZWQyLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMy5yZW1vdmVBdHRy
aWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOyAvKiBpbiB0cmVlICovCisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAi
KTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIAorICAgICAgICAgICAgZGVidWcoIi0t
LSBSZS1zZXR0aW5nIEBzY29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9
IHRydWU7CisgICAgICAgICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Njb3Bl
ZCcpOworICAgICAgICAgICAgc2NvcGVkMy5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICcnKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIp
OyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICov
CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNjb3BlIGVsZW1l
bnRzIGZyb20gZG9jdW1lbnQgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2Vy
dEJlZm9yZShzY29wZTMsIHNjb3BlMik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92
ZUNoaWxkKHNjb3BlMik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwg
IjEiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIE11bHRpcGxlIHNj
b3BlZCBzdHlsZSBlbGVtZW50cyB3aXRoaW4gc2luZ2xlIHNjb3BlIC0tLSIpOworICAgICAgICAg
ICAgc2NvcGUyLnJlbW92ZUNoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLnJlbW92
ZUNoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLnJlbW92ZUNoaWxkKHNjb3BlZDMp
OworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAg
c2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENo
aWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMyIpOyAvKiBpbiB0cmVlICovCisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUyKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIw
Iik7IC8qIGluIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBSZW1vdmluZyBzY29w
aW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjAiKTsgLyogb3V0IG9m
IHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTMpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0t
IEluc2VydGluZyBzY29wZSB3aXRoaW4gb3RoZXIgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBk
b2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShzY29wZTIsIHNjb3BlMyk7CisgICAgICAgICAgICBz
Y29wZTEucmVtb3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hp
bGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGUxKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsg
LyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIENsb25pbmcgJmx0O3N0eWxl
IHNjb3BlZCZndDsgYW5kIHBhcmVudHMgLS0tIik7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29w
ZTFkZWVwID0gc2NvcGUxLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNj
b3BlMXNoYWxsb3cgPSBzY29wZTEuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBj
bG9uZXNjb3BlMmRlZXAgPSBzY29wZTIuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFy
IGNsb25lc2NvcGUyc2hhbGxvdyA9IHNjb3BlMi5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAg
ICAgdmFyIGNsb25lc2NvcGVkMWRlZXAgPSBzY29wZWQxLmNsb25lTm9kZSh0cnVlKTsKKyAgICAg
ICAgICAgIHZhciBjbG9uZXNjb3BlZDFzaGFsbG93ID0gc2NvcGVkMS5jbG9uZU5vZGUoZmFsc2Up
OworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMmRlZXAgPSBzY29wZWQyLmNsb25lTm9kZSh0
cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDJzaGFsbG93ID0gc2NvcGVkMi5jbG9u
ZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMiIpOyAvKiBpbiB0cmVlLCBjaGlsZCBv
ZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSIs
ICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSIsICIw
Iik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSIsICIwIik7IC8q
IG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSIsICIwIik7IC8qIG91
dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gaW5zZXJ0aW5nIGNsb25lcyBp
bnRvIHNpbmdsZSBwYXJlbnQgLS0tIik7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQo
Y2xvbmVzY29wZTFkZWVwKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNj
b3BlMXNoYWxsb3cpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUy
ZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTJzaGFsbG93
KTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDFkZWVwKTsKKyAg
ICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDFzaGFsbG93KTsKKyAgICAg
ICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDJkZWVwKTsKKyAgICAgICAgICAg
IHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDJzaGFsbG93KTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIs
ICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjQiKTsgLyogaW4gdHJlZSAq
LworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkiLCAiMiIpOyAvKiBpbiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
Y2xvbmVzY29wZTFzaGFsbG93KSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNj
b3BlMmRlZXApIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hhbGxv
dykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5zZXR0
aW5nIEBzY29wZWQgaW4gbmVzdGVkIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5z
Y29wZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDIucmVtb3ZlQXR0cmlidXRlKCdzY29w
ZWQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUy
ICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMp
IiwgIjQiKTsgLyogaW4gdHJlZSAqLworLyoqLworICAgICAgICAgICAgZGVidWcoIi0tLSBET05F
IC0tLSIpOworICAgICAgICB9CisgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2
NTMyODcxM2UyYzAzZDk2YjExMTZjMzI1YmRlODZmMjFlNmE1Yjk0Li5kZjg2NWI3ODAwMjQ0NDhh
MzFiMTY3ZGJmYzkxNmMxNWI5NWE4YjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIw
MTEtMDktMTQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUg
c2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgSW1wbGVtZW50IHJlZ2lz
dGVyaW5nIG9mIGEgPHN0eWxlPiBlbGVtZW50IHdpdGggaXRzIHBhcmVudCBlbGVtZW50IGlmIHRo
ZSAnc2NvcGVkJyBhdHRyaWJ1dGUgaXMgc2V0LgorICAgICAgICBVcGRhdGUgdGhlIHJlZ2lzdHJh
dGlvbiB3aGVuZXZlciB0aGUgJ3Njb3BlZCcgYXR0cmlidXRlIGlzIGNoYW5nZWQsCisgICAgICAg
IG9yIHRoZSA8c3R5bGU+IGVsZW1lbnQgZW5ldGVycyBvciBsZWF2ZXMgdGhlIHRyZWUuCisKKyAg
ICAgICAgQWxzbywgZXh0ZW5kIHdpbmRvd3MuaW50ZXJuYWxzIHRvIGFsbG93IGZvciB0ZXN0aW5n
IG9mIHRoZSByZWdpc3RyYXRpb24gcmVmLWNvdW50aW5nLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9y
ZWdpc3RlcmluZy5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBk
b20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpoYXNTY29wZWRIVE1M
U3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpudW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dW5yZWdpc3Rl
clNjb3BlZEhUTUxTdHlsZUNoaWxkKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAg
ICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJl
RGF0YTo6RWxlbWVudFJhcmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0
YTo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50UmFyZURhdGE6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbik6CisgICAgICAgICogaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFN0eWxlRWxlbWVudDo6fkhUTUxTdHlsZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6dW5yZWdpc3RlcldpdGhTY29waW5nTm9k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJvbURv
Y3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OndpbGxSZW1vdmUp
OgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMDktMDggIFJvbGFuZCBTdGVp
bmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgPHN0eWxlIHNjb3Bl
ZD46IEFkZCAnc2NvcGVkJyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZmU0ZjM3
NDE0NGE4YzdjYTdhM2FhYjdjYjBhNzE0ZWZlZWNjMjFjYi4uZGE2NTJkMzE4ZGU4YjFiN2IwMTEy
ZDFlYWZmOWI4YjU0Zjk3MjZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEzMDQsNiArMTMw
NCw3IEBAIF9fWk5LN1dlYkNvcmU2V2lkZ2V0OWZyYW1lUmVjdEV2CiBfX1pOSzdXZWJDb3JlN0Vs
ZW1lbnQxMHNjcmVlblJlY3RFdgogX19aTks3V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290RXYK
IF9fWk5LN1dlYkNvcmU3RWxlbWVudDEyZ2V0QXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1l
RQorX19aTks3V2ViQ29yZTdFbGVtZW50MzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
RXYKIF9fWk5LN1dlYkNvcmU3SW50UmVjdDEwaW50ZXJzZWN0c0VSS1MwXwogX19aTks3V2ViQ29y
ZTdJbnRSZWN0OGNvbnRhaW5zRVJLUzBfCiBfX1pOSzdXZWJDb3JlN0ludFJlY3RjdjZDR1JlY3RF
dgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDViZjAwN2FlMWVlOTlmZGYzMzEwMWQ2NDZkNWFk
NzY3YjA5NmMyMDIuLjVlOGU5NTQ1NmJiOWY3Y2Q4MTZiMWFjYjJjMmU2ZjQ0ZGJjOGNlMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3OTgsNiArMTc5OCwyOCBAQCB1bnNpZ25lZCBFbGVt
ZW50OjpjaGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvdW50OwogfQogCiti
b29sIEVsZW1lbnQ6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLT5oYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgp
OworfQorCitzdGQ6OnNpemVfdCBFbGVtZW50OjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IHJhcmVEYXRhKCktPm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSA6IDA7Cit9CisKK3ZvaWQgRWxlbWVudDo6
cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgZW5zdXJlUmFyZURhdGEoKS0+
cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQorCit2b2lkIEVsZW1lbnQ6OnVucmVn
aXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkp
OworICAgIGlmIChoYXNSYXJlRGF0YSgpKQorICAgICAgICByYXJlRGF0YSgpLT51bnJlZ2lzdGVy
U2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKK30KKwogYm9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVz
U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAg
ICAgaWYgKHNlbGVjdG9yLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDJhODc2
ZmNjNzQxYzc3ZDcwYTQyZmIxNDY4NTFhNjNhNjk4OTdiYi4uZjUxNWU1NzliYWM2Mzg0ZDA3Yjg0
YTk0NmU3Yzc1YzlhZWQ2YTlkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0yOTIsNiArMjkyLDEx
IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBuZXh0RWxlbWVudFNpYmxpbmcoKSBjb25zdDsKICAg
ICB1bnNpZ25lZCBjaGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0OwogCisgICAgdm9pZCByZWdpc3Rl
clNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0
eWxlQ2hpbGQoKTsKKyAgICBib29sIGhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3Q7Cisg
ICAgc3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Owor
CiAgICAgYm9vbCB3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMs
IEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMWNhY2NkNDk0ZjEwZjJhNmMzMDZlNjBi
ZTEzNDRhNzU0NjVlMjk2Zi4uNTgwZDBmNTM1YjgzOGU5MmZkMGMxNjE1ODkyMDEwZDVhODI0ZDg2
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzksNiArMzksMTEgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXNldENvbXB1dGVkU3R5bGUoKTsKIAorICAgIHZvaWQgcmVn
aXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIHZvaWQgdW5yZWdpc3RlclNjb3BlZEhU
TUxTdHlsZUNoaWxkKCk7CisgICAgYm9vbCBoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpIGNvbnN0
OworICAgIHN0ZDo6c2l6ZV90IG51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25z
dDsKKwogICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6bmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVT
b29uQWZ0ZXJBdHRhY2g7CiAgICAgdXNpbmcgTm9kZVJhcmVEYXRhOjpzZXROZWVkc0ZvY3VzQXBw
ZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaDsKIApAQCAtNDcsNiArNTIsOCBAQCBwdWJsaWM6
CiAgICAgU2hhZG93Um9vdCogbV9zaGFkb3dSb290OwogICAgIEF0b21pY1N0cmluZyBtX3NoYWRv
d1BzZXVkb0lkOwogCisgICAgc3RkOjpzaXplX3QgbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuOworCiAgICAgT3duUHRyPERhdGFzZXRET01TdHJpbmdNYXA+IG1fZGF0YXNldERPTVN0
cmluZ01hcDsKICAgICBPd25QdHI8Q2xhc3NMaXN0PiBtX2NsYXNzTGlzdDsKIApAQCAtNjUsNiAr
NzIsNyBAQCBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpCiBp
bmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEoKQogICAgIDogbV9taW5pbXVt
U2l6ZUZvclJlc2l6aW5nKGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkpCiAgICAgLCBt
X3NoYWRvd1Jvb3QoMCkKKyAgICAsIG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigw
KQogICAgICwgbV9zdHlsZUFmZmVjdGVkQnlFbXB0eShmYWxzZSkKICNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCiAgICAgLCBtX2NvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQoZmFsc2UpCkBAIC03
Nyw2ICs4NSwyOCBAQCBpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjp+RWxlbWVudFJhcmVEYXRhKCkK
ICAgICBBU1NFUlQoIW1fc2hhZG93Um9vdCk7CiB9CiAKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJl
RGF0YTo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgKyttX251bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0
YTo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBBU1NFUlQobV9udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuID4gMCk7CisgICAgaWYgKG1fbnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbiA+IDApCisgICAgICAgIC0tbV9udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuOworfQorCitpbmxpbmUgYm9vbCBFbGVtZW50UmFyZURhdGE6Omhhc1Njb3Bl
ZEhUTUxTdHlsZUNoaWxkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxpbmUgc3RkOjpzaXplX3QgRWxlbWVudFJhcmVEYXRh
OjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCiBpbmxpbmUgdm9pZCBFbGVt
ZW50UmFyZURhdGE6OnJlc2V0Q29tcHV0ZWRTdHlsZSgpCiB7CiAgICAgbV9jb21wdXRlZFN0eWxl
LmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAppbmRleCA3
MzEyNTc1NDExYWY0YTY3NmQ2YTQxYjdjYmIyNTFkZmZhM2E0OTUwLi4yZDZjNzZjYzhkZDhhNWZj
NmJkZGMyOTJmYjgwN2M5MDEwMmQ0MzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTdHlsZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxl
RWxlbWVudC5jcHAKQEAgLTM4LDEyICszOCwxNSBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNl
cikKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgU3R5bGVFbGVt
ZW50KGRvY3VtZW50LCBjcmVhdGVkQnlQYXJzZXIpCisgICAgLCBtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZShmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShzdHlsZVRhZykpOwog
fQogCiBIVE1MU3R5bGVFbGVtZW50Ojp+SFRNTFN0eWxlRWxlbWVudCgpCiB7CisgICAgLy8gRHVy
aW5nIHRlYXItZG93biwgd2lsbFJlbW92ZSBpc24ndCBjYWxsZWQsIHNvIG1faXNSZWdpc3RlcmVk
V2l0aFNjb3BpbmdOb2RlIG1heSBzdGlsbCBiZSBzZXQgaGVyZS4KKyAgICAvLyBUaGVyZWZvcmUg
d2UgY2FuJ3QgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkuCiAgICAgU3R5
bGVFbGVtZW50OjpjbGVhckRvY3VtZW50RGF0YShkb2N1bWVudCgpLCB0aGlzKTsKIH0KIApAQCAt
NTYsNyArNTksMTIgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShBdHRyaWJ1dGUqIGF0dHIpCiB7CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB0aXRsZUF0dHIg
JiYgbV9zaGVldCkKICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUoYXR0ci0+dmFsdWUoKSk7Ci0g
ICAgZWxzZQorICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBzY29wZWRBdHRyKSB7CisgICAg
ICAgIGlmICghYXR0ci0+aXNOdWxsKCkgJiYgIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2Rl
ICYmIGluRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7
CisgICAgICAgIGVsc2UgaWYgKGF0dHItPmlzTnVsbCgpICYmIG1faXNSZWdpc3RlcmVkV2l0aFNj
b3BpbmdOb2RlKQorICAgICAgICAgICAgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAg
IH0gZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
CiB9CiAKQEAgLTY2LDE4ICs3NCw3MyBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OmZpbmlzaFBh
cnNpbmdDaGlsZHJlbigpCiAgICAgSFRNTEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigp
OwogfQogCit2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCkK
K3sKKyAgICAvLyBOb3RlOiBXZSBjYW5ub3QgcmVseSBvbiB0aGUgJ3Njb3BlZCcgZWxlbWVudCBh
bHJlYWR5IGJlaW5nIHByZXNlbnQgd2hlbiB0aGlzIG1ldGhvZCBpcyBpbnZva2VkLgorICAgIC8v
IFRoZXJlZm9yZSB3ZSBjYW5ub3QgcmVseSBvbiBzY29wZWQoKSEKKyAgICBBU1NFUlQoIW1faXNS
ZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBBU1NFUlQoaW5Eb2N1bWVudCgpKTsKKyAg
ICBpZiAoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKSB7CisgICAgICAgIEVsZW1lbnQq
IHNjb3BlID0gcGFyZW50RWxlbWVudCgpOworICAgICAgICBpZiAoIXNjb3BlKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHNjb3BlLT5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxk
KCk7CisgICAgICAgIHNjb3BlLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CisgICAgICAgIGlmIChp
bkRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnBhcnNpbmcoKSAmJiBkb2N1bWVudCgpLT5yZW5k
ZXJlcigpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvckNoYW5nZWQoRGVm
ZXJSZWNhbGNTdHlsZSk7CisKKyAgICAgICAgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUg
PSB0cnVlOworICAgIH0KK30KKwordm9pZCBIVE1MU3R5bGVFbGVtZW50Ojp1bnJlZ2lzdGVyV2l0
aFNjb3BpbmdOb2RlKCkKK3sKKyAgICAvLyBOb3RlOiBXZSBjYW5ub3QgcmVseSBvbiB0aGUgJ3Nj
b3BlZCcgZWxlbWVudCBzdGlsbCBiZWluZyBwcmVzZW50IHdoZW4gdGhpcyBtZXRob2QgaXMgaW52
b2tlZC4KKyAgICAvLyBUaGVyZWZvcmUgd2UgY2Fubm90IHJlbHkgb24gc2NvcGVkKCkhCisgICAg
QVNTRVJUKG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBpZiAobV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUpIHsKKyAgICAgICAgRWxlbWVudCogc2NvcGUgPSBwYXJlbnRF
bGVtZW50KCk7CisgICAgICAgIEFTU0VSVChzY29wZSk7CisgICAgICAgIGlmIChzY29wZSkgewor
ICAgICAgICAgICAgQVNTRVJUKHNjb3BlLT5oYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpKTsKKyAg
ICAgICAgICAgIHNjb3BlLT51bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICAg
ICAgICAgIHNjb3BlLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGluRG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+cGFyc2luZygpICYmIGRvY3VtZW50KCkt
PnJlbmRlcmVyKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9yQ2hhbmdl
ZChEZWZlclJlY2FsY1N0eWxlKTsKKworICAgICAgICBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5n
Tm9kZSA9IGZhbHNlOworICAgIH0KK30KKwogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjppbnNlcnRl
ZEludG9Eb2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50
KCk7CiAgICAgU3R5bGVFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudChkb2N1bWVudCgpLCB0
aGlzKTsKKyAgICBpZiAoc2NvcGVkKCkgJiYgIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2Rl
KQorICAgICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOwogfQogCiB2b2lkIEhUTUxTdHls
ZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQogeworICAgIEFTU0VSVCghbV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUpOwogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbURvY3Vt
ZW50KCk7CiAgICAgU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KGRvY3VtZW50KCks
IHRoaXMpOwogfQogCit2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OndpbGxSZW1vdmUoKQoreworLy8g
UFJPQkxFTTogJCQkCisvLyB3aWxsUmVtb3ZlKCkgaXMgYWxzbyBjYWxsZWQgaWYgYW4gYW5jZXN0
b3IgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkb2N1bWVudC4KKy8vIE5vdywgaWYgd2Ugd2FudCB0byBy
ZWdpc3RlciA8c3R5bGUgc2NvcGVkPiBldmVuIGlmIGl0J3Mgbm90IGluRG9jdW1lbnQsCisvLyB3
ZSdkIG5lZWQgdG8gZmluZCBhIHdheSB0byBkaXNjZXJuIHdoZXRoZXIgdGhhdCBpcyB0aGUgY2Fz
ZSwgb3Igd2hldGhlciA8c3R5bGUgc2NvcGVkPiBpdHNlbGYgaXMgYWJvdXQgdG8gYmUgcmVtb3Zl
ZC4KKyAgICBBU1NFUlQoIXNjb3BlZCgpIHx8ICFpbkRvY3VtZW50KCkgfHwgbV9pc1JlZ2lzdGVy
ZWRXaXRoU2NvcGluZ05vZGUpOworICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9k
ZSkKKyAgICAgICAgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAgIEhUTUxFbGVtZW50
Ojp3aWxsUmVtb3ZlKCk7Cit9CisKIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVy
Q2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIFN0eWxlRWxlbWVudDo6Y2hpbGRy
ZW5DaGFuZ2VkKHRoaXMpOwpAQCAtMTA0LDIxICsxNjcsNiBAQCB2b2lkIEhUTUxTdHlsZUVsZW1l
bnQ6OnNldFNjb3BlZChib29sIHNjb3BlZFZhbHVlKQogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUo
c2NvcGVkQXR0ciwgc2NvcGVkVmFsdWUpOwogfQogCi1FbGVtZW50KiBIVE1MU3R5bGVFbGVtZW50
OjpzY29waW5nRWxlbWVudCgpIGNvbnN0Ci17Ci0gICAgaWYgKCFzY29wZWQoKSkKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBwcm9iYWJseSBuZWVkcyB0byBiZSByZWZp
bmVkIGZvciBzY29wZWQgc3R5bGVzaGVldHMgd2l0aGluIHNoYWRvdyBET00uCi0gICAgLy8gQXMg
d3JpdHRlbiwgc3VjaCBhIHN0eWxlc2hlZXQgY291bGQgc3R5bGUgdGhlIGhvc3QgZWxlbWVudCwg
YXMgd2VsbCBhcyBjaGlsZHJlbiBvZiB0aGUgaG9zdC4KLSAgICAvLyBPVE9ILCB0aGlzIHBhdmVz
IHRoZSB3YXkgZm9yIGEgOmJvdW5kLWVsZW1lbnQgaW1wbGVtZW50YXRpb24uCi0gICAgQ29udGFp
bmVyTm9kZSogcGFyZW50T3JIb3N0ID0gcGFyZW50T3JIb3N0Tm9kZSgpOwotICAgIGlmICghcGFy
ZW50T3JIb3N0IHx8ICFwYXJlbnRPckhvc3QtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICByZXR1cm4gdG9FbGVtZW50KHBhcmVudE9ySG9zdCk7Ci19Ci0KIHZvaWQg
SFRNTFN0eWxlRWxlbWVudDo6YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0
PEtVUkw+JiB1cmxzKSBjb25zdAogeyAgICAKICAgICBIVE1MRWxlbWVudDo6YWRkU3VicmVzb3Vy
Y2VBdHRyaWJ1dGVVUkxzKHVybHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQu
aAppbmRleCA1MmU0Zjc3NTY2YTFhYzRiOWM1MDc5MGFiMWNjMmU1YTE3MWVlYjA1Li5hNDg3YTFl
ZWUyZWRhMzk5MDRlYjEyNzM4MWU0ZWRmNjM2NTY1NGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTdHlsZUVsZW1lbnQuaApAQCAtMzksNyArMzksNiBAQCBwdWJsaWM6CiAKICAgICBib29sIHNj
b3BlZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U2NvcGVkKGJvb2wpOwotICAgIEVsZW1lbnQqIHNj
b3BpbmdFbGVtZW50KCkgY29uc3Q7CiAKICAgICB1c2luZyBTdHlsZUVsZW1lbnQ6OnNoZWV0Owog
CkBAIC01Myw2ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKEF0dHJpYnV0ZSopOwogICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1
bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxSZW1vdmUoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5v
ZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgdmly
dHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwpAQCAtNjUsNiArNjUsMTEgQEAgcHJp
dmF0ZToKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKCkgY29uc3Q7CisKKyAgICB2b2lk
IHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyV2l0aFNjb3Bp
bmdOb2RlKCk7CisKKyAgICBib29sIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlOwogfTsK
IAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDA0
ZWM5ZWY1Mzc0OGI5YWQ3NGZlZTgwNjY2Y2YxNTBkYjE4MGVhM2IuLjhlZmZhNjRjYjhmNzUxZmQz
NTFmOTAxMGZjNmQxZDE5YjhkMDgyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTE2Myw2ICsxNjMsMTYgQEAgU3RyaW5nIEludGVybmFsczo6c2hhZG93UHNldWRvSWQo
RWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGVsZW1lbnQt
PnNoYWRvd1BzZXVkb0lkKCkuc3RyaW5nKCk7CiB9CiAKK3N0ZDo6c2l6ZV90IEludGVybmFsczo6
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjb25zdCBFbGVtZW50KiBlbGVtZW50LCBF
eGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAg
IHJldHVybiBlbGVtZW50LT5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCk7Cit9CisK
IHZvaWQgSW50ZXJuYWxzOjpkaXNhYmxlTWVtb3J5Q2FjaGUoYm9vbCBkaXNhYmxlZCkKIHsKICAg
ICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNhYmxlZChkaXNhYmxlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAxMzQzN2UxZWRhNDA1Nzk0ODJlYWU4N2M3NDg3MTY3
ZjRkNzBmNjUyLi5hNmQ3NjBiYzU2YWU5YzdjNDM5ZDMwNDU4MDkzNTUwOTEwMzBjZWQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTYwLDYgKzYwLDggQEAgcHVibGljOgogICAg
IEVsZW1lbnQqIGdldEVsZW1lbnRCeUlkSW5TaGFkb3dSb290KE5vZGUqIHNoYWRvd1Jvb3QsIGNv
bnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGRpc2FibGVNZW1vcnlD
YWNoZShib29sIGRpc2FibGVkKTsKIAorICAgIHN0ZDo6c2l6ZV90IG51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oY29uc3QgRWxlbWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKwog
I2lmIEVOQUJMRShJTlBVVF9DT0xPUikKICAgICBib29sIGNvbm5lY3RDb2xvckNob29zZXJDbGll
bnQoRWxlbWVudCopOwogICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcihjb25zdCBT
dHJpbmcmIGNvbG9yVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IDVlMjMxY2NkNTMxODk1OTRlYWQ0YzZmMDhjYjczMDlkNDJiZTczNjguLjdkYzA3YjMwZGJiMjQ1
NDlhYjk3Y2YyZDE0ZTc3YzdhZTIzYWFjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTM5LDYgKzM5LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIEVsZW1lbnQg
Z2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3QoaW4gTm9kZSBzaGFkb3dSb290LCBpbiBET01TdHJp
bmcgaWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIGRpc2FibGVNZW1vcnlD
YWNoZShpbiBib29sZWFuIGRpc2FibGVkKTsKIAorICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKwogI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX0NPTE9SKSAmJiBFTkFCTEVf
SU5QVVRfQ09MT1IKICAgICAgICAgYm9vbGVhbiBjb25uZWN0Q29sb3JDaG9vc2VyQ2xpZW50KGlu
IEVsZW1lbnQgZWxlbWVudCk7CiAgICAgICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nl
cihpbiBET01TdHJpbmcgY29sb3JWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDU4ZWRlNjNkM2Y4NTBk
NGVkM2UwNGFmNTViZTI0MzhmYWFlN2UzOC4uNzFhM2M2NjAyODVjZjFhMTgwZmZlZjZjMGZlYzJl
YTI4YjM2ODFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA5LTE0ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEFkZCBzeW1ib2xzIGZvciB3aW5kb3dzLmludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAg
ICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDExLTA5LTE0ICBBZGEgQ2hhbiAgPGFkYWNo
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBXS0J1bmRsZUZyYW1lQ29weVdlYkFy
Y2hpdmUoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCAxM2RlZGQxMzRiZDcxMzRjNzViNmNl
MWFlM2IxMTZmMTQ2M2Y4MjcxLi4yNDMyNjE5MmQzZmFiYTU4NjkwMjEyMzliZWUwNmU1NmRjM2Ji
NDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNjAsNiArMTYwLDcgQEAgRVhQT1JUUwog
ICAgICAgICA/bGFzdENoYW5nZVdhc1VzZXJFZGl0QEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
QFdlYkNvcmVAQFFCRV9OWFoKICAgICAgICAgP21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyQFdlYkNvcmVAQFFBRT9BVj8kVmVjdG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVA
QCQwQUBAV1RGQEBQQVZOb2RlQDJAQFoKICAgICAgICAgP21lbW9yeUNhY2hlQFdlYkNvcmVAQFlB
UEFWTWVtb3J5Q2FjaGVAMUBYWgorICAgICAgICA/bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbkBFbGVtZW50QFdlYkNvcmVAQFFCRUlYWgogICAgICAgICA/cGFnZUBEb2N1bWVudEBXZWJD
b3JlQEBRQkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBX
ZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP3NldERpc2FibGVkQE1lbW9yeUNhY2hlQFdlYkNvcmVA
QFFBRVhfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5k
ZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggNWI3MjAwMjBh
N2NkNGQ3Njk3YjFkOWI5ZGI2ZWUxNTVmMzk3ZjQ4Yy4uNmFmMjFmNWUzYjE3ZjkzMTM3ZTQ4ZmQw
YTczMWViNmI0NTFkMTU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJD
RkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAt
MTU0LDYgKzE1NCw3IEBAIEVYUE9SVFMKICAgICAgICAgP2xhc3RDaGFuZ2VXYXNVc2VyRWRpdEBI
VE1MVGV4dEZvcm1Db250cm9sRWxlbWVudEBXZWJDb3JlQEBRQkVfTlhaCiAgICAgICAgID9tYXJr
ZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxlckBXZWJDb3JlQEBRQUU/QVY/JFZlY3RvckBQ
QVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFAQFdURkBAUEFWTm9kZUAyQEBaCiAgICAgICAg
ID9tZW1vcnlDYWNoZUBXZWJDb3JlQEBZQVBBVk1lbW9yeUNhY2hlQDFAWFoKKyAgICAgICAgP251
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBRQkVJWFoKICAg
ICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9y
ZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9zZXREaXNh
YmxlZEBNZW1vcnlDYWNoZUBXZWJDb3JlQEBRQUVYX05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIK
aW5kZXggMDc2YWRjNjRmMzFjMDdjYTQ2ODNkYzc5N2M4NjM1YTEzZjJjYzA2MS4uOWYwNTA3Nzk2
ZDVkM2NiMWQ5M2EwODk3MzcyMzQ1Y2U5ZDhjMWI5OSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CkBAIC02Miw2ICs2Miw3IEBAIF9aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FOwogX1pON1dlYkNv
cmU2dG9Ob2RlRU4zSlNDN0pTVmFsdWVFOwogX1pON1dlYkNvcmU3RWxlbWVudDE2ZW5zdXJlU2hh
ZG93Um9vdEV2OwogX1pON1dlYkNvcmU3RWxlbWVudDE2cmVtb3ZlU2hhZG93Um9vdEV2OworX1pO
SzdXZWJDb3JlN0VsZW1lbnQzMW51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5FdjsKIF9a
TjdXZWJDb3JlOUpTRWxlbWVudDNwdXRFUE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZp
ZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RFOwogX1pON1dlYkNvcmU5SlNF
bGVtZW50NnNfaW5mb0U7CiBfWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUU7CkBA
IC03MCw2ICs3MSw3IEBAIF9aTks3V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIxMWlzUHJl
bG9hZGVkRVJLTjNXVEY2U3RyaW5nRTsKIF9aTks3V2ViQ29yZTI2SFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQyMWxhc3RDaGFuZ2VXYXNVc2VyRWRpdEV2OwogX1pOSzdXZWJDb3JlNkpTTm9kZTIx
cHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5O
b2RlRTsKIF9aTks3V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290RXY7CitfWk5LN1dlYkNvcmU3
RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2OwogX1pOSzdXZWJDb3Jl
OERvY3VtZW50NHBhZ2VFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDhzZXR0aW5nc0V2OwogX1pO
SzdXZWJDb3JlOERvY3VtZW50NHZpZXdFdjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115316</attachid>
            <date>2011-11-15 21:11:53 -0800</date>
            <delta_ts>2011-12-05 20:56:11 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>scoped-reg.patch</filename>
            <type>text/plain</type>
            <size>30675</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiZmE1ZGZiLi4yODJmNjFl
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTEtMTYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5
bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgd2luZG93cy5pbnRl
cm5hbHMgdXBkYXRlcworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMS0xMS0xNSAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0
XSBDZW50cmFsaXplIGhpZGVfc3ltYm9scyBhbmQgZW5zdXJlIGFsbCBsaWJzIGFyZSBidWlsdCB3
aXRoIHN5bWJvbCB2aXNpYmlsaXR5ICYgYnN5bWJvbGljX2Z1bmN0aW9ucwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA0OTAy
MjEuLjc2Mjk4ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMS0xNiAgUm9sYW5kIFN0
ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8c3R5bGUgc2Nv
cGVkPjogSW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggdGhlIHNj
b3BpbmcgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njc3OTAKKworICAgICAgICBUZXN0cyB0aGF0IHJlZ2lzdHJhdGlvbiBvZiA8c3R5bGUg
c2NvcGVkPiB3aXRoIGl0cyBwYXJlbnQgaXMgcGVyZm9ybWVkIGNvcnJlY3RseQorICAgICAgICBp
biB2YXJpb3VzIGNpcmN1bXN0YW5jZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0
ZXJpbmcuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMTQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5k
c3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgPHN0eWxlIHNjb3BlZD46IEFkZCAnc2Nv
cGVkJyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNj
b3BlZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjBiZTEwZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTkg
QEAKK1Rlc3QgW3VuXXJlZ2lzdGVyaW5nIGEgPHN0eWxlIHNjb3BlZD4gZWxlbWVudCBmcm9tIGl0
cyBwYXJlbnQKKworLS0tIEluaXRpYWwgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gQXR0YWNoaW5nIC0t
LQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykgaXMgMAorLS0tIFVuc2V0dGluZyBAc2NvcGVkIC0tLQorUEFTUyBpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDAKK1BBU1MgaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0t
IFJlLXNldHRpbmcgQHNjb3BlZCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcvcmVtb3Zp
bmcgc2NvcGUgZWxlbWVudHMgZnJvbSBkb2N1bWVudCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDEKKy0tLSBNdWx0
aXBsZSBzY29wZWQgc3R5bGUgZWxlbWVudHMgd2l0aGluIHNpbmdsZSBzY29wZSAtLS0KK1BBU1Mg
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAzCitQ
QVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMg
MAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMp
IGlzIDAKKy0tLSBSZW1vdmluZyBzY29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0KK1BB
U1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAw
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikg
aXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0aGluIG90aGVyIHNjb3BlIC0tLQorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDIK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBp
cyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykgaXMgMAorLS0tIENsb25pbmcgPHN0eWxlIHNjb3BlZD4gYW5kIHBhcmVudHMgLS0tCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMgor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlz
IDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUz
KSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNs
b25lc2NvcGUxZGVlcCkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSBpcyAwCitQQVNTIGlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hhbGxv
dykgaXMgMAorLS0tIGluc2VydGluZyBjbG9uZXMgaW50byBzaW5nbGUgcGFyZW50IC0tLQorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDIK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBp
cyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykgaXMgNAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihj
bG9uZXNjb3BlMWRlZXApIGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSBpcyAwCitQQVNTIGludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkgaXMgMQorUEFTUyBp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxs
b3cpIGlzIDAKKy0tLSBVbnNldHRpbmcgQHNjb3BlZCBpbiBuZXN0ZWQgc2NvcGUgLS0tCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlz
IDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUz
KSBpcyA0CistLS0gRE9ORSAtLS0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvcmVnaXN0ZXJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9yZWdpc3RlcmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRi
YzZjMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29w
ZWQvcmVnaXN0ZXJpbmcuaHRtbApAQCAtMCwwICsxLDE0NCBAQAorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5UZXN0IFt1bl1yZWdp
c3RlcmluZyBhICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGVsZW1lbnQgZnJvbSBpdHMgcGFyZW50PC9w
PgorICAgIDxkaXYgaWQ9InNjb3BlMSI+CisgICAgICAgIDxzdHlsZSBpZD0iZ2xvYmFsMSI+PC9z
dHlsZT4KKyAgICAgICAgPHN0eWxlIHNjb3BlZD0nc2NvcGVkMScgaWQ9InNjb3BlZDEiPjwvc3R5
bGU+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0ic2NvcGUyIj4KKyAgICA8L2Rpdj4KKworICAg
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKCF3
aW5kb3cuaW50ZXJuYWxzIHx8ICF3aW5kb3cuaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4pCisgICAgICAgICAgICBkZWJ1Zygid2luZG93cy5pbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiBub3QgZm91bmQhIik7CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgdmFyIHNjb3BlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZTEn
KTsKKyAgICAgICAgICAgIHZhciBzY29wZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nv
cGUyJyk7CisgICAgICAgICAgICB2YXIgc2NvcGUzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisKKyAgICAgICAgICAgIHZhciBnbG9iYWwxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2dsb2JhbDEnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQxID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Njb3BlZDEnKTsKKworICAgICAgICAgICAgdmFyIGdsb2JhbDIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAgdmFyIHNjb3BlZDIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgICAgICAgICAgc2NvcGVkMi5zZXRBdHRy
aWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAgICAgIHNjb3BlZDMuc2NvcGVk
ID0gdHJ1ZTsKKworICAgICAgICAgICAgLyogTk9URTogPHN0eWxlIHNjb3BlZD4gb3V0c2lkZSB0
aGUgZG9jdW1lbnQgaXMgTk9UIHJlZ2lzdGVyZWQhICovCisgICAgICAgICAgICBkZWJ1ZygiLS0t
IEluaXRpYWwgLS0tIik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwg
IjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBBdHRhY2hp
bmcgLS0tIik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVkMik7CisgICAg
ICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoZ2xvYmFsMik7CisgICAgICAgICAgICBzY29wZTMu
YXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUg
Ki8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMyki
LCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFVuc2V0
dGluZyBAc2NvcGVkIC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSBmYWxzZTsK
KyAgICAgICAgICAgIHNjb3BlZDIuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAgICBzY29wZWQz
LnJlbW92ZUF0dHJpYnV0ZSgnc2NvcGVkJyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIwIik7IC8qIGlu
IHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0t
IFJlLXNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVk
Jyk7CisgICAgICAgICAgICBzY29wZWQzLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJycpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7
IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8K
KworICAgICAgICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcvcmVtb3Zpbmcgc2NvcGUgZWxlbWVu
dHMgZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0
QmVmb3JlKHNjb3BlMywgc2NvcGUyKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoc2NvcGUyKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMikiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAi
MSIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gTXVsdGlwbGUgc2Nv
cGVkIHN0eWxlIGVsZW1lbnRzIHdpdGhpbiBzaW5nbGUgc2NvcGUgLS0tIik7CisgICAgICAgICAg
ICBzY29wZTIucmVtb3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIucmVtb3Zl
Q2hpbGQoZ2xvYmFsMik7CisgICAgICAgICAgICBzY29wZTMucmVtb3ZlQ2hpbGQoc2NvcGVkMyk7
CisgICAgICAgICAgICBzY29wZTEuYXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBz
Y29wZTEuYXBwZW5kQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTEuYXBwZW5kQ2hp
bGQoZ2xvYmFsMik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIzIik7IC8qIGluIHRyZWUgKi8KKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAi
KTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFJlbW92aW5nIHNjb3Bp
bmcgZWxlbWVudCBmcm9tIGRvY3VtZW50IC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChzY29wZTEpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOyAvKiBvdXQgb2Yg
dHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0g
SW5zZXJ0aW5nIHNjb3BlIHdpdGhpbiBvdGhlciBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHNjb3BlMiwgc2NvcGUzKTsKKyAgICAgICAgICAgIHNj
b3BlMS5yZW1vdmVDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGls
ZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZTEpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMSkiLCAiMiIpOyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAv
KiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQ2xvbmluZyAmbHQ7c3R5bGUg
c2NvcGVkJmd0OyBhbmQgcGFyZW50cyAtLS0iKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3Bl
MWRlZXAgPSBzY29wZTEuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2Nv
cGUxc2hhbGxvdyA9IHNjb3BlMS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgdmFyIGNs
b25lc2NvcGUyZGVlcCA9IHNjb3BlMi5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIg
Y2xvbmVzY29wZTJzaGFsbG93ID0gc2NvcGUyLmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAg
ICB2YXIgY2xvbmVzY29wZWQxZGVlcCA9IHNjb3BlZDEuY2xvbmVOb2RlKHRydWUpOworICAgICAg
ICAgICAgdmFyIGNsb25lc2NvcGVkMXNoYWxsb3cgPSBzY29wZWQxLmNsb25lTm9kZShmYWxzZSk7
CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZWQyZGVlcCA9IHNjb3BlZDIuY2xvbmVOb2RlKHRy
dWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMnNoYWxsb3cgPSBzY29wZWQyLmNsb25l
Tm9kZShmYWxzZSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8qIGluIHRyZWUsIGNoaWxkIG9m
IHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIiwg
IjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cpIiwgIjAi
KTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMmRlZXApIiwgIjAiKTsgLyog
b3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIiwgIjAiKTsgLyogb3V0
IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBpbnNlcnRpbmcgY2xvbmVzIGlu
dG8gc2luZ2xlIHBhcmVudCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChj
bG9uZXNjb3BlMWRlZXApOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2Nv
cGUxc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTJk
ZWVwKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMnNoYWxsb3cp
OworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGVkMWRlZXApOworICAg
ICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGVkMXNoYWxsb3cpOworICAgICAg
ICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGVkMmRlZXApOworICAgICAgICAgICAg
c2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGVkMnNoYWxsb3cpOworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSki
LCAiMiIpOyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwg
IjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiNCIpOyAvKiBpbiB0cmVlICov
CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSIsICIyIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihj
bG9uZXNjb3BlMXNoYWxsb3cpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2Nv
cGUyZGVlcCkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93
KSIsICIwIik7IC8qIGluIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRp
bmcgQHNjb3BlZCBpbiBuZXN0ZWQgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNj
b3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMi5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3Bl
ZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIg
Ki8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMyki
LCAiNCIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gRE9ORSAtLS0i
KTsKKyAgICAgICAgfQorICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBlNWNh
Yi4uMGRiOGU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0
ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBBZGQgJ3Njb3Bl
ZCcgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDQ2OTQxMTQuLjJkODNlZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMzg3LDYgKzEzODcsNyBAQCBfX1pOSzdXZWJDb3JlNldp
ZGdldDlmcmFtZVJlY3RFdgogX19aTks3V2ViQ29yZTdFbGVtZW50MTBzY3JlZW5SZWN0RXYKIF9f
Wk5LN1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9vdEV2CiBfX1pOSzdXZWJDb3JlN0VsZW1lbnQx
MmdldEF0dHJpYnV0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUUKK19fWk5LN1dlYkNvcmU3RWxlbWVu
dDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlN0ludFJl
Y3QxMGludGVyc2VjdHNFUktTMF8KIF9fWk5LN1dlYkNvcmU3SW50UmVjdDhjb250YWluc0VSS1Mw
XwogX19aTks3V2ViQ29yZTdJbnRSZWN0Y3Y2Q0dSZWN0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCAxYmQ0ZDVjLi5jNGVjZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xODY0LDYg
KzE4NjQsMjggQEAgdW5zaWduZWQgRWxlbWVudDo6Y2hpbGRFbGVtZW50Q291bnQoKSBjb25zdAog
ICAgIHJldHVybiBjb3VudDsKIH0KIAorYm9vbCBFbGVtZW50OjpoYXNTY29wZWRIVE1MU3R5bGVD
aGlsZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS0+
aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKK30KKworc3RkOjpzaXplX3QgRWxlbWVudDo6bnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1Jh
cmVEYXRhKCkgPyByYXJlRGF0YSgpLT5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkg
OiAwOworfQorCit2b2lkIEVsZW1lbnQ6OnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQor
eworICAgIGVuc3VyZVJhcmVEYXRhKCktPnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsK
K30KKwordm9pZCBFbGVtZW50Ojp1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQorewor
ICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICBpZiAoaGFzUmFyZURhdGEoKSkKKyAgICAg
ICAgcmFyZURhdGEoKS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKIGJv
b2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3Is
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChzZWxlY3Rvci5pc0VtcHR5KCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IGM2OTE3ZDIuLjlkYjc0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApA
QCAtMjk1LDYgKzI5NSwxMSBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogbmV4dEVsZW1lbnRTaWJs
aW5nKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY2hpbGRFbGVtZW50Q291bnQoKSBjb25zdDsKIAor
ICAgIHZvaWQgcmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIHZvaWQgdW5yZWdp
c3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgYm9vbCBoYXNTY29wZWRIVE1MU3R5bGVD
aGlsZCgpIGNvbnN0OworICAgIHN0ZDo6c2l6ZV90IG51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oKSBjb25zdDsKKwogICAgIGJvb2wgd2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0
cmluZyYgc2VsZWN0b3JzLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBET01Ub2tlbkxpc3QqIGNs
YXNzTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDFjYWNjZDQu
LjU4MGQwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTM5LDYgKzM5
LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKKyAgICB2
b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJT
Y29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSBjb25zdDsKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KCkgY29uc3Q7CisKICAgICB1c2luZyBOb2RlUmFyZURhdGE6Om5lZWRzRm9jdXNBcHBlYXJhbmNl
VXBkYXRlU29vbkFmdGVyQXR0YWNoOwogICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6c2V0TmVlZHNG
b2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2g7CiAKQEAgLTQ3LDYgKzUyLDggQEAg
cHVibGljOgogICAgIFNoYWRvd1Jvb3QqIG1fc2hhZG93Um9vdDsKICAgICBBdG9taWNTdHJpbmcg
bV9zaGFkb3dQc2V1ZG9JZDsKIAorICAgIHN0ZDo6c2l6ZV90IG1fbnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbjsKKwogICAgIE93blB0cjxEYXRhc2V0RE9NU3RyaW5nTWFwPiBtX2RhdGFz
ZXRET01TdHJpbmdNYXA7CiAgICAgT3duUHRyPENsYXNzTGlzdD4gbV9jbGFzc0xpc3Q7CiAKQEAg
LTY1LDYgKzcyLDcgQEAgaW5saW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXpp
bmcoKQogaW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKCkKICAgICA6IG1f
bWluaW11bVNpemVGb3JSZXNpemluZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpKQog
ICAgICwgbV9zaGFkb3dSb290KDApCisgICAgLCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oMCkKICAgICAsIG1fc3R5bGVBZmZlY3RlZEJ5RW1wdHkoZmFsc2UpCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQogICAgICwgbV9jb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KGZhbHNl
KQpAQCAtNzcsNiArODUsMjggQEAgaW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6fkVsZW1lbnRSYXJl
RGF0YSgpCiAgICAgQVNTRVJUKCFtX3NoYWRvd1Jvb3QpOwogfQogCitpbmxpbmUgdm9pZCBFbGVt
ZW50UmFyZURhdGE6OnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQoreworICAgICsrbV9u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxpbmUgdm9pZCBFbGVtZW50
UmFyZURhdGE6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgQVNTRVJU
KG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiA+IDApOworICAgIGlmIChtX251bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4gPiAwKQorICAgICAgICAtLW1fbnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30KKworaW5saW5lIGJvb2wgRWxlbWVudFJhcmVEYXRhOjpo
YXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30KKworaW5saW5lIHN0ZDo6c2l6ZV90IEVsZW1lbnRS
YXJlRGF0YTo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30KKwogaW5saW5lIHZv
aWQgRWxlbWVudFJhcmVEYXRhOjpyZXNldENvbXB1dGVkU3R5bGUoKQogewogICAgIG1fY29tcHV0
ZWRTdHlsZS5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5
bGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAK
aW5kZXggYWNkNmQzYi4uY2NmZDkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVs
ZW1lbnQuY3BwCkBAIC0zOCwxMiArMzgsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IGlubGluZSBIVE1MU3R5bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIp
CiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIFN0eWxlRWxlbWVu
dChkb2N1bWVudCwgY3JlYXRlZEJ5UGFyc2VyKQorICAgICwgbV9pc1JlZ2lzdGVyZWRXaXRoU2Nv
cGluZ05vZGUoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc3R5bGVUYWcpKTsKIH0K
IAogSFRNTFN0eWxlRWxlbWVudDo6fkhUTUxTdHlsZUVsZW1lbnQoKQogeworICAgIC8vIER1cmlu
ZyB0ZWFyLWRvd24sIHdpbGxSZW1vdmUgaXNuJ3QgY2FsbGVkLCBzbyBtX2lzUmVnaXN0ZXJlZFdp
dGhTY29waW5nTm9kZSBtYXkgc3RpbGwgYmUgc2V0IGhlcmUuCisgICAgLy8gVGhlcmVmb3JlIHdl
IGNhbid0IEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpLgogICAgIFN0eWxl
RWxlbWVudDo6Y2xlYXJEb2N1bWVudERhdGEoZG9jdW1lbnQoKSwgdGhpcyk7CiB9CiAKQEAgLTU2
LDcgKzU5LDEyIEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
QXR0cmlidXRlKiBhdHRyKQogewogICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gdGl0bGVBdHRyICYm
IG1fc2hlZXQpCiAgICAgICAgIG1fc2hlZXQtPnNldFRpdGxlKGF0dHItPnZhbHVlKCkpOwotICAg
IGVsc2UKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc2NvcGVkQXR0cikgeworICAgICAg
ICBpZiAoIWF0dHItPmlzTnVsbCgpICYmICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSAm
JiBpbkRvY3VtZW50KCkpCisgICAgICAgICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOwor
ICAgICAgICBlbHNlIGlmIChhdHRyLT5pc051bGwoKSAmJiBtX2lzUmVnaXN0ZXJlZFdpdGhTY29w
aW5nTm9kZSkKKyAgICAgICAgICAgIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICB9
IGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwog
fQogCkBAIC02NiwxOCArNzQsNzMgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpmaW5pc2hQYXJz
aW5nQ2hpbGRyZW4oKQogICAgIEhUTUxFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsK
IH0KIAordm9pZCBIVE1MU3R5bGVFbGVtZW50OjpyZWdpc3RlcldpdGhTY29waW5nTm9kZSgpCit7
CisgICAgLy8gTm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQgYWxy
ZWFkeSBiZWluZyBwcmVzZW50IHdoZW4gdGhpcyBtZXRob2QgaXMgaW52b2tlZC4KKyAgICAvLyBU
aGVyZWZvcmUgd2UgY2Fubm90IHJlbHkgb24gc2NvcGVkKCkhCisgICAgQVNTRVJUKCFtX2lzUmVn
aXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisgICAgQVNTRVJUKGluRG9jdW1lbnQoKSk7CisgICAg
aWYgKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50KiBz
Y29wZSA9IHBhcmVudEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFzY29wZSkKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBzY29wZS0+cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgp
OworICAgICAgICBzY29wZS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICBpZiAoaW5E
b2N1bWVudCgpICYmICFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVy
ZXIoKSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVy
UmVjYWxjU3R5bGUpOworCisgICAgICAgIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlID0g
dHJ1ZTsKKyAgICB9Cit9CisKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6dW5yZWdpc3RlcldpdGhT
Y29waW5nTm9kZSgpCit7CisgICAgLy8gTm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdzY29w
ZWQnIGVsZW1lbnQgc3RpbGwgYmVpbmcgcHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlzIGludm9r
ZWQuCisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQorICAgIEFT
U0VSVChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisgICAgaWYgKG1faXNSZWdpc3Rl
cmVkV2l0aFNjb3BpbmdOb2RlKSB7CisgICAgICAgIEVsZW1lbnQqIHNjb3BlID0gcGFyZW50RWxl
bWVudCgpOworICAgICAgICBBU1NFUlQoc2NvcGUpOworICAgICAgICBpZiAoc2NvcGUpIHsKKyAg
ICAgICAgICAgIEFTU0VSVChzY29wZS0+aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSk7CisgICAg
ICAgICAgICBzY29wZS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgICAg
ICAgICBzY29wZS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICB9CisgICAgICAgIGlm
IChpbkRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnBhcnNpbmcoKSAmJiBkb2N1bWVudCgpLT5y
ZW5kZXJlcigpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvckNoYW5nZWQo
RGVmZXJSZWNhbGNTdHlsZSk7CisKKyAgICAgICAgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05v
ZGUgPSBmYWxzZTsKKyAgICB9Cit9CisKIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvRG9jdW1lbnQoKQogewogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgp
OwogICAgIFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhp
cyk7CisgICAgaWYgKHNjb3BlZCgpICYmICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkK
KyAgICAgICAgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKIH0KIAogdm9pZCBIVE1MU3R5bGVF
bGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKIHsKKyAgICBBU1NFUlQoIW1faXNSZWdpc3Rl
cmVkV2l0aFNjb3BpbmdOb2RlKTsKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpOwogICAgIFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudChkb2N1bWVudCgpLCB0
aGlzKTsKIH0KIAordm9pZCBIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKCkKK3sKKy8vIFBS
T0JMRU06ICQkJAorLy8gd2lsbFJlbW92ZSgpIGlzIGFsc28gY2FsbGVkIGlmIGFuIGFuY2VzdG9y
IGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQuCisvLyBOb3csIGlmIHdlIHdhbnQgdG8gcmVn
aXN0ZXIgPHN0eWxlIHNjb3BlZD4gZXZlbiBpZiBpdCdzIG5vdCBpbkRvY3VtZW50LAorLy8gd2Un
ZCBuZWVkIHRvIGZpbmQgYSB3YXkgdG8gZGlzY2VybiB3aGV0aGVyIHRoYXQgaXMgdGhlIGNhc2Us
IG9yIHdoZXRoZXIgPHN0eWxlIHNjb3BlZD4gaXRzZWxmIGlzIGFib3V0IHRvIGJlIHJlbW92ZWQu
CisgICAgQVNTRVJUKCFzY29wZWQoKSB8fCAhaW5Eb2N1bWVudCgpIHx8IG1faXNSZWdpc3RlcmVk
V2l0aFNjb3BpbmdOb2RlKTsKKyAgICBpZiAobV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUp
CisgICAgICAgIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICBIVE1MRWxlbWVudDo6
d2lsbFJlbW92ZSgpOworfQorCiB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdl
ZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNo
YW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKIHsKICAgICBTdHlsZUVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZCh0aGlzKTsKQEAgLTEwNCwyMSArMTY3LDYgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50
OjpzZXRTY29wZWQoYm9vbCBzY29wZWRWYWx1ZSkKICAgICBzZXRCb29sZWFuQXR0cmlidXRlKHNj
b3BlZEF0dHIsIHNjb3BlZFZhbHVlKTsKIH0KIAotRWxlbWVudCogSFRNTFN0eWxlRWxlbWVudDo6
c2NvcGluZ0VsZW1lbnQoKSBjb25zdAotewotICAgIGlmICghc2NvcGVkKCkpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgLy8gRklYTUU6IFRoaXMgcHJvYmFibHkgbmVlZHMgdG8gYmUgcmVmaW5l
ZCBmb3Igc2NvcGVkIHN0eWxlc2hlZXRzIHdpdGhpbiBzaGFkb3cgRE9NLgotICAgIC8vIEFzIHdy
aXR0ZW4sIHN1Y2ggYSBzdHlsZXNoZWV0IGNvdWxkIHN0eWxlIHRoZSBob3N0IGVsZW1lbnQsIGFz
IHdlbGwgYXMgY2hpbGRyZW4gb2YgdGhlIGhvc3QuCi0gICAgLy8gT1RPSCwgdGhpcyBwYXZlcyB0
aGUgd2F5IGZvciBhIDpib3VuZC1lbGVtZW50IGltcGxlbWVudGF0aW9uLgotICAgIENvbnRhaW5l
ck5vZGUqIHBhcmVudE9ySG9zdCA9IHBhcmVudE9ySG9zdE5vZGUoKTsKLSAgICBpZiAoIXBhcmVu
dE9ySG9zdCB8fCAhcGFyZW50T3JIb3N0LT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIHJldHVy
biAwOwotCi0gICAgcmV0dXJuIHRvRWxlbWVudChwYXJlbnRPckhvc3QpOwotfQotCiB2b2lkIEhU
TUxTdHlsZUVsZW1lbnQ6OmFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxL
VVJMPiYgdXJscykgY29uc3QKIHsgICAgCiAgICAgSFRNTEVsZW1lbnQ6OmFkZFN1YnJlc291cmNl
QXR0cmlidXRlVVJMcyh1cmxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFN0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmgK
aW5kZXggNTJlNGY3Ny4uYTQ4N2ExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVt
ZW50LmgKQEAgLTM5LDcgKzM5LDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBzY29wZWQoKSBjb25z
dDsKICAgICB2b2lkIHNldFNjb3BlZChib29sKTsKLSAgICBFbGVtZW50KiBzY29waW5nRWxlbWVu
dCgpIGNvbnN0OwogCiAgICAgdXNpbmcgU3R5bGVFbGVtZW50OjpzaGVldDsKIApAQCAtNTMsNiAr
NTIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShB
dHRyaWJ1dGUqKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIHZpcnR1YWwgdm9pZCB3
aWxsUmVtb3ZlKCk7CiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5n
ZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNo
YW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKIAogICAgIHZpcnR1YWwgdm9pZCBm
aW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKQEAgLTY1LDYgKzY1LDExIEBAIHByaXZhdGU6CiAKICAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgbWVkaWEoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSgpIGNvbnN0OworCisgICAgdm9pZCByZWdpc3Rlcldp
dGhTY29waW5nTm9kZSgpOworICAgIHZvaWQgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOwor
CisgICAgYm9vbCBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZTsKIH07CiAKIH0gLy9uYW1l
c3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1N2EzYzhlLi4zYWM3
MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xNTIsNiArMTUyLDE2
IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQqIGVs
ZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiByZXByZXNlbnRhdGlvbjsKIH0K
IAorc3RkOjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAg
IGlmICghZWxlbWVudCkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQtPm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oKTsKK30KKwogTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dS
b290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaG9zdCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZTEzNmNkMi4uMjY3ZWM5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01Miw2ICs1Miw4IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNQcmVsb2FkZWQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHVybCk7CiAKKyAg
ICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1l
bnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKICAgICBOb2RlKiBlbnN1cmVTaGFkb3dSb290
KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBOb2RlKiBzaGFkb3dSb290KEVs
ZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3Qo
RWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IGUwMjYwN2QuLjRhMjM5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKQEAgLTMwLDYgKzMwLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIERPTVN0
cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFuIGlzUHJlbG9hZGVkKGluIERvY3VtZW50IGRv
Y3VtZW50LCBpbiBET01TdHJpbmcgdXJsKTsKIAorICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKwogICAgICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBo
b3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBF
bGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRWxlbWVudCBpbmNs
dWRlckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCAzMjk2YTk4Li45MWRhN2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEt
MTYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVk
PiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgQWRkIHN5bWJvbHMgZm9yIHdpbmRv
d3MuaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoK
KyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTEtMTEtMTUgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIHRoZSBsb2dpYyB0
aGF0IGNyZWF0ZXMgcnVuIGxvb3Agb2JzZXJ2ZXJzIGZvciBmbHVzaGluZyBsYXllciB0cmVlIGNo
YW5nZXMgdG8gQ29yZUFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IGQxZDk0YzEu
LmY2MTNiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE2NCw2ICsxNjQsNyBAQCBFWFBP
UlRTCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NA
QFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBsQFdURkBAVj8kV2Vha0BW
SlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5n
SW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBA
MkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAgICAgP2xhc3RDaGFuZ2VXYXNVc2VyRWRp
dEBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudEBXZWJDb3JlQEBRQkVfTlhaCiAgICAgICAgID9t
YXJrZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxlckBXZWJDb3JlQEBRQUU/QVY/JFZlY3Rv
ckBQQVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFAQFdURkBAUEFWTm9kZUAyQFZNYXJrZXJU
eXBlc0BEb2N1bWVudE1hcmtlckAyQEBaCisgICAgICAgID9udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29yZUBAUUJFSVhaCiAgICAgICAgID9wYWdlQERvY3VtZW50
QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9sVGludHNARnJh
bWVWaWV3QFdlYkNvcmVAQEFBRVhYWgogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5n
dGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3Jl
QEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5k
ZWYKaW5kZXggZDQ2OTliYy4uYTNkYjBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRl
LmRlZgpAQCAtMTU3LDYgKzE1Nyw3IEBAIEVYUE9SVFMKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nh
c2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFw
QFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdI
YXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BW
PyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgog
ICAgICAgICA/bGFzdENoYW5nZVdhc1VzZXJFZGl0QEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
QFdlYkNvcmVAQFFCRV9OWFoKICAgICAgICAgP21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyQFdlYkNvcmVAQFFBRT9BVj8kVmVjdG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVA
QCQwQUBAV1RGQEBQQVZOb2RlQDJAVk1hcmtlclR5cGVzQERvY3VtZW50TWFya2VyQDJAQFoKKyAg
ICAgICAgP251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBR
QkVJWFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAg
ICAgICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdAV2ViQ29yZUBAQUFFWFhaCiAgICAg
ICAgID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGM1OTIxMTguLmZhOTM5ZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgpAQCAtNzQsNiArNzQsNyBAQCBfWk5LN1dlYkNvcmUyNkhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50MjFsYXN0Q2hhbmdlV2FzVXNlckVkaXRFdjsKIF9aTks3V2ViQ29yZTVG
cmFtZThzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNj
b3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRTsKIF9aTks3V2ViQ29y
ZTdFbGVtZW50MTBzaGFkb3dSb290RXY7CitfWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHBhZ2VFdjsK
IF9aTks3V2ViQ29yZThEb2N1bWVudDhzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50
NHZpZXdFdjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117986</attachid>
            <date>2011-12-05 20:56:18 -0800</date>
            <delta_ts>2011-12-05 22:33:00 -0800</delta_ts>
            <desc>patch with flag</desc>
            <filename>bug-67790-20111206135616.patch</filename>
            <type>text/plain</type>
            <size>31276</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk3ZjZiZDRjNTM4YTZi
OTk3MzUxZWM0ZGVlZDVmYTk1NjBmNmY4NS4uNDMwNGEwMGVmMDNjMTkyNmVhZTkxNjk5ZjZjMTZm
MTgzYjBiZGFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0
ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBBZGQgJ3Njb3Bl
ZCcgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzI3YWMyZDQwYjIxMTFiNzQzMDQ4ZDY4MWM2YzIy
NzgzNTIwMzBhMS4uYTRhNTEzNmZhYzlkYTgzNjRjMjczYjY1MDNkNzUzYWQ1ZjlmMjYxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTE2ICBSb2xhbmQgU3RlaW5lciAgPHJv
bGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBJbXBs
ZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0aGUgc2NvcGluZyBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5
MAorCisgICAgICAgIEFkZCBzeW1ib2xzIGZvciB3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJD
RkxpdGUuZGVmOgorCiAyMDExLTEyLTA0ICBHb3BhbCBSYWdoYXZhbiAgPGdvcGFsLjEucmFnaGF2
YW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gY2xlYW51cCBxbWx0ZXN0cy5wcm8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KaW5kZXggZDFhOThkMTNkOTY4MzhjNGJmM2I1ZDViMjQ5NGUxYjBlY2E4MTRh
Ny4uODc2NjgzOGY1NTUxZDY1NTA2NDYyODlhODI1MjFjZWNmN2Y4YzUxMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KQEAgLTIwMTcsMyArMjAxNyw3IEBAIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9u
MTdkaXNwYXRjaFNob3dFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0
Y2hDbGlja0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaENsb3Nl
RXZlbnRFdgogI2VuZGlmCisKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorX19aTks3V2ViQ29y
ZTdFbGVtZW50MzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCmluZGV4IDY0YzNmNzJhOWQ3YzliYjI2YmVkM2Y2NWZmNmNhMTc1Zjhk
M2JmZTEuLjQ1OTA4NmQzMTZjNmU0NmJmNjgyMDc3ODg2NGViZTA0MjEyMTg1NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKQEAgLTE4MzQsNiArMTgzNCwzMCBAQCB1bnNpZ25lZCBFbGVtZW50Ojpj
aGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvdW50OwogfQogCisjaWYgRU5B
QkxFKFNUWUxFX1NDT1BFRCkKK2Jvb2wgRWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCktPmhhc1Nj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3N0ZDo6c2l6ZV90IEVsZW1lbnQ6Om51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0
YSgpID8gcmFyZURhdGEoKS0+bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIDogMDsK
K30KKwordm9pZCBFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAg
ICBlbnN1cmVSYXJlRGF0YSgpLT5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisK
K3ZvaWQgRWxlbWVudDo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBB
U1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgaWYgKGhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJh
cmVEYXRhKCktPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQorI2VuZGlmCisK
IGJvb2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0
b3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChzZWxlY3Rvci5pc0VtcHR5KCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCmluZGV4IGM2OTE3ZDI5NmY3MTgwYjYxMGEyNDdkMTRhMjA4OWZlMzA3
MWEyOWEuLmE0ZTg0ODRmNDI4ODA3YTdlYzk3NWM3ZjFlYzU2ZTk1N2E3NTlmODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtMjk1LDYgKzI5NSwxMyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogbmV4
dEVsZW1lbnRTaWJsaW5nKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY2hpbGRFbGVtZW50Q291bnQo
KSBjb25zdDsKIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgdm9pZCByZWdpc3RlclNj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKTsKKyAgICBib29sIGhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3Q7CisgICAg
c3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0OworI2Vu
ZGlmCisKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVj
dG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCAxY2FjY2Q0OTRmMTBmMmE2YzMw
NmU2MGJlMTM0NGE3NTQ2NWUyOTZmLi5mMDNjZjRmODBhZGZhNDA1ZmVlZmEwODk1OWE3ZTlmMjgx
ZjAwZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zOSw2ICszOSwx
MyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0Q29tcHV0ZWRTdHlsZSgpOwogCisjaWYgRU5B
QkxFKFNUWUxFX1NDT1BFRCkKKyAgICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIGJvb2wg
aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3Q7CisjZW5kaWYKKwogICAgIHVzaW5nIE5v
ZGVSYXJlRGF0YTo6bmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2g7CiAg
ICAgdXNpbmcgTm9kZVJhcmVEYXRhOjpzZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25B
ZnRlckF0dGFjaDsKIApAQCAtNDcsNiArNTQsMTAgQEAgcHVibGljOgogICAgIFNoYWRvd1Jvb3Qq
IG1fc2hhZG93Um9vdDsKICAgICBBdG9taWNTdHJpbmcgbV9zaGFkb3dQc2V1ZG9JZDsKIAorI2lm
IEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgc3RkOjpzaXplX3QgbV9udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuOworI2VuZGlmCisKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01h
cD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOwogICAgIE93blB0cjxDbGFzc0xpc3Q+IG1fY2xhc3NM
aXN0OwogCkBAIC02NSw2ICs3Niw5IEBAIGlubGluZSBJbnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6
ZUZvclJlc2l6aW5nKCkKIGlubGluZSBFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSgp
CiAgICAgOiBtX21pbmltdW1TaXplRm9yUmVzaXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVz
aXppbmcoKSkKICAgICAsIG1fc2hhZG93Um9vdCgwKQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQp
CisgICAgLCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oMCkKKyNlbmRpZgogICAg
ICwgbV9zdHlsZUFmZmVjdGVkQnlFbXB0eShmYWxzZSkKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCiAgICAgLCBtX2NvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQoZmFsc2UpCkBAIC04Miw1ICs5
NiwyOSBAQCBpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURhdGE6OnJlc2V0Q29tcHV0ZWRTdHlsZSgp
CiAgICAgbV9jb21wdXRlZFN0eWxlLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NP
UEVEKQoraW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCkKK3sKKyAgICArK21fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30K
KworaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjp1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKQoreworICAgIEFTU0VSVChtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4g
PiAwKTsKKyAgICBpZiAobV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuID4gMCkKKyAg
ICAgICAgLS1tX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKK2lubGluZSBi
b29sIEVsZW1lbnRSYXJlRGF0YTo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdAorewor
ICAgIHJldHVybiBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKK2lubGlu
ZSBzdGQ6OnNpemVfdCBFbGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oKSBjb25zdAoreworICAgIHJldHVybiBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW47Cit9CisjZW5kaWYKKwogfQogI2VuZGlmIC8vIEVsZW1lbnRSYXJlRGF0YV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAppbmRleCA5ZWZlODBhYTAxNTZiZTE0
NGI3OTQ0NzUzYjQzNjZjOTQyMmQyYmU4Li5jYzFmYTIzMDBkMDg5Yjg4MjUxYjlhNGI2YzhhN2Jm
OWMyMTEyOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKQEAg
LTM4LDEyICszOCwxNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogaW5saW5lIEhUTUxT
dHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKICAgICA6IEhUTUxF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgU3R5bGVFbGVtZW50KGRvY3VtZW50LCBj
cmVhdGVkQnlQYXJzZXIpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAsIG1faXNSZWdp
c3RlcmVkV2l0aFNjb3BpbmdOb2RlKGZhbHNlKQorI2VuZGlmCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoc3R5bGVUYWcpKTsKIH0KIAogSFRNTFN0eWxlRWxlbWVudDo6fkhUTUxTdHlsZUVsZW1l
bnQoKQogeworICAgIC8vIER1cmluZyB0ZWFyLWRvd24sIHdpbGxSZW1vdmUgaXNuJ3QgY2FsbGVk
LCBzbyBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSBtYXkgc3RpbGwgYmUgc2V0IGhlcmUu
CisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbid0IEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2Nv
cGluZ05vZGUpLgogICAgIFN0eWxlRWxlbWVudDo6Y2xlYXJEb2N1bWVudERhdGEoZG9jdW1lbnQo
KSwgdGhpcyk7CiB9CiAKQEAgLTU2LDYgKzYxLDE1IEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewogICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gdGl0bGVBdHRyICYmIG1fc2hlZXQpCiAgICAgICAgIG1fc2hlZXQtPnNldFRpdGxl
KGF0dHItPnZhbHVlKCkpOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IHNjb3BlZEF0dHIpIHsKKyAgICAgICAgaWYgKCFhdHRyLT5pc051bGwo
KSAmJiAhbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgJiYgaW5Eb2N1bWVudCgpKQorICAg
ICAgICAgICAgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICAgICAgZWxzZSBpZiAoYXR0
ci0+aXNOdWxsKCkgJiYgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAgICAgICAg
ICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisKKyAgICB9CisjZW5kaWYKICAgICBlbHNl
CiAgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KQEAg
LTY2LDE4ICs4MCw4MiBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGls
ZHJlbigpCiAgICAgSFRNTEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogfQogCisj
aWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6cmVnaXN0ZXJX
aXRoU2NvcGluZ05vZGUoKQoreworICAgIC8vIE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSAn
c2NvcGVkJyBlbGVtZW50IGFscmVhZHkgYmVpbmcgcHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlz
IGludm9rZWQuCisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQor
ICAgIEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOworICAgIEFTU0VSVChp
bkRvY3VtZW50KCkpOworICAgIGlmICghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpIHsK
KyAgICAgICAgRWxlbWVudCogc2NvcGUgPSBwYXJlbnRFbGVtZW50KCk7CisgICAgICAgIGlmICgh
c2NvcGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2NvcGUtPnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICAgICAgc2NvcGUtPnNldE5lZWRzU3R5bGVSZWNhbGMo
KTsKKyAgICAgICAgaWYgKGluRG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+cGFyc2luZygpICYm
IGRvY3VtZW50KCktPnJlbmRlcmVyKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5zdHlsZVNl
bGVjdG9yQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKKworICAgICAgICBtX2lzUmVnaXN0ZXJl
ZFdpdGhTY29waW5nTm9kZSA9IHRydWU7CisgICAgfQorfQorCit2b2lkIEhUTUxTdHlsZUVsZW1l
bnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKQoreworICAgIC8vIE5vdGU6IFdlIGNhbm5v
dCByZWx5IG9uIHRoZSAnc2NvcGVkJyBlbGVtZW50IHN0aWxsIGJlaW5nIHByZXNlbnQgd2hlbiB0
aGlzIG1ldGhvZCBpcyBpbnZva2VkLgorICAgIC8vIFRoZXJlZm9yZSB3ZSBjYW5ub3QgcmVseSBv
biBzY29wZWQoKSEKKyAgICBBU1NFUlQobV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOwor
ICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50
KiBzY29wZSA9IHBhcmVudEVsZW1lbnQoKTsKKyAgICAgICAgQVNTRVJUKHNjb3BlKTsKKyAgICAg
ICAgaWYgKHNjb3BlKSB7CisgICAgICAgICAgICBBU1NFUlQoc2NvcGUtPmhhc1Njb3BlZEhUTUxT
dHlsZUNoaWxkKCkpOworICAgICAgICAgICAgc2NvcGUtPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCgpOworICAgICAgICAgICAgc2NvcGUtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoaW5Eb2N1bWVudCgpICYmICFkb2N1bWVudCgpLT5wYXJzaW5n
KCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnN0
eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOworCisgICAgICAgIG1faXNSZWdp
c3RlcmVkV2l0aFNjb3BpbmdOb2RlID0gZmFsc2U7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQg
SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewogICAgIEhUTUxFbGVt
ZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhpcyk7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkK
KyAgICBpZiAoc2NvcGVkKCkgJiYgIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKQorICAg
ICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTFN0
eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7CisjaWYgRU5BQkxFKFNUWUxFX1ND
T1BFRCkKKyAgICBBU1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyNlbmRp
ZgogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgU3R5bGVFbGVt
ZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KGRvY3VtZW50KCksIHRoaXMpOwogfQogCisKKyNpZiBF
TkFCTEUoU1RZTEVfU0NPUEVEKQordm9pZCBIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKCkK
K3sKKyAgICAvLyBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgPHN0eWxlIHNjb3BlZD4g
aXMgb25seSByZWdpc3RlcmVkIGlmIHRoZSBub2RlIGlzIGluIHRoZSBkb2N1bWVudC4KKyAgICAv
LyBUaGF0IGlzLCBiZWNhdXNlIHdpbGxSZW1vdmUoKSBpcyBhbHNvIGNhbGxlZCBpZiBhbiBhbmNl
c3RvciBpcyByZW1vdmVkIGZyb20gdGhlIGRvY3VtZW50LgorICAgIC8vIE5vdywgaWYgd2Ugd2Fu
dCB0byByZWdpc3RlciA8c3R5bGUgc2NvcGVkPiBldmVuIGlmIGl0J3Mgbm90IGluRG9jdW1lbnQs
CisgICAgLy8gd2UnZCBuZWVkIHRvIGZpbmQgYSB3YXkgdG8gZGlzY2VybiB3aGV0aGVyIHRoYXQg
aXMgdGhlIGNhc2UsIG9yIHdoZXRoZXIgPHN0eWxlIHNjb3BlZD4gaXRzZWxmIGlzIGFib3V0IHRv
IGJlIHJlbW92ZWQuCisgICAgQVNTRVJUKCFzY29wZWQoKSB8fCAhaW5Eb2N1bWVudCgpIHx8IG1f
aXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBpZiAobV9pc1JlZ2lzdGVyZWRXaXRo
U2NvcGluZ05vZGUpCisgICAgICAgIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICBI
VE1MRWxlbWVudDo6d2lsbFJlbW92ZSgpOworfQorI2VuZGlmCisKIHZvaWQgSFRNTFN0eWxlRWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVD
aGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIFN0
eWxlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
dHlsZUVsZW1lbnQuaAppbmRleCA2YmFhZWUzYjc5ODgwZjdmY2I0M2I4ZWZmOWIyMTFiMTM2MjZj
MjcyLi5kNTZkNDZkNmQ2MzYyYjBjNDI3NDEwNTc2YzFmYjg3MzI1ZTAyY2VlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaApAQCAtNTUsNiArNTUsOSBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKICAgICB2
aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlZEZyb21Eb2N1bWVudCgpOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgdmlydHVh
bCB2b2lkIHdpbGxSZW1vdmUoKTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNo
YW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0g
MCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CkBAIC02Nyw2ICs3MCwxMSBA
QCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUoKSBjb25zdDsKKworICAg
IHZvaWQgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJXaXRo
U2NvcGluZ05vZGUoKTsKKworICAgIGJvb2wgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGU7
CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggOWY1MTM2ZmZkMTYyZjA1OTQ4ZGYxYjI3MTc0YzBhZTVlYzI4YjY5Ni4uNjIzMjIxMGMzMWNi
YzlmNmI3MjNiYTJhNzMzNjA0OGZjZTNmM2NiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtMTUyLDYgKzE1MiwxNyBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVu
ZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBy
ZXR1cm4gcmVwcmVzZW50YXRpb247CiB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorc3Rk
OjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChl
bGVtZW50KQorICAgICAgICByZXR1cm4gZWxlbWVudC0+bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbigpOworCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgcmV0dXJuIDA7
Cit9CisjZW5kaWYKKwogTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lbnQq
IGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaG9zdCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjhlZmI0ZTFjOTBjYThjM2I0OTZkNGExOTg0NTJlYmZh
ODdmNmMxOS4uNTViNmJhNTk2ZDVjMDhlN2UyZTE2NTUxMzczMDZmNDcyYzEyMTk1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01Miw2ICs1MiwxMCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCisjaWYg
RU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisjZW5k
aWYKKwogICAgIE5vZGUqIGVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIE5vZGUqIHNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZjY2YmI1NmMxNTU2
MDE2M2U5YWMxNGQ0MmJhNmZkMWZiOTI5Yzk0ZC4uMjNlYWNmYjc3ZWQzOGMzNWJjYWViMDZjNDQ4
OGVlNDJkMzhhY2UzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzAs
NiArMzAsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRE9NU3RyaW5nIGVsZW1lbnRSZW5k
ZXJUcmVlQXNUZXh0KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAg
ICAgICAgIGJvb2xlYW4gaXNQcmVsb2FkZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0
cmluZyB1cmwpOwogCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAg
ICAgICAgIE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKICAgICAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBFbGVtZW50IGluY2x1ZGVyRm9yKGluIE5vZGUg
bm9kZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IGI0
NmYxNTliYThkYWM0YzY5ZmViMDYxYjIzODk2ODE4N2NmZjZjODAuLjcwMjg0NWZlY2UyODhhNGQ4
NWNhYTZiMzY4YmZjMjY0OGRkY2FjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE2NCw2
ICsxNjQsNyBAQCBFWFBPUlRTCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlB
P0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBs
QFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/JEhhc2hU
cmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJp
bmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAgICAgP2xhc3RD
aGFuZ2VXYXNVc2VyRWRpdEBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudEBXZWJDb3JlQEBRQkVf
TlhaCiAgICAgICAgID9tYXJrZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxlckBXZWJDb3Jl
QEBRQUU/QVY/JFZlY3RvckBQQVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFAQFdURkBAUEFW
Tm9kZUAyQFZNYXJrZXJUeXBlc0BEb2N1bWVudE1hcmtlckAyQEBaCisgICAgICAgIDsgP251bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBRQkVJWFoKICAgICAg
ICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9wYWlu
dENvbnRyb2xUaW50c0BGcmFtZVZpZXdAV2ViQ29yZUBAQUFFWFhaCiAgICAgICAgID9yYW5nZUZy
b21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlNTdkY2RiODZmNmRhOTgwZDUwYzRlMWIwZDZjODY1
OWE0NDJjNTNjLi42NWMwZjIxZDAxOWVkNzFmNjE5NmRhM2VhZjRlNmRlMGZkZjRlMTYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTcsNiArMTU3LDcgQEAgRVhQT1JU
UwogICAgICAgICA/anNTdHJpbmdTbG93Q2FzZUBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQ
QVZFeGVjU3RhdGVAM0BBQVY/JEhhc2hNYXBAUEFWU3RyaW5nSW1wbEBXVEZAQFY/JFdlYWtAVkpT
U3RyaW5nQEpTQ0BAQEpTQ0BAVVN0cmluZ0hhc2hAMkBVPyRIYXNoVHJhaXRzQFBBVlN0cmluZ0lt
cGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAQDJA
QFdURkBAUEFWU3RyaW5nSW1wbEA2QEBaCiAgICAgICAgID9sYXN0Q2hhbmdlV2FzVXNlckVkaXRA
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnRAV2ViQ29yZUBAUUJFX05YWgogICAgICAgICA/bWFy
a2Vyc0ZvckBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFP0FWPyRWZWN0b3JA
UEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29yZUBAJDBBQEBXVEZAQFBBVk5vZGVAMkBWTWFya2VyVHlw
ZXNARG9jdW1lbnRNYXJrZXJAMkBAWgorICAgICAgICA7ID9udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29yZUBAUUJFSVhaCiAgICAgICAgID9wYWdlQERvY3VtZW50
QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9sVGludHNARnJh
bWVWaWV3QFdlYkNvcmVAQEFBRVhYWgogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5n
dGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3Jl
QEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCA0
MGNiNzhiYjUzZmU0NDk2MjA2YmEwZjNhMTQ5OTk4YjVmOWRkNzc4Li4xZmQzMTAxNDcxNzcwZWM1
NDg2YjUwNDBhMzk0OGZmYjQ0NzkzNzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTc0
LDYgKzc0LDcgQEAgX1pOSzdXZWJDb3JlMjZIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDIxbGFz
dENoYW5nZVdhc1VzZXJFZGl0RXY7CiBfWk5LN1dlYkNvcmU1RnJhbWU4c2V0dGluZ3NFdjsKIF9a
Tks3V2ViQ29yZTZKU05vZGUyMXB1c2hFdmVudEhhbmRsZXJTY29wZUVQTjNKU0M5RXhlY1N0YXRl
RVBOUzFfMTRTY29wZUNoYWluTm9kZUU7CiBfWk5LN1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9v
dEV2OworX1pOSzdXZWJDb3JlN0VsZW1lbnQzMW51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW5FdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDRwYWdlRXY7CiBfWk5LN1dlYkNvcmU4RG9jdW1l
bnQ4c2V0dGluZ3NFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDR2aWV3RXY7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTBm
YzcxMTc1ZGZiNGY2NzZkNjk3MDg4NmQ4YmYyNzNjZGRiOWE1MC4uZjYwMmU2NzdmNDVhMjFhYjM5
MGIxMzJkMjJkMzA3MTBjMTBjNzgzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTE2
ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IDxzdHlsZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4g
d2l0aCB0aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIFRlc3RzIHRoYXQgcmVnaXN0cmF0aW9u
IG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggaXRzIHBhcmVudCBpcyBwZXJmb3JtZWQgY29ycmVjdGx5
CisgICAgICAgIGluIHZhcmlvdXMgY2lyY3Vtc3RhbmNlcy4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdp
c3RlcmluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNj
b3BlZC9yZWdpc3RlcmluZy5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0xNCAgUm9sYW5kIFN0ZWlu
ZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICA8c3R5bGUgc2NvcGVk
PjogQWRkICdzY29wZWQnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGJlMTBkOGE2ZGRhNDk0OGJkNWE4NTQwNzQxOTQxMDY5MTdlYTllNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1OSBAQAorVGVzdCBbdW5dcmVnaXN0ZXJpbmcgYSA8c3R5bGUgc2Nv
cGVkPiBlbGVtZW50IGZyb20gaXRzIHBhcmVudAorCistLS0gSW5pdGlhbCAtLS0KK1BBU1MgaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlz
IDAKKy0tLSBBdHRhY2hpbmcgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gVW5zZXR0aW5nIEBzY29wZWQg
LS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUzKSBpcyAwCistLS0gUmUtc2V0dGluZyBAc2NvcGVkIC0tLQorUEFTUyBpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEKK1BBU1MgaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAor
LS0tIEluc2VydGluZy9yZW1vdmluZyBzY29wZSBlbGVtZW50cyBmcm9tIGRvY3VtZW50IC0tLQor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlz
IDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUy
KSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMykgaXMgMQorLS0tIE11bHRpcGxlIHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3aXRoaW4gc2lu
Z2xlIHNjb3BlIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIGlzIDMKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIFJlbW92aW5nIHNjb3BpbmcgZWxlbWVudCBm
cm9tIGRvY3VtZW50IC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTEpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIEluc2VydGluZyBzY29wZSB3aXRoaW4g
b3RoZXIgc2NvcGUgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKHNjb3BlMSkgaXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gQ2xvbmluZyA8c3R5bGUgc2NvcGVkPiBh
bmQgcGFyZW50cyAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUxKSBpcyAyCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSBpcyAwCitQQVNTIGludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdykgaXMgMAor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3Bl
MmRlZXApIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oY2xvbmVzY29wZTJzaGFsbG93KSBpcyAwCistLS0gaW5zZXJ0aW5nIGNsb25lcyBpbnRvIHNp
bmdsZSBwYXJlbnQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKHNjb3BlMSkgaXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyA0CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkgaXMgMgorUEFTUyBpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cpIGlzIDAK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29w
ZTJkZWVwKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKGNsb25lc2NvcGUyc2hhbGxvdykgaXMgMAorLS0tIFVuc2V0dGluZyBAc2NvcGVkIGluIG5l
c3RlZCBzY29wZSAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDQKKy0tLSBET05FIC0tLQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGJjNmMy
Yzg5MjRjMDllZThkYTM0MTk0NjhjNWFhYzJlMmNkNmJkNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sCkBAIC0wLDAg
KzEsMTQ0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxwPlRlc3QgW3VuXXJlZ2lzdGVyaW5nIGEgJmx0O3N0eWxlIHNjb3BlZCZn
dDsgZWxlbWVudCBmcm9tIGl0cyBwYXJlbnQ8L3A+CisgICAgPGRpdiBpZD0ic2NvcGUxIj4KKyAg
ICAgICAgPHN0eWxlIGlkPSJnbG9iYWwxIj48L3N0eWxlPgorICAgICAgICA8c3R5bGUgc2NvcGVk
PSdzY29wZWQxJyBpZD0ic2NvcGVkMSI+PC9zdHlsZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJzY29wZTIiPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KyAgICA8c2NyaXB0PgorICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy5p
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbikKKyAgICAgICAgICAgIGRl
YnVnKCJ3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuIG5v
dCBmb3VuZCEiKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB2YXIgc2NvcGUxID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlMScpOworICAgICAgICAgICAgdmFyIHNjb3BlMiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZTInKTsKKyAgICAgICAgICAgIHZhciBzY29w
ZTMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworICAgICAgICAgICAgdmFyIGds
b2JhbDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2xvYmFsMScpOworICAgICAgICAgICAg
dmFyIHNjb3BlZDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcGVkMScpOworCisgICAg
ICAgICAgICB2YXIgZ2xvYmFsMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7Cisg
ICAgICAgICAgICB2YXIgc2NvcGVkMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7
CisgICAgICAgICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Njb3BlZCcpOwor
ICAgICAgICAgICAgdmFyIHNjb3BlZDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScp
OworICAgICAgICAgICAgc2NvcGVkMy5zY29wZWQgPSB0cnVlOworCisgICAgICAgICAgICAvKiBO
T1RFOiA8c3R5bGUgc2NvcGVkPiBvdXRzaWRlIHRoZSBkb2N1bWVudCBpcyBOT1QgcmVnaXN0ZXJl
ZCEgKi8KKyAgICAgICAgICAgIGRlYnVnKCItLS0gSW5pdGlhbCAtLS0iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOyAvKiBvdXQg
b2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisg
ICAgICAgICAgICBkZWJ1ZygiLS0tIEF0dGFjaGluZyAtLS0iKTsKKyAgICAgICAgICAgIHNjb3Bl
Mi5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChn
bG9iYWwyKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChzY29wZWQzKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisK
KyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgLS0tIik7CisgICAgICAg
ICAgICBzY29wZWQxLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMi5zY29wZWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDMucmVtb3ZlQXR0cmlidXRlKCdzY29wZWQnKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTEpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAi
MCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVl
ICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gUmUtc2V0dGluZyBAc2NvcGVkIC0tLSIpOwor
ICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSB0cnVlOworICAgICAgICAgICAgc2NvcGVkMi5z
ZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHNjb3BlZDMuc2V0
QXR0cmlidXRlKCdzY29wZWQnLCAnJyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRy
ZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIElu
c2VydGluZy9yZW1vdmluZyBzY29wZSBlbGVtZW50cyBmcm9tIGRvY3VtZW50IC0tLSIpOworICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoc2NvcGUzLCBzY29wZTIpOworICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY29wZTIpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIG91dCBv
ZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKworICAgICAg
ICAgICAgZGVidWcoIi0tLSBNdWx0aXBsZSBzY29wZWQgc3R5bGUgZWxlbWVudHMgd2l0aGluIHNp
bmdsZSBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVDaGlsZChzY29wZWQy
KTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVDaGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAg
IHNjb3BlMy5yZW1vdmVDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRD
aGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChzY29wZWQyKTsK
KyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IiwgIjMiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOyAvKiBvdXQgb2Yg
dHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAg
ICAgIGRlYnVnKCItLS0gUmVtb3Zpbmcgc2NvcGluZyBlbGVtZW50IGZyb20gZG9jdW1lbnQgLS0t
Iik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjb3BlMSk7CisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUxKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIw
Iik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIGluIHRyZWUg
Ki8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0aGluIG90aGVy
IHNjb3BlIC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoc2Nv
cGUyLCBzY29wZTMpOworICAgICAgICAgICAgc2NvcGUxLnJlbW92ZUNoaWxkKHNjb3BlZDIpOwor
ICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2Nv
cGUyLmFwcGVuZENoaWxkKHNjb3BlMSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8qIGluIHRy
ZWUsIGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVl
ICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKworICAgICAgICAgICAg
ZGVidWcoIi0tLSBDbG9uaW5nICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGFuZCBwYXJlbnRzIC0tLSIp
OworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGUxZGVlcCA9IHNjb3BlMS5jbG9uZU5vZGUodHJ1
ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTFzaGFsbG93ID0gc2NvcGUxLmNsb25lTm9k
ZShmYWxzZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTJkZWVwID0gc2NvcGUyLmNsb25l
Tm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlMnNoYWxsb3cgPSBzY29wZTIu
Y2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDFkZWVwID0gc2Nv
cGVkMS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZWQxc2hhbGxv
dyA9IHNjb3BlZDEuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3Bl
ZDJkZWVwID0gc2NvcGVkMi5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVz
Y29wZWQyc2hhbGxvdyA9IHNjb3BlZDIuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEp
IiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIs
ICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogaW4gdHJlZSAq
LworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKGNsb25lc2NvcGUxc2hhbGxvdykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KGNsb25lc2NvcGUyZGVlcCkiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25l
c2NvcGUyc2hhbGxvdykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBk
ZWJ1ZygiLS0tIGluc2VydGluZyBjbG9uZXMgaW50byBzaW5nbGUgcGFyZW50IC0tLSIpOworICAg
ICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUxZGVlcCk7CisgICAgICAgICAg
ICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTFzaGFsbG93KTsKKyAgICAgICAgICAgIHNj
b3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMmRlZXApOworICAgICAgICAgICAgc2NvcGUzLmFw
cGVuZENoaWxkKGNsb25lc2NvcGUyc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5k
Q2hpbGQoY2xvbmVzY29wZWQxZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQo
Y2xvbmVzY29wZWQxc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xv
bmVzY29wZWQyZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29w
ZWQyc2hhbGxvdyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8qIGluIHRyZWUsIGNoaWxkIG9m
IHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSIsICI0Iik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIiwg
IjIiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdykiLCAiMCIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSIsICIxIik7IC8qIGluIHRyZWUg
Ki8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworCisg
ICAgICAgICAgICBkZWJ1ZygiLS0tIFVuc2V0dGluZyBAc2NvcGVkIGluIG5lc3RlZCBzY29wZSAt
LS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAgICBz
Y29wZWQyLnJlbW92ZUF0dHJpYnV0ZSgnc2NvcGVkJyk7CisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7
IC8qIGluIHRyZWUsIGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICI0Iik7IC8qIGluIHRyZWUgKi8KKworICAg
ICAgICAgICAgZGVidWcoIi0tLSBET05FIC0tLSIpOworICAgICAgICB9CisgICAgICAgIHZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5OTRjNzlj
MWU4MjAwOWUyMjgwOGM4NmRmZmE5YjExMmE0NDI1Zjg1Li43NTNlMDQzNmM4MjcxMmZiMjBhYjJk
M2U4NWJlY2I4YmE0Y2FmZGUwIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMTYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3Rl
aW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCBy
ZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAg
ICAgICAgd2luZG93cy5pbnRlcm5hbHMgdXBkYXRlcworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cjoKKwogMjAxMS0xMi0wMyAgRGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4KIAogICAgICAg
ICBbR1RLXSBVcGRhdGUgcmVxdWlyZWQgbGlic291cCB2ZXJzaW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117989</attachid>
            <date>2011-12-05 22:33:08 -0800</date>
            <delta_ts>2011-12-06 00:49:03 -0800</delta_ts>
            <desc>patch with flag, corrected</desc>
            <filename>bug-67790-20111206153306.patch</filename>
            <type>text/plain</type>
            <size>31342</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk3ZjZiZDRjNTM4YTZi
OTk3MzUxZWM0ZGVlZDVmYTk1NjBmNmY4NS4uNDMwNGEwMGVmMDNjMTkyNmVhZTkxNjk5ZjZjMTZm
MTgzYjBiZGFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0
ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBBZGQgJ3Njb3Bl
ZCcgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzI3YWMyZDQwYjIxMTFiNzQzMDQ4ZDY4MWM2YzIy
NzgzNTIwMzBhMS4uYTRhNTEzNmZhYzlkYTgzNjRjMjczYjY1MDNkNzUzYWQ1ZjlmMjYxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTE2ICBSb2xhbmQgU3RlaW5lciAgPHJv
bGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBJbXBs
ZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0aGUgc2NvcGluZyBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5
MAorCisgICAgICAgIEFkZCBzeW1ib2xzIGZvciB3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJD
RkxpdGUuZGVmOgorCiAyMDExLTEyLTA0ICBHb3BhbCBSYWdoYXZhbiAgPGdvcGFsLjEucmFnaGF2
YW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gY2xlYW51cCBxbWx0ZXN0cy5wcm8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KaW5kZXggZDFhOThkMTNkOTY4MzhjNGJmM2I1ZDViMjQ5NGUxYjBlY2E4MTRh
Ny4uODc2NjgzOGY1NTUxZDY1NTA2NDYyODlhODI1MjFjZWNmN2Y4YzUxMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KQEAgLTIwMTcsMyArMjAxNyw3IEBAIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9u
MTdkaXNwYXRjaFNob3dFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0
Y2hDbGlja0V2ZW50RXYKIF9fWk43V2ViQ29yZTEyTm90aWZpY2F0aW9uMThkaXNwYXRjaENsb3Nl
RXZlbnRFdgogI2VuZGlmCisKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorX19aTks3V2ViQ29y
ZTdFbGVtZW50MzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCmluZGV4IDY0YzNmNzJhOWQ3YzliYjI2YmVkM2Y2NWZmNmNhMTc1Zjhk
M2JmZTEuLjQ1OTA4NmQzMTZjNmU0NmJmNjgyMDc3ODg2NGViZTA0MjEyMTg1NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKQEAgLTE4MzQsNiArMTgzNCwzMCBAQCB1bnNpZ25lZCBFbGVtZW50Ojpj
aGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIGNvdW50OwogfQogCisjaWYgRU5B
QkxFKFNUWUxFX1NDT1BFRCkKK2Jvb2wgRWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCktPmhhc1Nj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3N0ZDo6c2l6ZV90IEVsZW1lbnQ6Om51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0
YSgpID8gcmFyZURhdGEoKS0+bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIDogMDsK
K30KKwordm9pZCBFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAg
ICBlbnN1cmVSYXJlRGF0YSgpLT5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisK
K3ZvaWQgRWxlbWVudDo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBB
U1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgaWYgKGhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJh
cmVEYXRhKCktPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQorI2VuZGlmCisK
IGJvb2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0
b3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChzZWxlY3Rvci5pc0VtcHR5KCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCmluZGV4IGM2OTE3ZDI5NmY3MTgwYjYxMGEyNDdkMTRhMjA4OWZlMzA3
MWEyOWEuLmE0ZTg0ODRmNDI4ODA3YTdlYzk3NWM3ZjFlYzU2ZTk1N2E3NTlmODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtMjk1LDYgKzI5NSwxMyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogbmV4
dEVsZW1lbnRTaWJsaW5nKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY2hpbGRFbGVtZW50Q291bnQo
KSBjb25zdDsKIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgdm9pZCByZWdpc3RlclNj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKTsKKyAgICBib29sIGhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3Q7CisgICAg
c3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0OworI2Vu
ZGlmCisKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVj
dG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCAxY2FjY2Q0OTRmMTBmMmE2YzMw
NmU2MGJlMTM0NGE3NTQ2NWUyOTZmLi5mMDNjZjRmODBhZGZhNDA1ZmVlZmEwODk1OWE3ZTlmMjgx
ZjAwZmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zOSw2ICszOSwx
MyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0Q29tcHV0ZWRTdHlsZSgpOwogCisjaWYgRU5B
QkxFKFNUWUxFX1NDT1BFRCkKKyAgICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIGJvb2wg
aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3Q7CisjZW5kaWYKKwogICAgIHVzaW5nIE5v
ZGVSYXJlRGF0YTo6bmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29uQWZ0ZXJBdHRhY2g7CiAg
ICAgdXNpbmcgTm9kZVJhcmVEYXRhOjpzZXROZWVkc0ZvY3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25B
ZnRlckF0dGFjaDsKIApAQCAtNDcsNiArNTQsMTAgQEAgcHVibGljOgogICAgIFNoYWRvd1Jvb3Qq
IG1fc2hhZG93Um9vdDsKICAgICBBdG9taWNTdHJpbmcgbV9zaGFkb3dQc2V1ZG9JZDsKIAorI2lm
IEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgc3RkOjpzaXplX3QgbV9udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuOworI2VuZGlmCisKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01h
cD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOwogICAgIE93blB0cjxDbGFzc0xpc3Q+IG1fY2xhc3NM
aXN0OwogCkBAIC02NSw2ICs3Niw5IEBAIGlubGluZSBJbnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6
ZUZvclJlc2l6aW5nKCkKIGlubGluZSBFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSgp
CiAgICAgOiBtX21pbmltdW1TaXplRm9yUmVzaXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVz
aXppbmcoKSkKICAgICAsIG1fc2hhZG93Um9vdCgwKQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQp
CisgICAgLCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oMCkKKyNlbmRpZgogICAg
ICwgbV9zdHlsZUFmZmVjdGVkQnlFbXB0eShmYWxzZSkKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCiAgICAgLCBtX2NvbnRhaW5zRnVsbFNjcmVlbkVsZW1lbnQoZmFsc2UpCkBAIC04Miw1ICs5
NiwyOSBAQCBpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURhdGE6OnJlc2V0Q29tcHV0ZWRTdHlsZSgp
CiAgICAgbV9jb21wdXRlZFN0eWxlLmNsZWFyKCk7CiB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NP
UEVEKQoraW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCkKK3sKKyAgICArK21fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30K
KworaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjp1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKQoreworICAgIEFTU0VSVChtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4g
PiAwKTsKKyAgICBpZiAobV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuID4gMCkKKyAg
ICAgICAgLS1tX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKK2lubGluZSBi
b29sIEVsZW1lbnRSYXJlRGF0YTo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdAorewor
ICAgIHJldHVybiBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9CisKK2lubGlu
ZSBzdGQ6OnNpemVfdCBFbGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oKSBjb25zdAoreworICAgIHJldHVybiBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW47Cit9CisjZW5kaWYKKwogfQogI2VuZGlmIC8vIEVsZW1lbnRSYXJlRGF0YV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAppbmRleCA5ZWZlODBhYTAxNTZiZTE0
NGI3OTQ0NzUzYjQzNjZjOTQyMmQyYmU4Li5jYzFmYTIzMDBkMDg5Yjg4MjUxYjlhNGI2YzhhN2Jm
OWMyMTEyOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKQEAg
LTM4LDEyICszOCwxNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogaW5saW5lIEhUTUxT
dHlsZUVsZW1lbnQ6OkhUTUxTdHlsZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGNyZWF0ZWRCeVBhcnNlcikKICAgICA6IEhUTUxF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgU3R5bGVFbGVtZW50KGRvY3VtZW50LCBj
cmVhdGVkQnlQYXJzZXIpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAsIG1faXNSZWdp
c3RlcmVkV2l0aFNjb3BpbmdOb2RlKGZhbHNlKQorI2VuZGlmCiB7CiAgICAgQVNTRVJUKGhhc1Rh
Z05hbWUoc3R5bGVUYWcpKTsKIH0KIAogSFRNTFN0eWxlRWxlbWVudDo6fkhUTUxTdHlsZUVsZW1l
bnQoKQogeworICAgIC8vIER1cmluZyB0ZWFyLWRvd24sIHdpbGxSZW1vdmUgaXNuJ3QgY2FsbGVk
LCBzbyBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSBtYXkgc3RpbGwgYmUgc2V0IGhlcmUu
CisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbid0IEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2Nv
cGluZ05vZGUpLgogICAgIFN0eWxlRWxlbWVudDo6Y2xlYXJEb2N1bWVudERhdGEoZG9jdW1lbnQo
KSwgdGhpcyk7CiB9CiAKQEAgLTU2LDYgKzYxLDE1IEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewogICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gdGl0bGVBdHRyICYmIG1fc2hlZXQpCiAgICAgICAgIG1fc2hlZXQtPnNldFRpdGxl
KGF0dHItPnZhbHVlKCkpOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IHNjb3BlZEF0dHIpIHsKKyAgICAgICAgaWYgKCFhdHRyLT5pc051bGwo
KSAmJiAhbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgJiYgaW5Eb2N1bWVudCgpKQorICAg
ICAgICAgICAgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICAgICAgZWxzZSBpZiAoYXR0
ci0+aXNOdWxsKCkgJiYgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAgICAgICAg
ICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisKKyAgICB9CisjZW5kaWYKICAgICBlbHNl
CiAgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KQEAg
LTY2LDE4ICs4MCw4MiBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGls
ZHJlbigpCiAgICAgSFRNTEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogfQogCisj
aWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6cmVnaXN0ZXJX
aXRoU2NvcGluZ05vZGUoKQoreworICAgIC8vIE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSAn
c2NvcGVkJyBlbGVtZW50IGFscmVhZHkgYmVpbmcgcHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlz
IGludm9rZWQuCisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQor
ICAgIEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOworICAgIEFTU0VSVChp
bkRvY3VtZW50KCkpOworICAgIGlmICghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpIHsK
KyAgICAgICAgRWxlbWVudCogc2NvcGUgPSBwYXJlbnRFbGVtZW50KCk7CisgICAgICAgIGlmICgh
c2NvcGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc2NvcGUtPnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICAgICAgc2NvcGUtPnNldE5lZWRzU3R5bGVSZWNhbGMo
KTsKKyAgICAgICAgaWYgKGluRG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+cGFyc2luZygpICYm
IGRvY3VtZW50KCktPnJlbmRlcmVyKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5zdHlsZVNl
bGVjdG9yQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKKworICAgICAgICBtX2lzUmVnaXN0ZXJl
ZFdpdGhTY29waW5nTm9kZSA9IHRydWU7CisgICAgfQorfQorCit2b2lkIEhUTUxTdHlsZUVsZW1l
bnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKQoreworICAgIC8vIE5vdGU6IFdlIGNhbm5v
dCByZWx5IG9uIHRoZSAnc2NvcGVkJyBlbGVtZW50IHN0aWxsIGJlaW5nIHByZXNlbnQgd2hlbiB0
aGlzIG1ldGhvZCBpcyBpbnZva2VkLgorICAgIC8vIFRoZXJlZm9yZSB3ZSBjYW5ub3QgcmVseSBv
biBzY29wZWQoKSEKKyAgICBBU1NFUlQobV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOwor
ICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50
KiBzY29wZSA9IHBhcmVudEVsZW1lbnQoKTsKKyAgICAgICAgQVNTRVJUKHNjb3BlKTsKKyAgICAg
ICAgaWYgKHNjb3BlKSB7CisgICAgICAgICAgICBBU1NFUlQoc2NvcGUtPmhhc1Njb3BlZEhUTUxT
dHlsZUNoaWxkKCkpOworICAgICAgICAgICAgc2NvcGUtPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCgpOworICAgICAgICAgICAgc2NvcGUtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoaW5Eb2N1bWVudCgpICYmICFkb2N1bWVudCgpLT5wYXJzaW5n
KCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnN0
eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOworCisgICAgICAgIG1faXNSZWdp
c3RlcmVkV2l0aFNjb3BpbmdOb2RlID0gZmFsc2U7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQg
SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewogICAgIEhUTUxFbGVt
ZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhpcyk7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkK
KyAgICBpZiAoc2NvcGVkKCkgJiYgIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKQorICAg
ICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTFN0
eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7CisjaWYgRU5BQkxFKFNUWUxFX1ND
T1BFRCkKKyAgICBBU1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyNlbmRp
ZgogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgU3R5bGVFbGVt
ZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KGRvY3VtZW50KCksIHRoaXMpOwogfQogCisKKyNpZiBF
TkFCTEUoU1RZTEVfU0NPUEVEKQordm9pZCBIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKCkK
K3sKKyAgICAvLyBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgPHN0eWxlIHNjb3BlZD4g
aXMgb25seSByZWdpc3RlcmVkIGlmIHRoZSBub2RlIGlzIGluIHRoZSBkb2N1bWVudC4KKyAgICAv
LyBUaGF0IGlzLCBiZWNhdXNlIHdpbGxSZW1vdmUoKSBpcyBhbHNvIGNhbGxlZCBpZiBhbiBhbmNl
c3RvciBpcyByZW1vdmVkIGZyb20gdGhlIGRvY3VtZW50LgorICAgIC8vIE5vdywgaWYgd2Ugd2Fu
dCB0byByZWdpc3RlciA8c3R5bGUgc2NvcGVkPiBldmVuIGlmIGl0J3Mgbm90IGluRG9jdW1lbnQs
CisgICAgLy8gd2UnZCBuZWVkIHRvIGZpbmQgYSB3YXkgdG8gZGlzY2VybiB3aGV0aGVyIHRoYXQg
aXMgdGhlIGNhc2UsIG9yIHdoZXRoZXIgPHN0eWxlIHNjb3BlZD4gaXRzZWxmIGlzIGFib3V0IHRv
IGJlIHJlbW92ZWQuCisgICAgQVNTRVJUKCFzY29wZWQoKSB8fCAhaW5Eb2N1bWVudCgpIHx8IG1f
aXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBpZiAobV9pc1JlZ2lzdGVyZWRXaXRo
U2NvcGluZ05vZGUpCisgICAgICAgIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICBI
VE1MRWxlbWVudDo6d2lsbFJlbW92ZSgpOworfQorI2VuZGlmCisKIHZvaWQgSFRNTFN0eWxlRWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVD
aGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIFN0
eWxlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
dHlsZUVsZW1lbnQuaAppbmRleCA2YmFhZWUzYjc5ODgwZjdmY2I0M2I4ZWZmOWIyMTFiMTM2MjZj
MjcyLi5kNTZkNDZkNmQ2MzYyYjBjNDI3NDEwNTc2YzFmYjg3MzI1ZTAyY2VlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaApAQCAtNTUsNiArNTUsOSBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKICAgICB2
aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlZEZyb21Eb2N1bWVudCgpOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgdmlydHVh
bCB2b2lkIHdpbGxSZW1vdmUoKTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNo
YW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0g
MCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CkBAIC02Nyw2ICs3MCwxMSBA
QCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUoKSBjb25zdDsKKworICAg
IHZvaWQgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJXaXRo
U2NvcGluZ05vZGUoKTsKKworICAgIGJvb2wgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGU7
CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggOWY1MTM2ZmZkMTYyZjA1OTQ4ZGYxYjI3MTc0YzBhZTVlYzI4YjY5Ni4uNjIzMjIxMGMzMWNi
YzlmNmI3MjNiYTJhNzMzNjA0OGZjZTNmM2NiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtMTUyLDYgKzE1MiwxNyBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVu
ZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBy
ZXR1cm4gcmVwcmVzZW50YXRpb247CiB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorc3Rk
OjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChl
bGVtZW50KQorICAgICAgICByZXR1cm4gZWxlbWVudC0+bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbigpOworCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgcmV0dXJuIDA7
Cit9CisjZW5kaWYKKwogTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lbnQq
IGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaG9zdCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjhlZmI0ZTFjOTBjYThjM2I0OTZkNGExOTg0NTJlYmZh
ODdmNmMxOS4uNTViNmJhNTk2ZDVjMDhlN2UyZTE2NTUxMzczMDZmNDcyYzEyMTk1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01Miw2ICs1MiwxMCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCisjaWYg
RU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisjZW5k
aWYKKwogICAgIE5vZGUqIGVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIE5vZGUqIHNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZjY2YmI1NmMxNTU2
MDE2M2U5YWMxNGQ0MmJhNmZkMWZiOTI5Yzk0ZC4uNmFlY2NlZTlhNzY1NWQyN2U0MTQ3ODA3YWE1
YWMzM2NmZmY2NDZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzAs
NiArMzAsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVu
ZGVyVHJlZUFzVGV4dChpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwog
ICAgICAgICBib29sZWFuIGlzUHJlbG9hZGVkKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01T
dHJpbmcgdXJsKTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJiYgRU5BQkxF
X1NUWUxFX1NDT1BFRAorICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyNl
bmRpZgorCiAgICAgICAgIE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQg
aG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBFbGVtZW50IGluY2x1ZGVyRm9y
KGluIE5vZGUgbm9kZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
CmluZGV4IGI0NmYxNTliYThkYWM0YzY5ZmViMDYxYjIzODk2ODE4N2NmZjZjODAuLjcwMjg0NWZl
Y2UyODhhNGQ4NWNhYTZiMzY4YmZjMjY0OGRkY2FjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYK
QEAgLTE2NCw2ICsxNjQsNyBAQCBFWFBPUlRTCiAgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdl
YkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZT
dHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAy
QFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vh
a0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAg
ICAgP2xhc3RDaGFuZ2VXYXNVc2VyRWRpdEBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudEBXZWJD
b3JlQEBRQkVfTlhaCiAgICAgICAgID9tYXJrZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxl
ckBXZWJDb3JlQEBRQUU/QVY/JFZlY3RvckBQQVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFA
QFdURkBAUEFWTm9kZUAyQFZNYXJrZXJUeXBlc0BEb2N1bWVudE1hcmtlckAyQEBaCisgICAgICAg
IDsgP251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBRQkVJ
WFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAg
ICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdAV2ViQ29yZUBAQUFFWFhaCiAgICAgICAg
ID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlNTdkY2RiODZmNmRhOTgwZDUwYzRl
MWIwZDZjODY1OWE0NDJjNTNjLi42NWMwZjIxZDAxOWVkNzFmNjE5NmRhM2VhZjRlNmRlMGZkZjRl
MTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysr
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTcsNiArMTU3LDcg
QEAgRVhQT1JUUwogICAgICAgICA/anNTdHJpbmdTbG93Q2FzZUBXZWJDb3JlQEBZQT9BVkpTVmFs
dWVASlNDQEBQQVZFeGVjU3RhdGVAM0BBQVY/JEhhc2hNYXBAUEFWU3RyaW5nSW1wbEBXVEZAQFY/
JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAVVN0cmluZ0hhc2hAMkBVPyRIYXNoVHJhaXRzQFBB
VlN0cmluZ0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BA
QEpTQ0BAQDJAQFdURkBAUEFWU3RyaW5nSW1wbEA2QEBaCiAgICAgICAgID9sYXN0Q2hhbmdlV2Fz
VXNlckVkaXRASFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnRAV2ViQ29yZUBAUUJFX05YWgogICAg
ICAgICA/bWFya2Vyc0ZvckBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFP0FW
PyRWZWN0b3JAUEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29yZUBAJDBBQEBXVEZAQFBBVk5vZGVAMkBW
TWFya2VyVHlwZXNARG9jdW1lbnRNYXJrZXJAMkBAWgorICAgICAgICA7ID9udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29yZUBAUUJFSVhaCiAgICAgICAgID9wYWdl
QERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9s
VGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRp
b25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5n
ZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgppbmRleCA0MGNiNzhiYjUzZmU0NDk2MjA2YmEwZjNhMTQ5OTk4YjVmOWRkNzc4Li4xZmQzMTAx
NDcxNzcwZWM1NDg2YjUwNDBhMzk0OGZmYjQ0NzkzNzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKQEAgLTc0LDYgKzc0LDcgQEAgX1pOSzdXZWJDb3JlMjZIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudDIxbGFzdENoYW5nZVdhc1VzZXJFZGl0RXY7CiBfWk5LN1dlYkNvcmU1RnJhbWU4c2V0dGlu
Z3NFdjsKIF9aTks3V2ViQ29yZTZKU05vZGUyMXB1c2hFdmVudEhhbmRsZXJTY29wZUVQTjNKU0M5
RXhlY1N0YXRlRVBOUzFfMTRTY29wZUNoYWluTm9kZUU7CiBfWk5LN1dlYkNvcmU3RWxlbWVudDEw
c2hhZG93Um9vdEV2OworX1pOSzdXZWJDb3JlN0VsZW1lbnQzMW51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW5FdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDRwYWdlRXY7CiBfWk5LN1dlYkNv
cmU4RG9jdW1lbnQ4c2V0dGluZ3NFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDR2aWV3RXY7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOTBmYzcxMTc1ZGZiNGY2NzZkNjk3MDg4NmQ4YmYyNzNjZGRiOWE1MC4uZjYwMmU2Nzdm
NDVhMjFhYjM5MGIxMzJkMjJkMzA3MTBjMTBjNzgzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDExLTExLTE2ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxl
IHNjb3BlZD4gd2l0aCB0aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIFRlc3RzIHRoYXQgcmVn
aXN0cmF0aW9uIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggaXRzIHBhcmVudCBpcyBwZXJmb3JtZWQg
Y29ycmVjdGx5CisgICAgICAgIGluIHZhcmlvdXMgY2lyY3Vtc3RhbmNlcy4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNj
b3BlZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0xNCAgUm9s
YW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICA8c3R5
bGUgc2NvcGVkPjogQWRkICdzY29wZWQnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGJlMTBkOGE2ZGRhNDk0OGJkNWE4NTQwNzQxOTQxMDY5MTdlYTllNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3Rlcmlu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OSBAQAorVGVzdCBbdW5dcmVnaXN0ZXJpbmcgYSA8
c3R5bGUgc2NvcGVkPiBlbGVtZW50IGZyb20gaXRzIHBhcmVudAorCistLS0gSW5pdGlhbCAtLS0K
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBp
cyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTMpIGlzIDAKKy0tLSBBdHRhY2hpbmcgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gVW5zZXR0aW5n
IEBzY29wZWQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMSkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gUmUtc2V0dGluZyBAc2NvcGVkIC0tLQorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBp
cyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykgaXMgMAorLS0tIEluc2VydGluZy9yZW1vdmluZyBzY29wZSBlbGVtZW50cyBmcm9tIGRvY3Vt
ZW50IC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTEpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKHNjb3BlMykgaXMgMQorLS0tIE11bHRpcGxlIHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3
aXRoaW4gc2luZ2xlIHNjb3BlIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDMKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIFJlbW92aW5nIHNjb3Bpbmcg
ZWxlbWVudCBmcm9tIGRvY3VtZW50IC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIEluc2VydGluZyBzY29w
ZSB3aXRoaW4gb3RoZXIgc2NvcGUgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gQ2xvbmluZyA8c3R5bGUg
c2NvcGVkPiBhbmQgcGFyZW50cyAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAyCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSBpcyAwCitQQVNTIGlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxv
dykgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihj
bG9uZXNjb3BlMmRlZXApIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSBpcyAwCistLS0gaW5zZXJ0aW5nIGNsb25l
cyBpbnRvIHNpbmdsZSBwYXJlbnQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyA0CitQQVNTIGludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkgaXMgMgorUEFTUyBp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxs
b3cpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
Y2xvbmVzY29wZTJkZWVwKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hhbGxvdykgaXMgMAorLS0tIFVuc2V0dGluZyBAc2Nv
cGVkIGluIG5lc3RlZCBzY29wZSAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDQKKy0tLSBET05FIC0tLQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGJjNmMyYzg5MjRjMDllZThkYTM0MTk0NjhjNWFhYzJlMmNkNmJkNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1s
CkBAIC0wLDAgKzEsMTQ0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRlc3QgW3VuXXJlZ2lzdGVyaW5nIGEgJmx0O3N0eWxl
IHNjb3BlZCZndDsgZWxlbWVudCBmcm9tIGl0cyBwYXJlbnQ8L3A+CisgICAgPGRpdiBpZD0ic2Nv
cGUxIj4KKyAgICAgICAgPHN0eWxlIGlkPSJnbG9iYWwxIj48L3N0eWxlPgorICAgICAgICA8c3R5
bGUgc2NvcGVkPSdzY29wZWQxJyBpZD0ic2NvcGVkMSI+PC9zdHlsZT4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJzY29wZTIiPgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMgfHwg
IXdpbmRvdy5pbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbikKKyAgICAg
ICAgICAgIGRlYnVnKCJ3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuIG5vdCBmb3VuZCEiKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB2YXIgc2Nv
cGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlMScpOworICAgICAgICAgICAgdmFy
IHNjb3BlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZTInKTsKKyAgICAgICAgICAg
IHZhciBzY29wZTMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworICAgICAgICAg
ICAgdmFyIGdsb2JhbDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2xvYmFsMScpOworICAg
ICAgICAgICAgdmFyIHNjb3BlZDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcGVkMScp
OworCisgICAgICAgICAgICB2YXIgZ2xvYmFsMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0
eWxlJyk7CisgICAgICAgICAgICB2YXIgc2NvcGVkMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3N0eWxlJyk7CisgICAgICAgICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Nj
b3BlZCcpOworICAgICAgICAgICAgdmFyIHNjb3BlZDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzdHlsZScpOworICAgICAgICAgICAgc2NvcGVkMy5zY29wZWQgPSB0cnVlOworCisgICAgICAg
ICAgICAvKiBOT1RFOiA8c3R5bGUgc2NvcGVkPiBvdXRzaWRlIHRoZSBkb2N1bWVudCBpcyBOT1Qg
cmVnaXN0ZXJlZCEgKi8KKyAgICAgICAgICAgIGRlYnVnKCItLS0gSW5pdGlhbCAtLS0iKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIp
OyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBvdXQgb2YgdHJl
ZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEF0dGFjaGluZyAtLS0iKTsKKyAgICAgICAg
ICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBl
bmRDaGlsZChnbG9iYWwyKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChzY29wZWQz
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMiki
LCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0
cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgLS0tIik7
CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVk
Mi5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDMucmVtb3ZlQXR0cmlidXRlKCdz
Y29wZWQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMikiLCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91
dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gUmUtc2V0dGluZyBAc2NvcGVk
IC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSB0cnVlOworICAgICAgICAgICAg
c2NvcGVkMi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdzY29wZWQnKTsKKyAgICAgICAgICAgIHNj
b3BlZDMuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnJyk7CisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7
IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1
ZygiLS0tIEluc2VydGluZy9yZW1vdmluZyBzY29wZSBlbGVtZW50cyBmcm9tIGRvY3VtZW50IC0t
LSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoc2NvcGUzLCBzY29w
ZTIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY29wZTIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7
IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIxIik7IC8qIGluIHRyZWUgKi8K
KworICAgICAgICAgICAgZGVidWcoIi0tLSBNdWx0aXBsZSBzY29wZWQgc3R5bGUgZWxlbWVudHMg
d2l0aGluIHNpbmdsZSBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVDaGls
ZChzY29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5yZW1vdmVDaGlsZChnbG9iYWwyKTsKKyAg
ICAgICAgICAgIHNjb3BlMy5yZW1vdmVDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNjb3Bl
MS5hcHBlbmRDaGlsZChzY29wZWQzKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChz
Y29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMS5hcHBlbmRDaGlsZChnbG9iYWwyKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTEpIiwgIjMiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIpOyAv
KiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisK
KyAgICAgICAgICAgIGRlYnVnKCItLS0gUmVtb3Zpbmcgc2NvcGluZyBlbGVtZW50IGZyb20gZG9j
dW1lbnQgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjb3Bl
MSk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2Nv
cGUyKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8q
IGluIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBJbnNlcnRpbmcgc2NvcGUgd2l0
aGluIG90aGVyIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRC
ZWZvcmUoc2NvcGUyLCBzY29wZTMpOworICAgICAgICAgICAgc2NvcGUxLnJlbW92ZUNoaWxkKHNj
b3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAg
ICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlMSk7CisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7
IC8qIGluIHRyZWUsIGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKworICAg
ICAgICAgICAgZGVidWcoIi0tLSBDbG9uaW5nICZsdDtzdHlsZSBzY29wZWQmZ3Q7IGFuZCBwYXJl
bnRzIC0tLSIpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGUxZGVlcCA9IHNjb3BlMS5jbG9u
ZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTFzaGFsbG93ID0gc2NvcGUx
LmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTJkZWVwID0gc2Nv
cGUyLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlMnNoYWxsb3cg
PSBzY29wZTIuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDFk
ZWVwID0gc2NvcGVkMS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29w
ZWQxc2hhbGxvdyA9IHNjb3BlZDEuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBj
bG9uZXNjb3BlZDJkZWVwID0gc2NvcGVkMi5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2
YXIgY2xvbmVzY29wZWQyc2hhbGxvdyA9IHNjb3BlZDIuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTEpIiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyog
aW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkiLCAiMCIpOyAvKiBvdXQgb2YgdHJl
ZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAq
LworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKGNsb25lc2NvcGUyc2hhbGxvdykiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworCisgICAg
ICAgICAgICBkZWJ1ZygiLS0tIGluc2VydGluZyBjbG9uZXMgaW50byBzaW5nbGUgcGFyZW50IC0t
LSIpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUxZGVlcCk7Cisg
ICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTFzaGFsbG93KTsKKyAgICAg
ICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMmRlZXApOworICAgICAgICAgICAg
c2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUyc2hhbGxvdyk7CisgICAgICAgICAgICBzY29w
ZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZWQxZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBw
ZW5kQ2hpbGQoY2xvbmVzY29wZWQxc2hhbGxvdyk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5k
Q2hpbGQoY2xvbmVzY29wZWQyZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQo
Y2xvbmVzY29wZWQyc2hhbGxvdyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIyIik7IC8qIGluIHRyZWUs
IGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVlICov
CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oc2NvcGUzKSIsICI0Iik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3Bl
MWRlZXApIiwgIjIiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdyki
LCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSIsICIxIik7IC8q
IGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIiwgIjAiKTsgLyogaW4gdHJl
ZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFVuc2V0dGluZyBAc2NvcGVkIGluIG5lc3Rl
ZCBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7CisgICAg
ICAgICAgICBzY29wZWQyLnJlbW92ZUF0dHJpYnV0ZSgnc2NvcGVkJyk7CisgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUx
KSIsICIxIik7IC8qIGluIHRyZWUsIGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAgICAgICAgc2hv
dWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMiki
LCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICI0Iik7IC8qIGluIHRyZWUg
Ki8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBET05FIC0tLSIpOworICAgICAgICB9CisgICAg
ICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCA5OTRjNzljMWU4MjAwOWUyMjgwOGM4NmRmZmE5YjExMmE0NDI1Zjg1Li43NTNlMDQzNmM4Mjcx
MmZiMjBhYjJkM2U4NWJlY2I4YmE0Y2FmZGUwIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTEtMTYgIFJvbGFuZCBTdGVpbmVyICA8
cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IElt
cGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVs
ZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3
NzkwCisKKyAgICAgICAgd2luZG93cy5pbnRlcm5hbHMgdXBkYXRlcworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1i
b2xzLmZpbHRlcjoKKwogMjAxMS0xMi0wMyAgRGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4K
IAogICAgICAgICBbR1RLXSBVcGRhdGUgcmVxdWlyZWQgbGlic291cCB2ZXJzaW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118004</attachid>
            <date>2011-12-06 00:49:19 -0800</date>
            <delta_ts>2012-01-23 23:26:34 -0800</delta_ts>
            <desc>patch with flag, for EWS</desc>
            <filename>bug-67790-20111206174917.patch</filename>
            <type>text/plain</type>
            <size>31428</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRmODY5OTQ5N2I5YTEw
M2NhOTRkMjM1N2U2NWM5ZGEzYWZiOGY5YS4uYjAxOTU0YmYxMGVhZGFkY2NmNjRlNzgzNTc2ZDRm
YTdhMDlmMDNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0
ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBBZGQgJ3Njb3Bl
ZCcgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjU4YTY5MTg5ZDY4MmU5YmZhMzQxZGUxZjkzNWQ5
N2FkZTk3ZGYxNC4uYmIxZWFjODI4NGU3ZmZhOTI3MDljNWQ4MmY0ZTk3OTY2YjE0NDhhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTE2ICBSb2xhbmQgU3RlaW5lciAgPHJv
bGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBJbXBs
ZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0aGUgc2NvcGluZyBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5
MAorCisgICAgICAgIEFkZCBzeW1ib2xzIGZvciB3aW5kb3dzLmludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJD
RkxpdGUuZGVmOgorCiAyMDExLTEyLTA1ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBv
cGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBGcmFtZSBpcyBub3QgYmVpbmcgc2hv
d2VkIGluIHRoZSBzY3JlZW4gd2hlbiBmcmFtZUxvYWRDb21wbGV0ZWQgaXMgY2FsbGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCmluZGV4IGQxYTk4ZDEzZDk2ODM4YzRiZjNiNWQ1YjI0OTRlMWIwZWNhODE0
YTcuLjg3NjY4MzhmNTU1MWQ2NTUwNjQ2Mjg5YTgyNTIxY2VjZjdmOGM1MTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCkBAIC0yMDE3LDMgKzIwMTcsNyBAQCBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlv
bjE3ZGlzcGF0Y2hTaG93RXZlbnRFdgogX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3Bh
dGNoQ2xpY2tFdmVudEV2CiBfX1pON1dlYkNvcmUxMk5vdGlmaWNhdGlvbjE4ZGlzcGF0Y2hDbG9z
ZUV2ZW50RXYKICNlbmRpZgorCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK19fWk5LN1dlYkNv
cmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCBmMDU1NzJiMTAyNDUyMzQ5YmFkOTVlN2YzNjI5YzI4ZGVl
NzY2N2FiLi43OTIyMzNlNWM2MmI0ZjI3YzE3YjQ2MGQyZmY0NTIyZjMyYjNjZmM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xODQyLDYgKzE4NDIsMzAgQEAgdW5zaWduZWQgRWxlbWVudDo6
Y2hpbGRFbGVtZW50Q291bnQoKSBjb25zdAogICAgIHJldHVybiBjb3VudDsKIH0KIAorI2lmIEVO
QUJMRShTVFlMRV9TQ09QRUQpCitib29sIEVsZW1lbnQ6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLT5oYXNT
Y29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQorCitzdGQ6OnNpemVfdCBFbGVtZW50OjpudW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURh
dGEoKSA/IHJhcmVEYXRhKCktPm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSA6IDA7
Cit9CisKK3ZvaWQgRWxlbWVudDo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7Cisg
ICAgZW5zdXJlUmFyZURhdGEoKS0+cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQor
Cit2b2lkIEVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAg
QVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgIGlmIChoYXNSYXJlRGF0YSgpKQorICAgICAgICBy
YXJlRGF0YSgpLT51bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKK30KKyNlbmRpZgor
CiBib29sIEVsZW1lbnQ6OndlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVj
dG9yLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoc2VsZWN0b3IuaXNFbXB0eSgpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAppbmRleCBhZjVmYzVmYzE2Y2I4ZjVkOGZiYzNjZDFkMTE3ZWQ5MDBi
N2MxYTZlLi4xMzc0MjI1YjZmMTI3NzZhM2E1NGJlMjRiYWZiYmU2MzY4MDI4MDU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKQEAgLTI5NCw2ICsyOTQsMTMgQEAgcHVibGljOgogICAgIEVsZW1lbnQqIG5l
eHRFbGVtZW50U2libGluZygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGNoaWxkRWxlbWVudENvdW50
KCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIHZvaWQgcmVnaXN0ZXJT
Y29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIHZvaWQgdW5yZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCk7CisgICAgYm9vbCBoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpIGNvbnN0OworICAg
IHN0ZDo6c2l6ZV90IG51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdDsKKyNl
bmRpZgorCiAgICAgYm9vbCB3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxl
Y3RvcnMsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggMWNhY2NkNDk0ZjEwZjJhNmMz
MDZlNjBiZTEzNDRhNzU0NjVlMjk2Zi4uZjAzY2Y0ZjgwYWRmYTQwNWZlZWZhMDg5NTlhN2U5ZjI4
MWYwMGZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMzksNiArMzks
MTMgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXNldENvbXB1dGVkU3R5bGUoKTsKIAorI2lmIEVO
QUJMRShTVFlMRV9TQ09QRUQpCisgICAgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxk
KCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICBib29s
IGhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3Q7CisgICAgc3RkOjpzaXplX3QgbnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0OworI2VuZGlmCisKICAgICB1c2luZyBO
b2RlUmFyZURhdGE6Om5lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoOwog
ICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29u
QWZ0ZXJBdHRhY2g7CiAKQEAgLTQ3LDYgKzU0LDEwIEBAIHB1YmxpYzoKICAgICBTaGFkb3dSb290
KiBtX3NoYWRvd1Jvb3Q7CiAgICAgQXRvbWljU3RyaW5nIG1fc2hhZG93UHNldWRvSWQ7CiAKKyNp
ZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIHN0ZDo6c2l6ZV90IG1fbnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbjsKKyNlbmRpZgorCiAgICAgT3duUHRyPERhdGFzZXRET01TdHJpbmdN
YXA+IG1fZGF0YXNldERPTVN0cmluZ01hcDsKICAgICBPd25QdHI8Q2xhc3NMaXN0PiBtX2NsYXNz
TGlzdDsKIApAQCAtNjUsNiArNzYsOSBAQCBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNp
emVGb3JSZXNpemluZygpCiBpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50UmFyZURhdGEo
KQogICAgIDogbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nKGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJl
c2l6aW5nKCkpCiAgICAgLCBtX3NoYWRvd1Jvb3QoMCkKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVE
KQorICAgICwgbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKDApCisjZW5kaWYKICAg
ICAsIG1fc3R5bGVBZmZlY3RlZEJ5RW1wdHkoZmFsc2UpCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQogICAgICwgbV9jb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KGZhbHNlKQpAQCAtODIsNSAr
OTYsMjkgQEAgaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZXNldENvbXB1dGVkU3R5bGUo
KQogICAgIG1fY29tcHV0ZWRTdHlsZS5jbGVhcigpOwogfQogCisjaWYgRU5BQkxFKFNUWUxFX1ND
T1BFRCkKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0YTo6cmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCgpCit7CisgICAgKyttX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47Cit9
CisKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0YTo6dW5yZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCkKK3sKKyAgICBBU1NFUlQobV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
ID4gMCk7CisgICAgaWYgKG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiA+IDApCisg
ICAgICAgIC0tbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxpbmUg
Ym9vbCBFbGVtZW50UmFyZURhdGE6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxp
bmUgc3RkOjpzaXplX3QgRWxlbWVudFJhcmVEYXRhOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuOworfQorI2VuZGlmCisKIH0KICNlbmRpZiAvLyBFbGVtZW50UmFyZURhdGFfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKaW5kZXggOWVmZTgwYWEwMTU2YmUx
NDRiNzk0NDc1M2I0MzY2Yzk0MjJkMmJlOC4uY2MxZmEyMzAwZDA4OWI4ODI1MWI5YTRiNmM4YTdi
ZjljMjExMjk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCkBA
IC0zOCwxMiArMzgsMTcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGlubGluZSBIVE1M
U3R5bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpCiAgICAgOiBIVE1M
RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIFN0eWxlRWxlbWVudChkb2N1bWVudCwg
Y3JlYXRlZEJ5UGFyc2VyKQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgLCBtX2lzUmVn
aXN0ZXJlZFdpdGhTY29waW5nTm9kZShmYWxzZSkKKyNlbmRpZgogewogICAgIEFTU0VSVChoYXNU
YWdOYW1lKHN0eWxlVGFnKSk7CiB9CiAKIEhUTUxTdHlsZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVt
ZW50KCkKIHsKKyAgICAvLyBEdXJpbmcgdGVhci1kb3duLCB3aWxsUmVtb3ZlIGlzbid0IGNhbGxl
ZCwgc28gbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgbWF5IHN0aWxsIGJlIHNldCBoZXJl
LgorICAgIC8vIFRoZXJlZm9yZSB3ZSBjYW4ndCBBU1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNj
b3BpbmdOb2RlKS4KICAgICBTdHlsZUVsZW1lbnQ6OmNsZWFyRG9jdW1lbnREYXRhKGRvY3VtZW50
KCksIHRoaXMpOwogfQogCkBAIC01Niw2ICs2MSwxNSBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKICAgICBpZiAoYXR0ci0+
bmFtZSgpID09IHRpdGxlQXR0ciAmJiBtX3NoZWV0KQogICAgICAgICBtX3NoZWV0LT5zZXRUaXRs
ZShhdHRyLT52YWx1ZSgpKTsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBzY29wZWRBdHRyKSB7CisgICAgICAgIGlmICghYXR0ci0+aXNOdWxs
KCkgJiYgIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlICYmIGluRG9jdW1lbnQoKSkKKyAg
ICAgICAgICAgIHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAgICAgIGVsc2UgaWYgKGF0
dHItPmlzTnVsbCgpICYmIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKQorICAgICAgICAg
ICAgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworCisgICAgfQorI2VuZGlmCiAgICAgZWxz
ZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CkBA
IC02NiwxOCArODAsODIgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKQogICAgIEhUTUxFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKIH0KIAor
I2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCit2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnJlZ2lzdGVy
V2l0aFNjb3BpbmdOb2RlKCkKK3sKKyAgICAvLyBOb3RlOiBXZSBjYW5ub3QgcmVseSBvbiB0aGUg
J3Njb3BlZCcgZWxlbWVudCBhbHJlYWR5IGJlaW5nIHByZXNlbnQgd2hlbiB0aGlzIG1ldGhvZCBp
cyBpbnZva2VkLgorICAgIC8vIFRoZXJlZm9yZSB3ZSBjYW5ub3QgcmVseSBvbiBzY29wZWQoKSEK
KyAgICBBU1NFUlQoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsKKyAgICBBU1NFUlQo
aW5Eb2N1bWVudCgpKTsKKyAgICBpZiAoIW1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKSB7
CisgICAgICAgIEVsZW1lbnQqIHNjb3BlID0gcGFyZW50RWxlbWVudCgpOworICAgICAgICBpZiAo
IXNjb3BlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNjb3BlLT5yZWdpc3RlclNj
b3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgICAgIHNjb3BlLT5zZXROZWVkc1N0eWxlUmVjYWxj
KCk7CisgICAgICAgIGlmIChpbkRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnBhcnNpbmcoKSAm
JiBkb2N1bWVudCgpLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+c3R5bGVT
ZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CisKKyAgICAgICAgbV9pc1JlZ2lzdGVy
ZWRXaXRoU2NvcGluZ05vZGUgPSB0cnVlOworICAgIH0KK30KKwordm9pZCBIVE1MU3R5bGVFbGVt
ZW50Ojp1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCkKK3sKKyAgICAvLyBOb3RlOiBXZSBjYW5u
b3QgcmVseSBvbiB0aGUgJ3Njb3BlZCcgZWxlbWVudCBzdGlsbCBiZWluZyBwcmVzZW50IHdoZW4g
dGhpcyBtZXRob2QgaXMgaW52b2tlZC4KKyAgICAvLyBUaGVyZWZvcmUgd2UgY2Fubm90IHJlbHkg
b24gc2NvcGVkKCkhCisgICAgQVNTRVJUKG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKTsK
KyAgICBpZiAobV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpIHsKKyAgICAgICAgRWxlbWVu
dCogc2NvcGUgPSBwYXJlbnRFbGVtZW50KCk7CisgICAgICAgIEFTU0VSVChzY29wZSk7CisgICAg
ICAgIGlmIChzY29wZSkgeworICAgICAgICAgICAgQVNTRVJUKHNjb3BlLT5oYXNTY29wZWRIVE1M
U3R5bGVDaGlsZCgpKTsKKyAgICAgICAgICAgIHNjb3BlLT51bnJlZ2lzdGVyU2NvcGVkSFRNTFN0
eWxlQ2hpbGQoKTsKKyAgICAgICAgICAgIHNjb3BlLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGluRG9jdW1lbnQoKSAmJiAhZG9jdW1lbnQoKS0+cGFyc2lu
ZygpICYmIGRvY3VtZW50KCktPnJlbmRlcmVyKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5z
dHlsZVNlbGVjdG9yQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKKworICAgICAgICBtX2lzUmVn
aXN0ZXJlZFdpdGhTY29waW5nTm9kZSA9IGZhbHNlOworICAgIH0KK30KKyNlbmRpZgorCiB2b2lk
IEhUTUxTdHlsZUVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKIHsKICAgICBIVE1MRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICBTdHlsZUVsZW1lbnQ6Omluc2VydGVk
SW50b0RvY3VtZW50KGRvY3VtZW50KCksIHRoaXMpOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQp
CisgICAgaWYgKHNjb3BlZCgpICYmICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkKKyAg
ICAgICAgcmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKyNlbmRpZgogfQogCiB2b2lkIEhUTUxT
dHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQogeworI2lmIEVOQUJMRShTVFlMRV9T
Q09QRUQpCisgICAgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisjZW5k
aWYKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIFN0eWxlRWxl
bWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudChkb2N1bWVudCgpLCB0aGlzKTsKIH0KIAorCisjaWYg
RU5BQkxFKFNUWUxFX1NDT1BFRCkKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6d2lsbFJlbW92ZSgp
Cit7CisgICAgLy8gSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIDxzdHlsZSBzY29wZWQ+
IGlzIG9ubHkgcmVnaXN0ZXJlZCBpZiB0aGUgbm9kZSBpcyBpbiB0aGUgZG9jdW1lbnQuCisgICAg
Ly8gVGhhdCBpcywgYmVjYXVzZSB3aWxsUmVtb3ZlKCkgaXMgYWxzbyBjYWxsZWQgaWYgYW4gYW5j
ZXN0b3IgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkb2N1bWVudC4KKyAgICAvLyBOb3csIGlmIHdlIHdh
bnQgdG8gcmVnaXN0ZXIgPHN0eWxlIHNjb3BlZD4gZXZlbiBpZiBpdCdzIG5vdCBpbkRvY3VtZW50
LAorICAgIC8vIHdlJ2QgbmVlZCB0byBmaW5kIGEgd2F5IHRvIGRpc2Nlcm4gd2hldGhlciB0aGF0
IGlzIHRoZSBjYXNlLCBvciB3aGV0aGVyIDxzdHlsZSBzY29wZWQ+IGl0c2VsZiBpcyBhYm91dCB0
byBiZSByZW1vdmVkLgorICAgIEFTU0VSVCghc2NvcGVkKCkgfHwgIWluRG9jdW1lbnQoKSB8fCBt
X2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisgICAgaWYgKG1faXNSZWdpc3RlcmVkV2l0
aFNjb3BpbmdOb2RlKQorICAgICAgICB1bnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAg
SFRNTEVsZW1lbnQ6OndpbGxSZW1vdmUoKTsKK30KKyNlbmRpZgorCiB2b2lkIEhUTUxTdHlsZUVs
ZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3Jl
Q2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKIHsKICAgICBT
dHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U3R5bGVFbGVtZW50LmgKaW5kZXggNmJhYWVlM2I3OTg4MGY3ZmNiNDNiOGVmZjliMjExYjEzNjI2
YzI3Mi4uZDU2ZDQ2ZDZkNjM2MmIwYzQyNzQxMDU3NmMxZmI4NzMyNWUwMmNlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmgKQEAgLTU1LDYgKzU1LDkgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAg
dmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIHJl
bW92ZWRGcm9tRG9jdW1lbnQoKTsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIHZpcnR1
YWwgdm9pZCB3aWxsUmVtb3ZlKCk7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9
IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAg
ICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwpAQCAtNjcsNiArNzAsMTEg
QEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYSgpIGNv
bnN0OwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKCkgY29uc3Q7CisKKyAg
ICB2b2lkIHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyV2l0
aFNjb3BpbmdOb2RlKCk7CisKKyAgICBib29sIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2Rl
OwogfTsKIAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IGFlOTcyNDNkMDJmN2NjZGQ2YzEwOTdmY2JmODI2ZGE1ZDZkM2Q1ODUuLjNiOTMxOTVjMDY5
ZThiMTIwYmUxNWYxMjZlODJjZjQ1Yjg1ZTM3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTE1Miw2ICsxNTIsMTcgQEAgU3RyaW5nIEludGVybmFsczo6ZWxlbWVudFJl
bmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAg
cmV0dXJuIHJlcHJlc2VudGF0aW9uOwogfQogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK3N0
ZDo6c2l6ZV90IEludGVybmFsczo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjb25z
dCBFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAo
ZWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oKTsKKworICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgIHJldHVybiAw
OworfQorI2VuZGlmCisKIE5vZGUqIEludGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdChFbGVtZW50
KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWhvc3QpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGE2OGZlOTQyMzI2OTcwNmYwMDEwM2FmMjAwOTc4NTVm
NjQ0OTUyMWQuLmNjYTEzNzU5ODdjNzViMWFmYmYzYzYxMTBkYzA0YjUyMWEwNjBhNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNTIsNiArNTIsMTAgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBpc1ByZWxvYWRlZChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdXJsKTsKIAorI2lm
IEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgc3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihjb25zdCBFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworI2Vu
ZGlmCisKICAgICBOb2RlKiBlbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBOb2RlKiBzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9u
Q29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDg4OWNkYTI4OTkw
ODhhMDVlYjEzMzg0NTNjMjZkM2NhMWM0MmE4NDAuLjI5Y2U4NzlhNzY0ZjE2ZTI3NjUyMTZmNTFj
ZTAzYzkyZWUwOTVkNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMw
LDYgKzMwLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBET01TdHJpbmcgZWxlbWVudFJl
bmRlclRyZWVBc1RleHQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
ICAgICAgICAgYm9vbGVhbiBpc1ByZWxvYWRlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9N
U3RyaW5nIHVybCk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICYmIEVOQUJM
RV9TVFlMRV9TQ09QRUQKKyAgICAgICAgdW5zaWduZWQgbG9uZyBudW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisj
ZW5kaWYKKwogICAgICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBFbGVtZW50
IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRWxlbWVudCBpbmNsdWRlckZv
cihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRl
ZgppbmRleCBiNDZmMTU5YmE4ZGFjNGM2OWZlYjA2MWIyMzg5NjgxODdjZmY2YzgwLi43MDI4NDVm
ZWNlMjg4YTRkODVjYWE2YjM2OGJmYzI2NDhkZGNhY2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
CkBAIC0xNjQsNiArMTY0LDcgQEAgRVhQT1JUUwogICAgICAgICA/anNTdHJpbmdTbG93Q2FzZUBX
ZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BBQVY/JEhhc2hNYXBAUEFW
U3RyaW5nSW1wbEBXVEZAQFY/JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAVVN0cmluZ0hhc2hA
MkBVPyRIYXNoVHJhaXRzQFBBVlN0cmluZ0ltcGxAV1RGQEBAMkBVPyRIYXNoVHJhaXRzQFY/JFdl
YWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAQDJAQFdURkBAUEFWU3RyaW5nSW1wbEA2QEBaCiAgICAg
ICAgID9sYXN0Q2hhbmdlV2FzVXNlckVkaXRASFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnRAV2Vi
Q29yZUBAUUJFX05YWgogICAgICAgICA/bWFya2Vyc0ZvckBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXJAV2ViQ29yZUBAUUFFP0FWPyRWZWN0b3JAUEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29yZUBAJDBB
QEBXVEZAQFBBVk5vZGVAMkBWTWFya2VyVHlwZXNARG9jdW1lbnRNYXJrZXJAMkBAWgorICAgICAg
ICA7ID9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29yZUBAUUJF
SVhaCiAgICAgICAgID9wYWdlQERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAg
ICAgICA/cGFpbnRDb250cm9sVGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgogICAgICAg
ICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZTU3ZGNkYjg2ZjZkYTk4MGQ1MGM0
ZTFiMGQ2Yzg2NTlhNDQyYzUzYy4uNjVjMGYyMWQwMTllZDcxZjYxOTZkYTNlYWY0ZTZkZTBmZGY0
ZTE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTU3LDYgKzE1Nyw3
IEBAIEVYUE9SVFMKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1Zh
bHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBW
PyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQ
QVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NA
QEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgogICAgICAgICA/bGFzdENoYW5nZVdh
c1VzZXJFZGl0QEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50QFdlYkNvcmVAQFFCRV9OWFoKICAg
ICAgICAgP21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250cm9sbGVyQFdlYkNvcmVAQFFBRT9B
Vj8kVmVjdG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVAQCQwQUBAV1RGQEBQQVZOb2RlQDJA
Vk1hcmtlclR5cGVzQERvY3VtZW50TWFya2VyQDJAQFoKKyAgICAgICAgOyA/bnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbkBFbGVtZW50QFdlYkNvcmVAQFFCRUlYWgogICAgICAgICA/cGFn
ZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3BhaW50Q29udHJv
bFRpbnRzQEZyYW1lVmlld0BXZWJDb3JlQEBBQUVYWFoKICAgICAgICAgP3JhbmdlRnJvbUxvY2F0
aW9uQW5kTGVuZ3RoQFRleHRJdGVyYXRvckBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFu
Z2VAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEhIX05AWgpkaWZmIC0tZ2l0IGEvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKaW5kZXggNDBjYjc4YmI1M2ZlNDQ5NjIwNmJhMGYzYTE0OTk5OGI1ZjlkZDc3OC4uMWZkMzEw
MTQ3MTc3MGVjNTQ4NmI1MDQwYTM5NDhmZmI0NDc5MzcyNyAxMDA2NDQKLS0tIGEvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmls
dGVyCkBAIC03NCw2ICs3NCw3IEBAIF9aTks3V2ViQ29yZTI2SFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQyMWxhc3RDaGFuZ2VXYXNVc2VyRWRpdEV2OwogX1pOSzdXZWJDb3JlNUZyYW1lOHNldHRp
bmdzRXY7CiBfWk5LN1dlYkNvcmU2SlNOb2RlMjFwdXNoRXZlbnRIYW5kbGVyU2NvcGVFUE4zSlND
OUV4ZWNTdGF0ZUVQTlMxXzE0U2NvcGVDaGFpbk5vZGVFOwogX1pOSzdXZWJDb3JlN0VsZW1lbnQx
MHNoYWRvd1Jvb3RFdjsKK19aTks3V2ViQ29yZTdFbGVtZW50MzFudW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuRXY7CiBfWk5LN1dlYkNvcmU4RG9jdW1lbnQ0cGFnZUV2OwogX1pOSzdXZWJD
b3JlOERvY3VtZW50OHNldHRpbmdzRXY7CiBfWk5LN1dlYkNvcmU4RG9jdW1lbnQ0dmlld0V2Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDM1ZjJhZWI4OWQ2OTJlMDBmMTFiMTdmZTU5NWRiYjFhMzYwYmJkYWMuLjkzOWJhNjJj
ZTE4YTFiMzRmMzU1MGNlZDM2MzI3ZGQ0NjRiMThmOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMS0xMS0xNiAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4K
KworICAgICAgICA8c3R5bGUgc2NvcGVkPjogSW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHls
ZSBzY29wZWQ+IHdpdGggdGhlIHNjb3BpbmcgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3OTAKKworICAgICAgICBUZXN0cyB0aGF0IHJl
Z2lzdHJhdGlvbiBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIGl0cyBwYXJlbnQgaXMgcGVyZm9ybWVk
IGNvcnJlY3RseQorICAgICAgICBpbiB2YXJpb3VzIGNpcmN1bXN0YW5jZXMuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1z
Y29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMTQgIFJv
bGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgPHN0
eWxlIHNjb3BlZD46IEFkZCAnc2NvcGVkJyBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBiZTEwZDhhNmRkYTQ5NDhiZDVhODU0MDc0MTk0MTA2OTE3ZWE5ZTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJp
bmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTkgQEAKK1Rlc3QgW3VuXXJlZ2lzdGVyaW5nIGEg
PHN0eWxlIHNjb3BlZD4gZWxlbWVudCBmcm9tIGl0cyBwYXJlbnQKKworLS0tIEluaXRpYWwgLS0t
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkg
aXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSBpcyAwCistLS0gQXR0YWNoaW5nIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQQVNTIGludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIFVuc2V0dGlu
ZyBAc2NvcGVkIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIFJlLXNldHRpbmcgQHNjb3BlZCAtLS0KK1BB
U1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAx
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikg
aXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcvcmVtb3Zpbmcgc2NvcGUgZWxlbWVudHMgZnJvbSBkb2N1
bWVudCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTMpIGlzIDEKKy0tLSBNdWx0aXBsZSBzY29wZWQgc3R5bGUgZWxlbWVudHMg
d2l0aGluIHNpbmdsZSBzY29wZSAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAzCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBSZW1vdmluZyBzY29waW5n
IGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBJbnNlcnRpbmcgc2Nv
cGUgd2l0aGluIG90aGVyIHNjb3BlIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIENsb25pbmcgPHN0eWxl
IHNjb3BlZD4gYW5kIHBhcmVudHMgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMgorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCitQQVNTIGludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkgaXMgMAorUEFTUyBp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxs
b3cpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
Y2xvbmVzY29wZTJkZWVwKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hhbGxvdykgaXMgMAorLS0tIGluc2VydGluZyBjbG9u
ZXMgaW50byBzaW5nbGUgcGFyZW50IC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgNAorUEFTUyBpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIGlzIDIKK1BBU1Mg
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFs
bG93KSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KGNsb25lc2NvcGUyZGVlcCkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIGlzIDAKKy0tLSBVbnNldHRpbmcgQHNj
b3BlZCBpbiBuZXN0ZWQgc2NvcGUgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyA0CistLS0gRE9ORSAtLS0KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9yZWdpc3RlcmluZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRiYzZjMmM4OTI0YzA5ZWU4ZGEzNDE5NDY4YzVhYWMyZTJjZDZiZDcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bApAQCAtMCwwICsxLDE0NCBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5UZXN0IFt1bl1yZWdpc3RlcmluZyBhICZsdDtzdHls
ZSBzY29wZWQmZ3Q7IGVsZW1lbnQgZnJvbSBpdHMgcGFyZW50PC9wPgorICAgIDxkaXYgaWQ9InNj
b3BlMSI+CisgICAgICAgIDxzdHlsZSBpZD0iZ2xvYmFsMSI+PC9zdHlsZT4KKyAgICAgICAgPHN0
eWxlIHNjb3BlZD0nc2NvcGVkMScgaWQ9InNjb3BlZDEiPjwvc3R5bGU+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0ic2NvcGUyIj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzIHx8
ICF3aW5kb3cuaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pCisgICAg
ICAgICAgICBkZWJ1Zygid2luZG93cy5pbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbiBub3QgZm91bmQhIik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIHNj
b3BlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZTEnKTsKKyAgICAgICAgICAgIHZh
ciBzY29wZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcGUyJyk7CisgICAgICAgICAg
ICB2YXIgc2NvcGUzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKKyAgICAgICAg
ICAgIHZhciBnbG9iYWwxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsb2JhbDEnKTsKKyAg
ICAgICAgICAgIHZhciBzY29wZWQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlZDEn
KTsKKworICAgICAgICAgICAgdmFyIGdsb2JhbDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdz
dHlsZScpOworICAgICAgICAgICAgdmFyIHNjb3BlZDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzdHlsZScpOworICAgICAgICAgICAgc2NvcGVkMi5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICdz
Y29wZWQnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc3R5bGUnKTsKKyAgICAgICAgICAgIHNjb3BlZDMuc2NvcGVkID0gdHJ1ZTsKKworICAgICAg
ICAgICAgLyogTk9URTogPHN0eWxlIHNjb3BlZD4gb3V0c2lkZSB0aGUgZG9jdW1lbnQgaXMgTk9U
IHJlZ2lzdGVyZWQhICovCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluaXRpYWwgLS0tIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAi
KTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRy
ZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBBdHRhY2hpbmcgLS0tIik7CisgICAgICAg
ICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBw
ZW5kQ2hpbGQoZ2xvYmFsMik7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoc2NvcGVk
Myk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIp
IiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBvdXQgb2Yg
dHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFVuc2V0dGluZyBAc2NvcGVkIC0tLSIp
OworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3Bl
ZDIuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAgICBzY29wZWQzLnJlbW92ZUF0dHJpYnV0ZSgn
c2NvcGVkJyk7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTIpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBv
dXQgb2YgdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIFJlLXNldHRpbmcgQHNjb3Bl
ZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
IHNjb3BlZDIuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVkJyk7CisgICAgICAgICAgICBz
Y29wZWQzLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJycpOworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIp
OyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVi
dWcoIi0tLSBJbnNlcnRpbmcvcmVtb3Zpbmcgc2NvcGUgZWxlbWVudHMgZnJvbSBkb2N1bWVudCAt
LS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHNjb3BlMywgc2Nv
cGUyKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NvcGUyKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMCIp
OyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMSIpOyAvKiBpbiB0cmVlICov
CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gTXVsdGlwbGUgc2NvcGVkIHN0eWxlIGVsZW1lbnRz
IHdpdGhpbiBzaW5nbGUgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZTIucmVtb3ZlQ2hp
bGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIucmVtb3ZlQ2hpbGQoZ2xvYmFsMik7Cisg
ICAgICAgICAgICBzY29wZTMucmVtb3ZlQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzY29w
ZTEuYXBwZW5kQ2hpbGQoc2NvcGVkMyk7CisgICAgICAgICAgICBzY29wZTEuYXBwZW5kQ2hpbGQo
c2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTEuYXBwZW5kQ2hpbGQoZ2xvYmFsMik7CisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUxKSIsICIzIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsg
Lyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogaW4gdHJlZSAqLwor
CisgICAgICAgICAgICBkZWJ1ZygiLS0tIFJlbW92aW5nIHNjb3BpbmcgZWxlbWVudCBmcm9tIGRv
Y3VtZW50IC0tLSIpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY29w
ZTEpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMikiLCAiMCIpOyAvKiBvdXQgb2YgdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAv
KiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gSW5zZXJ0aW5nIHNjb3BlIHdp
dGhpbiBvdGhlciBzY29wZSAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0
QmVmb3JlKHNjb3BlMiwgc2NvcGUzKTsKKyAgICAgICAgICAgIHNjb3BlMS5yZW1vdmVDaGlsZChz
Y29wZWQyKTsKKyAgICAgICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZWQyKTsKKyAgICAg
ICAgICAgIHNjb3BlMi5hcHBlbmRDaGlsZChzY29wZTEpOworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMiIp
OyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsg
LyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisKKyAg
ICAgICAgICAgIGRlYnVnKCItLS0gQ2xvbmluZyAmbHQ7c3R5bGUgc2NvcGVkJmd0OyBhbmQgcGFy
ZW50cyAtLS0iKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlMWRlZXAgPSBzY29wZTEuY2xv
bmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGUxc2hhbGxvdyA9IHNjb3Bl
MS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGUyZGVlcCA9IHNj
b3BlMi5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTJzaGFsbG93
ID0gc2NvcGUyLmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZWQx
ZGVlcCA9IHNjb3BlZDEuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2Nv
cGVkMXNoYWxsb3cgPSBzY29wZWQxLmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAgICB2YXIg
Y2xvbmVzY29wZWQyZGVlcCA9IHNjb3BlZDIuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAg
dmFyIGNsb25lc2NvcGVkMnNoYWxsb3cgPSBzY29wZWQyLmNsb25lTm9kZShmYWxzZSk7CisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUxKSIsICIyIik7IC8qIGluIHRyZWUsIGNoaWxkIG9mIHNjb3BlMiAqLworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8q
IGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIiwgIjAiKTsgLyogb3V0IG9mIHRy
ZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUg
Ki8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihjbG9uZXNjb3BlMmRlZXApIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKworICAg
ICAgICAgICAgZGVidWcoIi0tLSBpbnNlcnRpbmcgY2xvbmVzIGludG8gc2luZ2xlIHBhcmVudCAt
LS0iKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMWRlZXApOwor
ICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUxc2hhbGxvdyk7CisgICAg
ICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTJkZWVwKTsKKyAgICAgICAgICAg
IHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMnNoYWxsb3cpOworICAgICAgICAgICAgc2Nv
cGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGVkMWRlZXApOworICAgICAgICAgICAgc2NvcGUzLmFw
cGVuZENoaWxkKGNsb25lc2NvcGVkMXNoYWxsb3cpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVu
ZENoaWxkKGNsb25lc2NvcGVkMmRlZXApOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxk
KGNsb25lc2NvcGVkMnNoYWxsb3cpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMiIpOyAvKiBpbiB0cmVl
LCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAq
LworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMykiLCAiNCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29w
ZTFkZWVwKSIsICIyIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMXNoYWxsb3cp
IiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkiLCAiMSIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSIsICIwIik7IC8qIGluIHRy
ZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRpbmcgQHNjb3BlZCBpbiBuZXN0
ZWQgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IGZhbHNlOworICAg
ICAgICAgICAgc2NvcGVkMi5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAg
c2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkiLCAiMSIpOyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIp
IiwgIjAiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiNCIpOyAvKiBpbiB0cmVl
ICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gRE9ORSAtLS0iKTsKKyAgICAgICAgfQorICAg
ICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5k
ZXggMjQ1MmMyNDg5MWFlNWExMTM2OGFmMTYwMjIwOWJmYWVhYTIzY2ZhNi4uOTJkZmE4Nzg3MjUx
NDA2YTc4YTgxY2M4YjczMjBiZDVkOWNmMzQzMSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBi
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTE2ICBSb2xhbmQgU3RlaW5lciAg
PHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBJ
bXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0aGUgc2NvcGluZyBl
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
Nzc5MAorCisgICAgICAgIHdpbmRvd3MuaW50ZXJuYWxzIHVwZGF0ZXMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3lt
Ym9scy5maWx0ZXI6CisKIDIwMTEtMTItMDUgIEFsZXhhbmRlciBGw6Zyw7h5ICA8YWxleGFuZGVy
LmZhZXJveUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBBZGQgU291cmNlL3F0d2Via2l0dmVy
c2lvbi5oIHRvIC5naXRpZ25vcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123702</attachid>
            <date>2012-01-23 23:26:42 -0800</date>
            <delta_ts>2012-01-24 00:40:48 -0800</delta_ts>
            <desc>patch, updated</desc>
            <filename>bug-67790-20120124162640.patch</filename>
            <type>text/plain</type>
            <size>33140</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IzMzg1N2MyZjI1NGEy
NDBhZWNhYmI5NTZmMDFjNTUzNDMzMWIxNy4uMWQwYzY5MzA0MTVjZTk5Y2FkOGE4ZjdjYjdhOTY4
OGJiNGFjMDlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTAxLTIzICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhl
cnNvbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBjbGlwIHByb3BlcnR5
IGluIENTU1N0eWxlQXBwbHlQcm9wZXJ0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NzZjYmVjMzBkYzlkM2Qw
MWQ1MGI5NzVhYWIyMjZhOWUyOTJkMTY0Li45NTJlYzY5NTA0MTU0ZDg4Yjg2YmU4YzY0MDRiMmE4
MzNhZGQ1NTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMTYgIFJvbGFu
ZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxl
IHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRo
ZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgQWRkIHN5bWJvbHMgZm9yIHdpbmRvd3MuaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAg
KiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTItMDEtMjMgIEplc3VzIFNhbmNoZXotUGFs
ZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF1bV0sy
XSBRUXVpY2tXZWJWaWV3IGlzIGluaXRpYWxpemluZyB0b3VjaCBtb2RlIHR3aWNlIHdoaWxlIGJl
aW5nIGNvbnN0cnVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDUzMDJjZWNiYzFlNWVhMzYy
YzMxZTA5MDdiMWNiMTFiYzQ3MmM5ODUuLmQ5NTY0ZDA5ZTAyYWIwNWNjOWYyN2RjZDIwNDc5MjU5
M2Y3ZDNiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMDY4LDMgKzIwNjgsNyBAQCBfX1pO
N1dlYkNvcmUyMFNjcm9sbGluZ0Nvb3JkaW5hdG9yMThoYW5kbGVHZXN0dXJlRXZlbnRFUktOU18y
MFBsYXRmb3JtR2VzdHVyZUV2ZQogI2VuZGlmCiAKICNlbmRpZgorCisjaWYgRU5BQkxFKFNUWUxF
X1NDT1BFRCkKK19fWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbkV2CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNo
ZWV0TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmgKaW5kZXggM2Y4
MTE2M2U2MTRlMzEyOGE5YzY2YjQxNTgxZTg2ZDVmZWU4MjFkMi4uYWJkNDE0NDFlZjU2MDYyZTA2
ZWUzNzU5OTA3Yzc3YTExZDBjMzU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlU2hlZXRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmgK
QEAgLTQzLDYgKzQzLDE1IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0
OwogICAgIFN0eWxlU2hlZXQqIGl0ZW0odW5zaWduZWQgaW5kZXgpOworICAgIAorICAgIFN0eWxl
U2hlZXRWZWN0b3I6OmNvbnN0X2l0ZXJhdG9yIGJlZ2luKCkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX3NoZWV0cy5iZWdpbigpOworICAgIH0KKyAgICBTdHlsZVNoZWV0VmVjdG9yOjpj
b25zdF9pdGVyYXRvciBlbmQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc2hlZXRz
LmVuZCgpOworICAgIH0KIAogICAgIEhUTUxTdHlsZUVsZW1lbnQqIGdldE5hbWVkSXRlbShjb25z
dCBTdHJpbmcmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDM3ZmI3YTA1NDdl
MzFmOTE5MTZkYjg1NmYzMTQyZDQ1MzljODcwOTEuLjYxOGIwZWZiMzFlNjRlYWZiZjliYWJhMGU4
ODY3MTNmOTVmMjhjMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3NTYsNiArMTc1Niwz
MCBAQCB1bnNpZ25lZCBFbGVtZW50OjpjaGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0CiAgICAgcmV0
dXJuIGNvdW50OwogfQogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK2Jvb2wgRWxlbWVudDo6
aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0
YSgpICYmIHJhcmVEYXRhKCktPmhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3N0ZDo6
c2l6ZV90IEVsZW1lbnQ6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oKSBjb25zdAor
eworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gcmFyZURhdGEoKS0+bnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbigpIDogMDsKK30KKwordm9pZCBFbGVtZW50OjpyZWdpc3RlclNjb3Bl
ZEhUTUxTdHlsZUNoaWxkKCkKK3sKKyAgICBlbnN1cmVSYXJlRGF0YSgpLT5yZWdpc3RlclNjb3Bl
ZEhUTUxTdHlsZUNoaWxkKCk7Cit9CisKK3ZvaWQgRWxlbWVudDo6dW5yZWdpc3RlclNjb3BlZEhU
TUxTdHlsZUNoaWxkKCkKK3sKKyAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgaWYgKGhh
c1JhcmVEYXRhKCkpCisgICAgICAgIHJhcmVEYXRhKCktPnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCgpOworfQorI2VuZGlmCisKIGJvb2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVj
dG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlm
IChzZWxlY3Rvci5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDBiZTg1ZDAzNDFh
MTZhZGVjNjY5N2Y1MDhjZWY5N2M2NWE0NDljZmIuLmYzMjFiYjFjODA1Y2MwNmQ0NDNjNzc1OTA5
NDgyMzQzYTc0YTU3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzAyLDYgKzMwMiwxMyBAQCBw
dWJsaWM6CiAgICAgRWxlbWVudCogbmV4dEVsZW1lbnRTaWJsaW5nKCkgY29uc3Q7CiAgICAgdW5z
aWduZWQgY2hpbGRFbGVtZW50Q291bnQoKSBjb25zdDsKIAorI2lmIEVOQUJMRShTVFlMRV9TQ09Q
RUQpCisgICAgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgdm9pZCB1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICBib29sIGhhc1Njb3BlZEhUTUxT
dHlsZUNoaWxkKCkgY29uc3Q7CisgICAgc3RkOjpzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbigpIGNvbnN0OworI2VuZGlmCisKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxl
Y3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgRE9N
VG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApp
bmRleCA0MDM2YTMxMzY5YzNmNmU3YjQ3M2NlZjdjOWNhZjgyMjllYjk2OGUwLi41YjY4OWU4ODY0
NTIzNWE2NGFmNzllOWQxMGEyNzNmMzBlOWFkN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCkBAIC00MCw2ICs0MCwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0Q29t
cHV0ZWRTdHlsZSgpOwogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICB2b2lkIHJlZ2lz
dGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1M
U3R5bGVDaGlsZCgpOworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsK
KyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCkgY29uc3Q7
CisjZW5kaWYKKwogICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6bmVlZHNGb2N1c0FwcGVhcmFuY2VV
cGRhdGVTb29uQWZ0ZXJBdHRhY2g7CiAgICAgdXNpbmcgTm9kZVJhcmVEYXRhOjpzZXROZWVkc0Zv
Y3VzQXBwZWFyYW5jZVVwZGF0ZVNvb25BZnRlckF0dGFjaDsKIApAQCAtNjgsNiArNzUsMTAgQEAg
cHVibGljOgogICAgIFNoYWRvd1Jvb3QqIG1fc2hhZG93Um9vdDsKICAgICBBdG9taWNTdHJpbmcg
bV9zaGFkb3dQc2V1ZG9JZDsKIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgc3RkOjpz
aXplX3QgbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworI2VuZGlmCisKICAgICBP
d25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOwogICAgIE93
blB0cjxDbGFzc0xpc3Q+IG1fY2xhc3NMaXN0OwogCkBAIC04Niw2ICs5Nyw5IEBAIGlubGluZSBJ
bnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkKIGlubGluZSBFbGVtZW50UmFy
ZURhdGE6OkVsZW1lbnRSYXJlRGF0YSgpCiAgICAgOiBtX21pbmltdW1TaXplRm9yUmVzaXppbmco
ZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKSkKICAgICAsIG1fc2hhZG93Um9vdCgwKQor
I2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgLCBtX251bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oMCkKKyNlbmRpZgogICAgICwgbV9zdHlsZUFmZmVjdGVkQnlFbXB0eShmYWxzZSkK
ICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgLCBtX2NvbnRhaW5zRnVsbFNjcmVlbkVs
ZW1lbnQoZmFsc2UpCkBAIC0xMDMsNSArMTE3LDI5IEBAIGlubGluZSB2b2lkIEVsZW1lbnRSYXJl
RGF0YTo6cmVzZXRDb21wdXRlZFN0eWxlKCkKICAgICBtX2NvbXB1dGVkU3R5bGUuY2xlYXIoKTsK
IH0KIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCitpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURh
dGE6OnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKQoreworICAgICsrbV9udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxpbmUgdm9pZCBFbGVtZW50UmFyZURhdGE6
OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpCit7CisgICAgQVNTRVJUKG1fbnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiA+IDApOworICAgIGlmIChtX251bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4gPiAwKQorICAgICAgICAtLW1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbjsKK30KKworaW5saW5lIGJvb2wgRWxlbWVudFJhcmVEYXRhOjpoYXNTY29wZWRI
VE1MU3R5bGVDaGlsZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbjsKK30KKworaW5saW5lIHN0ZDo6c2l6ZV90IEVsZW1lbnRSYXJlRGF0YTo6
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbjsKK30KKyNlbmRpZgorCiB9CiAjZW5kaWYg
Ly8gRWxlbWVudFJhcmVEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFN0eWxlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQu
Y3BwCmluZGV4IDllZmU4MGFhMDE1NmJlMTQ0Yjc5NDQ3NTNiNDM2NmM5NDIyZDJiZTguLmNjMWZh
MjMwMGQwODliODgyNTFiOWE0YjZjOGE3YmY5YzIxMTI5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU3R5bGVFbGVtZW50LmNwcApAQCAtMzgsMTIgKzM4LDE3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CiBpbmxpbmUgSFRNTFN0eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3Jl
YXRlZEJ5UGFyc2VyKQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAg
LCBTdHlsZUVsZW1lbnQoZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlcikKKyNpZiBFTkFCTEUoU1RZ
TEVfU0NPUEVEKQorICAgICwgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUoZmFsc2UpCisj
ZW5kaWYKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShzdHlsZVRhZykpOwogfQogCiBIVE1MU3R5
bGVFbGVtZW50Ojp+SFRNTFN0eWxlRWxlbWVudCgpCiB7CisgICAgLy8gRHVyaW5nIHRlYXItZG93
biwgd2lsbFJlbW92ZSBpc24ndCBjYWxsZWQsIHNvIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdO
b2RlIG1heSBzdGlsbCBiZSBzZXQgaGVyZS4KKyAgICAvLyBUaGVyZWZvcmUgd2UgY2FuJ3QgQVNT
RVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkuCiAgICAgU3R5bGVFbGVtZW50Ojpj
bGVhckRvY3VtZW50RGF0YShkb2N1bWVudCgpLCB0aGlzKTsKIH0KIApAQCAtNTYsNiArNjEsMTUg
QEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCiB7CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB0aXRsZUF0dHIgJiYgbV9zaGVldCkK
ICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUoYXR0ci0+dmFsdWUoKSk7CisjaWYgRU5BQkxFKFNU
WUxFX1NDT1BFRCkKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gc2NvcGVkQXR0cikgewor
ICAgICAgICBpZiAoIWF0dHItPmlzTnVsbCgpICYmICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5n
Tm9kZSAmJiBpbkRvY3VtZW50KCkpCisgICAgICAgICAgICByZWdpc3RlcldpdGhTY29waW5nTm9k
ZSgpOworICAgICAgICBlbHNlIGlmIChhdHRyLT5pc051bGwoKSAmJiBtX2lzUmVnaXN0ZXJlZFdp
dGhTY29waW5nTm9kZSkKKyAgICAgICAgICAgIHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsK
KworICAgIH0KKyNlbmRpZgogICAgIGVsc2UKICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKGF0dHIpOwogfQpAQCAtNjYsMTggKzgwLDgyIEBAIHZvaWQgSFRNTFN0eWxl
RWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCkKICAgICBIVE1MRWxlbWVudDo6ZmluaXNo
UGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQordm9pZCBI
VE1MU3R5bGVFbGVtZW50OjpyZWdpc3RlcldpdGhTY29waW5nTm9kZSgpCit7CisgICAgLy8gTm90
ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQgYWxyZWFkeSBiZWluZyBw
cmVzZW50IHdoZW4gdGhpcyBtZXRob2QgaXMgaW52b2tlZC4KKyAgICAvLyBUaGVyZWZvcmUgd2Ug
Y2Fubm90IHJlbHkgb24gc2NvcGVkKCkhCisgICAgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSk7CisgICAgQVNTRVJUKGluRG9jdW1lbnQoKSk7CisgICAgaWYgKCFtX2lzUmVn
aXN0ZXJlZFdpdGhTY29waW5nTm9kZSkgeworICAgICAgICBFbGVtZW50KiBzY29wZSA9IHBhcmVu
dEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFzY29wZSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBzY29wZS0+cmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgICAgICBz
Y29wZS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICBpZiAoaW5Eb2N1bWVudCgpICYm
ICFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYgZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICAg
ICAgICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUp
OworCisgICAgICAgIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlID0gdHJ1ZTsKKyAgICB9
Cit9CisKK3ZvaWQgSFRNTFN0eWxlRWxlbWVudDo6dW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgp
Cit7CisgICAgLy8gTm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQg
c3RpbGwgYmVpbmcgcHJlc2VudCB3aGVuIHRoaXMgbWV0aG9kIGlzIGludm9rZWQuCisgICAgLy8g
VGhlcmVmb3JlIHdlIGNhbm5vdCByZWx5IG9uIHNjb3BlZCgpIQorICAgIEFTU0VSVChtX2lzUmVn
aXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisgICAgaWYgKG1faXNSZWdpc3RlcmVkV2l0aFNjb3Bp
bmdOb2RlKSB7CisgICAgICAgIEVsZW1lbnQqIHNjb3BlID0gcGFyZW50RWxlbWVudCgpOworICAg
ICAgICBBU1NFUlQoc2NvcGUpOworICAgICAgICBpZiAoc2NvcGUpIHsKKyAgICAgICAgICAgIEFT
U0VSVChzY29wZS0+aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSk7CisgICAgICAgICAgICBzY29w
ZS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxkKCk7CisgICAgICAgICAgICBzY29wZS0+
c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICB9CisgICAgICAgIGlmIChpbkRvY3VtZW50
KCkgJiYgIWRvY3VtZW50KCktPnBhcnNpbmcoKSAmJiBkb2N1bWVudCgpLT5yZW5kZXJlcigpKQor
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNT
dHlsZSk7CisKKyAgICAgICAgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUgPSBmYWxzZTsK
KyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjppbnNlcnRlZEludG9E
b2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7CiAg
ICAgU3R5bGVFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudChkb2N1bWVudCgpLCB0aGlzKTsK
KyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIGlmIChzY29wZWQoKSAmJiAhbV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAgICAgIHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7
CisjZW5kaWYKIH0KIAogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50
KCkKIHsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIEFTU0VSVCghbV9pc1JlZ2lzdGVy
ZWRXaXRoU2NvcGluZ05vZGUpOworI2VuZGlmCiAgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKTsKICAgICBTdHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoZG9jdW1l
bnQoKSwgdGhpcyk7CiB9CiAKKworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCit2b2lkIEhUTUxT
dHlsZUVsZW1lbnQ6OndpbGxSZW1vdmUoKQoreworICAgIC8vIEluIHRoZSBjdXJyZW50IGltcGxl
bWVudGF0aW9uLCA8c3R5bGUgc2NvcGVkPiBpcyBvbmx5IHJlZ2lzdGVyZWQgaWYgdGhlIG5vZGUg
aXMgaW4gdGhlIGRvY3VtZW50LgorICAgIC8vIFRoYXQgaXMsIGJlY2F1c2Ugd2lsbFJlbW92ZSgp
IGlzIGFsc28gY2FsbGVkIGlmIGFuIGFuY2VzdG9yIGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1l
bnQuCisgICAgLy8gTm93LCBpZiB3ZSB3YW50IHRvIHJlZ2lzdGVyIDxzdHlsZSBzY29wZWQ+IGV2
ZW4gaWYgaXQncyBub3QgaW5Eb2N1bWVudCwKKyAgICAvLyB3ZSdkIG5lZWQgdG8gZmluZCBhIHdh
eSB0byBkaXNjZXJuIHdoZXRoZXIgdGhhdCBpcyB0aGUgY2FzZSwgb3Igd2hldGhlciA8c3R5bGUg
c2NvcGVkPiBpdHNlbGYgaXMgYWJvdXQgdG8gYmUgcmVtb3ZlZC4KKyAgICBBU1NFUlQoIXNjb3Bl
ZCgpIHx8ICFpbkRvY3VtZW50KCkgfHwgbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOwor
ICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkKKyAgICAgICAgdW5yZWdpc3Rl
cldpdGhTY29waW5nTm9kZSgpOworICAgIEhUTUxFbGVtZW50Ojp3aWxsUmVtb3ZlKCk7Cit9Cisj
ZW5kaWYKKwogdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFu
Z2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBj
aGlsZENvdW50RGVsdGEpCiB7CiAgICAgU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQodGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCmluZGV4IDZiYWFlZTNiNzk4
ODBmN2ZjYjQzYjhlZmY5YjIxMWIxMzYyNmMyNzIuLmQ1NmQ0NmQ2ZDYzNjJiMGM0Mjc0MTA1NzZj
MWZiODczMjVlMDJjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxl
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCkBA
IC01NSw2ICs1NSw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0
cmlidXRlKEF0dHJpYnV0ZSopOwogICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CisjaWYgRU5BQkxF
KFNUWUxFX1NDT1BFRCkKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlbW92ZSgpOworI2VuZGlmCiAg
ICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZh
bHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBj
aGlsZENvdW50RGVsdGEgPSAwKTsKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKTsKQEAgLTY3LDYgKzcwLDExIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgbWVkaWEoKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSgpIGNvbnN0OworCisgICAgdm9pZCByZWdpc3RlcldpdGhTY29waW5nTm9kZSgp
OworICAgIHZvaWQgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworCisgICAgYm9vbCBtX2lz
UmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZTsKIH07CiAKIH0gLy9uYW1lc3BhY2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA3ZTQ4MWNhNTdiMmIwNzZhOTA4MDFmZDBjNDli
OGIwYzRhY2M5ZDk1Li41YzdhODQ2NDBkMjdjNDU2OWY3YWU4YmRiMTA0ZjYxNjQ1MmZhNWY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xNjQsNiArMTY0LDE5IEBAIFN0
cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQqIGVsZW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiByZXByZXNlbnRhdGlvbjsKIH0KIAorc3Rk
OjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChl
bGVtZW50KQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgIHJldHVybiBlbGVtZW50
LT5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKCk7CisjZWxzZQorICAgICAgICByZXR1
cm4gMDsKKyNlbmRpZgorCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgcmV0dXJu
IDA7Cit9CisKIEludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSog
SW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogewogICAgIGlmICghaG9zdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5k
ZXggM2UyODFiZGUxMjk5OWVhMzk3OTI3NTBiNzczMjI0MTc0ODkzZGNmMi4uZmRhOTdlNDgyNzM1
NjM0OGNkYzZhMGY5MzYxNTY0MTAwOWE0NmNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCkBAIC01NSw2ICs1NSw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNQcmVsb2FkZWQoRG9j
dW1lbnQqLCBjb25zdCBTdHJpbmcmIHVybCk7CiAKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICB0eXBlZGVmIFNoYWRvd1Jvb3QgU2hh
ZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggODc0ODU3OTJkZDYyMzgwNzMzMTg0ZDFlNjQ0N2M3YTA5MTdl
MTI4YS4uODgwZWRlNjk0Yjc1ZTA1Y2M3YTg5NWI5YmZlNTRjZGU0NWJjMDhjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzAsNiArMzAsOCBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgRE9NU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KGluIEVsZW1lbnQg
ZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gaXNQcmVsb2Fk
ZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyB1cmwpOwogCisgICAgICAgIHVu
c2lnbmVkIGxvbmcgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihpbiBFbGVtZW50IGVs
ZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9X
X0RPTSkKICAgICAgICAgU2hhZG93Um9vdCBlbnN1cmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9z
dCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBTaGFkb3dSb290IHNoYWRvd1Jvb3Qo
aW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CkBAIC0zNyw3ICszOSw2IEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVu
dCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChp
biBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgotCiAgICAgICAg
IEVsZW1lbnQgaW5jbHVkZXJGb3IoaW4gTm9kZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAgICAgICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9NU3RyaW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1l
bnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmlu
ZGV4IDlkMmM3OGRmNWQxM2JlMjk0NzA0YmI1ZDM2OGFlNzlmYTZhMjdkNzIuLjk4M2M5MGRiOWNl
M2M1MWJmNjA2YThlMTIyZjFhMzg4M2Q1YTgyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAg
LTE2OCw2ICsxNjgsNyBAQCBFWFBPUlRTCiAgICAgICAgID9tYXJrZXJzRm9yQERvY3VtZW50TWFy
a2VyQ29udHJvbGxlckBXZWJDb3JlQEBRQUU/QVY/JFZlY3RvckBQQVZEb2N1bWVudE1hcmtlckBX
ZWJDb3JlQEAkMEFAQFdURkBAUEFWTm9kZUAyQFZNYXJrZXJUeXBlc0BEb2N1bWVudE1hcmtlckAy
QEBaCiAgICAgICAgID9vYnNlcnZlRnJhbWVARnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyQFdlYkNv
cmVAQElBRVhQQVZGcmFtZUAyQEBaCiAgICAgICAgID9vdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5n
dWFnZXNAV2ViQ29yZUBAWUFYQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBAWgor
ICAgICAgICA7ID9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29y
ZUBAUUJFSVhaCiAgICAgICAgID9wYWdlQERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBY
WgogICAgICAgICA/cGFpbnRDb250cm9sVGludHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgog
ICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVA
QFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhf
TkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggNTQzZTA3YWE4ODEzNmVj
NmZmN2NlZDkwY2JjZDE1ZmY1OWFhNWIyNS4uZDYwMTQzNmQ0MTk5Mzc1ZTljNjk3ODQ4NjYxOTY0
MDYwMTU3ZjJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUu
ZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTYyLDYg
KzE2Miw3IEBAIEVYUE9SVFMKICAgICAgICAgP21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyQFdlYkNvcmVAQFFBRT9BVj8kVmVjdG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVA
QCQwQUBAV1RGQEBQQVZOb2RlQDJAVk1hcmtlclR5cGVzQERvY3VtZW50TWFya2VyQDJAQFoKICAg
ICAgICAgP29ic2VydmVGcmFtZUBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJAV2ViQ29yZUBASUFF
WFBBVkZyYW1lQDJAQFoKICAgICAgICAgP292ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlc0BX
ZWJDb3JlQEBZQVhBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQEBaCisgICAgICAg
IDsgP251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBRQkVJ
WFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAg
ICAgID9wYWludENvbnRyb2xUaW50c0BGcmFtZVZpZXdAV2ViQ29yZUBAQUFFWFhaCiAgICAgICAg
ID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGFhMWZlOTU0MTk2MDAwYmZmNjUyNDA1ZGM5ODdlMDNj
MTA2MTM2ZjQuLmE0NzZlNDk3NjUyZWY4ODdmZWI2ZTc4Njk4N2VmNDFiYmYzYzdkY2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNzgsNiArNzgsNyBAQCBfWk5LN1dlYkNvcmUyNkhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50MjFsYXN0Q2hhbmdlV2FzVXNlckVkaXRFdjsKIF9aTks3V2Vi
Q29yZTVGcmFtZThzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFu
ZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRTsKIF9aTks3
V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290RXY7CitfWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkV2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHBh
Z2VFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVudDhzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlOERv
Y3VtZW50NHZpZXdFdjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYjEzYTIyMTdiZDRhODk2NDJkYmIwZTZkYTY3YTEwZTE0
YTAzZTJiLi43YjhkYmU3NmI4Y2QxMGJiMWM3NDM3OTI1NTUwMzhjNGQzMmVjZjJmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDggQEAKKzIwMTEtMTEtMTYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdp
c3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAg
ICAgVGVzdHMgdGhhdCByZWdpc3RyYXRpb24gb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCBpdHMgcGFy
ZW50IGlzIHBlcmZvcm1lZCBjb3JyZWN0bHkKKyAgICAgICAgaW4gdmFyaW91cyBjaXJjdW1zdGFu
Y2VzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWw6IEFkZGVkLgor
CisyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+OiBBZGQgJ3Njb3BlZCcgYXR0cmlidXRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzcxOAorCisgICAg
ICAgIFRlc3Qgc2V0dGluZy9yZXNldHRpbmcgb2YgdGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpbiB2
YXJpb3VzIGNpcmN1bXN0YW5jZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL2Jhc2lj
LWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKworMjAxMS0xMi0wNSAgUm9sYW5kIFN0ZWluZXIgIDxy
b2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8c3R5bGUgc2NvcGVkPjogQWRk
ICdzY29wZWQnIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njc3MTgKKworICAgICAgICBUZXN0IHNldHRpbmcvcmVzZXR0aW5nIG9mIHRo
ZSAnc2NvcGVkJyBhdHRyaWJ1dGUgaW4gdmFyaW91cyBjaXJjdW1zdGFuY2VzLgorICAgICAgICBE
aXNhYmxlIHRlc3QgZGlyZWN0b3J5LCBzaW5jZSBTVFlMRV9TQ09QRUQgaXMgbm90IGVuYWJsZWQg
YnkgZGVmYXVsdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9iYXNpYy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDEtMjMgIFRv
bSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgZGVjb2RlRXNjYXBlU2Vx
dWVuY2VzKCkgbm90IGNvcnJlY3QgZm9yIHNvbWUgZW5jb2RpbmdzIChHQkssIEJpZzUsIC4uLiku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lz
dGVyaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYmUxMGQ4YTZkZGE0OTQ4YmQ1YTg1NDA3
NDE5NDEwNjkxN2VhOWU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU5IEBACitU
ZXN0IFt1bl1yZWdpc3RlcmluZyBhIDxzdHlsZSBzY29wZWQ+IGVsZW1lbnQgZnJvbSBpdHMgcGFy
ZW50CisKKy0tLSBJbml0aWFsIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorLS0tIEF0dGFjaGluZyAtLS0KK1BB
U1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAx
CitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikg
aXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTMpIGlzIDAKKy0tLSBVbnNldHRpbmcgQHNjb3BlZCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAwCitQQVNTIGludGVybmFscy5u
dW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBSZS1z
ZXR0aW5nIEBzY29wZWQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNj
b3BlIGVsZW1lbnRzIGZyb20gZG9jdW1lbnQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAxCistLS0gTXVsdGlwbGUg
c2NvcGVkIHN0eWxlIGVsZW1lbnRzIHdpdGhpbiBzaW5nbGUgc2NvcGUgLS0tCitQQVNTIGludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMworUEFTUyBp
bnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BB
U1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAw
CistLS0gUmVtb3Zpbmcgc2NvcGluZyBlbGVtZW50IGZyb20gZG9jdW1lbnQgLS0tCitQQVNTIGlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMAorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBp
cyAwCistLS0gSW5zZXJ0aW5nIHNjb3BlIHdpdGhpbiBvdGhlciBzY29wZSAtLS0KK1BBU1MgaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAyCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlz
IDAKKy0tLSBDbG9uaW5nIDxzdHlsZSBzY29wZWQ+IGFuZCBwYXJlbnRzIC0tLQorUEFTUyBpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDIKK1BBU1Mg
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQ
QVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMg
MAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNj
b3BlMWRlZXApIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyZGVlcCkgaXMgMAorUEFTUyBpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIGlz
IDAKKy0tLSBpbnNlcnRpbmcgY2xvbmVzIGludG8gc2luZ2xlIHBhcmVudCAtLS0KK1BBU1MgaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAyCitQQVNT
IGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQor
UEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlz
IDQKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVz
Y29wZTFkZWVwKSBpcyAyCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdykgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMmRlZXApIGlzIDEKK1BBU1MgaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSBp
cyAwCistLS0gVW5zZXR0aW5nIEBzY29wZWQgaW4gbmVzdGVkIHNjb3BlIC0tLQorUEFTUyBpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEKK1BBU1Mg
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQ
QVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMg
NAorLS0tIERPTkUgLS0tCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVk
L3JlZ2lzdGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVn
aXN0ZXJpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYmM2YzJjODkyNGMwOWVlOGRhMzQxOTQ2OGM1YWFj
MmUyY2Q2YmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWwKQEAgLTAsMCArMSwxNDQgQEAKKzxodG1sPgorPGhlYWQ+
CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGVzdCBbdW5d
cmVnaXN0ZXJpbmcgYSAmbHQ7c3R5bGUgc2NvcGVkJmd0OyBlbGVtZW50IGZyb20gaXRzIHBhcmVu
dDwvcD4KKyAgICA8ZGl2IGlkPSJzY29wZTEiPgorICAgICAgICA8c3R5bGUgaWQ9Imdsb2JhbDEi
Pjwvc3R5bGU+CisgICAgICAgIDxzdHlsZSBzY29wZWQ9J3Njb3BlZDEnIGlkPSJzY29wZWQxIj48
L3N0eWxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InNjb3BlMiI+CisgICAgPC9kaXY+CisK
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworICAgIDxzY3JpcHQ+CisgICAgICAgIGlm
ICghd2luZG93LmludGVybmFscyB8fCAhd2luZG93LmludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKQorICAgICAgICAgICAgZGVidWcoIndpbmRvd3MuaW50ZXJuYWxzLm51
bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4gbm90IGZvdW5kISIpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIHZhciBzY29wZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nv
cGUxJyk7CisgICAgICAgICAgICB2YXIgc2NvcGUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Njb3BlMicpOworICAgICAgICAgICAgdmFyIHNjb3BlMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworCisgICAgICAgICAgICB2YXIgZ2xvYmFsMSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdnbG9iYWwxJyk7CisgICAgICAgICAgICB2YXIgc2NvcGVkMSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzY29wZWQxJyk7CisKKyAgICAgICAgICAgIHZhciBnbG9iYWwyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAgICAgIHZhciBzY29wZWQyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2V0
QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVkJyk7CisgICAgICAgICAgICB2YXIgc2NvcGVkMyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CisgICAgICAgICAgICBzY29wZWQzLnNj
b3BlZCA9IHRydWU7CisKKyAgICAgICAgICAgIC8qIE5PVEU6IDxzdHlsZSBzY29wZWQ+IG91dHNp
ZGUgdGhlIGRvY3VtZW50IGlzIE5PVCByZWdpc3RlcmVkISAqLworICAgICAgICAgICAgZGVidWco
Ii0tLSBJbml0aWFsIC0tLSIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1i
ZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICov
CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUz
KSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQXR0
YWNoaW5nIC0tLSIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOwor
ICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2Nv
cGUzLmFwcGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0
cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBV
bnNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAgICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFs
c2U7CisgICAgICAgICAgICBzY29wZWQyLnNjb3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2Nv
cGVkMy5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3BlZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOyAv
KiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWco
Ii0tLSBSZS1zZXR0aW5nIEBzY29wZWQgLS0tIik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3Bl
ZCA9IHRydWU7CisgICAgICAgICAgICBzY29wZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Nj
b3BlZCcpOworICAgICAgICAgICAgc2NvcGVkMy5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICcnKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxk
QmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAi
MSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVl
ICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNjb3BlIGVs
ZW1lbnRzIGZyb20gZG9jdW1lbnQgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmlu
c2VydEJlZm9yZShzY29wZTMsIHNjb3BlMik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKHNjb3BlMik7CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8K
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMp
IiwgIjEiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIE11bHRpcGxl
IHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3aXRoaW4gc2luZ2xlIHNjb3BlIC0tLSIpOworICAgICAg
ICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLnJl
bW92ZUNoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLnJlbW92ZUNoaWxkKHNjb3Bl
ZDMpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAg
ICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVu
ZENoaWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMyIpOyAvKiBpbiB0cmVlICovCisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIs
ICIwIik7IC8qIGluIHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBSZW1vdmluZyBz
Y29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVudCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjAiKTsgLyogb3V0
IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTMpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1Zygi
LS0tIEluc2VydGluZyBzY29wZSB3aXRoaW4gb3RoZXIgc2NvcGUgLS0tIik7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShzY29wZTIsIHNjb3BlMyk7CisgICAgICAgICAg
ICBzY29wZTEucmVtb3ZlQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5k
Q2hpbGQoc2NvcGVkMik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGUxKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTEpIiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oc2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAi
KTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIENsb25pbmcgJmx0O3N0
eWxlIHNjb3BlZCZndDsgYW5kIHBhcmVudHMgLS0tIik7CisgICAgICAgICAgICB2YXIgY2xvbmVz
Y29wZTFkZWVwID0gc2NvcGUxLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9u
ZXNjb3BlMXNoYWxsb3cgPSBzY29wZTEuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZh
ciBjbG9uZXNjb3BlMmRlZXAgPSBzY29wZTIuY2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAg
dmFyIGNsb25lc2NvcGUyc2hhbGxvdyA9IHNjb3BlMi5jbG9uZU5vZGUoZmFsc2UpOworICAgICAg
ICAgICAgdmFyIGNsb25lc2NvcGVkMWRlZXAgPSBzY29wZWQxLmNsb25lTm9kZSh0cnVlKTsKKyAg
ICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDFzaGFsbG93ID0gc2NvcGVkMS5jbG9uZU5vZGUoZmFs
c2UpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMmRlZXAgPSBzY29wZWQyLmNsb25lTm9k
ZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDJzaGFsbG93ID0gc2NvcGVkMi5j
bG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMiIpOyAvKiBpbiB0cmVlLCBjaGls
ZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAg
ICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVw
KSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSIs
ICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJkZWVwKSIsICIwIik7
IC8qIG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJl
ck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSIsICIwIik7IC8q
IG91dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gaW5zZXJ0aW5nIGNsb25l
cyBpbnRvIHNpbmdsZSBwYXJlbnQgLS0tIik7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hp
bGQoY2xvbmVzY29wZTFkZWVwKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9u
ZXNjb3BlMXNoYWxsb3cpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2Nv
cGUyZGVlcCk7CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTJzaGFs
bG93KTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDFkZWVwKTsK
KyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDFzaGFsbG93KTsKKyAg
ICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDJkZWVwKTsKKyAgICAgICAg
ICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlZDJzaGFsbG93KTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTEpIiwgIjIiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUy
KSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjQiKTsgLyogaW4gdHJl
ZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVlcCkiLCAiMiIpOyAvKiBpbiB0cmVlICovCisgICAg
ICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oY2xvbmVzY29wZTFzaGFsbG93KSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9u
ZXNjb3BlMmRlZXApIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hh
bGxvdykiLCAiMCIpOyAvKiBpbiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5z
ZXR0aW5nIEBzY29wZWQgaW4gbmVzdGVkIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGVk
MS5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlZDIucmVtb3ZlQXR0cmlidXRlKCdz
Y29wZWQnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2Nv
cGUyICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTMpIiwgIjQiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIERPTkUg
LS0tIik7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hh
bmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGY4YmE3ZjNkOWE2YmQ5NzZjYTg1MGU2NWJlZDY2Mzlj
OGI5YjRkZmMuLjg3YzMyZjAwMTAzNjRiYmE3MWExZTJhYmMwMGExZDI4ZDY3ZjUwNmYgMTAwNjQ0
Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0x
MS0xNiAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAg
ICAgICA8c3R5bGUgc2NvcGVkPjogSW1wbGVtZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29w
ZWQ+IHdpdGggdGhlIHNjb3BpbmcgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3OTAKKworICAgICAgICB3aW5kb3dzLmludGVybmFscyB1
cGRhdGVzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTAxLTIxICBQcmlpdCBM
YWVzICA8cGxhZXNAcGxhZXMub3JnPgogCiAgICAgICAgIFtHVEtdW1BBVENIXSBFbmFibGUgTWF0
aE1MIHN1cHBvcnQgYnkgZGVmYXVsdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123704</attachid>
            <date>2012-01-24 00:40:57 -0800</date>
            <delta_ts>2012-01-24 08:59:26 -0800</delta_ts>
            <desc>patch, updated</desc>
            <filename>bug-67790-20120124174056.patch</filename>
            <type>text/plain</type>
            <size>32486</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IzMzg1N2MyZjI1NGEy
NDBhZWNhYmI5NTZmMDFjNTUzNDMzMWIxNy4uMWQwYzY5MzA0MTVjZTk5Y2FkOGE4ZjdjYjdhOTY4
OGJiNGFjMDlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTExLTE2ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBJbXBsZW1lbnQgcmVnaXN0ZXJpbmcgb2YgPHN0eWxlIHNjb3BlZD4gd2l0aCB0
aGUgc2NvcGluZyBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Nzc5MAorCisgICAgICAgIEltcGxlbWVudCByZWdpc3RlcmluZyBvZiBhIDxz
dHlsZT4gZWxlbWVudCB3aXRoIGl0cyBwYXJlbnQgZWxlbWVudCBpZiB0aGUgJ3Njb3BlZCcgYXR0
cmlidXRlIGlzIHNldC4KKyAgICAgICAgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2hlbmV2ZXIg
dGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpcyBjaGFuZ2VkLAorICAgICAgICBvciB0aGUgPHN0eWxl
PiBlbGVtZW50IGVuZXRlcnMgb3IgbGVhdmVzIHRoZSB0cmVlLgorCisgICAgICAgIEFsc28sIGV4
dGVuZCB3aW5kb3dzLmludGVybmFscyB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiB0aGUgcmVnaXN0
cmF0aW9uIHJlZi1jb3VudGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRt
bAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnVucmVnaXN0ZXJTY29wZWRIVE1MU3R5
bGVDaGlsZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnJlZ2lzdGVyU2Nv
cGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1
bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dFJhcmVEYXRhOjpoYXNTY29wZWRIVE1MU3R5bGVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5
bGVFbGVtZW50OjpIVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6On5IVE1MU3R5bGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHls
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
dHlsZUVsZW1lbnQ6OnJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxTdHlsZUVsZW1lbnQ6OnVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50Ojp3aWxsUmVtb3ZlKToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTAxLTIzICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhl
cnNvbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IENTUyBjbGlwIHByb3BlcnR5
IGluIENTU1N0eWxlQXBwbHlQcm9wZXJ0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NzZjYmVjMzBkYzlkM2Qw
MWQ1MGI5NzVhYWIyMjZhOWUyOTJkMTY0Li45NTJlYzY5NTA0MTU0ZDg4Yjg2YmU4YzY0MDRiMmE4
MzNhZGQ1NTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMTYgIFJvbGFu
ZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxl
IHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3aXRoIHRo
ZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgQWRkIHN5bWJvbHMgZm9yIHdpbmRvd3MuaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAg
KiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTItMDEtMjMgIEplc3VzIFNhbmNoZXotUGFs
ZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF1bV0sy
XSBRUXVpY2tXZWJWaWV3IGlzIGluaXRpYWxpemluZyB0b3VjaCBtb2RlIHR3aWNlIHdoaWxlIGJl
aW5nIGNvbnN0cnVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDUzMDJjZWNiYzFlNWVhMzYy
YzMxZTA5MDdiMWNiMTFiYzQ3MmM5ODUuLmQ5NTY0ZDA5ZTAyYWIwNWNjOWYyN2RjZDIwNDc5MjU5
M2Y3ZDNiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMDY4LDMgKzIwNjgsNyBAQCBfX1pO
N1dlYkNvcmUyMFNjcm9sbGluZ0Nvb3JkaW5hdG9yMThoYW5kbGVHZXN0dXJlRXZlbnRFUktOU18y
MFBsYXRmb3JtR2VzdHVyZUV2ZQogI2VuZGlmCiAKICNlbmRpZgorCisjaWYgRU5BQkxFKFNUWUxF
X1NDT1BFRCkKK19fWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbkV2CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAzN2ZiN2EwNTQ3ZTMx
ZjkxOTE2ZGI4NTZmMzE0MmQ0NTM5Yzg3MDkxLi4wMTFlMjU4OTdjMTU1ZTM1MmY1YzE1NDhlNzkz
Y2YzYjc1ZDBjMmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xNzU2LDYgKzE3NTYsMzAg
QEAgdW5zaWduZWQgRWxlbWVudDo6Y2hpbGRFbGVtZW50Q291bnQoKSBjb25zdAogICAgIHJldHVy
biBjb3VudDsKIH0KIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCitib29sIEVsZW1lbnQ6Omhh
c1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEo
KSAmJiByYXJlRGF0YSgpLT5oYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworfQorCitzaXplX3Qg
RWxlbWVudDo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGhhc1JhcmVEYXRhKCkgPyByYXJlRGF0YSgpLT5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKCkgOiAwOworfQorCit2b2lkIEVsZW1lbnQ6OnJlZ2lzdGVyU2NvcGVkSFRNTFN0
eWxlQ2hpbGQoKQoreworICAgIGVuc3VyZVJhcmVEYXRhKCktPnJlZ2lzdGVyU2NvcGVkSFRNTFN0
eWxlQ2hpbGQoKTsKK30KKwordm9pZCBFbGVtZW50Ojp1bnJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKQoreworICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICBpZiAoaGFzUmFyZURh
dGEoKSkKKyAgICAgICAgcmFyZURhdGEoKS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHlsZUNoaWxk
KCk7Cit9CisjZW5kaWYKKwogYm9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29u
c3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKHNlbGVj
dG9yLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMGJlODVkMDM0MWExNmFkZWM2
Njk3ZjUwOGNlZjk3YzY1YTQ0OWNmYi4uMjVlYzc4NTY4NWUwZTI5N2VjMGNiMjJmMGIwNjkzYjQ5
ZWRjNWVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0zMDIsNiArMzAyLDEzIEBAIHB1YmxpYzoK
ICAgICBFbGVtZW50KiBuZXh0RWxlbWVudFNpYmxpbmcoKSBjb25zdDsKICAgICB1bnNpZ25lZCBj
aGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0OwogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAg
ICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0
ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgpOworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hp
bGQoKSBjb25zdDsKKyAgICBzaXplX3QgbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigp
IGNvbnN0OworI2VuZGlmCisKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBT
dHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgRE9NVG9rZW5MaXN0KiBj
bGFzc0xpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA0MDM2YTMx
MzY5YzNmNmU3YjQ3M2NlZjdjOWNhZjgyMjllYjk2OGUwLi5jYTMyMTE1ZTYxODQ2NDg3YzE5MWQ5
ZmFhMjg0NzA2ZjJlZTAyYWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBA
IC00MCw2ICs0MCwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0Q29tcHV0ZWRTdHlsZSgp
OwogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRN
TFN0eWxlQ2hpbGQoKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTY29wZWRIVE1MU3R5bGVDaGlsZCgp
OworICAgIGJvb2wgaGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBjb25zdDsKKyAgICBzaXplX3Qg
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigpIGNvbnN0OworI2VuZGlmCisKICAgICB1
c2luZyBOb2RlUmFyZURhdGE6Om5lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0
YWNoOwogICAgIHVzaW5nIE5vZGVSYXJlRGF0YTo6c2V0TmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRh
dGVTb29uQWZ0ZXJBdHRhY2g7CiAKQEAgLTY4LDYgKzc1LDEwIEBAIHB1YmxpYzoKICAgICBTaGFk
b3dSb290KiBtX3NoYWRvd1Jvb3Q7CiAgICAgQXRvbWljU3RyaW5nIG1fc2hhZG93UHNldWRvSWQ7
CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIHNpemVfdCBtX251bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW47CisjZW5kaWYKKwogICAgIE93blB0cjxEYXRhc2V0RE9NU3RyaW5n
TWFwPiBtX2RhdGFzZXRET01TdHJpbmdNYXA7CiAgICAgT3duUHRyPENsYXNzTGlzdD4gbV9jbGFz
c0xpc3Q7CiAKQEAgLTg2LDYgKzk3LDkgQEAgaW5saW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1T
aXplRm9yUmVzaXppbmcoKQogaW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRh
KCkKICAgICA6IG1fbWluaW11bVNpemVGb3JSZXNpemluZyhkZWZhdWx0TWluaW11bVNpemVGb3JS
ZXNpemluZygpKQogICAgICwgbV9zaGFkb3dSb290KDApCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BF
RCkKKyAgICAsIG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbigwKQorI2VuZGlmCiAg
ICAgLCBtX3N0eWxlQWZmZWN0ZWRCeUVtcHR5KGZhbHNlKQogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKICAgICAsIG1fY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudChmYWxzZSkKQEAgLTEwMyw1
ICsxMTcsMjkgQEAgaW5saW5lIHZvaWQgRWxlbWVudFJhcmVEYXRhOjpyZXNldENvbXB1dGVkU3R5
bGUoKQogICAgIG1fY29tcHV0ZWRTdHlsZS5jbGVhcigpOwogfQogCisjaWYgRU5BQkxFKFNUWUxF
X1NDT1BFRCkKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0YTo6cmVnaXN0ZXJTY29wZWRIVE1M
U3R5bGVDaGlsZCgpCit7CisgICAgKyttX251bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW47
Cit9CisKK2lubGluZSB2b2lkIEVsZW1lbnRSYXJlRGF0YTo6dW5yZWdpc3RlclNjb3BlZEhUTUxT
dHlsZUNoaWxkKCkKK3sKKyAgICBBU1NFUlQobV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuID4gMCk7CisgICAgaWYgKG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbiA+IDAp
CisgICAgICAgIC0tbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitpbmxp
bmUgYm9vbCBFbGVtZW50UmFyZURhdGE6Omhhc1Njb3BlZEhUTUxTdHlsZUNoaWxkKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuOworfQorCitp
bmxpbmUgc2l6ZV90IEVsZW1lbnRSYXJlRGF0YTo6bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbjsKK30KKyNlbmRpZgorCiB9CiAjZW5kaWYgLy8gRWxlbWVudFJhcmVEYXRhX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCmluZGV4IDllZmU4MGFhMDE1NmJlMTQ0
Yjc5NDQ3NTNiNDM2NmM5NDIyZDJiZTguLmNjMWZhMjMwMGQwODliODgyNTFiOWE0YjZjOGE3YmY5
YzIxMTI5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcApAQCAt
MzgsMTIgKzM4LDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBpbmxpbmUgSFRNTFN0
eWxlRWxlbWVudDo6SFRNTFN0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKQogICAgIDogSFRNTEVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBTdHlsZUVsZW1lbnQoZG9jdW1lbnQsIGNy
ZWF0ZWRCeVBhcnNlcikKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgICwgbV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUoZmFsc2UpCisjZW5kaWYKIHsKICAgICBBU1NFUlQoaGFzVGFn
TmFtZShzdHlsZVRhZykpOwogfQogCiBIVE1MU3R5bGVFbGVtZW50Ojp+SFRNTFN0eWxlRWxlbWVu
dCgpCiB7CisgICAgLy8gRHVyaW5nIHRlYXItZG93biwgd2lsbFJlbW92ZSBpc24ndCBjYWxsZWQs
IHNvIG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlIG1heSBzdGlsbCBiZSBzZXQgaGVyZS4K
KyAgICAvLyBUaGVyZWZvcmUgd2UgY2FuJ3QgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29w
aW5nTm9kZSkuCiAgICAgU3R5bGVFbGVtZW50OjpjbGVhckRvY3VtZW50RGF0YShkb2N1bWVudCgp
LCB0aGlzKTsKIH0KIApAQCAtNTYsNiArNjEsMTUgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50Ojpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7CiAgICAgaWYgKGF0dHItPm5h
bWUoKSA9PSB0aXRsZUF0dHIgJiYgbV9zaGVldCkKICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUo
YXR0ci0+dmFsdWUoKSk7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICBlbHNlIGlmIChh
dHRyLT5uYW1lKCkgPT0gc2NvcGVkQXR0cikgeworICAgICAgICBpZiAoIWF0dHItPmlzTnVsbCgp
ICYmICFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSAmJiBpbkRvY3VtZW50KCkpCisgICAg
ICAgICAgICByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAgICAgICBlbHNlIGlmIChhdHRy
LT5pc051bGwoKSAmJiBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkKKyAgICAgICAgICAg
IHVucmVnaXN0ZXJXaXRoU2NvcGluZ05vZGUoKTsKKworICAgIH0KKyNlbmRpZgogICAgIGVsc2UK
ICAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQpAQCAt
NjYsMTggKzgwLDgyIEBAIHZvaWQgSFRNTFN0eWxlRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxk
cmVuKCkKICAgICBIVE1MRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKKyNp
ZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQordm9pZCBIVE1MU3R5bGVFbGVtZW50OjpyZWdpc3Rlcldp
dGhTY29waW5nTm9kZSgpCit7CisgICAgLy8gTm90ZTogV2UgY2Fubm90IHJlbHkgb24gdGhlICdz
Y29wZWQnIGVsZW1lbnQgYWxyZWFkeSBiZWluZyBwcmVzZW50IHdoZW4gdGhpcyBtZXRob2QgaXMg
aW52b2tlZC4KKyAgICAvLyBUaGVyZWZvcmUgd2UgY2Fubm90IHJlbHkgb24gc2NvcGVkKCkhCisg
ICAgQVNTRVJUKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7CisgICAgQVNTRVJUKGlu
RG9jdW1lbnQoKSk7CisgICAgaWYgKCFtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSkgewor
ICAgICAgICBFbGVtZW50KiBzY29wZSA9IHBhcmVudEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFz
Y29wZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzY29wZS0+cmVnaXN0ZXJTY29w
ZWRIVE1MU3R5bGVDaGlsZCgpOworICAgICAgICBzY29wZS0+c2V0TmVlZHNTdHlsZVJlY2FsYygp
OworICAgICAgICBpZiAoaW5Eb2N1bWVudCgpICYmICFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYg
ZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPnN0eWxlU2Vs
ZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOworCisgICAgICAgIG1faXNSZWdpc3RlcmVk
V2l0aFNjb3BpbmdOb2RlID0gdHJ1ZTsKKyAgICB9Cit9CisKK3ZvaWQgSFRNTFN0eWxlRWxlbWVu
dDo6dW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpCit7CisgICAgLy8gTm90ZTogV2UgY2Fubm90
IHJlbHkgb24gdGhlICdzY29wZWQnIGVsZW1lbnQgc3RpbGwgYmVpbmcgcHJlc2VudCB3aGVuIHRo
aXMgbWV0aG9kIGlzIGludm9rZWQuCisgICAgLy8gVGhlcmVmb3JlIHdlIGNhbm5vdCByZWx5IG9u
IHNjb3BlZCgpIQorICAgIEFTU0VSVChtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZSk7Cisg
ICAgaWYgKG1faXNSZWdpc3RlcmVkV2l0aFNjb3BpbmdOb2RlKSB7CisgICAgICAgIEVsZW1lbnQq
IHNjb3BlID0gcGFyZW50RWxlbWVudCgpOworICAgICAgICBBU1NFUlQoc2NvcGUpOworICAgICAg
ICBpZiAoc2NvcGUpIHsKKyAgICAgICAgICAgIEFTU0VSVChzY29wZS0+aGFzU2NvcGVkSFRNTFN0
eWxlQ2hpbGQoKSk7CisgICAgICAgICAgICBzY29wZS0+dW5yZWdpc3RlclNjb3BlZEhUTUxTdHls
ZUNoaWxkKCk7CisgICAgICAgICAgICBzY29wZS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAg
ICAgICB9CisgICAgICAgIGlmIChpbkRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnBhcnNpbmco
KSAmJiBkb2N1bWVudCgpLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+c3R5
bGVTZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CisKKyAgICAgICAgbV9pc1JlZ2lz
dGVyZWRXaXRoU2NvcGluZ05vZGUgPSBmYWxzZTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBI
VE1MU3R5bGVFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1l
bnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCk7CiAgICAgU3R5bGVFbGVtZW50OjppbnNlcnRlZElu
dG9Eb2N1bWVudChkb2N1bWVudCgpLCB0aGlzKTsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQor
ICAgIGlmIChzY29wZWQoKSAmJiAhbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpCisgICAg
ICAgIHJlZ2lzdGVyV2l0aFNjb3BpbmdOb2RlKCk7CisjZW5kaWYKIH0KIAogdm9pZCBIVE1MU3R5
bGVFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKIHsKKyNpZiBFTkFCTEUoU1RZTEVfU0NP
UEVEKQorICAgIEFTU0VSVCghbV9pc1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOworI2VuZGlm
CiAgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKICAgICBTdHlsZUVsZW1l
bnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoZG9jdW1lbnQoKSwgdGhpcyk7CiB9CiAKKworI2lmIEVO
QUJMRShTVFlMRV9TQ09QRUQpCit2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OndpbGxSZW1vdmUoKQor
eworICAgIC8vIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCA8c3R5bGUgc2NvcGVkPiBp
cyBvbmx5IHJlZ2lzdGVyZWQgaWYgdGhlIG5vZGUgaXMgaW4gdGhlIGRvY3VtZW50LgorICAgIC8v
IFRoYXQgaXMsIGJlY2F1c2Ugd2lsbFJlbW92ZSgpIGlzIGFsc28gY2FsbGVkIGlmIGFuIGFuY2Vz
dG9yIGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jdW1lbnQuCisgICAgLy8gTm93LCBpZiB3ZSB3YW50
IHRvIHJlZ2lzdGVyIDxzdHlsZSBzY29wZWQ+IGV2ZW4gaWYgaXQncyBub3QgaW5Eb2N1bWVudCwK
KyAgICAvLyB3ZSdkIG5lZWQgdG8gZmluZCBhIHdheSB0byBkaXNjZXJuIHdoZXRoZXIgdGhhdCBp
cyB0aGUgY2FzZSwgb3Igd2hldGhlciA8c3R5bGUgc2NvcGVkPiBpdHNlbGYgaXMgYWJvdXQgdG8g
YmUgcmVtb3ZlZC4KKyAgICBBU1NFUlQoIXNjb3BlZCgpIHx8ICFpbkRvY3VtZW50KCkgfHwgbV9p
c1JlZ2lzdGVyZWRXaXRoU2NvcGluZ05vZGUpOworICAgIGlmIChtX2lzUmVnaXN0ZXJlZFdpdGhT
Y29waW5nTm9kZSkKKyAgICAgICAgdW5yZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAgIEhU
TUxFbGVtZW50Ojp3aWxsUmVtb3ZlKCk7Cit9CisjZW5kaWYKKwogdm9pZCBIVE1MU3R5bGVFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNo
YW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7CiAgICAgU3R5
bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0
eWxlRWxlbWVudC5oCmluZGV4IDZiYWFlZTNiNzk4ODBmN2ZjYjQzYjhlZmY5YjIxMWIxMzYyNmMy
NzIuLmQ1NmQ0NmQ2ZDYzNjJiMGM0Mjc0MTA1NzZjMWZiODczMjVlMDJjZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCkBAIC01NSw2ICs1NSw5IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwogICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVkRnJvbURvY3VtZW50KCk7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICB2aXJ0dWFs
IHZvaWQgd2lsbFJlbW92ZSgpOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hh
bmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAw
LCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKQEAgLTY3LDYgKzcwLDExIEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgbWVkaWEoKSBjb25z
dDsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSgpIGNvbnN0OworCisgICAg
dm9pZCByZWdpc3RlcldpdGhTY29waW5nTm9kZSgpOworICAgIHZvaWQgdW5yZWdpc3RlcldpdGhT
Y29waW5nTm9kZSgpOworCisgICAgYm9vbCBtX2lzUmVnaXN0ZXJlZFdpdGhTY29waW5nTm9kZTsK
IH07CiAKIH0gLy9uYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCA3ZTQ4MWNhNTdiMmIwNzZhOTA4MDFmZDBjNDliOGIwYzRhY2M5ZDk1Li41YzdhODQ2NDBkMjdj
NDU2OWY3YWU4YmRiMTA0ZjYxNjQ1MmZhNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0xNjQsNiArMTY0LDE5IEBAIFN0cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5k
ZXJUcmVlQXNUZXh0KEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJl
dHVybiByZXByZXNlbnRhdGlvbjsKIH0KIAorc3RkOjpzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJP
ZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlv
bkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChlbGVtZW50KQorI2lmIEVOQUJMRShTVFlMRV9T
Q09QRUQpCisgICAgICAgIHJldHVybiBlbGVtZW50LT5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKCk7CisjZWxzZQorICAgICAgICByZXR1cm4gMDsKKyNlbmRpZgorCisgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7CisgICAgcmV0dXJuIDA7Cit9CisKIEludGVybmFsczo6U2hhZG93
Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290
KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaG9zdCkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggM2UyODFiZGUxMjk5OWVhMzk3OTI3NTBi
NzczMjI0MTc0ODkzZGNmMi4uZmRhOTdlNDgyNzM1NjM0OGNkYzZhMGY5MzYxNTY0MTAwOWE0NmNi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC01NSw2ICs1NSw4IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaXNQcmVsb2FkZWQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHVybCk7
CiAKKyAgICBzdGQ6OnNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNvbnN0
IEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisKICNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKICAgICB0eXBlZGVmIFNoYWRvd1Jvb3QgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9y
Tm9kZTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggODc0ODU3
OTJkZDYyMzgwNzMzMTg0ZDFlNjQ0N2M3YTA5MTdlMTI4YS4uODgwZWRlNjk0Yjc1ZTA1Y2M3YTg5
NWI5YmZlNTRjZGU0NWJjMDhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMzAsNiArMzAsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRE9NU3RyaW5nIGVsZW1l
bnRSZW5kZXJUcmVlQXNUZXh0KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIGJvb2xlYW4gaXNQcmVsb2FkZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGlu
IERPTVN0cmluZyB1cmwpOwogCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24p
OworCiAjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkKICAgICAgICAgU2hhZG93Um9vdCBl
bnN1cmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
ICAgICAgICBTaGFkb3dSb290IHNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CkBAIC0zNyw3ICszOSw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBO
b2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKICNlbmRpZgotCiAgICAgICAgIEVsZW1lbnQgaW5jbHVkZXJGb3IoaW4gTm9k
ZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgcmVtb3ZlU2hhZG93
Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9N
U3RyaW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDlkMmM3OGRmNWQxM2JlMjk0NzA0YmI1
ZDM2OGFlNzlmYTZhMjdkNzIuLjk4M2M5MGRiOWNlM2M1MWJmNjA2YThlMTIyZjFhMzg4M2Q1YTgy
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE2OCw2ICsxNjgsNyBAQCBFWFBPUlRTCiAg
ICAgICAgID9tYXJrZXJzRm9yQERvY3VtZW50TWFya2VyQ29udHJvbGxlckBXZWJDb3JlQEBRQUU/
QVY/JFZlY3RvckBQQVZEb2N1bWVudE1hcmtlckBXZWJDb3JlQEAkMEFAQFdURkBAUEFWTm9kZUAy
QFZNYXJrZXJUeXBlc0BEb2N1bWVudE1hcmtlckAyQEBaCiAgICAgICAgID9vYnNlcnZlRnJhbWVA
RnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyQFdlYkNvcmVAQElBRVhQQVZGcmFtZUAyQEBaCiAgICAg
ICAgID9vdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNAV2ViQ29yZUBAWUFYQUJWPyRWZWN0
b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBAWgorICAgICAgICA7ID9udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuQEVsZW1lbnRAV2ViQ29yZUBAUUJFSVhaCiAgICAgICAgID9wYWdlQERv
Y3VtZW50QFdlYkNvcmVAQFFCRVBBVlBhZ2VAMkBYWgogICAgICAgICA/cGFpbnRDb250cm9sVGlu
dHNARnJhbWVWaWV3QFdlYkNvcmVAQEFBRVhYWgogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25B
bmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBX
ZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNG
TGl0ZS5kZWYKaW5kZXggNTQzZTA3YWE4ODEzNmVjNmZmN2NlZDkwY2JjZDE1ZmY1OWFhNWIyNS4u
ZDYwMTQzNmQ0MTk5Mzc1ZTljNjk3ODQ4NjYxOTY0MDYwMTU3ZjJmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTYyLDYgKzE2Miw3IEBAIEVYUE9SVFMKICAgICAgICAg
P21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250cm9sbGVyQFdlYkNvcmVAQFFBRT9BVj8kVmVj
dG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVAQCQwQUBAV1RGQEBQQVZOb2RlQDJAVk1hcmtl
clR5cGVzQERvY3VtZW50TWFya2VyQDJAQFoKICAgICAgICAgP29ic2VydmVGcmFtZUBGcmFtZURl
c3RydWN0aW9uT2JzZXJ2ZXJAV2ViQ29yZUBASUFFWFBBVkZyYW1lQDJAQFoKICAgICAgICAgP292
ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlc0BXZWJDb3JlQEBZQVhBQlY/JFZlY3RvckBWU3Ry
aW5nQFdURkBAJDBBQEBXVEZAQEBaCisgICAgICAgIDsgP251bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW5ARWxlbWVudEBXZWJDb3JlQEBRQkVJWFoKICAgICAgICAgP3BhZ2VARG9jdW1lbnRA
V2ViQ29yZUBAUUJFUEFWUGFnZUAyQFhaCiAgICAgICAgID9wYWludENvbnRyb2xUaW50c0BGcmFt
ZVZpZXdAV2ViQ29yZUBAQUFFWFhaCiAgICAgICAgID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0
aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVA
QEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGFh
MWZlOTU0MTk2MDAwYmZmNjUyNDA1ZGM5ODdlMDNjMTA2MTM2ZjQuLmE0NzZlNDk3NjUyZWY4ODdm
ZWI2ZTc4Njk4N2VmNDFiYmYzYzdkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3lt
Ym9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNzgs
NiArNzgsNyBAQCBfWk5LN1dlYkNvcmUyNkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50MjFsYXN0
Q2hhbmdlV2FzVXNlckVkaXRFdjsKIF9aTks3V2ViQ29yZTVGcmFtZThzZXR0aW5nc0V2OwogX1pO
SzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVF
UE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRTsKIF9aTks3V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290
RXY7CitfWk5LN1dlYkNvcmU3RWxlbWVudDMxbnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bkV2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHBhZ2VFdjsKIF9aTks3V2ViQ29yZThEb2N1bWVu
dDhzZXR0aW5nc0V2OwogX1pOSzdXZWJDb3JlOERvY3VtZW50NHZpZXdFdjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYjEz
YTIyMTdiZDRhODk2NDJkYmIwZTZkYTY3YTEwZTE0YTAzZTJiLi43YjhkYmU3NmI4Y2QxMGJiMWM3
NDM3OTI1NTUwMzhjNGQzMmVjZjJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMTEtMTYg
IFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
PHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCByZWdpc3RlcmluZyBvZiA8c3R5bGUgc2NvcGVkPiB3
aXRoIHRoZSBzY29waW5nIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3NzkwCisKKyAgICAgICAgVGVzdHMgdGhhdCByZWdpc3RyYXRpb24g
b2YgPHN0eWxlIHNjb3BlZD4gd2l0aCBpdHMgcGFyZW50IGlzIHBlcmZvcm1lZCBjb3JyZWN0bHkK
KyAgICAgICAgaW4gdmFyaW91cyBjaXJjdW1zdGFuY2VzLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lz
dGVyaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkL3JlZ2lzdGVyaW5nLmh0bWw6IEFkZGVkLgorCisyMDExLTExLTE0ICBSb2xhbmQgU3RlaW5l
ciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHlsZSBzY29wZWQ+
OiBBZGQgJ3Njb3BlZCcgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NzcxOAorCisgICAgICAgIFRlc3Qgc2V0dGluZy9yZXNldHRpbmcg
b2YgdGhlICdzY29wZWQnIGF0dHJpYnV0ZSBpbiB2YXJpb3VzIGNpcmN1bXN0YW5jZXMuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL2Jhc2ljLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKwor
MjAxMS0xMi0wNSAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVtLm9yZz4K
KworICAgICAgICA8c3R5bGUgc2NvcGVkPjogQWRkICdzY29wZWQnIGF0dHJpYnV0ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MTgKKworICAgICAg
ICBUZXN0IHNldHRpbmcvcmVzZXR0aW5nIG9mIHRoZSAnc2NvcGVkJyBhdHRyaWJ1dGUgaW4gdmFy
aW91cyBjaXJjdW1zdGFuY2VzLgorICAgICAgICBEaXNhYmxlIHRlc3QgZGlyZWN0b3J5LCBzaW5j
ZSBTVFlMRV9TQ09QRUQgaXMgbm90IGVuYWJsZWQgYnkgZGVmYXVsdC4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9iYXNpYy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9zdHlsZS1zY29wZWQvYmFzaWMtYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNh
aXJvL1NraXBwZWQ6CisKIDIwMTItMDEtMjMgIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgZGVjb2RlRXNjYXBlU2VxdWVuY2VzKCkgbm90IGNvcnJlY3QgZm9yIHNv
bWUgZW5jb2RpbmdzIChHQkssIEJpZzUsIC4uLikuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYmUxMGQ4YTZkZGE0OTQ4YmQ1YTg1NDA3NDE5NDEwNjkxN2VhOWU2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDU5IEBACitUZXN0IFt1bl1yZWdpc3RlcmluZyBhIDxzdHls
ZSBzY29wZWQ+IGVsZW1lbnQgZnJvbSBpdHMgcGFyZW50CisKKy0tLSBJbml0aWFsIC0tLQorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBp
cyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MykgaXMgMAorLS0tIEF0dGFjaGluZyAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNj
b3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBVbnNldHRpbmcgQHNj
b3BlZCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUxKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxk
cmVuKHNjb3BlMikgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBSZS1zZXR0aW5nIEBzY29wZWQgLS0tCitQQVNTIGlu
dGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMQorUEFT
UyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDEK
K1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBp
cyAwCistLS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNjb3BlIGVsZW1lbnRzIGZyb20gZG9jdW1lbnQg
LS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3Bl
MSkgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihz
Y29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4oc2NvcGUzKSBpcyAxCistLS0gTXVsdGlwbGUgc2NvcGVkIHN0eWxlIGVsZW1lbnRzIHdpdGhp
biBzaW5nbGUgc2NvcGUgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHls
ZUNoaWxkcmVuKHNjb3BlMSkgaXMgMworUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1M
U3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVk
SFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gUmVtb3Zpbmcgc2NvcGluZyBlbGVt
ZW50IGZyb20gZG9jdW1lbnQgLS0tCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIGlzIDAKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSBpcyAwCistLS0gSW5zZXJ0aW5nIHNjb3BlIHdp
dGhpbiBvdGhlciBzY29wZSAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAyCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDAKKy0tLSBDbG9uaW5nIDxzdHlsZSBzY29w
ZWQ+IGFuZCBwYXJlbnRzIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTEpIGlzIDIKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAxCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMWRlZXApIGlzIDAKK1BBU1MgaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSBp
cyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25l
c2NvcGUyZGVlcCkgaXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihjbG9uZXNjb3BlMnNoYWxsb3cpIGlzIDAKKy0tLSBpbnNlcnRpbmcgY2xvbmVzIGlu
dG8gc2luZ2xlIHBhcmVudCAtLS0KK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0
eWxlQ2hpbGRyZW4oc2NvcGUxKSBpcyAyCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKHNjb3BlMikgaXMgMQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29w
ZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIGlzIDQKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSBpcyAyCitQQVNTIGludGVy
bmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxc2hhbGxvdykg
aXMgMAorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9u
ZXNjb3BlMmRlZXApIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oY2xvbmVzY29wZTJzaGFsbG93KSBpcyAwCistLS0gVW5zZXR0aW5nIEBzY29wZWQg
aW4gbmVzdGVkIHNjb3BlIC0tLQorUEFTUyBpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5
bGVDaGlsZHJlbihzY29wZTEpIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSBpcyAwCitQQVNTIGludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykgaXMgNAorLS0tIERPTkUgLS0tCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvcmVnaXN0ZXJpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YmM2YzJjODkyNGMwOWVlOGRhMzQxOTQ2OGM1YWFjMmUyY2Q2YmQ3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3JlZ2lzdGVyaW5nLmh0bWwKQEAg
LTAsMCArMSwxNDQgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPHA+VGVzdCBbdW5dcmVnaXN0ZXJpbmcgYSAmbHQ7c3R5bGUgc2Nv
cGVkJmd0OyBlbGVtZW50IGZyb20gaXRzIHBhcmVudDwvcD4KKyAgICA8ZGl2IGlkPSJzY29wZTEi
PgorICAgICAgICA8c3R5bGUgaWQ9Imdsb2JhbDEiPjwvc3R5bGU+CisgICAgICAgIDxzdHlsZSBz
Y29wZWQ9J3Njb3BlZDEnIGlkPSJzY29wZWQxIj48L3N0eWxlPgorICAgIDwvZGl2PgorICAgIDxk
aXYgaWQ9InNjb3BlMiI+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICghd2luZG93LmludGVybmFscyB8fCAhd2lu
ZG93LmludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKQorICAgICAgICAg
ICAgZGVidWcoIndpbmRvd3MuaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRy
ZW4gbm90IGZvdW5kISIpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHZhciBzY29wZTEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcGUxJyk7CisgICAgICAgICAgICB2YXIgc2Nv
cGUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3BlMicpOworICAgICAgICAgICAgdmFy
IHNjb3BlMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCisgICAgICAgICAgICB2
YXIgZ2xvYmFsMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbG9iYWwxJyk7CisgICAgICAg
ICAgICB2YXIgc2NvcGVkMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29wZWQxJyk7CisK
KyAgICAgICAgICAgIHZhciBnbG9iYWwyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUn
KTsKKyAgICAgICAgICAgIHZhciBzY29wZWQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5
bGUnKTsKKyAgICAgICAgICAgIHNjb3BlZDIuc2V0QXR0cmlidXRlKCdzY29wZWQnLCAnc2NvcGVk
Jyk7CisgICAgICAgICAgICB2YXIgc2NvcGVkMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0
eWxlJyk7CisgICAgICAgICAgICBzY29wZWQzLnNjb3BlZCA9IHRydWU7CisKKyAgICAgICAgICAg
IC8qIE5PVEU6IDxzdHlsZSBzY29wZWQ+IG91dHNpZGUgdGhlIGRvY3VtZW50IGlzIE5PVCByZWdp
c3RlcmVkISAqLworICAgICAgICAgICAgZGVidWcoIi0tLSBJbml0aWFsIC0tLSIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8q
IG91dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICov
CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gQXR0YWNoaW5nIC0tLSIpOworICAgICAgICAgICAg
c2NvcGUyLmFwcGVuZENoaWxkKHNjb3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLmFwcGVuZENo
aWxkKGdsb2JhbDIpOworICAgICAgICAgICAgc2NvcGUzLmFwcGVuZENoaWxkKHNjb3BlZDMpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKHNjb3BlMSkiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIx
Iik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUg
Ki8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBVbnNldHRpbmcgQHNjb3BlZCAtLS0iKTsKKyAg
ICAgICAgICAgIHNjb3BlZDEuc2NvcGVkID0gZmFsc2U7CisgICAgICAgICAgICBzY29wZWQyLnNj
b3BlZCA9IGZhbHNlOworICAgICAgICAgICAgc2NvcGVkMy5yZW1vdmVBdHRyaWJ1dGUoJ3Njb3Bl
ZCcpOworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxT
dHlsZUNoaWxkcmVuKHNjb3BlMSkiLCAiMCIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUy
KSIsICIwIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogb3V0IG9m
IHRyZWUgKi8KKworICAgICAgICAgICAgZGVidWcoIi0tLSBSZS1zZXR0aW5nIEBzY29wZWQgLS0t
Iik7CisgICAgICAgICAgICBzY29wZWQxLnNjb3BlZCA9IHRydWU7CisgICAgICAgICAgICBzY29w
ZWQyLnNldEF0dHJpYnV0ZSgnc2NvcGVkJywgJ3Njb3BlZCcpOworICAgICAgICAgICAgc2NvcGVk
My5zZXRBdHRyaWJ1dGUoJ3Njb3BlZCcsICcnKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjEiKTsgLyog
aW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3Bl
ZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMikiLCAiMSIpOyAvKiBpbiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUzKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisKKyAgICAgICAgICAgIGRlYnVnKCIt
LS0gSW5zZXJ0aW5nL3JlbW92aW5nIHNjb3BlIGVsZW1lbnRzIGZyb20gZG9jdW1lbnQgLS0tIik7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShzY29wZTMsIHNjb3BlMik7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjb3BlMik7CisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
c2NvcGUxKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIpIiwgIjAiKTsgLyog
b3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZT
Y29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworCisg
ICAgICAgICAgICBkZWJ1ZygiLS0tIE11bHRpcGxlIHNjb3BlZCBzdHlsZSBlbGVtZW50cyB3aXRo
aW4gc2luZ2xlIHNjb3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKHNj
b3BlZDIpOworICAgICAgICAgICAgc2NvcGUyLnJlbW92ZUNoaWxkKGdsb2JhbDIpOworICAgICAg
ICAgICAgc2NvcGUzLnJlbW92ZUNoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2NvcGUxLmFw
cGVuZENoaWxkKHNjb3BlZDMpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKHNjb3Bl
ZDIpOworICAgICAgICAgICAgc2NvcGUxLmFwcGVuZENoaWxkKGdsb2JhbDIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMSkiLCAiMyIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIwIik7IC8qIG91
dCBvZiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2Nv
cGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUzKSIsICIwIik7IC8qIGluIHRyZWUgKi8KKworICAg
ICAgICAgICAgZGVidWcoIi0tLSBSZW1vdmluZyBzY29waW5nIGVsZW1lbnQgZnJvbSBkb2N1bWVu
dCAtLS0iKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2NvcGUxKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVD
aGlsZHJlbihzY29wZTEpIiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTIp
IiwgIjAiKTsgLyogb3V0IG9mIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogaW4g
dHJlZSAqLworCisgICAgICAgICAgICBkZWJ1ZygiLS0tIEluc2VydGluZyBzY29wZSB3aXRoaW4g
b3RoZXIgc2NvcGUgLS0tIik7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9y
ZShzY29wZTIsIHNjb3BlMyk7CisgICAgICAgICAgICBzY29wZTEucmVtb3ZlQ2hpbGQoc2NvcGVk
Mik7CisgICAgICAgICAgICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGVkMik7CisgICAgICAgICAg
ICBzY29wZTIuYXBwZW5kQ2hpbGQoc2NvcGUxKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjIiKTsgLyog
aW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8qIGlu
IHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRI
VE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjAiKTsgLyogaW4gdHJlZSAqLworCisgICAgICAg
ICAgICBkZWJ1ZygiLS0tIENsb25pbmcgJmx0O3N0eWxlIHNjb3BlZCZndDsgYW5kIHBhcmVudHMg
LS0tIik7CisgICAgICAgICAgICB2YXIgY2xvbmVzY29wZTFkZWVwID0gc2NvcGUxLmNsb25lTm9k
ZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlMXNoYWxsb3cgPSBzY29wZTEuY2xv
bmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlMmRlZXAgPSBzY29wZTIu
Y2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGUyc2hhbGxvdyA9IHNj
b3BlMi5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgdmFyIGNsb25lc2NvcGVkMWRlZXAg
PSBzY29wZWQxLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBjbG9uZXNjb3BlZDFz
aGFsbG93ID0gc2NvcGVkMS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgdmFyIGNsb25l
c2NvcGVkMmRlZXAgPSBzY29wZWQyLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHZhciBj
bG9uZXNjb3BlZDJzaGFsbG93ID0gc2NvcGVkMi5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNj
b3BlMSkiLCAiMiIpOyAvKiBpbiB0cmVlLCBjaGlsZCBvZiBzY29wZTIgKi8KKyAgICAgICAgICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29w
ZTIpIiwgIjEiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKHNjb3BlMykiLCAiMCIpOyAvKiBpbiB0
cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRN
TFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFkZWVwKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICov
CisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxl
Q2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hp
bGRyZW4oY2xvbmVzY29wZTJkZWVwKSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4o
Y2xvbmVzY29wZTJzaGFsbG93KSIsICIwIik7IC8qIG91dCBvZiB0cmVlICovCisKKyAgICAgICAg
ICAgIGRlYnVnKCItLS0gaW5zZXJ0aW5nIGNsb25lcyBpbnRvIHNpbmdsZSBwYXJlbnQgLS0tIik7
CisgICAgICAgICAgICBzY29wZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTFkZWVwKTsKKyAgICAg
ICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9uZXNjb3BlMXNoYWxsb3cpOworICAgICAgICAg
ICAgc2NvcGUzLmFwcGVuZENoaWxkKGNsb25lc2NvcGUyZGVlcCk7CisgICAgICAgICAgICBzY29w
ZTMuYXBwZW5kQ2hpbGQoY2xvbmVzY29wZTJzaGFsbG93KTsKKyAgICAgICAgICAgIHNjb3BlMy5h
cHBlbmRDaGlsZChjbG9uZXNjb3BlZDFkZWVwKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRD
aGlsZChjbG9uZXNjb3BlZDFzaGFsbG93KTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGls
ZChjbG9uZXNjb3BlZDJkZWVwKTsKKyAgICAgICAgICAgIHNjb3BlMy5hcHBlbmRDaGlsZChjbG9u
ZXNjb3BlZDJzaGFsbG93KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwgIjIiKTsgLyogaW4gdHJlZSwgY2hp
bGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm51bWJlck9m
U2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIxIik7IC8qIGluIHRyZWUgKi8KKyAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGls
ZHJlbihzY29wZTMpIiwgIjQiKTsgLyogaW4gdHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5udW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUxZGVl
cCkiLCAiMiIpOyAvKiBpbiB0cmVlICovCisgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oY2xvbmVzY29wZTFzaGFsbG93KSIsICIw
Iik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihjbG9uZXNjb3BlMmRlZXApIiwgIjEiKTsgLyogaW4g
dHJlZSAqLworICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5udW1iZXJPZlNjb3BlZEhU
TUxTdHlsZUNoaWxkcmVuKGNsb25lc2NvcGUyc2hhbGxvdykiLCAiMCIpOyAvKiBpbiB0cmVlICov
CisKKyAgICAgICAgICAgIGRlYnVnKCItLS0gVW5zZXR0aW5nIEBzY29wZWQgaW4gbmVzdGVkIHNj
b3BlIC0tLSIpOworICAgICAgICAgICAgc2NvcGVkMS5zY29wZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHNjb3BlZDIucmVtb3ZlQXR0cmlidXRlKCdzY29wZWQnKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTEpIiwg
IjEiKTsgLyogaW4gdHJlZSwgY2hpbGQgb2Ygc2NvcGUyICovCisgICAgICAgICAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW4oc2NvcGUyKSIsICIw
Iik7IC8qIGluIHRyZWUgKi8KKyAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubnVtYmVy
T2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbihzY29wZTMpIiwgIjQiKTsgLyogaW4gdHJlZSAqLwor
CisgICAgICAgICAgICBkZWJ1ZygiLS0tIERPTkUgLS0tIik7CisgICAgICAgIH0KKyAgICAgICAg
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGY4
YmE3ZjNkOWE2YmQ5NzZjYTg1MGU2NWJlZDY2MzljOGI5YjRkZmMuLjg3YzMyZjAwMTAzNjRiYmE3
MWExZTJhYmMwMGExZDI4ZDY3ZjUwNmYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMS0xNiAgUm9sYW5kIFN0ZWluZXIgIDxyb2xh
bmRzdGVpbmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICA8c3R5bGUgc2NvcGVkPjogSW1wbGVt
ZW50IHJlZ2lzdGVyaW5nIG9mIDxzdHlsZSBzY29wZWQ+IHdpdGggdGhlIHNjb3BpbmcgZWxlbWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3OTAK
KworICAgICAgICB3aW5kb3dzLmludGVybmFscyB1cGRhdGVzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyOgorCiAyMDEyLTAxLTIxICBQcmlpdCBMYWVzICA8cGxhZXNAcGxhZXMub3JnPgogCiAg
ICAgICAgIFtHVEtdW1BBVENIXSBFbmFibGUgTWF0aE1MIHN1cHBvcnQgYnkgZGVmYXVsdAo=
</data>
<flag name="review"
          id="124795"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="124796"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>