<?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>9179</bug_id>
          
          <creation_ts>2006-05-30 21:04:31 -0700</creation_ts>
          <short_desc>Implement select.options.add() method</short_desc>
          <delta_ts>2007-12-26 16:45:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/add.asp</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>9177</blocked>
    
    <blocked>9717</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ap</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>44080</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-05-30 21:04:31 -0700</bug_when>
    <thetext>This appears to be an IE extension of the select.options array.

This is the first (and so far only) error reported to the JavaScript console when opening the Kupu nightly URL (see above).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44081</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-05-30 21:19:02 -0700</bug_when>
    <thetext>Kupu nightly that causes error:

http://debris.demon.nl:7080/kupu_nightly/kupu/common/kupu.cgi
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46532</commentid>
    <comment_count>2</comment_count>
      <attachid>8941</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 04:48:19 -0700</bug_when>
    <thetext>Created attachment 8941
Patch v1 (for review only!)

This is a first-pass patch at the options.add() implementation.  I&apos;m only looking for feedback now, and I expect this patch to get an r-.  This patch should NOT be applied to SVN.

Changes:

- Removed poorly-named HTMLSelectCollection class from kjs_html.cpp.  Added IDL for HTMLOptionsCollection.
- Fixed names of &quot;HTMLCollectionProto*&quot; items in kjs_html.cpp to add &quot;JS&quot; prefix to match naming conventions.
- Added new &quot;HasCustomIndexSetter&quot; to CodeGenereratorJS.pm which expects an indexSetter() method to be available on the JS object.  (I don&apos;t really like the name &quot;HasCustomIndexSetter&quot; because there is no &quot;HasIndexSetter&quot; default implementation, but I wasn&apos;t sure if that would happen when HTMLCollection was extracted from kjs_html.cpp.)
- Added new lookupPutWithIndex() template in lookup.h (blatantly copied from lookupPut() template).  I don&apos;t like the code duplication, but wasn&apos;t sure of a better way to do this off the top of my head.
- All current layout tests pass with this patch; only the new options.add() feature is not fully tested (see below).

Known issues:

- Layout tests are not complete and are still failing in some cases.  I will flesh them out per the MS spec and do more testing on Firefox and MSIE to make sure I match their behavior.
- There seems to be some code duplication between the HTMLSelect and HTMLCollection regarding the management of the Option element list.  I&apos;m wondering if I should clean that up while I&apos;m digging around in this part of the code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46534</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 04:56:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; - There seems to be some code duplication between the HTMLSelect and
&gt; HTMLCollection regarding the management of the Option element list.  I&apos;m
&gt; wondering if I should clean that up while I&apos;m digging around in this part of
&gt; the code?

This is why there is only a setLength() method on HTMLOptionsCollection and not a length(), since the HTMLCollection::length() method handles that.  I could have added HTMLOptionsCollection::length() and called the method on the HTMLSelectElement instead, but wasn&apos;t sure which way was better (due to the code duplication).

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46544</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 06:28:36 -0700</bug_when>
    <thetext>Copying Anders since he&apos;s been doing and reviewing a lot of the IDL work lately.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46568</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-21 12:27:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Known issues:
&gt; 
&gt; - Layout tests are not complete and are still failing in some cases.  I will
&gt; flesh them out per the MS spec and do more testing on Firefox and MSIE to make
&gt; sure I match their behavior.

That is, only the NEW layout tests for the options.add() feature are failing.  The existing layout tests all pass.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46912</commentid>
    <comment_count>6</comment_count>
      <attachid>8941</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-23 21:22:42 -0700</bug_when>
    <thetext>Comment on attachment 8941
Patch v1 (for review only!)

Nice!

There&apos;s code here that says WebCore::Node inside namespace WebCore -- no need for that. Also formatted wrong (* should be next to node).

Why is kjs_binding.h now including Node.h? I&apos;d like to avoid that if at all possible! Can the .cpp file that depends on Node.h include it instead, or does the header now somehow depend on it?

+    // FIXME: Does this work without the if/else statement?

What does that comment mean?

+        select-&gt;setOption(unsigned(index), static_cast&lt;HTMLOptionElement*&gt;(node.get()), ec);

I&apos;m not fond of the cast syntax here. Also, what does this function do if the node is not an option element? Casting an object that&apos;s not of the right type can end up creating memory-trashing bugs, so there needs to be some level of code that checks (or somehow guarantees) the type before casting.

+    int selectedIndex();

Should be const.

+    void setSelectedIndex(int index);

Should omit the word &quot;index&quot; here.

I think it&apos;s a little ugly to have to add a new variant of lookupPut here. Especially as it hard-wires the name indexSetter, which doesn&apos;t exist anywhere in KJS. One possibility would be to make a version of lookupPut that just returns a boolean, false, if it&apos;s not found in the lookup table. Then, the call to indexSetter could be in the WebCore (generated) code. I think that would be a little cleaner, although perhaps a tiny bit slower since there&apos;d be an additional if statement.

+    HTMLOptionsCollection* impl = static_cast&lt;HTMLOptionsCollection*&gt;(JSHTMLOptionsCollection::impl());

How about using a different name for the local variable than the function so we can avoid that big JSHTMLOptionsCollection::impl() mouthful? Maybe &quot;imp&quot;? And maybe the generated code could get the type right so we wouldn&apos;t need casting and local variables?

+        newLength = unsigned(floor(lengthValue));

I know this was not new code, but the call to floor here is unnecessary, since floor is what a cast to unsigned will do when the number is greater than or equal to zero. It also would be good to have a check for a value too large to fit in an unsigned and do something predictable in that case rather than just truncating the number.

+    if (value-&gt;isUndefinedOrNull()) {
+        base-&gt;remove(index);
+    } else {

We don&apos;t use braces around one-line if statements.

Why does getHTMLOptionsCollection still take an HTMLCollection parameter instead of an HTMLOptionsCollection parameter? What if the caller passes an HTMLCollection that&apos;s not an HTMLOptionsCollection? Again, casting in such cases is dangerous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47108</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-25 07:19:35 -0700</bug_when>
    <thetext>While writing test cases for this bug, I found a bug that crashes Firefox:

https://bugzilla.mozilla.org/show_bug.cgi?id=342677

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47197</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-25 20:38:12 -0700</bug_when>
    <thetext>Anders, Eric, I need help/an idea on how to solve a specific problem.

The options.add() function can take one or two arguments, the second one being optional.  The second argument is an integer, but when the second argument (through JavaScript) is not provided, it is sent as zero, but that&apos;s indistinguishable from a real argument.

What&apos;s the best way to handle a situation like this in the IDL?  Is there a way to send an Integer object as a JSValue to the Node class method (HTMLOptionsCollection::add()) instead of an &apos;int&apos; so I know when it&apos;s not set?  Or is there a way to pass in the number of original arguments sent via the JavaScript function?  Thanks!

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47709</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-29 04:22:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; What&apos;s the best way to handle a situation like this in the IDL?  Is there a way
&gt; to send an Integer object as a JSValue to the Node class method
&gt; (HTMLOptionsCollection::add()) instead of an &apos;int&apos; so I know when it&apos;s not
&gt; set?  Or is there a way to pass in the number of original arguments sent via
&gt; the JavaScript function?  Thanks!

A commit log comment for Bug 8227 mentions that method overloading may be a better long-term approach to optional arguments in JavaScript functions, which is the same conclusion I reached after thinking about this problem for a few days.  I will try to fix the above problem by teaching CodeGeneratorJS.pm about overloaded methods.  Here&apos;s Maciej&apos;s comment from that commit (r13726):

* bindings/scripts/CodeGeneratorJS.pm: Added support for ConvertUndefinedToTrue, for benefit of scroll methods where omitted arguments should be treated as true.  However, maybe explicit overloading in the IDL would be a better long-term approach for optional arguments.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47991</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-02 05:18:02 -0700</bug_when>
    <thetext>Committed revision 15137.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47992</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-02 05:19:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Committed revision 15137.

Whoops!  Wrong bug!  That was meant for Bug 9654.
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48090</commentid>
    <comment_count>12</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-03 10:18:29 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 8941 [edit])

Changes in the next patch:

&gt; There&apos;s code here that says WebCore::Node inside namespace WebCore -- no need
&gt; for that. Also formatted wrong (* should be next to node).

Fixed in next patch by using generated toHTMLOptionElement() converter method.

&gt; Why is kjs_binding.h now including Node.h? I&apos;d like to avoid that if at all
&gt; possible! Can the .cpp file that depends on Node.h include it instead, or does
&gt; the header now somehow depend on it?

This was fixed when I added the &quot;GenerateNativeConverter&quot; attribute to HTMLOptionElement.idl and updatedTypeCanFailConversion() in CodeGeneratorJS.pm to include HTMLOptionElement.

&gt; +    // FIXME: Does this work without the if/else statement?
&gt; 
&gt; What does that comment mean?

This was an implementation FIXME comment since I didn&apos;t have the full test suite completed.  It has been removed.

&gt; +        select-&gt;setOption(unsigned(index),
&gt; static_cast&lt;HTMLOptionElement*&gt;(node.get()), ec);
&gt;
&gt; I&apos;m not fond of the cast syntax here. Also, what does this function do if the
&gt; node is not an option element? Casting an object that&apos;s not of the right type
&gt; can end up creating memory-trashing bugs, so there needs to be some level of
&gt; code that checks (or somehow guarantees) the type before casting.

This was also fixed with the native converter for HTMLOptionElement, which does a safe type check in the generated code before passing the argument into this method.  It sets the value of the element to zero if it isn&apos;t an HTMLOptionElement.

&gt; +    int selectedIndex();
&gt;
&gt; Should be const.

Fixed.

&gt; +    void setSelectedIndex(int index);
&gt; 
&gt; Should omit the word &quot;index&quot; here.

Fixed.

&gt; I think it&apos;s a little ugly to have to add a new variant of lookupPut here.
&gt; Especially as it hard-wires the name indexSetter, which doesn&apos;t exist anywhere
&gt; in KJS. One possibility would be to make a version of lookupPut that just
&gt; returns a boolean, false, if it&apos;s not found in the lookup table. Then, the call
&gt; to indexSetter could be in the WebCore (generated) code. I think that would be
&gt; a little cleaner, although perhaps a tiny bit slower since there&apos;d be an
&gt; additional if statement.

Fixed by extracting a lookupPut() method that returns a bool if the entry in the lookup table is not found.

&gt; +    HTMLOptionsCollection* impl =
&gt; static_cast&lt;HTMLOptionsCollection*&gt;(JSHTMLOptionsCollection::impl());
&gt; 
&gt; How about using a different name for the local variable than the function so we
&gt; can avoid that big JSHTMLOptionsCollection::impl() mouthful? Maybe &quot;imp&quot;? And
&gt; maybe the generated code could get the type right so we wouldn&apos;t need casting
&gt; and local variables?

Fixed in JSHTMLOptionsCollectionCustom.cpp as well as CodeGeneratorJS.pm for all generated code.

&gt; +        newLength = unsigned(floor(lengthValue));
&gt; 
&gt; I know this was not new code, but the call to floor here is unnecessary, since
&gt; floor is what a cast to unsigned will do when the number is greater than or
&gt; equal to zero. It also would be good to have a check for a value too large to
&gt; fit in an unsigned and do something predictable in that case rather than just
&gt; truncating the number.

Removed floor() method.  Added check for UINT_MAX overflow.

&gt; +    if (value-&gt;isUndefinedOrNull()) {
&gt; +        base-&gt;remove(index);
&gt; +    } else {
&gt; 
&gt; We don&apos;t use braces around one-line if statements.

Fixed this as well as some other &apos;*&apos; operator placement issues.

&gt; Why does getHTMLOptionsCollection still take an HTMLCollection parameter
&gt; instead of an HTMLOptionsCollection parameter? What if the caller passes an
&gt; HTMLCollection that&apos;s not an HTMLOptionsCollection? Again, casting in such
&gt; cases is dangerous.

Fixed the collection argument to the getHTMLOptionsCollection() method.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48092</commentid>
    <comment_count>13</comment_count>
      <attachid>9169</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-03 10:47:45 -0700</bug_when>
    <thetext>Created attachment 9169
Test results from Firefox 1.5.0.4

This page contains the test results for Firefox 1.5.0.4.  They all pass with the following exceptions:

- Firefox 1.5.0.4 crashes if &apos;null&apos; is passed into the options.add() method.  This will be fixed in Firefox 1.5.0.5:

https://bugzilla.mozilla.org/show_bug.cgi?id=342677

- Firefox 1.5.0.4 does not throw a &quot;type mismatch&quot; exception for passing primitive types into the options.add() method.  This will also be fixed by the patch for 342677.

- Firefox 1.5.0.4 doesn&apos;t support the innerText property, so the test was changed to textContent to make the test pass.  (MSIE 6 doesn&apos;t support textContext.)  Filed a Firefox bug to cover this.

https://bugzilla.mozilla.org/show_bug.cgi?id=343357</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48093</commentid>
    <comment_count>14</comment_count>
      <attachid>9170</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-03 10:52:17 -0700</bug_when>
    <thetext>Created attachment 9170
Test results from MSIE 6 (via MS Word)

This page contains the test results for MSIE 6.  The tests all pass with the following exceptions:

- MSIE 6 doesn&apos;t allow you to call options.add() after setting &apos;value&apos; or &apos;innerText&apos; properties on the element.  (Firefox 1.5.0.4 does, though.)

Note that I had to copy and paste the results into MS Word (then save the Word document as HTML) to get the results in HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48102</commentid>
    <comment_count>15</comment_count>
      <attachid>9174</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-03 12:05:54 -0700</bug_when>
    <thetext>Created attachment 9174
Patch v2

Updates since Patch v1 not covered in Comment #12:

- Implemented IDL function overloading by introducing the &quot;Optional&quot; extended attribute for parameters.  Updated the GenerateImplementation() subroutine in CodeGeneratorJS.pm to incrementally check the argument list count as it processes optional parameters to determine when the argument list is complete.  Extracted the GenerateImplementationFunctionCall() subroutine.  Note that the &quot;Optional&quot; attribute only has to be listed on one argument since all others following it are assumed to be optional as well.

- Added ChangeLog entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48108</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-03 14:41:41 -0700</bug_when>
    <thetext>See Bug 9717 for an example use of the new &quot;Optional&quot; parameter attribute.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48118</commentid>
    <comment_count>17</comment_count>
      <attachid>9174</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-03 18:02:14 -0700</bug_when>
    <thetext>Comment on attachment 9174
Patch v2

The reason getNumber returns a boolean is so that you don&apos;t have to make a separate call to isNumber. And we don&apos;t use the function call syntax for type casts -- instead we use C++ cast syntax. So this:

+    if (value-&gt;isNumber()) {
+        double lengthValue;
+        value-&gt;getNumber(lengthValue);
+        if (lengthValue &lt; 0.0)
+            return;
+        if (lengthValue &gt; double(UINT_MAX))
+            newLength = UINT_MAX;
+        else
+            newLength = unsigned(lengthValue);
+    }

should be:

    double lengthValue;
    if (value-&gt;getNumber(lengthValue)) {
        if (lengthValue &lt; 0.0)
            return;
        if (lengthValue &gt; static_cast&lt;double&gt;(UINT_MAX))
            newLength = UINT_MAX;
        else
            newLength = static_cast&lt;unsigned&gt;(lengthValue);
    }

I&apos;d like to see tests that cover a few more of the branches, for example setting length to infinity and NaN. The code makes infinite try to set it to UINT_MAX, NaN sets it to 0, although -1 doesn&apos;t change the existing length. Is that really the behavior we want? If so, then lets make sure tests exercise those cases and perhaps try them in other browsers.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48170</commentid>
    <comment_count>18</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-04 05:49:01 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 9174 [edit])
&gt; The reason getNumber returns a boolean is so that you don&apos;t have to make a
&gt; separate call to isNumber. And we don&apos;t use the function call syntax for type
&gt; casts -- instead we use C++ cast syntax. So this:
&gt; 
&gt; +    if (value-&gt;isNumber()) {
&gt; +        double lengthValue;
&gt; +        value-&gt;getNumber(lengthValue);
&gt; +        if (lengthValue &lt; 0.0)
&gt; +            return;
&gt; +        if (lengthValue &gt; double(UINT_MAX))
&gt; +            newLength = UINT_MAX;
&gt; +        else
&gt; +            newLength = unsigned(lengthValue);
&gt; +    }
&gt; 
&gt; should be:
&gt; 
&gt;     double lengthValue;
&gt;     if (value-&gt;getNumber(lengthValue)) {
&gt;         if (lengthValue &lt; 0.0)
&gt;             return;
&gt;         if (lengthValue &gt; static_cast&lt;double&gt;(UINT_MAX))
&gt;             newLength = UINT_MAX;
&gt;         else
&gt;             newLength = static_cast&lt;unsigned&gt;(lengthValue);
&gt;     }

This change causes a regression in fast/dom/select-selectedIndex-multiple.html.  I will investigate why.

&gt; I&apos;d like to see tests that cover a few more of the branches, for example
&gt; setting length to infinity and NaN. The code makes infinite try to set it to
&gt; UINT_MAX, NaN sets it to 0, although -1 doesn&apos;t change the existing length. Is
&gt; that really the behavior we want? If so, then lets make sure tests exercise
&gt; those cases and perhaps try them in other browsers.

I&apos;ll write some more tests before this patch lands.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48202</commentid>
    <comment_count>19</comment_count>
      <attachid>9174</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-04 15:21:20 -0700</bug_when>
    <thetext>Comment on attachment 9174
Patch v2

I&apos;ve got some improved tests for this patch which changed JSHTMLOptionsCollectionCustom.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49046</commentid>
    <comment_count>20</comment_count>
      <attachid>9325</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:26:45 -0700</bug_when>
    <thetext>Created attachment 9325
Patch v3

Changes since Patch v2:

- Added more test cases specifically targeting -Infinity, NaN and +Infinity in fast/dom/select-selectedIndex-multiple.html and fast/js/select-options-add.html.
- Made sure fast/dom/select-selectedIndex.html was kept in sync with test cases from select-selectedIndex-multiple.html.
- Overloaded KJS::JSValue::toInt32() to take a boolean &apos;Ok&apos; argument to flag when zero is returned for a float with a value of +-Infinity or NaN.
- Setting the options.length to a negative value now throws an exception.  (This mimics MSIE 6, but differs from Firefox 1.5.0.x.)
- Passing anything other than an option element to options.add() causes an exception to be thrown for all cases now (including +-Infinity and NaN, which were being valued to zero before; this is where the new toInt32() method is used to trap these values as errors).
- Changed overloaded function feature in CodeGeneratorJS.pm to use &quot;argCount &lt;&quot; instead of &quot;argCount ==&quot; comparison.
- Changed CanFailTypeConversion() in CodeGeneratorJS.pm to return true for &quot;unsigned long&quot; and &quot;long&quot; types.  (They now use the new toInt32() overloaded method.)
- Changed JSValueToNative() in CodeGeneratorJS.pm to use new toInt32() overloaded method.

All layout tests still pass with these changes.  Will upload Firefox 1.5.0.5rc3 and MSIE 6 test results next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49047</commentid>
    <comment_count>21</comment_count>
      <attachid>9326</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:38:23 -0700</bug_when>
    <thetext>Created attachment 9326
Firefox 1.5.0.5rc3 results for fast/js/select-options-add.html

Differences from WebKit with Patch v3:

- Calling options.add() with an index value of -Infinity, NaN or +Infinity causes the script to halt execution rather than throwing an exception (2.9, 2.10, 2.11).  See this bug for details:  https://bugzilla.mozilla.org/show_bug.cgi?id=344067.  Note that this is fixed in the latest 3.0a1 Firefox nightly as of July 9, 2006.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49048</commentid>
    <comment_count>22</comment_count>
      <attachid>9327</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:41:36 -0700</bug_when>
    <thetext>Created attachment 9327
Firefox 1.5.0.5rc3 results for fast/js/select-selectedIndex-multiple.html

Differences from WebKit with Patch v3:

- Setting options.length to -1 does not throw an exception in Firefox 1.5.0.5rc3.  In WebKit, it will throw an exception.  (MSIE 6 also throws an exception.)  See this bug for more details:  https://bugzilla.mozilla.org/show_bug.cgi?id=344060.  (At least one person doesn&apos;t think it should throw an exception on the Moz side.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49049</commentid>
    <comment_count>23</comment_count>
      <attachid>9328</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:42:15 -0700</bug_when>
    <thetext>Created attachment 9328
Firefox 1.5.0.5rc3 results for fast/js/select-selectedIndex.html

Differences from WebKit with Patch v3:

- Setting options.length to -1 does not throw an exception in Firefox 1.5.0.5rc3.  In WebKit, it will throw an exception.  (MSIE 6 also throws an exception.)  See this bug for more details:  https://bugzilla.mozilla.org/show_bug.cgi?id=344060.  (At least one person doesn&apos;t think it should throw an exception on the Moz side.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49050</commentid>
    <comment_count>24</comment_count>
      <attachid>9329</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:45:31 -0700</bug_when>
    <thetext>Created attachment 9329
MSIE 6 results for fast/js/select-options-add.html

Differences from WebKit with Patch v3:

- None.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49051</commentid>
    <comment_count>25</comment_count>
      <attachid>9330</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:51:10 -0700</bug_when>
    <thetext>Created attachment 9330
MSIE 6 results for fast/js/select-selectedIndex-multiple.html

Differences from WebKit with Patch v3:

- Setting &apos;select.options[N] = undefined&apos; causes the script to halt execution at that point.  WebKit matches Firefox in this case, though, and does nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49052</commentid>
    <comment_count>26</comment_count>
      <attachid>9331</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 22:53:30 -0700</bug_when>
    <thetext>Created attachment 9331
MSIE 6 results for fast/js/select-selectedIndex.html

Differences from WebKit with Patch v3:

- Setting &apos;select.options[N] = undefined&apos; causes the script to halt execution at that point.  WebKit matches Firefox in this case, though, and does nothing.
- The select.selectedIndex value differs in many tests, but WebKit matches Firefox behavior in every case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49055</commentid>
    <comment_count>27</comment_count>
      <attachid>9325</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-09 23:32:56 -0700</bug_when>
    <thetext>Comment on attachment 9325
Patch v3

This seems nearly perfect even though I have a few minor quibbles.

I&apos;m concerned about adding another level of function call for every caller of toInt32, which might be hot. Maybe just repeat the code twice?

I think the bool&amp; parameter&apos;s purpose is not self-explanatory and so I think it should have a name in the header.

I don&apos;t see the code to set $maybeOkParam!

+    return 1; # 0; # or can it?

The above line of code is confusing, even more than it was before.

This is getting really close, but review- for now for at least some of these questions.

This change looks really great. Lets get it landed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49095</commentid>
    <comment_count>28</comment_count>
      <attachid>9339</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-10 07:34:52 -0700</bug_when>
    <thetext>Created attachment 9339
Patch v4

Changes since Patch v3:

(In reply to comment #27)
&gt; (From update of attachment 9325 [edit])
&gt; I&apos;m concerned about adding another level of function call for every caller of
&gt; toInt32, which might be hot. Maybe just repeat the code twice?

I hate duplicating code.  I made the one-argument method inline in value.h.  Is that okay?

&gt; I think the bool&amp; parameter&apos;s purpose is not self-explanatory and so I think it
&gt; should have a name in the header.

Added.

&gt; I don&apos;t see the code to set $maybeOkParam!

This value is set from the return value of TypeCanFailConversion(), which is the line of code in question below.

&gt; +    return 1; # 0; # or can it?
&gt; 
&gt; The above line of code is confusing, even more than it was before.

Sorry...I left the old code in when first attempting to change the value.  I removed &quot;# 0; # or can it?&quot; in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49096</commentid>
    <comment_count>29</comment_count>
      <attachid>9339</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-10 07:38:27 -0700</bug_when>
    <thetext>Comment on attachment 9339
Patch v4

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49149</commentid>
    <comment_count>30</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-10 20:11:32 -0700</bug_when>
    <thetext>Committed revision 15321.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50494</commentid>
    <comment_count>31</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-21 10:58:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/4383595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65316</commentid>
    <comment_count>32</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-12-26 16:45:49 -0800</bug_when>
    <thetext>FWIW, the bug for implementing select.options.remove() is Bug 9683.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8941</attachid>
            <date>2006-06-21 04:48:19 -0700</date>
            <delta_ts>2006-07-03 12:05:54 -0700</delta_ts>
            <desc>Patch v1 (for review only!)</desc>
            <filename>bug-9179-v1.diff</filename>
            <type>text/plain</type>
            <size>36391</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9sb29rdXAuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2Ny
aXB0Q29yZS9ranMvbG9va3VwLmgJKHJldmlzaW9uIDE0OTQxKQorKysgSmF2YVNjcmlwdENvcmUv
a2pzL2xvb2t1cC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTIsNiArMjUyLDMxIEBAIG5hbWVzcGFj
ZSBLSlMgewogICAgICAgdGhpc09iai0+cHV0VmFsdWVQcm9wZXJ0eShleGVjLCBlbnRyeS0+dmFs
dWUsIHZhbHVlLCBhdHRyKTsKICAgfQogCisgIC8qKgorICAgKiBUaGlzIG9uZSBpcyBmb3IgInB1
dCIgd2l0aCBjb2xsZWN0aW9ucyB0aGF0IGhhdmUgd3JpdGFibGUgaW5kaWNlcy4KKyAgICogTG9v
a3VwIGhhc2ggZW50cnkgZm9yIHByb3BlcnR5IHRvIGJlIHNldCwgYW5kIHNldCB0aGUgdmFsdWUu
CisgICAqLworICB0ZW1wbGF0ZSA8Y2xhc3MgVGhpc0ltcD4KKyAgaW5saW5lIHZvaWQgbG9va3Vw
UHV0V2l0aEluZGV4KEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVydHlO
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSAqdmFsdWUsIGludCBhdHRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiB0YWJsZSwgVGhpc0ltcCog
dGhpc09iaikKKyAgeworICAgIGNvbnN0IEhhc2hFbnRyeSogZW50cnkgPSBMb29rdXA6OmZpbmRF
bnRyeSh0YWJsZSwgcHJvcGVydHlOYW1lKTsKKworICAgIGlmICghZW50cnkpIC8vIG5vdCBmb3Vu
ZDogZm9yd2FyZCB0byBwYXJlbnQKKyAgICAgIHRoaXNPYmotPmluZGV4U2V0dGVyKGV4ZWMsIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOworICAgIGVsc2UgaWYgKGVudHJ5LT5hdHRyICYgRnVu
Y3Rpb24pIC8vIGZ1bmN0aW9uOiBwdXQgYXMgb3ZlcnJpZGUgcHJvcGVydHkKKyAgICAgIHRoaXNP
YmotPkpTT2JqZWN0OjpwdXQoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cik7CisgICAg
ZWxzZSBpZiAoZW50cnktPmF0dHIgJiBSZWFkT25seSkgLy8gcmVhZG9ubHkhIENhbid0IHB1dCEK
KyNpZmRlZiBLSlNfVkVSQk9TRQorICAgICAgZnByaW50ZihzdGRlcnIsIldBUk5JTkc6IEF0dGVt
cHQgdG8gY2hhbmdlIHZhbHVlIG9mIHJlYWRvbmx5IHByb3BlcnR5ICclcydcbiIscHJvcGVydHlO
YW1lLmFzY2lpKCkpOworI2Vsc2UKKyAgICAgIDsgLy8gZG8gbm90aGluZworI2VuZGlmCisgICAg
ZWxzZQorICAgICAgdGhpc09iai0+cHV0VmFsdWVQcm9wZXJ0eShleGVjLCBlbnRyeS0+dmFsdWUs
IHZhbHVlLCBhdHRyKTsKKyAgfQorCiB9IC8vIG5hbWVzcGFjZQogCiAvKgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4
LW11bHRpcGxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTQ5NDEpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTQgKzEsMTkgQEAKIAorMSkgc2V0dGluZyBsZW5ndGggdG8gYSBuZWdh
dGl2ZSBsZW5ndGgKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxl
bmd0aAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA1CiBQQVNTIG15U2VsZWN0LnNl
bGVjdGVkSW5kZXggaXMgMAorMykgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aAog
UEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVk
SW5kZXggaXMgMAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxCiBQQVNTIG15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorNCkgc2V0dGluZyBsZW5ndGggdG8gdGhlIHNhbWUgbGVu
Z3RoCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCBpcyAwCis1KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZXMg
KG51bGwsCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1MgbXlTZWxlY3Qu
c2VsZWN0ZWRJbmRleCBpcyAtMQogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCkBA
IC0xNywxMCArMjIsMTMgQEAgUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCiBQQVNT
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMgogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzYpIHNldHRpbmcgYW4g
ZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdAogUEFTUyBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4
IGlzIDAKKzcpIHNldHRpbmcgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBpbmRleAogUEFTUyBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlz
IDAKKzgpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbgogUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMAogUEFTUyBteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IGlzIDAKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlw
bGUuaHRtbAkocmV2aXNpb24gMTQ5NDEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qt
c2VsZWN0ZWRJbmRleC1tdWx0aXBsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiwxNiArMTIs
MTcgQEAgZnVuY3Rpb24gcmVzZXQobXlTZWxlY3QpIHsKIHZhciBteVNlbGVjdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVnKCIxKSBz
ZXR0aW5nIGxlbmd0aCB0byBhIG5lZ2F0aXZlIGxlbmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5s
ZW5ndGggPSAtMTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBz
aG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDEpIHNldHRpbmcg
bGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aAorZGVidWcoIjIpIHNldHRpbmcgbGVuZ3RoIHRvIGEg
bGFyZ2VyIGxlbmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSA1Owogc2hvdWxkQmUo
Im15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjUiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IiwgIjAiKTsKIAotLy8gMikgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxl
bmd0aAorZGVidWcoIjMpIHNldHRpbmcgbGVuZ3RoIHRvIGEgc21hbGxlciBsZW5ndGgiKTsKIG15
U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMjsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CkBA
IC0zMSwxMiArMzIsMTIgQEAgc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEi
KQogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogcmVzZXQobXlTZWxl
Y3QpOwogCi0vLyAzKSBzZXR0aW5nIGxlbmd0aCB0byB0aGUgc2FtZSBsZW5ndGgKK2RlYnVnKCI0
KSBzZXR0aW5nIGxlbmd0aCB0byB0aGUgc2FtZSBsZW5ndGgiKTsKIG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoID0gMjsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBz
aG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDQpIHNldHRpbmcg
bGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlcyAobnVsbCwKK2RlYnVnKCI1KSBzZXR0aW5nIGxl
bmd0aCB0byBub24taW50ZWdlciB2YWx1ZXMgKG51bGwsIik7CiAvLyB1bmRlZmluZWQsIG5vbi1u
dW1lcmljIHN0cmluZywgZmxvYXRpbmcgcG9pbnQgbnVtYmVyKQogbXlTZWxlY3Qub3B0aW9ucy5s
ZW5ndGggPSBudWxsOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsK
QEAgLTU3LDE3ICs1OCwxNyBAQCBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IDIuMTsKIHNob3Vs
ZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Qu
c2VsZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDUpIHNldHRpbmcgYW4gZWxlbWVudCBieSBpbmRl
eCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdAorZGVidWcoIjYpIHNldHRpbmcgYW4g
ZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdCIpOwogbXlT
ZWxlY3Qub3B0aW9uc1sxMF0gPSBuZXcgT3B0aW9uKCJ0ZW4iLCAidmFsdWUiLCB0cnVlLCB0cnVl
KTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMSIpOwogc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogCi0vLyA2KSBzZXR0aW5nIGFuIGV4aXN0
aW5nIGVsZW1lbnQgYnkgaW5kZXgKK2RlYnVnKCI3KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1l
bnQgYnkgaW5kZXgiKTsKIG15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbXlTZWxlY3Qub3B0aW9uc1sx
MF07CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTEiKTsKIHNob3VsZEJl
KCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8gNykgdHJ5aW5nIHRvIHNldCBh
biBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uCitkZWJ1ZygiOCkgdHJ5aW5nIHRvIHNldCBh
biBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uIik7CiAvLyBlbGVtZW50IChudWxsLCB1bmRl
ZmluZWQsIG90aGVyIGtpbmRzIG9mIG9iamVjdHMsIG90aGVyIGtpbmRzIG9mIGVsZW1lbnRzKQog
bXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBudWxsOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIiwgIjEwIik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25z
LWFkZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxl
Y3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDU2IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUgYWRkKCkg
bWV0aG9kIG9uIHRoZSBzZWxlY3Qub3B0aW9ucyBvYmplY3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisxLjAgQWRkIE9wdGlvbiB0byBFbXB0eSBPcHRpb25zCitQQVNTIHNlbGVj
dDEub3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUgaXMg
JzEnCitQQVNTIHNlbGVjdDEub3B0aW9uc1swXS5pbm5lclRleHQgaXMgJ0EnCisKKzIuMCBBZGQg
T3B0aW9uIHRvIE5vbi1FbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgMgorRkFJTCBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgc2hvdWxkIGJlIDEgKG9mIHR5cGUg
c3RyaW5nKS4gV2FzIDIgKG9mIHR5cGUgc3RyaW5nKS4KK0ZBSUwgc2VsZWN0Mi5vcHRpb25zWzBd
LmlubmVyVGV4dCBzaG91bGQgYmUgQSAob2YgdHlwZSBzdHJpbmcpLiBXYXMgQiAob2YgdHlwZSBz
dHJpbmcpLgorRkFJTCBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgc2hvdWxkIGJlIDIgKG9mIHR5
cGUgc3RyaW5nKS4gV2FzIDEgKG9mIHR5cGUgc3RyaW5nKS4KK0ZBSUwgc2VsZWN0Mi5vcHRpb25z
WzFdLmlubmVyVGV4dCBzaG91bGQgYmUgQiAob2YgdHlwZSBzdHJpbmcpLiBXYXMgQSAob2YgdHlw
ZSBzdHJpbmcpLgorCiszLjAgQWRkIE9wdGlvbiBhZnRlciBTZXR0aW5nIFBhcmFtZXRlcnMKK0ZB
SUwgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBzaG91bGQgYmUgMiAob2YgdHlwZSBudW1iZXIpLiBX
YXMgMyAob2YgdHlwZSBudW1iZXIpLgorRkFJTCBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgc2hv
dWxkIGJlIDEgKG9mIHR5cGUgc3RyaW5nKS4gV2FzIDIgKG9mIHR5cGUgc3RyaW5nKS4KK0ZBSUwg
c2VsZWN0Mi5vcHRpb25zWzBdLmlubmVyVGV4dCBzaG91bGQgYmUgQSAob2YgdHlwZSBzdHJpbmcp
LiBXYXMgQiAob2YgdHlwZSBzdHJpbmcpLgorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUg
aXMgJzInCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS5pbm5lclRleHQgaXMgJ0InCisKKzQuMCBB
ZGQgYSBub24tT1BUSU9OIGVsZW1lbnQKK0ZBSUwgc2VsZWN0My5vcHRpb25zLmxlbmd0aCBzaG91
bGQgYmUgMiAob2YgdHlwZSBudW1iZXIpLiBXYXMgMSAob2YgdHlwZSBudW1iZXIpLgorUEFTUyBz
ZWxlY3QzLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDMub3B0aW9uc1swXS5p
bm5lclRleHQgaXMgJ0EnCitGQUlMIHNlbGVjdDMub3B0aW9uc1sxXS52YWx1ZSBzaG91bGQgYmUg
Mi4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTnVsbCB2YWx1ZQorRkFJTCBzZWxlY3QzLm9w
dGlvbnNbMV0uaW5uZXJUZXh0IHNob3VsZCBiZSBCLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOdWxsIHZhbHVlCisKKzUuMCBBZGQgYSBub24tZWxlbWVudAorRkFJTCBzZWxlY3QzLm9wdGlv
bnMubGVuZ3RoIHNob3VsZCBiZSAyIChvZiB0eXBlIG51bWJlcikuIFdhcyAxIChvZiB0eXBlIG51
bWJlcikuCitQQVNTIHNlbGVjdDMub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0
My5vcHRpb25zWzBdLmlubmVyVGV4dCBpcyAnQScKK0ZBSUwgc2VsZWN0My5vcHRpb25zWzFdLnZh
bHVlIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOdWxsIHZhbHVlCitG
QUlMIHNlbGVjdDMub3B0aW9uc1sxXS5pbm5lclRleHQgc2hvdWxkIGJlIEIuIFRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE51bGwgdmFsdWUKKworNi4wIEFkZCB1bmRlZmluZWQKK0ZBSUwgc2Vs
ZWN0My5vcHRpb25zLmxlbmd0aCBzaG91bGQgYmUgMiAob2YgdHlwZSBudW1iZXIpLiBXYXMgMSAo
b2YgdHlwZSBudW1iZXIpLgorUEFTUyBzZWxlY3QzLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnCitQ
QVNTIHNlbGVjdDMub3B0aW9uc1swXS5pbm5lclRleHQgaXMgJ0EnCitGQUlMIHNlbGVjdDMub3B0
aW9uc1sxXS52YWx1ZSBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTnVs
bCB2YWx1ZQorRkFJTCBzZWxlY3QzLm9wdGlvbnNbMV0uaW5uZXJUZXh0IHNob3VsZCBiZSBCLiBU
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOdWxsIHZhbHVlCisKKzYuMCBBZGQgbnVsbAorRkFJ
TCBzZWxlY3QzLm9wdGlvbnMubGVuZ3RoIHNob3VsZCBiZSAyIChvZiB0eXBlIG51bWJlcikuIFdh
cyAxIChvZiB0eXBlIG51bWJlcikuCitQQVNTIHNlbGVjdDMub3B0aW9uc1swXS52YWx1ZSBpcyAn
MScKK1BBU1Mgc2VsZWN0My5vcHRpb25zWzBdLmlubmVyVGV4dCBpcyAnQScKK0ZBSUwgc2VsZWN0
My5vcHRpb25zWzFdLnZhbHVlIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOdWxsIHZhbHVlCitGQUlMIHNlbGVjdDMub3B0aW9uc1sxXS5pbm5lclRleHQgc2hvdWxkIGJl
IEIuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE51bGwgdmFsdWUKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNlbGVjdCBpZD0ic2VsZWN0MSI+PC9zZWxl
Y3Q+Cis8c2VsZWN0IGlkPSJzZWxlY3QyIj4KKyAgPG9wdGlvbiB2YWx1ZT0iMSI+QTwvb3B0aW9u
PgorPC9zZWxlY3Q+Cis8c2VsZWN0IGlkPSJzZWxlY3QzIj4KKyAgPG9wdGlvbiB2YWx1ZT0iMSI+
QTwvb3B0aW9uPgorPC9zZWxlY3Q+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NlbGVjdC1vcHRp
b25zLWFkZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1hZGQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpzCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpz
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg4IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3Qg
Y2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUgYWRkKCkgbWV0aG9kIG9uIHRoZSBzZWxlY3Qub3B0
aW9ucyBvYmplY3QuIgorKTsKKworZGVidWcoIjEuMCBBZGQgT3B0aW9uIHRvIEVtcHR5IE9wdGlv
bnMiKTsKK3ZhciBzZWxlY3QxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdDEiKTsK
K3ZhciBvcHRpb24xID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3Qx
Lm9wdGlvbnMuYWRkKG9wdGlvbjEpOworb3B0aW9uMS52YWx1ZSA9ICIxIjsKK29wdGlvbjEuaW5u
ZXJUZXh0ID0gIkEiOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMSIpOwor
c2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnNbMF0uaW5uZXJUZXh0IiwgIidBJyIpOworZGVidWcoIiIpOworCitkZWJ1
ZygiMi4wIEFkZCBPcHRpb24gdG8gTm9uLUVtcHR5IE9wdGlvbnMiKTsKK3ZhciBzZWxlY3QyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdDIiKTsKK3ZhciBvcHRpb24yID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIp
Oworb3B0aW9uMi52YWx1ZSA9ICIyIjsKK29wdGlvbjIuaW5uZXJUZXh0ID0gIkIiOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0uaW5u
ZXJUZXh0IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSIsICIn
MiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0uaW5uZXJUZXh0IiwgIidCJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMy4wIEFkZCBPcHRpb24gYWZ0ZXIgU2V0dGluZyBQYXJhbWV0
ZXJzIik7Cit2YXIgc2VsZWN0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QyIik7
Cit2YXIgb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yKTsKK29wdGlvbjIudmFsdWUgPSAiMiI7CitvcHRpb24yLmlu
bmVyVGV4dCA9ICJCIjsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgi
c2VsZWN0Mi5vcHRpb25zWzBdLmlubmVyVGV4dCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbMV0udmFsdWUiLCAiJzInIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFd
LmlubmVyVGV4dCIsICInQiciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjQuMCBBZGQgYSBub24t
T1BUSU9OIGVsZW1lbnQiKTsKK3ZhciBzZWxlY3QzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InNlbGVjdDMiKTsKK3ZhciBvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIik7
CitvcHRpb24yLnZhbHVlID0gIjIiOworb3B0aW9uMi5pbm5lclRleHQgPSAiQiI7CitzZWxlY3Qz
Lm9wdGlvbnMuYWRkKG9wdGlvbjIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9ucy5sZW5ndGgi
LCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3No
b3VsZEJlKCJzZWxlY3QzLm9wdGlvbnNbMF0uaW5uZXJUZXh0IiwgIidBJyIpOworc2hvdWxkQmUo
InNlbGVjdDMub3B0aW9uc1sxXS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QzLm9w
dGlvbnNbMV0uaW5uZXJUZXh0IiwgIidCJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiNS4wIEFk
ZCBhIG5vbi1lbGVtZW50Iik7Cit2YXIgc2VsZWN0MyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJzZWxlY3QzIik7Cit2YXIgb3B0aW9uMiA9ICJvIjsKK3NlbGVjdDMub3B0aW9ucy5hZGQob3B0
aW9uMik7CitzaG91bGRCZSgic2VsZWN0My5vcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRC
ZSgic2VsZWN0My5vcHRpb25zWzBdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDMu
b3B0aW9uc1swXS5pbm5lclRleHQiLCAiJ0EnIik7CitzaG91bGRCZSgic2VsZWN0My5vcHRpb25z
WzFdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9uc1sxXS5pbm5lclRl
eHQiLCAiJ0InIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCI2LjAgQWRkIHVuZGVmaW5lZCIpOwor
dmFyIHNlbGVjdDMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MyIpOwordmFyIG9w
dGlvbjIgPSB1bmRlZmluZWQ7CitzZWxlY3QzLm9wdGlvbnMuYWRkKG9wdGlvbjIpOworc2hvdWxk
QmUoInNlbGVjdDMub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0
aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJzZWxlY3QzLm9wdGlvbnNbMF0uaW5u
ZXJUZXh0IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9uc1sxXS52YWx1ZSIsICIn
MiciKTsKK3Nob3VsZEJlKCJzZWxlY3QzLm9wdGlvbnNbMV0uaW5uZXJUZXh0IiwgIidCJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiNi4wIEFkZCBudWxsIik7Cit2YXIgc2VsZWN0MyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QzIik7Cit2YXIgb3B0aW9uMiA9IG51bGw7CitzZWxl
Y3QzLm9wdGlvbnMuYWRkKG9wdGlvbjIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9ucy5sZW5n
dGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDMub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsK
K3Nob3VsZEJlKCJzZWxlY3QzLm9wdGlvbnNbMF0uaW5uZXJUZXh0IiwgIidBJyIpOworc2hvdWxk
QmUoInNlbGVjdDMub3B0aW9uc1sxXS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3Qz
Lm9wdGlvbnNbMV0uaW5uZXJUZXh0IiwgIidCJyIpOworZGVidWcoIiIpOworCitzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTQ5NDEpCisr
KyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4
LDcgQEAgYWxsIDogXAogICAgIEpTSFRNTExpbmtFbGVtZW50LmggXAogICAgIEpTSFRNTE1lbnVF
bGVtZW50LmggXAogICAgIEpTSFRNTE9wdGlvbkVsZW1lbnQuaCBcCisgICAgSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaCBcCiAgICAgSlNIVE1MT3B0R3JvdXBFbGVtZW50LmggXAogICAgIEpTSFRN
TFF1b3RlRWxlbWVudC5oIFwKICAgICBKU0hUTUxNYXBFbGVtZW50LmggXApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE0OTQxKQorKysg
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTE1Miw2ICsxNTIsOSBAQAogCQkxQUUyQUVDODBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1M
UXVvdGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUUyQUVDNDBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVvdGVFbGVtZW50LmggKi87
IH07CiAJCTFBRTJBRUU2MEExRDJBNzUwMEI0MkIyNSAvKiBKU0hUTUxCbG9ja3F1b3RlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUy
QUVFNDBBMUQyQTc1MDBCNDJCMjUgLyogSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuY3BwICovOyB9
OwogCQkxQUUyQUVFNzBBMUQyQTc1MDBCNDJCMjUgLyogSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBRUU1
MEExRDJBNzUwMEI0MkIyNSAvKiBKU0hUTUxCbG9ja3F1b3RlRWxlbWVudC5oICovOyB9OworCQk0
NDhBMjlCRjBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEEyOUJEMEE0NkQ5
Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oICovOyB9OworCQk0NDhBMjlD
MDBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ4QTI5QkUwQTQ2RDlDQjAw
MzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcCAqLzsgfTsKKwkJNDQ4QUQyN0Mw
QTQ4MTM3QTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEFEMjdBMEE0ODEz
NzkwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJ
CTRFMTk1OTIxMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkxRjBBMzlEQUJB
MDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovOyB9OwogCQk0RTE5NTkyMjBBMzlE
QUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRp
YUZlYXR1cmVOYW1lcy5oICovOyB9OwogCQk0RTE5NTkyOTBBMzlEQUNDMDAyMjBGRTUgLyogTWVk
aWFRdWVyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAgKi87IH07CkBAIC0x
NzUwLDYgKzE3NTMsOSBAQAogCQkxQUUyQUVFNTBBMUQyQTc1MDBCNDJCMjUgLyogSlNIVE1MQmxv
Y2txdW90ZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRN
TEJsb2NrcXVvdGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2
NjBCMDY2NUQ5MzcwMDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkwNjYw
QzA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJ
NDQ4QTI5QkQwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDhBMjlCRTBBNDZEOUNCMDAzMDc1OUYg
LyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnND
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDc1OEM0NDMwOEM1RjIxNzAwOUJBRjA1IC8qIEtDYW52YXNQYXRoLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gS0NhbnZh
c1BhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJz
ID0gMDsgfTsKIAkJNEUxOTU5MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUZlYXR1cmVO
YW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRFMTk1OTIwMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTM2NTUsNiArMzY2MSw4IEBACiAJCQkJQTgwRTdFOTEwQTFBODNFMzAwN0ZCOEM1IC8qIEpT
SFRNTE9wdEdyb3VwRWxlbWVudC5oICovLAogCQkJCUE4MEU3RTkwMEExQTgzRTMwMDdGQjhDNSAv
KiBKU0hUTUxPcHRpb25FbGVtZW50LmNwcCAqLywKIAkJCQlBODBFN0U4RjBBMUE4M0UzMDA3RkI4
QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5oICovLAorCQkJCTQ0OEEyOUJFMEE0NkQ5Q0IwMDMw
NzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgKi8sCisJCQkJNDQ4QTI5QkQwQTQ2
RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggKi8sCiAJCQkJMUFFMkFC
OUUwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFncmFwaEVsZW1lbnQuY3BwICovLAogCQkJ
CTFBRTJBQjlGMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmggKi8s
CiAJCQkJMUFFMkFCQTAwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFtRWxlbWVudC5jcHAg
Ki8sCkBAIC00ODU0LDYgKzQ4NjIsNyBAQAogCQkJCUE4MEU3RTYzMEExQTgyRUMwMDdGQjhDNSAv
KiBKU0hUTUxJbnB1dEVsZW1lbnRCYXNlLmggKi8sCiAJCQkJQTgyNkU4QUQwQTFBOEYyMzAwQ0Qx
QkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJQTgyNkU4
QUMwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci5oICov
LAorCQkJCTQ0OEFEMjdBMEE0ODEzNzkwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bkN1c3RvbS5jcHAgKi8sCiAJCQkJOTNCNzBENDEwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTWE1MSHR0
cFJlcXVlc3QuY3BwICovLAogCQkJCTkzQjcwRDQyMDlFQjBDN0MwMDlEODQ2OCAvKiBKU1hNTEh0
dHBSZXF1ZXN0LmggKi8sCiAJCQkJOTNCNzBENDMwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTWE1MU2Vy
aWFsaXplci5jcHAgKi8sCkBAIC02Mjk5LDYgKzYzMDgsNyBAQAogCQkJCTg1MDMxQjRGMEE0NEVG
QzcwMEY5OTJFMCAvKiBVSUV2ZW50V2l0aEtleVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NTAzMUI1MTBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQUJFN0I1MjQwQTQ4OUY4MzAwMzE4ODFDIC8qIERlcHJlY2F0ZWRSZW5kZXJTZWxlY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCTQ0OEEyOUJGMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC03MTQ1LDYgKzcxNTUsOCBAQAogCQkJ
CTg1MDMxQjUwMEE0NEVGQzcwMEY5OTJFMCAvKiBXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUFCRTdCNTIzMEE0ODlGODMwMDMxODgxQyAvKiBEZXByZWNhdGVkUmVuZGVyU2VsZWN0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjExRTE1MEE0OEMyOTIwMDM0QTI0RSAvKiBTUUxU
cmFuc2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NDhBMjlDMDBBNDZEOUNCMDAzMDc1
OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ4
QUQyN0MwQTQ4MTM3QTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25z
Q29sbGVjdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl
bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25zQ29sbGVj
dGlvbi5oIgorCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJI
VE1MU2VsZWN0RWxlbWVudC5oIgorCit1c2luZyBuYW1lc3BhY2UgS0pTOworCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0pTVmFsdWUqIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpsZW5ndGgoRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogaW1wbCA9
IHN0YXRpY19jYXN0PEhUTUxPcHRpb25zQ29sbGVjdGlvbio+KEpTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjppbXBsKCkpOworICAgIHJldHVybiBqc051bWJlcihpbXBsLT5sZW5ndGgoKSk7Cit9CisK
K3ZvaWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNldExlbmd0aChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUqIHZhbHVlKQoreworICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogaW1wbCA9IHN0
YXRpY19jYXN0PEhUTUxPcHRpb25zQ29sbGVjdGlvbio+KEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9u
OjppbXBsKCkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGludCBuZXdMZW5ndGgg
PSAwOworICAgIGlmICh2YWx1ZS0+aXNOdW1iZXIoKSkgeworICAgICAgICBkb3VibGUgbGVuZ3Ro
VmFsdWU7CisgICAgICAgIHZhbHVlLT5nZXROdW1iZXIobGVuZ3RoVmFsdWUpOworICAgICAgICBp
ZiAobGVuZ3RoVmFsdWUgPCAwLjApCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG5ld0xl
bmd0aCA9IHVuc2lnbmVkKGZsb29yKGxlbmd0aFZhbHVlKSk7CisgICAgfQorICAgIGltcGwtPnNl
dExlbmd0aChuZXdMZW5ndGgsIGVjKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwor
fQorCit2b2lkIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjppbmRleFNldHRlcihLSlM6OkV4ZWNT
dGF0ZSAqZXhlYywgY29uc3QgS0pTOjpJZGVudGlmaWVyICZwcm9wZXJ0eU5hbWUsIEtKUzo6SlNW
YWx1ZSAqdmFsdWUsIGludCBhdHRyKQoreworICAgIGJvb2wgb2s7CisgICAgdW5zaWduZWQgaW5k
ZXggPSBwcm9wZXJ0eU5hbWUudG9VSW50MzIoJm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGltcGwgPSBzdGF0aWNfY2FzdDxI
VE1MT3B0aW9uc0NvbGxlY3Rpb24qPihKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6aW1wbCgpKTsK
KyAgICBIVE1MU2VsZWN0RWxlbWVudCogYmFzZSA9IHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVt
ZW50Kj4oaW1wbC0+YmFzZSgpKTsKKyAgICBpZiAodmFsdWUtPmlzVW5kZWZpbmVkT3JOdWxsKCkp
IHsKKyAgICAgICAgYmFzZS0+cmVtb3ZlKGluZGV4KTsKKyAgICB9IGVsc2UgeworICAgICAgICBX
ZWJDb3JlOjpOb2RlICpvcHRpb24gPSB0b05vZGUodmFsdWUpOworICAgICAgICBpZiAoIW9wdGlv
biB8fCAhb3B0aW9uLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIGJhc2Ut
PnNldE9wdGlvbihpbmRleCwgc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihvcHRpb24p
LCBlYyk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgfQorfQorCit9
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19iaW5kaW5nLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfYmluZGluZy5oCShyZXZpc2lvbiAxNDk0MSkKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMva2pzX2JpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiAr
MjQsOCBAQAogCiAjaW5jbHVkZSA8a2pzL2xvb2t1cC5oPgogCisjaW5jbHVkZSAiTm9kZS5oIgor
CiAjaWYgX19BUFBMRV9fCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvcnVudGltZS5oPgogI2Vu
ZGlmCkBAIC0zMiw3ICszNCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBEb2N1
bWVudDsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFzcyBGcmFtZTsKLSAgICBjbGFzcyBOb2Rl
OwogICAgIGNsYXNzIFN0cmluZzsKIAogICAgIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7Cklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmNwcAkocmV2aXNpb24gMTQ5NDEpCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL2pzL2tqc19odG1sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsNyBA
QAogI2luY2x1ZGUgIkhUTUxUYWJsZVJvd0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVT
ZWN0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTEltYWdlRWxlbWVudC5oIgorI2luY2x1
ZGUgIkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiTmFtZU5vZGVMaXN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC04MzMsNyAr
ODM0LDcgQEAgSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6c2VsZWN0R2V0dGVyKEV4ZQogICAgICAg
ICBjYXNlIFNlbGVjdFZhbHVlOiAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKHNlbGVjdC52YWx1
ZSgpKTsKICAgICAgICAgY2FzZSBTZWxlY3RMZW5ndGg6ICAgICAgICAgIHJldHVybiBqc051bWJl
cihzZWxlY3QubGVuZ3RoKCkpOwogICAgICAgICBjYXNlIFNlbGVjdEZvcm06ICAgICAgICAgICAg
cmV0dXJuIHRvSlMoZXhlYywgc2VsZWN0LmZvcm0oKSk7IC8vIHR5cGUgSFRNTEZvcm1FbGVtZW50
Ci0gICAgICAgIGNhc2UgU2VsZWN0T3B0aW9uczogICAgICAgICByZXR1cm4gZ2V0U2VsZWN0SFRN
TENvbGxlY3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlvbnMoKS5nZXQoKSwgJnNlbGVjdCk7IC8vIHR5
cGUgSlNIVE1MQ29sbGVjdGlvbgorICAgICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6ICAgICAgICAg
cmV0dXJuIGdldEhUTUxPcHRpb25zQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygpLmdl
dCgpKTsgLy8gdHlwZSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbgogICAgICAgICBjYXNlIFNlbGVj
dERpc2FibGVkOiAgICAgICAgcmV0dXJuIGpzQm9vbGVhbihzZWxlY3QuZGlzYWJsZWQoKSk7CiAg
ICAgICAgIGNhc2UgU2VsZWN0TXVsdGlwbGU6ICAgICAgICByZXR1cm4ganNCb29sZWFuKHNlbGVj
dC5tdWx0aXBsZSgpKTsKICAgICAgICAgY2FzZSBTZWxlY3ROYW1lOiAgICAgICAgICAgIHJldHVy
biBqc1N0cmluZyhzZWxlY3QubmFtZSgpKTsKQEAgLTEyNzcsNyArMTI3OCw3IEBAIHZvaWQgSlNI
VE1MRWxlbWVudDo6cHV0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgYm9vbCBvazsKICAgICAg
ICAgLyp1bnNpZ25lZCB1ID0qLyBwcm9wZXJ0eU5hbWUudG9VSW50MzIoJm9rKTsKICAgICAgICAg
aWYgKG9rKSB7Ci0gICAgICAgICAgICBKU09iamVjdCogY29sbCA9IHN0YXRpY19jYXN0PEpTT2Jq
ZWN0Kj4oZ2V0U2VsZWN0SFRNTENvbGxlY3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlvbnMoKS5nZXQo
KSwgJnNlbGVjdCkpOworICAgICAgICAgICAgSlNPYmplY3QqIGNvbGwgPSBzdGF0aWNfY2FzdDxK
U09iamVjdCo+KGdldEhUTUxPcHRpb25zQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygp
LmdldCgpKSk7CiAgICAgICAgICAgICBjb2xsLT5wdXQoZXhlYyxwcm9wZXJ0eU5hbWUsdmFsdWUp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xMzEzLDcgKzEzMTQsNyBAQCB2
b2lkIEpTSFRNTEVsZW1lbnQ6OnNlbGVjdFNldHRlcihFeGVjU3RhCiAgICAgICAgIGNhc2UgU2Vs
ZWN0U2VsZWN0ZWRJbmRleDogICB7IHNlbGVjdC5zZXRTZWxlY3RlZEluZGV4KHZhbHVlLT50b0lu
dDMyKGV4ZWMpKTsgcmV0dXJuOyB9CiAgICAgICAgIGNhc2UgU2VsZWN0VmFsdWU6ICAgICAgICAg
ICB7IHNlbGVjdC5zZXRWYWx1ZShzdHIpOyByZXR1cm47IH0KICAgICAgICAgY2FzZSBTZWxlY3RM
ZW5ndGg6ICAgICAgICAgIHsgLy8gcmVhZC1vbmx5IGFjY29yZGluZyB0byB0aGUgTlMgc3BlYywg
YnV0IHdlYnBhZ2VzIG5lZWQgaXQgd3JpdGVhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSlNPYmplY3QqIGNvbGwgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KGdl
dFNlbGVjdEhUTUxDb2xsZWN0aW9uKGV4ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCksICZzZWxl
Y3QpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09iamVjdCog
Y29sbCA9IHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZ2V0SFRNTE9wdGlvbnNDb2xsZWN0aW9uKGV4
ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb2xsLT5wdXQoZXhlYyxsZW5ndGhQcm9wZXJ0eU5hbWUsdmFsdWUpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTE1NzIsMjMgKzE1NzMsMjIgQEAgSFRN
TFRhYmxlU2VjdGlvbkVsZW1lbnQqIHRvSFRNTFRhYmxlU2VjdAogfQogCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCi0vKiBTb3VyY2UgZm9yIEhUTUxDb2xsZWN0aW9uUHJvdG9UYWJsZS4gVXNlICJtYWtl
IGhhc2h0YWJsZXMiIHRvIHJlZ2VuZXJhdGUuCi1AYmVnaW4gSFRNTENvbGxlY3Rpb25Qcm90b1Rh
YmxlIDMKKy8qIFNvdXJjZSBmb3IgSlNIVE1MQ29sbGVjdGlvblByb3RvVGFibGUuIFVzZSAibWFr
ZSBoYXNodGFibGVzIiB0byByZWdlbmVyYXRlLgorQGJlZ2luIEpTSFRNTENvbGxlY3Rpb25Qcm90
b1RhYmxlIDMKICAgaXRlbSAgICAgICAgICBKU0hUTUxDb2xsZWN0aW9uOjpJdGVtICAgICAgICAg
ICAgRG9udERlbGV0ZXxGdW5jdGlvbiAxCiAgIG5hbWVkSXRlbSAgICAgSlNIVE1MQ29sbGVjdGlv
bjo6TmFtZWRJdGVtICAgICAgIERvbnREZWxldGV8RnVuY3Rpb24gMQogICB0YWdzICAgICAgICAg
IEpTSFRNTENvbGxlY3Rpb246OlRhZ3MgICAgICAgICAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDEK
IEBlbmQKICovCi1LSlNfREVGSU5FX1BST1RPVFlQRShIVE1MQ29sbGVjdGlvblByb3RvKQotS0pT
X0lNUExFTUVOVF9QUk9UT0ZVTkMoSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmMpCi1LSlNfSU1QTEVN
RU5UX1BST1RPVFlQRSgiSFRNTENvbGxlY3Rpb24iLEhUTUxDb2xsZWN0aW9uUHJvdG8sSFRNTENv
bGxlY3Rpb25Qcm90b0Z1bmMpCitLSlNfSU1QTEVNRU5UX1BST1RPRlVOQyhKU0hUTUxDb2xsZWN0
aW9uUHJvdG9GdW5jKQorS0pTX0lNUExFTUVOVF9QUk9UT1RZUEUoIkhUTUxDb2xsZWN0aW9uIixK
U0hUTUxDb2xsZWN0aW9uUHJvdG8sSlNIVE1MQ29sbGVjdGlvblByb3RvRnVuYykKIAogY29uc3Qg
Q2xhc3NJbmZvIEpTSFRNTENvbGxlY3Rpb246OmluZm8gPSB7ICJDb2xsZWN0aW9uIiwgMCwgMCwg
MCB9OwogCiBKU0hUTUxDb2xsZWN0aW9uOjpKU0hUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhl
YywgSFRNTENvbGxlY3Rpb24gKmMpCiAgIDogbV9pbXBsKGMpIAogewotICBzZXRQcm90b3R5cGUo
SFRNTENvbGxlY3Rpb25Qcm90bzo6c2VsZihleGVjKSk7CisgIHNldFByb3RvdHlwZShKU0hUTUxD
b2xsZWN0aW9uUHJvdG86OnNlbGYoZXhlYykpOwogfQogCiBKU0hUTUxDb2xsZWN0aW9uOjp+SlNI
VE1MQ29sbGVjdGlvbigpCkBAIC0xNjk0LDcgKzE2OTQsNyBAQCBKU1ZhbHVlICpKU0hUTUxDb2xs
ZWN0aW9uOjpnZXROYW1lZEl0ZW1zCiAgICAgcmV0dXJuIG5ldyBET01OYW1lZE5vZGVzQ29sbGVj
dGlvbihleGVjLCBuYW1lZEl0ZW1zKTsKIH0KIAotSlNWYWx1ZSAqSFRNTENvbGxlY3Rpb25Qcm90
b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmos
IGNvbnN0IExpc3QgJmFyZ3MpCitKU1ZhbHVlICpKU0hUTUxDb2xsZWN0aW9uUHJvdG9GdW5jOjpj
YWxsQXNGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqLCBjb25zdCBM
aXN0ICZhcmdzKQogewogICBpZiAoIXRoaXNPYmotPmluaGVyaXRzKCZKU0hUTUxDb2xsZWN0aW9u
OjppbmZvKSkKICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3IpOwpAQCAtMTcx
Miw3NSArMTcxMiw2IEBAIEpTVmFsdWUgKkhUTUxDb2xsZWN0aW9uUHJvdG9GdW5jOjpjYWxsQXMK
ICAgfQogfQogCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUpTSFRNTFNlbGVjdENvbGxlY3Rpb246
OkpTSFRNTFNlbGVjdENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBIVE1MQ29sbGVjdGlvbiAq
YywgSFRNTFNlbGVjdEVsZW1lbnQqIGUpCi0gIDogSlNIVE1MQ29sbGVjdGlvbihleGVjLCBjKSwg
bV9lbGVtZW50KGUpCi17Ci19Ci0KLUpTVmFsdWUgKkpTSFRNTFNlbGVjdENvbGxlY3Rpb246OnNl
bGVjdGVkSW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb3JpZ2luYWxPYmpl
Y3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90KQotewotICAgIEpTSFRNTFNlbGVjdENvbGxlY3Rpb24gKnRoaXNPYmogPSBzdGF0aWNfY2Fz
dDxKU0hUTUxTZWxlY3RDb2xsZWN0aW9uKj4oc2xvdC5zbG90QmFzZSgpKTsKLSAgICByZXR1cm4g
anNOdW1iZXIodGhpc09iai0+bV9lbGVtZW50LT5zZWxlY3RlZEluZGV4KCkpOwotfQotCi1ib29s
IEpTSFRNTFNlbGVjdENvbGxlY3Rpb246OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQot
ewotICBpZiAocHJvcGVydHlOYW1lID09ICJzZWxlY3RlZEluZGV4IikgewotICAgIHNsb3Quc2V0
Q3VzdG9tKHRoaXMsIHNlbGVjdGVkSW5kZXhHZXR0ZXIpOwotICAgIC8vcmVzdWx0ID0ganNOdW1i
ZXIobV9lbGVtZW50LT5zZWxlY3RlZEluZGV4KCkpOwotICAgIHJldHVybiB0cnVlOwotICB9Ci0K
LSAgcmV0dXJuIEpTSFRNTENvbGxlY3Rpb246OmdldE93blByb3BlcnR5U2xvdChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QpOwotfQotCi12b2lkIEpTSFRNTFNlbGVjdENvbGxlY3Rpb246OnB1dChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgSlNWYWx1ZSAq
dmFsdWUsIGludCkKLXsKLSNpZmRlZiBLSlNfVkVSQk9TRQotICBrZERlYnVnKDYwNzApIDw8ICJK
U0hUTUxTZWxlY3RDb2xsZWN0aW9uOjpwdXQgIiA8PCBwcm9wZXJ0eU5hbWUuZGVwcmVjYXRlZFN0
cmluZygpIDw8IGVuZGw7Ci0jZW5kaWYKLSAgaWYgKCBwcm9wZXJ0eU5hbWUgPT0gInNlbGVjdGVk
SW5kZXgiICkKLSAgICBtX2VsZW1lbnQtPnNldFNlbGVjdGVkSW5kZXgodmFsdWUtPnRvSW50MzIo
ZXhlYykpOwotICBlbHNlIGlmIChwcm9wZXJ0eU5hbWUgPT0gbGVuZ3RoUHJvcGVydHlOYW1lKSB7
Ci0gICAgLy8gcmVzaXplID8KLSAgICBpZiAodmFsdWUtPmlzTnVtYmVyKCkpIHsKLSAgICAgIGRv
dWJsZSBuZXdMZW47Ci0gICAgICBpZiAodmFsdWUtPmdldE51bWJlcihuZXdMZW4pKSB7Ci0gICAg
ICAgIGludCBleGNlcHRpb24gPSAwOwotICAgICAgICBpZiAobmV3TGVuID49IDApIHsKLSAgICAg
ICAgICBtX2VsZW1lbnQtPnNldExlbmd0aCh1bnNpZ25lZChmbG9vcihuZXdMZW4pKSwgZXhjZXB0
aW9uKTsKLSAgICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKLSAgICAg
ICAgfQotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBpbnQgZXhjZXB0aW9uID0gMDsKLSAg
ICAgIG1fZWxlbWVudC0+c2V0TGVuZ3RoKDAsIGV4Y2VwdGlvbik7Ci0gICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgZXhjZXB0aW9uKTsKLSAgICB9Ci0gIH0gZWxzZSB7Ci0gICAgLy8gYW4gaW5k
ZXggPwotICAgIGJvb2wgb2s7Ci0gICAgdW5zaWduZWQgaSA9IHByb3BlcnR5TmFtZS50b1VJbnQz
Migmb2spOwotICAgIGlmIChvaykgewotICAgICAgaWYgKHZhbHVlLT5pc1VuZGVmaW5lZE9yTnVs
bCgpKSB7Ci0gICAgICAgIC8vIG51bGwgYW5kIHVuZGVmaW5lZCBkZWxldGUuIG90aGVycywgdG9v
ID8KLSAgICAgICAgbV9lbGVtZW50LT5yZW1vdmUoaSk7Ci0gICAgICB9IGVsc2UgewotICAgICAg
ICBXZWJDb3JlOjpOb2RlICpvcHRpb24gPSB0b05vZGUodmFsdWUpOwotICAgICAgICAvLyBpcyB2
IGFuIG9wdGlvbiBlbGVtZW50ID8KLSAgICAgICAgaWYgKCFvcHRpb24gfHwgIW9wdGlvbi0+aGFz
VGFnTmFtZShvcHRpb25UYWcpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGludCBl
eGNlcHRpb24gPSAwOwotICAgICAgICBtX2VsZW1lbnQtPnNldE9wdGlvbihpLCBzdGF0aWNfY2Fz
dDxIVE1MT3B0aW9uRWxlbWVudCo+KG9wdGlvbiksIGV4Y2VwdGlvbik7Ci0gICAgICAgIHNldERP
TUV4Y2VwdGlvbihleGVjLCBleGNlcHRpb24pOwotICAgICAgfQotICAgIH0KLSAgfQotfQotCiAv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vIEltYWdlIE9iamVjdCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KIAogSW1hZ2VDb25zdHJ1Y3RvckltcDo6SW1hZ2VDb25zdHJ1Y3RvckltcChFeGVjU3RhdGUq
IGV4ZWMsIERvY3VtZW50KiBkKQpAQCAtMTgzMSw3ICsxNzYyLDcgQEAgSlNWYWx1ZSogZ2V0SFRN
TENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBjYWNoZURPTU9iamVjdDxIVE1M
Q29sbGVjdGlvbiwgSlNIVE1MQ29sbGVjdGlvbj4oZXhlYywgYyk7CiB9CiAKLUpTVmFsdWUgKmdl
dFNlbGVjdEhUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSFRNTENvbGxlY3Rpb24gKmMs
IEhUTUxTZWxlY3RFbGVtZW50KiBlKQorSlNWYWx1ZSAqZ2V0SFRNTE9wdGlvbnNDb2xsZWN0aW9u
KEV4ZWNTdGF0ZSogZXhlYywgSFRNTENvbGxlY3Rpb24gKmMpCiB7CiAgIERPTU9iamVjdCAqcmV0
OwogICBpZiAoIWMpCkBAIC0xODQwLDcgKzE3NzEsNyBAQCBKU1ZhbHVlICpnZXRTZWxlY3RIVE1M
Q29sbGVjdGlvbihFeGVjU3RhCiAgIGlmICgocmV0ID0gaW50ZXJwLT5nZXRET01PYmplY3QoYykp
KQogICAgIHJldHVybiByZXQ7CiAgIGVsc2UgewotICAgIHJldCA9IG5ldyBKU0hUTUxTZWxlY3RD
b2xsZWN0aW9uKGV4ZWMsIGMsIGUpOworICAgIHJldCA9IG5ldyBKU0hUTUxPcHRpb25zQ29sbGVj
dGlvbihleGVjLCBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uc0NvbGxlY3Rpb24qPihjKSk7CiAgICAg
aW50ZXJwLT5wdXRET01PYmplY3QoYyxyZXQpOwogICAgIHJldHVybiByZXQ7CiAgIH0KSW5kZXg6
IFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL2tqc19odG1sLmgJKHJldmlzaW9uIDE0OTQxKQorKysgV2ViQ29yZS9iaW5kaW5n
cy9qcy9ranNfaHRtbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjksNiArMTY5LDggQEAgbmFtZXNw
YWNlIEtKUyB7CiAgIFdlYkNvcmU6OkhUTUxUYWJsZUNhcHRpb25FbGVtZW50KiB0b0hUTUxUYWJs
ZUNhcHRpb25FbGVtZW50KEpTVmFsdWUqKTsgLy8gcmV0dXJucyAwIGlmIHBhc3NlZC1pbiB2YWx1
ZSBpcyBub3QgYSBKU0hUTUxFbGVtZW50IG9iamVjdCBmb3IgYSBIVE1MVGFibGVDYXB0aW9uRWxl
bWVudAogICBXZWJDb3JlOjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudCogdG9IVE1MVGFibGVTZWN0
aW9uRWxlbWVudChKU1ZhbHVlKik7IC8vIHJldHVybnMgMCBpZiBwYXNzZWQtaW4gdmFsdWUgaXMg
bm90IGEgSlNIVE1MRWxlbWVudCBvYmplY3QgZm9yIGEgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQK
IAorICBLSlNfREVGSU5FX1BST1RPVFlQRShKU0hUTUxDb2xsZWN0aW9uUHJvdG8pCisKICAgY2xh
c3MgSlNIVE1MQ29sbGVjdGlvbiA6IHB1YmxpYyBET01PYmplY3QgewogICBwdWJsaWM6CiAgICAg
SlNIVE1MQ29sbGVjdGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiopOwpA
QCAtMTkwLDE3ICsxOTIsNiBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBzdGF0aWMgSlNWYWx1ZSog
bmFtZUdldHRlcihFeGVjU3RhdGUqLCBKU09iamVjdCosIGNvbnN0IElkZW50aWZpZXImLCBjb25z
dCBQcm9wZXJ0eVNsb3QmKTsKICAgfTsKIAotICBjbGFzcyBKU0hUTUxTZWxlY3RDb2xsZWN0aW9u
IDogcHVibGljIEpTSFRNTENvbGxlY3Rpb24gewotICBwdWJsaWM6Ci0gICAgSlNIVE1MU2VsZWN0
Q29sbGVjdGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiosIFdlYkNvcmU6
OkhUTUxTZWxlY3RFbGVtZW50Kik7Ci0gICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xv
dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7Ci0gICAgdmly
dHVhbCB2b2lkIHB1dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUs
IEpTVmFsdWUqLCBpbnQgYXR0ciA9IE5vbmUpOwotICBwcml2YXRlOgotICAgIHN0YXRpYyBKU1Zh
bHVlKiBzZWxlY3RlZEluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgY29uc3QgSWRl
bnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYpOwotCi0gICAgUmVmUHRyPFdlYkNvcmU6OkhU
TUxTZWxlY3RFbGVtZW50PiBtX2VsZW1lbnQ7Ci0gIH07Ci0KICAgY2xhc3MgSFRNTEFsbENvbGxl
Y3Rpb24gOiBwdWJsaWMgSlNIVE1MQ29sbGVjdGlvbiB7CiAgIHB1YmxpYzoKICAgICBIVE1MQWxs
Q29sbGVjdGlvbihFeGVjU3RhdGUqIGV4ZWMsIFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uKiBjKSA6
CkBAIC0yMjEsNyArMjEyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIH07CiAKICAgSlNWYWx1ZSog
Z2V0SFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24qKTsK
LSAgSlNWYWx1ZSogZ2V0U2VsZWN0SFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6
SFRNTENvbGxlY3Rpb24qLCBXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudCopOworICBKU1ZhbHVl
KiBnZXRIVE1MT3B0aW9uc0NvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxl
Y3Rpb24qKTsKICAgSlNWYWx1ZSogZ2V0QWxsSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2Vi
Q29yZTo6SFRNTENvbGxlY3Rpb24qKTsKIAogfSAvLyBuYW1lc3BhY2UKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMTQ5NDEpCisr
KyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDgsNyArMzQ4LDEyIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgfQotICAKKworICAgICMgSW5kZXggc2V0dGVyCisgICAgaWYgKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4U2V0dGVyIn0pIHsK
KyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2b2lkIGluZGV4U2V0dGVyKEtKUzo6
RXhlY1N0YXRlKiwgY29uc3QgS0pTOjpJZGVudGlmaWVyICZwcm9wZXJ0eU5hbWUsIEtKUzo6SlNW
YWx1ZSosIGludCBhdHRyKTtcbiIpOworICAgIH0KKwogICAgIGlmICghJGhhc1BhcmVudCkgewog
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsKCkg
Y29uc3QgeyByZXR1cm4gbV9pbXBsLmdldCgpOyB9XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgInByaXZhdGU6XG4iKTsKQEAgLTcyOCw5ICs3MzMsMTUgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICB9CiAgICAgaWYgKCRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVzKSB7
CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9OjpwdXQoRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUqIHZhbHVl
LCBpbnQgYXR0cilcbiIpOwotICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4gICAgbG9va3Vw
UHV0PCRjbGFzc05hbWUsICRwYXJlbnRDbGFzc05hbWU+IiAuCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmJHtjbGFzc05hbWV9VGFi
bGUsIHRoaXMpO1xufVxuXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgIGlm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleFNldHRlciJ9
KSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuICAgIGxvb2t1cFB1dFdpdGhJbmRl
eDwkY2xhc3NOYW1lPiIgLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIihleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmJHtjbGFzc05hbWV9VGFibGUsIHRoaXMpO1xufVxuXG4i
KTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntc
biAgICBsb29rdXBQdXQ8JGNsYXNzTmFtZSwgJHBhcmVudENsYXNzTmFtZT4iIC4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwgJiR7
Y2xhc3NOYW1lfVRhYmxlLCB0aGlzKTtcbn1cblxuIik7CisgICAgICB9CisKICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1dFZhbHVlUHJvcGVydHkoRXhlY1N0
YXRlKiBleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUqIHZhbHVlLCBpbnQgLyphdHRyKi8pXG4iKTsK
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1l
Kj4oJHtjbGFzc05hbWV9OjppbXBsKCkpO1xuXG4iKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uc0NvbGxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uc0NvbGxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNDk0MSkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uc0NvbGxlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAj
aW5jbHVkZSAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2Vs
ZWN0RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMyw5ICszNCwzMSBAQCBI
VE1MT3B0aW9uc0NvbGxlY3Rpb246OkhUTUxPcHRpb25zQ29sbGVjCiB7CiB9CiAKLXZvaWQgSFRN
TE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgodW5zaWduZWQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQordm9pZCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZChQYXNzUmVmUHRyPE5vZGU+IG5vZGUs
IGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSAmZWMpCiB7Ci0gICAgZWMgPSBOT1RfU1VQUE9SVEVE
X0VSUjsKKyAgICBlYyA9IDA7CisgICAgSFRNTFNlbGVjdEVsZW1lbnQgKnNlbGVjdCA9IHN0YXRp
Y19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKTsKKyAgICAvLyBGSVhNRTog
RG9lcyB0aGlzIHdvcmsgd2l0aG91dCB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQ/CisgICAgaWYgKHVu
c2lnbmVkKGluZGV4KSA+IGxlbmd0aCgpKQorICAgICAgICBzZWxlY3QtPnNldE9wdGlvbih1bnNp
Z25lZChpbmRleCksIHN0YXRpY19jYXN0PEhUTUxPcHRpb25FbGVtZW50Kj4obm9kZS5nZXQoKSks
IGVjKTsKKyAgICBlbHNlCisgICAgICAgIHNlbGVjdC0+YWRkKHN0YXRpY19jYXN0PEhUTUxFbGVt
ZW50Kj4obm9kZS5nZXQoKSksIHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oaXRlbShpbmRleCkp
LCBlYyk7CisgICAgQVNTRVJUKGVjID09IDApOworfQorCitpbnQgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjpzZWxlY3RlZEluZGV4KCkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFNlbGVj
dEVsZW1lbnQqPihtX2Jhc2UuZ2V0KCkpLT5zZWxlY3RlZEluZGV4KCk7Cit9CisKK3ZvaWQgSFRN
TE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRTZWxlY3RlZEluZGV4KGludCBpbmRleCkKK3sKKyAgICBz
dGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KG1fYmFzZS5nZXQoKSktPnNldFNlbGVjdGVk
SW5kZXgoaW5kZXgpOworfQorCit2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2V0TGVuZ3Ro
KHVuc2lnbmVkIGxlbmd0aCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgc3RhdGljX2Nhc3Q8
SFRNTFNlbGVjdEVsZW1lbnQqPihtX2Jhc2UuZ2V0KCkpLT5zZXRMZW5ndGgobGVuZ3RoLCBlYyk7
CiB9CiAKIH0gLy9uYW1lc3BhY2UKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmgJKHJldmlzaW9uIDE0OTQxKQorKysgV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCwxMSBAQCBjbGFzcyBIVE1MT3B0aW9uc0Nv
bGxlY3Rpb24gOiBwdWJsaWMgSFRNCiBwdWJsaWM6CiAgICAgSFRNTE9wdGlvbnNDb2xsZWN0aW9u
KEhUTUxTZWxlY3RFbGVtZW50Kik7CiAKKyAgICB2b2lkIGFkZChQYXNzUmVmUHRyPE5vZGU+LCBp
bnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGludCBzZWxlY3RlZEluZGV4KCk7Cisg
ICAgdm9pZCBzZXRTZWxlY3RlZEluZGV4KGludCBpbmRleCk7CisKICAgICB2b2lkIHNldExlbmd0
aCh1bnNpZ25lZCwgRXhjZXB0aW9uQ29kZSYpOwogfTsKIApJbmRleDogV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAq
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAg
IGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MQ29sbGVjdGlvbiwgSGFzQ3VzdG9t
SW5kZXhTZXR0ZXJdIEhUTUxPcHRpb25zQ29sbGVjdGlvbiA6IEhUTUxDb2xsZWN0aW9uIHsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlICAgICAgICAgIGxvbmcgICAgICAgICAgICAgICAgIHNl
bGVjdGVkSW5kZXg7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tXSBsb25nICAg
ICAgICAgICAgICAgICBsZW5ndGgKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGFkZChpbiBO
b2RlIG5vZGUsIGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgICAgICAgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>
<flag name="review"
          id="2630"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9169</attachid>
            <date>2006-07-03 10:47:45 -0700</date>
            <delta_ts>2006-07-09 22:38:23 -0700</delta_ts>
            <desc>Test results from Firefox 1.5.0.4</desc>
            <filename>bug-9179-firefox-results.html</filename>
            <type>text/html</type>
            <size>12733</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbD48aGVh
ZD4KCgo8c3R5bGU+Ci5wYXNzIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgY29sb3I6IGdy
ZWVuOwp9Ci5mYWlsIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgY29sb3I6IHJlZDsKfQoj
Y29uc29sZSB7CiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICBmb250LWZhbWlseTogbW9u
b3NwYWNlOwp9Cjwvc3R5bGU+CjwvaGVhZD48Ym9keT4KPHAgaWQ9ImRlc2NyaXB0aW9uIj48cD5U
aGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUgYWRkKCkgbWV0aG9kIG9uIHRoZSBz
ZWxlY3Qub3B0aW9ucyBvYmplY3QuPGJyPkl0IGNvdmVycyBib3RoIHRoZSB0aGUgb25lLWFyZ3Vt
ZW50ICgxLngpIGFuZCB0d28tYXJndW1lbnQgKDIueCkgc2lnbmF0dXJlcyBvZiB0aGUgYWRkKCkg
bWV0aG9kLjwvcD48cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICI8c3BhbiBj
bGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4iLjwvcD48L3A+CjxkaXYgaWQ9ImNvbnNv
bGUiPjxzcGFuPjEuMSBBZGQgT3B0aW9uIHRvIGVtcHR5IE9wdGlvbnM8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlz
IDE8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3Qx
LnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IHNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENv
bnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjEuMiBBZGQgT3B0
aW9uIHRvIG5vbi1lbXB0eSBPcHRpb25zPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlz
IDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3Qx
Lm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdBJzxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9u
c1sxXS52YWx1ZSBpcyAnMic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0InPGJyPjwvc3Bhbj48
c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjEuMyBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1l
dGVyczxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVj
dDEub3B0aW9ucy5sZW5ndGggaXMgMzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzBdLnZhbHVlIGlz
ICcxJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVj
dDEub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRp
b25zWzFdLnRleHRDb250ZW50IGlzICdCJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBh
c3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9uc1syXS52YWx1ZSBpcyAnMyc8YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMl0u
dGV4dENvbnRlbnQgaXMgJ0MnPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjEuNCBB
ZGQgYSBub24tT3B0aW9uIGVsZW1lbnQ8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPgpzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlv
biBbRXhjZXB0aW9uLi4uICJPYmplY3QgaXMKb2Ygd3JvbmcgdHlwZSIgY29kZTogIjEwMDIiIG5z
cmVzdWx0OiAiMHg4MDUzMDNlYQooTlNfRVJST1JfRE9NX1dST05HX1RZUEVfRVJSKSIgbG9jYXRp
b246ICImbHQ7dW5rbm93biZndDsiXS48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDM8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMg
MDxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4xLjUgQWRkIGEgbm9uLWVsZW1lbnQg
KHN0cmluZyk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiBz
ZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHNob3VsZCB0aHJvdyBleGNlcHRpb24gdW5kZWZp
bmVkLiBXYXMgdW5kZWZpbmVkLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMzxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwPGJy
Pjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjEuNiBBZGQgYSBub24tZWxlbWVudCAobnVt
YmVyKTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8L3NwYW4+IHNlbGVj
dDEub3B0aW9ucy5hZGQob3B0aW9uMSkgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiB1bmRlZmluZWQu
IFdhcyB1bmRlZmluZWQuPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwv
c3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9z
cGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+MS43IEFkZCB1bmRlZmluZWQ8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMuYWRkKG9w
dGlvbjEpIHNob3VsZCB0aHJvdyBleGNlcHRpb24gdW5kZWZpbmVkLiBXYXMgdW5kZWZpbmVkLjxi
cj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0
aW9ucy5sZW5ndGggaXMgMzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+IHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9z
cGFuPjxzcGFuPjEuOCBBZGQgbnVsbDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMzxicj48L3NwYW4+PHNwYW4+
PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAw
PGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuMSBBZGQgT3B0aW9uIHRvIGVtcHR5
IE9wdGlvbnM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJw
YXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNw
YW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1
ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBz
ZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bhbj48YnI+
PC9zcGFuPjxzcGFuPjIuMiBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1ldGVyczxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
cy5sZW5ndGggaXMgMjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3Nw
YW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcxJzxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
c1swXS50ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48
c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRl
eHRDb250ZW50IGlzICdCJzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjMgSW5z
ZXJ0IE9wdGlvbiBhdCBiZWdpbm5pbmcgb2YgT3B0aW9uczxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMzxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0
ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcwJzxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBp
cyAnWic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdBJzxi
cj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0
aW9uc1syXS52YWx1ZSBpcyAnMic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0InPGJyPjwvc3Bh
bj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuNCBJbnNlcnQgT3B0aW9uIGluIG1pZGRsZSBvZiBP
cHRpb25zPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA0PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUg
aXMgJzAnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJzxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnPGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
WzJdLnRleHRDb250ZW50IGlzICdBLjUnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJzxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS50
ZXh0Q29udGVudCBpcyAnQic8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi41IElu
c2VydCBPcHRpb24gYXQgZW5kIG9mIE9wdGlvbnM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDU8YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5k
ZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNl
bGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ1on
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5v
cHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9z
cGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNb
Ml0udmFsdWUgaXMgJzEuNSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0EuNSc8YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbM10u
dmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gc2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50IGlzICdCJzxicj48L3NwYW4+PHNwYW4+
PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBp
cyAnMyc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQgaXMgJ0MnPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9z
cGFuPjxzcGFuPjIuNiBJbnNlcnQgT3B0aW9uIGJleW9uZCB0aGUgZW5kIG9mIE9wdGlvbnM8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnMubGVuZ3RoIGlzIDY8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xh
c3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCc8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbMF0udGV4dENvbnRlbnQgaXMgJ1onPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS50
ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJzEuNSc8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENv
bnRlbnQgaXMgJ0EuNSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50
IGlzICdCJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNl
bGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMyc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQgaXMgJ0Mn
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5v
cHRpb25zWzVdLnZhbHVlIGlzICc0Jzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s1XS50ZXh0Q29udGVudCBpcyAnRCc8YnI+PC9z
cGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi43IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTE8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnMubGVuZ3RoIGlzIDc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCc8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ1onPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sx
XS50ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJzEuNSc8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udGV4
dENvbnRlbnQgaXMgJ0EuNSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250
ZW50IGlzICdCJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMyc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQgaXMg
J0MnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zWzVdLnZhbHVlIGlzICc0Jzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBh
c3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s1XS50ZXh0Q29udGVudCBpcyAnRCc8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbNl0udmFsdWUgaXMgJzUnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFT
Uzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzZdLnRleHRDb250ZW50IGlzICdFJzxicj48L3NwYW4+
PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjggQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtMjxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+CnNlbGVjdDIub3B0aW9u
cy5hZGQob3B0aW9uMiwgLTIpIHRocmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJJbmRleApv
ciBzaXplIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiB0aGUgYWxsb3dlZCBhbW91bnQiIGNv
ZGU6ICIxIgpuc3Jlc3VsdDogIjB4ODA1MzAwMDEgKE5TX0VSUk9SX0RPTV9JTkRFWF9TSVpFX0VS
UikiIGxvY2F0aW9uOgoiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi45IEFkZCBhIG5v
bi1PcHRpb24gZWxlbWVudDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+CnNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIFtF
eGNlcHRpb24uLi4gIk9iamVjdAppcyBvZiB3cm9uZyB0eXBlIiBjb2RlOiAiMTAwMiIgbnNyZXN1
bHQ6ICIweDgwNTMwM2VhCihOU19FUlJPUl9ET01fV1JPTkdfVFlQRV9FUlIpIiBsb2NhdGlvbjog
IiZsdDt1bmtub3duJmd0OyJdLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJy
Pjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuMTAgQWRkIGEgbm9uLWVsZW1lbnQgKHN0
cmluZyk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHNob3VsZCB0aHJvdyBleGNlcHRpb24gdW5kZWZp
bmVkLiBXYXMgdW5kZWZpbmVkLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJy
Pjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuMTEgQWRkIGEgbm9uLWVsZW1lbnQgKG51
bWJlcik8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHNob3VsZCB0aHJvdyBleGNlcHRpb24gdW5kZWZp
bmVkLiBXYXMgdW5kZWZpbmVkLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJy
Pjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuMTIgQWRkIHVuZGVmaW5lZDxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5h
ZGQob3B0aW9uMiwgMSkgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiB1bmRlZmluZWQuIFdhcyB1bmRl
ZmluZWQuPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFu
Pjxicj48L3NwYW4+PHNwYW4+Mi4xMyBBZGQgbnVsbDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xh
c3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJ
bmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJw
YXNzIj5QQVNTPC9zcGFuPiBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZTxicj48L3NwYW4+PHNw
YW4+PGJyPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPjxicj48L3NwYW4+
PC9kaXY+CjxkaXY+CjxzZWxlY3QgaWQ9InNlbGVjdDEiPjxvcHRpb24gdmFsdWU9IjEiIHNlbGVj
dGVkPSJzZWxlY3RlZCI+QTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjIiPkI8L29wdGlvbj48b3B0
aW9uIHZhbHVlPSIzIj5DPC9vcHRpb24+PC9zZWxlY3Q+CjxzZWxlY3QgaWQ9InNlbGVjdDIiPjxv
cHRpb24gdmFsdWU9IjAiPlo8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIxIiBzZWxlY3RlZD0ic2Vs
ZWN0ZWQiPkE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIxLjUiPkEuNTwvb3B0aW9uPjxvcHRpb24g
dmFsdWU9IjIiPkI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIzIj5DPC9vcHRpb24+PG9wdGlvbiB2
YWx1ZT0iNCI+RDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjUiPkU8L29wdGlvbj48L3NlbGVjdD4K
PC9kaXY+CjwvYm9keT48L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9170</attachid>
            <date>2006-07-03 10:52:17 -0700</date>
            <delta_ts>2006-07-09 22:38:23 -0700</delta_ts>
            <desc>Test results from MSIE 6 (via MS Word)</desc>
            <filename>bug-9179-msie-results.html</filename>
            <type>text/html</type>
            <size>14124</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46c2No
ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL1JFQy1odG1sNDAiPg0KDQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBl
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPg0KPG1ldGEgbmFtZT1Q
cm9nSWQgY29udGVudD1Xb3JkLkRvY3VtZW50Pg0KPG1ldGEgbmFtZT1HZW5lcmF0b3IgY29udGVu
dD0iTWljcm9zb2Z0IFdvcmQgMTAiPg0KPG1ldGEgbmFtZT1PcmlnaW5hdG9yIGNvbnRlbnQ9Ik1p
Y3Jvc29mdCBXb3JkIDEwIj4NCjxsaW5rIHJlbD1GaWxlLUxpc3QgaHJlZj0iYnVnLTkxNzktbXNp
ZS1yZXN1bHRzX2ZpbGVzL2ZpbGVsaXN0LnhtbCI+DQo8bGluayByZWw9RWRpdC1UaW1lLURhdGEg
aHJlZj0iYnVnLTkxNzktbXNpZS1yZXN1bHRzX2ZpbGVzL2VkaXRkYXRhLm1zbyI+DQo8IS0tW2lm
ICFtc29dPg0KPHN0eWxlPg0Kdlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6
KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZh
dWx0I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxl
Pg0KPCFbZW5kaWZdLS0+DQo8dGl0bGU+PC90aXRsZT4NCjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s
Pg0KIDxvOkRvY3VtZW50UHJvcGVydGllcz4NCiAgPG86QXV0aG9yPkRhdmlkIEQuIEtpbHplcjwv
bzpBdXRob3I+DQogIDxvOkxhc3RBdXRob3I+RGF2aWQgRC4gS2lsemVyPC9vOkxhc3RBdXRob3I+
DQogIDxvOlJldmlzaW9uPjE8L286UmV2aXNpb24+DQogIDxvOlRvdGFsVGltZT43PC9vOlRvdGFs
VGltZT4NCiAgPG86Q3JlYXRlZD4yMDA2LTA3LTAyVDExOjA0OjAwWjwvbzpDcmVhdGVkPg0KICA8
bzpMYXN0U2F2ZWQ+MjAwNi0wNy0wMlQxMToxMTowMFo8L286TGFzdFNhdmVkPg0KICA8bzpQYWdl
cz41PC9vOlBhZ2VzPg0KICA8bzpXb3Jkcz45NjQ8L286V29yZHM+DQogIDxvOkNoYXJhY3RlcnM+
NTQ5OTwvbzpDaGFyYWN0ZXJzPg0KICA8bzpDb21wYW55PmlzbCBlbXBsb3llZTwvbzpDb21wYW55
Pg0KICA8bzpMaW5lcz40NTwvbzpMaW5lcz4NCiAgPG86UGFyYWdyYXBocz4xMjwvbzpQYXJhZ3Jh
cGhzPg0KICA8bzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz42NDUxPC9vOkNoYXJhY3RlcnNXaXRoU3Bh
Y2VzPg0KICA8bzpWZXJzaW9uPjEwLjY3MTQ8L286VmVyc2lvbj4NCiA8L286RG9jdW1lbnRQcm9w
ZXJ0aWVzPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPHc6
V29yZERvY3VtZW50Pg0KICA8dzpDb21wYXRpYmlsaXR5Pg0KICAgPHc6QnJlYWtXcmFwcGVkVGFi
bGVzLz4NCiAgIDx3OlNuYXBUb0dyaWRJbkNlbGwvPg0KICAgPHc6V3JhcFRleHRXaXRoUHVuY3Qv
Pg0KICAgPHc6VXNlQXNpYW5CcmVha1J1bGVzLz4NCiAgPC93OkNvbXBhdGliaWxpdHk+DQogIDx3
OkJyb3dzZXJMZXZlbD5NaWNyb3NvZnRJbnRlcm5ldEV4cGxvcmVyNDwvdzpCcm93c2VyTGV2ZWw+
DQogPC93OldvcmREb2N1bWVudD4NCjwveG1sPjwhW2VuZGlmXS0tPg0KPHN0eWxlPg0KPCEtLQ0K
IC8qIFN0eWxlIERlZmluaXRpb25zICovDQogcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2
Lk1zb05vcm1hbA0KCXttc28tc3R5bGUtcGFyZW50OiIiOw0KCW1hcmdpbjowaW47DQoJbWFyZ2lu
LWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsNCglmb250LXNp
emU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1mYXJlYXN0
LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCnANCgl7bXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsN
CgltYXJnaW4tbGVmdDowaW47DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQt
c2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWZhcmVh
c3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0Kc3Bhbi5wYXNzMQ0KCXttc28tc3R5
bGUtbmFtZTpwYXNzMTsNCgljb2xvcjpncmVlbjsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4u
ZmFpbDENCgl7bXNvLXN0eWxlLW5hbWU6ZmFpbDE7DQoJY29sb3I6cmVkOw0KCWZvbnQtd2VpZ2h0
OmJvbGQ7fQ0KQHBhZ2UgU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEu
MGluIDEuMjVpbiAxLjBpbiAxLjI1aW47DQoJbXNvLWhlYWRlci1tYXJnaW46LjVpbjsNCgltc28t
Zm9vdGVyLW1hcmdpbjouNWluOw0KCW1zby1wYXBlci1zb3VyY2U6MDt9DQpkaXYuU2VjdGlvbjEN
Cgl7cGFnZTpTZWN0aW9uMTt9DQotLT4NCjwvc3R5bGU+DQo8IS0tW2lmIGd0ZSBtc28gMTBdPg0K
PHN0eWxlPg0KIC8qIFN0eWxlIERlZmluaXRpb25zICovDQogdGFibGUuTXNvTm9ybWFsVGFibGUN
Cgl7bXNvLXN0eWxlLW5hbWU6IlRhYmxlIE5vcm1hbCI7DQoJbXNvLXRzdHlsZS1yb3diYW5kLXNp
emU6MDsNCgltc28tdHN0eWxlLWNvbGJhbmQtc2l6ZTowOw0KCW1zby1zdHlsZS1ub3Nob3c6eWVz
Ow0KCW1zby1zdHlsZS1wYXJlbnQ6IiI7DQoJbXNvLXBhZGRpbmctYWx0OjBpbiA1LjRwdCAwaW4g
NS40cHQ7DQoJbXNvLXBhcmEtbWFyZ2luOjBpbjsNCgltc28tcGFyYS1tYXJnaW4tYm90dG9tOi4w
MDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMC4wcHQ7
DQoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KPC9zdHlsZT4NCjwhW2VuZGlmXS0t
PjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KIDxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQi
IHNwaWRtYXg9IjEwMjYiLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48
eG1sPg0KIDxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCiAgPG86aWRtYXAgdjpleHQ9ImVk
aXQiIGRhdGE9IjEiLz4NCiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hl
YWQ+DQoNCjxib2R5IGxhbmc9RU4tVVMgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4NCg0KPGRp
diBjbGFzcz1TZWN0aW9uMT4NCg0KPHA+VGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2Yg
dGhlIGFkZCgpIG1ldGhvZCBvbiB0aGUgc2VsZWN0Lm9wdGlvbnMNCm9iamVjdC48YnI+DQpJdCBj
b3ZlcnMgYm90aCB0aGUgdGhlIG9uZS1hcmd1bWVudCAoMS54KSBhbmQgdHdvLWFyZ3VtZW50ICgy
LngpIHNpZ25hdHVyZXMgb2YNCnRoZSBhZGQoKSBtZXRob2QuPG86cD48L286cD48L3A+DQoNCjxw
Pk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAmcXVvdDs8c3BhbiBjbGFzcz1w
YXNzMT5QQVNTPC9zcGFuPiZxdW90Ow0KbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICZxdW90OzxzcGFu
IGNsYXNzPXBhc3MxPlRFU1QgQ09NUExFVEU8L3NwYW4+JnF1b3Q7LjxvOnA+PC9vOnA+PC9wPg0K
DQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5l
dyInPjEuMSBBZGQgT3B0aW9uIHRvDQplbXB0eSBPcHRpb25zPGJyPg0KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAxPGJyPg0KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+DQo8c3Bh
biBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEn
PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzBdLmlu
bmVyVGV4dCBpcyAnQSc8YnI+DQo8YnI+DQoxLjIgQWRkIE9wdGlvbiB0byBub24tZW1wdHkgT3B0
aW9uczxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5s
ZW5ndGggaXMgMjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEuc2Vs
ZWN0ZWRJbmRleCBpcyAwPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
MS5vcHRpb25zWzBdLnZhbHVlIGlzICcxJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDEub3B0aW9uc1swXS5pbm5lclRleHQgaXMgJ0EnPGJyPg0KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLnZhbHVlIGlzICcyJzxicj4NCjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9uc1sxXS5pbm5lclRleHQg
aXMgJ0InPGJyPg0KPGJyPg0KMS4zIEFkZCBPcHRpb24gYWZ0ZXIgc2V0dGluZyBwYXJhbWV0ZXJz
PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0
aCBpcyAzPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IGlzIDA8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9w
dGlvbnNbMF0udmFsdWUgaXMgJzEnPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
c2VsZWN0MS5vcHRpb25zWzBdLmlubmVyVGV4dCBpcyAnQSc8YnI+DQo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInPGJyPg0KPHNwYW4g
Y2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLmlubmVyVGV4dCBpcyAn
Qic8YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMl0u
dmFsdWUgc2hvdWxkIGJlIDMgKG9mIHR5cGUNCnN0cmluZykuIFdhcyAob2YgdHlwZSBzdHJpbmcp
Ljxicj4NCjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IHNlbGVjdDEub3B0aW9uc1syXS5p
bm5lclRleHQgc2hvdWxkIGJlIEMgKG9mIHR5cGUNCnN0cmluZykuIFdhcyAob2YgdHlwZSBzdHJp
bmcpLjxicj4NCjxicj4NCjEuNCBBZGQgYSBub24tT3B0aW9uIGVsZW1lbnQ8YnI+DQo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3
IGV4Y2VwdGlvbg0KW29iamVjdCBFcnJvcl0uPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+DQo8YnI+DQoxLjUgQWRk
IGEgbm9uLWVsZW1lbnQgKHN0cmluZyk8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbg0KW29iamVjdCBF
cnJvcl0uPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAzPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5z
ZWxlY3RlZEluZGV4IGlzIDA8YnI+DQo8YnI+DQoxLjYgQWRkIGEgbm9uLWVsZW1lbnQgKG51bWJl
cik8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMuYWRk
KG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbg0KW29iamVjdCBFcnJvcl0uPGJyPg0KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPg0KPHNw
YW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+
DQo8YnI+DQoxLjcgQWRkIHVuZGVmaW5lZDxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uDQpbb2JqZWN0
IEVycm9yXS48YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlv
bnMubGVuZ3RoIGlzIDM8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3Qx
LnNlbGVjdGVkSW5kZXggaXMgMDxicj4NCjxicj4NCjEuOCBBZGQgbnVsbDxicj4NCjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcg
ZXhjZXB0aW9uDQpbb2JqZWN0IEVycm9yXS48YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDM8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj4NCjxicj4NCjIuMSBBZGQg
T3B0aW9uIHRvIGVtcHR5IE9wdGlvbnM8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDE8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNT
PC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMDxicj4NCjxzcGFuIGNsYXNzPXBhc3Mx
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMSc8YnI+DQo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0uaW5uZXJUZXh0IGlzICdB
Jzxicj4NCjxicj4NCjIuMiBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1ldGVyczxicj4N
CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMg
Mjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRl
eCBpcyAwPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
WzBdLnZhbHVlIGlzICcxJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1swXS5pbm5lclRleHQgaXMgJ0EnPGJyPg0KPHNwYW4gY2xhc3M9ZmFpbDE+RkFJ
TDwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIHNob3VsZCBiZSAyIChvZiB0eXBlDQpz
dHJpbmcpLiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlM
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0uaW5uZXJUZXh0IHNob3VsZCBiZSBCIChvZiB0eXBl
DQpzdHJpbmcpLiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8YnI+DQoyLjMgSW5zZXJ0IE9w
dGlvbiBhdCBiZWdpbm5pbmcgb2YgT3B0aW9uczxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMzxicj4NCjxzcGFuIGNsYXNzPXBhc3Mx
PlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPg0KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcwJzxicj4NCjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS5pbm5lclRleHQg
aXMgJ1onPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
WzFdLnZhbHVlIGlzICcxJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1sxXS5pbm5lclRleHQgaXMgJ0EnPGJyPg0KPHNwYW4gY2xhc3M9ZmFpbDE+RkFJ
TDwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIHNob3VsZCBiZSAyIChvZiB0eXBlDQpz
dHJpbmcpLiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlM
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0uaW5uZXJUZXh0IHNob3VsZCBiZSBCIChvZiB0eXBl
DQpzdHJpbmcpLiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8YnI+DQoyLjQgSW5zZXJ0IE9w
dGlvbiBpbiBtaWRkbGUgb2YgT3B0aW9uczxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNDxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBB
U1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPg0KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcwJzxicj4NCjxzcGFu
IGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS5pbm5lclRleHQgaXMg
J1onPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFd
LnZhbHVlIGlzICcxJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIu
b3B0aW9uc1sxXS5pbm5lclRleHQgaXMgJ0EnPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnPGJyPg0KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLmlubmVyVGV4dCBpcyAnQS41Jzxi
cj4NCjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS52YWx1
ZSBzaG91bGQgYmUgMiAob2YgdHlwZQ0Kc3RyaW5nKS4gV2FzIChvZiB0eXBlIHN0cmluZykuPGJy
Pg0KPHNwYW4gY2xhc3M9ZmFpbDE+RkFJTDwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLmlubmVy
VGV4dCBzaG91bGQgYmUgQiAob2YgdHlwZQ0Kc3RyaW5nKS4gV2FzIChvZiB0eXBlIHN0cmluZyku
PGJyPg0KPGJyPg0KMi41IEluc2VydCBPcHRpb24gYXQgZW5kIG9mIE9wdGlvbnM8YnI+DQo8c3Bh
biBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDU8YnI+
DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMg
MTxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52
YWx1ZSBpcyAnMCc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMF0uaW5uZXJUZXh0IGlzICdaJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8YnI+DQo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0uaW5uZXJUZXh0IGlzICdBJzxicj4NCjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBpcyAn
MS41Jzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sy
XS5pbm5lclRleHQgaXMgJ0EuNSc8YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBz
ZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgc2hvdWxkIGJlIDIgKG9mIHR5cGUNCnN0cmluZykuIFdh
cyAob2YgdHlwZSBzdHJpbmcpLjxicj4NCjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IHNl
bGVjdDIub3B0aW9uc1szXS5pbm5lclRleHQgc2hvdWxkIGJlIEIgKG9mIHR5cGUNCnN0cmluZyku
IFdhcyAob2YgdHlwZSBzdHJpbmcpLjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+
IHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMyc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0uaW5uZXJUZXh0IGlzICdDJzxicj4NCjxicj4N
CjIuNiBJbnNlcnQgT3B0aW9uIGJleW9uZCB0aGUgZW5kIG9mIE9wdGlvbnM8YnI+DQo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDY8YnI+DQo8
c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxi
cj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1
ZSBpcyAnMCc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbMF0uaW5uZXJUZXh0IGlzICdaJzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+
IHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0uaW5uZXJUZXh0IGlzICdBJzxicj4NCjxzcGFu
IGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBpcyAnMS41
Jzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS5p
bm5lclRleHQgaXMgJ0EuNSc8YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbM10udmFsdWUgc2hvdWxkIGJlIDIgKG9mIHR5cGUNCnN0cmluZykuIFdhcyAo
b2YgdHlwZSBzdHJpbmcpLjxicj4NCjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1szXS5pbm5lclRleHQgc2hvdWxkIGJlIEIgKG9mIHR5cGUNCnN0cmluZykuIFdh
cyAob2YgdHlwZSBzdHJpbmcpLjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNl
bGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMyc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0uaW5uZXJUZXh0IGlzICdDJzxicj4NCjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBpcyAnNCc8YnI+
DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNV0uaW5uZXJU
ZXh0IGlzICdEJzxicj4NCjxicj4NCjIuNyBBZGQgYW4gT3B0aW9uIGF0IGluZGV4IC0xPGJyPg0K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3
PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4
IGlzIDE8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNb
MF0udmFsdWUgaXMgJzAnPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zWzBdLmlubmVyVGV4dCBpcyAnWic8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnPGJyPg0KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLmlubmVyVGV4dCBpcyAnQSc8YnI+
DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUg
aXMgJzEuNSc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbMl0uaW5uZXJUZXh0IGlzICdBLjUnPGJyPg0KPHNwYW4gY2xhc3M9ZmFpbDE+RkFJTDwvc3Bh
bj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIHNob3VsZCBiZSAyIChvZiB0eXBlDQpzdHJpbmcp
LiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnNbM10uaW5uZXJUZXh0IHNob3VsZCBiZSBCIChvZiB0eXBlDQpzdHJp
bmcpLiBXYXMgKG9mIHR5cGUgc3RyaW5nKS48YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnPGJyPg0KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzRdLmlubmVyVGV4dCBpcyAnQyc8YnI+DQo8
c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNV0udmFsdWUgaXMg
JzQnPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzVd
LmlubmVyVGV4dCBpcyAnRCc8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbNl0udmFsdWUgaXMgJzUnPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzZdLmlubmVyVGV4dCBpcyAnRSc8YnI+DQo8YnI+DQoyLjgg
QWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtMjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgLTIpIHRocmV3IGV4Y2VwdGlvbg0KW29i
amVjdCBFcnJvcl0uPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5v
cHRpb25zLmxlbmd0aCBpcyA3PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+DQo8YnI+DQoyLjkgQWRkIGEgbm9uLU9wdGlvbiBl
bGVtZW50PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
LmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24NCltvYmplY3QgRXJyb3JdLjxicj4NCjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxi
cj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBp
cyAxPGJyPg0KPGJyPg0KMi4xMCBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKTxicj4NCjxzcGFu
IGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkg
dGhyZXcgZXhjZXB0aW9uDQpbb2JqZWN0IEVycm9yXS48YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+DQo8c3BhbiBjbGFzcz1w
YXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4NCjxicj4NCjIu
MTEgQWRkIGEgbm9uLWVsZW1lbnQgKG51bWJlcik8YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbg0K
W29iamVjdCBFcnJvcl0uPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
c2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+DQo8YnI+DQoyLjEyIEFkZCB1bmRlZmluZWQ8
YnI+DQo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMuYWRkKG9w
dGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbg0KW29iamVjdCBFcnJvcl0uPGJyPg0KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPg0KPHNw
YW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+
DQo8YnI+DQoyLjEzIEFkZCBudWxsPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
c2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24NCltvYmplY3Qg
RXJyb3JdLjxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
cy5sZW5ndGggaXMgNzxicj4NCjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIu
c2VsZWN0ZWRJbmRleCBpcyAxPGJyPg0KPGJyPg0KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWU8YnI+DQo8YnI+DQo8c3BhbiBjbGFzcz1wYXNz
MT5URVNUIENPTVBMRVRFPC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9
TXNvTm9ybWFsPjxTRUxFQ1QgaWQ9c2VsZWN0MT4NCjxPUFRJT04gU0VMRUNURUQgVkFMVUU9IjEi
PkENCjxPUFRJT04gVkFMVUU9IjIiPkINCjxPUFRJT04+DQo8L1NFTEVDVD48U0VMRUNUDQppZD1z
ZWxlY3QyPg0KPE9QVElPTiBWQUxVRT0iMCI+Wg0KPE9QVElPTiBTRUxFQ1RFRCBWQUxVRT0iMSI+
QQ0KPE9QVElPTiBWQUxVRT0iMS41Ij5BLjUNCjxPUFRJT04+DQo8T1BUSU9OIFZBTFVFPSIzIj5D
DQo8T1BUSU9OIFZBTFVFPSI0Ij5EDQo8T1BUSU9OIFZBTFVFPSI1Ij5FDQo8L1NFTEVDVD48bzpw
PjwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9174</attachid>
            <date>2006-07-03 12:05:54 -0700</date>
            <delta_ts>2006-07-09 22:26:45 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-9179-v2.diff</filename>
            <type>text/plain</type>
            <size>62249</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTQ2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDctMDMgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTc5CisgICAgICAgICAgSW1wbGVtZW50IHNlbGVjdC5vcHRpb25z
LmFkZCgpIG1ldGhvZAorCisgICAgICAgICoga2pzL2xvb2t1cC5oOgorICAgICAgICAoS0pTOjps
b29rdXBQdXQpOiBFeHRyYWN0ZWQgYSBsb29rdXBQdXQoKSBtZXRob2QgZnJvbSB0aGUgZXhpc3Rp
bmcgbG9va3VwUHV0KCkgbWV0aG9kLgorICAgICAgICBUaGUgbmV3IG1ldGhvZCByZXR1cm5zIGEg
Ym9vbGVhbiB2YWx1ZSBpZiBubyBlbnRyeSBpcyBmb3VuZCBpbiB0aGUgbG9va3VwIHRhYmxlLgor
CiAyMDA2LTA3LTAyICBKdXN0aW4gSGF5Z29vZCA8amhheWdvb2RAc3BzdS5lZHUKIAogICAgICAg
ICBSZXZpZXdlZCwgdHdlYWtlZCwgbGFuZGVkIGJ5IGdnYXJlbi4KSW5kZXg6IEphdmFTY3JpcHRD
b3JlL2tqcy9sb29rdXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvbG9va3Vw
LmgJKHJldmlzaW9uIDE1MTQ1KQorKysgSmF2YVNjcmlwdENvcmUva2pzL2xvb2t1cC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjksMTggKzIyOSwyMCBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICAvKioK
ICAgICogVGhpcyBvbmUgaXMgZm9yICJwdXQiLgotICAgKiBMb29rdXAgaGFzaCBlbnRyeSBmb3Ig
cHJvcGVydHkgdG8gYmUgc2V0LCBhbmQgc2V0IHRoZSB2YWx1ZS4KKyAgICogSXQgbG9va3MgdXAg
YSBoYXNoIGVudHJ5IGZvciB0aGUgcHJvcGVydHkgdG8gYmUgc2V0LiAgSWYgYW4gZW50cnkKKyAg
ICogaXMgZm91bmQgaXQgc2V0cyB0aGUgdmFsdWUgYW5kIHJldHVybnMgdHJ1ZSwgZWxzZSBpdCBy
ZXR1cm5zIGZhbHNlLgogICAgKi8KLSAgdGVtcGxhdGUgPGNsYXNzIFRoaXNJbXAsIGNsYXNzIFBh
cmVudEltcD4KLSAgaW5saW5lIHZvaWQgbG9va3VwUHV0KEV4ZWNTdGF0ZSAqZXhlYywgY29uc3Qg
SWRlbnRpZmllciAmcHJvcGVydHlOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1
ZSAqdmFsdWUsIGludCBhdHRyLAorICB0ZW1wbGF0ZSA8Y2xhc3MgVGhpc0ltcD4KKyAgaW5saW5l
IGJvb2wgbG9va3VwUHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVy
dHlOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSogdmFsdWUsIGludCBhdHRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiB0YWJsZSwgVGhpc0lt
cCogdGhpc09iaikKICAgewogICAgIGNvbnN0IEhhc2hFbnRyeSogZW50cnkgPSBMb29rdXA6OmZp
bmRFbnRyeSh0YWJsZSwgcHJvcGVydHlOYW1lKTsKIAotICAgIGlmICghZW50cnkpIC8vIG5vdCBm
b3VuZDogZm9yd2FyZCB0byBwYXJlbnQKLSAgICAgIHRoaXNPYmotPlBhcmVudEltcDo6cHV0KGV4
ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOwotICAgIGVsc2UgaWYgKGVudHJ5LT5hdHRy
ICYgRnVuY3Rpb24pIC8vIGZ1bmN0aW9uOiBwdXQgYXMgb3ZlcnJpZGUgcHJvcGVydHkKKyAgICBp
ZiAoIWVudHJ5KQorICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGVudHJ5LT5hdHRyICYg
RnVuY3Rpb24pIC8vIGZ1bmN0aW9uOiBwdXQgYXMgb3ZlcnJpZGUgcHJvcGVydHkKICAgICAgIHRo
aXNPYmotPkpTT2JqZWN0OjpwdXQoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cik7CiAg
ICAgZWxzZSBpZiAoZW50cnktPmF0dHIgJiBSZWFkT25seSkgLy8gcmVhZG9ubHkhIENhbid0IHB1
dCEKICNpZmRlZiBLSlNfVkVSQk9TRQpAQCAtMjUwLDYgKzI1MiwyMyBAQCBuYW1lc3BhY2UgS0pT
IHsKICNlbmRpZgogICAgIGVsc2UKICAgICAgIHRoaXNPYmotPnB1dFZhbHVlUHJvcGVydHkoZXhl
YywgZW50cnktPnZhbHVlLCB2YWx1ZSwgYXR0cik7CisKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQor
CisgIC8qKgorICAgKiBUaGlzIG9uZSBpcyBmb3IgInB1dCIuCisgICAqIEl0IGNhbGxzIGxvb2t1
cFB1dDxUaGlzSW1wPigpIHRvIHNldCB0aGUgdmFsdWUuICBJZiB0aGF0IGNhbGwKKyAgICogcmV0
dXJucyBmYWxzZSAobWVhbmluZyBubyBlbnRyeSBpbiB0aGUgaGFzaCB0YWJsZSB3YXMgZm91bmQp
LAorICAgKiB0aGVuIGl0IGNhbGxzIHB1dCgpIG9uIHRoZSBQYXJlbnRJbXAgY2xhc3MuCisgICAq
LworICB0ZW1wbGF0ZSA8Y2xhc3MgVGhpc0ltcCwgY2xhc3MgUGFyZW50SW1wPgorICBpbmxpbmUg
dm9pZCBsb29rdXBQdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyICZwcm9wZXJ0
eU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlKiB2YWx1ZSwgaW50IGF0dHIs
CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBIYXNoVGFibGUqIHRhYmxlLCBUaGlzSW1w
KiB0aGlzT2JqKQorICB7CisgICAgaWYgKCFsb29rdXBQdXQ8VGhpc0ltcD4oZXhlYywgcHJvcGVy
dHlOYW1lLCB2YWx1ZSwgYXR0ciwgdGFibGUsIHRoaXNPYmopKQorICAgICAgdGhpc09iai0+UGFy
ZW50SW1wOjpwdXQoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cik7IC8vIG5vdCBmb3Vu
ZDogZm9yd2FyZCB0byBwYXJlbnQKICAgfQogCiB9IC8vIG5hbWVzcGFjZQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gMTUxNDYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAwNi0wNy0wMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVy
Lm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHRlc3QgZm9yIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTE3OQorICAgICAgICAgIEltcGxlbWVudCBzZWxlY3Qub3B0aW9ucy5hZGQoKSBtZXRob2QKKwor
ICAgICAgICAqIGZhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLWV4cGVjdGVk
LnR4dDogVXBkYXRlZCB0ZXN0IHJlc3VsdHMuCisgICAgICAgICogZmFzdC9kb20vc2VsZWN0LXNl
bGVjdGVkSW5kZXgtbXVsdGlwbGUuaHRtbDogVXBkYXRlZCB0byBwcmludCBjb21tZW50cyBiZXR3
ZWVuCisgICAgICAgIHRlc3RzIHRvIG1ha2UgZmFpbHVyZXMgZWFzaWVyIHRvIHRyYWNrIGRvd24u
CisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLmh0bWw6IEFkZGVkLgor
CiAyMDA2LTA3LTAyICBNaXR6IFBldHRlbCAgPG9wZW5kYXJ3aW4ub3JnQG1pdHpwZXR0ZWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMTUxNDUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxl
Y3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMTQgKzEsMTkgQEAKIAorMSkgc2V0dGluZyBsZW5ndGggdG8gYSBuZWdhdGl2ZSBsZW5ndGgK
IFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZEluZGV4IGlzIDAKKzIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aAogUEFTUyBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA1CiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXgg
aXMgMAorMykgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aAogUEFTUyBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAog
UEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVk
SW5kZXggaXMgMAorNCkgc2V0dGluZyBsZW5ndGggdG8gdGhlIHNhbWUgbGVuZ3RoCiBQQVNTIG15
U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBp
cyAwCis1KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZXMgKG51bGwsCiBQQVNT
IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCBpcyAtMQogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCkBAIC0xNywxMCArMjIs
MTMgQEAgUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCiBQQVNTIG15U2VsZWN0LnNl
bGVjdGVkSW5kZXggaXMgLTEKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgogUEFT
UyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzYpIHNldHRpbmcgYW4gZWxlbWVudCBieSBp
bmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdAogUEFTUyBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzcpIHNl
dHRpbmcgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBpbmRleAogUEFTUyBteVNlbGVjdC5vcHRpb25z
Lmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzgpIHRyeWlu
ZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbgogUEFTUyBteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCBpcyAxMAogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKIFBB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUuaHRtbAkocmV2
aXNpb24gMTUxNDUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRl
eC1tdWx0aXBsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMiwxNiArMTIsMTcgQEAgZnVuY3Rp
b24gcmVzZXQobXlTZWxlY3QpIHsKIHZhciBteVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0Iik7CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVnKCIxKSBzZXR0aW5nIGxlbmd0
aCB0byBhIG5lZ2F0aXZlIGxlbmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAtMTsK
IHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlT
ZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDEpIHNldHRpbmcgbGVuZ3RoIHRvIGEg
bGFyZ2VyIGxlbmd0aAorZGVidWcoIjIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0
aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSA1Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIiwgIjUiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4Iiwg
IjAiKTsKIAotLy8gMikgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aAorZGVidWco
IjMpIHNldHRpbmcgbGVuZ3RoIHRvIGEgc21hbGxlciBsZW5ndGgiKTsKIG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoID0gMjsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7
CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CkBAIC0zMSwxMiArMzIs
MTIgQEAgc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEiKQogc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogcmVzZXQobXlTZWxlY3QpOwogCi0vLyAz
KSBzZXR0aW5nIGxlbmd0aCB0byB0aGUgc2FtZSBsZW5ndGgKK2RlYnVnKCI0KSBzZXR0aW5nIGxl
bmd0aCB0byB0aGUgc2FtZSBsZW5ndGgiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMjsK
IHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlT
ZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDQpIHNldHRpbmcgbGVuZ3RoIHRvIG5v
bi1pbnRlZ2VyIHZhbHVlcyAobnVsbCwKK2RlYnVnKCI1KSBzZXR0aW5nIGxlbmd0aCB0byBub24t
aW50ZWdlciB2YWx1ZXMgKG51bGwsIik7CiAvLyB1bmRlZmluZWQsIG5vbi1udW1lcmljIHN0cmlu
ZywgZmxvYXRpbmcgcG9pbnQgbnVtYmVyKQogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSBudWxs
Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKQEAgLTU3LDE3ICs1
OCwxNyBAQCBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IDIuMTsKIHNob3VsZEJlKCJteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCIsICIwIik7CiAKLS8vIDUpIHNldHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBl
bmQgb2YgdGhlIGN1cnJlbnQgbGlzdAorZGVidWcoIjYpIHNldHRpbmcgYW4gZWxlbWVudCBieSBp
bmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdCIpOwogbXlTZWxlY3Qub3B0aW9u
c1sxMF0gPSBuZXcgT3B0aW9uKCJ0ZW4iLCAidmFsdWUiLCB0cnVlLCB0cnVlKTsKIHNob3VsZEJl
KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMSIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNl
bGVjdGVkSW5kZXgiLCAiMCIpOwogCi0vLyA2KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQg
YnkgaW5kZXgKK2RlYnVnKCI3KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXgi
KTsKIG15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbXlTZWxlY3Qub3B0aW9uc1sxMF07CiBzaG91bGRC
ZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTEiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5z
ZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8gNykgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRo
YXQncyBub3QgYW4gb3B0aW9uCitkZWJ1ZygiOCkgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRo
YXQncyBub3QgYW4gb3B0aW9uIik7CiAvLyBlbGVtZW50IChudWxsLCB1bmRlZmluZWQsIG90aGVy
IGtpbmRzIG9mIG9iamVjdHMsIG90aGVyIGtpbmRzIG9mIGVsZW1lbnRzKQogbXlTZWxlY3Qub3B0
aW9uc1sxMF0gPSBudWxsOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEw
Iik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1h
ZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxl
Y3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3NCBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGFkZCgpIG1ldGhvZCBvbiB0
aGUgc2VsZWN0Lm9wdGlvbnMgb2JqZWN0LgorSXQgY292ZXJzIGJvdGggdGhlIHRoZSBvbmUtYXJn
dW1lbnQgKDEueCkgYW5kIHR3by1hcmd1bWVudCAoMi54KSBzaWduYXR1cmVzIG9mIHRoZSBhZGQo
KSBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisxLjEgQWRkIE9wdGlv
biB0byBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMQorUEFT
UyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorUEFTUyBzZWxlY3QxLm9wdGlvbnNbMF0udmFs
dWUgaXMgJzEnCitQQVNTIHNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnQScKKwor
MS4yIEFkZCBPcHRpb24gdG8gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVj
dDEub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzBdLnRleHRD
b250ZW50IGlzICdBJworUEFTUyBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInCitQQVNT
IHNlbGVjdDEub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQicKKworMS4zIEFkZCBPcHRpb24g
YWZ0ZXIgc2V0dGluZyBwYXJhbWV0ZXJzCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMg
MworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorUEFTUyBzZWxlY3QxLm9wdGlvbnNb
MF0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAn
QScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzFdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3QxLm9w
dGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0InCitQQVNTIHNlbGVjdDEub3B0aW9uc1syXS52YWx1
ZSBpcyAnMycKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdDJworCisx
LjQgQWRkIGEgbm9uLU9wdGlvbiBlbGVtZW50CitQQVNTIHNlbGVjdDEub3B0aW9ucy5hZGQob3B0
aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxNy4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNlbGVjdDEu
c2VsZWN0ZWRJbmRleCBpcyAwCisKKzEuNSBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKQorUEFT
UyBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDEub3B0aW9ucy5s
ZW5ndGggaXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorCisxLjYgQWRkIGEg
bm9uLWVsZW1lbnQgKG51bWJlcikKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IGlzIDAKKworMS43IEFkZCB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFk
ZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2Vs
ZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKworMS44IEFkZCBudWxsCitQQVNTIHNlbGVjdDEub3B0
aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VS
UjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQ
QVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCisKKzIuMSBBZGQgT3B0aW9uIHRvIGVtcHR5
IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdDIu
c2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMScK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdBJworCisyLjIgQWRkIE9w
dGlvbiBhZnRlciBzZXR0aW5nIHBhcmFtZXRlcnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyAyCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVjdDIub3B0
aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50
IGlzICdBJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInCitQQVNTIHNlbGVj
dDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQicKKworMi4zIEluc2VydCBPcHRpb24gYXQg
YmVnaW5uaW5nIG9mIE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAzCitQ
QVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52
YWx1ZSBpcyAnMCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJwor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDIub3B0aW9u
c1sxXS50ZXh0Q29udGVudCBpcyAnQScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlz
ICcyJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0InCisKKzIuNCBJ
bnNlcnQgT3B0aW9uIGluIG1pZGRsZSBvZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5s
ZW5ndGggaXMgNAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnNbMF0udmFsdWUgaXMgJzAnCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29u
dGVudCBpcyAnWicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9u
c1syXS52YWx1ZSBpcyAnMS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQg
aXMgJ0EuNScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxl
Y3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InCisKKzIuNSBJbnNlcnQgT3B0aW9uIGF0
IGVuZCBvZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNQorUEFTUyBz
ZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUg
aXMgJzAnCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnWicKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0u
dGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBpcyAnMS41
JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0EuNScKK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udGV4
dENvbnRlbnQgaXMgJ0InCitQQVNTIHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMycKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJworCisyLjYgSW5zZXJ0IE9w
dGlvbiBiZXlvbmQgdGhlIGVuZCBvZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5n
dGggaXMgNgorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3QyLm9w
dGlvbnNbMF0udmFsdWUgaXMgJzAnCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVu
dCBpcyAnWicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBzZWxl
Y3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1sy
XS52YWx1ZSBpcyAnMS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMg
J0EuNScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3Qy
Lm9wdGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InCitQQVNTIHNlbGVjdDIub3B0aW9uc1s0XS52
YWx1ZSBpcyAnMycKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJwor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbNV0udmFsdWUgaXMgJzQnCitQQVNTIHNlbGVjdDIub3B0aW9u
c1s1XS50ZXh0Q29udGVudCBpcyAnRCcKKworMi43IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTEK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJ
bmRleCBpcyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCcKK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJworUEFTUyBzZWxlY3QyLm9wdGlvbnNb
MV0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAn
QScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnCitQQVNTIHNlbGVjdDIu
b3B0aW9uc1syXS50ZXh0Q29udGVudCBpcyAnQS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10u
dmFsdWUgaXMgJzInCitQQVNTIHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQicK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzRdLnZhbHVlIGlzICczJworUEFTUyBzZWxlY3QyLm9wdGlv
bnNbNF0udGV4dENvbnRlbnQgaXMgJ0MnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBp
cyAnNCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzVdLnRleHRDb250ZW50IGlzICdEJworUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbNl0udmFsdWUgaXMgJzUnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s2XS50
ZXh0Q29udGVudCBpcyAnRScKKworMi44IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTIKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAtMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
TkRFWF9TSVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVu
Z3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi45IEFkZCBhIG5v
bi1PcHRpb24gZWxlbWVudAorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMQorCisyLjEwIEFkZCBhIG5vbi1lbGVtZW50IChzdHJpbmcpCitQQVNTIHNlbGVj
dDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCisKKzIuMTEgQWRkIGEgbm9u
LWVsZW1lbnQgKG51bWJlcikKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IGlzIDEKKworMi4xMiBBZGQgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5h
ZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjog
RE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNT
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCisKKzIuMTMgQWRkIG51bGwKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXY+Cis8c2VsZWN0IGlkPSJzZWxlY3QxIj48
L3NlbGVjdD4KKzxzZWxlY3QgaWQ9InNlbGVjdDIiPjwvc2VsZWN0PgorPC9kaXY+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFkZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1h
ZGQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0
LW9wdGlvbnMtYWRkLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNv
dXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0MyBA
QAorZGVzY3JpcHRpb24oCisiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGFk
ZCgpIG1ldGhvZCBvbiB0aGUgc2VsZWN0Lm9wdGlvbnMgb2JqZWN0Ljxicj4iICsKKyJJdCBjb3Zl
cnMgYm90aCB0aGUgdGhlIG9uZS1hcmd1bWVudCAoMS54KSBhbmQgdHdvLWFyZ3VtZW50ICgyLngp
IHNpZ25hdHVyZXMgb2YgdGhlIGFkZCgpIG1ldGhvZC4iCispOworCitkZWJ1ZygiMS4xIEFkZCBP
cHRpb24gdG8gZW1wdHkgT3B0aW9ucyIpOwordmFyIHNlbGVjdDEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2VsZWN0MSIpOwordmFyIG9wdGlvbjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJPUFRJT04iKTsKK3NlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSk7CitvcHRpb24xLnZhbHVl
ID0gIjEiOworb3B0aW9uMS50ZXh0Q29udGVudCA9ICJBIjsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAi
MCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIxLjIgQWRkIE9wdGlvbiB0byBub24tZW1wdHkgT3B0aW9ucyIpOworb3B0aW9u
MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0MS5vcHRpb25zLmFk
ZChvcHRpb24xKTsKK29wdGlvbjEudmFsdWUgPSAiMiI7CitvcHRpb24xLnRleHRDb250ZW50ID0g
IkIiOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUo
InNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25z
WzBdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29u
dGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUiLCAiJzIn
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50IiwgIidCJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMS4zIEFkZCBPcHRpb24gYWZ0ZXIgc2V0dGluZyBwYXJhbWV0
ZXJzIik7CitvcHRpb24xID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitvcHRp
b24xLnZhbHVlID0gIjMiOworb3B0aW9uMS50ZXh0Q29udGVudCA9ICJDIjsKK3NlbGVjdDEub3B0
aW9ucy5hZGQob3B0aW9uMSk7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIz
Iik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zWzBdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1sx
XS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMV0udGV4dENvbnRl
bnQiLCAiJ0InIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzJdLnZhbHVlIiwgIiczJyIp
Oworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1syXS50ZXh0Q29udGVudCIsICInQyciKTsKK2Rl
YnVnKCIiKTsKKworZGVidWcoIjEuNCBBZGQgYSBub24tT3B0aW9uIGVsZW1lbnQiKTsKK29wdGlv
bjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKTsKK3Nob3VsZFRocm93KCJzZWxlY3Qx
Lm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0
aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVn
KCIiKTsKKworZGVidWcoIjEuNSBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKSIpOworb3B0aW9u
MSA9ICJvIjsKK3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7Citz
aG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0
MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNiBBZGQgYSBu
b24tZWxlbWVudCAobnVtYmVyKSIpOworb3B0aW9uMSA9IDMuMTQ7CitzaG91bGRUaHJvdygic2Vs
ZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5s
ZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7Citk
ZWJ1ZygiIik7CisKK2RlYnVnKCIxLjcgQWRkIHVuZGVmaW5lZCIpOworb3B0aW9uMSA9IHVuZGVm
aW5lZDsKK3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91
bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5z
ZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuOCBBZGQgbnVsbCIp
Oworb3B0aW9uMSA9IG51bGw7CitzaG91bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChvcHRp
b24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxk
QmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIy
LjEgQWRkIE9wdGlvbiB0byBlbXB0eSBPcHRpb25zIik7Cit2YXIgc2VsZWN0MiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QyIik7Cit2YXIgb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAwKTsKK29w
dGlvbjIudmFsdWUgPSAiMSI7CitvcHRpb24yLnRleHRDb250ZW50ID0gIkEiOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0
ZWRJbmRleCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIicx
JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCIsICInQSciKTsK
K2RlYnVnKCIiKTsKKworZGVidWcoIjIuMiBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1l
dGVycyIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworb3B0
aW9uMi52YWx1ZSA9ICIyIjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiQiI7CitzZWxlY3QyLm9w
dGlvbnMuYWRkKG9wdGlvbjIsIDEpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgi
LCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIwIik7CitzaG91bGRC
ZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9uc1swXS50ZXh0Q29udGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlv
bnNbMV0udmFsdWUiLCAiJzInIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnRleHRD
b250ZW50IiwgIidCJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4zIEluc2VydCBPcHRpb24g
YXQgYmVnaW5uaW5nIG9mIE9wdGlvbnMiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJPUFRJT04iKTsKK3NlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMCk7CitvcHRpb24y
LnZhbHVlID0gIjAiOworb3B0aW9uMi50ZXh0Q29udGVudCA9ICJaIjsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5k
ZXgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInMCciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ1onIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbMl0udmFsdWUiLCAiJzInIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnRl
eHRDb250ZW50IiwgIidCJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi40IEluc2VydCBPcHRp
b24gaW4gbWlkZGxlIG9mIE9wdGlvbnMiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJPUFRJT04iKTsKK3NlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMik7CitvcHRpb24y
LnZhbHVlID0gIjEuNSI7CitvcHRpb24yLnRleHRDb250ZW50ID0gIkEuNSI7CitzaG91bGRCZSgi
c2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJzAn
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IiwgIidaJyIpOwor
c2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zWzJdLnZhbHVlIiwgIicxLjUnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
WzJdLnRleHRDb250ZW50IiwgIidBLjUnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzNd
LnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVu
dCIsICInQiciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuNSBJbnNlcnQgT3B0aW9uIGF0IGVu
ZCBvZiBPcHRpb25zIik7CitvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9O
Iik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDQpOworb3B0aW9uMi52YWx1ZSA9ICIz
IjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiQyI7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI1Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJzAnIik7CitzaG91bGRCZSgi
c2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IiwgIidaJyIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1sxXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNb
MV0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnZh
bHVlIiwgIicxLjUnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50
IiwgIidBLjUnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIiwgIicyJyIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCIsICInQiciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUiLCAiJzMnIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IiwgIidDJyIpOworZGVidWcoIiIpOworCitkZWJ1
ZygiMi42IEluc2VydCBPcHRpb24gYmV5b25kIHRoZSBlbmQgb2YgT3B0aW9ucyIpOworb3B0aW9u
MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFk
ZChvcHRpb24yLCA2KTsKK29wdGlvbjIudmFsdWUgPSAiNCI7CitvcHRpb24yLnRleHRDb250ZW50
ID0gIkQiOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNiIpOworc2hvdWxk
QmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zWzBdLnZhbHVlIiwgIicwJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS50ZXh0
Q29udGVudCIsICInWiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUiLCAi
JzEnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IiwgIidBJyIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSIsICInMS41JyIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCIsICInQS41JyIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9uc1szXS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbM10udGV4dENvbnRlbnQiLCAiJ0InIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
WzRdLnZhbHVlIiwgIiczJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s0XS50ZXh0Q29u
dGVudCIsICInQyciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNV0udmFsdWUiLCAiJzQn
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzVdLnRleHRDb250ZW50IiwgIidEJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMi43IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTEiKTsKK29w
dGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3NlbGVjdDIub3B0aW9u
cy5hZGQob3B0aW9uMiwgLTEpOworb3B0aW9uMi52YWx1ZSA9ICI1IjsKK29wdGlvbjIudGV4dENv
bnRlbnQgPSAiRSI7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7Citz
aG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbMF0udmFsdWUiLCAiJzAnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBd
LnRleHRDb250ZW50IiwgIidaJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1
ZSIsICInMSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQiLCAi
J0EnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIiwgIicxLjUnIik7Citz
aG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50IiwgIidBLjUnIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1szXS50ZXh0Q29udGVudCIsICInQiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbNF0udmFsdWUiLCAiJzMnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzRdLnRl
eHRDb250ZW50IiwgIidDJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSIs
ICInNCciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNV0udGV4dENvbnRlbnQiLCAiJ0Qn
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzZdLnZhbHVlIiwgIic1JyIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9uc1s2XS50ZXh0Q29udGVudCIsICInRSciKTsKK2RlYnVnKCIiKTsK
KworZGVidWcoIjIuOCBBZGQgYW4gT3B0aW9uIGF0IGluZGV4IC0yIik7CitvcHRpb24yID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitzaG91bGRUaHJvdygic2VsZWN0Mi5vcHRp
b25zLmFkZChvcHRpb24yLCAtMikiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWco
IiIpOworCitkZWJ1ZygiMi45IEFkZCBhIG5vbi1PcHRpb24gZWxlbWVudCIpOworb3B0aW9uMiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpOworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0
aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWco
IiIpOworCitkZWJ1ZygiMi4xMCBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKSIpOworb3B0aW9u
MiA9ICJvIjsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7
CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTEgQWRk
IGEgbm9uLWVsZW1lbnQgKG51bWJlcikiKTsKK29wdGlvbjIgPSAzLjE0Oworc2hvdWxkVGhyb3co
InNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAi
MSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMiBBZGQgdW5kZWZpbmVkIik7CitvcHRpb24y
ID0gdW5kZWZpbmVkOworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwg
MSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4x
MyBBZGQgbnVsbCIpOworb3B0aW9uMiA9IG51bGw7CitzaG91bGRUaHJvdygic2VsZWN0Mi5vcHRp
b25zLmFkZChvcHRpb24yLCAxKSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgi
LCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1Zygi
Iik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNDYpCisrKyBX
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDA2LTA3
LTAzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBraWx6ZXIubmV0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWd6aWxsYS5v
cGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3OQorICAgICAgICAgIEltcGxlbWVudCBz
ZWxlY3Qub3B0aW9ucy5hZGQoKSBtZXRob2QKKworICAgICAgICBUZXN0OiBmYXN0L2pzL3NlbGVj
dC1vcHRpb25zLWFkZC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBBZGRl
ZCBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajogQWRkZWQgbmV3IHNvdXJjZSBmaWxlcy4KKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246Omxlbmd0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2V0TGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjppbmRleFNldHRlcik6CisgICAgICAgICog
YmluZGluZ3MvanMva2pzX2h0bWwuY3BwOiBSZW1vdmVkIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9u
IGltcGxlbWVudGF0aW9uLgorICAgICAgICBSZW5hbWVkIGNsYXNzZXMgYW5kIG1ldGhvZHMgZm9y
IGNvbnNpc3RlbmN5LgorICAgICAgICAoS0pTOjpKU0hUTUxFbGVtZW50OjpzZWxlY3RHZXR0ZXIp
OgorICAgICAgICAoS0pTOjpKU0hUTUxFbGVtZW50OjpwdXQpOgorICAgICAgICAoS0pTOjpKU0hU
TUxFbGVtZW50OjpzZWxlY3RTZXR0ZXIpOgorICAgICAgICAoS0pTOjpKU0hUTUxDb2xsZWN0aW9u
OjpKU0hUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKEtKUzo6SlNIVE1MQ29sbGVjdGlvblByb3Rv
RnVuYzo6Y2FsbEFzRnVuY3Rpb24pOgorICAgICAgICAoS0pTOjpnZXRIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL2tqc19odG1sLmg6IERpdHRvLgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOiBBZGRlZCBzdXBwb3J0IGZv
ciBIYXNDdXN0b21JbmRleFNldHRlciBjbGFzcyBhdHRyaWJ1dGUuCisgICAgICAgIEFkZGVkIHN1
cHBvcnQgZm9yIE9wdGlvbmFsIHBhcmFtZXRlciBhdHRyaWJ1dGUsIHdoaWNoIG1ha2VzIGdlbmVy
YXRlZCBjb2RlIGFzc3VtZSBvdmVybG9hZGVkCisgICAgICAgIGltcGxlbWVudGF0aW9uIG1ldGhv
ZHMgYXJlIGF2YWlsYWJsZSBmb3IgYSBKYXZhU2NyaXB0IGZ1bmN0aW9uIHdpdGggb3B0aW9uYWwg
YXJndW1lbnRzLiAgQ2hhbmdlZAorICAgICAgICBsb2NhbCAnaW1wbCcgdmFyaWFibGVzIHRvICdp
bXAnIHNvIHRoYXQgaW1wbCgpIG1ldGhvZHMgY291bGQgYmUgY2FsbGVkIHdpdGhvdXQgY2xhc3Mg
ZGVzaWduYXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IEFkZGVk
IEdlbmVyYXRlTmF0aXZlQ29udmVydGVyIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBodG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5jcHA6IEFkZGVkIG1ldGhvZHMgdXNlZCBieSBnZW5lcmF0ZWQgSlNI
VE1MT3B0aW9uc0NvbGxlY3Rpb24gY2xhc3MuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OkhUTUxPcHRpb25zQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OnNlbGVjdGVkSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlv
bnNDb2xsZWN0aW9uOjpzZXRTZWxlY3RlZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxP
cHRpb25zQ29sbGVjdGlvbjo6c2V0TGVuZ3RoKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25z
Q29sbGVjdGlvbi5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5pZGw6IEFkZGVkLgorCiAyMDA2LTA3LTAyICBNaWtlIEVtbWVsICA8bWlrZS5lbW1lbEBnbWFp
bC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYW5kIGxhbmRlZCBieSBnZ2FyZW4uCkluZGV4OiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiAxNTE0NSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBhbGwgOiBcCiAgICAgSlNIVE1M
TGlua0VsZW1lbnQuaCBcCiAgICAgSlNIVE1MTWVudUVsZW1lbnQuaCBcCiAgICAgSlNIVE1MT3B0
aW9uRWxlbWVudC5oIFwKKyAgICBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIFwKICAgICBKU0hU
TUxPcHRHcm91cEVsZW1lbnQuaCBcCiAgICAgSlNIVE1MUXVvdGVFbGVtZW50LmggXAogICAgIEpT
SFRNTE1hcEVsZW1lbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMTUxNDUpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTYwLDYgKzE2MCw5IEBACiAJCTFD
RDQ0MThFMEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3Iu
dGlmZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNE
NDQxOEEwQTRDRTc2RjAwQTAwN0FCIC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci50
aWZmICovOyB9OwogCQkxQ0Q0NDE4RjBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhTb3V0aFJlc2l6
ZUN1cnNvci50aWZmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQ0Q0NDE4QjBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhTb3V0aFJlc2l6ZUN1cnNvci50
aWZmICovOyB9OwogCQkxQ0Q0NDE5MDBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhXZXN0U291dGhF
YXN0UmVzaXplQ3Vyc29yLnRpZmYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDRDQ0MThDMEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aFdlc3RTb3V0aEVh
c3RSZXNpemVDdXJzb3IudGlmZiAqLzsgfTsKKwkJNDQ4QTI5QkYwQTQ2RDlDQjAwMzA3NTlGIC8q
IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDhBMjlCRDBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaCAqLzsgfTsKKwkJNDQ4QTI5QzAwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OEEyOUJFMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5jcHAgKi87IH07CisJCTQ0OEFEMjdDMEE0ODEzN0EwMDIzRDE3OSAvKiBKU0hUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb25DdXN0b20uY3BwICovOyB9OwogCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEUxOTU5MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5h
bWVzLmNwcCAqLzsgfTsKIAkJNEUxOTU5MjIwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVy
ZU5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLzsgfTsKIAkJ
NEUxOTU5MjkwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1
IC8qIE1lZGlhUXVlcnkuY3BwICovOyB9OwpAQCAtMTc5MCw2ICsxNzkzLDkgQEAKIAkJMUNENDQx
OEMwQTRDRTc2RjAwQTAwN0FCIC8qIG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvci50aWZm
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2Uu
dGlmZjsgcGF0aCA9IG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvci50aWZmOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJv
YXJkTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENsaXBib2FyZE1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IHVzZXNUYWJzID0gMDsgfTsKIAkJMkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2Fy
ZE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IENsaXBib2FyZE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB1c2VzVGFicyA9IDA7IH07CisJCTQ0OEEyOUJEMEE0NkQ5Q0IwMDMwNzU5RiAvKiBK
U0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDQ4QTI5QkUwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0OEFEMjdBMEE0ODEz
NzkwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ3NThDNDQzMDhDNUYyMTcwMDlC
QUYwNSAvKiBLQ2FudmFzUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEtDYW52YXNQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTRFMTk1OTFGMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhRmVhdHVyZU5hbWVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNzA3LDYgKzM3MTMsOCBAQAogCQkJCUE4
MEU3RTkxMEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRHcm91cEVsZW1lbnQuaCAqLywKIAkJ
CQlBODBFN0U5MDBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5jcHAgKi8s
CiAJCQkJQTgwRTdFOEYwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnQuaCAq
LywKKwkJCQk0NDhBMjlCRTBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwICovLAorCQkJCTQ0OEEyOUJEMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25z
Q29sbGVjdGlvbi5oICovLAogCQkJCTFBRTJBQjlFMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQ
YXJhZ3JhcGhFbGVtZW50LmNwcCAqLywKIAkJCQkxQUUyQUI5RjBBMUNFOTA1MDBCNDJCMjUgLyog
SlNIVE1MUGFyYWdyYXBoRWxlbWVudC5oICovLAogCQkJCTFBRTJBQkEwMEExQ0U5MDUwMEI0MkIy
NSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuY3BwICovLApAQCAtNDkxMCw2ICs0OTE4LDcgQEAKIAkJ
CQlBODBFN0U2MzBBMUE4MkVDMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50QmFzZS5oICov
LAogCQkJCUE4MjZFOEFEMEExQThGMjMwMENEMUJCNiAvKiBKU0hUTUxPcHRpb25FbGVtZW50Q29u
c3RydWN0b3IuY3BwICovLAogCQkJCUE4MjZFOEFDMEExQThGMjMwMENEMUJCNiAvKiBKU0hUTUxP
cHRpb25FbGVtZW50Q29uc3RydWN0b3IuaCAqLywKKwkJCQk0NDhBRDI3QTBBNDgxMzc5MDAyM0Qx
NzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJCTkzQjcwRDQx
MDlFQjBDN0MwMDlEODQ2OCAvKiBKU1hNTEh0dHBSZXF1ZXN0LmNwcCAqLywKIAkJCQk5M0I3MEQ0
MjA5RUIwQzdDMDA5RDg0NjggLyogSlNYTUxIdHRwUmVxdWVzdC5oICovLAogCQkJCTkzQjcwRDQz
MDlFQjBDN0MwMDlEODQ2OCAvKiBKU1hNTFNlcmlhbGl6ZXIuY3BwICovLApAQCAtNjM2Myw2ICs2
MzcyLDcgQEAKIAkJCQlBQkU3QjUyNDBBNDg5RjgzMDAzMTg4MUMgLyogRGVwcmVjYXRlZFJlbmRl
clNlbGVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREIyM0MyQ0MwQTUwOEQyOTAwMjQ4OUVCIC8q
IEluZGVudE91dGRlbnRDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NENzREQzBBNEM4
RDM1MDA1RkRBNkQgLyogSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDQ4QTI5QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTgwODZDQzBBNEQwOTc2MDBERkI2QTcgLyogRE9NQ1NTSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUQxMzgwMEE1MzI1NTIwMDY0QkY1RiAvKiBE
T01YUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRDEzQ0EwQTUzMjkwOTAwNjRCRjVGIC8q
IERPTVhQYXRoSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtNzIyNSw2ICs3MjM1LDggQEAK
IAkJCQk1MUYxMUUxNTBBNDhDMjkyMDAzNEEyNEUgLyogU1FMVHJhbnNhY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJREIyM0MyQ0IwQTUwOEQyOTAwMjQ4OUVCIC8qIEluZGVudE91dGRlbnRD
b21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Q3NEU1MEE0QzhEREYwMDVGREE2RCAv
KiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ0OEEyOUMw
MEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk0NDhBRDI3QzBBNDgxMzdBMDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxl
Y3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEwNTJDMzIwQTRENzAwMTAwNzJE
OTlCIC8qIERPTUV2ZW50c05vbnN0YW5kYXJkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MTQ5
RUQwQTUyNUUzQTAwM0RGQzdBIC8qIFNpdGVJY29uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
MUQxMzgxMEE1MzI1NTIwMDY0QkY1RiAvKiBET01YUGF0aC5tbSBpbiBTb3VyY2VzICovLApJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlv
bkN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9w
dGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgorCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJI
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgor
I2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnQuaCIKKwordXNpbmcgbmFtZXNwYWNlIEtKUzsK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bjo6bGVuZ3RoKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24qIGltcCA9IHN0YXRpY19jYXN0PEhUTUxPcHRpb25zQ29sbGVjdGlvbio+KGltcGwoKSk7
CisgICAgcmV0dXJuIGpzTnVtYmVyKGltcC0+bGVuZ3RoKCkpOworfQorCit2b2lkIEpTSFRNTE9w
dGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlKiB2YWx1
ZSkKK3sKKyAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGltcCA9IHN0YXRpY19jYXN0PEhUTUxP
cHRpb25zQ29sbGVjdGlvbio+KGltcGwoKSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgdW5zaWduZWQgbmV3TGVuZ3RoID0gMDsKKyAgICBpZiAodmFsdWUtPmlzTnVtYmVyKCkpIHsK
KyAgICAgICAgZG91YmxlIGxlbmd0aFZhbHVlOworICAgICAgICB2YWx1ZS0+Z2V0TnVtYmVyKGxl
bmd0aFZhbHVlKTsKKyAgICAgICAgaWYgKGxlbmd0aFZhbHVlIDwgMC4wKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBpZiAobGVuZ3RoVmFsdWUgPiBkb3VibGUoVUlOVF9NQVgpKQorICAg
ICAgICAgICAgbmV3TGVuZ3RoID0gVUlOVF9NQVg7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IG5ld0xlbmd0aCA9IHVuc2lnbmVkKGxlbmd0aFZhbHVlKTsKKyAgICB9CisgICAgaW1wLT5zZXRM
ZW5ndGgobmV3TGVuZ3RoLCBlYyk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKK30K
Kwordm9pZCBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6aW5kZXhTZXR0ZXIoS0pTOjpFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEtKUzo6SWRlbnRpZmllciAmcHJvcGVydHlOYW1lLCBLSlM6OkpTVmFs
dWUqIHZhbHVlLCBpbnQgYXR0cikKK3sKKyAgICBib29sIG9rOworICAgIHVuc2lnbmVkIGluZGV4
ID0gcHJvcGVydHlOYW1lLnRvVUludDMyKCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgcmV0
dXJuOworCisgICAgSFRNTE9wdGlvbnNDb2xsZWN0aW9uKiBpbXAgPSBzdGF0aWNfY2FzdDxIVE1M
T3B0aW9uc0NvbGxlY3Rpb24qPihpbXBsKCkpOworICAgIEhUTUxTZWxlY3RFbGVtZW50KiBiYXNl
ID0gc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPihpbXAtPmJhc2UoKSk7CisgICAgaWYg
KHZhbHVlLT5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICBiYXNlLT5yZW1vdmUoaW5kZXgp
OworICAgIGVsc2UgeworICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gdG9IVE1M
T3B0aW9uRWxlbWVudCh2YWx1ZSk7CisgICAgICAgIGlmICghb3B0aW9uKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgYmFzZS0+c2V0
T3B0aW9uKGluZGV4LCBvcHRpb24sIGVjKTsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMs
IGVjKTsKKyAgICB9Cit9CisKK30KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwuY3BwCShyZXZp
c2lvbiAxNTE0NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSAiSFRNTFRhYmxlUm93RWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1M
SW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKICNp
bmNsdWRlICJOYW1lTm9kZUxpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1
ZGUgIlRleHQuaCIKQEAgLTgzNCw3ICs4MzUsNyBAQCBKU1ZhbHVlICpKU0hUTUxFbGVtZW50Ojpz
ZWxlY3RHZXR0ZXIoRXhlCiAgICAgICAgIGNhc2UgU2VsZWN0VmFsdWU6ICAgICAgICAgICByZXR1
cm4ganNTdHJpbmcoc2VsZWN0LnZhbHVlKCkpOwogICAgICAgICBjYXNlIFNlbGVjdExlbmd0aDog
ICAgICAgICAgcmV0dXJuIGpzTnVtYmVyKHNlbGVjdC5sZW5ndGgoKSk7CiAgICAgICAgIGNhc2Ug
U2VsZWN0Rm9ybTogICAgICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBzZWxlY3QuZm9ybSgpKTsg
Ly8gdHlwZSBIVE1MRm9ybUVsZW1lbnQKLSAgICAgICAgY2FzZSBTZWxlY3RPcHRpb25zOiAgICAg
ICAgIHJldHVybiBnZXRTZWxlY3RIVE1MQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygp
LmdldCgpLCAmc2VsZWN0KTsgLy8gdHlwZSBKU0hUTUxDb2xsZWN0aW9uCisgICAgICAgIGNhc2Ug
U2VsZWN0T3B0aW9uczogICAgICAgICByZXR1cm4gZ2V0SFRNTE9wdGlvbnNDb2xsZWN0aW9uKGV4
ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCkpOwogICAgICAgICBjYXNlIFNlbGVjdERpc2FibGVk
OiAgICAgICAgcmV0dXJuIGpzQm9vbGVhbihzZWxlY3QuZGlzYWJsZWQoKSk7CiAgICAgICAgIGNh
c2UgU2VsZWN0TXVsdGlwbGU6ICAgICAgICByZXR1cm4ganNCb29sZWFuKHNlbGVjdC5tdWx0aXBs
ZSgpKTsKICAgICAgICAgY2FzZSBTZWxlY3ROYW1lOiAgICAgICAgICAgIHJldHVybiBqc1N0cmlu
ZyhzZWxlY3QubmFtZSgpKTsKQEAgLTEyNzgsNyArMTI3OSw3IEBAIHZvaWQgSlNIVE1MRWxlbWVu
dDo6cHV0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgYm9vbCBvazsKICAgICAgICAgLyp1bnNp
Z25lZCB1ID0qLyBwcm9wZXJ0eU5hbWUudG9VSW50MzIoJm9rKTsKICAgICAgICAgaWYgKG9rKSB7
Ci0gICAgICAgICAgICBKU09iamVjdCogY29sbCA9IHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZ2V0
U2VsZWN0SFRNTENvbGxlY3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlvbnMoKS5nZXQoKSwgJnNlbGVj
dCkpOworICAgICAgICAgICAgSlNPYmplY3QqIGNvbGwgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+
KGdldEhUTUxPcHRpb25zQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygpLmdldCgpKSk7
CiAgICAgICAgICAgICBjb2xsLT5wdXQoZXhlYyxwcm9wZXJ0eU5hbWUsdmFsdWUpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xMzE0LDcgKzEzMTUsNyBAQCB2b2lkIEpTSFRN
TEVsZW1lbnQ6OnNlbGVjdFNldHRlcihFeGVjU3RhCiAgICAgICAgIGNhc2UgU2VsZWN0U2VsZWN0
ZWRJbmRleDogICB7IHNlbGVjdC5zZXRTZWxlY3RlZEluZGV4KHZhbHVlLT50b0ludDMyKGV4ZWMp
KTsgcmV0dXJuOyB9CiAgICAgICAgIGNhc2UgU2VsZWN0VmFsdWU6ICAgICAgICAgICB7IHNlbGVj
dC5zZXRWYWx1ZShzdHIpOyByZXR1cm47IH0KICAgICAgICAgY2FzZSBTZWxlY3RMZW5ndGg6ICAg
ICAgICAgIHsgLy8gcmVhZC1vbmx5IGFjY29yZGluZyB0byB0aGUgTlMgc3BlYywgYnV0IHdlYnBh
Z2VzIG5lZWQgaXQgd3JpdGVhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIGNvbGwgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KGdldFNlbGVjdEhU
TUxDb2xsZWN0aW9uKGV4ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCksICZzZWxlY3QpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09iamVjdCogY29sbCA9IHN0
YXRpY19jYXN0PEpTT2JqZWN0Kj4oZ2V0SFRNTE9wdGlvbnNDb2xsZWN0aW9uKGV4ZWMsIHNlbGVj
dC5vcHRpb25zKCkuZ2V0KCkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb2xsLT5wdXQoZXhlYyxsZW5ndGhQcm9wZXJ0eU5hbWUsdmFsdWUpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KQEAgLTE1NzMsMjMgKzE1NzQsMjIgQEAgSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQqIHRvSFRNTFRhYmxlU2VjdAogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0v
KiBTb3VyY2UgZm9yIEhUTUxDb2xsZWN0aW9uUHJvdG9UYWJsZS4gVXNlICJtYWtlIGhhc2h0YWJs
ZXMiIHRvIHJlZ2VuZXJhdGUuCi1AYmVnaW4gSFRNTENvbGxlY3Rpb25Qcm90b1RhYmxlIDMKKy8q
IFNvdXJjZSBmb3IgSlNIVE1MQ29sbGVjdGlvblByb3RvVGFibGUuIFVzZSAibWFrZSBoYXNodGFi
bGVzIiB0byByZWdlbmVyYXRlLgorQGJlZ2luIEpTSFRNTENvbGxlY3Rpb25Qcm90b1RhYmxlIDMK
ICAgaXRlbSAgICAgICAgICBKU0hUTUxDb2xsZWN0aW9uOjpJdGVtICAgICAgICAgICAgRG9udERl
bGV0ZXxGdW5jdGlvbiAxCiAgIG5hbWVkSXRlbSAgICAgSlNIVE1MQ29sbGVjdGlvbjo6TmFtZWRJ
dGVtICAgICAgIERvbnREZWxldGV8RnVuY3Rpb24gMQogICB0YWdzICAgICAgICAgIEpTSFRNTENv
bGxlY3Rpb246OlRhZ3MgICAgICAgICAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDEKIEBlbmQKICov
Ci1LSlNfREVGSU5FX1BST1RPVFlQRShIVE1MQ29sbGVjdGlvblByb3RvKQotS0pTX0lNUExFTUVO
VF9QUk9UT0ZVTkMoSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmMpCi1LSlNfSU1QTEVNRU5UX1BST1RP
VFlQRSgiSFRNTENvbGxlY3Rpb24iLEhUTUxDb2xsZWN0aW9uUHJvdG8sSFRNTENvbGxlY3Rpb25Q
cm90b0Z1bmMpCitLSlNfSU1QTEVNRU5UX1BST1RPRlVOQyhKU0hUTUxDb2xsZWN0aW9uUHJvdG9G
dW5jKQorS0pTX0lNUExFTUVOVF9QUk9UT1RZUEUoIkhUTUxDb2xsZWN0aW9uIixKU0hUTUxDb2xs
ZWN0aW9uUHJvdG8sSlNIVE1MQ29sbGVjdGlvblByb3RvRnVuYykKIAogY29uc3QgQ2xhc3NJbmZv
IEpTSFRNTENvbGxlY3Rpb246OmluZm8gPSB7ICJDb2xsZWN0aW9uIiwgMCwgMCwgMCB9OwogCi1K
U0hUTUxDb2xsZWN0aW9uOjpKU0hUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSFRNTENv
bGxlY3Rpb24gKmMpCitKU0hUTUxDb2xsZWN0aW9uOjpKU0hUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSFRNTENvbGxlY3Rpb24qIGMpCiAgIDogbV9pbXBsKGMpIAogewotICBzZXRQcm90
b3R5cGUoSFRNTENvbGxlY3Rpb25Qcm90bzo6c2VsZihleGVjKSk7CisgIHNldFByb3RvdHlwZShK
U0hUTUxDb2xsZWN0aW9uUHJvdG86OnNlbGYoZXhlYykpOwogfQogCiBKU0hUTUxDb2xsZWN0aW9u
Ojp+SlNIVE1MQ29sbGVjdGlvbigpCkBAIC0xNjk1LDcgKzE2OTUsNyBAQCBKU1ZhbHVlICpKU0hU
TUxDb2xsZWN0aW9uOjpnZXROYW1lZEl0ZW1zCiAgICAgcmV0dXJuIG5ldyBET01OYW1lZE5vZGVz
Q29sbGVjdGlvbihleGVjLCBuYW1lZEl0ZW1zKTsKIH0KIAotSlNWYWx1ZSAqSFRNTENvbGxlY3Rp
b25Qcm90b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRo
aXNPYmosIGNvbnN0IExpc3QgJmFyZ3MpCitKU1ZhbHVlKiBKU0hUTUxDb2xsZWN0aW9uUHJvdG9G
dW5jOjpjYWxsQXNGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqLCBj
b25zdCBMaXN0ICZhcmdzKQogewogICBpZiAoIXRoaXNPYmotPmluaGVyaXRzKCZKU0hUTUxDb2xs
ZWN0aW9uOjppbmZvKSkKICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3IpOwpA
QCAtMTcxMyw3NSArMTcxMyw2IEBAIEpTVmFsdWUgKkhUTUxDb2xsZWN0aW9uUHJvdG9GdW5jOjpj
YWxsQXMKICAgfQogfQogCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUpTSFRNTFNlbGVjdENvbGxl
Y3Rpb246OkpTSFRNTFNlbGVjdENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBIVE1MQ29sbGVj
dGlvbiAqYywgSFRNTFNlbGVjdEVsZW1lbnQqIGUpCi0gIDogSlNIVE1MQ29sbGVjdGlvbihleGVj
LCBjKSwgbV9lbGVtZW50KGUpCi17Ci19Ci0KLUpTVmFsdWUgKkpTSFRNTFNlbGVjdENvbGxlY3Rp
b246OnNlbGVjdGVkSW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb3JpZ2lu
YWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlT
bG90JiBzbG90KQotewotICAgIEpTSFRNTFNlbGVjdENvbGxlY3Rpb24gKnRoaXNPYmogPSBzdGF0
aWNfY2FzdDxKU0hUTUxTZWxlY3RDb2xsZWN0aW9uKj4oc2xvdC5zbG90QmFzZSgpKTsKLSAgICBy
ZXR1cm4ganNOdW1iZXIodGhpc09iai0+bV9lbGVtZW50LT5zZWxlY3RlZEluZGV4KCkpOwotfQot
Ci1ib29sIEpTSFRNTFNlbGVjdENvbGxlY3Rpb246OmdldE93blByb3BlcnR5U2xvdChFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBz
bG90KQotewotICBpZiAocHJvcGVydHlOYW1lID09ICJzZWxlY3RlZEluZGV4IikgewotICAgIHNs
b3Quc2V0Q3VzdG9tKHRoaXMsIHNlbGVjdGVkSW5kZXhHZXR0ZXIpOwotICAgIC8vcmVzdWx0ID0g
anNOdW1iZXIobV9lbGVtZW50LT5zZWxlY3RlZEluZGV4KCkpOwotICAgIHJldHVybiB0cnVlOwot
ICB9Ci0KLSAgcmV0dXJuIEpTSFRNTENvbGxlY3Rpb246OmdldE93blByb3BlcnR5U2xvdChleGVj
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwotfQotCi12b2lkIEpTSFRNTFNlbGVjdENvbGxlY3Rpb246
OnB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgSlNW
YWx1ZSAqdmFsdWUsIGludCkKLXsKLSNpZmRlZiBLSlNfVkVSQk9TRQotICBrZERlYnVnKDYwNzAp
IDw8ICJKU0hUTUxTZWxlY3RDb2xsZWN0aW9uOjpwdXQgIiA8PCBwcm9wZXJ0eU5hbWUuZGVwcmVj
YXRlZFN0cmluZygpIDw8IGVuZGw7Ci0jZW5kaWYKLSAgaWYgKCBwcm9wZXJ0eU5hbWUgPT0gInNl
bGVjdGVkSW5kZXgiICkKLSAgICBtX2VsZW1lbnQtPnNldFNlbGVjdGVkSW5kZXgodmFsdWUtPnRv
SW50MzIoZXhlYykpOwotICBlbHNlIGlmIChwcm9wZXJ0eU5hbWUgPT0gbGVuZ3RoUHJvcGVydHlO
YW1lKSB7Ci0gICAgLy8gcmVzaXplID8KLSAgICBpZiAodmFsdWUtPmlzTnVtYmVyKCkpIHsKLSAg
ICAgIGRvdWJsZSBuZXdMZW47Ci0gICAgICBpZiAodmFsdWUtPmdldE51bWJlcihuZXdMZW4pKSB7
Ci0gICAgICAgIGludCBleGNlcHRpb24gPSAwOwotICAgICAgICBpZiAobmV3TGVuID49IDApIHsK
LSAgICAgICAgICBtX2VsZW1lbnQtPnNldExlbmd0aCh1bnNpZ25lZChmbG9vcihuZXdMZW4pKSwg
ZXhjZXB0aW9uKTsKLSAgICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsK
LSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBpbnQgZXhjZXB0aW9uID0g
MDsKLSAgICAgIG1fZWxlbWVudC0+c2V0TGVuZ3RoKDAsIGV4Y2VwdGlvbik7Ci0gICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKLSAgICB9Ci0gIH0gZWxzZSB7Ci0gICAgLy8g
YW4gaW5kZXggPwotICAgIGJvb2wgb2s7Ci0gICAgdW5zaWduZWQgaSA9IHByb3BlcnR5TmFtZS50
b1VJbnQzMigmb2spOwotICAgIGlmIChvaykgewotICAgICAgaWYgKHZhbHVlLT5pc1VuZGVmaW5l
ZE9yTnVsbCgpKSB7Ci0gICAgICAgIC8vIG51bGwgYW5kIHVuZGVmaW5lZCBkZWxldGUuIG90aGVy
cywgdG9vID8KLSAgICAgICAgbV9lbGVtZW50LT5yZW1vdmUoaSk7Ci0gICAgICB9IGVsc2Ugewot
ICAgICAgICBXZWJDb3JlOjpOb2RlICpvcHRpb24gPSB0b05vZGUodmFsdWUpOwotICAgICAgICAv
LyBpcyB2IGFuIG9wdGlvbiBlbGVtZW50ID8KLSAgICAgICAgaWYgKCFvcHRpb24gfHwgIW9wdGlv
bi0+aGFzVGFnTmFtZShvcHRpb25UYWcpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IGludCBleGNlcHRpb24gPSAwOwotICAgICAgICBtX2VsZW1lbnQtPnNldE9wdGlvbihpLCBzdGF0
aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KG9wdGlvbiksIGV4Y2VwdGlvbik7Ci0gICAgICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBleGNlcHRpb24pOwotICAgICAgfQotICAgIH0KLSAgfQot
fQotCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vIEltYWdlIE9iamVjdCAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KIAogSW1hZ2VDb25zdHJ1Y3RvckltcDo6SW1hZ2VDb25zdHJ1Y3RvckltcChFeGVj
U3RhdGUqIGV4ZWMsIERvY3VtZW50KiBkKQpAQCAtMTgzMiwxNyArMTc2MywxNyBAQCBKU1ZhbHVl
KiBnZXRIVE1MQ29sbGVjdGlvbihFeGVjU3RhdGUqIGV4CiAgICAgcmV0dXJuIGNhY2hlRE9NT2Jq
ZWN0PEhUTUxDb2xsZWN0aW9uLCBKU0hUTUxDb2xsZWN0aW9uPihleGVjLCBjKTsKIH0KIAotSlNW
YWx1ZSAqZ2V0U2VsZWN0SFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBIVE1MQ29sbGVj
dGlvbiAqYywgSFRNTFNlbGVjdEVsZW1lbnQqIGUpCitKU1ZhbHVlKiBnZXRIVE1MT3B0aW9uc0Nv
bGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGMpCiB7Ci0g
IERPTU9iamVjdCAqcmV0OworICBET01PYmplY3QqIHJldDsKICAgaWYgKCFjKQogICAgIHJldHVy
biBqc051bGwoKTsKICAgU2NyaXB0SW50ZXJwcmV0ZXIqIGludGVycCA9IHN0YXRpY19jYXN0PFNj
cmlwdEludGVycHJldGVyKj4oZXhlYy0+ZHluYW1pY0ludGVycHJldGVyKCkpOwogICBpZiAoKHJl
dCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KGMpKSkKICAgICByZXR1cm4gcmV0OwogICBlbHNlIHsK
LSAgICByZXQgPSBuZXcgSlNIVE1MU2VsZWN0Q29sbGVjdGlvbihleGVjLCBjLCBlKTsKLSAgICBp
bnRlcnAtPnB1dERPTU9iamVjdChjLHJldCk7CisgICAgcmV0ID0gbmV3IEpTSFRNTE9wdGlvbnND
b2xsZWN0aW9uKGV4ZWMsIGMpOworICAgIGludGVycC0+cHV0RE9NT2JqZWN0KGMsIHJldCk7CiAg
ICAgcmV0dXJuIHJldDsKICAgfQogfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRt
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwuaAkocmV2aXNp
b24gMTUxNDUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDYgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUTUxD
b2xsZWN0aW9uOwogICAgIGNsYXNzIEhUTUxEb2N1bWVudDsKICAgICBjbGFzcyBIVE1MRWxlbWVu
dDsKKyAgICBjbGFzcyBIVE1MT3B0aW9uc0NvbGxlY3Rpb247CiAgICAgY2xhc3MgSFRNTFNlbGVj
dEVsZW1lbnQ7CiAgICAgY2xhc3MgSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ7CiAgICAgY2xhc3Mg
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ7CkBAIC0xNjksNiArMTcwLDggQEAgbmFtZXNwYWNlIEtK
UyB7CiAgIFdlYkNvcmU6OkhUTUxUYWJsZUNhcHRpb25FbGVtZW50KiB0b0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50KEpTVmFsdWUqKTsgLy8gcmV0dXJucyAwIGlmIHBhc3NlZC1pbiB2YWx1ZSBpcyBu
b3QgYSBKU0hUTUxFbGVtZW50IG9iamVjdCBmb3IgYSBIVE1MVGFibGVDYXB0aW9uRWxlbWVudAog
ICBXZWJDb3JlOjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudCogdG9IVE1MVGFibGVTZWN0aW9uRWxl
bWVudChKU1ZhbHVlKik7IC8vIHJldHVybnMgMCBpZiBwYXNzZWQtaW4gdmFsdWUgaXMgbm90IGEg
SlNIVE1MRWxlbWVudCBvYmplY3QgZm9yIGEgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQKIAorICBL
SlNfREVGSU5FX1BST1RPVFlQRShKU0hUTUxDb2xsZWN0aW9uUHJvdG8pCisKICAgY2xhc3MgSlNI
VE1MQ29sbGVjdGlvbiA6IHB1YmxpYyBET01PYmplY3QgewogICBwdWJsaWM6CiAgICAgSlNIVE1M
Q29sbGVjdGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiopOwpAQCAtMTkw
LDE3ICsxOTMsNiBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBzdGF0aWMgSlNWYWx1ZSogbmFtZUdl
dHRlcihFeGVjU3RhdGUqLCBKU09iamVjdCosIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9w
ZXJ0eVNsb3QmKTsKICAgfTsKIAotICBjbGFzcyBKU0hUTUxTZWxlY3RDb2xsZWN0aW9uIDogcHVi
bGljIEpTSFRNTENvbGxlY3Rpb24gewotICBwdWJsaWM6Ci0gICAgSlNIVE1MU2VsZWN0Q29sbGVj
dGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiosIFdlYkNvcmU6OkhUTUxT
ZWxlY3RFbGVtZW50Kik7Ci0gICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7Ci0gICAgdmlydHVhbCB2
b2lkIHB1dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWUqLCBpbnQgYXR0ciA9IE5vbmUpOwotICBwcml2YXRlOgotICAgIHN0YXRpYyBKU1ZhbHVlKiBz
ZWxlY3RlZEluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgY29uc3QgSWRlbnRpZmll
ciYsIGNvbnN0IFByb3BlcnR5U2xvdCYpOwotCi0gICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50PiBtX2VsZW1lbnQ7Ci0gIH07Ci0KICAgY2xhc3MgSFRNTEFsbENvbGxlY3Rpb24g
OiBwdWJsaWMgSlNIVE1MQ29sbGVjdGlvbiB7CiAgIHB1YmxpYzoKICAgICBIVE1MQWxsQ29sbGVj
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uKiBjKSA6CkBAIC0y
MjEsNyArMjEzLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgIH07CiAKICAgSlNWYWx1ZSogZ2V0SFRN
TENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24qKTsKLSAgSlNW
YWx1ZSogZ2V0U2VsZWN0SFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENv
bGxlY3Rpb24qLCBXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudCopOworICBKU1ZhbHVlKiBnZXRI
VE1MT3B0aW9uc0NvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xs
ZWN0aW9uKik7CiAgIEpTVmFsdWUqIGdldEFsbEhUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSosIFdl
YkNvcmU6OkhUTUxDb2xsZWN0aW9uKik7CiAKIH0gLy8gbmFtZXNwYWNlCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDE1MTQ1KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBj
b3B5KQpAQCAtMzQ4LDcgKzM0OCwxMiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KLSAgCisKKyAgICAjIEluZGV4IHNldHRlcgorICAgIGlmICgk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleFNldHRlciJ9KSB7
CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdm9pZCBpbmRleFNldHRlcihLSlM6
OkV4ZWNTdGF0ZSosIGNvbnN0IEtKUzo6SWRlbnRpZmllciAmcHJvcGVydHlOYW1lLCBLSlM6OkpT
VmFsdWUqLCBpbnQgYXR0cik7XG4iKTsKKyAgICB9CisKICAgICBpZiAoISRoYXNQYXJlbnQpIHsK
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wbCgp
IGNvbnN0IHsgcmV0dXJuIG1faW1wbC5nZXQoKTsgfVxuIik7CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJwcml2YXRlOlxuIik7CkBAIC02OTEsNyArNjk2LDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgIAogICAg
IHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1ZSogJHtjbGFzc05hbWV9OjpnZXRWYWx1ZVByb3Bl
cnR5KEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdFxue1xuIik7Ci0gICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1w
bENsYXNzTmFtZSo+KCR7Y2xhc3NOYW1lfTo6aW1wbCgpKTtcblxuIik7CisgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xh
c3NOYW1lKj4oaW1wbCgpKTtcblxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3dp
dGNoICh0b2tlbikge1xuIik7CiAKICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFO
b2RlLT5hdHRyaWJ1dGVzfSkgewpAQCAtNzA4LDExICs3MTMsMTEgQEAgc3ViIEdlbmVyYXRlSW1w
bGVtZW50YXRpb24KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBK
UyIgLiAkY29uc3RydWN0b3JUeXBlIC4gIjo6Z2V0Q29uc3RydWN0b3IoZXhlYyk7XG4iKTsKICAg
ICAgIH0gZWxzaWYgKCFAeyRhdHRyaWJ1dGUtPmdldHRlckV4Y2VwdGlvbnN9KSB7CiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIGNhc2UgIiAuIHVjZmlyc3QoJG5hbWUpIC4gIkF0dHJO
dW06XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiAiIC4g
TmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgImltcGwtPiRuYW1lKCkiKSAu
ICI7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiAiIC4g
TmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgImltcC0+JG5hbWUoKSIpIC4g
IjtcbiIpOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
Y2FzZSAiIC4gdWNmaXJzdCgkbmFtZSkgLiAiQXR0ck51bToge1xuIik7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpOwotICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgS0pTOjpKU1ZhbHVlKiByZXN1bHQgPSAiIC4g
TmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgImltcGwtPiRuYW1lKGVjKSIp
IC4gIjtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgS0pTOjpKU1Zh
bHVlKiByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwg
ImltcC0+JG5hbWUoZWMpIikgLiAiO1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpO1xuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICByZXR1cm4gcmVzdWx0O1xuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIH1cbiIpOwpAQCAtNzI4LDEyICs3MzMsMjAgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICB9CiAgICAgaWYgKCRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVzKSB7
CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9OjpwdXQoRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUqIHZhbHVl
LCBpbnQgYXR0cilcbiIpOwotICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4gICAgbG9va3Vw
UHV0PCRjbGFzc05hbWUsICRwYXJlbnRDbGFzc05hbWU+IiAuCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmJHtjbGFzc05hbWV9VGFi
bGUsIHRoaXMpO1xufVxuXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgIGlm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleFNldHRlciJ9
KSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIiAuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiICAgIGlmICghbG9va3VwUHV0PCRjbGFzc05hbWU+KGV4ZWMsIHByb3BlcnR5
TmFtZSwgdmFsdWUsIGF0dHIsICYke2NsYXNzTmFtZX1UYWJsZSwgdGhpcykpXG4iKTsKKyAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGluZGV4U2V0dGVyKGV4ZWMsIHByb3BlcnR5
TmFtZSwgdmFsdWUsIGF0dHIpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxu
XG4iKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IntcbiAgICBsb29rdXBQdXQ8JGNsYXNzTmFtZSwgJHBhcmVudENsYXNzTmFtZT4iIC4KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICIoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwg
JiR7Y2xhc3NOYW1lfVRhYmxlLCB0aGlzKTtcbn1cblxuIik7CisgICAgICB9CisKICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1dFZhbHVlUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUqIHZhbHVlLCBpbnQgLyphdHRyKi8pXG4i
KTsKICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7Ci0gICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NO
YW1lKj4oJHtjbGFzc05hbWV9OjppbXBsKCkpO1xuXG4iKTsKKyAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFt
ZSo+KGltcGwoKSk7XG5cbiIpOwogICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3dpdGNo
ICh0b2tlbikge1xuIik7CiAKICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0YU5v
ZGUtPmF0dHJpYnV0ZXN9KSB7CkBAIC03NTcsNyArNzcwLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBjYXNlICIgLiB1Y2ZpcnN0KCRuYW1lKSAuIkF0dHJOdW06IHtcbiIpOwogICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7XG4iKSBpZiBAeyRhdHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OwotICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgaW1wbC0+c2V0IiAuIHVjZmlyc3QoJG5hbWUp
IC4gIigiIC4gSlNWYWx1ZVRvTmF0aXZlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgInZhbHVlIikp
OworICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgaW1wLT5zZXQiIC4g
dWNmaXJzdCgkbmFtZSkgLiAiKCIgLiBKU1ZhbHVlVG9OYXRpdmUoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLCAidmFsdWUiKSk7CiAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiLCBlYyIp
IGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CiAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiKTtcbiIpOwogICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+
c2V0dGVyRXhjZXB0aW9uc307CkBAIC03NzAsNyArNzgzLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KICAgICAgICAgCiAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRv
dyIpIHsKICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAvLyBGSVhNRTogSGFjayB0
byBwcmV2ZW50IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIC0tIHJlbW92ZSBvbmNlIERPTVdpbmRv
dyBpbmNsdWRlcyBhIHNldHRhYmxlIHByb3BlcnR5XG4iKTsKLSAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAodm9pZClpbXBsO1xuIik7CisgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgKHZvaWQpaW1wO1xuIik7CiAgICAgICB9CiAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIn1cblxuIik7ICMgZW5kIGZ1bmN0aW9uCiAgICAgfQpAQCAtNzg4LDM0ICs4MDEsNDkgQEAg
c3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBp
ZiAoIXRoaXNPYmotPmluaGVyaXRzKCYke2NsYXNzTmFtZX06OmluZm8pKVxuIik7CiAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3Ip
O1xuXG4iKTsKIAotICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBp
bXBsID0gc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWUqPihzdGF0aWNfY2FzdDwkY2xhc3NOYW1l
Kj4odGhpc09iaiktPmltcGwoKSk7XG5cbiIpOwotICAgIAotICAgIAorICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBzdGF0aWNfY2FzdDwkaW1wbENsYXNz
TmFtZSo+KHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqKS0+aW1wbCgpKTtcblxuIik7
CisKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzd2l0Y2ggKGlkKSB7XG4iKTsKLSAgICBm
b3JlYWNoIG15ICRmdW5jdGlvbiAoQHskZGF0YU5vZGUtPmZ1bmN0aW9uc30pIHsgICAgICAKKyAg
ICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskZGF0YU5vZGUtPmZ1bmN0aW9uc30pIHsKICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIGNhc2UgJHtjbGFzc05hbWV9OjoiIC4gdWNmaXJzdCgk
ZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSkgLiAiRnVuY051bToge1xuIik7Ci0gICAgICAKKwog
ICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tIn0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDwke2NsYXNzTmFtZX0qPih0aGlzT2JqKS0+IiAuICRmdW5jdGlvbi0+c2lnbmF0dXJl
LT5uYW1lIC4gIihleGVjLCBhcmdzKTtcbiAgICB9XG4iKTsKICAgICAgICAgbmV4dDsKICAgICAg
IH0KLSAgICAgIAorCiAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGUoJGZ1bmN0aW9uLT5zaWduYXR1
cmUtPnR5cGUpOwotICAgICAgCisKKyAgICAgIGlmIChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0
aW9uc30pIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwO1xuIik7CisgICAgICB9CisKICAgICAgIG15ICRwYXJhbUluZGV4ID0gMDsKLSAg
ICAgIG15ICRmdW5jdGlvblN0cmluZyA9ICJpbXBsLT4iIC4gJGZ1bmN0aW9uLT5zaWduYXR1cmUt
Pm5hbWUgLiAiKCI7CisgICAgICBteSAkZnVuY3Rpb25TdHJpbmcgPSAiaW1wLT4iIC4gJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiKCI7CiAgICAgICBteSAkbnVtUGFyYW1ldGVycyA9IEB7
JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfTsKLSAgICAgIAorICAgICAgbXkgJGhhc09wdGlvbmFsQXJn
dW1lbnRzID0gMDsKKwogICAgICAgZm9yZWFjaCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlvbi0+
cGFyYW1ldGVyc30pIHsKKyAgICAgICAgaWYgKCEkaGFzT3B0aW9uYWxBcmd1bWVudHMgJiYgJHBh
cmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9wdGlvbmFsIn0pIHsKKyAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIlxuICAgICAgICBpbnQgYXJnc0NvdW50ID0gYXJncy5zaXplKCk7
XG4iKTsKKyAgICAgICAgICAkaGFzT3B0aW9uYWxBcmd1bWVudHMgPSAxOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKCRoYXNPcHRpb25hbEFyZ3VtZW50cykgeworICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICBpZiAoYXJnc0NvdW50ID09ICRwYXJhbUluZGV4KSB7XG4iKTsK
KyAgICAgICAgICBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsKCRmdW5jdGlvbiwg
JGZ1bmN0aW9uU3RyaW5nLCAkcGFyYW1JbmRleCwgIiAgICAiIHggMyk7CisgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICAgIH1cblxuIik7CisgICAgICAgIH0KKwogICAgICAgICBt
eSAkbmFtZSA9ICRwYXJhbWV0ZXItPm5hbWU7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICBib29sICR7bmFtZX1PaztcbiIpIGlmIFR5cGVDYW5GYWlsQ29udmVyc2lvbigkcGFy
YW1ldGVyKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICIgLiBHZXROYXRp
dmVUeXBlKCRwYXJhbWV0ZXIpIC4gIiAkbmFtZSA9ICIgLiBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFt
ZXRlciwgImFyZ3NbJHBhcmFtSW5kZXhdIiwgVHlwZUNhbkZhaWxDb252ZXJzaW9uKCRwYXJhbWV0
ZXIpID8gIiR7bmFtZX1PayIgOiB1bmRlZikgLiAiO1xuIik7ICAgICAgICAKLSAgICBpZiAoVHlw
ZUNhbkZhaWxDb252ZXJzaW9uKCRwYXJhbWV0ZXIpKSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICBpZiAoISR7bmFtZX1Paykge1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hf
RVJSKTtcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpO1xuICAgICAgICB9XG4iKTsKLSAgICB9ICAgICAgICAgIAotICAgICAg
ICAKKyAgICAgICAgaWYgKFR5cGVDYW5GYWlsQ29udmVyc2lvbigkcGFyYW1ldGVyKSkgeworICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpZiAoISR7bmFtZX1Paykge1xuIik7
CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpO1xuIik7CisgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiAgICAgICAgfVxuIik7
CisgICAgICAgIH0gICAgICAgICAgCisKICAgICAgICAgIyBJZiBhIHBhcmFtZXRlciBpcyAiYW4g
aW5kZXgiLCBpdCBzaG91bGQgdGhyb3cgYW4gSU5ERVhfU0laRV9FUlIKICAgICAgICAgIyBleGNl
cHRpb24gICAgICAgIAogICAgICAgICBpZiAoJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IklzSW5kZXgifSkgewpAQCAtODI0LDM3ICs4NTIsMjMgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIHNldERP
TUV4Y2VwdGlvbihleGVjLCBJTkRFWF9TSVpFX0VSUik7XG4iKTsKICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuICAgICAgICB9
XG4iKTsgICAgICAgICAgCiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgJGZ1bmN0aW9u
U3RyaW5nIC49ICIsICIgaWYgJHBhcmFtSW5kZXg7CiAgICAgICAgICRmdW5jdGlvblN0cmluZyAu
PSAkbmFtZTsKIAogICAgICAgICAkcGFyYW1JbmRleCsrOwogICAgICAgfQotICAKLSAgICAgIGlm
IChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30pIHsKLSAgICAgICAgJGZ1bmN0aW9uU3Ry
aW5nIC49ICIsICIgaWYgJHBhcmFtSW5kZXg7Ci0gICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAi
ZWMiOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7XG4iKTsKLSAgICAgIH0KLSAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiKSI7Ci0gICAg
ICAKLSAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSBlcSAidm9pZCIpIHsKLSAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAgICAgICAgJGZ1bmN0aW9uU3RyaW5nO1xuIik7
Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBzZXRET01FeGNlcHRpb24oZXhl
YywgZWMpO1xuIikgaWYgQHskZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnN9OwotICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4iKTsKLSAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgICAgIEtKUzo6
SlNWYWx1ZSogcmVzdWx0ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVy
ZSwgJGZ1bmN0aW9uU3RyaW5nKSAuICI7XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRmdW5jdGlvbi0+
cmFpc2VzRXhjZXB0aW9uc307Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm4gcmVzdWx0O1xuIik7Ci0gICAgICB9CiAKLSAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIH1cbiIpOworICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOworICAgICAgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCgkZnVuY3Rpb24sICRmdW5jdGlvblN0cmluZywg
JHBhcmFtSW5kZXgsICIgICAgIiB4IDIpOworCisgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICB9XG4iKTsgIyBlbmQgY2FzZQogICAgIH0KLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9
XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsgIyBlbmQgc3dpdGNoCiAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIDA7XG4iKTsKLSAgICBwdXNoKEBpbXBs
Q29udGVudCwgIn1cbiIpCisgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKICAgfQotICAK
KwogICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzSW5kZXhHZXR0ZXIi
fSkgewogICAgIHB1c2goQGltcGxDb250ZW50LCAiXG5KU1ZhbHVlKiAke2NsYXNzTmFtZX06Omlu
ZGV4R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIG9yaWdpbmFsT2JqZWN0LCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdClcbiIp
OwogICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CkBAIC04NjIsNyArODc2LDcgQEAgc3Vi
IEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1
cm4gdG9KUyhleGVjLCBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KHRoaXNPYmotPmltcGwo
KSktPml0ZW0oc2xvdC5pbmRleCgpKSk7XG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1c
biIpOwogICB9Ci0gICAgCisKICAgaWYgKCEkaGFzUGFyZW50KSB7CiAgICAgbXkgJGltcGxDb250
ZW50ID0gPDwgIkVPRiI7CiBLSlM6OkpTVmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUqIGV4ZWMs
ICRpbXBsQ2xhc3NOYW1lKiBvYmopCkBAIC04OTUsNiArOTA5LDMwIEBAIEVPRgogICBwdXNoKEBp
bXBsQ29udGVudCwgIlxuI2VuZGlmIC8vICR7Y29uZGl0aW9uYWx9X1NVUFBPUlRcbiIpIGlmICRj
b25kaXRpb25hbDsKIH0KIAorc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25GdW5jdGlvbkNhbGwo
KQoreworICAgIG15ICRmdW5jdGlvbiA9IHNoaWZ0OworICAgIG15ICRmdW5jdGlvblN0cmluZyA9
IHNoaWZ0OworICAgIG15ICRwYXJhbUluZGV4ID0gc2hpZnQ7CisgICAgbXkgJGluZGVudCA9IHNo
aWZ0OworCisgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfSkgeworICAgICAg
ICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFyYW1JbmRleDsKKyAgICAgICAgJGZ1bmN0
aW9uU3RyaW5nIC49ICJlYyI7CisgICAgfQorICAgICRmdW5jdGlvblN0cmluZyAuPSAiKSI7CisK
KyAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUgZXEgInZvaWQiKSB7CisgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiRmdW5jdGlvblN0cmluZztcbiIpOworICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJzZXRET01FeGNlcHRpb24oZXhlYywg
ZWMpO1xuIikgaWYgQHskZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnN9OworICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgJGluZGVudCAuICJyZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gJGluZGVudCAuICJL
SlM6OkpTVmFsdWUqIHJlc3VsdCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUsICRmdW5jdGlvblN0cmluZykgLiAiO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAkaW5kZW50IC4gInNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRmdW5j
dGlvbi0+cmFpc2VzRXhjZXB0aW9uc307CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5k
ZW50IC4gInJldHVybiByZXN1bHQ7XG4iKTsKKyAgICB9Cit9CisKIHN1YiBHZXROYXRpdmVUeXBl
CiB7CiAgICAgbXkgJHNpZ25hdHVyZSA9IHNoaWZ0OwpAQCAtOTY3LDcgKzEwMDUsOCBAQCBzdWIg
VHlwZUNhbkZhaWxDb252ZXJzaW9uCiAgICAgICAgICAgICR0eXBlIGVxICJYUGF0aFJlc3VsdCIg
b3IKICAgICAgICAgICAgJHR5cGUgZXEgIlNWR01hdHJpeCIgb3IKICAgICAgICAgICAgJHR5cGUg
ZXEgIlNWR1JlY3QiIG9yCi0gICAgICAgICAgICR0eXBlIGVxICJTVkdFbGVtZW50IikgeworICAg
ICAgICAgICAkdHlwZSBlcSAiU1ZHRWxlbWVudCIgb3IKKyAgICAgICAgICAgJHR5cGUgZXEgIkhU
TUxPcHRpb25FbGVtZW50IikgewogICAgICAgcmV0dXJuIDA7CiAgIH0gZWxzZSB7CiAgICAgZGll
ICJEb24ndCBrbm93IHdoZXRoZXIgYSBKUyB2YWx1ZSBjYW4gZmFpbCBjb252ZXJzaW9uIHRvIHR5
cGUgJHR5cGUuIgpAQCAtMTExMiw3ICsxMTUxLDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAg
IH0gZWxzaWYgKCR0eXBlIGVxICJTdHlsZVNoZWV0TGlzdCIpIHsKICAgICAgICAgJGltcGxJbmNs
dWRlc3siU3R5bGVTaGVldExpc3QuaCJ9ID0gMTsKICAgICAgICAgJGltcGxJbmNsdWRlc3sia2pz
X2Nzcy5oIn0gPSAxOwotICAgICAgICByZXR1cm4gInRvSlMoZXhlYywgJHZhbHVlLCBpbXBsKSI7
CisgICAgICAgIHJldHVybiAidG9KUyhleGVjLCAkdmFsdWUsIGltcCkiOwogICAgIH0gZWxzaWYg
KCR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiUmVjdCIpIHsKICAg
ICAgICAgJGltcGxJbmNsdWRlc3siQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIn0gPSAxOwogICAgICAg
ICAkaW1wbEluY2x1ZGVzeyJSZWN0SW1wbC5oIn0gPSAxOwpJbmRleDogV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNTE0NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKIAogbW9kdWxlIGh0
bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBI
VE1MT3B0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0xlZ2FjeVBh
cmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyXSBIVE1MT3B0
aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBI
VE1MRm9ybUVsZW1lbnQgICAgICBmb3JtOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJv
b2xlYW4gICAgICAgICAgICAgIGRlZmF1bHRTZWxlY3RlZDsKICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlICBET01TdHJpbmcgICAgICAgICAgICB0ZXh0CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMTUxNDUpCisrKyBXZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgIkhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFNl
bGVjdEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsMTMgKzMzLDUyIEBA
IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6SFRNTE9wdGlvbnNDb2xsZWMKICAgICA6IEhUTUxDb2xs
ZWN0aW9uKHNlbGVjdCwgU2VsZWN0T3B0aW9ucykKIHsKICAgICBBU1NFUlQoIWluZm8pOwotCiAg
ICAgaW5mbyA9IHNlbGVjdC0+Y29sbGVjdGlvbkluZm8oKTsKIH0KIAotdm9pZCBIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OnNldExlbmd0aCh1bnNpZ25lZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lk
IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1lbnQ+
IGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUgJmVjKQoreworICAgIGFkZChlbGVtZW50LCBsZW5ndGgo
KSwgZWMpOworfQorCit2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKFBhc3NSZWZQdHI8
SFRNTE9wdGlvbkVsZW1lbnQ+IGVsZW1lbnQsIGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSAmZWMp
Cit7CisgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG5ld09wdGlvbiA9IGVsZW1lbnQuZ2V0KCk7CisK
KyAgICBpZiAoIW5ld09wdGlvbikgeworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGluZGV4IDwgLTEpIHsKKyAgICAgICAg
ZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVjID0g
MDsKKyAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc3RhdGljX2Nhc3Q8SFRNTFNlbGVj
dEVsZW1lbnQqPihtX2Jhc2UuZ2V0KCkpOworCisgICAgaWYgKGluZGV4ID09IC0xIHx8IHVuc2ln
bmVkKGluZGV4KSA+PSBsZW5ndGgoKSkKKyAgICAgICAgc2VsZWN0LT5hZGQobmV3T3B0aW9uLCAw
LCBlYyk7CisgICAgZWxzZQorICAgICAgICBzZWxlY3QtPmFkZChuZXdPcHRpb24sIHN0YXRpY19j
YXN0PEhUTUxPcHRpb25FbGVtZW50Kj4oaXRlbShpbmRleCkpLCBlYyk7CisKKyAgICBBU1NFUlQo
ZWMgPT0gMCk7Cit9CisKK2ludCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNlbGVjdGVkSW5kZXgo
KSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KG1f
YmFzZS5nZXQoKSktPnNlbGVjdGVkSW5kZXgoKTsKK30KKwordm9pZCBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb246OnNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4KQoreworICAgIHN0YXRpY19jYXN0PEhU
TUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2V0U2VsZWN0ZWRJbmRleChpbmRleCk7
Cit9CisKK3ZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgodW5zaWduZWQgbGVu
Z3RoLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwor
ICAgIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2V0TGVu
Z3RoKGxlbmd0aCwgZWMpOwogfQogCiB9IC8vbmFtZXNwYWNlCkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5oCShyZXZpc2lvbiAxNTE0NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uc0NvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2Rl
ZmluZSBIVE1MX0hUTUxPcHRpb25zQ29sbGVjdGlvbkltcGxfSAogCiAjaW5jbHVkZSAiSFRNTENv
bGxlY3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM4LDYgKzM5LDEyIEBAIGNsYXNzIEhUTUxPcHRpb25zQ29sbGVjdGlv
biA6IHB1YmxpYyBIVE0KIHB1YmxpYzoKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24oSFRNTFNl
bGVjdEVsZW1lbnQqKTsKIAorICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1l
bnQ+LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9u
RWxlbWVudD4sIGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgaW50IHNlbGVjdGVk
SW5kZXgoKSBjb25zdDsKKyAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKKwogICAgIHZv
aWQgc2V0TGVuZ3RoKHVuc2lnbmVkLCBFeGNlcHRpb25Db2RlJik7CiB9OwogCkluZGV4OiBXZWJD
b3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0
bWwgeworCisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxDb2xsZWN0aW9u
LCBIYXNDdXN0b21JbmRleFNldHRlcl0gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogSFRNTENvbGxl
Y3Rpb24geworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgICAgICAgICAgbG9uZyAgICAgICAg
ICAgICAgICAgc2VsZWN0ZWRJbmRleDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDdXN0
b21dIGxvbmcgICAgICAgICAgICAgICAgIGxlbmd0aAorICAgICAgICAgICAgICAgICAgICAgICAg
c2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkICAgICAgICAgICAg
ICAgYWRkKGluIEhUTUxPcHRpb25FbGVtZW50IG9wdGlvbiwgaW4gW09wdGlvbmFsXSB1bnNpZ25l
ZCBsb25nIGluZGV4KQorICAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICB9
OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9325</attachid>
            <date>2006-07-09 22:26:45 -0700</date>
            <delta_ts>2006-07-10 07:34:52 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-9179-v3.diff</filename>
            <type>text/plain</type>
            <size>84745</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjgyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDYtMDctMDkgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTc5CisgICAgICAgICAgSW1wbGVtZW50IHNlbGVjdC5vcHRpb25z
LmFkZCgpIG1ldGhvZAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOiBBZGRlZCBvdmVy
bG9hZGVkIEtKUzo6SlNWYWx1ZTo6dG9JbnQzMigpIG1ldGhvZC4KKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBbHRlcmVkIGF0dHJpYnV0ZXMgbWV0
YWRhdGEgZm9yCisgICAgICAgIGtqcy92YWx1ZS5oIHRvIG1ha2UgaXQgYXZhaWxhYmxlIGFzIGEg
Zm9yd2FyZGVkIGhlYWRlci4KKyAgICAgICAgKiBranMvbG9va3VwLmg6CisgICAgICAgIChLSlM6
Omxvb2t1cFB1dCk6IEV4dHJhY3RlZCBhIGxvb2t1cFB1dCgpIG1ldGhvZCBmcm9tIHRoZSBleGlz
dGluZyBsb29rdXBQdXQoKSBtZXRob2QuCisgICAgICAgIFRoZSBuZXcgbWV0aG9kIHJldHVybnMg
YSBib29sZWFuIHZhbHVlIGlmIG5vIGVudHJ5IGlzIGZvdW5kIGluIHRoZSBsb29rdXAgdGFibGUu
CisgICAgICAgICoga2pzL3ZhbHVlLmNwcDoKKyAgICAgICAgKEtKUzo6SlNWYWx1ZTo6dG9JbnQz
Mik6IE92ZXJsb2FkZWQgdG9JbnQzMigpIG1ldGhvZCB3aXRoIGJvb2xlYW4gIk9rIiBhcmd1bWVu
dC4KKyAgICAgICAgKiBranMvdmFsdWUuaDogRGl0dG8uCisKIDIwMDYtMDctMDggIFRpbSBPbWVy
bmljayAgPHRpbW9AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5k
ZXg6IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJKHJldmlzaW9uIDE1MjgyKQorKysgSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksNiArMjM5
LDcgQEAgX19aTkszS0pTNkpTQ2VsbDlnZXRTdHJpbmdFUk5TXzdVU3RyaW5nRQogX19aTkszS0pT
NkpTQ2VsbDlnZXRTdHJpbmdFdgogX19aTkszS0pTNkpTQ2VsbDlnZXRVSW50MzJFUmoKIF9fWk5L
M0tKUzdKU1ZhbHVlN3RvSW50MzJFUE5TXzlFeGVjU3RhdGVFCitfX1pOSzNLSlM3SlNWYWx1ZTd0
b0ludDMyRVBOU185RXhlY1N0YXRlRVJiCiBfX1pOSzNLSlM3SlNWYWx1ZTh0b1VJbnQzMkVQTlNf
OUV4ZWNTdGF0ZUUKIF9fWk5LM0tKUzdKU1ZhbHVlOXRvSW50ZWdlckVQTlNfOUV4ZWNTdGF0ZUUK
IF9fWk5LM0tKUzdVU3RyaW5nMTBVVEY4U3RyaW5nRXYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMTUyODIpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAKIAkJOTMy
RjVCNTEwODIyQTFDNzAwNzM2OTc1IC8qIG51bWJlcl9vYmplY3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODcxMDI1NTU5N0QwMUZGNjBGNyAv
KiBudW1iZXJfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTMyRjVCNTMwODIyQTFDNzAwNzM2OTc1IC8qIG9iamVjdF9vYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODc0MDI1
NTU5N0QwMUZGNjBGNyAvKiBvYmplY3Rfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTQwODIyQTFDNzAwNzM2OTc1IC8qIG9i
amVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5
MkE4NzYwMjU1NTk3RDAxRkY2MEY3IC8qIG9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzMkY1QjU1MDgyMkExQzcwMDczNjk3NSAvKiBv
cGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogb3BlcmF0aW9ucy5oICovOyB9OworCQk5MzJG
NUI1NTA4MjJBMUM3MDA3MzY5NzUgLyogb3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NzgwMjU1NTk3RDAxRkY2MEY3IC8qIG9w
ZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk5MzJGNUI1NjA4MjJBMUM3MDA3MzY5NzUgLyogcHJvcGVydHlfbWFwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3QTAyNTU1OTdEMDFG
RjYwRjcgLyogcHJvcGVydHlfbWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTcwODIyQTFDNzAwNzM2OTc1IC8qIHJlZ2V4cF9vYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJB
ODdDMDI1NTU5N0QwMUZGNjBGNyAvKiByZWdleHBfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTgwODIyQTFDNzAwNzM2OTc1
IC8qIHJlZ2V4cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjY5MkE4N0UwMjU1NTk3RDAxRkY2MEY3IC8qIHJlZ2V4cC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMv
bG9va3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL2xvb2t1cC5oCShyZXZp
c2lvbiAxNTI4MikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9sb29rdXAuaAkod29ya2luZyBjb3B5
KQpAQCAtMjI5LDE4ICsyMjksMjAgQEAgbmFtZXNwYWNlIEtKUyB7CiAKICAgLyoqCiAgICAqIFRo
aXMgb25lIGlzIGZvciAicHV0Ii4KLSAgICogTG9va3VwIGhhc2ggZW50cnkgZm9yIHByb3BlcnR5
IHRvIGJlIHNldCwgYW5kIHNldCB0aGUgdmFsdWUuCisgICAqIEl0IGxvb2tzIHVwIGEgaGFzaCBl
bnRyeSBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIHNldC4gIElmIGFuIGVudHJ5CisgICAqIGlzIGZv
dW5kIGl0IHNldHMgdGhlIHZhbHVlIGFuZCByZXR1cm5zIHRydWUsIGVsc2UgaXQgcmV0dXJucyBm
YWxzZS4KICAgICovCi0gIHRlbXBsYXRlIDxjbGFzcyBUaGlzSW1wLCBjbGFzcyBQYXJlbnRJbXA+
Ci0gIGlubGluZSB2b2lkIGxvb2t1cFB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElkZW50aWZp
ZXIgJnByb3BlcnR5TmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgKnZhbHVl
LCBpbnQgYXR0ciwKKyAgdGVtcGxhdGUgPGNsYXNzIFRoaXNJbXA+CisgIGlubGluZSBib29sIGxv
b2t1cFB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUqIHZhbHVlLCBpbnQgYXR0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEhhc2hUYWJsZSogdGFibGUsIFRoaXNJbXAqIHRoaXNP
YmopCiAgIHsKICAgICBjb25zdCBIYXNoRW50cnkqIGVudHJ5ID0gTG9va3VwOjpmaW5kRW50cnko
dGFibGUsIHByb3BlcnR5TmFtZSk7CiAKLSAgICBpZiAoIWVudHJ5KSAvLyBub3QgZm91bmQ6IGZv
cndhcmQgdG8gcGFyZW50Ci0gICAgICB0aGlzT2JqLT5QYXJlbnRJbXA6OnB1dChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBhdHRyKTsKLSAgICBlbHNlIGlmIChlbnRyeS0+YXR0ciAmIEZ1bmN0
aW9uKSAvLyBmdW5jdGlvbjogcHV0IGFzIG92ZXJyaWRlIHByb3BlcnR5CisgICAgaWYgKCFlbnRy
eSkKKyAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChlbnRyeS0+YXR0ciAmIEZ1bmN0aW9u
KSAvLyBmdW5jdGlvbjogcHV0IGFzIG92ZXJyaWRlIHByb3BlcnR5CiAgICAgICB0aGlzT2JqLT5K
U09iamVjdDo6cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOwogICAgIGVsc2Ug
aWYgKGVudHJ5LT5hdHRyICYgUmVhZE9ubHkpIC8vIHJlYWRvbmx5ISBDYW4ndCBwdXQhCiAjaWZk
ZWYgS0pTX1ZFUkJPU0UKQEAgLTI1MCw2ICsyNTIsMjMgQEAgbmFtZXNwYWNlIEtKUyB7CiAjZW5k
aWYKICAgICBlbHNlCiAgICAgICB0aGlzT2JqLT5wdXRWYWx1ZVByb3BlcnR5KGV4ZWMsIGVudHJ5
LT52YWx1ZSwgdmFsdWUsIGF0dHIpOworCisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICAvKioK
KyAgICogVGhpcyBvbmUgaXMgZm9yICJwdXQiLgorICAgKiBJdCBjYWxscyBsb29rdXBQdXQ8VGhp
c0ltcD4oKSB0byBzZXQgdGhlIHZhbHVlLiAgSWYgdGhhdCBjYWxsCisgICAqIHJldHVybnMgZmFs
c2UgKG1lYW5pbmcgbm8gZW50cnkgaW4gdGhlIGhhc2ggdGFibGUgd2FzIGZvdW5kKSwKKyAgICog
dGhlbiBpdCBjYWxscyBwdXQoKSBvbiB0aGUgUGFyZW50SW1wIGNsYXNzLgorICAgKi8KKyAgdGVt
cGxhdGUgPGNsYXNzIFRoaXNJbXAsIGNsYXNzIFBhcmVudEltcD4KKyAgaW5saW5lIHZvaWQgbG9v
a3VwUHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVydHlOYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSogdmFsdWUsIGludCBhdHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiB0YWJsZSwgVGhpc0ltcCogdGhpc09i
aikKKyAgeworICAgIGlmICghbG9va3VwUHV0PFRoaXNJbXA+KGV4ZWMsIHByb3BlcnR5TmFtZSwg
dmFsdWUsIGF0dHIsIHRhYmxlLCB0aGlzT2JqKSkKKyAgICAgIHRoaXNPYmotPlBhcmVudEltcDo6
cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOyAvLyBub3QgZm91bmQ6IGZvcndh
cmQgdG8gcGFyZW50CiAgIH0KIAogfSAvLyBuYW1lc3BhY2UKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2tqcy92YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL3ZhbHVlLmNw
cAkocmV2aXNpb24gMTUyODIpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvdmFsdWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NywxMyArNTcsMjMgQEAgZG91YmxlIEpTVmFsdWU6OnRvSW50ZWdlcihF
eGVjU3RhdGUgKmV4ZQogCiBpbnQzMl90IEpTVmFsdWU6OnRvSW50MzIoRXhlY1N0YXRlICpleGVj
KSBjb25zdAogeworICAgIGJvb2wgaWdub3JlZDsKKyAgICByZXR1cm4gdG9JbnQzMihleGVjLCBp
Z25vcmVkKTsKK30KKworaW50MzJfdCBKU1ZhbHVlOjp0b0ludDMyKEV4ZWNTdGF0ZSAqZXhlYywg
Ym9vbCAmb2spIGNvbnN0Cit7CisgICAgb2sgPSB0cnVlOworCiAgICAgdWludDMyX3QgaTsKICAg
ICBpZiAoZ2V0VUludDMyKGkpKQogICAgICAgICByZXR1cm4gaTsKIAogICAgIGRvdWJsZSBkID0g
cm91bmRWYWx1ZShleGVjLCBjb25zdF9jYXN0PEpTVmFsdWUqPih0aGlzKSk7Ci0gICAgaWYgKGlz
TmFOKGQpIHx8IGlzSW5mKGQpKQorICAgIGlmIChpc05hTihkKSB8fCBpc0luZihkKSkgeworICAg
ICAgICBvayA9IGZhbHNlOwogICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgZG91YmxlIGQz
MiA9IGZtb2QoZCwgRDMyKTsKIAogICAgIGlmIChkMzIgPj0gRDMyIC8gMikKSW5kZXg6IEphdmFT
Y3JpcHRDb3JlL2tqcy92YWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy92
YWx1ZS5oCShyZXZpc2lvbiAxNTI4MikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy92YWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIEludGVnZXIg
Y29udmVyc2lvbnMuCiAgICAgZG91YmxlIHRvSW50ZWdlcihFeGVjU3RhdGUgKmV4ZWMpIGNvbnN0
OwotICAgIGludDMyX3QgdG9JbnQzMihFeGVjU3RhdGUgKmV4ZWMpIGNvbnN0OworICAgIGludDMy
X3QgdG9JbnQzMihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBpbnQzMl90IHRvSW50MzIoRXhlY1N0
YXRlKiwgYm9vbCYpIGNvbnN0OwogICAgIHVpbnQzMl90IHRvVUludDMyKEV4ZWNTdGF0ZSAqZXhl
YykgY29uc3Q7CiAgICAgdWludDE2X3QgdG9VSW50MTYoRXhlY1N0YXRlICpleGVjKSBjb25zdDsK
IApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTUyODIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSwyMSBAQAogMjAwNi0wNy0wOSAgRGF2aWQgS2lsemVyICA8
ZGRraWx6ZXJAa2lsemVyLm5ldD4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIHRlc3QgZm9yIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTE3OQorICAgICAgICAgIEltcGxlbWVudCBzZWxlY3Qub3B0aW9ucy5h
ZGQoKSBtZXRob2QKKworICAgICAgICAqIGZhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11
bHRpcGxlLWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0ZXN0IHJlc3VsdHMuCisgICAgICAgICogZmFz
dC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUuaHRtbDogVXBkYXRlZCB0byBwcmlu
dCBjb21tZW50cyBiZXR3ZWVuCisgICAgICAgIHRlc3RzIHRvIG1ha2UgZmFpbHVyZXMgZWFzaWVy
IHRvIHRyYWNrIGRvd24uCisgICAgICAgICogZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgt
ZXhwZWN0ZWQudHh0OiBNaXJyb3JlZCB1cGRhdGVzIGZyb20gc2VsZWN0LXNlbGVjdGVkSW5kZXgt
bXVsdGlwbGUuaHRtbAorICAgICAgICAqIGZhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4Lmh0
bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFk
ZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC5odG1s
OiBBZGRlZC4KKworMjAwNi0wNy0wOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5l
dD4KKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KIAogICAgICAgICAtIGh0dHA6Ly9idWd6
aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxMgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMTUyODIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0
ZWRJbmRleC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzEsNzAgQEAKIAor
MSkgc2V0dGluZyBsZW5ndGggdG8gYSBuZWdhdGl2ZSBsZW5ndGgKK1BBU1MgbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggPSAtMTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9TSVpFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNT
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMQorMikgc2V0dGluZyBsZW5ndGggdG8gYSBsYXJn
ZXIgbGVuZ3RoCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDUKIFBBU1MgbXlTZWxl
Y3Quc2VsZWN0ZWRJbmRleCBpcyAxCiszKSBzZXR0aW5nIGxlbmd0aCB0byBhIHNtYWxsZXIgbGVu
Z3RoCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCBpcyAxCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEKIFBBU1Mg
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorNCkgc2V0dGluZyBsZW5ndGggdG8gdGhlIHNh
bWUgbGVuZ3RoCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxl
Y3Quc2VsZWN0ZWRJbmRleCBpcyAxCis1KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2
YWx1ZTogbnVsbAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCiBQQVNTIG15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzYpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2Vy
IHZhbHVlOiB1bmRlZmluZWQKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAogUEFT
UyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCis3KSBzZXR0aW5nIGxlbmd0aCB0byBub24t
aW50ZWdlciB2YWx1ZTogbm9uLW51bWVyaWMgc3RyaW5nCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIGlzIDAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorOCkgc2V0dGlu
ZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG9iamVjdAorUEFTUyBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzkpIHNl
dHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBuZWdhdGl2ZSBpbmZpbml0eQorUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5k
ZXggaXMgLTEKKzEwKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogTmFOCitQ
QVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJ
bmRleCBpcyAtMQorMTEpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBwb3Np
dGl2ZSBpbmZpbml0eQorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15
U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzEyKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50
ZWdlciB2YWx1ZTogZmxvYXRpbmcgcG9pbnQgbnVtYmVyCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAxCisxMykgc2V0dGlu
ZyBhbiBlbGVtZW50IGJ5IGluZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBsaXN0CiBQ
QVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDExCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVk
SW5kZXggaXMgMTAKKzE0KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXgKIFBB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTEKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJ
bmRleCBpcyAxMAorMTUpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9w
dGlvbjogbnVsbAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMAogUEFTUyBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCisxNikgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRo
YXQncyBub3QgYW4gb3B0aW9uOiB1bmRlZmluZWQKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMTAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorMTcpIHRyeWluZyB0
byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogc2VsZWN0IGVsZW1lbnQKK1BB
U1MgbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBteVNlbGVjdDsgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1MgbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMTAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorMTgp
IHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBu
ZWdhdGl2ZSBpbmZpbml0eQorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMAorUEFT
UyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCisxOSkgdHJ5aW5nIHRvIHNldCBhIG9wdGlv
biBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IE5hTgorUEFTUyBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCBpcyAxMAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCisyMCkg
dHJ5aW5nIHRvIHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IHBv
c2l0aXZlIGluZmluaXR5CitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwCitQQVNT
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCiAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Nl
bGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE1MjgyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNl
bGVjdGVkSW5kZXgtbXVsdGlwbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMw
ICsxLDcwIEBACiAKKzEpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbmVnYXRpdmUgbGVuZ3RoCitQQVNT
IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gLTE7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5E
RVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24gMS4KIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMgogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzIpIHNldHRpbmcgbGVu
Z3RoIHRvIGEgbGFyZ2VyIGxlbmd0aAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA1
CiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorMykgc2V0dGluZyBsZW5ndGggdG8g
YSBzbWFsbGVyIGxlbmd0aAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNT
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCBpcyAxCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorNCkgc2V0dGluZyBsZW5n
dGggdG8gdGhlIHNhbWUgbGVuZ3RoCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIK
IFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCis1KSBzZXR0aW5nIGxlbmd0aCB0byBu
b24taW50ZWdlciB2YWx1ZTogbnVsbAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAw
CiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzYpIHNldHRpbmcgbGVuZ3RoIHRv
IG5vbi1pbnRlZ2VyIHZhbHVlOiB1bmRlZmluZWQKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMAogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCis3KSBzZXR0aW5nIGxl
bmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbm9uLW51bWVyaWMgc3RyaW5nCiBQQVNTIG15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAt
MQorOCkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG9iamVjdAorUEFTUyBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXgg
aXMgLTEKKzkpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBuZWdhdGl2ZSBp
bmZpbml0eQorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0
LnNlbGVjdGVkSW5kZXggaXMgLTEKKzEwKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2
YWx1ZTogTmFOCitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1MgbXlTZWxl
Y3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorMTEpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2Vy
IHZhbHVlOiBwb3NpdGl2ZSBpbmZpbml0eQorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBp
cyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzEyKSBzZXR0aW5nIGxlbmd0
aCB0byBub24taW50ZWdlciB2YWx1ZTogZmxvYXRpbmcgcG9pbnQgbnVtYmVyCiBQQVNTIG15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAw
CisxMykgc2V0dGluZyBhbiBlbGVtZW50IGJ5IGluZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3Vy
cmVudCBsaXN0CiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDExCiBQQVNTIG15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorMTQpIHNldHRpbmcgYW4gZXhpc3RpbmcgZWxlbWVudCBi
eSBpbmRleAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVj
dC5zZWxlY3RlZEluZGV4IGlzIDAKKzE1KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdz
IG5vdCBhbiBvcHRpb246IG51bGwKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAK
IFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisxNikgdHJ5aW5nIHRvIHNldCBhbiBl
bGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uOiB1bmRlZmluZWQKIFBBU1MgbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMTAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisxNykg
dHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uOiBzZWxlY3QgZWxl
bWVudAorUEFTUyBteVNlbGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0OyB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgogUEFTUyBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMAogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlz
IDAKKzE4KSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBp
bmRleDogbmVnYXRpdmUgaW5maW5pdHkKK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMg
MTAKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisxOSkgdHJ5aW5nIHRvIHNldCBh
IG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IE5hTgorUEFTUyBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCBpcyAxMAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAK
KzIwKSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBpbmRl
eDogcG9zaXRpdmUgaW5maW5pdHkKK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAK
K1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLmh0bWwJKHJldmlz
aW9uIDE1MjgyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgt
bXVsdGlwbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KIDxz
ZWxlY3QgbXVsdGlwbGUgaWQ9InRlc3QiIHNpemU9IjMiPgogPC9zZWxlY3Q+CiA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KQEAgLTExLDE3ICsxMiwxOSBAQCBmdW5jdGlvbiByZXNldChteVNlbGVj
dCkgewogCiB2YXIgbXlTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwog
cmVzZXQobXlTZWxlY3QpOwordmFyIGkgPSAwOwogCi1teVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9
IC0xOworZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBhIG5lZ2F0aXZlIGxlbmd0
aCIpOworc2hvdWxkVGhyb3coIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gLTE7Iik7CiBzaG91
bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOwogc2hvdWxkQmUoIm15U2VsZWN0
LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogCi0vLyAxKSBzZXR0aW5nIGxlbmd0aCB0byBhIGxhcmdl
ciBsZW5ndGgKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gYSBsYXJnZXIgbGVu
Z3RoIik7CiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IDU7CiBzaG91bGRCZSgibXlTZWxlY3Qu
b3B0aW9ucy5sZW5ndGgiLCAiNSIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgi
LCAiMCIpOwogCi0vLyAyKSBzZXR0aW5nIGxlbmd0aCB0byBhIHNtYWxsZXIgbGVuZ3RoCitkZWJ1
ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgc21hbGxlciBsZW5ndGgiKTsKIG15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoID0gMjsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CkBAIC0z
MSw1MyArMzQsOTkgQEAgc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEiKQog
c2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogcmVzZXQobXlTZWxlY3Qp
OwogCi0vLyAzKSBzZXR0aW5nIGxlbmd0aCB0byB0aGUgc2FtZSBsZW5ndGgKK2RlYnVnKCgrK2kp
ICsgIikgc2V0dGluZyBsZW5ndGggdG8gdGhlIHNhbWUgbGVuZ3RoIik7CiBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCA9IDI7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIp
Owogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogCi0vLyA0KSBzZXR0
aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZXMgKG51bGwsCi0vLyB1bmRlZmluZWQsIG5v
bi1udW1lcmljIHN0cmluZywgZmxvYXRpbmcgcG9pbnQgbnVtYmVyKQorZGVidWcoKCsraSkgKyAi
KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbnVsbCIpOwogbXlTZWxlY3Qu
b3B0aW9ucy5sZW5ndGggPSBudWxsOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
IiwgIjAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CiByZXNl
dChteVNlbGVjdCk7CiAKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWlu
dGVnZXIgdmFsdWU6IHVuZGVmaW5lZCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSB1bmRl
ZmluZWQ7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOwogc2hvdWxk
QmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAor
ZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbm9u
LW51bWVyaWMgc3RyaW5nIik7CiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9ICJhcHBsZSI7CiBz
aG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOwogc2hvdWxkQmUoIm15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAorZGVidWcoKCsr
aSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogb2JqZWN0Iik7Citt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IG5ldyBPYmplY3QoKTsKK3Nob3VsZEJlKCJteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCIsICItMSIpOworcmVzZXQobXlTZWxlY3QpOworCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcg
bGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBuZWdhdGl2ZSBpbmZpbml0eSIpOworbXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGggPSAtMS8wOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7City
ZXNldChteVNlbGVjdCk7CisKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9u
LWludGVnZXIgdmFsdWU6IE5hTiIpOworbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAwLzA7Citz
aG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoIm15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK3Jlc2V0KG15U2VsZWN0KTsKKworZGVidWcoKCsr
aSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogcG9zaXRpdmUgaW5m
aW5pdHkiKTsKK215U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMS8wOworc2hvdWxkQmUoIm15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IiwgIi0xIik7CityZXNldChteVNlbGVjdCk7CisKK2RlYnVnKCgrK2kpICsgIikgc2V0dGlu
ZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IGZsb2F0aW5nIHBvaW50IG51bWJlciIpOwog
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAyLjE7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9u
cy5sZW5ndGgiLCAiMiIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIp
OwogCi0vLyA1KSBzZXR0aW5nIGFuIGVsZW1lbnQgYnkgaW5kZXggcGFzdCB0aGUgZW5kIG9mIHRo
ZSBjdXJyZW50IGxpc3QKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBhbiBlbGVtZW50IGJ5IGlu
ZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBsaXN0Iik7CiBteVNlbGVjdC5vcHRpb25z
WzEwXSA9IG5ldyBPcHRpb24oInRlbiIsICJ2YWx1ZSIsIHRydWUsIHRydWUpOwogc2hvdWxkQmUo
Im15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjExIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCIsICIwIik7CiAKLS8vIDYpIHNldHRpbmcgYW4gZXhpc3RpbmcgZWxlbWVudCBi
eSBpbmRleAorZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkg
aW5kZXgiKTsKIG15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbXlTZWxlY3Qub3B0aW9uc1sxMF07CiBz
aG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTEiKTsKIHNob3VsZEJlKCJteVNl
bGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8gNykgdHJ5aW5nIHRvIHNldCBhbiBlbGVt
ZW50IHRoYXQncyBub3QgYW4gb3B0aW9uCi0vLyBlbGVtZW50IChudWxsLCB1bmRlZmluZWQsIG90
aGVyIGtpbmRzIG9mIG9iamVjdHMsIG90aGVyIGtpbmRzIG9mIGVsZW1lbnRzKQorZGVidWcoKCsr
aSkgKyAiKSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IG51
bGwiKTsKIG15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbnVsbDsKIHNob3VsZEJlKCJteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgi
LCAiMCIpOworCitkZWJ1ZygoKytpKSArICIpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0
J3Mgbm90IGFuIG9wdGlvbjogdW5kZWZpbmVkIik7CiBteVNlbGVjdC5vcHRpb25zWzEwXSA9IHVu
ZGVmaW5lZDsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hv
dWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwotbXlTZWxlY3Qub3B0aW9uc1sx
MF0gPSBteVNlbGVjdDsKKworZGVidWcoKCsraSkgKyAiKSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1l
bnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IHNlbGVjdCBlbGVtZW50Iik7CitzaG91bGRUaHJvdygi
bXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBteVNlbGVjdDsiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgi
LCAiMCIpOwogCi08L3NjcmlwdD4KK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhIG9w
dGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IG5lZ2F0aXZlIGluZmluaXR5Iik7
CitteVNlbGVjdC5vcHRpb25zWy0xLzBdID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9u
Iik7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJl
KCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAorZGVidWcoKCsraSkgKyAiKSB0cnlp
bmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBpbmRleDogTmFOIik7
CitteVNlbGVjdC5vcHRpb25zWzAvMF0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24i
KTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMCIpOworc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOworCitkZWJ1ZygoKytpKSArICIpIHRyeWlu
ZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBwb3NpdGl2
ZSBpbmZpbml0eSIpOworbXlTZWxlY3Qub3B0aW9uc1sxLzBdID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgib3B0aW9uIik7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTAi
KTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKKworZGVidWcoIiIp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXguaHRtbAkocmV2aXNpb24g
MTUyODIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgogPHNlbGVjdCBpZD0idGVz
dCIgc2l6ZT0iMyI+CiA8L3NlbGVjdD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpAQCAtMTEs
MTcgKzEyLDE5IEBAIGZ1bmN0aW9uIHJlc2V0KG15U2VsZWN0KSB7CiAKIHZhciBteVNlbGVjdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CiByZXNldChteVNlbGVjdCk7Cit2YXIg
aSA9IDA7CiAKLW15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gLTE7CitkZWJ1ZygoKytpKSArICIp
IHNldHRpbmcgbGVuZ3RoIHRvIGEgbmVnYXRpdmUgbGVuZ3RoIik7CitzaG91bGRUaHJvdygibXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAtMTsiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25z
Lmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIxIik7
CiAKLS8vIDEpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aAorZGVidWcoKCsraSkg
KyAiKSBzZXR0aW5nIGxlbmd0aCB0byBhIGxhcmdlciBsZW5ndGgiKTsKIG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoID0gNTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICI1Iik7
CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIxIik7CiAKLS8vIDIpIHNldHRp
bmcgbGVuZ3RoIHRvIGEgc21hbGxlciBsZW5ndGgKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBs
ZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAy
Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJt
eVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjEiKTsKQEAgLTMxLDUyICszNCw5OSBAQCBzaG91bGRC
ZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMSIpCiBzaG91bGRCZSgibXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCIsICItMSIpOwogcmVzZXQobXlTZWxlY3QpOwogCi0vLyAzKSBzZXR0aW5nIGxl
bmd0aCB0byB0aGUgc2FtZSBsZW5ndGgKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGgg
dG8gdGhlIHNhbWUgbGVuZ3RoIik7CiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IDI7CiBzaG91
bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOwogc2hvdWxkQmUoIm15U2VsZWN0
LnNlbGVjdGVkSW5kZXgiLCAiMSIpOwogCi0vLyA0KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50
ZWdlciB2YWx1ZXMgKG51bGwsCi0vLyB1bmRlZmluZWQsIG5vbi1udW1lcmljIHN0cmluZywgZmxv
YXRpbmcgcG9pbnQgbnVtYmVyKQorZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBu
b24taW50ZWdlciB2YWx1ZTogbnVsbCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSBudWxs
Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJt
eVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVn
KCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IHVuZGVmaW5l
ZCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSB1bmRlZmluZWQ7CiBzaG91bGRCZSgibXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVk
SW5kZXgiLCAiLTEiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAorZGVidWcoKCsraSkgKyAiKSBzZXR0
aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbm9uLW51bWVyaWMgc3RyaW5nIik7CiBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9ICJhcHBsZSI7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAi
LTEiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAorZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0
aCB0byBub24taW50ZWdlciB2YWx1ZTogb2JqZWN0Iik7CitteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCA9IG5ldyBPYmplY3QoKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIw
Iik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworcmVzZXQobXlT
ZWxlY3QpOworCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2Vy
IHZhbHVlOiBuZWdhdGl2ZSBpbmZpbml0eSIpOworbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAt
MS8wOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJl
KCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CityZXNldChteVNlbGVjdCk7CisKK2Rl
YnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IE5hTiIp
OworbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAwLzA7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAi
LTEiKTsKK3Jlc2V0KG15U2VsZWN0KTsKKworZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0
aCB0byBub24taW50ZWdlciB2YWx1ZTogcG9zaXRpdmUgaW5maW5pdHkiKTsKK215U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoID0gMS8wOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CityZXNldCht
eVNlbGVjdCk7CisKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVn
ZXIgdmFsdWU6IGZsb2F0aW5nIHBvaW50IG51bWJlciIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggPSAyLjE7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOwogc2hv
dWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMSIpOwogCi0vLyA1KSBzZXR0aW5nIGFu
IGVsZW1lbnQgYnkgaW5kZXggcGFzdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGxpc3QKK2RlYnVn
KCgrK2kpICsgIikgc2V0dGluZyBhbiBlbGVtZW50IGJ5IGluZGV4IHBhc3QgdGhlIGVuZCBvZiB0
aGUgY3VycmVudCBsaXN0Iik7CiBteVNlbGVjdC5vcHRpb25zWzEwXSA9IG5ldyBPcHRpb24oInRl
biIsICJ2YWx1ZSIsIHRydWUsIHRydWUpOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoIiwgIjExIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIxMCIpOwog
Ci0vLyA2KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXgKK2RlYnVnKCgrK2kp
ICsgIikgc2V0dGluZyBhbiBleGlzdGluZyBlbGVtZW50IGJ5IGluZGV4Iik7CiBteVNlbGVjdC5v
cHRpb25zWzEwXSA9IG15U2VsZWN0Lm9wdGlvbnNbMTBdOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIiwgIjExIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIs
ICIxMCIpOwogCi0vLyA3KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBv
cHRpb24KLS8vIGVsZW1lbnQgKG51bGwsIHVuZGVmaW5lZCwgb3RoZXIga2luZHMgb2Ygb2JqZWN0
cywgb3RoZXIga2luZHMgb2YgZWxlbWVudHMpCitkZWJ1ZygoKytpKSArICIpIHRyeWluZyB0byBz
ZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogbnVsbCIpOwogbXlTZWxlY3Qub3B0
aW9uc1sxMF0gPSBudWxsOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEw
Iik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworCitkZWJ1Zygo
KytpKSArICIpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjog
dW5kZWZpbmVkIik7CiBteVNlbGVjdC5vcHRpb25zWzEwXSA9IHVuZGVmaW5lZDsKIHNob3VsZEJl
KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNl
bGVjdGVkSW5kZXgiLCAiLTEiKTsKLW15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbXlTZWxlY3Q7CisK
K2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4g
b3B0aW9uOiBzZWxlY3QgZWxlbWVudCIpOworc2hvdWxkVGhyb3coIm15U2VsZWN0Lm9wdGlvbnNb
MTBdID0gbXlTZWxlY3Q7Iik7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAi
MTAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CisKK2RlYnVn
KCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFs
aWQgaW5kZXg6IG5lZ2F0aXZlIGluZmluaXR5Iik7CitteVNlbGVjdC5vcHRpb25zWy0xLzBdID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4Iiwg
Ii0xIik7CisKK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhIG9wdGlvbiBlbGVtZW50
IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IE5hTiIpOworbXlTZWxlY3Qub3B0aW9uc1swLzBdID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4Iiwg
Ii0xIik7CisKK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhIG9wdGlvbiBlbGVtZW50
IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IHBvc2l0aXZlIGluZmluaXR5Iik7CitteVNlbGVjdC5v
cHRpb25zWzEvMF0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKIHNob3VsZEJl
KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNl
bGVjdGVkSW5kZXgiLCAiLTEiKTsKIAorZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9w
dGlvbnMtYWRkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L3NlbGVjdC1vcHRpb25zLWFkZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjE5IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUg
YWRkKCkgbWV0aG9kIG9uIHRoZSBzZWxlY3Qub3B0aW9ucyBvYmplY3QuCitJdCBjb3ZlcnMgYm90
aCB0aGUgdGhlIG9uZS1hcmd1bWVudCAoMS54KSBhbmQgdHdvLWFyZ3VtZW50ICgyLngpIHNpZ25h
dHVyZXMgb2YgdGhlIGFkZCgpIG1ldGhvZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKKzEuMSBBZGQgT3B0aW9uIHRvIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVj
dDEub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzBdLnRleHRD
b250ZW50IGlzICdBJworCisxLjIgQWRkIE9wdGlvbiB0byBub24tZW1wdHkgT3B0aW9ucworUEFT
UyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4
IGlzIDAKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzBdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3Qx
Lm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDEub3B0aW9uc1sxXS52
YWx1ZSBpcyAnMicKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdCJwor
CisxLjMgQWRkIE9wdGlvbiBhZnRlciBzZXR0aW5nIHBhcmFtZXRlcnMKK1BBU1Mgc2VsZWN0MS5v
cHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNT
IHNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzBd
LnRleHRDb250ZW50IGlzICdBJworUEFTUyBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzIn
CitQQVNTIHNlbGVjdDEub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQicKK1BBU1Mgc2VsZWN0
MS5vcHRpb25zWzJdLnZhbHVlIGlzICczJworUEFTUyBzZWxlY3QxLm9wdGlvbnNbMl0udGV4dENv
bnRlbnQgaXMgJ0MnCisKKzEuNCBBZGQgYSBub24tT3B0aW9uIGVsZW1lbnQKK1BBU1Mgc2VsZWN0
MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlz
IDMKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKworMS41IEFkZCBhIG5vbi1lbGVt
ZW50IChzdHJpbmcpCitQQVNTIHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
c2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBp
cyAwCisKKzEuNiBBZGQgYSBub24tZWxlbWVudCAobnVtYmVyKQorUEFTUyBzZWxlY3QxLm9wdGlv
bnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6
IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMworUEFT
UyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorCisxLjcgQWRkIHVuZGVmaW5lZAorUEFTUyBz
ZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5n
dGggaXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorCisxLjggQWRkIG51bGwK
K1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlv
bnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKworMS45IEFk
ZCBuZWdhdGl2ZSBpbmZpbml0eQorUEFTUyBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVk
SW5kZXggaXMgMAorCisxLjEwIEFkZCBOYU4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRp
b24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2VsZWN0MS5z
ZWxlY3RlZEluZGV4IGlzIDAKKworMS4xMSBBZGQgcG9zaXRpdmUgaW5maW5pdHkKK1BBU1Mgc2Vs
ZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3Ro
IGlzIDMKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKworMi4xIEFkZCBPcHRpb24g
dG8gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDEKK1BBU1Mg
c2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDAKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVl
IGlzICcxJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnCisKKzIu
MiBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1ldGVycworUEFTUyBzZWxlY3QyLm9wdGlv
bnMubGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDAKK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udGV4
dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMicKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdCJworCisyLjMgSW5zZXJ0IE9w
dGlvbiBhdCBiZWdpbm5pbmcgb2YgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IGlzIDMKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKK1BBU1Mgc2VsZWN0Mi5vcHRp
b25zWzBdLnZhbHVlIGlzICcwJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQg
aXMgJ1onCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdBJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0u
dmFsdWUgaXMgJzInCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCBpcyAnQicK
KworMi40IEluc2VydCBPcHRpb24gaW4gbWlkZGxlIG9mIE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zLmxlbmd0aCBpcyA0CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNT
IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBd
LnRleHRDb250ZW50IGlzICdaJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEn
CitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQScKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS50ZXh0
Q29udGVudCBpcyAnQS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInCitQ
QVNTIHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQicKKworMi41IEluc2VydCBP
cHRpb24gYXQgZW5kIG9mIE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA1
CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1sw
XS52YWx1ZSBpcyAnMCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICda
JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDIub3B0
aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVl
IGlzICcxLjUnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCBpcyAnQS41Jwor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInCitQQVNTIHNlbGVjdDIub3B0aW9u
c1szXS50ZXh0Q29udGVudCBpcyAnQicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzRdLnZhbHVlIGlz
ICczJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQgaXMgJ0MnCisKKzIuNiBJ
bnNlcnQgT3B0aW9uIGJleW9uZCB0aGUgZW5kIG9mIE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRp
b25zLmxlbmd0aCBpcyA2CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNl
bGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRl
eHRDb250ZW50IGlzICdaJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnCitQ
QVNTIHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQScKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zWzJdLnZhbHVlIGlzICcxLjUnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29u
dGVudCBpcyAnQS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInCitQQVNT
IHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQicKK1BBU1Mgc2VsZWN0Mi5vcHRp
b25zWzRdLnZhbHVlIGlzICczJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQg
aXMgJ0MnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBpcyAnNCcKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zWzVdLnRleHRDb250ZW50IGlzICdEJworCisyLjcgQWRkIGFuIE9wdGlvbiBhdCBp
bmRleCAtMQorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5z
ZWxlY3RlZEluZGV4IGlzIDEKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcwJwor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ1onCitQQVNTIHNlbGVjdDIu
b3B0aW9uc1sxXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250
ZW50IGlzICdBJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJzEuNScKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdBLjUnCitQQVNTIHNlbGVjdDIub3B0
aW9uc1szXS52YWx1ZSBpcyAnMicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50
IGlzICdCJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnCitQQVNTIHNlbGVj
dDIub3B0aW9uc1s0XS50ZXh0Q29udGVudCBpcyAnQycKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzVd
LnZhbHVlIGlzICc0JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbNV0udGV4dENvbnRlbnQgaXMgJ0Qn
CitQQVNTIHNlbGVjdDIub3B0aW9uc1s2XS52YWx1ZSBpcyAnNScKK1BBU1Mgc2VsZWN0Mi5vcHRp
b25zWzZdLnRleHRDb250ZW50IGlzICdFJworCisyLjggQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAt
MgorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIC0yKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOREVYX1NJWkVfRVJSOiBET00gRXhjZXB0aW9uIDEuCitQQVNTIHNlbGVjdDIub3B0
aW9ucy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorCisyLjkg
QWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtSW5maW5pdHkKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFk
ZChvcHRpb24yLCAtMS8wKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJS
OiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BB
U1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi4xMCBBZGQgYW4gT3B0aW9uIGF0IGlu
ZGV4IE5hTgorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDAvMCkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBp
cyAxCisKKzIuMTEgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCBJbmZpbml0eQorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEvMCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCisKKzIuMTIgQWRkIGEgbm9u
LU9wdGlvbiBlbGVtZW50CitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4K
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJ
bmRleCBpcyAxCisKKzIuMTMgQWRkIGEgbm9uLWVsZW1lbnQgKHN0cmluZykKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi4xNCBBZGQgYSBub24t
ZWxlbWVudCAobnVtYmVyKQorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMQorCisyLjE1IEFkZCB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFk
ZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBE
T00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mg
c2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi4xNiBBZGQgbnVsbAorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorCisyLjE3IEFkZCBuZWdhdGl2
ZSBpbmZpbml0eQorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXgg
aXMgMQorCisyLjE4IEFkZCBOYU4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAx
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxl
Y3RlZEluZGV4IGlzIDEKKworMi4xOSBBZGQgcG9zaXRpdmUgaW5maW5pdHkKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXY+Cis8c2VsZWN0IGlkPSJzZWxlY3QxIj48
L3NlbGVjdD4KKzxzZWxlY3QgaWQ9InNlbGVjdDIiPjwvc2VsZWN0PgorPC9kaXY+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFkZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1h
ZGQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0
LW9wdGlvbnMtYWRkLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNv
dXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwNiBA
QAorZGVzY3JpcHRpb24oCisiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGFk
ZCgpIG1ldGhvZCBvbiB0aGUgc2VsZWN0Lm9wdGlvbnMgb2JqZWN0Ljxicj4iICsKKyJJdCBjb3Zl
cnMgYm90aCB0aGUgdGhlIG9uZS1hcmd1bWVudCAoMS54KSBhbmQgdHdvLWFyZ3VtZW50ICgyLngp
IHNpZ25hdHVyZXMgb2YgdGhlIGFkZCgpIG1ldGhvZC4iCispOworCitkZWJ1ZygiMS4xIEFkZCBP
cHRpb24gdG8gZW1wdHkgT3B0aW9ucyIpOwordmFyIHNlbGVjdDEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2VsZWN0MSIpOwordmFyIG9wdGlvbjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJPUFRJT04iKTsKK3NlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSk7CitvcHRpb24xLnZhbHVl
ID0gIjEiOworb3B0aW9uMS50ZXh0Q29udGVudCA9ICJBIjsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAi
MCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIxLjIgQWRkIE9wdGlvbiB0byBub24tZW1wdHkgT3B0aW9ucyIpOworb3B0aW9u
MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0MS5vcHRpb25zLmFk
ZChvcHRpb24xKTsKK29wdGlvbjEudmFsdWUgPSAiMiI7CitvcHRpb24xLnRleHRDb250ZW50ID0g
IkIiOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUo
InNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25z
WzBdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29u
dGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUiLCAiJzIn
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50IiwgIidCJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMS4zIEFkZCBPcHRpb24gYWZ0ZXIgc2V0dGluZyBwYXJhbWV0
ZXJzIik7CitvcHRpb24xID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitvcHRp
b24xLnZhbHVlID0gIjMiOworb3B0aW9uMS50ZXh0Q29udGVudCA9ICJDIjsKK3NlbGVjdDEub3B0
aW9ucy5hZGQob3B0aW9uMSk7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIz
Iik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zWzBdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1sx
XS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMV0udGV4dENvbnRl
bnQiLCAiJ0InIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzJdLnZhbHVlIiwgIiczJyIp
Oworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1syXS50ZXh0Q29udGVudCIsICInQyciKTsKK2Rl
YnVnKCIiKTsKKworZGVidWcoIjEuNCBBZGQgYSBub24tT3B0aW9uIGVsZW1lbnQiKTsKK29wdGlv
bjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKTsKK3Nob3VsZFRocm93KCJzZWxlY3Qx
Lm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0
aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVn
KCIiKTsKKworZGVidWcoIjEuNSBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKSIpOworb3B0aW9u
MSA9ICJvIjsKK3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7Citz
aG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0
MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNiBBZGQgYSBu
b24tZWxlbWVudCAobnVtYmVyKSIpOworb3B0aW9uMSA9IDMuMTQ7CitzaG91bGRUaHJvdygic2Vs
ZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5s
ZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7Citk
ZWJ1ZygiIik7CisKK2RlYnVnKCIxLjcgQWRkIHVuZGVmaW5lZCIpOworb3B0aW9uMSA9IHVuZGVm
aW5lZDsKK3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91
bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5z
ZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuOCBBZGQgbnVsbCIp
Oworb3B0aW9uMSA9IG51bGw7CitzaG91bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChvcHRp
b24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxk
QmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIx
LjkgQWRkIG5lZ2F0aXZlIGluZmluaXR5Iik7CitvcHRpb24xID0gLTEvMDsKK3Nob3VsZFRocm93
KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAi
KTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTAgQWRkIE5hTiIpOworb3B0aW9uMSA9IDAvMDsK
K3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CitzaG91bGRCZSgi
c2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTEgQWRkIHBvc2l0aXZlIGlu
ZmluaXR5Iik7CitvcHRpb24xID0gMS8wOworc2hvdWxkVGhyb3coInNlbGVjdDEub3B0aW9ucy5h
ZGQob3B0aW9uMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsK
K3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiMCIpOworZGVidWcoIiIpOworCitk
ZWJ1ZygiMi4xIEFkZCBPcHRpb24gdG8gZW1wdHkgT3B0aW9ucyIpOwordmFyIHNlbGVjdDIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MiIpOwordmFyIG9wdGlvbjIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3NlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwg
MCk7CitvcHRpb24yLnZhbHVlID0gIjEiOworb3B0aW9uMi50ZXh0Q29udGVudCA9ICJBIjsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
LnNlbGVjdGVkSW5kZXgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1
ZSIsICInMSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAi
J0EnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjIgQWRkIE9wdGlvbiBhZnRlciBzZXR0aW5n
IHBhcmFtZXRlcnMiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04i
KTsKK29wdGlvbjIudmFsdWUgPSAiMiI7CitvcHRpb24yLnRleHRDb250ZW50ID0gIkIiOworc2Vs
ZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMu
bGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMCIpOwor
c2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zWzFdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sx
XS50ZXh0Q29udGVudCIsICInQiciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMyBJbnNlcnQg
T3B0aW9uIGF0IGJlZ2lubmluZyBvZiBPcHRpb25zIik7CitvcHRpb24yID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDApOwor
b3B0aW9uMi52YWx1ZSA9ICIwIjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiWiI7CitzaG91bGRC
ZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxl
Y3RlZEluZGV4IiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAi
JzAnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IiwgIidaJyIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSIsICInMSciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzJdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1syXS50ZXh0Q29udGVudCIsICInQiciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuNCBJbnNl
cnQgT3B0aW9uIGluIG1pZGRsZSBvZiBPcHRpb25zIik7CitvcHRpb24yID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDIpOwor
b3B0aW9uMi52YWx1ZSA9ICIxLjUiOworb3B0aW9uMi50ZXh0Q29udGVudCA9ICJBLjUiOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdDIu
c2VsZWN0ZWRJbmRleCIsICIxIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVl
IiwgIicwJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCIsICIn
WiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUiLCAiJzEnIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSIsICInMS41JyIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9uc1syXS50ZXh0Q29udGVudCIsICInQS41JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9uc1szXS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udGV4
dENvbnRlbnQiLCAiJ0InIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjUgSW5zZXJ0IE9wdGlv
biBhdCBlbmQgb2YgT3B0aW9ucyIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Ik9QVElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCA0KTsKK29wdGlvbjIudmFs
dWUgPSAiMyI7CitvcHRpb24yLnRleHRDb250ZW50ID0gIkMiOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9ucy5sZW5ndGgiLCAiNSIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIs
ICIxIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIicwJyIpOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCIsICInWiciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0Mi5v
cHRpb25zWzFdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1syXS52YWx1ZSIsICInMS41JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1syXS50ZXh0
Q29udGVudCIsICInQS41JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1szXS52YWx1ZSIs
ICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQiLCAiJ0In
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzRdLnZhbHVlIiwgIiczJyIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9uc1s0XS50ZXh0Q29udGVudCIsICInQyciKTsKK2RlYnVnKCIiKTsK
KworZGVidWcoIjIuNiBJbnNlcnQgT3B0aW9uIGJleW9uZCB0aGUgZW5kIG9mIE9wdGlvbnMiKTsK
K29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3NlbGVjdDIub3B0
aW9ucy5hZGQob3B0aW9uMiwgNik7CitvcHRpb24yLnZhbHVlID0gIjQiOworb3B0aW9uMi50ZXh0
Q29udGVudCA9ICJEIjsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjYiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1swXS52YWx1ZSIsICInMCciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNb
MF0udGV4dENvbnRlbnQiLCAiJ1onIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZh
bHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCIs
ICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUiLCAiJzEuNSciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQiLCAiJ0EuNSciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUiLCAiJzInIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50IiwgIidCJyIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9uc1s0XS52YWx1ZSIsICInMyciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNF0u
dGV4dENvbnRlbnQiLCAiJ0MnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzVdLnZhbHVl
IiwgIic0JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s1XS50ZXh0Q29udGVudCIsICIn
RCciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuNyBBZGQgYW4gT3B0aW9uIGF0IGluZGV4IC0x
Iik7CitvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3Qy
Lm9wdGlvbnMuYWRkKG9wdGlvbjIsIC0xKTsKK29wdGlvbjIudmFsdWUgPSAiNSI7CitvcHRpb24y
LnRleHRDb250ZW50ID0gIkUiOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAi
NyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitzaG91bGRCZSgi
c2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIicwJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9uc1swXS50ZXh0Q29udGVudCIsICInWiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNb
MV0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250
ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSIsICInMS41
JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCIsICInQS41JyIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1szXS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQiLCAiJ0InIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzRdLnZhbHVlIiwgIiczJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1s0XS50ZXh0Q29udGVudCIsICInQyciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNV0u
dmFsdWUiLCAiJzQnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzVdLnRleHRDb250ZW50
IiwgIidEJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s2XS52YWx1ZSIsICInNSciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNl0udGV4dENvbnRlbnQiLCAiJ0UnIik7CitkZWJ1
ZygiIik7CisKK2RlYnVnKCIyLjggQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtMiIpOworb3B0aW9u
MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2hvdWxkVGhyb3coInNlbGVj
dDIub3B0aW9ucy5hZGQob3B0aW9uMiwgLTIpIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsK
K2RlYnVnKCIiKTsKKworZGVidWcoIjIuOSBBZGQgYW4gT3B0aW9uIGF0IGluZGV4IC1JbmZpbml0
eSIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2hvdWxk
VGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgLTEvMCkiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVk
SW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMCBBZGQgYW4gT3B0aW9uIGF0
IGluZGV4IE5hTiIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIp
Oworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMC8wKSIpOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIu
c2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjExIEFkZCBhbiBP
cHRpb24gYXQgaW5kZXggSW5maW5pdHkiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJPUFRJT04iKTsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIs
IDEvMCkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1Zygi
Mi4xMiBBZGQgYSBub24tT3B0aW9uIGVsZW1lbnQiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJESVYiKTsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlv
bjIsIDEpIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91
bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWco
IjIuMTMgQWRkIGEgbm9uLWVsZW1lbnQgKHN0cmluZykiKTsKK29wdGlvbjIgPSAibyI7CitzaG91
bGRUaHJvdygic2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSIpOworc2hvdWxkQmUoInNl
bGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJ
bmRleCIsICIxIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjE0IEFkZCBhIG5vbi1lbGVtZW50
IChudW1iZXIpIik7CitvcHRpb24yID0gMy4xNDsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlv
bnMuYWRkKG9wdGlvbjIsIDEpIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIs
ICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIi
KTsKKworZGVidWcoIjIuMTUgQWRkIHVuZGVmaW5lZCIpOworb3B0aW9uMiA9IHVuZGVmaW5lZDsK
K3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CitzaG91bGRC
ZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxl
Y3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTYgQWRkIG51bGwiKTsK
K29wdGlvbjIgPSBudWxsOworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9u
MiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1Zygi
Mi4xNyBBZGQgbmVnYXRpdmUgaW5maW5pdHkiKTsKK29wdGlvbjIgPSAtMS8wOworc2hvdWxkVGhy
b3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgi
LCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xOCBBZGQgTmFOIik7CitvcHRpb24yID0g
MC8wOworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
LnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xOSBBZGQgcG9z
aXRpdmUgaW5maW5pdHkiKTsKK29wdGlvbjIgPSAxLzA7CitzaG91bGRUaHJvdygic2VsZWN0Mi5v
cHRpb25zLmFkZChvcHRpb24yLCAxKSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5n
dGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1
ZygiIik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBXZWJDb3JlL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUyODIpCisr
KyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDA2
LTA3LTA5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBraWx6ZXIubmV0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWd6aWxs
YS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3OQorICAgICAgICAgIEltcGxlbWVu
dCBzZWxlY3Qub3B0aW9ucy5hZGQoKSBtZXRob2QKKworICAgICAgICBUZXN0czoKKyAgICAgICAg
LSBmYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS5odG1sCisgICAgICAgIC0g
ZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXguaHRtbAorICAgICAgICAtIGZhc3QvanMvc2Vs
ZWN0LW9wdGlvbnMtYWRkLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFk
ZGVkIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmguCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRl
cnMva2pzL29wZXJhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBBZGRlZCBuZXcgc291cmNlIGZpbGVzLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6bGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmluZGV4U2V0dGVyKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9ranNfaHRtbC5jcHA6IFJlbW92ZWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24g
aW1wbGVtZW50YXRpb24uCisgICAgICAgIFJlbmFtZWQgY2xhc3NlcyBhbmQgbWV0aG9kcyBmb3Ig
Y29uc2lzdGVuY3kuCisgICAgICAgIChLSlM6OkpTSFRNTEVsZW1lbnQ6OnNlbGVjdEdldHRlcik6
CisgICAgICAgIChLSlM6OkpTSFRNTEVsZW1lbnQ6OnB1dCk6CisgICAgICAgIChLSlM6OkpTSFRN
TEVsZW1lbnQ6OnNlbGVjdFNldHRlcik6CisgICAgICAgIChLSlM6OkpTSFRNTENvbGxlY3Rpb246
OkpTSFRNTENvbGxlY3Rpb24pOgorICAgICAgICAoS0pTOjpKU0hUTUxDb2xsZWN0aW9uUHJvdG9G
dW5jOjpjYWxsQXNGdW5jdGlvbik6CisgICAgICAgIChLSlM6OmdldEhUTUxPcHRpb25zQ29sbGVj
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMva2pzX2h0bWwuaDogRGl0dG8uCisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IEFkZGVkIHN1cHBvcnQgZm9y
IEhhc0N1c3RvbUluZGV4U2V0dGVyIGNsYXNzIGF0dHJpYnV0ZS4KKyAgICAgICAgQWRkZWQgc3Vw
cG9ydCBmb3IgT3B0aW9uYWwgcGFyYW1ldGVyIGF0dHJpYnV0ZSwgd2hpY2ggbWFrZXMgZ2VuZXJh
dGVkIGNvZGUgYXNzdW1lIG92ZXJsb2FkZWQKKyAgICAgICAgaW1wbGVtZW50YXRpb24gbWV0aG9k
cyBhcmUgYXZhaWxhYmxlIGZvciBhIEphdmFTY3JpcHQgZnVuY3Rpb24gd2l0aCBvcHRpb25hbCBh
cmd1bWVudHMuICBDaGFuZ2VkCisgICAgICAgIGxvY2FsICdpbXBsJyB2YXJpYWJsZXMgdG8gJ2lt
cCcgc28gdGhhdCBpbXBsKCkgbWV0aG9kcyBjb3VsZCBiZSBjYWxsZWQgd2l0aG91dCBjbGFzcyBk
ZXNpZ25hdGlvbi4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbDogQWRkZWQg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIgYXR0cmlidXRlLgorICAgICAgICAqIGh0bWwvSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmNwcDogQWRkZWQgbWV0aG9kcyB1c2VkIGJ5IGdlbmVyYXRlZCBKU0hU
TUxPcHRpb25zQ29sbGVjdGlvbiBjbGFzcy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25z
Q29sbGVjdGlvbjo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25z
Q29sbGVjdGlvbjo6c2VsZWN0ZWRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OnNldFNlbGVjdGVkSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9w
dGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgpOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbnND
b2xsZWN0aW9uLmg6IERpdHRvLgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmlkbDogQWRkZWQuCisKIDIwMDYtMDctMDkgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkocmV2aXNpb24gMTUyODIpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtp
bmcgY29weSkKQEAgLTk4LDYgKzk4LDcgQEAgYWxsIDogXAogICAgIEpTSFRNTExpbmtFbGVtZW50
LmggXAogICAgIEpTSFRNTE1lbnVFbGVtZW50LmggXAogICAgIEpTSFRNTE9wdGlvbkVsZW1lbnQu
aCBcCisgICAgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBcCiAgICAgSlNIVE1MT3B0R3JvdXBF
bGVtZW50LmggXAogICAgIEpTSFRNTFF1b3RlRWxlbWVudC5oIFwKICAgICBKU0hUTUxNYXBFbGVt
ZW50LmggXApJbmRleDogV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9ranMvb3BlcmF0aW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMva2pzL29wZXJhdGlvbnMu
aAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMva2pzL29wZXJhdGlv
bnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L29wZXJhdGlvbnMuaD4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAxNTI4MikKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiArMTY0LDkgQEAKIAkJMUNENDQx
OEUwQTRDRTc2RjAwQTAwN0FCIC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci50aWZm
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Q0NDE4
QTBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yLnRpZmYg
Ki87IH07CiAJCTFDRDQ0MThGMEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aFNvdXRoUmVzaXplQ3Vy
c29yLnRpZmYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDRDQ0MThCMEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aFNvdXRoUmVzaXplQ3Vyc29yLnRpZmYg
Ki87IH07CiAJCTFDRDQ0MTkwMEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemVDdXJzb3IudGlmZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUNENDQxOEMwQTRDRTc2RjAwQTAwN0FCIC8qIG5vcnRoV2VzdFNvdXRoRWFzdFJl
c2l6ZUN1cnNvci50aWZmICovOyB9OworCQk0NDhBMjlCRjBBNDZEOUNCMDAzMDc1OUYgLyogSlNI
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OEEyOUJEMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5oICovOyB9OworCQk0NDhBMjlDMDBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0
aW9uc0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQ4QTI5QkUwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmNwcCAqLzsgfTsKKwkJNDQ4QUQyN0MwQTQ4MTM3QTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlv
bnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OEFEMjdBMEE0ODEzNzkwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTRFMTk1OTIxMEEzOURBQkEwMDIyMEZFNSAvKiBN
ZWRpYUZlYXR1cmVOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0RTE5NTkxRjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMu
Y3BwICovOyB9OwogCQk0RTE5NTkyMjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFt
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1
OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovOyB9OwogCQk0RTE5
NTkyOTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyog
TWVkaWFRdWVyeS5jcHAgKi87IH07CkBAIC0xNzk0LDYgKzE3OTcsOSBAQAogCQkxQ0Q0NDE4QzBB
NENFNzZGMDBBMDA3QUIgLyogbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yLnRpZmYgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS50aWZm
OyBwYXRoID0gbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yLnRpZmY7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5MzcwMDZCNkYxQSAvKiBDbGlwYm9hcmRN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwogCQkyRDkwNjYwQzA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJNDQ4QTI5QkQwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NDhBMjlCRTBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ4QUQyN0EwQTQ4MTM3OTAw
MjNEMTc5IC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDc1OEM0NDMwOEM1RjIxNzAwOUJBRjA1
IC8qIEtDYW52YXNQYXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gS0NhbnZhc1BhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJNEUxOTU5MUYwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYUZlYXR1cmVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3MTMsNiArMzcxOSw4IEBACiAJCQkJQTgwRTdF
OTEwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5oICovLAogCQkJCUE4
MEU3RTkwMEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRpb25FbGVtZW50LmNwcCAqLywKIAkJ
CQlBODBFN0U4RjBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5oICovLAor
CQkJCTQ0OEEyOUJFMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHAgKi8sCisJCQkJNDQ4QTI5QkQwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmggKi8sCiAJCQkJMUFFMkFCOUUwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFn
cmFwaEVsZW1lbnQuY3BwICovLAogCQkJCTFBRTJBQjlGMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hU
TUxQYXJhZ3JhcGhFbGVtZW50LmggKi8sCiAJCQkJMUFFMkFCQTAwQTFDRTkwNTAwQjQyQjI1IC8q
IEpTSFRNTFBhcmFtRWxlbWVudC5jcHAgKi8sCkBAIC00OTUwLDYgKzQ5NTgsNyBAQAogCQkJCUE4
MEU3RTYzMEExQTgyRUMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnRCYXNlLmggKi8sCiAJ
CQkJQTgyNkU4QUQwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1
Y3Rvci5jcHAgKi8sCiAJCQkJQTgyNkU4QUMwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlv
bkVsZW1lbnRDb25zdHJ1Y3Rvci5oICovLAorCQkJCTQ0OEFEMjdBMEE0ODEzNzkwMDIzRDE3OSAv
KiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8sCiAJCQkJOTNCNzBENDEwOUVC
MEM3QzAwOUQ4NDY4IC8qIEpTWE1MSHR0cFJlcXVlc3QuY3BwICovLAogCQkJCTkzQjcwRDQyMDlF
QjBDN0MwMDlEODQ2OCAvKiBKU1hNTEh0dHBSZXF1ZXN0LmggKi8sCiAJCQkJOTNCNzBENDMwOUVC
MEM3QzAwOUQ4NDY4IC8qIEpTWE1MU2VyaWFsaXplci5jcHAgKi8sCkBAIC02MzU3LDYgKzYzNjYs
NyBAQAogCQkJCUFCRTdCNTI0MEE0ODlGODMwMDMxODgxQyAvKiBEZXByZWNhdGVkUmVuZGVyU2Vs
ZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlEQjIzQzJDQzBBNTA4RDI5MDAyNDg5RUIgLyogSW5k
ZW50T3V0ZGVudENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQ0Q3NERDMEE0QzhEMzUw
MDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
NDhBMjlCRjBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBODA4NkNDMEE0RDA5NzYwMERGQjZBNyAvKiBET01DU1NJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRDEzODAwQTUzMjU1MjAwNjRCRjVGIC8qIERPTVhQ
YXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTFEMTNDQTBBNTMyOTA5MDA2NEJGNUYgLyogRE9N
WFBhdGhJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC03MjIwLDYgKzcyMzAsOCBAQAogCQkJ
CTUxRjExRTE1MEE0OEMyOTIwMDM0QTI0RSAvKiBTUUxUcmFuc2FjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlEQjIzQzJDQjBBNTA4RDI5MDAyNDg5RUIgLyogSW5kZW50T3V0ZGVudENvbW1h
bmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDRDc0RTUwQTRDOERERjAwNUZEQTZEIC8qIEhU
TUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ4QTI5QzAwQTQ2
RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQ0OEFEMjdDMEE0ODEzN0EwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTA1MkMzMjBBNEQ3MDAxMDA3MkQ5OUIg
LyogRE9NRXZlbnRzTm9uc3RhbmRhcmQubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYxNDlFRDBB
NTI1RTNBMDAzREZDN0EgLyogU2l0ZUljb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExRDEz
ODEwQTUzMjU1MjAwNjRCRjVGIC8qIERPTVhQYXRoLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3Vz
dG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb25DdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAor
ICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCisKKyNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTE9wdGlv
bkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKKyNpbmNsdWRl
ICJIVE1MU2VsZWN0RWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnQuaCIK
KworI2luY2x1ZGUgPGtqcy9vcGVyYXRpb25zLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBLSlM7CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1ZSogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246
Omxlbmd0aChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uKiBpbXAgPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uc0NvbGxlY3Rpb24qPihpbXBsKCkpOwor
ICAgIHJldHVybiBqc051bWJlcihpbXAtPmxlbmd0aCgpKTsKK30KKwordm9pZCBKU0hUTUxPcHRp
b25zQ29sbGVjdGlvbjo6c2V0TGVuZ3RoKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSogdmFsdWUp
Cit7CisgICAgSFRNTE9wdGlvbnNDb2xsZWN0aW9uKiBpbXAgPSBzdGF0aWNfY2FzdDxIVE1MT3B0
aW9uc0NvbGxlY3Rpb24qPihpbXBsKCkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAg
IHVuc2lnbmVkIG5ld0xlbmd0aCA9IDA7CisgICAgZG91YmxlIGxlbmd0aFZhbHVlOworICAgIGlm
ICghdmFsdWUtPmlzVW5kZWZpbmVkT3JOdWxsKCkgJiYgdmFsdWUtPmdldE51bWJlcihsZW5ndGhW
YWx1ZSkpIHsKKyAgICAgICAgaWYgKGlzTmFOKGxlbmd0aFZhbHVlKSB8fCBpc0luZihsZW5ndGhW
YWx1ZSkpCisgICAgICAgICAgICBuZXdMZW5ndGggPSAwOworICAgICAgICBlbHNlIGlmIChsZW5n
dGhWYWx1ZSA8IDAuMCkKKyAgICAgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAg
IGVsc2UgaWYgKGxlbmd0aFZhbHVlID4gc3RhdGljX2Nhc3Q8ZG91YmxlPihVSU5UX01BWCkpCisg
ICAgICAgICAgICBuZXdMZW5ndGggPSBVSU5UX01BWDsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgbmV3TGVuZ3RoID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxlbmd0aFZhbHVlKTsKKyAgICB9
CisgICAgaWYgKCFlYykKKyAgICAgICAgaW1wLT5zZXRMZW5ndGgobmV3TGVuZ3RoLCBlYyk7Cisg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKK30KKwordm9pZCBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbjo6aW5kZXhTZXR0ZXIoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEtKUzo6SWRl
bnRpZmllciAmcHJvcGVydHlOYW1lLCBLSlM6OkpTVmFsdWUqIHZhbHVlLCBpbnQgYXR0cikKK3sK
KyAgICBib29sIG9rOworICAgIHVuc2lnbmVkIGluZGV4ID0gcHJvcGVydHlOYW1lLnRvVUludDMy
KCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgcmV0dXJuOworCisgICAgSFRNTE9wdGlvbnND
b2xsZWN0aW9uKiBpbXAgPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uc0NvbGxlY3Rpb24qPihpbXBs
KCkpOworICAgIEhUTUxTZWxlY3RFbGVtZW50KiBiYXNlID0gc3RhdGljX2Nhc3Q8SFRNTFNlbGVj
dEVsZW1lbnQqPihpbXAtPmJhc2UoKSk7CisgICAgaWYgKHZhbHVlLT5pc1VuZGVmaW5lZE9yTnVs
bCgpKQorICAgICAgICBiYXNlLT5yZW1vdmUoaW5kZXgpOworICAgIGVsc2UgeworICAgICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9
IHRvSFRNTE9wdGlvbkVsZW1lbnQodmFsdWUpOworICAgICAgICBpZiAoIW9wdGlvbikKKyAgICAg
ICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGJhc2UtPnNldE9wdGlvbihpbmRleCwgb3B0aW9uLCBlYyk7CisgICAgICAgIHNldERPTUV4Y2Vw
dGlvbihleGVjLCBlYyk7CisgICAgfQorfQorCit9CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pz
L2tqc19odG1sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1s
LmNwcAkocmV2aXNpb24gMTUyODIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgIkhUTUxUYWJsZVJv
d0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oIgogI2luY2x1
ZGUgIkpTSFRNTEltYWdlRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiTmFtZU5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC04MzQsNyArODM1LDcgQEAgSlNWYWx1ZSAqSlNIVE1M
RWxlbWVudDo6c2VsZWN0R2V0dGVyKEV4ZQogICAgICAgICBjYXNlIFNlbGVjdFZhbHVlOiAgICAg
ICAgICAgcmV0dXJuIGpzU3RyaW5nKHNlbGVjdC52YWx1ZSgpKTsKICAgICAgICAgY2FzZSBTZWxl
Y3RMZW5ndGg6ICAgICAgICAgIHJldHVybiBqc051bWJlcihzZWxlY3QubGVuZ3RoKCkpOwogICAg
ICAgICBjYXNlIFNlbGVjdEZvcm06ICAgICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgc2VsZWN0
LmZvcm0oKSk7IC8vIHR5cGUgSFRNTEZvcm1FbGVtZW50Ci0gICAgICAgIGNhc2UgU2VsZWN0T3B0
aW9uczogICAgICAgICByZXR1cm4gZ2V0U2VsZWN0SFRNTENvbGxlY3Rpb24oZXhlYywgc2VsZWN0
Lm9wdGlvbnMoKS5nZXQoKSwgJnNlbGVjdCk7IC8vIHR5cGUgSlNIVE1MQ29sbGVjdGlvbgorICAg
ICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6ICAgICAgICAgcmV0dXJuIGdldEhUTUxPcHRpb25zQ29s
bGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygpLmdldCgpKTsKICAgICAgICAgY2FzZSBTZWxl
Y3REaXNhYmxlZDogICAgICAgIHJldHVybiBqc0Jvb2xlYW4oc2VsZWN0LmRpc2FibGVkKCkpOwog
ICAgICAgICBjYXNlIFNlbGVjdE11bHRpcGxlOiAgICAgICAgcmV0dXJuIGpzQm9vbGVhbihzZWxl
Y3QubXVsdGlwbGUoKSk7CiAgICAgICAgIGNhc2UgU2VsZWN0TmFtZTogICAgICAgICAgICByZXR1
cm4ganNTdHJpbmcoc2VsZWN0Lm5hbWUoKSk7CkBAIC0xMjc4LDcgKzEyNzksNyBAQCB2b2lkIEpT
SFRNTEVsZW1lbnQ6OnB1dChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGJvb2wgb2s7CiAgICAg
ICAgIC8qdW5zaWduZWQgdSA9Ki8gcHJvcGVydHlOYW1lLnRvVUludDMyKCZvayk7CiAgICAgICAg
IGlmIChvaykgewotICAgICAgICAgICAgSlNPYmplY3QqIGNvbGwgPSBzdGF0aWNfY2FzdDxKU09i
amVjdCo+KGdldFNlbGVjdEhUTUxDb2xsZWN0aW9uKGV4ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0
KCksICZzZWxlY3QpKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBjb2xsID0gc3RhdGljX2Nhc3Q8
SlNPYmplY3QqPihnZXRIVE1MT3B0aW9uc0NvbGxlY3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlvbnMo
KS5nZXQoKSkpOwogICAgICAgICAgICAgY29sbC0+cHV0KGV4ZWMscHJvcGVydHlOYW1lLHZhbHVl
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTMxNCw3ICsxMzE1LDcgQEAg
dm9pZCBKU0hUTUxFbGVtZW50OjpzZWxlY3RTZXR0ZXIoRXhlY1N0YQogICAgICAgICBjYXNlIFNl
bGVjdFNlbGVjdGVkSW5kZXg6ICAgeyBzZWxlY3Quc2V0U2VsZWN0ZWRJbmRleCh2YWx1ZS0+dG9J
bnQzMihleGVjKSk7IHJldHVybjsgfQogICAgICAgICBjYXNlIFNlbGVjdFZhbHVlOiAgICAgICAg
ICAgeyBzZWxlY3Quc2V0VmFsdWUoc3RyKTsgcmV0dXJuOyB9CiAgICAgICAgIGNhc2UgU2VsZWN0
TGVuZ3RoOiAgICAgICAgICB7IC8vIHJlYWQtb25seSBhY2NvcmRpbmcgdG8gdGhlIE5TIHNwZWMs
IGJ1dCB3ZWJwYWdlcyBuZWVkIGl0IHdyaXRlYWJsZQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBjb2xsID0gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihn
ZXRTZWxlY3RIVE1MQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygpLmdldCgpLCAmc2Vs
ZWN0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPYmplY3Qq
IGNvbGwgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KGdldEhUTUxPcHRpb25zQ29sbGVjdGlvbihl
eGVjLCBzZWxlY3Qub3B0aW9ucygpLmdldCgpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29sbC0+cHV0KGV4ZWMsbGVuZ3RoUHJvcGVydHlOYW1lLHZhbHVlKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CkBAIC0xNTczLDIzICsxNTc0LDIyIEBAIEhU
TUxUYWJsZVNlY3Rpb25FbGVtZW50KiB0b0hUTUxUYWJsZVNlY3QKIH0KIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotLyogU291cmNlIGZvciBIVE1MQ29sbGVjdGlvblByb3RvVGFibGUuIFVzZSAibWFr
ZSBoYXNodGFibGVzIiB0byByZWdlbmVyYXRlLgotQGJlZ2luIEhUTUxDb2xsZWN0aW9uUHJvdG9U
YWJsZSAzCisvKiBTb3VyY2UgZm9yIEpTSFRNTENvbGxlY3Rpb25Qcm90b1RhYmxlLiBVc2UgIm1h
a2UgaGFzaHRhYmxlcyIgdG8gcmVnZW5lcmF0ZS4KK0BiZWdpbiBKU0hUTUxDb2xsZWN0aW9uUHJv
dG9UYWJsZSAzCiAgIGl0ZW0gICAgICAgICAgSlNIVE1MQ29sbGVjdGlvbjo6SXRlbSAgICAgICAg
ICAgIERvbnREZWxldGV8RnVuY3Rpb24gMQogICBuYW1lZEl0ZW0gICAgIEpTSFRNTENvbGxlY3Rp
b246Ok5hbWVkSXRlbSAgICAgICBEb250RGVsZXRlfEZ1bmN0aW9uIDEKICAgdGFncyAgICAgICAg
ICBKU0hUTUxDb2xsZWN0aW9uOjpUYWdzICAgICAgICAgICAgRG9udERlbGV0ZXxGdW5jdGlvbiAx
CiBAZW5kCiAqLwotS0pTX0RFRklORV9QUk9UT1RZUEUoSFRNTENvbGxlY3Rpb25Qcm90bykKLUtK
U19JTVBMRU1FTlRfUFJPVE9GVU5DKEhUTUxDb2xsZWN0aW9uUHJvdG9GdW5jKQotS0pTX0lNUExF
TUVOVF9QUk9UT1RZUEUoIkhUTUxDb2xsZWN0aW9uIixIVE1MQ29sbGVjdGlvblByb3RvLEhUTUxD
b2xsZWN0aW9uUHJvdG9GdW5jKQorS0pTX0lNUExFTUVOVF9QUk9UT0ZVTkMoSlNIVE1MQ29sbGVj
dGlvblByb3RvRnVuYykKK0tKU19JTVBMRU1FTlRfUFJPVE9UWVBFKCJIVE1MQ29sbGVjdGlvbiIs
SlNIVE1MQ29sbGVjdGlvblByb3RvLEpTSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmMpCiAKIGNvbnN0
IENsYXNzSW5mbyBKU0hUTUxDb2xsZWN0aW9uOjppbmZvID0geyAiQ29sbGVjdGlvbiIsIDAsIDAs
IDAgfTsKIAotSlNIVE1MQ29sbGVjdGlvbjo6SlNIVE1MQ29sbGVjdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEhUTUxDb2xsZWN0aW9uICpjKQorSlNIVE1MQ29sbGVjdGlvbjo6SlNIVE1MQ29sbGVjdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEhUTUxDb2xsZWN0aW9uKiBjKQogICA6IG1faW1wbChjKSAKIHsK
LSAgc2V0UHJvdG90eXBlKEhUTUxDb2xsZWN0aW9uUHJvdG86OnNlbGYoZXhlYykpOworICBzZXRQ
cm90b3R5cGUoSlNIVE1MQ29sbGVjdGlvblByb3RvOjpzZWxmKGV4ZWMpKTsKIH0KIAogSlNIVE1M
Q29sbGVjdGlvbjo6fkpTSFRNTENvbGxlY3Rpb24oKQpAQCAtMTY5NSw3ICsxNjk1LDcgQEAgSlNW
YWx1ZSAqSlNIVE1MQ29sbGVjdGlvbjo6Z2V0TmFtZWRJdGVtcwogICAgIHJldHVybiBuZXcgRE9N
TmFtZWROb2Rlc0NvbGxlY3Rpb24oZXhlYywgbmFtZWRJdGVtcyk7CiB9CiAKLUpTVmFsdWUgKkhU
TUxDb2xsZWN0aW9uUHJvdG9GdW5jOjpjYWxsQXNGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiB0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKQorSlNWYWx1ZSogSlNIVE1MQ29sbGVj
dGlvblByb3RvRnVuYzo6Y2FsbEFzRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
dGhpc09iaiwgY29uc3QgTGlzdCAmYXJncykKIHsKICAgaWYgKCF0aGlzT2JqLT5pbmhlcml0cygm
SlNIVE1MQ29sbGVjdGlvbjo6aW5mbykpCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgVHlw
ZUVycm9yKTsKQEAgLTE3MTMsNzUgKzE3MTMsNiBAQCBKU1ZhbHVlICpIVE1MQ29sbGVjdGlvblBy
b3RvRnVuYzo6Y2FsbEFzCiAgIH0KIH0KIAotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1KU0hUTUxT
ZWxlY3RDb2xsZWN0aW9uOjpKU0hUTUxTZWxlY3RDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywg
SFRNTENvbGxlY3Rpb24gKmMsIEhUTUxTZWxlY3RFbGVtZW50KiBlKQotICA6IEpTSFRNTENvbGxl
Y3Rpb24oZXhlYywgYyksIG1fZWxlbWVudChlKQotewotfQotCi1KU1ZhbHVlICpKU0hUTUxTZWxl
Y3RDb2xsZWN0aW9uOjpzZWxlY3RlZEluZGV4R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmpl
Y3QqIG9yaWdpbmFsT2JqZWN0LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIGNvbnN0
IFByb3BlcnR5U2xvdCYgc2xvdCkKLXsKLSAgICBKU0hUTUxTZWxlY3RDb2xsZWN0aW9uICp0aGlz
T2JqID0gc3RhdGljX2Nhc3Q8SlNIVE1MU2VsZWN0Q29sbGVjdGlvbio+KHNsb3Quc2xvdEJhc2Uo
KSk7Ci0gICAgcmV0dXJuIGpzTnVtYmVyKHRoaXNPYmotPm1fZWxlbWVudC0+c2VsZWN0ZWRJbmRl
eCgpKTsKLX0KLQotYm9vbCBKU0hUTUxTZWxlY3RDb2xsZWN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNs
b3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYgc2xvdCkKLXsKLSAgaWYgKHByb3BlcnR5TmFtZSA9PSAic2VsZWN0ZWRJbmRleCIp
IHsKLSAgICBzbG90LnNldEN1c3RvbSh0aGlzLCBzZWxlY3RlZEluZGV4R2V0dGVyKTsKLSAgICAv
L3Jlc3VsdCA9IGpzTnVtYmVyKG1fZWxlbWVudC0+c2VsZWN0ZWRJbmRleCgpKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLSAgfQotCi0gIHJldHVybiBKU0hUTUxDb2xsZWN0aW9uOjpnZXRPd25Qcm9wZXJ0
eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKLX0KLQotdm9pZCBKU0hUTUxTZWxlY3RD
b2xsZWN0aW9uOjpwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyICZwcm9wZXJ0
eU5hbWUsIEpTVmFsdWUgKnZhbHVlLCBpbnQpCi17Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2RE
ZWJ1Zyg2MDcwKSA8PCAiSlNIVE1MU2VsZWN0Q29sbGVjdGlvbjo6cHV0ICIgPDwgcHJvcGVydHlO
YW1lLmRlcHJlY2F0ZWRTdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCi0gIGlmICggcHJvcGVydHlO
YW1lID09ICJzZWxlY3RlZEluZGV4IiApCi0gICAgbV9lbGVtZW50LT5zZXRTZWxlY3RlZEluZGV4
KHZhbHVlLT50b0ludDMyKGV4ZWMpKTsKLSAgZWxzZSBpZiAocHJvcGVydHlOYW1lID09IGxlbmd0
aFByb3BlcnR5TmFtZSkgewotICAgIC8vIHJlc2l6ZSA/Ci0gICAgaWYgKHZhbHVlLT5pc051bWJl
cigpKSB7Ci0gICAgICBkb3VibGUgbmV3TGVuOwotICAgICAgaWYgKHZhbHVlLT5nZXROdW1iZXIo
bmV3TGVuKSkgewotICAgICAgICBpbnQgZXhjZXB0aW9uID0gMDsKLSAgICAgICAgaWYgKG5ld0xl
biA+PSAwKSB7Ci0gICAgICAgICAgbV9lbGVtZW50LT5zZXRMZW5ndGgodW5zaWduZWQoZmxvb3Io
bmV3TGVuKSksIGV4Y2VwdGlvbik7Ci0gICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGV4
Y2VwdGlvbik7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgaW50IGV4
Y2VwdGlvbiA9IDA7Ci0gICAgICBtX2VsZW1lbnQtPnNldExlbmd0aCgwLCBleGNlcHRpb24pOwot
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvbik7Ci0gICAgfQotICB9IGVsc2Ug
ewotICAgIC8vIGFuIGluZGV4ID8KLSAgICBib29sIG9rOwotICAgIHVuc2lnbmVkIGkgPSBwcm9w
ZXJ0eU5hbWUudG9VSW50MzIoJm9rKTsKLSAgICBpZiAob2spIHsKLSAgICAgIGlmICh2YWx1ZS0+
aXNVbmRlZmluZWRPck51bGwoKSkgewotICAgICAgICAvLyBudWxsIGFuZCB1bmRlZmluZWQgZGVs
ZXRlLiBvdGhlcnMsIHRvbyA/Ci0gICAgICAgIG1fZWxlbWVudC0+cmVtb3ZlKGkpOwotICAgICAg
fSBlbHNlIHsKLSAgICAgICAgV2ViQ29yZTo6Tm9kZSAqb3B0aW9uID0gdG9Ob2RlKHZhbHVlKTsK
LSAgICAgICAgLy8gaXMgdiBhbiBvcHRpb24gZWxlbWVudCA/Ci0gICAgICAgIGlmICghb3B0aW9u
IHx8ICFvcHRpb24tPmhhc1RhZ05hbWUob3B0aW9uVGFnKSkKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICBpbnQgZXhjZXB0aW9uID0gMDsKLSAgICAgICAgbV9lbGVtZW50LT5zZXRPcHRp
b24oaSwgc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihvcHRpb24pLCBleGNlcHRpb24p
OwotICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKLSAgICAgIH0KLSAg
ICB9Ci0gIH0KLX0KLQogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBJbWFnZSBPYmplY3QgLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCiAKIEltYWdlQ29uc3RydWN0b3JJbXA6OkltYWdlQ29uc3RydWN0
b3JJbXAoRXhlY1N0YXRlKiBleGVjLCBEb2N1bWVudCogZCkKQEAgLTE4MzIsMTcgKzE3NjMsMTcg
QEAgSlNWYWx1ZSogZ2V0SFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBj
YWNoZURPTU9iamVjdDxIVE1MQ29sbGVjdGlvbiwgSlNIVE1MQ29sbGVjdGlvbj4oZXhlYywgYyk7
CiB9CiAKLUpTVmFsdWUgKmdldFNlbGVjdEhUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywg
SFRNTENvbGxlY3Rpb24gKmMsIEhUTUxTZWxlY3RFbGVtZW50KiBlKQorSlNWYWx1ZSogZ2V0SFRN
TE9wdGlvbnNDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSFRNTE9wdGlvbnNDb2xsZWN0aW9u
KiBjKQogewotICBET01PYmplY3QgKnJldDsKKyAgRE9NT2JqZWN0KiByZXQ7CiAgIGlmICghYykK
ICAgICByZXR1cm4ganNOdWxsKCk7CiAgIFNjcmlwdEludGVycHJldGVyKiBpbnRlcnAgPSBzdGF0
aWNfY2FzdDxTY3JpcHRJbnRlcnByZXRlcio+KGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpKTsK
ICAgaWYgKChyZXQgPSBpbnRlcnAtPmdldERPTU9iamVjdChjKSkpCiAgICAgcmV0dXJuIHJldDsK
ICAgZWxzZSB7Ci0gICAgcmV0ID0gbmV3IEpTSFRNTFNlbGVjdENvbGxlY3Rpb24oZXhlYywgYywg
ZSk7Ci0gICAgaW50ZXJwLT5wdXRET01PYmplY3QoYyxyZXQpOworICAgIHJldCA9IG5ldyBKU0hU
TUxPcHRpb25zQ29sbGVjdGlvbihleGVjLCBjKTsKKyAgICBpbnRlcnAtPnB1dERPTU9iamVjdChj
LCByZXQpOwogICAgIHJldHVybiByZXQ7CiAgIH0KIH0KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mv
anMva2pzX2h0bWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1s
LmgJKHJldmlzaW9uIDE1MjgyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBIVE1MQ29sbGVjdGlvbjsKICAgICBjbGFzcyBIVE1MRG9jdW1lbnQ7CiAgICAgY2xhc3Mg
SFRNTEVsZW1lbnQ7CisgICAgY2xhc3MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOwogICAgIGNsYXNz
IEhUTUxTZWxlY3RFbGVtZW50OwogICAgIGNsYXNzIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50Owog
ICAgIGNsYXNzIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OwpAQCAtMTY5LDYgKzE3MCw4IEBAIG5h
bWVzcGFjZSBLSlMgewogICBXZWJDb3JlOjpIVE1MVGFibGVDYXB0aW9uRWxlbWVudCogdG9IVE1M
VGFibGVDYXB0aW9uRWxlbWVudChKU1ZhbHVlKik7IC8vIHJldHVybnMgMCBpZiBwYXNzZWQtaW4g
dmFsdWUgaXMgbm90IGEgSlNIVE1MRWxlbWVudCBvYmplY3QgZm9yIGEgSFRNTFRhYmxlQ2FwdGlv
bkVsZW1lbnQKICAgV2ViQ29yZTo6SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQqIHRvSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQoSlNWYWx1ZSopOyAvLyByZXR1cm5zIDAgaWYgcGFzc2VkLWluIHZhbHVl
IGlzIG5vdCBhIEpTSFRNTEVsZW1lbnQgb2JqZWN0IGZvciBhIEhUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50CiAKKyAgS0pTX0RFRklORV9QUk9UT1RZUEUoSlNIVE1MQ29sbGVjdGlvblByb3RvKQorCiAg
IGNsYXNzIEpTSFRNTENvbGxlY3Rpb24gOiBwdWJsaWMgRE9NT2JqZWN0IHsKICAgcHVibGljOgog
ICAgIEpTSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24q
KTsKQEAgLTE5MCwxNyArMTkzLDYgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgc3RhdGljIEpTVmFs
dWUqIG5hbWVHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiwg
Y29uc3QgUHJvcGVydHlTbG90Jik7CiAgIH07CiAKLSAgY2xhc3MgSlNIVE1MU2VsZWN0Q29sbGVj
dGlvbiA6IHB1YmxpYyBKU0hUTUxDb2xsZWN0aW9uIHsKLSAgcHVibGljOgotICAgIEpTSFRNTFNl
bGVjdENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24qLCBXZWJD
b3JlOjpIVE1MU2VsZWN0RWxlbWVudCopOwotICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwotICAg
IHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlKiwgaW50IGF0dHIgPSBOb25lKTsKLSAgcHJpdmF0ZToKLSAgICBzdGF0aWMg
SlNWYWx1ZSogc2VsZWN0ZWRJbmRleEdldHRlcihFeGVjU3RhdGUqLCBKU09iamVjdCosIGNvbnN0
IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmKTsKLQotICAgIFJlZlB0cjxXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudD4gbV9lbGVtZW50OwotICB9OwotCiAgIGNsYXNzIEhUTUxBbGxD
b2xsZWN0aW9uIDogcHVibGljIEpTSFRNTENvbGxlY3Rpb24gewogICBwdWJsaWM6CiAgICAgSFRN
TEFsbENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiog
YykgOgpAQCAtMjIxLDcgKzIxMyw3IEBAIG5hbWVzcGFjZSBLSlMgewogICB9OwogCiAgIEpTVmFs
dWUqIGdldEhUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSosIFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9u
Kik7Ci0gIEpTVmFsdWUqIGdldFNlbGVjdEhUTUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSosIFdlYkNv
cmU6OkhUTUxDb2xsZWN0aW9uKiwgV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQqKTsKKyAgSlNW
YWx1ZSogZ2V0SFRNTE9wdGlvbnNDb2xsZWN0aW9uKEV4ZWNTdGF0ZSosIFdlYkNvcmU6OkhUTUxP
cHRpb25zQ29sbGVjdGlvbiopOwogICBKU1ZhbHVlKiBnZXRBbGxIVE1MQ29sbGVjdGlvbihFeGVj
U3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiopOwogCiB9IC8vIG5hbWVzcGFjZQpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lv
biAxNTI4MikKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0J
KHdvcmtpbmcgY29weSkKQEAgLTM0OCw3ICszNDgsMTIgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gIAorCisgICAgIyBJbmRleCBzZXR0ZXIK
KyAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhT
ZXR0ZXIifSkgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZvaWQgaW5kZXhT
ZXR0ZXIoS0pTOjpFeGVjU3RhdGUqLCBjb25zdCBLSlM6OklkZW50aWZpZXIgJnByb3BlcnR5TmFt
ZSwgS0pTOjpKU1ZhbHVlKiwgaW50IGF0dHIpO1xuIik7CisgICAgfQorCiAgICAgaWYgKCEkaGFz
UGFyZW50KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgJGltcGxDbGFzc05h
bWUqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0KCk7IH1cbiIpOwogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAicHJpdmF0ZTpcbiIpOwpAQCAtNjkxLDcgKzY5Niw3IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIp
OwogICAKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkpTVmFsdWUqICR7Y2xhc3NOYW1lfTo6Z2V0
VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3RcbntcbiIpOwot
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsID0gc3RhdGlj
X2Nhc3Q8JGltcGxDbGFzc05hbWUqPigke2NsYXNzTmFtZX06OmltcGwoKSk7XG5cbiIpOworICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXAgPSBzdGF0aWNfY2Fz
dDwkaW1wbENsYXNzTmFtZSo+KGltcGwoKSk7XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgIHN3aXRjaCAodG9rZW4pIHtcbiIpOwogCiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRl
IChAeyRkYXRhTm9kZS0+YXR0cmlidXRlc30pIHsKQEAgLTcwOCwxMSArNzEzLDExIEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm4gSlMiIC4gJGNvbnN0cnVjdG9yVHlwZSAuICI6OmdldENvbnN0cnVjdG9yKGV4ZWMp
O1xuIik7CiAgICAgICB9IGVsc2lmICghQHskYXR0cmlidXRlLT5nZXR0ZXJFeGNlcHRpb25zfSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXNlICIgLiB1Y2ZpcnN0KCRuYW1l
KSAuICJBdHRyTnVtOlxuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm4gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJpbXBsLT4k
bmFtZSgpIikgLiAiO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm4gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJpbXAtPiRu
YW1lKCkiKSAuICI7XG4iKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGNhc2UgIiAuIHVjZmlyc3QoJG5hbWUpIC4gIkF0dHJOdW06IHtcbiIpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4i
KTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIEtKUzo6SlNWYWx1ZSogcmVz
dWx0ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJpbXBsLT4k
bmFtZShlYykiKSAuICI7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
IEtKUzo6SlNWYWx1ZSogcmVzdWx0ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5z
aWduYXR1cmUsICJpbXAtPiRuYW1lKGVjKSIpIC4gIjtcbiIpOwogICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiIpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsKQEAgLTcyOCwxMiArNzMzLDIwIEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgfQogICAgIGlmICgkaGFzUmVhZFdyaXRlUHJv
cGVydGllcykgewogICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7Y2xhc3NOYW1lfTo6
cHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlKiB2YWx1ZSwgaW50IGF0dHIpXG4iKTsKLSAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xu
ICAgIGxvb2t1cFB1dDwkY2xhc3NOYW1lLCAkcGFyZW50Q2xhc3NOYW1lPiIgLgotICAgICAgICAg
ICAgICAgICAgICAgICAgICIoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwgJiR7Y2xh
c3NOYW1lfVRhYmxlLCB0aGlzKTtcbn1cblxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
CisgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5k
ZXhTZXR0ZXIifSkgeworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIgLgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoIWxvb2t1cFB1dDwkY2xhc3NOYW1lPihleGVj
LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmJHtjbGFzc05hbWV9VGFibGUsIHRoaXMpKVxu
Iik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpbmRleFNldHRlcihleGVj
LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyKTtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIn1cblxuIik7CisgICAgICB9CisgICAgICBlbHNlIHsKKyAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJ7XG4gICAgbG9va3VwUHV0PCRjbGFzc05hbWUsICRwYXJlbnRDbGFzc05hbWU+
IiAuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFs
dWUsIGF0dHIsICYke2NsYXNzTmFtZX1UYWJsZSwgdGhpcyk7XG59XG5cbiIpOworICAgICAgfQor
CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9OjpwdXRWYWx1ZVBy
b3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlKiB2YWx1ZSwgaW50IC8q
YXR0ciovKVxuIik7CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwotICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBzdGF0aWNfY2FzdDwk
aW1wbENsYXNzTmFtZSo+KCR7Y2xhc3NOYW1lfTo6aW1wbCgpKTtcblxuIik7CisgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wID0gc3RhdGljX2Nhc3Q8JGlt
cGxDbGFzc05hbWUqPihpbXBsKCkpO1xuXG4iKTsKICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHN3aXRjaCAodG9rZW4pIHtcbiIpOwogCiAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUg
KEB7JGRhdGFOb2RlLT5hdHRyaWJ1dGVzfSkgewpAQCAtNzU3LDcgKzc3MCw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgY2FzZSAiIC4gdWNmaXJzdCgkbmFtZSkgLiJBdHRyTnVtOiB7
XG4iKTsKICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwO1xuIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKLSAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGltcGwtPnNldCIgLiB1Y2Zp
cnN0KCRuYW1lKSAuICIoIiAuIEpTVmFsdWVUb05hdGl2ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUs
ICJ2YWx1ZSIpKTsKKyAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGlt
cC0+c2V0IiAuIHVjZmlyc3QoJG5hbWUpIC4gIigiIC4gSlNWYWx1ZVRvTmF0aXZlKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZSwgInZhbHVlIikpOwogICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiwgZWMiKSBpZiBAeyRhdHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OwogICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIik7XG4iKTsKICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRh
dHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OwpAQCAtNzcwLDcgKzc4Myw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIAogICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVx
ICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgLy8gRklY
TUU6IEhhY2sgdG8gcHJldmVudCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyAtLSByZW1vdmUgb25j
ZSBET01XaW5kb3cgaW5jbHVkZXMgYSBzZXR0YWJsZSBwcm9wZXJ0eVxuIik7Ci0gICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgKHZvaWQpaW1wbDtcbiIpOworICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICh2b2lkKWltcDtcbiIpOwogICAgICAgfQogICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJ9XG5cbiIpOyAjIGVuZCBmdW5jdGlvbgogICAgIH0KQEAgLTc4OCwzNCAr
ODAxLDQ5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgaWYgKCF0aGlzT2JqLT5pbmhlcml0cygmJHtjbGFzc05hbWV9OjppbmZvKSlcbiIp
OwogICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywg
VHlwZUVycm9yKTtcblxuIik7CiAKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbENs
YXNzTmFtZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4oc3RhdGljX2Nhc3Q8
JGNsYXNzTmFtZSo+KHRoaXNPYmopLT5pbXBsKCkpO1xuXG4iKTsKLSAgICAKLSAgICAKKyAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wID0gc3RhdGljX2Nhc3Q8
JGltcGxDbGFzc05hbWUqPihzdGF0aWNfY2FzdDwkY2xhc3NOYW1lKj4odGhpc09iaiktPmltcGwo
KSk7XG5cbiIpOworCiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3dpdGNoIChpZCkge1xu
Iik7Ci0gICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGRhdGFOb2RlLT5mdW5jdGlvbnN9KSB7
ICAgICAgCisgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGRhdGFOb2RlLT5mdW5jdGlvbnN9
KSB7CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXNlICR7Y2xhc3NOYW1lfTo6IiAu
IHVjZmlyc3QoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUpIC4gIkZ1bmNOdW06IHtcbiIpOwot
ICAgICAgCisKICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkN1c3RvbSJ9KSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8JHtjbGFzc05hbWV9Kj4odGhpc09iaiktPiIgLiAkZnVuY3Rpb24t
PnNpZ25hdHVyZS0+bmFtZSAuICIoZXhlYywgYXJncyk7XG4gICAgfVxuIik7CiAgICAgICAgIG5l
eHQ7CiAgICAgICB9Ci0gICAgICAKKwogICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRmdW5jdGlv
bi0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgIAorCisgICAgICBpZiAoQHskZnVuY3Rpb24tPnJh
aXNlc0V4Y2VwdGlvbnN9KSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDtcbiIpOworICAgICAgfQorCiAgICAgICBteSAkcGFyYW1JbmRl
eCA9IDA7Ci0gICAgICBteSAkZnVuY3Rpb25TdHJpbmcgPSAiaW1wbC0+IiAuICRmdW5jdGlvbi0+
c2lnbmF0dXJlLT5uYW1lIC4gIigiOworICAgICAgbXkgJGZ1bmN0aW9uU3RyaW5nID0gImltcC0+
IiAuICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lIC4gIigiOwogICAgICAgbXkgJG51bVBhcmFt
ZXRlcnMgPSBAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc307Ci0gICAgICAKKyAgICAgIG15ICRoYXNP
cHRpb25hbEFyZ3VtZW50cyA9IDA7CisKICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtZXRlciAoQHsk
ZnVuY3Rpb24tPnBhcmFtZXRlcnN9KSB7CisgICAgICAgIGlmICghJGhhc09wdGlvbmFsQXJndW1l
bnRzICYmICRwYXJhbWV0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJPcHRpb25hbCJ9KSB7Cisg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAgICAgICAgaW50IGFyZ3NDb3VudCA9IGFy
Z3Muc2l6ZSgpO1xuIik7CisgICAgICAgICAgJGhhc09wdGlvbmFsQXJndW1lbnRzID0gMTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmICgkaGFzT3B0aW9uYWxBcmd1bWVudHMpIHsKKyAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgaWYgKGFyZ3NDb3VudCA8ICIgLiAoJHBhcmFt
SW5kZXggKyAxKSAuICIpIHtcbiIpOworICAgICAgICAgIEdlbmVyYXRlSW1wbGVtZW50YXRpb25G
dW5jdGlvbkNhbGwoJGZ1bmN0aW9uLCAkZnVuY3Rpb25TdHJpbmcsICRwYXJhbUluZGV4LCAiICAg
ICIgeCAzKTsKKyAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgfVxuXG4iKTsK
KyAgICAgICAgfQorCiAgICAgICAgIG15ICRuYW1lID0gJHBhcmFtZXRlci0+bmFtZTsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGJvb2wgJHtuYW1lfU9rO1xuIikgaWYgVHlw
ZUNhbkZhaWxDb252ZXJzaW9uKCRwYXJhbWV0ZXIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgIiAuIEdldE5hdGl2ZVR5cGUoJHBhcmFtZXRlcikgLiAiICRuYW1lID0gIiAu
IEpTVmFsdWVUb05hdGl2ZSgkcGFyYW1ldGVyLCAiYXJnc1skcGFyYW1JbmRleF0iLCBUeXBlQ2Fu
RmFpbENvbnZlcnNpb24oJHBhcmFtZXRlcikgPyAiJHtuYW1lfU9rIiA6IHVuZGVmKSAuICI7XG4i
KTsgICAgICAgIAotICAgIGlmIChUeXBlQ2FuRmFpbENvbnZlcnNpb24oJHBhcmFtZXRlcikpIHsK
LSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGlmICghJHtuYW1lfU9rKSB7XG4i
KTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpO1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4gICAgICAgIH1cbiIpOwot
ICAgIH0gICAgICAgICAgCi0gICAgICAgIAorICAgICAgICBpZiAoVHlwZUNhbkZhaWxDb252ZXJz
aW9uKCRwYXJhbWV0ZXIpKSB7CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
IGlmICghJHtuYW1lfU9rKSB7XG4iKTsKKyAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7XG4iKTsK
KyAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpO1xuICAgICAgICB9XG4iKTsKKyAgICAgICAgfSAgICAgICAgICAKKwogICAgICAgICAj
IElmIGEgcGFyYW1ldGVyIGlzICJhbiBpbmRleCIsIGl0IHNob3VsZCB0aHJvdyBhbiBJTkRFWF9T
SVpFX0VSUgogICAgICAgICAjIGV4Y2VwdGlvbiAgICAgICAgCiAgICAgICAgIGlmICgkcGFyYW1l
dGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNJbmRleCJ9KSB7CkBAIC04MjQsMzcgKzg1Miwy
MyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIElOREVYX1NJWkVfRVJSKTtc
biIpOwogICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7XG4gICAgICAgIH1cbiIpOyAgICAgICAgICAKICAgICAgICAgfQotICAgICAg
ICAKKwogICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFyYW1JbmRleDsKICAg
ICAgICAgJGZ1bmN0aW9uU3RyaW5nIC49ICRuYW1lOwogCiAgICAgICAgICRwYXJhbUluZGV4Kys7
CiAgICAgICB9Ci0gIAotICAgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfSkg
ewotICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFyYW1JbmRleDsKLSAgICAg
ICAgJGZ1bmN0aW9uU3RyaW5nIC49ICJlYyI7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpOwotICAgICAgfQotICAgICAgJGZ1bmN0
aW9uU3RyaW5nIC49ICIpIjsKLSAgICAgIAotICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJl
LT50eXBlIGVxICJ2b2lkIikgewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuICAgICAg
ICAkZnVuY3Rpb25TdHJpbmc7XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRmdW5jdGlvbi0+cmFpc2Vz
RXhjZXB0aW9uc307Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTtcbiIpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJcbiAgICAgICAgS0pTOjpKU1ZhbHVlKiByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1Zh
bHVlKCRmdW5jdGlvbi0+c2lnbmF0dXJlLCAkZnVuY3Rpb25TdHJpbmcpIC4gIjtcbiIpOwotICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTtcbiIpIGlmIEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfTsKLSAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiByZXN1bHQ7XG4iKTsKLSAgICAgIH0KIAotICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7CisgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIlxuIik7CisgICAgICBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsKCRmdW5j
dGlvbiwgJGZ1bmN0aW9uU3RyaW5nLCAkcGFyYW1JbmRleCwgIiAgICAiIHggMik7CisKKyAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOyAjIGVuZCBjYXNlCiAgICAgfQotICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOworICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IH1cbiIpOyAjIGVuZCBzd2l0Y2gKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4g
MDtcbiIpOwotICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIikKKyAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIn1cbiIpOwogICB9Ci0gIAorCiAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJIYXNJbmRleEdldHRlciJ9KSB7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbkpT
VmFsdWUqICR7Y2xhc3NOYW1lfTo6aW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogb3JpZ2luYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgY29uc3Qg
UHJvcGVydHlTbG90JiBzbG90KVxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsK
QEAgLTg2Miw3ICs4NzYsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIHJldHVybiB0b0pTKGV4ZWMsIHN0YXRpY19jYXN0PCRpbXBsQ2xh
c3NOYW1lKj4odGhpc09iai0+aW1wbCgpKS0+aXRlbShzbG90LmluZGV4KCkpKTtcbiIpOwogICAg
IHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CiAgIH0KLSAgICAKKwogICBpZiAoISRoYXNQYXJl
bnQpIHsKICAgICBteSAkaW1wbENvbnRlbnQgPSA8PCAiRU9GIjsKIEtKUzo6SlNWYWx1ZSogdG9K
UyhLSlM6OkV4ZWNTdGF0ZSogZXhlYywgJGltcGxDbGFzc05hbWUqIG9iaikKQEAgLTg5NSw2ICs5
MDksMzAgQEAgRU9GCiAgIHB1c2goQGltcGxDb250ZW50LCAiXG4jZW5kaWYgLy8gJHtjb25kaXRp
b25hbH1fU1VQUE9SVFxuIikgaWYgJGNvbmRpdGlvbmFsOwogfQogCitzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCgpCit7CisgICAgbXkgJGZ1bmN0aW9uID0gc2hpZnQ7Cisg
ICAgbXkgJGZ1bmN0aW9uU3RyaW5nID0gc2hpZnQ7CisgICAgbXkgJHBhcmFtSW5kZXggPSBzaGlm
dDsKKyAgICBteSAkaW5kZW50ID0gc2hpZnQ7CisKKyAgICBpZiAoQHskZnVuY3Rpb24tPnJhaXNl
c0V4Y2VwdGlvbnN9KSB7CisgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiLCAiIGlmICRwYXJh
bUluZGV4OworICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gImVjIjsKKyAgICB9CisgICAgJGZ1
bmN0aW9uU3RyaW5nIC49ICIpIjsKKworICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlw
ZSBlcSAidm9pZCIpIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAiJGZ1
bmN0aW9uU3RyaW5nO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4g
InNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRmdW5jdGlvbi0+cmFpc2VzRXhj
ZXB0aW9uc307CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gInJldHVybiBq
c1VuZGVmaW5lZCgpO1xuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJcbiIgLiAkaW5kZW50IC4gIktKUzo6SlNWYWx1ZSogcmVzdWx0ID0gIiAuIE5hdGl2ZVRv
SlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVyZSwgJGZ1bmN0aW9uU3RyaW5nKSAuICI7XG4iKTsK
KyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAic2V0RE9NRXhjZXB0aW9uKGV4
ZWMsIGVjKTtcbiIpIGlmIEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfTsKKyAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICRpbmRlbnQgLiAicmV0dXJuIHJlc3VsdDtcbiIpOworICAgIH0K
K30KKwogc3ViIEdldE5hdGl2ZVR5cGUKIHsKICAgICBteSAkc2lnbmF0dXJlID0gc2hpZnQ7CkBA
IC05NDMsNyArOTgxLDggQEAgc3ViIFR5cGVDYW5GYWlsQ29udmVyc2lvbgogICBpZiAoJHR5cGUg
ZXEgImJvb2xlYW4iKSB7CiAgICAgcmV0dXJuIDA7CiAgIH0gZWxzaWYgKCR0eXBlIGVxICJ1bnNp
Z25lZCBsb25nIiBvciAkdHlwZSBlcSAibG9uZyIpIHsKLSAgICByZXR1cm4gMDsgIyBvciBjYW4g
aXQ/CisgICAgJGltcGxJbmNsdWRlc3siRXhjZXB0aW9uQ29kZS5oIn0gPSAxOworICAgIHJldHVy
biAxOyAjIDA7ICMgb3IgY2FuIGl0PwogICB9IGVsc2lmICgkdHlwZSBlcSAidW5zaWduZWQgc2hv
cnQiKSB7CiAgICAgcmV0dXJuIDA7ICMgb3IgY2FuIGl0PwogICB9IGVsc2lmICgkdHlwZSBlcSAi
Q29tcGFyZUhvdyIpIHsKQEAgLTk2Nyw3ICsxMDA2LDggQEAgc3ViIFR5cGVDYW5GYWlsQ29udmVy
c2lvbgogICAgICAgICAgICAkdHlwZSBlcSAiWFBhdGhSZXN1bHQiIG9yCiAgICAgICAgICAgICR0
eXBlIGVxICJTVkdNYXRyaXgiIG9yCiAgICAgICAgICAgICR0eXBlIGVxICJTVkdSZWN0IiBvcgot
ICAgICAgICAgICAkdHlwZSBlcSAiU1ZHRWxlbWVudCIpIHsKKyAgICAgICAgICAgJHR5cGUgZXEg
IlNWR0VsZW1lbnQiIG9yCisgICAgICAgICAgICR0eXBlIGVxICJIVE1MT3B0aW9uRWxlbWVudCIp
IHsKICAgICAgIHJldHVybiAwOwogICB9IGVsc2UgewogICAgIGRpZSAiRG9uJ3Qga25vdyB3aGV0
aGVyIGEgSlMgdmFsdWUgY2FuIGZhaWwgY29udmVyc2lvbiB0byB0eXBlICR0eXBlLiIKQEAgLTk5
Myw3ICsxMDMzLDExIEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICB9IGVsc2lmICgkdHlwZSBl
cSAidW5zaWduZWQgbG9uZyIgb3IKICAgICAgICAgICAgICAkdHlwZSBlcSAibG9uZyIgb3IKICAg
ICAgICAgICAgICAkdHlwZSBlcSAidW5zaWduZWQgc2hvcnQiKSB7Ci0gICAgICAgIHJldHVybiAi
JHZhbHVlLT50b0ludDMyKGV4ZWMpIjsKKyAgICAgICAgaWYgKCRtYXliZU9rUGFyYW0pIHsKKyAg
ICAgICAgICAgIHJldHVybiAiJHZhbHVlLT50b0ludDMyKGV4ZWMke21heWJlT2tQYXJhbX0pIjsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiAiJHZhbHVlLT50b0ludDMyKGV4
ZWMpIjsKKyAgICAgICAgfQogICAgIH0gZWxzaWYgKCR0eXBlIGVxICJDb21wYXJlSG93Iikgewog
ICAgICAgICByZXR1cm4gInN0YXRpY19jYXN0PFJhbmdlOjpDb21wYXJlSG93PigkdmFsdWUtPnRv
SW50MzIoZXhlYykpIjsKICAgICB9IGVsc2lmICgkdHlwZSBlcSAiZmxvYXQiKSB7CkBAIC0xMTEy
LDcgKzExNTYsNyBAQCBzdWIgTmF0aXZlVG9KU1ZhbHVlCiAgICAgfSBlbHNpZiAoJHR5cGUgZXEg
IlN0eWxlU2hlZXRMaXN0IikgewogICAgICAgICAkaW1wbEluY2x1ZGVzeyJTdHlsZVNoZWV0TGlz
dC5oIn0gPSAxOwogICAgICAgICAkaW1wbEluY2x1ZGVzeyJranNfY3NzLmgifSA9IDE7Ci0gICAg
ICAgIHJldHVybiAidG9KUyhleGVjLCAkdmFsdWUsIGltcGwpIjsKKyAgICAgICAgcmV0dXJuICJ0
b0pTKGV4ZWMsICR2YWx1ZSwgaW1wKSI7CiAgICAgfSBlbHNpZiAoJHR5cGUgZXEgIkNTU1N0eWxl
RGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJSZWN0IikgewogICAgICAgICAkaW1wbEluY2x1ZGVz
eyJDU1NTdHlsZURlY2xhcmF0aW9uLmgifSA9IDE7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlJl
Y3RJbXBsLmgifSA9IDE7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHJldmlz
aW9uIDE1MjgyKQorKysgV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZh
Y2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxPcHRpb25FbGVtZW50IDog
SFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxl
bWVudCwgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXJdIEhUTUxPcHRpb25FbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIEhUTUxGb3JtRWxlbWVudCAgICAg
IGZvcm07CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAgICAgICAgICAgICAg
ZGVmYXVsdFNlbGVjdGVkOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIERPTVN0cmluZyAg
ICAgICAgICAgIHRleHQKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3Bw
CShyZXZpc2lvbiAxNTI4MikKKysrIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
SFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiwxMyArMzMsNTIgQEAgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjpIVE1MT3B0aW9uc0NvbGxlYwogICAgIDogSFRNTENvbGxlY3Rpb24oc2VsZWN0LCBTZWxl
Y3RPcHRpb25zKQogewogICAgIEFTU0VSVCghaW5mbyk7Ci0KICAgICBpbmZvID0gc2VsZWN0LT5j
b2xsZWN0aW9uSW5mbygpOwogfQogCi12b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2V0TGVu
Z3RoKHVuc2lnbmVkLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjphZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4gZWxlbWVudCwgRXhjZXB0aW9u
Q29kZSAmZWMpCit7CisgICAgYWRkKGVsZW1lbnQsIGxlbmd0aCgpLCBlYyk7Cit9CisKK3ZvaWQg
SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjphZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4g
ZWxlbWVudCwgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlICZlYykKK3sKKyAgICBIVE1MT3B0aW9u
RWxlbWVudCogbmV3T3B0aW9uID0gZWxlbWVudC5nZXQoKTsKKworICAgIGlmICghbmV3T3B0aW9u
KSB7CisgICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoaW5kZXggPCAtMSkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZWMgPSAwOworICAgIEhUTUxTZWxlY3RF
bGVtZW50KiBzZWxlY3QgPSBzdGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KG1fYmFzZS5n
ZXQoKSk7CisKKyAgICBpZiAoaW5kZXggPT0gLTEgfHwgdW5zaWduZWQoaW5kZXgpID49IGxlbmd0
aCgpKQorICAgICAgICBzZWxlY3QtPmFkZChuZXdPcHRpb24sIDAsIGVjKTsKKyAgICBlbHNlCisg
ICAgICAgIHNlbGVjdC0+YWRkKG5ld09wdGlvbiwgc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1l
bnQqPihpdGVtKGluZGV4KSksIGVjKTsKKworICAgIEFTU0VSVChlYyA9PSAwKTsKK30KKworaW50
IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2VsZWN0ZWRJbmRleCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2VsZWN0
ZWRJbmRleCgpOworfQorCit2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2V0U2VsZWN0ZWRJ
bmRleChpbnQgaW5kZXgpCit7CisgICAgc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPiht
X2Jhc2UuZ2V0KCkpLT5zZXRTZWxlY3RlZEluZGV4KGluZGV4KTsKK30KKwordm9pZCBIVE1MT3B0
aW9uc0NvbGxlY3Rpb246OnNldExlbmd0aCh1bnNpZ25lZCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogewotICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgc3RhdGljX2Nhc3Q8SFRN
TFNlbGVjdEVsZW1lbnQqPihtX2Jhc2UuZ2V0KCkpLT5zZXRMZW5ndGgobGVuZ3RoLCBlYyk7CiB9
CiAKIH0gLy9uYW1lc3BhY2UKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgJ
KHJldmlzaW9uIDE1MjgyKQorKysgV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIEhUTUxfSFRNTE9wdGlv
bnNDb2xsZWN0aW9uSW1wbF9ICiAKICNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgorI2luY2x1
ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgs
NiArMzksMTIgQEAgY2xhc3MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogcHVibGljIEhUTQogcHVi
bGljOgogICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbihIVE1MU2VsZWN0RWxlbWVudCopOwogCisg
ICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4sIEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICB2b2lkIGFkZChQYXNzUmVmUHRyPEhUTUxPcHRpb25FbGVtZW50PiwgaW50IGluZGV4
LCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBpbnQgc2VsZWN0ZWRJbmRleCgpIGNvbnN0OworICAg
IHZvaWQgc2V0U2VsZWN0ZWRJbmRleChpbnQpOworCiAgICAgdm9pZCBzZXRMZW5ndGgodW5zaWdu
ZWQsIEV4Y2VwdGlvbkNvZGUmKTsKIH07CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0Nv
bGxlY3Rpb24uaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29s
bGVjdGlvbi5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZh
Y2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTENvbGxlY3Rpb24sIEhhc0N1c3RvbUluZGV4U2V0
dGVyXSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gOiBIVE1MQ29sbGVjdGlvbiB7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSAgICAgICAgICBsb25nICAgICAgICAgICAgICAgICBzZWxlY3RlZElu
ZGV4OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0N1c3RvbV0gbG9uZyAgICAgICAgICAg
ICAgICAgbGVuZ3RoCisgICAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01F
eGNlcHRpb24pOworCisgICAgICAgIHZvaWQgICAgICAgICAgICAgICBhZGQoaW4gSFRNTE9wdGlv
bkVsZW1lbnQgb3B0aW9uLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAg
ICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>
<flag name="review"
          id="2817"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9326</attachid>
            <date>2006-07-09 22:38:23 -0700</date>
            <delta_ts>2006-07-09 22:38:23 -0700</delta_ts>
            <desc>Firefox 1.5.0.5rc3 results for fast/js/select-options-add.html</desc>
            <filename>bug-9179-ff1505rc3-select-options-add.html</filename>
            <type>text/html</type>
            <size>17078</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbD48aGVh
ZD4KCgo8c3R5bGU+Ci5wYXNzIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgY29sb3I6IGdy
ZWVuOwp9Ci5mYWlsIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgY29sb3I6IHJlZDsKfQoj
Y29uc29sZSB7CiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICBmb250LWZhbWlseTogbW9u
b3NwYWNlOwp9Cjwvc3R5bGU+CjwvaGVhZD48Ym9keT4KPHAgaWQ9ImRlc2NyaXB0aW9uIj48c3Bh
bj48cD5UaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUgYWRkKCkgbWV0aG9kIG9u
IHRoZSBzZWxlY3Qub3B0aW9ucyBvYmplY3QuPGJyPkl0IGNvdmVycyBib3RoIHRoZSB0aGUgb25l
LWFyZ3VtZW50ICgxLngpIGFuZCB0d28tYXJndW1lbnQgKDIueCkgc2lnbmF0dXJlcyBvZiB0aGUg
YWRkKCkgbWV0aG9kLjwvcD48cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICI8
c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4iLjwvcD48L3NwYW4+PC9wPgo8
ZGl2IGlkPSJjb25zb2xlIj48c3Bhbj4xLjEgQWRkIE9wdGlvbiB0byBlbXB0eSBPcHRpb25zPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRp
b25zLmxlbmd0aCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwv
c3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRp
b25zWzBdLnRleHRDb250ZW50IGlzICdBJzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bh
bj4xLjIgQWRkIE9wdGlvbiB0byBub24tZW1wdHkgT3B0aW9uczxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMjxi
cj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEuc2Vs
ZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwv
c3Bhbj4gc2VsZWN0MS5vcHRpb25zWzBdLnZhbHVlIGlzICcxJzxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29udGVu
dCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBz
ZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdC
Jzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4xLjMgQWRkIE9wdGlvbiBhZnRlciBz
ZXR0aW5nIHBhcmFtZXRlcnM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDM8YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9u
c1swXS52YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48
c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLnZh
bHVlIGlzICcyJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IHNlbGVjdDEub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQic8YnI+PC9zcGFuPjxzcGFuPjxz
cGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMl0udmFsdWUgaXMg
JzMnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0
MS5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdDJzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bh
bj48c3Bhbj4xLjQgQWRkIGEgbm9uLU9wdGlvbiBlbGVtZW50PGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0
aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAiT2JqZWN0IGlzCm9mIHdyb25nIHR5cGUiIGNv
ZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBF
X0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxl
Y3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+MS41IEFkZCBh
IG5vbi1lbGVtZW50IChzdHJpbmcpPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4Kc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24g
W0V4Y2VwdGlvbi4uLiAiT2JqZWN0IGlzCm9mIHdyb25nIHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jl
c3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VSUikiIGxvY2F0aW9u
OiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8
YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+MS42IEFkZCBhIG5vbi1lbGVtZW50IChu
dW1iZXIpPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2Vs
ZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAi
T2JqZWN0IGlzCm9mIHdyb25nIHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAz
ZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24m
Z3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFu
Pjxicj48L3NwYW4+PHNwYW4+MS43IEFkZCB1bmRlZmluZWQ8YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRo
cmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJPYmplY3QgaXMKb2Ygd3JvbmcgdHlwZSIgY29k
ZTogIjEwMDIiIG5zcmVzdWx0OiAiMHg4MDUzMDNlYQooTlNfRVJST1JfRE9NX1dST05HX1RZUEVf
RVJSKSIgbG9jYXRpb246ICImbHQ7dW5rbm93biZndDsiXS48YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDM8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVj
dGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4xLjggQWRkIG51
bGw8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpzZWxlY3Qx
Lm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJPYmpl
Y3QgaXMKb2Ygd3JvbmcgdHlwZSIgY29kZTogIjEwMDIiIG5zcmVzdWx0OiAiMHg4MDUzMDNlYQoo
TlNfRVJST1JfRE9NX1dST05HX1RZUEVfRVJSKSIgbG9jYXRpb246ICImbHQ7dW5rbm93biZndDsi
XS48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3Qx
Lm9wdGlvbnMubGVuZ3RoIGlzIDM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+PGJy
Pjwvc3Bhbj48c3Bhbj4xLjkgQWRkIG5lZ2F0aXZlIGluZmluaXR5PGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24x
KSB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAiT2JqZWN0IGlzCm9mIHdyb25nIHR5cGUi
IGNvZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19U
WVBFX0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAz
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5z
ZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+MS4xMCBB
ZGQgTmFOPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2Vs
ZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAi
T2JqZWN0IGlzCm9mIHdyb25nIHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAz
ZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24m
Z3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFu
Pjxicj48L3NwYW4+PHNwYW4+MS4xMSBBZGQgcG9zaXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpzZWxlY3QxLm9wdGlvbnMuYWRkKG9w
dGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJPYmplY3QgaXMKb2Ygd3Jvbmcg
dHlwZSIgY29kZTogIjEwMDIiIG5zcmVzdWx0OiAiMHg4MDUzMDNlYQooTlNfRVJST1JfRE9NX1dS
T05HX1RZUEVfRVJSKSIgbG9jYXRpb246ICImbHQ7dW5rbm93biZndDsiXS48YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3Ro
IGlzIDM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxl
Y3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4y
LjEgQWRkIE9wdGlvbiB0byBlbXB0eSBPcHRpb25zPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxPGJyPjwvc3Bh
bj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZElu
ZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBz
ZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdB
Jzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjIgQWRkIE9wdGlvbiBhZnRlciBz
ZXR0aW5nIHBhcmFtZXRlcnM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDI8YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMDxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
c1swXS52YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48
c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZh
bHVlIGlzICcyJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQic8YnI+PC9zcGFuPjxzcGFuPjxi
cj48L3NwYW4+PHNwYW4+Mi4zIEluc2VydCBPcHRpb24gYXQgYmVnaW5uaW5nIG9mIE9wdGlvbnM8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnMubGVuZ3RoIGlzIDM8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCc8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ1onPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sx
XS50ZXh0Q29udGVudCBpcyAnQSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJzInPGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnRleHRD
b250ZW50IGlzICdCJzxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjQgSW5zZXJ0
IE9wdGlvbiBpbiBtaWRkbGUgb2YgT3B0aW9uczxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9
InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNDxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRl
eCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICcwJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9
InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnWic8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMV0udmFsdWUgaXMgJzEnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdBJzxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sy
XS52YWx1ZSBpcyAnMS41Jzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCBpcyAnQS41Jzxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS52
YWx1ZSBpcyAnMic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InPGJyPjwvc3Bhbj48c3Bhbj48
YnI+PC9zcGFuPjxzcGFuPjIuNSBJbnNlcnQgT3B0aW9uIGF0IGVuZCBvZiBPcHRpb25zPGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCBpcyA1PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJzAnPGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
WzBdLnRleHRDb250ZW50IGlzICdaJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0udGV4
dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwv
c3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250
ZW50IGlzICdBLjUnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJzxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBp
cyAnQic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJzxi
cj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjYgSW5zZXJ0IE9wdGlvbiBiZXlvbmQg
dGhlIGVuZCBvZiBPcHRpb25zPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFT
Uzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA2PGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbMF0udmFsdWUgaXMgJzAnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFT
Uzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJzxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS52
YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlz
ICcxLjUnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdBLjUnPGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcy
Jzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIu
b3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnPGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25z
WzRdLnRleHRDb250ZW50IGlzICdDJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBpcyAnNCc8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNV0udGV4
dENvbnRlbnQgaXMgJ0QnPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuNyBBZGQg
YW4gT3B0aW9uIGF0IGluZGV4IC0xPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMF0udmFsdWUgaXMgJzAnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJzxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sx
XS52YWx1ZSBpcyAnMSc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVl
IGlzICcxLjUnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4g
c2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdBLjUnPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlz
ICcyJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQic8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRp
b25zWzRdLnRleHRDb250ZW50IGlzICdDJzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBh
c3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBpcyAnNCc8YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNV0u
dGV4dENvbnRlbnQgaXMgJ0QnPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFT
Uzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzZdLnZhbHVlIGlzICc1Jzxicj48L3NwYW4+PHNwYW4+
PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1s2XS50ZXh0Q29u
dGVudCBpcyAnRSc8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi44IEFkZCBhbiBP
cHRpb24gYXQgaW5kZXggLTI8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPgpzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIC0yKSB0aHJldyBleGNlcHRpb24g
W0V4Y2VwdGlvbi4uLiAiSW5kZXgKb3Igc2l6ZSBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4g
dGhlIGFsbG93ZWQgYW1vdW50IiBjb2RlOiAiMSIKbnNyZXN1bHQ6ICIweDgwNTMwMDAxIChOU19F
UlJPUl9ET01fSU5ERVhfU0laRV9FUlIpIiBsb2NhdGlvbjoKIiZsdDt1bmtub3duJmd0OyJdLjxi
cj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0
aW9ucy5sZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9z
cGFuPjxzcGFuPjIuOSBBZGQgYW4gT3B0aW9uIGF0IGluZGV4IC1JbmZpbml0eTxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5n
dGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxzcGFu
PjIuMTAgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCBOYU48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+PC9z
cGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjExIEFkZCBhbiBP
cHRpb24gYXQgaW5kZXggSW5maW5pdHk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMg
MTxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj4yLjEyIEFkZCBhIG5vbi1PcHRpb24g
ZWxlbWVudDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+CnNl
bGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIFtFeGNlcHRpb24u
Li4gIk9iamVjdAppcyBvZiB3cm9uZyB0eXBlIiBjb2RlOiAiMTAwMiIgbnNyZXN1bHQ6ICIweDgw
NTMwM2VhCihOU19FUlJPUl9ET01fV1JPTkdfVFlQRV9FUlIpIiBsb2NhdGlvbjogIiZsdDt1bmtu
b3duJmd0OyJdLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9
InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48
c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjIuMTMgQWRkIGEgbm9uLWVsZW1lbnQgKHN0cmluZyk8YnI+
PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpzZWxlY3QyLm9wdGlv
bnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJPYmplY3QK
aXMgb2Ygd3JvbmcgdHlwZSIgY29kZTogIjEwMDIiIG5zcmVzdWx0OiAiMHg4MDUzMDNlYQooTlNf
RVJST1JfRE9NX1dST05HX1RZUEVfRVJSKSIgbG9jYXRpb246ICImbHQ7dW5rbm93biZndDsiXS48
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnMubGVuZ3RoIGlzIDc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PGJyPjwv
c3Bhbj48c3Bhbj4yLjE0IEFkZCBhIG5vbi1lbGVtZW50IChudW1iZXIpPGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRp
b24yLCAxKSB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAiT2JqZWN0CmlzIG9mIHdyb25n
IHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9X
Uk9OR19UWVBFX0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48
c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA3PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+
Mi4xNSBBZGQgdW5kZWZpbmVkPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFT
Uzwvc3Bhbj4Kc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24g
W0V4Y2VwdGlvbi4uLiAiT2JqZWN0CmlzIG9mIHdyb25nIHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jl
c3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VSUikiIGxvY2F0aW9u
OiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8
YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi4xNiBBZGQgbnVsbDxicj48L3NwYW4+
PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+CnNlbGVjdDIub3B0aW9ucy5hZGQo
b3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIFtFeGNlcHRpb24uLi4gIk9iamVjdAppcyBvZiB3
cm9uZyB0eXBlIiBjb2RlOiAiMTAwMiIgbnNyZXN1bHQ6ICIweDgwNTMwM2VhCihOU19FUlJPUl9E
T01fV1JPTkdfVFlQRV9FUlIpIiBsb2NhdGlvbjogIiZsdDt1bmtub3duJmd0OyJdLjxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5s
ZW5ndGggaXMgNzxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj48YnI+PC9zcGFuPjxz
cGFuPjIuMTcgQWRkIG5lZ2F0aXZlIGluZmluaXR5PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJl
dyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAiT2JqZWN0CmlzIG9mIHdyb25nIHR5cGUiIGNvZGU6
ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAzZWEKKE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VS
UikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24mZ3Q7Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+Mi4xOCBBZGQgTmFO
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4Kc2VsZWN0Mi5v
cHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlvbi4uLiAiT2Jq
ZWN0CmlzIG9mIHdyb25nIHR5cGUiIGNvZGU6ICIxMDAyIiBuc3Jlc3VsdDogIjB4ODA1MzAzZWEK
KE5TX0VSUk9SX0RPTV9XUk9OR19UWVBFX0VSUikiIGxvY2F0aW9uOiAiJmx0O3Vua25vd24mZ3Q7
Il0uPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+PC9zcGFuPjxzcGFuPjxi
cj48L3NwYW4+PHNwYW4+Mi4xOSBBZGQgcG9zaXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxzcGFu
PjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlv
bjIsIDEpIHRocmV3IGV4Y2VwdGlvbiBbRXhjZXB0aW9uLi4uICJPYmplY3QKaXMgb2Ygd3Jvbmcg
dHlwZSIgY29kZTogIjEwMDIiIG5zcmVzdWx0OiAiMHg4MDUzMDNlYQooTlNfRVJST1JfRE9NX1dS
T05HX1RZUEVfRVJSKSIgbG9jYXRpb246ICImbHQ7dW5rbm93biZndDsiXS48YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IGlzIDc8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBzZWxl
Y3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWU8
YnI+PC9zcGFuPjxzcGFuPjxicj48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bh
bj48YnI+PC9zcGFuPjwvZGl2Pgo8ZGl2Pgo8c2VsZWN0IGlkPSJzZWxlY3QxIj48b3B0aW9uIHZh
bHVlPSIxIiBzZWxlY3RlZD0ic2VsZWN0ZWQiPkE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIyIj5C
PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMyI+Qzwvb3B0aW9uPjwvc2VsZWN0Pgo8c2VsZWN0IGlk
PSJzZWxlY3QyIj48b3B0aW9uIHZhbHVlPSIwIj5aPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMSIg
c2VsZWN0ZWQ9InNlbGVjdGVkIj5BPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMS41Ij5BLjU8L29w
dGlvbj48b3B0aW9uIHZhbHVlPSIyIj5CPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMyI+Qzwvb3B0
aW9uPjxvcHRpb24gdmFsdWU9IjQiPkQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSI1Ij5FPC9vcHRp
b24+PC9zZWxlY3Q+CjwvZGl2Pgo8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9327</attachid>
            <date>2006-07-09 22:41:36 -0700</date>
            <delta_ts>2006-07-09 22:41:36 -0700</delta_ts>
            <desc>Firefox 1.5.0.5rc3 results for fast/js/select-selectedIndex-multiple.html</desc>
            <filename>bug-9179-ff1505rc3-select-selectedIndex-multiple.html</filename>
            <type>text/html</type>
            <size>5738</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+CjxzdHlsZT4KLnBhc3MgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBj
b2xvcjogZ3JlZW47Cn0KLmZhaWwgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBjb2xvcjog
cmVkOwp9CiNjb25zb2xlIHsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIGZvbnQtZmFt
aWx5OiBtb25vc3BhY2U7Cn0KPC9zdHlsZT4KPC9oZWFkPjxib2R5PjxzZWxlY3QgbXVsdGlwbGU9
Im11bHRpcGxlIiBpZD0idGVzdCIgc2l6ZT0iMyI+CjxvcHRpb24gc2VsZWN0ZWQ9InNlbGVjdGVk
IiB2YWx1ZT0idmFsdWUiPm9uZTwvb3B0aW9uPjxvcHRpb24gc2VsZWN0ZWQ9InNlbGVjdGVkIiB2
YWx1ZT0idmFsdWUiPnR3bzwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PG9wdGlvbj48L29wdGlv
bj48b3B0aW9uPjwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PG9wdGlvbj48L29wdGlvbj48b3B0
aW9uPjwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PG9wdGlvbj48L29wdGlvbj48L3NlbGVjdD4K
PGRpdiBpZD0iY29uc29sZSI+PHNwYW4+MSkgc2V0dGluZyBsZW5ndGggdG8gYSBuZWdhdGl2ZSBs
ZW5ndGg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCA9IC0xOyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uIHVuZGVmaW5l
ZC4gV2FzIC0xLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDI8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFu
PjxzcGFuPjIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aDxicj48L3NwYW4+PHNw
YW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
IGlzIDU8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjMpIHNldHRpbmcgbGVuZ3Ro
IHRvIGEgc21hbGxlciBsZW5ndGg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAw
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qu
b3B0aW9ucy5sZW5ndGggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+NCkg
c2V0dGluZyBsZW5ndGggdG8gdGhlIHNhbWUgbGVuZ3RoPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMjxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVj
dGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+NSkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWlu
dGVnZXIgdmFsdWU6IG51bGw8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxi
cj48L3NwYW4+PHNwYW4+Nikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IHVu
ZGVmaW5lZDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15
U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJw
YXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xPGJyPjwvc3Bhbj48
c3Bhbj43KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbm9uLW51bWVyaWMg
c3RyaW5nPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBh
c3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxz
cGFuPjgpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBvYmplY3Q8YnI+PC9z
cGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25z
Lmxlbmd0aCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+OSkgc2V0dGlu
ZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG5lZ2F0aXZlIGluZmluaXR5PGJyPjwvc3Bh
bj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5s
ZW5ndGggaXMgMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxzcGFuPjEwKSBzZXR0aW5n
IGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogTmFOPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVj
dGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxzcGFuPjExKSBzZXR0aW5nIGxlbmd0aCB0byBub24t
aW50ZWdlciB2YWx1ZTogcG9zaXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwPGJyPjwv
c3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0
ZWRJbmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+MTIpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1p
bnRlZ2VyIHZhbHVlOiBmbG9hdGluZyBwb2ludCBudW1iZXI8YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyPGJy
Pjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj4xMykgc2V0dGluZyBhbiBlbGVtZW50IGJ5
IGluZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBsaXN0PGJyPjwvc3Bhbj48c3Bhbj48
c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMg
MTE8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVj
dC5zZWxlY3RlZEluZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjE0KSBzZXR0aW5nIGFuIGV4aXN0
aW5nIGVsZW1lbnQgYnkgaW5kZXg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMTxicj48L3NwYW4+PHNwYW4+
PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMg
MDxicj48L3NwYW4+PHNwYW4+MTUpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90
IGFuIG9wdGlvbjogbnVsbDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJyPjwvc3Bhbj48c3Bhbj48c3Bh
biBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwPGJy
Pjwvc3Bhbj48c3Bhbj4xNikgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4g
b3B0aW9uOiB1bmRlZmluZWQ8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMDxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxi
cj48L3NwYW4+PHNwYW4+MTcpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFu
IG9wdGlvbjogc2VsZWN0IGVsZW1lbnQ8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPgpteVNlbGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0OyB0aHJldyBleGNl
cHRpb24gW0V4Y2VwdGlvbi4uLgoiVW5leHBlY3RlZCBlcnJvciIgbnNyZXN1bHQ6ICIweDgwMDBm
ZmZmIChOU19FUlJPUl9VTkVYUEVDVEVEKSIKbG9jYXRpb246ICJKUyBmcmFtZSA6OgpmaWxlOi8v
L1VzZXJzL2Rka2lsemVyL1Byb2plY3RzL0NvY29hL1dlYktpdC9MYXlvdXRUZXN0cy9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwo6OiBzaG91bGRUaHJvdyA6OiBsaW5lIDEwOCIgZGF0
YTogbm9dLjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15
U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwPGJyPjwvc3Bhbj48
c3Bhbj4xOCkgdHJ5aW5nIHRvIHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQg
aW5kZXg6IG5lZ2F0aXZlIGluZmluaXR5PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4
IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjE5KSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQg
dXNpbmcgYW4gaW52YWxpZCBpbmRleDogTmFOPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0i
cGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IGlzIDA8YnI+PC9zcGFuPjxzcGFuPjIwKSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1l
bnQgdXNpbmcgYW4gaW52YWxpZCBpbmRleDogcG9zaXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCBpcyAxMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15
U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj48L3NwYW4+PHNwYW4+PGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWU8YnI+PC9zcGFuPjxzcGFuPjxicj48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwv
c3Bhbj48YnI+PC9zcGFuPjwvZGl2Pgo8L2JvZHk+PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9328</attachid>
            <date>2006-07-09 22:42:15 -0700</date>
            <delta_ts>2006-07-09 22:42:15 -0700</delta_ts>
            <desc>Firefox 1.5.0.5rc3 results for fast/js/select-selectedIndex.html</desc>
            <filename>bug-9179-ff1505rc3-select-selectedIndex.html</filename>
            <type>text/html</type>
            <size>5727</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+CjxzdHlsZT4KLnBhc3MgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBj
b2xvcjogZ3JlZW47Cn0KLmZhaWwgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBjb2xvcjog
cmVkOwp9CiNjb25zb2xlIHsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIGZvbnQtZmFt
aWx5OiBtb25vc3BhY2U7Cn0KPC9zdHlsZT4KPC9oZWFkPjxib2R5PjxzZWxlY3QgaWQ9InRlc3Qi
IHNpemU9IjMiPgo8b3B0aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCIgdmFsdWU9InZhbHVlIj5vbmU8
L29wdGlvbj48b3B0aW9uIHNlbGVjdGVkPSJzZWxlY3RlZCIgdmFsdWU9InZhbHVlIj50d288L29w
dGlvbj48b3B0aW9uPjwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PG9wdGlvbj48L29wdGlvbj48
b3B0aW9uPjwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PG9wdGlvbj48L29wdGlvbj48b3B0aW9u
Pjwvb3B0aW9uPjxvcHRpb24+PC9vcHRpb24+PC9zZWxlY3Q+CjxkaXYgaWQ9ImNvbnNvbGUiPjxz
cGFuPjEpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbmVnYXRpdmUgbGVuZ3RoPGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0iZmFpbCI+RkFJTDwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgg
PSAtMTsgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiB1bmRlZmluZWQuIFdhcyAtMS48YnI+PC9zcGFu
PjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCBpcyAyPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4g
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwvc3Bhbj48c3Bhbj4yKSBzZXR0aW5nIGxl
bmd0aCB0byBhIGxhcmdlciBsZW5ndGg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNz
Ij5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA1PGJyPjwvc3Bhbj48c3Bh
bj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBp
cyAxPGJyPjwvc3Bhbj48c3Bhbj4zKSBzZXR0aW5nIGxlbmd0aCB0byBhIHNtYWxsZXIgbGVuZ3Ro
PGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qu
b3B0aW9ucy5sZW5ndGggaXMgMjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMTxicj48L3NwYW4+PHNwYW4+PHNw
YW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDE8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5z
ZWxlY3RlZEluZGV4IGlzIC0xPGJyPjwvc3Bhbj48c3Bhbj40KSBzZXR0aW5nIGxlbmd0aCB0byB0
aGUgc2FtZSBsZW5ndGg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAxPGJyPjwv
c3Bhbj48c3Bhbj41KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbnVsbDxi
cj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNT
PC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xPGJyPjwvc3Bhbj48c3Bhbj42KSBz
ZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogdW5kZWZpbmVkPGJyPjwvc3Bhbj48
c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15
U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxzcGFuPjcpIHNldHRpbmcgbGVu
Z3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBub24tbnVtZXJpYyBzdHJpbmc8YnI+PC9zcGFuPjxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlT
ZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+OCkgc2V0dGluZyBsZW5n
dGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG9iamVjdDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xh
c3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+PC9z
cGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3Rl
ZEluZGV4IGlzIC0xPGJyPjwvc3Bhbj48c3Bhbj45KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50
ZWdlciB2YWx1ZTogbmVnYXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNz
PSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwPGJyPjwvc3Bh
bj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJ
bmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+MTApIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRl
Z2VyIHZhbHVlOiBOYU48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBj
bGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48
L3NwYW4+PHNwYW4+MTEpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBwb3Np
dGl2ZSBpbmZpbml0eTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3Nw
YW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xPGJyPjwv
c3Bhbj48c3Bhbj4xMikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IGZsb2F0
aW5nIHBvaW50IG51bWJlcjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8
L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDI8YnI+PC9zcGFuPjxzcGFuPjxzcGFu
IGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDE8YnI+
PC9zcGFuPjxzcGFuPjEzKSBzZXR0aW5nIGFuIGVsZW1lbnQgYnkgaW5kZXggcGFzdCB0aGUgZW5k
IG9mIHRoZSBjdXJyZW50IGxpc3Q8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5Q
QVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMTxicj48L3NwYW4+PHNwYW4+
PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMg
MTA8YnI+PC9zcGFuPjxzcGFuPjE0KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5k
ZXg8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCBpcyAxMTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3Mi
PlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMTA8YnI+PC9zcGFuPjxzcGFu
PjE1KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IG51bGw8
YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCBpcyAxMDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBB
U1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxzcGFuPjE2
KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IHVuZGVmaW5l
ZDxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+
MTcpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogc2VsZWN0
IGVsZW1lbnQ8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPgpt
eVNlbGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0OyB0aHJldyBleGNlcHRpb24gW0V4Y2VwdGlv
bi4uLgoiVW5leHBlY3RlZCBlcnJvciIgbnNyZXN1bHQ6ICIweDgwMDBmZmZmIChOU19FUlJPUl9V
TkVYUEVDVEVEKSIKbG9jYXRpb246ICJKUyBmcmFtZSA6OgpmaWxlOi8vL1VzZXJzL2Rka2lsemVy
L1Byb2plY3RzL0NvY29hL1dlYktpdC9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcwo6OiBzaG91bGRUaHJvdyA6OiBsaW5lIDEwOCIgZGF0YTogbm9dLjxicj48L3Nw
YW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIGlzIDEwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bh
bj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48L3NwYW4+PHNwYW4+MTgpIHRyeWlu
ZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBuZWdhdGl2
ZSBpbmZpbml0eTxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+
IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJyPjwvc3Bhbj48c3Bhbj48c3BhbiBjbGFz
cz0icGFzcyI+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj48L3Nw
YW4+PHNwYW4+MTkpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZh
bGlkIGluZGV4OiBOYU48YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9z
cGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMDxicj48L3NwYW4+PHNwYW4+PHNwYW4g
Y2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+
PC9zcGFuPjxzcGFuPjIwKSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4g
aW52YWxpZCBpbmRleDogcG9zaXRpdmUgaW5maW5pdHk8YnI+PC9zcGFuPjxzcGFuPjxzcGFuIGNs
YXNzPSJwYXNzIj5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMDxicj48
L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVj
dGVkSW5kZXggaXMgLTE8YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+PHNwYW4+PHNwYW4gY2xh
c3M9InBhc3MiPlBBU1M8L3NwYW4+IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlPGJyPjwvc3Bh
bj48c3Bhbj48YnI+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+PGJyPjwv
c3Bhbj48L2Rpdj4KPC9ib2R5PjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9329</attachid>
            <date>2006-07-09 22:45:31 -0700</date>
            <delta_ts>2006-07-09 22:45:31 -0700</delta_ts>
            <desc>MSIE 6 results for fast/js/select-options-add.html</desc>
            <filename>bug-9179-msie6-select-options-add.html</filename>
            <type>text/html</type>
            <size>15398</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiCnhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIKeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1JFQy1odG1sNDAiPgoKPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRl
bnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgo8bWV0YSBuYW1lPVByb2dJZCBj
b250ZW50PVdvcmQuRG9jdW1lbnQ+CjxtZXRhIG5hbWU9R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jv
c29mdCBXb3JkIDEwIj4KPG1ldGEgbmFtZT1PcmlnaW5hdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBX
b3JkIDEwIj4KPCEtLVtpZiAhbXNvXT4KPHN0eWxlPgp2XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1
bHQjVk1MKTt9Cm9cOioge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30Kd1w6KiB7YmVoYXZp
b3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQouc2hhcGUge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwp
O30KPC9zdHlsZT4KPCFbZW5kaWZdLS0+Cjx0aXRsZT5UaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhh
dmlvciBvZiB0aGUgYWRkKCkgbWV0aG9kIG9uIHRoZSBzZWxlY3Q8L3RpdGxlPgo8IS0tW2lmIGd0
ZSBtc28gOV0+PHhtbD4KIDxvOkRvY3VtZW50UHJvcGVydGllcz4KICA8bzpBdXRob3I+RGF2aWQg
RC4gS2lsemVyPC9vOkF1dGhvcj4KICA8bzpMYXN0QXV0aG9yPkRhdmlkIEQuIEtpbHplcjwvbzpM
YXN0QXV0aG9yPgogIDxvOlJldmlzaW9uPjE8L286UmV2aXNpb24+CiAgPG86VG90YWxUaW1lPjE8
L286VG90YWxUaW1lPgogIDxvOkNyZWF0ZWQ+MjAwNi0wNy0xMFQwMzowNDowMFo8L286Q3JlYXRl
ZD4KICA8bzpMYXN0U2F2ZWQ+MjAwNi0wNy0xMFQwMzowNTowMFo8L286TGFzdFNhdmVkPgogIDxv
OlBhZ2VzPjY8L286UGFnZXM+CiAgPG86V29yZHM+MTA5NzwvbzpXb3Jkcz4KICA8bzpDaGFyYWN0
ZXJzPjYyNTc8L286Q2hhcmFjdGVycz4KICA8bzpDb21wYW55PmlzbCBlbXBsb3llZTwvbzpDb21w
YW55PgogIDxvOkxpbmVzPjUyPC9vOkxpbmVzPgogIDxvOlBhcmFncmFwaHM+MTQ8L286UGFyYWdy
YXBocz4KICA8bzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz43MzQwPC9vOkNoYXJhY3RlcnNXaXRoU3Bh
Y2VzPgogIDxvOlZlcnNpb24+MTAuNjcxNDwvbzpWZXJzaW9uPgogPC9vOkRvY3VtZW50UHJvcGVy
dGllcz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CiA8dzpXb3Jk
RG9jdW1lbnQ+CiAgPHc6Q29tcGF0aWJpbGl0eT4KICAgPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4K
ICAgPHc6U25hcFRvR3JpZEluQ2VsbC8+CiAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4KICAgPHc6
VXNlQXNpYW5CcmVha1J1bGVzLz4KICA8L3c6Q29tcGF0aWJpbGl0eT4KICA8dzpCcm93c2VyTGV2
ZWw+TWljcm9zb2Z0SW50ZXJuZXRFeHBsb3JlcjQ8L3c6QnJvd3NlckxldmVsPgogPC93OldvcmRE
b2N1bWVudD4KPC94bWw+PCFbZW5kaWZdLS0+CjxzdHlsZT4KPCEtLQogLyogU3R5bGUgRGVmaW5p
dGlvbnMgKi8KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKCXttc28t
c3R5bGUtcGFyZW50OiIiOwoJbWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCW1z
by1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250LWZhbWls
eToiVGltZXMgTmV3IFJvbWFuIjsKCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg
Um9tYW4iO30KcAoJe21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwoJbWFyZ2luLXJpZ2h0OjBpbjsK
CW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwoJbWFyZ2luLWxlZnQ6MGluOwoJbXNvLXBhZ2lu
YXRpb246d2lkb3ctb3JwaGFuOwoJZm9udC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1l
cyBOZXcgUm9tYW4iOwoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7
fQpzcGFuLnBhc3MxCgl7bXNvLXN0eWxlLW5hbWU6cGFzczE7Cgljb2xvcjpncmVlbjsKCWZvbnQt
d2VpZ2h0OmJvbGQ7fQpAcGFnZSBTZWN0aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2lu
OjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1aW47Cgltc28taGVhZGVyLW1hcmdpbjouNWluOwoJbXNv
LWZvb3Rlci1tYXJnaW46LjVpbjsKCW1zby1wYXBlci1zb3VyY2U6MDt9CmRpdi5TZWN0aW9uMQoJ
e3BhZ2U6U2VjdGlvbjE7fQotLT4KPC9zdHlsZT4KPCEtLVtpZiBndGUgbXNvIDEwXT4KPHN0eWxl
PgogLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KIHRhYmxlLk1zb05vcm1hbFRhYmxlCgl7bXNvLXN0
eWxlLW5hbWU6IlRhYmxlIE5vcm1hbCI7Cgltc28tdHN0eWxlLXJvd2JhbmQtc2l6ZTowOwoJbXNv
LXRzdHlsZS1jb2xiYW5kLXNpemU6MDsKCW1zby1zdHlsZS1ub3Nob3c6eWVzOwoJbXNvLXN0eWxl
LXBhcmVudDoiIjsKCW1zby1wYWRkaW5nLWFsdDowaW4gNS40cHQgMGluIDUuNHB0OwoJbXNvLXBh
cmEtbWFyZ2luOjBpbjsKCW1zby1wYXJhLW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCW1zby1wYWdp
bmF0aW9uOndpZG93LW9ycGhhbjsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGlt
ZXMgTmV3IFJvbWFuIjt9Cjwvc3R5bGU+CjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48
eG1sPgogPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIvPgo8L3ht
bD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDxvOnNoYXBlbGF5b3V0IHY6
ZXh0PSJlZGl0Ij4KICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIvPgogPC9vOnNoYXBl
bGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPgo8L2hlYWQ+Cgo8Ym9keSBsYW5nPUVOLVVTIHN0eWxl
PSd0YWItaW50ZXJ2YWw6LjVpbic+Cgo8ZGl2IGNsYXNzPVNlY3Rpb24xPgoKPHA+VGhpcyB0ZXN0
IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGFkZCgpIG1ldGhvZCBvbiB0aGUgc2VsZWN0Lm9w
dGlvbnMKb2JqZWN0Ljxicj4KSXQgY292ZXJzIGJvdGggdGhlIHRoZSBvbmUtYXJndW1lbnQgKDEu
eCkgYW5kIHR3by1hcmd1bWVudCAoMi54KSBzaWduYXR1cmVzIG9mCnRoZSBhZGQoKSBtZXRob2Qu
PG86cD48L286cD48L3A+Cgo8cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
JnF1b3Q7PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4mcXVvdDsKbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICZxdW90OzxzcGFuIGNsYXNzPXBhc3MxPlRFU1QgQ09NUExFVEU8L3NwYW4+JnF1b3Q7
LjxvOnA+PC9vOnA+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LWZh
bWlseToiQ291cmllciBOZXciJz4xLjEgQWRkIE9wdGlvbiB0bwplbXB0eSBPcHRpb25zPGJyPgo8
c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDE8
YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBp
cyAwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0u
dmFsdWUgaXMgJzEnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9w
dGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPgo8YnI+CjEuMiBBZGQgT3B0aW9uIHRvIG5v
bi1lbXB0eSBPcHRpb25zPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3Qx
Lm9wdGlvbnMubGVuZ3RoIGlzIDI8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNl
bGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPgo8c3Bh
biBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzIn
PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnNbMV0udGV4
dENvbnRlbnQgaXMgJ0InPGJyPgo8YnI+CjEuMyBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFy
YW1ldGVyczxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAzPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLnNl
bGVjdGVkSW5kZXggaXMgMDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
MS5vcHRpb25zWzBdLnZhbHVlIGlzICcxJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gc2VsZWN0MS5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdBJzxicj4KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLnZhbHVlIGlzICcyJzxicj4KPHNw
YW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50
IGlzICdCJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25z
WzJdLnZhbHVlIGlzICczJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
MS5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdDJzxicj4KPGJyPgoxLjQgQWRkIGEgbm9uLU9w
dGlvbiBlbGVtZW50PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9w
dGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+Cjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMzxi
cj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlz
IDA8YnI+Cjxicj4KMS41IEFkZCBhIG5vbi1lbGVtZW50IChzdHJpbmcpPGJyPgo8c3BhbiBjbGFz
cz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4
Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+
IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDA8YnI+Cjxicj4KMS42IEFkZCBhIG5vbi1l
bGVtZW50IChudW1iZXIpPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3Qx
Lm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+
CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMg
Mzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4
IGlzIDA8YnI+Cjxicj4KMS43IEFkZCB1bmRlZmluZWQ8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBB
U1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uCltv
YmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5v
cHRpb25zLmxlbmd0aCBpcyAzPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxl
Y3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj4KPGJyPgoxLjggQWRkIG51bGw8YnI+CjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcg
ZXhjZXB0aW9uCltvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNT
PC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj4KPGJyPgoxLjkgQWRkIG5lZ2F0
aXZlIGluZmluaXR5PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QxLm9w
dGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+Cjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMzxi
cj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlz
IDA8YnI+Cjxicj4KMS4xMCBBZGQgTmFOPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVy
cm9yXS48YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5s
ZW5ndGggaXMgMzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0MS5zZWxl
Y3RlZEluZGV4IGlzIDA8YnI+Cjxicj4KMS4xMSBBZGQgcG9zaXRpdmUgaW5maW5pdHk8YnI+Cjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkg
dGhyZXcgZXhjZXB0aW9uCltvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFT
Uzwvc3Bhbj4gc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPgo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMDxicj4KPGJyPgoyLjEgQWRk
IE9wdGlvbiB0byBlbXB0eSBPcHRpb25zPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDE8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJzEnPGJyPgo8c3BhbiBjbGFz
cz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ0En
PGJyPgo8YnI+CjIuMiBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1ldGVyczxicj4KPHNw
YW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAyPGJy
Pgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMg
MDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZh
bHVlIGlzICcxJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRp
b25zWzBdLnRleHRDb250ZW50IGlzICdBJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcyJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdCJzxicj4KPGJy
PgoyLjMgSW5zZXJ0IE9wdGlvbiBhdCBiZWdpbm5pbmcgb2YgT3B0aW9uczxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAzPGJyPgo8c3Bh
biBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlz
ICcwJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzBd
LnRleHRDb250ZW50IGlzICdaJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdBJzxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcyJzxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250
ZW50IGlzICdCJzxicj4KPGJyPgoyLjQgSW5zZXJ0IE9wdGlvbiBpbiBtaWRkbGUgb2YgT3B0aW9u
czxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA0PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMTxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRp
b25zWzBdLnZhbHVlIGlzICcwJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJzxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzFdLnRleHRDb250ZW50IGlzICdB
Jzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnZh
bHVlIGlzICcxLjUnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0EuNSc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS52YWx1ZSBpcyAnMic8YnI+CjxzcGFuIGNsYXNzPXBh
c3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQic8YnI+
Cjxicj4KMi41IEluc2VydCBPcHRpb24gYXQgZW5kIG9mIE9wdGlvbnM8YnI+CjxzcGFuIGNsYXNz
PXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNTxicj4KPHNwYW4g
Y2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+Cjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAn
MCc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1swXS50
ZXh0Q29udGVudCBpcyAnWic8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3Nw
YW4+IHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQSc8YnI+CjxzcGFuIGNsYXNz
PXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBpcyAnMS41Jzxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzJdLnRleHRDb250
ZW50IGlzICdBLjUnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9w
dGlvbnNbM10udmFsdWUgaXMgJzInPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBz
ZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InPGJyPgo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMgJzMnPGJyPgo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRlbnQgaXMg
J0MnPGJyPgo8YnI+CjIuNiBJbnNlcnQgT3B0aW9uIGJleW9uZCB0aGUgZW5kIG9mIE9wdGlvbnM8
YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgNjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZElu
ZGV4IGlzIDE8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
c1swXS52YWx1ZSBpcyAnMCc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnWic8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBB
U1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnMSc8YnI+CjxzcGFuIGNsYXNz
PXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQSc8
YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS52YWx1
ZSBpcyAnMS41Jzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRp
b25zWzJdLnRleHRDb250ZW50IGlzICdBLjUnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUgaXMgJzInPGJyPgo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InPGJyPgo8
c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0udmFsdWUgaXMg
JzMnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbNF0u
dGV4dENvbnRlbnQgaXMgJ0MnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxl
Y3QyLm9wdGlvbnNbNV0udmFsdWUgaXMgJzQnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBzZWxlY3QyLm9wdGlvbnNbNV0udGV4dENvbnRlbnQgaXMgJ0QnPGJyPgo8YnI+CjIuNyBB
ZGQgYW4gT3B0aW9uIGF0IGluZGV4IC0xPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5Q
QVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJzAnPGJyPgo8c3BhbiBjbGFz
cz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgaXMgJ1on
PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnNbMV0udmFs
dWUgaXMgJzEnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlv
bnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFu
PiBzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJzEuNSc8YnI+CjxzcGFuIGNsYXNzPXBhc3Mx
PlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9uc1syXS50ZXh0Q29udGVudCBpcyAnQS41Jzxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlz
ICcyJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzNd
LnRleHRDb250ZW50IGlzICdCJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzRdLnZhbHVlIGlzICczJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJzxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzVdLnZhbHVlIGlzICc0Jzxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zWzVdLnRleHRDb250
ZW50IGlzICdEJzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRp
b25zWzZdLnZhbHVlIGlzICc1Jzxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2Vs
ZWN0Mi5vcHRpb25zWzZdLnRleHRDb250ZW50IGlzICdFJzxicj4KPGJyPgoyLjggQWRkIGFuIE9w
dGlvbiBhdCBpbmRleCAtMjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yLCAtMikgdGhyZXcgZXhjZXB0aW9uCltvYmplY3QgRXJyb3Jd
Ljxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA3PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMTxicj4KPGJyPgoyLjkgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtSW5maW5pdHk8
YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5hZGQob3B0
aW9uMiwgLTEvMCkgdGhyZXcKZXhjZXB0aW9uIFtvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPgo8c3Bh
biBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4K
PGJyPgoyLjEwIEFkZCBhbiBPcHRpb24gYXQgaW5kZXggTmFOPGJyPgo8c3BhbiBjbGFzcz1wYXNz
MT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDAvMCkgdGhyZXcgZXhj
ZXB0aW9uCltvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
c2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4KPGJyPgoyLjExIEFkZCBhbiBPcHRp
b24gYXQgaW5kZXggSW5maW5pdHk8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNl
bGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMS8wKSB0aHJldyBleGNlcHRpb24KW29iamVjdCBF
cnJvcl0uPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMu
bGVuZ3RoIGlzIDc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2Vs
ZWN0ZWRJbmRleCBpcyAxPGJyPgo8YnI+CjIuMTIgQWRkIGEgbm9uLU9wdGlvbiBlbGVtZW50PGJy
Pgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlv
bjIsIDEpIHRocmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+CjxzcGFuIGNsYXNzPXBh
c3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj4KPHNwYW4gY2xh
c3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+Cjxicj4K
Mi4xMyBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKTxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFT
Uzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24K
W29iamVjdCBFcnJvcl0uPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJyPgo8YnI+CjIuMTQgQWRkIGEgbm9uLWVsZW1lbnQg
KG51bWJlcik8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIub3B0aW9u
cy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uCltvYmplY3QgRXJyb3JdLjxicj4KPHNw
YW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJy
Pgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMg
MTxicj4KPGJyPgoyLjE1IEFkZCB1bmRlZmluZWQ8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uCltv
YmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5v
cHRpb25zLmxlbmd0aCBpcyA3PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxl
Y3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4KPGJyPgoyLjE2IEFkZCBudWxsPGJyPgo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRo
cmV3IGV4Y2VwdGlvbgpbb2JqZWN0IEVycm9yXS48YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNzxicj4KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDE8YnI+Cjxicj4KMi4xNyBBZGQg
bmVnYXRpdmUgaW5maW5pdHk8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVj
dDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uCltvYmplY3QgRXJyb3Jd
Ljxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA3PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMTxicj4KPGJyPgoyLjE4IEFkZCBOYU48YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBB
U1M8L3NwYW4+IHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9u
CltvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCBpcyA3PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBz
ZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTxicj4KPGJyPgoyLjE5IEFkZCBwb3NpdGl2ZSBpbmZp
bml0eTxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc2VsZWN0Mi5vcHRpb25zLmFk
ZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24KW29iamVjdCBFcnJvcl0uPGJyPgo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDc8YnI+Cjxz
cGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxPGJy
Pgo8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlPGJyPgo8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlRFU1QgQ09NUExFVEU8L3NwYW4+PG86
cD48L286cD48L3NwYW4+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxTRUxFQ1QgaWQ9c2VsZWN0
MT4KPE9QVElPTiBTRUxFQ1RFRCBWQUxVRT0iMSI+CjxPUFRJT04gVkFMVUU9IjIiPgo8T1BUSU9O
IFZBTFVFPSIzIj4KPC9TRUxFQ1Q+PFNFTEVDVAppZD1zZWxlY3QyPgo8T1BUSU9OIFZBTFVFPSIw
Ij4KPE9QVElPTiBTRUxFQ1RFRCBWQUxVRT0iMSI+CjxPUFRJT04gVkFMVUU9IjEuNSI+CjxPUFRJ
T04gVkFMVUU9IjIiPgo8T1BUSU9OIFZBTFVFPSIzIj4KPE9QVElPTiBWQUxVRT0iNCI+CjxPUFRJ
T04gVkFMVUU9IjUiPgo8L1NFTEVDVD48bzpwPjwvbzpwPjwvcD4KCjwvZGl2PgoKPC9ib2R5PgoK
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9330</attachid>
            <date>2006-07-09 22:51:10 -0700</date>
            <delta_ts>2006-07-09 22:51:10 -0700</delta_ts>
            <desc>MSIE 6 results for fast/js/select-selectedIndex-multiple.html</desc>
            <filename>bug-9179-msie6-select-selectedIndex-multiple.html</filename>
            <type>text/html</type>
            <size>7917</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiCnhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIKeG1sbnM6c3QxPSJ1cm46c2NoZW1hcy1taWNy
b3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiCnhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9S
RUMtaHRtbDQwIj4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KPG1ldGEgbmFtZT1Qcm9nSWQgY29u
dGVudD1Xb3JkLkRvY3VtZW50Pgo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3Nv
ZnQgV29yZCAxMCI+CjxtZXRhIG5hbWU9T3JpZ2luYXRvciBjb250ZW50PSJNaWNyb3NvZnQgV29y
ZCAxMCI+CjwhLS1baWYgIW1zb10+CjxzdHlsZT4Kdlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQpvXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9CndcOioge2JlaGF2aW9y
OnVybCgjZGVmYXVsdCNWTUwpO30KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9
Cjwvc3R5bGU+CjwhW2VuZGlmXS0tPgo8dGl0bGU+IDwvdGl0bGU+CjxvOlNtYXJ0VGFnVHlwZSBu
YW1lc3BhY2V1cmk9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNtYXJ0dGFncyIK
IG5hbWU9IlBsYWNlVHlwZSIvPgo8bzpTbWFydFRhZ1R5cGUgbmFtZXNwYWNldXJpPSJ1cm46c2No
ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiCiBuYW1lPSJQbGFjZU5hbWUiLz4K
PG86U21hcnRUYWdUeXBlIG5hbWVzcGFjZXVyaT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpv
ZmZpY2U6c21hcnR0YWdzIgogbmFtZT0icGxhY2UiLz4KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
CiA8bzpEb2N1bWVudFByb3BlcnRpZXM+CiAgPG86QXV0aG9yPkRhdmlkIEQuIEtpbHplcjwvbzpB
dXRob3I+CiAgPG86TGFzdEF1dGhvcj5EYXZpZCBELiBLaWx6ZXI8L286TGFzdEF1dGhvcj4KICA8
bzpSZXZpc2lvbj4xPC9vOlJldmlzaW9uPgogIDxvOlRvdGFsVGltZT4xPC9vOlRvdGFsVGltZT4K
ICA8bzpDcmVhdGVkPjIwMDYtMDctMTBUMDM6MDY6MDBaPC9vOkNyZWF0ZWQ+CiAgPG86TGFzdFNh
dmVkPjIwMDYtMDctMTBUMDM6MDc6MDBaPC9vOkxhc3RTYXZlZD4KICA8bzpQYWdlcz4yPC9vOlBh
Z2VzPgogIDxvOldvcmRzPjQwNzwvbzpXb3Jkcz4KICA8bzpDaGFyYWN0ZXJzPjIzMjU8L286Q2hh
cmFjdGVycz4KICA8bzpDb21wYW55PmlzbCBlbXBsb3llZTwvbzpDb21wYW55PgogIDxvOkxpbmVz
PjE5PC9vOkxpbmVzPgogIDxvOlBhcmFncmFwaHM+NTwvbzpQYXJhZ3JhcGhzPgogIDxvOkNoYXJh
Y3RlcnNXaXRoU3BhY2VzPjI3Mjc8L286Q2hhcmFjdGVyc1dpdGhTcGFjZXM+CiAgPG86VmVyc2lv
bj4xMC42NzE0PC9vOlZlcnNpb24+CiA8L286RG9jdW1lbnRQcm9wZXJ0aWVzPgo8L3htbD48IVtl
bmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDx3OldvcmREb2N1bWVudD4KICA8dzpD
b21wYXRpYmlsaXR5PgogICA8dzpCcmVha1dyYXBwZWRUYWJsZXMvPgogICA8dzpTbmFwVG9Hcmlk
SW5DZWxsLz4KICAgPHc6V3JhcFRleHRXaXRoUHVuY3QvPgogICA8dzpVc2VBc2lhbkJyZWFrUnVs
ZXMvPgogIDwvdzpDb21wYXRpYmlsaXR5PgogIDx3OkJyb3dzZXJMZXZlbD5NaWNyb3NvZnRJbnRl
cm5ldEV4cGxvcmVyNDwvdzpCcm93c2VyTGV2ZWw+CiA8L3c6V29yZERvY3VtZW50Pgo8L3htbD48
IVtlbmRpZl0tLT48IS0tW2lmICFtc29dPjxvYmplY3QKIGNsYXNzaWQ9ImNsc2lkOjM4NDgxODA3
LUNBMEUtNDJEMi1CRjM5LUIzM0FGMTM1Q0M0RCIgaWQ9aWVvb3VpPjwvb2JqZWN0Pgo8c3R5bGU+
CnN0MVw6KntiZWhhdmlvcjp1cmwoI2llb291aSkgfQo8L3N0eWxlPgo8IVtlbmRpZl0tLT4KPHN0
eWxlPgo8IS0tCiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwogcC5Nc29Ob3JtYWwsIGxpLk1zb05v
cm1hbCwgZGl2Lk1zb05vcm1hbAoJe21zby1zdHlsZS1wYXJlbnQ6IiI7CgltYXJnaW46MGluOwoJ
bWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwoJZm9u
dC1zaXplOjEyLjBwdDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwoJbXNvLWZhcmVh
c3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQpzcGFuLnBhc3MxCgl7bXNvLXN0eWxl
LW5hbWU6cGFzczE7Cgljb2xvcjpncmVlbjsKCWZvbnQtd2VpZ2h0OmJvbGQ7fQpAcGFnZSBTZWN0
aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1
aW47Cgltc28taGVhZGVyLW1hcmdpbjouNWluOwoJbXNvLWZvb3Rlci1tYXJnaW46LjVpbjsKCW1z
by1wYXBlci1zb3VyY2U6MDt9CmRpdi5TZWN0aW9uMQoJe3BhZ2U6U2VjdGlvbjE7fQotLT4KPC9z
dHlsZT4KPCEtLVtpZiBndGUgbXNvIDEwXT4KPHN0eWxlPgogLyogU3R5bGUgRGVmaW5pdGlvbnMg
Ki8KIHRhYmxlLk1zb05vcm1hbFRhYmxlCgl7bXNvLXN0eWxlLW5hbWU6IlRhYmxlIE5vcm1hbCI7
Cgltc28tdHN0eWxlLXJvd2JhbmQtc2l6ZTowOwoJbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsK
CW1zby1zdHlsZS1ub3Nob3c6eWVzOwoJbXNvLXN0eWxlLXBhcmVudDoiIjsKCW1zby1wYWRkaW5n
LWFsdDowaW4gNS40cHQgMGluIDUuNHB0OwoJbXNvLXBhcmEtbWFyZ2luOjBpbjsKCW1zby1wYXJh
LW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKCWZv
bnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Cjwvc3R5bGU+
CjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgogPG86c2hhcGVkZWZhdWx0cyB2
OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIvPgo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0
ZSBtc28gOV0+PHhtbD4KIDxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4KICA8bzppZG1hcCB2
OmV4dD0iZWRpdCIgZGF0YT0iMSIvPgogPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0t
Pgo8L2hlYWQ+Cgo8Ym9keSBsYW5nPUVOLVVTIHN0eWxlPSd0YWItaW50ZXJ2YWw6LjVpbic+Cgo8
ZGl2IGNsYXNzPVNlY3Rpb24xPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxTRUxFQ1QgTVVMVElQTEUg
U0laRT0iMyI+CjxPUFRJT04gU0VMRUNURUQgVkFMVUU9InZhbHVlIj5vbmUKPE9QVElPTiBTRUxF
Q1RFRCBWQUxVRT0idmFsdWUiPnR3bwo8T1BUSU9OPgo8T1BUSU9OPgo8T1BUSU9OPgo8T1BUSU9O
Pgo8T1BUSU9OPgo8T1BUSU9OPgo8T1BUSU9OPgo8T1BUSU9OPgo8L1NFTEVDVD48bzpwPjwvbzpw
PjwvcD4KCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Iic+MSkgc2V0dGluZyBsZW5ndGggdG8KYSBuZWdhdGl2ZSA8L3NwYW4+PHN0MTpwbGFj
ZT48c3QxOlBsYWNlTmFtZT48c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+
bGVuZ3RoPC9zcGFuPjwvc3QxOlBsYWNlTmFtZT48c3Bhbgogc3R5bGU9J2ZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyInPjxicj4KIDwvc3Bhbj48c3QxOlBsYWNlVHlwZT48c3BhbiBjbGFzcz1wYXNz
MT48c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+UEFTUzwvc3Bhbj48L3Nw
YW4+PC9zdDE6UGxhY2VUeXBlPjwvc3QxOnBsYWNlPjxzcGFuCnN0eWxlPSdmb250LWZhbWlseToi
Q291cmllciBOZXciJz4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAtMTsgdGhyZXcKZXhjZXB0
aW9uIFtvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwPGJyPgoyKSBzZXR0aW5nIGxlbmd0aCB0byBh
IGxhcmdlciBsZW5ndGg8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIGlzIDU8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15
U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj4KMykgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFs
bGVyIGxlbmd0aDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxl
Y3Quc2VsZWN0ZWRJbmRleCBpcyAwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9z
cGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDA8YnI+CjQpIHNldHRpbmcgbGVuZ3RoIHRv
IHRoZSBzYW1lIGxlbmd0aDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGggaXMgMjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwPGJyPgo1KSBzZXR0aW5nIGxlbmd0aCB0byBub24t
aW50ZWdlciB2YWx1ZTogbnVsbDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj4KNikgc2V0dGluZyBsZW5ndGggdG8g
bm9uLWludGVnZXIgdmFsdWU6IHVuZGVmaW5lZDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwv
c3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj4KNykgc2V0dGluZyBs
ZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG5vbi1udW1lcmljIHN0cmluZzxicj4KPHNwYW4g
Y2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAt
MTxicj4KOCkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG9iamVjdDxicj4K
PHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMg
MDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCBpcyAtMTxicj4KOSkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG5lZ2F0
aXZlIGluZmluaXR5PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCBpcyAwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xPGJyPgoxMCkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWlu
dGVnZXIgdmFsdWU6IE5hTjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj4KMTEpIHNldHRpbmcgbGVuZ3RoIHRvIG5v
bi1pbnRlZ2VyIHZhbHVlOiBwb3NpdGl2ZSBpbmZpbml0eTxicj4KPHNwYW4gY2xhc3M9cGFzczE+
UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4KPHNwYW4gY2xhc3M9
cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj4KMTIpIHNl
dHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBmbG9hdGluZyBwb2ludCBudW1iZXI8
YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
IGlzIDI8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVk
SW5kZXggaXMgMDxicj4KMTMpIHNldHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBl
bmQgb2YgdGhlIGN1cnJlbnQgbGlzdDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTE8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj4KMTQpIHNldHRpbmcgYW4gZXhp
c3RpbmcgZWxlbWVudCBieSBpbmRleDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4g
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTE8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8
L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj4KMTUpIHRyeWluZyB0byBzZXQg
YW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogbnVsbDxicj4KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8YnI+CjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj4KMTYp
IHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogdW5kZWZpbmVk
PGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0
aCBpcyAxMDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0
ZWRJbmRleCBpcyAwPGJyPgoxNykgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3Qg
YW4gb3B0aW9uOiBzZWxlY3QgZWxlbWVudDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bh
bj4gbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBteVNlbGVjdDsgdGhyZXcgZXhjZXB0aW9uCltvYmpl
Y3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMTA8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXggaXMgMDxicj4KMTgpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxl
bWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBuZWdhdGl2ZSBpbmZpbml0eTxicj4KPHNwYW4g
Y2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8YnI+
CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMg
MDxicj4KMTkpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlk
IGluZGV4OiBOYU48YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIGlzIDEwPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIDA8YnI+CjIwKSB0cnlpbmcgdG8gc2V0IGEgb3B0aW9uIGVs
ZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBpbmRleDogcG9zaXRpdmUgaW5maW5pdHk8YnI+CjxzcGFu
IGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJy
Pgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlz
IDA8YnI+Cjxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWU8YnI+Cjxicj4KPHNwYW4gY2xhc3M9cGFzczE+VEVTVCBDT01QTEVURTwvc3Bh
bj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cgo8L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9331</attachid>
            <date>2006-07-09 22:53:30 -0700</date>
            <delta_ts>2006-07-09 22:53:30 -0700</delta_ts>
            <desc>MSIE 6 results for fast/js/select-selectedIndex.html</desc>
            <filename>bug-9179-msie6-select-selectedIndex.html</filename>
            <type>text/html</type>
            <size>11310</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiCnhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIKeG1sbnM6c3QxPSJ1cm46c2NoZW1hcy1taWNy
b3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiCnhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9S
RUMtaHRtbDQwIj4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KPG1ldGEgbmFtZT1Qcm9nSWQgY29u
dGVudD1Xb3JkLkRvY3VtZW50Pgo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3Nv
ZnQgV29yZCAxMCI+CjxtZXRhIG5hbWU9T3JpZ2luYXRvciBjb250ZW50PSJNaWNyb3NvZnQgV29y
ZCAxMCI+CjwhLS1baWYgIW1zb10+CjxzdHlsZT4Kdlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQpvXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9CndcOioge2JlaGF2aW9y
OnVybCgjZGVmYXVsdCNWTUwpO30KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9
Cjwvc3R5bGU+CjwhW2VuZGlmXS0tPgo8dGl0bGU+IDwvdGl0bGU+CjxvOlNtYXJ0VGFnVHlwZSBu
YW1lc3BhY2V1cmk9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNtYXJ0dGFncyIK
IG5hbWU9IlBsYWNlVHlwZSIvPgo8bzpTbWFydFRhZ1R5cGUgbmFtZXNwYWNldXJpPSJ1cm46c2No
ZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzbWFydHRhZ3MiCiBuYW1lPSJQbGFjZU5hbWUiLz4K
PG86U21hcnRUYWdUeXBlIG5hbWVzcGFjZXVyaT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpv
ZmZpY2U6c21hcnR0YWdzIgogbmFtZT0icGxhY2UiLz4KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
CiA8bzpEb2N1bWVudFByb3BlcnRpZXM+CiAgPG86QXV0aG9yPkRhdmlkIEQuIEtpbHplcjwvbzpB
dXRob3I+CiAgPG86TGFzdEF1dGhvcj5EYXZpZCBELiBLaWx6ZXI8L286TGFzdEF1dGhvcj4KICA8
bzpSZXZpc2lvbj4xPC9vOlJldmlzaW9uPgogIDxvOlRvdGFsVGltZT4xPC9vOlRvdGFsVGltZT4K
ICA8bzpDcmVhdGVkPjIwMDYtMDctMTBUMDM6MDU6MDBaPC9vOkNyZWF0ZWQ+CiAgPG86TGFzdFNh
dmVkPjIwMDYtMDctMTBUMDM6MDY6MDBaPC9vOkxhc3RTYXZlZD4KICA8bzpQYWdlcz4yPC9vOlBh
Z2VzPgogIDxvOldvcmRzPjUxMTwvbzpXb3Jkcz4KICA8bzpDaGFyYWN0ZXJzPjI5MTY8L286Q2hh
cmFjdGVycz4KICA8bzpDb21wYW55PmlzbCBlbXBsb3llZTwvbzpDb21wYW55PgogIDxvOkxpbmVz
PjI0PC9vOkxpbmVzPgogIDxvOlBhcmFncmFwaHM+NjwvbzpQYXJhZ3JhcGhzPgogIDxvOkNoYXJh
Y3RlcnNXaXRoU3BhY2VzPjM0MjE8L286Q2hhcmFjdGVyc1dpdGhTcGFjZXM+CiAgPG86VmVyc2lv
bj4xMC42NzE0PC9vOlZlcnNpb24+CiA8L286RG9jdW1lbnRQcm9wZXJ0aWVzPgo8L3htbD48IVtl
bmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDx3OldvcmREb2N1bWVudD4KICA8dzpH
cmFtbWFyU3RhdGU+Q2xlYW48L3c6R3JhbW1hclN0YXRlPgogIDx3OkNvbXBhdGliaWxpdHk+CiAg
IDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+CiAgIDx3OlNuYXBUb0dyaWRJbkNlbGwvPgogICA8dzpX
cmFwVGV4dFdpdGhQdW5jdC8+CiAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+CiAgPC93OkNvbXBh
dGliaWxpdHk+CiAgPHc6QnJvd3NlckxldmVsPk1pY3Jvc29mdEludGVybmV0RXhwbG9yZXI0PC93
OkJyb3dzZXJMZXZlbD4KIDwvdzpXb3JkRG9jdW1lbnQ+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1b
aWYgIW1zb10+PG9iamVjdAogY2xhc3NpZD0iY2xzaWQ6Mzg0ODE4MDctQ0EwRS00MkQyLUJGMzkt
QjMzQUYxMzVDQzREIiBpZD1pZW9vdWk+PC9vYmplY3Q+CjxzdHlsZT4Kc3QxXDoqe2JlaGF2aW9y
OnVybCgjaWVvb3VpKSB9Cjwvc3R5bGU+CjwhW2VuZGlmXS0tPgo8c3R5bGU+CjwhLS0KIC8qIFN0
eWxlIERlZmluaXRpb25zICovCiBwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9y
bWFsCgl7bXNvLXN0eWxlLXBhcmVudDoiIjsKCW1hcmdpbjowaW47CgltYXJnaW4tYm90dG9tOi4w
MDAxcHQ7Cgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Cglmb250LXNpemU6MTIuMHB0OwoJ
Zm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cgltc28tZmFyZWFzdC1mb250LWZhbWlseToi
VGltZXMgTmV3IFJvbWFuIjt9CnNwYW4ucGFzczEKCXttc28tc3R5bGUtbmFtZTpwYXNzMTsKCWNv
bG9yOmdyZWVuOwoJZm9udC13ZWlnaHQ6Ym9sZDt9CnNwYW4uZmFpbDEKCXttc28tc3R5bGUtbmFt
ZTpmYWlsMTsKCWNvbG9yOnJlZDsKCWZvbnQtd2VpZ2h0OmJvbGQ7fQpzcGFuLkdyYW1FCgl7bXNv
LXN0eWxlLW5hbWU6IiI7Cgltc28tZ3JhbS1lOnllczt9CkBwYWdlIFNlY3Rpb24xCgl7c2l6ZTo4
LjVpbiAxMS4waW47CgltYXJnaW46MS4waW4gMS4yNWluIDEuMGluIDEuMjVpbjsKCW1zby1oZWFk
ZXItbWFyZ2luOi41aW47Cgltc28tZm9vdGVyLW1hcmdpbjouNWluOwoJbXNvLXBhcGVyLXNvdXJj
ZTowO30KZGl2LlNlY3Rpb24xCgl7cGFnZTpTZWN0aW9uMTt9Ci0tPgo8L3N0eWxlPgo8IS0tW2lm
IGd0ZSBtc28gMTBdPgo8c3R5bGU+CiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwogdGFibGUuTXNv
Tm9ybWFsVGFibGUKCXttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsKCW1zby10c3R5bGUt
cm93YmFuZC1zaXplOjA7Cgltc28tdHN0eWxlLWNvbGJhbmQtc2l6ZTowOwoJbXNvLXN0eWxlLW5v
c2hvdzp5ZXM7Cgltc28tc3R5bGUtcGFyZW50OiIiOwoJbXNvLXBhZGRpbmctYWx0OjBpbiA1LjRw
dCAwaW4gNS40cHQ7Cgltc28tcGFyYS1tYXJnaW46MGluOwoJbXNvLXBhcmEtbWFyZ2luLWJvdHRv
bTouMDAwMXB0OwoJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwoJZm9udC1zaXplOjEwLjBw
dDsKCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KPC9zdHlsZT4KPCFbZW5kaWZdLS0+
PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CiA8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBz
cGlkbWF4PSIxMDI2Ii8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s
PgogPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPgogIDxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBk
YXRhPSIxIi8+CiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+CjwvaGVhZD4KCjxi
b2R5IGxhbmc9RU4tVVMgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4KCjxkaXYgY2xhc3M9U2Vj
dGlvbjE+Cgo8cCBjbGFzcz1Nc29Ob3JtYWw+PFNFTEVDVCBTSVpFPSIzIj4KPE9QVElPTiBWQUxV
RT0idmFsdWUiPm9uZQo8T1BUSU9OIFZBTFVFPSJ2YWx1ZSI+dHdvCjxPUFRJT04+CjxPUFRJT04+
CjxPUFRJT04+CjxPUFRJT04+CjxPUFRJT04+CjxPUFRJT04+CjxPUFRJT04+CjxPUFRJT04gU0VM
RUNURUQ+CjwvU0VMRUNUPjxvOnA+PC9vOnA+PC9wPgoKPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFu
IHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz4xKSA8c3BhbgpjbGFzcz1HcmFtRT5z
ZXR0aW5nPC9zcGFuPiBsZW5ndGggdG8gYSBuZWdhdGl2ZSA8L3NwYW4+PHN0MTpwbGFjZT48c3Qx
OlBsYWNlTmFtZT48c3BhbgogIHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz5sZW5n
dGg8L3NwYW4+PC9zdDE6UGxhY2VOYW1lPjxzcGFuCiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Iic+PGJyPgogPC9zcGFuPjxzdDE6UGxhY2VUeXBlPjxzcGFuIGNsYXNzPXBhc3MxPjxz
cGFuIHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz5QQVNTPC9zcGFuPjwvc3Bhbj48
L3N0MTpQbGFjZVR5cGU+PC9zdDE6cGxhY2U+PHNwYW4Kc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3Vy
aWVyIE5ldyInPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IC0xOyB0aHJldwpleGNlcHRpb24g
W29iamVjdCBFcnJvcl0uPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPgo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBt
eVNlbGVjdC5zZWxlY3RlZEluZGV4IHNob3VsZCBiZSAxIChvZiB0eXBlCm51bWJlcikuIFdhcyAw
IChvZiB0eXBlIG51bWJlcik8c3BhbiBjbGFzcz1HcmFtRT4uPC9zcGFuPjxicj4KMikgPHNwYW4g
Y2xhc3M9R3JhbUU+c2V0dGluZzwvc3Bhbj4gbGVuZ3RoIHRvIGEgbGFyZ2VyIDwvc3Bhbj48c3Qx
OnBsYWNlPjxzdDE6UGxhY2VOYW1lPjxzcGFuCiAgc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVy
IE5ldyInPmxlbmd0aDwvc3Bhbj48L3N0MTpQbGFjZU5hbWU+PHNwYW4KIHN0eWxlPSdmb250LWZh
bWlseToiQ291cmllciBOZXciJz48YnI+CiA8L3NwYW4+PHN0MTpQbGFjZVR5cGU+PHNwYW4gY2xh
c3M9cGFzczE+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlBBU1M8L3Nw
YW4+PC9zcGFuPjwvc3QxOlBsYWNlVHlwZT48L3N0MTpwbGFjZT48c3BhbgpzdHlsZT0nZm9udC1m
YW1pbHk6IkNvdXJpZXIgTmV3Iic+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDU8YnI+Cjxz
cGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggc2hvdWxk
IGJlIDEgKG9mIHR5cGUKbnVtYmVyKS4gV2FzIDAgKG9mIHR5cGUgbnVtYmVyKTxzcGFuIGNsYXNz
PUdyYW1FPi48L3NwYW4+PGJyPgozKSA8c3BhbiBjbGFzcz1HcmFtRT5zZXR0aW5nPC9zcGFuPiBs
ZW5ndGggdG8gYSBzbWFsbGVyIDwvc3Bhbj48c3QxOnBsYWNlPjxzdDE6UGxhY2VOYW1lPjxzcGFu
CiAgc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPmxlbmd0aDwvc3Bhbj48L3N0MTpQ
bGFjZU5hbWU+PHNwYW4KIHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz48YnI+CiA8
L3NwYW4+PHN0MTpQbGFjZVR5cGU+PHNwYW4gY2xhc3M9cGFzczE+PHNwYW4gc3R5bGU9J2ZvbnQt
ZmFtaWx5OiJDb3VyaWVyIE5ldyInPlBBU1M8L3NwYW4+PC9zcGFuPjwvc3QxOlBsYWNlVHlwZT48
L3N0MTpwbGFjZT48c3BhbgpzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+IG15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDI8YnI+CjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggc2hvdWxkIGJlIDEgKG9mIHR5cGUKbnVtYmVyKS4gV2Fz
IDAgKG9mIHR5cGUgbnVtYmVyKTxzcGFuIGNsYXNzPUdyYW1FPi48L3NwYW4+PGJyPgo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxPGJyPgo8
c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IHNob3Vs
ZCBiZSAtMSAob2YgdHlwZQpudW1iZXIpLiBXYXMgMCAob2YgdHlwZSBudW1iZXIpPHNwYW4gY2xh
c3M9R3JhbUU+Ljwvc3Bhbj48YnI+CjQpIDxzcGFuIGNsYXNzPUdyYW1FPnNldHRpbmc8L3NwYW4+
IGxlbmd0aCB0byB0aGUgc2FtZSA8L3NwYW4+PHN0MTpwbGFjZT48c3QxOlBsYWNlTmFtZT48c3Bh
bgogIHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz5sZW5ndGg8L3NwYW4+PC9zdDE6
UGxhY2VOYW1lPjxzcGFuCiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+PGJyPgog
PC9zcGFuPjxzdDE6UGxhY2VUeXBlPjxzcGFuIGNsYXNzPXBhc3MxPjxzcGFuIHN0eWxlPSdmb250
LWZhbWlseToiQ291cmllciBOZXciJz5QQVNTPC9zcGFuPjwvc3Bhbj48L3N0MTpQbGFjZVR5cGU+
PC9zdDE6cGxhY2U+PHNwYW4Kc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPiBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPgo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFu
PiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IHNob3VsZCBiZSAxIChvZiB0eXBlCm51bWJlcikuIFdh
cyAwIChvZiB0eXBlIG51bWJlcik8c3BhbiBjbGFzcz1HcmFtRT4uPC9zcGFuPjxicj4KNSkgc2V0
dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG51bGw8YnI+CjxzcGFuIGNsYXNzPXBh
c3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+CjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+CjYp
IHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiB1bmRlZmluZWQ8YnI+CjxzcGFu
IGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+
CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMg
LTE8YnI+CjcpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBub24tbnVtZXJp
YyBzdHJpbmc8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoIGlzIDA8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0
LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+CjgpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2Vy
IHZhbHVlOiBvYmplY3Q8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15
U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+CjkpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1p
bnRlZ2VyIHZhbHVlOiBuZWdhdGl2ZSBpbmZpbml0eTxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFT
Uzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMDxicj4KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMTxicj4KMTApIHNldHRp
bmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBOYU48YnI+CjxzcGFuIGNsYXNzPXBhc3Mx
PlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDA8YnI+CjxzcGFuIGNsYXNz
PXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTE8YnI+CjExKSBz
ZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogcG9zaXRpdmUgaW5maW5pdHk8YnI+
CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlz
IDA8YnI+CjxzcGFuIGNsYXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5k
ZXggaXMgLTE8YnI+CjEyKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogZmxv
YXRpbmcgcG9pbnQgbnVtYmVyPGJyPgo8c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyPGJyPgo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFu
PiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IHNob3VsZCBiZSAxIChvZiB0eXBlCm51bWJlcikuIFdh
cyAwIChvZiB0eXBlIG51bWJlcik8c3BhbiBjbGFzcz1HcmFtRT4uPC9zcGFuPjxicj4KMTMpIHNl
dHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlz
dDxicj4KPHNwYW4gY2xhc3M9cGFzczE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMTE8YnI+CjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IG15U2VsZWN0LnNlbGVj
dGVkSW5kZXggc2hvdWxkIGJlIDEwIChvZiB0eXBlCm51bWJlcikuIDxzcGFuIGNsYXNzPUdyYW1F
Pldhczwvc3Bhbj4gOSAob2YgdHlwZSBudW1iZXIpLjxicj4KMTQpIDxzcGFuIGNsYXNzPUdyYW1F
PnNldHRpbmc8L3NwYW4+IGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXg8YnI+CjxzcGFuIGNs
YXNzPXBhc3MxPlBBU1M8L3NwYW4+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDExPGJyPgo8
c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IHNob3Vs
ZCBiZSAxMCAob2YgdHlwZQpudW1iZXIpLiA8c3BhbiBjbGFzcz1HcmFtRT5XYXM8L3NwYW4+IDkg
KG9mIHR5cGUgbnVtYmVyKS48YnI+CjE1KSA8c3BhbiBjbGFzcz1HcmFtRT50cnlpbmc8L3NwYW4+
IHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uOgpudWxsPGJyPgo8c3BhbiBj
bGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMDxicj4K
PHNwYW4gY2xhc3M9ZmFpbDE+RkFJTDwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBzaG91
bGQgYmUgLTEgKG9mIHR5cGUKbnVtYmVyKS4gPHNwYW4gY2xhc3M9R3JhbUU+V2FzPC9zcGFuPiA5
IChvZiB0eXBlIG51bWJlcikuPGJyPgoxNikgPHNwYW4gY2xhc3M9R3JhbUU+dHJ5aW5nPC9zcGFu
PiB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjoKdW5kZWZpbmVkPGJyPgo8
c3BhbiBjbGFzcz1wYXNzMT5QQVNTPC9zcGFuPiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAx
MDxicj4KPHNwYW4gY2xhc3M9ZmFpbDE+RkFJTDwvc3Bhbj4gbXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCBzaG91bGQgYmUgLTEgKG9mIHR5cGUKbnVtYmVyKS4gPHNwYW4gY2xhc3M9R3JhbUU+V2FzPC9z
cGFuPiA5IChvZiB0eXBlIG51bWJlcikuPGJyPgoxNykgPHNwYW4gY2xhc3M9R3JhbUU+dHJ5aW5n
PC9zcGFuPiB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjoKc2VsZWN0IDwv
c3Bhbj48c3QxOnBsYWNlPjxzdDE6UGxhY2VOYW1lPjxzcGFuIHN0eWxlPSdmb250LWZhbWlseToi
Q291cmllciBOZXciJz5lbGVtZW50PC9zcGFuPjwvc3QxOlBsYWNlTmFtZT48c3Bhbgogc3R5bGU9
J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjxicj4KIDwvc3Bhbj48c3QxOlBsYWNlVHlwZT48
c3BhbiBjbGFzcz1wYXNzMT48c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+
UEFTUzwvc3Bhbj48L3NwYW4+PC9zdDE6UGxhY2VUeXBlPjwvc3QxOnBsYWNlPjxzcGFuCnN0eWxl
PSdmb250LWZhbWlseToiQ291cmllciBOZXciJz4gbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBteVNl
bGVjdDsgdGhyZXcKZXhjZXB0aW9uIFtvYmplY3QgRXJyb3JdLjxicj4KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8YnI+CjxzcGFuIGNs
YXNzPWZhaWwxPkZBSUw8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggc2hvdWxkIGJlIC0x
IChvZiB0eXBlCm51bWJlcikuIDxzcGFuIGNsYXNzPUdyYW1FPldhczwvc3Bhbj4gOSAob2YgdHlw
ZSBudW1iZXIpLjxicj4KMTgpIDxzcGFuIGNsYXNzPUdyYW1FPnRyeWluZzwvc3Bhbj4gdG8gc2V0
IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZAppbmRleDogbmVnYXRpdmUgPC9zcGFu
PjxzdDE6cGxhY2U+PHN0MTpQbGFjZU5hbWU+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3Vy
aWVyIE5ldyInPmluZmluaXR5PC9zcGFuPjwvc3QxOlBsYWNlTmFtZT48c3Bhbgogc3R5bGU9J2Zv
bnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPjxicj4KIDwvc3Bhbj48c3QxOlBsYWNlVHlwZT48c3Bh
biBjbGFzcz1wYXNzMT48c3BhbiBzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+UEFT
Uzwvc3Bhbj48L3NwYW4+PC9zdDE6UGxhY2VUeXBlPjwvc3QxOnBsYWNlPjxzcGFuCnN0eWxlPSdm
b250LWZhbWlseToiQ291cmllciBOZXciJz4gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTA8
YnI+CjxzcGFuIGNsYXNzPWZhaWwxPkZBSUw8L3NwYW4+IG15U2VsZWN0LnNlbGVjdGVkSW5kZXgg
c2hvdWxkIGJlIC0xIChvZiB0eXBlCm51bWJlcikuIDxzcGFuIGNsYXNzPUdyYW1FPldhczwvc3Bh
bj4gOSAob2YgdHlwZSBudW1iZXIpLjxicj4KMTkpIDxzcGFuIGNsYXNzPUdyYW1FPnRyeWluZzwv
c3Bhbj4gdG8gc2V0IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZAppbmRleDogPC9z
cGFuPjxzdDE6cGxhY2U+PHN0MTpQbGFjZU5hbWU+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJD
b3VyaWVyIE5ldyInPk5hTjwvc3Bhbj48L3N0MTpQbGFjZU5hbWU+PHNwYW4KIHN0eWxlPSdmb250
LWZhbWlseToiQ291cmllciBOZXciJz48YnI+CiA8L3NwYW4+PHN0MTpQbGFjZVR5cGU+PHNwYW4g
Y2xhc3M9cGFzczE+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyInPlBBU1M8
L3NwYW4+PC9zcGFuPjwvc3QxOlBsYWNlVHlwZT48L3N0MTpwbGFjZT48c3BhbgpzdHlsZT0nZm9u
dC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwPGJy
Pgo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBteVNlbGVjdC5zZWxlY3RlZEluZGV4IHNo
b3VsZCBiZSAtMSAob2YgdHlwZQpudW1iZXIpLiA8c3BhbiBjbGFzcz1HcmFtRT5XYXM8L3NwYW4+
IDkgKG9mIHR5cGUgbnVtYmVyKS48YnI+CjIwKSA8c3BhbiBjbGFzcz1HcmFtRT50cnlpbmc8L3Nw
YW4+IHRvIHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQKaW5kZXg6IHBvc2l0
aXZlIDwvc3Bhbj48c3QxOnBsYWNlPjxzdDE6UGxhY2VOYW1lPjxzcGFuIHN0eWxlPSdmb250LWZh
bWlseToiQ291cmllciBOZXciJz5pbmZpbml0eTwvc3Bhbj48L3N0MTpQbGFjZU5hbWU+PHNwYW4K
IHN0eWxlPSdmb250LWZhbWlseToiQ291cmllciBOZXciJz48YnI+CiA8L3NwYW4+PHN0MTpQbGFj
ZVR5cGU+PHNwYW4gY2xhc3M9cGFzczE+PHNwYW4gc3R5bGU9J2ZvbnQtZmFtaWx5OiJDb3VyaWVy
IE5ldyInPlBBU1M8L3NwYW4+PC9zcGFuPjwvc3QxOlBsYWNlVHlwZT48L3N0MTpwbGFjZT48c3Bh
bgpzdHlsZT0nZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Iic+IG15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoIGlzIDEwPGJyPgo8c3BhbiBjbGFzcz1mYWlsMT5GQUlMPC9zcGFuPiBteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IHNob3VsZCBiZSAtMSAob2YgdHlwZQpudW1iZXIpLiA8c3BhbiBjbGFzcz1HcmFt
RT5XYXM8L3NwYW4+IDkgKG9mIHR5cGUgbnVtYmVyKS48YnI+Cjxicj4KPHNwYW4gY2xhc3M9cGFz
czE+UEFTUzwvc3Bhbj4gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWU8YnI+Cjxicj4KPHNwYW4g
Y2xhc3M9cGFzczE+VEVTVCBDT01QTEVURTwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cgo8
L2Rpdj4KCjwvYm9keT4KCjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9339</attachid>
            <date>2006-07-10 07:34:52 -0700</date>
            <delta_ts>2006-07-10 07:38:27 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-9179-v4.diff</filename>
            <type>text/plain</type>
            <size>85109</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzAwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDYtMDctMTAgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTc5CisgICAgICAgICAgSW1wbGVtZW50IHNlbGVjdC5vcHRpb25z
LmFkZCgpIG1ldGhvZAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOiBBZGRlZCBvdmVy
bG9hZGVkIEtKUzo6SlNWYWx1ZTo6dG9JbnQzMigpIG1ldGhvZC4KKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBbHRlcmVkIGF0dHJpYnV0ZXMgbWV0
YWRhdGEgZm9yCisgICAgICAgIGtqcy92YWx1ZS5oIHRvIG1ha2UgaXQgYXZhaWxhYmxlIGFzIGEg
Zm9yd2FyZGVkIGhlYWRlci4KKyAgICAgICAgKiBranMvbG9va3VwLmg6CisgICAgICAgIChLSlM6
Omxvb2t1cFB1dCk6IEV4dHJhY3RlZCBhIGxvb2t1cFB1dCgpIG1ldGhvZCBmcm9tIHRoZSBleGlz
dGluZyBsb29rdXBQdXQoKSBtZXRob2QuCisgICAgICAgIFRoZSBuZXcgbWV0aG9kIHJldHVybnMg
YSBib29sZWFuIHZhbHVlIGlmIG5vIGVudHJ5IGlzIGZvdW5kIGluIHRoZSBsb29rdXAgdGFibGUu
CisgICAgICAgICoga2pzL3ZhbHVlLmNwcDoKKyAgICAgICAgKEtKUzo6SlNWYWx1ZTo6dG9JbnQz
Mik6IE92ZXJsb2FkZWQgdG9JbnQzMigpIG1ldGhvZCB3aXRoIGJvb2xlYW4gIk9rIiBhcmd1bWVu
dC4KKyAgICAgICAgKiBranMvdmFsdWUuaDogRGl0dG8uCisKIDIwMDYtMDctMDggIFRpbSBPbWVy
bmljayAgPHRpbW9AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5k
ZXg6IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJKHJldmlzaW9uIDE1MzAwKQorKysgSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksNiArMjM5
LDcgQEAgX19aTkszS0pTNkpTQ2VsbDlnZXRTdHJpbmdFUk5TXzdVU3RyaW5nRQogX19aTkszS0pT
NkpTQ2VsbDlnZXRTdHJpbmdFdgogX19aTkszS0pTNkpTQ2VsbDlnZXRVSW50MzJFUmoKIF9fWk5L
M0tKUzdKU1ZhbHVlN3RvSW50MzJFUE5TXzlFeGVjU3RhdGVFCitfX1pOSzNLSlM3SlNWYWx1ZTd0
b0ludDMyRVBOU185RXhlY1N0YXRlRVJiCiBfX1pOSzNLSlM3SlNWYWx1ZTh0b1VJbnQzMkVQTlNf
OUV4ZWNTdGF0ZUUKIF9fWk5LM0tKUzdKU1ZhbHVlOXRvSW50ZWdlckVQTlNfOUV4ZWNTdGF0ZUUK
IF9fWk5LM0tKUzdVU3RyaW5nMTBVVEY4U3RyaW5nRXYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMTUzMDApCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAKIAkJOTMy
RjVCNTEwODIyQTFDNzAwNzM2OTc1IC8qIG51bWJlcl9vYmplY3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODcxMDI1NTU5N0QwMUZGNjBGNyAv
KiBudW1iZXJfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTMyRjVCNTMwODIyQTFDNzAwNzM2OTc1IC8qIG9iamVjdF9vYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODc0MDI1
NTU5N0QwMUZGNjBGNyAvKiBvYmplY3Rfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTQwODIyQTFDNzAwNzM2OTc1IC8qIG9i
amVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5
MkE4NzYwMjU1NTk3RDAxRkY2MEY3IC8qIG9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzMkY1QjU1MDgyMkExQzcwMDczNjk3NSAvKiBv
cGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg3ODAyNTU1OTdEMDFGRjYwRjcgLyogb3BlcmF0aW9ucy5oICovOyB9OworCQk5MzJG
NUI1NTA4MjJBMUM3MDA3MzY5NzUgLyogb3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NzgwMjU1NTk3RDAxRkY2MEY3IC8qIG9w
ZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk5MzJGNUI1NjA4MjJBMUM3MDA3MzY5NzUgLyogcHJvcGVydHlfbWFwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3QTAyNTU1OTdEMDFG
RjYwRjcgLyogcHJvcGVydHlfbWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTcwODIyQTFDNzAwNzM2OTc1IC8qIHJlZ2V4cF9vYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJB
ODdDMDI1NTU5N0QwMUZGNjBGNyAvKiByZWdleHBfb2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCNTgwODIyQTFDNzAwNzM2OTc1
IC8qIHJlZ2V4cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjY5MkE4N0UwMjU1NTk3RDAxRkY2MEY3IC8qIHJlZ2V4cC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMv
bG9va3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL2xvb2t1cC5oCShyZXZp
c2lvbiAxNTMwMCkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9sb29rdXAuaAkod29ya2luZyBjb3B5
KQpAQCAtMjI5LDE4ICsyMjksMjAgQEAgbmFtZXNwYWNlIEtKUyB7CiAKICAgLyoqCiAgICAqIFRo
aXMgb25lIGlzIGZvciAicHV0Ii4KLSAgICogTG9va3VwIGhhc2ggZW50cnkgZm9yIHByb3BlcnR5
IHRvIGJlIHNldCwgYW5kIHNldCB0aGUgdmFsdWUuCisgICAqIEl0IGxvb2tzIHVwIGEgaGFzaCBl
bnRyeSBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIHNldC4gIElmIGFuIGVudHJ5CisgICAqIGlzIGZv
dW5kIGl0IHNldHMgdGhlIHZhbHVlIGFuZCByZXR1cm5zIHRydWUsIGVsc2UgaXQgcmV0dXJucyBm
YWxzZS4KICAgICovCi0gIHRlbXBsYXRlIDxjbGFzcyBUaGlzSW1wLCBjbGFzcyBQYXJlbnRJbXA+
Ci0gIGlubGluZSB2b2lkIGxvb2t1cFB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElkZW50aWZp
ZXIgJnByb3BlcnR5TmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgKnZhbHVl
LCBpbnQgYXR0ciwKKyAgdGVtcGxhdGUgPGNsYXNzIFRoaXNJbXA+CisgIGlubGluZSBib29sIGxv
b2t1cFB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUqIHZhbHVlLCBpbnQgYXR0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEhhc2hUYWJsZSogdGFibGUsIFRoaXNJbXAqIHRoaXNP
YmopCiAgIHsKICAgICBjb25zdCBIYXNoRW50cnkqIGVudHJ5ID0gTG9va3VwOjpmaW5kRW50cnko
dGFibGUsIHByb3BlcnR5TmFtZSk7CiAKLSAgICBpZiAoIWVudHJ5KSAvLyBub3QgZm91bmQ6IGZv
cndhcmQgdG8gcGFyZW50Ci0gICAgICB0aGlzT2JqLT5QYXJlbnRJbXA6OnB1dChleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBhdHRyKTsKLSAgICBlbHNlIGlmIChlbnRyeS0+YXR0ciAmIEZ1bmN0
aW9uKSAvLyBmdW5jdGlvbjogcHV0IGFzIG92ZXJyaWRlIHByb3BlcnR5CisgICAgaWYgKCFlbnRy
eSkKKyAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChlbnRyeS0+YXR0ciAmIEZ1bmN0aW9u
KSAvLyBmdW5jdGlvbjogcHV0IGFzIG92ZXJyaWRlIHByb3BlcnR5CiAgICAgICB0aGlzT2JqLT5K
U09iamVjdDo6cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOwogICAgIGVsc2Ug
aWYgKGVudHJ5LT5hdHRyICYgUmVhZE9ubHkpIC8vIHJlYWRvbmx5ISBDYW4ndCBwdXQhCiAjaWZk
ZWYgS0pTX1ZFUkJPU0UKQEAgLTI1MCw2ICsyNTIsMjMgQEAgbmFtZXNwYWNlIEtKUyB7CiAjZW5k
aWYKICAgICBlbHNlCiAgICAgICB0aGlzT2JqLT5wdXRWYWx1ZVByb3BlcnR5KGV4ZWMsIGVudHJ5
LT52YWx1ZSwgdmFsdWUsIGF0dHIpOworCisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICAvKioK
KyAgICogVGhpcyBvbmUgaXMgZm9yICJwdXQiLgorICAgKiBJdCBjYWxscyBsb29rdXBQdXQ8VGhp
c0ltcD4oKSB0byBzZXQgdGhlIHZhbHVlLiAgSWYgdGhhdCBjYWxsCisgICAqIHJldHVybnMgZmFs
c2UgKG1lYW5pbmcgbm8gZW50cnkgaW4gdGhlIGhhc2ggdGFibGUgd2FzIGZvdW5kKSwKKyAgICog
dGhlbiBpdCBjYWxscyBwdXQoKSBvbiB0aGUgUGFyZW50SW1wIGNsYXNzLgorICAgKi8KKyAgdGVt
cGxhdGUgPGNsYXNzIFRoaXNJbXAsIGNsYXNzIFBhcmVudEltcD4KKyAgaW5saW5lIHZvaWQgbG9v
a3VwUHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVydHlOYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSogdmFsdWUsIGludCBhdHRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSGFzaFRhYmxlKiB0YWJsZSwgVGhpc0ltcCogdGhpc09i
aikKKyAgeworICAgIGlmICghbG9va3VwUHV0PFRoaXNJbXA+KGV4ZWMsIHByb3BlcnR5TmFtZSwg
dmFsdWUsIGF0dHIsIHRhYmxlLCB0aGlzT2JqKSkKKyAgICAgIHRoaXNPYmotPlBhcmVudEltcDo6
cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIpOyAvLyBub3QgZm91bmQ6IGZvcndh
cmQgdG8gcGFyZW50CiAgIH0KIAogfSAvLyBuYW1lc3BhY2UKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2tqcy92YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL3ZhbHVlLmNw
cAkocmV2aXNpb24gMTUzMDApCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvdmFsdWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NSwxNSArNTUsMTkgQEAgZG91YmxlIEpTVmFsdWU6OnRvSW50ZWdlcihF
eGVjU3RhdGUgKmV4ZQogICAgIHJldHVybiByb3VuZFZhbHVlKGV4ZWMsIGNvbnN0X2Nhc3Q8SlNW
YWx1ZSo+KHRoaXMpKTsKIH0KIAotaW50MzJfdCBKU1ZhbHVlOjp0b0ludDMyKEV4ZWNTdGF0ZSAq
ZXhlYykgY29uc3QKK2ludDMyX3QgSlNWYWx1ZTo6dG9JbnQzMihFeGVjU3RhdGUqIGV4ZWMsIGJv
b2wmIG9rKSBjb25zdAogeworICAgIG9rID0gdHJ1ZTsKKwogICAgIHVpbnQzMl90IGk7CiAgICAg
aWYgKGdldFVJbnQzMihpKSkKICAgICAgICAgcmV0dXJuIGk7CiAKICAgICBkb3VibGUgZCA9IHJv
dW5kVmFsdWUoZXhlYywgY29uc3RfY2FzdDxKU1ZhbHVlKj4odGhpcykpOwotICAgIGlmIChpc05h
TihkKSB8fCBpc0luZihkKSkKKyAgICBpZiAoaXNOYU4oZCkgfHwgaXNJbmYoZCkpIHsKKyAgICAg
ICAgb2sgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIGRvdWJsZSBkMzIg
PSBmbW9kKGQsIEQzMik7CiAKICAgICBpZiAoZDMyID49IEQzMiAvIDIpCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ranMvdmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvdmFs
dWUuaAkocmV2aXNpb24gMTUzMDApCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvdmFsdWUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsNyArOTQsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBJbnRlZ2VyIGNv
bnZlcnNpb25zLgogICAgIGRvdWJsZSB0b0ludGVnZXIoRXhlY1N0YXRlICpleGVjKSBjb25zdDsK
LSAgICBpbnQzMl90IHRvSW50MzIoRXhlY1N0YXRlICpleGVjKSBjb25zdDsKKyAgICBpbnQzMl90
IHRvSW50MzIoRXhlY1N0YXRlKikgY29uc3Q7CisgICAgaW50MzJfdCB0b0ludDMyKEV4ZWNTdGF0
ZSosIGJvb2wmIE9rKSBjb25zdDsKICAgICB1aW50MzJfdCB0b1VJbnQzMihFeGVjU3RhdGUgKmV4
ZWMpIGNvbnN0OwogICAgIHVpbnQxNl90IHRvVUludDE2KEV4ZWNTdGF0ZSAqZXhlYykgY29uc3Q7
CiAKQEAgLTM2OSw2ICszNzAsMTIgQEAgaW5saW5lIGJvb2wgSlNWYWx1ZTo6dG9Cb29sZWFuKEV4
ZWNTdGF0ZQogICAgIHJldHVybiBKU0ltbWVkaWF0ZTo6aXNJbW1lZGlhdGUodGhpcykgPyBKU0lt
bWVkaWF0ZTo6dG9Cb29sZWFuKHRoaXMpIDogZG93bmNhc3QoKS0+dG9Cb29sZWFuKGV4ZWMpOwog
fQogCitpbmxpbmUgaW50MzJfdCBKU1ZhbHVlOjp0b0ludDMyKEV4ZWNTdGF0ZSogZXhlYykgY29u
c3QKK3sKKyAgICBib29sIGlnbm9yZWQ7CisgICAgcmV0dXJuIHRvSW50MzIoZXhlYywgaWdub3Jl
ZCk7Cit9CisKIGlubGluZSBkb3VibGUgSlNWYWx1ZTo6dG9OdW1iZXIoRXhlY1N0YXRlICpleGVj
KSBjb25zdAogewogICAgIHJldHVybiBKU0ltbWVkaWF0ZTo6aXNJbW1lZGlhdGUodGhpcykgPyBK
U0ltbWVkaWF0ZTo6dG9Eb3VibGUodGhpcykgOiBkb3duY2FzdCgpLT50b051bWJlcihleGVjKTsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MzAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDYtMDctMTAgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSB0ZXN0IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hv
d19idWcuY2dpP2lkPTkxNzkKKyAgICAgICAgICBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlvbnMuYWRk
KCkgbWV0aG9kCisKKyAgICAgICAgKiBmYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0
aXBsZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgdGVzdCByZXN1bHRzLgorICAgICAgICAqIGZhc3Qv
ZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLmh0bWw6IFVwZGF0ZWQgdG8gcHJpbnQg
Y29tbWVudHMgYmV0d2VlbgorICAgICAgICB0ZXN0cyB0byBtYWtlIGZhaWx1cmVzIGVhc2llciB0
byB0cmFjayBkb3duLgorICAgICAgICAqIGZhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LWV4
cGVjdGVkLnR4dDogTWlycm9yZWQgdXBkYXRlcyBmcm9tIHNlbGVjdC1zZWxlY3RlZEluZGV4LW11
bHRpcGxlLmh0bWwKKyAgICAgICAgKiBmYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC5odG1s
OiBEaXR0by4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1hZGQu
anM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQuaHRtbDog
QWRkZWQuCisKIDIwMDYtMDctMTAgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Nl
bGVjdC1zZWxlY3RlZEluZGV4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1
MzAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMwICsxLDcwIEBACiAKKzEpIHNldHRpbmcgbGVu
Z3RoIHRvIGEgbmVnYXRpdmUgbGVuZ3RoCitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0g
LTE7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5ERVhfU0laRV9FUlI6IERPTSBFeGNlcHRpb24g
MS4KIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IGlzIDEKKzIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aAogUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA1CiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5k
ZXggaXMgMQorMykgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aAogUEFTUyBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMg
MQogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxCiBQQVNTIG15U2VsZWN0LnNlbGVj
dGVkSW5kZXggaXMgLTEKKzQpIHNldHRpbmcgbGVuZ3RoIHRvIHRoZSBzYW1lIGxlbmd0aAogUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5k
ZXggaXMgMQorNSkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG51bGwKIFBB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAogUEFTUyBteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IGlzIC0xCis2KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogdW5kZWZp
bmVkCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1MgbXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCBpcyAtMQorNykgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6
IG5vbi1udW1lcmljIHN0cmluZwogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCiBQ
QVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzgpIHNldHRpbmcgbGVuZ3RoIHRvIG5v
bi1pbnRlZ2VyIHZhbHVlOiBvYmplY3QKK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMg
MAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCis5KSBzZXR0aW5nIGxlbmd0aCB0
byBub24taW50ZWdlciB2YWx1ZTogbmVnYXRpdmUgaW5maW5pdHkKK1BBU1MgbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCisxMCkg
c2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IE5hTgorUEFTUyBteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzEx
KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogcG9zaXRpdmUgaW5maW5pdHkK
K1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZEluZGV4IGlzIC0xCisxMikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IGZs
b2F0aW5nIHBvaW50IG51bWJlcgogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQ
QVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMQorMTMpIHNldHRpbmcgYW4gZWxlbWVudCBi
eSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdAogUEFTUyBteVNlbGVjdC5v
cHRpb25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDEwCisx
NCkgc2V0dGluZyBhbiBleGlzdGluZyBlbGVtZW50IGJ5IGluZGV4CiBQQVNTIG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIGlzIDExCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMTAKKzE1
KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IG51bGwKIFBB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJ
bmRleCBpcyAtMQorMTYpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9w
dGlvbjogdW5kZWZpbmVkCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwCiBQQVNT
IG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzE3KSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1l
bnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IHNlbGVjdCBlbGVtZW50CitQQVNTIG15U2VsZWN0Lm9w
dGlvbnNbMTBdID0gbXlTZWxlY3Q7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRD
SF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlz
IDEwCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzE4KSB0cnlpbmcgdG8gc2V0
IGEgb3B0aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBpbmRleDogbmVnYXRpdmUgaW5maW5p
dHkKK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTAKK1BBU1MgbXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCBpcyAtMQorMTkpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2lu
ZyBhbiBpbnZhbGlkIGluZGV4OiBOYU4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMg
MTAKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorMjApIHRyeWluZyB0byBzZXQg
YSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBwb3NpdGl2ZSBpbmZpbml0
eQorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMAorUEFTUyBteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IGlzIC0xCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRJ
bmRleC1tdWx0aXBsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNTMwMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11
bHRpcGxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzMCArMSw3MCBAQAogCisx
KSBzZXR0aW5nIGxlbmd0aCB0byBhIG5lZ2F0aXZlIGxlbmd0aAorUEFTUyBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCA9IC0xOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOREVYX1NJWkVfRVJSOiBE
T00gRXhjZXB0aW9uIDEuCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKIFBBU1Mg
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisyKSBzZXR0aW5nIGxlbmd0aCB0byBhIGxhcmdl
ciBsZW5ndGgKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgNQogUEFTUyBteVNlbGVj
dC5zZWxlY3RlZEluZGV4IGlzIDAKKzMpIHNldHRpbmcgbGVuZ3RoIHRvIGEgc21hbGxlciBsZW5n
dGgKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IGlzIDAKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMQogUEFTUyBt
eVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIDAKKzQpIHNldHRpbmcgbGVuZ3RoIHRvIHRoZSBzYW1l
IGxlbmd0aAogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0
LnNlbGVjdGVkSW5kZXggaXMgMAorNSkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFs
dWU6IG51bGwKIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAogUEFTUyBteVNlbGVj
dC5zZWxlY3RlZEluZGV4IGlzIC0xCis2KSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2
YWx1ZTogdW5kZWZpbmVkCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1Mg
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAtMQorNykgc2V0dGluZyBsZW5ndGggdG8gbm9uLWlu
dGVnZXIgdmFsdWU6IG5vbi1udW1lcmljIHN0cmluZwogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCBpcyAwCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgLTEKKzgpIHNldHRpbmcg
bGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBvYmplY3QKK1BBU1MgbXlTZWxlY3Qub3B0aW9u
cy5sZW5ndGggaXMgMAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCis5KSBzZXR0
aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbmVnYXRpdmUgaW5maW5pdHkKK1BBU1Mg
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZEluZGV4
IGlzIC0xCisxMCkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IE5hTgorUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5k
ZXggaXMgLTEKKzExKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogcG9zaXRp
dmUgaW5maW5pdHkKK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBteVNl
bGVjdC5zZWxlY3RlZEluZGV4IGlzIC0xCisxMikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVn
ZXIgdmFsdWU6IGZsb2F0aW5nIHBvaW50IG51bWJlcgogUEFTUyBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCBpcyAyCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorMTMpIHNldHRpbmcg
YW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlzdAogUEFT
UyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxMQogUEFTUyBteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IGlzIDAKKzE0KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXgKIFBBU1Mg
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMTEKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRl
eCBpcyAwCisxNSkgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9u
OiBudWxsCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwCiBQQVNTIG15U2VsZWN0
LnNlbGVjdGVkSW5kZXggaXMgMAorMTYpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mg
bm90IGFuIG9wdGlvbjogdW5kZWZpbmVkCiBQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlz
IDEwCiBQQVNTIG15U2VsZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorMTcpIHRyeWluZyB0byBzZXQg
YW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogc2VsZWN0IGVsZW1lbnQKK1BBU1MgbXlT
ZWxlY3Qub3B0aW9uc1sxMF0gPSBteVNlbGVjdDsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1MgbXlTZWxlY3Qub3B0aW9ucy5s
ZW5ndGggaXMgMTAKIFBBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisxOCkgdHJ5aW5n
IHRvIHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IG5lZ2F0aXZl
IGluZmluaXR5CitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwCitQQVNTIG15U2Vs
ZWN0LnNlbGVjdGVkSW5kZXggaXMgMAorMTkpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVu
dCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBOYU4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMTAKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRJbmRleCBpcyAwCisyMCkgdHJ5aW5nIHRv
IHNldCBhIG9wdGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IHBvc2l0aXZlIGlu
ZmluaXR5CitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDEwCitQQVNTIG15U2VsZWN0
LnNlbGVjdGVkSW5kZXggaXMgMAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKIApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVj
dGVkSW5kZXgtbXVsdGlwbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC1tdWx0aXBsZS5odG1sCShyZXZpc2lvbiAxNTMwMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4LW11bHRpcGxlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CiA8c2VsZWN0IG11bHRpcGxl
IGlkPSJ0ZXN0IiBzaXplPSIzIj4KIDwvc2VsZWN0PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CkBAIC0xMSwxNyArMTIsMTkgQEAgZnVuY3Rpb24gcmVzZXQobXlTZWxlY3QpIHsKIAogdmFyIG15
U2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKIHJlc2V0KG15U2VsZWN0
KTsKK3ZhciBpID0gMDsKIAotbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAtMTsKK2RlYnVnKCgr
K2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gYSBuZWdhdGl2ZSBsZW5ndGgiKTsKK3Nob3VsZFRo
cm93KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IC0xOyIpOwogc2hvdWxkQmUoIm15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4
IiwgIjAiKTsKIAotLy8gMSkgc2V0dGluZyBsZW5ndGggdG8gYSBsYXJnZXIgbGVuZ3RoCitkZWJ1
ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgbGFyZ2VyIGxlbmd0aCIpOwogbXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGggPSA1Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
IiwgIjUiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8g
Mikgc2V0dGluZyBsZW5ndGggdG8gYSBzbWFsbGVyIGxlbmd0aAorZGVidWcoKCsraSkgKyAiKSBz
ZXR0aW5nIGxlbmd0aCB0byBhIHNtYWxsZXIgbGVuZ3RoIik7CiBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCA9IDI7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOwogc2hv
dWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwpAQCAtMzEsNTMgKzM0LDk5IEBA
IHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxIikKIHNob3VsZEJlKCJteVNl
bGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAotLy8gMykgc2V0
dGluZyBsZW5ndGggdG8gdGhlIHNhbWUgbGVuZ3RoCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcg
bGVuZ3RoIHRvIHRoZSBzYW1lIGxlbmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAy
Owogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJt
eVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8gNCkgc2V0dGluZyBsZW5ndGggdG8g
bm9uLWludGVnZXIgdmFsdWVzIChudWxsLAotLy8gdW5kZWZpbmVkLCBub24tbnVtZXJpYyBzdHJp
bmcsIGZsb2F0aW5nIHBvaW50IG51bWJlcikKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5n
dGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG51bGwiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
ID0gbnVsbDsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIwIik7CiBzaG91
bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOwogcmVzZXQobXlTZWxlY3QpOwog
CitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiB1
bmRlZmluZWQiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gdW5kZWZpbmVkOwogc2hvdWxk
QmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5z
ZWxlY3RlZEluZGV4IiwgIi0xIik7CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVnKCgrK2kpICsg
Iikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG5vbi1udW1lcmljIHN0cmlu
ZyIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAiYXBwbGUiOwogc2hvdWxkQmUoIm15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IiwgIi0xIik7CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVnKCgrK2kpICsgIikgc2V0dGlu
ZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IG9iamVjdCIpOworbXlTZWxlY3Qub3B0aW9u
cy5sZW5ndGggPSBuZXcgT2JqZWN0KCk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGgiLCAiMCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK3Jl
c2V0KG15U2VsZWN0KTsKKworZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBub24t
aW50ZWdlciB2YWx1ZTogbmVnYXRpdmUgaW5maW5pdHkiKTsKK215U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoID0gLTEvMDsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIwIik7Citz
aG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworcmVzZXQobXlTZWxlY3Qp
OworCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVl
OiBOYU4iKTsKK215U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMC8wOworc2hvdWxkQmUoIm15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZElu
ZGV4IiwgIi0xIik7CityZXNldChteVNlbGVjdCk7CisKK2RlYnVnKCgrK2kpICsgIikgc2V0dGlu
ZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWU6IHBvc2l0aXZlIGluZmluaXR5Iik7CitteVNl
bGVjdC5vcHRpb25zLmxlbmd0aCA9IDEvMDsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCIsICIwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOwor
cmVzZXQobXlTZWxlY3QpOworCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIG5v
bi1pbnRlZ2VyIHZhbHVlOiBmbG9hdGluZyBwb2ludCBudW1iZXIiKTsKIG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoID0gMi4xOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIi
KTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotLy8gNSkgc2V0
dGluZyBhbiBlbGVtZW50IGJ5IGluZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBsaXN0
CitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBl
bmQgb2YgdGhlIGN1cnJlbnQgbGlzdCIpOwogbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBuZXcgT3B0
aW9uKCJ0ZW4iLCAidmFsdWUiLCB0cnVlLCB0cnVlKTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCIsICIxMSIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAi
MCIpOwogCi0vLyA2KSBzZXR0aW5nIGFuIGV4aXN0aW5nIGVsZW1lbnQgYnkgaW5kZXgKK2RlYnVn
KCgrK2kpICsgIikgc2V0dGluZyBhbiBleGlzdGluZyBlbGVtZW50IGJ5IGluZGV4Iik7CiBteVNl
bGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0Lm9wdGlvbnNbMTBdOwogc2hvdWxkQmUoIm15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjExIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJ
bmRleCIsICIwIik7CiAKLS8vIDcpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90
IGFuIG9wdGlvbgotLy8gZWxlbWVudCAobnVsbCwgdW5kZWZpbmVkLCBvdGhlciBraW5kcyBvZiBv
YmplY3RzLCBvdGhlciBraW5kcyBvZiBlbGVtZW50cykKK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5n
IHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uOiBudWxsIik7CiBteVNlbGVj
dC5vcHRpb25zWzEwXSA9IG51bGw7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgi
LCAiMTAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKKworZGVi
dWcoKCsraSkgKyAiKSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRp
b246IHVuZGVmaW5lZCIpOwogbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSB1bmRlZmluZWQ7CiBzaG91
bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTAiKTsKIHNob3VsZEJlKCJteVNlbGVj
dC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKLW15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbXlTZWxlY3Q7
CisKK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3Qg
YW4gb3B0aW9uOiBzZWxlY3QgZWxlbWVudCIpOworc2hvdWxkVGhyb3coIm15U2VsZWN0Lm9wdGlv
bnNbMTBdID0gbXlTZWxlY3Q7Iik7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgi
LCAiMTAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIAotPC9z
Y3JpcHQ+CitkZWJ1ZygoKytpKSArICIpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1
c2luZyBhbiBpbnZhbGlkIGluZGV4OiBuZWdhdGl2ZSBpbmZpbml0eSIpOworbXlTZWxlY3Qub3B0
aW9uc1stMS8wXSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworc2hvdWxkQmUo
Im15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCIsICIwIik7CiAKK2RlYnVnKCgrK2kpICsgIikgdHJ5aW5nIHRvIHNldCBhIG9w
dGlvbiBlbGVtZW50IHVzaW5nIGFuIGludmFsaWQgaW5kZXg6IE5hTiIpOworbXlTZWxlY3Qub3B0
aW9uc1swLzBdID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CitzaG91bGRCZSgi
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxl
Y3RlZEluZGV4IiwgIjAiKTsKKworZGVidWcoKCsraSkgKyAiKSB0cnlpbmcgdG8gc2V0IGEgb3B0
aW9uIGVsZW1lbnQgdXNpbmcgYW4gaW52YWxpZCBpbmRleDogcG9zaXRpdmUgaW5maW5pdHkiKTsK
K215U2VsZWN0Lm9wdGlvbnNbMS8wXSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIp
Oworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEwIik7CitzaG91bGRCZSgi
bXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICIwIik7CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zZWxlY3Qtc2VsZWN0ZWRJbmRleC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL3NlbGVjdC1zZWxlY3RlZEluZGV4Lmh0bWwJKHJldmlzaW9uIDE1MzAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkSW5kZXguaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDQgQEAKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KIDxzZWxlY3QgaWQ9InRlc3QiIHNpemU9IjMiPgog
PC9zZWxlY3Q+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KQEAgLTExLDE3ICsxMiwxOSBAQCBm
dW5jdGlvbiByZXNldChteVNlbGVjdCkgewogCiB2YXIgbXlTZWxlY3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdCIpOwogcmVzZXQobXlTZWxlY3QpOwordmFyIGkgPSAwOwogCi1teVNl
bGVjdC5vcHRpb25zLmxlbmd0aCA9IC0xOworZGVidWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0
aCB0byBhIG5lZ2F0aXZlIGxlbmd0aCIpOworc2hvdWxkVGhyb3coIm15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoID0gLTE7Iik7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIp
Owogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMSIpOwogCi0vLyAxKSBzZXR0
aW5nIGxlbmd0aCB0byBhIGxhcmdlciBsZW5ndGgKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBs
ZW5ndGggdG8gYSBsYXJnZXIgbGVuZ3RoIik7CiBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9IDU7
CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiNSIpOwogc2hvdWxkQmUoIm15
U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMSIpOwogCi0vLyAyKSBzZXR0aW5nIGxlbmd0aCB0byBh
IHNtYWxsZXIgbGVuZ3RoCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIGEgc21h
bGxlciBsZW5ndGgiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMjsKIHNob3VsZEJlKCJt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0
ZWRJbmRleCIsICIxIik7CkBAIC0zMSw1MiArMzQsOTkgQEAgc2hvdWxkQmUoIm15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIiwgIjEiKQogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAi
LTEiKTsKIHJlc2V0KG15U2VsZWN0KTsKIAotLy8gMykgc2V0dGluZyBsZW5ndGggdG8gdGhlIHNh
bWUgbGVuZ3RoCitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIHRoZSBzYW1lIGxl
bmd0aCIpOwogbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSAyOwogc2hvdWxkQmUoIm15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4
IiwgIjEiKTsKIAotLy8gNCkgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFsdWVzIChu
dWxsLAotLy8gdW5kZWZpbmVkLCBub24tbnVtZXJpYyBzdHJpbmcsIGZsb2F0aW5nIHBvaW50IG51
bWJlcikKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVnZXIgdmFs
dWU6IG51bGwiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gbnVsbDsKIHNob3VsZEJlKCJt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIwIik7CiBzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0
ZWRJbmRleCIsICItMSIpOwogcmVzZXQobXlTZWxlY3QpOwogCitkZWJ1ZygoKytpKSArICIpIHNl
dHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiB1bmRlZmluZWQiKTsKIG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoID0gdW5kZWZpbmVkOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7
CiByZXNldChteVNlbGVjdCk7CiAKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8g
bm9uLWludGVnZXIgdmFsdWU6IG5vbi1udW1lcmljIHN0cmluZyIpOwogbXlTZWxlY3Qub3B0aW9u
cy5sZW5ndGggPSAiYXBwbGUiOwogc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CiByZXNldCht
eVNlbGVjdCk7CiAKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVn
ZXIgdmFsdWU6IG9iamVjdCIpOworbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggPSBuZXcgT2JqZWN0
KCk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK3Jlc2V0KG15U2VsZWN0KTsKKworZGVi
dWcoKCsraSkgKyAiKSBzZXR0aW5nIGxlbmd0aCB0byBub24taW50ZWdlciB2YWx1ZTogbmVnYXRp
dmUgaW5maW5pdHkiKTsKK215U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gLTEvMDsKK3Nob3VsZEJl
KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2Vs
ZWN0ZWRJbmRleCIsICItMSIpOworcmVzZXQobXlTZWxlY3QpOworCitkZWJ1ZygoKytpKSArICIp
IHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBOYU4iKTsKK215U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoID0gMC8wOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjAiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4IiwgIi0xIik7CityZXNldCht
eVNlbGVjdCk7CisKK2RlYnVnKCgrK2kpICsgIikgc2V0dGluZyBsZW5ndGggdG8gbm9uLWludGVn
ZXIgdmFsdWU6IHBvc2l0aXZlIGluZmluaXR5Iik7CitteVNlbGVjdC5vcHRpb25zLmxlbmd0aCA9
IDEvMDsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRC
ZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworcmVzZXQobXlTZWxlY3QpOworCitk
ZWJ1ZygoKytpKSArICIpIHNldHRpbmcgbGVuZ3RoIHRvIG5vbi1pbnRlZ2VyIHZhbHVlOiBmbG9h
dGluZyBwb2ludCBudW1iZXIiKTsKIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoID0gMi4xOwogc2hv
dWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJteVNlbGVj
dC5zZWxlY3RlZEluZGV4IiwgIjEiKTsKIAotLy8gNSkgc2V0dGluZyBhbiBlbGVtZW50IGJ5IGlu
ZGV4IHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBsaXN0CitkZWJ1ZygoKytpKSArICIpIHNl
dHRpbmcgYW4gZWxlbWVudCBieSBpbmRleCBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgbGlz
dCIpOwogbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBuZXcgT3B0aW9uKCJ0ZW4iLCAidmFsdWUiLCB0
cnVlLCB0cnVlKTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMSIpOwog
c2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMTAiKTsKIAotLy8gNikgc2V0dGlu
ZyBhbiBleGlzdGluZyBlbGVtZW50IGJ5IGluZGV4CitkZWJ1ZygoKytpKSArICIpIHNldHRpbmcg
YW4gZXhpc3RpbmcgZWxlbWVudCBieSBpbmRleCIpOwogbXlTZWxlY3Qub3B0aW9uc1sxMF0gPSBt
eVNlbGVjdC5vcHRpb25zWzEwXTsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIs
ICIxMSIpOwogc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiMTAiKTsKIAotLy8g
NykgdHJ5aW5nIHRvIHNldCBhbiBlbGVtZW50IHRoYXQncyBub3QgYW4gb3B0aW9uCi0vLyBlbGVt
ZW50IChudWxsLCB1bmRlZmluZWQsIG90aGVyIGtpbmRzIG9mIG9iamVjdHMsIG90aGVyIGtpbmRz
IG9mIGVsZW1lbnRzKQorZGVidWcoKCsraSkgKyAiKSB0cnlpbmcgdG8gc2V0IGFuIGVsZW1lbnQg
dGhhdCdzIG5vdCBhbiBvcHRpb246IG51bGwiKTsKIG15U2VsZWN0Lm9wdGlvbnNbMTBdID0gbnVs
bDsKIHNob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIxMCIpOwogc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKKworZGVidWcoKCsraSkgKyAiKSB0cnlp
bmcgdG8gc2V0IGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBhbiBvcHRpb246IHVuZGVmaW5lZCIpOwog
bXlTZWxlY3Qub3B0aW9uc1sxMF0gPSB1bmRlZmluZWQ7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMTAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4Iiwg
Ii0xIik7Ci1teVNlbGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0OworCitkZWJ1ZygoKytpKSAr
ICIpIHRyeWluZyB0byBzZXQgYW4gZWxlbWVudCB0aGF0J3Mgbm90IGFuIG9wdGlvbjogc2VsZWN0
IGVsZW1lbnQiKTsKK3Nob3VsZFRocm93KCJteVNlbGVjdC5vcHRpb25zWzEwXSA9IG15U2VsZWN0
OyIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjEwIik7CitzaG91bGRC
ZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworCitkZWJ1ZygoKytpKSArICIpIHRy
eWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZhbGlkIGluZGV4OiBuZWdh
dGl2ZSBpbmZpbml0eSIpOworbXlTZWxlY3Qub3B0aW9uc1stMS8wXSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm9wdGlvbiIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjEwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworCitkZWJ1
ZygoKytpKSArICIpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZh
bGlkIGluZGV4OiBOYU4iKTsKK215U2VsZWN0Lm9wdGlvbnNbMC8wXSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm9wdGlvbiIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjEwIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRJbmRleCIsICItMSIpOworCitkZWJ1
ZygoKytpKSArICIpIHRyeWluZyB0byBzZXQgYSBvcHRpb24gZWxlbWVudCB1c2luZyBhbiBpbnZh
bGlkIGluZGV4OiBwb3NpdGl2ZSBpbmZpbml0eSIpOworbXlTZWxlY3Qub3B0aW9uc1sxLzBdID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CiBzaG91bGRCZSgibXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGgiLCAiMTAiKTsKIHNob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZEluZGV4Iiwg
Ii0xIik7CiAKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwogPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFkZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9u
cy1hZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9z
ZWxlY3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIx
OSBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmVoYXZpb3Igb2YgdGhlIGFkZCgpIG1ldGhvZCBv
biB0aGUgc2VsZWN0Lm9wdGlvbnMgb2JqZWN0LgorSXQgY292ZXJzIGJvdGggdGhlIHRoZSBvbmUt
YXJndW1lbnQgKDEueCkgYW5kIHR3by1hcmd1bWVudCAoMi54KSBzaWduYXR1cmVzIG9mIHRoZSBh
ZGQoKSBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisxLjEgQWRkIE9w
dGlvbiB0byBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMQor
UEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorUEFTUyBzZWxlY3QxLm9wdGlvbnNbMF0u
dmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnQScK
KworMS4yIEFkZCBPcHRpb24gdG8gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRp
b25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNl
bGVjdDEub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzBdLnRl
eHRDb250ZW50IGlzICdBJworUEFTUyBzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInCitQ
QVNTIHNlbGVjdDEub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQicKKworMS4zIEFkZCBPcHRp
b24gYWZ0ZXIgc2V0dGluZyBwYXJhbWV0ZXJzCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGgg
aXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorUEFTUyBzZWxlY3QxLm9wdGlv
bnNbMF0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29udGVudCBp
cyAnQScKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzFdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3Qx
Lm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0InCitQQVNTIHNlbGVjdDEub3B0aW9uc1syXS52
YWx1ZSBpcyAnMycKK1BBU1Mgc2VsZWN0MS5vcHRpb25zWzJdLnRleHRDb250ZW50IGlzICdDJwor
CisxLjQgQWRkIGEgbm9uLU9wdGlvbiBlbGVtZW50CitQQVNTIHNlbGVjdDEub3B0aW9ucy5hZGQo
b3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4
Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNlbGVj
dDEuc2VsZWN0ZWRJbmRleCBpcyAwCisKKzEuNSBBZGQgYSBub24tZWxlbWVudCAoc3RyaW5nKQor
UEFTUyBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDEub3B0aW9u
cy5sZW5ndGggaXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAorCisxLjYgQWRk
IGEgbm9uLWVsZW1lbnQgKG51bWJlcikKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24x
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2VsZWN0MS5zZWxl
Y3RlZEluZGV4IGlzIDAKKworMS43IEFkZCB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
LmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBE
T00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mg
c2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKworMS44IEFkZCBudWxsCitQQVNTIHNlbGVjdDEu
b3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENI
X0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAz
CitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCisKKzEuOSBBZGQgbmVnYXRpdmUgaW5m
aW5pdHkKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3Qx
Lm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIDAKKwor
MS4xMCBBZGQgTmFOCitQQVNTIHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
c2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBp
cyAwCisKKzEuMTEgQWRkIHBvc2l0aXZlIGluZmluaXR5CitQQVNTIHNlbGVjdDEub3B0aW9ucy5h
ZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNl
bGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCisKKzIuMSBBZGQgT3B0aW9uIHRvIGVtcHR5IE9wdGlv
bnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdDIuc2VsZWN0
ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMScKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdBJworCisyLjIgQWRkIE9wdGlvbiBh
ZnRlciBzZXR0aW5nIHBhcmFtZXRlcnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAy
CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAwCitQQVNTIHNlbGVjdDIub3B0aW9uc1sw
XS52YWx1ZSBpcyAnMScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdB
JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzInCitQQVNTIHNlbGVjdDIub3B0
aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQicKKworMi4zIEluc2VydCBPcHRpb24gYXQgYmVnaW5u
aW5nIG9mIE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBp
cyAnMCcKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJworUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJzEnCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS50
ZXh0Q29udGVudCBpcyAnQScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcyJwor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0InCisKKzIuNCBJbnNlcnQg
T3B0aW9uIGluIG1pZGRsZSBvZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgNAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3QyLm9wdGlv
bnNbMF0udmFsdWUgaXMgJzAnCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBp
cyAnWicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3Qy
Lm9wdGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS52
YWx1ZSBpcyAnMS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0Eu
NScKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3QyLm9w
dGlvbnNbM10udGV4dENvbnRlbnQgaXMgJ0InCisKKzIuNSBJbnNlcnQgT3B0aW9uIGF0IGVuZCBv
ZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNQorUEFTUyBzZWxlY3Qy
LnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJzAn
CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAnWicKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENv
bnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBpcyAnMS41JworUEFT
UyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0EuNScKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udGV4dENvbnRl
bnQgaXMgJ0InCitQQVNTIHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBpcyAnMycKK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJworCisyLjYgSW5zZXJ0IE9wdGlvbiBi
ZXlvbmQgdGhlIGVuZCBvZiBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMg
NgorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFTUyBzZWxlY3QyLm9wdGlvbnNb
MF0udmFsdWUgaXMgJzAnCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCBpcyAn
WicKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICcxJworUEFTUyBzZWxlY3QyLm9w
dGlvbnNbMV0udGV4dENvbnRlbnQgaXMgJ0EnCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS52YWx1
ZSBpcyAnMS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQgaXMgJ0EuNScK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICcyJworUEFTUyBzZWxlY3QyLm9wdGlv
bnNbM10udGV4dENvbnRlbnQgaXMgJ0InCitQQVNTIHNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSBp
cyAnMycKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50IGlzICdDJworUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbNV0udmFsdWUgaXMgJzQnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s1XS50
ZXh0Q29udGVudCBpcyAnRCcKKworMi43IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTEKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBp
cyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnMCcKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zWzBdLnRleHRDb250ZW50IGlzICdaJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFs
dWUgaXMgJzEnCitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCBpcyAnQScKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIGlzICcxLjUnCitQQVNTIHNlbGVjdDIub3B0aW9u
c1syXS50ZXh0Q29udGVudCBpcyAnQS41JworUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUg
aXMgJzInCitQQVNTIHNlbGVjdDIub3B0aW9uc1szXS50ZXh0Q29udGVudCBpcyAnQicKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zWzRdLnZhbHVlIGlzICczJworUEFTUyBzZWxlY3QyLm9wdGlvbnNbNF0u
dGV4dENvbnRlbnQgaXMgJ0MnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSBpcyAnNCcK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzVdLnRleHRDb250ZW50IGlzICdEJworUEFTUyBzZWxlY3Qy
Lm9wdGlvbnNbNl0udmFsdWUgaXMgJzUnCitQQVNTIHNlbGVjdDIub3B0aW9uc1s2XS50ZXh0Q29u
dGVudCBpcyAnRScKKworMi44IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTIKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLmFkZChvcHRpb24yLCAtMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTkRFWF9T
SVpFX0VSUjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlz
IDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi45IEFkZCBhbiBPcHRpb24g
YXQgaW5kZXggLUluZmluaXR5CitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgLTEv
MCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlv
biAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2Vs
ZWN0ZWRJbmRleCBpcyAxCisKKzIuMTAgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCBOYU4KK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAwLzApIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDIub3B0aW9u
cy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorCisyLjExIEFk
ZCBhbiBPcHRpb24gYXQgaW5kZXggSW5maW5pdHkKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChv
cHRpb24yLCAxLzApIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERP
TSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBz
ZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorCisyLjEyIEFkZCBhIG5vbi1PcHRpb24gZWxlbWVu
dAorUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVjdDIu
b3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorCisy
LjEzIEFkZCBhIG5vbi1lbGVtZW50IChzdHJpbmcpCitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQo
b3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCisKKzIuMTQgQWRkIGEgbm9uLWVsZW1lbnQgKG51bWJl
cikKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKwor
Mi4xNSBBZGQgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Ny4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0
ZWRJbmRleCBpcyAxCisKKzIuMTYgQWRkIG51bGwKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChv
cHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi4xNyBBZGQgbmVnYXRpdmUgaW5maW5pdHkKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzZWxlY3QyLm9wdGlv
bnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKKworMi4xOCBB
ZGQgTmFOCitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAx
CisKKzIuMTkgQWRkIHBvc2l0aXZlIGluZmluaXR5CitQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQo
b3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNy4KK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorIAorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVj
dC1vcHRpb25zLWFkZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2Vs
ZWN0LW9wdGlvbnMtYWRkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pz
L3NlbGVjdC1vcHRpb25zLWFkZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8ZGl2PgorPHNlbGVjdCBpZD0ic2VsZWN0MSI+PC9zZWxlY3Q+Cis8c2Vs
ZWN0IGlkPSJzZWxlY3QyIj48L3NlbGVjdD4KKzwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zZWxlY3Qtb3B0aW9ucy1hZGQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtYWRkLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFkZC5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1v
cHRpb25zLWFkZC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMDYgQEAKK2Rlc2NyaXB0aW9u
KAorIlRoaXMgdGVzdCBjaGVja3MgdGhlIGJlaGF2aW9yIG9mIHRoZSBhZGQoKSBtZXRob2Qgb24g
dGhlIHNlbGVjdC5vcHRpb25zIG9iamVjdC48YnI+IiArCisiSXQgY292ZXJzIGJvdGggdGhlIHRo
ZSBvbmUtYXJndW1lbnQgKDEueCkgYW5kIHR3by1hcmd1bWVudCAoMi54KSBzaWduYXR1cmVzIG9m
IHRoZSBhZGQoKSBtZXRob2QuIgorKTsKKworZGVidWcoIjEuMSBBZGQgT3B0aW9uIHRvIGVtcHR5
IE9wdGlvbnMiKTsKK3ZhciBzZWxlY3QxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dDEiKTsKK3ZhciBvcHRpb24xID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7Citz
ZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpOworb3B0aW9uMS52YWx1ZSA9ICIxIjsKK29wdGlv
bjEudGV4dENvbnRlbnQgPSAiQSI7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIs
ICIxIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK3Nob3VsZEJl
KCJzZWxlY3QxLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0MS5v
cHRpb25zWzBdLnRleHRDb250ZW50IiwgIidBJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS4y
IEFkZCBPcHRpb24gdG8gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK29wdGlvbjEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3NlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSk7Citv
cHRpb24xLnZhbHVlID0gIjIiOworb3B0aW9uMS50ZXh0Q29udGVudCA9ICJCIjsKK3Nob3VsZEJl
KCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVj
dGVkSW5kZXgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS52YWx1ZSIsICIn
MSciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ0EnIik7
CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzFdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUo
InNlbGVjdDEub3B0aW9uc1sxXS50ZXh0Q29udGVudCIsICInQiciKTsKK2RlYnVnKCIiKTsKKwor
ZGVidWcoIjEuMyBBZGQgT3B0aW9uIGFmdGVyIHNldHRpbmcgcGFyYW1ldGVycyIpOworb3B0aW9u
MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworb3B0aW9uMS52YWx1ZSA9ICIz
IjsKK29wdGlvbjEudGV4dENvbnRlbnQgPSAiQyI7CitzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlv
bjEpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUo
InNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25z
WzBdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1swXS50ZXh0Q29u
dGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnNbMV0udmFsdWUiLCAiJzIn
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zWzFdLnRleHRDb250ZW50IiwgIidCJyIpOwor
c2hvdWxkQmUoInNlbGVjdDEub3B0aW9uc1syXS52YWx1ZSIsICInMyciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnNbMl0udGV4dENvbnRlbnQiLCAiJ0MnIik7CitkZWJ1ZygiIik7CisKK2Rl
YnVnKCIxLjQgQWRkIGEgbm9uLU9wdGlvbiBlbGVtZW50Iik7CitvcHRpb24xID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiRElWIik7CitzaG91bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChv
cHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hv
dWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVn
KCIxLjUgQWRkIGEgbm9uLWVsZW1lbnQgKHN0cmluZykiKTsKK29wdGlvbjEgPSAibyI7CitzaG91
bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVj
dDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRl
eCIsICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjYgQWRkIGEgbm9uLWVsZW1lbnQgKG51
bWJlcikiKTsKK29wdGlvbjEgPSAzLjE0Oworc2hvdWxkVGhyb3coInNlbGVjdDEub3B0aW9ucy5h
ZGQob3B0aW9uMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsK
K3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiMCIpOworZGVidWcoIiIpOworCitk
ZWJ1ZygiMS43IEFkZCB1bmRlZmluZWQiKTsKK29wdGlvbjEgPSB1bmRlZmluZWQ7CitzaG91bGRU
aHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEu
b3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIs
ICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjggQWRkIG51bGwiKTsKK29wdGlvbjEgPSBu
dWxsOworc2hvdWxkVGhyb3coInNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNl
bGVjdGVkSW5kZXgiLCAiMCIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS45IEFkZCBuZWdhdGl2
ZSBpbmZpbml0eSIpOworb3B0aW9uMSA9IC0xLzA7CitzaG91bGRUaHJvdygic2VsZWN0MS5vcHRp
b25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAi
MyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIxLjEwIEFkZCBOYU4iKTsKK29wdGlvbjEgPSAwLzA7CitzaG91bGRUaHJvdygi
c2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9u
cy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7
CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjExIEFkZCBwb3NpdGl2ZSBpbmZpbml0eSIpOworb3B0
aW9uMSA9IDEvMDsKK3Nob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7
CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2Vs
ZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMSBBZGQg
T3B0aW9uIHRvIGVtcHR5IE9wdGlvbnMiKTsKK3ZhciBzZWxlY3QyID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNlbGVjdDIiKTsKK3ZhciBvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiT1BUSU9OIik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDApOworb3B0aW9uMi52
YWx1ZSA9ICIxIjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiQSI7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4
IiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7Citz
aG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50IiwgIidBJyIpOworZGVidWco
IiIpOworCitkZWJ1ZygiMi4yIEFkZCBPcHRpb24gYWZ0ZXIgc2V0dGluZyBwYXJhbWV0ZXJzIik7
CitvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitvcHRpb24yLnZh
bHVlID0gIjIiOworb3B0aW9uMi50ZXh0Q29udGVudCA9ICJCIjsKK3NlbGVjdDIub3B0aW9ucy5h
ZGQob3B0aW9uMiwgMSk7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICIyIik7
CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
WzBdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52
YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQi
LCAiJ0InIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjMgSW5zZXJ0IE9wdGlvbiBhdCBiZWdp
bm5pbmcgb2YgT3B0aW9ucyIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9Q
VElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAwKTsKK29wdGlvbjIudmFsdWUg
PSAiMCI7CitvcHRpb24yLnRleHRDb250ZW50ID0gIloiOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIx
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIicwJyIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9uc1swXS50ZXh0Q29udGVudCIsICInWiciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUiLCAiJzEnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zWzFdLnRleHRDb250ZW50IiwgIidBJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sy
XS52YWx1ZSIsICInMiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRl
bnQiLCAiJ0InIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjQgSW5zZXJ0IE9wdGlvbiBpbiBt
aWRkbGUgb2YgT3B0aW9ucyIpOworb3B0aW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9Q
VElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAyKTsKK29wdGlvbjIudmFsdWUg
PSAiMS41IjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiQS41IjsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIiwgIjQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgi
LCAiMSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInMCciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ1onIik7CitzaG91bGRC
ZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9uc1sxXS50ZXh0Q29udGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlv
bnNbMl0udmFsdWUiLCAiJzEuNSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udGV4
dENvbnRlbnQiLCAiJ0EuNSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUi
LCAiJzInIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50IiwgIidC
JyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi41IEluc2VydCBPcHRpb24gYXQgZW5kIG9mIE9w
dGlvbnMiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3Nl
bGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgNCk7CitvcHRpb24yLnZhbHVlID0gIjMiOworb3B0
aW9uMi50ZXh0Q29udGVudCA9ICJDIjsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IiwgIjUiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInMCciKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbMF0udGV4dENvbnRlbnQiLCAiJ1onIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zWzFdLnZhbHVlIiwgIicxJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS50ZXh0
Q29udGVudCIsICInQSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUiLCAi
JzEuNSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQiLCAiJ0Eu
NSciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udmFsdWUiLCAiJzInIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zWzNdLnRleHRDb250ZW50IiwgIidCJyIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9uc1s0XS52YWx1ZSIsICInMyciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbNF0udGV4dENvbnRlbnQiLCAiJ0MnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjYg
SW5zZXJ0IE9wdGlvbiBiZXlvbmQgdGhlIGVuZCBvZiBPcHRpb25zIik7CitvcHRpb24yID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7CitzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlv
bjIsIDYpOworb3B0aW9uMi52YWx1ZSA9ICI0IjsKK29wdGlvbjIudGV4dENvbnRlbnQgPSAiRCI7
CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI2Iik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0u
dmFsdWUiLCAiJzAnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnRleHRDb250ZW50
IiwgIidaJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSIsICInMSciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udGV4dENvbnRlbnQiLCAiJ0EnIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIiwgIicxLjUnIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzJdLnRleHRDb250ZW50IiwgIidBLjUnIik7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zWzNdLnZhbHVlIiwgIicyJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sz
XS50ZXh0Q29udGVudCIsICInQiciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNF0udmFs
dWUiLCAiJzMnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzRdLnRleHRDb250ZW50Iiwg
IidDJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s1XS52YWx1ZSIsICInNCciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNV0udGV4dENvbnRlbnQiLCAiJ0QnIik7CitkZWJ1Zygi
Iik7CisKK2RlYnVnKCIyLjcgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtMSIpOworb3B0aW9uMiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIk9QVElPTiIpOworc2VsZWN0Mi5vcHRpb25zLmFkZChv
cHRpb24yLCAtMSk7CitvcHRpb24yLnZhbHVlID0gIjUiOworb3B0aW9uMi50ZXh0Q29udGVudCA9
ICJFIjsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1swXS52YWx1ZSIsICInMCciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udGV4dENv
bnRlbnQiLCAiJ1onIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwgIicx
JyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS50ZXh0Q29udGVudCIsICInQSciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUiLCAiJzEuNSciKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLm9wdGlvbnNbMl0udGV4dENvbnRlbnQiLCAiJ0EuNSciKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnNbM10udmFsdWUiLCAiJzInIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zWzNdLnRleHRDb250ZW50IiwgIidCJyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s0
XS52YWx1ZSIsICInMyciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNF0udGV4dENvbnRl
bnQiLCAiJ0MnIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzVdLnZhbHVlIiwgIic0JyIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1s1XS50ZXh0Q29udGVudCIsICInRCciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbNl0udmFsdWUiLCAiJzUnIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5vcHRpb25zWzZdLnRleHRDb250ZW50IiwgIidFJyIpOworZGVidWcoIiIpOworCitkZWJ1
ZygiMi44IEFkZCBhbiBPcHRpb24gYXQgaW5kZXggLTIiKTsKK29wdGlvbjIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRk
KG9wdGlvbjIsIC0yKSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIp
Oworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1ZygiIik7CisK
K2RlYnVnKCIyLjkgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCAtSW5maW5pdHkiKTsKK29wdGlvbjIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3Nob3VsZFRocm93KCJzZWxlY3Qy
Lm9wdGlvbnMuYWRkKG9wdGlvbjIsIC0xLzApIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsK
K2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTAgQWRkIGFuIE9wdGlvbiBhdCBpbmRleCBOYU4iKTsK
K29wdGlvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJPUFRJT04iKTsKK3Nob3VsZFRocm93
KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDAvMCkiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgi
LCAiMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMSBBZGQgYW4gT3B0aW9uIGF0IGluZGV4
IEluZmluaXR5Iik7CitvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiT1BUSU9OIik7
CitzaG91bGRUaHJvdygic2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxLzApIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5z
ZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTIgQWRkIGEgbm9u
LU9wdGlvbiBlbGVtZW50Iik7CitvcHRpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElW
Iik7CitzaG91bGRUaHJvdygic2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSIpOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIu
c2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjEzIEFkZCBhIG5v
bi1lbGVtZW50IChzdHJpbmcpIik7CitvcHRpb24yID0gIm8iOworc2hvdWxkVGhyb3coInNlbGVj
dDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMu
bGVuZ3RoIiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMi4xNCBBZGQgYSBub24tZWxlbWVudCAobnVtYmVyKSIpOwor
b3B0aW9uMiA9IDMuMTQ7CitzaG91bGRUaHJvdygic2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24y
LCAxKSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxk
QmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIy
LjE1IEFkZCB1bmRlZmluZWQiKTsKK29wdGlvbjIgPSB1bmRlZmluZWQ7CitzaG91bGRUaHJvdygi
c2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIx
Iik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjE2IEFkZCBudWxsIik7CitvcHRpb24yID0gbnVs
bDsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CitzaG91
bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5z
ZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTcgQWRkIG5lZ2F0
aXZlIGluZmluaXR5Iik7CitvcHRpb24yID0gLTEvMDsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9w
dGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVn
KCIiKTsKKworZGVidWcoIjIuMTggQWRkIE5hTiIpOworb3B0aW9uMiA9IDAvMDsKK3Nob3VsZFRo
cm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4
IiwgIjEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTkgQWRkIHBvc2l0aXZlIGluZmluaXR5
Iik7CitvcHRpb24yID0gMS8wOworc2hvdWxkVGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0
aW9uMiwgMSkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKK3No
b3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOworZGVidWcoIiIpOworCitzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzAwKQorKysgV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NSBAQAorMjAwNi0wNy0xMCAgRGF2aWQg
S2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAtIGZpeCBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5v
cmcvc2hvd19idWcuY2dpP2lkPTkxNzkKKyAgICAgICAgICBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlv
bnMuYWRkKCkgbWV0aG9kCisKKyAgICAgICAgVGVzdHM6CisgICAgICAgIC0gZmFzdC9kb20vc2Vs
ZWN0LXNlbGVjdGVkSW5kZXgtbXVsdGlwbGUuaHRtbAorICAgICAgICAtIGZhc3QvZG9tL3NlbGVj
dC1zZWxlY3RlZEluZGV4Lmh0bWwKKyAgICAgICAgLSBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLWFk
ZC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBBZGRlZCBKU0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oLgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2tqcy9vcGVyYXRp
b25zLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogQWRkZWQgbmV3IHNvdXJjZSBmaWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNI
VE1MT3B0aW9uc0NvbGxlY3Rpb246Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxP
cHRpb25zQ29sbGVjdGlvbjo6c2V0TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTE9w
dGlvbnNDb2xsZWN0aW9uOjppbmRleFNldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMva2pz
X2h0bWwuY3BwOiBSZW1vdmVkIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uIGltcGxlbWVudGF0aW9u
LgorICAgICAgICBSZW5hbWVkIGNsYXNzZXMgYW5kIG1ldGhvZHMgZm9yIGNvbnNpc3RlbmN5Lgor
ICAgICAgICAoS0pTOjpKU0hUTUxFbGVtZW50OjpzZWxlY3RHZXR0ZXIpOgorICAgICAgICAoS0pT
OjpKU0hUTUxFbGVtZW50OjpwdXQpOgorICAgICAgICAoS0pTOjpKU0hUTUxFbGVtZW50OjpzZWxl
Y3RTZXR0ZXIpOgorICAgICAgICAoS0pTOjpKU0hUTUxDb2xsZWN0aW9uOjpKU0hUTUxDb2xsZWN0
aW9uKToKKyAgICAgICAgKEtKUzo6SlNIVE1MQ29sbGVjdGlvblByb3RvRnVuYzo6Y2FsbEFzRnVu
Y3Rpb24pOgorICAgICAgICAoS0pTOjpnZXRIVE1MT3B0aW9uc0NvbGxlY3Rpb24pOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL2tqc19odG1sLmg6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOiBBZGRlZCBzdXBwb3J0IGZvciBIYXNDdXN0b21JbmRl
eFNldHRlciBjbGFzcyBhdHRyaWJ1dGUuCisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIE9wdGlv
bmFsIHBhcmFtZXRlciBhdHRyaWJ1dGUsIHdoaWNoIG1ha2VzIGdlbmVyYXRlZCBjb2RlIGFzc3Vt
ZSBvdmVybG9hZGVkCisgICAgICAgIGltcGxlbWVudGF0aW9uIG1ldGhvZHMgYXJlIGF2YWlsYWJs
ZSBmb3IgYSBKYXZhU2NyaXB0IGZ1bmN0aW9uIHdpdGggb3B0aW9uYWwgYXJndW1lbnRzLiAgQ2hh
bmdlZAorICAgICAgICBsb2NhbCAnaW1wbCcgdmFyaWFibGVzIHRvICdpbXAnIHNvIHRoYXQgaW1w
bCgpIG1ldGhvZHMgY291bGQgYmUgY2FsbGVkIHdpdGhvdXQgY2xhc3MgZGVzaWduYXRpb24uCisg
ICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IEFkZGVkIEdlbmVyYXRlTmF0aXZl
Q29udmVydGVyIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5jcHA6IEFkZGVkIG1ldGhvZHMgdXNlZCBieSBnZW5lcmF0ZWQgSlNIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24gY2xhc3MuCisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxlY3Rpb246OkhU
TUxPcHRpb25zQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxl
Y3Rpb246OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNl
bGVjdGVkSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpz
ZXRTZWxlY3RlZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6c2V0TGVuZ3RoKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOiBE
aXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6IEFkZGVkLgor
CiAyMDA2LTA3LTEwICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYWNpZWogdmlhIElSQy4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE1MzAw
KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2
ICs5OCw3IEBAIGFsbCA6IFwKICAgICBKU0hUTUxMaW5rRWxlbWVudC5oIFwKICAgICBKU0hUTUxN
ZW51RWxlbWVudC5oIFwKICAgICBKU0hUTUxPcHRpb25FbGVtZW50LmggXAorICAgIEpTSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmggXAogICAgIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5oIFwKICAgICBK
U0hUTUxRdW90ZUVsZW1lbnQuaCBcCiAgICAgSlNIVE1MTWFwRWxlbWVudC5oIFwKSW5kZXg6IFdl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMva2pzL29wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2tqcy9vcGVyYXRpb25zLmgJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2tqcy9vcGVyYXRpb25zLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEgQEAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9vcGVyYXRpb25zLmg+Cklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTUzMDApCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTY0LDYgKzE2NCw5IEBACiAJCTFDRDQ0MThFMEE0Q0U3NkYwMEEwMDdB
QiAvKiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IudGlmZiBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNENDQxOEEwQTRDRTc2RjAwQTAwN0FC
IC8qIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci50aWZmICovOyB9OwogCQkxQ0Q0NDE4
RjBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhTb3V0aFJlc2l6ZUN1cnNvci50aWZmIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Q0NDE4QjBBNENFNzZG
MDBBMDA3QUIgLyogbm9ydGhTb3V0aFJlc2l6ZUN1cnNvci50aWZmICovOyB9OwogCQkxQ0Q0NDE5
MDBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yLnRpZmYg
aW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRDQ0MThD
MEE0Q0U3NkYwMEEwMDdBQiAvKiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IudGlmZiAq
LzsgfTsKKwkJNDQ4QTI5QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhB
MjlCRDBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLzsgfTsK
KwkJNDQ4QTI5QzAwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEEyOUJF
MEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgKi87IH07CisJ
CTQ0OEFEMjdDMEE0ODEzN0EwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhB
RDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3Bw
ICovOyB9OwogCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5
MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCAqLzsgfTsKIAkJNEUx
OTU5MjIwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyMDBBMzlEQUJBMDAyMjBG
RTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLzsgfTsKIAkJNEUxOTU5MjkwQTM5REFDQzAwMjIw
RkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwICov
OyB9OwpAQCAtMTc5NCw2ICsxNzk3LDkgQEAKIAkJMUNENDQxOEMwQTRDRTc2RjAwQTAwN0FCIC8q
IG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvci50aWZmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UudGlmZjsgcGF0aCA9IG5vcnRoV2Vz
dFNvdXRoRWFzdFJlc2l6ZUN1cnNvci50aWZmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFjLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZE1hYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJ
MkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENsaXBib2FyZE1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CisJCTQ0OEEyOUJEMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ4QTI5QkUwQTQ2RDlDQjAw
MzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0OEFEMjdBMEE0ODEzNzkwMDIzRDE3OSAvKiBKU0hUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ3NThDNDQzMDhDNUYyMTcwMDlCQUYwNSAvKiBLQ2FudmFzUGF0aC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEtDYW52YXNQYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CiAJCTRFMTk1OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1
cmVOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFG
ZWF0dXJlTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyMDBB
MzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhRmVhdHVyZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zNzEzLDYgKzM3MTksOCBAQAogCQkJCUE4MEU3RTkxMEExQTgzRTMwMDdGQjhD
NSAvKiBKU0hUTUxPcHRHcm91cEVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0U5MDBBMUE4M0UzMDA3
RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5jcHAgKi8sCiAJCQkJQTgwRTdFOEYwQTFBODNF
MzAwN0ZCOEM1IC8qIEpTSFRNTE9wdGlvbkVsZW1lbnQuaCAqLywKKwkJCQk0NDhBMjlCRTBBNDZE
OUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwICovLAorCQkJCTQ0OEEy
OUJEMEE0NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oICovLAogCQkJ
CTFBRTJBQjlFMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcCAq
LywKIAkJCQkxQUUyQUI5RjBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUGFyYWdyYXBoRWxlbWVu
dC5oICovLAogCQkJCTFBRTJBQkEwMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1l
bnQuY3BwICovLApAQCAtNDk1MCw2ICs0OTU4LDcgQEAKIAkJCQlBODBFN0U2MzBBMUE4MkVDMDA3
RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50QmFzZS5oICovLAogCQkJCUE4MjZFOEFEMEExQThG
MjMwMENEMUJCNiAvKiBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3IuY3BwICovLAogCQkJ
CUE4MjZFOEFDMEExQThGMjMwMENEMUJCNiAvKiBKU0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0
b3IuaCAqLywKKwkJCQk0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0Nv
bGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJCTkzQjcwRDQxMDlFQjBDN0MwMDlEODQ2OCAvKiBK
U1hNTEh0dHBSZXF1ZXN0LmNwcCAqLywKIAkJCQk5M0I3MEQ0MjA5RUIwQzdDMDA5RDg0NjggLyog
SlNYTUxIdHRwUmVxdWVzdC5oICovLAogCQkJCTkzQjcwRDQzMDlFQjBDN0MwMDlEODQ2OCAvKiBK
U1hNTFNlcmlhbGl6ZXIuY3BwICovLApAQCAtNjM1Nyw2ICs2MzY2LDcgQEAKIAkJCQlBQkU3QjUy
NDBBNDg5RjgzMDAzMTg4MUMgLyogRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJREIyM0MyQ0MwQTUwOEQyOTAwMjQ4OUVCIC8qIEluZGVudE91dGRlbnRDb21tYW5k
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NENzREQzBBNEM4RDM1MDA1RkRBNkQgLyogSFRNTFZp
ZXdTb3VyY2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ4QTI5QkYwQTQ2RDlDQjAw
MzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTgwODZDQzBBNEQwOTc2MDBERkI2QTcgLyogRE9NQ1NTSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBMUQxMzgwMEE1MzI1NTIwMDY0QkY1RiAvKiBET01YUGF0aC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUExRDEzQ0EwQTUzMjkwOTAwNjRCRjVGIC8qIERPTVhQYXRoSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLApAQCAtNzIyMCw2ICs3MjMwLDggQEAKIAkJCQk1MUYxMUUxNTBBNDhDMjky
MDAzNEEyNEUgLyogU1FMVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREIyM0My
Q0IwQTUwOEQyOTAwMjQ4OUVCIC8qIEluZGVudE91dGRlbnRDb21tYW5kLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDQ0Q3NEU1MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3Vt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ0OEEyOUMwMEE0NkQ5Q0IwMDMwNzU5RiAvKiBK
U0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NDhBRDI3QzBB
NDgxMzdBMDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTEwNTJDMzIwQTRENzAwMTAwNzJEOTlCIC8qIERPTUV2ZW50c05vbnN0
YW5kYXJkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MTQ5RUQwQTUyNUUzQTAwM0RGQzdBIC8q
IFNpdGVJY29uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMUQxMzgxMEE1MzI1NTIwMDY0QkY1
RiAvKiBET01YUGF0aC5tbSBpbiBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9t
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIx
MTEtMTMwNywgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTFNlbGVjdEVsZW1l
bnQuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25FbGVtZW50LmgiCisKKyNpbmNsdWRlIDxranMv
b3BlcmF0aW9ucy5oPgorCit1c2luZyBuYW1lc3BhY2UgS0pTOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0pTVmFsdWUqIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpsZW5ndGgoRXhlY1N0YXRl
KiBleGVjKSBjb25zdAoreworICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogaW1wID0gc3RhdGlj
X2Nhc3Q8SFRNTE9wdGlvbnNDb2xsZWN0aW9uKj4oaW1wbCgpKTsKKyAgICByZXR1cm4ganNOdW1i
ZXIoaW1wLT5sZW5ndGgoKSk7Cit9CisKK3ZvaWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNl
dExlbmd0aChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUqIHZhbHVlKQoreworICAgIEhUTUxPcHRp
b25zQ29sbGVjdGlvbiogaW1wID0gc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbnNDb2xsZWN0aW9uKj4o
aW1wbCgpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICB1bnNpZ25lZCBuZXdMZW5n
dGggPSAwOworICAgIGRvdWJsZSBsZW5ndGhWYWx1ZTsKKyAgICBpZiAoIXZhbHVlLT5pc1VuZGVm
aW5lZE9yTnVsbCgpICYmIHZhbHVlLT5nZXROdW1iZXIobGVuZ3RoVmFsdWUpKSB7CisgICAgICAg
IGlmIChpc05hTihsZW5ndGhWYWx1ZSkgfHwgaXNJbmYobGVuZ3RoVmFsdWUpKQorICAgICAgICAg
ICAgbmV3TGVuZ3RoID0gMDsKKyAgICAgICAgZWxzZSBpZiAobGVuZ3RoVmFsdWUgPCAwLjApCisg
ICAgICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICBlbHNlIGlmIChsZW5ndGhW
YWx1ZSA+IHN0YXRpY19jYXN0PGRvdWJsZT4oVUlOVF9NQVgpKQorICAgICAgICAgICAgbmV3TGVu
Z3RoID0gVUlOVF9NQVg7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG5ld0xlbmd0aCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihsZW5ndGhWYWx1ZSk7CisgICAgfQorICAgIGlmICghZWMpCisg
ICAgICAgIGltcC0+c2V0TGVuZ3RoKG5ld0xlbmd0aCwgZWMpOworICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBlYyk7Cit9CisKK3ZvaWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmluZGV4U2V0
dGVyKEtKUzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBLSlM6OklkZW50aWZpZXIgJnByb3BlcnR5
TmFtZSwgS0pTOjpKU1ZhbHVlKiB2YWx1ZSwgaW50IGF0dHIpCit7CisgICAgYm9vbCBvazsKKyAg
ICB1bnNpZ25lZCBpbmRleCA9IHByb3BlcnR5TmFtZS50b1VJbnQzMigmb2spOworICAgIGlmICgh
b2spCisgICAgICAgIHJldHVybjsKKworICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogaW1wID0g
c3RhdGljX2Nhc3Q8SFRNTE9wdGlvbnNDb2xsZWN0aW9uKj4oaW1wbCgpKTsKKyAgICBIVE1MU2Vs
ZWN0RWxlbWVudCogYmFzZSA9IHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4oaW1wLT5i
YXNlKCkpOworICAgIGlmICh2YWx1ZS0+aXNVbmRlZmluZWRPck51bGwoKSkKKyAgICAgICAgYmFz
ZS0+cmVtb3ZlKGluZGV4KTsKKyAgICBlbHNlIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CisgICAgICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hUTUxPcHRpb25FbGVt
ZW50KHZhbHVlKTsKKyAgICAgICAgaWYgKCFvcHRpb24pCisgICAgICAgICAgICBlYyA9IFRZUEVf
TUlTTUFUQ0hfRVJSOworICAgICAgICBlbHNlCisgICAgICAgICAgICBiYXNlLT5zZXRPcHRpb24o
aW5kZXgsIG9wdGlvbiwgZWMpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwor
ICAgIH0KK30KKworfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5jcHAJKHJldmlzaW9uIDE1
MzAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlICJIVE1MVGFibGVSb3dFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxJbWFnZUVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUg
Ik5hbWVOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiVGV4
dC5oIgpAQCAtODM0LDcgKzgzNSw3IEBAIEpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6OnNlbGVjdEdl
dHRlcihFeGUKICAgICAgICAgY2FzZSBTZWxlY3RWYWx1ZTogICAgICAgICAgIHJldHVybiBqc1N0
cmluZyhzZWxlY3QudmFsdWUoKSk7CiAgICAgICAgIGNhc2UgU2VsZWN0TGVuZ3RoOiAgICAgICAg
ICByZXR1cm4ganNOdW1iZXIoc2VsZWN0Lmxlbmd0aCgpKTsKICAgICAgICAgY2FzZSBTZWxlY3RG
b3JtOiAgICAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIHNlbGVjdC5mb3JtKCkpOyAvLyB0eXBl
IEhUTUxGb3JtRWxlbWVudAotICAgICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6ICAgICAgICAgcmV0
dXJuIGdldFNlbGVjdEhUTUxDb2xsZWN0aW9uKGV4ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCks
ICZzZWxlY3QpOyAvLyB0eXBlIEpTSFRNTENvbGxlY3Rpb24KKyAgICAgICAgY2FzZSBTZWxlY3RP
cHRpb25zOiAgICAgICAgIHJldHVybiBnZXRIVE1MT3B0aW9uc0NvbGxlY3Rpb24oZXhlYywgc2Vs
ZWN0Lm9wdGlvbnMoKS5nZXQoKSk7CiAgICAgICAgIGNhc2UgU2VsZWN0RGlzYWJsZWQ6ICAgICAg
ICByZXR1cm4ganNCb29sZWFuKHNlbGVjdC5kaXNhYmxlZCgpKTsKICAgICAgICAgY2FzZSBTZWxl
Y3RNdWx0aXBsZTogICAgICAgIHJldHVybiBqc0Jvb2xlYW4oc2VsZWN0Lm11bHRpcGxlKCkpOwog
ICAgICAgICBjYXNlIFNlbGVjdE5hbWU6ICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKHNlbGVj
dC5uYW1lKCkpOwpAQCAtMTI3OCw3ICsxMjc5LDcgQEAgdm9pZCBKU0hUTUxFbGVtZW50OjpwdXQo
RXhlY1N0YXRlKiBleGVjLAogICAgICAgICBib29sIG9rOwogICAgICAgICAvKnVuc2lnbmVkIHUg
PSovIHByb3BlcnR5TmFtZS50b1VJbnQzMigmb2spOwogICAgICAgICBpZiAob2spIHsKLSAgICAg
ICAgICAgIEpTT2JqZWN0KiBjb2xsID0gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihnZXRTZWxlY3RI
VE1MQ29sbGVjdGlvbihleGVjLCBzZWxlY3Qub3B0aW9ucygpLmdldCgpLCAmc2VsZWN0KSk7Cisg
ICAgICAgICAgICBKU09iamVjdCogY29sbCA9IHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZ2V0SFRN
TE9wdGlvbnNDb2xsZWN0aW9uKGV4ZWMsIHNlbGVjdC5vcHRpb25zKCkuZ2V0KCkpKTsKICAgICAg
ICAgICAgIGNvbGwtPnB1dChleGVjLHByb3BlcnR5TmFtZSx2YWx1ZSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KQEAgLTEzMTQsNyArMTMxNSw3IEBAIHZvaWQgSlNIVE1MRWxlbWVu
dDo6c2VsZWN0U2V0dGVyKEV4ZWNTdGEKICAgICAgICAgY2FzZSBTZWxlY3RTZWxlY3RlZEluZGV4
OiAgIHsgc2VsZWN0LnNldFNlbGVjdGVkSW5kZXgodmFsdWUtPnRvSW50MzIoZXhlYykpOyByZXR1
cm47IH0KICAgICAgICAgY2FzZSBTZWxlY3RWYWx1ZTogICAgICAgICAgIHsgc2VsZWN0LnNldFZh
bHVlKHN0cik7IHJldHVybjsgfQogICAgICAgICBjYXNlIFNlbGVjdExlbmd0aDogICAgICAgICAg
eyAvLyByZWFkLW9ubHkgYWNjb3JkaW5nIHRvIHRoZSBOUyBzcGVjLCBidXQgd2VicGFnZXMgbmVl
ZCBpdCB3cml0ZWFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBK
U09iamVjdCogY29sbCA9IHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4oZ2V0U2VsZWN0SFRNTENvbGxl
Y3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlvbnMoKS5nZXQoKSwgJnNlbGVjdCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBjb2xsID0gc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPihnZXRIVE1MT3B0aW9uc0NvbGxlY3Rpb24oZXhlYywgc2VsZWN0Lm9wdGlv
bnMoKS5nZXQoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bGwtPnB1dChleGVjLGxlbmd0aFByb3BlcnR5TmFtZSx2YWx1ZSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQpAQCAtMTU3MywyMyArMTU3NCwyMiBAQCBIVE1MVGFibGVTZWN0aW9uRWxl
bWVudCogdG9IVE1MVGFibGVTZWN0CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8qIFNvdXJj
ZSBmb3IgSFRNTENvbGxlY3Rpb25Qcm90b1RhYmxlLiBVc2UgIm1ha2UgaGFzaHRhYmxlcyIgdG8g
cmVnZW5lcmF0ZS4KLUBiZWdpbiBIVE1MQ29sbGVjdGlvblByb3RvVGFibGUgMworLyogU291cmNl
IGZvciBKU0hUTUxDb2xsZWN0aW9uUHJvdG9UYWJsZS4gVXNlICJtYWtlIGhhc2h0YWJsZXMiIHRv
IHJlZ2VuZXJhdGUuCitAYmVnaW4gSlNIVE1MQ29sbGVjdGlvblByb3RvVGFibGUgMwogICBpdGVt
ICAgICAgICAgIEpTSFRNTENvbGxlY3Rpb246Okl0ZW0gICAgICAgICAgICBEb250RGVsZXRlfEZ1
bmN0aW9uIDEKICAgbmFtZWRJdGVtICAgICBKU0hUTUxDb2xsZWN0aW9uOjpOYW1lZEl0ZW0gICAg
ICAgRG9udERlbGV0ZXxGdW5jdGlvbiAxCiAgIHRhZ3MgICAgICAgICAgSlNIVE1MQ29sbGVjdGlv
bjo6VGFncyAgICAgICAgICAgIERvbnREZWxldGV8RnVuY3Rpb24gMQogQGVuZAogKi8KLUtKU19E
RUZJTkVfUFJPVE9UWVBFKEhUTUxDb2xsZWN0aW9uUHJvdG8pCi1LSlNfSU1QTEVNRU5UX1BST1RP
RlVOQyhIVE1MQ29sbGVjdGlvblByb3RvRnVuYykKLUtKU19JTVBMRU1FTlRfUFJPVE9UWVBFKCJI
VE1MQ29sbGVjdGlvbiIsSFRNTENvbGxlY3Rpb25Qcm90byxIVE1MQ29sbGVjdGlvblByb3RvRnVu
YykKK0tKU19JTVBMRU1FTlRfUFJPVE9GVU5DKEpTSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmMpCitL
SlNfSU1QTEVNRU5UX1BST1RPVFlQRSgiSFRNTENvbGxlY3Rpb24iLEpTSFRNTENvbGxlY3Rpb25Q
cm90byxKU0hUTUxDb2xsZWN0aW9uUHJvdG9GdW5jKQogCiBjb25zdCBDbGFzc0luZm8gSlNIVE1M
Q29sbGVjdGlvbjo6aW5mbyA9IHsgIkNvbGxlY3Rpb24iLCAwLCAwLCAwIH07CiAKLUpTSFRNTENv
bGxlY3Rpb246OkpTSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBIVE1MQ29sbGVjdGlv
biAqYykKK0pTSFRNTENvbGxlY3Rpb246OkpTSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiBleGVj
LCBIVE1MQ29sbGVjdGlvbiogYykKICAgOiBtX2ltcGwoYykgCiB7Ci0gIHNldFByb3RvdHlwZShI
VE1MQ29sbGVjdGlvblByb3RvOjpzZWxmKGV4ZWMpKTsKKyAgc2V0UHJvdG90eXBlKEpTSFRNTENv
bGxlY3Rpb25Qcm90bzo6c2VsZihleGVjKSk7CiB9CiAKIEpTSFRNTENvbGxlY3Rpb246On5KU0hU
TUxDb2xsZWN0aW9uKCkKQEAgLTE2OTUsNyArMTY5NSw3IEBAIEpTVmFsdWUgKkpTSFRNTENvbGxl
Y3Rpb246OmdldE5hbWVkSXRlbXMKICAgICByZXR1cm4gbmV3IERPTU5hbWVkTm9kZXNDb2xsZWN0
aW9uKGV4ZWMsIG5hbWVkSXRlbXMpOwogfQogCi1KU1ZhbHVlICpIVE1MQ29sbGVjdGlvblByb3Rv
RnVuYzo6Y2FsbEFzRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iaiwg
Y29uc3QgTGlzdCAmYXJncykKK0pTVmFsdWUqIEpTSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmM6OmNh
bGxBc0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmosIGNvbnN0IExp
c3QgJmFyZ3MpCiB7CiAgIGlmICghdGhpc09iai0+aW5oZXJpdHMoJkpTSFRNTENvbGxlY3Rpb246
OmluZm8pKQogICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIFR5cGVFcnJvcik7CkBAIC0xNzEz
LDc1ICsxNzEzLDYgQEAgSlNWYWx1ZSAqSFRNTENvbGxlY3Rpb25Qcm90b0Z1bmM6OmNhbGxBcwog
ICB9CiB9CiAKLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotSlNIVE1MU2VsZWN0Q29sbGVjdGlvbjo6
SlNIVE1MU2VsZWN0Q29sbGVjdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEhUTUxDb2xsZWN0aW9uICpj
LCBIVE1MU2VsZWN0RWxlbWVudCogZSkKLSAgOiBKU0hUTUxDb2xsZWN0aW9uKGV4ZWMsIGMpLCBt
X2VsZW1lbnQoZSkKLXsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MU2VsZWN0Q29sbGVjdGlvbjo6c2Vs
ZWN0ZWRJbmRleEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvcmlnaW5hbE9iamVj
dCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCi17Ci0gICAgSlNIVE1MU2VsZWN0Q29sbGVjdGlvbiAqdGhpc09iaiA9IHN0YXRpY19jYXN0
PEpTSFRNTFNlbGVjdENvbGxlY3Rpb24qPihzbG90LnNsb3RCYXNlKCkpOwotICAgIHJldHVybiBq
c051bWJlcih0aGlzT2JqLT5tX2VsZW1lbnQtPnNlbGVjdGVkSW5kZXgoKSk7Ci19Ci0KLWJvb2wg
SlNIVE1MU2VsZWN0Q29sbGVjdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCi17
Ci0gIGlmIChwcm9wZXJ0eU5hbWUgPT0gInNlbGVjdGVkSW5kZXgiKSB7Ci0gICAgc2xvdC5zZXRD
dXN0b20odGhpcywgc2VsZWN0ZWRJbmRleEdldHRlcik7Ci0gICAgLy9yZXN1bHQgPSBqc051bWJl
cihtX2VsZW1lbnQtPnNlbGVjdGVkSW5kZXgoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH0KLQot
ICByZXR1cm4gSlNIVE1MQ29sbGVjdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KGV4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCk7Ci19Ci0KLXZvaWQgSlNIVE1MU2VsZWN0Q29sbGVjdGlvbjo6cHV0KEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVydHlOYW1lLCBKU1ZhbHVlICp2
YWx1ZSwgaW50KQotewotI2lmZGVmIEtKU19WRVJCT1NFCi0gIGtkRGVidWcoNjA3MCkgPDwgIkpT
SFRNTFNlbGVjdENvbGxlY3Rpb246OnB1dCAiIDw8IHByb3BlcnR5TmFtZS5kZXByZWNhdGVkU3Ry
aW5nKCkgPDwgZW5kbDsKLSNlbmRpZgotICBpZiAoIHByb3BlcnR5TmFtZSA9PSAic2VsZWN0ZWRJ
bmRleCIgKQotICAgIG1fZWxlbWVudC0+c2V0U2VsZWN0ZWRJbmRleCh2YWx1ZS0+dG9JbnQzMihl
eGVjKSk7Ci0gIGVsc2UgaWYgKHByb3BlcnR5TmFtZSA9PSBsZW5ndGhQcm9wZXJ0eU5hbWUpIHsK
LSAgICAvLyByZXNpemUgPwotICAgIGlmICh2YWx1ZS0+aXNOdW1iZXIoKSkgewotICAgICAgZG91
YmxlIG5ld0xlbjsKLSAgICAgIGlmICh2YWx1ZS0+Z2V0TnVtYmVyKG5ld0xlbikpIHsKLSAgICAg
ICAgaW50IGV4Y2VwdGlvbiA9IDA7Ci0gICAgICAgIGlmIChuZXdMZW4gPj0gMCkgewotICAgICAg
ICAgIG1fZWxlbWVudC0+c2V0TGVuZ3RoKHVuc2lnbmVkKGZsb29yKG5ld0xlbikpLCBleGNlcHRp
b24pOwotICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBleGNlcHRpb24pOwotICAgICAg
ICB9Ci0gICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIGludCBleGNlcHRpb24gPSAwOwotICAg
ICAgbV9lbGVtZW50LT5zZXRMZW5ndGgoMCwgZXhjZXB0aW9uKTsKLSAgICAgIHNldERPTUV4Y2Vw
dGlvbihleGVjLCBleGNlcHRpb24pOwotICAgIH0KLSAgfSBlbHNlIHsKLSAgICAvLyBhbiBpbmRl
eCA/Ci0gICAgYm9vbCBvazsKLSAgICB1bnNpZ25lZCBpID0gcHJvcGVydHlOYW1lLnRvVUludDMy
KCZvayk7Ci0gICAgaWYgKG9rKSB7Ci0gICAgICBpZiAodmFsdWUtPmlzVW5kZWZpbmVkT3JOdWxs
KCkpIHsKLSAgICAgICAgLy8gbnVsbCBhbmQgdW5kZWZpbmVkIGRlbGV0ZS4gb3RoZXJzLCB0b28g
PwotICAgICAgICBtX2VsZW1lbnQtPnJlbW92ZShpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAg
IFdlYkNvcmU6Ok5vZGUgKm9wdGlvbiA9IHRvTm9kZSh2YWx1ZSk7Ci0gICAgICAgIC8vIGlzIHYg
YW4gb3B0aW9uIGVsZW1lbnQgPwotICAgICAgICBpZiAoIW9wdGlvbiB8fCAhb3B0aW9uLT5oYXNU
YWdOYW1lKG9wdGlvblRhZykpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaW50IGV4
Y2VwdGlvbiA9IDA7Ci0gICAgICAgIG1fZWxlbWVudC0+c2V0T3B0aW9uKGksIHN0YXRpY19jYXN0
PEhUTUxPcHRpb25FbGVtZW50Kj4ob3B0aW9uKSwgZXhjZXB0aW9uKTsKLSAgICAgICAgc2V0RE9N
RXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvbik7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0KIC8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8gSW1hZ2UgT2JqZWN0IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwogCiBJbWFnZUNvbnN0cnVjdG9ySW1wOjpJbWFnZUNvbnN0cnVjdG9ySW1wKEV4ZWNTdGF0ZSog
ZXhlYywgRG9jdW1lbnQqIGQpCkBAIC0xODMyLDE3ICsxNzYzLDE3IEBAIEpTVmFsdWUqIGdldEhU
TUxDb2xsZWN0aW9uKEV4ZWNTdGF0ZSogZXgKICAgICByZXR1cm4gY2FjaGVET01PYmplY3Q8SFRN
TENvbGxlY3Rpb24sIEpTSFRNTENvbGxlY3Rpb24+KGV4ZWMsIGMpOwogfQogCi1KU1ZhbHVlICpn
ZXRTZWxlY3RIVE1MQ29sbGVjdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEhUTUxDb2xsZWN0aW9uICpj
LCBIVE1MU2VsZWN0RWxlbWVudCogZSkKK0pTVmFsdWUqIGdldEhUTUxPcHRpb25zQ29sbGVjdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogYykKIHsKLSAgRE9NT2Jq
ZWN0ICpyZXQ7CisgIERPTU9iamVjdCogcmV0OwogICBpZiAoIWMpCiAgICAgcmV0dXJuIGpzTnVs
bCgpOwogICBTY3JpcHRJbnRlcnByZXRlciogaW50ZXJwID0gc3RhdGljX2Nhc3Q8U2NyaXB0SW50
ZXJwcmV0ZXIqPihleGVjLT5keW5hbWljSW50ZXJwcmV0ZXIoKSk7CiAgIGlmICgocmV0ID0gaW50
ZXJwLT5nZXRET01PYmplY3QoYykpKQogICAgIHJldHVybiByZXQ7CiAgIGVsc2UgewotICAgIHJl
dCA9IG5ldyBKU0hUTUxTZWxlY3RDb2xsZWN0aW9uKGV4ZWMsIGMsIGUpOwotICAgIGludGVycC0+
cHV0RE9NT2JqZWN0KGMscmV0KTsKKyAgICByZXQgPSBuZXcgSlNIVE1MT3B0aW9uc0NvbGxlY3Rp
b24oZXhlYywgYyk7CisgICAgaW50ZXJwLT5wdXRET01PYmplY3QoYywgcmV0KTsKICAgICByZXR1
cm4gcmV0OwogICB9CiB9CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5oCShyZXZpc2lvbiAxNTMw
MCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2h0bWwuaAkod29ya2luZyBjb3B5KQpAQCAt
MzAsNiArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRNTENvbGxlY3Rp
b247CiAgICAgY2xhc3MgSFRNTERvY3VtZW50OwogICAgIGNsYXNzIEhUTUxFbGVtZW50OworICAg
IGNsYXNzIEhUTUxPcHRpb25zQ29sbGVjdGlvbjsKICAgICBjbGFzcyBIVE1MU2VsZWN0RWxlbWVu
dDsKICAgICBjbGFzcyBIVE1MVGFibGVDYXB0aW9uRWxlbWVudDsKICAgICBjbGFzcyBIVE1MVGFi
bGVTZWN0aW9uRWxlbWVudDsKQEAgLTE2OSw2ICsxNzAsOCBAQCBuYW1lc3BhY2UgS0pTIHsKICAg
V2ViQ29yZTo6SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQqIHRvSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQoSlNWYWx1ZSopOyAvLyByZXR1cm5zIDAgaWYgcGFzc2VkLWluIHZhbHVlIGlzIG5vdCBhIEpT
SFRNTEVsZW1lbnQgb2JqZWN0IGZvciBhIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50CiAgIFdlYkNv
cmU6OkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50KiB0b0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50KEpT
VmFsdWUqKTsgLy8gcmV0dXJucyAwIGlmIHBhc3NlZC1pbiB2YWx1ZSBpcyBub3QgYSBKU0hUTUxF
bGVtZW50IG9iamVjdCBmb3IgYSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudAogCisgIEtKU19ERUZJ
TkVfUFJPVE9UWVBFKEpTSFRNTENvbGxlY3Rpb25Qcm90bykKKwogICBjbGFzcyBKU0hUTUxDb2xs
ZWN0aW9uIDogcHVibGljIERPTU9iamVjdCB7CiAgIHB1YmxpYzoKICAgICBKU0hUTUxDb2xsZWN0
aW9uKEV4ZWNTdGF0ZSosIFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uKik7CkBAIC0xOTAsMTcgKzE5
Myw2IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIHN0YXRpYyBKU1ZhbHVlKiBuYW1lR2V0dGVyKEV4
ZWNTdGF0ZSosIEpTT2JqZWN0KiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xv
dCYpOwogICB9OwogCi0gIGNsYXNzIEpTSFRNTFNlbGVjdENvbGxlY3Rpb24gOiBwdWJsaWMgSlNI
VE1MQ29sbGVjdGlvbiB7Ci0gIHB1YmxpYzoKLSAgICBKU0hUTUxTZWxlY3RDb2xsZWN0aW9uKEV4
ZWNTdGF0ZSosIFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uKiwgV2ViQ29yZTo6SFRNTFNlbGVjdEVs
ZW1lbnQqKTsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSos
IGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcHV0
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSosIGlu
dCBhdHRyID0gTm9uZSk7Ci0gIHByaXZhdGU6Ci0gICAgc3RhdGljIEpTVmFsdWUqIHNlbGVjdGVk
SW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBjb25zdCBJZGVudGlmaWVyJiwgY29u
c3QgUHJvcGVydHlTbG90Jik7Ci0KLSAgICBSZWZQdHI8V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ+IG1fZWxlbWVudDsKLSAgfTsKLQogICBjbGFzcyBIVE1MQWxsQ29sbGVjdGlvbiA6IHB1Ymxp
YyBKU0hUTUxDb2xsZWN0aW9uIHsKICAgcHVibGljOgogICAgIEhUTUxBbGxDb2xsZWN0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24qIGMpIDoKQEAgLTIyMSw3ICsy
MTMsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgfTsKIAogICBKU1ZhbHVlKiBnZXRIVE1MQ29sbGVj
dGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbiopOwotICBKU1ZhbHVlKiBn
ZXRTZWxlY3RIVE1MQ29sbGVjdGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MQ29sbGVjdGlv
biosIFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Kik7CisgIEpTVmFsdWUqIGdldEhUTUxPcHRp
b25zQ29sbGVjdGlvbihFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxlY3Rpb24q
KTsKICAgSlNWYWx1ZSogZ2V0QWxsSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6
SFRNTENvbGxlY3Rpb24qKTsKIAogfSAvLyBuYW1lc3BhY2UKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMTUzMDApCisrKyBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zNDgsNyArMzQ4LDEyIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQotICAKKworICAgICMgSW5kZXggc2V0dGVyCisgICAgaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4U2V0dGVyIn0pIHsKKyAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2b2lkIGluZGV4U2V0dGVyKEtKUzo6RXhlY1N0
YXRlKiwgY29uc3QgS0pTOjpJZGVudGlmaWVyICZwcm9wZXJ0eU5hbWUsIEtKUzo6SlNWYWx1ZSos
IGludCBhdHRyKTtcbiIpOworICAgIH0KKwogICAgIGlmICghJGhhc1BhcmVudCkgewogICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsKCkgY29uc3Qg
eyByZXR1cm4gbV9pbXBsLmdldCgpOyB9XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgInByaXZhdGU6XG4iKTsKQEAgLTY5MSw3ICs2OTYsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKICAgCiAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJKU1ZhbHVlKiAke2NsYXNzTmFtZX06OmdldFZhbHVlUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0XG57XG4iKTsKLSAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wbCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NO
YW1lKj4oJHtjbGFzc05hbWV9OjppbXBsKCkpO1xuXG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wID0gc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWUq
PihpbXBsKCkpO1xuXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzd2l0Y2ggKHRv
a2VuKSB7XG4iKTsKIAogICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0YU5vZGUtPmF0
dHJpYnV0ZXN9KSB7CkBAIC03MDgsMTEgKzcxMywxMSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIEpTIiAuICRj
b25zdHJ1Y3RvclR5cGUgLiAiOjpnZXRDb25zdHJ1Y3RvcihleGVjKTtcbiIpOwogICAgICAgfSBl
bHNpZiAoIUB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc30pIHsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgY2FzZSAiIC4gdWNmaXJzdCgkbmFtZSkgLiAiQXR0ck51bTpcbiIp
OwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuICIgLiBOYXRpdmVU
b0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAiaW1wbC0+JG5hbWUoKSIpIC4gIjtcbiIp
OworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuICIgLiBOYXRpdmVU
b0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAiaW1wLT4kbmFtZSgpIikgLiAiO1xuIik7
CiAgICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXNlICIg
LiB1Y2ZpcnN0KCRuYW1lKSAuICJBdHRyTnVtOiB7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIik7Ci0gICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICBLSlM6OkpTVmFsdWUqIHJlc3VsdCA9ICIgLiBOYXRpdmVU
b0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAiaW1wbC0+JG5hbWUoZWMpIikgLiAiO1xu
Iik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBLSlM6OkpTVmFsdWUqIHJl
c3VsdCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAiaW1wLT4k
bmFtZShlYykiKSAuICI7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgICAgIHJldHVybiByZXN1bHQ7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgfVxuIik7CkBAIC03MjgsMTIgKzczMywyMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgIH0KICAgICBpZiAoJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMpIHsKICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1dChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSogdmFsdWUsIGludCBh
dHRyKVxuIik7Ci0gICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiAgICBsb29rdXBQdXQ8JGNs
YXNzTmFtZSwgJHBhcmVudENsYXNzTmFtZT4iIC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAi
KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIsICYke2NsYXNzTmFtZX1UYWJsZSwgdGhp
cyk7XG59XG5cbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4U2V0dGVyIn0pIHsKKyAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iIC4KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgICAgaWYgKCFsb29rdXBQdXQ8JGNsYXNzTmFtZT4oZXhlYywgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgYXR0ciwgJiR7Y2xhc3NOYW1lfVRhYmxlLCB0aGlzKSlcbiIpOworICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAgICAgaW5kZXhTZXR0ZXIoZXhlYywgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgYXR0cik7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwor
ICAgICAgfQorICAgICAgZWxzZSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuICAg
IGxvb2t1cFB1dDwkY2xhc3NOYW1lLCAkcGFyZW50Q2xhc3NOYW1lPiIgLgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmJHtjbGFz
c05hbWV9VGFibGUsIHRoaXMpO1xufVxuXG4iKTsKKyAgICAgIH0KKwogICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJ2b2lkICR7Y2xhc3NOYW1lfTo6cHV0VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUq
IGV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSogdmFsdWUsIGludCAvKmF0dHIqLylcbiIpOwogICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICRpbXBsQ2xhc3NOYW1lKiBpbXBsID0gc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWUqPigk
e2NsYXNzTmFtZX06OmltcGwoKSk7XG5cbiIpOworICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgJGltcGxDbGFzc05hbWUqIGltcCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4oaW1w
bCgpKTtcblxuIik7CiAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBzd2l0Y2ggKHRva2Vu
KSB7XG4iKTsKIAogICAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0
cmlidXRlc30pIHsKQEAgLTc1Nyw3ICs3NzAsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIGNhc2UgIiAuIHVjZmlyc3QoJG5hbWUpIC4iQXR0ck51bToge1xuIik7CiAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIp
IGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICBpbXBsLT5zZXQiIC4gdWNmaXJzdCgkbmFtZSkgLiAiKCIg
LiBKU1ZhbHVlVG9OYXRpdmUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAidmFsdWUiKSk7CisgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpbXAtPnNldCIgLiB1Y2ZpcnN0
KCRuYW1lKSAuICIoIiAuIEpTVmFsdWVUb05hdGl2ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsICJ2
YWx1ZSIpKTsKICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIGVjIikgaWYgQHsk
YXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIpO1xuIik7CiAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpO1xuIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJF
eGNlcHRpb25zfTsKQEAgLTc3MCw3ICs3ODMsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICAKICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93Iikgewog
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIC8vIEZJWE1FOiBIYWNrIHRvIHByZXZl
bnQgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgLS0gcmVtb3ZlIG9uY2UgRE9NV2luZG93IGluY2x1
ZGVzIGEgc2V0dGFibGUgcHJvcGVydHlcbiIpOwotICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICh2b2lkKWltcGw7XG4iKTsKKyAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAodm9pZClpbXA7XG4iKTsKICAgICAgIH0KICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxu
XG4iKTsgIyBlbmQgZnVuY3Rpb24KICAgICB9CkBAIC03ODgsMzQgKzgwMSw0OSBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghdGhp
c09iai0+aW5oZXJpdHMoJiR7Y2xhc3NOYW1lfTo6aW5mbykpXG4iKTsKICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIFR5cGVFcnJvcik7XG5cbiIp
OwogCi0gICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBz
dGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlz
T2JqKS0+aW1wbCgpKTtcblxuIik7Ci0gICAgCi0gICAgCisgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgJGltcGxDbGFzc05hbWUqIGltcCA9IHN0YXRpY19jYXN0PCRpbXBsQ2xhc3NOYW1lKj4o
c3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmopLT5pbXBsKCkpO1xuXG4iKTsKKwogICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIHN3aXRjaCAoaWQpIHtcbiIpOwotICAgIGZvcmVhY2gg
bXkgJGZ1bmN0aW9uIChAeyRkYXRhTm9kZS0+ZnVuY3Rpb25zfSkgeyAgICAgIAorICAgIGZvcmVh
Y2ggbXkgJGZ1bmN0aW9uIChAeyRkYXRhTm9kZS0+ZnVuY3Rpb25zfSkgewogICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgY2FzZSAke2NsYXNzTmFtZX06OiIgLiB1Y2ZpcnN0KCRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5uYW1lKSAuICJGdW5jTnVtOiB7XG4iKTsKLSAgICAgIAorCiAgICAgICBp
ZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20ifSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PCR7Y2xhc3NOYW1lfSo+KHRoaXNPYmopLT4iIC4gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUg
LiAiKGV4ZWMsIGFyZ3MpO1xuICAgIH1cbiIpOwogICAgICAgICBuZXh0OwogICAgICAgfQotICAg
ICAgCisKICAgICAgIEFkZEluY2x1ZGVzRm9yVHlwZSgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlw
ZSk7Ci0gICAgICAKKworICAgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfSkg
eworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7XG4iKTsKKyAgICAgIH0KKwogICAgICAgbXkgJHBhcmFtSW5kZXggPSAwOwotICAgICAgbXkg
JGZ1bmN0aW9uU3RyaW5nID0gImltcGwtPiIgLiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSAu
ICIoIjsKKyAgICAgIG15ICRmdW5jdGlvblN0cmluZyA9ICJpbXAtPiIgLiAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+bmFtZSAuICIoIjsKICAgICAgIG15ICRudW1QYXJhbWV0ZXJzID0gQHskZnVuY3Rp
b24tPnBhcmFtZXRlcnN9OwotICAgICAgCisgICAgICBteSAkaGFzT3B0aW9uYWxBcmd1bWVudHMg
PSAwOworCiAgICAgICBmb3JlYWNoIG15ICRwYXJhbWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0
ZXJzfSkgeworICAgICAgICBpZiAoISRoYXNPcHRpb25hbEFyZ3VtZW50cyAmJiAkcGFyYW1ldGVy
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT3B0aW9uYWwifSkgeworICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiXG4gICAgICAgIGludCBhcmdzQ291bnQgPSBhcmdzLnNpemUoKTtcbiIpOwor
ICAgICAgICAgICRoYXNPcHRpb25hbEFyZ3VtZW50cyA9IDE7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoJGhhc09wdGlvbmFsQXJndW1lbnRzKSB7CisgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgICAgIGlmIChhcmdzQ291bnQgPCAiIC4gKCRwYXJhbUluZGV4ICsgMSkgLiAiKSB7
XG4iKTsKKyAgICAgICAgICBHZW5lcmF0ZUltcGxlbWVudGF0aW9uRnVuY3Rpb25DYWxsKCRmdW5j
dGlvbiwgJGZ1bmN0aW9uU3RyaW5nLCAkcGFyYW1JbmRleCwgIiAgICAiIHggMyk7CisgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIH1cblxuIik7CisgICAgICAgIH0KKwogICAg
ICAgICBteSAkbmFtZSA9ICRwYXJhbWV0ZXItPm5hbWU7CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICAgICBib29sICR7bmFtZX1PaztcbiIpIGlmIFR5cGVDYW5GYWlsQ29udmVyc2lv
bigkcGFyYW1ldGVyKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICIgLiBH
ZXROYXRpdmVUeXBlKCRwYXJhbWV0ZXIpIC4gIiAkbmFtZSA9ICIgLiBKU1ZhbHVlVG9OYXRpdmUo
JHBhcmFtZXRlciwgImFyZ3NbJHBhcmFtSW5kZXhdIiwgVHlwZUNhbkZhaWxDb252ZXJzaW9uKCRw
YXJhbWV0ZXIpID8gIiR7bmFtZX1PayIgOiB1bmRlZikgLiAiO1xuIik7ICAgICAgICAKLSAgICBp
ZiAoVHlwZUNhbkZhaWxDb252ZXJzaW9uKCRwYXJhbWV0ZXIpKSB7Ci0gICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICBpZiAoISR7bmFtZX1Paykge1xuIik7Ci0gICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlT
TUFUQ0hfRVJSKTtcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpO1xuICAgICAgICB9XG4iKTsKLSAgICB9ICAgICAgICAgIAot
ICAgICAgICAKKyAgICAgICAgaWYgKFR5cGVDYW5GYWlsQ29udmVyc2lvbigkcGFyYW1ldGVyKSkg
eworICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpZiAoISR7bmFtZX1Paykg
e1xuIik7CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpO1xuIik7CisgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiAgICAgICAg
fVxuIik7CisgICAgICAgIH0gICAgICAgICAgCisKICAgICAgICAgIyBJZiBhIHBhcmFtZXRlciBp
cyAiYW4gaW5kZXgiLCBpdCBzaG91bGQgdGhyb3cgYW4gSU5ERVhfU0laRV9FUlIKICAgICAgICAg
IyBleGNlcHRpb24gICAgICAgIAogICAgICAgICBpZiAoJHBhcmFtZXRlci0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IklzSW5kZXgifSkgewpAQCAtODI0LDM3ICs4NTIsMjMgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBJTkRFWF9TSVpFX0VSUik7XG4iKTsKICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuICAg
ICAgICB9XG4iKTsgICAgICAgICAgCiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgJGZ1
bmN0aW9uU3RyaW5nIC49ICIsICIgaWYgJHBhcmFtSW5kZXg7CiAgICAgICAgICRmdW5jdGlvblN0
cmluZyAuPSAkbmFtZTsKIAogICAgICAgICAkcGFyYW1JbmRleCsrOwogICAgICAgfQotICAKLSAg
ICAgIGlmIChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30pIHsKLSAgICAgICAgJGZ1bmN0
aW9uU3RyaW5nIC49ICIsICIgaWYgJHBhcmFtSW5kZXg7Ci0gICAgICAgICRmdW5jdGlvblN0cmlu
ZyAuPSAiZWMiOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7XG4iKTsKLSAgICAgIH0KLSAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiKSI7
Ci0gICAgICAKLSAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSBlcSAidm9pZCIp
IHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAgICAgICAgJGZ1bmN0aW9uU3RyaW5n
O1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgZWMpO1xuIikgaWYgQHskZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnN9OwotICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4i
KTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgICAg
IEtKUzo6SlNWYWx1ZSogcmVzdWx0ID0gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNp
Z25hdHVyZSwgJGZ1bmN0aW9uU3RyaW5nKSAuICI7XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBAeyRmdW5j
dGlvbi0+cmFpc2VzRXhjZXB0aW9uc307Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
ICAgICByZXR1cm4gcmVzdWx0O1xuIik7Ci0gICAgICB9CiAKLSAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIH1cbiIpOworICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOworICAgICAg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uQ2FsbCgkZnVuY3Rpb24sICRmdW5jdGlvblN0
cmluZywgJHBhcmFtSW5kZXgsICIgICAgIiB4IDIpOworCisgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICB9XG4iKTsgIyBlbmQgY2FzZQogICAgIH0KLSAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICB9XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4iKTsgIyBlbmQgc3dp
dGNoCiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIDA7XG4iKTsKLSAgICBwdXNo
KEBpbXBsQ29udGVudCwgIn1cbiIpCisgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKICAg
fQotICAKKwogICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzSW5kZXhH
ZXR0ZXIifSkgewogICAgIHB1c2goQGltcGxDb250ZW50LCAiXG5KU1ZhbHVlKiAke2NsYXNzTmFt
ZX06OmluZGV4R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIG9yaWdpbmFsT2JqZWN0
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xv
dClcbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CkBAIC04NjIsNyArODc2LDcg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICByZXR1cm4gdG9KUyhleGVjLCBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KHRoaXNPYmot
PmltcGwoKSktPml0ZW0oc2xvdC5pbmRleCgpKSk7XG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIn1cbiIpOwogICB9Ci0gICAgCisKICAgaWYgKCEkaGFzUGFyZW50KSB7CiAgICAgbXkgJGlt
cGxDb250ZW50ID0gPDwgIkVPRiI7CiBLSlM6OkpTVmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUq
IGV4ZWMsICRpbXBsQ2xhc3NOYW1lKiBvYmopCkBAIC04OTUsNiArOTA5LDMwIEBAIEVPRgogICBw
dXNoKEBpbXBsQ29udGVudCwgIlxuI2VuZGlmIC8vICR7Y29uZGl0aW9uYWx9X1NVUFBPUlRcbiIp
IGlmICRjb25kaXRpb25hbDsKIH0KIAorc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25GdW5jdGlv
bkNhbGwoKQoreworICAgIG15ICRmdW5jdGlvbiA9IHNoaWZ0OworICAgIG15ICRmdW5jdGlvblN0
cmluZyA9IHNoaWZ0OworICAgIG15ICRwYXJhbUluZGV4ID0gc2hpZnQ7CisgICAgbXkgJGluZGVu
dCA9IHNoaWZ0OworCisgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfSkgewor
ICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFyYW1JbmRleDsKKyAgICAgICAg
JGZ1bmN0aW9uU3RyaW5nIC49ICJlYyI7CisgICAgfQorICAgICRmdW5jdGlvblN0cmluZyAuPSAi
KSI7CisKKyAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUgZXEgInZvaWQiKSB7Cisg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkaW5kZW50IC4gIiRmdW5jdGlvblN0cmluZztcbiIp
OworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJzZXRET01FeGNlcHRpb24o
ZXhlYywgZWMpO1xuIikgaWYgQHskZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnN9OworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgJGluZGVudCAuICJyZXR1cm4ganNVbmRlZmluZWQoKTtcbiIp
OworICAgIH0gZWxzZSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gJGluZGVu
dCAuICJLSlM6OkpTVmFsdWUqIHJlc3VsdCA9ICIgLiBOYXRpdmVUb0pTVmFsdWUoJGZ1bmN0aW9u
LT5zaWduYXR1cmUsICRmdW5jdGlvblN0cmluZykgLiAiO1xuIik7CisgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAkaW5kZW50IC4gInNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBpZiBA
eyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc307CisgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAkaW5kZW50IC4gInJldHVybiByZXN1bHQ7XG4iKTsKKyAgICB9Cit9CisKIHN1YiBHZXROYXRp
dmVUeXBlCiB7CiAgICAgbXkgJHNpZ25hdHVyZSA9IHNoaWZ0OwpAQCAtOTQzLDcgKzk4MSw4IEBA
IHN1YiBUeXBlQ2FuRmFpbENvbnZlcnNpb24KICAgaWYgKCR0eXBlIGVxICJib29sZWFuIikgewog
ICAgIHJldHVybiAwOwogICB9IGVsc2lmICgkdHlwZSBlcSAidW5zaWduZWQgbG9uZyIgb3IgJHR5
cGUgZXEgImxvbmciKSB7Ci0gICAgcmV0dXJuIDA7ICMgb3IgY2FuIGl0PworICAgICRpbXBsSW5j
bHVkZXN7IkV4Y2VwdGlvbkNvZGUuaCJ9ID0gMTsKKyAgICByZXR1cm4gMTsKICAgfSBlbHNpZiAo
JHR5cGUgZXEgInVuc2lnbmVkIHNob3J0IikgewogICAgIHJldHVybiAwOyAjIG9yIGNhbiBpdD8K
ICAgfSBlbHNpZiAoJHR5cGUgZXEgIkNvbXBhcmVIb3ciKSB7CkBAIC05NjcsNyArMTAwNiw4IEBA
IHN1YiBUeXBlQ2FuRmFpbENvbnZlcnNpb24KICAgICAgICAgICAgJHR5cGUgZXEgIlhQYXRoUmVz
dWx0IiBvcgogICAgICAgICAgICAkdHlwZSBlcSAiU1ZHTWF0cml4IiBvcgogICAgICAgICAgICAk
dHlwZSBlcSAiU1ZHUmVjdCIgb3IKLSAgICAgICAgICAgJHR5cGUgZXEgIlNWR0VsZW1lbnQiKSB7
CisgICAgICAgICAgICR0eXBlIGVxICJTVkdFbGVtZW50IiBvcgorICAgICAgICAgICAkdHlwZSBl
cSAiSFRNTE9wdGlvbkVsZW1lbnQiKSB7CiAgICAgICByZXR1cm4gMDsKICAgfSBlbHNlIHsKICAg
ICBkaWUgIkRvbid0IGtub3cgd2hldGhlciBhIEpTIHZhbHVlIGNhbiBmYWlsIGNvbnZlcnNpb24g
dG8gdHlwZSAkdHlwZS4iCkBAIC05OTMsNyArMTAzMywxMSBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZl
CiAgICAgfSBlbHNpZiAoJHR5cGUgZXEgInVuc2lnbmVkIGxvbmciIG9yCiAgICAgICAgICAgICAg
JHR5cGUgZXEgImxvbmciIG9yCiAgICAgICAgICAgICAgJHR5cGUgZXEgInVuc2lnbmVkIHNob3J0
IikgewotICAgICAgICByZXR1cm4gIiR2YWx1ZS0+dG9JbnQzMihleGVjKSI7CisgICAgICAgIGlm
ICgkbWF5YmVPa1BhcmFtKSB7CisgICAgICAgICAgICByZXR1cm4gIiR2YWx1ZS0+dG9JbnQzMihl
eGVjJHttYXliZU9rUGFyYW19KSI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1
cm4gIiR2YWx1ZS0+dG9JbnQzMihleGVjKSI7CisgICAgICAgIH0KICAgICB9IGVsc2lmICgkdHlw
ZSBlcSAiQ29tcGFyZUhvdyIpIHsKICAgICAgICAgcmV0dXJuICJzdGF0aWNfY2FzdDxSYW5nZTo6
Q29tcGFyZUhvdz4oJHZhbHVlLT50b0ludDMyKGV4ZWMpKSI7CiAgICAgfSBlbHNpZiAoJHR5cGUg
ZXEgImZsb2F0IikgewpAQCAtMTExMiw3ICsxMTU2LDcgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQog
ICAgIH0gZWxzaWYgKCR0eXBlIGVxICJTdHlsZVNoZWV0TGlzdCIpIHsKICAgICAgICAgJGltcGxJ
bmNsdWRlc3siU3R5bGVTaGVldExpc3QuaCJ9ID0gMTsKICAgICAgICAgJGltcGxJbmNsdWRlc3si
a2pzX2Nzcy5oIn0gPSAxOwotICAgICAgICByZXR1cm4gInRvSlMoZXhlYywgJHZhbHVlLCBpbXBs
KSI7CisgICAgICAgIHJldHVybiAidG9KUyhleGVjLCAkdmFsdWUsIGltcCkiOwogICAgIH0gZWxz
aWYgKCR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiUmVjdCIpIHsK
ICAgICAgICAgJGltcGxJbmNsdWRlc3siQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIn0gPSAxOwogICAg
ICAgICAkaW1wbEluY2x1ZGVzeyJSZWN0SW1wbC5oIn0gPSAxOwpJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9w
dGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNTMwMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKIAogbW9kdWxl
IGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50
XSBIVE1MT3B0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0xlZ2Fj
eVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyXSBIVE1M
T3B0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
ICBIVE1MRm9ybUVsZW1lbnQgICAgICBmb3JtOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
IGJvb2xlYW4gICAgICAgICAgICAgIGRlZmF1bHRTZWxlY3RlZDsKICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlICBET01TdHJpbmcgICAgICAgICAgICB0ZXh0CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcAkocmV2aXNpb24gMTUzMDApCisrKyBXZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBA
QAogI2luY2x1ZGUgIkhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgogCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TFNlbGVjdEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsMTMgKzMzLDUy
IEBAIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6SFRNTE9wdGlvbnNDb2xsZWMKICAgICA6IEhUTUxD
b2xsZWN0aW9uKHNlbGVjdCwgU2VsZWN0T3B0aW9ucykKIHsKICAgICBBU1NFUlQoIWluZm8pOwot
CiAgICAgaW5mbyA9IHNlbGVjdC0+Y29sbGVjdGlvbkluZm8oKTsKIH0KIAotdm9pZCBIVE1MT3B0
aW9uc0NvbGxlY3Rpb246OnNldExlbmd0aCh1bnNpZ25lZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2
b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1l
bnQ+IGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUgJmVjKQoreworICAgIGFkZChlbGVtZW50LCBsZW5n
dGgoKSwgZWMpOworfQorCit2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKFBhc3NSZWZQ
dHI8SFRNTE9wdGlvbkVsZW1lbnQ+IGVsZW1lbnQsIGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSAm
ZWMpCit7CisgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG5ld09wdGlvbiA9IGVsZW1lbnQuZ2V0KCk7
CisKKyAgICBpZiAoIW5ld09wdGlvbikgeworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGluZGV4IDwgLTEpIHsKKyAgICAg
ICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVj
ID0gMDsKKyAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc3RhdGljX2Nhc3Q8SFRNTFNl
bGVjdEVsZW1lbnQqPihtX2Jhc2UuZ2V0KCkpOworCisgICAgaWYgKGluZGV4ID09IC0xIHx8IHVu
c2lnbmVkKGluZGV4KSA+PSBsZW5ndGgoKSkKKyAgICAgICAgc2VsZWN0LT5hZGQobmV3T3B0aW9u
LCAwLCBlYyk7CisgICAgZWxzZQorICAgICAgICBzZWxlY3QtPmFkZChuZXdPcHRpb24sIHN0YXRp
Y19jYXN0PEhUTUxPcHRpb25FbGVtZW50Kj4oaXRlbShpbmRleCkpLCBlYyk7CisKKyAgICBBU1NF
UlQoZWMgPT0gMCk7Cit9CisKK2ludCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNlbGVjdGVkSW5k
ZXgoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+
KG1fYmFzZS5nZXQoKSktPnNlbGVjdGVkSW5kZXgoKTsKK30KKwordm9pZCBIVE1MT3B0aW9uc0Nv
bGxlY3Rpb246OnNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4KQoreworICAgIHN0YXRpY19jYXN0
PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2V0U2VsZWN0ZWRJbmRleChpbmRl
eCk7Cit9CisKK3ZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgodW5zaWduZWQg
bGVuZ3RoLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJS
OworICAgIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2V0
TGVuZ3RoKGxlbmd0aCwgZWMpOwogfQogCiB9IC8vbmFtZXNwYWNlCkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5oCShyZXZpc2lvbiAxNTMwMCkKKysrIFdlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAog
I2RlZmluZSBIVE1MX0hUTUxPcHRpb25zQ29sbGVjdGlvbkltcGxfSAogCiAjaW5jbHVkZSAiSFRN
TENvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM4LDYgKzM5LDEyIEBAIGNsYXNzIEhUTUxPcHRpb25zQ29sbGVj
dGlvbiA6IHB1YmxpYyBIVE0KIHB1YmxpYzoKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24oSFRN
TFNlbGVjdEVsZW1lbnQqKTsKIAorICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVs
ZW1lbnQ+LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxIVE1MT3B0
aW9uRWxlbWVudD4sIGludCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgaW50IHNlbGVj
dGVkSW5kZXgoKSBjb25zdDsKKyAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKKwogICAg
IHZvaWQgc2V0TGVuZ3RoKHVuc2lnbmVkLCBFeGNlcHRpb25Db2RlJik7CiB9OwogCkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxl
IGh0bWwgeworCisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxDb2xsZWN0
aW9uLCBIYXNDdXN0b21JbmRleFNldHRlcl0gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogSFRNTENv
bGxlY3Rpb24geworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgICAgICAgICAgbG9uZyAgICAg
ICAgICAgICAgICAgc2VsZWN0ZWRJbmRleDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtD
dXN0b21dIGxvbmcgICAgICAgICAgICAgICAgIGxlbmd0aAorICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkICAgICAgICAg
ICAgICAgYWRkKGluIEhUTUxPcHRpb25FbGVtZW50IG9wdGlvbiwgaW4gW09wdGlvbmFsXSB1bnNp
Z25lZCBsb25nIGluZGV4KQorICAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAg
ICB9OworfQo=
</data>
<flag name="review"
          id="2823"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>