<?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>35801</bug_id>
          
          <creation_ts>2010-03-05 11:37:45 -0800</creation_ts>
          <short_desc>Web Inspector: generate preview for the objects dumped into the console upon logging.</short_desc>
          <delta_ts>2012-12-01 13:36:42 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</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>93505</dependson>
    
    <dependson>93511</dependson>
    
    <dependson>93512</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="mitch kramer">boards</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>andre</cc>
    
    <cc>ap</cc>
    
    <cc>boards</cc>
    
    <cc>dbrans</cc>
    
    <cc>evan</cc>
    
    <cc>iamrohitbanga</cc>
    
    <cc>mathias</cc>
    
    <cc>nschubach</cc>
    
    <cc>paulirish</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rc</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196568</commentid>
    <comment_count>0</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2010-03-05 11:37:45 -0800</bug_when>
    <thetext>1) create an object literal with one or more properties
2) console.log that object but leave it closed (don&apos;t expand it in the console)
3) change one of the properties to a new value

now open that console.log and you&apos;ll see it has the new value for some reason, even though it&apos;s value was different at the time it was generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196569</commentid>
    <comment_count>1</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2010-03-05 11:50:19 -0800</bug_when>
    <thetext>I should point out that if you open it, it will retain the correct value if that wasn&apos;t clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197554</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-09 06:33:36 -0800</bug_when>
    <thetext>I don&apos;t think we are ever going to fix this one. We can&apos;t clone object upon dumping it into the console and we also can&apos;t listen to the object properties&apos; changes in order to make it always actual.

We should make sure existing behavior is expected though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200764</commentid>
    <comment_count>3</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2010-03-17 07:22:20 -0700</bug_when>
    <thetext>If i&apos;m &quot;logging it&quot; It would seem that i would be taking a snapshot of it at that time... It seems broken to me to not have it be historical -- but if you can&apos;t do it, i guess you can&apos;t do it... just seems like it might be FAR more useful if it worked as I expected it to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201534</commentid>
    <comment_count>4</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2010-03-18 13:48:24 -0700</bug_when>
    <thetext>Thinking about this further, it&apos;s odd that the behavior is different depending on whether or not you&apos;ve expanded it or not... perhaps the fix is to have it expanded by default, since that keeps the correct data then. Chances are pretty good you&apos;re going to want to see that data anyway since you&apos;re console.logging it. Or maybe just perform those same operations in the background and not update the UI...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201542</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-18 13:55:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thinking about this further, it&apos;s odd that the behavior is different depending
&gt; on whether or not you&apos;ve expanded it or not... perhaps the fix is to have it
&gt; expanded by default, since that keeps the correct data then. Chances are pretty
&gt; good you&apos;re going to want to see that data anyway since you&apos;re console.logging
&gt; it. Or maybe just perform those same operations in the background and not
&gt; update the UI...

What if the inspected value is on the second level? In either case, for debugging purposes one can always use toString or JSON.stringify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202025</commentid>
    <comment_count>6</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2010-03-19 14:01:41 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; What if the inspected value is on the second level? In either case, for
&gt; debugging purposes one can always use toString or JSON.stringify.

That&apos;s fair enough, this behavior in general still feels wrong to me though. But if I stand alone in that, well, then, I guess I stand alone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411929</commentid>
    <comment_count>7</comment_count>
    <who name="André Hänsel">andre</who>
    <bug_when>2011-05-28 19:27:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I don&apos;t think we are ever going to fix this one. We can&apos;t clone object upon dumping it into the console and we also can&apos;t listen to the object properties&apos; changes in order to make it always actual.

Why Firefox/Firebug can?

What use does the functionality of dumping objects have other than seeing the object *in the state it was in when being logged*?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496176</commentid>
    <comment_count>8</comment_count>
    <who name="Quentin">quentin.ambard</who>
    <bug_when>2011-11-04 05:59:48 -0700</bug_when>
    <thetext>I agree with André.
This can lead to very strange log behaviour when your are not aware of this problem, such as http://stackoverflow.com/questions/8007397/javascript-constructor-with-google-chrome-bugged</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554332</commentid>
    <comment_count>9</comment_count>
    <who name="Nick S">nschubach</who>
    <bug_when>2012-02-10 13:05:00 -0800</bug_when>
    <thetext>Here is another example of unexpected output for console.log()

http://jsfiddle.net/MeuXt/2/

You can see that toString() makes it output the correct value, but if you were to run that code without the toString(), you&apos;d think that the array was somehow magically updated before the code was run on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581738</commentid>
    <comment_count>10</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-03-19 06:49:02 -0700</bug_when>
    <thetext>*** Bug 75561 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680418</commentid>
    <comment_count>11</comment_count>
    <who name="Rohit Banga">iamrohitbanga</who>
    <bug_when>2012-07-27 04:09:33 -0700</bug_when>
    <thetext>I saw a problem today which I suspect is related to this bug.

   eventHandler1: function(arr) {
      this.mainArr.push(arr);
      console.log(this.mainArr);    // prints correct array
   }

   eventHandler2: function() {
      console.log(this.mainArr);    // prints [undefined x 1]    ... WAT!!!
      var arr = this.mainArr.pop();
      // use and get rid of arr
   }

 
eventHandler2 is invoked a few seconds after eventHandler1.
Because of the pop() call the value of mainArr is printed as [undefined x 1] in eventHandler2. If I just comment the call to pop() then the value is printed correctly. It seems console.log() is resolving the reference after it has been GC&apos;ed.

I also tried to invoke eventHandler2 immediately after eventHandler1 and managed to generate [undefined x 1] for both console.log() statements. So I would vaguely describe it as a race condition between GC and console renderer.

PS: Its 4 in the morning and I am too lazy to write a jsfiddle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681977</commentid>
    <comment_count>12</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2012-07-30 06:48:40 -0700</bug_when>
    <thetext>Downstream ticket: http://crbug.com/50316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685381</commentid>
    <comment_count>13</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2012-08-02 07:47:01 -0700</bug_when>
    <thetext>*** Bug 49501 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689171</commentid>
    <comment_count>14</comment_count>
      <attachid>156949</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-07 08:46:07 -0700</bug_when>
    <thetext>Created attachment 156949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690021</commentid>
    <comment_count>15</comment_count>
      <attachid>156949</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-08 00:37:58 -0700</bug_when>
    <thetext>Comment on attachment 156949
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptSource.js:714
&gt; +    /** @param {!Object} object*/

nit: Please add new lines

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:322
&gt; +            if (isArray &amp;&amp; name === &quot;length&quot;)

Why not skip it when creating an abbreviation?

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:327
&gt; +

extra line

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:329
&gt; +            if (!isArray || name != i) {

!==
When is this needed?

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:345
&gt; +                span.textContent = &quot;\&quot;&quot; + value.replace(/\n/g, &quot;\u21B5&quot;) + &quot;\&quot;&quot;;

I think trimmed string should also cause isLosslessAbbreviation = false;

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:725
&gt;                  return;

Please revert ConsoleView changes, as they were reviewed in another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690265</commentid>
    <comment_count>16</comment_count>
      <attachid>157204</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-08 06:40:34 -0700</bug_when>
    <thetext>Created attachment 157204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690270</commentid>
    <comment_count>17</comment_count>
      <attachid>157204</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-08-08 06:49:30 -0700</bug_when>
    <thetext>Comment on attachment 157204
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptSource.js:720
&gt; +        var previewPropertyCount = 0;

where is this used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690272</commentid>
    <comment_count>18</comment_count>
      <attachid>157204</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-08-08 06:54:14 -0700</bug_when>
    <thetext>Comment on attachment 157204
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:313
&gt; +              isLosslessPreview = false;

indent

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:344
&gt; +            if (type === &quot;object&quot;) {
&gt; +                var subtype = property[3];
&gt; +                if (subtype === &quot;node&quot;)
&gt; +                    span.addStyleClass(&quot;console-formatted-preview-node&quot;);
&gt; +                span.textContent = value;
&gt; +            } else if (type === &quot;string&quot;)
&gt; +                span.textContent = &quot;\&quot;&quot; + value.replace(/\n/g, &quot;\u21B5&quot;) + &quot;\&quot;&quot;;
&gt; +            else if (type === &quot;null&quot; || type === &quot;undefined&quot;)
&gt; +                span.textContent = type;
&gt; +            else
&gt; +                span.textContent = String(value);

switch (type)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690274</commentid>
    <comment_count>19</comment_count>
      <attachid>157208</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-08 06:55:21 -0700</bug_when>
    <thetext>Created attachment 157208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690293</commentid>
    <comment_count>20</comment_count>
      <attachid>157208</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-08 07:25:13 -0700</bug_when>
    <thetext>Comment on attachment 157208
Patch

Attachment 157208 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13449848</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690318</commentid>
    <comment_count>21</comment_count>
      <attachid>157208</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-08-08 07:55:06 -0700</bug_when>
    <thetext>Comment on attachment 157208
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptSource.js:775
&gt; +            if (!preview.length)
&gt; +                return undefined;

So what happens to empty arrays?

&gt; Source/WebCore/inspector/front-end/ConsoleMessage.js:340
&gt; +            } else if (type === &quot;string&quot;)
&gt; +                span.textContent = &quot;\&quot;&quot; + value.replace(/\n/g, &quot;\u21B5&quot;) + &quot;\&quot;&quot;;

This would turn &apos;a&quot;b&apos; into &quot;a&quot;b&quot; which would looks a bit weird. I think if we&apos;re adding outer quotes, we should escape string to make it parseable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690360</commentid>
    <comment_count>22</comment_count>
      <attachid>157228</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-08 08:37:59 -0700</bug_when>
    <thetext>Created attachment 157228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690381</commentid>
    <comment_count>23</comment_count>
      <attachid>157228</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-08 09:10:40 -0700</bug_when>
    <thetext>Comment on attachment 157228
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptSource.js:641
&gt; +            return obj.nodeType === 1 /* Node.ELEMENT_NODE */ ? &quot;&lt;&quot; + obj.nodeName.toLowerCase() + &quot;&gt;&quot; : obj.nodeName.toLowerCase();

doctype?

&gt; Source/WebCore/inspector/InjectedScriptSource.js:734
&gt; +                    overflow = true;

Please add lossless = false

&gt; Source/WebCore/inspector/InjectedScriptSource.js:753
&gt; +                const maxLength = 20;

100?

&gt; LayoutTests/inspector/console/console-format-expected.txt:58
&gt; +[/^url\(\s*(?:(?:&quot;(?:â¦] console-format.html:55

So regexps preview is lossy, we should add a tree view for such an object

&gt; LayoutTests/inspector/console/console-format-expected.txt:77
&gt; +&lt;body onload=&quot;onload()&quot;&gt; console-format.html:54

This change looks somewhat unexpected for me. Did you intend to change the way elements are printed?

&gt; LayoutTests/inspector/console/console-format.html:17
&gt; +    array.foo = {}; 

Why did this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690383</commentid>
    <comment_count>24</comment_count>
      <attachid>157228</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-08 09:11:17 -0700</bug_when>
    <thetext>Comment on attachment 157228
Patch

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

&gt; LayoutTests/inspector/console/console-format-expected.txt:122
&gt; +id=&quot;x&quot;&quot;x&quot;

I don&apos;t understand what is going on here. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690384</commentid>
    <comment_count>25</comment_count>
      <attachid>157228</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-08 09:12:02 -0700</bug_when>
    <thetext>Comment on attachment 157228
Patch

Attachment 157228 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13454538</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690462</commentid>
    <comment_count>26</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-08 10:22:44 -0700</bug_when>
    <thetext>Committed r125046: &lt;http://trac.webkit.org/changeset/125046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690572</commentid>
    <comment_count>27</comment_count>
      <attachid>157264</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-08-08 11:49:25 -0700</bug_when>
    <thetext>Created attachment 157264
Assertion backtrace

The EFL Debug bot is hitting this assertion after this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690582</commentid>
    <comment_count>28</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-08 12:04:35 -0700</bug_when>
    <thetext>I&apos;ll roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690597</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 12:13:44 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 93505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691588</commentid>
    <comment_count>30</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-08-09 10:51:38 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/125174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712042</commentid>
    <comment_count>31</comment_count>
    <who name="Pieter Wigboldus">webkit</who>
    <bug_when>2012-09-05 07:54:56 -0700</bug_when>
    <thetext>Please check e.g. this in your console:

var s = [&quot;hi&quot;];
console.log(s);
s[0] = &quot;bye&quot;;
console.log(s);

it show 2 times bye.
can be solved with 
console.log(s.toString());
or
console.log(s.slice());

In Firebug it show values that you expect, Chrome/Webkit show 2 times the last value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713069</commentid>
    <comment_count>32</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-09-06 02:28:16 -0700</bug_when>
    <thetext>That&apos;s what this patch fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780770</commentid>
    <comment_count>33</comment_count>
      <attachid>177112</attachid>
    <who name="Rohit Banga">iamrohitbanga</who>
    <bug_when>2012-12-01 13:36:42 -0800</bug_when>
    <thetext>Created attachment 177112
Screenshot showing that the length of an array is inconsistent.

I have an array called tabContent. I dump it to the console and its length. The length is now 1. The object dumped is not expanded initially.
Then I add another element to the array. Again print the same array.
Now when I expand both the first one shows the two elements inside when at the time of printing there was only one. Also the length, preview (unexpanded array) is inconsistent with what we see in the expanded view.

I am using Chrome Version 24.0.1312.27 beta.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156949</attachid>
            <date>2012-08-07 08:46:07 -0700</date>
            <delta_ts>2012-08-08 06:40:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35801-20120807194541.patch</filename>
            <type>text/plain</type>
            <size>77786</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0MzFmMjgxZjk4NjIx
ZTBmOTg4NWY4YWFlNzEyYTI4ZWEzMmEwMy4uZjcwYzI1ZTFkZTdkYTQyODU0OTllMTdiOTU3Mzk1
M2Y1MGZhNzI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTA4LTA3ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25z
b2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXMgb2YgdG9kYXksIGR1bXBpbmcgYW4gb2JqZWN0IChhcnJheSkgaW50byBjb25z
b2xlIHdpbGwgcmVzdWx0IGluIG9iamVjdHMnIHByb3BlcnRpZXMgYmVpbmcKKyAgICAgICAgcmVh
ZCB1cG9uIGNvbnNvbGUgb2JqZWN0IGV4cGFuc2lvbiAoaS5lLiBsYXppbHkpLiBUaGlzIG1lYW5z
IHRoYXQgZHVtcGluZyB0aGUgc2FtZSBvYmplY3Qgd2hpbGUKKyAgICAgICAgbXV0YXRpbmcgaXQg
d2lsbCBiZSBoYXJkIHRvIGRlYnVnIHVzaW5nIHRoZSBjb25zb2xlLgorCisgICAgICAgIFRoaXMg
Y2hhbmdlIHN0YXJ0cyBnZW5lcmF0aW5nIGFiYnJldmlhdGVkIHByZXZpZXdzIGZvciBvYmplY3Rz
IC8gYXJyYXlzIGF0IHRoZSBtb21lbnQgb2YgdGhlaXIKKyAgICAgICAgbG9nZ2luZyBhbmQgcGFz
c2VzIHRoaXMgaW5mb3JtYXRpb24gYWxvbmcgaW50byB0aGUgZnJvbnQtZW5kLiBUaGlzIG9ubHkg
aGFwcGVucyB3aGVuIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaXMgYWxyZWFkeSBvcGVuZWQuCisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyByZW1vdmVzICdzbWFydCcgaW5saW5lIGFycmF5cyBy
ZW5kZXJpbmcgaW4gZmF2b3VyIG9mIHRoZSBuZXcgYWJicmV2aWF0ZWQgcHJldmlldy4gCisgICAg
ICAgIER1bXBpbmcgY29uc29sZS5sb2coWzEsMiwzXSkgd2lsbCByZXN1bHQgaW4gWzEsMiwzXSwg
ZHVtcGluZyBbMSwyLDMsd2luZG93XSB3aWxsIHJlc3VsdCBpbiA+IFsxLDIsMyxXaW5kb3ddCisg
ICAgICAgIHdoZXJlICI+IiBhbGxvd3MgZXhwYW5kaW5nIHRoaXMgY29tcGxleCBub2RlLgorCisg
ICAgICAgIENvdmVyZWQgYnkgdGhlIGV4aXN0aW5nIGNvbnNvbGUgdGVzdHMgKyBjb2xsZWN0aW9u
cyB0ZXN0IGhhcyBiZWVuIGV4cGFuZGVkIHRvIGNhcHR1cmUgYm90aDogcHJlIGFuZCBwb3N0LQor
ICAgICAgICBmcm9udC1lbmQgb3BlbmluZyBzY2VuYXJpb3MuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZU1lc3NhZ2U6
OmFkZFRvRnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oOgor
ICAgICAgICAoQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNj
cmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdDo6d3JhcE9iamVjdCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6CisgICAgICAgIChJbmplY3Rl
ZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzOgor
ICAgICAgICAoLik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29uc29sZUFnZW50OjphZGRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdFBhcmFtZXRlcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0UGFy
YW1ldGVyQXNPYmplY3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1w
bC5wcm90b3R5cGUuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9iamVjdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZS5fYXBwZW5kT2JqZWN0UHJl
dmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlw
ZS5fZm9ybWF0UGFyYW1ldGVyQXNOb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRQYXJhbWV0ZXJBc0FycmF5KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRXaXRoU3Vi
c3RpdHV0aW9uU3RyaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVW
aWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5ydW5T
Y3JpcHQucnVuQ2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZS5ydW5TY3JpcHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZS5fcHJpbnRSZXN1bHQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9N
RXh0ZW5zaW9uLmpzOgorICAgICAgICAoRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlVGV4dENoaWxk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9u
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTZWN0aW9uLmpzOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0
LmZyb21QYXlsb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90
eXBlLmdldCBhYmJyZXZpYXRlZFByb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2VjdGlvbi5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3M6CisgICAgICAgICguY29uc29sZS1ncm91cC1tZXNzYWdlcyAuc2VjdGlvbiAuaGVhZGVy
IC50aXRsZSk6CisgICAgICAgICguY29uc29sZS1mb3JtYXR0ZWQtZnVuY3Rpb24pOgorICAgICAg
ICAoLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1lLCAu
Y29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IC5uYW1lKToKKwogMjAxMi0wOC0wNiAgQW5uYSBDYXZl
bmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3JlYXRlIGEgTWVkaWFTb3Vy
Y2Ugb2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAK
aW5kZXggMGFhOTgyODk5YmI2ODcwNTE0OWYyMDBhNDc0MjMzMTY0NzFjMmEyMi4uYjdjZmY0YTRi
OWViMzY4NjY3NzJiZTI2YWVmMmI4ODkzOTRmYTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgc3RhdGljIFR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkVudW0gbWVzc2FnZUxldmVs
VmFsdWUoTWVzc2EKICAgICByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpMZXZlbDo6TG9nOwogfQogCi12b2lkIENvbnNvbGVNZXNzYWdlOjphZGRUb0Zyb250ZW5k
KEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiBmcm9udGVuZCwgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCit2b2lkIENvbnNvbGVNZXNzYWdlOjphZGRUb0Zy
b250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiBmcm9udGVuZCwgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsIGJvb2wgYWJicmV2aWF0ZSkKIHsKICAg
ICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlPiBqc29uT2JqID0g
VHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpjcmVhdGUoKQogICAgICAgICAu
c2V0U291cmNlKG1lc3NhZ2VTb3VyY2VWYWx1ZShtX3NvdXJjZSkpCkBAIC0xNTEsNyArMTUxLDcg
QEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6
Q29uc29sZSogZnJvbnRlbmQsIEluamVjdGUKICAgICAgICAgaWYgKCFpbmplY3RlZFNjcmlwdC5o
YXNOb1ZhbHVlKCkpIHsKICAgICAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlw
ZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gPiBqc29uQXJncyA9IFR5cGVCdWlsZGVy
OjpBcnJheTxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0Pjo6Y3JlYXRlKCk7CiAg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9hcmd1bWVudHMtPmFyZ3VtZW50
Q291bnQoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50
aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3JpcHQud3JhcE9i
amVjdChtX2FyZ3VtZW50cy0+YXJndW1lbnRBdChpKSwgImNvbnNvbGUiKTsKKyAgICAgICAgICAg
ICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gaW5zcGVjdG9y
VmFsdWUgPSBpbmplY3RlZFNjcmlwdC53cmFwT2JqZWN0KG1fYXJndW1lbnRzLT5hcmd1bWVudEF0
KGkpLCAiY29uc29sZSIsIGFiYnJldmlhdGUpOwogICAgICAgICAgICAgICAgIGlmICghaW5zcGVj
dG9yVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKaW5kZXggYmQxYWJmNTkzOWZiNDdhYTVhYzU4ODQ3NWMwOTk3MzYwNjAzMTQ5
ZS4uMmFiZDAzNmZlZTBmNjhmOTkxYTYxNWU1NGIxMzdhZThiNTIxOTNkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGlj
OgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgY29uc3QgU3RyaW5nJiByZXNwb25zZVVybCwgY29uc3Qg
U3RyaW5nJiByZXF1ZXN0SWQpOwogICAgIH5Db25zb2xlTWVzc2FnZSgpOwogCi0gICAgdm9pZCBh
ZGRUb0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiwgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKik7CisgICAgdm9pZCBhZGRUb0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25z
b2xlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgYm9vbCBhYmJyZXZpYXRlKTsKICAgICB2b2lk
IHVwZGF0ZVJlcGVhdENvdW50SW5Db25zb2xlKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKik7
CiAgICAgdm9pZCBpbmNyZW1lbnRDb3VudCgpIHsgKyttX3JlcGVhdENvdW50OyB9CiAgICAgYm9v
bCBpc0VxdWFsKENvbnNvbGVNZXNzYWdlKiBtc2cpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKaW5kZXggYWE5YWRhMmE4NTRkYWVlZjYwN2RiNmEy
N2QxODM1YjUzZWU0Zjc0Mi4uMjkzMGJjMjlhMDQzYzY0MTJiOTIwOWQ5ZmQ3ZWY0MWRkYTI4M2Zk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC0x
ODAsMTMgKzE4MCwxNCBAQCBQYXNzUmVmUHRyPEFycmF5PENhbGxGcmFtZT4gPiBJbmplY3RlZFNj
cmlwdDo6d3JhcENhbGxGcmFtZXMoY29uc3QgU2NyaXB0VmFsdWUmCiB9CiAjZW5kaWYKIAotUGFz
c1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBJbmplY3RlZFNjcmlw
dDo6d3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFN0cmluZyYgZ3Jv
dXBOYW1lKSBjb25zdAorUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2Jq
ZWN0PiBJbmplY3RlZFNjcmlwdDo6d3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUs
IGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBib29sIGFiYnJldmlhdGUpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKCFoYXNOb1ZhbHVlKCkpOwogICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCB3cmFwRnVuY3Rp
b24oaW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgIndyYXBPYmplY3QiKTsKICAgICB3cmFwRnVuY3Rp
b24uYXBwZW5kQXJndW1lbnQodmFsdWUpOwogICAgIHdyYXBGdW5jdGlvbi5hcHBlbmRBcmd1bWVu
dChncm91cE5hbWUpOwogICAgIHdyYXBGdW5jdGlvbi5hcHBlbmRBcmd1bWVudChjYW5BY2Nlc3NJ
bnNwZWN0ZWRXaW5kb3coKSk7CisgICAgd3JhcEZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGFiYnJl
dmlhdGUpOwogICAgIGJvb2wgaGFkRXhjZXB0aW9uID0gZmFsc2U7CiAgICAgU2NyaXB0VmFsdWUg
ciA9IGNhbGxGdW5jdGlvbldpdGhFdmFsRW5hYmxlZCh3cmFwRnVuY3Rpb24sIGhhZEV4Y2VwdGlv
bik7CiAgICAgaWYgKGhhZEV4Y2VwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuaAppbmRleCBkYmIxYTIyYmQ2MGJlZjhkN2U3ZTQ5Y2Q0MmFkMDFjNGJjMzY0
MjI4Li40ZDI2OTUzYmRjMDBkYjllZTI5Mjc0ZDc2YTMwMTBmOGMwZDMzMjVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtODYsNyArODYsNyBAQCBwdWJs
aWM6CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OkRlYnVn
Z2VyOjpDYWxsRnJhbWU+ID4gd3JhcENhbGxGcmFtZXMoY29uc3QgU2NyaXB0VmFsdWUmKTsKICNl
bmRpZgogCi0gICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiB3cmFwT2JqZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUp
IGNvbnN0OworICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4gd3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1l
LCBib29sIGFiYnJldmlhdGUgPSBmYWxzZSkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVp
bGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiB3cmFwTm9kZShOb2RlKiwgY29uc3QgU3RyaW5n
JiBncm91cE5hbWUpOwogICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90
ZU9iamVjdD4gd3JhcFNlcmlhbGl6ZWRPYmplY3QoU2VyaWFsaXplZFNjcmlwdFZhbHVlKiwgY29u
c3QgU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0OwogICAgIFNjcmlwdFZhbHVlIGZpbmRPYmplY3RC
eUlkKGNvbnN0IFN0cmluZyYgb2JqZWN0SWQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCmluZGV4IDAzMzVjOTg2ODY0YmY4Njg4
NDVmZThhYzRlOWNhOTM3ZDdiYWU0MjIuLmMwMzVmNmMxZDM1OTZhYTZlOGM3Y2JlOGRmYjJhYzI3
NzllYTExYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdFNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuanMKQEAgLTcxLDEyICs3MSwxMyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUg
PSB7CiAgICAgICogQHBhcmFtIHsqfSBvYmplY3QKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZ3Jv
dXBOYW1lCiAgICAgICogQHBhcmFtIHtib29sZWFufSBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3cK
KyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFiYnJldmlhdGUKICAgICAgKiBAcmV0dXJuIHtPYmpl
Y3R9CiAgICAgICovCi0gICAgd3JhcE9iamVjdDogZnVuY3Rpb24ob2JqZWN0LCBncm91cE5hbWUs
IGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdykKKyAgICB3cmFwT2JqZWN0OiBmdW5jdGlvbihvYmpl
Y3QsIGdyb3VwTmFtZSwgY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93LCBhYmJyZXZpYXRlKQogICAg
IHsKICAgICAgICAgaWYgKGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdykKLSAgICAgICAgICAgIHJl
dHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lKTsKKyAgICAgICAgICAgIHJl
dHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lLCBmYWxzZSwgYWJicmV2aWF0
ZSk7CiAKICAgICAgICAgdmFyIHJlc3VsdCA9IHt9OwogICAgICAgICByZXN1bHQudHlwZSA9IHR5
cGVvZiBvYmplY3Q7CkBAIC0xMjgsMTIgKzEyOSwxMyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5
cGUgPSB7CiAgICAgICogQHBhcmFtIHsqfSBvYmplY3QKICAgICAgKiBAcGFyYW0ge3N0cmluZz19
IG9iamVjdEdyb3VwTmFtZQogICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGZvcmNlVmFsdWVUeXBl
CisgICAgICogQHBhcmFtIHtib29sZWFuPX0gYWJicmV2aWF0ZQogICAgICAqIEByZXR1cm4ge0lu
amVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdH0KICAgICAgKi8KLSAgICBfd3JhcE9iamVjdDogZnVu
Y3Rpb24ob2JqZWN0LCBvYmplY3RHcm91cE5hbWUsIGZvcmNlVmFsdWVUeXBlKQorICAgIF93cmFw
T2JqZWN0OiBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUs
IGFiYnJldmlhdGUpCiAgICAgewogICAgICAgICB0cnkgewotICAgICAgICAgICAgcmV0dXJuIG5l
dyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3Qob2JqZWN0LCBvYmplY3RHcm91cE5hbWUsIGZv
cmNlVmFsdWVUeXBlKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVt
b3RlT2JqZWN0KG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBmb3JjZVZhbHVlVHlwZSwgYWJicmV2
aWF0ZSk7CiAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIHRyeSB7CiAgICAgICAg
ICAgICAgICAgdmFyIGRlc2NyaXB0aW9uID0gaW5qZWN0ZWRTY3JpcHQuX2Rlc2NyaWJlKGUpOwpA
QCAtNDA0LDcgKzQwNiw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICB7CiAg
ICAgICAgIHRyeSB7CiAgICAgICAgICAgICByZXR1cm4geyB3YXNUaHJvd246IGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRl
T24oZXZhbEZ1bmN0aW9uLCBvYmplY3QsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBp
bmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlKSB9OworICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRl
T24oZXZhbEZ1bmN0aW9uLCBvYmplY3QsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBp
bmplY3RDb21tYW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlLCB0cnVlKSB9
OwogICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRl
VGhyb3duVmFsdWUoZSwgb2JqZWN0R3JvdXApOwogICAgICAgICB9CkBAIC02MzEsNiArNjMzLDkg
QEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogICAgICAgICBpZiAoc3VidHlwZSA9PT0g
ImRhdGUiKQogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RvU3RyaW5nKG9iaik7CiAKKyAgICAg
ICAgaWYgKHN1YnR5cGUgPT09ICJub2RlIikKKyAgICAgICAgICAgIHJldHVybiAiPCIgKyBvYmou
bm9kZU5hbWUudG9Mb3dlckNhc2UoKSArICI+IjsKKwogICAgICAgICB2YXIgY2xhc3NOYW1lID0g
SW5qZWN0ZWRTY3JpcHRIb3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iaik7CiAgICAgICAg
IGlmIChzdWJ0eXBlID09PSAiYXJyYXkiKSB7CiAgICAgICAgICAgICBpZiAodHlwZW9mIG9iai5s
ZW5ndGggPT09ICJudW1iZXIiKQpAQCAtNjc0LDggKzY3OSw5IEBAIHZhciBpbmplY3RlZFNjcmlw
dCA9IG5ldyBJbmplY3RlZFNjcmlwdCgpOwogICogQHBhcmFtIHsqfSBvYmplY3QKICAqIEBwYXJh
bSB7c3RyaW5nPX0gb2JqZWN0R3JvdXBOYW1lCiAgKiBAcGFyYW0ge2Jvb2xlYW49fSBmb3JjZVZh
bHVlVHlwZQorICogQHBhcmFtIHtib29sZWFuPX0gYWJicmV2aWF0ZQogICovCi1JbmplY3RlZFNj
cmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9y
Y2VWYWx1ZVR5cGUpCitJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmpl
Y3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUsIGFiYnJldmlhdGUpCiB7CiAgICAg
dGhpcy50eXBlID0gdHlwZW9mIG9iamVjdDsKICAgICBpZiAoaW5qZWN0ZWRTY3JpcHQuaXNQcmlt
aXRpdmVWYWx1ZShvYmplY3QpIHx8IG9iamVjdCA9PT0gbnVsbCB8fCBmb3JjZVZhbHVlVHlwZSkg
ewpAQCAtNjk0LDEzICs3MDAsODUgQEAgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0ID0gZnVu
Y3Rpb24ob2JqZWN0LCBvYmplY3RHcm91cE5hbWUsIGZvcmNlVmFsdWVUeXBlKQogICAgIH0KIAog
ICAgIHRoaXMub2JqZWN0SWQgPSBpbmplY3RlZFNjcmlwdC5fYmluZChvYmplY3QsIG9iamVjdEdy
b3VwTmFtZSk7Ci0gICAgdmFyIHN1YnR5cGUgPSBpbmplY3RlZFNjcmlwdC5fc3VidHlwZShvYmpl
Y3QpCisgICAgdmFyIHN1YnR5cGUgPSBpbmplY3RlZFNjcmlwdC5fc3VidHlwZShvYmplY3QpOwog
ICAgIGlmIChzdWJ0eXBlKQogICAgICAgICB0aGlzLnN1YnR5cGUgPSBzdWJ0eXBlOwogICAgIHRo
aXMuY2xhc3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1l
KG9iamVjdCk7CiAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGluamVjdGVkU2NyaXB0Ll9kZXNjcmli
ZShvYmplY3QpOworCisgICAgaWYgKGFiYnJldmlhdGUgJiYgdGhpcy50eXBlID09PSAib2JqZWN0
IiB8fCBpbmplY3RlZFNjcmlwdC5faXNIVE1MQWxsQ29sbGVjdGlvbihvYmplY3QpKQorICAgICAg
ICB0aGlzLmFiYnJldmlhdGVkID0gdGhpcy5fYWJicmV2aWF0ZSgvKiogQHR5cGUgeyFPYmplY3R9
ICovIG9iamVjdCk7CiB9CiAKK0luamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdC5wcm90b3R5cGUg
PSB7CisgICAgLyoqIEBwYXJhbSB7IU9iamVjdH0gb2JqZWN0Ki8KKyAgICBfYWJicmV2aWF0ZTog
ZnVuY3Rpb24ob2JqZWN0KQorICAgIHsKKyAgICAgICAgdmFyIGFiYnJldmlhdGVkID0gW107Cisg
ICAgICAgIHZhciBhYmJyZXZpYXRlZFByb3BlcnR5Q291bnQgPSAwOworICAgICAgICB2YXIgZWxl
bWVudHNUb0R1bXAgPSB0aGlzLnN1YnR5cGUgPT09ICJhcnJheSIgPyAxMCA6IDU7CisgIAorICAg
ICAgICB2YXIgcHJvcGVydHlOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iamVj
dCk7IAorICAgICAgICB0cnkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9w
ZXJ0eU5hbWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGFiYnJldmlhdGVk
Lmxlbmd0aCA+PSBlbGVtZW50c1RvRHVtcCkgeworICAgICAgICAgICAgICAgICAgICBhYmJyZXZp
YXRlZC5wdXNoKG51bGwpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBwcm9wZXJ0eU5hbWVzW2ldOworICAg
ICAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihvYmplY3QsIG5hbWUpOworICAgICAgICAgICAgICAgIGlmICghKCJ2YWx1ZSIgaW4gZGVz
Y3JpcHRvcikgfHwgIWRlc2NyaXB0b3IuZW51bWVyYWJsZSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBkZXNjcmlwdG9yLnZhbHVl
OworICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgeworICAgICAgICAgICAgICAg
ICAgICBhYmJyZXZpYXRlZC5wdXNoKFtuYW1lLCAibnVsbCJdKTsKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgIGNv
bnN0IG1heExlbmd0aCA9IDIwOworICAgICAgICAgICAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZh
bHVlOworCisgICAgICAgICAgICAgICAgaWYgKEluamVjdGVkU2NyaXB0LnByaW1pdGl2ZVR5cGVz
W3R5cGVdKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAic3RyaW5nIikKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fYWJicmV2aWF0ZVN0cmluZyh2YWx1
ZSwgbWF4TGVuZ3RoLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgYWJicmV2aWF0ZWQucHVz
aChbbmFtZSwgdHlwZSwgdmFsdWUgKyAiIl0pOworICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09
ICJmdW5jdGlvbiIpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoID0gL2Z1bmN0aW9u
XHMqKFteXHMoXSspLy5leGVjKHZhbHVlICsgIiIpOworICAgICAgICAgICAgICAgICAgICBhYmJy
ZXZpYXRlZC5wdXNoKFtuYW1lLCB0eXBlLCB0aGlzLl9hYmJyZXZpYXRlU3RyaW5nKG1hdGNoID8g
bWF0Y2hbMV0gKyAiKCkiIDogdmFsdWUgKyAiIiwgbWF4TGVuZ3RoKV0pOworICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAgICAg
ICAgdmFyIHN1YnR5cGUgPSBpbmplY3RlZFNjcmlwdC5fc3VidHlwZSh2YWx1ZSk7CisgICAgICAg
ICAgICAgICAgYWJicmV2aWF0ZWQucHVzaChbbmFtZSwgdHlwZSwgdGhpcy5fYWJicmV2aWF0ZVN0
cmluZyhpbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUodmFsdWUpLCBtYXhMZW5ndGgpLCBzdWJ0eXBl
XSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gYWJicmV2aWF0ZWQubGVuZ3Ro
ID8gYWJicmV2aWF0ZWQgOiB1bmRlZmluZWQ7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisg
ICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZworICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhM
ZW5ndGgKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBtaWRkbGUKKyAgICAgKiBAcmV0dXJucwor
ICAgICAqLworICAgIF9hYmJyZXZpYXRlU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcsIG1heExlbmd0
aCwgbWlkZGxlKQorICAgIHsKKyAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPD0gbWF4TGVuZ3Ro
KQorICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKKyAgICAgICAgaWYgKG1pZGRsZSkgeworICAg
ICAgICAgICAgdmFyIGxlZnRIYWxmID0gbWF4TGVuZ3RoID4+IDE7CisgICAgICAgICAgICB2YXIg
cmlnaHRIYWxmID0gbWF4TGVuZ3RoIC0gbGVmdEhhbGYgLSAxOworICAgICAgICAgICAgcmV0dXJu
IHN0cmluZy5zdWJzdHIoMCwgbGVmdEhhbGYpICsgIlx1MjAyNiIgKyBzdHJpbmcuc3Vic3RyKHN0
cmluZy5sZW5ndGggLSByaWdodEhhbGYsIHJpZ2h0SGFsZik7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIHN0cmluZy5zdWJzdHIoMCwgbWF4TGVuZ3RoKSArICJcdTIwMjYiOworICAgIH0KK30K
IC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge251bWJlcn0gb3JkaW5hbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDAxYTU5YmU2OWNjMThlZmYyMmFj
ODExMDAxMzBmOGU0NjY5NmI2ODYuLjM0YzI3ZjZlNjgzYTA4NDExYjY1MDRjNDgwY2ZjNzgxYjlm
NTI0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTQ0OCw3
ICs0NDgsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNsYXNzTmFtZSIsICJ0
eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJPYmplY3Qg
Y2xhc3MgKGNvbnN0cnVjdG9yKSBuYW1lLiBTcGVjaWZpZWQgZm9yIDxjb2RlPm9iamVjdDwvY29k
ZT4gdHlwZSB2YWx1ZXMgb25seS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dmFsdWUiLCAidHlwZSI6ICJhbnkiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
UmVtb3RlIG9iamVjdCB2YWx1ZSAoaW4gY2FzZSBvZiBwcmltaXRpdmUgdmFsdWVzIG9yIEpTT04g
dmFsdWVzIGlmIGl0IHdhcyByZXF1ZXN0ZWQpLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJkZXNjcmlwdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC4iIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAiJHJlZiI6ICJSZW1v
dGVPYmplY3RJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2Jq
ZWN0IGlkZW50aWZpZXIgKGZvciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9CisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAiJHJlZiI6ICJSZW1vdGVPYmplY3RJZCIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2JqZWN0IGlkZW50aWZp
ZXIgKGZvciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9LAorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImFiYnJldmlhdGVkIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0eXBl
IjogIm9iamVjdCIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkFiYnJldmlh
dGVkIG9iamVjdCBjb250YWluaW5nIHNvbWUgb2YgdGhlIG9yaWdpbmFsIG9iamVjdCdzIHByb3Bl
cnRpZXMuIiwgImhpZGRlbiI6IHRydWUgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAg
IH0sCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb25zb2xlQWdlbnQuY3BwCmluZGV4IDI3MGM0YWVhMDNiMWUxOTdlZjMyNzk0MzczOWQw
MmU4NjE0ZDc5YjguLmNhMTkxODk3NDIzZDBlNWQ1ZjE3NzczMWEwMzQ3MjAzOTM3YzVjYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwCkBAIC04MywxMiArODMsMTIgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmVuYWJs
ZShFcnJvclN0cmluZyopCiAKICAgICBpZiAobV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkg
ewogICAgICAgICBDb25zb2xlTWVzc2FnZSBleHBpcmVkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgi
JWQgY29uc29sZSBtZXNzYWdlcyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNz
YWdlQ291bnQpLCAiIiwgMCwgIiIpOwotICAgICAgICBleHBpcmVkTWVzc2FnZS5hZGRUb0Zyb250
ZW5kKG1fZnJvbnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKTsKKyAgICAgICAgZXhwaXJl
ZE1lc3NhZ2UuYWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
ciwgZmFsc2UpOwogICAgIH0KIAogICAgIHNpemVfdCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVN
ZXNzYWdlcy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7
ICsraSkKLSAgICAgICAgbV9jb25zb2xlTWVzc2FnZXNbaV0tPmFkZFRvRnJvbnRlbmQobV9mcm9u
dGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpOworICAgICAgICBtX2NvbnNvbGVNZXNzYWdl
c1tpXS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlciwg
ZmFsc2UpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlzYWJsZShFcnJvclN0
cmluZyopCkBAIC0yODEsNyArMjgxLDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFk
ZENvbnNvbGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGUKICAgICAg
ICAgbV9wcmV2aW91c01lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZS5nZXQoKTsKICAgICAgICAgbV9j
b25zb2xlTWVzc2FnZXMuYXBwZW5kKGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgaWYgKG1fZnJv
bnRlbmQgJiYgbV9zdGF0ZS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6Y29uc29sZU1l
c3NhZ2VzRW5hYmxlZCkpCi0gICAgICAgICAgICBtX3ByZXZpb3VzTWVzc2FnZS0+YWRkVG9Gcm9u
dGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcik7CisgICAgICAgICAgICBt
X3ByZXZpb3VzTWVzc2FnZS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlciwgdHJ1ZSk7CiAgICAgfQogCiAgICAgaWYgKCFtX2Zyb250ZW5kICYmIG1fY29u
c29sZU1lc3NhZ2VzLnNpemUoKSA+PSBtYXhpbXVtQ29uc29sZU1lc3NhZ2VzKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwpp
bmRleCA0OWRiY2ViMDlmNDhmNjEzMzJkZTA4OTQxMzg1OGZjYzU1ODU5NzE0Li5iMTA4NGUyOWNi
ZDc0NTc3ZDEzOTYyMzI0YTcxZmIzMTEwYTAxZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTIyNSw3ICsyMjUs
NyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIGlmIChzaG91bGRGb3JtYXRNZXNzYWdlICYmIHBhcmFtZXRlcnNbaV0udHlwZSA9PT0g
InN0cmluZyIpCiAgICAgICAgICAgICAgICAgZm9ybWF0dGVkUmVzdWx0LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKHBhcmFtZXRlcnNbaV0uZGVzY3JpcHRpb24pKTsKICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQo
dGhpcy5fZm9ybWF0UGFyYW1ldGVyKHBhcmFtZXRlcnNbaV0pKTsKKyAgICAgICAgICAgICAgICBm
b3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQodGhpcy5fZm9ybWF0UGFyYW1ldGVyKHBhcmFtZXRl
cnNbaV0sIGZhbHNlLCB0cnVlKSk7CiAgICAgICAgICAgICBpZiAoaSA8IHBhcmFtZXRlcnMubGVu
Z3RoIC0gMSkKICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSk7CiAgICAgICAgIH0KQEAgLTIzNCw4ICsyMzQsOSBA
QCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGZvcmNlT2JqZWN0Rm9ybWF0CisgICAgICogQHBh
cmFtIHtib29sZWFuPX0gdG9wTGV2ZWwKICAgICAgKi8KLSAgICBfZm9ybWF0UGFyYW1ldGVyOiBm
dW5jdGlvbihvdXRwdXQsIGZvcmNlT2JqZWN0Rm9ybWF0KQorICAgIF9mb3JtYXRQYXJhbWV0ZXI6
IGZ1bmN0aW9uKG91dHB1dCwgZm9yY2VPYmplY3RGb3JtYXQsIHRvcExldmVsKQogICAgIHsKICAg
ICAgICAgdmFyIHR5cGU7CiAgICAgICAgIGlmIChmb3JjZU9iamVjdEZvcm1hdCkKQEAgLTI1Myw3
ICsyNTQsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsK
IAogICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAg
ICAgICAgc3Bhbi5jbGFzc05hbWUgPSAiY29uc29sZS1mb3JtYXR0ZWQtIiArIHR5cGUgKyAiIHNv
dXJjZS1jb2RlIjsKLSAgICAgICAgZm9ybWF0dGVyLmNhbGwodGhpcywgb3V0cHV0LCBzcGFuKTsK
KyAgICAgICAgZm9ybWF0dGVyLmNhbGwodGhpcywgb3V0cHV0LCBzcGFuLCB0b3BMZXZlbCk7CiAg
ICAgICAgIHJldHVybiBzcGFuOwogICAgIH0sCiAKQEAgLTI2MiwxMyArMjYzLDk1IEBAIFdlYklu
c3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAgICAgICBlbGVtLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHZhbCkpOwogICAgIH0sCiAKLSAgICBf
Zm9ybWF0UGFyYW1ldGVyQXNPYmplY3Q6IGZ1bmN0aW9uKG9iaiwgZWxlbSkKKyAgICBfZm9ybWF0
UGFyYW1ldGVyQXNPYmplY3Q6IGZ1bmN0aW9uKG9iaiwgZWxlbSwgYWJicmV2aWF0ZSkKICAgICB7
Ci0gICAgICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVz
U2VjdGlvbihvYmosIG9iai5kZXNjcmlwdGlvbik7CisgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFt
ZXRlckFzQXJyYXlPck9iamVjdChvYmosIG9iai5kZXNjcmlwdGlvbiwgZWxlbSwgYWJicmV2aWF0
ZSk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdH0gb2JqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uCisgICAgICog
QHBhcmFtIHtFbGVtZW50fSBlbGVtCisgICAgICogQHBhcmFtIHtib29sZWFufSBhYmJyZXZpYXRl
CisgICAgICovCisgICAgX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9iamVjdDogZnVuY3Rpb24o
b2JqLCBkZXNjcmlwdGlvbiwgZWxlbSwgYWJicmV2aWF0ZSkKKyAgICB7CisgICAgICAgIHZhciB0
aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIGlm
IChkZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQo
ZGVzY3JpcHRpb24pOworICAgICAgICBpZiAoYWJicmV2aWF0ZSAmJiBvYmouYWJicmV2aWF0ZWRQ
cm9wZXJ0aWVzKSB7CisgICAgICAgICAgICB2YXIgbG9zc2xlc3MgPSB0aGlzLl9hcHBlbmRPYmpl
Y3RQcmV2aWV3KG9iaiwgZGVzY3JpcHRpb24sIHRpdGxlRWxlbWVudCk7CisgICAgICAgICAgICBp
ZiAobG9zc2xlc3MpIHsKKyAgICAgICAgICAgICAgICBlbGVtLmFwcGVuZENoaWxkKHRpdGxlRWxl
bWVudCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVz
U2VjdGlvbihvYmosIHRpdGxlRWxlbWVudCk7CiAgICAgICAgIHNlY3Rpb24uZW5hYmxlQ29udGV4
dE1lbnUoKTsKICAgICAgICAgZWxlbS5hcHBlbmRDaGlsZChzZWN0aW9uLmVsZW1lbnQpOwogICAg
IH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3R9
IG9iagorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbgorICAgICAqIEBwYXJhbSB7
RWxlbWVudH0gdGl0bGVFbGVtZW50CisgICAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZmYg
YWJicmV2aWF0aW9uIGNhcHR1cmVkIGFsbCBpbmZvcm1hdGlvbi4KKyAgICAgKi8KKyAgICBfYXBw
ZW5kT2JqZWN0UHJldmlldzogZnVuY3Rpb24ob2JqLCBkZXNjcmlwdGlvbiwgdGl0bGVFbGVtZW50
KQorICAgIHsKKyAgICAgICAgdmFyIGFiYnJldmlhdGVkID0gb2JqLmFiYnJldmlhdGVkUHJvcGVy
dGllczsKKyAgICAgICAgdmFyIGlzTG9zc2xlc3NBYmJyZXZpYXRpb24gPSB0cnVlOworICAgICAg
ICAKKyAgICAgICAgdmFyIGlzQXJyYXkgPSBvYmouc3VidHlwZSA9PT0gImFycmF5IjsKKworICAg
ICAgICBpZiAoZGVzY3JpcHRpb24pCisgICAgICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlVGV4
dENoaWxkKCIgIik7CisgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQoaXNBcnJh
eSA/ICJbIiA6ICJ7Iik7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWJicmV2aWF0ZWQu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IGFiYnJldmlhdGVkW2ld
OworICAgICAgICAgICAgaWYgKCFwcm9wZXJ0eSkgeworICAgICAgICAgICAgICAgIHRpdGxlRWxl
bWVudC5jcmVhdGVDaGlsZCgic3BhbiIpLnRleHRDb250ZW50ID0gIlx1MjAyNiI7CisgICAgICAg
ICAgICAgICAgaXNMb3NzbGVzc0FiYnJldmlhdGlvbiA9IGZhbHNlOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnR5
WzBdOworICAgICAgICAgICAgdmFyIHR5cGUgPSBwcm9wZXJ0eVsxXTsKKyAgICAgICAgICAgIHZh
ciB2YWx1ZSA9IHByb3BlcnR5WzJdOworCisgICAgICAgICAgICBpZiAoaXNBcnJheSAmJiBuYW1l
ID09PSAibGVuZ3RoIikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
aWYgKGkgPiAwKQorICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQo
IiwgIik7CisKKworICAgICAgICAgICAgaWYgKCFpc0FycmF5IHx8IG5hbWUgIT0gaSkgeworICAg
ICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIsICJuYW1lIikudGV4
dENvbnRlbnQgPSBuYW1lOworICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0
Q2hpbGQoIjogIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZhciBzcGFuID0gdGl0
bGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFuIiwgImNvbnNvbGUtZm9ybWF0dGVkLSIgKyB0eXBl
KTsKKyAgICAgICAgICAgIGlmICh0eXBlID09PSAib2JqZWN0IikgeworICAgICAgICAgICAgICAg
IHZhciBzdWJ0eXBlID0gcHJvcGVydHlbM107CisgICAgICAgICAgICAgICAgaWYgKHN1YnR5cGUg
PT09ICJub2RlIikKKyAgICAgICAgICAgICAgICAgICAgc3Bhbi5hZGRTdHlsZUNsYXNzKCJjb25z
b2xlLWZvcm1hdHRlZC1hYmJyZXZpYXRlZC1ub2RlIik7CisgICAgICAgICAgICAgICAgaXNMb3Nz
bGVzc0FiYnJldmlhdGlvbiA9IGZhbHNlOworICAgICAgICAgICAgICAgIHNwYW4udGV4dENvbnRl
bnQgPSB2YWx1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gImZ1bmN0aW9uIikg
eworICAgICAgICAgICAgICAgIGlzTG9zc2xlc3NBYmJyZXZpYXRpb24gPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gdmFsdWU7CisgICAgICAgICAgICB9IGVsc2Ug
aWYgKHR5cGUgPT09ICJzdHJpbmciKQorICAgICAgICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQg
PSAiXCIiICsgdmFsdWUucmVwbGFjZSgvXG4vZywgIlx1MjFCNSIpICsgIlwiIjsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKHR5cGUgPT09ICJudWxsIiB8fCB0eXBlID09PSAidW5kZWZpbmVkIikKKyAg
ICAgICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gdHlwZTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gU3RyaW5nKHZhbHVlKTsKKyAgICAg
ICAgfQorICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlVGV4dENoaWxkKGlzQXJyYXkgPyAiXSIg
OiAifSIpOworICAgICAgICByZXR1cm4gaXNMb3NzbGVzc0FiYnJldmlhdGlvbjsKKyAgICB9LAor
CiAgICAgX2Zvcm1hdFBhcmFtZXRlckFzTm9kZTogZnVuY3Rpb24ob2JqZWN0LCBlbGVtKQogICAg
IHsKICAgICAgICAgZnVuY3Rpb24gcHJpbnROb2RlKG5vZGVJZCkKQEAgLTI3Niw3ICszNTksNyBA
QCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIGlmICghbm9kZUlkKSB7CiAgICAgICAgICAgICAgICAgLy8gU29tZXRpbWVzIERPTSBpcyBs
b2FkZWQgYWZ0ZXIgdGhlIHN5bmMgbWVzc2FnZSBpcyBiZWluZyBmb3JtYXR0ZWQsIHNvIHdlIGdl
dCBubwogICAgICAgICAgICAgICAgIC8vIG5vZGVJZCBoZXJlLiBTbyB3ZSBmYWxsIGJhY2sgdG8g
b2JqZWN0IGZvcm1hdHRpbmcgaGVyZS4KLSAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRQYXJh
bWV0ZXJBc09iamVjdChvYmplY3QsIGVsZW0pOworICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1h
dFBhcmFtZXRlckFzT2JqZWN0KG9iamVjdCwgZWxlbSwgZmFsc2UpOwogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHZhciB0cmVlT3V0bGluZSA9IG5l
dyBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZShmYWxzZSwgZmFsc2UsIHRydWUpOwpA
QCAtMjkzLDExICszNzYsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3Rv
dHlwZSA9IHsKIAogICAgIF9mb3JtYXRQYXJhbWV0ZXJBc0FycmF5OiBmdW5jdGlvbihhcnJheSwg
ZWxlbSkKICAgICB7Ci0gICAgICAgIGNvbnN0IG1heEZsYXRBcnJheUxlbmd0aCA9IDEwMDsKLSAg
ICAgICAgaWYgKGFycmF5LmFycmF5TGVuZ3RoKCkgPiBtYXhGbGF0QXJyYXlMZW5ndGgpCi0gICAg
ICAgICAgICB0aGlzLl9mb3JtYXRQYXJhbWV0ZXJBc09iamVjdChhcnJheSwgZWxlbSk7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIGFycmF5LmdldE93blByb3BlcnRpZXModGhpcy5fcHJpbnRB
cnJheS5iaW5kKHRoaXMsIGFycmF5LCBlbGVtKSk7CisgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFt
ZXRlckFzQXJyYXlPck9iamVjdChhcnJheSwgYXJyYXkuYWJicmV2aWF0ZWRQcm9wZXJ0aWVzID8g
IiIgOiBhcnJheS5kZXNjcmlwdGlvbiwgZWxlbSwgdHJ1ZSk7CiAgICAgfSwKIAogICAgIF9mb3Jt
YXRQYXJhbWV0ZXJBc1N0cmluZzogZnVuY3Rpb24ob3V0cHV0LCBlbGVtKQpAQCAtMzEzLDY0ICsz
OTIsMTMgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlwiIikpOwog
ICAgIH0sCiAKLSAgICBfcHJpbnRBcnJheTogZnVuY3Rpb24oYXJyYXksIGVsZW0sIHByb3BlcnRp
ZXMpCi0gICAgewotICAgICAgICBpZiAoIXByb3BlcnRpZXMpCi0gICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgdmFyIGVsZW1lbnRzID0gW107Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgcHJvcGVydGllcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0g
cHJvcGVydGllc1tpXTsKLSAgICAgICAgICAgIHZhciBuYW1lID0gcHJvcGVydHkubmFtZTsKLSAg
ICAgICAgICAgIGlmICghaXNOYU4obmFtZSkpCi0gICAgICAgICAgICAgICAgZWxlbWVudHNbbmFt
ZV0gPSB0aGlzLl9mb3JtYXRBc0FycmF5RW50cnkocHJvcGVydHkudmFsdWUpOwotICAgICAgICB9
Ci0KLSAgICAgICAgZWxlbS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiWyIp
KTsKLSAgICAgICAgdmFyIGxhc3ROb25FbXB0eUluZGV4ID0gLTE7Ci0KLSAgICAgICAgZnVuY3Rp
b24gYXBwZW5kVW5kZWZpbmVkKGVsZW0sIGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoaW5kZXggLSBsYXN0Tm9uRW1wdHlJbmRleCA8PSAxKQotICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgIHZhciBzcGFuID0gZWxlbS5jcmVhdGVDaGlsZChzcGFuLCAiY29uc29s
ZS1mb3JtYXR0ZWQtdW5kZWZpbmVkIik7Ci0gICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJ1bmRlZmluZWQgw5cgJWQiLCBpbmRleCAtIGxhc3ROb25F
bXB0eUluZGV4IC0gMSk7Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXku
YXJyYXlMZW5ndGgoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkg
ewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBlbGVtZW50c1tpXTsKLSAgICAgICAgICAgIGlm
ICghZWxlbWVudCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgaWYg
KGkgLSBsYXN0Tm9uRW1wdHlJbmRleCA+IDEpIHsKLSAgICAgICAgICAgICAgICBhcHBlbmRVbmRl
ZmluZWQoZWxlbSwgaSk7Ci0gICAgICAgICAgICAgICAgZWxlbS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiLCAiKSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGVs
ZW0uYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgICAgICAgICBsYXN0Tm9uRW1wdHlJbmRleCA9
IGk7Ci0gICAgICAgICAgICBpZiAoaSA8IGxlbmd0aCAtIDEpCi0gICAgICAgICAgICAgICAgZWxl
bS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiLCAiKSk7Ci0gICAgICAgIH0g
ICAgICAgCi0gICAgICAgIGFwcGVuZFVuZGVmaW5lZChlbGVtLCBsZW5ndGgpOwotCi0gICAgICAg
IGVsZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIl0iKSk7Ci0gICAgfSwK
LQotICAgIF9mb3JtYXRBc0FycmF5RW50cnk6IGZ1bmN0aW9uKG91dHB1dCkKLSAgICB7Ci0gICAg
ICAgIC8vIFByZXZlbnQgaW5maW5pdGUgZXhwYW5zaW9uIG9mIGNyb3NzLXJlZmVyZW5jaW5nIGFy
cmF5cy4KLSAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBhcmFtZXRlcihvdXRwdXQsIG91dHB1
dC5zdWJ0eXBlICYmIG91dHB1dC5zdWJ0eXBlID09PSAiYXJyYXkiKTsKLSAgICB9LAotCiAgICAg
X2Zvcm1hdFdpdGhTdWJzdGl0dXRpb25TdHJpbmc6IGZ1bmN0aW9uKHBhcmFtZXRlcnMsIGZvcm1h
dHRlZFJlc3VsdCkKICAgICB7CiAgICAgICAgIHZhciBmb3JtYXR0ZXJzID0ge30KIAogICAgICAg
ICBmdW5jdGlvbiBwYXJhbWV0ZXJGb3JtYXR0ZXIoZm9yY2UsIG9iaikKICAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBhcmFtZXRlcihvYmosIGZvcmNlKTsKKyAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRQYXJhbWV0ZXIob2JqLCBmb3JjZSwgZmFsc2UpOwog
ICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdmFsdWVGb3JtYXR0ZXIob2JqKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXgg
MDJlNjliYjEwMjVjNzIxMWJjNjVhYTk2NTY4MjIwMWYwNmVlMTgzZS4uZGUzNzg4ZDNkMGMxNzlk
ZTQ0Mjk1NjJmYWZkNGMxZTBlNmZmZmM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC03MjUsMTYgKzcyNSwxNiBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAgICAgdGhpcy5fcHJpbnRS
ZXN1bHQocmVzdWx0LCB3YXNUaHJvd24pOworICAgICAgICAgICAgdGhpcy5fcHJpbnRSZXN1bHQo
cmVzdWx0LCB3YXNUaHJvd24sIG51bGwpOwogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9wcmlu
dFJlc3VsdDogZnVuY3Rpb24ocmVzdWx0LCB3YXNUaHJvd24pCisgICAgX3ByaW50UmVzdWx0OiBm
dW5jdGlvbihyZXN1bHQsIHdhc1Rocm93biwgb3JpZ2luYXRpbmdDb21tYW5kKQogICAgIHsKICAg
ICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5f
YXBwZW5kQ29uc29sZU1lc3NhZ2UobmV3IFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3Vs
dChyZXN1bHQsIHdhc1Rocm93biwgbnVsbCwgdGhpcy5fbGlua2lmaWVyKSk7CisgICAgICAgIHRo
aXMuX2FwcGVuZENvbnNvbGVNZXNzYWdlKG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRS
ZXN1bHQocmVzdWx0LCB3YXNUaHJvd24sIG9yaWdpbmF0aW5nQ29tbWFuZCwgdGhpcy5fbGlua2lm
aWVyKSk7CiAgICAgfSwKIAogICAgIF9hcHBlbmRDb21tYW5kOiBmdW5jdGlvbih0ZXh0LCBuZXdQ
cm9tcHRUZXh0LCB1c2VDb21tYW5kTGluZUFQSSwgc2hvd1Jlc3VsdE9ubHkpCkBAIC03NTYsNyAr
NzU2LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuY29uc29sZUhpc3Rvcnkuc2V0KHRoaXMucHJv
bXB0Lmhpc3RvcnlEYXRhLnNsaWNlKC0zMCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Ci0gICAgICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93bik7CisgICAg
ICAgICAgICB0aGlzLl9wcmludFJlc3VsdChyZXN1bHQsIHdhc1Rocm93biwgY29tbWFuZE1lc3Nh
Z2UpOwogICAgICAgICB9CiAgICAgICAgIHRoaXMuZXZhbEluSW5zcGVjdGVkV2luZG93KHRleHQs
ICJjb25zb2xlIiwgdXNlQ29tbWFuZExpbmVBUEksIGZhbHNlLCBmYWxzZSwgcHJpbnRSZXN1bHQu
YmluZCh0aGlzKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRE9NRXh0ZW5zaW9uLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9ET01FeHRlbnNpb24uanMKaW5kZXggYmVjMTQ3MGQ4YjAyZmU5YmQxNjkzYWFjNjRjMTYzOGVj
YWEzNzNlNC4uM2U1OTI2NDA5Y2NjOTJlZmJmNDk2MjdkNTg0YzI2ZmY2YTliMGY1YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMK
QEAgLTI1Myw2ICsyNTMsMTggQEAgRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlQ2hpbGQgPSBmdW5j
dGlvbihlbGVtZW50TmFtZSwgY2xhc3NOYW1lKQogRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUu
Y3JlYXRlQ2hpbGQgPSBFbGVtZW50LnByb3RvdHlwZS5jcmVhdGVDaGlsZDsKIAogLyoqCisgKiBA
cGFyYW0ge3N0cmluZ30gdGV4dAorICovCitFbGVtZW50LnByb3RvdHlwZS5jcmVhdGVUZXh0Q2hp
bGQgPSBmdW5jdGlvbih0ZXh0KQoreworICAgIHZhciBlbGVtZW50ID0gdGhpcy5vd25lckRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKHRleHQpOworICAgIHRoaXMuYXBwZW5kQ2hpbGQoZWxlbWVudCk7
CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK0RvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLmNy
ZWF0ZVRleHRDaGlsZCA9IEVsZW1lbnQucHJvdG90eXBlLmNyZWF0ZVRleHRDaGlsZDsKKworLyoq
CiAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgKi8KIEVsZW1lbnQucHJvdG90eXBlLnRvdGFsT2Zmc2V0
TGVmdCA9IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IGEwMzZmNDEw
ZTU5NGMxNmNlZDFlNjVmODM1YjJhMjQ4ZTg2OTZmNGIuLjY5MjAzMzkwMjhlNzQ4ZDljYjcwODdj
ODg2ZWE3ZjA2ODM0NzBhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMjgsNyAr
MjgsNyBAQAogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlByb3Bl
cnRpZXNTZWN0aW9ufQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0PX0gb2Jq
ZWN0Ci0gKiBAcGFyYW0ge3N0cmluZz19IHRpdGxlCisgKiBAcGFyYW0ge3N0cmluZ3xFbGVtZW50
PX0gdGl0bGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gc3VidGl0bGUKICAqIEBwYXJhbSB7c3RyaW5n
PX0gZW1wdHlQbGFjZWhvbGRlcgogICogQHBhcmFtIHtib29sZWFuPX0gaWdub3JlSGFzT3duUHJv
cGVydHkKQEAgLTQ1LDcgKzQ1LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0
aW9uID0gZnVuY3Rpb24ob2JqZWN0LCB0aXRsZSwgc3VidGl0bGUsIGVtcHR5UGwKICAgICB0aGlz
LmVkaXRhYmxlID0gdHJ1ZTsKICAgICB0aGlzLnNraXBQcm90byA9IGZhbHNlOwogCi0gICAgV2Vi
SW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uLmNhbGwodGhpcywgdGl0bGUsIHN1YnRpdGxlKTsK
KyAgICBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24uY2FsbCh0aGlzLCB0aXRsZSB8fCAi
Iiwgc3VidGl0bGUpOwogfQogCiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24u
X2FycmF5TG9hZFRocmVzaG9sZCA9IDEwMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IDA2MTFiMTQzYTZm
NTEzMTEyMjk3NTUxMGM1NzYyMGJkYTE2YjAzMzIuLjRmNzYwZTY4ZTAxNTFjODlmODIwYjhiYzk4
NGU1Yjk1YzQ4NjAzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMzAsNiArMzAsNyBAQAogLyoqCiAg
KiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2VjdGlvbn0KKyAqIEBw
YXJhbSB7c3RyaW5nfEVsZW1lbnR9IHRpdGxlCiAgKiBAcGFyYW0ge3N0cmluZz19IHN1YnRpdGxl
CiAgKi8KIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbiA9IGZ1bmN0aW9uKHRpdGxlLCBz
dWJ0aXRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVtb3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1v
dGVPYmplY3QuanMKaW5kZXggZTFiM2U2ZjE1OGViNzQ0N2M0NzhjMjBlNDZjMjczMzE0MDQxZWI2
YS4uOWM2ZjE0MWM0MTYxMzUyZDFkZTE2YjE3MjIwNmM2YWQ1OTE4MWRkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKQEAgLTM1
LDggKzM1LDkgQEAKICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gc3VidHlwZQogICogQHBh
cmFtIHsqfSB2YWx1ZQogICogQHBhcmFtIHtzdHJpbmc9fSBkZXNjcmlwdGlvbgorICogQHBhcmFt
IHtBcnJheT19IGFiYnJldmlhdGVkUHJvcGVydGllcwogICovCi1XZWJJbnNwZWN0b3IuUmVtb3Rl
T2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0SWQsIHR5cGUsIHN1YnR5cGUsIHZhbHVlLCBkZXNjcmlw
dGlvbikKK1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3RJZCwgdHlw
ZSwgc3VidHlwZSwgdmFsdWUsIGRlc2NyaXB0aW9uLCBhYmJyZXZpYXRlZFByb3BlcnRpZXMpCiB7
CiAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CiAgICAgdGhpcy5fc3VidHlwZSA9IHN1YnR5cGU7CkBA
IC00NSw2ICs0Niw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmpl
Y3RJZCwgdHlwZSwgc3VidHlwZSwgdmFsdWUsIGRlc2NyaXB0aW9uCiAgICAgICAgIHRoaXMuX29i
amVjdElkID0gb2JqZWN0SWQ7CiAgICAgICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRp
b247CiAgICAgICAgIHRoaXMuX2hhc0NoaWxkcmVuID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fYWJi
cmV2aWF0ZWRQcm9wZXJ0aWVzID0gYWJicmV2aWF0ZWRQcm9wZXJ0aWVzOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIC8vIFByaW1pdGl2ZSBvciBudWxsIG9iamVjdC4KICAgICAgICAgY29uc29sZS5h
c3NlcnQodHlwZSAhPT0gIm9iamVjdCIgfHwgdmFsdWUgPT09IG51bGwpOwpAQCAtMTA0LDcgKzEw
Niw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQgPSBmdW5jdGlvbihw
YXlsb2FkKQogewogICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBwYXlsb2FkID09PSAib2JqZWN0
IiwgIlJlbW90ZSBvYmplY3QgcGF5bG9hZCBzaG91bGQgb25seSBiZSBhbiBvYmplY3QiKTsKIAot
ICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdChwYXlsb2FkLm9iamVjdElk
LCBwYXlsb2FkLnR5cGUsIHBheWxvYWQuc3VidHlwZSwgcGF5bG9hZC52YWx1ZSwgcGF5bG9hZC5k
ZXNjcmlwdGlvbik7CisgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KHBh
eWxvYWQub2JqZWN0SWQsIHBheWxvYWQudHlwZSwgcGF5bG9hZC5zdWJ0eXBlLCBwYXlsb2FkLnZh
bHVlLCBwYXlsb2FkLmRlc2NyaXB0aW9uLCBwYXlsb2FkLmFiYnJldmlhdGVkKTsKIH0KIAogLyoq
CkBAIC0xNTQsNiArMTU2LDEyIEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBl
ID0gewogICAgICAgICByZXR1cm4gdGhpcy5faGFzQ2hpbGRyZW47CiAgICAgfSwKIAorICAgIC8q
KiBAcmV0dXJuIHtBcnJheXx1bmRlZmluZWR9ICovCisgICAgZ2V0IGFiYnJldmlhdGVkUHJvcGVy
dGllcygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYWJicmV2aWF0ZWRQcm9wZXJ0aWVz
OworICAgIH0sCisKICAgICAvKioKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKEFycmF5LjxXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHk+KX0gY2FsbGJhY2sKICAgICAgKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VjdGlvbi5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VjdGlvbi5qcwppbmRleCAwMDcwOTY0
OTE3YTg5ZDU0M2Q3YTQ5YTcwNWIxZWM4MTJlODVjYTFlLi5lZjdmMWVlNTJlZmY4YTJmM2M4ZGMy
Mzg2N2NiYzE4MTVkOGJkMDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TZWN0aW9uLmpzCkBAIC0yOSw2ICsyOSw3IEBACiAKIC8qKgogICogQGNvbnN0cnVjdG9y
CisgKiBAcGFyYW0ge3N0cmluZ3xFbGVtZW50fSB0aXRsZQogICogQHBhcmFtIHtzdHJpbmc9fSBz
dWJ0aXRsZQogICovCiBXZWJJbnNwZWN0b3IuU2VjdGlvbiA9IGZ1bmN0aW9uKHRpdGxlLCBzdWJ0
aXRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmNzcwppbmRleCA3ZDEwNjVjNzA2NmRhZDZmYzIyMjE5Yzk0Yzc0NTFmNzI2NmJiOWJkLi45Y2Y5
ZDEyNzc5Y2JjNDE3ZGZiNjFlMjVlMWFiOWY3NmViNjk4NTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0xMDI1LDYgKzEwMjUs
NyBAQCBib2R5LnBsYXRmb3JtLWxpbnV4IC5tb25vc3BhY2UsIGJvZHkucGxhdGZvcm0tbGludXgg
LnNvdXJjZS1jb2RlIHsKIC5jb25zb2xlLWdyb3VwLW1lc3NhZ2VzIC5zZWN0aW9uIC5oZWFkZXIg
LnRpdGxlIHsKICAgICBjb2xvcjogYmxhY2s7CiAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAg
ICBsaW5lLWhlaWdodDogMTNweDsKIH0KIAogLmNvbnNvbGUtZ3JvdXAtbWVzc2FnZXMgLnNlY3Rp
b24gLnByb3BlcnRpZXMgbGkgLmluZm8gewpAQCAtMTA4Nyw2ICsxMDg4LDEyIEBAIGJvZHkucGxh
dGZvcm0tbGludXggLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1saW51eCAuc291cmNlLWNvZGUg
ewogICAgIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiB9CiAKKy5jb25zb2xlLWZvcm1hdHRl
ZC1hYmJyZXZpYXRlZC1ub2RlLAorLnNlY3Rpb24gLmNvbnNvbGUtZm9ybWF0dGVkLW5vZGUsCisu
Y29uc29sZS1mb3JtYXR0ZWQtZnVuY3Rpb24geworICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4
KTsKK30KKwogLmVycm9yLW1lc3NhZ2UgewogICAgIGNvbG9yOiByZWQ7CiB9CkBAIC0xNTgwLDcg
KzE1ODcsNyBAQCBsaS5lZGl0aW5nIC5zd2F0Y2gsIGxpLmVkaXRpbmcgLmVuYWJsZWQtYnV0dG9u
LCAgbGkuZWRpdGluZy1zdWItcGFydCAuZGVsZXRlLWJ1dAogICAgIGRpc3BsYXk6IGlubGluZTsK
IH0KIAotLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1l
IHsKKy5zZWN0aW9uIC5wcm9wZXJ0aWVzIC5uYW1lLCAuZXZlbnQtcHJvcGVydGllcyAubmFtZSwg
LmNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCAubmFtZSB7CiAgICAgY29sb3I6IHJnYigxMzYsIDE5
LCAxNDUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTI3MGFkMmNiY2UyYzc5NDE0MTM2OTE0YmUxOTUxZTJlOWU3
ZWJiYy4uYmM2OWJmZGRlZDZkYzExN2FmMTk2ODQ1MjU5MGZlNDk1ZDM2ZTkzZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM3IEBACisyMDEyLTA4LTA3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRo
ZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25zb2xlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGlu
ZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1kaXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZGlyeG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leHRlcm5hbC1hcnJheS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1m
b3JtYXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9j
dW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJh
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3Rl
bmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKwogMjAxMi0wOC0wNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbmFtZSBXb3JrZXJBZ2VudC5zZXRXb3JrZXJJbnNw
ZWN0aW9uRW5hYmxlZCB0byBXb3JrZXJBZ2VudC5lbmFibGUgYW5kIG1ha2UgaXQgcmV0dXJuIGVy
cm9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxp
bmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dAppbmRleCAwNzJmZDFlMjU5
MWJlMDUzZWU5YWYzOGUzZjFjOGVlMjU5OTI1OTk2Li43M2JkZGQ4YTM0NmNkYWJiZmQ1M2NlMzky
ODkzZmI1ZGUxZmE0NDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQK
QEAgLTQsNyArNCw3IEBAIFRlc3RzIHRoYXQgaW5zcGVjdCgpIGNvbW1hbmQgbGluZSBhcGkgd29y
a3MuCiBSdW5uaW5nOiB0ZXN0UmV2ZWFsRWxlbWVudAogCiAKLVdlYkluc3BlY3Rvci5pbnNwZWN0
IGNhbGxlZCB3aXRoOiBIVE1MUGFyYWdyYXBoRWxlbWVudAorV2ViSW5zcGVjdG9yLmluc3BlY3Qg
Y2FsbGVkIHdpdGg6IDxwPgogV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFtdCiBp
bnNwZWN0KCQoJ3AxJykpID0gCiBTZWxlY3RlZCBub2RlIGlkOiAncDEnLgpAQCAtMTQsMTQgKzE0
LDE0IEBAIFJ1bm5pbmc6IHRlc3RSZXZlYWxEYXRhYmFzZQogCiBXZWJJbnNwZWN0b3IuaW5zcGVj
dCBjYWxsZWQgd2l0aDogRGF0YWJhc2UKIFdlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJl
OiBbImRhdGFiYXNlSWQiXQotaW5zcGVjdChkYikgPSBEYXRhYmFzZQoraW5zcGVjdChkYikgPSBE
YXRhYmFzZSB7dmVyc2lvbjogIjEuMCJ9CiAKIFJ1bm5pbmc6IHRlc3RSZXZlYWxEYXRhYmFzZTIK
IAogCiBXZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogRGF0YWJhc2UKIFdlYkluc3Bl
Y3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbImRhdGFiYXNlSWQiXQotaW5zcGVjdChkYjIpID0g
RGF0YWJhc2UKK2luc3BlY3QoZGIyKSA9IERhdGFiYXNlIHt2ZXJzaW9uOiAiMS4wIn0KIAogUnVu
bmluZzogdGVzdFJldmVhbExvY2FsU3RvcmFnZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQKaW5kZXggZTczYWFhODg4
ZjcyZjQ0Y2FhNWE1Mzk5NmFhOGRkMDJjN2IxODE5Ni4uYmQ2ZjRmY2E2ZTgzM2E2NDRhNjJiYjQw
ODdjODQzZTE1MWMwMzY1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBBcnJheVsy
XQogICAgIF9fcHJvdG9fXzogQXJyYXlbMF0gY29uc29sZS1kaXIuaHRtbDo5CiAKIE5vZGVMaXN0
WzFdCi0gICAgMDogSFRNTEh0bWxFbGVtZW50CisgICAgMDogPGh0bWw+CiAgICAgY29uc3RydWN0
b3I6IE5vZGVMaXN0Q29uc3RydWN0b3IKICAgICBsZW5ndGg6IDEKICAgICBfX3Byb3RvX186IE5v
ZGVMaXN0UHJvdG90eXBlIGNvbnNvbGUtZGlyLmh0bWw6MTAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyeG1sLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyeG1sLWV4cGVjdGVkLnR4dAppbmRl
eCA2MjA3MGMyNDM3YmZkNGZiZTRkY2I1NmY2NjYzZTljMTRhZWRjZmMxLi42ZTkwMzllODAxOTA3
NjJhYWQ4Y2I0ZTY1NTk2ZGU3MjAzMjVkNGQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWRpcnhtbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXJ4bWwtZXhwZWN0ZWQudHh0CkBAIC03LDUg
KzcsNSBAQCBUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMu
CiAjZG9jdW1lbnQgY29uc29sZS1kaXJ4bWwuaHRtbDoxMgogI2RvY3VtZW50LWZyYWdtZW50IGNv
bnNvbGUtZGlyeG1sLmh0bWw6MTMKIDxwPjwvcD4gY29uc29sZS1kaXJ4bWwuaHRtbDoxNAotWzxw
PjwvcD5dIGNvbnNvbGUtZGlyeG1sLmh0bWw6MTUKK0FycmF5WzFdIGNvbnNvbGUtZGlyeG1sLmh0
bWw6MTUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dAppbmRleCBiMTE1MDZiYjEwMTFiNzM5
MmQyNTE5MTQzN2RmODdhNDZjMzZhMWU5Li45NjgzOWNmY2U4ODgxMzdmMTA4ODI0N2FiNjYxZDE1
OWI5MzVlOGY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDYgQEAg
VGVzdHMgdGhhdCBzaW1wbGUgZXZhbHVhdGlvbnMgbWF5IGJlIHBlcmZvcm1lZCBpbiB0aGUgY29u
c29sZSBvbiBnbG9iYWwgb2JqZWN0LgogCiBmb28KICJmb29WYWx1ZSIKLWJhcjEKLVJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBiYXIxCitiYXIKK09iamVjdCB7YTogImIifQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwt
Z2xvYmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwt
Z2xvYmFsLmh0bWwKaW5kZXggZDZmNDc4MmI5YWVjOTFhYjExNGM2ZTZkYTQ1NzY2YTQ1NDVmNGRj
Ny4uOTRmZTJkZWVkOTI4YzY0YTRmYjgwMmQ3NTdmOWNhYjc3MzA4NzQ4YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRt
bApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImJhcjEi
LCBzdGVwMik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImJhciIs
IHN0ZXAyKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMigpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CmluZGV4IDRlMzM3Njk4M2JiNzUxYTYz
ZDFhYjk1Y2JmYjliMmUxYzFkYjNiOWYuLjJiNDViMTRmZDVkMzdlN2M1MWJlMWUwZmMxYmFjOThm
ZjAyZjBmMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogVGVzdHMgdGhhdCBldmFsdWF0aW5nIHNvbWV0aGluZyBp
biBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyIGlmIHVuZGVmaW5lZCB2YWx1ZSBpcyBv
dmVycmlkZW4uIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLiBCdWcgNjQxNTUu
CiAKIHZhciB4ID0ge2E6MX07IHguc2VsZiA9IHg7IHVuZGVmaW5lZCA9IHg7Ci1PYmplY3QKK09i
amVjdCB7YTogMSwgc2VsZjogT2JqZWN0fQogdW5rbm93blZhcgogUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IHVua25vd25WYXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leHRlcm5hbC1hcnJheS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV4dGVybmFsLWFycmF5LWV4cGVj
dGVkLnR4dAppbmRleCAwZGZlOWYyMTA2YTk1YjcxYTkxNWJhNGFmN2U0NDQ4ODcxMDdkYTY5Li44
N2E5ZGQzYzI1YzUyMWEzY2JlMzY5YWM5ZTcxNTc1ODQ0NzlhN2Y1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV4dGVybmFsLWFycmF5LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV4dGVybmFs
LWFycmF5LWV4cGVjdGVkLnR4dApAQCAtMTYsMTQgKzE2LDE0IEBAIENPTlNPTEUgTUVTU0FHRTog
bGluZSAyNDogW29iamVjdCBGbG9hdDMyQXJyYXldCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjU6
IFtvYmplY3QgRmxvYXQ2NEFycmF5XQogVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZGV0ZWN0
cyBleHRlcm5hbCBhcnJheXMgYXMgYXJyYXlzLgogCi1bMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjkKLVswLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTAKLVswLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTEKLVswLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTIKLVsw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6
MTMKLVswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5
Lmh0bWw6MTQKLVswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4dGVybmFs
LWFycmF5Lmh0bWw6MTUKLVswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSBjb25zb2xlLWV4
dGVybmFsLWFycmF5Lmh0bWw6MTYKK0ludDhBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJh
eS5odG1sOjkKK0ludDE2QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoxMAor
SW50MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjExCitVaW50OEFycmF5
WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTIKK1VpbnQxNkFycmF5WzEwXSBjb25z
b2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTMKK1VpbnQzMkFycmF5WzEwXSBjb25zb2xlLWV4dGVy
bmFsLWFycmF5Lmh0bWw6MTQKK0Zsb2F0MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJh
eS5odG1sOjE1CitGbG9hdDY0QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDox
NgogSW50OEFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTgKIEludDE2QXJy
YXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoxOQogSW50MzJBcnJheVsxMF0gY29u
c29sZS1leHRlcm5hbC1hcnJheS5odG1sOjIwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1l
eHBlY3RlZC50eHQKaW5kZXggYmRjOTJkZjM1OGMzYTI1MDgwOWIzNTE4MmUwZDU2NGY4YmE5ZTgz
MC4uOTY5Nzk5MGE5NjlhZDk5OTIwNzllMzgxNTc0ZmRiZTY5ZGEzOGJkMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtNywxNyArNywzNCBAQCBDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzU6IFtvYmplY3QgTm9kZUxpc3RdCiBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDE6IDEsMiwKIENPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogW29iamVjdCBPYmplY3RdCiBD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IFtvYmplY3QgQXJndW1lbnRzXQorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE1OiBbb2JqZWN0IE5vZGVMaXN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5
OiBbb2JqZWN0IEhUTUxDb2xsZWN0aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBbb2Jq
ZWN0IEhUTUxPcHRpb25zQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogW29i
amVjdCBIVE1MQWxsQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogW29iamVj
dCBIVE1MQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogW29iamVjdCBOb2Rl
TGlzdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogMSwyLAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogW29iamVj
dCBBcmd1bWVudHNdCiBUZXN0cyB0aGF0IGNvbnNvbGUgbmljZWx5IGZvcm1hdHMgSFRNTCBDb2xs
ZWN0aW9ucyBhbmQgTm9kZUxpc3RzLgogCi1bPHNlbGVjdCBpZD0ic2VsIiBuYW1lPSJzZWwiPuKA
pjwvc2VsZWN0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoxNQotWzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+LCA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0
LmpzIj48L3NjcmlwdD4sIDxzY3JpcHQ+4oCmPC9zY3JpcHQ+XSBjb25zb2xlLWZvcm1hdC1jb2xs
ZWN0aW9ucy5odG1sOjE5Ci1bPG9wdGlvbiB2YWx1ZT0iMSI+b25lPC9vcHRpb24+LCA8b3B0aW9u
IHZhbHVlPSIyIj50d288L29wdGlvbj5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6
MjMKLVs8aHRtbD7igKY8L2h0bWw+LCA8aGVhZD7igKY8L2hlYWQ+LCA8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PiwgPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+LCA8c2NyaXB0PuKApjwvc2NyaXB0PiwgPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+4oCm
PC9ib2R5PiwgPHA+Ci1UZXN0cyB0aGF0IGNvbnNvbGUgbmljZWx5IGZvcm1hdHMgSFRNTCBDb2xs
ZWN0aW9ucyBhbmQgTm9kZUxpc3RzLgotPC9wPiwgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj7i
gKY8L2Rpdj4sIDxmb3JtIGlkPSJmIj7igKY8L2Zvcm0+LCA8c2VsZWN0IGlkPSJzZWwiIG5hbWU9
InNlbCI+4oCmPC9zZWxlY3Q+LCA8b3B0aW9uIHZhbHVlPSIxIj5vbmU8L29wdGlvbj4sIDxvcHRp
b24gdmFsdWU9IjIiPnR3bzwvb3B0aW9uPiwgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ4IiB2
YWx1ZT0ieDEiPiwgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ4IiB2YWx1ZT0ieDIiPl0gY29u
c29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoyNwotWzxzZWxlY3QgaWQ9InNlbCIgbmFtZT0i
c2VsIj7igKY8L3NlbGVjdD4sIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieCIgdmFsdWU9Ingx
Ij4sIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieCIgdmFsdWU9IngyIj5dIGNvbnNvbGUtZm9y
bWF0LWNvbGxlY3Rpb25zLmh0bWw6MzEKLVs8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IngiIHZh
bHVlPSJ4MSI+LCA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IngiIHZhbHVlPSJ4MiI+XSBjb25z
b2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjM1Ci1bMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9y
bWF0LWNvbGxlY3Rpb25zLmh0bWw6NDEKK05vZGVMaXN0WzFdIGNvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLmh0bWw6MTUKK0hUTUxDb2xsZWN0aW9uWzNdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rp
b25zLmh0bWw6MTkKK0hUTUxPcHRpb25zQ29sbGVjdGlvblsyXSBjb25zb2xlLWZvcm1hdC1jb2xs
ZWN0aW9ucy5odG1sOjIzCitbPGh0bWw+LCA8aGVhZD4sIDxzY3JpcHQ+LCA8c2NyaXB0PiwgPHNj
cmlwdD4sIDxib2R5PiwgPHA+LCA8ZGl2PiwgPGZvcm0+LCA8c2VsZWN0PuKApl0gY29uc29sZS1m
b3JtYXQtY29sbGVjdGlvbnMuaHRtbDoyNworSFRNTENvbGxlY3Rpb25bM10gY29uc29sZS1mb3Jt
YXQtY29sbGVjdGlvbnMuaHRtbDozMQorTm9kZUxpc3RbMl0gY29uc29sZS1mb3JtYXQtY29sbGVj
dGlvbnMuaHRtbDozNQorQXJyYXlbMl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0
MQogTm9uQXJyYXlXaXRoTGVuZ3RoIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDQK
K0FyZ3VtZW50c1syXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjUxCitbPHNlbGVj
dD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUKK0hUTUxDb2xsZWN0aW9uWzNd
IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTkKK1s8b3B0aW9uPiwgPG9wdGlvbj4s
IHNlbGVjdGVkSW5kZXg6IDBdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjMKK1s8
aHRtbD4sIDxoZWFkPiwgPHNjcmlwdD4sIDxzY3JpcHQ+LCA8c2NyaXB0PiwgPGJvZHk+LCA8cD4s
IDxkaXY+LCA8Zm9ybT4sIDxzZWxlY3Q+4oCmXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5o
dG1sOjI3CitIVE1MQ29sbGVjdGlvblszXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1s
OjMxCitbPGlucHV0PiwgPGlucHV0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoz
NQorWzEsIEFycmF5WzJdXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjQxCitOb25B
cnJheVdpdGhMZW5ndGgge2tleXM6IEFycmF5WzBdfSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9u
cy5odG1sOjQ0CiBbMSwgIjIiXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjUxCitQ
YWdlIHJlbG9hZGVkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAppbmRleCAwYmVjYTg3YjEx
MmM3MjE5ZmViMTk0ZDc5YmJmOWQyY2MwNDFkMzg5Li44YzFkMGNmZTNhMzZmMmFkMGRhZTE4NjU5
MTQ0NDZhOWNkMjM3ZmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKQEAgLTQsNyArNCw3
IEBACiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWZ1bmN0aW9uIG9ubG9hZCgpCitmdW5jdGlvbiBs
b2dUb0NvbnNvbGUoKQogewogICAgIHZhciBmb3JtRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmIik7CiAgICAgdmFyIHNlbGVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic2VsIik7CkBAIC01Miw2ICs1MiwxMSBAQCBmdW5jdGlvbiBvbmxvYWQoKQogICAgIHJ1
blRlc3QoKTsKIH0KIAorZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBsb2dUb0NvbnNvbGUoKTsK
K30KKwogZnVuY3Rpb24gTm9uQXJyYXlXaXRoTGVuZ3RoKCkKIHsKICAgICB0aGlzLmtleXM9W107
CkBAIC02NSw4ICs3MCwxMyBAQCBOb25BcnJheVdpdGhMZW5ndGgucHJvdG90eXBlLl9fZGVmaW5l
R2V0dGVyX18oImxlbmd0aCIsIGZ1bmN0aW9uKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2dUb0Nv
bnNvbGUoKSIsIGNhbGxiYWNrKTsKKworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3Jt
YXQtZXhwZWN0ZWQudHh0CmluZGV4IDBlMTkzYThlYTJkZTUzMTk5YTUzYTkwZmU5MjYzNjkwMDY4
NzFhYzAuLjVkNmZmNDBkYzQzOWQ2MGM4MmQ4OGQ3ODFhYTkxZjEzOWMwYWIyNzcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1l
eHBlY3RlZC50eHQKQEAgLTUxLDExICs1MSwxMSBAQCBUZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2lu
ZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMuCiBNZXNzYWdlIGZvcm1hdCBudW1iZXIgMSwgMiBhbmQg
My41IGNvbnNvbGUtZm9ybWF0Lmh0bWw6MTIKIE1lc3NhZ2UgZm9ybWF0IGZvciBzdHJpbmcgY29u
c29sZS1mb3JtYXQuaHRtbDoxMwogT2JqZWN0IE9iamVjdCBjb25zb2xlLWZvcm1hdC5odG1sOjE0
Ci1bInRlc3QiLCAidGVzdDIiLCB1bmRlZmluZWQgw5cgMiwgInRlc3Q0IiwgdW5kZWZpbmVkIMOX
IDVdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6MjAKLVsidGVzdCIsICJ0ZXN0MiIsIHVuZGVmaW5lZCDD
lyAyLCAidGVzdDQiLCB1bmRlZmluZWQgw5cgNV0gY29uc29sZS1mb3JtYXQuaHRtbDoyMQorQXJy
YXlbMTBdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6MjAKK0FycmF5WzEwXSBjb25zb2xlLWZvcm1hdC5o
dG1sOjIxCiBBcnJheVsxMF0gY29uc29sZS1mb3JtYXQuaHRtbDoyMgogL151cmxcKFxzKig/Oig/
OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpc
XFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2
fVxzP3xcLikpKilccypcKS9pIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsvXnVybFwoXHMqKD86
KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqKVxzKlwpL2ldIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKK1svXnVybFwoXHMq
KD86KD86Iig/OuKApl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQogZ2xvYmFsc1swXQogL151cmxc
KFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15c
XFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtc
ZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9pCiAvZm9vXFxiYXJcc2Jhei9pIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTQKQEAgLTc0LDIwICs3NCwxOSBAQCBFcnJvciBjb25zb2xlLWZvcm1hdC5odG1s
OjU0CiBbRXJyb3JdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNbNF0KIEVycm9yCi08
Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQK
LVs8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+XSBjb25zb2xlLWZvcm1hdC5odG1s
OjU1Cis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4gY29uc29sZS1mb3JtYXQuaHRtbDo1NAorWzxi
b2R5Pl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQogZ2xvYmFsc1s1XQotPGJvZHkgb25sb2FkPSJv
bmxvYWQoKSI+4oCmPC9ib2R5PgorPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+CiBmdW5jdGlvbiAo
KSB7IHJldHVybiAxOyB9IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtmdW5jdGlvbiAoKSB7IHJl
dHVybiAxOyB9XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CitbZnVuY3Rpb24gKCkgeyByZXR1cm7i
gKZdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNbNl0KIGZ1bmN0aW9uICgpIHsgcmV0
dXJuIDE7IH0KIGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIDI7CiAgICAgfSBjb25zb2xl
LWZvcm1hdC5odG1sOjU0CiBbZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAgICB9
XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CisgICAgICDigKZdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6
NTUKIGdsb2JhbHNbN10KIGZ1bmN0aW9uICgpIHsKICAgICAgICAgcmV0dXJuIDI7CkBAIC0xMDks
MTcgKzEwOCwxNyBAQCB1bmRlZmluZWQgY29uc29sZS1mb3JtYXQuaHRtbDo1NAogZ2xvYmFsc1sx
MV0KIHVuZGVmaW5lZAogYXR0cj0iIiBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bYXR0cj0iIl0g
Y29uc29sZS1mb3JtYXQuaHRtbDo1NQorWzxhdHRyPl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQog
Z2xvYmFsc1sxMl0KIGF0dHI9IiIKLWF0dHI9InZhbHVlIiBjb25zb2xlLWZvcm1hdC5odG1sOjU0
Ci1bYXR0cj0idmFsdWUiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CithdHRyPSJ2YWx1ZSIidmFs
dWUiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKK1s8YXR0cj5dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6
NTUKIGdsb2JhbHNbMTNdCi1hdHRyPSJ2YWx1ZSIKLWlkPSJ4IiBjb25zb2xlLWZvcm1hdC5odG1s
OjU0Ci1baWQ9IngiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CithdHRyPSJ2YWx1ZSIidmFsdWUi
CitpZD0ieCIieCIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAorWzxpZD5dIGNvbnNvbGUtZm9ybWF0
Lmh0bWw6NTUKIGdsb2JhbHNbMTRdCi1pZD0ieCIKK2lkPSJ4IiJ4IgogT2JqZWN0IGNvbnNvbGUt
Zm9ybWF0Lmh0bWw6NTQKIFtPYmplY3RdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNb
MTVdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZv
cm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQu
aHRtbAppbmRleCBlNjQ0MGE5YzVkNmQ1ZGJmN2RmNjczY2ViMDZiNDhjOWY0NjZhZmFiLi4xNDky
MjI0YzczMDU2MmIzNDQwZjRlMzIwNjk2MzM4MDFlMGY0MjNhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0Lmh0bWwKQEAgLTE0LDcgKzE0LDcg
QEAgZnVuY3Rpb24gb25sb2FkKCkKICAgICBjb25zb2xlLmxvZygnT2JqZWN0ICVvJywgeydmb28n
IDogJ2JhcicgfSk7CiAKICAgICB2YXIgYXJyYXkgPSBbInRlc3QiLCAidGVzdDIiXTsgYXJyYXku
bGVuZ3RoID0gMTA7Ci0gICAgYXJyYXkuZm9vID0gImJhciI7IAorICAgIGFycmF5LmZvbyA9IHt9
OyAKICAgICBhcnJheVs0XSA9ICJ0ZXN0NCI7CiAKICAgICBjb25zb2xlLmxvZyhhcnJheSk7CkBA
IC02NSwxMCArNjUsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKICAgICAgICAgICAg
IHZhciBuZXh0ID0gY3VycmVudCArIDE7CiAgICAgICAgICAgICBpZiAobmV4dCA9PSB0b3RhbC5k
ZXNjcmlwdGlvbikgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29s
ZU1lc3NhZ2VzKCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1l
c3NhZ2VzKCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgICAgIGxvb3BPdmVyR2xvYmFscyhuZXh0LCB0b3RhbCk7CiAgICAgICAgIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ct
ZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0CmluZGV4IGZkZGQxMjU3
ZjRjYTE4NWQ1YmRlYjJjOTNmMzI5YzdiMTM3MGU1OTkuLmQ2MDgxYzNmOTljMWU0ODAxYjM3NTVk
OGVmZmJiOGIyZGFjN2E5MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogW29iamVjdCBI
VE1MRG9jdW1lbnRQcm90b3R5cGVdCi1UZXN0IHRoYXQgY29uc29sZS5sb2coZG9jdW1lbnQuX19w
cm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UgaXMg
Zm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuQnVnIDI3MTY5LgorVGVzdCB0aGF0IGNvbnNvbGUu
ZGlyKGRvY3VtZW50Ll9fcHJvdG9fXykgd29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVu
IHRoZSBtZXNzYWdlIGlzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9yLkJ1ZyAyNzE2OS4KIAog
SFRNTERvY3VtZW50UHJvdG90eXBlIGNvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWw6Ngog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1k
b2N1bWVudC1wcm90by5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbAppbmRleCAxZWI4MWIwNzdlNmI1MzczMTBlODgzODhl
MTZiYTA3NzRhYjUyMjg2Li5iNjM5YzQ3Y2E5ZWMxMWNhNjQyOTAwNTA1NmFkYmYzYWRhYTJkOGJl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1k
b2N1bWVudC1wcm90by5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWwKQEAgLTMsNyArMyw3IEBACiA8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotY29uc29sZS5sb2coZG9jdW1lbnQuX19wcm90b19fKTsK
K2NvbnNvbGUuZGlyKGRvY3VtZW50Ll9fcHJvdG9fXyk7CiAKIGZ1bmN0aW9uIHRlc3QoKQogewpA
QCAtMTQsNyArMTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KIDxwPgotVGVzdCB0aGF0IGNvbnNvbGUubG9nKGRvY3VtZW50Ll9fcHJvdG9f
Xykgd29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlCitUZXN0IHRo
YXQgY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhj
ZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UKIGlzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9yLjxh
IGJ1Zz0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI3MTY5Ij5CdWcg
IDI3MTY5LjwvYT4KIDwvcD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IDEwMGY2M2ZmYTk2ODkyMjYyMGUxYmM4YTkxNjkyZTU2YzI1ZDI2
OTAuLjA1MjI3ZWNmYzBmMzg2N2EyZmY1ZjUyYmJmNzkyOWUwYWY1MGMxMDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVj
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAgQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDc6CiBUZXN0cyB0aGF0IHBhc3NpbmcgYW4gb2JqZWN0IHdoaWNoIHRo
cm93cyBvbiBzdHJpbmcgY29udmVyc2lvbiBpbnRvIGNvbnNvbGUubG9nIHdvbid0IGNyYXNoIGlu
c3BlY3RlZCBQYWdlLiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4gQnVnIDU3
NTU3CiAKIFBhZ2UgcmVsb2FkZWQuCi1PYmplY3QgY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0
Lmh0bWw6NworT2JqZWN0IHt0b1N0cmluZzogT2JqZWN0fSBjb25zb2xlLWxvZy10b1N0cmluZy1v
YmplY3QuaHRtbDo3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS10ZXN0cy1leHBlY3RlZC50eHQKaW5kZXggMGFhNGQ3ZmRiYzExZTM5MTc1YTE4
ODNhNjM2OTY0Yzc3Yzc2OGYxYS4uMDQ4YjBmNDUwMWJiYjRmZDlkYWFlYmM3MjI4OGYxMGU5YjU2
MTdhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS10
ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTQxLDYgKzQxLDYgQEAgdW5kZWZpbmVkIGNvbnNv
bGUtdGVzdHMuaHRtbDoyNiBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKICNkb2N1
bWVudCBjb25zb2xlLXRlc3RzLmh0bWw6MjcgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxl
dmVsCiBmdW5jdGlvbiAoKSB7IH0gY29uc29sZS10ZXN0cy5odG1sOjI4IGNvbnNvbGUtbWVzc2Fn
ZSBjb25zb2xlLWxvZy1sZXZlbAogZnVuY3Rpb24gZigpIHsgfSBjb25zb2xlLXRlc3RzLmh0bWw6
MjkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi1bMSwgMiwgM10gY29uc29sZS10
ZXN0cy5odG1sOjMwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAorQXJyYXlbM10g
Y29uc29sZS10ZXN0cy5odG1sOjMwIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAog
L3JlZ2V4cC4qLyBjb25zb2xlLXRlc3RzLmh0bWw6MzEgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUt
bG9nLWxldmVsCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci93
YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3Rl
ZC50eHQKaW5kZXggYjI0MTQ1NmI0ZTZjYTdjOWVmZmY5NWM1NDhlYjkwMGI2YzdlMjE3ZC4uYWU3
MDI2M2U4MWNhMWUzYmIyMjBlZTRjZDY1OTRlYTc4ZjM0NjRlNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4
cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIFNjcmlw
dCBzb3VyY2Ugd2FzIHNob3duLgogU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgogV2F0Y2gg
ZXhwcmVzc2lvbnMgdXBkYXRlZC4KIFtleHBhbmRlZF0gIAotICAgIHdpbmRvdy5kb2N1bWVudDog
SFRNTERvY3VtZW50Ci0gICAgd2luZG93YS5kb2N1bWVudDogUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IHdpbmRvd2EKKyAgICB3aW5kb3cuZG9jdW1lbnQ6IDwjZG9jdW1lbnQ+
CisgICAgd2luZG93YS5kb2N1bWVudDogUmVmZXJlbmNlRXJyb3I6IHdpbmRvd2EgaXMgbm90IGRl
ZmluZWQKIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhw
ZWN0ZWQudHh0CmluZGV4IDUzYzBmMGMzZWM3NDI3NDZlMDNkOGRlMWI2YTg4NTA0NjY1NmRkYzEu
LjYyM2JhOWY2ZWYyZWJjZmI0NGE2MjlkODk5YmRiNTcxYTBlMzU5ZjcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVu
ZXItc2lkZWJhci1leHBlY3RlZC50eHQKQEAgLTcsMjEgKzcsMjEgQEAgSW5zcGVjdCBNZQogICAg
IGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDE5CiAgICAgbGlzdGVuZXJCb2R5
OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0
dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6IDwjZG9jdW1lbnQ+
CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBjbGljawog
ICAgIHVzZUNhcHR1cmU6IHRydWUKIFtleHBhbmRlZF0gZG9jdW1lbnQgKGFub255bW91cyBmdW5j
dGlvbikKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaXN0ZW5lckJvZHk6IE9iamVjdEhh
bmRsZXIKLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKKyAgICBub2RlOiA8I2RvY3VtZW50PgogICAg
IHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4cGFuZGVkXSBidXR0b24jbm9k
ZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UK
ICAgICBsaW5lTnVtYmVyOiAxNQogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7
IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGNhcHR1cmluZyIpOyB9Ci0gICAgbm9kZTog
SFRNTEJ1dHRvbkVsZW1lbnQKKyAgICBub2RlOiA8YnV0dG9uPgogICAgIHNvdXJjZU5hbWU6IFtj
bGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlz
dGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVl
CkBAIC0yOSw3ICsyOSw3IEBAIEluc3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAg
ICBsaW5lTnVtYmVyOiAxMgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gY2xpY2tIYW5kbGVy
KGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3Rl
cmVkIGJlZm9yZSBhdHRyaWJ1dGUpIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAor
ICAgIG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwK
ICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC0zNyw3ICszNyw3IEBA
IEluc3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogdHJ1ZQogICAgIGxpbmVOdW1iZXI6IDE2CiAg
ICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0g
YnV0dG9uIC0gYXR0cmlidXRlIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAorICAg
IG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAg
ICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC00NSw3ICs0NSw3IEBAIElu
c3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxNwogICAg
IGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1
dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3RlcmVkIGFmdGVyIGF0dHJpYnV0ZSkiKTsgfQotICAgIG5v
ZGU6IEhUTUxCdXR0b25FbGVtZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1l
OiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTog
ZmFsc2UKQEAgLTUzLDcgKzUzLDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiB0cnVl
CiAgICAgbGluZU51bWJlcjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRD
bGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRy
aWJ1dGUiKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6IDwjZG9jdW1lbnQ+
CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBjbGljawog
ICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC02Myw3ICs2Myw3IEBAIEluc3BlY3QgTWUKICAgICBp
c0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxMAogICAgIGxpc3RlbmVyQm9keTog
ZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9kZTogPGJv
ZHk+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBjdXN0
b20gZXZlbnQKICAgICB1c2VDYXB0dXJlOiB0cnVlCkBAIC03Myw3ICs3Myw3IEBAIEluc3BlY3Qg
TWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxNAogICAgIGxpc3Rl
bmVyQm9keTogZnVuY3Rpb24gaG92ZXJIYW5kbGVyKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJob3Zl
ciAtIGJ1dHRvbiAtIGJ1YmJsaW5nIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAor
ICAgIG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwK
ICAgICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC04MywyMSArODMsMjEg
QEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDE5
CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNr
IC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAg
IG5vZGU6IDwjZG9jdW1lbnQ+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwK
ICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IHRydWUKIFtleHBhbmRlZF0gZG9jdW1l
bnQgKGFub255bW91cyBmdW5jdGlvbikKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaXN0
ZW5lckJvZHk6IE9iamVjdEhhbmRsZXIKLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKKyAgICBub2Rl
OiA8I2RvY3VtZW50PgogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4
cGFuZGVkXSBkb2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6NgogICAgIGlzQXR0
cmlidXRlOiB0cnVlCiAgICAgbGluZU51bWJlcjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rp
b24gZG9jdW1lbnRDbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9j
dW1lbnQgLSBhdHRyaWJ1dGUiKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6
IDwjZG9jdW1lbnQ+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0
eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC0xMDcsNyArMTA3LDcgQEAgSW5z
cGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDEwCiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQK
KyAgICBub2RlOiA8Ym9keT4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAog
ICAgIHR5cGU6IGN1c3RvbSBldmVudAogICAgIHVzZUNhcHR1cmU6IHRydWUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxh
bmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxp
c3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKaW5kZXggNDcwZTFlMzU1MmY0ZmZlZTA5
OTNmNTYyZDFhMWI5OWRkYWIwNmJkNS4uYWNkNmFlODlmZWUwYjRjYmU0NDQyNThiYjk2MTIwODEw
ZjhhY2VhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQK
QEAgLTcsNyArNyw3IEBAIFRlc3RzIGV2ZW50IGxpc3RlbmVycyBvdXRwdXQgaW4gdGhlIEVsZW1l
bnRzIHNpZGViYXIgcGFuZWwgd2hlbiB0aGUgbGlzdGVuZXJzIGFyCiAgICAgaXNBdHRyaWJ1dGU6
IGZhbHNlCiAgICAgbGluZU51bWJlcjogOQogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigp
IHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9kZTogPGJvZHk+CiAgICAgc291
cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmsuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAg
dXNlQ2FwdHVyZTogdHJ1ZQpAQCAtMTcsNyArMTcsNyBAQCBUZXN0cyBldmVudCBsaXN0ZW5lcnMg
b3V0cHV0IGluIHRoZSBFbGVtZW50cyBzaWRlYmFyIHBhbmVsIHdoZW4gdGhlIGxpc3RlbmVycyBh
cgogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDkKICAgICBsaXN0ZW5l
ckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxEaXZFbGVtZW50CisgICAgbm9k
ZTogPGRpdj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay5odG1sCiAgICAg
dHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWRpci1leHBlY3RlZC50eHQKaW5kZXggNTMzYTMwZWM5N2M2MGIyZjM3ZTA5ZGE1MTg5
ODU5NjgwM2E4YjllMi4uZjg5MjhjMDhhN2E1YTYwNTIxZjk4ZGIyZjQ3MzJmN2NkZTM5NjNjZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dApAQCAtMTIs
NyArMTIsNyBAQCBBcnJheVsyXQogICAgIF9fcHJvdG9fXzogQXJyYXlbMF0gY29uc29sZS1kaXIu
aHRtbDo5CiAKIE5vZGVMaXN0WzFdCi0gICAgMDogSFRNTEh0bWxFbGVtZW50CisgICAgMDogPGh0
bWw+CiAgICAgbGVuZ3RoOiAxCiAgICAgX19wcm90b19fOiBOb2RlTGlzdCBjb25zb2xlLWRpci5o
dG1sOjEwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2Jh
bC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2ZjI4MTc0MTZj
NWZlMjQ0ZjI2Zjg3YjUyYjhkMDQ2ZWVhYmZiMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQgc2ltcGxlIGV2YWx1YXRpb25zIG1heSBiZSBw
ZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9iamVjdC4KLQotZm9vCi0iZm9vVmFs
dWUiCi1iYXIxCi1SZWZlcmVuY2VFcnJvcjogYmFyMSBpcyBub3QgZGVmaW5lZAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQt
b3ZlcnJpZGUtZXhwZWN0ZWQudHh0CmluZGV4IDU4MmQ3ODdmY2I0NzBiMmFjYjVhYWIwYjMyMmMy
MDA1YjA0NGQ2MzguLmZjM2RjY2I0MWUxODU1YTcwZDFiM2E2ZmUxNDViZjVlNjcyNzA5YWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC11
bmRlZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogVGVzdHMgdGhh
dCBldmFsdWF0aW5nIHNvbWV0aGluZyBpbiBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2Vy
IGlmIHVuZGVmaW5lZCB2YWx1ZSBpcyBvdmVycmlkZW4uIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBk
b2Vzbid0IGNyYXNoLiBCdWcgNjQxNTUuCiAKIHZhciB4ID0ge2E6MX07IHguc2VsZiA9IHg7IHVu
ZGVmaW5lZCA9IHg7Ci1PYmplY3QKK09iamVjdCB7YTogMSwgc2VsZjogT2JqZWN0fQogdW5rbm93
blZhcgogUmVmZXJlbmNlRXJyb3I6IHVua25vd25WYXIgaXMgbm90IGRlZmluZWQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMt
ZXhwZWN0ZWQudHh0CmluZGV4IDllODg0Njk2ZGY4OGExYzVjODA1MDZkZjZjYjdjMGU0ZTVkZjFi
YzEuLjQyZjI1MDE1MGZiOWI0MTRlZTQzOTIzMzk3OTIyOGIwOTU1YjA3NjkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1l
eHBlY3RlZC50eHQKQEAgLTcsMTcgKzcsMzMgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBb
b2JqZWN0IE5vZGVMaXN0XQogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiAxLDIsCiBDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNDQ6IFtvYmplY3QgT2JqZWN0XQogQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDUxOiBbb2JqZWN0IEFyZ3VtZW50c10KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogW29iamVj
dCBOb2RlTGlzdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogW29iamVjdCBIVE1MQ29sbGVj
dGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogW29iamVjdCBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IHVuZGVmaW5lZAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDMxOiBbb2JqZWN0IEhUTUxDb2xsZWN0aW9uXQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM1OiBbb2JqZWN0IE5vZGVMaXN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiAxLDIs
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFtvYmplY3QgT2JqZWN0XQorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDUxOiBbb2JqZWN0IEFyZ3VtZW50c10KIFRlc3RzIHRoYXQgY29uc29sZSBuaWNl
bHkgZm9ybWF0cyBIVE1MIENvbGxlY3Rpb25zIGFuZCBOb2RlTGlzdHMuCiAKLVs8c2VsZWN0IGlk
PSJzZWwiIG5hbWU9InNlbCI+4oCmPC9zZWxlY3Q+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9u
cy5odG1sOjE1Ci1bPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4sIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PiwgPHNjcmlwdD7igKY8L3NjcmlwdD5d
IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTkKLVs8b3B0aW9uIHZhbHVlPSIxIj5v
bmU8L29wdGlvbj4sIDxvcHRpb24gdmFsdWU9IjIiPnR3bzwvb3B0aW9uPl0gY29uc29sZS1mb3Jt
YXQtY29sbGVjdGlvbnMuaHRtbDoyMwotWzxodG1sPuKApjwvaHRtbD4sIDxoZWFkPuKApjwvaGVh
ZD4sIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+LCA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4sIDxzY3JpcHQ+4oCmPC9zY3JpcHQ+LCA8Ym9keSBv
bmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+LCA8cD4KLVRlc3RzIHRoYXQgY29uc29sZSBuaWNl
bHkgZm9ybWF0cyBIVE1MIENvbGxlY3Rpb25zIGFuZCBOb2RlTGlzdHMuCi08L3A+LCA8ZGl2IHN0
eWxlPSJkaXNwbGF5Om5vbmUiPuKApjwvZGl2PiwgPGZvcm0gaWQ9ImYiPuKApjwvZm9ybT4sIDxz
ZWxlY3QgaWQ9InNlbCIgbmFtZT0ic2VsIj7igKY8L3NlbGVjdD4sIDxvcHRpb24gdmFsdWU9IjEi
Pm9uZTwvb3B0aW9uPiwgPG9wdGlvbiB2YWx1ZT0iMiI+dHdvPC9vcHRpb24+LCA8aW5wdXQgdHlw
ZT0icmFkaW8iIG5hbWU9IngiIHZhbHVlPSJ4MSI+LCA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9
IngiIHZhbHVlPSJ4MiI+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjI3Ci1bPHNl
bGVjdCBpZD0ic2VsIiBuYW1lPSJzZWwiPuKApjwvc2VsZWN0PiwgPGlucHV0IHR5cGU9InJhZGlv
IiBuYW1lPSJ4IiB2YWx1ZT0ieDEiPiwgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ4IiB2YWx1
ZT0ieDIiPl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDozMQotWzxpbnB1dCB0eXBl
PSJyYWRpbyIgbmFtZT0ieCIgdmFsdWU9IngxIj4sIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0i
eCIgdmFsdWU9IngyIj5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MzUKLVsxLCBB
cnJheVsyXV0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0MQorTm9kZUxpc3RbMV0g
Y29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoxNQorSFRNTENvbGxlY3Rpb25bM10gY29u
c29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoxOQorSFRNTE9wdGlvbnNDb2xsZWN0aW9uWzJd
IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjMKK1s8aHRtbD4sIDxoZWFkPiwgPHNj
cmlwdD4sIDxzY3JpcHQ+LCA8c2NyaXB0PiwgPGJvZHk+LCA8cD4sIDxkaXY+LCA8Zm9ybT4sIDxz
ZWxlY3Q+4oCmXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjI3CitIVE1MQ29sbGVj
dGlvblszXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjMxCitOb2RlTGlzdFsyXSBj
b25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjM1CitBcnJheVsyXSBjb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sOjQxCiBOb25BcnJheVdpdGhMZW5ndGggY29uc29sZS1mb3JtYXQt
Y29sbGVjdGlvbnMuaHRtbDo0NAorQXJndW1lbnRzWzJdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rp
b25zLmh0bWw6NTEKK1s8c2VsZWN0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDox
NQorWzxzY3JpcHQ+LCA8c2NyaXB0PiwgPHNjcmlwdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rp
b25zLmh0bWw6MTkKK1s8b3B0aW9uPiwgPG9wdGlvbj4sIHNlbGVjdGVkSW5kZXg6IDBdIGNvbnNv
bGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjMKK1s8aHRtbD4sIDxoZWFkPiwgPHNjcmlwdD4s
IDxzY3JpcHQ+LCA8c2NyaXB0PiwgPGJvZHk+LCA8cD4sIDxkaXY+LCA8Zm9ybT4sIDxzZWxlY3Q+
4oCmXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjI3CitbPHNlbGVjdD4sIDxpbnB1
dD4sIDxpbnB1dD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MzEKK1s8aW5wdXQ+
LCA8aW5wdXQ+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjM1CitbMSwgQXJyYXlb
Ml1dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDEKK05vbkFycmF5V2l0aExlbmd0
aCB7a2V5czogQXJyYXlbMF19IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDQKIFsx
LCAiMiJdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NTEKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1m
b3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwZTE5M2E4ZWEyZGU1MzE5OWE1M2E5MGZlOTI2MzY5MDA2ODcxYWMwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTI6IE1lc3NhZ2UgZm9ybWF0IG51bWJlciAlaSwgJWQgYW5kICVmCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTM6IE1lc3NhZ2UgJXMgZm9yICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQ6IE9iamVjdCAlbwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiB0ZXN0LHRlc3QyLCwsdGVz
dDQsLCwsLAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIxOiAlbwotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDIyOiAlTwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiAvXnVybFwoXHMqKD86KD86Iig/
OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkqKVxzKlwpL2kKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogL151cmxcKFxzKig/Oig/
OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpc
XFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2
fVxzP3xcLikpKilccypcKS9pCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IC9mb29cXGJhclxz
YmF6L2kKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogL2Zvb1xcYmFyXHNiYXovaQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDU0OiB0ZXN0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IHRlc3QK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogdGVzdCBuYW1lZCAidGVzdCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA1NTogdGVzdCBuYW1lZCAidGVzdCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1
NDogRXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogRXJyb3IKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA1NDogW29iamVjdCBIVE1MQm9keUVsZW1lbnRdCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTU6IFtvYmplY3QgSFRNTEJvZHlFbGVtZW50XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0
OiBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IGZ1
bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogZnVuY3Rp
b24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAgICB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
NTU6IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgfQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDU0OiAwLjEyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IDAuMTIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA1NDogaHR0cDovL3dlYmtpdC5vcmcvCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTU6IGh0dHA6Ly93ZWJraXQub3JnLwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBu
dWxsCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0
OiB1bmRlZmluZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTQ6IFtvYmplY3QgQXR0cl0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogW29iamVj
dCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBbb2JqZWN0IEF0dHJdCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTU6IFtvYmplY3QgQXR0cl0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1
NDogW29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBbb2JqZWN0IEF0dHJd
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDU1OiBbb2JqZWN0IE9iamVjdF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDog
TmFOCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IE5hTgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDU0OiBJbmZpbml0eQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBJbmZpbml0eQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDU0OiAtSW5maW5pdHkKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTog
LUluZmluaXR5Ci1UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2Fn
ZXMuCi0KLU1lc3NhZ2UgZm9ybWF0IG51bWJlciAxLCAyIGFuZCAzLjUgY29uc29sZS1mb3JtYXQu
aHRtbDoxMgotTWVzc2FnZSBmb3JtYXQgZm9yIHN0cmluZyBjb25zb2xlLWZvcm1hdC5odG1sOjEz
Ci1PYmplY3QgT2JqZWN0IGNvbnNvbGUtZm9ybWF0Lmh0bWw6MTQKLVsidGVzdCIsICJ0ZXN0MiIs
IHVuZGVmaW5lZCDDlyAyLCAidGVzdDQiLCB1bmRlZmluZWQgw5cgNV0gY29uc29sZS1mb3JtYXQu
aHRtbDoyMAotWyJ0ZXN0IiwgInRlc3QyIiwgdW5kZWZpbmVkIMOXIDIsICJ0ZXN0NCIsIHVuZGVm
aW5lZCDDlyA1XSBjb25zb2xlLWZvcm1hdC5odG1sOjIxCi1BcnJheVsxMF0gY29uc29sZS1mb3Jt
YXQuaHRtbDoyMgotL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/Olsh
IyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9pIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTQKLVsvXnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEs
Nn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86
WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2ldIGNvbnNvbGUt
Zm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMF0KLS9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwo
PzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1c
cz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMq
XCkvaQotL2Zvb1xcYmFyXHNiYXovaSBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bL2Zvb1xcYmFy
XHNiYXovaV0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxXQotL2Zvb1xcYmFyXHNi
YXovaQotdGVzdCBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bInRlc3QiXSBjb25zb2xlLWZvcm1h
dC5odG1sOjU1Ci1nbG9iYWxzWzJdCi0idGVzdCIKLXRlc3QgbmFtZWQgInRlc3QiIGNvbnNvbGUt
Zm9ybWF0Lmh0bWw6NTQKLVsidGVzdCBuYW1lZCAidGVzdCIiXSBjb25zb2xlLWZvcm1hdC5odG1s
OjU1Ci1nbG9iYWxzWzNdCi0idGVzdCBuYW1lZCAidGVzdCIiCi1FcnJvciBjb25zb2xlLWZvcm1h
dC5odG1sOjU0Ci1bRXJyb3JdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbNF0KLUVy
cm9yCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+IGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTQKLVs8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+XSBjb25zb2xlLWZvcm1h
dC5odG1sOjU1Ci1nbG9iYWxzWzVdCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+
Ci1mdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtmdW5j
dGlvbiAoKSB7IHJldHVybiAxOyB9XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzZd
Ci1mdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9Ci1mdW5jdGlvbiAoKSB7Ci0gICAgICAgIHJldHVy
biAyOwotICAgIH0gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2Z1bmN0aW9uICgpIHsKLSAgICAg
ICAgcmV0dXJuIDI7Ci0gICAgfV0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1s3XQot
ZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAgICB9Ci0wLjEyIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTQKLVswLjEyXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzhdCi0w
LjEyCi1odHRwOi8vd2Via2l0Lm9yZy8gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWyJodHRwOi8v
d2Via2l0Lm9yZy8iXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzldCi0iaHR0cDov
L3dlYmtpdC5vcmcvIgotbnVsbCBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bbnVsbF0gY29uc29s
ZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxMF0KLW51bGwKLXVuZGVmaW5lZCBjb25zb2xlLWZv
cm1hdC5odG1sOjU0Ci1bdW5kZWZpbmVkXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxz
WzExXQotdW5kZWZpbmVkCi1hdHRyPSIiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVthdHRyPSIi
XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzEyXQotYXR0cj0iIgotYXR0cj0idmFs
dWUiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVthdHRyPSJ2YWx1ZSJdIGNvbnNvbGUtZm9ybWF0
Lmh0bWw6NTUKLWdsb2JhbHNbMTNdCi1hdHRyPSJ2YWx1ZSIKLWlkPSJ4IiBjb25zb2xlLWZvcm1h
dC5odG1sOjU0Ci1baWQ9IngiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzE0XQot
aWQ9IngiCi1PYmplY3QgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW09iamVjdF0gY29uc29sZS1m
b3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxNV0KLU9iamVjdAotTmFOIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTQKLVtOYU5dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTZdCi1OYU4KLUlu
ZmluaXR5IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtJbmZpbml0eV0gY29uc29sZS1mb3JtYXQu
aHRtbDo1NQotZ2xvYmFsc1sxN10KLUluZmluaXR5Ci0tSW5maW5pdHkgY29uc29sZS1mb3JtYXQu
aHRtbDo1NAotWy1JbmZpbml0eV0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxOF0K
LS1JbmZpbml0eQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQKaW5kZXggNTNhYTY0ZDM3NWRmYTExYmQ5
NmU2YWQ5MWExNDVkYjYxZmIzYzJlZC4uOGRlMWE3ZmRiM2RkMWUxNjE4NzU2NmI4NDMwMTYzYTBj
Zjk0NjgwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
bG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUg
TUVTU0FHRTogbGluZSA2OiBbb2JqZWN0IE9iamVjdF0KLVRlc3QgdGhhdCBjb25zb2xlLmxvZyhk
b2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUg
bWVzc2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci5CdWcgMjcxNjkuCitUZXN0IHRo
YXQgY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhj
ZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UgaXMgZm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuQnVn
IDI3MTY5LgogCiBIVE1MRG9jdW1lbnQgY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbDo2
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9k
ZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJl
c3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE3YzYzMGUxYWY0MjJjMTdkYjZjOGMxYjljM2FhNmEwMTgwNjAyMDEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3
aXRjaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyBk
ZWJ1Z2dlciBkb2VzIG5vdCBmYWlsIHdoZW4gc3RvcHBlZCB3aGlsZSBhIHBhbmVsIG90aGVyIHRo
YW4gc2NyaXB0cyB3YXMgb3BlbmVkLiBCb3RoIHZhbGlkIGFuZCBpbnZhbGlkIGV4cHJlc3Npb25z
IGFyZSBhZGRlZCB0byB3YXRjaCBleHByZXNzaW9ucy4KLQotQnVnIDcwNzE4Ci1EZWJ1Z2dlciB3
YXMgZW5hYmxlZC4KLVNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgotU2V0IHRpbWVyIGZvciB0ZXN0
IGZ1bmN0aW9uLgotV2F0Y2ggZXhwcmVzc2lvbnMgdXBkYXRlZC4KLVtleHBhbmRlZF0gIAotICAg
IHdpbmRvdy5kb2N1bWVudDogSFRNTERvY3VtZW50Ci0gICAgd2luZG93YS5kb2N1bWVudDogUmVm
ZXJlbmNlRXJyb3I6IHdpbmRvd2EgaXMgbm90IGRlZmluZWQKLURlYnVnZ2VyIHdhcyBkaXNhYmxl
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9y
L2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNp
ZGViYXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2MwZjBj
M2VjNzQyNzQ2ZTAzZDhkZTFiNmE4ODUwNDY2NTZkZGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi1UZXN0cyBldmVudCBsaXN0ZW5lcnMgb3V0cHV0
IGluIHRoZSBFbGVtZW50cyBzaWRlYmFyIHBhbmVsLgotCi1JbnNwZWN0IE1lCi0KLT09PT09PT09
IGNsaWNrID09PT09PT09Ci1bZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGVi
YXIuaHRtbDoxOQotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDE5Ci0g
ICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0g
ZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAotICAgIHNv
dXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VD
YXB0dXJlOiB0cnVlCi1bZXhwYW5kZWRdIGRvY3VtZW50IChhbm9ueW1vdXMgZnVuY3Rpb24pCi0g
ICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGlzdGVuZXJCb2R5OiBPYmplY3RIYW5kbGVyCi0g
ICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiB0
cnVlCi1bZXhwYW5kZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDox
NQotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDE1Ci0gICAgbGlzdGVu
ZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0g
Y2FwdHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAgIHNvdXJjZU5h
bWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZl
bnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJl
OiB0cnVlCi1bZXhwYW5kZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bDoxMgotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDEyCi0gICAgbGlz
dGVuZXJCb2R5OiBmdW5jdGlvbiBjbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNs
aWNrIC0gYnV0dG9uIC0gYnViYmxpbmcgKHJlZ2lzdGVyZWQgYmVmb3JlIGF0dHJpYnV0ZSkiKTsg
fQotICAgIG5vZGU6IEhUTUxCdXR0b25FbGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQt
Zm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1z
aWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi1bZXhw
YW5kZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxNgotICAgIGlz
QXR0cmlidXRlOiB0cnVlCi0gICAgbGluZU51bWJlcjogMTYKLSAgICBsaXN0ZW5lckJvZHk6IGZ1
bmN0aW9uIChldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0b24gLSBhdHRyaWJ1dGUi
KTsgfQotICAgIG5vZGU6IEhUTUxCdXR0b25FbGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBw
ZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5l
ci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi1b
ZXhwYW5kZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxNwotICAg
IGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDE3Ci0gICAgbGlzdGVuZXJCb2R5
OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gYnViYmxp
bmcgKHJlZ2lzdGVyZWQgYWZ0ZXIgYXR0cmlidXRlKSIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRv
bkVsZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6
IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLVtleHBhbmRlZF0gZG9jdW1lbnQgZXZlbnQt
bGlzdGVuZXItc2lkZWJhci5odG1sOjYKLSAgICBpc0F0dHJpYnV0ZTogdHJ1ZQotICAgIGxpbmVO
dW1iZXI6IDYKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGRvY3VtZW50Q2xpY2tIYW5kbGVy
KGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gYXR0cmlidXRlIik7IH0K
LSAgICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVz
dF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLQotPT09PT09PT0g
Y3VzdG9tIGV2ZW50ID09PT09PT09Ci1bZXhwYW5kZWRdIGJvZHkgZXZlbnQtbGlzdGVuZXItc2lk
ZWJhci5odG1sOjEwCi0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTAK
LSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxCb2R5RWxl
bWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY3Vz
dG9tIGV2ZW50Ci0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotCi09PT09PT09PSBob3ZlciA9PT09PT09
PQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTQK
LSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxNAotICAgIGxpc3RlbmVy
Qm9keTogZnVuY3Rpb24gaG92ZXJIYW5kbGVyKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJob3ZlciAt
IGJ1dHRvbiAtIGJ1YmJsaW5nIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAg
IHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogaG92ZXIKLSAgICB1
c2VDYXB0dXJlOiBmYWxzZQotCi09PT09PT09PSBjbGljayA9PT09PT09PQotW2V4cGFuZGVkXSBk
b2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTkKLSAgICBpc0F0dHJpYnV0ZTog
ZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxOQotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2
ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gY2FwdHVyaW5nIik7IH0KLSAg
ICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0v
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBkb2N1
bWVudCAoYW5vbnltb3VzIGZ1bmN0aW9uKQotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxp
c3RlbmVyQm9keTogT2JqZWN0SGFuZGxlcgotICAgIG5vZGU6IEhUTUxEb2N1bWVudAotICAgIHR5
cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBkb2N1bWVudCBldmVu
dC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6NgotICAgIGlzQXR0cmlidXRlOiB0cnVlCi0gICAgbGlu
ZU51bWJlcjogNgotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlja0hhbmRs
ZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1dGUiKTsg
fQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10
ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJh
ci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiBmYWxzZQotCi09PT09PT09
PSBjdXN0b20gZXZlbnQgPT09PT09PT0KLVtleHBhbmRlZF0gYm9keSBldmVudC1saXN0ZW5lci1z
aWRlYmFyLmh0bWw6MTAKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAx
MAotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlF
bGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBj
dXN0b20gZXZlbnQKLSAgICB1c2VDYXB0dXJlOiB0cnVlCi1MaXN0ZW5lcnMgZm9yIHNlbGVjdGVk
IG5vZGUgb25seShzaG91bGQgYmUgbm8gbGlzdGVuZXJzKToKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157204</attachid>
            <date>2012-08-08 06:40:34 -0700</date>
            <delta_ts>2012-08-08 06:55:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35801-20120808174008.patch</filename>
            <type>text/plain</type>
            <size>66045</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYxZjkzMGIyMjMxNGI0
NjgzMmM5OTIwYzY5ODI1NGViYzUxNzdmNC4uZDMzOWU4NGIwZTg5YzVkYmRjNjU5MTIxOWQ5NGRj
YTBiMGE5ZTEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA4LTA4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25z
b2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXMgb2YgdG9kYXksIGR1bXBpbmcgYW4gb2JqZWN0IChhcnJheSkgaW50byBjb25z
b2xlIHdpbGwgcmVzdWx0IGluIG9iamVjdHMnIHByb3BlcnRpZXMgYmVpbmcKKyAgICAgICAgcmVh
ZCB1cG9uIGNvbnNvbGUgb2JqZWN0IGV4cGFuc2lvbiAoaS5lLiBsYXppbHkpLiBUaGlzIG1lYW5z
IHRoYXQgZHVtcGluZyB0aGUgc2FtZSBvYmplY3Qgd2hpbGUKKyAgICAgICAgbXV0YXRpbmcgaXQg
d2lsbCBiZSBoYXJkIHRvIGRlYnVnIHVzaW5nIHRoZSBjb25zb2xlLgorCisgICAgICAgIFRoaXMg
Y2hhbmdlIHN0YXJ0cyBnZW5lcmF0aW5nIGFiYnJldmlhdGVkIHByZXZpZXdzIGZvciBvYmplY3Rz
IC8gYXJyYXlzIGF0IHRoZSBtb21lbnQgb2YgdGhlaXIKKyAgICAgICAgbG9nZ2luZyBhbmQgcGFz
c2VzIHRoaXMgaW5mb3JtYXRpb24gYWxvbmcgaW50byB0aGUgZnJvbnQtZW5kLiBUaGlzIG9ubHkg
aGFwcGVucyB3aGVuIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaXMgYWxyZWFkeSBvcGVuZWQuCisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyByZW1vdmVzICdzbWFydCcgaW5saW5lIGFycmF5cyBy
ZW5kZXJpbmcgaW4gZmF2b3VyIG9mIHRoZSBuZXcgYWJicmV2aWF0ZWQgcHJldmlldy4KKyAgICAg
ICAgRHVtcGluZyBjb25zb2xlLmxvZyhbMSwyLDNdKSB3aWxsIHJlc3VsdCBpbiBbMSwyLDNdLCBk
dW1waW5nIFsxLDIsMyx3aW5kb3ddIHdpbGwgcmVzdWx0IGluID4gWzEsMiwzLFdpbmRvd10KKyAg
ICAgICAgd2hlcmUgIj4iIGFsbG93cyBleHBhbmRpbmcgdGhpcyBjb21wbGV4IG5vZGUuCisKKyAg
ICAgICAgQ292ZXJlZCBieSB0aGUgZXhpc3RpbmcgY29uc29sZSB0ZXN0cyArIGNvbGxlY3Rpb25z
IHRlc3QgaGFzIGJlZW4gZXhwYW5kZWQgdG8gY2FwdHVyZSBib3RoOiBwcmUgYW5kIHBvc3QtCisg
ICAgICAgIGZyb250LWVuZCBvcGVuaW5nIHNjZW5hcmlvcy4KKworICAgICAgICAqIGluc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlTWVzc2FnZTo6
YWRkVG9Gcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmg6Cisg
ICAgICAgIChDb25zb2xlTWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0Ojp3cmFwT2JqZWN0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaDoKKyAgICAgICAgKEluamVjdGVk
U2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6Cisg
ICAgICAgICguKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRQYXJh
bWV0ZXJBc09iamVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
LnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9yT2JqZWN0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9hcHBlbmRPYmplY3RQcmV2
aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBl
Ll9mb3JtYXRQYXJhbWV0ZXJBc05vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXkpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX3ByaW50QXJyYXkpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1h
dEFzQXJyYXlFbnRyeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
LnByb3RvdHlwZS5fZm9ybWF0V2l0aFN1YnN0aXR1dGlvblN0cmluZyk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanM6CisgICAgICAgIChFbGVtZW50LnByb3Rv
dHlwZS5jcmVhdGVUZXh0Q2hpbGQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydGllc1NlY3Rpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGll
c1NlY3Rpb24uanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdC5wcm90b3R5cGUuZ2V0IHByZXZpZXdQcm9wZXJ0aWVzKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoLmNvbnNvbGUtZ3JvdXAtbWVzc2FnZXMg
LnNlY3Rpb24gLmhlYWRlciAudGl0bGUpOgorICAgICAgICAoLnNlY3Rpb24gLmNvbnNvbGUtZm9y
bWF0dGVkLW5vZGUpOgorICAgICAgICAoLmNvbnNvbGUtb2JqZWN0LXByZXZpZXcpOgorICAgICAg
ICAoLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1lLCAu
Y29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IC5uYW1lKToKKwogMjAxMi0wOC0wOCAgS2VudGFybyBI
YXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgT3B0aW1pemUgRWxlbWVudDo6
cmVtb3ZlQXR0cmlidXRlKCkgYnkgcmVwbGFjaW5nIFN0cmluZyB3aXRoIEF0b21pY1N0cmluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXggMGFhOTgy
ODk5YmI2ODcwNTE0OWYyMDBhNDc0MjMzMTY0NzFjMmEyMi4uODAxNzU1MzkwNzBmN2YzMjFjZGY5
NWRiNTE4YTkzZWFlZjA0MzlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgc3RhdGljIFR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6TGV2ZWw6OkVudW0gbWVzc2FnZUxldmVsVmFsdWUoTWVzc2EK
ICAgICByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpMZXZlbDo6
TG9nOwogfQogCi12b2lkIENvbnNvbGVNZXNzYWdlOjphZGRUb0Zyb250ZW5kKEluc3BlY3RvckZy
b250ZW5kOjpDb25zb2xlKiBmcm9udGVuZCwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCit2b2lkIENvbnNvbGVNZXNzYWdlOjphZGRUb0Zyb250ZW5kKEluc3Bl
Y3RvckZyb250ZW5kOjpDb25zb2xlKiBmcm9udGVuZCwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBp
bmplY3RlZFNjcmlwdE1hbmFnZXIsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KQogewogICAgIFJlZlB0
cjxUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U+IGpzb25PYmogPSBUeXBlQnVp
bGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRTb3Vy
Y2UobWVzc2FnZVNvdXJjZVZhbHVlKG1fc291cmNlKSkKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lk
IENvbnNvbGVNZXNzYWdlOjphZGRUb0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xl
KiBmcm9udGVuZCwgSW5qZWN0ZQogICAgICAgICBpZiAoIWluamVjdGVkU2NyaXB0Lmhhc05vVmFs
dWUoKSkgewogICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRl
cjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiA+IGpzb25BcmdzID0gVHlwZUJ1aWxkZXI6OkFycmF5
PFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+OjpjcmVhdGUoKTsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2FyZ3VtZW50cy0+YXJndW1lbnRDb3VudCgp
OyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4gaW5zcGVjdG9yVmFsdWUgPSBpbmplY3RlZFNjcmlwdC53cmFwT2JqZWN0KG1f
YXJndW1lbnRzLT5hcmd1bWVudEF0KGkpLCAiY29uc29sZSIpOworICAgICAgICAgICAgICAgIFJl
ZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBpbnNwZWN0b3JWYWx1ZSA9
IGluamVjdGVkU2NyaXB0LndyYXBPYmplY3QobV9hcmd1bWVudHMtPmFyZ3VtZW50QXQoaSksICJj
b25zb2xlIiwgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICAgICAgICAgICAgICBpZiAoIWluc3BlY3Rv
clZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oCmluZGV4IGJkMWFiZjU5MzlmYjQ3YWE1YWM1ODg0NzVjMDk5NzM2MDYwMzE0OWUu
LjY0NjFkYjcyMDI3OWFiYjhkNmNlYjI4ZWQ2YTllNzUwNTdmZTE1ZDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoK
ICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG0sIGNvbnN0IFN0cmluZyYgcmVzcG9uc2VVcmwsIGNvbnN0IFN0
cmluZyYgcmVxdWVzdElkKTsKICAgICB+Q29uc29sZU1lc3NhZ2UoKTsKIAotICAgIHZvaWQgYWRk
VG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSosIEluamVjdGVkU2NyaXB0TWFu
YWdlciopOworICAgIHZvaWQgYWRkVG9Gcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29s
ZSosIEluamVjdGVkU2NyaXB0TWFuYWdlciosIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICB2
b2lkIHVwZGF0ZVJlcGVhdENvdW50SW5Db25zb2xlKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xl
Kik7CiAgICAgdm9pZCBpbmNyZW1lbnRDb3VudCgpIHsgKyttX3JlcGVhdENvdW50OyB9CiAgICAg
Ym9vbCBpc0VxdWFsKENvbnNvbGVNZXNzYWdlKiBtc2cpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKaW5kZXggYWE5YWRhMmE4NTRkYWVlZjYwN2Ri
NmEyN2QxODM1YjUzZWU0Zjc0Mi4uNTk5NjY4ODY2ZGFmZTMyZmIyNTFhNzA0ODQzMDZjNmFmNGRi
MjY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBA
IC0xODAsMTMgKzE4MCwxNCBAQCBQYXNzUmVmUHRyPEFycmF5PENhbGxGcmFtZT4gPiBJbmplY3Rl
ZFNjcmlwdDo6d3JhcENhbGxGcmFtZXMoY29uc3QgU2NyaXB0VmFsdWUmCiB9CiAjZW5kaWYKIAot
UGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBJbmplY3RlZFNj
cmlwdDo6d3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFN0cmluZyYg
Z3JvdXBOYW1lKSBjb25zdAorUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3Rl
T2JqZWN0PiBJbmplY3RlZFNjcmlwdDo6d3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYgdmFs
dWUsIGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBib29sIGdlbmVyYXRlUHJldmlldykgY29uc3QK
IHsKICAgICBBU1NFUlQoIWhhc05vVmFsdWUoKSk7CiAgICAgU2NyaXB0RnVuY3Rpb25DYWxsIHdy
YXBGdW5jdGlvbihpbmplY3RlZFNjcmlwdE9iamVjdCgpLCAid3JhcE9iamVjdCIpOwogICAgIHdy
YXBGdW5jdGlvbi5hcHBlbmRBcmd1bWVudCh2YWx1ZSk7CiAgICAgd3JhcEZ1bmN0aW9uLmFwcGVu
ZEFyZ3VtZW50KGdyb3VwTmFtZSk7CiAgICAgd3JhcEZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGNh
bkFjY2Vzc0luc3BlY3RlZFdpbmRvdygpKTsKKyAgICB3cmFwRnVuY3Rpb24uYXBwZW5kQXJndW1l
bnQoZ2VuZXJhdGVQcmV2aWV3KTsKICAgICBib29sIGhhZEV4Y2VwdGlvbiA9IGZhbHNlOwogICAg
IFNjcmlwdFZhbHVlIHIgPSBjYWxsRnVuY3Rpb25XaXRoRXZhbEVuYWJsZWQod3JhcEZ1bmN0aW9u
LCBoYWRFeGNlcHRpb24pOwogICAgIGlmIChoYWRFeGNlcHRpb24pIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKaW5kZXggZGJiMWEyMmJkNjBiZWY4ZDdlN2U0OWNk
NDJhZDAxYzRiYzM2NDIyOC4uNDQyNzQyNzhkOWQ5YTBlODdmOGJhY2FlMDMxM2QxYmVhNTc2NWY4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTg2LDcg
Kzg2LDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVC
dWlsZGVyOjpEZWJ1Z2dlcjo6Q2FsbEZyYW1lPiA+IHdyYXBDYWxsRnJhbWVzKGNvbnN0IFNjcmlw
dFZhbHVlJik7CiAjZW5kaWYKIAotICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6
OlJlbW90ZU9iamVjdD4gd3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IFN0cmlu
ZyYgZ3JvdXBOYW1lKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1l
OjpSZW1vdGVPYmplY3Q+IHdyYXBPYmplY3QoY29uc3QgU2NyaXB0VmFsdWUmLCBjb25zdCBTdHJp
bmcmIGdyb3VwTmFtZSwgYm9vbCBnZW5lcmF0ZVByZXZpZXcgPSBmYWxzZSkgY29uc3Q7CiAgICAg
UGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiB3cmFwTm9kZShO
b2RlKiwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUpOwogICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxk
ZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gd3JhcFNlcmlhbGl6ZWRPYmplY3QoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0OwogICAgIFNjcmlw
dFZhbHVlIGZpbmRPYmplY3RCeUlkKGNvbnN0IFN0cmluZyYgb2JqZWN0SWQpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCmluZGV4
IDAzMzVjOTg2ODY0YmY4Njg4NDVmZThhYzRlOWNhOTM3ZDdiYWU0MjIuLjg1MGQxNTJkNmEzZTQz
MTIxOTU5ZGY4Y2Q5MzNmZjE5MmEyMjcwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKQEAgLTcxLDEyICs3MSwxMyBAQCBJbmplY3Rl
ZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHsqfSBvYmplY3QKICAgICAgKiBA
cGFyYW0ge3N0cmluZ30gZ3JvdXBOYW1lCiAgICAgICogQHBhcmFtIHtib29sZWFufSBjYW5BY2Nl
c3NJbnNwZWN0ZWRXaW5kb3cKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGdlbmVyYXRlUHJldmll
dwogICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAgKi8KLSAgICB3cmFwT2JqZWN0OiBmdW5j
dGlvbihvYmplY3QsIGdyb3VwTmFtZSwgY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93KQorICAgIHdy
YXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwgZ3JvdXBOYW1lLCBjYW5BY2Nlc3NJbnNwZWN0ZWRX
aW5kb3csIGdlbmVyYXRlUHJldmlldykKICAgICB7CiAgICAgICAgIGlmIChjYW5BY2Nlc3NJbnNw
ZWN0ZWRXaW5kb3cpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5fd3JhcE9iamVjdChvYmplY3Qs
IGdyb3VwTmFtZSk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fd3JhcE9iamVjdChvYmplY3Qs
IGdyb3VwTmFtZSwgZmFsc2UsIGdlbmVyYXRlUHJldmlldyk7CiAKICAgICAgICAgdmFyIHJlc3Vs
dCA9IHt9OwogICAgICAgICByZXN1bHQudHlwZSA9IHR5cGVvZiBvYmplY3Q7CkBAIC0xMjgsMTIg
KzEyOSwxMyBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHsq
fSBvYmplY3QKICAgICAgKiBAcGFyYW0ge3N0cmluZz19IG9iamVjdEdyb3VwTmFtZQogICAgICAq
IEBwYXJhbSB7Ym9vbGVhbj19IGZvcmNlVmFsdWVUeXBlCisgICAgICogQHBhcmFtIHtib29sZWFu
PX0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7SW5qZWN0ZWRTY3JpcHQuUmVtb3Rl
T2JqZWN0fQogICAgICAqLwotICAgIF93cmFwT2JqZWN0OiBmdW5jdGlvbihvYmplY3QsIG9iamVj
dEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUpCisgICAgX3dyYXBPYmplY3Q6IGZ1bmN0aW9uKG9i
amVjdCwgb2JqZWN0R3JvdXBOYW1lLCBmb3JjZVZhbHVlVHlwZSwgZ2VuZXJhdGVQcmV2aWV3KQog
ICAgIHsKICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgSW5qZWN0ZWRTY3Jp
cHQuUmVtb3RlT2JqZWN0KG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBmb3JjZVZhbHVlVHlwZSk7
CisgICAgICAgICAgICByZXR1cm4gbmV3IEluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdChvYmpl
Y3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUsIGdlbmVyYXRlUHJldmlldyk7CiAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAg
dmFyIGRlc2NyaXB0aW9uID0gaW5qZWN0ZWRTY3JpcHQuX2Rlc2NyaWJlKGUpOwpAQCAtNDA0LDcg
KzQwNiw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRy
eSB7CiAgICAgICAgICAgICByZXR1cm4geyB3YXNUaHJvd246IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRlT24oZXZhbEZ1
bmN0aW9uLCBvYmplY3QsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21t
YW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlKSB9OworICAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRlT24oZXZhbEZ1
bmN0aW9uLCBvYmplY3QsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21t
YW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlLCBmYWxzZSkgfTsKICAgICAg
ICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRocm93blZh
bHVlKGUsIG9iamVjdEdyb3VwKTsKICAgICAgICAgfQpAQCAtNjMxLDYgKzYzMyw5IEBAIEluamVj
dGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHN1YnR5cGUgPT09ICJkYXRlIikK
ICAgICAgICAgICAgIHJldHVybiB0aGlzLl90b1N0cmluZyhvYmopOwogCisgICAgICAgIGlmIChz
dWJ0eXBlID09PSAibm9kZSIpCisgICAgICAgICAgICByZXR1cm4gb2JqLm5vZGVUeXBlID09PSAx
IC8qIE5vZGUuRUxFTUVOVF9OT0RFICovID8gIjwiICsgb2JqLm5vZGVOYW1lLnRvTG93ZXJDYXNl
KCkgKyAiPiIgOiBvYmoubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKKwogICAgICAgICB2YXIgY2xh
c3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRIb3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iaik7
CiAgICAgICAgIGlmIChzdWJ0eXBlID09PSAiYXJyYXkiKSB7CiAgICAgICAgICAgICBpZiAodHlw
ZW9mIG9iai5sZW5ndGggPT09ICJudW1iZXIiKQpAQCAtNjc0LDggKzY3OSw5IEBAIHZhciBpbmpl
Y3RlZFNjcmlwdCA9IG5ldyBJbmplY3RlZFNjcmlwdCgpOwogICogQHBhcmFtIHsqfSBvYmplY3QK
ICAqIEBwYXJhbSB7c3RyaW5nPX0gb2JqZWN0R3JvdXBOYW1lCiAgKiBAcGFyYW0ge2Jvb2xlYW49
fSBmb3JjZVZhbHVlVHlwZQorICogQHBhcmFtIHtib29sZWFuPX0gZ2VuZXJhdGVQcmV2aWV3CiAg
Ki8KLUluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdCA9IGZ1bmN0aW9uKG9iamVjdCwgb2JqZWN0
R3JvdXBOYW1lLCBmb3JjZVZhbHVlVHlwZSkKK0luamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdCA9
IGZ1bmN0aW9uKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBmb3JjZVZhbHVlVHlwZSwgZ2VuZXJh
dGVQcmV2aWV3KQogewogICAgIHRoaXMudHlwZSA9IHR5cGVvZiBvYmplY3Q7CiAgICAgaWYgKGlu
amVjdGVkU2NyaXB0LmlzUHJpbWl0aXZlVmFsdWUob2JqZWN0KSB8fCBvYmplY3QgPT09IG51bGwg
fHwgZm9yY2VWYWx1ZVR5cGUpIHsKQEAgLTY5NCwxMyArNzAwLDEwNCBAQCBJbmplY3RlZFNjcmlw
dC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VW
YWx1ZVR5cGUpCiAgICAgfQogCiAgICAgdGhpcy5vYmplY3RJZCA9IGluamVjdGVkU2NyaXB0Ll9i
aW5kKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lKTsKLSAgICB2YXIgc3VidHlwZSA9IGluamVjdGVk
U2NyaXB0Ll9zdWJ0eXBlKG9iamVjdCkKKyAgICB2YXIgc3VidHlwZSA9IGluamVjdGVkU2NyaXB0
Ll9zdWJ0eXBlKG9iamVjdCk7CiAgICAgaWYgKHN1YnR5cGUpCiAgICAgICAgIHRoaXMuc3VidHlw
ZSA9IHN1YnR5cGU7CiAgICAgdGhpcy5jbGFzc05hbWUgPSBJbmplY3RlZFNjcmlwdEhvc3QuaW50
ZXJuYWxDb25zdHJ1Y3Rvck5hbWUob2JqZWN0KTsKICAgICB0aGlzLmRlc2NyaXB0aW9uID0gaW5q
ZWN0ZWRTY3JpcHQuX2Rlc2NyaWJlKG9iamVjdCk7CisKKyAgICBpZiAoZ2VuZXJhdGVQcmV2aWV3
ICYmICh0aGlzLnR5cGUgPT09ICJvYmplY3QiIHx8IGluamVjdGVkU2NyaXB0Ll9pc0hUTUxBbGxD
b2xsZWN0aW9uKG9iamVjdCkpKQorICAgICAgICB0aGlzLnByZXZpZXcgPSB0aGlzLl9nZW5lcmF0
ZVByZXZpZXcoLyoqIEB0eXBlIHshT2JqZWN0fSAqLyBvYmplY3QpOwogfQogCitJbmplY3RlZFNj
cmlwdC5SZW1vdGVPYmplY3QucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBwYXJhbSB7
IU9iamVjdH0gb2JqZWN0CisgICAgICovCisgICAgX2dlbmVyYXRlUHJldmlldzogZnVuY3Rpb24o
b2JqZWN0KQorICAgIHsKKyAgICAgICAgdmFyIHByZXZpZXcgPSBbXTsKKyAgICAgICAgdmFyIHBy
ZXZpZXdQcm9wZXJ0eUNvdW50ID0gMDsKKyAgICAgICAgdmFyIGlzQXJyYXkgPSB0aGlzLnN1YnR5
cGUgPT09ICJhcnJheSI7CisgICAgICAgIHZhciBlbGVtZW50c1RvRHVtcCA9IGlzQXJyYXkgPyAx
MDAgOiA1OworICAKKyAgICAgICAgdmFyIHByb3BlcnR5TmFtZXMgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlOYW1lcyhvYmplY3QpOworICAgICAgICB2YXIgbG9zc2xlc3MgPSB0cnVlOworICAgICAg
ICB2YXIgb3ZlcmZsb3cgPSBmYWxzZTsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHByZXZpZXcubGVuZ3RoID49IGVsZW1lbnRzVG9EdW1wKSB7CisgICAgICAgICAg
ICAgICAgICAgIG92ZXJmbG93ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHZhciBuYW1lID0gcHJvcGVydHlOYW1l
c1tpXTsKKyAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSAmJiBuYW1lID09PSAibGVuZ3RoIikK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICB2YXIgZGVz
Y3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBuYW1lKTsK
KyAgICAgICAgICAgICAgICBpZiAoISgidmFsdWUiIGluIGRlc2NyaXB0b3IpIHx8ICFkZXNjcmlw
dG9yLmVudW1lcmFibGUpIHsKKyAgICAgICAgICAgICAgICAgICAgbG9zc2xlc3MgPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgdmFyIHZhbHVlID0gZGVzY3JpcHRvci52YWx1ZTsKKyAgICAgICAgICAgICAg
ICBpZiAodmFsdWUgPT09IG51bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJldmlldy5wdXNo
KFtuYW1lLCAibnVsbCJdKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgIGNvbnN0IG1heExlbmd0aCA9IDIwOwor
ICAgICAgICAgICAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlOworCisgICAgICAgICAgICAg
ICAgaWYgKEluamVjdGVkU2NyaXB0LnByaW1pdGl2ZVR5cGVzW3R5cGVdKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmICh0eXBlID09PSAic3RyaW5nIiAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5n
dGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fYWJicmV2aWF0ZVN0
cmluZyh2YWx1ZSwgbWF4TGVuZ3RoLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxv
c3NsZXNzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgcHJldmlldy5wdXNoKFtuYW1lLCB0eXBlLCB2YWx1ZSArICIiXSk7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgICAg
ICBsb3NzbGVzcyA9IGZhbHNlOworCisgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICJmdW5j
dGlvbiIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAg
dmFyIHN1YnR5cGUgPSBpbmplY3RlZFNjcmlwdC5fc3VidHlwZSh2YWx1ZSk7CisgICAgICAgICAg
ICAgICAgcHJldmlldy5wdXNoKFtuYW1lLCB0eXBlLCB0aGlzLl9hYmJyZXZpYXRlU3RyaW5nKGlu
amVjdGVkU2NyaXB0Ll9kZXNjcmliZSh2YWx1ZSksIG1heExlbmd0aCksIHN1YnR5cGVdKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghcHJldmlldy5sZW5ndGgpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKKworICAgICAgICAgICAgaWYgKCFsb3NzbGVzcykKKyAg
ICAgICAgICAgICAgICBwcmV2aWV3LnB1c2goImxvc3N5Iik7CisgICAgICAgICAgICBpZiAob3Zl
cmZsb3cpCisgICAgICAgICAgICAgICAgcHJldmlldy5wdXNoKCJvdmVyZmxvdyIpOworICAgICAg
ICAgICAgcmV0dXJuIHByZXZpZXc7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
IHJldHVybiB1bmRlZmluZWQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtzdHJpbmd9IHN0cmluZworICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhMZW5ndGgK
KyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBtaWRkbGUKKyAgICAgKiBAcmV0dXJucworICAgICAq
LworICAgIF9hYmJyZXZpYXRlU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcsIG1heExlbmd0aCwgbWlk
ZGxlKQorICAgIHsKKyAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPD0gbWF4TGVuZ3RoKQorICAg
ICAgICAgICAgcmV0dXJuIHN0cmluZzsKKyAgICAgICAgaWYgKG1pZGRsZSkgeworICAgICAgICAg
ICAgdmFyIGxlZnRIYWxmID0gbWF4TGVuZ3RoID4+IDE7CisgICAgICAgICAgICB2YXIgcmlnaHRI
YWxmID0gbWF4TGVuZ3RoIC0gbGVmdEhhbGYgLSAxOworICAgICAgICAgICAgcmV0dXJuIHN0cmlu
Zy5zdWJzdHIoMCwgbGVmdEhhbGYpICsgIlx1MjAyNiIgKyBzdHJpbmcuc3Vic3RyKHN0cmluZy5s
ZW5ndGggLSByaWdodEhhbGYsIHJpZ2h0SGFsZik7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IHN0cmluZy5zdWJzdHIoMCwgbWF4TGVuZ3RoKSArICJcdTIwMjYiOworICAgIH0KK30KIC8qKgog
ICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge251bWJlcn0gb3JkaW5hbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDAxYTU5YmU2OWNjMThlZmYyMmFjODExMDAx
MzBmOGU0NjY5NmI2ODYuLjM0YzI3ZjZlNjgzYTA4NDExYjY1MDRjNDgwY2ZjNzgxYjlmNTI0MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTQ0OCw3ICs0NDgs
OCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNsYXNzTmFtZSIsICJ0eXBlIjog
InN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJPYmplY3QgY2xhc3Mg
KGNvbnN0cnVjdG9yKSBuYW1lLiBTcGVjaWZpZWQgZm9yIDxjb2RlPm9iamVjdDwvY29kZT4gdHlw
ZSB2YWx1ZXMgb25seS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUi
LCAidHlwZSI6ICJhbnkiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiUmVtb3Rl
IG9iamVjdCB2YWx1ZSAoaW4gY2FzZSBvZiBwcmltaXRpdmUgdmFsdWVzIG9yIEpTT04gdmFsdWVz
IGlmIGl0IHdhcyByZXF1ZXN0ZWQpLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJkZXNjcmlwdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC4iIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAiJHJlZiI6ICJSZW1vdGVPYmpl
Y3RJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2JqZWN0IGlk
ZW50aWZpZXIgKGZvciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9CisgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAiJHJlZiI6ICJSZW1vdGVPYmplY3RJZCIsICJvcHRp
b25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2JqZWN0IGlkZW50aWZpZXIgKGZv
ciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImFiYnJldmlhdGVkIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0eXBlIjogIm9i
amVjdCIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkFiYnJldmlhdGVkIG9i
amVjdCBjb250YWluaW5nIHNvbWUgb2YgdGhlIG9yaWdpbmFsIG9iamVjdCdzIHByb3BlcnRpZXMu
IiwgImhpZGRlbiI6IHRydWUgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwCmluZGV4IDI3MGM0YWVhMDNiMWUxOTdlZjMyNzk0MzczOWQwMmU4NjE0
ZDc5YjguLmNhMTkxODk3NDIzZDBlNWQ1ZjE3NzczMWEwMzQ3MjAzOTM3YzVjYTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBA
IC04MywxMiArODMsMTIgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmVuYWJsZShFcnJv
clN0cmluZyopCiAKICAgICBpZiAobV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCkgewogICAg
ICAgICBDb25zb2xlTWVzc2FnZSBleHBpcmVkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBTdHJpbmc6OmZvcm1hdCgiJWQgY29u
c29sZSBtZXNzYWdlcyBhcmUgbm90IHNob3duLiIsIG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291
bnQpLCAiIiwgMCwgIiIpOwotICAgICAgICBleHBpcmVkTWVzc2FnZS5hZGRUb0Zyb250ZW5kKG1f
ZnJvbnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKTsKKyAgICAgICAgZXhwaXJlZE1lc3Nh
Z2UuYWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlciwgZmFs
c2UpOwogICAgIH0KIAogICAgIHNpemVfdCBtZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVNZXNzYWdl
cy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtZXNzYWdlQ291bnQ7ICsraSkK
LSAgICAgICAgbV9jb25zb2xlTWVzc2FnZXNbaV0tPmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpOworICAgICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+
YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlciwgZmFsc2Up
OwogfQogCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyop
CkBAIC0yODEsNyArMjgxLDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNv
bGVNZXNzYWdlKFBhc3NPd25QdHI8Q29uc29sZU1lc3NhZ2U+IGNvbnNvbGUKICAgICAgICAgbV9w
cmV2aW91c01lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZS5nZXQoKTsKICAgICAgICAgbV9jb25zb2xl
TWVzc2FnZXMuYXBwZW5kKGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgaWYgKG1fZnJvbnRlbmQg
JiYgbV9zdGF0ZS0+Z2V0Qm9vbGVhbihDb25zb2xlQWdlbnRTdGF0ZTo6Y29uc29sZU1lc3NhZ2Vz
RW5hYmxlZCkpCi0gICAgICAgICAgICBtX3ByZXZpb3VzTWVzc2FnZS0+YWRkVG9Gcm9udGVuZCht
X2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcik7CisgICAgICAgICAgICBtX3ByZXZp
b3VzTWVzc2FnZS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFu
YWdlciwgdHJ1ZSk7CiAgICAgfQogCiAgICAgaWYgKCFtX2Zyb250ZW5kICYmIG1fY29uc29sZU1l
c3NhZ2VzLnNpemUoKSA+PSBtYXhpbXVtQ29uc29sZU1lc3NhZ2VzKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwppbmRleCA0
OWRiY2ViMDlmNDhmNjEzMzJkZTA4OTQxMzg1OGZjYzU1ODU5NzE0Li4wNTI2ZjJlNDliNWZhYzFl
OTQyYjM4NjhmZDUwYWEzM2I0NTdiN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTIyNSw3ICsyMjUsNyBAQCBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IGlmIChzaG91bGRGb3JtYXRNZXNzYWdlICYmIHBhcmFtZXRlcnNbaV0udHlwZSA9PT0gInN0cmlu
ZyIpCiAgICAgICAgICAgICAgICAgZm9ybWF0dGVkUmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKHBhcmFtZXRlcnNbaV0uZGVzY3JpcHRpb24pKTsKICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQodGhpcy5f
Zm9ybWF0UGFyYW1ldGVyKHBhcmFtZXRlcnNbaV0pKTsKKyAgICAgICAgICAgICAgICBmb3JtYXR0
ZWRSZXN1bHQuYXBwZW5kQ2hpbGQodGhpcy5fZm9ybWF0UGFyYW1ldGVyKHBhcmFtZXRlcnNbaV0s
IGZhbHNlLCB0cnVlKSk7CiAgICAgICAgICAgICBpZiAoaSA8IHBhcmFtZXRlcnMubGVuZ3RoIC0g
MSkKICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoIiAiKSk7CiAgICAgICAgIH0KQEAgLTIzNCw4ICsyMzQsOSBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAg
ICAqIEBwYXJhbSB7Ym9vbGVhbj19IGZvcmNlT2JqZWN0Rm9ybWF0CisgICAgICogQHBhcmFtIHti
b29sZWFuPX0gaW5jbHVkZVByZXZpZXcKICAgICAgKi8KLSAgICBfZm9ybWF0UGFyYW1ldGVyOiBm
dW5jdGlvbihvdXRwdXQsIGZvcmNlT2JqZWN0Rm9ybWF0KQorICAgIF9mb3JtYXRQYXJhbWV0ZXI6
IGZ1bmN0aW9uKG91dHB1dCwgZm9yY2VPYmplY3RGb3JtYXQsIGluY2x1ZGVQcmV2aWV3KQogICAg
IHsKICAgICAgICAgdmFyIHR5cGU7CiAgICAgICAgIGlmIChmb3JjZU9iamVjdEZvcm1hdCkKQEAg
LTI1Myw3ICsyNTQsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4i
KTsKICAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSAiY29uc29sZS1mb3JtYXR0ZWQtIiArIHR5cGUg
KyAiIHNvdXJjZS1jb2RlIjsKLSAgICAgICAgZm9ybWF0dGVyLmNhbGwodGhpcywgb3V0cHV0LCBz
cGFuKTsKKyAgICAgICAgZm9ybWF0dGVyLmNhbGwodGhpcywgb3V0cHV0LCBzcGFuLCBpbmNsdWRl
UHJldmlldyk7CiAgICAgICAgIHJldHVybiBzcGFuOwogICAgIH0sCiAKQEAgLTI2MiwxMyArMjYz
LDkwIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAg
ICAgICBlbGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHZhbCkpOwogICAg
IH0sCiAKLSAgICBfZm9ybWF0UGFyYW1ldGVyQXNPYmplY3Q6IGZ1bmN0aW9uKG9iaiwgZWxlbSkK
KyAgICBfZm9ybWF0UGFyYW1ldGVyQXNPYmplY3Q6IGZ1bmN0aW9uKG9iaiwgZWxlbSwgaW5jbHVk
ZVByZXZpZXcpCiAgICAgewotICAgICAgICB2YXIgc2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3Iu
T2JqZWN0UHJvcGVydGllc1NlY3Rpb24ob2JqLCBvYmouZGVzY3JpcHRpb24pOworICAgICAgICB0
aGlzLl9mb3JtYXRQYXJhbWV0ZXJBc0FycmF5T3JPYmplY3Qob2JqLCBvYmouZGVzY3JpcHRpb24s
IGVsZW0sIGluY2x1ZGVQcmV2aWV3KTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0fSBvYmoKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30g
ZGVzY3JpcHRpb24KKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGVsZW0KKyAgICAgKiBAcGFyYW0g
e2Jvb2xlYW59IGluY2x1ZGVQcmV2aWV3CisgICAgICovCisgICAgX2Zvcm1hdFBhcmFtZXRlckFz
QXJyYXlPck9iamVjdDogZnVuY3Rpb24ob2JqLCBkZXNjcmlwdGlvbiwgZWxlbSwgaW5jbHVkZVBy
ZXZpZXcpCisgICAgeworICAgICAgICB2YXIgdGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICAgICAgICBpZiAoZGVzY3JpcHRpb24pCisgICAgICAgICAgICB0
aXRsZUVsZW1lbnQuY3JlYXRlVGV4dENoaWxkKGRlc2NyaXB0aW9uKTsKKyAgICAgICAgaWYgKGlu
Y2x1ZGVQcmV2aWV3ICYmIG9iai5wcmV2aWV3UHJvcGVydGllcykgeworICAgICAgICAgICAgdGl0
bGVFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImNvbnNvbGUtb2JqZWN0LXByZXZpZXciKTsKKyAgICAg
ICAgICAgIHZhciBsb3NzbGVzcyA9IHRoaXMuX2FwcGVuZE9iamVjdFByZXZpZXcob2JqLCBkZXNj
cmlwdGlvbiwgdGl0bGVFbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChsb3NzbGVzcykgeworICAg
ICAgICAgICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQodGl0bGVFbGVtZW50KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdmFyIHNlY3Rp
b24gPSBuZXcgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uKG9iaiwgdGl0bGVF
bGVtZW50KTsKICAgICAgICAgc2VjdGlvbi5lbmFibGVDb250ZXh0TWVudSgpOwogICAgICAgICBl
bGVtLmFwcGVuZENoaWxkKHNlY3Rpb24uZWxlbWVudCk7CiAgICAgfSwKIAorICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gb2JqCisgICAgICogQHBhcmFt
IHtzdHJpbmd9IGRlc2NyaXB0aW9uCisgICAgICogQHBhcmFtIHtFbGVtZW50fSB0aXRsZUVsZW1l
bnQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmZiBwcmV2aWV3IGNhcHR1cmVkIGFs
bCBpbmZvcm1hdGlvbi4KKyAgICAgKi8KKyAgICBfYXBwZW5kT2JqZWN0UHJldmlldzogZnVuY3Rp
b24ob2JqLCBkZXNjcmlwdGlvbiwgdGl0bGVFbGVtZW50KQorICAgIHsKKyAgICAgICAgdmFyIHBy
ZXZpZXcgPSBvYmoucHJldmlld1Byb3BlcnRpZXM7CisgICAgICAgIHZhciBpc0xvc3NsZXNzUHJl
dmlldyA9IHRydWU7CisgICAgICAgIHZhciBpc0FycmF5ID0gb2JqLnN1YnR5cGUgPT09ICJhcnJh
eSI7CisKKyAgICAgICAgaWYgKGRlc2NyaXB0aW9uKQorICAgICAgICAgICAgdGl0bGVFbGVtZW50
LmNyZWF0ZVRleHRDaGlsZCgiICIpOworICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlVGV4dENo
aWxkKGlzQXJyYXkgPyAiWyIgOiAieyIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBy
ZXZpZXcubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHByZXZpZXdb
aV07CisgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJsb3NzeSIpIHsKKyAgICAgICAgICAg
ICAgaXNMb3NzbGVzc1ByZXZpZXcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gIm92ZXJmbG93Iikg
eworICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIpLnRleHRD
b250ZW50ID0gIlx1MjAyNiI7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHZhciBuYW1lID0gcHJvcGVydHlbMF07CisgICAgICAgICAgICB2YXIg
dHlwZSA9IHByb3BlcnR5WzFdOworICAgICAgICAgICAgdmFyIHZhbHVlID0gcHJvcGVydHlbMl07
CisKKyAgICAgICAgICAgIGlmIChpID4gMCkKKyAgICAgICAgICAgICAgICB0aXRsZUVsZW1lbnQu
Y3JlYXRlVGV4dENoaWxkKCIsICIpOworCisgICAgICAgICAgICBpZiAoIWlzQXJyYXkgfHwgbmFt
ZSAhPSBpKSB7CisgICAgICAgICAgICAgICAgdGl0bGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFu
IiwgIm5hbWUiKS50ZXh0Q29udGVudCA9IG5hbWU7CisgICAgICAgICAgICAgICAgdGl0bGVFbGVt
ZW50LmNyZWF0ZVRleHRDaGlsZCgiOiAiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
dmFyIHNwYW4gPSB0aXRsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoInNwYW4iLCAiY29uc29sZS1mb3Jt
YXR0ZWQtIiArIHR5cGUpOworICAgICAgICAgICAgaWYgKHR5cGUgPT09ICJvYmplY3QiKSB7Cisg
ICAgICAgICAgICAgICAgdmFyIHN1YnR5cGUgPSBwcm9wZXJ0eVszXTsKKyAgICAgICAgICAgICAg
ICBpZiAoc3VidHlwZSA9PT0gIm5vZGUiKQorICAgICAgICAgICAgICAgICAgICBzcGFuLmFkZFN0
eWxlQ2xhc3MoImNvbnNvbGUtZm9ybWF0dGVkLXByZXZpZXctbm9kZSIpOworICAgICAgICAgICAg
ICAgIHNwYW4udGV4dENvbnRlbnQgPSB2YWx1ZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHlw
ZSA9PT0gInN0cmluZyIpCisgICAgICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICJcIiIg
KyB2YWx1ZS5yZXBsYWNlKC9cbi9nLCAiXHUyMUI1IikgKyAiXCIiOworICAgICAgICAgICAgZWxz
ZSBpZiAodHlwZSA9PT0gIm51bGwiIHx8IHR5cGUgPT09ICJ1bmRlZmluZWQiKQorICAgICAgICAg
ICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSB0eXBlOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBTdHJpbmcodmFsdWUpOworICAgICAgICB9Cisg
ICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQoaXNBcnJheSA/ICJdIiA6ICJ9Iik7
CisgICAgICAgIHJldHVybiBpc0xvc3NsZXNzUHJldmlldzsKKyAgICB9LAorCiAgICAgX2Zvcm1h
dFBhcmFtZXRlckFzTm9kZTogZnVuY3Rpb24ob2JqZWN0LCBlbGVtKQogICAgIHsKICAgICAgICAg
ZnVuY3Rpb24gcHJpbnROb2RlKG5vZGVJZCkKQEAgLTI3Niw3ICszNTQsNyBAQCBXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICghbm9k
ZUlkKSB7CiAgICAgICAgICAgICAgICAgLy8gU29tZXRpbWVzIERPTSBpcyBsb2FkZWQgYWZ0ZXIg
dGhlIHN5bmMgbWVzc2FnZSBpcyBiZWluZyBmb3JtYXR0ZWQsIHNvIHdlIGdldCBubwogICAgICAg
ICAgICAgICAgIC8vIG5vZGVJZCBoZXJlLiBTbyB3ZSBmYWxsIGJhY2sgdG8gb2JqZWN0IGZvcm1h
dHRpbmcgaGVyZS4KLSAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRQYXJhbWV0ZXJBc09iamVj
dChvYmplY3QsIGVsZW0pOworICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFz
T2JqZWN0KG9iamVjdCwgZWxlbSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHZhciB0cmVlT3V0bGluZSA9IG5ldyBXZWJJbnNwZWN0
b3IuRWxlbWVudHNUcmVlT3V0bGluZShmYWxzZSwgZmFsc2UsIHRydWUpOwpAQCAtMjkzLDYgKzM3
MSwxMSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAog
ICAgIF9mb3JtYXRQYXJhbWV0ZXJBc0FycmF5OiBmdW5jdGlvbihhcnJheSwgZWxlbSkKICAgICB7
CisgICAgICAgIGlmIChhcnJheS5wcmV2aWV3UHJvcGVydGllcykgeworICAgICAgICAgICAgdGhp
cy5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9yT2JqZWN0KGFycmF5LCAiIiwgZWxlbSwgdHJ1ZSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBjb25zdCBtYXhGbGF0
QXJyYXlMZW5ndGggPSAxMDA7CiAgICAgICAgIGlmIChhcnJheS5hcnJheUxlbmd0aCgpID4gbWF4
RmxhdEFycmF5TGVuZ3RoKQogICAgICAgICAgICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNPYmpl
Y3QoYXJyYXksIGVsZW0pOwpAQCAtMzUyLDcgKzQzNSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAgICAgICAgICAgbGFzdE5vbkVtcHR5SW5kZXgg
PSBpOwogICAgICAgICAgICAgaWYgKGkgPCBsZW5ndGggLSAxKQogICAgICAgICAgICAgICAgIGVs
ZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiwgIikpOwotICAgICAgICB9
ICAgICAgIAorICAgICAgICB9CiAgICAgICAgIGFwcGVuZFVuZGVmaW5lZChlbGVtLCBsZW5ndGgp
OwogCiAgICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIl0i
KSk7CkBAIC0zNjEsNyArNDQ0LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5w
cm90b3R5cGUgPSB7CiAgICAgX2Zvcm1hdEFzQXJyYXlFbnRyeTogZnVuY3Rpb24ob3V0cHV0KQog
ICAgIHsKICAgICAgICAgLy8gUHJldmVudCBpbmZpbml0ZSBleHBhbnNpb24gb2YgY3Jvc3MtcmVm
ZXJlbmNpbmcgYXJyYXlzLgotICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0UGFyYW1ldGVyKG91
dHB1dCwgb3V0cHV0LnN1YnR5cGUgJiYgb3V0cHV0LnN1YnR5cGUgPT09ICJhcnJheSIpOworICAg
ICAgICByZXR1cm4gdGhpcy5fZm9ybWF0UGFyYW1ldGVyKG91dHB1dCwgb3V0cHV0LnN1YnR5cGUg
JiYgb3V0cHV0LnN1YnR5cGUgPT09ICJhcnJheSIsIGZhbHNlKTsKICAgICB9LAogCiAgICAgX2Zv
cm1hdFdpdGhTdWJzdGl0dXRpb25TdHJpbmc6IGZ1bmN0aW9uKHBhcmFtZXRlcnMsIGZvcm1hdHRl
ZFJlc3VsdCkKQEAgLTM3MCw3ICs0NTMsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJ
bXBsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBmdW5jdGlvbiBwYXJhbWV0ZXJGb3JtYXR0ZXIo
Zm9yY2UsIG9iaikKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBh
cmFtZXRlcihvYmosIGZvcmNlKTsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRQYXJh
bWV0ZXIob2JqLCBmb3JjZSwgZmFsc2UpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24g
dmFsdWVGb3JtYXR0ZXIob2JqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTUV4dGVuc2lvbi5qcwppbmRleCBiZWMxNDcwZDhiMDJmZTliZDE2OTNhYWM2NGMx
NjM4ZWNhYTM3M2U0Li4zZTU5MjY0MDljY2M5MmVmYmY0OTYyN2Q1ODRjMjZmZjZhOWIwZjViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lv
bi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lv
bi5qcwpAQCAtMjUzLDYgKzI1MywxOCBAQCBFbGVtZW50LnByb3RvdHlwZS5jcmVhdGVDaGlsZCA9
IGZ1bmN0aW9uKGVsZW1lbnROYW1lLCBjbGFzc05hbWUpCiBEb2N1bWVudEZyYWdtZW50LnByb3Rv
dHlwZS5jcmVhdGVDaGlsZCA9IEVsZW1lbnQucHJvdG90eXBlLmNyZWF0ZUNoaWxkOwogCiAvKioK
KyAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0CisgKi8KK0VsZW1lbnQucHJvdG90eXBlLmNyZWF0ZVRl
eHRDaGlsZCA9IGZ1bmN0aW9uKHRleHQpCit7CisgICAgdmFyIGVsZW1lbnQgPSB0aGlzLm93bmVy
RG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCk7CisgICAgdGhpcy5hcHBlbmRDaGlsZChlbGVt
ZW50KTsKKyAgICByZXR1cm4gZWxlbWVudDsKK30KKworRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5
cGUuY3JlYXRlVGV4dENoaWxkID0gRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlVGV4dENoaWxkOwor
CisvKioKICAqIEByZXR1cm4ge251bWJlcn0KICAqLwogRWxlbWVudC5wcm90b3R5cGUudG90YWxP
ZmZzZXRMZWZ0ID0gZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKaW5kZXggOWEx
ODJhNTk4OWFiMDFlN2M3NDg4NGNiYWYxNTlkY2MxYzk5OGU4ZS4uOTllNzU3ZjI0MWIyNWVmZTEw
OWIxMDVjMjJiMTNhMmFjYzQzMjIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC0y
OCw3ICsyOCw3IEBACiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3Iu
UHJvcGVydGllc1NlY3Rpb259CiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Q9
fSBvYmplY3QKLSAqIEBwYXJhbSB7c3RyaW5nPX0gdGl0bGUKKyAqIEBwYXJhbSB7c3RyaW5nfEVs
ZW1lbnQ9fSB0aXRsZQogICogQHBhcmFtIHtzdHJpbmc9fSBzdWJ0aXRsZQogICogQHBhcmFtIHtz
dHJpbmc9fSBlbXB0eVBsYWNlaG9sZGVyCiAgKiBAcGFyYW0ge2Jvb2xlYW49fSBpZ25vcmVIYXNP
d25Qcm9wZXJ0eQpAQCAtNDUsNyArNDUsNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGll
c1NlY3Rpb24gPSBmdW5jdGlvbihvYmplY3QsIHRpdGxlLCBzdWJ0aXRsZSwgZW1wdHlQbAogICAg
IHRoaXMuZWRpdGFibGUgPSB0cnVlOwogICAgIHRoaXMuc2tpcFByb3RvID0gZmFsc2U7CiAKLSAg
ICBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24uY2FsbCh0aGlzLCB0aXRsZSwgc3VidGl0
bGUpOworICAgIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbi5jYWxsKHRoaXMsIHRpdGxl
IHx8ICIiLCBzdWJ0aXRsZSk7CiB9CiAKIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2Vj
dGlvbi5fYXJyYXlMb2FkVGhyZXNob2xkID0gMTAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMKaW5kZXggMDYxMWIx
NDNhNmY1MTMxMTIyOTc1NTEwYzU3NjIwYmRhMTZiMDMzMi4uNGY3NjBlNjhlMDE1MWM4OWY4MjBi
OGJjOTg0ZTViOTVjNDg2MDNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC0zMCw2ICszMCw3IEBACiAv
KioKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5TZWN0aW9ufQor
ICogQHBhcmFtIHtzdHJpbmd8RWxlbWVudH0gdGl0bGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gc3Vi
dGl0bGUKICAqLwogV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uID0gZnVuY3Rpb24odGl0
bGUsIHN1YnRpdGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZW1vdGVPYmplY3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1JlbW90ZU9iamVjdC5qcwppbmRleCAzZjMyOGVjMGIwM2QzOTgxMjc1ZjA1OWZiMjIyNDVkOTM3
MjkwNmIxLi5kZGRlMmM3MmEwMDA3MGYzNDk1Nzc5Yjg5MDc0MzFhNWI4MjViNDYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwpA
QCAtMzUsOCArMzUsOSBAQAogICogQHBhcmFtIHtzdHJpbmd8dW5kZWZpbmVkfSBzdWJ0eXBlCiAg
KiBAcGFyYW0geyp9IHZhbHVlCiAgKiBAcGFyYW0ge3N0cmluZz19IGRlc2NyaXB0aW9uCisgKiBA
cGFyYW0ge0FycmF5PX0gcHJldmlld1Byb3BlcnRpZXMKICAqLwotV2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdCA9IGZ1bmN0aW9uKG9iamVjdElkLCB0eXBlLCBzdWJ0eXBlLCB2YWx1ZSwgZGVzY3Jp
cHRpb24pCitXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0SWQsIHR5
cGUsIHN1YnR5cGUsIHZhbHVlLCBkZXNjcmlwdGlvbiwgcHJldmlld1Byb3BlcnRpZXMpCiB7CiAg
ICAgdGhpcy5fdHlwZSA9IHR5cGU7CiAgICAgdGhpcy5fc3VidHlwZSA9IHN1YnR5cGU7CkBAIC00
NSw2ICs0Niw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3RJ
ZCwgdHlwZSwgc3VidHlwZSwgdmFsdWUsIGRlc2NyaXB0aW9uCiAgICAgICAgIHRoaXMuX29iamVj
dElkID0gb2JqZWN0SWQ7CiAgICAgICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247
CiAgICAgICAgIHRoaXMuX2hhc0NoaWxkcmVuID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fcHJldmll
d1Byb3BlcnRpZXMgPSBwcmV2aWV3UHJvcGVydGllczsKICAgICB9IGVsc2UgewogICAgICAgICAv
LyBQcmltaXRpdmUgb3IgbnVsbCBvYmplY3QuCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGUg
IT09ICJvYmplY3QiIHx8IHZhbHVlID09PSBudWxsKTsKQEAgLTEwNCw3ICsxMDYsNyBAQCBXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkID0gZnVuY3Rpb24ocGF5bG9hZCkKIHsK
ICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgcGF5bG9hZCA9PT0gIm9iamVjdCIsICJSZW1vdGUg
b2JqZWN0IHBheWxvYWQgc2hvdWxkIG9ubHkgYmUgYW4gb2JqZWN0Iik7CiAKLSAgICByZXR1cm4g
bmV3IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QocGF5bG9hZC5vYmplY3RJZCwgcGF5bG9hZC50
eXBlLCBwYXlsb2FkLnN1YnR5cGUsIHBheWxvYWQudmFsdWUsIHBheWxvYWQuZGVzY3JpcHRpb24p
OworICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdChwYXlsb2FkLm9iamVj
dElkLCBwYXlsb2FkLnR5cGUsIHBheWxvYWQuc3VidHlwZSwgcGF5bG9hZC52YWx1ZSwgcGF5bG9h
ZC5kZXNjcmlwdGlvbiwgcGF5bG9hZC5wcmV2aWV3KTsKIH0KIAogLyoqCkBAIC0xNTQsNiArMTU2
LDEyIEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBlID0gewogICAgICAgICBy
ZXR1cm4gdGhpcy5faGFzQ2hpbGRyZW47CiAgICAgfSwKIAorICAgIC8qKiBAcmV0dXJuIHtBcnJh
eXx1bmRlZmluZWR9ICovCisgICAgZ2V0IHByZXZpZXdQcm9wZXJ0aWVzKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9wcmV2aWV3UHJvcGVydGllczsKKyAgICB9LAorCiAgICAgLyoqCiAg
ICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFBy
b3BlcnR5Pil9IGNhbGxiYWNrCiAgICAgICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NlY3Rpb24uanMKaW5kZXggMDA3MDk2NDkxN2E4OWQ1NDNkN2E0OWE3MDViMWVj
ODEyZTg1Y2ExZS4uZWY3ZjFlZTUyZWZmOGEyZjNjOGRjMjM4NjdjYmMxODE1ZDhiZDA3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWN0aW9uLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VjdGlvbi5qcwpAQCAtMjks
NiArMjksNyBAQAogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtzdHJpbmd8RWxl
bWVudH0gdGl0bGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gc3VidGl0bGUKICAqLwogV2ViSW5zcGVj
dG9yLlNlY3Rpb24gPSBmdW5jdGlvbih0aXRsZSwgc3VidGl0bGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggOWJjOWY1N2UxMGQz
OGQ4ZDc0Zjc4MjcxNzViN2M1NzA4MjIzNDY2NC4uMzkxMTZlNmE5MTIwYmIwZjFkYzI3YWM3MTJi
YTUwMDlmNjcwY2NmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmNzcwpAQCAtMTAyNSw2ICsxMDI1LDcgQEAgYm9keS5wbGF0Zm9ybS1saW51
eCAubW9ub3NwYWNlLCBib2R5LnBsYXRmb3JtLWxpbnV4IC5zb3VyY2UtY29kZSB7CiAuY29uc29s
ZS1ncm91cC1tZXNzYWdlcyAuc2VjdGlvbiAuaGVhZGVyIC50aXRsZSB7CiAgICAgY29sb3I6IGJs
YWNrOwogICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgbGluZS1oZWlnaHQ6IDEzcHg7CiB9
CiAKIC5jb25zb2xlLWdyb3VwLW1lc3NhZ2VzIC5zZWN0aW9uIC5wcm9wZXJ0aWVzIGxpIC5pbmZv
IHsKQEAgLTEwODcsNiArMTA4OCwxNSBAQCBib2R5LnBsYXRmb3JtLWxpbnV4IC5tb25vc3BhY2Us
IGJvZHkucGxhdGZvcm0tbGludXggLnNvdXJjZS1jb2RlIHsKICAgICBjb2xvcjogcmdiKDEyOCwg
MTI4LCAxMjgpOwogfQogCisuY29uc29sZS1mb3JtYXR0ZWQtcHJldmlldy1ub2RlLAorLnNlY3Rp
b24gLmNvbnNvbGUtZm9ybWF0dGVkLW5vZGUgeworICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4
KTsKK30KKworLmNvbnNvbGUtb2JqZWN0LXByZXZpZXcgeworICAgIGZvbnQtc3R5bGU6IGl0YWxp
YzsKK30KKwogLmVycm9yLW1lc3NhZ2UgewogICAgIGNvbG9yOiByZWQ7CiB9CkBAIC0xNTgwLDcg
KzE1OTAsNyBAQCBsaS5lZGl0aW5nIC5zd2F0Y2gsIGxpLmVkaXRpbmcgLmVuYWJsZWQtYnV0dG9u
LCAgbGkuZWRpdGluZy1zdWItcGFydCAuZGVsZXRlLWJ1dAogICAgIGRpc3BsYXk6IGlubGluZTsK
IH0KIAotLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1l
IHsKKy5zZWN0aW9uIC5wcm9wZXJ0aWVzIC5uYW1lLCAuZXZlbnQtcHJvcGVydGllcyAubmFtZSwg
LmNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCAubmFtZSB7CiAgICAgY29sb3I6IHJnYigxMzYsIDE5
LCAxNDUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjFmZDAxOWU1YmFkMDNjYmY4NmViMzY4YjI0Y2MzZjAyMzNk
OWQ5YS4uM2IwMDJiNmRkNmQxNDY4OGYwYzllZDFhMjdlMDYzNzg5MDZkMTAxMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMyIEBACisyMDEyLTA4LTA4ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRo
ZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25zb2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0
bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0Lmh0bWw6Cisg
ICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3Vt
ZW50LXByb3RvLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ct
dG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdn
ZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFu
ay1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1z
d2l0Y2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rv
ci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KwogMjAxMi0wOC0wOCAgRG91Z2xhcyBTdG9ja3dlbGwgIDxkc3RvY2t3ZWxsQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICAnaGlnaGxpZ2h0JyBzaG91bGQgbm90IGJlIHBhcnNlZCBmb3IgYSBjb21w
b3NpdGUgb3BlcmF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dAppbmRl
eCAwNzJmZDFlMjU5MWJlMDUzZWU5YWYzOGUzZjFjOGVlMjU5OTI1OTk2Li5lMjg4YjkzMjU3ZDVh
MmE1YjVkNTcyYmFhNjQxY2RkMmVkYzczZDFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1l
eHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFRlc3RzIHRoYXQgaW5zcGVjdCgpIGNvbW1hbmQg
bGluZSBhcGkgd29ya3MuCiBSdW5uaW5nOiB0ZXN0UmV2ZWFsRWxlbWVudAogCiAKLVdlYkluc3Bl
Y3Rvci5pbnNwZWN0IGNhbGxlZCB3aXRoOiBIVE1MUGFyYWdyYXBoRWxlbWVudAorV2ViSW5zcGVj
dG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IDxwPgogV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50
cyBhcmU6IFtdCiBpbnNwZWN0KCQoJ3AxJykpID0gCiBTZWxlY3RlZCBub2RlIGlkOiAncDEnLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhw
ZWN0ZWQudHh0CmluZGV4IGU3M2FhYTg4OGY3MmY0NGNhYTVhNTM5OTZhYThkZDAyYzdiMTgxOTYu
LmJkNmY0ZmNhNmU4MzNhNjQ0YTYyYmI0MDg3Yzg0M2UxNTFjMDM2NTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQK
QEAgLTEyLDcgKzEyLDcgQEAgQXJyYXlbMl0KICAgICBfX3Byb3RvX186IEFycmF5WzBdIGNvbnNv
bGUtZGlyLmh0bWw6OQogCiBOb2RlTGlzdFsxXQotICAgIDA6IEhUTUxIdG1sRWxlbWVudAorICAg
IDA6IDxodG1sPgogICAgIGNvbnN0cnVjdG9yOiBOb2RlTGlzdENvbnN0cnVjdG9yCiAgICAgbGVu
Z3RoOiAxCiAgICAgX19wcm90b19fOiBOb2RlTGlzdFByb3RvdHlwZSBjb25zb2xlLWRpci5odG1s
OjEwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2
YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CmluZGV4IGIxMTUwNmJiMTAxMWI3MzkyZDI1
MTkxNDM3ZGY4N2E0NmMzNmExZTkuLjYxMDdmY2E3MzQwM2M3ODFiOTdlM2VhNmY2YjYzOTQyNWZi
NTBhNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
ZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNiBAQCBUZXN0
cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGluIHRoZSBjb25zb2xl
IG9uIGdsb2JhbCBvYmplY3QuCiAKIGZvbwogImZvb1ZhbHVlIgotYmFyMQotUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGJhcjEKK2JhcgorT2JqZWN0CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRtbApp
bmRleCBkNmY0NzgyYjlhZWM5MWFiMTE0YzZlNmRhNDU3NjZhNDU0NWY0ZGM3Li45NGZlMmRlZWQ5
MjhjNjRhNGZiODAyZDc1N2Y5Y2FiNzczMDg3NDhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5odG1sCkBAIC0xNSw3ICsx
NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gc3RlcDEoKQogICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYmFyMSIsIHN0ZXAyKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYmFyIiwgc3RlcDIpOwogICAg
IH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4
cGVjdGVkLnR4dAppbmRleCBiZGM5MmRmMzU4YzNhMjUwODA5YjM1MTgyZTBkNTY0ZjhiYTllODMw
Li5kZWM0NzNlOGQwM2JmMTk3NWVjNDc1MTNkMjZiNWU1N2VlNDFjNDM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1m
b3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC03LDYgKzcsMTUgQEAgQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDM1OiBbb2JqZWN0IE5vZGVMaXN0XQogQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQxOiAxLDIsCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFtvYmplY3QgT2JqZWN0XQogQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDUxOiBbb2JqZWN0IEFyZ3VtZW50c10KK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxNTogW29iamVjdCBOb2RlTGlzdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTog
W29iamVjdCBIVE1MQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogW29iamVj
dCBIVE1MT3B0aW9uc0NvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFtvYmpl
Y3QgSFRNTEFsbENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IFtvYmplY3Qg
SFRNTENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFtvYmplY3QgTm9kZUxp
c3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IDEsMiwKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0NDogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IFtvYmplY3Qg
QXJndW1lbnRzXQogVGVzdHMgdGhhdCBjb25zb2xlIG5pY2VseSBmb3JtYXRzIEhUTUwgQ29sbGVj
dGlvbnMgYW5kIE5vZGVMaXN0cy4KIAogWzxzZWxlY3QgaWQ9InNlbCIgbmFtZT0ic2VsIj7igKY8
L3NlbGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUKQEAgLTIwLDQgKzI5
LDE0IEBAIFRlc3RzIHRoYXQgY29uc29sZSBuaWNlbHkgZm9ybWF0cyBIVE1MIENvbGxlY3Rpb25z
IGFuZCBOb2RlTGlzdHMuCiBbMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25z
Lmh0bWw6NDEKIE5vbkFycmF5V2l0aExlbmd0aCBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5o
dG1sOjQ0CiBbMSwgIjIiXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjUxCitbPHNl
bGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUKKyBjb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sOjE5CitbPG9wdGlvbj4sIDxvcHRpb24+LCBzZWxlY3RlZEluZGV4
OiAwXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjIzCisgY29uc29sZS1mb3JtYXQt
Y29sbGVjdGlvbnMuaHRtbDoyNworIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MzEK
K1s8aW5wdXQ+LCA8aW5wdXQ+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjM1Citb
MSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDEKK05vbkFycmF5
V2l0aExlbmd0aCB7a2V5czogQXJyYXlbMF19IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0
bWw6NDQKK1sxLCAiMiJdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NTEKK1BhZ2Ug
cmVsb2FkZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCmluZGV4IDBiZWNhODdiMTEyYzcy
MTlmZWIxOTRkNzliYmY5ZDJjYzA0MWQzODkuLjhjMWQwY2ZlM2EzNmYyYWQwZGFlMTg2NTkxNDQ0
NmE5Y2QyMzdmZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbApAQCAtNCw3ICs0LDcgQEAK
IDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KIAotZnVuY3Rpb24gb25sb2FkKCkKK2Z1bmN0aW9uIGxvZ1Rv
Q29uc29sZSgpCiB7CiAgICAgdmFyIGZvcm1FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImYiKTsKICAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzZWwiKTsKQEAgLTUyLDYgKzUyLDExIEBAIGZ1bmN0aW9uIG9ubG9hZCgpCiAgICAgcnVuVGVz
dCgpOwogfQogCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAgIGxvZ1RvQ29uc29sZSgpOworfQor
CiBmdW5jdGlvbiBOb25BcnJheVdpdGhMZW5ndGgoKQogewogICAgIHRoaXMua2V5cz1bXTsKQEAg
LTY1LDggKzcwLDEzIEBAIE5vbkFycmF5V2l0aExlbmd0aC5wcm90b3R5cGUuX19kZWZpbmVHZXR0
ZXJfXygibGVuZ3RoIiwgZnVuY3Rpb24oKQogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvZ1RvQ29uc29s
ZSgpIiwgY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24gY2FsbGJhY2soKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1l
eHBlY3RlZC50eHQKaW5kZXggMGUxOTNhOGVhMmRlNTMxOTlhNTNhOTBmZTkyNjM2OTAwNjg3MWFj
MC4uNjE1NWZjNWVmOThkOGU2MjM3YWI2OTRmOWRmYjAwOGUzOGU0YjEwOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVj
dGVkLnR4dApAQCAtNTUsNyArNTUsNyBAQCBPYmplY3QgT2JqZWN0IGNvbnNvbGUtZm9ybWF0Lmh0
bWw6MTQKIFsidGVzdCIsICJ0ZXN0MiIsIHVuZGVmaW5lZCDDlyAyLCAidGVzdDQiLCB1bmRlZmlu
ZWQgw5cgNV0gY29uc29sZS1mb3JtYXQuaHRtbDoyMQogQXJyYXlbMTBdIGNvbnNvbGUtZm9ybWF0
Lmh0bWw6MjIKIC9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSonKXwoPzpbISMk
JSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaSBjb25zb2xlLWZvcm1h
dC5odG1sOjU0Ci1bL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/Olsh
IyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9pXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1CitbL151cmxcKFxzKig/Oig/OiIoPzrigKZdIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTUKIGdsb2JhbHNbMF0KIC9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEt
Zl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSon
KXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaQogL2Zv
b1xcYmFyXHNiYXovaSBjb25zb2xlLWZvcm1hdC5odG1sOjU0CkBAIC03NCwxMCArNzQsMTAgQEAg
RXJyb3IgY29uc29sZS1mb3JtYXQuaHRtbDo1NAogW0Vycm9yXSBjb25zb2xlLWZvcm1hdC5odG1s
OjU1CiBnbG9iYWxzWzRdCiBFcnJvcgotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+4oCmPC9ib2R5
PiBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+4oCmPC9i
b2R5Pl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQorPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+IGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTQKK1s8Ym9keT5dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGds
b2JhbHNbNV0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT4KKzxib2R5IG9ubG9h
ZD0ib25sb2FkKCkiPgogZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSBjb25zb2xlLWZvcm1hdC5o
dG1sOjU0CiBbZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfV0gY29uc29sZS1mb3JtYXQuaHRtbDo1
NQogZ2xvYmFsc1s2XQpAQCAtMTA5LDE3ICsxMDksMTcgQEAgdW5kZWZpbmVkIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTQKIGdsb2JhbHNbMTFdCiB1bmRlZmluZWQKIGF0dHI9IiIgY29uc29sZS1mb3Jt
YXQuaHRtbDo1NAotW2F0dHI9IiJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKK1thdHRyXSBjb25z
b2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzEyXQogYXR0cj0iIgotYXR0cj0idmFsdWUiIGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVthdHRyPSJ2YWx1ZSJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6
NTUKK2F0dHI9InZhbHVlIiJ2YWx1ZSIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAorW2F0dHJdIGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNbMTNdCi1hdHRyPSJ2YWx1ZSIKLWlkPSJ4IiBj
b25zb2xlLWZvcm1hdC5odG1sOjU0Ci1baWQ9IngiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Cith
dHRyPSJ2YWx1ZSIidmFsdWUiCitpZD0ieCIieCIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAorW2lk
XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzE0XQotaWQ9IngiCitpZD0ieCIieCIK
IE9iamVjdCBjb25zb2xlLWZvcm1hdC5odG1sOjU0CiBbT2JqZWN0XSBjb25zb2xlLWZvcm1hdC5o
dG1sOjU1CiBnbG9iYWxzWzE1XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZm9ybWF0Lmh0bWwKaW5kZXggZTY0NDBhOWM1ZDZkNWRiZjdkZjY3M2NlYjA2YjQ4
YzlmNDY2YWZhYi4uMTQ5MjIyNGM3MzA1NjJiMzQ0MGY0ZTMyMDY5NjMzODAxZTBmNDIzYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC5odG1s
CkBAIC0xNCw3ICsxNCw3IEBAIGZ1bmN0aW9uIG9ubG9hZCgpCiAgICAgY29uc29sZS5sb2coJ09i
amVjdCAlbycsIHsnZm9vJyA6ICdiYXInIH0pOwogCiAgICAgdmFyIGFycmF5ID0gWyJ0ZXN0Iiwg
InRlc3QyIl07IGFycmF5Lmxlbmd0aCA9IDEwOwotICAgIGFycmF5LmZvbyA9ICJiYXIiOyAKKyAg
ICBhcnJheS5mb28gPSB7fTsgCiAgICAgYXJyYXlbNF0gPSAidGVzdDQiOwogCiAgICAgY29uc29s
ZS5sb2coYXJyYXkpOwpAQCAtNjUsMTAgKzY1LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICB7CiAgICAgICAgICAgICB2YXIgbmV4dCA9IGN1cnJlbnQgKyAxOwogICAgICAgICAgICAgaWYg
KG5leHQgPT0gdG90YWwuZGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBsb29wT3Zlckdsb2JhbHMobmV4dCwgdG90
YWwpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4
dAppbmRleCBmZGRkMTI1N2Y0Y2ExODVkNWJkZWIyYzkzZjMyOWM3YjEzNzBlNTk5Li5kNjA4MWMz
Zjk5YzFlNDgwMWIzNzU1ZDhlZmZiYjhiMmRhYzdhOTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1l
bnQtcHJvdG8tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IFtvYmplY3QgSFRNTERvY3VtZW50UHJvdG90eXBlXQotVGVzdCB0aGF0IGNvbnNvbGUu
bG9nKGRvY3VtZW50Ll9fcHJvdG9fXykgd29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVu
IHRoZSBtZXNzYWdlIGlzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9yLkJ1ZyAyNzE2OS4KK1Rl
c3QgdGhhdCBjb25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBh
biBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rv
ci5CdWcgMjcxNjkuCiAKIEhUTUxEb2N1bWVudFByb3RvdHlwZSBjb25zb2xlLWxvZy1kb2N1bWVu
dC1wcm90by5odG1sOjYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWwKaW5kZXggMWViODFiMDc3
ZTZiNTM3MzEwZTg4Mzg4ZTE2YmEwNzc0YWI1MjI4Ni4uYjYzOWM0N2NhOWVjMTFjYTY0MjkwMDUw
NTZhZGJmM2FkYWEyZDhiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sCkBAIC0zLDcgKzMs
NyBAQAogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWNvbnNvbGUubG9nKGRvY3Vt
ZW50Ll9fcHJvdG9fXyk7Citjb25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pOwogCiBmdW5j
dGlvbiB0ZXN0KCkKIHsKQEAgLTE0LDcgKzE0LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiA8L2hlYWQ+
CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD4KLVRlc3QgdGhhdCBjb25zb2xlLmxvZyhk
b2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUg
bWVzc2FnZQorVGVzdCB0aGF0IGNvbnNvbGUuZGlyKGRvY3VtZW50Ll9fcHJvdG9fXykgd29uJ3Qg
cmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlCiBpcyBmb3JtYXR0ZWQgaW4g
dGhlIGluc3BlY3Rvci48YSBidWc9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNzE2OSI+QnVnICAyNzE2OS48L2E+CiA8L3A+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ct
dG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dAppbmRleCAxMDBmNjNmZmE5Njg5MjI2MjBlMWJj
OGE5MTY5MmU1NmMyNWQyNjkwLi4wNTIyN2VjZmMwZjM4NjdhMmZmNWY1MmJiZjc5MjllMGFmNTBj
MTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxv
Zy10b1N0cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTMs
NSArMyw1IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSA3OgogVGVzdHMgdGhhdCBwYXNzaW5nIGFu
IG9iamVjdCB3aGljaCB0aHJvd3Mgb24gc3RyaW5nIGNvbnZlcnNpb24gaW50byBjb25zb2xlLmxv
ZyB3b24ndCBjcmFzaCBpbnNwZWN0ZWQgUGFnZS4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNu
J3QgY3Jhc2guIEJ1ZyA1NzU1NwogCiBQYWdlIHJlbG9hZGVkLgotT2JqZWN0IGNvbnNvbGUtbG9n
LXRvU3RyaW5nLW9iamVjdC5odG1sOjcKK09iamVjdCB7dG9TdHJpbmc6IE9iamVjdH0gY29uc29s
ZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWw6NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1w
YW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0CmluZGV4IGIyNDE0NTZiNGU2Y2E3YzllZmZmOTVjNTQ4
ZWI5MDBiNmM3ZTIxN2QuLmY3YWJmYjYyZmNkYzBkMmU2NTRlYjFhYWFiMGQxOWYwMzc4MTY4Nzcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNz
aW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0CkBA
IC02LDcgKzYsNyBAQCBTY3JpcHQgc291cmNlIHdhcyBzaG93bi4KIFNldCB0aW1lciBmb3IgdGVz
dCBmdW5jdGlvbi4KIFdhdGNoIGV4cHJlc3Npb25zIHVwZGF0ZWQuCiBbZXhwYW5kZWRdICAKLSAg
ICB3aW5kb3cuZG9jdW1lbnQ6IEhUTUxEb2N1bWVudAorICAgIHdpbmRvdy5kb2N1bWVudDogI2Rv
Y3VtZW50CiAgICAgd2luZG93YS5kb2N1bWVudDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IHdpbmRvd2EKIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVy
LXNpZGViYXItZXhwZWN0ZWQudHh0CmluZGV4IDUzYzBmMGMzZWM3NDI3NDZlMDNkOGRlMWI2YTg4
NTA0NjY1NmRkYzEuLmJiMmMyODBmYzhjOWYwMDQ0ZDdiNzJhZWYyOTQxMjk1NmU2MTM0NDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1z
aWRlYmFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQKQEAgLTcsMjEgKzcsMjEgQEAgSW5z
cGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDE5CiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9j
dW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6
ICNkb2N1bWVudAogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlw
ZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCiBbZXhwYW5kZWRdIGRvY3VtZW50IChhbm9u
eW1vdXMgZnVuY3Rpb24pCiAgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCiAgICAgbGlzdGVuZXJCb2R5
OiBPYmplY3RIYW5kbGVyCi0gICAgbm9kZTogSFRNTERvY3VtZW50CisgICAgbm9kZTogI2RvY3Vt
ZW50CiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCiBbZXhwYW5kZWRdIGJ1
dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxNQogICAgIGlzQXR0cmlidXRl
OiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDE1CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAo
ZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gY2FwdHVyaW5nIik7IH0KLSAg
ICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAorICAgIG5vZGU6IDxidXR0b24+CiAgICAgc291cmNl
TmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
dmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1
cmU6IHRydWUKQEAgLTI5LDcgKzI5LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBm
YWxzZQogICAgIGxpbmVOdW1iZXI6IDEyCiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBjbGlj
a0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gYnViYmxpbmcg
KHJlZ2lzdGVyZWQgYmVmb3JlIGF0dHJpYnV0ZSkiKTsgfQotICAgIG5vZGU6IEhUTUxCdXR0b25F
bGVtZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3It
dGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGVi
YXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogZmFsc2UKQEAgLTM3LDcg
KzM3LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiB0cnVlCiAgICAgbGluZU51bWJl
cjogMTYKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIChldmVudCkgeyBjb25zb2xlLmxvZygi
Y2xpY2sgLSBidXR0b24gLSBhdHRyaWJ1dGUiKTsgfQotICAgIG5vZGU6IEhUTUxCdXR0b25FbGVt
ZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVz
dF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogZmFsc2UKQEAgLTQ1LDcgKzQ1
LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6
IDE3CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNs
aWNrIC0gYnV0dG9uIC0gYnViYmxpbmcgKHJlZ2lzdGVyZWQgYWZ0ZXIgYXR0cmlidXRlKSIpOyB9
Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKKyAgICBub2RlOiA8YnV0dG9uPgogICAgIHNv
dXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VD
YXB0dXJlOiBmYWxzZQpAQCAtNTMsNyArNTMsNyBAQCBJbnNwZWN0IE1lCiAgICAgaXNBdHRyaWJ1
dGU6IHRydWUKICAgICBsaW5lTnVtYmVyOiA2CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBk
b2N1bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVu
dCAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50CisgICAgbm9kZTogI2Rv
Y3VtZW50CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBj
bGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC02Myw3ICs2Myw3IEBAIEluc3BlY3QgTWUK
ICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxMAogICAgIGxpc3RlbmVy
Qm9keTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9k
ZTogPGJvZHk+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBl
OiBjdXN0b20gZXZlbnQKICAgICB1c2VDYXB0dXJlOiB0cnVlCkBAIC03Myw3ICs3Myw3IEBAIElu
c3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxNAogICAg
IGxpc3RlbmVyQm9keTogZnVuY3Rpb24gaG92ZXJIYW5kbGVyKGV2ZW50KSB7IGNvbnNvbGUubG9n
KCJob3ZlciAtIGJ1dHRvbiAtIGJ1YmJsaW5nIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxl
bWVudAorICAgIG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRl
c3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFy
Lmh0bWwKICAgICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC04MywyMSAr
ODMsMjEgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1i
ZXI6IDE5CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2co
ImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVu
dAorICAgIG5vZGU6ICNkb2N1bWVudAogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0
XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5o
dG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCiBbZXhwYW5kZWRdIGRv
Y3VtZW50IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCiAgICAg
bGlzdGVuZXJCb2R5OiBPYmplY3RIYW5kbGVyCi0gICAgbm9kZTogSFRNTERvY3VtZW50CisgICAg
bm9kZTogI2RvY3VtZW50CiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCiBb
ZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDo2CiAgICAgaXNB
dHRyaWJ1dGU6IHRydWUKICAgICBsaW5lTnVtYmVyOiA2CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5j
dGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBk
b2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50CisgICAgbm9k
ZTogI2RvY3VtZW50CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0
eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC0xMDcsNyArMTA3LDcgQEAgSW5z
cGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDEwCiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQK
KyAgICBub2RlOiA8Ym9keT4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAog
ICAgIHR5cGU6IGN1c3RvbSBldmVudAogICAgIHVzZUNhcHR1cmU6IHRydWUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxh
bmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxp
c3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKaW5kZXggNDcwZTFlMzU1MmY0ZmZlZTA5
OTNmNTYyZDFhMWI5OWRkYWIwNmJkNS4uYWNkNmFlODlmZWUwYjRjYmU0NDQyNThiYjk2MTIwODEw
ZjhhY2VhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQK
QEAgLTcsNyArNyw3IEBAIFRlc3RzIGV2ZW50IGxpc3RlbmVycyBvdXRwdXQgaW4gdGhlIEVsZW1l
bnRzIHNpZGViYXIgcGFuZWwgd2hlbiB0aGUgbGlzdGVuZXJzIGFyCiAgICAgaXNBdHRyaWJ1dGU6
IGZhbHNlCiAgICAgbGluZU51bWJlcjogOQogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigp
IHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9kZTogPGJvZHk+CiAgICAgc291
cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmsuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAg
dXNlQ2FwdHVyZTogdHJ1ZQpAQCAtMTcsNyArMTcsNyBAQCBUZXN0cyBldmVudCBsaXN0ZW5lcnMg
b3V0cHV0IGluIHRoZSBFbGVtZW50cyBzaWRlYmFyIHBhbmVsIHdoZW4gdGhlIGxpc3RlbmVycyBh
cgogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDkKICAgICBsaXN0ZW5l
ckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxEaXZFbGVtZW50CisgICAgbm9k
ZTogPGRpdj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay5odG1sCiAgICAg
dHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWRpci1leHBlY3RlZC50eHQKaW5kZXggNTMzYTMwZWM5N2M2MGIyZjM3ZTA5ZGE1MTg5
ODU5NjgwM2E4YjllMi4uZjg5MjhjMDhhN2E1YTYwNTIxZjk4ZGIyZjQ3MzJmN2NkZTM5NjNjZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dApAQCAtMTIs
NyArMTIsNyBAQCBBcnJheVsyXQogICAgIF9fcHJvdG9fXzogQXJyYXlbMF0gY29uc29sZS1kaXIu
aHRtbDo5CiAKIE5vZGVMaXN0WzFdCi0gICAgMDogSFRNTEh0bWxFbGVtZW50CisgICAgMDogPGh0
bWw+CiAgICAgbGVuZ3RoOiAxCiAgICAgX19wcm90b19fOiBOb2RlTGlzdCBjb25zb2xlLWRpci5o
dG1sOjEwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2Jh
bC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2ZjI4MTc0MTZj
NWZlMjQ0ZjI2Zjg3YjUyYjhkMDQ2ZWVhYmZiMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQgc2ltcGxlIGV2YWx1YXRpb25zIG1heSBiZSBw
ZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9iamVjdC4KLQotZm9vCi0iZm9vVmFs
dWUiCi1iYXIxCi1SZWZlcmVuY2VFcnJvcjogYmFyMSBpcyBub3QgZGVmaW5lZAotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1l
eHBlY3RlZC50eHQKaW5kZXggOWU4ODQ2OTZkZjg4YTFjNWM4MDUwNmRmNmNiN2MwZTRlNWRmMWJj
MS4uYmM5OTcwMzhiODcxNmE1M2JiM2QzYTIyM2I2MGE0YzE3NmIyNGQ0YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1m
b3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4
cGVjdGVkLnR4dApAQCAtNyw2ICs3LDE1IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogW29i
amVjdCBOb2RlTGlzdF0KIENPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogMSwyLAogQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0KIENPTlNPTEUgTUVTU0FHRTogbGluZSA1
MTogW29iamVjdCBBcmd1bWVudHNdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IFtvYmplY3Qg
Tm9kZUxpc3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IFtvYmplY3QgSFRNTENvbGxlY3Rp
b25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFtvYmplY3QgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAzMTogW29iamVjdCBIVE1MQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzNTogW29iamVjdCBOb2RlTGlzdF0KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogMSwyLAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0KK0NPTlNPTEUgTUVTU0FH
RTogbGluZSA1MTogW29iamVjdCBBcmd1bWVudHNdCiBUZXN0cyB0aGF0IGNvbnNvbGUgbmljZWx5
IGZvcm1hdHMgSFRNTCBDb2xsZWN0aW9ucyBhbmQgTm9kZUxpc3RzLgogCiBbPHNlbGVjdCBpZD0i
c2VsIiBuYW1lPSJzZWwiPuKApjwvc2VsZWN0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMu
aHRtbDoxNQpAQCAtMjAsNCArMjksMTMgQEAgVGVzdHMgdGhhdCBjb25zb2xlIG5pY2VseSBmb3Jt
YXRzIEhUTUwgQ29sbGVjdGlvbnMgYW5kIE5vZGVMaXN0cy4KIFsxLCBBcnJheVsyXV0gY29uc29s
ZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0MQogTm9uQXJyYXlXaXRoTGVuZ3RoIGNvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDQKIFsxLCAiMiJdIGNvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLmh0bWw6NTEKK1s8c2VsZWN0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRt
bDoxNQorWzxzY3JpcHQ+LCA8c2NyaXB0PiwgPHNjcmlwdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLmh0bWw6MTkKK1s8b3B0aW9uPiwgPG9wdGlvbj4sIHNlbGVjdGVkSW5kZXg6IDBdIGNv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjMKK1s8aHRtbD4sIDxoZWFkPiwgPHNjcmlw
dD4sIDxzY3JpcHQ+LCA8c2NyaXB0PiwgPGJvZHk+LCA8cD4sIDxkaXY+LCA8Zm9ybT4sIDxzZWxl
Y3Q+LCA8b3B0aW9uPiwgPG9wdGlvbj4sIDxpbnB1dD4sIDxpbnB1dD5dIGNvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWw6MjcKK1s8c2VsZWN0PiwgPGlucHV0PiwgPGlucHV0Pl0gY29uc29s
ZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDozMQorWzxpbnB1dD4sIDxpbnB1dD5dIGNvbnNvbGUt
Zm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MzUKK1sxLCBBcnJheVsyXV0gY29uc29sZS1mb3JtYXQt
Y29sbGVjdGlvbnMuaHRtbDo0MQorTm9uQXJyYXlXaXRoTGVuZ3RoIHtrZXlzOiBBcnJheVswXX0g
Y29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0NAorWzEsICIyIl0gY29uc29sZS1mb3Jt
YXQtY29sbGVjdGlvbnMuaHRtbDo1MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlMTkz
YThlYTJkZTUzMTk5YTUzYTkwZmU5MjYzNjkwMDY4NzFhYzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTM5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogTWVzc2FnZSBm
b3JtYXQgbnVtYmVyICVpLCAlZCBhbmQgJWYKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogTWVz
c2FnZSAlcyBmb3IgJXMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogT2JqZWN0ICVvCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjA6IHRlc3QsdGVzdDIsLCx0ZXN0NCwsLCwsCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjE6ICVvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6ICVPCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTQ6IC9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEt
Zl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSon
KXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaQotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDU1OiAvXnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxb
XGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogL2Zvb1xcYmFyXHNiYXovaQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDU1OiAvZm9vXFxiYXJcc2Jhei9pCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6
IHRlc3QKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogdGVzdAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU0OiB0ZXN0IG5hbWVkICJ0ZXN0IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiB0ZXN0
IG5hbWVkICJ0ZXN0IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBFcnJvcgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU1OiBFcnJvcgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBbb2JqZWN0
IEhUTUxCb2R5RWxlbWVudF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogW29iamVjdCBIVE1M
Qm9keUVsZW1lbnRdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IGZ1bmN0aW9uICgpIHsgcmV0
dXJuIDE7IH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogZnVuY3Rpb24gKCkgeyByZXR1cm4g
MTsgfQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHJl
dHVybiAyOwotICAgIH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogZnVuY3Rpb24gKCkgewot
ICAgICAgICByZXR1cm4gMjsKLSAgICB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IDAuMTIK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogMC4xMgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0
OiBodHRwOi8vd2Via2l0Lm9yZy8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogaHR0cDovL3dl
YmtpdC5vcmcvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IG51bGwKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA1NTogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IHVuZGVmaW5lZAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDU1OiAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogW29iamVjdCBB
dHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBbb2JqZWN0IEF0dHJdCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTQ6IFtvYmplY3QgQXR0cl0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTog
W29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBbb2JqZWN0IEF0dHJdCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IFtvYmplY3QgQXR0cl0KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA1NDogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IFtvYmpl
Y3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBOYU4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA1NTogTmFOCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IEluZmluaXR5Ci1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTU6IEluZmluaXR5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6
IC1JbmZpbml0eQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiAtSW5maW5pdHkKLVRlc3RzIHRo
YXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLQotTWVzc2FnZSBmb3Jt
YXQgbnVtYmVyIDEsIDIgYW5kIDMuNSBjb25zb2xlLWZvcm1hdC5odG1sOjEyCi1NZXNzYWdlIGZv
cm1hdCBmb3Igc3RyaW5nIGNvbnNvbGUtZm9ybWF0Lmh0bWw6MTMKLU9iamVjdCBPYmplY3QgY29u
c29sZS1mb3JtYXQuaHRtbDoxNAotWyJ0ZXN0IiwgInRlc3QyIiwgdW5kZWZpbmVkIMOXIDIsICJ0
ZXN0NCIsIHVuZGVmaW5lZCDDlyA1XSBjb25zb2xlLWZvcm1hdC5odG1sOjIwCi1bInRlc3QiLCAi
dGVzdDIiLCB1bmRlZmluZWQgw5cgMiwgInRlc3Q0IiwgdW5kZWZpbmVkIMOXIDVdIGNvbnNvbGUt
Zm9ybWF0Lmh0bWw6MjEKLUFycmF5WzEwXSBjb25zb2xlLWZvcm1hdC5odG1sOjIyCi0vXnVybFwo
XHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxc
XCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWy9edXJs
XChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/Olte
XFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86XFxb
XGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaV0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xv
YmFsc1swXQotL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/OlshIyQl
Jiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9pCi0vZm9vXFxiYXJcc2Jh
ei9pIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsvZm9vXFxiYXJcc2Jhei9pXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1Ci1nbG9iYWxzWzFdCi0vZm9vXFxiYXJcc2Jhei9pCi10ZXN0IGNvbnNvbGUt
Zm9ybWF0Lmh0bWw6NTQKLVsidGVzdCJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNb
Ml0KLSJ0ZXN0IgotdGVzdCBuYW1lZCAidGVzdCIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWyJ0
ZXN0IG5hbWVkICJ0ZXN0IiJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbM10KLSJ0
ZXN0IG5hbWVkICJ0ZXN0IiIKLUVycm9yIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtFcnJvcl0g
Y29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1s0XQotRXJyb3IKLTxib2R5IG9ubG9hZD0i
b25sb2FkKCkiPuKApjwvYm9keT4gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWzxib2R5IG9ubG9h
ZD0ib25sb2FkKCkiPuKApjwvYm9keT5dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNb
NV0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT4KLWZ1bmN0aW9uICgpIHsgcmV0
dXJuIDE7IH0gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2Z1bmN0aW9uICgpIHsgcmV0dXJuIDE7
IH1dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbNl0KLWZ1bmN0aW9uICgpIHsgcmV0
dXJuIDE7IH0KLWZ1bmN0aW9uICgpIHsKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgfSBjb25zb2xl
LWZvcm1hdC5odG1sOjU0Ci1bZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAgICB9
XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzddCi1mdW5jdGlvbiAoKSB7Ci0gICAg
ICAgIHJldHVybiAyOwotICAgIH0KLTAuMTIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWzAuMTJd
IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbOF0KLTAuMTIKLWh0dHA6Ly93ZWJraXQu
b3JnLyBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bImh0dHA6Ly93ZWJraXQub3JnLyJdIGNvbnNv
bGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbOV0KLSJodHRwOi8vd2Via2l0Lm9yZy8iCi1udWxs
IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtudWxsXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1n
bG9iYWxzWzEwXQotbnVsbAotdW5kZWZpbmVkIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVt1bmRl
ZmluZWRdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTFdCi11bmRlZmluZWQKLWF0
dHI9IiIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2F0dHI9IiJdIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTUKLWdsb2JhbHNbMTJdCi1hdHRyPSIiCi1hdHRyPSJ2YWx1ZSIgY29uc29sZS1mb3JtYXQu
aHRtbDo1NAotW2F0dHI9InZhbHVlIl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sx
M10KLWF0dHI9InZhbHVlIgotaWQ9IngiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtpZD0ieCJd
IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTRdCi1pZD0ieCIKLU9iamVjdCBjb25z
b2xlLWZvcm1hdC5odG1sOjU0Ci1bT2JqZWN0XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9i
YWxzWzE1XQotT2JqZWN0Ci1OYU4gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW05hTl0gY29uc29s
ZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxNl0KLU5hTgotSW5maW5pdHkgY29uc29sZS1mb3Jt
YXQuaHRtbDo1NAotW0luZmluaXR5XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzE3
XQotSW5maW5pdHkKLS1JbmZpbml0eSBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bLUluZmluaXR5
XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzE4XQotLUluZmluaXR5Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3Rv
LWV4cGVjdGVkLnR4dAppbmRleCA1M2FhNjRkMzc1ZGZhMTFiZDk2ZTZhZDkxYTE0NWRiNjFmYjNj
MmVkLi44ZGUxYTdmZGIzZGQxZTE2MTg3NTY2Yjg0MzAxNjNhMGNmOTQ2ODBmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8t
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFtv
YmplY3QgT2JqZWN0XQotVGVzdCB0aGF0IGNvbnNvbGUubG9nKGRvY3VtZW50Ll9fcHJvdG9fXykg
d29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlIGlzIGZvcm1hdHRl
ZCBpbiB0aGUgaW5zcGVjdG9yLkJ1ZyAyNzE2OS4KK1Rlc3QgdGhhdCBjb25zb2xlLmRpcihkb2N1
bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVz
c2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci5CdWcgMjcxNjkuCiAKIEhUTUxEb2N1
bWVudCBjb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sOjYKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJl
c3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNo
LWV4cGVjdGVkLnR4dAppbmRleCAxN2M2MzBlMWFmNDIyYzE3ZGI2YzhjMWI5YzNhYTZhMDE4MDYw
MjAxLi4xM2VlZTRjMzJkNmM4YmQ0NjA1ZWQ2YTFiMDAzOTA3OTdjODk0OWUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gt
ZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFu
ZWwtc3dpdGNoLWV4cGVjdGVkLnR4dApAQCAtNiw3ICs2LDcgQEAgU2NyaXB0IHNvdXJjZSB3YXMg
c2hvd24uCiBTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCiBXYXRjaCBleHByZXNzaW9ucyB1
cGRhdGVkLgogW2V4cGFuZGVkXSAgCi0gICAgd2luZG93LmRvY3VtZW50OiBIVE1MRG9jdW1lbnQK
KyAgICB3aW5kb3cuZG9jdW1lbnQ6ICNkb2N1bWVudAogICAgIHdpbmRvd2EuZG9jdW1lbnQ6IFJl
ZmVyZW5jZUVycm9yOiB3aW5kb3dhIGlzIG5vdCBkZWZpbmVkCiBEZWJ1Z2dlciB3YXMgZGlzYWJs
ZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rv
ci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1z
aWRlYmFyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTNjMGYw
YzNlYzc0Mjc0NmUwM2Q4ZGUxYjZhODg1MDQ2NjU2ZGRjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9p
bnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotVGVzdHMgZXZlbnQgbGlzdGVuZXJzIG91dHB1
dCBpbiB0aGUgRWxlbWVudHMgc2lkZWJhciBwYW5lbC4KLQotSW5zcGVjdCBNZQotCi09PT09PT09
PSBjbGljayA9PT09PT09PQotW2V4cGFuZGVkXSBkb2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRl
YmFyLmh0bWw6MTkKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxOQot
ICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAt
IGRvY3VtZW50IC0gY2FwdHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICBz
b3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNl
Q2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBkb2N1bWVudCAoYW5vbnltb3VzIGZ1bmN0aW9uKQot
ICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpc3RlbmVyQm9keTogT2JqZWN0SGFuZGxlcgot
ICAgIG5vZGU6IEhUTUxEb2N1bWVudAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTog
dHJ1ZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6
MTUKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxNQotICAgIGxpc3Rl
bmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAt
IGNhcHR1cmluZyIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKLSAgICBzb3VyY2VO
YW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2
ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVy
ZTogdHJ1ZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0
bWw6MTIKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxMgotICAgIGxp
c3RlbmVyQm9keTogZnVuY3Rpb24gY2xpY2tIYW5kbGVyKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJj
bGljayAtIGJ1dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3RlcmVkIGJlZm9yZSBhdHRyaWJ1dGUpIik7
IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVk
LWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXIt
c2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiBmYWxzZQotW2V4
cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTYKLSAgICBp
c0F0dHJpYnV0ZTogdHJ1ZQotICAgIGxpbmVOdW1iZXI6IDE2Ci0gICAgbGlzdGVuZXJCb2R5OiBm
dW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gYXR0cmlidXRl
Iik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlw
cGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVu
ZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiBmYWxzZQot
W2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTcKLSAg
ICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxNwotICAgIGxpc3RlbmVyQm9k
eTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGJ1YmJs
aW5nIChyZWdpc3RlcmVkIGFmdGVyIGF0dHJpYnV0ZSkiKTsgfQotICAgIG5vZGU6IEhUTUxCdXR0
b25FbGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBl
OiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi1bZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50
LWxpc3RlbmVyLXNpZGViYXIuaHRtbDo2Ci0gICAgaXNBdHRyaWJ1dGU6IHRydWUKLSAgICBsaW5l
TnVtYmVyOiA2Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxl
cihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9
Ci0gICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRl
c3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFy
Lmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi0KLT09PT09PT09
IGN1c3RvbSBldmVudCA9PT09PT09PQotW2V4cGFuZGVkXSBib2R5IGV2ZW50LWxpc3RlbmVyLXNp
ZGViYXIuaHRtbDoxMAotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDEw
Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBub2RlOiBIVE1MQm9keUVs
ZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGN1
c3RvbSBldmVudAotICAgIHVzZUNhcHR1cmU6IHRydWUKLQotPT09PT09PT0gaG92ZXIgPT09PT09
PT0KLVtleHBhbmRlZF0gYnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE0
Ci0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTQKLSAgICBsaXN0ZW5l
ckJvZHk6IGZ1bmN0aW9uIGhvdmVySGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiaG92ZXIg
LSBidXR0b24gLSBidWJibGluZyIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKLSAg
ICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGhvdmVyCi0gICAg
dXNlQ2FwdHVyZTogZmFsc2UKLQotPT09PT09PT0gY2xpY2sgPT09PT09PT0KLVtleHBhbmRlZF0g
ZG9jdW1lbnQgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE5Ci0gICAgaXNBdHRyaWJ1dGU6
IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTkKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIChl
dmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGNhcHR1cmluZyIpOyB9Ci0g
ICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3Rd
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0
bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUKLVtleHBhbmRlZF0gZG9j
dW1lbnQgKGFub255bW91cyBmdW5jdGlvbikKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBs
aXN0ZW5lckJvZHk6IE9iamVjdEhhbmRsZXIKLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICB0
eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUKLVtleHBhbmRlZF0gZG9jdW1lbnQgZXZl
bnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjYKLSAgICBpc0F0dHJpYnV0ZTogdHJ1ZQotICAgIGxp
bmVOdW1iZXI6IDYKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGRvY3VtZW50Q2xpY2tIYW5k
bGVyKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gYXR0cmlidXRlIik7
IH0KLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3It
dGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGVi
YXIuaHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLQotPT09PT09
PT0gY3VzdG9tIGV2ZW50ID09PT09PT09Ci1bZXhwYW5kZWRdIGJvZHkgZXZlbnQtbGlzdGVuZXIt
c2lkZWJhci5odG1sOjEwCi0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjog
MTAKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxCb2R5
RWxlbWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTog
Y3VzdG9tIGV2ZW50Ci0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotTGlzdGVuZXJzIGZvciBzZWxlY3Rl
ZCBub2RlIG9ubHkoc2hvdWxkIGJlIG5vIGxpc3RlbmVycyk6Ci0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157208</attachid>
            <date>2012-08-08 06:55:21 -0700</date>
            <delta_ts>2012-08-08 08:37:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35801-20120808175453.patch</filename>
            <type>text/plain</type>
            <size>66148</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUyNTRkMzBjNzBmYTg1
ZWM0MmY2NTNhNGFkMzJlZWVkMTkyOTllZi4uMTNlNmE0YzY4M2NlYTk4YWZkN2I1Mzk2ODYxYWRm
Njk4OTliZDBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDEyLTA4LTA4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25z
b2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXMgb2YgdG9kYXksIGR1bXBpbmcgYW4gb2JqZWN0IChhcnJheSkgaW50byBjb25z
b2xlIHdpbGwgcmVzdWx0IGluIG9iamVjdHMnIHByb3BlcnRpZXMgYmVpbmcKKyAgICAgICAgcmVh
ZCB1cG9uIGNvbnNvbGUgb2JqZWN0IGV4cGFuc2lvbiAoaS5lLiBsYXppbHkpLiBUaGlzIG1lYW5z
IHRoYXQgZHVtcGluZyB0aGUgc2FtZSBvYmplY3Qgd2hpbGUKKyAgICAgICAgbXV0YXRpbmcgaXQg
d2lsbCBiZSBoYXJkIHRvIGRlYnVnIHVzaW5nIHRoZSBjb25zb2xlLgorCisgICAgICAgIFRoaXMg
Y2hhbmdlIHN0YXJ0cyBnZW5lcmF0aW5nIGFiYnJldmlhdGVkIHByZXZpZXdzIGZvciBvYmplY3Rz
IC8gYXJyYXlzIGF0IHRoZSBtb21lbnQgb2YgdGhlaXIKKyAgICAgICAgbG9nZ2luZyBhbmQgcGFz
c2VzIHRoaXMgaW5mb3JtYXRpb24gYWxvbmcgaW50byB0aGUgZnJvbnQtZW5kLiBUaGlzIG9ubHkg
aGFwcGVucyB3aGVuIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaXMgYWxyZWFkeSBvcGVuZWQuCisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgYWxzbyByZW1vdmVzICdzbWFydCcgaW5saW5lIGFycmF5cyBy
ZW5kZXJpbmcgaW4gZmF2b3VyIG9mIHRoZSBuZXcgYWJicmV2aWF0ZWQgcHJldmlldy4KKyAgICAg
ICAgRHVtcGluZyBjb25zb2xlLmxvZyhbMSwyLDNdKSB3aWxsIHJlc3VsdCBpbiBbMSwyLDNdLCBk
dW1waW5nIFsxLDIsMyx3aW5kb3ddIHdpbGwgcmVzdWx0IGluID4gWzEsMiwzLFdpbmRvd10KKyAg
ICAgICAgd2hlcmUgIj4iIGFsbG93cyBleHBhbmRpbmcgdGhpcyBjb21wbGV4IG5vZGUuCisKKyAg
ICAgICAgQ292ZXJlZCBieSB0aGUgZXhpc3RpbmcgY29uc29sZSB0ZXN0cyArIGNvbGxlY3Rpb25z
IHRlc3QgaGFzIGJlZW4gZXhwYW5kZWQgdG8gY2FwdHVyZSBib3RoOiBwcmUgYW5kIHBvc3QtCisg
ICAgICAgIGZyb250LWVuZCBvcGVuaW5nIHNjZW5hcmlvcy4KKworICAgICAgICAqIGluc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlTWVzc2FnZTo6
YWRkVG9Gcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmg6Cisg
ICAgICAgIChDb25zb2xlTWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0Ojp3cmFwT2JqZWN0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaDoKKyAgICAgICAgKEluamVjdGVk
U2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6Cisg
ICAgICAgICguKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRQYXJh
bWV0ZXJBc09iamVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
LnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9yT2JqZWN0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9hcHBlbmRPYmplY3RQcmV2
aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBl
Ll9mb3JtYXRQYXJhbWV0ZXJBc05vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXkpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX3ByaW50QXJyYXkpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1h
dEFzQXJyYXlFbnRyeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
LnByb3RvdHlwZS5fZm9ybWF0V2l0aFN1YnN0aXR1dGlvblN0cmluZyk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanM6CisgICAgICAgIChFbGVtZW50LnByb3Rv
dHlwZS5jcmVhdGVUZXh0Q2hpbGQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydGllc1NlY3Rpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGll
c1NlY3Rpb24uanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdC5wcm90b3R5cGUuZ2V0IHByZXZpZXdQcm9wZXJ0aWVzKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoLmNvbnNvbGUtZ3JvdXAtbWVzc2FnZXMg
LnNlY3Rpb24gLmhlYWRlciAudGl0bGUpOgorICAgICAgICAoLnNlY3Rpb24gLmNvbnNvbGUtZm9y
bWF0dGVkLW5vZGUpOgorICAgICAgICAoLmNvbnNvbGUtb2JqZWN0LXByZXZpZXcpOgorICAgICAg
ICAoLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1lLCAu
Y29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IC5uYW1lKToKKworMjAxMi0wOC0wOCAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBz
dG9yZSBsYXN0IGV2YWx1YXRpb24gcmVzdWx0IGluICRfCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzM3NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCAwYWE5ODI4OTliYjY4NzA1MTQ5ZjIwMGE0NzQy
MzMxNjQ3MWMyYTIyLi44MDE3NTUzOTA3MGY3ZjMyMWNkZjk1ZGI1MThhOTNlYWVmMDQzOWRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKQEAgLTEzMyw3
ICsxMzMsNyBAQCBzdGF0aWMgVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpM
ZXZlbDo6RW51bSBtZXNzYWdlTGV2ZWxWYWx1ZShNZXNzYQogICAgIHJldHVybiBUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpMb2c7CiB9CiAKLXZvaWQgQ29uc29s
ZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqIGZyb250
ZW5kLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKK3ZvaWQg
Q29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUq
IGZyb250ZW5kLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwg
Ym9vbCBnZW5lcmF0ZVByZXZpZXcpCiB7CiAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZT4ganNvbk9iaiA9IFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xl
TWVzc2FnZTo6Y3JlYXRlKCkKICAgICAgICAgLnNldFNvdXJjZShtZXNzYWdlU291cmNlVmFsdWUo
bV9zb3VyY2UpKQpAQCAtMTUxLDcgKzE1MSw3IEBAIHZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRv
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqIGZyb250ZW5kLCBJbmplY3RlCiAg
ICAgICAgIGlmICghaW5qZWN0ZWRTY3JpcHQuaGFzTm9WYWx1ZSgpKSB7CiAgICAgICAgICAgICBS
ZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmpl
Y3Q+ID4ganNvbkFyZ3MgPSBUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6
OlJlbW90ZU9iamVjdD46OmNyZWF0ZSgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkgewotICAgICAgICAgICAg
ICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBpbnNwZWN0b3JW
YWx1ZSA9IGluamVjdGVkU2NyaXB0LndyYXBPYmplY3QobV9hcmd1bWVudHMtPmFyZ3VtZW50QXQo
aSksICJjb25zb2xlIik7CisgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50
aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3JpcHQud3JhcE9i
amVjdChtX2FyZ3VtZW50cy0+YXJndW1lbnRBdChpKSwgImNvbnNvbGUiLCBnZW5lcmF0ZVByZXZp
ZXcpOwogICAgICAgICAgICAgICAgIGlmICghaW5zcGVjdG9yVmFsdWUpIHsKICAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggYmQxYWJm
NTkzOWZiNDdhYTVhYzU4ODQ3NWMwOTk3MzYwNjAzMTQ5ZS4uNjQ2MWRiNzIwMjc5YWJiOGQ2Y2Vi
MjhlZDZhOWU3NTA1N2ZlMTVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVN
ZXNzYWdlLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwg
Y29uc3QgU3RyaW5nJiByZXNwb25zZVVybCwgY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwogICAg
IH5Db25zb2xlTWVzc2FnZSgpOwogCi0gICAgdm9pZCBhZGRUb0Zyb250ZW5kKEluc3BlY3RvckZy
b250ZW5kOjpDb25zb2xlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAgdm9pZCBhZGRU
b0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiwgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiwgYm9vbCBnZW5lcmF0ZVByZXZpZXcpOwogICAgIHZvaWQgdXBkYXRlUmVwZWF0Q291bnRJ
bkNvbnNvbGUoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqKTsKICAgICB2b2lkIGluY3JlbWVu
dENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KICAgICBib29sIGlzRXF1YWwoQ29uc29sZU1l
c3NhZ2UqIG1zZykgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0LmNwcAppbmRleCBhYTlhZGEyYTg1NGRhZWVmNjA3ZGI2YTI3ZDE4MzViNTNlZTRmNzQyLi41
OTk2Njg4NjZkYWZlMzJmYjI1MWE3MDQ4NDMwNmM2YWY0ZGIyNjY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKQEAgLTE4MCwxMyArMTgwLDE0IEBAIFBh
c3NSZWZQdHI8QXJyYXk8Q2FsbEZyYW1lPiA+IEluamVjdGVkU2NyaXB0Ojp3cmFwQ2FsbEZyYW1l
cyhjb25zdCBTY3JpcHRWYWx1ZSYKIH0KICNlbmRpZgogCi1QYXNzUmVmUHRyPFR5cGVCdWlsZGVy
OjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IEluamVjdGVkU2NyaXB0Ojp3cmFwT2JqZWN0KGNvbnN0
IFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0CitQYXNz
UmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IEluamVjdGVkU2NyaXB0
Ojp3cmFwT2JqZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiBncm91
cE5hbWUsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KSBjb25zdAogewogICAgIEFTU0VSVCghaGFzTm9W
YWx1ZSgpKTsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgd3JhcEZ1bmN0aW9uKGluamVjdGVkU2Ny
aXB0T2JqZWN0KCksICJ3cmFwT2JqZWN0Iik7CiAgICAgd3JhcEZ1bmN0aW9uLmFwcGVuZEFyZ3Vt
ZW50KHZhbHVlKTsKICAgICB3cmFwRnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoZ3JvdXBOYW1lKTsK
ICAgICB3cmFwRnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93
KCkpOworICAgIHdyYXBGdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVByZXZpZXcpOwog
ICAgIGJvb2wgaGFkRXhjZXB0aW9uID0gZmFsc2U7CiAgICAgU2NyaXB0VmFsdWUgciA9IGNhbGxG
dW5jdGlvbldpdGhFdmFsRW5hYmxlZCh3cmFwRnVuY3Rpb24sIGhhZEV4Y2VwdGlvbik7CiAgICAg
aWYgKGhhZEV4Y2VwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaAppbmRleCBkYmIxYTIyYmQ2MGJlZjhkN2U3ZTQ5Y2Q0MmFkMDFjNGJjMzY0MjI4Li40NDI3
NDI3OGQ5ZDlhMGU4N2Y4YmFjYWUwMzEzZDFiZWE1NzY1ZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtODYsNyArODYsNyBAQCBwdWJsaWM6CiAgICAg
UGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OkRlYnVnZ2VyOjpDYWxs
RnJhbWU+ID4gd3JhcENhbGxGcmFtZXMoY29uc3QgU2NyaXB0VmFsdWUmKTsKICNlbmRpZgogCi0g
ICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiB3cmFwT2Jq
ZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0Owor
ICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gd3JhcE9i
amVjdChjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBib29sIGdl
bmVyYXRlUHJldmlldyA9IGZhbHNlKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFR5cGVCdWlsZGVy
OjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IHdyYXBOb2RlKE5vZGUqLCBjb25zdCBTdHJpbmcmIGdy
b3VwTmFtZSk7CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2Jq
ZWN0PiB3cmFwU2VyaWFsaXplZE9iamVjdChTZXJpYWxpemVkU2NyaXB0VmFsdWUqLCBjb25zdCBT
dHJpbmcmIGdyb3VwTmFtZSkgY29uc3Q7CiAgICAgU2NyaXB0VmFsdWUgZmluZE9iamVjdEJ5SWQo
Y29uc3QgU3RyaW5nJiBvYmplY3RJZCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKaW5kZXggMGY2OGY4MmU4MTg4NDI0YTJkYWQw
MTIzZTYzZDljNWUxOWI5YjVmMy4uZGMzYTgyNGI2MjdkODIyZGRhZjE2OWNjNTFlOGUwOGI4ZWMw
N2QzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNv
dXJjZS5qcwpAQCAtNzEsMTIgKzcxLDEzIEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsK
ICAgICAgKiBAcGFyYW0geyp9IG9iamVjdAogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBncm91cE5h
bWUKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdworICAg
ICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJldHVybiB7T2Jq
ZWN0fQogICAgICAqLwotICAgIHdyYXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwgZ3JvdXBOYW1l
LCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3cpCisgICAgd3JhcE9iamVjdDogZnVuY3Rpb24ob2Jq
ZWN0LCBncm91cE5hbWUsIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdywgZ2VuZXJhdGVQcmV2aWV3
KQogICAgIHsKICAgICAgICAgaWYgKGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdykKLSAgICAgICAg
ICAgIHJldHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lKTsKKyAgICAgICAg
ICAgIHJldHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lLCBmYWxzZSwgZ2Vu
ZXJhdGVQcmV2aWV3KTsKIAogICAgICAgICB2YXIgcmVzdWx0ID0ge307CiAgICAgICAgIHJlc3Vs
dC50eXBlID0gdHlwZW9mIG9iamVjdDsKQEAgLTEyOCwxMiArMTI5LDEzIEBAIEluamVjdGVkU2Ny
aXB0LnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0geyp9IG9iamVjdAogICAgICAqIEBwYXJh
bSB7c3RyaW5nPX0gb2JqZWN0R3JvdXBOYW1lCiAgICAgICogQHBhcmFtIHtib29sZWFuPX0gZm9y
Y2VWYWx1ZVR5cGUKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBnZW5lcmF0ZVByZXZpZXcKICAg
ICAgKiBAcmV0dXJuIHtJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3R9CiAgICAgICovCi0gICAg
X3dyYXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBmb3JjZVZhbHVl
VHlwZSkKKyAgICBfd3JhcE9iamVjdDogZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RHcm91cE5hbWUs
IGZvcmNlVmFsdWVUeXBlLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAgICB0cnkgewot
ICAgICAgICAgICAgcmV0dXJuIG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3Qob2JqZWN0
LCBvYmplY3RHcm91cE5hbWUsIGZvcmNlVmFsdWVUeXBlKTsKKyAgICAgICAgICAgIHJldHVybiBu
ZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0KG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBm
b3JjZVZhbHVlVHlwZSwgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICAgICAgfSBjYXRjaCAoZSkgewog
ICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICB2YXIgZGVzY3JpcHRpb24gPSBpbmpl
Y3RlZFNjcmlwdC5fZGVzY3JpYmUoZSk7CkBAIC00MDQsNyArNDA2LDcgQEAgSW5qZWN0ZWRTY3Jp
cHQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIHJldHVy
biB7IHdhc1Rocm93bjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IHRoaXMu
X3dyYXBPYmplY3QodGhpcy5fZXZhbHVhdGVPbihldmFsRnVuY3Rpb24sIG9iamVjdCwgb2JqZWN0
R3JvdXAsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21tYW5kTGluZUFQ
SSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlKSB9OworICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRlT24oZXZhbEZ1bmN0aW9uLCBv
YmplY3QsIG9iamVjdEdyb3VwLCBleHByZXNzaW9uLCBpc0V2YWxPbkNhbGxGcmFtZSwgaW5qZWN0
Q29tbWFuZExpbmVBUEkpLCBvYmplY3RHcm91cCwgcmV0dXJuQnlWYWx1ZSwgZmFsc2UpIH07CiAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVUaHJv
d25WYWx1ZShlLCBvYmplY3RHcm91cCk7CiAgICAgICAgIH0KQEAgLTYzNSw2ICs2MzcsOSBAQCBJ
bmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChzdWJ0eXBlID09PSAiZGF0
ZSIpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdG9TdHJpbmcob2JqKTsKIAorICAgICAgICBp
ZiAoc3VidHlwZSA9PT0gIm5vZGUiKQorICAgICAgICAgICAgcmV0dXJuIG9iai5ub2RlVHlwZSA9
PT0gMSAvKiBOb2RlLkVMRU1FTlRfTk9ERSAqLyA/ICI8IiArIG9iai5ub2RlTmFtZS50b0xvd2Vy
Q2FzZSgpICsgIj4iIDogb2JqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CisKICAgICAgICAgdmFy
IGNsYXNzTmFtZSA9IEluamVjdGVkU2NyaXB0SG9zdC5pbnRlcm5hbENvbnN0cnVjdG9yTmFtZShv
YmopOwogICAgICAgICBpZiAoc3VidHlwZSA9PT0gImFycmF5IikgewogICAgICAgICAgICAgaWYg
KHR5cGVvZiBvYmoubGVuZ3RoID09PSAibnVtYmVyIikKQEAgLTY3OCw4ICs2ODMsOSBAQCB2YXIg
aW5qZWN0ZWRTY3JpcHQgPSBuZXcgSW5qZWN0ZWRTY3JpcHQoKTsKICAqIEBwYXJhbSB7Kn0gb2Jq
ZWN0CiAgKiBAcGFyYW0ge3N0cmluZz19IG9iamVjdEdyb3VwTmFtZQogICogQHBhcmFtIHtib29s
ZWFuPX0gZm9yY2VWYWx1ZVR5cGUKKyAqIEBwYXJhbSB7Ym9vbGVhbj19IGdlbmVyYXRlUHJldmll
dwogICovCi1JbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3QsIG9i
amVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUpCitJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmpl
Y3QgPSBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUsIGdl
bmVyYXRlUHJldmlldykKIHsKICAgICB0aGlzLnR5cGUgPSB0eXBlb2Ygb2JqZWN0OwogICAgIGlm
IChpbmplY3RlZFNjcmlwdC5pc1ByaW1pdGl2ZVZhbHVlKG9iamVjdCkgfHwgb2JqZWN0ID09PSBu
dWxsIHx8IGZvcmNlVmFsdWVUeXBlKSB7CkBAIC02OTgsMTMgKzcwNCwxMDQgQEAgSW5qZWN0ZWRT
Y3JpcHQuUmVtb3RlT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RHcm91cE5hbWUsIGZv
cmNlVmFsdWVUeXBlKQogICAgIH0KIAogICAgIHRoaXMub2JqZWN0SWQgPSBpbmplY3RlZFNjcmlw
dC5fYmluZChvYmplY3QsIG9iamVjdEdyb3VwTmFtZSk7Ci0gICAgdmFyIHN1YnR5cGUgPSBpbmpl
Y3RlZFNjcmlwdC5fc3VidHlwZShvYmplY3QpCisgICAgdmFyIHN1YnR5cGUgPSBpbmplY3RlZFNj
cmlwdC5fc3VidHlwZShvYmplY3QpOwogICAgIGlmIChzdWJ0eXBlKQogICAgICAgICB0aGlzLnN1
YnR5cGUgPSBzdWJ0eXBlOwogICAgIHRoaXMuY2xhc3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRIb3N0
LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iamVjdCk7CiAgICAgdGhpcy5kZXNjcmlwdGlvbiA9
IGluamVjdGVkU2NyaXB0Ll9kZXNjcmliZShvYmplY3QpOworCisgICAgaWYgKGdlbmVyYXRlUHJl
dmlldyAmJiAodGhpcy50eXBlID09PSAib2JqZWN0IiB8fCBpbmplY3RlZFNjcmlwdC5faXNIVE1M
QWxsQ29sbGVjdGlvbihvYmplY3QpKSkKKyAgICAgICAgdGhpcy5wcmV2aWV3ID0gdGhpcy5fZ2Vu
ZXJhdGVQcmV2aWV3KC8qKiBAdHlwZSB7IU9iamVjdH0gKi8gb2JqZWN0KTsKIH0KIAorSW5qZWN0
ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0geyFPYmplY3R9IG9iamVjdAorICAgICAqLworICAgIF9nZW5lcmF0ZVByZXZpZXc6IGZ1bmN0
aW9uKG9iamVjdCkKKyAgICB7CisgICAgICAgIHZhciBwcmV2aWV3ID0gW107CisgICAgICAgIHZh
ciBwcmV2aWV3UHJvcGVydHlDb3VudCA9IDA7CisgICAgICAgIHZhciBpc0FycmF5ID0gdGhpcy5z
dWJ0eXBlID09PSAiYXJyYXkiOworICAgICAgICB2YXIgZWxlbWVudHNUb0R1bXAgPSBpc0FycmF5
ID8gMTAwIDogNTsKKyAgCisgICAgICAgIHZhciBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93
blByb3BlcnR5TmFtZXMob2JqZWN0KTsKKyAgICAgICAgdmFyIGxvc3NsZXNzID0gdHJ1ZTsKKyAg
ICAgICAgdmFyIG92ZXJmbG93ID0gZmFsc2U7CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgeworICAgICAg
ICAgICAgICAgIGlmIChwcmV2aWV3Lmxlbmd0aCA+PSBlbGVtZW50c1RvRHVtcCkgeworICAgICAg
ICAgICAgICAgICAgICBvdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnR5
TmFtZXNbaV07CisgICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkgJiYgbmFtZSA9PT0gImxlbmd0
aCIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgdmFy
IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgbmFt
ZSk7CisgICAgICAgICAgICAgICAgaWYgKCEoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSB8fCAhZGVz
Y3JpcHRvci5lbnVtZXJhYmxlKSB7CisgICAgICAgICAgICAgICAgICAgIGxvc3NsZXNzID0gZmFs
c2U7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGRlc2NyaXB0b3IudmFsdWU7CisgICAgICAgICAg
ICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7CisgICAgICAgICAgICAgICAgICAgIHByZXZpZXcu
cHVzaChbbmFtZSwgIm51bGwiXSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgICAgICBjb25zdCBtYXhMZW5ndGggPSAy
MDsKKyAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTsKKworICAgICAgICAg
ICAgICAgIGlmIChJbmplY3RlZFNjcmlwdC5wcmltaXRpdmVUeXBlc1t0eXBlXSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gInN0cmluZyIgJiYgdmFsdWUubGVuZ3RoID4gbWF4
TGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX2FiYnJldmlh
dGVTdHJpbmcodmFsdWUsIG1heExlbmd0aCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBsb3NzbGVzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgICAgIHByZXZpZXcucHVzaChbbmFtZSwgdHlwZSwgdmFsdWUgKyAiIl0pOworICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAg
ICAgICAgbG9zc2xlc3MgPSBmYWxzZTsKKworICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAi
ZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgIHZhciBzdWJ0eXBlID0gaW5qZWN0ZWRTY3JpcHQuX3N1YnR5cGUodmFsdWUpOworICAgICAg
ICAgICAgICAgIHByZXZpZXcucHVzaChbbmFtZSwgdHlwZSwgdGhpcy5fYWJicmV2aWF0ZVN0cmlu
ZyhpbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUodmFsdWUpLCBtYXhMZW5ndGgpLCBzdWJ0eXBlXSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIXByZXZpZXcubGVuZ3RoKQorICAgICAg
ICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisKKyAgICAgICAgICAgIGlmICghbG9zc2xlc3Mp
CisgICAgICAgICAgICAgICAgcHJldmlldy5wdXNoKCJsb3NzeSIpOworICAgICAgICAgICAgaWYg
KG92ZXJmbG93KQorICAgICAgICAgICAgICAgIHByZXZpZXcucHVzaCgib3ZlcmZsb3ciKTsKKyAg
ICAgICAgICAgIHJldHVybiBwcmV2aWV3OworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICByZXR1cm4gdW5kZWZpbmVkOworICAgICAgICB9CisgICAgfSwKKworICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbWF4TGVu
Z3RoCisgICAgICogQHBhcmFtIHtib29sZWFuPX0gbWlkZGxlCisgICAgICogQHJldHVybnMKKyAg
ICAgKi8KKyAgICBfYWJicmV2aWF0ZVN0cmluZzogZnVuY3Rpb24oc3RyaW5nLCBtYXhMZW5ndGgs
IG1pZGRsZSkKKyAgICB7CisgICAgICAgIGlmIChzdHJpbmcubGVuZ3RoIDw9IG1heExlbmd0aCkK
KyAgICAgICAgICAgIHJldHVybiBzdHJpbmc7CisgICAgICAgIGlmIChtaWRkbGUpIHsKKyAgICAg
ICAgICAgIHZhciBsZWZ0SGFsZiA9IG1heExlbmd0aCA+PiAxOworICAgICAgICAgICAgdmFyIHJp
Z2h0SGFsZiA9IG1heExlbmd0aCAtIGxlZnRIYWxmIC0gMTsKKyAgICAgICAgICAgIHJldHVybiBz
dHJpbmcuc3Vic3RyKDAsIGxlZnRIYWxmKSArICJcdTIwMjYiICsgc3RyaW5nLnN1YnN0cihzdHJp
bmcubGVuZ3RoIC0gcmlnaHRIYWxmLCByaWdodEhhbGYpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiBzdHJpbmcuc3Vic3RyKDAsIG1heExlbmd0aCkgKyAiXHUyMDI2IjsKKyAgICB9Cit9CiAv
KioKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtudW1iZXJ9IG9yZGluYWwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjNjJjZTQzNWY5NmIzMTZiNTlkMjZm
NzMxM2ExYmVlZWM2NDhjOTM5Li5kOWJlOTlhYTA4NmE1Y2YzMTc4ZmViYTcxOGE3NGFkNDJlOWM3
ZGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC00NTYsNyAr
NDU2LDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjbGFzc05hbWUiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0IGNs
YXNzIChjb25zdHJ1Y3RvcikgbmFtZS4gU3BlY2lmaWVkIGZvciA8Y29kZT5vYmplY3Q8L2NvZGU+
IHR5cGUgdmFsdWVzIG9ubHkuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInZh
bHVlIiwgInR5cGUiOiAiYW55IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJl
bW90ZSBvYmplY3QgdmFsdWUgKGluIGNhc2Ugb2YgcHJpbWl0aXZlIHZhbHVlcyBvciBKU09OIHZh
bHVlcyBpZiBpdCB3YXMgcmVxdWVzdGVkKS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiZGVzY3JpcHRpb24iLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuIiB9LAot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdElkIiwgIiRyZWYiOiAiUmVtb3Rl
T2JqZWN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIG9iamVj
dCBpZGVudGlmaWVyIChmb3Igbm9uLXByaW1pdGl2ZSB2YWx1ZXMpLiIgfQorICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm9iamVjdElkIiwgIiRyZWYiOiAiUmVtb3RlT2JqZWN0SWQiLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIG9iamVjdCBpZGVudGlmaWVy
IChmb3Igbm9uLXByaW1pdGl2ZSB2YWx1ZXMpLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJhYmJyZXZpYXRlZCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6
ICJvYmplY3QiIH0sICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJBYmJyZXZpYXRl
ZCBvYmplY3QgY29udGFpbmluZyBzb21lIG9mIHRoZSBvcmlnaW5hbCBvYmplY3QncyBwcm9wZXJ0
aWVzLiIsICJoaWRkZW4iOiB0cnVlIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9
LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcAppbmRleCAyNzBjNGFlYTAzYjFlMTk3ZWYzMjc5NDM3MzlkMDJl
ODYxNGQ3OWI4Li5jYTE5MTg5NzQyM2QwZTVkNWYxNzc3MzFhMDM0NzIwMzkzN2M1Y2E2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cApAQCAtODMsMTIgKzgzLDEyIEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjplbmFibGUo
RXJyb3JTdHJpbmcqKQogCiAgICAgaWYgKG1fZXhwaXJlZENvbnNvbGVNZXNzYWdlQ291bnQpIHsK
ICAgICAgICAgQ29uc29sZU1lc3NhZ2UgZXhwaXJlZE1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgU3RyaW5nOjpmb3JtYXQoIiVk
IGNvbnNvbGUgbWVzc2FnZXMgYXJlIG5vdCBzaG93bi4iLCBtX2V4cGlyZWRDb25zb2xlTWVzc2Fn
ZUNvdW50KSwgIiIsIDAsICIiKTsKLSAgICAgICAgZXhwaXJlZE1lc3NhZ2UuYWRkVG9Gcm9udGVu
ZChtX2Zyb250ZW5kLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcik7CisgICAgICAgIGV4cGlyZWRN
ZXNzYWdlLmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIs
IGZhbHNlKTsKICAgICB9CiAKICAgICBzaXplX3QgbWVzc2FnZUNvdW50ID0gbV9jb25zb2xlTWVz
c2FnZXMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWVzc2FnZUNvdW50OyAr
K2kpCi0gICAgICAgIG1fY29uc29sZU1lc3NhZ2VzW2ldLT5hZGRUb0Zyb250ZW5kKG1fZnJvbnRl
bmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKTsKKyAgICAgICAgbV9jb25zb2xlTWVzc2FnZXNb
aV0tPmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIsIGZh
bHNlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJp
bmcqKQpAQCAtMjgxLDcgKzI4MSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRD
b25zb2xlTWVzc2FnZShQYXNzT3duUHRyPENvbnNvbGVNZXNzYWdlPiBjb25zb2xlCiAgICAgICAg
IG1fcHJldmlvdXNNZXNzYWdlID0gY29uc29sZU1lc3NhZ2UuZ2V0KCk7CiAgICAgICAgIG1fY29u
c29sZU1lc3NhZ2VzLmFwcGVuZChjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGlmIChtX2Zyb250
ZW5kICYmIG1fc3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6OmNvbnNvbGVNZXNz
YWdlc0VuYWJsZWQpKQotICAgICAgICAgICAgbV9wcmV2aW91c01lc3NhZ2UtPmFkZFRvRnJvbnRl
bmQobV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpOworICAgICAgICAgICAgbV9w
cmV2aW91c01lc3NhZ2UtPmFkZFRvRnJvbnRlbmQobV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXIsIHRydWUpOwogICAgIH0KIAogICAgIGlmICghbV9mcm9udGVuZCAmJiBtX2NvbnNv
bGVNZXNzYWdlcy5zaXplKCkgPj0gbWF4aW11bUNvbnNvbGVNZXNzYWdlcykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKaW5k
ZXggNDlkYmNlYjA5ZjQ4ZjYxMzMyZGUwODk0MTM4NThmY2M1NTg1OTcxNC4uMDUyNmYyZTQ5YjVm
YWMxZTk0MmIzODY4ZmQ1MGFhMzNiNDU3YjdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCkBAIC0yMjUsNyArMjI1LDcg
QEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICBpZiAoc2hvdWxkRm9ybWF0TWVzc2FnZSAmJiBwYXJhbWV0ZXJzW2ldLnR5cGUgPT09ICJz
dHJpbmciKQogICAgICAgICAgICAgICAgIGZvcm1hdHRlZFJlc3VsdC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShwYXJhbWV0ZXJzW2ldLmRlc2NyaXB0aW9uKSk7CiAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZm9ybWF0dGVkUmVzdWx0LmFwcGVuZENoaWxkKHRo
aXMuX2Zvcm1hdFBhcmFtZXRlcihwYXJhbWV0ZXJzW2ldKSk7CisgICAgICAgICAgICAgICAgZm9y
bWF0dGVkUmVzdWx0LmFwcGVuZENoaWxkKHRoaXMuX2Zvcm1hdFBhcmFtZXRlcihwYXJhbWV0ZXJz
W2ldLCBmYWxzZSwgdHJ1ZSkpOwogICAgICAgICAgICAgaWYgKGkgPCBwYXJhbWV0ZXJzLmxlbmd0
aCAtIDEpCiAgICAgICAgICAgICAgICAgZm9ybWF0dGVkUmVzdWx0LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOwogICAgICAgICB9CkBAIC0yMzQsOCArMjM0LDkgQEAg
V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAKICAgICAvKioK
ICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBmb3JjZU9iamVjdEZvcm1hdAorICAgICAqIEBwYXJh
bSB7Ym9vbGVhbj19IGluY2x1ZGVQcmV2aWV3CiAgICAgICovCi0gICAgX2Zvcm1hdFBhcmFtZXRl
cjogZnVuY3Rpb24ob3V0cHV0LCBmb3JjZU9iamVjdEZvcm1hdCkKKyAgICBfZm9ybWF0UGFyYW1l
dGVyOiBmdW5jdGlvbihvdXRwdXQsIGZvcmNlT2JqZWN0Rm9ybWF0LCBpbmNsdWRlUHJldmlldykK
ICAgICB7CiAgICAgICAgIHZhciB0eXBlOwogICAgICAgICBpZiAoZm9yY2VPYmplY3RGb3JtYXQp
CkBAIC0yNTMsNyArMjU0LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90
b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIik7CiAgICAgICAgIHNwYW4uY2xhc3NOYW1lID0gImNvbnNvbGUtZm9ybWF0dGVkLSIgKyB0
eXBlICsgIiBzb3VyY2UtY29kZSI7Ci0gICAgICAgIGZvcm1hdHRlci5jYWxsKHRoaXMsIG91dHB1
dCwgc3Bhbik7CisgICAgICAgIGZvcm1hdHRlci5jYWxsKHRoaXMsIG91dHB1dCwgc3BhbiwgaW5j
bHVkZVByZXZpZXcpOwogICAgICAgICByZXR1cm4gc3BhbjsKICAgICB9LAogCkBAIC0yNjIsMTMg
KzI2Myw5MCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgZWxlbS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh2YWwpKTsK
ICAgICB9LAogCi0gICAgX2Zvcm1hdFBhcmFtZXRlckFzT2JqZWN0OiBmdW5jdGlvbihvYmosIGVs
ZW0pCisgICAgX2Zvcm1hdFBhcmFtZXRlckFzT2JqZWN0OiBmdW5jdGlvbihvYmosIGVsZW0sIGlu
Y2x1ZGVQcmV2aWV3KQogICAgIHsKLSAgICAgICAgdmFyIHNlY3Rpb24gPSBuZXcgV2ViSW5zcGVj
dG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uKG9iaiwgb2JqLmRlc2NyaXB0aW9uKTsKKyAgICAg
ICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9yT2JqZWN0KG9iaiwgb2JqLmRlc2NyaXB0
aW9uLCBlbGVtLCBpbmNsdWRlUHJldmlldyk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gb2JqCisgICAgICogQHBhcmFtIHtzdHJp
bmd9IGRlc2NyaXB0aW9uCisgICAgICogQHBhcmFtIHtFbGVtZW50fSBlbGVtCisgICAgICogQHBh
cmFtIHtib29sZWFufSBpbmNsdWRlUHJldmlldworICAgICAqLworICAgIF9mb3JtYXRQYXJhbWV0
ZXJBc0FycmF5T3JPYmplY3Q6IGZ1bmN0aW9uKG9iaiwgZGVzY3JpcHRpb24sIGVsZW0sIGluY2x1
ZGVQcmV2aWV3KQorICAgIHsKKyAgICAgICAgdmFyIHRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0aW9uKQorICAgICAgICAg
ICAgdGl0bGVFbGVtZW50LmNyZWF0ZVRleHRDaGlsZChkZXNjcmlwdGlvbik7CisgICAgICAgIGlm
IChpbmNsdWRlUHJldmlldyAmJiBvYmoucHJldmlld1Byb3BlcnRpZXMpIHsKKyAgICAgICAgICAg
IHRpdGxlRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJjb25zb2xlLW9iamVjdC1wcmV2aWV3Iik7Cisg
ICAgICAgICAgICB2YXIgbG9zc2xlc3MgPSB0aGlzLl9hcHBlbmRPYmplY3RQcmV2aWV3KG9iaiwg
ZGVzY3JpcHRpb24sIHRpdGxlRWxlbWVudCk7CisgICAgICAgICAgICBpZiAobG9zc2xlc3MpIHsK
KyAgICAgICAgICAgICAgICBlbGVtLmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHZhciBz
ZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbihvYmosIHRp
dGxlRWxlbWVudCk7CiAgICAgICAgIHNlY3Rpb24uZW5hYmxlQ29udGV4dE1lbnUoKTsKICAgICAg
ICAgZWxlbS5hcHBlbmRDaGlsZChzZWN0aW9uLmVsZW1lbnQpOwogICAgIH0sCiAKKyAgICAvKioK
KyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3R9IG9iagorICAgICAqIEBw
YXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbgorICAgICAqIEBwYXJhbSB7RWxlbWVudH0gdGl0bGVF
bGVtZW50CisgICAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZmYgcHJldmlldyBjYXB0dXJl
ZCBhbGwgaW5mb3JtYXRpb24uCisgICAgICovCisgICAgX2FwcGVuZE9iamVjdFByZXZpZXc6IGZ1
bmN0aW9uKG9iaiwgZGVzY3JpcHRpb24sIHRpdGxlRWxlbWVudCkKKyAgICB7CisgICAgICAgIHZh
ciBwcmV2aWV3ID0gb2JqLnByZXZpZXdQcm9wZXJ0aWVzOworICAgICAgICB2YXIgaXNMb3NzbGVz
c1ByZXZpZXcgPSB0cnVlOworICAgICAgICB2YXIgaXNBcnJheSA9IG9iai5zdWJ0eXBlID09PSAi
YXJyYXkiOworCisgICAgICAgIGlmIChkZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHRpdGxlRWxl
bWVudC5jcmVhdGVUZXh0Q2hpbGQoIiAiKTsKKyAgICAgICAgdGl0bGVFbGVtZW50LmNyZWF0ZVRl
eHRDaGlsZChpc0FycmF5ID8gIlsiIDogInsiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBwcmV2aWV3Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBwcmV2
aWV3W2ldOworICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAibG9zc3kiKSB7CisgICAgICAg
ICAgICAgIGlzTG9zc2xlc3NQcmV2aWV3ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJvdmVyZmxv
dyIpIHsKKyAgICAgICAgICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoInNwYW4iKS50
ZXh0Q29udGVudCA9ICJcdTIwMjYiOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnR5WzBdOworICAgICAgICAgICAg
dmFyIHR5cGUgPSBwcm9wZXJ0eVsxXTsKKyAgICAgICAgICAgIHZhciB2YWx1ZSA9IHByb3BlcnR5
WzJdOworCisgICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICAgICAgdGl0bGVFbGVt
ZW50LmNyZWF0ZVRleHRDaGlsZCgiLCAiKTsKKworICAgICAgICAgICAgaWYgKCFpc0FycmF5IHx8
IG5hbWUgIT0gaSkgeworICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVDaGlsZCgi
c3BhbiIsICJuYW1lIikudGV4dENvbnRlbnQgPSBuYW1lOworICAgICAgICAgICAgICAgIHRpdGxl
RWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQoIjogIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHZhciBzcGFuID0gdGl0bGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFuIiwgImNvbnNvbGUt
Zm9ybWF0dGVkLSIgKyB0eXBlKTsKKyAgICAgICAgICAgIGlmICh0eXBlID09PSAib2JqZWN0Iikg
eworICAgICAgICAgICAgICAgIHZhciBzdWJ0eXBlID0gcHJvcGVydHlbM107CisgICAgICAgICAg
ICAgICAgaWYgKHN1YnR5cGUgPT09ICJub2RlIikKKyAgICAgICAgICAgICAgICAgICAgc3Bhbi5h
ZGRTdHlsZUNsYXNzKCJjb25zb2xlLWZvcm1hdHRlZC1wcmV2aWV3LW5vZGUiKTsKKyAgICAgICAg
ICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gdmFsdWU7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KHR5cGUgPT09ICJzdHJpbmciKQorICAgICAgICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSAi
XCIiICsgdmFsdWUucmVwbGFjZSgvXG4vZywgIlx1MjFCNSIpICsgIlwiIjsKKyAgICAgICAgICAg
IGVsc2UgaWYgKHR5cGUgPT09ICJudWxsIiB8fCB0eXBlID09PSAidW5kZWZpbmVkIikKKyAgICAg
ICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gdHlwZTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gU3RyaW5nKHZhbHVlKTsKKyAgICAgICAg
fQorICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlVGV4dENoaWxkKGlzQXJyYXkgPyAiXSIgOiAi
fSIpOworICAgICAgICByZXR1cm4gaXNMb3NzbGVzc1ByZXZpZXc7CisgICAgfSwKKwogICAgIF9m
b3JtYXRQYXJhbWV0ZXJBc05vZGU6IGZ1bmN0aW9uKG9iamVjdCwgZWxlbSkKICAgICB7CiAgICAg
ICAgIGZ1bmN0aW9uIHByaW50Tm9kZShub2RlSWQpCkBAIC0yNzYsNyArMzU0LDcgQEAgV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAo
IW5vZGVJZCkgewogICAgICAgICAgICAgICAgIC8vIFNvbWV0aW1lcyBET00gaXMgbG9hZGVkIGFm
dGVyIHRoZSBzeW5jIG1lc3NhZ2UgaXMgYmVpbmcgZm9ybWF0dGVkLCBzbyB3ZSBnZXQgbm8KICAg
ICAgICAgICAgICAgICAvLyBub2RlSWQgaGVyZS4gU28gd2UgZmFsbCBiYWNrIHRvIG9iamVjdCBm
b3JtYXR0aW5nIGhlcmUuCi0gICAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNP
YmplY3Qob2JqZWN0LCBlbGVtKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXRQYXJhbWV0
ZXJBc09iamVjdChvYmplY3QsIGVsZW0sIGZhbHNlKTsKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2YXIgdHJlZU91dGxpbmUgPSBuZXcgV2ViSW5z
cGVjdG9yLkVsZW1lbnRzVHJlZU91dGxpbmUoZmFsc2UsIGZhbHNlLCB0cnVlKTsKQEAgLTI5Myw2
ICszNzEsMTEgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7
CiAKICAgICBfZm9ybWF0UGFyYW1ldGVyQXNBcnJheTogZnVuY3Rpb24oYXJyYXksIGVsZW0pCiAg
ICAgeworICAgICAgICBpZiAoYXJyYXkucHJldmlld1Byb3BlcnRpZXMpIHsKKyAgICAgICAgICAg
IHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9iamVjdChhcnJheSwgIiIsIGVsZW0sIHRy
dWUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgY29uc3QgbWF4
RmxhdEFycmF5TGVuZ3RoID0gMTAwOwogICAgICAgICBpZiAoYXJyYXkuYXJyYXlMZW5ndGgoKSA+
IG1heEZsYXRBcnJheUxlbmd0aCkKICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFz
T2JqZWN0KGFycmF5LCBlbGVtKTsKQEAgLTM1Miw3ICs0MzUsNyBAQCBXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGxhc3ROb25FbXB0eUlu
ZGV4ID0gaTsKICAgICAgICAgICAgIGlmIChpIDwgbGVuZ3RoIC0gMSkKICAgICAgICAgICAgICAg
ICBlbGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIsICIpKTsKLSAgICAg
ICAgfSAgICAgICAKKyAgICAgICAgfQogICAgICAgICBhcHBlbmRVbmRlZmluZWQoZWxlbSwgbGVu
Z3RoKTsKIAogICAgICAgICBlbGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCJdIikpOwpAQCAtMzYxLDcgKzQ0NCw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUlt
cGwucHJvdG90eXBlID0gewogICAgIF9mb3JtYXRBc0FycmF5RW50cnk6IGZ1bmN0aW9uKG91dHB1
dCkKICAgICB7CiAgICAgICAgIC8vIFByZXZlbnQgaW5maW5pdGUgZXhwYW5zaW9uIG9mIGNyb3Nz
LXJlZmVyZW5jaW5nIGFycmF5cy4KLSAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBhcmFtZXRl
cihvdXRwdXQsIG91dHB1dC5zdWJ0eXBlICYmIG91dHB1dC5zdWJ0eXBlID09PSAiYXJyYXkiKTsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBhcmFtZXRlcihvdXRwdXQsIG91dHB1dC5zdWJ0
eXBlICYmIG91dHB1dC5zdWJ0eXBlID09PSAiYXJyYXkiLCBmYWxzZSk7CiAgICAgfSwKIAogICAg
IF9mb3JtYXRXaXRoU3Vic3RpdHV0aW9uU3RyaW5nOiBmdW5jdGlvbihwYXJhbWV0ZXJzLCBmb3Jt
YXR0ZWRSZXN1bHQpCkBAIC0zNzAsNyArNDUzLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlSW1wbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgZnVuY3Rpb24gcGFyYW1ldGVyRm9ybWF0
dGVyKGZvcmNlLCBvYmopCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3Jt
YXRQYXJhbWV0ZXIob2JqLCBmb3JjZSk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0
UGFyYW1ldGVyKG9iaiwgZm9yY2UsIGZhbHNlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0
aW9uIHZhbHVlRm9ybWF0dGVyKG9iaikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NRXh0ZW5zaW9uLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMKaW5kZXggYmVjMTQ3MGQ4YjAyZmU5YmQxNjkzYWFj
NjRjMTYzOGVjYWEzNzNlNC4uM2U1OTI2NDA5Y2NjOTJlZmJmNDk2MjdkNTg0YzI2ZmY2YTliMGY1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRl
bnNpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRl
bnNpb24uanMKQEAgLTI1Myw2ICsyNTMsMTggQEAgRWxlbWVudC5wcm90b3R5cGUuY3JlYXRlQ2hp
bGQgPSBmdW5jdGlvbihlbGVtZW50TmFtZSwgY2xhc3NOYW1lKQogRG9jdW1lbnRGcmFnbWVudC5w
cm90b3R5cGUuY3JlYXRlQ2hpbGQgPSBFbGVtZW50LnByb3RvdHlwZS5jcmVhdGVDaGlsZDsKIAog
LyoqCisgKiBAcGFyYW0ge3N0cmluZ30gdGV4dAorICovCitFbGVtZW50LnByb3RvdHlwZS5jcmVh
dGVUZXh0Q2hpbGQgPSBmdW5jdGlvbih0ZXh0KQoreworICAgIHZhciBlbGVtZW50ID0gdGhpcy5v
d25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpOworICAgIHRoaXMuYXBwZW5kQ2hpbGQo
ZWxlbWVudCk7CisgICAgcmV0dXJuIGVsZW1lbnQ7Cit9CisKK0RvY3VtZW50RnJhZ21lbnQucHJv
dG90eXBlLmNyZWF0ZVRleHRDaGlsZCA9IEVsZW1lbnQucHJvdG90eXBlLmNyZWF0ZVRleHRDaGls
ZDsKKworLyoqCiAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgKi8KIEVsZW1lbnQucHJvdG90eXBlLnRv
dGFsT2Zmc2V0TGVmdCA9IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4
IDlhMTgyYTU5ODlhYjAxZTdjNzQ4ODRjYmFmMTU5ZGNjMWM5OThlOGUuLjk5ZTc1N2YyNDFiMjVl
ZmUxMDliMTA1YzIyYjEzYTJhY2M0MzIyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwpA
QCAtMjgsNyArMjgsNyBAQAogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVj
dG9yLlByb3BlcnRpZXNTZWN0aW9ufQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0PX0gb2JqZWN0Ci0gKiBAcGFyYW0ge3N0cmluZz19IHRpdGxlCisgKiBAcGFyYW0ge3N0cmlu
Z3xFbGVtZW50PX0gdGl0bGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gc3VidGl0bGUKICAqIEBwYXJh
bSB7c3RyaW5nPX0gZW1wdHlQbGFjZWhvbGRlcgogICogQHBhcmFtIHtib29sZWFuPX0gaWdub3Jl
SGFzT3duUHJvcGVydHkKQEAgLTQ1LDcgKzQ1LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3Bl
cnRpZXNTZWN0aW9uID0gZnVuY3Rpb24ob2JqZWN0LCB0aXRsZSwgc3VidGl0bGUsIGVtcHR5UGwK
ICAgICB0aGlzLmVkaXRhYmxlID0gdHJ1ZTsKICAgICB0aGlzLnNraXBQcm90byA9IGZhbHNlOwog
Ci0gICAgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uLmNhbGwodGhpcywgdGl0bGUsIHN1
YnRpdGxlKTsKKyAgICBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24uY2FsbCh0aGlzLCB0
aXRsZSB8fCAiIiwgc3VidGl0bGUpOwogfQogCiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGll
c1NlY3Rpb24uX2FycmF5TG9hZFRocmVzaG9sZCA9IDEwMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IDA2
MTFiMTQzYTZmNTEzMTEyMjk3NTUxMGM1NzYyMGJkYTE2YjAzMzIuLjRmNzYwZTY4ZTAxNTFjODlm
ODIwYjhiYzk4NGU1Yjk1YzQ4NjAzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMzAsNiArMzAsNyBA
QAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2VjdGlv
bn0KKyAqIEBwYXJhbSB7c3RyaW5nfEVsZW1lbnR9IHRpdGxlCiAgKiBAcGFyYW0ge3N0cmluZz19
IHN1YnRpdGxlCiAgKi8KIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbiA9IGZ1bmN0aW9u
KHRpdGxlLCBzdWJ0aXRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZW1vdGVPYmplY3QuanMKaW5kZXggM2YzMjhlYzBiMDNkMzk4MTI3NWYwNTlmYjIyMjQ1
ZDkzNzI5MDZiMS4uZGRkZTJjNzJhMDAwNzBmMzQ5NTc3OWI4OTA3NDMxYTViODI1YjQ2MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anMKQEAgLTM1LDggKzM1LDkgQEAKICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gc3VidHlw
ZQogICogQHBhcmFtIHsqfSB2YWx1ZQogICogQHBhcmFtIHtzdHJpbmc9fSBkZXNjcmlwdGlvbgor
ICogQHBhcmFtIHtBcnJheT19IHByZXZpZXdQcm9wZXJ0aWVzCiAgKi8KLVdlYkluc3BlY3Rvci5S
ZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3RJZCwgdHlwZSwgc3VidHlwZSwgdmFsdWUsIGRl
c2NyaXB0aW9uKQorV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdCA9IGZ1bmN0aW9uKG9iamVjdElk
LCB0eXBlLCBzdWJ0eXBlLCB2YWx1ZSwgZGVzY3JpcHRpb24sIHByZXZpZXdQcm9wZXJ0aWVzKQog
ewogICAgIHRoaXMuX3R5cGUgPSB0eXBlOwogICAgIHRoaXMuX3N1YnR5cGUgPSBzdWJ0eXBlOwpA
QCAtNDUsNiArNDYsNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0ID0gZnVuY3Rpb24ob2Jq
ZWN0SWQsIHR5cGUsIHN1YnR5cGUsIHZhbHVlLCBkZXNjcmlwdGlvbgogICAgICAgICB0aGlzLl9v
YmplY3RJZCA9IG9iamVjdElkOwogICAgICAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0
aW9uOwogICAgICAgICB0aGlzLl9oYXNDaGlsZHJlbiA9IHRydWU7CisgICAgICAgIHRoaXMuX3By
ZXZpZXdQcm9wZXJ0aWVzID0gcHJldmlld1Byb3BlcnRpZXM7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgLy8gUHJpbWl0aXZlIG9yIG51bGwgb2JqZWN0LgogICAgICAgICBjb25zb2xlLmFzc2VydCh0
eXBlICE9PSAib2JqZWN0IiB8fCB2YWx1ZSA9PT0gbnVsbCk7CkBAIC0xMDQsNyArMTA2LDcgQEAg
V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZCA9IGZ1bmN0aW9uKHBheWxvYWQp
CiB7CiAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHBheWxvYWQgPT09ICJvYmplY3QiLCAiUmVt
b3RlIG9iamVjdCBwYXlsb2FkIHNob3VsZCBvbmx5IGJlIGFuIG9iamVjdCIpOwogCi0gICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KHBheWxvYWQub2JqZWN0SWQsIHBheWxv
YWQudHlwZSwgcGF5bG9hZC5zdWJ0eXBlLCBwYXlsb2FkLnZhbHVlLCBwYXlsb2FkLmRlc2NyaXB0
aW9uKTsKKyAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QocGF5bG9hZC5v
YmplY3RJZCwgcGF5bG9hZC50eXBlLCBwYXlsb2FkLnN1YnR5cGUsIHBheWxvYWQudmFsdWUsIHBh
eWxvYWQuZGVzY3JpcHRpb24sIHBheWxvYWQucHJldmlldyk7CiB9CiAKIC8qKgpAQCAtMTU0LDYg
KzE1NiwxMiBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX2hhc0NoaWxkcmVuOwogICAgIH0sCiAKKyAgICAvKiogQHJldHVybiB7
QXJyYXl8dW5kZWZpbmVkfSAqLworICAgIGdldCBwcmV2aWV3UHJvcGVydGllcygpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fcHJldmlld1Byb3BlcnRpZXM7CisgICAgfSwKKwogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oQXJyYXkuPFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3RQcm9wZXJ0eT4pfSBjYWxsYmFjawogICAgICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWN0aW9uLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TZWN0aW9uLmpzCmluZGV4IDAwNzA5NjQ5MTdhODlkNTQzZDdhNDlhNzA1
YjFlYzgxMmU4NWNhMWUuLmVmN2YxZWU1MmVmZjhhMmYzYzhkYzIzODY3Y2JjMTgxNWQ4YmQwNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VjdGlvbi5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanMKQEAg
LTI5LDYgKzI5LDcgQEAKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7c3RyaW5n
fEVsZW1lbnR9IHRpdGxlCiAgKiBAcGFyYW0ge3N0cmluZz19IHN1YnRpdGxlCiAgKi8KIFdlYklu
c3BlY3Rvci5TZWN0aW9uID0gZnVuY3Rpb24odGl0bGUsIHN1YnRpdGxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDliYzlmNTdl
MTBkMzhkOGQ3NGY3ODI3MTc1YjdjNTcwODIyMzQ2NjQuLjM5MTE2ZTZhOTEyMGJiMGYxZGMyN2Fj
NzEyYmE1MDA5ZjY3MGNjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTEwMjUsNiArMTAyNSw3IEBAIGJvZHkucGxhdGZvcm0t
bGludXggLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1saW51eCAuc291cmNlLWNvZGUgewogLmNv
bnNvbGUtZ3JvdXAtbWVzc2FnZXMgLnNlY3Rpb24gLmhlYWRlciAudGl0bGUgewogICAgIGNvbG9y
OiBibGFjazsKICAgICBmb250LXdlaWdodDogbm9ybWFsOworICAgIGxpbmUtaGVpZ2h0OiAxM3B4
OwogfQogCiAuY29uc29sZS1ncm91cC1tZXNzYWdlcyAuc2VjdGlvbiAucHJvcGVydGllcyBsaSAu
aW5mbyB7CkBAIC0xMDg3LDYgKzEwODgsMTUgQEAgYm9keS5wbGF0Zm9ybS1saW51eCAubW9ub3Nw
YWNlLCBib2R5LnBsYXRmb3JtLWxpbnV4IC5zb3VyY2UtY29kZSB7CiAgICAgY29sb3I6IHJnYigx
MjgsIDEyOCwgMTI4KTsKIH0KIAorLmNvbnNvbGUtZm9ybWF0dGVkLXByZXZpZXctbm9kZSwKKy5z
ZWN0aW9uIC5jb25zb2xlLWZvcm1hdHRlZC1ub2RlIHsKKyAgICBjb2xvcjogcmdiKDEzNiwgMTgs
IDEyOCk7Cit9CisKKy5jb25zb2xlLW9iamVjdC1wcmV2aWV3IHsKKyAgICBmb250LXN0eWxlOiBp
dGFsaWM7Cit9CisKIC5lcnJvci1tZXNzYWdlIHsKICAgICBjb2xvcjogcmVkOwogfQpAQCAtMTU4
MCw3ICsxNTkwLDcgQEAgbGkuZWRpdGluZyAuc3dhdGNoLCBsaS5lZGl0aW5nIC5lbmFibGVkLWJ1
dHRvbiwgIGxpLmVkaXRpbmctc3ViLXBhcnQgLmRlbGV0ZS1idXQKICAgICBkaXNwbGF5OiBpbmxp
bmU7CiB9CiAKLS5zZWN0aW9uIC5wcm9wZXJ0aWVzIC5uYW1lLCAuZXZlbnQtcHJvcGVydGllcyAu
bmFtZSB7Cisuc2VjdGlvbiAucHJvcGVydGllcyAubmFtZSwgLmV2ZW50LXByb3BlcnRpZXMgLm5h
bWUsIC5jb25zb2xlLWZvcm1hdHRlZC1vYmplY3QgLm5hbWUgewogICAgIGNvbG9yOiByZ2IoMTM2
LCAxOSwgMTQ1KTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM0NzBhNzM3ZWM4ZTMxOTFlOGJiOWNhZTJmYzVmMTc1
YTE5NTliZDUuLjJkYWE3ODk4ZjNjMDRkZWZkNDQ2OTdhNDVjMDMyYTAzNTYyODlmMzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwzNCBAQAogMjAxMi0wOC0wOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNo
cm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBnZW5lcmF0ZSBwcmV2aWV3IGZv
ciB0aGUgb2JqZWN0cyBkdW1wZWQgaW50byB0aGUgY29uc29sZSB1cG9uIGxvZ2dpbmcuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTgwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Nv
bnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9u
cy5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3Rv
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1k
b2N1bWVudC1wcm90by5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
bG9nLXRvU3RyaW5nLW9iamVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGluc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQt
YmxhbmstZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFu
ZWwtc3dpdGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisKKzIwMTItMDgtMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+
CisKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc3RvcmUgbGFzdCBldmFsdWF0aW9uIHJlc3VsdCBp
biAkXwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMz
NzcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1s
aW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKaW5kZXggMDcyZmQxZTI1
OTFiZTA1M2VlOWFmMzhlM2YxYzhlZTI1OTkyNTk5Ni4uZTI4OGI5MzI1N2Q1YTJhNWI1ZDU3MmJh
YTY0MWNkZDJlZGM3M2QxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0
CkBAIC00LDcgKzQsNyBAQCBUZXN0cyB0aGF0IGluc3BlY3QoKSBjb21tYW5kIGxpbmUgYXBpIHdv
cmtzLgogUnVubmluZzogdGVzdFJldmVhbEVsZW1lbnQKIAogCi1XZWJJbnNwZWN0b3IuaW5zcGVj
dCBjYWxsZWQgd2l0aDogSFRNTFBhcmFncmFwaEVsZW1lbnQKK1dlYkluc3BlY3Rvci5pbnNwZWN0
IGNhbGxlZCB3aXRoOiA8cD4KIFdlYkluc3BlY3Rvci5pbnNwZWN0J3MgaGludHMgYXJlOiBbXQog
aW5zcGVjdCgkKCdwMScpKSA9IAogU2VsZWN0ZWQgbm9kZSBpZDogJ3AxJy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dApp
bmRleCBlNzNhYWE4ODhmNzJmNDRjYWE1YTUzOTk2YWE4ZGQwMmM3YjE4MTk2Li5iZDZmNGZjYTZl
ODMzYTY0NGE2MmJiNDA4N2M4NDNlMTUxYzAzNjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsx
Miw3IEBAIEFycmF5WzJdCiAgICAgX19wcm90b19fOiBBcnJheVswXSBjb25zb2xlLWRpci5odG1s
OjkKIAogTm9kZUxpc3RbMV0KLSAgICAwOiBIVE1MSHRtbEVsZW1lbnQKKyAgICAwOiA8aHRtbD4K
ICAgICBjb25zdHJ1Y3RvcjogTm9kZUxpc3RDb25zdHJ1Y3RvcgogICAgIGxlbmd0aDogMQogICAg
IF9fcHJvdG9fXzogTm9kZUxpc3RQcm90b3R5cGUgY29uc29sZS1kaXIuaHRtbDoxMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwt
Z2xvYmFsLWV4cGVjdGVkLnR4dAppbmRleCBiMTE1MDZiYjEwMTFiNzM5MmQyNTE5MTQzN2RmODdh
NDZjMzZhMWU5Li42MTA3ZmNhNzM0MDNjNzgxYjk3ZTNlYTZmNmI2Mzk0MjVmYjUwYTZjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFs
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDYgQEAgVGVzdHMgdGhhdCBzaW1w
bGUgZXZhbHVhdGlvbnMgbWF5IGJlIHBlcmZvcm1lZCBpbiB0aGUgY29uc29sZSBvbiBnbG9iYWwg
b2JqZWN0LgogCiBmb28KICJmb29WYWx1ZSIKLWJhcjEKLVJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBiYXIxCitiYXIKK09iamVjdAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWwKaW5kZXggZDZmNDc4
MmI5YWVjOTFhYjExNGM2ZTZkYTQ1NzY2YTQ1NDVmNGRjNy4uOTRmZTJkZWVkOTI4YzY0YTRmYjgw
MmQ3NTdmOWNhYjc3MzA4NzQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAxKCkKICAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImJhcjEiLCBzdGVwMik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImJhciIsIHN0ZXAyKTsKICAgICB9CiAKICAgICBm
dW5jdGlvbiBzdGVwMigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQK
aW5kZXggYmRjOTJkZjM1OGMzYTI1MDgwOWIzNTE4MmUwZDU2NGY4YmE5ZTgzMC4uZGVjNDczZThk
MDNiZjE5NzVlYzQ3NTEzZDI2YjVlNTdlZTQxYzQzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDE1IEBAIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzNTogW29iamVjdCBOb2RlTGlzdF0KIENPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogMSwyLAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0KIENPTlNPTEUgTUVTU0FH
RTogbGluZSA1MTogW29iamVjdCBBcmd1bWVudHNdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IFtvYmplY3QgTm9kZUxpc3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IFtvYmplY3QgSFRN
TENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFtvYmplY3QgSFRNTE9wdGlv
bnNDb2xsZWN0aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBbb2JqZWN0IEhUTUxBbGxD
b2xsZWN0aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMxOiBbb2JqZWN0IEhUTUxDb2xsZWN0
aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBbb2JqZWN0IE5vZGVMaXN0XQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQxOiAxLDIsCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFtvYmpl
Y3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBbb2JqZWN0IEFyZ3VtZW50c10K
IFRlc3RzIHRoYXQgY29uc29sZSBuaWNlbHkgZm9ybWF0cyBIVE1MIENvbGxlY3Rpb25zIGFuZCBO
b2RlTGlzdHMuCiAKIFs8c2VsZWN0IGlkPSJzZWwiIG5hbWU9InNlbCI+4oCmPC9zZWxlY3Q+XSBj
b25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjE1CkBAIC0yMCw0ICsyOSwxNCBAQCBUZXN0
cyB0aGF0IGNvbnNvbGUgbmljZWx5IGZvcm1hdHMgSFRNTCBDb2xsZWN0aW9ucyBhbmQgTm9kZUxp
c3RzLgogWzEsIEFycmF5WzJdXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjQxCiBO
b25BcnJheVdpdGhMZW5ndGggY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0NAogWzEs
ICIyIl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo1MQorWzxzZWxlY3Q+XSBjb25z
b2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjE1CisgY29uc29sZS1mb3JtYXQtY29sbGVjdGlv
bnMuaHRtbDoxOQorWzxvcHRpb24+LCA8b3B0aW9uPiwgc2VsZWN0ZWRJbmRleDogMF0gY29uc29s
ZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoyMworIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25z
Lmh0bWw6MjcKKyBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjMxCitbPGlucHV0Piwg
PGlucHV0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDozNQorWzEsIEFycmF5WzJd
XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjQxCitOb25BcnJheVdpdGhMZW5ndGgg
e2tleXM6IEFycmF5WzBdfSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjQ0CitbMSwg
IjIiXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjUxCitQYWdlIHJlbG9hZGVkLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbAppbmRleCAwYmVjYTg3YjExMmM3MjE5ZmViMTk0ZDc5
YmJmOWQyY2MwNDFkMzg5Li44YzFkMGNmZTNhMzZmMmFkMGRhZTE4NjU5MTQ0NDZhOWNkMjM3ZmUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKQEAgLTQsNyArNCw3IEBACiA8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQ+CiAKLWZ1bmN0aW9uIG9ubG9hZCgpCitmdW5jdGlvbiBsb2dUb0NvbnNvbGUoKQog
ewogICAgIHZhciBmb3JtRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmIik7CiAg
ICAgdmFyIHNlbGVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsIik7CkBA
IC01Miw2ICs1MiwxMSBAQCBmdW5jdGlvbiBvbmxvYWQoKQogICAgIHJ1blRlc3QoKTsKIH0KIAor
ZnVuY3Rpb24gb25sb2FkKCkKK3sKKyAgICBsb2dUb0NvbnNvbGUoKTsKK30KKwogZnVuY3Rpb24g
Tm9uQXJyYXlXaXRoTGVuZ3RoKCkKIHsKICAgICB0aGlzLmtleXM9W107CkBAIC02NSw4ICs3MCwx
MyBAQCBOb25BcnJheVdpdGhMZW5ndGgucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oImxlbmd0
aCIsIGZ1bmN0aW9uKCkKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgSW5zcGVjdG9yVGVzdC5k
dW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2dUb0NvbnNvbGUoKSIsIGNhbGxi
YWNrKTsKKworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0
CmluZGV4IDBlMTkzYThlYTJkZTUzMTk5YTUzYTkwZmU5MjYzNjkwMDY4NzFhYzAuLjYxNTVmYzVl
Zjk4ZDhlNjIzN2FiNjk0ZjlkZmIwMDhlMzhlNGIxMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQKQEAg
LTU1LDcgKzU1LDcgQEAgT2JqZWN0IE9iamVjdCBjb25zb2xlLWZvcm1hdC5odG1sOjE0CiBbInRl
c3QiLCAidGVzdDIiLCB1bmRlZmluZWQgw5cgMiwgInRlc3Q0IiwgdW5kZWZpbmVkIMOXIDVdIGNv
bnNvbGUtZm9ybWF0Lmh0bWw6MjEKIEFycmF5WzEwXSBjb25zb2xlLWZvcm1hdC5odG1sOjIyCiAv
XnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCco
PzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kgY29uc29sZS1mb3JtYXQuaHRtbDo1NAot
Wy9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8
Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118
KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaV0gY29uc29sZS1mb3JtYXQuaHRtbDo1
NQorWy9edXJsXChccyooPzooPzoiKD864oCmXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9i
YWxzWzBdCiAvXnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98
XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUm
Ki1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kKIC9mb29cXGJhclxzYmF6
L2kgY29uc29sZS1mb3JtYXQuaHRtbDo1NApAQCAtNzQsMTAgKzc0LDEwIEBAIEVycm9yIGNvbnNv
bGUtZm9ybWF0Lmh0bWw6NTQKIFtFcnJvcl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQogZ2xvYmFs
c1s0XQogRXJyb3IKLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT4gY29uc29sZS1m
b3JtYXQuaHRtbDo1NAotWzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT5dIGNvbnNv
bGUtZm9ybWF0Lmh0bWw6NTUKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPiBjb25zb2xlLWZvcm1h
dC5odG1sOjU0CitbPGJvZHk+XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzVdCi08
Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+Cis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgp
Ij4KIGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0gY29uc29sZS1mb3JtYXQuaHRtbDo1NAogW2Z1
bmN0aW9uICgpIHsgcmV0dXJuIDE7IH1dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNb
Nl0KQEAgLTEwOSwxNyArMTA5LDE3IEBAIHVuZGVmaW5lZCBjb25zb2xlLWZvcm1hdC5odG1sOjU0
CiBnbG9iYWxzWzExXQogdW5kZWZpbmVkCiBhdHRyPSIiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQK
LVthdHRyPSIiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CitbYXR0cl0gY29uc29sZS1mb3JtYXQu
aHRtbDo1NQogZ2xvYmFsc1sxMl0KIGF0dHI9IiIKLWF0dHI9InZhbHVlIiBjb25zb2xlLWZvcm1h
dC5odG1sOjU0Ci1bYXR0cj0idmFsdWUiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CithdHRyPSJ2
YWx1ZSIidmFsdWUiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKK1thdHRyXSBjb25zb2xlLWZvcm1h
dC5odG1sOjU1CiBnbG9iYWxzWzEzXQotYXR0cj0idmFsdWUiCi1pZD0ieCIgY29uc29sZS1mb3Jt
YXQuaHRtbDo1NAotW2lkPSJ4Il0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQorYXR0cj0idmFsdWUi
InZhbHVlIgoraWQ9IngiIngiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKK1tpZF0gY29uc29sZS1m
b3JtYXQuaHRtbDo1NQogZ2xvYmFsc1sxNF0KLWlkPSJ4IgoraWQ9IngiIngiCiBPYmplY3QgY29u
c29sZS1mb3JtYXQuaHRtbDo1NAogW09iamVjdF0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQogZ2xv
YmFsc1sxNV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZv
cm1hdC5odG1sCmluZGV4IGU2NDQwYTljNWQ2ZDVkYmY3ZGY2NzNjZWIwNmI0OGM5ZjQ2NmFmYWIu
LjE0OTIyMjRjNzMwNTYyYjM0NDBmNGUzMjA2OTYzMzgwMWUwZjQyM2EgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQuaHRtbApAQCAtMTQsNyAr
MTQsNyBAQCBmdW5jdGlvbiBvbmxvYWQoKQogICAgIGNvbnNvbGUubG9nKCdPYmplY3QgJW8nLCB7
J2ZvbycgOiAnYmFyJyB9KTsKIAogICAgIHZhciBhcnJheSA9IFsidGVzdCIsICJ0ZXN0MiJdOyBh
cnJheS5sZW5ndGggPSAxMDsKLSAgICBhcnJheS5mb28gPSAiYmFyIjsgCisgICAgYXJyYXkuZm9v
ID0ge307IAogICAgIGFycmF5WzRdID0gInRlc3Q0IjsKIAogICAgIGNvbnNvbGUubG9nKGFycmF5
KTsKQEAgLTY1LDEwICs2NSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewogICAgICAg
ICAgICAgdmFyIG5leHQgPSBjdXJyZW50ICsgMTsKICAgICAgICAgICAgIGlmIChuZXh0ID09IHRv
dGFsLmRlc2NyaXB0aW9uKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRD
b25zb2xlTWVzc2FnZXMoKTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25z
b2xlTWVzc2FnZXMoKTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwotICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICAgICAgbG9vcE92ZXJHbG9iYWxzKG5leHQsIHRvdGFsKTsKICAgICAg
ICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xl
LWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQKaW5kZXggZmRk
ZDEyNTdmNGNhMTg1ZDViZGViMmM5M2YzMjljN2IxMzcwZTU5OS4uZDYwODFjM2Y5OWMxZTQ4MDFi
Mzc1NWQ4ZWZmYmI4YjJkYWM3YTkyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBbb2Jq
ZWN0IEhUTUxEb2N1bWVudFByb3RvdHlwZV0KLVRlc3QgdGhhdCBjb25zb2xlLmxvZyhkb2N1bWVu
dC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2Fn
ZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci5CdWcgMjcxNjkuCitUZXN0IHRoYXQgY29u
c29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9u
IHdoZW4gdGhlIG1lc3NhZ2UgaXMgZm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuQnVnIDI3MTY5
LgogCiBIVE1MRG9jdW1lbnRQcm90b3R5cGUgY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRt
bDo2CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
bG9nLWRvY3VtZW50LXByb3RvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sCmluZGV4IDFlYjgxYjA3N2U2YjUzNzMxMGU4
ODM4OGUxNmJhMDc3NGFiNTIyODYuLmI2MzljNDdjYTllYzExY2E2NDI5MDA1MDU2YWRiZjNhZGFh
MmQ4YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
bG9nLWRvY3VtZW50LXByb3RvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbApAQCAtMyw3ICszLDcgQEAKIDxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10
ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1jb25zb2xlLmxvZyhkb2N1bWVudC5fX3Byb3Rv
X18pOworY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90b19fKTsKIAogZnVuY3Rpb24gdGVzdCgp
CiB7CkBAIC0xNCw3ICsxNCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9oZWFkPgogPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgogPHA+Ci1UZXN0IHRoYXQgY29uc29sZS5sb2coZG9jdW1lbnQuX19w
cm90b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UKK1Rl
c3QgdGhhdCBjb25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBh
biBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2FnZQogaXMgZm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0
b3IuPGEgYnVnPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcxNjki
PkJ1ZyAgMjcxNjkuPC9hPgogPC9wPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9i
amVjdC1leHBlY3RlZC50eHQKaW5kZXggMTAwZjYzZmZhOTY4OTIyNjIwZTFiYzhhOTE2OTJlNTZj
MjVkMjY5MC4uMDUyMjdlY2ZjMGYzODY3YTJmZjVmNTJiYmY3OTI5ZTBhZjUwYzEwOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJpbmct
b2JqZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWxvZy10b1N0cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0zLDUgKzMsNSBAQCBD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNzoKIFRlc3RzIHRoYXQgcGFzc2luZyBhbiBvYmplY3Qgd2hp
Y2ggdGhyb3dzIG9uIHN0cmluZyBjb252ZXJzaW9uIGludG8gY29uc29sZS5sb2cgd29uJ3QgY3Jh
c2ggaW5zcGVjdGVkIFBhZ2UuIFRoZSB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLiBC
dWcgNTc1NTcKIAogUGFnZSByZWxvYWRlZC4KLU9iamVjdCBjb25zb2xlLWxvZy10b1N0cmluZy1v
YmplY3QuaHRtbDo3CitPYmplY3Qge3RvU3RyaW5nOiBPYmplY3R9IGNvbnNvbGUtbG9nLXRvU3Ry
aW5nLW9iamVjdC5odG1sOjcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNo
LWV4cGVjdGVkLnR4dAppbmRleCBiMjQxNDU2YjRlNmNhN2M5ZWZmZjk1YzU0OGViOTAwYjZjN2Uy
MTdkLi5mN2FiZmI2MmZjZGMwZDJlNjU0ZWIxYWFhYjBkMTlmMDM3ODE2ODc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwt
c3dpdGNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
d2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dApAQCAtNiw3ICs2LDcg
QEAgU2NyaXB0IHNvdXJjZSB3YXMgc2hvd24uCiBTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24u
CiBXYXRjaCBleHByZXNzaW9ucyB1cGRhdGVkLgogW2V4cGFuZGVkXSAgCi0gICAgd2luZG93LmRv
Y3VtZW50OiBIVE1MRG9jdW1lbnQKKyAgICB3aW5kb3cuZG9jdW1lbnQ6ICNkb2N1bWVudAogICAg
IHdpbmRvd2EuZG9jdW1lbnQ6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB3
aW5kb3dhCiBEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4
cGVjdGVkLnR4dAppbmRleCA1M2MwZjBjM2VjNzQyNzQ2ZTAzZDhkZTFiNmE4ODUwNDY2NTZkZGMx
Li5iYjJjMjgwZmM4YzlmMDA0NGQ3YjcyYWVmMjk0MTI5NTZlNjEzNDQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3Rl
bmVyLXNpZGViYXItZXhwZWN0ZWQudHh0CkBAIC03LDIxICs3LDIxIEBAIEluc3BlY3QgTWUKICAg
ICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxOQogICAgIGxpc3RlbmVyQm9k
eTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gY2Fw
dHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKKyAgICBub2RlOiAjZG9jdW1lbnQK
ICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAg
ICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4cGFuZGVkXSBkb2N1bWVudCAoYW5vbnltb3VzIGZ1bmN0
aW9uKQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpc3RlbmVyQm9keTogT2JqZWN0SGFu
ZGxlcgotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6ICNkb2N1bWVudAogICAgIHR5
cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4cGFuZGVkXSBidXR0b24jbm9kZSBl
dmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAg
ICBsaW5lTnVtYmVyOiAxNQogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNv
bnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGNhcHR1cmluZyIpOyB9Ci0gICAgbm9kZTogSFRN
TEJ1dHRvbkVsZW1lbnQKKyAgICBub2RlOiA8YnV0dG9uPgogICAgIHNvdXJjZU5hbWU6IFtjbGlw
cGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVu
ZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCkBA
IC0yOSw3ICsyOSw3IEBAIEluc3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBs
aW5lTnVtYmVyOiAxMgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gY2xpY2tIYW5kbGVyKGV2
ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3RlcmVk
IGJlZm9yZSBhdHRyaWJ1dGUpIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAorICAg
IG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAg
ICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC0zNyw3ICszNyw3IEBAIElu
c3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogdHJ1ZQogICAgIGxpbmVOdW1iZXI6IDE2CiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0
dG9uIC0gYXR0cmlidXRlIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAorICAgIG5v
ZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0
eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC00NSw3ICs0NSw3IEBAIEluc3Bl
Y3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxNwogICAgIGxp
c3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRv
biAtIGJ1YmJsaW5nIChyZWdpc3RlcmVkIGFmdGVyIGF0dHJpYnV0ZSkiKTsgfQotICAgIG5vZGU6
IEhUTUxCdXR0b25FbGVtZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1lOiBb
Y2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxp
c3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogZmFs
c2UKQEAgLTUzLDcgKzUzLDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiB0cnVlCiAg
ICAgbGluZU51bWJlcjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlj
a0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1
dGUiKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6ICNkb2N1bWVudAogICAg
IHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1
c2VDYXB0dXJlOiBmYWxzZQpAQCAtNjMsNyArNjMsNyBAQCBJbnNwZWN0IE1lCiAgICAgaXNBdHRy
aWJ1dGU6IGZhbHNlCiAgICAgbGluZU51bWJlcjogMTAKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0
aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxCb2R5RWxlbWVudAorICAgIG5vZGU6IDxib2R5Pgog
ICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY3VzdG9tIGV2
ZW50CiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQpAQCAtNzMsNyArNzMsNyBAQCBJbnNwZWN0IE1lCiAg
ICAgaXNBdHRyaWJ1dGU6IGZhbHNlCiAgICAgbGluZU51bWJlcjogMTQKICAgICBsaXN0ZW5lckJv
ZHk6IGZ1bmN0aW9uIGhvdmVySGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiaG92ZXIgLSBi
dXR0b24gLSBidWJibGluZyIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKKyAgICBu
b2RlOiA8YnV0dG9uPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAg
dHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtODMsMjEgKzgzLDIxIEBAIElu
c3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxOQogICAg
IGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRv
Y3VtZW50IC0gY2FwdHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKKyAgICBub2Rl
OiAjZG9jdW1lbnQKICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5
cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4cGFuZGVkXSBkb2N1bWVudCAoYW5v
bnltb3VzIGZ1bmN0aW9uKQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpc3RlbmVyQm9k
eTogT2JqZWN0SGFuZGxlcgotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6ICNkb2N1
bWVudAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQogW2V4cGFuZGVkXSBk
b2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6NgogICAgIGlzQXR0cmlidXRlOiB0
cnVlCiAgICAgbGluZU51bWJlcjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1l
bnRDbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBh
dHRyaWJ1dGUiKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6ICNkb2N1bWVu
dAogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sK
ICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtMTA3LDcgKzEwNyw3IEBAIEluc3BlY3QgTWUKICAg
ICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAxMAogICAgIGxpc3RlbmVyQm9k
eTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9kZTog
PGJvZHk+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBj
dXN0b20gZXZlbnQKICAgICB1c2VDYXB0dXJlOiB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXJzLWFib3V0LWJsYW5rLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJv
dXQtYmxhbmstZXhwZWN0ZWQudHh0CmluZGV4IDQ3MGUxZTM1NTJmNGZmZWUwOTkzZjU2MmQxYTFi
OTlkZGFiMDZiZDUuLmFjZDZhZTg5ZmVlMGI0Y2JlNDQ0MjU4YmI5NjEyMDgxMGY4YWNlYTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMt
YWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0CkBAIC03LDcgKzcs
NyBAQCBUZXN0cyBldmVudCBsaXN0ZW5lcnMgb3V0cHV0IGluIHRoZSBFbGVtZW50cyBzaWRlYmFy
IHBhbmVsIHdoZW4gdGhlIGxpc3RlbmVycyBhcgogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAg
IGxpbmVOdW1iZXI6IDkKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5v
ZGU6IEhUTUxCb2R5RWxlbWVudAorICAgIG5vZGU6IDxib2R5PgogICAgIHNvdXJjZU5hbWU6IFtj
bGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlz
dGVuZXJzLWFib3V0LWJsYW5rLmh0bWwKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6
IHRydWUKQEAgLTE3LDcgKzE3LDcgQEAgVGVzdHMgZXZlbnQgbGlzdGVuZXJzIG91dHB1dCBpbiB0
aGUgRWxlbWVudHMgc2lkZWJhciBwYW5lbCB3aGVuIHRoZSBsaXN0ZW5lcnMgYXIKICAgICBpc0F0
dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiA5CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5j
dGlvbiBmKCkge30KLSAgICBub2RlOiBIVE1MRGl2RWxlbWVudAorICAgIG5vZGU6IDxkaXY+CiAg
ICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmsuaHRtbAogICAgIHR5cGU6IGhvdmVy
CiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXIt
ZXhwZWN0ZWQudHh0CmluZGV4IDUzM2EzMGVjOTdjNjBiMmYzN2UwOWRhNTE4OTg1OTY4MDNhOGI5
ZTIuLmY4OTI4YzA4YTdhNWE2MDUyMWY5OGRiMmY0NzMyZjdjZGUzOTYzY2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUt
ZGlyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAg
QXJyYXlbMl0KICAgICBfX3Byb3RvX186IEFycmF5WzBdIGNvbnNvbGUtZGlyLmh0bWw6OQogCiBO
b2RlTGlzdFsxXQotICAgIDA6IEhUTUxIdG1sRWxlbWVudAorICAgIDA6IDxodG1sPgogICAgIGxl
bmd0aDogMQogICAgIF9fcHJvdG9fXzogTm9kZUxpc3QgY29uc29sZS1kaXIuaHRtbDoxMAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmYyODE3NDE2YzVmZTI0NGYyNmY4
N2I1MmI4ZDA0NmVlYWJmYjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyAr
MCwwIEBACi1UZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVkIGlu
IHRoZSBjb25zb2xlIG9uIGdsb2JhbCBvYmplY3QuCi0KLWZvbwotImZvb1ZhbHVlIgotYmFyMQot
UmVmZXJlbmNlRXJyb3I6IGJhcjEgaXMgbm90IGRlZmluZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQt
Y29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0
CmluZGV4IDllODg0Njk2ZGY4OGExYzVjODA1MDZkZjZjYjdjMGU0ZTVkZjFiYzEuLmJjOTk3MDM4
Yjg3MTZhNTNiYjNkM2EyMjNiNjBhNGMxNzZiMjRkNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQK
QEAgLTcsNiArNywxNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFtvYmplY3QgTm9kZUxp
c3RdCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IDEsMiwKIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0NDogW29iamVjdCBPYmplY3RdCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IFtvYmplY3Qg
QXJndW1lbnRzXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBbb2JqZWN0IE5vZGVMaXN0XQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBbb2JqZWN0IEhUTUxDb2xsZWN0aW9uXQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIzOiBbb2JqZWN0IEhUTUxPcHRpb25zQ29sbGVjdGlvbl0KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyNzogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6
IFtvYmplY3QgSFRNTENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFtvYmpl
Y3QgTm9kZUxpc3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IDEsMiwKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA0NDogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6
IFtvYmplY3QgQXJndW1lbnRzXQogVGVzdHMgdGhhdCBjb25zb2xlIG5pY2VseSBmb3JtYXRzIEhU
TUwgQ29sbGVjdGlvbnMgYW5kIE5vZGVMaXN0cy4KIAogWzxzZWxlY3QgaWQ9InNlbCIgbmFtZT0i
c2VsIj7igKY8L3NlbGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUKQEAg
LTIwLDQgKzI5LDEzIEBAIFRlc3RzIHRoYXQgY29uc29sZSBuaWNlbHkgZm9ybWF0cyBIVE1MIENv
bGxlY3Rpb25zIGFuZCBOb2RlTGlzdHMuCiBbMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9ybWF0LWNv
bGxlY3Rpb25zLmh0bWw6NDEKIE5vbkFycmF5V2l0aExlbmd0aCBjb25zb2xlLWZvcm1hdC1jb2xs
ZWN0aW9ucy5odG1sOjQ0CiBbMSwgIjIiXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1s
OjUxCitbPHNlbGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUKK1s8c2Ny
aXB0PiwgPHNjcmlwdD4sIDxzY3JpcHQ+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1s
OjE5CitbPG9wdGlvbj4sIDxvcHRpb24+LCBzZWxlY3RlZEluZGV4OiAwXSBjb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sOjIzCitbPGh0bWw+LCA8aGVhZD4sIDxzY3JpcHQ+LCA8c2NyaXB0
PiwgPHNjcmlwdD4sIDxib2R5PiwgPHA+LCA8ZGl2PiwgPGZvcm0+LCA8c2VsZWN0PiwgPG9wdGlv
bj4sIDxvcHRpb24+LCA8aW5wdXQ+LCA8aW5wdXQ+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9u
cy5odG1sOjI3CitbPHNlbGVjdD4sIDxpbnB1dD4sIDxpbnB1dD5dIGNvbnNvbGUtZm9ybWF0LWNv
bGxlY3Rpb25zLmh0bWw6MzEKK1s8aW5wdXQ+LCA8aW5wdXQ+XSBjb25zb2xlLWZvcm1hdC1jb2xs
ZWN0aW9ucy5odG1sOjM1CitbMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25z
Lmh0bWw6NDEKK05vbkFycmF5V2l0aExlbmd0aCB7a2V5czogQXJyYXlbMF19IGNvbnNvbGUtZm9y
bWF0LWNvbGxlY3Rpb25zLmh0bWw6NDQKK1sxLCAiMiJdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rp
b25zLmh0bWw6NTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTE5M2E4ZWEyZGU1MzE5
OWE1M2E5MGZlOTI2MzY5MDA2ODcxYWMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEz
OSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IE1lc3NhZ2UgZm9ybWF0IG51bWJl
ciAlaSwgJWQgYW5kICVmCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IE1lc3NhZ2UgJXMgZm9y
ICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IE9iamVjdCAlbwotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIwOiB0ZXN0LHRlc3QyLCwsdGVzdDQsLCwsLAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDIxOiAlbwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiAlTwotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU0OiAvXnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98
XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUm
Ki1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA1NTogL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpfCg/Olsh
IyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9pCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTQ6IC9mb29cXGJhclxzYmF6L2kKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1
NTogL2Zvb1xcYmFyXHNiYXovaQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiB0ZXN0Ci1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTU6IHRlc3QKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogdGVz
dCBuYW1lZCAidGVzdCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogdGVzdCBuYW1lZCAidGVz
dCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogRXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA1NTogRXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogW29iamVjdCBIVE1MQm9keUVs
ZW1lbnRdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IFtvYmplY3QgSFRNTEJvZHlFbGVtZW50
XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9Ci1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA1NDogZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAg
ICB9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgcmV0
dXJuIDI7Ci0gICAgfQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiAwLjEyCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTU6IDAuMTIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogaHR0cDovL3dl
YmtpdC5vcmcvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IGh0dHA6Ly93ZWJraXQub3JnLwot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBudWxsCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6
IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiB1bmRlZmluZWQKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA1NTogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IFtvYmplY3QgQXR0cl0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA1NTogW29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDU0OiBbb2JqZWN0IEF0dHJdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IFtvYmplY3QgQXR0
cl0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogW29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDU1OiBbb2JqZWN0IEF0dHJdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IFtv
YmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBbb2JqZWN0IE9iamVjdF0K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogTmFOCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6
IE5hTgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBJbmZpbml0eQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiBJbmZpbml0eQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiAtSW5maW5pdHkK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogLUluZmluaXR5Ci1UZXN0cyB0aGF0IGNvbnNvbGUg
bG9nZ2luZyBkdW1wcyBwcm9wZXIgbWVzc2FnZXMuCi0KLU1lc3NhZ2UgZm9ybWF0IG51bWJlciAx
LCAyIGFuZCAzLjUgY29uc29sZS1mb3JtYXQuaHRtbDoxMgotTWVzc2FnZSBmb3JtYXQgZm9yIHN0
cmluZyBjb25zb2xlLWZvcm1hdC5odG1sOjEzCi1PYmplY3QgT2JqZWN0IGNvbnNvbGUtZm9ybWF0
Lmh0bWw6MTQKLVsidGVzdCIsICJ0ZXN0MiIsIHVuZGVmaW5lZCDDlyAyLCAidGVzdDQiLCB1bmRl
ZmluZWQgw5cgNV0gY29uc29sZS1mb3JtYXQuaHRtbDoyMAotWyJ0ZXN0IiwgInRlc3QyIiwgdW5k
ZWZpbmVkIMOXIDIsICJ0ZXN0NCIsIHVuZGVmaW5lZCDDlyA1XSBjb25zb2xlLWZvcm1hdC5odG1s
OjIxCi1BcnJheVsxMF0gY29uc29sZS1mb3JtYXQuaHRtbDoyMgotL151cmxcKFxzKig/Oig/OiIo
PzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtc
ZGEtZl17MSw2fVxzP3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKilccypcKS9pIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsvXnVybFwoXHMqKD86KD86
Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/Olxc
W1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqKVxzKlwpL2ldIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMF0KLS9e
dXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/
OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86
XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaQotL2Zvb1xcYmFyXHNiYXovaSBjb25zb2xl
LWZvcm1hdC5odG1sOjU0Ci1bL2Zvb1xcYmFyXHNiYXovaV0gY29uc29sZS1mb3JtYXQuaHRtbDo1
NQotZ2xvYmFsc1sxXQotL2Zvb1xcYmFyXHNiYXovaQotdGVzdCBjb25zb2xlLWZvcm1hdC5odG1s
OjU0Ci1bInRlc3QiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzJdCi0idGVzdCIK
LXRlc3QgbmFtZWQgInRlc3QiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsidGVzdCBuYW1lZCAi
dGVzdCIiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzNdCi0idGVzdCBuYW1lZCAi
dGVzdCIiCi1FcnJvciBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bRXJyb3JdIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTUKLWdsb2JhbHNbNF0KLUVycm9yCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj7i
gKY8L2JvZHk+IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVs8Ym9keSBvbmxvYWQ9Im9ubG9hZCgp
Ij7igKY8L2JvZHk+XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzVdCi08Ym9keSBv
bmxvYWQ9Im9ubG9hZCgpIj7igKY8L2JvZHk+Ci1mdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9IGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9XSBjb25zb2xl
LWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzZdCi1mdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9Ci1m
dW5jdGlvbiAoKSB7Ci0gICAgICAgIHJldHVybiAyOwotICAgIH0gY29uc29sZS1mb3JtYXQuaHRt
bDo1NAotW2Z1bmN0aW9uICgpIHsKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgfV0gY29uc29sZS1m
b3JtYXQuaHRtbDo1NQotZ2xvYmFsc1s3XQotZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4g
MjsKLSAgICB9Ci0wLjEyIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVswLjEyXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1Ci1nbG9iYWxzWzhdCi0wLjEyCi1odHRwOi8vd2Via2l0Lm9yZy8gY29uc29s
ZS1mb3JtYXQuaHRtbDo1NAotWyJodHRwOi8vd2Via2l0Lm9yZy8iXSBjb25zb2xlLWZvcm1hdC5o
dG1sOjU1Ci1nbG9iYWxzWzldCi0iaHR0cDovL3dlYmtpdC5vcmcvIgotbnVsbCBjb25zb2xlLWZv
cm1hdC5odG1sOjU0Ci1bbnVsbF0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxMF0K
LW51bGwKLXVuZGVmaW5lZCBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bdW5kZWZpbmVkXSBjb25z
b2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzExXQotdW5kZWZpbmVkCi1hdHRyPSIiIGNvbnNv
bGUtZm9ybWF0Lmh0bWw6NTQKLVthdHRyPSIiXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9i
YWxzWzEyXQotYXR0cj0iIgotYXR0cj0idmFsdWUiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVth
dHRyPSJ2YWx1ZSJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTNdCi1hdHRyPSJ2
YWx1ZSIKLWlkPSJ4IiBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1baWQ9IngiXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1Ci1nbG9iYWxzWzE0XQotaWQ9IngiCi1PYmplY3QgY29uc29sZS1mb3JtYXQu
aHRtbDo1NAotW09iamVjdF0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxNV0KLU9i
amVjdAotTmFOIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtOYU5dIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTUKLWdsb2JhbHNbMTZdCi1OYU4KLUluZmluaXR5IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQK
LVtJbmZpbml0eV0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxN10KLUluZmluaXR5
Ci0tSW5maW5pdHkgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotWy1JbmZpbml0eV0gY29uc29sZS1m
b3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxOF0KLS1JbmZpbml0eQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1k
b2N1bWVudC1wcm90by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50
eHQKaW5kZXggNTNhYTY0ZDM3NWRmYTExYmQ5NmU2YWQ5MWExNDVkYjYxZmIzYzJlZC4uOGRlMWE3
ZmRiM2RkMWUxNjE4NzU2NmI4NDMwMTYzYTBjZjk0NjgwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1l
bnQtcHJvdG8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBbb2JqZWN0IE9iamVj
dF0KLVRlc3QgdGhhdCBjb25zb2xlLmxvZyhkb2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3Vs
dCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGlu
c3BlY3Rvci5CdWcgMjcxNjkuCitUZXN0IHRoYXQgY29uc29sZS5kaXIoZG9jdW1lbnQuX19wcm90
b19fKSB3b24ndCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uIHdoZW4gdGhlIG1lc3NhZ2UgaXMgZm9y
bWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuQnVnIDI3MTY5LgogCiBIVE1MRG9jdW1lbnQgY29uc29s
ZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbDo2CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5l
bC1zd2l0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5z
cGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50
eHQKaW5kZXggMTdjNjMwZTFhZjQyMmMxN2RiNmM4YzFiOWMzYWE2YTAxODA2MDIwMS4uMTNlZWU0
YzMyZDZjOGJkNDYwNWVkNmExYjAwMzkwNzk3Yzg5NDllMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25z
LXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vaW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1l
eHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIFNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgogU2V0
IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgogV2F0Y2ggZXhwcmVzc2lvbnMgdXBkYXRlZC4KIFtl
eHBhbmRlZF0gIAotICAgIHdpbmRvdy5kb2N1bWVudDogSFRNTERvY3VtZW50CisgICAgd2luZG93
LmRvY3VtZW50OiAjZG9jdW1lbnQKICAgICB3aW5kb3dhLmRvY3VtZW50OiBSZWZlcmVuY2VFcnJv
cjogd2luZG93YSBpcyBub3QgZGVmaW5lZAogRGVidWdnZXIgd2FzIGRpc2FibGVkLgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMv
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzYzBmMGMzZWM3NDI3NDZl
MDNkOGRlMWI2YTg4NTA0NjY1NmRkYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2Vs
ZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTE1ICswLDAgQEAKLVRlc3RzIGV2ZW50IGxpc3RlbmVycyBvdXRwdXQgaW4gdGhlIEVs
ZW1lbnRzIHNpZGViYXIgcGFuZWwuCi0KLUluc3BlY3QgTWUKLQotPT09PT09PT0gY2xpY2sgPT09
PT09PT0KLVtleHBhbmRlZF0gZG9jdW1lbnQgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE5
Ci0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTkKLSAgICBsaXN0ZW5l
ckJvZHk6IGZ1bmN0aW9uIChldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAt
IGNhcHR1cmluZyIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTog
W2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1s
aXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRy
dWUKLVtleHBhbmRlZF0gZG9jdW1lbnQgKGFub255bW91cyBmdW5jdGlvbikKLSAgICBpc0F0dHJp
YnV0ZTogZmFsc2UKLSAgICBsaXN0ZW5lckJvZHk6IE9iamVjdEhhbmRsZXIKLSAgICBub2RlOiBI
VE1MRG9jdW1lbnQKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUKLVtleHBh
bmRlZF0gYnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE1Ci0gICAgaXNB
dHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTUKLSAgICBsaXN0ZW5lckJvZHk6IGZ1
bmN0aW9uIChldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0b24gLSBjYXB0dXJpbmci
KTsgfQotICAgIG5vZGU6IEhUTUxCdXR0b25FbGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBw
ZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5l
ci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUKLVtl
eHBhbmRlZF0gYnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjEyCi0gICAg
aXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTIKLSAgICBsaXN0ZW5lckJvZHk6
IGZ1bmN0aW9uIGNsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0
b24gLSBidWJibGluZyAocmVnaXN0ZXJlZCBiZWZvcmUgYXR0cmlidXRlKSIpOyB9Ci0gICAgbm9k
ZTogSFRNTEJ1dHRvbkVsZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0v
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLVtleHBhbmRlZF0gYnV0
dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE2Ci0gICAgaXNBdHRyaWJ1dGU6
IHRydWUKLSAgICBsaW5lTnVtYmVyOiAxNgotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2
ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAg
bm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVz
dF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLVtleHBhbmRlZF0g
YnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE3Ci0gICAgaXNBdHRyaWJ1
dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTcKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9u
IChldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0b24gLSBidWJibGluZyAocmVnaXN0
ZXJlZCBhZnRlciBhdHRyaWJ1dGUpIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAot
ICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAg
ICB1c2VDYXB0dXJlOiBmYWxzZQotW2V4cGFuZGVkXSBkb2N1bWVudCBldmVudC1saXN0ZW5lci1z
aWRlYmFyLmh0bWw6NgotICAgIGlzQXR0cmlidXRlOiB0cnVlCi0gICAgbGluZU51bWJlcjogNgot
ICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlja0hhbmRsZXIoZXZlbnQpIHsg
Y29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1dGUiKTsgfQotICAgIG5vZGU6
IEhUTUxEb2N1bWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAg
dHlwZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiBmYWxzZQotCi09PT09PT09PSBjdXN0b20gZXZl
bnQgPT09PT09PT0KLVtleHBhbmRlZF0gYm9keSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6
MTAKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxMAotICAgIGxpc3Rl
bmVyQm9keTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50Ci0gICAg
c291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjdXN0b20gZXZlbnQK
LSAgICB1c2VDYXB0dXJlOiB0cnVlCi0KLT09PT09PT09IGhvdmVyID09PT09PT09Ci1bZXhwYW5k
ZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxNAotICAgIGlzQXR0
cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDE0Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5j
dGlvbiBob3ZlckhhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImhvdmVyIC0gYnV0dG9uIC0g
YnViYmxpbmciKTsgfQotICAgIG5vZGU6IEhUTUxCdXR0b25FbGVtZW50Ci0gICAgc291cmNlTmFt
ZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVu
dC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBob3ZlcgotICAgIHVzZUNhcHR1cmU6
IGZhbHNlCi0KLT09PT09PT09IGNsaWNrID09PT09PT09Ci1bZXhwYW5kZWRdIGRvY3VtZW50IGV2
ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxOQotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAg
IGxpbmVOdW1iZXI6IDE5Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29u
c29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhU
TUxEb2N1bWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlw
ZTogY2xpY2sKLSAgICB1c2VDYXB0dXJlOiB0cnVlCi1bZXhwYW5kZWRdIGRvY3VtZW50IChhbm9u
eW1vdXMgZnVuY3Rpb24pCi0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGlzdGVuZXJCb2R5
OiBPYmplY3RIYW5kbGVyCi0gICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgdHlwZTogY2xpY2sK
LSAgICB1c2VDYXB0dXJlOiB0cnVlCi1bZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVy
LXNpZGViYXIuaHRtbDo2Ci0gICAgaXNBdHRyaWJ1dGU6IHRydWUKLSAgICBsaW5lTnVtYmVyOiA2
Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVudCkg
eyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9k
ZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAg
ICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi0KLT09PT09PT09IGN1c3RvbSBl
dmVudCA9PT09PT09PQotW2V4cGFuZGVkXSBib2R5IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bDoxMAotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpbmVOdW1iZXI6IDEwCi0gICAgbGlz
dGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQKLSAg
ICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGN1c3RvbSBldmVu
dAotICAgIHVzZUNhcHR1cmU6IHRydWUKLUxpc3RlbmVycyBmb3Igc2VsZWN0ZWQgbm9kZSBvbmx5
KHNob3VsZCBiZSBubyBsaXN0ZW5lcnMpOgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157228</attachid>
            <date>2012-08-08 08:37:59 -0700</date>
            <delta_ts>2012-08-08 09:33:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35801-20120808193732.patch</filename>
            <type>text/plain</type>
            <size>66003</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGUyNTRkMzBjNzBmYTg1
ZWM0MmY2NTNhNGFkMzJlZWVkMTkyOTllZi4uZDA1N2E4ZjRjZDU1MGZkZmM1ZWZmNzE1ZTMxYzI0
ZWU2NDgxNWQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY0IEBACiAyMDEyLTA4LTA4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25z
b2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXMgb2YgdG9kYXksIGR1bXBpbmcgYW4gb2JqZWN0IChhcnJheSkgaW50byBjb25z
b2xlIHdpbGwgcmVzdWx0IGluIG9iamVjdHMnIHByb3BlcnRpZXMgYmVpbmcKKyAgICAgICAgcmVh
ZCB1cG9uIGNvbnNvbGUgb2JqZWN0IGV4cGFuc2lvbiAoaS5lLiBsYXppbHkpLiBUaGlzIG1lYW5z
IHRoYXQgZHVtcGluZyB0aGUgc2FtZSBvYmplY3Qgd2hpbGUKKyAgICAgICAgbXV0YXRpbmcgaXQg
d2lsbCBiZSBoYXJkIHRvIGRlYnVnIHVzaW5nIHRoZSBjb25zb2xlLgorCisgICAgICAgIFRoaXMg
Y2hhbmdlIHN0YXJ0cyBnZW5lcmF0aW5nIGFiYnJldmlhdGVkIHByZXZpZXdzIGZvciBvYmplY3Rz
IC8gYXJyYXlzIGF0IHRoZSBtb21lbnQgb2YgdGhlaXIKKyAgICAgICAgbG9nZ2luZyBhbmQgcGFz
c2VzIHRoaXMgaW5mb3JtYXRpb24gYWxvbmcgaW50byB0aGUgZnJvbnQtZW5kLiBUaGlzIG9ubHkg
aGFwcGVucyB3aGVuIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaXMgYWxyZWFkeSBvcGVuZWQsIGl0
IG9ubHkgd29ya3MgZm9yIGNvbnNvbGUubG9nKCksIG5vdCBsaXZlIGNvbnNvbGUgaW50ZXJhY3Rp
b24uCisKKyAgICAgICAgQ292ZXJlZCBieSB0aGUgZXhpc3RpbmcgY29uc29sZSB0ZXN0cyArIGNv
bGxlY3Rpb25zIHRlc3QgaGFzIGJlZW4gZXhwYW5kZWQgdG8gY2FwdHVyZSBib3RoOiBwcmUgYW5k
IHBvc3QtCisgICAgICAgIGZyb250LWVuZCBvcGVuaW5nIHNjZW5hcmlvcy4KKworICAgICAgICAq
IGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xl
TWVzc2FnZTo6YWRkVG9Gcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmg6CisgICAgICAgIChDb25zb2xlTWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0Ojp3cmFw
T2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaDoKKyAgICAgICAg
KEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanM6CisgICAgICAgICguKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmVuYWJsZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVy
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9m
b3JtYXRQYXJhbWV0ZXJBc09iamVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9yT2JqZWN0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9hcHBlbmRP
YmplY3RQcmV2aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwu
cHJvdG90eXBlLl9mb3JtYXRQYXJhbWV0ZXJBc05vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX2Zvcm1hdFBhcmFtZXRlckFzQXJyYXkpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX3ByaW50
QXJyYXkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5
cGUuX2Zvcm1hdEFzQXJyYXlFbnRyeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0V2l0aFN1YnN0aXR1dGlvblN0cmluZyk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanM6CisgICAgICAgIChFbGVt
ZW50LnByb3RvdHlwZS5jcmVhdGVUZXh0Q2hpbGQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
T2JqZWN0UHJvcGVydGllc1NlY3Rpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1v
dGVPYmplY3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUuZ2V0IHByZXZpZXdQcm9wZXJ0aWVzKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanM6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoLmNvbnNvbGUtZ3JvdXAt
bWVzc2FnZXMgLnNlY3Rpb24gLmhlYWRlciAudGl0bGUpOgorICAgICAgICAoLnNlY3Rpb24gLmNv
bnNvbGUtZm9ybWF0dGVkLW5vZGUpOgorICAgICAgICAoLmNvbnNvbGUtb2JqZWN0LXByZXZpZXcp
OgorICAgICAgICAoLnNlY3Rpb24gLnByb3BlcnRpZXMgLm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVz
IC5uYW1lLCAuY29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IC5uYW1lKToKKworMjAxMi0wOC0wOCAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBzdG9yZSBsYXN0IGV2YWx1YXRpb24gcmVzdWx0IGluICRfCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzM3NwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCAwYWE5ODI4OTliYjY4NzA1MTQ5
ZjIwMGE0NzQyMzMxNjQ3MWMyYTIyLi44MDE3NTUzOTA3MGY3ZjMyMWNkZjk1ZGI1MThhOTNlYWVm
MDQzOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAK
QEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVN
ZXNzYWdlOjpMZXZlbDo6RW51bSBtZXNzYWdlTGV2ZWxWYWx1ZShNZXNzYQogICAgIHJldHVybiBU
eXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OkxldmVsOjpMb2c7CiB9CiAKLXZv
aWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNv
bGUqIGZyb250ZW5kLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdl
cikKK3ZvaWQgQ29uc29sZU1lc3NhZ2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6
OkNvbnNvbGUqIGZyb250ZW5kLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0
TWFuYWdlciwgYm9vbCBnZW5lcmF0ZVByZXZpZXcpCiB7CiAgICAgUmVmUHRyPFR5cGVCdWlsZGVy
OjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZT4ganNvbk9iaiA9IFR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZTo6Y3JlYXRlKCkKICAgICAgICAgLnNldFNvdXJjZShtZXNzYWdlU291
cmNlVmFsdWUobV9zb3VyY2UpKQpAQCAtMTUxLDcgKzE1MSw3IEBAIHZvaWQgQ29uc29sZU1lc3Nh
Z2U6OmFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqIGZyb250ZW5kLCBJ
bmplY3RlCiAgICAgICAgIGlmICghaW5qZWN0ZWRTY3JpcHQuaGFzTm9WYWx1ZSgpKSB7CiAgICAg
ICAgICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpSdW50aW1lOjpS
ZW1vdGVPYmplY3Q+ID4ganNvbkFyZ3MgPSBUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6
OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD46OmNyZWF0ZSgpOwogICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fYXJndW1lbnRzLT5hcmd1bWVudENvdW50KCk7ICsraSkgewotICAg
ICAgICAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBp
bnNwZWN0b3JWYWx1ZSA9IGluamVjdGVkU2NyaXB0LndyYXBPYmplY3QobV9hcmd1bWVudHMtPmFy
Z3VtZW50QXQoaSksICJjb25zb2xlIik7CisgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWls
ZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IGluc3BlY3RvclZhbHVlID0gaW5qZWN0ZWRTY3Jp
cHQud3JhcE9iamVjdChtX2FyZ3VtZW50cy0+YXJndW1lbnRBdChpKSwgImNvbnNvbGUiLCBnZW5l
cmF0ZVByZXZpZXcpOwogICAgICAgICAgICAgICAgIGlmICghaW5zcGVjdG9yVmFsdWUpIHsKICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5k
ZXggYmQxYWJmNTkzOWZiNDdhYTVhYzU4ODQ3NWMwOTk3MzYwNjAzMTQ5ZS4uNjQ2MWRiNzIwMjc5
YWJiOGQ2Y2ViMjhlZDZhOWU3NTA1N2ZlMTVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbSwgY29uc3QgU3RyaW5nJiByZXNwb25zZVVybCwgY29uc3QgU3RyaW5nJiByZXF1ZXN0
SWQpOwogICAgIH5Db25zb2xlTWVzc2FnZSgpOwogCi0gICAgdm9pZCBhZGRUb0Zyb250ZW5kKElu
c3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisgICAg
dm9pZCBhZGRUb0Zyb250ZW5kKEluc3BlY3RvckZyb250ZW5kOjpDb25zb2xlKiwgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKiwgYm9vbCBnZW5lcmF0ZVByZXZpZXcpOwogICAgIHZvaWQgdXBkYXRlUmVw
ZWF0Q291bnRJbkNvbnNvbGUoSW5zcGVjdG9yRnJvbnRlbmQ6OkNvbnNvbGUqKTsKICAgICB2b2lk
IGluY3JlbWVudENvdW50KCkgeyArK21fcmVwZWF0Q291bnQ7IH0KICAgICBib29sIGlzRXF1YWwo
Q29uc29sZU1lc3NhZ2UqIG1zZykgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmNwcAppbmRleCBhYTlhZGEyYTg1NGRhZWVmNjA3ZGI2YTI3ZDE4MzViNTNl
ZTRmNzQyLi41OTk2Njg4NjZkYWZlMzJmYjI1MWE3MDQ4NDMwNmM2YWY0ZGIyNjY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHAKQEAgLTE4MCwxMyArMTgw
LDE0IEBAIFBhc3NSZWZQdHI8QXJyYXk8Q2FsbEZyYW1lPiA+IEluamVjdGVkU2NyaXB0Ojp3cmFw
Q2FsbEZyYW1lcyhjb25zdCBTY3JpcHRWYWx1ZSYKIH0KICNlbmRpZgogCi1QYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IEluamVjdGVkU2NyaXB0Ojp3cmFwT2Jq
ZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUpIGNv
bnN0CitQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IEluamVj
dGVkU2NyaXB0Ojp3cmFwT2JqZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3Ry
aW5nJiBncm91cE5hbWUsIGJvb2wgZ2VuZXJhdGVQcmV2aWV3KSBjb25zdAogewogICAgIEFTU0VS
VCghaGFzTm9WYWx1ZSgpKTsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgd3JhcEZ1bmN0aW9uKGlu
amVjdGVkU2NyaXB0T2JqZWN0KCksICJ3cmFwT2JqZWN0Iik7CiAgICAgd3JhcEZ1bmN0aW9uLmFw
cGVuZEFyZ3VtZW50KHZhbHVlKTsKICAgICB3cmFwRnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoZ3Jv
dXBOYW1lKTsKICAgICB3cmFwRnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoY2FuQWNjZXNzSW5zcGVj
dGVkV2luZG93KCkpOworICAgIHdyYXBGdW5jdGlvbi5hcHBlbmRBcmd1bWVudChnZW5lcmF0ZVBy
ZXZpZXcpOwogICAgIGJvb2wgaGFkRXhjZXB0aW9uID0gZmFsc2U7CiAgICAgU2NyaXB0VmFsdWUg
ciA9IGNhbGxGdW5jdGlvbldpdGhFdmFsRW5hYmxlZCh3cmFwRnVuY3Rpb24sIGhhZEV4Y2VwdGlv
bik7CiAgICAgaWYgKGhhZEV4Y2VwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuaAppbmRleCBkYmIxYTIyYmQ2MGJlZjhkN2U3ZTQ5Y2Q0MmFkMDFjNGJjMzY0
MjI4Li40NDI3NDI3OGQ5ZDlhMGU4N2Y4YmFjYWUwMzEzZDFiZWE1NzY1ZjgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtODYsNyArODYsNyBAQCBwdWJs
aWM6CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OkRlYnVn
Z2VyOjpDYWxsRnJhbWU+ID4gd3JhcENhbGxGcmFtZXMoY29uc3QgU2NyaXB0VmFsdWUmKTsKICNl
bmRpZgogCi0gICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0
PiB3cmFwT2JqZWN0KGNvbnN0IFNjcmlwdFZhbHVlJiwgY29uc3QgU3RyaW5nJiBncm91cE5hbWUp
IGNvbnN0OworICAgIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4gd3JhcE9iamVjdChjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1l
LCBib29sIGdlbmVyYXRlUHJldmlldyA9IGZhbHNlKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+IHdyYXBOb2RlKE5vZGUqLCBjb25zdCBT
dHJpbmcmIGdyb3VwTmFtZSk7CiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6
UmVtb3RlT2JqZWN0PiB3cmFwU2VyaWFsaXplZE9iamVjdChTZXJpYWxpemVkU2NyaXB0VmFsdWUq
LCBjb25zdCBTdHJpbmcmIGdyb3VwTmFtZSkgY29uc3Q7CiAgICAgU2NyaXB0VmFsdWUgZmluZE9i
amVjdEJ5SWQoY29uc3QgU3RyaW5nJiBvYmplY3RJZCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKaW5kZXggMGY2OGY4MmU4MTg4
NDI0YTJkYWQwMTIzZTYzZDljNWUxOWI5YjVmMy4uYTMzMmQ2OWQ4NTljYWNmMGFmNTY0Mjk3MTNh
MGVlYmU1ZGNiODRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0U291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdFNvdXJjZS5qcwpAQCAtNzEsMTIgKzcxLDEzIEBAIEluamVjdGVkU2NyaXB0LnByb3Rv
dHlwZSA9IHsKICAgICAgKiBAcGFyYW0geyp9IG9iamVjdAogICAgICAqIEBwYXJhbSB7c3RyaW5n
fSBncm91cE5hbWUKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNhbkFjY2Vzc0luc3BlY3RlZFdp
bmRvdworICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ2VuZXJhdGVQcmV2aWV3CiAgICAgICogQHJl
dHVybiB7T2JqZWN0fQogICAgICAqLwotICAgIHdyYXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwg
Z3JvdXBOYW1lLCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3cpCisgICAgd3JhcE9iamVjdDogZnVu
Y3Rpb24ob2JqZWN0LCBncm91cE5hbWUsIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdywgZ2VuZXJh
dGVQcmV2aWV3KQogICAgIHsKICAgICAgICAgaWYgKGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdykK
LSAgICAgICAgICAgIHJldHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lKTsK
KyAgICAgICAgICAgIHJldHVybiB0aGlzLl93cmFwT2JqZWN0KG9iamVjdCwgZ3JvdXBOYW1lLCBm
YWxzZSwgZ2VuZXJhdGVQcmV2aWV3KTsKIAogICAgICAgICB2YXIgcmVzdWx0ID0ge307CiAgICAg
ICAgIHJlc3VsdC50eXBlID0gdHlwZW9mIG9iamVjdDsKQEAgLTEyOCwxMiArMTI5LDEzIEBAIElu
amVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0geyp9IG9iamVjdAogICAg
ICAqIEBwYXJhbSB7c3RyaW5nPX0gb2JqZWN0R3JvdXBOYW1lCiAgICAgICogQHBhcmFtIHtib29s
ZWFuPX0gZm9yY2VWYWx1ZVR5cGUKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBnZW5lcmF0ZVBy
ZXZpZXcKICAgICAgKiBAcmV0dXJuIHtJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3R9CiAgICAg
ICovCi0gICAgX3dyYXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lLCBm
b3JjZVZhbHVlVHlwZSkKKyAgICBfd3JhcE9iamVjdDogZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RH
cm91cE5hbWUsIGZvcmNlVmFsdWVUeXBlLCBnZW5lcmF0ZVByZXZpZXcpCiAgICAgewogICAgICAg
ICB0cnkgewotICAgICAgICAgICAgcmV0dXJuIG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmpl
Y3Qob2JqZWN0LCBvYmplY3RHcm91cE5hbWUsIGZvcmNlVmFsdWVUeXBlKTsKKyAgICAgICAgICAg
IHJldHVybiBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0KG9iamVjdCwgb2JqZWN0R3Jv
dXBOYW1lLCBmb3JjZVZhbHVlVHlwZSwgZ2VuZXJhdGVQcmV2aWV3KTsKICAgICAgICAgfSBjYXRj
aCAoZSkgewogICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICB2YXIgZGVzY3JpcHRp
b24gPSBpbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUoZSk7CkBAIC00MDQsNyArNDA2LDcgQEAgSW5q
ZWN0ZWRTY3JpcHQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdHJ5IHsKICAgICAgICAg
ICAgIHJldHVybiB7IHdhc1Rocm93bjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICByZXN1
bHQ6IHRoaXMuX3dyYXBPYmplY3QodGhpcy5fZXZhbHVhdGVPbihldmFsRnVuY3Rpb24sIG9iamVj
dCwgb2JqZWN0R3JvdXAsIGV4cHJlc3Npb24sIGlzRXZhbE9uQ2FsbEZyYW1lLCBpbmplY3RDb21t
YW5kTGluZUFQSSksIG9iamVjdEdyb3VwLCByZXR1cm5CeVZhbHVlKSB9OworICAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0OiB0aGlzLl93cmFwT2JqZWN0KHRoaXMuX2V2YWx1YXRlT24oZXZhbEZ1
bmN0aW9uLCBvYmplY3QsIG9iamVjdEdyb3VwLCBleHByZXNzaW9uLCBpc0V2YWxPbkNhbGxGcmFt
ZSwgaW5qZWN0Q29tbWFuZExpbmVBUEkpLCBvYmplY3RHcm91cCwgcmV0dXJuQnlWYWx1ZSwgZmFs
c2UpIH07CiAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9j
cmVhdGVUaHJvd25WYWx1ZShlLCBvYmplY3RHcm91cCk7CiAgICAgICAgIH0KQEAgLTYzNSw2ICs2
MzcsOSBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChzdWJ0eXBl
ID09PSAiZGF0ZSIpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdG9TdHJpbmcob2JqKTsKIAor
ICAgICAgICBpZiAoc3VidHlwZSA9PT0gIm5vZGUiKQorICAgICAgICAgICAgcmV0dXJuIG9iai5u
b2RlVHlwZSA9PT0gMSAvKiBOb2RlLkVMRU1FTlRfTk9ERSAqLyA/ICI8IiArIG9iai5ub2RlTmFt
ZS50b0xvd2VyQ2FzZSgpICsgIj4iIDogb2JqLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CisKICAg
ICAgICAgdmFyIGNsYXNzTmFtZSA9IEluamVjdGVkU2NyaXB0SG9zdC5pbnRlcm5hbENvbnN0cnVj
dG9yTmFtZShvYmopOwogICAgICAgICBpZiAoc3VidHlwZSA9PT0gImFycmF5IikgewogICAgICAg
ICAgICAgaWYgKHR5cGVvZiBvYmoubGVuZ3RoID09PSAibnVtYmVyIikKQEAgLTY3OCw4ICs2ODMs
OSBAQCB2YXIgaW5qZWN0ZWRTY3JpcHQgPSBuZXcgSW5qZWN0ZWRTY3JpcHQoKTsKICAqIEBwYXJh
bSB7Kn0gb2JqZWN0CiAgKiBAcGFyYW0ge3N0cmluZz19IG9iamVjdEdyb3VwTmFtZQogICogQHBh
cmFtIHtib29sZWFuPX0gZm9yY2VWYWx1ZVR5cGUKKyAqIEBwYXJhbSB7Ym9vbGVhbj19IGdlbmVy
YXRlUHJldmlldwogICovCi1JbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihv
YmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1ZVR5cGUpCitJbmplY3RlZFNjcmlwdC5S
ZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3VwTmFtZSwgZm9yY2VWYWx1
ZVR5cGUsIGdlbmVyYXRlUHJldmlldykKIHsKICAgICB0aGlzLnR5cGUgPSB0eXBlb2Ygb2JqZWN0
OwogICAgIGlmIChpbmplY3RlZFNjcmlwdC5pc1ByaW1pdGl2ZVZhbHVlKG9iamVjdCkgfHwgb2Jq
ZWN0ID09PSBudWxsIHx8IGZvcmNlVmFsdWVUeXBlKSB7CkBAIC02OTgsMTMgKzcwNCwxMDMgQEAg
SW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RHcm91
cE5hbWUsIGZvcmNlVmFsdWVUeXBlKQogICAgIH0KIAogICAgIHRoaXMub2JqZWN0SWQgPSBpbmpl
Y3RlZFNjcmlwdC5fYmluZChvYmplY3QsIG9iamVjdEdyb3VwTmFtZSk7Ci0gICAgdmFyIHN1YnR5
cGUgPSBpbmplY3RlZFNjcmlwdC5fc3VidHlwZShvYmplY3QpCisgICAgdmFyIHN1YnR5cGUgPSBp
bmplY3RlZFNjcmlwdC5fc3VidHlwZShvYmplY3QpOwogICAgIGlmIChzdWJ0eXBlKQogICAgICAg
ICB0aGlzLnN1YnR5cGUgPSBzdWJ0eXBlOwogICAgIHRoaXMuY2xhc3NOYW1lID0gSW5qZWN0ZWRT
Y3JpcHRIb3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iamVjdCk7CiAgICAgdGhpcy5kZXNj
cmlwdGlvbiA9IGluamVjdGVkU2NyaXB0Ll9kZXNjcmliZShvYmplY3QpOworCisgICAgaWYgKGdl
bmVyYXRlUHJldmlldyAmJiAodGhpcy50eXBlID09PSAib2JqZWN0IiB8fCBpbmplY3RlZFNjcmlw
dC5faXNIVE1MQWxsQ29sbGVjdGlvbihvYmplY3QpKSkKKyAgICAgICAgdGhpcy5wcmV2aWV3ID0g
dGhpcy5fZ2VuZXJhdGVQcmV2aWV3KC8qKiBAdHlwZSB7IU9iamVjdH0gKi8gb2JqZWN0KTsKIH0K
IAorSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0LnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0geyFPYmplY3R9IG9iamVjdAorICAgICAqLworICAgIF9nZW5lcmF0ZVByZXZp
ZXc6IGZ1bmN0aW9uKG9iamVjdCkKKyAgICB7CisgICAgICAgIHZhciBwcmV2aWV3ID0gW107Cisg
ICAgICAgIHZhciBpc0FycmF5ID0gdGhpcy5zdWJ0eXBlID09PSAiYXJyYXkiOworICAgICAgICB2
YXIgZWxlbWVudHNUb0R1bXAgPSBpc0FycmF5ID8gMTAwIDogNTsKKyAgCisgICAgICAgIHZhciBw
cm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0KTsKKyAgICAg
ICAgdmFyIGxvc3NsZXNzID0gdHJ1ZTsKKyAgICAgICAgdmFyIG92ZXJmbG93ID0gZmFsc2U7CisK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydHlO
YW1lcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChwcmV2aWV3Lmxlbmd0aCA+
PSBlbGVtZW50c1RvRHVtcCkgeworICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdyA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnR5TmFtZXNbaV07CisgICAgICAgICAgICAgICAgaWYg
KGlzQXJyYXkgJiYgbmFtZSA9PT0gImxlbmd0aCIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKG9iamVjdCwgbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKCEoInZh
bHVlIiBpbiBkZXNjcmlwdG9yKSB8fCAhZGVzY3JpcHRvci5lbnVtZXJhYmxlKSB7CisgICAgICAg
ICAgICAgICAgICAgIGxvc3NsZXNzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGRl
c2NyaXB0b3IudmFsdWU7CisgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHByZXZpZXcucHVzaChbbmFtZSwgIm51bGwiXSk7CisgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAg
ICAgICAgICBjb25zdCBtYXhMZW5ndGggPSAyMDsKKyAgICAgICAgICAgICAgICB2YXIgdHlwZSA9
IHR5cGVvZiB2YWx1ZTsKKworICAgICAgICAgICAgICAgIGlmIChJbmplY3RlZFNjcmlwdC5wcmlt
aXRpdmVUeXBlc1t0eXBlXSkgeworICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gInN0
cmluZyIgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICB2YWx1ZSA9IHRoaXMuX2FiYnJldmlhdGVTdHJpbmcodmFsdWUsIG1heExlbmd0aCwgdHJ1
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBsb3NzbGVzcyA9IGZhbHNlOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHByZXZpZXcucHVzaChbbmFtZSwgdHlw
ZSwgdmFsdWUgKyAiIl0pOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgCisgICAgICAgICAgICAgICAgbG9zc2xlc3MgPSBmYWxzZTsKKworICAg
ICAgICAgICAgICAgIGlmICh0eXBlID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIHZhciBzdWJ0eXBlID0gaW5qZWN0ZWRTY3Jp
cHQuX3N1YnR5cGUodmFsdWUpOworICAgICAgICAgICAgICAgIHByZXZpZXcucHVzaChbbmFtZSwg
dHlwZSwgdGhpcy5fYWJicmV2aWF0ZVN0cmluZyhpbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUodmFs
dWUpLCBtYXhMZW5ndGgpLCBzdWJ0eXBlXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoIXByZXZpZXcubGVuZ3RoKQorICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CisK
KyAgICAgICAgICAgIGlmICghbG9zc2xlc3MpCisgICAgICAgICAgICAgICAgcHJldmlldy5wdXNo
KCJsb3NzeSIpOworICAgICAgICAgICAgaWYgKG92ZXJmbG93KQorICAgICAgICAgICAgICAgIHBy
ZXZpZXcucHVzaCgib3ZlcmZsb3ciKTsKKyAgICAgICAgICAgIHJldHVybiBwcmV2aWV3OworICAg
ICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOworICAgICAg
ICB9CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcKKyAg
ICAgKiBAcGFyYW0ge251bWJlcn0gbWF4TGVuZ3RoCisgICAgICogQHBhcmFtIHtib29sZWFuPX0g
bWlkZGxlCisgICAgICogQHJldHVybnMKKyAgICAgKi8KKyAgICBfYWJicmV2aWF0ZVN0cmluZzog
ZnVuY3Rpb24oc3RyaW5nLCBtYXhMZW5ndGgsIG1pZGRsZSkKKyAgICB7CisgICAgICAgIGlmIChz
dHJpbmcubGVuZ3RoIDw9IG1heExlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiBzdHJpbmc7Cisg
ICAgICAgIGlmIChtaWRkbGUpIHsKKyAgICAgICAgICAgIHZhciBsZWZ0SGFsZiA9IG1heExlbmd0
aCA+PiAxOworICAgICAgICAgICAgdmFyIHJpZ2h0SGFsZiA9IG1heExlbmd0aCAtIGxlZnRIYWxm
IC0gMTsKKyAgICAgICAgICAgIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIGxlZnRIYWxmKSArICJc
dTIwMjYiICsgc3RyaW5nLnN1YnN0cihzdHJpbmcubGVuZ3RoIC0gcmlnaHRIYWxmLCByaWdodEhh
bGYpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIG1heExlbmd0
aCkgKyAiXHUyMDI2IjsKKyAgICB9Cit9CiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFt
IHtudW1iZXJ9IG9yZGluYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpp
bmRleCBjNjJjZTQzNWY5NmIzMTZiNTlkMjZmNzMxM2ExYmVlZWM2NDhjOTM5Li4xOWM4ODQxODMy
OTJjNTYzZTI2MmY5YjRlYmQwMTI1MWI2YzJkYWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCkBAIC00NTYsNyArNDU2LDggQEAKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJjbGFzc05hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0IGNsYXNzIChjb25zdHJ1Y3RvcikgbmFtZS4gU3BlY2lm
aWVkIGZvciA8Y29kZT5vYmplY3Q8L2NvZGU+IHR5cGUgdmFsdWVzIG9ubHkuIiB9LAogICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInZhbHVlIiwgInR5cGUiOiAiYW55IiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJlbW90ZSBvYmplY3QgdmFsdWUgKGluIGNhc2Ugb2Yg
cHJpbWl0aXZlIHZhbHVlcyBvciBKU09OIHZhbHVlcyBpZiBpdCB3YXMgcmVxdWVzdGVkKS4iIH0s
CiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGVzY3JpcHRpb24iLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiU3RyaW5nIHJlcHJlc2Vu
dGF0aW9uIG9mIHRoZSBvYmplY3QuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
Im9iamVjdElkIiwgIiRyZWYiOiAiUmVtb3RlT2JqZWN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVW5pcXVlIG9iamVjdCBpZGVudGlmaWVyIChmb3Igbm9uLXByaW1pdGl2
ZSB2YWx1ZXMpLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdElkIiwg
IiRyZWYiOiAiUmVtb3RlT2JqZWN0SWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiVW5pcXVlIG9iamVjdCBpZGVudGlmaWVyIChmb3Igbm9uLXByaW1pdGl2ZSB2YWx1ZXMpLiIg
fSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcmV2aWV3IiwgInR5cGUiOiAiYXJy
YXkiLCAiaXRlbXMiOiB7ICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJp
bmciIH0gfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlByZXZpZXcgb2JqZWN0
IGNvbnRhaW5pbmcgc29tZSBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0J3MgcHJvcGVydGllcy4iLCAi
aGlkZGVuIjogdHJ1ZSB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAKaW5kZXggMjcwYzRhZWEwM2IxZTE5N2VmMzI3OTQzNzM5ZDAyZTg2MTRkNzli
OC4uY2ExOTE4OTc0MjNkMGU1ZDVmMTc3NzMxYTAzNDcyMDM5MzdjNWNhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTgz
LDEyICs4MywxMiBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZW5hYmxlKEVycm9yU3Ry
aW5nKikKIAogICAgIGlmIChtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KSB7CiAgICAgICAg
IENvbnNvbGVNZXNzYWdlIGV4cGlyZWRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIFN0cmluZzo6Zm9ybWF0KCIlZCBjb25zb2xl
IG1lc3NhZ2VzIGFyZSBub3Qgc2hvd24uIiwgbV9leHBpcmVkQ29uc29sZU1lc3NhZ2VDb3VudCks
ICIiLCAwLCAiIik7Ci0gICAgICAgIGV4cGlyZWRNZXNzYWdlLmFkZFRvRnJvbnRlbmQobV9mcm9u
dGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpOworICAgICAgICBleHBpcmVkTWVzc2FnZS5h
ZGRUb0Zyb250ZW5kKG1fZnJvbnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBmYWxzZSk7
CiAgICAgfQogCiAgICAgc2l6ZV90IG1lc3NhZ2VDb3VudCA9IG1fY29uc29sZU1lc3NhZ2VzLnNp
emUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQotICAg
ICAgICBtX2NvbnNvbGVNZXNzYWdlc1tpXS0+YWRkVG9Gcm9udGVuZChtX2Zyb250ZW5kLCBtX2lu
amVjdGVkU2NyaXB0TWFuYWdlcik7CisgICAgICAgIG1fY29uc29sZU1lc3NhZ2VzW2ldLT5hZGRU
b0Zyb250ZW5kKG1fZnJvbnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBmYWxzZSk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKQEAg
LTI4MSw3ICsyODEsNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkQ29uc29sZU1l
c3NhZ2UoUGFzc093blB0cjxDb25zb2xlTWVzc2FnZT4gY29uc29sZQogICAgICAgICBtX3ByZXZp
b3VzTWVzc2FnZSA9IGNvbnNvbGVNZXNzYWdlLmdldCgpOwogICAgICAgICBtX2NvbnNvbGVNZXNz
YWdlcy5hcHBlbmQoY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBpZiAobV9mcm9udGVuZCAmJiBt
X3N0YXRlLT5nZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25zb2xlTWVzc2FnZXNFbmFi
bGVkKSkKLSAgICAgICAgICAgIG1fcHJldmlvdXNNZXNzYWdlLT5hZGRUb0Zyb250ZW5kKG1fZnJv
bnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKTsKKyAgICAgICAgICAgIG1fcHJldmlvdXNN
ZXNzYWdlLT5hZGRUb0Zyb250ZW5kKG1fZnJvbnRlbmQsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LCB0cnVlKTsKICAgICB9CiAKICAgICBpZiAoIW1fZnJvbnRlbmQgJiYgbV9jb25zb2xlTWVzc2Fn
ZXMuc2l6ZSgpID49IG1heGltdW1Db25zb2xlTWVzc2FnZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCmluZGV4IDQ5ZGJj
ZWIwOWY0OGY2MTMzMmRlMDg5NDEzODU4ZmNjNTU4NTk3MTQuLjEwNTQwYjExNmRmNTI4OGQ5M2Q3
NTc4ZjJiNGNkMDRjYTdlYzA5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwpAQCAtMjI1LDcgKzIyNSw3IEBAIFdlYklu
c3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYg
KHNob3VsZEZvcm1hdE1lc3NhZ2UgJiYgcGFyYW1ldGVyc1tpXS50eXBlID09PSAic3RyaW5nIikK
ICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRSZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUocGFyYW1ldGVyc1tpXS5kZXNjcmlwdGlvbikpOwogICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIGZvcm1hdHRlZFJlc3VsdC5hcHBlbmRDaGlsZCh0aGlzLl9mb3Jt
YXRQYXJhbWV0ZXIocGFyYW1ldGVyc1tpXSkpOworICAgICAgICAgICAgICAgIGZvcm1hdHRlZFJl
c3VsdC5hcHBlbmRDaGlsZCh0aGlzLl9mb3JtYXRQYXJhbWV0ZXIocGFyYW1ldGVyc1tpXSwgZmFs
c2UsIHRydWUpKTsKICAgICAgICAgICAgIGlmIChpIDwgcGFyYW1ldGVycy5sZW5ndGggLSAxKQog
ICAgICAgICAgICAgICAgIGZvcm1hdHRlZFJlc3VsdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiICIpKTsKICAgICAgICAgfQpAQCAtMjM0LDggKzIzNCw5IEBAIFdlYkluc3Bl
Y3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogCiAgICAgLyoqCiAgICAgICog
QHBhcmFtIHtib29sZWFuPX0gZm9yY2VPYmplY3RGb3JtYXQKKyAgICAgKiBAcGFyYW0ge2Jvb2xl
YW49fSBpbmNsdWRlUHJldmlldwogICAgICAqLwotICAgIF9mb3JtYXRQYXJhbWV0ZXI6IGZ1bmN0
aW9uKG91dHB1dCwgZm9yY2VPYmplY3RGb3JtYXQpCisgICAgX2Zvcm1hdFBhcmFtZXRlcjogZnVu
Y3Rpb24ob3V0cHV0LCBmb3JjZU9iamVjdEZvcm1hdCwgaW5jbHVkZVByZXZpZXcpCiAgICAgewog
ICAgICAgICB2YXIgdHlwZTsKICAgICAgICAgaWYgKGZvcmNlT2JqZWN0Rm9ybWF0KQpAQCAtMjUz
LDcgKzI1NCw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0g
ewogCiAgICAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwog
ICAgICAgICBzcGFuLmNsYXNzTmFtZSA9ICJjb25zb2xlLWZvcm1hdHRlZC0iICsgdHlwZSArICIg
c291cmNlLWNvZGUiOwotICAgICAgICBmb3JtYXR0ZXIuY2FsbCh0aGlzLCBvdXRwdXQsIHNwYW4p
OworICAgICAgICBmb3JtYXR0ZXIuY2FsbCh0aGlzLCBvdXRwdXQsIHNwYW4sIGluY2x1ZGVQcmV2
aWV3KTsKICAgICAgICAgcmV0dXJuIHNwYW47CiAgICAgfSwKIApAQCAtMjYyLDEzICsyNjMsOTYg
QEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGVsZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodmFsKSk7CiAgICAgfSwK
IAotICAgIF9mb3JtYXRQYXJhbWV0ZXJBc09iamVjdDogZnVuY3Rpb24ob2JqLCBlbGVtKQorICAg
IF9mb3JtYXRQYXJhbWV0ZXJBc09iamVjdDogZnVuY3Rpb24ob2JqLCBlbGVtLCBpbmNsdWRlUHJl
dmlldykKICAgICB7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5PYmpl
Y3RQcm9wZXJ0aWVzU2VjdGlvbihvYmosIG9iai5kZXNjcmlwdGlvbik7CisgICAgICAgIHRoaXMu
X2Zvcm1hdFBhcmFtZXRlckFzQXJyYXlPck9iamVjdChvYmosIG9iai5kZXNjcmlwdGlvbiwgZWxl
bSwgaW5jbHVkZVByZXZpZXcpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5SZW1vdGVPYmplY3R9IG9iagorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNj
cmlwdGlvbgorICAgICAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbQorICAgICAqIEBwYXJhbSB7Ym9v
bGVhbn0gaW5jbHVkZVByZXZpZXcKKyAgICAgKi8KKyAgICBfZm9ybWF0UGFyYW1ldGVyQXNBcnJh
eU9yT2JqZWN0OiBmdW5jdGlvbihvYmosIGRlc2NyaXB0aW9uLCBlbGVtLCBpbmNsdWRlUHJldmll
dykKKyAgICB7CisgICAgICAgIHZhciB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIik7CisgICAgICAgIGlmIChkZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHRpdGxl
RWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQoZGVzY3JpcHRpb24pOworICAgICAgICBpZiAoaW5jbHVk
ZVByZXZpZXcgJiYgb2JqLnByZXZpZXdQcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICB0aXRsZUVs
ZW1lbnQuYWRkU3R5bGVDbGFzcygiY29uc29sZS1vYmplY3QtcHJldmlldyIpOworICAgICAgICAg
ICAgdmFyIGxvc3NsZXNzID0gdGhpcy5fYXBwZW5kT2JqZWN0UHJldmlldyhvYmosIGRlc2NyaXB0
aW9uLCB0aXRsZUVsZW1lbnQpOworICAgICAgICAgICAgaWYgKGxvc3NsZXNzKSB7CisgICAgICAg
ICAgICAgICAgZWxlbS5hcHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpOworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB2YXIgc2VjdGlvbiA9
IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ob2JqLCB0aXRsZUVsZW1l
bnQpOwogICAgICAgICBzZWN0aW9uLmVuYWJsZUNvbnRleHRNZW51KCk7CiAgICAgICAgIGVsZW0u
YXBwZW5kQ2hpbGQoc2VjdGlvbi5lbGVtZW50KTsKICAgICB9LAogCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0fSBvYmoKKyAgICAgKiBAcGFyYW0ge3N0
cmluZ30gZGVzY3JpcHRpb24KKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IHRpdGxlRWxlbWVudAor
ICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWZmIHByZXZpZXcgY2FwdHVyZWQgYWxsIGlu
Zm9ybWF0aW9uLgorICAgICAqLworICAgIF9hcHBlbmRPYmplY3RQcmV2aWV3OiBmdW5jdGlvbihv
YmosIGRlc2NyaXB0aW9uLCB0aXRsZUVsZW1lbnQpCisgICAgeworICAgICAgICB2YXIgcHJldmll
dyA9IG9iai5wcmV2aWV3UHJvcGVydGllczsKKyAgICAgICAgdmFyIGlzTG9zc2xlc3NQcmV2aWV3
ID0gdHJ1ZTsKKyAgICAgICAgdmFyIGlzQXJyYXkgPSBvYmouc3VidHlwZSA9PT0gImFycmF5IjsK
KworICAgICAgICBpZiAoZGVzY3JpcHRpb24pCisgICAgICAgICAgICB0aXRsZUVsZW1lbnQuY3Jl
YXRlVGV4dENoaWxkKCIgIik7CisgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVUZXh0Q2hpbGQo
aXNBcnJheSA/ICJbIiA6ICJ7Iik7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldmll
dy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gcHJldmlld1tpXTsK
KyAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gImxvc3N5IikgeworICAgICAgICAgICAgICAg
IGlzTG9zc2xlc3NQcmV2aWV3ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJvdmVyZmxvdyIpIHsK
KyAgICAgICAgICAgICAgICB0aXRsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoInNwYW4iKS50ZXh0Q29u
dGVudCA9ICJcdTIwMjYiOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICB2YXIgbmFtZSA9IHByb3BlcnR5WzBdOworICAgICAgICAgICAgdmFyIHR5
cGUgPSBwcm9wZXJ0eVsxXTsKKyAgICAgICAgICAgIHZhciB2YWx1ZSA9IHByb3BlcnR5WzJdOwor
CisgICAgICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICAgICAgdGl0bGVFbGVtZW50LmNy
ZWF0ZVRleHRDaGlsZCgiLCAiKTsKKworICAgICAgICAgICAgaWYgKCFpc0FycmF5IHx8IG5hbWUg
IT0gaSkgeworICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIs
ICJuYW1lIikudGV4dENvbnRlbnQgPSBuYW1lOworICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVu
dC5jcmVhdGVUZXh0Q2hpbGQoIjogIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHZh
ciBzcGFuID0gdGl0bGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFuIiwgImNvbnNvbGUtZm9ybWF0
dGVkLSIgKyB0eXBlKTsKKyAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICAgICAg
Y2FzZSAib2JqZWN0IjoKKyAgICAgICAgICAgICAgICB2YXIgc3VidHlwZSA9IHByb3BlcnR5WzNd
OworICAgICAgICAgICAgICAgIGlmIChzdWJ0eXBlID09PSAibm9kZSIpCisgICAgICAgICAgICAg
ICAgICAgIHNwYW4uYWRkU3R5bGVDbGFzcygiY29uc29sZS1mb3JtYXR0ZWQtcHJldmlldy1ub2Rl
Iik7CisgICAgICAgICAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9IHZhbHVlOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAic3RyaW5nIjoKKyAgICAgICAgICAgICAg
ICBzcGFuLnRleHRDb250ZW50ID0gIlwiIiArIHZhbHVlLnJlcGxhY2UoL1xuL2csICJcdTIxQjUi
KSArICJcIiI7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICJudWxs
IjoKKyAgICAgICAgICAgIGNhc2UgInVuZGVmaW5lZCI6CisgICAgICAgICAgICAgICAgc3Bhbi50
ZXh0Q29udGVudCA9IHR5cGU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBTdHJpbmcodmFsdWUp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRpdGxlRWxlbWVudC5jcmVhdGVU
ZXh0Q2hpbGQoaXNBcnJheSA/ICJdIiA6ICJ9Iik7CisgICAgICAgIHJldHVybiBpc0xvc3NsZXNz
UHJldmlldzsKKyAgICB9LAorCiAgICAgX2Zvcm1hdFBhcmFtZXRlckFzTm9kZTogZnVuY3Rpb24o
b2JqZWN0LCBlbGVtKQogICAgIHsKICAgICAgICAgZnVuY3Rpb24gcHJpbnROb2RlKG5vZGVJZCkK
QEAgLTI3Niw3ICszNjAsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGlmICghbm9kZUlkKSB7CiAgICAgICAgICAgICAgICAgLy8g
U29tZXRpbWVzIERPTSBpcyBsb2FkZWQgYWZ0ZXIgdGhlIHN5bmMgbWVzc2FnZSBpcyBiZWluZyBm
b3JtYXR0ZWQsIHNvIHdlIGdldCBubwogICAgICAgICAgICAgICAgIC8vIG5vZGVJZCBoZXJlLiBT
byB3ZSBmYWxsIGJhY2sgdG8gb2JqZWN0IGZvcm1hdHRpbmcgaGVyZS4KLSAgICAgICAgICAgICAg
ICB0aGlzLl9mb3JtYXRQYXJhbWV0ZXJBc09iamVjdChvYmplY3QsIGVsZW0pOworICAgICAgICAg
ICAgICAgIHRoaXMuX2Zvcm1hdFBhcmFtZXRlckFzT2JqZWN0KG9iamVjdCwgZWxlbSwgZmFsc2Up
OwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHZh
ciB0cmVlT3V0bGluZSA9IG5ldyBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZShmYWxz
ZSwgZmFsc2UsIHRydWUpOwpAQCAtMjkzLDYgKzM3NywxMSBAQCBXZWJJbnNwZWN0b3IuQ29uc29s
ZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAogICAgIF9mb3JtYXRQYXJhbWV0ZXJBc0FycmF5
OiBmdW5jdGlvbihhcnJheSwgZWxlbSkKICAgICB7CisgICAgICAgIGlmIChhcnJheS5wcmV2aWV3
UHJvcGVydGllcykgeworICAgICAgICAgICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNBcnJheU9y
T2JqZWN0KGFycmF5LCAiIiwgZWxlbSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKwogICAgICAgICBjb25zdCBtYXhGbGF0QXJyYXlMZW5ndGggPSAxMDA7CiAgICAgICAg
IGlmIChhcnJheS5hcnJheUxlbmd0aCgpID4gbWF4RmxhdEFycmF5TGVuZ3RoKQogICAgICAgICAg
ICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNPYmplY3QoYXJyYXksIGVsZW0pOwpAQCAtMzUyLDcg
KzQ0MSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgbGFzdE5vbkVtcHR5SW5kZXggPSBpOwogICAgICAgICAgICAgaWYgKGkgPCBs
ZW5ndGggLSAxKQogICAgICAgICAgICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoIiwgIikpOwotICAgICAgICB9ICAgICAgIAorICAgICAgICB9CiAgICAgICAg
IGFwcGVuZFVuZGVmaW5lZChlbGVtLCBsZW5ndGgpOwogCiAgICAgICAgIGVsZW0uYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIl0iKSk7CkBAIC0zNjEsNyArNDUwLDcgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAgICAgX2Zvcm1hdEFz
QXJyYXlFbnRyeTogZnVuY3Rpb24ob3V0cHV0KQogICAgIHsKICAgICAgICAgLy8gUHJldmVudCBp
bmZpbml0ZSBleHBhbnNpb24gb2YgY3Jvc3MtcmVmZXJlbmNpbmcgYXJyYXlzLgotICAgICAgICBy
ZXR1cm4gdGhpcy5fZm9ybWF0UGFyYW1ldGVyKG91dHB1dCwgb3V0cHV0LnN1YnR5cGUgJiYgb3V0
cHV0LnN1YnR5cGUgPT09ICJhcnJheSIpOworICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0UGFy
YW1ldGVyKG91dHB1dCwgb3V0cHV0LnN1YnR5cGUgJiYgb3V0cHV0LnN1YnR5cGUgPT09ICJhcnJh
eSIsIGZhbHNlKTsKICAgICB9LAogCiAgICAgX2Zvcm1hdFdpdGhTdWJzdGl0dXRpb25TdHJpbmc6
IGZ1bmN0aW9uKHBhcmFtZXRlcnMsIGZvcm1hdHRlZFJlc3VsdCkKQEAgLTM3MCw3ICs0NTksNyBA
QCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICBmdW5jdGlvbiBwYXJhbWV0ZXJGb3JtYXR0ZXIoZm9yY2UsIG9iaikKICAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFBhcmFtZXRlcihvYmosIGZvcmNlKTsKKyAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRQYXJhbWV0ZXIob2JqLCBmb3JjZSwgZmFsc2UpOwog
ICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdmFsdWVGb3JtYXR0ZXIob2JqKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcwppbmRl
eCBiZWMxNDcwZDhiMDJmZTliZDE2OTNhYWM2NGMxNjM4ZWNhYTM3M2U0Li4zZTU5MjY0MDljY2M5
MmVmYmY0OTYyN2Q1ODRjMjZmZjZhOWIwZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcwpAQCAtMjUzLDYgKzI1MywxOCBAQCBF
bGVtZW50LnByb3RvdHlwZS5jcmVhdGVDaGlsZCA9IGZ1bmN0aW9uKGVsZW1lbnROYW1lLCBjbGFz
c05hbWUpCiBEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5jcmVhdGVDaGlsZCA9IEVsZW1lbnQu
cHJvdG90eXBlLmNyZWF0ZUNoaWxkOwogCiAvKioKKyAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0Cisg
Ki8KK0VsZW1lbnQucHJvdG90eXBlLmNyZWF0ZVRleHRDaGlsZCA9IGZ1bmN0aW9uKHRleHQpCit7
CisgICAgdmFyIGVsZW1lbnQgPSB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4
dCk7CisgICAgdGhpcy5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICByZXR1cm4gZWxlbWVudDsK
K30KKworRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUuY3JlYXRlVGV4dENoaWxkID0gRWxlbWVu
dC5wcm90b3R5cGUuY3JlYXRlVGV4dENoaWxkOworCisvKioKICAqIEByZXR1cm4ge251bWJlcn0K
ICAqLwogRWxlbWVudC5wcm90b3R5cGUudG90YWxPZmZzZXRMZWZ0ID0gZnVuY3Rpb24oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0
UHJvcGVydGllc1NlY3Rpb24uanMKaW5kZXggOWExODJhNTk4OWFiMDFlN2M3NDg4NGNiYWYxNTlk
Y2MxYzk5OGU4ZS4uOTllNzU3ZjI0MWIyNWVmZTEwOWIxMDVjMjJiMTNhMmFjYzQzMjIxNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09i
amVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC0yOCw3ICsyOCw3IEBACiAgKiBAY29uc3RydWN0
b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb259CiAgKiBAcGFy
YW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Q9fSBvYmplY3QKLSAqIEBwYXJhbSB7c3RyaW5n
PX0gdGl0bGUKKyAqIEBwYXJhbSB7c3RyaW5nfEVsZW1lbnQ9fSB0aXRsZQogICogQHBhcmFtIHtz
dHJpbmc9fSBzdWJ0aXRsZQogICogQHBhcmFtIHtzdHJpbmc9fSBlbXB0eVBsYWNlaG9sZGVyCiAg
KiBAcGFyYW0ge2Jvb2xlYW49fSBpZ25vcmVIYXNPd25Qcm9wZXJ0eQpAQCAtNDUsNyArNDUsNyBA
QCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24gPSBmdW5jdGlvbihvYmplY3Qs
IHRpdGxlLCBzdWJ0aXRsZSwgZW1wdHlQbAogICAgIHRoaXMuZWRpdGFibGUgPSB0cnVlOwogICAg
IHRoaXMuc2tpcFByb3RvID0gZmFsc2U7CiAKLSAgICBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1Nl
Y3Rpb24uY2FsbCh0aGlzLCB0aXRsZSwgc3VidGl0bGUpOworICAgIFdlYkluc3BlY3Rvci5Qcm9w
ZXJ0aWVzU2VjdGlvbi5jYWxsKHRoaXMsIHRpdGxlIHx8ICIiLCBzdWJ0aXRsZSk7CiB9CiAKIFdl
Ykluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5fYXJyYXlMb2FkVGhyZXNob2xkID0g
MTAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9w
ZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJv
cGVydGllc1NlY3Rpb24uanMKaW5kZXggMDYxMWIxNDNhNmY1MTMxMTIyOTc1NTEwYzU3NjIwYmRh
MTZiMDMzMi4uNGY3NjBlNjhlMDE1MWM4OWY4MjBiOGJjOTg0ZTViOTVjNDg2MDNiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlv
bi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNT
ZWN0aW9uLmpzCkBAIC0zMCw2ICszMCw3IEBACiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4
dGVuZHMge1dlYkluc3BlY3Rvci5TZWN0aW9ufQorICogQHBhcmFtIHtzdHJpbmd8RWxlbWVudH0g
dGl0bGUKICAqIEBwYXJhbSB7c3RyaW5nPX0gc3VidGl0bGUKICAqLwogV2ViSW5zcGVjdG9yLlBy
b3BlcnRpZXNTZWN0aW9uID0gZnVuY3Rpb24odGl0bGUsIHN1YnRpdGxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwppbmRleCAzZjMy
OGVjMGIwM2QzOTgxMjc1ZjA1OWZiMjIyNDVkOTM3MjkwNmIxLi5kZGRlMmM3MmEwMDA3MGYzNDk1
Nzc5Yjg5MDc0MzFhNWI4MjViNDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwpAQCAtMzUsOCArMzUsOSBAQAogICogQHBhcmFt
IHtzdHJpbmd8dW5kZWZpbmVkfSBzdWJ0eXBlCiAgKiBAcGFyYW0geyp9IHZhbHVlCiAgKiBAcGFy
YW0ge3N0cmluZz19IGRlc2NyaXB0aW9uCisgKiBAcGFyYW0ge0FycmF5PX0gcHJldmlld1Byb3Bl
cnRpZXMKICAqLwotV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdCA9IGZ1bmN0aW9uKG9iamVjdElk
LCB0eXBlLCBzdWJ0eXBlLCB2YWx1ZSwgZGVzY3JpcHRpb24pCitXZWJJbnNwZWN0b3IuUmVtb3Rl
T2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0SWQsIHR5cGUsIHN1YnR5cGUsIHZhbHVlLCBkZXNjcmlw
dGlvbiwgcHJldmlld1Byb3BlcnRpZXMpCiB7CiAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CiAgICAg
dGhpcy5fc3VidHlwZSA9IHN1YnR5cGU7CkBAIC00NSw2ICs0Niw3IEBAIFdlYkluc3BlY3Rvci5S
ZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3RJZCwgdHlwZSwgc3VidHlwZSwgdmFsdWUsIGRl
c2NyaXB0aW9uCiAgICAgICAgIHRoaXMuX29iamVjdElkID0gb2JqZWN0SWQ7CiAgICAgICAgIHRo
aXMuX2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247CiAgICAgICAgIHRoaXMuX2hhc0NoaWxkcmVu
ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fcHJldmlld1Byb3BlcnRpZXMgPSBwcmV2aWV3UHJvcGVy
dGllczsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBQcmltaXRpdmUgb3IgbnVsbCBvYmplY3Qu
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGUgIT09ICJvYmplY3QiIHx8IHZhbHVlID09PSBu
dWxsKTsKQEAgLTEwNCw3ICsxMDYsNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Q
YXlsb2FkID0gZnVuY3Rpb24ocGF5bG9hZCkKIHsKICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2Yg
cGF5bG9hZCA9PT0gIm9iamVjdCIsICJSZW1vdGUgb2JqZWN0IHBheWxvYWQgc2hvdWxkIG9ubHkg
YmUgYW4gb2JqZWN0Iik7CiAKLSAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QocGF5bG9hZC5vYmplY3RJZCwgcGF5bG9hZC50eXBlLCBwYXlsb2FkLnN1YnR5cGUsIHBheWxv
YWQudmFsdWUsIHBheWxvYWQuZGVzY3JpcHRpb24pOworICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdChwYXlsb2FkLm9iamVjdElkLCBwYXlsb2FkLnR5cGUsIHBheWxvYWQu
c3VidHlwZSwgcGF5bG9hZC52YWx1ZSwgcGF5bG9hZC5kZXNjcmlwdGlvbiwgcGF5bG9hZC5wcmV2
aWV3KTsKIH0KIAogLyoqCkBAIC0xNTQsNiArMTU2LDEyIEBAIFdlYkluc3BlY3Rvci5SZW1vdGVP
YmplY3QucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5faGFzQ2hpbGRyZW47CiAg
ICAgfSwKIAorICAgIC8qKiBAcmV0dXJuIHtBcnJheXx1bmRlZmluZWR9ICovCisgICAgZ2V0IHBy
ZXZpZXdQcm9wZXJ0aWVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9wcmV2aWV3UHJv
cGVydGllczsKKyAgICB9LAorCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJh
eS48V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5Pil9IGNhbGxiYWNrCiAgICAgICov
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24u
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlY3Rpb24uanMKaW5kZXgg
MDA3MDk2NDkxN2E4OWQ1NDNkN2E0OWE3MDViMWVjODEyZTg1Y2ExZS4uZWY3ZjFlZTUyZWZmOGEy
ZjNjOGRjMjM4NjdjYmMxODE1ZDhiZDA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2VjdGlvbi5qcwpAQCAtMjksNiArMjksNyBAQAogCiAvKioKICAqIEBjb25z
dHJ1Y3RvcgorICogQHBhcmFtIHtzdHJpbmd8RWxlbWVudH0gdGl0bGUKICAqIEBwYXJhbSB7c3Ry
aW5nPX0gc3VidGl0bGUKICAqLwogV2ViSW5zcGVjdG9yLlNlY3Rpb24gPSBmdW5jdGlvbih0aXRs
ZSwgc3VidGl0bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MKaW5kZXggOWJjOWY1N2UxMGQzOGQ4ZDc0Zjc4MjcxNzViN2M1NzA4MjIzNDY2
NC4uMzkxMTZlNmE5MTIwYmIwZjFkYzI3YWM3MTJiYTUwMDlmNjcwY2NmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMTAyNSw2
ICsxMDI1LDcgQEAgYm9keS5wbGF0Zm9ybS1saW51eCAubW9ub3NwYWNlLCBib2R5LnBsYXRmb3Jt
LWxpbnV4IC5zb3VyY2UtY29kZSB7CiAuY29uc29sZS1ncm91cC1tZXNzYWdlcyAuc2VjdGlvbiAu
aGVhZGVyIC50aXRsZSB7CiAgICAgY29sb3I6IGJsYWNrOwogICAgIGZvbnQtd2VpZ2h0OiBub3Jt
YWw7CisgICAgbGluZS1oZWlnaHQ6IDEzcHg7CiB9CiAKIC5jb25zb2xlLWdyb3VwLW1lc3NhZ2Vz
IC5zZWN0aW9uIC5wcm9wZXJ0aWVzIGxpIC5pbmZvIHsKQEAgLTEwODcsNiArMTA4OCwxNSBAQCBi
b2R5LnBsYXRmb3JtLWxpbnV4IC5tb25vc3BhY2UsIGJvZHkucGxhdGZvcm0tbGludXggLnNvdXJj
ZS1jb2RlIHsKICAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogfQogCisuY29uc29sZS1m
b3JtYXR0ZWQtcHJldmlldy1ub2RlLAorLnNlY3Rpb24gLmNvbnNvbGUtZm9ybWF0dGVkLW5vZGUg
eworICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4KTsKK30KKworLmNvbnNvbGUtb2JqZWN0LXBy
ZXZpZXcgeworICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKK30KKwogLmVycm9yLW1lc3NhZ2Ugewog
ICAgIGNvbG9yOiByZWQ7CiB9CkBAIC0xNTgwLDcgKzE1OTAsNyBAQCBsaS5lZGl0aW5nIC5zd2F0
Y2gsIGxpLmVkaXRpbmcgLmVuYWJsZWQtYnV0dG9uLCAgbGkuZWRpdGluZy1zdWItcGFydCAuZGVs
ZXRlLWJ1dAogICAgIGRpc3BsYXk6IGlubGluZTsKIH0KIAotLnNlY3Rpb24gLnByb3BlcnRpZXMg
Lm5hbWUsIC5ldmVudC1wcm9wZXJ0aWVzIC5uYW1lIHsKKy5zZWN0aW9uIC5wcm9wZXJ0aWVzIC5u
YW1lLCAuZXZlbnQtcHJvcGVydGllcyAubmFtZSwgLmNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCAu
bmFtZSB7CiAgICAgY29sb3I6IHJnYigxMzYsIDE5LCAxNDUpOwogfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzQ3MGE3
MzdlYzhlMzE5MWU4YmI5Y2FlMmZjNWYxNzVhMTk1OWJkNS4uMmRhYTc4OThmM2MwNGRlZmQ0NDY5
N2E0NWMwMzJhMDM1NjI4OWYzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEyLTA4LTA4ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGdlbmVyYXRlIHByZXZpZXcgZm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBj
b25zb2xlIHVwb24gbG9nZ2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3Qt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xv
YmFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2
YWwtZ2xvYmFsLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3Jt
YXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xl
L2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtZm9ybWF0Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwt
c3dpdGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQt
bGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1l
bnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29s
ZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kZWJ1
Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1z
aWRlYmFyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKworMjAxMi0wOC0wOCAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzdG9y
ZSBsYXN0IGV2YWx1YXRpb24gcmVzdWx0IGluICRfCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzM3NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4
cGVjdGVkLnR4dAppbmRleCAwNzJmZDFlMjU5MWJlMDUzZWU5YWYzOGUzZjFjOGVlMjU5OTI1OTk2
Li5lMjg4YjkzMjU3ZDVhMmE1YjVkNTcyYmFhNjQxY2RkMmVkYzczZDFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWluc3BlY3QtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGlu
ZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFRlc3RzIHRoYXQgaW5z
cGVjdCgpIGNvbW1hbmQgbGluZSBhcGkgd29ya3MuCiBSdW5uaW5nOiB0ZXN0UmV2ZWFsRWxlbWVu
dAogCiAKLVdlYkluc3BlY3Rvci5pbnNwZWN0IGNhbGxlZCB3aXRoOiBIVE1MUGFyYWdyYXBoRWxl
bWVudAorV2ViSW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IDxwPgogV2ViSW5zcGVjdG9y
Lmluc3BlY3QncyBoaW50cyBhcmU6IFtdCiBpbnNwZWN0KCQoJ3AxJykpID0gCiBTZWxlY3RlZCBu
b2RlIGlkOiAncDEnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1kaXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29uc29sZS1kaXItZXhwZWN0ZWQudHh0CmluZGV4IGU3M2FhYTg4OGY3MmY0NGNhYTVhNTM5OTZh
YThkZDAyYzdiMTgxOTYuLmJkNmY0ZmNhNmU4MzNhNjQ0YTYyYmI0MDg3Yzg0M2UxNTFjMDM2NTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWRp
ci1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgQXJyYXlbMl0KICAgICBfX3Byb3RvX186
IEFycmF5WzBdIGNvbnNvbGUtZGlyLmh0bWw6OQogCiBOb2RlTGlzdFsxXQotICAgIDA6IEhUTUxI
dG1sRWxlbWVudAorICAgIDA6IDxodG1sPgogICAgIGNvbnN0cnVjdG9yOiBOb2RlTGlzdENvbnN0
cnVjdG9yCiAgICAgbGVuZ3RoOiAxCiAgICAgX19wcm90b19fOiBOb2RlTGlzdFByb3RvdHlwZSBj
b25zb2xlLWRpci5odG1sOjEwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CmluZGV4IGIxMTUw
NmJiMTAxMWI3MzkyZDI1MTkxNDM3ZGY4N2E0NmMzNmExZTkuLjYxMDdmY2E3MzQwM2M3ODFiOTdl
M2VhNmY2YjYzOTQyNWZiNTBhNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0CkBAIC0y
LDYgKzIsNiBAQCBUZXN0cyB0aGF0IHNpbXBsZSBldmFsdWF0aW9ucyBtYXkgYmUgcGVyZm9ybWVk
IGluIHRoZSBjb25zb2xlIG9uIGdsb2JhbCBvYmplY3QuCiAKIGZvbwogImZvb1ZhbHVlIgotYmFy
MQotUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGJhcjEKK2JhcgorT2JqZWN0
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC1nbG9iYWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZh
bC1nbG9iYWwuaHRtbAppbmRleCBkNmY0NzgyYjlhZWM5MWFiMTE0YzZlNmRhNDU3NjZhNDU0NWY0
ZGM3Li45NGZlMmRlZWQ5MjhjNjRhNGZiODAyZDc1N2Y5Y2FiNzczMDg3NDhiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWV2YWwtZ2xvYmFsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5o
dG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gc3Rl
cDEoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYmFy
MSIsIHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYmFy
Iiwgc3RlcDIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dAppbmRleCBiZGM5MmRmMzU4YzNhMjUwODA5YjM1MTgy
ZTBkNTY0ZjhiYTllODMwLi5kZWM0NzNlOGQwM2JmMTk3NWVjNDc1MTNkMjZiNWU1N2VlNDFjNDM2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC03LDYgKzcs
MTUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBbb2JqZWN0IE5vZGVMaXN0XQogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQxOiAxLDIsCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IFtvYmpl
Y3QgT2JqZWN0XQogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBbb2JqZWN0IEFyZ3VtZW50c10K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogW29iamVjdCBOb2RlTGlzdF0KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxOTogW29iamVjdCBIVE1MQ29sbGVjdGlvbl0KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyMzogW29iamVjdCBIVE1MT3B0aW9uc0NvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjc6IFtvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzE6IFtvYmplY3QgSFRNTENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6
IFtvYmplY3QgTm9kZUxpc3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IDEsMiwKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA0NDogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTE6IFtvYmplY3QgQXJndW1lbnRzXQogVGVzdHMgdGhhdCBjb25zb2xlIG5pY2VseSBmb3Jt
YXRzIEhUTUwgQ29sbGVjdGlvbnMgYW5kIE5vZGVMaXN0cy4KIAogWzxzZWxlY3QgaWQ9InNlbCIg
bmFtZT0ic2VsIj7igKY8L3NlbGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6
MTUKQEAgLTIwLDQgKzI5LDE0IEBAIFRlc3RzIHRoYXQgY29uc29sZSBuaWNlbHkgZm9ybWF0cyBI
VE1MIENvbGxlY3Rpb25zIGFuZCBOb2RlTGlzdHMuCiBbMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9y
bWF0LWNvbGxlY3Rpb25zLmh0bWw6NDEKIE5vbkFycmF5V2l0aExlbmd0aCBjb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy5odG1sOjQ0CiBbMSwgIjIiXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9u
cy5odG1sOjUxCitbPHNlbGVjdD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTUK
KyBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjE5CitbPG9wdGlvbj4sIDxvcHRpb24+
LCBzZWxlY3RlZEluZGV4OiAwXSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sOjIzCisg
Y29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDoyNworIGNvbnNvbGUtZm9ybWF0LWNvbGxl
Y3Rpb25zLmh0bWw6MzEKK1s8aW5wdXQ+LCA8aW5wdXQ+XSBjb25zb2xlLWZvcm1hdC1jb2xsZWN0
aW9ucy5odG1sOjM1CitbMSwgQXJyYXlbMl1dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0
bWw6NDEKK05vbkFycmF5V2l0aExlbmd0aCB7a2V5czogQXJyYXlbMF19IGNvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLmh0bWw6NDQKK1sxLCAiMiJdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25z
Lmh0bWw6NTEKK1BhZ2UgcmVsb2FkZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy5odG1sCmluZGV4
IDBiZWNhODdiMTEyYzcyMTlmZWIxOTRkNzliYmY5ZDJjYzA0MWQzODkuLjhjMWQwY2ZlM2EzNmYy
YWQwZGFlMTg2NTkxNDQ0NmE5Y2QyMzdmZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbApA
QCAtNCw3ICs0LDcgQEAKIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotZnVuY3Rpb24gb25sb2FkKCkK
K2Z1bmN0aW9uIGxvZ1RvQ29uc29sZSgpCiB7CiAgICAgdmFyIGZvcm1FbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImYiKTsKICAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzZWwiKTsKQEAgLTUyLDYgKzUyLDExIEBAIGZ1bmN0aW9uIG9ubG9h
ZCgpCiAgICAgcnVuVGVzdCgpOwogfQogCitmdW5jdGlvbiBvbmxvYWQoKQoreworICAgIGxvZ1Rv
Q29uc29sZSgpOworfQorCiBmdW5jdGlvbiBOb25BcnJheVdpdGhMZW5ndGgoKQogewogICAgIHRo
aXMua2V5cz1bXTsKQEAgLTY1LDggKzcwLDEzIEBAIE5vbkFycmF5V2l0aExlbmd0aC5wcm90b3R5
cGUuX19kZWZpbmVHZXR0ZXJfXygibGVuZ3RoIiwgZnVuY3Rpb24oKQogCiBmdW5jdGlvbiB0ZXN0
KCkKIHsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImxvZ1RvQ29uc29sZSgpIiwgY2FsbGJhY2spOworCisgICAgZnVuY3Rpb24gY2FsbGJhY2so
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQogfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQKaW5kZXggMGUxOTNhOGVhMmRlNTMxOTlhNTNhOTBm
ZTkyNjM2OTAwNjg3MWFjMC4uNjE1NWZjNWVmOThkOGU2MjM3YWI2OTRmOWRmYjAwOGUzOGU0YjEw
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3Jt
YXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtNTUsNyArNTUsNyBAQCBPYmplY3QgT2JqZWN0IGNv
bnNvbGUtZm9ybWF0Lmh0bWw6MTQKIFsidGVzdCIsICJ0ZXN0MiIsIHVuZGVmaW5lZCDDlyAyLCAi
dGVzdDQiLCB1bmRlZmluZWQgw5cgNV0gY29uc29sZS1mb3JtYXQuaHRtbDoyMQogQXJyYXlbMTBd
IGNvbnNvbGUtZm9ybWF0Lmh0bWw6MjIKIC9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpc
XFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98
XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkv
aSBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypc
KS9pXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CitbL151cmxcKFxzKig/Oig/OiIoPzrigKZdIGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNbMF0KIC9edXJsXChccyooPzooPzoiKD86W15c
XFwiXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZd
ezEsNn1ccz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4p
KSopXHMqXCkvaQogL2Zvb1xcYmFyXHNiYXovaSBjb25zb2xlLWZvcm1hdC5odG1sOjU0CkBAIC03
NCwxMCArNzQsMTAgQEAgRXJyb3IgY29uc29sZS1mb3JtYXQuaHRtbDo1NAogW0Vycm9yXSBjb25z
b2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzRdCiBFcnJvcgotPGJvZHkgb25sb2FkPSJvbmxv
YWQoKSI+4oCmPC9ib2R5PiBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bPGJvZHkgb25sb2FkPSJv
bmxvYWQoKSI+4oCmPC9ib2R5Pl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQorPGJvZHkgb25sb2Fk
PSJvbmxvYWQoKSI+IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKK1s8Ym9keT5dIGNvbnNvbGUtZm9y
bWF0Lmh0bWw6NTUKIGdsb2JhbHNbNV0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9k
eT4KKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgogZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSBj
b25zb2xlLWZvcm1hdC5odG1sOjU0CiBbZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfV0gY29uc29s
ZS1mb3JtYXQuaHRtbDo1NQogZ2xvYmFsc1s2XQpAQCAtMTA5LDE3ICsxMDksMTcgQEAgdW5kZWZp
bmVkIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKIGdsb2JhbHNbMTFdCiB1bmRlZmluZWQKIGF0dHI9
IiIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2F0dHI9IiJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6
NTUKK1thdHRyXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzEyXQogYXR0cj0iIgot
YXR0cj0idmFsdWUiIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVthdHRyPSJ2YWx1ZSJdIGNvbnNv
bGUtZm9ybWF0Lmh0bWw6NTUKK2F0dHI9InZhbHVlIiJ2YWx1ZSIgY29uc29sZS1mb3JtYXQuaHRt
bDo1NAorW2F0dHJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKIGdsb2JhbHNbMTNdCi1hdHRyPSJ2
YWx1ZSIKLWlkPSJ4IiBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1baWQ9IngiXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1CithdHRyPSJ2YWx1ZSIidmFsdWUiCitpZD0ieCIieCIgY29uc29sZS1mb3Jt
YXQuaHRtbDo1NAorW2lkXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzE0XQotaWQ9
IngiCitpZD0ieCIieCIKIE9iamVjdCBjb25zb2xlLWZvcm1hdC5odG1sOjU0CiBbT2JqZWN0XSBj
b25zb2xlLWZvcm1hdC5odG1sOjU1CiBnbG9iYWxzWzE1XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0Lmh0bWwKaW5kZXggZTY0NDBhOWM1ZDZkNWRi
ZjdkZjY3M2NlYjA2YjQ4YzlmNDY2YWZhYi4uMTQ5MjIyNGM3MzA1NjJiMzQ0MGY0ZTMyMDY5NjMz
ODAxZTBmNDIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1mb3JtYXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWZvcm1hdC5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGZ1bmN0aW9uIG9ubG9hZCgpCiAgICAg
Y29uc29sZS5sb2coJ09iamVjdCAlbycsIHsnZm9vJyA6ICdiYXInIH0pOwogCiAgICAgdmFyIGFy
cmF5ID0gWyJ0ZXN0IiwgInRlc3QyIl07IGFycmF5Lmxlbmd0aCA9IDEwOwotICAgIGFycmF5LmZv
byA9ICJiYXIiOyAKKyAgICBhcnJheS5mb28gPSB7fTsgCiAgICAgYXJyYXlbNF0gPSAidGVzdDQi
OwogCiAgICAgY29uc29sZS5sb2coYXJyYXkpOwpAQCAtNjUsMTAgKzY1LDEwIEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgbmV4dCA9IGN1cnJlbnQgKyAxOwog
ICAgICAgICAgICAgaWYgKG5leHQgPT0gdG90YWwuZGVzY3JpcHRpb24pIHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwogICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBsb29wT3Zlckds
b2JhbHMobmV4dCwgdG90YWwpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXBy
b3RvLWV4cGVjdGVkLnR4dAppbmRleCBmZGRkMTI1N2Y0Y2ExODVkNWJkZWIyYzkzZjMyOWM3YjEz
NzBlNTk5Li5kNjA4MWMzZjk5YzFlNDgwMWIzNzU1ZDhlZmZiYjhiMmRhYzdhOTJkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1w
cm90by1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDY6IFtvYmplY3QgSFRNTERvY3VtZW50UHJvdG90eXBlXQotVGVz
dCB0aGF0IGNvbnNvbGUubG9nKGRvY3VtZW50Ll9fcHJvdG9fXykgd29uJ3QgcmVzdWx0IGluIGFu
IGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlIGlzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9y
LkJ1ZyAyNzE2OS4KK1Rlc3QgdGhhdCBjb25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pIHdv
bid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2FnZSBpcyBmb3JtYXR0ZWQg
aW4gdGhlIGluc3BlY3Rvci5CdWcgMjcxNjkuCiAKIEhUTUxEb2N1bWVudFByb3RvdHlwZSBjb25z
b2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sOjYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWwK
aW5kZXggMWViODFiMDc3ZTZiNTM3MzEwZTg4Mzg4ZTE2YmEwNzc0YWI1MjI4Ni4uYjYzOWM0N2Nh
OWVjMTFjYTY0MjkwMDUwNTZhZGJmM2FkYWEyZDhiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5o
dG1sCkBAIC0zLDcgKzMsNyBAQAogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWNv
bnNvbGUubG9nKGRvY3VtZW50Ll9fcHJvdG9fXyk7Citjb25zb2xlLmRpcihkb2N1bWVudC5fX3By
b3RvX18pOwogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKQEAgLTE0LDcgKzE0LDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD4KLVRlc3QgdGhh
dCBjb25zb2xlLmxvZyhkb2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNl
cHRpb24gd2hlbiB0aGUgbWVzc2FnZQorVGVzdCB0aGF0IGNvbnNvbGUuZGlyKGRvY3VtZW50Ll9f
cHJvdG9fXykgd29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlCiBp
cyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci48YSBidWc9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNzE2OSI+QnVnICAyNzE2OS48L2E+CiA8L3A+CiA8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy10
b1N0cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dAppbmRleCAxMDBmNjNm
ZmE5Njg5MjI2MjBlMWJjOGE5MTY5MmU1NmMyNWQyNjkwLi4wNTIyN2VjZmMwZjM4NjdhMmZmNWY1
MmJiZjc5MjllMGFmNTBjMTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC1leHBl
Y3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSA3OgogVGVzdHMg
dGhhdCBwYXNzaW5nIGFuIG9iamVjdCB3aGljaCB0aHJvd3Mgb24gc3RyaW5nIGNvbnZlcnNpb24g
aW50byBjb25zb2xlLmxvZyB3b24ndCBjcmFzaCBpbnNwZWN0ZWQgUGFnZS4gVGhlIHRlc3QgcGFz
c2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guIEJ1ZyA1NzU1NwogCiBQYWdlIHJlbG9hZGVkLgotT2Jq
ZWN0IGNvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC5odG1sOjcKK09iamVjdCB7dG9TdHJpbmc6
IE9iamVjdH0gY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWw6NwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwt
c3dpdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRj
aC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0CmluZGV4IGIyNDE0NTZiNGU2
Y2E3YzllZmZmOTVjNTQ4ZWI5MDBiNmM3ZTIxN2QuLmY3YWJmYjYyZmNkYzBkMmU2NTRlYjFhYWFi
MGQxOWYwMzc4MTY4NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci93YXRjaC1leHByZXNzaW9ucy1wYW5lbC1zd2l0Y2gt
ZXhwZWN0ZWQudHh0CkBAIC02LDcgKzYsNyBAQCBTY3JpcHQgc291cmNlIHdhcyBzaG93bi4KIFNl
dCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KIFdhdGNoIGV4cHJlc3Npb25zIHVwZGF0ZWQuCiBb
ZXhwYW5kZWRdICAKLSAgICB3aW5kb3cuZG9jdW1lbnQ6IEhUTUxEb2N1bWVudAorICAgIHdpbmRv
dy5kb2N1bWVudDogI2RvY3VtZW50CiAgICAgd2luZG93YS5kb2N1bWVudDogUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHdpbmRvd2EKIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3Rl
bmVyLXNpZGViYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0CmluZGV4IDUzYzBmMGMzZWM3NDI3
NDZlMDNkOGRlMWI2YTg4NTA0NjY1NmRkYzEuLmJiMmMyODBmYzhjOWYwMDQ0ZDdiNzJhZWYyOTQx
Mjk1NmU2MTM0NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
dmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQKQEAgLTcs
MjEgKzcsMjEgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVO
dW1iZXI6IDE5CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5s
b2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5vZGU6IEhUTUxEb2N1
bWVudAorICAgIG5vZGU6ICNkb2N1bWVudAogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10
ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJh
ci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCiBbZXhwYW5kZWRd
IGRvY3VtZW50IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCiAg
ICAgbGlzdGVuZXJCb2R5OiBPYmplY3RIYW5kbGVyCi0gICAgbm9kZTogSFRNTERvY3VtZW50Cisg
ICAgbm9kZTogI2RvY3VtZW50CiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVl
CiBbZXhwYW5kZWRdIGJ1dHRvbiNub2RlIGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxNQog
ICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDE1CiAgICAgbGlzdGVuZXJC
b2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gY2Fw
dHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAorICAgIG5vZGU6IDxidXR0
b24+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBjbGlj
awogICAgIHVzZUNhcHR1cmU6IHRydWUKQEAgLTI5LDcgKzI5LDcgQEAgSW5zcGVjdCBNZQogICAg
IGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6IDEyCiAgICAgbGlzdGVuZXJCb2R5
OiBmdW5jdGlvbiBjbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0
dG9uIC0gYnViYmxpbmcgKHJlZ2lzdGVyZWQgYmVmb3JlIGF0dHJpYnV0ZSkiKTsgfQotICAgIG5v
ZGU6IEhUTUxCdXR0b25FbGVtZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1l
OiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTog
ZmFsc2UKQEAgLTM3LDcgKzM3LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiB0cnVl
CiAgICAgbGluZU51bWJlcjogMTYKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIChldmVudCkg
eyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0b24gLSBhdHRyaWJ1dGUiKTsgfQotICAgIG5vZGU6
IEhUTUxCdXR0b25FbGVtZW50CisgICAgbm9kZTogPGJ1dHRvbj4KICAgICBzb3VyY2VOYW1lOiBb
Y2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxp
c3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogZmFs
c2UKQEAgLTQ1LDcgKzQ1LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQog
ICAgIGxpbmVOdW1iZXI6IDE3CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsg
Y29uc29sZS5sb2coImNsaWNrIC0gYnV0dG9uIC0gYnViYmxpbmcgKHJlZ2lzdGVyZWQgYWZ0ZXIg
YXR0cmlidXRlKSIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1lbnQKKyAgICBub2RlOiA8
YnV0dG9uPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTog
Y2xpY2sKICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtNTMsNyArNTMsNyBAQCBJbnNwZWN0IE1l
CiAgICAgaXNBdHRyaWJ1dGU6IHRydWUKICAgICBsaW5lTnVtYmVyOiA2CiAgICAgbGlzdGVuZXJC
b2R5OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygi
Y2xpY2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50
CisgICAgbm9kZTogI2RvY3VtZW50CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3Rd
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0
bWwKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC02Myw3ICs2Myw3
IEBAIEluc3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5lTnVtYmVyOiAx
MAogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlF
bGVtZW50CisgICAgbm9kZTogPGJvZHk+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRl
c3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFy
Lmh0bWwKICAgICB0eXBlOiBjdXN0b20gZXZlbnQKICAgICB1c2VDYXB0dXJlOiB0cnVlCkBAIC03
Myw3ICs3Myw3IEBAIEluc3BlY3QgTWUKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKICAgICBsaW5l
TnVtYmVyOiAxNAogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gaG92ZXJIYW5kbGVyKGV2ZW50
KSB7IGNvbnNvbGUubG9nKCJob3ZlciAtIGJ1dHRvbiAtIGJ1YmJsaW5nIik7IH0KLSAgICBub2Rl
OiBIVE1MQnV0dG9uRWxlbWVudAorICAgIG5vZGU6IDxidXR0b24+CiAgICAgc291cmNlTmFtZTog
W2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1s
aXN0ZW5lci1zaWRlYmFyLmh0bWwKICAgICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IGZh
bHNlCkBAIC04MywyMSArODMsMjEgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxz
ZQogICAgIGxpbmVOdW1iZXI6IDE5CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQp
IHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQotICAgIG5v
ZGU6IEhUTUxEb2N1bWVudAorICAgIG5vZGU6ICNkb2N1bWVudAogICAgIHNvdXJjZU5hbWU6IFtj
bGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlz
dGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVl
CiBbZXhwYW5kZWRdIGRvY3VtZW50IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgaXNBdHRyaWJ1
dGU6IGZhbHNlCiAgICAgbGlzdGVuZXJCb2R5OiBPYmplY3RIYW5kbGVyCi0gICAgbm9kZTogSFRN
TERvY3VtZW50CisgICAgbm9kZTogI2RvY3VtZW50CiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VD
YXB0dXJlOiB0cnVlCiBbZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbDo2CiAgICAgaXNBdHRyaWJ1dGU6IHRydWUKICAgICBsaW5lTnVtYmVyOiA2CiAgICAgbGlz
dGVuZXJCb2R5OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xl
LmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9kZTogSFRNTERv
Y3VtZW50CisgICAgbm9kZTogI2RvY3VtZW50CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9y
LXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRl
YmFyLmh0bWwKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCkBAIC0xMDcs
NyArMTA3LDcgQEAgSW5zcGVjdCBNZQogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVO
dW1iZXI6IDEwCiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBub2RlOiBI
VE1MQm9keUVsZW1lbnQKKyAgICBub2RlOiA8Ym9keT4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBl
ZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVy
LXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGN1c3RvbSBldmVudAogICAgIHVzZUNhcHR1cmU6IHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0
ZW5lcnMtYWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKaW5kZXggNDcw
ZTFlMzU1MmY0ZmZlZTA5OTNmNTYyZDFhMWI5OWRkYWIwNmJkNS4uYWNkNmFlODlmZWUwYjRjYmU0
NDQyNThiYjk2MTIwODEwZjhhY2VhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFuay1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1ibGFu
ay1leHBlY3RlZC50eHQKQEAgLTcsNyArNyw3IEBAIFRlc3RzIGV2ZW50IGxpc3RlbmVycyBvdXRw
dXQgaW4gdGhlIEVsZW1lbnRzIHNpZGViYXIgcGFuZWwgd2hlbiB0aGUgbGlzdGVuZXJzIGFyCiAg
ICAgaXNBdHRyaWJ1dGU6IGZhbHNlCiAgICAgbGluZU51bWJlcjogOQogICAgIGxpc3RlbmVyQm9k
eTogZnVuY3Rpb24gZigpIHt9Ci0gICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgbm9kZTog
PGJvZHk+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmsuaHRtbAogICAgIHR5
cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQpAQCAtMTcsNyArMTcsNyBAQCBUZXN0cyBl
dmVudCBsaXN0ZW5lcnMgb3V0cHV0IGluIHRoZSBFbGVtZW50cyBzaWRlYmFyIHBhbmVsIHdoZW4g
dGhlIGxpc3RlbmVycyBhcgogICAgIGlzQXR0cmlidXRlOiBmYWxzZQogICAgIGxpbmVOdW1iZXI6
IDkKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAgIG5vZGU6IEhUTUxEaXZF
bGVtZW50CisgICAgbm9kZTogPGRpdj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVz
dF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVycy1hYm91dC1i
bGFuay5odG1sCiAgICAgdHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiB0cnVlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWRpci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQKaW5kZXggNTMzYTMwZWM5N2M2
MGIyZjM3ZTA5ZGE1MTg5ODU5NjgwM2E4YjllMi4uZjg5MjhjMDhhN2E1YTYwNTIxZjk4ZGIyZjQ3
MzJmN2NkZTM5NjNjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1kaXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZGlyLWV4cGVj
dGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBBcnJheVsyXQogICAgIF9fcHJvdG9fXzogQXJyYXlb
MF0gY29uc29sZS1kaXIuaHRtbDo5CiAKIE5vZGVMaXN0WzFdCi0gICAgMDogSFRNTEh0bWxFbGVt
ZW50CisgICAgMDogPGh0bWw+CiAgICAgbGVuZ3RoOiAxCiAgICAgX19wcm90b19fOiBOb2RlTGlz
dCBjb25zb2xlLWRpci5odG1sOjEwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk2ZjI4MTc0MTZjNWZlMjQ0ZjI2Zjg3YjUyYjhkMDQ2ZWVhYmZiMmYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQgc2ltcGxlIGV2YWx1
YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9iamVjdC4K
LQotZm9vCi0iZm9vVmFsdWUiCi1iYXIxCi1SZWZlcmVuY2VFcnJvcjogYmFyMSBpcyBub3QgZGVm
aW5lZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLWZvcm1hdC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1jb2xsZWN0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggOWU4ODQ2OTZkZjg4YTFjNWM4MDUwNmRm
NmNiN2MwZTRlNWRmMWJjMS4uYmM5OTcwMzhiODcxNmE1M2JiM2QzYTIyM2I2MGE0YzE3NmIyNGQ0
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZm9ybWF0
LWNvbGxlY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDE1IEBAIENPTlNPTEUgTUVTU0FH
RTogbGluZSAzNTogW29iamVjdCBOb2RlTGlzdF0KIENPTlNPTEUgTUVTU0FHRTogbGluZSA0MTog
MSwyLAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0KIENPTlNPTEUg
TUVTU0FHRTogbGluZSA1MTogW29iamVjdCBBcmd1bWVudHNdCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTU6IFtvYmplY3QgTm9kZUxpc3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IFtvYmpl
Y3QgSFRNTENvbGxlY3Rpb25dCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFtvYmplY3QgSFRN
TE9wdGlvbnNDb2xsZWN0aW9uXQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiB1bmRlZmluZWQK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogW29iamVjdCBIVE1MQ29sbGVjdGlvbl0KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAzNTogW29iamVjdCBOb2RlTGlzdF0KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA0MTogMSwyLAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBbb2JqZWN0IE9iamVjdF0K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogW29iamVjdCBBcmd1bWVudHNdCiBUZXN0cyB0aGF0
IGNvbnNvbGUgbmljZWx5IGZvcm1hdHMgSFRNTCBDb2xsZWN0aW9ucyBhbmQgTm9kZUxpc3RzLgog
CiBbPHNlbGVjdCBpZD0ic2VsIiBuYW1lPSJzZWwiPuKApjwvc2VsZWN0Pl0gY29uc29sZS1mb3Jt
YXQtY29sbGVjdGlvbnMuaHRtbDoxNQpAQCAtMjAsNCArMjksMTMgQEAgVGVzdHMgdGhhdCBjb25z
b2xlIG5pY2VseSBmb3JtYXRzIEhUTUwgQ29sbGVjdGlvbnMgYW5kIE5vZGVMaXN0cy4KIFsxLCBB
cnJheVsyXV0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0MQogTm9uQXJyYXlXaXRo
TGVuZ3RoIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NDQKIFsxLCAiMiJdIGNvbnNv
bGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6NTEKK1s8c2VsZWN0Pl0gY29uc29sZS1mb3JtYXQt
Y29sbGVjdGlvbnMuaHRtbDoxNQorWzxzY3JpcHQ+LCA8c2NyaXB0PiwgPHNjcmlwdD5dIGNvbnNv
bGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MTkKK1s8b3B0aW9uPiwgPG9wdGlvbj4sIHNlbGVj
dGVkSW5kZXg6IDBdIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjMKK1s8aHRtbD4s
IDxoZWFkPiwgPHNjcmlwdD4sIDxzY3JpcHQ+LCA8c2NyaXB0PiwgPGJvZHk+LCA8cD4sIDxkaXY+
LCA8Zm9ybT4sIDxzZWxlY3Q+LCA8b3B0aW9uPiwgPG9wdGlvbj4sIDxpbnB1dD4sIDxpbnB1dD5d
IGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MjcKK1s8c2VsZWN0PiwgPGlucHV0Piwg
PGlucHV0Pl0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDozMQorWzxpbnB1dD4sIDxp
bnB1dD5dIGNvbnNvbGUtZm9ybWF0LWNvbGxlY3Rpb25zLmh0bWw6MzUKK1sxLCBBcnJheVsyXV0g
Y29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0MQorTm9uQXJyYXlXaXRoTGVuZ3RoIHtr
ZXlzOiBBcnJheVswXX0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo0NAorWzEsICIy
Il0gY29uc29sZS1mb3JtYXQtY29sbGVjdGlvbnMuaHRtbDo1MQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWZvcm1h
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBlMTkzYThlYTJkZTUzMTk5YTUzYTkwZmU5MjYzNjkwMDY4NzFhYzAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1mb3JtYXQtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTM5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMjogTWVzc2FnZSBmb3JtYXQgbnVtYmVyICVpLCAlZCBhbmQgJWYKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMzogTWVzc2FnZSAlcyBmb3IgJXMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
T2JqZWN0ICVvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IHRlc3QsdGVzdDIsLCx0ZXN0NCws
LCwsCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6ICVvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjI6ICVPCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IC9edXJsXChccyooPzooPzoiKD86W15c
XFwiXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZd
ezEsNn1ccz98XC4pKSonKXwoPzpbISMkJSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4p
KSopXHMqXCkvaQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiAvXnVybFwoXHMqKD86KD86Iig/
OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkqKVxzKlwpL2kKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NDogL2Zvb1xcYmFyXHNiYXov
aQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiAvZm9vXFxiYXJcc2Jhei9pCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTQ6IHRlc3QKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogdGVzdAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDU0OiB0ZXN0IG5hbWVkICJ0ZXN0IgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiB0ZXN0IG5hbWVkICJ0ZXN0IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBF
cnJvcgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBFcnJvcgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU0OiBbb2JqZWN0IEhUTUxCb2R5RWxlbWVudF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1
NTogW29iamVjdCBIVE1MQm9keUVsZW1lbnRdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IGZ1
bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogZnVuY3Rp
b24gKCkgeyByZXR1cm4gMTsgfQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgIHJldHVybiAyOwotICAgIH0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTog
ZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gMjsKLSAgICB9Ci1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTQ6IDAuMTIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogMC4xMgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU0OiBodHRwOi8vd2Via2l0Lm9yZy8KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA1NTogaHR0cDovL3dlYmtpdC5vcmcvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IG51bGwK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IHVu
ZGVmaW5lZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA1NDogW29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBbb2JqZWN0IEF0
dHJdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6IFtvYmplY3QgQXR0cl0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA1NTogW29iamVjdCBBdHRyXQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBb
b2JqZWN0IEF0dHJdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IFtvYmplY3QgQXR0cl0KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA1NDogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTU6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU0OiBOYU4K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogTmFOCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTQ6
IEluZmluaXR5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IEluZmluaXR5Ci1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTQ6IC1JbmZpbml0eQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiAtSW5m
aW5pdHkKLVRlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4K
LQotTWVzc2FnZSBmb3JtYXQgbnVtYmVyIDEsIDIgYW5kIDMuNSBjb25zb2xlLWZvcm1hdC5odG1s
OjEyCi1NZXNzYWdlIGZvcm1hdCBmb3Igc3RyaW5nIGNvbnNvbGUtZm9ybWF0Lmh0bWw6MTMKLU9i
amVjdCBPYmplY3QgY29uc29sZS1mb3JtYXQuaHRtbDoxNAotWyJ0ZXN0IiwgInRlc3QyIiwgdW5k
ZWZpbmVkIMOXIDIsICJ0ZXN0NCIsIHVuZGVmaW5lZCDDlyA1XSBjb25zb2xlLWZvcm1hdC5odG1s
OjIwCi1bInRlc3QiLCAidGVzdDIiLCB1bmRlZmluZWQgw5cgMiwgInRlc3Q0IiwgdW5kZWZpbmVk
IMOXIDVdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6MjEKLUFycmF5WzEwXSBjb25zb2xlLWZvcm1hdC5o
dG1sOjIyCi0vXnVybFwoXHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98
XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUm
Ki1+XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2kgY29uc29sZS1mb3JtYXQu
aHRtbDo1NAotWy9edXJsXChccyooPzooPzoiKD86W15cXFwiXXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKiJ8Jyg/OlteXFxcJ118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSonKXwoPzpbISMk
JSYqLX5cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSopXHMqXCkvaV0gY29uc29sZS1mb3Jt
YXQuaHRtbDo1NQotZ2xvYmFsc1swXQotL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/Olxc
W1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xc
LikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypcKS9p
Ci0vZm9vXFxiYXJcc2Jhei9pIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsvZm9vXFxiYXJcc2Jh
ei9pXSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzFdCi0vZm9vXFxiYXJcc2Jhei9p
Ci10ZXN0IGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVsidGVzdCJdIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTUKLWdsb2JhbHNbMl0KLSJ0ZXN0IgotdGVzdCBuYW1lZCAidGVzdCIgY29uc29sZS1mb3Jt
YXQuaHRtbDo1NAotWyJ0ZXN0IG5hbWVkICJ0ZXN0IiJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUK
LWdsb2JhbHNbM10KLSJ0ZXN0IG5hbWVkICJ0ZXN0IiIKLUVycm9yIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTQKLVtFcnJvcl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1s0XQotRXJyb3IK
LTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT4gY29uc29sZS1mb3JtYXQuaHRtbDo1
NAotWzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT5dIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTUKLWdsb2JhbHNbNV0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPuKApjwvYm9keT4KLWZ1
bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0gY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2Z1bmN0aW9u
ICgpIHsgcmV0dXJuIDE7IH1dIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbNl0KLWZ1
bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0KLWZ1bmN0aW9uICgpIHsKLSAgICAgICAgcmV0dXJuIDI7
Ci0gICAgfSBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bZnVuY3Rpb24gKCkgewotICAgICAgICBy
ZXR1cm4gMjsKLSAgICB9XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzddCi1mdW5j
dGlvbiAoKSB7Ci0gICAgICAgIHJldHVybiAyOwotICAgIH0KLTAuMTIgY29uc29sZS1mb3JtYXQu
aHRtbDo1NAotWzAuMTJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbOF0KLTAuMTIK
LWh0dHA6Ly93ZWJraXQub3JnLyBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bImh0dHA6Ly93ZWJr
aXQub3JnLyJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbOV0KLSJodHRwOi8vd2Vi
a2l0Lm9yZy8iCi1udWxsIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTQKLVtudWxsXSBjb25zb2xlLWZv
cm1hdC5odG1sOjU1Ci1nbG9iYWxzWzEwXQotbnVsbAotdW5kZWZpbmVkIGNvbnNvbGUtZm9ybWF0
Lmh0bWw6NTQKLVt1bmRlZmluZWRdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTFd
Ci11bmRlZmluZWQKLWF0dHI9IiIgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2F0dHI9IiJdIGNv
bnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTJdCi1hdHRyPSIiCi1hdHRyPSJ2YWx1ZSIg
Y29uc29sZS1mb3JtYXQuaHRtbDo1NAotW2F0dHI9InZhbHVlIl0gY29uc29sZS1mb3JtYXQuaHRt
bDo1NQotZ2xvYmFsc1sxM10KLWF0dHI9InZhbHVlIgotaWQ9IngiIGNvbnNvbGUtZm9ybWF0Lmh0
bWw6NTQKLVtpZD0ieCJdIGNvbnNvbGUtZm9ybWF0Lmh0bWw6NTUKLWdsb2JhbHNbMTRdCi1pZD0i
eCIKLU9iamVjdCBjb25zb2xlLWZvcm1hdC5odG1sOjU0Ci1bT2JqZWN0XSBjb25zb2xlLWZvcm1h
dC5odG1sOjU1Ci1nbG9iYWxzWzE1XQotT2JqZWN0Ci1OYU4gY29uc29sZS1mb3JtYXQuaHRtbDo1
NAotW05hTl0gY29uc29sZS1mb3JtYXQuaHRtbDo1NQotZ2xvYmFsc1sxNl0KLU5hTgotSW5maW5p
dHkgY29uc29sZS1mb3JtYXQuaHRtbDo1NAotW0luZmluaXR5XSBjb25zb2xlLWZvcm1hdC5odG1s
OjU1Ci1nbG9iYWxzWzE3XQotSW5maW5pdHkKLS1JbmZpbml0eSBjb25zb2xlLWZvcm1hdC5odG1s
OjU0Ci1bLUluZmluaXR5XSBjb25zb2xlLWZvcm1hdC5odG1sOjU1Ci1nbG9iYWxzWzE4XQotLUlu
ZmluaXR5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3Bl
Y3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9n
LWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dAppbmRleCA1M2FhNjRkMzc1ZGZhMTFiZDk2ZTZh
ZDkxYTE0NWRiNjFmYjNjMmVkLi44ZGUxYTdmZGIzZGQxZTE2MTg3NTY2Yjg0MzAxNjNhMGNmOTQ2
ODBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ct
ZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY6IFtvYmplY3QgT2JqZWN0XQotVGVzdCB0aGF0IGNvbnNvbGUubG9nKGRvY3Vt
ZW50Ll9fcHJvdG9fXykgd29uJ3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNz
YWdlIGlzIGZvcm1hdHRlZCBpbiB0aGUgaW5zcGVjdG9yLkJ1ZyAyNzE2OS4KK1Rlc3QgdGhhdCBj
b25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRp
b24gd2hlbiB0aGUgbWVzc2FnZSBpcyBmb3JtYXR0ZWQgaW4gdGhlIGluc3BlY3Rvci5CdWcgMjcx
NjkuCiAKIEhUTUxEb2N1bWVudCBjb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sOjYKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RlYnVn
Z2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lv
bnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dAppbmRleCAxN2M2MzBlMWFmNDIyYzE3ZGI2Yzhj
MWI5YzNhYTZhMDE4MDYwMjAxLi4xM2VlZTRjMzJkNmM4YmQ0NjA1ZWQ2YTFiMDAzOTA3OTdjODk0
OWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3Iv
ZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gt
ZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLWV4cGVjdGVkLnR4dApAQCAtNiw3ICs2LDcgQEAgU2Ny
aXB0IHNvdXJjZSB3YXMgc2hvd24uCiBTZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCiBXYXRj
aCBleHByZXNzaW9ucyB1cGRhdGVkLgogW2V4cGFuZGVkXSAgCi0gICAgd2luZG93LmRvY3VtZW50
OiBIVE1MRG9jdW1lbnQKKyAgICB3aW5kb3cuZG9jdW1lbnQ6ICNkb2N1bWVudAogICAgIHdpbmRv
d2EuZG9jdW1lbnQ6IFJlZmVyZW5jZUVycm9yOiB3aW5kb3dhIGlzIG5vdCBkZWZpbmVkCiBEZWJ1
Z2dlciB3YXMgZGlzYWJsZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9lbGVtZW50cy9l
dmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTNjMGYwYzNlYzc0Mjc0NmUwM2Q4ZGUxYjZhODg1MDQ2NjU2ZGRjMS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotVGVzdHMgZXZlbnQg
bGlzdGVuZXJzIG91dHB1dCBpbiB0aGUgRWxlbWVudHMgc2lkZWJhciBwYW5lbC4KLQotSW5zcGVj
dCBNZQotCi09PT09PT09PSBjbGljayA9PT09PT09PQotW2V4cGFuZGVkXSBkb2N1bWVudCBldmVu
dC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTkKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBs
aW5lTnVtYmVyOiAxOQotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNv
bGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gY2FwdHVyaW5nIik7IH0KLSAgICBub2RlOiBIVE1M
RG9jdW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6
IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBkb2N1bWVudCAoYW5vbnlt
b3VzIGZ1bmN0aW9uKQotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAgIGxpc3RlbmVyQm9keTog
T2JqZWN0SGFuZGxlcgotICAgIG5vZGU6IEhUTUxEb2N1bWVudAotICAgIHR5cGU6IGNsaWNrCi0g
ICAgdXNlQ2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5l
ci1zaWRlYmFyLmh0bWw6MTUKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVy
OiAxNQotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJj
bGljayAtIGJ1dHRvbiAtIGNhcHR1cmluZyIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1dHRvbkVsZW1l
bnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGNsaWNr
Ci0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0
ZW5lci1zaWRlYmFyLmh0bWw6MTIKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVt
YmVyOiAxMgotICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gY2xpY2tIYW5kbGVyKGV2ZW50KSB7
IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3RlcmVkIGJlZm9y
ZSBhdHRyaWJ1dGUpIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAgIHNvdXJj
ZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VDYXB0
dXJlOiBmYWxzZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFy
Lmh0bWw6MTYKLSAgICBpc0F0dHJpYnV0ZTogdHJ1ZQotICAgIGxpbmVOdW1iZXI6IDE2Ci0gICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gYnV0
dG9uIC0gYXR0cmlidXRlIik7IH0KLSAgICBub2RlOiBIVE1MQnV0dG9uRWxlbWVudAotICAgIHNv
dXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCi0gICAgdHlwZTogY2xpY2sKLSAgICB1c2VD
YXB0dXJlOiBmYWxzZQotW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRl
YmFyLmh0bWw6MTcKLSAgICBpc0F0dHJpYnV0ZTogZmFsc2UKLSAgICBsaW5lTnVtYmVyOiAxNwot
ICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAt
IGJ1dHRvbiAtIGJ1YmJsaW5nIChyZWdpc3RlcmVkIGFmdGVyIGF0dHJpYnV0ZSkiKTsgfQotICAg
IG5vZGU6IEhUTUxCdXR0b25FbGVtZW50Ci0gICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRl
c3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFy
Lmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZhbHNlCi1bZXhwYW5kZWRd
IGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDo2Ci0gICAgaXNBdHRyaWJ1dGU6
IHRydWUKLSAgICBsaW5lTnVtYmVyOiA2Ci0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBkb2N1
bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAt
IGF0dHJpYnV0ZSIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTog
W2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1s
aXN0ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IGZh
bHNlCi0KLT09PT09PT09IGN1c3RvbSBldmVudCA9PT09PT09PQotW2V4cGFuZGVkXSBib2R5IGV2
ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxMAotICAgIGlzQXR0cmlidXRlOiBmYWxzZQotICAg
IGxpbmVOdW1iZXI6IDEwCi0gICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KLSAgICBu
b2RlOiBIVE1MQm9keUVsZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0v
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bAotICAgIHR5cGU6IGN1c3RvbSBldmVudAotICAgIHVzZUNhcHR1cmU6IHRydWUKLQotPT09PT09
PT0gaG92ZXIgPT09PT09PT0KLVtleHBhbmRlZF0gYnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXIt
c2lkZWJhci5odG1sOjE0Ci0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjog
MTQKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGhvdmVySGFuZGxlcihldmVudCkgeyBjb25z
b2xlLmxvZygiaG92ZXIgLSBidXR0b24gLSBidWJibGluZyIpOyB9Ci0gICAgbm9kZTogSFRNTEJ1
dHRvbkVsZW1lbnQKLSAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5
cGU6IGhvdmVyCi0gICAgdXNlQ2FwdHVyZTogZmFsc2UKLQotPT09PT09PT0gY2xpY2sgPT09PT09
PT0KLVtleHBhbmRlZF0gZG9jdW1lbnQgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjE5Ci0g
ICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0gICAgbGluZU51bWJlcjogMTkKLSAgICBsaXN0ZW5lckJv
ZHk6IGZ1bmN0aW9uIChldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGNh
cHR1cmluZyIpOyB9Ci0gICAgbm9kZTogSFRNTERvY3VtZW50Ci0gICAgc291cmNlTmFtZTogW2Ns
aXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0
ZW5lci1zaWRlYmFyLmh0bWwKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUK
LVtleHBhbmRlZF0gZG9jdW1lbnQgKGFub255bW91cyBmdW5jdGlvbikKLSAgICBpc0F0dHJpYnV0
ZTogZmFsc2UKLSAgICBsaXN0ZW5lckJvZHk6IE9iamVjdEhhbmRsZXIKLSAgICBub2RlOiBIVE1M
RG9jdW1lbnQKLSAgICB0eXBlOiBjbGljawotICAgIHVzZUNhcHR1cmU6IHRydWUKLVtleHBhbmRl
ZF0gZG9jdW1lbnQgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjYKLSAgICBpc0F0dHJpYnV0
ZTogdHJ1ZQotICAgIGxpbmVOdW1iZXI6IDYKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGRv
Y3VtZW50Q2xpY2tIYW5kbGVyKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50
IC0gYXR0cmlidXRlIik7IH0KLSAgICBub2RlOiBIVE1MRG9jdW1lbnQKLSAgICBzb3VyY2VOYW1l
OiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVyLXNpZGViYXIuaHRtbAotICAgIHR5cGU6IGNsaWNrCi0gICAgdXNlQ2FwdHVyZTog
ZmFsc2UKLQotPT09PT09PT0gY3VzdG9tIGV2ZW50ID09PT09PT09Ci1bZXhwYW5kZWRdIGJvZHkg
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjEwCi0gICAgaXNBdHRyaWJ1dGU6IGZhbHNlCi0g
ICAgbGluZU51bWJlcjogMTAKLSAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQotICAg
IG5vZGU6IEhUTUxCb2R5RWxlbWVudAotICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0
XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5o
dG1sCi0gICAgdHlwZTogY3VzdG9tIGV2ZW50Ci0gICAgdXNlQ2FwdHVyZTogdHJ1ZQotTGlzdGVu
ZXJzIGZvciBzZWxlY3RlZCBub2RlIG9ubHkoc2hvdWxkIGJlIG5vIGxpc3RlbmVycyk6Ci0K
</data>
<flag name="review"
          id="167089"
          type_id="1"
          status="+"
          setter="vsevik"
    />
    <flag name="commit-queue"
          id="167100"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157264</attachid>
            <date>2012-08-08 11:49:25 -0700</date>
            <delta_ts>2012-08-08 11:49:25 -0700</delta_ts>
            <desc>Assertion backtrace</desc>
            <filename>console-format-crash-log.txt</filename>
            <type>text/plain</type>
            <size>2253</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">Y3Jhc2ggbG9nIGZvciBEdW1wUmVuZGVyVHJlZSAocGlkIDE3NzEpOgpTVERPVVQ6IDxlbXB0eT4K
U1RERVJSOiBBU1NFUlRJT04gRkFJTEVEOiBmb3VuZFByb3BlcnRpZXNDb3VudCA9PSBvYmplY3Qt
PnNpemUoKQpTVERFUlI6IC9ob21lL2J1aWxkc2xhdmUtMS93ZWJraXQtYnVpbGRzbGF2ZS9lZmwt
bGludXgtNjQtZGVidWcvYnVpbGQvV2ViS2l0QnVpbGQvRGVidWcvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbnNwZWN0b3JUeXBlQnVpbGRlci5jcHAoMjI0KSA6IHN0YXRpYyB2b2lkIFdlYkNvcmU6
OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q6OmFzc2VydENvcnJlY3RWYWx1ZShX
ZWJDb3JlOjpJbnNwZWN0b3JWYWx1ZSopClNUREVSUjogMSAgIDB4N2ZiZjlkZjg0ZjcxIFdlYkNv
cmU6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q6OmFzc2VydENvcnJlY3RWYWx1
ZShXZWJDb3JlOjpJbnNwZWN0b3JWYWx1ZSopClNUREVSUjogMiAgIDB4N2ZiZjlkMzU0ZjYzIFdl
YkNvcmU6OlR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q6OnJ1bnRpbWVDYXN0KFdU
Rjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpJbnNwZWN0b3JWYWx1ZT4pClNUREVSUjogMyAgIDB4N2Zi
ZjlkMzU0OTY2IFdlYkNvcmU6OkluamVjdGVkU2NyaXB0Ojp3cmFwT2JqZWN0KFdlYkNvcmU6OlNj
cmlwdFZhbHVlIGNvbnN0JiwgV1RGOjpTdHJpbmcgY29uc3QmLCBib29sKSBjb25zdApTVERFUlI6
IDQgICAweDdmYmY5ZDMzZDU2MCBXZWJDb3JlOjpDb25zb2xlTWVzc2FnZTo6YWRkVG9Gcm9udGVu
ZChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29sZSosIFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlciosIGJvb2wpClNUREVSUjogNSAgIDB4N2ZiZjlkMzhjZGY3IFdlYkNvcmU6
Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2UoV1RGOjpQYXNzT3duUHRy
PFdlYkNvcmU6OkNvbnNvbGVNZXNzYWdlPikKU1RERVJSOiA2ICAgMHg3ZmJmOWQzOGJkMDEgV2Vi
Q29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6
Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2
ZWwsIFdURjo6U3RyaW5nIGNvbnN0JiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcmlwdEFy
Z3VtZW50cz4sIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTY3JpcHRDYWxsU3RhY2s+KQpTVERF
UlI6IDcgICAweDdmYmY5ZDNjYWUwNiBXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHMqLCBX
ZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVz
c2FnZUxldmVsLCBXVEY6OlN0cmluZyBjb25zdCYsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpT
Y3JpcHRBcmd1bWVudHM+LCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2NyaXB0Q2FsbFN0YWNr
PikKU1RERVJSOiA4ICAgMHg3ZmJmOWQ0ZTQyNWUgV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpNZXNz
YWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBX
VEY6OlN0cmluZyBjb25zdCYsIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTY3JpcHRBcmd1bWVu
dHM+LCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2NyaXB0Q2FsbFN0YWNrPikKU1RERVJSOiA5
ICAgMHg3ZmJmOWQ0ZTM1ZGUgV2ViQ29yZTo6Q29uc29sZTo6YWRkTWVzc2FnZShXZWJDb3JlOjpN
ZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29y
ZTo6U2NyaXB0QXJndW1lbnRzPiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcmlwdENhbGxT
dGFjaz4sIGJvb2wpClNUREVSUjogMTAgIDB4N2ZiZjlkNGUzN2YwIFdlYkNvcmU6OkNvbnNvbGU6
OmxvZyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2NyaXB0QXJndW1lbnRzPiwgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OlNjcmlwdENhbGxTdGFjaz4pClNUREVSUjogMTEgIDB4N2ZiZjlkZDNh
ODQ1IFdlYkNvcmU6OmpzQ29uc29sZVByb3RvdHlwZUZ1bmN0aW9uTG9nKEpTQzo6RXhlY1N0YXRl
KikKU1RERVJSOiAxMiAgMHg3ZmJmNGU0ZGYyNjUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>177112</attachid>
            <date>2012-12-01 13:36:42 -0800</date>
            <delta_ts>2012-12-01 13:36:42 -0800</delta_ts>
            <desc>Screenshot showing that the length of an array is inconsistent.</desc>
            <filename>bug-chrome.png</filename>
            <type>image/png</type>
            <size>13291</size>
            <attacher name="Rohit Banga">iamrohitbanga</attacher>
            
              <data encoding="base64">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
AABJRU5ErkJggg==
</data>

          </attachment>
      

    </bug>

</bugzilla>