<?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>71263</bug_id>
          
          <creation_ts>2011-10-31 20:00:53 -0700</creation_ts>
          <short_desc>Report correct line number for non-native editable text elements.</short_desc>
          <delta_ts>2012-01-06 00:53:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>71348</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Boxhall">aboxhall</reporter>
          <assigned_to name="Alice Boxhall">aboxhall</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>enrica</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493724</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-10-31 20:00:53 -0700</bug_when>
    <thetext>Currently an incorrect line number is reported as the code in question looks for a native root editable element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493740</commentid>
    <comment_count>1</comment_count>
      <attachid>113126</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-10-31 21:52:52 -0700</bug_when>
    <thetext>Created attachment 113126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493741</commentid>
    <comment_count>2</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-10-31 21:53:52 -0700</bug_when>
    <thetext>Ok, here&apos;s my first pass; I expect it&apos;ll need a great deal of work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493742</commentid>
    <comment_count>3</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-10-31 21:54:54 -0700</bug_when>
    <thetext>Chris, I modified textarea-insertion-point-line-number.html because I didn&apos;t think it was actually testing what it was supposed to test. Could you take a look and tell me whether it&apos;s now right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493743</commentid>
    <comment_count>4</comment_count>
      <attachid>113126</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-10-31 22:05:18 -0700</bug_when>
    <thetext>Comment on attachment 113126
Patch

Attachment 113126 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10240947</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493744</commentid>
    <comment_count>5</comment_count>
      <attachid>113126</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 22:13:46 -0700</bug_when>
    <thetext>Comment on attachment 113126
Patch

Attachment 113126 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10245528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493752</commentid>
    <comment_count>6</comment_count>
      <attachid>113126</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-10-31 22:54:14 -0700</bug_when>
    <thetext>Comment on attachment 113126
Patch

Attachment 113126 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10240949</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493759</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-10-31 23:25:28 -0700</bug_when>
    <thetext>Can you explain more what this patch does and what the problem is

Are you saying the insertionPointLineNumber method is not working? Or just that the layout test isn&apos;t working?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494364</commentid>
    <comment_count>8</comment_count>
      <attachid>113268</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-01 17:51:04 -0700</bug_when>
    <thetext>Created attachment 113268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494365</commentid>
    <comment_count>9</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-01 17:52:40 -0700</bug_when>
    <thetext>Hopefully fixed the issue that was causing the EWS breakages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494374</commentid>
    <comment_count>10</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-01 17:58:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Can you explain more what this patch does and what the problem is
&gt; 
&gt; Are you saying the insertionPointLineNumber method is not working? Or just that the layout test isn&apos;t working?

Hm -- it does somewhat conflate two things:
- insertionPointLineNumber is reported incorrectly for _non-native_ text fields (i.e. ARIA role=textbox) because the code which calculates it only works for native text fields.
- while I was fixing the above, I broke the accessibility/textarea-insertion-point-line-number.html in a way that I couldn&apos;t understand because I found AccessibilityObject::lineForPosition hard to follow, so I tried to modify it to make the logic clearer. Additionally, I don&apos;t think the test was correctly testing the behaviour for having focus outside the textarea which is reporting the line number, so I modified the test to reflect what I thought it should be doing -- please let me know if I&apos;ve misunderstood, but the previous behaviour seemed to be testing something other than what the comment said, so I made it reflect the comment.

I am happy to pull out the second part of the above into a separate patch if you like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494396</commentid>
    <comment_count>11</comment_count>
      <attachid>113268</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 18:47:00 -0700</bug_when>
    <thetext>Comment on attachment 113268
Patch

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

New failing tests:
editing/pasteboard/paste-delete-insertion-position-skip-paragraph.html
editing/selection/4960116.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494426</commentid>
    <comment_count>12</comment_count>
      <attachid>113268</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-11-01 21:32:49 -0700</bug_when>
    <thetext>Comment on attachment 113268
Patch

My overall sense is that this is a risky change in order to make a non-editable div appear as a text box role so that it can report 0 as its insertionPointLineNumber

It seems like you could return 0 for insertionPointLineNumber if aria-multiline = false and that would achieve the same result, since the insertionPointLineNumber should always be 0 for aria-multiline=false.

Does this patch attempt to solve other problems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494427</commentid>
    <comment_count>13</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-01 21:34:28 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 113268 [details])
&gt; My overall sense is that this is a risky change in order to make a non-editable div appear as a text box role so that it can report 0 as its insertionPointLineNumber
&gt; 
&gt; It seems like you could return 0 for insertionPointLineNumber if aria-multiline = false and that would achieve the same result, since the insertionPointLineNumber should always be 0 for aria-multiline=false.
&gt; 
&gt; Does this patch attempt to solve other problems?

It seems like that is a hack that I&apos;ll eventually have to fix when I implement multiline=true; why not just do it right the first time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494429</commentid>
    <comment_count>14</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-11-01 21:38:22 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (From update of attachment 113268 [details] [details])
&gt; &gt; My overall sense is that this is a risky change in order to make a non-editable div appear as a text box role so that it can report 0 as its insertionPointLineNumber
&gt; &gt; 
&gt; &gt; It seems like you could return 0 for insertionPointLineNumber if aria-multiline = false and that would achieve the same result, since the insertionPointLineNumber should always be 0 for aria-multiline=false.
&gt; &gt; 
&gt; &gt; Does this patch attempt to solve other problems?
&gt; 
&gt; It seems like that is a hack that I&apos;ll eventually have to fix when I implement multiline=true; why not just do it right the first time?

Your layout test only tests that aspect of it, so it&apos;s hard to know what else this patch might address.

I&apos;m also unclear what is motivating the need to return insertionPointLineNumbers for non-editable divs. Are people making plain old &lt;divs&gt; into text boxes and expecting different behavior from VoiceOver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494443</commentid>
    <comment_count>15</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2011-11-01 23:06:15 -0700</bug_when>
    <thetext>&gt; Are people making plain old &lt;divs&gt; into text boxes?

Definitely yes! Google Docs is a big motivating example for us, but other examples include:
* http://ace.ajax.org/build/kitchen-sink.html
* http://www.ymacs.org/demo/

Also do a web search for &quot;canvas text editor&quot; and you&apos;ll find there&apos;s lots of interest there too - and it&apos;d be nice to provide a way to make those accessible, too.

&gt; and expecting different behavior from VoiceOver?

Not yet, but fundamentally these examples aren&apos;t that different than contentEditable - the only difference is that the programmer is taking over all of the text, cursor and selection manipulation rather than letting the browser handle it.

As for this patch, I wonder if there&apos;s a way to make it a little cleaner.

One idea: rather than modifying Node, htmlediting, and VisiblePosition to understand the concept of an AX editable root, maybe some of those methods could just be refactored to take an editing root as an argument? That way you could query them for information about the current line, etc. and pass the root you want it computed relative to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494446</commentid>
    <comment_count>16</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-01 23:08:01 -0700</bug_when>
    <thetext>I created bug 71348 to pull out just the code cleanup changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494946</commentid>
    <comment_count>17</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-02 15:01:43 -0700</bug_when>
    <thetext>+darin, enrica, justing

I&apos;m honestly not sure what the best approach is here; looking for advice from editing folks. I discussed the vague idea with Ryosuke initially, but we may have not been on the same page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496793</commentid>
    <comment_count>18</comment_count>
      <attachid>113268</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-06 02:05:03 -0800</bug_when>
    <thetext>Comment on attachment 113268
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +

You definitely need to explain what changes you&apos;re making here. r- due to lack of explanation.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:654
&gt; +    if (rootAXEditableElementForNode(node))
&gt; +        return true;
&gt; +
&gt; +    return false;

This function should be one liner:
return rootAXEditableElementForNode(node);

Also, please make this function inline (put definition in AXObjectCache.h) to avoid an extra function call.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:662
&gt; +    const Element* e = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();

Please don&apos;t use one-letter variable.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:663
&gt; +    for ( ; e &amp;&amp; e != rootEditableElement; e = e-&gt;parentElement()) {

I don&apos;t think we should stop at root editable element. e.g. consider &lt;div role=&quot;textbox&quot;&gt;&lt;span contenteditable&gt;hello&lt;/span&gt;&lt;/div&gt; where node is of &quot;hello&quot;.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:665
&gt; +            result = e;

Please do an early return here instead.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:667
&gt; +        if (e-&gt;hasTagName(bodyTag))
&gt; +            break;

It seems like this condition should be in the for.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:681
&gt; +    const AccessibilityObject* axObjectForNode = getOrCreate(node-&gt;renderer());

It seems odd that asking whether a node is a text control ends up creating an accessibility object for it.

&gt; Source/WebCore/accessibility/AXObjectCache.h:108
&gt; +    // Elements which act as editable text need to be treated specially by some non-AX code.

I don&apos;t think we need this comment.

&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt; +    bool hasAXEditingElements() const { return m_hasAXEditingElements; }
&gt; +    const Element* rootAXEditableElementForNode(const Node*);
&gt; +    bool nodeIsAXEditable(const Node*);
&gt; +    bool nodeIsTextControl(const Node*);

Can we give these functions more descriptive names such as nodeActAsTextControl, and rootAriaTextControlElement?

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:945
&gt; +    // if the position is not in the same editable region as this AX object, return -1

Instead of adding this comment, can you add const int to describe this? e.g. NotFound.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:951
&gt; +    VisiblePosition currentVisiblePos = visiblePos, savedVisiblePos;

Please don&apos;t declare two variables in one line.

&gt; Source/WebCore/dom/Node.cpp:1654
&gt; +    if (rule == CannotCrossAXEditingBoundary &amp;&amp; document()-&gt;axObjectCache()-&gt;hasAXEditingElements())
&gt; +        return rootAXEditableElement();
&gt; +
&gt; +    return rootEditableElement();

Can this be an inline function?

&gt; Source/WebCore/dom/Node.cpp:1658
&gt; +Element* Node::rootAXEditableElement() const
&gt; +{

I don&apos;t really like this function name. It only tells me that it&apos;s related to accessibility code. How about rootAriaTextControlElement?

&gt; Source/WebCore/dom/Node.cpp:1659
&gt; +    return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElementForNode(this));

Can this be defined in Node.h or will that introduce new header dependency?

&gt; Source/WebCore/dom/Node.h:350
&gt; +    bool rendererIsAXEditable() const { return rendererIsEditable(AXEditable); }

Again, I&apos;m not digging the function name. How about rendererIsInAriaTextControl?

&gt; Source/WebCore/dom/Node.h:702
&gt; +    enum EditableLevel { Editable, RichlyEditable, AXEditable };

How about InAriaTextControl or AriaTextControlEditable?

&gt; Source/WebCore/editing/EditingBoundary.h:34
&gt; +    CannotCrossAXEditingBoundary,

Ditto about AX.

&gt; Source/WebCore/editing/FrameSelection.cpp:1023
&gt; -        next = (direction == DirectionUp ? previousLinePosition : nextLinePosition)(p, xPos);
&gt; +        if (direction == DirectionUp)
&gt; +            next = previousLinePosition(p, xPos);
&gt; +        else
&gt; +            next = nextLinePosition(p, xPos);
&gt; +

Could you put this change into a separate patch?

&gt; Source/WebCore/editing/VisiblePosition.cpp:445
&gt; +
&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());

I don&apos;t think we want these functions to magically change behaviors. Callers of these functions should indicate which editing boundary this function should respect.

&gt; Source/WebCore/editing/VisiblePosition.cpp:454
&gt; -    if (highestEditableRoot(pos.deepEquivalent()) == highestRoot)
&gt; +    if (highestEditableRootRespectingAXEditing(pos.deepEquivalent()) == highestRoot)

Ditto.

&gt; Source/WebCore/editing/VisiblePosition.cpp:471
&gt; -    Node* highestRoot = highestEditableRoot(deepEquivalent());
&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());

Ditto.

&gt; Source/WebCore/editing/VisiblePosition.cpp:480
&gt; -    if (highestEditableRoot(pos.deepEquivalent()) == highestRoot)
&gt; +    if (highestEditableRootRespectingAXEditing(pos.deepEquivalent()) == highestRoot)

Ditto.

&gt; Source/WebCore/editing/VisiblePosition.h:84
&gt;      Element* rootEditableElement() const { return m_deepPosition.isNotNull() ? m_deepPosition.deprecatedNode()-&gt;rootEditableElement() : 0; }
&gt; +    Element* rootEditableElement(EditingBoundaryCrossingRule rule) const { return m_deepPosition.isNotNull() ? m_deepPosition.deprecatedNode()-&gt;rootEditableElement(rule) : 0; };

We should be calling containerNode() instead of deprecatedNode()

&gt; Source/WebCore/editing/htmlediting.cpp:129
&gt; -        if (node-&gt;rendererIsEditable())
&gt; +        if (nodeIsEditableForRule(node, rule))

We should probably convert EditingBoundaryCrossingRule to EditableLevel here instead of calling different functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496948</commentid>
    <comment_count>19</comment_count>
      <attachid>113819</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-06 19:17:39 -0800</bug_when>
    <thetext>Created attachment 113819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496949</commentid>
    <comment_count>20</comment_count>
      <attachid>113268</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-06 19:18:44 -0800</bug_when>
    <thetext>Comment on attachment 113268
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +
&gt; 
&gt; You definitely need to explain what changes you&apos;re making here. r- due to lack of explanation.

Will fix once changes are more bedded down.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:654
&gt;&gt; +    return false;
&gt; 
&gt; This function should be one liner:
&gt; return rootAXEditableElementForNode(node);
&gt; 
&gt; Also, please make this function inline (put definition in AXObjectCache.h) to avoid an extra function call.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:662
&gt;&gt; +    const Element* e = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();
&gt; 
&gt; Please don&apos;t use one-letter variable.

It&apos;s a loop variable; if I make the name longer, the for loop below becomes hard to read.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:663
&gt;&gt; +    for ( ; e &amp;&amp; e != rootEditableElement; e = e-&gt;parentElement()) {
&gt; 
&gt; I don&apos;t think we should stop at root editable element. e.g. consider &lt;div role=&quot;textbox&quot;&gt;&lt;span contenteditable&gt;hello&lt;/span&gt;&lt;/div&gt; where node is of &quot;hello&quot;.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:665
&gt;&gt; +            result = e;
&gt; 
&gt; Please do an early return here instead.

This is not the end condition; I want to find the _root_ element, which may be higher up (as in the example you gave).

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:667
&gt;&gt; +            break;
&gt; 
&gt; It seems like this condition should be in the for.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:681
&gt;&gt; +    const AccessibilityObject* axObjectForNode = getOrCreate(node-&gt;renderer());
&gt; 
&gt; It seems odd that asking whether a node is a text control ends up creating an accessibility object for it.

Yeah, I agree.

I don&apos;t think I can assume that an AccessibilityObject will exist for any node which is a text control, and I want to use AccessibilityObject::isTextControl, so that&apos;s why it ended up being this way. Perhaps there are some more early outs I can use so that I avoid creating AccessibilityObjects for nodes which are definitely not going to end up being text controls?

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:108
&gt;&gt; +    // Elements which act as editable text need to be treated specially by some non-AX code.
&gt; 
&gt; I don&apos;t think we need this comment.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt;&gt; +    bool nodeIsTextControl(const Node*);
&gt; 
&gt; Can we give these functions more descriptive names such as nodeActAsTextControl, and rootAriaTextControlElement?

Hm... those aren&apos;t strictly accurate, as these tests encompass both editable-to-screenreader-only and native editable. Will have a think about a better name.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:945
&gt;&gt; +    // if the position is not in the same editable region as this AX object, return -1
&gt; 
&gt; Instead of adding this comment, can you add const int to describe this? e.g. NotFound.

I&apos;m waiting to hear back on bug 71348 whether this is actually the correct behaviour; it was vaguely implied by the old code, but it didn&apos;t work quite the same as this (but I think it was incorrect). I will make this change there if it is the correct behaviour.

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:951
&gt;&gt; +    VisiblePosition currentVisiblePos = visiblePos, savedVisiblePos;
&gt; 
&gt; Please don&apos;t declare two variables in one line.

Done.

&gt;&gt; Source/WebCore/dom/Node.cpp:1654
&gt;&gt; +    return rootEditableElement();
&gt; 
&gt; Can this be an inline function?

I don&apos;t know how to judge that, sorry. Do you think it can, as is?

&gt;&gt; Source/WebCore/dom/Node.cpp:1658
&gt;&gt; +{
&gt; 
&gt; I don&apos;t really like this function name. It only tells me that it&apos;s related to accessibility code. How about rootAriaTextControlElement?

As above, that is not strictly accurate, as it is actually any element which is treated as editable by a11y code, whether native editable or not. Still thinking about a better way to express that.

&gt;&gt; Source/WebCore/dom/Node.cpp:1659
&gt;&gt; +    return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElementForNode(this));
&gt; 
&gt; Can this be defined in Node.h or will that introduce new header dependency?

AXObjectCache.h is not included in Node.h.

&gt;&gt; Source/WebCore/dom/Node.h:350
&gt;&gt; +    bool rendererIsAXEditable() const { return rendererIsEditable(AXEditable); }
&gt; 
&gt; Again, I&apos;m not digging the function name. How about rendererIsInAriaTextControl?

As above.

&gt;&gt; Source/WebCore/dom/Node.h:702
&gt;&gt; +    enum EditableLevel { Editable, RichlyEditable, AXEditable };
&gt; 
&gt; How about InAriaTextControl or AriaTextControlEditable?

As above.

&gt;&gt; Source/WebCore/editing/EditingBoundary.h:34
&gt;&gt; +    CannotCrossAXEditingBoundary,
&gt; 
&gt; Ditto about AX.

As above.

&gt;&gt; Source/WebCore/editing/FrameSelection.cpp:1023
&gt;&gt; +
&gt; 
&gt; Could you put this change into a separate patch?

Ok. Bug 71646 created.

&gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:445
&gt;&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());
&gt; 
&gt; I don&apos;t think we want these functions to magically change behaviors. Callers of these functions should indicate which editing boundary this function should respect.

Respecting AX editing boundary only makes sense if a11y is turned on and ARIA editable elements are present, which this method checks. Should I move that check into highestEditableRoot?

&gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:454
&gt;&gt; +    if (highestEditableRootRespectingAXEditing(pos.deepEquivalent()) == highestRoot)
&gt; 
&gt; Ditto.

+1

&gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:471
&gt;&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());
&gt; 
&gt; Ditto.

+1

&gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:480
&gt;&gt; +    if (highestEditableRootRespectingAXEditing(pos.deepEquivalent()) == highestRoot)
&gt; 
&gt; Ditto.

+1

&gt;&gt; Source/WebCore/editing/VisiblePosition.h:84
&gt;&gt; +    Element* rootEditableElement(EditingBoundaryCrossingRule rule) const { return m_deepPosition.isNotNull() ? m_deepPosition.deprecatedNode()-&gt;rootEditableElement(rule) : 0; };
&gt; 
&gt; We should be calling containerNode() instead of deprecatedNode()

And the method above, too?

&gt;&gt; Source/WebCore/editing/htmlediting.cpp:129
&gt;&gt; +        if (nodeIsEditableForRule(node, rule))
&gt; 
&gt; We should probably convert EditingBoundaryCrossingRule to EditableLevel here instead of calling different functions.

rendererIsEditable(EditableLevel) is private, so I&apos;d have to make it public to make that work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496955</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-06 19:57:33 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 113268 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113268&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/ChangeLog:9
&gt; &gt;&gt; +
&gt; &gt; 
&gt; &gt; You definitely need to explain what changes you&apos;re making here. r- due to lack of explanation.
&gt; 
&gt; Will fix once changes are more bedded down.

In that case, please don&apos;t set r?. The flag is to be set only if your patch is ready for a formal review.

&gt; &gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:662
&gt; &gt;&gt; +    const Element* e = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();
&gt; &gt; 
&gt; &gt; Please don&apos;t use one-letter variable.
&gt; 
&gt; It&apos;s a loop variable; if I make the name longer, the for loop below becomes hard to read.

It doesn&apos;t really matter. We use one-letter variable only if they&apos;re i, j, iter, or their variants. Element should never be abbreviated as stated in the style guideline:
&quot;Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand.&quot;

&gt; &gt;&gt; Source/WebCore/dom/Node.cpp:1654
&gt; &gt;&gt; +    return rootEditableElement();
&gt; &gt; 
&gt; &gt; Can this be an inline function?
&gt; 
&gt; I don&apos;t know how to judge that, sorry. Do you think it can, as is?

I think so.

&gt; &gt;&gt; Source/WebCore/dom/Node.h:350
&gt; &gt;&gt; +    bool rendererIsAXEditable() const { return rendererIsEditable(AXEditable); }
&gt; &gt; 
&gt; &gt; Again, I&apos;m not digging the function name. How about rendererIsInAriaTextControl?
&gt; 
&gt; As above.

I don&apos;t think &quot;AXEditable&quot; is a good name regardless because it doesn&apos;t tell us how it&apos;s related to accessibility. How about rendererIsEditableAriaRole or rendererIsEditableToAria?

&gt; &gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:445
&gt; &gt;&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());
&gt; &gt; 
&gt; &gt; I don&apos;t think we want these functions to magically change behaviors. Callers of these functions should indicate which editing boundary this function should respect.
&gt; 
&gt; Respecting AX editing boundary only makes sense if a11y is turned on and ARIA editable elements are present, which this method checks. Should I move that check into highestEditableRoot?

The problem is that this change will affect normal editing code as well. When AX is enabled, nextLinePosition and previousLinePosition will start respecting only AX editing boundary instead of editing boundary when called in spell check code, editing code, etc...

This is going to break &lt;div role=&quot;textbox&quot;&gt;hello&lt;br&gt;&lt;span contenteditable&gt;world&lt;/span&gt;&lt;br&gt;WebKit&lt;/div&gt;. With your patch, nextLinePosition and previousLinePosition can get out of the span.

&gt; &gt;&gt; Source/WebCore/editing/htmlediting.cpp:129
&gt; &gt;&gt; +        if (nodeIsEditableForRule(node, rule))
&gt; &gt; 
&gt; &gt; We should probably convert EditingBoundaryCrossingRule to EditableLevel here instead of calling different functions.
&gt; 
&gt; rendererIsEditable(EditableLevel) is private, so I&apos;d have to make it public to make that work.

Okay. That&apos;s unfortunate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496956</commentid>
    <comment_count>22</comment_count>
      <attachid>113819</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-06 20:10:26 -0800</bug_when>
    <thetext>Comment on attachment 113819
Patch

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

New failing tests:
editing/pasteboard/paste-delete-insertion-position-skip-paragraph.html
editing/selection/4960116.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499566</commentid>
    <comment_count>23</comment_count>
      <attachid>114415</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-09 18:19:24 -0800</bug_when>
    <thetext>Created attachment 114415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499567</commentid>
    <comment_count>24</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-09 18:21:59 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; (From update of attachment 113268 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113268&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt;&gt; +
&gt; &gt; &gt; 
&gt; &gt; &gt; You definitely need to explain what changes you&apos;re making here. r- due to lack of explanation.
&gt; &gt; 
&gt; &gt; Will fix once changes are more bedded down.
&gt; 
&gt; In that case, please don&apos;t set r?. The flag is to be set only if your patch is ready for a formal review.

My apologies; I keep forgetting how to get webkit-patch not to set the review bit.

&gt; &gt; &gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:662
&gt; &gt; &gt;&gt; +    const Element* e = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();
&gt; &gt; &gt; 
&gt; &gt; &gt; Please don&apos;t use one-letter variable.
&gt; &gt; 
&gt; &gt; It&apos;s a loop variable; if I make the name longer, the for loop below becomes hard to read.
&gt; 
&gt; It doesn&apos;t really matter. We use one-letter variable only if they&apos;re i, j, iter, or their variants. Element should never be abbreviated as stated in the style guideline:
&gt; &quot;Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand.&quot;

Ok, done.

&gt; &gt; &gt;&gt; Source/WebCore/dom/Node.cpp:1654
&gt; &gt; &gt;&gt; +    return rootEditableElement();
&gt; &gt; &gt; 
&gt; &gt; &gt; Can this be an inline function?
&gt; &gt; 
&gt; &gt; I don&apos;t know how to judge that, sorry. Do you think it can, as is?
&gt; 
&gt; I think so.

Ah -- sadly it can&apos;t, as neither Document.h nor AXObjectCache.h are included in Node.h.

&gt; &gt; &gt;&gt; Source/WebCore/dom/Node.h:350
&gt; &gt; &gt;&gt; +    bool rendererIsAXEditable() const { return rendererIsEditable(AXEditable); }
&gt; &gt; &gt; 
&gt; &gt; &gt; Again, I&apos;m not digging the function name. How about rendererIsInAriaTextControl?
&gt; &gt; 
&gt; &gt; As above.
&gt; 
&gt; I don&apos;t think &quot;AXEditable&quot; is a good name regardless because it doesn&apos;t tell us how it&apos;s related to accessibility. How about rendererIsEditableAriaRole or rendererIsEditableToAria?

Hm... ARIA isn&apos;t the correct concept here, as ARIA specifically refers to the ARIA spec which allows the web developer to communicate metadata about elements (which would be conveyed to a fully able bodied user via UI cues) to assistive technology, but this method encompasses any element which the accessibility technology should treat as editable, including native editable elements such as textarea etc. Perhaps rendererIsEditableForAX?
 
&gt; &gt; &gt;&gt; Source/WebCore/editing/VisiblePosition.cpp:445
&gt; &gt; &gt;&gt; +    Node* highestRoot = highestEditableRootRespectingAXEditing(deepEquivalent());
&gt; &gt; &gt; 
&gt; &gt; &gt; I don&apos;t think we want these functions to magically change behaviors. Callers of these functions should indicate which editing boundary this function should respect.
&gt; &gt; 
&gt; &gt; Respecting AX editing boundary only makes sense if a11y is turned on and ARIA editable elements are present, which this method checks. Should I move that check into highestEditableRoot?
&gt; 
&gt; The problem is that this change will affect normal editing code as well. When AX is enabled, nextLinePosition and previousLinePosition will start respecting only AX editing boundary instead of editing boundary when called in spell check code, editing code, etc...

Not so: as explained above, it is any element which is to be treated as editable by assistive technology, which includes native editable elements. However it does make sense to make sure that _only_ the assistive technology sees the AX editing boundary, so I will fix that, as below.

&gt; This is going to break &lt;div role=&quot;textbox&quot;&gt;hello&lt;br&gt;&lt;span contenteditable&gt;world&lt;/span&gt;&lt;br&gt;WebKit&lt;/div&gt;. With your patch, nextLinePosition and previousLinePosition can get out of the span.

Good point. I will add a test for this and fix the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510442</commentid>
    <comment_count>25</comment_count>
      <attachid>116878</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-28 20:30:57 -0800</bug_when>
    <thetext>Created attachment 116878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510443</commentid>
    <comment_count>26</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-11-28 20:32:11 -0800</bug_when>
    <thetext>Not requesting a review as I realise I still need to fix the ChangeLogs and think of some better method names, but I removed the problematic highestEditableRootRespectingAXEditing method and added tests for multiline textboxes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519862</commentid>
    <comment_count>27</comment_count>
      <attachid>118952</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-12 21:53:28 -0800</bug_when>
    <thetext>Created attachment 118952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519863</commentid>
    <comment_count>28</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-12 21:55:37 -0800</bug_when>
    <thetext>Still haven&apos;t added a long description to the ChangeLog, but I think the code is ready to take another look at now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519910</commentid>
    <comment_count>29</comment_count>
      <attachid>118952</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-13 00:18:47 -0800</bug_when>
    <thetext>Comment on attachment 118952
Patch

it looks like this patch combines
https://bugs.webkit.org/show_bug.cgi?id=71348</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519991</commentid>
    <comment_count>30</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-13 02:54:03 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 118952 [details])
&gt; it looks like this patch combines
&gt; https://bugs.webkit.org/show_bug.cgi?id=71348

It does, that&apos;s why that bug is listed as a dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520525</commentid>
    <comment_count>31</comment_count>
      <attachid>118952</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-13 17:39:01 -0800</bug_when>
    <thetext>Comment on attachment 118952
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:668
&gt; +const Element* AXObjectCache::rootEditableElementForNode(const Node* node)

You ought to be able to use highestEnclosingNodeOfType here. But maybe that&apos;ll be too slow?

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt; +    for ( ; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {

No space before ;.

&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }

No const?

&gt; Source/WebCore/accessibility/AXObjectCache.h:113
&gt; +    bool nodeIsTextControl(const Node*);

Ditto.

&gt; Source/WebCore/dom/Node.cpp:1648
&gt; +Element* Node::rootEditableElementForAssistiveTechnology() const
&gt; +{
&gt; +    return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootEditableElementForNode(this));
&gt; +}

Why do we need this function? You can just merge it into rootEditableElement.

&gt; Source/WebCore/dom/Node.h:365
&gt; +    bool rendererIsEditable(bool assistiveTechnology = false) const
&gt; +    {
&gt; +        return assistiveTechnology ? rendererIsEditableToAssistiveTechnology(Editable) : rendererIsEditable(Editable);
&gt; +    }
&gt; +
&gt; +    bool rendererIsRichlyEditable(bool assistiveTechnology = false) const
&gt; +    {
&gt; +        return assistiveTechnology ? rendererIsEditableToAssistiveTechnology(RichlyEditable) : rendererIsEditable(RichlyEditable);
&gt; +    }

Why do we need these functions if we&apos;re wrapping all calls by nodeIsEditableForRule anyways? In general, we don&apos;t want to bloat Node class and rendererIsEditable is extremely hot code (we spend 5-10% of time in here) so we&apos;ve got to be extremely careful here (of course, inline + constant propagation will probably optimize this code well but I&apos;d like to us confirming it by disassembling the resultant binary if that&apos;s not too much to ask.)

&gt; Source/WebCore/editing/htmlediting.cpp:108
&gt; +bool nodeIsEditableForRule(Node* node, EditingBoundaryCrossingRule rule)

This function name isn&apos;t great. It sounds as if it calls isContentEditable but we&apos;re calling rendererIsEditable. We need to name this function to reflect the fact we can call this function only if the style resolution is up-to-date.

&gt; Source/WebCore/editing/htmlediting.cpp:114
&gt; +    if (rule == CannotCrossEditingBoundary)
&gt; +        return node-&gt;rendererIsEditable();
&gt; +    if (rule == CannotCrossAssistiveTechnologyEditingBoundary)
&gt; +        return node-&gt;rendererIsEditable(true);
&gt; +    return false;

You should use switch instead so that we can detect this code when a new value is added to the enum in the future.

&gt; Source/WebCore/editing/htmlediting.h:57
&gt; +Node* highestEditableRoot(const Position&amp;, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);

It seems odd for this function to take EditingBoundaryCrossingRule since function is named highest*Editable*Root. e.g. Calling this function with CanCrossEditingBoundary makes no sense.

I think we want to add new enum for our purpose here something like enum EditabilityCriteria { ContentEditable, AXEditable };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520684</commentid>
    <comment_count>32</comment_count>
      <attachid>119156</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-13 22:32:26 -0800</bug_when>
    <thetext>Created attachment 119156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521307</commentid>
    <comment_count>33</comment_count>
      <attachid>118952</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-14 14:42:56 -0800</bug_when>
    <thetext>Comment on attachment 118952
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:668
&gt;&gt; +const Element* AXObjectCache::rootEditableElementForNode(const Node* node)
&gt; 
&gt; You ought to be able to use highestEnclosingNodeOfType here. But maybe that&apos;ll be too slow?

I&apos;m not sure that&apos;ll work; highestEnclosingNodeOfType checks rendererIsEditable, which would need to be changed to rendererIsEditable(CannotCrossAssistiveTechnologyEditingBoundary), which ends up calling rootEditableElementForNode as there is no inherited data for AssistiveTechnologyEditing, so we&apos;d get into an infinite loop.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt;&gt; +    for ( ; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {
&gt; 
&gt; No space before ;.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt;&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }
&gt; 
&gt; No const?

Because it calls nodeIsTextControl()... [continued below]

&gt;&gt; Source/WebCore/dom/Node.h:365
&gt;&gt; +    }
&gt; 
&gt; Why do we need these functions if we&apos;re wrapping all calls by nodeIsEditableForRule anyways? In general, we don&apos;t want to bloat Node class and rendererIsEditable is extremely hot code (we spend 5-10% of time in here) so we&apos;ve got to be extremely careful here (of course, inline + constant propagation will probably optimize this code well but I&apos;d like to us confirming it by disassembling the resultant binary if that&apos;s not too much to ask.)

I need to be able to distinguish 2x2 situations:
1. Renderer is text editable
2. Renderer is text editable to AT
3. Renderer is richly editable
4. Renderer is richly editable to AT (currently not actually implemented, so it&apos;s really just [2]).

These methods already existed, I just made them AT-aware; I wanted to keep rendererIsEditableToAssistiveTechnology(EditableLevel) private, analogous to rendererIsEditable(EditableLevel). So this is how it ended up.

I&apos;m happy to check on the constant propagation thing, but I have no idea how...

&gt;&gt; Source/WebCore/editing/htmlediting.cpp:108
&gt;&gt; +bool nodeIsEditableForRule(Node* node, EditingBoundaryCrossingRule rule)
&gt; 
&gt; This function name isn&apos;t great. It sounds as if it calls isContentEditable but we&apos;re calling rendererIsEditable. We need to name this function to reflect the fact we can call this function only if the style resolution is up-to-date.

Hm... the existing highestEditableRoot method also checked rendererIsEditable(). Do you have any thoughts on a better name?

&gt;&gt; Source/WebCore/editing/htmlediting.cpp:114
&gt;&gt; +    return false;
&gt; 
&gt; You should use switch instead so that we can detect this code when a new value is added to the enum in the future.

Ok.

&gt;&gt; Source/WebCore/editing/htmlediting.h:57
&gt;&gt; +Node* highestEditableRoot(const Position&amp;, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);
&gt; 
&gt; It seems odd for this function to take EditingBoundaryCrossingRule since function is named highest*Editable*Root. e.g. Calling this function with CanCrossEditingBoundary makes no sense.
&gt; 
&gt; I think we want to add new enum for our purpose here something like enum EditabilityCriteria { ContentEditable, AXEditable };

Works for me. Then I can use that in Node::rendererIsEditable() too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521314</commentid>
    <comment_count>34</comment_count>
      <attachid>118952</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-14 14:47:43 -0800</bug_when>
    <thetext>Comment on attachment 118952
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:113
&gt;&gt; +    bool nodeIsTextControl(const Node*);
&gt; 
&gt; Ditto.

Oops, this comment got lost.

The continuation of the [continued below] was,
... which calls getOrCreate(), which is necessarily non-const. In practice, I don&apos;t think AXObjectCache will ever be const; are there any other performance implications of non-const here?

Having thought a lot about it, I think that by the time nodeIsTextControl() or nodeIsEditableToAssistiveTechnology() are called, the AccessibilityObjects in question will either have been created, or need to be created more or less immediately, so it shouldn&apos;t be a performance hit. That&apos;s because these methods are only called when assistive technology is in use and the given objects are being queried by AT.

Chris Fleizach may well correct me on any of the above.

&gt;&gt; Source/WebCore/dom/Node.cpp:1648
&gt;&gt; +}
&gt; 
&gt; Why do we need this function? You can just merge it into rootEditableElement.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521401</commentid>
    <comment_count>35</comment_count>
      <attachid>119156</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-14 16:01:26 -0800</bug_when>
    <thetext>Comment on attachment 119156
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }

we don&apos;t use the word &quot;assistive technology&quot; in webkit, we just use &quot;Accessibility&quot;
Why do you need to wrap rootEditableElementForNode() with another method?

&gt; Source/WebCore/dom/Node.cpp:1640
&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootEditableElementForNode(this));

the use of hasARIAEditableElements() doesn&apos;t seem like it matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521420</commentid>
    <comment_count>36</comment_count>
      <attachid>119156</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-14 16:12:21 -0800</bug_when>
    <thetext>Comment on attachment 119156
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt;&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }
&gt; 
&gt; we don&apos;t use the word &quot;assistive technology&quot; in webkit, we just use &quot;Accessibility&quot;
&gt; Why do you need to wrap rootEditableElementForNode() with another method?

Ok, I&apos;ll s/AssistiveTechnology/Accessibility/ -- I just find &quot;nodeIsEditableToAccessibility&quot; hard to parse.

The reason it&apos;s wrapped is that it&apos;s semantically different -- I suppose you could just check if(rootEditableElementForNode(node)) wherever this method is called, this just makes it a bit clearer what&apos;s going on.

&gt;&gt; Source/WebCore/dom/Node.cpp:1640
&gt;&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootEditableElementForNode(this));
&gt; 
&gt; the use of hasARIAEditableElements() doesn&apos;t seem like it matters.

I don&apos;t understand.

It&apos;s a performance optimisation; it means it doesn&apos;t go into the potentially expensive axObjectCache-&gt;rootEditableElementForNode() method if it&apos;s going to be equivalent to rootEditableElement() (which it will be if there are no ARIA editable elements).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521433</commentid>
    <comment_count>37</comment_count>
      <attachid>119156</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-14 16:20:24 -0800</bug_when>
    <thetext>Comment on attachment 119156
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt;&gt;&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }
&gt;&gt; 
&gt;&gt; we don&apos;t use the word &quot;assistive technology&quot; in webkit, we just use &quot;Accessibility&quot;
&gt;&gt; Why do you need to wrap rootEditableElementForNode() with another method?
&gt; 
&gt; Ok, I&apos;ll s/AssistiveTechnology/Accessibility/ -- I just find &quot;nodeIsEditableToAccessibility&quot; hard to parse.
&gt; 
&gt; The reason it&apos;s wrapped is that it&apos;s semantically different -- I suppose you could just check if(rootEditableElementForNode(node)) wherever this method is called, this just makes it a bit clearer what&apos;s going on.

I think that&apos;s what is preferred in webkit. it certainly makes things more complicated to have two methods which do the same thing

&gt; Source/WebCore/dom/Node.cpp:821
&gt; +}

it does not seem

&gt;&gt;&gt; Source/WebCore/dom/Node.cpp:1640
&gt;&gt;&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootEditableElementForNode(this));
&gt;&gt; 
&gt;&gt; the use of hasARIAEditableElements() doesn&apos;t seem like it matters.
&gt; 
&gt; I don&apos;t understand.
&gt; 
&gt; It&apos;s a performance optimisation; it means it doesn&apos;t go into the potentially expensive axObjectCache-&gt;rootEditableElementForNode() method if it&apos;s going to be equivalent to rootEditableElement() (which it will be if there are no ARIA editable elements).

so are you saying that when you use aria editable methods the performance will be unacceptable? 
have you characterized how much time is won by using this optimization? 
The trade off of cluttering AXObjectCache doesn&apos;t seem like a win to me.

the naming in this block also makes it confusing...
What I see is... the ax object cache has ARIA editable elements, so then we ask for the root element from the ax object cache, which has nothing to do with aria. If I was just looking at it, I would expect that if you&apos;re asking for Accessibility root element, then it should always do the accessibility related thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521462</commentid>
    <comment_count>38</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-14 16:43:44 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; (From update of attachment 119156 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119156&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:112
&gt; &gt;&gt;&gt; +    bool nodeIsEditableToAssistiveTechnology(const Node* node) { return rootEditableElementForNode(node); }
&gt; &gt;&gt; 
&gt; &gt;&gt; we don&apos;t use the word &quot;assistive technology&quot; in webkit, we just use &quot;Accessibility&quot;
&gt; &gt;&gt; Why do you need to wrap rootEditableElementForNode() with another method?
&gt; &gt; 
&gt; &gt; Ok, I&apos;ll s/AssistiveTechnology/Accessibility/ -- I just find &quot;nodeIsEditableToAccessibility&quot; hard to parse.
&gt; &gt; 
&gt; &gt; The reason it&apos;s wrapped is that it&apos;s semantically different -- I suppose you could just check if(rootEditableElementForNode(node)) wherever this method is called, this just makes it a bit clearer what&apos;s going on.
&gt; 
&gt; I think that&apos;s what is preferred in webkit. it certainly makes things more complicated to have two methods which do the same thing

Ok.

&gt; &gt; Source/WebCore/dom/Node.cpp:821
&gt; &gt; +}
&gt; 
&gt; it does not seem
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/dom/Node.cpp:1640
&gt; &gt;&gt;&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootEditableElementForNode(this));
&gt; &gt;&gt; 
&gt; &gt;&gt; the use of hasARIAEditableElements() doesn&apos;t seem like it matters.
&gt; &gt; 
&gt; &gt; I don&apos;t understand.
&gt; &gt; 
&gt; &gt; It&apos;s a performance optimisation; it means it doesn&apos;t go into the potentially expensive axObjectCache-&gt;rootEditableElementForNode() method if it&apos;s going to be equivalent to rootEditableElement() (which it will be if there are no ARIA editable elements).
&gt; 
&gt; so are you saying that when you use aria editable methods the performance will be unacceptable? 
&gt; have you characterized how much time is won by using this optimization? 
&gt; The trade off of cluttering AXObjectCache doesn&apos;t seem like a win to me.

You&apos;re right -- it probably makes more sense to at least check within the rootEditableElementForNode() method instead.

The performance will depend on how convoluted the DOM is; since this &quot;ARIA editable&quot; concept is not inherited natively the way userModify is, you need to walk up the tree to find out whether there is a parent element with an editable role set on it.

&gt; the naming in this block also makes it confusing...
&gt; What I see is... the ax object cache has ARIA editable elements, so then we ask for the root element from the ax object cache, which has nothing to do with aria. If I was just looking at it, I would expect that if you&apos;re asking for Accessibility root element, then it should always do the accessibility related thing.

Makes sense. Will fix that up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524385</commentid>
    <comment_count>39</comment_count>
      <attachid>119975</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-19 19:25:33 -0800</bug_when>
    <thetext>Created attachment 119975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524882</commentid>
    <comment_count>40</comment_count>
      <attachid>119975</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 15:33:08 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.h:111
&gt; +    const Element* rootEditableElementForNode(const Node*);

&quot;ForNode&quot; is redundant. You should probably rename this function to rootAXEditableElement so that the difference with rootEditableElement is clear.

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1043
&gt; -        VisiblePosition prevVisiblePos = previousLinePosition(currentVisiblePos, 0);
&gt; +        VisiblePosition prevVisiblePos = previousLinePosition(currentVisiblePos, 0, Accessibility);

I think &quot;Accessibility&quot; is too general. I don&apos;t understand what Accessibility in this context mean.

&gt; Source/WebCore/dom/Node.cpp:817
&gt; +    // TODO: respect editableLevel for ARIA editable elements.

Nit: s/TODO/FIXME/; Capitalize respect.

&gt; Source/WebCore/dom/Node.h:361
&gt; +        default:

By using &quot;default&quot; keyword here, we&apos;re losing the ability to catch this code at compilation time when a new value is added to the enum.

&gt; Source/WebCore/editing/EditingBoundary.h:40
&gt; +enum EditableTo {
&gt; +    All,
&gt; +    Accessibility
&gt; +};

I don&apos;t think &quot;EditableTo&quot; is a descriptive name. Also, we certainly don&apos;t want to pollute the WebCore namespace with values like All and Accessibility. We need to be more explicit.
How about
enum AXEditableMode {
    AXEditable,
    ContentEditable,
}
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524884</commentid>
    <comment_count>41</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 15:34:11 -0800</bug_when>
    <thetext>Darin &amp; Enrica, I think you want to look at this patch as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524894</commentid>
    <comment_count>42</comment_count>
      <attachid>119975</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-20 15:44:54 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:281
&gt; +        m_hasARIAEditableElements = true;

This doesn&apos;t look like it&apos;s used anywhere (the hasARIAEditableElements() that is)

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:676
&gt; +    const Element* element = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();

do we ever have cases where the item is not an ElementNode? What if parentNode() was also not an element node?

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:684
&gt; +        return result;

you can set result = rootEditableElement at the top and then you don&apos;t need this line

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:694
&gt; +    const AccessibilityObject* axObjectForNode = getOrCreate(node-&gt;renderer());

The ForNode is a bit redundant

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:698
&gt; +    return axObjectForNode-&gt;isTextControl();

this line can be combined to be 
return axObject &amp;&amp; axObject-&gt;isTextControl()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524895</commentid>
    <comment_count>43</comment_count>
      <attachid>119975</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 15:44:55 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:111
&gt;&gt; +    const Element* rootEditableElementForNode(const Node*);
&gt; 
&gt; &quot;ForNode&quot; is redundant. You should probably rename this function to rootAXEditableElement so that the difference with rootEditableElement is clear.

I thought you didn&apos;t like the &quot;AXEditable&quot; naming?

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1043
&gt;&gt; +        VisiblePosition prevVisiblePos = previousLinePosition(currentVisiblePos, 0, Accessibility);
&gt; 
&gt; I think &quot;Accessibility&quot; is too general. I don&apos;t understand what Accessibility in this context mean.

I originally had called it &quot;AssistiveTechnology&quot; but cfleizach advised me to rename it to Accessibility to be consistent. I&apos;m not sure what would be a better name.

&gt;&gt; Source/WebCore/dom/Node.cpp:817
&gt;&gt; +    // TODO: respect editableLevel for ARIA editable elements.
&gt; 
&gt; Nit: s/TODO/FIXME/; Capitalize respect.

I thought FIXME indicated that it should be fixed before check-in?

Why capitalise RESPECT, out of interest? I guess that is a standard webkit idiom?

&gt;&gt; Source/WebCore/dom/Node.h:361
&gt;&gt; +        default:
&gt; 
&gt; By using &quot;default&quot; keyword here, we&apos;re losing the ability to catch this code at compilation time when a new value is added to the enum.

Ok. I will change it to (whatever we end up calling &apos;All&apos;).

&gt;&gt; Source/WebCore/editing/EditingBoundary.h:40
&gt;&gt; +};
&gt; 
&gt; I don&apos;t think &quot;EditableTo&quot; is a descriptive name. Also, we certainly don&apos;t want to pollute the WebCore namespace with values like All and Accessibility. We need to be more explicit.
&gt; How about
&gt; enum AXEditableMode {
&gt;     AXEditable,
&gt;     ContentEditable,
&gt; }
&gt; ?

Hm, I definitely agree it&apos;s not good to have All and Accessibility in the global namespace. But I think ContentEditable is confusing as well, since that would seem to imply that only contenteditable elements would be used, whereas it&apos;s any native editable text including textarea and text input. Maybe &quot;AXEditable&quot; (or &quot;EditableToAX&quot; or &quot;EditableToAccessibility&quot;) vs &quot;NativeEditable&quot;, and call the enum EditableType or similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524901</commentid>
    <comment_count>44</comment_count>
      <attachid>119975</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-20 15:47:07 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1043
&gt;&gt;&gt; +        VisiblePosition prevVisiblePos = previousLinePosition(currentVisiblePos, 0, Accessibility);
&gt;&gt; 
&gt;&gt; I think &quot;Accessibility&quot; is too general. I don&apos;t understand what Accessibility in this context mean.
&gt; 
&gt; I originally had called it &quot;AssistiveTechnology&quot; but cfleizach advised me to rename it to Accessibility to be consistent. I&apos;m not sure what would be a better name.

AssistiveTechnology and Accessibility are both not great in this context.
The problem is that the enum does not relate to the context. The context is which node to look at for position information.
One looks further up the chain then the other based on some criteria. The enum should capture that essence</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524907</commentid>
    <comment_count>45</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 15:52:34 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; (From update of attachment 119975 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119975&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:111
&gt; &gt;&gt; +    const Element* rootEditableElementForNode(const Node*);
&gt; &gt; 
&gt; &gt; &quot;ForNode&quot; is redundant. You should probably rename this function to rootAXEditableElement so that the difference with rootEditableElement is clear.
&gt; 
&gt; I thought you didn&apos;t like the &quot;AXEditable&quot; naming?

Right. I still don&apos;t like but AX appears to be the only option given ARIAEditable is incorrect from what you&apos;ve told me.

&gt; &gt;&gt; Source/WebCore/dom/Node.cpp:817
&gt; &gt;&gt; +    // TODO: respect editableLevel for ARIA editable elements.
&gt; &gt; 
&gt; &gt; Nit: s/TODO/FIXME/; Capitalize respect.
&gt; 
&gt; I thought FIXME indicated that it should be fixed before check-in?
&gt; 
&gt; Why capitalise RESPECT, out of interest? I guess that is a standard webkit idiom?

No, what I mean is &quot;Respect&quot; instead of &quot;respect&quot;.

&gt; &gt;&gt; Source/WebCore/editing/EditingBoundary.h:40
&gt; &gt;&gt; +};
&gt; &gt; 
&gt; &gt; I don&apos;t think &quot;EditableTo&quot; is a descriptive name. Also, we certainly don&apos;t want to pollute the WebCore namespace with values like All and Accessibility. We need to be more explicit.
&gt; &gt; How about
&gt; &gt; enum AXEditableMode {
&gt; &gt;     AXEditable,
&gt; &gt;     ContentEditable,
&gt; &gt; }
&gt; &gt; ?
&gt; 
&gt; Hm, I definitely agree it&apos;s not good to have All and Accessibility in the global namespace. But I think ContentEditable is confusing as well, since that would seem to imply that only contenteditable elements would be used, whereas it&apos;s any native editable text including textarea and text input.

On my second thought, ContentEditable is a terrible name; it&apos;s used everywhere. We need something like ContentIsEditable instead.

&gt; Maybe &quot;AXEditable&quot; (or &quot;EditableToAX&quot; or &quot;EditableToAccessibility&quot;) vs &quot;NativeEditable&quot;, and call the enum EditableType or similar?

Definitely not &quot;NativeEditable&quot;. &quot;Native&quot; in WebKit usually means native to the platform, not to WebCore. How about ContentIsEditable vs. ContentIsAXEditable or ContentIsEditableForAX.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524914</commentid>
    <comment_count>46</comment_count>
      <attachid>119975</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 15:57:02 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

(No code changes yet, just quickly continuing the naming discussion.)

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:281
&gt;&gt; +        m_hasARIAEditableElements = true;
&gt; 
&gt; This doesn&apos;t look like it&apos;s used anywhere (the hasARIAEditableElements() that is)

Right, I can remove the method as it&apos;s now only used within this class.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:676
&gt;&gt; +    const Element* element = node-&gt;isElementNode() ? toElement(node) : node-&gt;parentElement();
&gt; 
&gt; do we ever have cases where the item is not an ElementNode? What if parentNode() was also not an element node?

The Node could be a non-element node in theory, I&apos;m not sure about in practice but I think it&apos;s better to check?

parentElement() will always return an Element.

&gt;&gt;&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:1043
&gt;&gt;&gt;&gt; +        VisiblePosition prevVisiblePos = previousLinePosition(currentVisiblePos, 0, Accessibility);
&gt;&gt;&gt; 
&gt;&gt;&gt; I think &quot;Accessibility&quot; is too general. I don&apos;t understand what Accessibility in this context mean.
&gt;&gt; 
&gt;&gt; I originally had called it &quot;AssistiveTechnology&quot; but cfleizach advised me to rename it to Accessibility to be consistent. I&apos;m not sure what would be a better name.
&gt; 
&gt; AssistiveTechnology and Accessibility are both not great in this context.
&gt; The problem is that the enum does not relate to the context. The context is which node to look at for position information.
&gt; One looks further up the chain then the other based on some criteria. The enum should capture that essence

This is a good insight.

How about NativeEditable vs. HasEditableAXRole, or similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524919</commentid>
    <comment_count>47</comment_count>
      <attachid>119975</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-20 15:59:20 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt; +        return rootEditableElement;

I think adding this bool doesn&apos;t do much for performance and muddies the code. Running up the parent chain happens constantly. basically it&apos;s just following a pointer chain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524926</commentid>
    <comment_count>48</comment_count>
      <attachid>119975</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 16:08:53 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt;&gt; +        return rootEditableElement;
&gt; 
&gt; I think adding this bool doesn&apos;t do much for performance and muddies the code. Running up the parent chain happens constantly. basically it&apos;s just following a pointer chain.

Not necessarily, if getOrCreate() needs to create a new AccessibilityObject (although I&apos;m pretty sure that won&apos;t ever happen in practice).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524928</commentid>
    <comment_count>49</comment_count>
      <attachid>119975</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-20 16:11:42 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:674
&gt;&gt;&gt; +        return rootEditableElement;
&gt;&gt; 
&gt;&gt; I think adding this bool doesn&apos;t do much for performance and muddies the code. Running up the parent chain happens constantly. basically it&apos;s just following a pointer chain.
&gt; 
&gt; Not necessarily, if getOrCreate() needs to create a new AccessibilityObject (although I&apos;m pretty sure that won&apos;t ever happen in practice).

That will have happened already if you&apos;re in this block of code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524931</commentid>
    <comment_count>50</comment_count>
      <attachid>119975</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 16:18:31 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:678
&gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {

It&apos;s not okay to stop the search at body. We can have a style rule like &quot;head { display: block; }&quot; with aria roles specified on elements inside head.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524967</commentid>
    <comment_count>51</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 16:54:07 -0800</bug_when>
    <thetext>(In reply to comment #45)
&gt; (In reply to comment #43)
&gt; &gt; (From update of attachment 119975 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119975&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:111
&gt; &gt; &gt;&gt; +    const Element* rootEditableElementForNode(const Node*);
&gt; &gt; &gt; 
&gt; &gt; &gt; &quot;ForNode&quot; is redundant. You should probably rename this function to rootAXEditableElement so that the difference with rootEditableElement is clear.
&gt; &gt; 
&gt; &gt; I thought you didn&apos;t like the &quot;AXEditable&quot; naming?
&gt; 
&gt; Right. I still don&apos;t like but AX appears to be the only option given ARIAEditable is incorrect from what you&apos;ve told me.

Ok, cool.

&gt; &gt; &gt;&gt; Source/WebCore/dom/Node.cpp:817
&gt; &gt; &gt;&gt; +    // TODO: respect editableLevel for ARIA editable elements.
&gt; &gt; &gt; 
&gt; &gt; &gt; Nit: s/TODO/FIXME/; Capitalize respect.
&gt; &gt; 
&gt; &gt; I thought FIXME indicated that it should be fixed before check-in?
&gt; &gt; 
&gt; &gt; Why capitalise RESPECT, out of interest? I guess that is a standard webkit idiom?
&gt; 
&gt; No, what I mean is &quot;Respect&quot; instead of &quot;respect&quot;.

Oh. :)

&gt; &gt; &gt;&gt; Source/WebCore/editing/EditingBoundary.h:40
&gt; &gt; Maybe &quot;AXEditable&quot; (or &quot;EditableToAX&quot; or &quot;EditableToAccessibility&quot;) vs &quot;NativeEditable&quot;, and call the enum EditableType or similar?
&gt; 
&gt; Definitely not &quot;NativeEditable&quot;. &quot;Native&quot; in WebKit usually means native to the platform, not to WebCore. How about ContentIsEditable vs. ContentIsAXEditable or ContentIsEditableForAX.

How about
enum EditableType {
    IsEditable,
    HasAXEditableRole
};

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524969</commentid>
    <comment_count>52</comment_count>
      <attachid>119975</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 16:56:53 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt; How about
&gt; enum EditableType {
&gt;     IsEditable,
&gt;     HasAXEditableRole
&gt; };
&gt; 
&gt; ?

I&apos;m worried that &quot;IsEditable&quot; is too generic. Maybe EditableWithoutAXRole?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524971</commentid>
    <comment_count>53</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 16:57:23 -0800</bug_when>
    <thetext>(In reply to comment #50)
&gt; (From update of attachment 119975 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119975&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:678
&gt; &gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {
&gt; 
&gt; It&apos;s not okay to stop the search at body. We can have a style rule like &quot;head { display: block; }&quot; with aria roles specified on elements inside head.

Hm - this is directly copied from Node::rootEditableElement(). Is it incorrect there as well?

Either way, does that mean the search should just stop whenever element is null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524975</commentid>
    <comment_count>54</comment_count>
      <attachid>119975</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-20 17:02:56 -0800</bug_when>
    <thetext>Comment on attachment 119975
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:678
&gt;&gt;&gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {
&gt;&gt; 
&gt;&gt; It&apos;s not okay to stop the search at body. We can have a style rule like &quot;head { display: block; }&quot; with aria roles specified on elements inside head.
&gt; 
&gt; Hm - this is directly copied from Node::rootEditableElement(). Is it incorrect there as well?
&gt; 
&gt; Either way, does that mean the search should just stop whenever element is null?

The check in Node::rootEditableElement is there to ensure we return body element when the document is in the design mode (and we&apos;re editing inside body element) since the HTML5 spec says designMode = true is equivalent to setting contentEditable=true on body. But thinking it a little further, we should be explicitly checking that condition there as well. e.g. if the document is not in the design mode and html element has contenteditable=true, then the root editable element should be the html element, not the body element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524976</commentid>
    <comment_count>55</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 17:03:49 -0800</bug_when>
    <thetext>(In reply to comment #52)
&gt; (From update of attachment 119975 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119975&amp;action=review
&gt; 
&gt; &gt; How about
&gt; &gt; enum EditableType {
&gt; &gt;     IsEditable,
&gt; &gt;     HasAXEditableRole
&gt; &gt; };
&gt; &gt; 
&gt; &gt; ?
&gt; 
&gt; I&apos;m worried that &quot;IsEditable&quot; is too generic. Maybe EditableWithoutAXRole?

My initial thought was something like &quot;HasUserModify&quot; but I think that may be too much of an implementation detail. I&apos;d rather not define it in opposition to the HasAXEditableRole option though.

Maybe... RendererIsEditable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524979</commentid>
    <comment_count>56</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 17:05:26 -0800</bug_when>
    <thetext>(In reply to comment #54)
&gt; (From update of attachment 119975 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119975&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:678
&gt; &gt;&gt;&gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {
&gt; &gt;&gt; 
&gt; &gt;&gt; It&apos;s not okay to stop the search at body. We can have a style rule like &quot;head { display: block; }&quot; with aria roles specified on elements inside head.
&gt; &gt; 
&gt; &gt; Hm - this is directly copied from Node::rootEditableElement(). Is it incorrect there as well?
&gt; &gt; 
&gt; &gt; Either way, does that mean the search should just stop whenever element is null?
&gt; 
&gt; The check in Node::rootEditableElement is there to ensure we return body element when the document is in the design mode (and we&apos;re editing inside body element) since the HTML5 spec says designMode = true is equivalent to setting contentEditable=true on body. But thinking it a little further, we should be explicitly checking that condition there as well. e.g. if the document is not in the design mode and html element has contenteditable=true, then the root editable element should be the html element, not the body element.

Ok, thanks for explaining that. So, should I make the end condition just element == 0, then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525119</commentid>
    <comment_count>57</comment_count>
      <attachid>120148</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-20 23:00:31 -0800</bug_when>
    <thetext>Created attachment 120148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525904</commentid>
    <comment_count>58</comment_count>
      <attachid>120148</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-21 18:13:38 -0800</bug_when>
    <thetext>Comment on attachment 120148
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

This line should appear before the long description.

&gt; Source/WebCore/ChangeLog:25
&gt; +            editable from the point of view of assistive technology, whether natively or otherwise.

We don&apos;t normally indent like this.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:669
&gt; +    const Element* rootEditableElement = node-&gt;rootEditableElement();
&gt; +    const Element* result = rootEditableElement;

Why do we need two variables? If nodeIsTextControl(element) is never true, then result is still rootEditableElement.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:681
&gt; +    if (result)
&gt; +        return result;
&gt; +
&gt; +    return rootEditableElement;

You should be able to always return result here.

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:684
&gt; +bool AXObjectCache::nodeIsTextControl(const Node* node)

We should probably add inline keyword here.

&gt; Source/WebCore/dom/Node.cpp:809
&gt; +bool Node::rendererIsEditableToAccessibility(EditableLevel editableLevel) const

I think rendererIsEditableOrHasEditableAXRole might be better. Since the AX role is set on DOM, not on the renderer.

&gt; Source/WebCore/dom/Node.cpp:1653
&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElement(this));

You should use toElement(Node*) here instead.

&gt; Source/WebCore/editing/EditingBoundary.h:38
&gt; +    RendererIsEditable,

RendererIsEditable is not right. rendererIsEditable exists as supposed to isContentEditable to signify the fact the former doesn&apos;t update the layout whereas the latter does. But this enum is nothing to do with that distinction. So It should be renamed to ContentIsEditable.

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:14
&gt; +    if (window.layoutTestController &amp;&amp; window.accessibilityController) {
&gt; +        window.layoutTestController.dumpAsText();

Do we really need to indent this code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525908</commentid>
    <comment_count>59</comment_count>
      <attachid>120148</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-12-21 18:20:03 -0800</bug_when>
    <thetext>Comment on attachment 120148
Patch

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

patch is almost there

&gt; Source/WebCore/accessibility/AXObjectCache.h:110
&gt; +    const Element* rootAXEditableElement(const Node*);

is there a reason you need to make this const Element... I see when you actually use it, you through away the const-ness

&gt; Source/WebCore/editing/EditingBoundary.h:37
&gt; +enum EditableType {

I&apos;m not crazy about these names. 
they don&apos;t really communicate one should be the default and the other should be used by accessibility clients
Maybe it should be
DefaultEditability,
AccessibilityRoleEditability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525936</commentid>
    <comment_count>60</comment_count>
      <attachid>120148</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-21 19:43:56 -0800</bug_when>
    <thetext>Comment on attachment 120148
Patch

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

&gt;&gt; Source/WebCore/editing/EditingBoundary.h:37
&gt;&gt; +enum EditableType {
&gt; 
&gt; I&apos;m not crazy about these names. 
&gt; they don&apos;t really communicate one should be the default and the other should be used by accessibility clients
&gt; Maybe it should be
&gt; DefaultEditability,
&gt; AccessibilityRoleEditability

Not sure if that&apos;s necessary given we&apos;re using one of them as the default argument. If anything, it should signify the fact one is a superset of the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525940</commentid>
    <comment_count>61</comment_count>
      <attachid>120261</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-21 19:59:20 -0800</bug_when>
    <thetext>Created attachment 120261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525941</commentid>
    <comment_count>62</comment_count>
      <attachid>120148</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2011-12-21 20:00:43 -0800</bug_when>
    <thetext>Comment on attachment 120148
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:20
&gt;&gt; +
&gt; 
&gt; This line should appear before the long description.

Done.

&gt;&gt; Source/WebCore/ChangeLog:25
&gt;&gt; +            editable from the point of view of assistive technology, whether natively or otherwise.
&gt; 
&gt; We don&apos;t normally indent like this.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:669
&gt;&gt; +    const Element* result = rootEditableElement;
&gt; 
&gt; Why do we need two variables? If nodeIsTextControl(element) is never true, then result is still rootEditableElement.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:681
&gt;&gt; +    return rootEditableElement;
&gt; 
&gt; You should be able to always return result here.

Done.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:684
&gt;&gt; +bool AXObjectCache::nodeIsTextControl(const Node* node)
&gt; 
&gt; We should probably add inline keyword here.

Why?

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:110
&gt;&gt; +    const Element* rootAXEditableElement(const Node*);
&gt; 
&gt; is there a reason you need to make this const Element... I see when you actually use it, you through away the const-ness

It means it can be called with a const Node* with no need to cast away const anywhere in the method.

It&apos;s actually used twice, once where it&apos;s interpreted as a bool.

&gt;&gt; Source/WebCore/dom/Node.cpp:809
&gt;&gt; +bool Node::rendererIsEditableToAccessibility(EditableLevel editableLevel) const
&gt; 
&gt; I think rendererIsEditableOrHasEditableAXRole might be better. Since the AX role is set on DOM, not on the renderer.

How about just node::isEditableToAccessibility()?

&gt;&gt; Source/WebCore/dom/Node.cpp:1653
&gt;&gt; +        return const_cast&lt;Element*&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElement(this));
&gt; 
&gt; You should use toElement(Node*) here instead.

This isn&apos;t converting from an Node to an Element, but casting away const.

&gt;&gt; Source/WebCore/editing/EditingBoundary.h:37
&gt;&gt; +enum EditableType {
&gt; 
&gt; I&apos;m not crazy about these names. 
&gt; they don&apos;t really communicate one should be the default and the other should be used by accessibility clients
&gt; Maybe it should be
&gt; DefaultEditability,
&gt; AccessibilityRoleEditability

I quite like these, actually. Ryosuke, how would you feel about dropping the ContentIsEditable vs. RendererIsEditable decision and going with these instead?

By the way, how do we feel about EditableType? I&apos;m not thrilled about it but hopefully it communicates the right thing.

&gt;&gt; Source/WebCore/editing/EditingBoundary.h:38
&gt;&gt; +    RendererIsEditable,
&gt; 
&gt; RendererIsEditable is not right. rendererIsEditable exists as supposed to isContentEditable to signify the fact the former doesn&apos;t update the layout whereas the latter does. But this enum is nothing to do with that distinction. So It should be renamed to ContentIsEditable.

Hm -- it&apos;s probably just my lack of in depth understanding, but to me &quot;RendererIsEditable&quot; signifies that that the editability is managed by the renderer, i.e. handled by the browser. &quot;ContentIsEditable&quot; seems to signify only that ... the content is editable, which depending on the context (i.e. whether or not a screen reader is being used), is true in either case.

&gt;&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:14
&gt;&gt; +        window.layoutTestController.dumpAsText();
&gt; 
&gt; Do we really need to indent this code?

Yes? Why wouldn&apos;t it be indented?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526002</commentid>
    <comment_count>63</comment_count>
      <attachid>120261</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-21 22:06:38 -0800</bug_when>
    <thetext>Comment on attachment 120261
Patch

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

New failing tests:
http/tests/inspector/resource-tree/resource-tree-document-url.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529079</commentid>
    <comment_count>64</comment_count>
      <attachid>120261</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-03 14:37:34 -0800</bug_when>
    <thetext>Comment on attachment 120261
Patch

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

&gt; Source/WebCore/dom/Node.cpp:1653
&gt; +        return const_cast&lt;Element *&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElement(this));

Nit: No space between Element and *.

&gt; Source/WebCore/dom/Node.h:359
&gt; +        case RendererIsEditable:

I don&apos;t think &quot;RendererIsEditable&quot; accurate. Again, the reason this method is called &quot;rendererIsEditable&quot; is because we had to signify the fact we&apos;re not calling updateLayout. However, the concept of whether node is editable or not is independent of this concept. For this reason, I&apos;d prefer calling it &quot;ContentIsEditable&quot;.

&gt; Source/WebCore/editing/visible_units.cpp:659
&gt; +    // TODO: pull out code that is common between this and previousLinePosition.

s/TODO/FIXME/. Also this FIXME is wrong. Despite of what it looks like, there aren&apos;t that much code duplication between the two functions. They call different functions next/prev, left/right.

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:1
&gt; +&lt;!DOCTYPE HTML PUBLIC&gt;

Why public?

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:5
&gt; +&lt;head&gt;
&gt; +&lt;script src=&quot;../fast/js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; +&lt;/head&gt;

No need to have a head. You can put the script element in the body.

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:13
&gt; +    if (window.layoutTestController &amp;&amp; window.accessibilityController) {
&gt; +        window.layoutTestController.dumpAsText();

No need to indent the entire script like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529136</commentid>
    <comment_count>65</comment_count>
      <attachid>121014</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 16:20:20 -0800</bug_when>
    <thetext>Created attachment 121014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529140</commentid>
    <comment_count>66</comment_count>
      <attachid>120261</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 16:25:37 -0800</bug_when>
    <thetext>Comment on attachment 120261
Patch

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

&gt;&gt; Source/WebCore/dom/Node.cpp:1653
&gt;&gt; +        return const_cast&lt;Element *&gt;(document()-&gt;axObjectCache()-&gt;rootAXEditableElement(this));
&gt; 
&gt; Nit: No space between Element and *.

Done.

&gt;&gt; Source/WebCore/dom/Node.h:359
&gt;&gt; +        case RendererIsEditable:
&gt; 
&gt; I don&apos;t think &quot;RendererIsEditable&quot; accurate. Again, the reason this method is called &quot;rendererIsEditable&quot; is because we had to signify the fact we&apos;re not calling updateLayout. However, the concept of whether node is editable or not is independent of this concept. For this reason, I&apos;d prefer calling it &quot;ContentIsEditable&quot;.

Ok, I think ContentIsEditable makes sense in context, although I still find it a little ambiguous. I think it makes the most sense, though.

&gt;&gt; Source/WebCore/editing/visible_units.cpp:659
&gt;&gt; +    // TODO: pull out code that is common between this and previousLinePosition.
&gt; 
&gt; s/TODO/FIXME/. Also this FIXME is wrong. Despite of what it looks like, there aren&apos;t that much code duplication between the two functions. They call different functions next/prev, left/right.

I count 7 significant differences between the two functions, out of 51 LOC (not counting comments or newlines). One difference seems like it shouldn&apos;t be a difference:

-                ASSERT(n-&gt;renderer());

... is in nextLinePosition but not previousLinePosition. Each other difference could just as easily be based on a boolean switch, except for maybe

-            Position pos = createLegacyEditingPosition(n, caretMinOffset(n));
+            Position pos = n-&gt;hasTagName(brTag) ? positionBeforeNode(n) : createLegacyEditingPosition(n, caretMaxOffset(n));

The reason I added the TODO (FIXME) is that I was having a lot of trouble making sure my changes two the two methods matched up. I am happy to remove it though, if you prefer.

&gt;&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:1
&gt;&gt; +&lt;!DOCTYPE HTML PUBLIC&gt;
&gt; 
&gt; Why public?

No reason.

&gt;&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:5
&gt;&gt; +&lt;/head&gt;
&gt; 
&gt; No need to have a head. You can put the script element in the body.

Done.

&gt;&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:13
&gt;&gt; +        window.layoutTestController.dumpAsText();
&gt; 
&gt; No need to indent the entire script like this.

Got it -- I didn&apos;t know what you were referring to previously, sorry!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529141</commentid>
    <comment_count>67</comment_count>
      <attachid>120261</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-03 16:28:16 -0800</bug_when>
    <thetext>Comment on attachment 120261
Patch

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

&gt;&gt;&gt; Source/WebCore/editing/visible_units.cpp:659
&gt;&gt;&gt; +    // TODO: pull out code that is common between this and previousLinePosition.
&gt;&gt; 
&gt;&gt; s/TODO/FIXME/. Also this FIXME is wrong. Despite of what it looks like, there aren&apos;t that much code duplication between the two functions. They call different functions next/prev, left/right.
&gt; 
&gt; I count 7 significant differences between the two functions, out of 51 LOC (not counting comments or newlines). One difference seems like it shouldn&apos;t be a difference:
&gt; 
&gt; -                ASSERT(n-&gt;renderer());
&gt; 
&gt; ... is in nextLinePosition but not previousLinePosition. Each other difference could just as easily be based on a boolean switch, except for maybe
&gt; 
&gt; -            Position pos = createLegacyEditingPosition(n, caretMinOffset(n));
&gt; +            Position pos = n-&gt;hasTagName(brTag) ? positionBeforeNode(n) : createLegacyEditingPosition(n, caretMaxOffset(n));
&gt; 
&gt; The reason I added the TODO (FIXME) is that I was having a lot of trouble making sure my changes two the two methods matched up. I am happy to remove it though, if you prefer.

We don&apos;t normally do those boolean checks per convention so I&apos;d prefer not having that FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529161</commentid>
    <comment_count>68</comment_count>
      <attachid>121014</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-03 16:47:48 -0800</bug_when>
    <thetext>Comment on attachment 121014
Patch

Attachment 121014 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11079191</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529164</commentid>
    <comment_count>69</comment_count>
      <attachid>121019</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 16:49:40 -0800</bug_when>
    <thetext>Created attachment 121019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529166</commentid>
    <comment_count>70</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 16:51:50 -0800</bug_when>
    <thetext>(In reply to comment #68)
&gt; (From update of attachment 121014 [details])
&gt; Attachment 121014 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/11079191

Strange, how did that work every other time? The code hasn&apos;t changed significantly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529167</commentid>
    <comment_count>71</comment_count>
      <attachid>120261</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 16:52:20 -0800</bug_when>
    <thetext>Comment on attachment 120261
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/editing/visible_units.cpp:659
&gt;&gt;&gt;&gt; +    // TODO: pull out code that is common between this and previousLinePosition.
&gt;&gt;&gt; 
&gt;&gt;&gt; s/TODO/FIXME/. Also this FIXME is wrong. Despite of what it looks like, there aren&apos;t that much code duplication between the two functions. They call different functions next/prev, left/right.
&gt;&gt; 
&gt;&gt; I count 7 significant differences between the two functions, out of 51 LOC (not counting comments or newlines). One difference seems like it shouldn&apos;t be a difference:
&gt;&gt; 
&gt;&gt; -                ASSERT(n-&gt;renderer());
&gt;&gt; 
&gt;&gt; ... is in nextLinePosition but not previousLinePosition. Each other difference could just as easily be based on a boolean switch, except for maybe
&gt;&gt; 
&gt;&gt; -            Position pos = createLegacyEditingPosition(n, caretMinOffset(n));
&gt;&gt; +            Position pos = n-&gt;hasTagName(brTag) ? positionBeforeNode(n) : createLegacyEditingPosition(n, caretMaxOffset(n));
&gt;&gt; 
&gt;&gt; The reason I added the TODO (FIXME) is that I was having a lot of trouble making sure my changes two the two methods matched up. I am happy to remove it though, if you prefer.
&gt; 
&gt; We don&apos;t normally do those boolean checks per convention so I&apos;d prefer not having that FIXME.

Ok, removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529210</commentid>
    <comment_count>72</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-03 17:51:43 -0800</bug_when>
    <thetext>Chris, would you be able to take another look at this now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529371</commentid>
    <comment_count>73</comment_count>
      <attachid>121019</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-01-03 23:01:02 -0800</bug_when>
    <thetext>Comment on attachment 121019
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:671
&gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {

should this just check against element == 0 and run all the way up the parent chain?

&gt; Source/WebCore/dom/Node.cpp:802
&gt; +    ASSERT(document()-&gt;axObjectCacheExists());

are these asserts necessary? this code will crash in production if any of these assertions are not met so having the asserts won&apos;t do much (except for axEnabled that is)

&gt; Source/WebCore/dom/Node.h:381
&gt; +

rendererIsRichlyEditable and rendererIsEditable are basically the same. can they be combined in a way or at least both of them call a common method that takes one more argument

&gt; Source/WebCore/editing/visible_units.cpp:642
&gt; +static Node* nextLeafWithSameEditability(Node* node, EditableType editableType = HasEditableAXRole)

why is the default here the AX case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529831</commentid>
    <comment_count>74</comment_count>
      <attachid>121177</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 15:35:09 -0800</bug_when>
    <thetext>Created attachment 121177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529838</commentid>
    <comment_count>75</comment_count>
      <attachid>121179</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 15:44:37 -0800</bug_when>
    <thetext>Created attachment 121179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529841</commentid>
    <comment_count>76</comment_count>
      <attachid>121019</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 15:46:01 -0800</bug_when>
    <thetext>Comment on attachment 121019
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:671
&gt;&gt; +    for (; element &amp;&amp; !element-&gt;hasTagName(bodyTag); element = element-&gt;parentElement()) {
&gt; 
&gt; should this just check against element == 0 and run all the way up the parent chain?

Ah yes, there was some discussion with Ryosuke on this earlier, wasn&apos;t there. I think that sounds like the right thing to do.

&gt;&gt; Source/WebCore/dom/Node.cpp:802
&gt;&gt; +    ASSERT(document()-&gt;axObjectCacheExists());
&gt; 
&gt; are these asserts necessary? this code will crash in production if any of these assertions are not met so having the asserts won&apos;t do much (except for axEnabled that is)

I don&apos;t follow why the accessibilityEnabled assert will help where the others won&apos;t, sorry.

Regardless, I&apos;m not sure whether the asserts are necessary, but it seems to be the convention in this class to use asserts like this. Ryosuke may know more.

&gt;&gt; Source/WebCore/dom/Node.h:381
&gt;&gt; +
&gt; 
&gt; rendererIsRichlyEditable and rendererIsEditable are basically the same. can they be combined in a way or at least both of them call a common method that takes one more argument

These are pre-existing methods which are called throughout the codebase; I think that change is outside the scope of this patch.

&gt;&gt; Source/WebCore/editing/visible_units.cpp:642
&gt;&gt; +static Node* nextLeafWithSameEditability(Node* node, EditableType editableType = HasEditableAXRole)
&gt; 
&gt; why is the default here the AX case?

Oh, good question, that seems very wrong. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529842</commentid>
    <comment_count>77</comment_count>
      <attachid>121177</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-04 15:48:45 -0800</bug_when>
    <thetext>Comment on attachment 121177
Patch

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

&gt; Source/WebCore/editing/visible_units.h:58
&gt; +VisiblePosition previousLinePosition(const VisiblePosition &amp;, int lineDirectionPoint, EditableType = ContentIsEditable);
&gt; +VisiblePosition nextLinePosition(const VisiblePosition &amp;, int lineDirectionPoint, EditableType = ContentIsEditable);

Could you remove the space between VisiblePosition and &amp;?

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:19
&gt; +             + &quot; axElement.insertionPointLineNumber&quot;, &quot;0&quot;);

Wrong indentation. + should be exactly 4 spaces to the right of s in shouldBe.

&gt; LayoutTests/accessibility/textbox-role-reports-line-number.html:29
&gt; +             + &quot; axElement.insertionPointLineNumber&quot;, &quot;0&quot;);
&gt; +    shouldBe(&quot;window.getSelection().setBaseAndExtent(multilineAriaTextBox.childNodes[1], 1, multilineAriaTextBox.childNodes[1], 1);&quot;
&gt; +             + &quot; axElement.insertionPointLineNumber&quot;, &quot;1&quot;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529847</commentid>
    <comment_count>78</comment_count>
      <attachid>121179</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-04 15:55:25 -0800</bug_when>
    <thetext>Comment on attachment 121179
Patch

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

r=me provided nits are addressed.

&gt; Source/WebCore/ChangeLog:9
&gt; +        set by the developer on an element which behaves like an editable text element (such as a

s/developer/author/; also &quot;set on an element&quot; seems sufficient here.

&gt; Source/WebCore/ChangeLog:15
&gt; +        visible_units, aware of the notion that an element may be non-natively editable, via the
&gt; +        EditableType enum added to EditingBoundary.h.

the word &quot;native&quot; usually refers to platform-naiveness. Also, saying non-native doesn&apos;t tell us what they&apos;re so it&apos;s probably better to say &quot;an element maybe editable via text-control ARIA role&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529855</commentid>
    <comment_count>79</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-01-04 15:58:19 -0800</bug_when>
    <thetext>(In reply to comment #78)
&gt; (From update of attachment 121179 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121179&amp;action=review
&gt; 
&gt; r=me provided nits are addressed.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        set by the developer on an element which behaves like an editable text element (such as a
&gt; 
&gt; s/developer/author/; also &quot;set on an element&quot; seems sufficient here.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; +        visible_units, aware of the notion that an element may be non-natively editable, via the
&gt; &gt; +        EditableType enum added to EditingBoundary.h.
&gt; 
&gt; the word &quot;native&quot; usually refers to platform-naiveness. Also, saying non-native doesn&apos;t tell us what they&apos;re so it&apos;s probably better to say &quot;an element maybe editable via text-control ARIA role&quot;

Assert issue needs to be addressed before checking in. 

ASSERTS are meant to catch logically wrong cases in debug, but should presumably fail gracefully in production.

In this patch, both debug and production will crash if those conditions are met</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529862</commentid>
    <comment_count>80</comment_count>
      <attachid>121184</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 16:12:04 -0800</bug_when>
    <thetext>Created attachment 121184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529863</commentid>
    <comment_count>81</comment_count>
      <attachid>121184</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-04 16:14:55 -0800</bug_when>
    <thetext>Comment on attachment 121184
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        input field or contenteditable text), but whose behaviour is controlled by the developer

s/developer/author/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529876</commentid>
    <comment_count>82</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 16:35:01 -0800</bug_when>
    <thetext>(In reply to comment #79)
&gt; (In reply to comment #78)
&gt; &gt; (From update of attachment 121179 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121179&amp;action=review
&gt; &gt; 
&gt; &gt; r=me provided nits are addressed.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; +        set by the developer on an element which behaves like an editable text element (such as a
&gt; &gt; 
&gt; &gt; s/developer/author/; also &quot;set on an element&quot; seems sufficient here.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; &gt; +        visible_units, aware of the notion that an element may be non-natively editable, via the
&gt; &gt; &gt; +        EditableType enum added to EditingBoundary.h.
&gt; &gt; 
&gt; &gt; the word &quot;native&quot; usually refers to platform-naiveness. Also, saying non-native doesn&apos;t tell us what they&apos;re so it&apos;s probably better to say &quot;an element maybe editable via text-control ARIA role&quot;
&gt; 
&gt; Assert issue needs to be addressed before checking in. 
&gt; 
&gt; ASSERTS are meant to catch logically wrong cases in debug, but should presumably fail gracefully in production.
&gt; 
&gt; In this patch, both debug and production will crash if those conditions are met

There are many cases in this class where that is true, although that doesn&apos;t mean that this is right.

Should I check those cases and return false if those conditions are not met, then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529878</commentid>
    <comment_count>83</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-01-04 16:36:33 -0800</bug_when>
    <thetext>(In reply to comment #82)
&gt; (In reply to comment #79)
&gt; &gt; (In reply to comment #78)
&gt; &gt; &gt; (From update of attachment 121179 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121179&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; r=me provided nits are addressed.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; &gt; +        set by the developer on an element which behaves like an editable text element (such as a
&gt; &gt; &gt; 
&gt; &gt; &gt; s/developer/author/; also &quot;set on an element&quot; seems sufficient here.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; &gt; &gt; +        visible_units, aware of the notion that an element may be non-natively editable, via the
&gt; &gt; &gt; &gt; +        EditableType enum added to EditingBoundary.h.
&gt; &gt; &gt; 
&gt; &gt; &gt; the word &quot;native&quot; usually refers to platform-naiveness. Also, saying non-native doesn&apos;t tell us what they&apos;re so it&apos;s probably better to say &quot;an element maybe editable via text-control ARIA role&quot;
&gt; &gt; 
&gt; &gt; Assert issue needs to be addressed before checking in. 
&gt; &gt; 
&gt; &gt; ASSERTS are meant to catch logically wrong cases in debug, but should presumably fail gracefully in production.
&gt; &gt; 
&gt; &gt; In this patch, both debug and production will crash if those conditions are met
&gt; 
&gt; There are many cases in this class where that is true, although that doesn&apos;t mean that this is right.
&gt; 
&gt; Should I check those cases and return false if those conditions are not met, then?

I would ASSERT all three
but also check that document() and axObjectCacheExists(), so that we won&apos;t crash in production if those asserts are for some reason not met. thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529901</commentid>
    <comment_count>84</comment_count>
      <attachid>121191</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 17:32:37 -0800</bug_when>
    <thetext>Created attachment 121191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529953</commentid>
    <comment_count>85</comment_count>
      <attachid>121206</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-04 19:13:49 -0800</bug_when>
    <thetext>Created attachment 121206
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530261</commentid>
    <comment_count>86</comment_count>
      <attachid>121206</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-05 07:01:39 -0800</bug_when>
    <thetext>Comment on attachment 121206
Patch for landing

Rejecting attachment 121206 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

rniwa@webkit.org found in /mnt/git/webkit-commit-queue/LayoutTests/ChangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /mnt/git/webkit-commit-queue/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/11110376</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530424</commentid>
    <comment_count>87</comment_count>
      <attachid>121206</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-05 10:48:40 -0800</bug_when>
    <thetext>Comment on attachment 121206
Patch for landing

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by rniwa@webkit.org.

Why is it filled by my email address? Did webkit-patch regress?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530658</commentid>
    <comment_count>88</comment_count>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-05 14:56:29 -0800</bug_when>
    <thetext>(In reply to comment #87)
&gt; (From update of attachment 121206 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121206&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:6
&gt; &gt; +        Reviewed by rniwa@webkit.org.
&gt; 
&gt; Why is it filled by my email address? Did webkit-patch regress?

My fault: webkit-patch didn&apos;t find a reviewer, and I used --reviewer incorrectly.

How should I specify you as the reviewer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530761</commentid>
    <comment_count>89</comment_count>
      <attachid>121364</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-05 16:31:28 -0800</bug_when>
    <thetext>Created attachment 121364
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530882</commentid>
    <comment_count>90</comment_count>
      <attachid>121364</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-05 19:22:40 -0800</bug_when>
    <thetext>Comment on attachment 121364
Patch for landing

Rejecting attachment 121364 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

rniwa@webkit.org found in /mnt/git/webkit-commit-queue/LayoutTests/ChangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /mnt/git/webkit-commit-queue/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/11145189</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530915</commentid>
    <comment_count>91</comment_count>
      <attachid>121394</attachid>
    <who name="Alice Boxhall">aboxhall</who>
    <bug_when>2012-01-05 21:10:24 -0800</bug_when>
    <thetext>Created attachment 121394
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530979</commentid>
    <comment_count>92</comment_count>
      <attachid>121394</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-06 00:53:40 -0800</bug_when>
    <thetext>Comment on attachment 121394
Patch for landing

Clearing flags on attachment: 121394

Committed r104276: &lt;http://trac.webkit.org/changeset/104276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530980</commentid>
    <comment_count>93</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-06 00:53:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113126</attachid>
            <date>2011-10-31 21:52:52 -0700</date>
            <delta_ts>2011-11-01 17:50:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111101155249.patch</filename>
            <type>text/plain</type>
            <size>35345</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5MzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMGU1MTY1MjFkZmE5ZmFl
ZDE2MWQ2YjM5NjFmNWVhN2FmN2RmYzJmLi41ODFmNzE0OTQ0YzFmNjdmM2RmZTQ5ODk1MTY2ODc0
MDczNzA2ZTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMTAtMzEgIEFsaWNl
IEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJl
Y3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51
bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6Omhhc0FYRWRpdGluZ0VsZW1lbnRzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNBWEVkaXRhYmxlKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvVmlzaWJs
ZVBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbjo6aG9ub3JF
ZGl0aW5nQm91bmRhcnlBdE9yQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVQb3Np
dGlvbjo6aG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQWZ0ZXIpOgorICAgICAgICAqIGVkaXRpbmcv
VmlzaWJsZVBvc2l0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb246OnJv
b3RFZGl0YWJsZUVsZW1lbnQpOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bm9kZUlzRWRpdGFibGVGb3JSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRh
YmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFZGl0YWJs
ZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKToK
KyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0UG9zaXRpb25Gb3JMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0T2ZMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OnByZXZp
b3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNM
aW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisgICAg
ICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTAtMzEgIERhdmUgTWljaGFl
bCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBWOE1lc3NhZ2VFdmVudDo6ZGF0
YUFjY2Vzc29yR2V0dGVyIGRvZXMgbm90IHJldHVybiBhIHJlZmVyZW5jZSB0byBpdHMgY2FsbGVy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRl
eCBjMjRiZDNiZmQ5YTYzN2Y5YTUxNDQ4ZjQ2NTcwODkxMWVmZjU2MmU3Li5lZTZjNDNmOWI4NjIy
N2JiYzY2N2Q1ZTg3ZmQ2YjFhNGRjNTUwYjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTI1Myw3ICsyNTMsNyBAQCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShXaWRnZXQqIHdpZGdldCkKIAog
ICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmogPSBnZXQod2lkZ2V0KSkKICAgICAgICAg
cmV0dXJuIG9iajsKLSAgICAKKwogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdP
YmogPSAwOwogICAgIGlmICh3aWRnZXQtPmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIG5ld09iaiA9
IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpjcmVhdGUoc3RhdGljX2Nhc3Q8U2Nyb2xsVmlldyo+
KHdpZGdldCkpOwpAQCAtMjc3LDYgKzI3Nyw4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2Jq
ZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIHJl
dHVybiBvYmo7CiAKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gbmV3T2JqID0gY3Jl
YXRlRnJvbVJlbmRlcmVyKHJlbmRlcmVyKTsKKyAgICBpZiAobmV3T2JqLT5pc0FSSUFUZXh0Q29u
dHJvbCgpKQorICAgICAgICBtX2hhc0FYRWRpdGluZ0VsZW1lbnRzID0gdHJ1ZTsKIAogICAgIGdl
dEFYSUQobmV3T2JqLmdldCgpKTsKIApAQCAtNjQzLDUgKzY0NSw0NCBAQCB2b2lkIEFYT2JqZWN0
Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0
ZXh0TWFya2VyRAogICAgIAogICAgIGNhY2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0g
ICAgCisKK2Jvb2wgQVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZShjb25zdCBOb2RlKiBu
b2RlKQoreworICAgIGlmIChyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKG5vZGUpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworY29uc3QgRWxlbWVu
dCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50Rm9yTm9kZShjb25zdCBOb2Rl
KiBub2RlKQoreworICAgIGNvbnN0IEVsZW1lbnQqIHJlc3VsdCA9IDA7CisgICAgY29uc3QgRWxl
bWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCA9IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsK
KworICAgIGNvbnN0IEVsZW1lbnQqIGUgPSBub2RlLT5pc0VsZW1lbnROb2RlKCkgPyB0b0VsZW1l
bnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisgICAgZm9yICggOyBlICYmIGUgIT0g
cm9vdEVkaXRhYmxlRWxlbWVudDsgZSA9IGUtPnBhcmVudEVsZW1lbnQoKSkgeworICAgICAgICBp
ZiAobm9kZUlzVGV4dENvbnRyb2woZSkpCisgICAgICAgICAgICByZXN1bHQgPSBlOworICAgICAg
ICBpZiAoZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4g
cm9vdEVkaXRhYmxlRWxlbWVudDsKK30KKworYm9vbCBBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0
Q29udHJvbChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JO
b2RlID0gZ2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAgaWYgKCFheE9iamVjdEZv
ck5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBheE9iamVjdEZvck5v
ZGUtPmlzVGV4dENvbnRyb2woKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyNzc4OWZiYjhk
MjM0YTY4MzZlZDBlZTc5ZjNmMTIwMjJmZTkzYzc2Li42YjY5Yzg4NjIxYzViYjAwODFhNTYzZDA5
NTRlOTJjMzU0ZmQzYmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuaApAQCAtMTA0LDYgKzEwNCwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92
ZUFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQp
IGNvbnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CisKKyAgICAvLyBFbGVt
ZW50cyB3aGljaCBhY3QgYXMgZWRpdGFibGUgdGV4dCBuZWVkIHRvIGJlIHRyZWF0ZWQgc3BlY2lh
bGx5IGJ5IHNvbWUgbm9uLUFYIGNvZGUuCisgICAgYm9vbCBoYXNBWEVkaXRpbmdFbGVtZW50cygp
IGNvbnN0IHsgcmV0dXJuIG1faGFzQVhFZGl0aW5nRWxlbWVudHM7IH0KKyAgICBjb25zdCBFbGVt
ZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKGNvbnN0IE5vZGUqKTsKKyAgICBib29s
IG5vZGVJc0FYRWRpdGFibGUoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzVGV4dENvbnRy
b2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0
IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKQEAgLTE2Myw2ICsxNzAsNyBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50
ZXJmYWNlRW5hYmxlZDsKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CisgICAg
Ym9vbCBtX2hhc0FYRWRpdGluZ0VsZW1lbnRzOwogICAgIAogICAgIFRpbWVyPEFYT2JqZWN0Q2Fj
aGU+IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyOwogICAgIFZlY3RvcjxwYWlyPFJlZlB0cjxBY2Nl
c3NpYmlsaXR5T2JqZWN0PiwgQVhOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25zVG9Qb3N0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKaW5kZXggMTVhNjkxY2ZiZGU5YjRlNWMzYmQ0MzE1MTQ0ZTMyODlkZjBiMDYyYS4u
MzUzMTNmZDI1ZTU0M2U1NDQ2MzI0NDMzOGQzMmYzNTE3ZWZiMWYyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC05
NDIsMjEgKzk0MiwyNSBAQCBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykgY29ucwogICAgIGlmICh2aXNpYmxl
UG9zLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHVuc2lnbmVkIGxpbmVDb3Vu
dCA9IDA7Ci0gICAgVmlzaWJsZVBvc2l0aW9uIGN1cnJlbnRWaXNpYmxlUG9zID0gdmlzaWJsZVBv
czsKLSAgICBWaXNpYmxlUG9zaXRpb24gc2F2ZWRWaXNpYmxlUG9zOworICAgIC8vIGlmIHRoZSBw
b3NpdGlvbiBpcyBub3QgaW4gdGhlIHNhbWUgZWRpdGFibGUgcmVnaW9uIGFzIHRoaXMgQVggb2Jq
ZWN0LCByZXR1cm4gLTEKKyAgICBOb2RlKiBjb250YWluZXJOb2RlID0gdmlzaWJsZVBvcy5kZWVw
RXF1aXZhbGVudCgpLmNvbnRhaW5lck5vZGUoKTsKKyAgICBpZiAoIWNvbnRhaW5lck5vZGUtPmNv
bnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKG5vZGUoKSkgJiYgIW5vZGUoKS0+Y29udGFpbnNJbmNs
dWRpbmdTaGFkb3dET00oY29udGFpbmVyTm9kZSkpCisgICAgICAgIHJldHVybiAtMTsKKworICAg
IGludCBsaW5lQ291bnQgPSAtMTsKKyAgICBWaXNpYmxlUG9zaXRpb24gY3VycmVudFZpc2libGVQ
b3MgPSB2aXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3M7CiAKICAgICAvLyBtb3ZlIHVwIHVudGls
IHdlIGdldCB0byB0aGUgdG9wCiAgICAgLy8gRklYTUU6IFRoaXMgb25seSB0YWtlcyB1cyB0byB0
aGUgdG9wIG9mIHRoZSByb290RWRpdGFibGVFbGVtZW50LCBub3QgdGhlIHRvcCBvZiB0aGUKICAg
ICAvLyB0b3AgZG9jdW1lbnQuCi0gICAgd2hpbGUgKGN1cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVs
bCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJsZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkp
IHsKLSAgICAgICAgKytsaW5lQ291bnQ7CisgICAgZG8gewogICAgICAgICBzYXZlZFZpc2libGVQ
b3MgPSBjdXJyZW50VmlzaWJsZVBvczsKLSAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHByZXZWaXNp
YmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQb3MsIDApOworICAg
ICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91c0xpbmVQb3NpdGlv
bihjdXJyZW50VmlzaWJsZVBvcywgMCwgQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeSk7CiAg
ICAgICAgIGN1cnJlbnRWaXNpYmxlUG9zID0gcHJldlZpc2libGVQb3M7Ci0gICAgfQorICAgICAg
ICArK2xpbmVDb3VudDsKKyAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxs
KCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSk7
CiAKLSAgICByZXR1cm4gbGluZUNvdW50IC0gMTsKKyAgICByZXR1cm4gbGluZUNvdW50OwogfQog
CiAvLyBOT1RFOiBDb25zaWRlciBwcm92aWRpbmcgdGhpcyB1dGlsaXR5IG1ldGhvZCBhcyBBWCBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ4OGRjN2M5YzQwNzVmMjM4YjIxNDZhMmU2ZmM2
NjUxODY3YTNhOTUuLjcwYTkyYWQxYjE2ZjZjYzhlYjllZDU4NjIyNmVhODUxMjYzYTNmZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjUyMSw3ICsyNTIxLDcgQEAgaW50IEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiYgcG8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgUG9zaXRpb24gaW5kZXhQb3Np
dGlvbiA9IHBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVs
bCgpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihpbmRleFBvc2l0aW9uKSAhPSBu
b2RlKQorICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IGhpZ2hlc3RFZGl0YWJsZVJv
b3QoaW5kZXhQb3NpdGlvbiwgQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeSkgIT0gbm9kZSkK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC0y
NTM4LDM4ICsyNTM4LDYgQEAgaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9y
VmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG8KICNlbmRpZgogfQogCi1F
bGVtZW50KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpyb290RWRpdGFibGVFbGVtZW50Rm9y
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKSBjb25zdAotewotICAgIC8vIEZpbmQg
dGhlIHJvb3QgZWRpdGFibGUgb3IgcHNldWRvLWVkaXRhYmxlIChpLmUuIGhhdmluZyBhbiBlZGl0
YWJsZSBBUklBIHJvbGUpIGVsZW1lbnQuCi0gICAgRWxlbWVudCogcmVzdWx0ID0gMDsKLSAgICAK
LSAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50ID0gcG9zaXRpb24ucm9vdEVkaXRhYmxl
RWxlbWVudCgpOwotCi0gICAgZm9yIChFbGVtZW50KiBlID0gcG9zaXRpb24uZWxlbWVudCgpOyBl
ICYmIGUgIT0gcm9vdEVkaXRhYmxlRWxlbWVudDsgZSA9IGUtPnBhcmVudEVsZW1lbnQoKSkgewot
ICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZSkpCi0gICAgICAgICAgICByZXN1bHQgPSBl
OwotICAgICAgICBpZiAoZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KLQotICAgIGlmIChyZXN1bHQpCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0KLSAg
ICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudDsKLX0KLQotYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0Ojpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKiBub2RlKSBjb25zdAotewot
ICAgIGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgY29uc3QgQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JOb2RlID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKLSAgICBpZiAoIWF4T2JqZWN0Rm9yTm9kZSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIGF4T2JqZWN0Rm9yTm9kZS0+aXNUZXh0Q29u
dHJvbCgpOwotfQotCiBMYXlvdXRSZWN0IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmJvdW5k
c0ZvclZpc2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlvblJhbmdlJiB2aXNp
YmxlUG9zaXRpb25SYW5nZSkgY29uc3QKIHsKICAgICBpZiAodmlzaWJsZVBvc2l0aW9uUmFuZ2Uu
aXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggYmFkZDA3YjI5YzEzODdlY2YyZjc5YjQ2YmZl
YTQ1ZTM5ZmJjYzBhOS4uMjg2MGI4ODlkMzBiZTRjZTdiY2Y0YjFmMmJlNGFmODk5ZmQxZjNhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcApAQCAtNzk4LDYgKzc5OCwxMiBAQCBib29sIE5vZGU6OnJlbmRlcmVy
SXNFZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0CiAgICAgICAgIGlm
ICgobm9kZS0+aXNIVE1MRWxlbWVudCgpIHx8IG5vZGUtPmlzRG9jdW1lbnROb2RlKCkpICYmIG5v
ZGUtPnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+cmVuZGVyZXIoKS0+
c3R5bGUoKS0+dXNlck1vZGlmeSgpKSB7CiAgICAgICAgICAgICBjYXNlIFJFQURfT05MWToKKyAg
ICAgICAgICAgICAgICBpZiAoZWRpdGFibGVMZXZlbCA9PSBBWEVkaXRhYmxlKSB7CisgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChkb2N1bWVudCgpKTsKKyAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpOworICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+bm9kZUlz
QVhFZGl0YWJsZSh0aGlzKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBSRUFEX1dSSVRFOgogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtMTY0MCw2ICsxNjQ2LDE5IEBAIEVsZW1lbnQgKk5vZGU6OmVuY2xv
c2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitFbGVtZW50
KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBy
dWxlKSBjb25zdAoreworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRh
cnkgJiYgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5oYXNBWEVkaXRpbmdFbGVtZW50cygp
KQorICAgICAgICByZXR1cm4gcm9vdEFYRWRpdGFibGVFbGVtZW50KCk7CisKKyAgICByZXR1cm4g
cm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQorCitFbGVtZW50KiBOb2RlOjpyb290QVhFZGl0YWJs
ZUVsZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1lbnQqPihkb2N1
bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUodGhp
cykpOworfQorCiBFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QKIHsK
ICAgICBFbGVtZW50KiByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggYzhhMTMxOTcwY2NjMzBk
NTU3MzUwNDI0MzdlY2FjNjUxMGQ5NDU1ZC4uNjM1MTg5Yjc2NzZjYjY1OTUwODc4NmQxYTVlOGJl
MjJjODIyNGYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIE5vZGVf
aAogI2RlZmluZSBOb2RlX2gKIAorI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNpbmNsdWRlICJMYXlv
dXRUeXBlcy5oIgpAQCAtMjY4LDkgKzI2OSwxMCBAQCBwdWJsaWM6CiAKICAgICAvLyBlbmNsb3Np
bmdCbG9ja0Zsb3dFbGVtZW50KCkgaXMgZGVwcmVjYXRlZC4gVXNlIGVuY2xvc2luZ0Jsb2NrIGlu
c3RlYWQuCiAgICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0Owot
ICAgIAogICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKLSAgICAKKyAg
ICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSkgY29uc3Q7CisgICAgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KCkgY29uc3Q7CisK
ICAgICBib29sIGluU2FtZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUqKTsKIAogICAg
IC8vIENhbGxlZCBieSB0aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xvc2UgdGFnIGlz
IHJlYWNoZWQsCkBAIC0zNDUsNiArMzQ3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50
RWRpdGFibGUoKTsKICAgICBib29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxlKCk7CiAKKyAgICBi
b29sIHJlbmRlcmVySXNBWEVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRh
YmxlKEFYRWRpdGFibGUpOyB9CiAgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoKSBjb25zdCB7
IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOyB9CiAgICAgYm9vbCByZW5kZXJl
cklzUmljaGx5RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoUmlj
aGx5RWRpdGFibGUpOyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7
CkBAIC02OTYsNyArNjk5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldERvY3VtZW50UmVjdXJz
aXZlbHkoRG9jdW1lbnQqKTsKICAgICB2b2lkIHNldERvY3VtZW50KERvY3VtZW50Kik7CiAKLSAg
ICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmljaGx5RWRpdGFibGUgfTsKKyAgICBl
bnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmljaGx5RWRpdGFibGUsIEFYRWRpdGFibGUg
fTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2UoU3R5bGVDaGFuZ2VUeXBlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCmluZGV4IGY4YWMxY2IwNDU2ODVmMmViNGRkZTI5NjRi
YThkZmEwYzBlZDVhODQuLmI4MmFmNWIyNzNlY2U2MWJlN2UxMjVhZjE4MGYxM2ViMjRkNDE3ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaApAQCAtMzEsNiArMzEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBlbnVtIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSB7CiAgICAgQ2FuQ3Jvc3NFZGl0aW5nQm91bmRhcnksCiAgICAgQ2Fubm90Q3Jvc3NFZGl0aW5n
Qm91bmRhcnksCisgICAgQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeSwKICAgICBDYW5Ta2lw
T3ZlckVkaXRpbmdCb3VuZGFyeQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9WaXNpYmxlUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxl
UG9zaXRpb24uY3BwCmluZGV4IDgxMTY4ZDdiNzQxNzMxNTVlZGI5MGM1NWM0ZTE4ZGRkZTUyYmFk
YWQuLmI3NWEyNGFhNmZiZWJhYmNhZDkxOTJmNGIwZjlhMDE3MmMzYTZlNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKQEAgLTQ0MSwxOSArNDQxLDE5IEBA
IFZpc2libGVQb3NpdGlvbiBWaXNpYmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRP
ckJlZm9yZShjb25zdCBWaXNpYmxlUG9zCiB7CiAgICAgaWYgKHBvcy5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIHBvczsKLSAgICAKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0
YWJsZVJvb3QoZGVlcEVxdWl2YWxlbnQoKSk7CisKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhp
Z2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhFZGl0aW5nKGRlZXBFcXVpdmFsZW50KCkpOwog
ICAgIAogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMgbm90IHNvbWV3aGVy
ZSBpbnNpZGUgdGhlIGVkaXRhYmxlIHJlZ2lvbiBjb250YWluaW5nIHRoaXMgcG9zaXRpb24KICAg
ICBpZiAoaGlnaGVzdFJvb3QgJiYgIXBvcy5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2Rl
KCktPmlzRGVzY2VuZGFudE9mKGhpZ2hlc3RSb290KSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwotICAgICAgICAKKwogICAgIC8vIFJldHVybiBwb3MgaXRzZWxmIGlmIHRoZSB0
d28gYXJlIGZyb20gdGhlIHZlcnkgc2FtZSBlZGl0YWJsZSByZWdpb24sIG9yIGJvdGggYXJlIG5v
bi1lZGl0YWJsZQogICAgIC8vIEZJWE1FOiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNhc2UsIGp1c3Qg
YmVjYXVzZSB0aGUgbmV3IHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0IG1lYW4gbW92
ZW1lbnQKICAgICAvLyB0byBpdCBpcyBhbGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0
Rm9yRWRpdGFibGVDb250ZW50IGhhcyB0aGlzIHByb2JsZW0gdG9vLgotICAgIGlmIChoaWdoZXN0
RWRpdGFibGVSb290KHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKKyAgICBp
ZiAoaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcocG9zLmRlZXBFcXVpdmFs
ZW50KCkpID09IGhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4gcG9zOwotICAKKwogICAgIC8v
IFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiB0aGlzIHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSwg
YnV0IHBvcyBpcyBlZGl0YWJsZQogICAgIC8vIEZJWE1FOiBNb3ZlIHRvIHRoZSBwcmV2aW91cyBu
b24tZWRpdGFibGUgcmVnaW9uLgogICAgIGlmICghaGlnaGVzdFJvb3QpCkBAIC00NjgsNyArNDY4
LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6aG9ub3JFZGl0aW5nQm91bmRh
cnlBdE9yQWZ0ZXIoY29uc3QgVmlzaWJsZVBvc2kKICAgICBpZiAocG9zLmlzTnVsbCgpKQogICAg
ICAgICByZXR1cm4gcG9zOwogICAgIAotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVk
aXRhYmxlUm9vdChkZWVwRXF1aXZhbGVudCgpKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhp
Z2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhFZGl0aW5nKGRlZXBFcXVpdmFsZW50KCkpOwog
ICAgIAogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMgbm90IHNvbWV3aGVy
ZSBpbnNpZGUgdGhlIGVkaXRhYmxlIHJlZ2lvbiBjb250YWluaW5nIHRoaXMgcG9zaXRpb24KICAg
ICBpZiAoaGlnaGVzdFJvb3QgJiYgIXBvcy5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2Rl
KCktPmlzRGVzY2VuZGFudE9mKGhpZ2hlc3RSb290KSkKQEAgLTQ3Nyw3ICs0NzcsNyBAQCBWaXNp
YmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JBZnRl
cihjb25zdCBWaXNpYmxlUG9zaQogICAgIC8vIFJldHVybiBwb3MgaXRzZWxmIGlmIHRoZSB0d28g
YXJlIGZyb20gdGhlIHZlcnkgc2FtZSBlZGl0YWJsZSByZWdpb24sIG9yIGJvdGggYXJlIG5vbi1l
ZGl0YWJsZQogICAgIC8vIEZJWE1FOiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNhc2UsIGp1c3QgYmVj
YXVzZSB0aGUgbmV3IHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0IG1lYW4gbW92ZW1l
bnQKICAgICAvLyB0byBpdCBpcyBhbGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0Rm9y
RWRpdGFibGVDb250ZW50IGhhcyB0aGlzIHByb2JsZW0gdG9vLgotICAgIGlmIChoaWdoZXN0RWRp
dGFibGVSb290KHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKKyAgICBpZiAo
aGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcocG9zLmRlZXBFcXVpdmFsZW50
KCkpID09IGhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4gcG9zOwogCiAgICAgLy8gUmV0dXJu
IGVtcHR5IHBvc2l0aW9uIGlmIHRoaXMgcG9zaXRpb24gaXMgbm9uLWVkaXRhYmxlLCBidXQgcG9z
IGlzIGVkaXRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQ
b3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaAppbmRl
eCAyMGVlZTk0ZGUyZGIyMmZjZmM4N2U1NTI4Zjg0ZDFhODE5NzAzZGI1Li41NzJmNzc2M2U5Njll
NzcyM2QxMjM3ODIxMTMwNjdmMzVkY2RjMjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlz
aWJsZVBvc2l0aW9uLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogCiAgICAgLy8gRklYTUU6
IFRoaXMgZG9lcyBub3QgaGFuZGxlIFt0YWJsZSwgMF0gY29ycmVjdGx5LgogICAgIEVsZW1lbnQq
IHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5pc05v
dE51bGwoKSA/IG1fZGVlcFBvc2l0aW9uLmRlcHJlY2F0ZWROb2RlKCktPnJvb3RFZGl0YWJsZUVs
ZW1lbnQoKSA6IDA7IH0KKyAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRpbmdC
b3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5p
c05vdE51bGwoKSA/IG1fZGVlcFBvc2l0aW9uLmRlcHJlY2F0ZWROb2RlKCktPnJvb3RFZGl0YWJs
ZUVsZW1lbnQocnVsZSkgOiAwOyB9OwogICAgIAogICAgIHZvaWQgZ2V0SW5saW5lQm94QW5kT2Zm
c2V0KElubGluZUJveComIGlubGluZUJveCwgaW50JiBjYXJldE9mZnNldCkgY29uc3QKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4IGY3NWVjM2RlM2Q5YTE4
OTc5NDVhM2Q4NTc3NDRmZmIxNzRjNzMyY2QuLjRjNzBlNWI0MzU5MTlkODMzYmFmZjVlZjFmNDMy
MjJhYWE5ZmQwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRp
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcu
aCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAt
MTA0LDE5ICsxMDUsMjggQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiBhLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIGIpCiAgICAgcmV0dXJuIGNvbXBhcmVQb3Np
dGlvbnMoYS5kZWVwRXF1aXZhbGVudCgpLCBiLmRlZXBFcXVpdmFsZW50KCkpOwogfQogCi1Ob2Rl
KiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK2Jvb2wgbm9k
ZUlzRWRpdGFibGVGb3JSdWxlKE5vZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSBydWxlKQoreworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KQor
ICAgICAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgaWYgKHJ1bGUg
PT0gQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJl
bmRlcmVySXNBWEVkaXRhYmxlKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK05vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFZGl0aW5nQm91bmRhcnlD
cm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBOb2RlKiBub2RlID0gcG9zaXRpb24uZGVwcmVjYXRl
ZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgICAgICAKLSAg
ICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uKTsK
KyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9u
LCBydWxlKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4gMDsKICAgICAK
ICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYg
KG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9kZUlzRWRpdGFibGVG
b3JSdWxlKG5vZGUsIHJ1bGUpKQogICAgICAgICAgICAgaGlnaGVzdFJvb3QgPSBub2RlOwogICAg
ICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgICAgIGJyZWFrOwpA
QCAtMTI2LDYgKzEzNiwxOCBAQCBOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0
aW9uJiBwb3NpdGlvbikKICAgICByZXR1cm4gaGlnaGVzdFJvb3Q7CiB9CiAKK05vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhFZGl0aW5nKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlv
bikKK3sKKyAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSA9IENhbm5vdENyb3Nz
RWRpdGluZ0JvdW5kYXJ5OworICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5h
YmxlZCgpICYmIHBvc2l0aW9uLmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKQorICAg
ICAgICAmJiBwb3NpdGlvbi5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmhhc0FYRWRpdGlu
Z0VsZW1lbnRzKCkpIHsKKyAgICAgICAgcnVsZSA9IENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRh
cnk7CisgICAgfQorCisgICAgcmV0dXJuIGhpZ2hlc3RFZGl0YWJsZVJvb3QocG9zaXRpb24sIHJ1
bGUpOworfQorCisKIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkKIHsK
ICAgICBpZiAoIW5vZGUpCkBAIC0xNDMsNyArMTY1LDcgQEAgTm9kZSogbG93ZXN0RWRpdGFibGVB
bmNlc3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQogCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkK
IHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkK
QEAgLTE1Miw3ICsxNzQsNyBAQCBib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlv
biYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1Rh
YmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0
dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlSXNFZGl0YWJs
ZUZvclJ1bGUobm9kZSwgcnVsZSk7CiB9CiAKIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQo
Y29uc3QgUG9zaXRpb24mIHBvcykKQEAgLTE3NCw3ICsxOTYsNyBAQCBib29sIGlzUmljaGx5RWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICByZXR1cm4gbm9kZS0+cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKCk7CiB9CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mIHAsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewog
ICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0x
ODMsNyArMjA1LDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+
aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAg
IHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisgICAgcmV0dXJuIG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQocnVsZSk7CiB9CiAKIC8vIEZpbmRzIHRoZSBlbmNsb3NpbmcgZWxl
bWVudCB1bnRpbCB3aGljaCB0aGUgdHJlZSBjYW4gYmUgc3BsaXQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmgKaW5kZXggNTFiMGRhOGM0ODI5OTg3MmU4NjNiNjEyNjk3ZmY2MTFjN2Y5
MmY4Ni4uOWM3MjdhNWRiOGNiOGQ2YmIxMWJlMzBjZjYyYzQ4NDQyZjQ4YTQ2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBWaXNpYmxl
U2VsZWN0aW9uOwogLy8gRnVuY3Rpb25zIHJldHVybmluZyBOb2RlCiAKIE5vZGUqIGhpZ2hlc3RB
bmNlc3RvcihOb2RlKik7Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9u
Jik7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOworTm9kZSog
aGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcoY29uc3QgUG9zaXRpb24mKTsK
IE5vZGUqIGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAo
Km5vZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLAogICAgIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5n
UnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LCBOb2RlKiBzdGF5V2l0aGluID0gMCk7
CiBOb2RlKiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqKTsKQEAgLTc4LDYgKzc5
LDcgQEAgaW50IGNhcmV0TWluT2Zmc2V0KGNvbnN0IE5vZGUqKTsKIGludCBjYXJldE1heE9mZnNl
dChjb25zdCBOb2RlKik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIE5vZGUKK2Jvb2wgbm9k
ZUlzRWRpdGFibGVGb3JSdWxlKE5vZGUqLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUpOwog
CiAvLyBGSVhNRTogZWRpdGluZ0lnbm9yZXNDb250ZW50LCBjYW5IYXZlQ2hpbGRyZW5Gb3JFZGl0
aW5nLCBhbmQgaXNBdG9taWNOb2RlCiAvLyBzaG91bGQgYmUgcmVuYW1lZCB0byByZWZsZWN0IGl0
cyB1c2FnZS4KQEAgLTE1MCw3ICsxNTIsNyBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQ
b3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBv
c2l0aW9uCiAgICAgCi1ib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwor
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0aW5nQm91bmRhcnlD
cm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7CiBib29sIGlzUmljaGx5
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBpc0ZpcnN0VmlzaWJsZVBv
c2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBpc0xhc3RWaXNp
YmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CkBAIC0yMjAsNyAr
MjIyLDcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVu
dCosIFBhc3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHRhYlRleHQpOwogUGFz
c1JlZlB0cjxFbGVtZW50PiBjcmVhdGVCbG9ja1BsYWNlaG9sZGVyRWxlbWVudChEb2N1bWVudCop
OwogCi1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwor
RWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0aW5n
Qm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7CiBFbGVt
ZW50KiB1bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAog
Ly8gQm9vbGVhbiBmdW5jdGlvbnMgb24gRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlz
aWJsZV91bml0cy5jcHAKaW5kZXggYjM3Mjk1NmVmMTRjYzQ2M2Q4NjA2ODE5NzdhMDQyMzE4MGFk
OTA2MC4uNzliYmVlYzk3YTViNzVhMWMxMGU4YzI5NTA4OTNjOThmMmY0ZmI1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBi
b29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZp
cnN0IGxlYWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMgdGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9k
ZS4KLXN0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5v
ZGUpCitzdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBu
b2RlLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSA9IENhbm5vdENyb3NzRWRpdGlu
Z0JvdW5kYXJ5KQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFi
bGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1
bGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgd2hpbGUg
KG4pIHsKLSAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQor
ICAgICAgICBpZiAoZWRpdGFibGUgPT0gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG4sIHJ1bGUpKQog
ICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5wcmV2aW91c0xlYWZOb2RlKCk7
CiAgICAgfQpAQCAtNTUzLDExICs1NTMsMTEgQEAgc3RhdGljIGlubGluZSBJbnRQb2ludCBhYnNv
bHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQb2ludEluQmxvY2soUm9vdElubGluZUIKICAg
ICByZXR1cm4gSW50UG9pbnQocm9vdC0+c2VsZWN0aW9uVG9wKCksIGxpbmVEaXJlY3Rpb25Qb2lu
dCAtIGFic29sdXRlQmxvY2tQb2ludC55KCkpOwogfQogCi1WaXNpYmxlUG9zaXRpb24gcHJldmlv
dXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQpCitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewogICAgIFBvc2l0
aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2Rl
ID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVk
aXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJv
b3RSZXNwZWN0aW5nQVhFZGl0aW5nKHApOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJu
IFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODQsMTEgQEAgVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJhY2sgdG8gcHJldmlvdXMg
Y29udGFpbmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRpdGFibGUKICAgICAgICAg
Ly8gYmxvY2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBpbiB0aGF0IGJsb2NrLgog
ICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5k
ZXJlcihub2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KG5vZGUsIHJ1bGUpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gcHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91
c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwogICAgICAgICB3aGlsZSAobikgewot
ICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZv
cmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFi
bGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyhmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikp
ICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9z
aXRpb24gcG9zID0gbi0+aGFzVGFnTmFtZShiclRhZykgPyBwb3NpdGlvbkJlZm9yZU5vZGUobikg
OiBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNYXhPZmZzZXQobikpOwogICAg
ICAgICAgICAgaWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC02MDEsNyArNjAxLDcgQEAgVmlz
aWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
dmlzaWJsZVBvc2l0aW9uLCBpbnQKIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9z
aXRpb24ocG9zLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBw
cmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZp
b3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgcnVsZSk7CiAgICAgICAgIH0KICAgICB9CiAg
ICAgCkBAIC02MTgsNyArNjE4LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAvLyBD
b3VsZCBub3QgZmluZCBhIHByZXZpb3VzIGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5
IGJlIG9uIHRoZSBmaXJzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBj
b250ZW50IGluIHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8g
dG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVt
ZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVt
ZW50KCkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50
KiByb290RWxlbWVudCA9IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKSA/IG5vZGUt
PnJvb3RFZGl0YWJsZUVsZW1lbnQocnVsZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0aW9uSW5Ob2Rl
KHJvb3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CkBAIC02MzgsMjYgKzYzOCwyNyBAQCBzdGF0aWMg
Tm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIGludCBvZmZzZXQp
CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxp
dHkoTm9kZSogbm9kZSwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUgPSBDYW5ub3RD
cm9zc0VkaXRpbmdCb3VuZGFyeSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAw
OwogICAgIAotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsK
KyAgICBib29sIGVkaXRhYmxlID0gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUpOwog
ICAgIE5vZGUqIG4gPSBub2RlLT5uZXh0TGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAg
ICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlm
IChlZGl0YWJsZSA9PSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobiwgcnVsZSkpCiAgICAgICAgICAg
ICByZXR1cm4gbjsKICAgICAgICAgbiA9IG4tPm5leHRMZWFmTm9kZSgpOwogICAgIH0KICAgICBy
ZXR1cm4gMDsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpCitW
aXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZp
c2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jv
c3NpbmdSdWxlIHJ1bGUpCiB7CisgICAgLy8gVE9ETzogcHVsbCBvdXQgY29kZSB0aGF0IGlzIGNv
bW1vbiBiZXR3ZWVuIHRoaXMgYW5kIHByZXZpb3VzTGluZVBvc2l0aW9uLgogICAgIFBvc2l0aW9u
IHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2RlID0g
cC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRh
YmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3RS
ZXNwZWN0aW5nQVhFZGl0aW5nKHApOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNjg2LDkgKzY4Nyw5IEBAIFZpc2libGVQb3NpdGlv
biBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9u
LCBpbnQgbGluCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5v
bklubGluZVJlbmRlcmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgICAg
IHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5k
ZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7
CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwog
ICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3Qo
Zmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAg
ICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyhmaXJzdFBvc2l0
aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0
aW9uKG4sIGNhcmV0TWluT2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRh
dGUoKSkgewpAQCAtNzAyLDcgKzcwMyw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAKICAg
ICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5
KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBydWxl
KTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAgLTcxOSw3ICs3MjAsNyBAQCBWaXNpYmxlUG9z
aXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3Np
dGlvbiwgaW50IGxpbgogICAgIC8vIENvdWxkIG5vdCBmaW5kIGEgbmV4dCBsaW5lLiBUaGlzIG1l
YW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgbGFzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8g
dGhlIGVuZCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBt
b3ZlcyB1cwogICAgIC8vIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxl
bWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgp
OworICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUs
IHJ1bGUpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudChydWxlKSA6IG5vZGUtPmRvY3VtZW50
KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJl
dHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQ
b3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0ZDhlMDgzMTUxMWRiZjA0M2EwNDU2NjQ5YzMzOGU4
ZThmNDg4MDEzLi40YThkM2NhYjk4ZWQyMjg0Y2VhMThkMmVmZTVlZDY0ODIzY2IyNWIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaApAQCAtNTQsOCArNTQsOCBAQCBWaXNp
YmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYp
OwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9z
aXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24gZW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlv
biAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxl
UG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7Ci1WaXNpYmxlUG9zaXRpb24gbmV4
dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Q
b2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRpbmdCb3VuZGFyeUNyb3Nz
aW5nUnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKK1Zpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlv
blBvaW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdC
b3VuZGFyeSk7CiBib29sIGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9z
aXRpb24gJik7CiBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiYmU3MTRhYjUyNzAxNDRkM2YxYWY3ZTkzNzA1MzcyYmQ0NmFmNDA3Li5iNzEzM2I0MjZm
YmM3MmE2NzZiYjQ5MTQyZTFjODg1ZmYwN2U3NmU2IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTEtMTAtMzEgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmVwb3J0IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4
dCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5o
dG1sOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1y
ZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0
LWxpbmUtbnVtYmVyLmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTMxICBKb2huIEdyZWdnICA8am9o
bm55Z0Bnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nOyBiaW5kLXNj
cmlwdC10by1yZXNvdXJjZS5odG1sIHRpbWVzIG91dCBvbiBjaHJvbWl1bSBtYWMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1s
aW5lLW51bWJlci5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNl
cnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbAppbmRleCBhNTBmNjM3MjRlMzlhYjE4ZjQ3ZTJl
NTEzM2Y5NDUzYzA0MzViZGI1Li5mYjJkOWM1YTU4MzY4OWM1YjhiYjY5ODcyNzZmMTRlNzJmYzBj
MzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2Vy
dGlvbi1wb2ludC1saW5lLW51bWJlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWwKQEAgLTQsMzkgKzQs
NDEgQEAKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwogPC9zY3Jp
cHQ+CiA8Ym9keT4KLSAgICAKICAgICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgIAogICAg
IDx0ZXh0YXJlYSBuYW1lPSJhcmVhMSIgaWQ9ImFyZWExIiByb3dzPSI1IiBjb2xzPSI0MCI+CiBs
aW5lIDEKIGxpbmUgMgogbGluZSAzCiAgICAgPC90ZXh0YXJlYT4KIAotICAgIDx0ZXh0YXJlYSBu
YW1lPSJhcmVhMiIgaWQ9ImFyZWEyIiByb3dzPSI1IiBjb2xzPSI0MCI+PC90ZXh0YXJlYT4KLSAg
ICAgCisgICAgPHRleHRhcmVhIG5hbWU9ImFyZWEyIiBpZD0iYXJlYTIiIHJvd3M9IjUiIGNvbHM9
IjQwIj4KK2xpbmUgMQorPC90ZXh0YXJlYT4KKwogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlmICh3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIHZhciByZXN1bHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CiAKICAgICAgICAgICAgIHZhciBh
cmVhMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmVhMSIpOwogICAgICAgICAgICAgYXJl
YTEuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciBhcmVhMUFYVUlFbGVtZW50ID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAKICAgICAgICAgICAgIGZvciAodmFyIGsg
PSAwOyBrIDwgMzsgaysrKSB7CiAgICAgICAgICAgICAgICAgYXJlYTEuc2VsZWN0aW9uU3RhcnQg
PSAoayo3KTsKICAgICAgICAgICAgICAgICBhcmVhMS5zZWxlY3Rpb25FbmQgPSAoayo3KTsKLSAg
ICAgICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcjsgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9p
bnRMaW5lTnVtYmVyOwogICAgICAgICAgICAgICAgIGlmIChsaW5lTnVtYmVyID09IGspIHsKLSAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExp
bmUgTnVtYmVyOiBQYXNzIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51
bWJlciArICJdXG4iOyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4
dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBQYXNzIFsiICsgYXJlYTEuc2VsZWN0
aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVy
VGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBGYWlsIFsiICsgYXJlYTEuc2Vs
ZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOyAgICAgICAKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVt
YmVyOiBGYWlsIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciAr
ICJdXG4iOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
dmFyIGFyZWEyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyZWEyIik7CiAgICAgICAgICAg
ICBhcmVhMi5mb2N1cygpOwotICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIKKyAg
ICAgICAgICAgIGFyZWExLnNlbGVjdGlvblN0YXJ0ID0gMDsKKyAgICAgICAgICAgIHZhciBsaW5l
TnVtYmVyID0gYXJlYTFBWFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7CiAgICAg
ICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJOb3QgZm9jdXNlZCBvbiB0ZXh0IGFyZWEgbGlu
ZSBudW1iZXI6ICIgKyBsaW5lTnVtYmVyICsgIlxuIjsKICAgICAgICAgfQogICAgIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4
dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1j
b3JyZWN0LWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjVmOGVlMjMyOTA1
OWU2MzAwYzZlYjFjMWYwOWQ0MzMzOWRiMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVj
dC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyB0
aGF0IG5vbi1uYXRpdmUgdGV4dGJveGVzIHJlcG9ydCB0aGUgY29ycmVjdCBsaW5lIG51bWJlci4K
KworQWRkaW5nIHNldmVyYWwgcGFyYWdyYXBocyBhYm92ZSB0aGUgdGV4dGJveCBzaG91bGRuJ3Qg
Y2hhbmdlIHRoZSBsaW5lIG51bWJlciByZXBvcnRlZC4KKworU29tZSB0ZXh0IGluIGEgdGV4dGJv
eC4KK1BBU1MgdGV4dGJveEF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9s
ZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1i
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMDk1Yzc3MmExOGNlYjcyODZlNTMyMGY3ZjdlNTIwMDgwYWU1
M2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sCkBAIC0w
LDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQz4KKzxodG1sIGlkPSJodG1sIj4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3RzIHRoYXQgbm9uLW5hdGl2ZSB0ZXh0Ym94ZXMgcmVwb3J0IHRoZSBjb3JyZWN0IGxpbmUg
bnVtYmVyLgorPHA+QWRkaW5nIHNldmVyYWwgcGFyYWdyYXBocyBhYm92ZSB0aGUgdGV4dGJveCBz
aG91bGRuJ3QgY2hhbmdlIHRoZSBsaW5lIG51bWJlciByZXBvcnRlZC4KKzxkaXYgcm9sZT0idGV4
dGJveCIgaWQ9ImFyaWFUZXh0Qm94IiBhcmlhLW11bHRpbGluZT0iZmFsc2UiIHRhYmluZGV4PSIw
Ij5Tb21lIHRleHQgaW4gYSB0ZXh0Ym94LjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYgd2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImFyaWFUZXh0Qm94Iik7CisgICAgICAgIGFyaWFUZXh0Qm94LmZv
Y3VzKCk7CisgICAgICAgIHZhciB0ZXh0Ym94QXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgc2hvdWxkQmUoInRleHRib3hBeEVsZW1l
bnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsKKyAgICB9CisKKyAgICBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113268</attachid>
            <date>2011-11-01 17:51:04 -0700</date>
            <delta_ts>2011-11-09 18:19:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111102115101.patch</filename>
            <type>text/plain</type>
            <size>36237</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwMDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YTAyNDgyODliNDhmMDdh
ZDlhMGRhZjQ2ODE0MzM3OWZiYzhjNGQyLi5kNzFjY2ZhMDczMGI2Yjg3MWQ2YjMzNWEyOTY4YThi
NmMxYzA0NzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTEtMTEtMDEgIEFsaWNl
IEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJl
Y3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51
bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6Omhhc0FYRWRpdGluZ0VsZW1lbnRzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNBWEVkaXRhYmxlKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om1vZGlmeSk6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JB
ZnRlcik6CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlZpc2libGVQb3NpdGlvbjo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub2RlSXNFZGl0YWJs
ZUZvclJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6CisgICAg
ICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0VkaXRhYmxlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
ZWRpdGFibGVSb290Rm9yUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcu
aDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpw
cmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisgICAg
ICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTEtMDEgIFhpYW9tZWkgSmkg
IDx4amlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlZmFjdG9yOiBjaGFuZ2UgU2Nyb2xsYWJs
ZTo6bV9zY3JvbGxPcmlnaW4gZnJvbSBwcm90ZWN0ZWQgdG8gcHJpdmF0ZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGMyNGJkM2JmZDlh
NjM3ZjlhNTE0NDhmNDY1NzA4OTExZWZmNTYyZTcuLmVlNmM0M2Y5Yjg2MjI3YmJjNjY3ZDVlODdm
ZDZiMWE0ZGM1NTBiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcApAQCAtMjUzLDcgKzI1Myw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFY
T2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFdpZGdldCogd2lkZ2V0KQogCiAgICAgaWYgKEFjY2Vz
c2liaWxpdHlPYmplY3QqIG9iaiA9IGdldCh3aWRnZXQpKQogICAgICAgICByZXR1cm4gb2JqOwot
ICAgIAorCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG5ld09iaiA9IDA7CiAgICAg
aWYgKHdpZGdldC0+aXNGcmFtZVZpZXcoKSkKICAgICAgICAgbmV3T2JqID0gQWNjZXNzaWJpbGl0
eVNjcm9sbFZpZXc6OmNyZWF0ZShzdGF0aWNfY2FzdDxTY3JvbGxWaWV3Kj4od2lkZ2V0KSk7CkBA
IC0yNzcsNiArMjc3LDggQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0
T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG9iajsKIAog
ICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdPYmogPSBjcmVhdGVGcm9tUmVuZGVy
ZXIocmVuZGVyZXIpOworICAgIGlmIChuZXdPYmotPmlzQVJJQVRleHRDb250cm9sKCkpCisgICAg
ICAgIG1faGFzQVhFZGl0aW5nRWxlbWVudHMgPSB0cnVlOwogCiAgICAgZ2V0QVhJRChuZXdPYmou
Z2V0KCkpOwogCkBAIC02NDMsNSArNjQ1LDQ0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dE1h
cmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJECiAg
ICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworYm9vbCBB
WE9iamVjdENhY2hlOjpub2RlSXNBWEVkaXRhYmxlKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAg
aWYgKHJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUobm9kZSkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCitjb25zdCBFbGVtZW50KiBBWE9iamVjdENh
Y2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKGNvbnN0IE5vZGUqIG5vZGUpCit7Cisg
ICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gMDsKKyAgICBjb25zdCBFbGVtZW50KiByb290RWRp
dGFibGVFbGVtZW50ID0gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworCisgICAgY29uc3Qg
RWxlbWVudCogZSA9IG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5v
ZGUtPnBhcmVudEVsZW1lbnQoKTsKKyAgICBmb3IgKCA7IGUgJiYgZSAhPSByb290RWRpdGFibGVF
bGVtZW50OyBlID0gZS0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgIGlmIChub2RlSXNUZXh0
Q29udHJvbChlKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGU7CisgICAgICAgIGlmIChlLT5oYXNU
YWdOYW1lKGJvZHlUYWcpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKHJl
c3VsdCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHJldHVybiByb290RWRpdGFibGVF
bGVtZW50OworfQorCitib29sIEFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKGNvbnN0
IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVjdEZvck5vZGUgPSBnZXRPckNy
ZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKKyAgICBpZiAoIWF4T2JqZWN0Rm9yTm9kZSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGF4T2JqZWN0Rm9yTm9kZS0+aXNUZXh0Q29u
dHJvbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDI3Nzg5ZmJiOGQyMzRhNjgzNmVkMGVl
NzlmM2YxMjAyMmZlOTNjNzYuLjZiNjljODg2MjFjNWJiMDA4MWE1NjNkMDk1NGU5MmMzNTRmZDNi
YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBA
IC0xMDQsNiArMTA0LDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3Np
YmlsaXR5T2JqZWN0Kik7CiAgICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3QgeyByZXR1
cm4gbV9pZHNJblVzZS5jb250YWlucyhpZCk7IH0KKworICAgIC8vIEVsZW1lbnRzIHdoaWNoIGFj
dCBhcyBlZGl0YWJsZSB0ZXh0IG5lZWQgdG8gYmUgdHJlYXRlZCBzcGVjaWFsbHkgYnkgc29tZSBu
b24tQVggY29kZS4KKyAgICBib29sIGhhc0FYRWRpdGluZ0VsZW1lbnRzKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNBWEVkaXRpbmdFbGVtZW50czsgfQorICAgIGNvbnN0IEVsZW1lbnQqIHJvb3RBWEVk
aXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzQVhFZGl0
YWJsZShjb25zdCBOb2RlKik7CisgICAgYm9vbCBub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2Rl
Kik7CisKICAgICBBWElEIHBsYXRmb3JtR2VuZXJhdGVBWElEKCkgY29uc3Q7CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqZWN0RnJvbUFYSUQoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9v
YmplY3RzLmdldChpZCkuZ2V0KCk7IH0KIApAQCAtMTYzLDYgKzE3MCw3IEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIGJvb2wgZ0FjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VFbmFibGVk
OwogICAgIAogICAgIEhhc2hTZXQ8QVhJRD4gbV9pZHNJblVzZTsKKyAgICBib29sIG1faGFzQVhF
ZGl0aW5nRWxlbWVudHM7CiAgICAgCiAgICAgVGltZXI8QVhPYmplY3RDYWNoZT4gbV9ub3RpZmlj
YXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHBhaXI8UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3Q+LCBBWE5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNhdGlvbnNUb1Bvc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRl
eCAxNWE2OTFjZmJkZTliNGU1YzNiZDQzMTUxNDRlMzI4OWRmMGIwNjJhLi4zNTMxM2ZkMjVlNTQz
ZTU0NDYzMjQ0MzM4ZDMyZjM1MTdlZmIxZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTk0MiwyMSArOTQyLDI1
IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAgICAgaWYgKHZpc2libGVQb3MuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgdW5zaWduZWQgbGluZUNvdW50ID0gMDsKLSAgICBW
aXNpYmxlUG9zaXRpb24gY3VycmVudFZpc2libGVQb3MgPSB2aXNpYmxlUG9zOwotICAgIFZpc2li
bGVQb3NpdGlvbiBzYXZlZFZpc2libGVQb3M7CisgICAgLy8gaWYgdGhlIHBvc2l0aW9uIGlzIG5v
dCBpbiB0aGUgc2FtZSBlZGl0YWJsZSByZWdpb24gYXMgdGhpcyBBWCBvYmplY3QsIHJldHVybiAt
MQorICAgIE5vZGUqIGNvbnRhaW5lck5vZGUgPSB2aXNpYmxlUG9zLmRlZXBFcXVpdmFsZW50KCku
Y29udGFpbmVyTm9kZSgpOworICAgIGlmICghY29udGFpbmVyTm9kZS0+Y29udGFpbnNJbmNsdWRp
bmdTaGFkb3dET00obm9kZSgpKSAmJiAhbm9kZSgpLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RP
TShjb250YWluZXJOb2RlKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaW50IGxpbmVDb3Vu
dCA9IC0xOworICAgIFZpc2libGVQb3NpdGlvbiBjdXJyZW50VmlzaWJsZVBvcyA9IHZpc2libGVQ
b3MsIHNhdmVkVmlzaWJsZVBvczsKIAogICAgIC8vIG1vdmUgdXAgdW50aWwgd2UgZ2V0IHRvIHRo
ZSB0b3AKICAgICAvLyBGSVhNRTogVGhpcyBvbmx5IHRha2VzIHVzIHRvIHRoZSB0b3Agb2YgdGhl
IHJvb3RFZGl0YWJsZUVsZW1lbnQsIG5vdCB0aGUgdG9wIG9mIHRoZQogICAgIC8vIHRvcCBkb2N1
bWVudC4KLSAgICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxsKCkgJiYgIShpblNh
bWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSkgewotICAgICAgICAr
K2xpbmVDb3VudDsKKyAgICBkbyB7CiAgICAgICAgIHNhdmVkVmlzaWJsZVBvcyA9IGN1cnJlbnRW
aXNpYmxlUG9zOwotICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2
aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCk7CisgICAgICAgIFZpc2libGVQ
b3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNp
YmxlUG9zLCAwLCBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5KTsKICAgICAgICAgY3VycmVu
dFZpc2libGVQb3MgPSBwcmV2VmlzaWJsZVBvczsKLSAgICB9CisgICAgICAgICsrbGluZUNvdW50
OworICAgIH0gIHdoaWxlIChjdXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2Ft
ZUxpbmUoY3VycmVudFZpc2libGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKTsKIAotICAgIHJldHVy
biBsaW5lQ291bnQgLSAxOworICAgIHJldHVybiBsaW5lQ291bnQ7CiB9CiAKIC8vIE5PVEU6IENv
bnNpZGVyIHByb3ZpZGluZyB0aGlzIHV0aWxpdHkgbWV0aG9kIGFzIEFYIEFQSQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKaW5kZXggYjQwMmVhZDc2Y2I5MDMzZDc3YjZkM2Q2YjZmZDNlZWQxMGJjY2YyNS4u
NDAwOTBkNGQyYTIyMWYwZTQxMmFkZGMzMWFkY2MxNzJlOTYyZGFmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCkBAIC0yNTIzLDcgKzI1MjMsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogICAg
ICAgICByZXR1cm4gMDsKICAgICAKICAgICBQb3NpdGlvbiBpbmRleFBvc2l0aW9uID0gcG9zLmRl
ZXBFcXVpdmFsZW50KCk7Ci0gICAgaWYgKGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgcm9vdEVk
aXRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGluZGV4UG9zaXRpb24pICE9IG5vZGUpCisgICAgaWYg
KGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgaGlnaGVzdEVkaXRhYmxlUm9vdChpbmRleFBvc2l0
aW9uLCBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5KSAhPSBub2RlKQogICAgICAgICByZXR1
cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTI1NDAsMzggKzI1NDAs
NiBAQCBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogI2VuZGlmCiB9CiAKLUVsZW1lbnQqIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OnJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihjb25z
dCBQb3NpdGlvbiYgcG9zaXRpb24pIGNvbnN0Ci17Ci0gICAgLy8gRmluZCB0aGUgcm9vdCBlZGl0
YWJsZSBvciBwc2V1ZG8tZWRpdGFibGUgKGkuZS4gaGF2aW5nIGFuIGVkaXRhYmxlIEFSSUEgcm9s
ZSkgZWxlbWVudC4KLSAgICBFbGVtZW50KiByZXN1bHQgPSAwOwotICAgIAotICAgIEVsZW1lbnQq
IHJvb3RFZGl0YWJsZUVsZW1lbnQgPSBwb3NpdGlvbi5yb290RWRpdGFibGVFbGVtZW50KCk7Ci0K
LSAgICBmb3IgKEVsZW1lbnQqIGUgPSBwb3NpdGlvbi5lbGVtZW50KCk7IGUgJiYgZSAhPSByb290
RWRpdGFibGVFbGVtZW50OyBlID0gZS0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAgIGlmIChu
b2RlSXNUZXh0Q29udHJvbChlKSkKLSAgICAgICAgICAgIHJlc3VsdCA9IGU7Ci0gICAgICAgIGlm
IChlLT5oYXNUYWdOYW1lKGJvZHlUYWcpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0g
ICAgaWYgKHJlc3VsdCkKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLQotICAgIHJldHVybiByb290
RWRpdGFibGVFbGVtZW50OwotfQotCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Om5v
ZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUpIGNvbnN0Ci17Ci0gICAgaWYgKCFub2Rl
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBheE9iamVjdEZvck5vZGUgPSBheE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKG5vZGUtPnJl
bmRlcmVyKCkpOwotICAgIGlmICghYXhPYmplY3RGb3JOb2RlKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICByZXR1cm4gYXhPYmplY3RGb3JOb2RlLT5pc1RleHRDb250cm9sKCk7Ci19Ci0K
IExheW91dFJlY3QgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Ym91bmRzRm9yVmlzaWJsZVBv
c2l0aW9uUmFuZ2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uUmFuZ2UmIHZpc2libGVQb3NpdGlvblJh
bmdlKSBjb25zdAogewogICAgIGlmICh2aXNpYmxlUG9zaXRpb25SYW5nZS5pc051bGwoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAppbmRleCBiYWRkMDdiMjljMTM4N2VjZjJmNzliNDZiZmVhNDVlMzlmYmNjMGE5
Li4yODYwYjg4OWQzMGJlNGNlN2JjZjRiMWYyYmU0YWY4OTlmZDFmM2EzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
Y3BwCkBAIC03OTgsNiArNzk4LDEyIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKEVk
aXRhYmxlTGV2ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKICAgICAgICAgaWYgKChub2RlLT5pc0hU
TUxFbGVtZW50KCkgfHwgbm9kZS0+aXNEb2N1bWVudE5vZGUoKSkgJiYgbm9kZS0+cmVuZGVyZXIo
KSkgewogICAgICAgICAgICAgc3dpdGNoIChub2RlLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51c2Vy
TW9kaWZ5KCkpIHsKICAgICAgICAgICAgIGNhc2UgUkVBRF9PTkxZOgorICAgICAgICAgICAgICAg
IGlmIChlZGl0YWJsZUxldmVsID09IEFYRWRpdGFibGUpIHsKKyAgICAgICAgICAgICAgICAgICAg
QVNTRVJUKGRvY3VtZW50KCkpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQoQVhPYmplY3RD
YWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VS
VChkb2N1bWVudCgpLT5heE9iamVjdENhY2hlRXhpc3RzKCkpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5ub2RlSXNBWEVkaXRhYmxlKHRo
aXMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgICAgICBjYXNlIFJFQURfV1JJVEU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC0xNjQwLDYgKzE2NDYsMTkgQEAgRWxlbWVudCAqTm9kZTo6ZW5jbG9zaW5nQmxvY2tGbG93
RWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK0VsZW1lbnQqIE5vZGU6OnJvb3RF
ZGl0YWJsZUVsZW1lbnQoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0Cit7
CisgICAgaWYgKHJ1bGUgPT0gQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeSAmJiBkb2N1bWVu
dCgpLT5heE9iamVjdENhY2hlKCktPmhhc0FYRWRpdGluZ0VsZW1lbnRzKCkpCisgICAgICAgIHJl
dHVybiByb290QVhFZGl0YWJsZUVsZW1lbnQoKTsKKworICAgIHJldHVybiByb290RWRpdGFibGVF
bGVtZW50KCk7Cit9CisKK0VsZW1lbnQqIE5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8RWxlbWVudCo+KGRvY3VtZW50KCktPmF4T2Jq
ZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFibGVFbGVtZW50Rm9yTm9kZSh0aGlzKSk7Cit9CisKIEVs
ZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAogewogICAgIEVsZW1lbnQq
IHJlc3VsdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBjOGExMzE5NzBjY2MzMGQ1NTczNTA0MjQzN2Vj
YWM2NTEwZDk0NTVkLi42MzUxODliNzY3NmNiNjU5NTA4Nzg2ZDFhNWU4YmUyMmM4MjI0ZjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpZm5kZWYgTm9kZV9oCiAjZGVmaW5lIE5v
ZGVfaAogCisjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCkBA
IC0yNjgsOSArMjY5LDEwIEBAIHB1YmxpYzoKIAogICAgIC8vIGVuY2xvc2luZ0Jsb2NrRmxvd0Vs
ZW1lbnQoKSBpcyBkZXByZWNhdGVkLiBVc2UgZW5jbG9zaW5nQmxvY2sgaW5zdGVhZC4KICAgICBF
bGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3Q7Ci0gICAgCiAgICAgRWxl
bWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwotICAgIAorICAgIEVsZW1lbnQqIHJv
b3RFZGl0YWJsZUVsZW1lbnQoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlKSBjb25zdDsKKyAg
ICBFbGVtZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKKwogICAgIGJvb2wgaW5T
YW1lQ29udGFpbmluZ0Jsb2NrRmxvd0VsZW1lbnQoTm9kZSopOwogCiAgICAgLy8gQ2FsbGVkIGJ5
IHRoZSBwYXJzZXIgd2hlbiB0aGlzIGVsZW1lbnQncyBjbG9zZSB0YWcgaXMgcmVhY2hlZCwKQEAg
LTM0NSw2ICszNDcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwog
ICAgIGJvb2wgaXNDb250ZW50UmljaGx5RWRpdGFibGUoKTsKIAorICAgIGJvb2wgcmVuZGVyZXJJ
c0FYRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoQVhFZGl0YWJs
ZSk7IH0KICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRl
cmVySXNFZGl0YWJsZShFZGl0YWJsZSk7IH0KICAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0
YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7
IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKQEAgLTY5Niw3ICs2
OTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0RG9jdW1lbnRSZWN1cnNpdmVseShEb2N1bWVu
dCopOwogICAgIHZvaWQgc2V0RG9jdW1lbnQoRG9jdW1lbnQqKTsKIAotICAgIGVudW0gRWRpdGFi
bGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9OworICAgIGVudW0gRWRpdGFibGVM
ZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSwgQVhFZGl0YWJsZSB9OwogICAgIGJvb2wg
cmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRT
dHlsZUNoYW5nZShTdHlsZUNoYW5nZVR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z0JvdW5kYXJ5LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2NGJhOGRmYTBjMGVkNWE4
NC4uYjgyYWY1YjI3M2VjZTYxYmU3ZTEyNWFmMTgwZjEzZWIyNGQ0MTdlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGVudW0gRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHsKICAgICBDYW5D
cm9zc0VkaXRpbmdCb3VuZGFyeSwKICAgICBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwKKyAg
ICBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5LAogICAgIENhblNraXBPdmVyRWRpdGluZ0Jv
dW5kYXJ5CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmlu
ZGV4IGJjZjdkZjNkZTMxMzc4ODMyY2JiYjRmYWFlNWI3ODcxYzYzZWJkYWYuLmVmMThmODA1MjVk
MTljN2E5NzZiYjQzNTM5YTM3ZjM0YTRiMTQ5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0xMDE2LDcgKzEwMTYsMTEgQEAgYm9vbCBGcmFtZVNlbGVj
dGlvbjo6bW9kaWZ5KEVBbHRlcmF0aW9uIGFsdGVyLCB1bnNpZ25lZCB2ZXJ0aWNhbERpc3RhbmNl
LCBWZXJ0aWMKICAgICBWaXNpYmxlUG9zaXRpb24gcmVzdWx0OwogICAgIFZpc2libGVQb3NpdGlv
biBuZXh0OwogICAgIGZvciAoVmlzaWJsZVBvc2l0aW9uIHAgPSBwb3M7IDsgcCA9IG5leHQpIHsK
LSAgICAgICAgbmV4dCA9IChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uVXAgPyBwcmV2aW91c0xpbmVQ
b3NpdGlvbiA6IG5leHRMaW5lUG9zaXRpb24pKHAsIHhQb3MpOworICAgICAgICBpZiAoZGlyZWN0
aW9uID09IERpcmVjdGlvblVwKQorICAgICAgICAgICAgbmV4dCA9IHByZXZpb3VzTGluZVBvc2l0
aW9uKHAsIHhQb3MpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBuZXh0ID0gbmV4dExpbmVQ
b3NpdGlvbihwLCB4UG9zKTsKKwogICAgICAgICBpZiAobmV4dC5pc051bGwoKSB8fCBuZXh0ID09
IHApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgTGF5b3V0VW5pdCBuZXh0WTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCA4MTE2OGQ3Yjc0MTcz
MTU1ZWRiOTBjNTVjNGUxOGRkZGU1MmJhZGFkLi5iNzVhMjRhYTZmYmViYWJjYWQ5MTkyZjRiMGY5
YTAxNzJjM2E2ZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQ
b3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24u
Y3BwCkBAIC00NDEsMTkgKzQ0MSwxOSBAQCBWaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9u
Ojpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUoY29uc3QgVmlzaWJsZVBvcwogewogICAg
IGlmIChwb3MuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBwb3M7Ci0gICAgCi0gICAgTm9kZSog
aGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KGRlZXBFcXVpdmFsZW50KCkpOworCisg
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRp
dGluZyhkZWVwRXF1aXZhbGVudCgpKTsKICAgICAKICAgICAvLyBSZXR1cm4gZW1wdHkgcG9zaXRp
b24gaWYgcG9zIGlzIG5vdCBzb21ld2hlcmUgaW5zaWRlIHRoZSBlZGl0YWJsZSByZWdpb24gY29u
dGFpbmluZyB0aGlzIHBvc2l0aW9uCiAgICAgaWYgKGhpZ2hlc3RSb290ICYmICFwb3MuZGVlcEVx
dWl2YWxlbnQoKS5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihoaWdoZXN0Um9vdCkp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKLSAgICAgICAgCisKICAgICAvLyBS
ZXR1cm4gcG9zIGl0c2VsZiBpZiB0aGUgdHdvIGFyZSBmcm9tIHRoZSB2ZXJ5IHNhbWUgZWRpdGFi
bGUgcmVnaW9uLCBvciBib3RoIGFyZSBub24tZWRpdGFibGUKICAgICAvLyBGSVhNRTogSW4gdGhl
IG5vbi1lZGl0YWJsZSBjYXNlLCBqdXN0IGJlY2F1c2UgdGhlIG5ldyBwb3NpdGlvbiBpcyBub24t
ZWRpdGFibGUgZG9lc24ndCBtZWFuIG1vdmVtZW50CiAgICAgLy8gdG8gaXQgaXMgYWxsb3dlZC4g
IFZpc2libGVTZWxlY3Rpb246OmFkanVzdEZvckVkaXRhYmxlQ29udGVudCBoYXMgdGhpcyBwcm9i
bGVtIHRvby4KLSAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChwb3MuZGVlcEVxdWl2YWxlbnQo
KSkgPT0gaGlnaGVzdFJvb3QpCisgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5n
QVhFZGl0aW5nKHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKICAgICAgICAg
cmV0dXJuIHBvczsKLSAgCisKICAgICAvLyBSZXR1cm4gZW1wdHkgcG9zaXRpb24gaWYgdGhpcyBw
b3NpdGlvbiBpcyBub24tZWRpdGFibGUsIGJ1dCBwb3MgaXMgZWRpdGFibGUKICAgICAvLyBGSVhN
RTogTW92ZSB0byB0aGUgcHJldmlvdXMgbm9uLWVkaXRhYmxlIHJlZ2lvbi4KICAgICBpZiAoIWhp
Z2hlc3RSb290KQpAQCAtNDY4LDcgKzQ2OCw3IEBAIFZpc2libGVQb3NpdGlvbiBWaXNpYmxlUG9z
aXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckFmdGVyKGNvbnN0IFZpc2libGVQb3NpCiAg
ICAgaWYgKHBvcy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHBvczsKICAgICAKLSAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QoZGVlcEVxdWl2YWxlbnQoKSk7Cisg
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRp
dGluZyhkZWVwRXF1aXZhbGVudCgpKTsKICAgICAKICAgICAvLyBSZXR1cm4gZW1wdHkgcG9zaXRp
b24gaWYgcG9zIGlzIG5vdCBzb21ld2hlcmUgaW5zaWRlIHRoZSBlZGl0YWJsZSByZWdpb24gY29u
dGFpbmluZyB0aGlzIHBvc2l0aW9uCiAgICAgaWYgKGhpZ2hlc3RSb290ICYmICFwb3MuZGVlcEVx
dWl2YWxlbnQoKS5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihoaWdoZXN0Um9vdCkp
CkBAIC00NzcsNyArNDc3LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6aG9u
b3JFZGl0aW5nQm91bmRhcnlBdE9yQWZ0ZXIoY29uc3QgVmlzaWJsZVBvc2kKICAgICAvLyBSZXR1
cm4gcG9zIGl0c2VsZiBpZiB0aGUgdHdvIGFyZSBmcm9tIHRoZSB2ZXJ5IHNhbWUgZWRpdGFibGUg
cmVnaW9uLCBvciBib3RoIGFyZSBub24tZWRpdGFibGUKICAgICAvLyBGSVhNRTogSW4gdGhlIG5v
bi1lZGl0YWJsZSBjYXNlLCBqdXN0IGJlY2F1c2UgdGhlIG5ldyBwb3NpdGlvbiBpcyBub24tZWRp
dGFibGUgZG9lc24ndCBtZWFuIG1vdmVtZW50CiAgICAgLy8gdG8gaXQgaXMgYWxsb3dlZC4gIFZp
c2libGVTZWxlY3Rpb246OmFkanVzdEZvckVkaXRhYmxlQ29udGVudCBoYXMgdGhpcyBwcm9ibGVt
IHRvby4KLSAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChwb3MuZGVlcEVxdWl2YWxlbnQoKSkg
PT0gaGlnaGVzdFJvb3QpCisgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhF
ZGl0aW5nKHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKICAgICAgICAgcmV0
dXJuIHBvczsKIAogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiB0aGlzIHBvc2l0aW9u
IGlzIG5vbi1lZGl0YWJsZSwgYnV0IHBvcyBpcyBlZGl0YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVBvc2l0aW9uLmgKaW5kZXggMjBlZWU5NGRlMmRiMjJmY2ZjODdlNTUyOGY4NGQx
YTgxOTcwM2RiNS4uNTcyZjc3NjNlOTY5ZTc3MjNkMTIzNzgyMTEzMDY3ZjM1ZGNkYzI3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCkBAIC04MSw2ICs4MSw3IEBA
IHB1YmxpYzoKIAogICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90IGhhbmRsZSBbdGFibGUsIDBd
IGNvcnJlY3RseS4KICAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9kZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQb3NpdGlvbi5kZXByZWNh
dGVkTm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiAwOyB9CisgICAgRWxlbWVudCogcm9v
dEVkaXRhYmxlRWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkgY29uc3Qg
eyByZXR1cm4gbV9kZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQb3NpdGlvbi5kZXBy
ZWNhdGVkTm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpIDogMDsgfTsKICAgICAKICAg
ICB2b2lkIGdldElubGluZUJveEFuZE9mZnNldChJbmxpbmVCb3gqJiBpbmxpbmVCb3gsIGludCYg
Y2FyZXRPZmZzZXQpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5n
LmNwcAppbmRleCBmNzVlYzNkZTNkOWExODk3OTQ1YTNkODU3NzQ0ZmZiMTc0YzczMmNkLi40Yzcw
ZTViNDM1OTE5ZDgzM2JhZmY1ZWYxZjQzMjIyYWFhOWZkMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1
ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAgLTEwNCwxOSArMTA1LDI4IEBAIGludCBjb21wYXJlUG9z
aXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBi
KQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5kZWVw
RXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3Np
dGlvbiYgcG9zaXRpb24pCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShOb2RlKiBub2RlLCBF
ZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKK3sKKyAgICBpZiAocnVsZSA9PSBDYW5u
b3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZSgpOworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkp
CisgICAgICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzQVhFZGl0YWJsZSgpOworICAgIHJldHVy
biB0cnVlOworfQorCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBw
b3NpdGlvbiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgTm9kZSog
bm9kZSA9IHBvc2l0aW9uLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAg
ICByZXR1cm4gMDsKICAgICAgICAgCi0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbihwb3NpdGlvbik7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJs
ZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbiwgcnVsZSk7CiAgICAgaWYgKCFoaWdoZXN0Um9vdCkK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgbm9kZSA9IGhpZ2hlc3RSb290OwogICAgIHdo
aWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAg
ICAgICAgaWYgKG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKSkKICAgICAgICAgICAg
IGhpZ2hlc3RSb290ID0gbm9kZTsKICAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYm9keVRh
ZykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTEyNiw2ICsxMzYsMTggQEAgTm9kZSogaGlnaGVz
dEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgcmV0dXJuIGhpZ2hl
c3RSb290OwogfQogCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGlu
Zyhjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3Np
bmdSdWxlIHJ1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeTsKKyAgICBpZiAoQVhPYmpl
Y3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiBwb3NpdGlvbi5kb2N1bWVudCgpLT5h
eE9iamVjdENhY2hlRXhpc3RzKCkKKyAgICAgICAgJiYgcG9zaXRpb24uZG9jdW1lbnQoKS0+YXhP
YmplY3RDYWNoZSgpLT5oYXNBWEVkaXRpbmdFbGVtZW50cygpKSB7CisgICAgICAgIHJ1bGUgPSBD
YW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5OworICAgIH0KKworICAgIHJldHVybiBoaWdoZXN0
RWRpdGFibGVSb290KHBvc2l0aW9uLCBydWxlKTsKK30KKworCiBOb2RlKiBsb3dlc3RFZGl0YWJs
ZUFuY2VzdG9yKE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2RlKQpAQCAtMTQzLDcgKzE2NSw3
IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkKICAgICByZXR1cm4g
bG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHApCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRl
ZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTc0LDcgQEAgYm9vbCBpc0VkaXRh
YmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkg
JiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFy
ZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsK
KyAgICByZXR1cm4gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUpOwogfQogCiBib29s
IGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0xNzQsNyAr
MTk2LDcgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAp
CiAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpOwogfQogCi1FbGVt
ZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0VsZW1lbnQq
IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0aW5nQm91bmRh
cnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5jb250YWluZXJOb2Rl
KCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTgzLDcgKzIwNSw3IEBAIEVsZW1lbnQqIGVkaXRhYmxl
Um9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJl
cigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUt
PnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVu
dCgpOworICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpOwogfQogCiAv
LyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJl
IHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IDUxYjBkYThjNDgy
OTk4NzJlODYzYjYxMjY5N2ZmNjExYzdmOTJmODYuLjljNzI3YTVkYjhjYjhkNmJiMTFiZTMwY2Y2
MmM0ODQ0MmY0OGE0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0
LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5p
bmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSopOwotTm9kZSogaGlnaGVzdEVk
aXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChj
b25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5vdENyb3Nz
RWRpdGluZ0JvdW5kYXJ5KTsKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhF
ZGl0aW5nKGNvbnN0IFBvc2l0aW9uJik7CiBOb2RlKiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlw
ZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwKICAg
ICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwogTm9kZSogaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1
bmluZyhOb2RlKik7CkBAIC03OCw2ICs3OSw3IEBAIGludCBjYXJldE1pbk9mZnNldChjb25zdCBO
b2RlKik7CiBpbnQgY2FyZXRNYXhPZmZzZXQoY29uc3QgTm9kZSopOwogCiAvLyBib29sZWFuIGZ1
bmN0aW9ucyBvbiBOb2RlCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShOb2RlKiwgRWRpdGlu
Z0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlKTsKIAogLy8gRklYTUU6IGVkaXRpbmdJZ25vcmVzQ29udGVu
dCwgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZywgYW5kIGlzQXRvbWljTm9kZQogLy8gc2hvdWxk
IGJlIHJlbmFtZWQgdG8gcmVmbGVjdCBpdHMgdXNhZ2UuCkBAIC0xNTAsNyArMTUyLDcgQEAgaW50
IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlvbiYpOwogCiAv
LyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlvbgogICAgIAotYm9vbCBpc0VkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBv
c2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5n
Qm91bmRhcnkpOwogYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
KTsKIGJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9z
aXRpb24mKTsKIGJvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25z
dCBQb3NpdGlvbiYpOwpAQCAtMjIwLDcgKzIyMiw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRleHROb2Rl
CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50KiwgY29u
c3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxvY2tQbGFj
ZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jv
c3NFZGl0aW5nQm91bmRhcnkpOwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGIzNzI5NTZlZjE0
Y2M0NjNkODYwNjgxOTc3YTA0MjMxODBhZDkwNjAuLjc5YmJlZWM5N2E1Yjc1YTFjMTBlOGMyOTUw
ODkzYzk4ZjJmNGZiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNw
cApAQCAtNTE4LDEyICs1MTgsMTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnApCiB9CiAKIC8vIFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRo
ZSBzYW1lIGVkaXRhYmlsaXR5IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0
aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldp
dGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxl
IHJ1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkKIHsKLSAgICBib29sIGVkaXRhYmxl
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGVJ
c0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+cHJldmlv
dXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJsZSA9PSBu
LT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG5vZGVJc0Vk
aXRhYmxlRm9yUnVsZShuLCBydWxlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBu
ID0gbi0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIH0KQEAgLTU1MywxMSArNTUzLDExIEBAIHN0
YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9p
bnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAgICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlv
blRvcCgpLCBsaW5lRGlyZWN0aW9uUG9pbnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0K
IAotVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2lu
Z1J1bGUgcnVsZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVp
dmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVz
dFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyhwKTsKICAgICBp
ZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTU4
NCwxMSArNTg0LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgICAgIC8vIE5lZWQg
dG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUgYmxvY2sgaW4gdGhp
cyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRoZSBsYXN0IHJvb3Qg
bGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVuY2xv
c2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAgIE5vZGUqIG4gPSBw
cmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAgICBOb2RlKiBuID0g
cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBydWxlKTsKICAgICAgICAgd2hp
bGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVy
KG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7
CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBydWxl
KTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVS
b290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAg
ICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcoZmlyc3RQ
b3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhhc1RhZ05hbWUoYnJUYWcp
ID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKG4s
IGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUoKSkg
ewpAQCAtNjAxLDcgKzYwMSw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlv
bihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAKICAgICAgICAg
ICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShu
KTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1
bGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOCw3IEBAIFZpc2libGVQ
b3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5lLiBU
aGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAvLyBN
b3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZl
Y3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdyZSBv
bi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgp
ID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1l
bnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlSXNFZGl0YWJsZUZv
clJ1bGUobm9kZSwgcnVsZSkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpIDogbm9k
ZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CiAgICAgaWYgKCFyb290RWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIHJldHVybiBWaXNpYmxlUG9z
aXRpb24oZmlyc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpAQCAt
NjM4LDI2ICs2MzgsMjcgQEAgc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShOb2RlKiBub2RlLCBpbnQgb2Zmc2V0KQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgTm9k
ZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSog
bmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFyeUNy
b3NzaW5nUnVsZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpCiB7CiAgICAgaWYg
KCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxlID0gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGVJc0VkaXRh
YmxlRm9yUnVsZShub2RlLCBydWxlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+bmV4dExlYWZOb2Rl
KCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVy
SXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0gbm9kZUlzRWRpdGFibGVGb3JS
dWxlKG4sIHJ1bGUpKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5uZXh0
TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9u
UG9pbnQsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogeworICAgIC8vIFRPRE86
IHB1bGwgb3V0IGNvZGUgdGhhdCBpcyBjb21tb24gYmV0d2VlbiB0aGlzIGFuZCBwcmV2aW91c0xp
bmVQb3NpdGlvbi4KICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFs
ZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBo
aWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJv
b3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyhwKTsKICAgICBpZiAo
IW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTY4Niw5
ICs2ODcsOSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxl
UG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBOb2RlKiBzdGFydEJs
b2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKICAgICAgICAg
Tm9kZSogbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBwLmRlcHJlY2F0ZWRF
ZGl0aW5nT2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xv
c2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gbmV4dExl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eShuLCBydWxlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAg
IGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkg
IT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3Bl
Y3RpbmdBWEVkaXRpbmcoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0
Um9vdCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9
IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAg
ICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDMsNyBAQCBWaXNp
YmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldp
dGhTYW1lRWRpdGFiaWxpdHkobiwgcnVsZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC03
MTksNyArNzIwLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAvLyBDb3VsZCBub3Qg
ZmluZCBhIG5leHQgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhlIGxh
c3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgaW4gdGhpcyBi
bG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgZW5kIG9mIHRo
ZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVy
ZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5kb2N1
bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5v
ZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1l
bnQocnVsZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAo
IXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dO
U1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0
cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKaW5kZXggNGQ4ZTA4
MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uNGE4ZDNjYWI5OGVkMjI4NGNlYTE4
ZDJlZmU1ZWQ2NDgyM2NiMjViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92
aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRz
LmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRTZW50ZW5jZVBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBWaXNpYmxlUG9zaXRpb24gc3Rh
cnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlzaWJsZVBvc2l0aW9uIGVuZE9m
TGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNM
aW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9p
bnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJsZVBvc2l0aW9uIHByZXZpb3Vz
TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBv
aW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3Vu
ZGFyeSk7CitWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdS
dWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpblNhbWVMaW5lKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmLCBjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlzU3Rh
cnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogYm9vbCBpc0VuZE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24gJik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzczODlhZTc0NDg3MTI1NTY1MWYyZDc4OTVj
MTNjMjMzZDE0ZGFlMi4uMjhjMzZiZWJhNmM2YjE1NDMyODljMjU1MmEyOTNjZWYwNjFkYTZlYSAx
MDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTAxICBBbGljZSBCb3hoYWxsICA8YWJveGhh
bGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3JyZWN0IGxpbmUgbnVtYmVyIGZv
ciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNl
cnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4
dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sOiBBZGRlZC4KKwogMjAx
MS0xMS0wMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEV4cGFuZCBm
YXN0L2RvbS9nZXR0ZXItb24td2luZG93LW9iamVjdDIuaHRtbCB0byB0ZXN0IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgYXMgd2VsbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVt
YmVyLmh0bWwKaW5kZXggYTUwZjYzNzI0ZTM5YWIxOGY0N2UyZTUxMzNmOTQ1M2MwNDM1YmRiNS4u
ZmIyZDljNWE1ODM2ODljNWI4YmI2OTg3Mjc2ZjE0ZTcyZmMwYzMwYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1i
ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlv
bi1wb2ludC1saW5lLW51bWJlci5odG1sCkBAIC00LDM5ICs0LDQxIEBACiAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPGJvZHk+Ci0gICAgCiAg
ICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgICAKICAgICA8dGV4dGFyZWEgbmFtZT0iYXJl
YTEiIGlkPSJhcmVhMSIgcm93cz0iNSIgY29scz0iNDAiPgogbGluZSAxCiBsaW5lIDIKIGxpbmUg
MwogICAgIDwvdGV4dGFyZWE+CiAKLSAgICA8dGV4dGFyZWEgbmFtZT0iYXJlYTIiIGlkPSJhcmVh
MiIgcm93cz0iNSIgY29scz0iNDAiPjwvdGV4dGFyZWE+Ci0gICAgIAorICAgIDx0ZXh0YXJlYSBu
YW1lPSJhcmVhMiIgaWQ9ImFyZWEyIiByb3dzPSI1IiBjb2xzPSI0MCI+CitsaW5lIDEKKzwvdGV4
dGFyZWE+CisKICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7CiAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdCIpOwogCiAgICAgICAgICAgICB2YXIgYXJlYTEgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiYXJlYTEiKTsKICAgICAgICAgICAgIGFyZWExLmZvY3VzKCk7CisgICAgICAg
ICAgICB2YXIgYXJlYTFBWFVJRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50OwogCiAgICAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IDM7IGsrKykgewog
ICAgICAgICAgICAgICAgIGFyZWExLnNlbGVjdGlvblN0YXJ0ID0gKGsqNyk7CiAgICAgICAgICAg
ICAgICAgYXJlYTEuc2VsZWN0aW9uRW5kID0gKGsqNyk7Ci0gICAgICAgICAgICAgICAgdmFyIGxp
bmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pbnNlcnRp
b25Qb2ludExpbmVOdW1iZXI7ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdmFyIGxpbmVO
dW1iZXIgPSBhcmVhMUFYVUlFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcjsKICAgICAg
ICAgICAgICAgICBpZiAobGluZU51bWJlciA9PSBrKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
c3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJlcjogUGFzcyBbIiAr
IGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAiXVxuIjsgICAgICAg
CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAi
KSBMaW5lIE51bWJlcjogUGFzcyBbIiArIGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxp
bmVOdW1iZXIgKyAiXVxuIjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsg
KyAiKSBMaW5lIE51bWJlcjogRmFpbCBbIiArIGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiAr
IGxpbmVOdW1iZXIgKyAiXVxuIjsgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5p
bm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJlcjogRmFpbCBbIiArIGFyZWEx
LnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAiXVxuIjsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZhciBhcmVhMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcmVhMiIpOwogICAgICAgICAgICAgYXJlYTIuZm9jdXMoKTsKLSAg
ICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyCisgICAgICAgICAgICBhcmVhMS5zZWxl
Y3Rpb25TdGFydCA9IDA7CisgICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IGFyZWExQVhVSUVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOwogICAgICAgICAgICAgcmVzdWx0LmlubmVy
VGV4dCArPSAiTm90IGZvY3VzZWQgb24gdGV4dCBhcmVhIGxpbmUgbnVtYmVyOiAiICsgbGluZU51
bWJlciArICJcbiI7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNv
cnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY1ZjhlZTIzMjkwNTllNjMwMGM2ZWIxYzFmMDlkNDMz
MzlkYjM3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgdGhhdCBub24tbmF0aXZlIHRleHRi
b3hlcyByZXBvcnQgdGhlIGNvcnJlY3QgbGluZSBudW1iZXIuCisKK0FkZGluZyBzZXZlcmFsIHBh
cmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hvdWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1i
ZXIgcmVwb3J0ZWQuCisKK1NvbWUgdGV4dCBpbiBhIHRleHRib3guCitQQVNTIHRleHRib3hBeEVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxp
bmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90
ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjA5NWM3NzJhMThjZWI3Mjg2ZTUzMjBmN2Y3ZTUyMDA4MGFlNTNmNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1y
ZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUM+Cis8aHRtbCBpZD0iaHRtbCI+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IG5vbi1uYXRp
dmUgdGV4dGJveGVzIHJlcG9ydCB0aGUgY29ycmVjdCBsaW5lIG51bWJlci4KKzxwPkFkZGluZyBz
ZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hvdWxkbid0IGNoYW5nZSB0aGUg
bGluZSBudW1iZXIgcmVwb3J0ZWQuCis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJv
eCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4
dGJveC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCisgICAgICAgIHZhciBhcmlhVGV4dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJh
cmlhVGV4dEJveCIpOworICAgICAgICBhcmlhVGV4dEJveC5mb2N1cygpOworICAgICAgICB2YXIg
dGV4dGJveEF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
OworCisgICAgICAgIHNob3VsZEJlKCJ0ZXh0Ym94QXhFbGVtZW50Lmluc2VydGlvblBvaW50TGlu
ZU51bWJlciIsICIwIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113819</attachid>
            <date>2011-11-06 19:17:39 -0800</date>
            <delta_ts>2011-11-09 18:19:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111107141736.patch</filename>
            <type>text/plain</type>
            <size>35856</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkzODYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3N2QyNWE5MDBmMjVkZjQ4
MzMyZTQ0YTEyODk3NGQwNmI0OTBlODNiLi4yMzQ5OGQ5ZTc4OGI3ODNiMzRhMmU0NjZkYjIyYmEw
MzQ3YThmOGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTEtMTEtMDEgIEFsaWNl
IEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJl
Y3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51
bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6Omhhc0FYRWRpdGluZ0VsZW1lbnRzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNBWEVkaXRhYmxlKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om1vZGlmeSk6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JB
ZnRlcik6CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlZpc2libGVQb3NpdGlvbjo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub2RlSXNFZGl0YWJs
ZUZvclJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6CisgICAg
ICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0VkaXRhYmxlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
ZWRpdGFibGVSb290Rm9yUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcu
aDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpw
cmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisgICAg
ICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTEtMDYgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBEb24ndCBjcmFzaCB3aGVuIGEgY29udGV4
dCBoYXNuJ3QgYmVlbiBjcmVhdGVkLiAgVGhpcyBmaXhlZCBhCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBjMjRiZDNiZmQ5YTYzN2Y5YTUx
NDQ4ZjQ2NTcwODkxMWVmZjU2MmU3Li45ZTdmMDNjNTkzOTJhMWYyNWE5Mjc5Yjk5ODhhYjQ4NDMw
MDZlZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTI1Myw3ICsyNTMsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENh
Y2hlOjpnZXRPckNyZWF0ZShXaWRnZXQqIHdpZGdldCkKIAogICAgIGlmIChBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmogPSBnZXQod2lkZ2V0KSkKICAgICAgICAgcmV0dXJuIG9iajsKLSAgICAKKwog
ICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdPYmogPSAwOwogICAgIGlmICh3aWRn
ZXQtPmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIG5ld09iaiA9IEFjY2Vzc2liaWxpdHlTY3JvbGxW
aWV3OjpjcmVhdGUoc3RhdGljX2Nhc3Q8U2Nyb2xsVmlldyo+KHdpZGdldCkpOwpAQCAtMjc3LDYg
KzI3Nyw4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRl
KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBvYmo7CiAKICAgICBSZWZQ
dHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gbmV3T2JqID0gY3JlYXRlRnJvbVJlbmRlcmVyKHJlbmRl
cmVyKTsKKyAgICBpZiAobmV3T2JqLT5pc0FSSUFUZXh0Q29udHJvbCgpKQorICAgICAgICBtX2hh
c0FYRWRpdGluZ0VsZW1lbnRzID0gdHJ1ZTsKIAogICAgIGdldEFYSUQobmV3T2JqLmdldCgpKTsK
IApAQCAtNjQzLDUgKzY0NSwzNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRh
Rm9yVmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2VyRAogICAgIAogICAg
IGNhY2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2NvbnN0IEVsZW1lbnQq
IEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3QgTm9kZSog
bm9kZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSAwOworICAgIGNvbnN0IEVsZW1l
bnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQgPSBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisK
KyAgICBjb25zdCBFbGVtZW50KiBlID0gbm9kZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50
KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVudCgpOworICAgIGZvciAoIDsgZSAmJiAhZS0+aGFz
VGFnTmFtZShib2R5VGFnKTsgZSA9IGUtPnBhcmVudEVsZW1lbnQoKSkgeworICAgICAgICBpZiAo
bm9kZUlzVGV4dENvbnRyb2woZSkpCisgICAgICAgICAgICByZXN1bHQgPSBlOworICAgIH0KKwor
ICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4gcm9v
dEVkaXRhYmxlRWxlbWVudDsKK30KKworYm9vbCBBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29u
dHJvbChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JOb2Rl
ID0gZ2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAgaWYgKCFheE9iamVjdEZvck5v
ZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBheE9iamVjdEZvck5vZGUt
PmlzVGV4dENvbnRyb2woKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyNzc4OWZiYjhkMjM0
YTY4MzZlZDBlZTc5ZjNmMTIwMjJmZTkzYzc2Li4yMzNkYTJlM2Y3MDk3NjU1MjM4MzE1NTQxNGUw
MjViY2RkZjE0ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaApAQCAtMTA0LDYgKzEwNCwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZUFY
SUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNv
bnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CisKKyAgICBib29sIGhhc0FY
RWRpdGluZ0VsZW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBWEVkaXRpbmdFbGVtZW50czsg
fQorICAgIGNvbnN0IEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3Qg
Tm9kZSopOworICAgIGJvb2wgbm9kZUlzQVhFZGl0YWJsZShjb25zdCBOb2RlKiBub2RlKSB7IHJl
dHVybiByb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKG5vZGUpOyB9CisgICAgYm9vbCBub2Rl
SXNUZXh0Q29udHJvbChjb25zdCBOb2RlKik7CisKICAgICBBWElEIHBsYXRmb3JtR2VuZXJhdGVB
WElEKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0RnJvbUFYSUQoQVhJ
RCBpZCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RzLmdldChpZCkuZ2V0KCk7IH0KIApAQCAtMTYz
LDYgKzE2OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgZ0FjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkOwogICAgIAogICAgIEhhc2hTZXQ8QVhJRD4gbV9pZHNJ
blVzZTsKKyAgICBib29sIG1faGFzQVhFZGl0aW5nRWxlbWVudHM7CiAgICAgCiAgICAgVGltZXI8
QVhPYmplY3RDYWNoZT4gbV9ub3RpZmljYXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHBhaXI8
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNh
dGlvbnNUb1Bvc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCAxNWE2OTFjZmJkZTliNGU1YzNiZDQzMTUxNDRlMzI4
OWRmMGIwNjJhLi40ZmNhMzE3Mzk1NmQ2YmQxNDA1YmNmMjJmNjg2YTRjNWY5NGM2OWE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTk0MiwyMSArOTQyLDI2IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5l
Rm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAgICAg
aWYgKHZpc2libGVQb3MuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgdW5zaWdu
ZWQgbGluZUNvdW50ID0gMDsKKyAgICAvLyBpZiB0aGUgcG9zaXRpb24gaXMgbm90IGluIHRoZSBz
YW1lIGVkaXRhYmxlIHJlZ2lvbiBhcyB0aGlzIEFYIG9iamVjdCwgcmV0dXJuIC0xCisgICAgTm9k
ZSogY29udGFpbmVyTm9kZSA9IHZpc2libGVQb3MuZGVlcEVxdWl2YWxlbnQoKS5jb250YWluZXJO
b2RlKCk7CisgICAgaWYgKCFjb250YWluZXJOb2RlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RP
TShub2RlKCkpICYmICFub2RlKCktPmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnRhaW5l
ck5vZGUpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpbnQgbGluZUNvdW50ID0gLTE7CiAg
ICAgVmlzaWJsZVBvc2l0aW9uIGN1cnJlbnRWaXNpYmxlUG9zID0gdmlzaWJsZVBvczsKICAgICBW
aXNpYmxlUG9zaXRpb24gc2F2ZWRWaXNpYmxlUG9zOwogCiAgICAgLy8gbW92ZSB1cCB1bnRpbCB3
ZSBnZXQgdG8gdGhlIHRvcAogICAgIC8vIEZJWE1FOiBUaGlzIG9ubHkgdGFrZXMgdXMgdG8gdGhl
IHRvcCBvZiB0aGUgcm9vdEVkaXRhYmxlRWxlbWVudCwgbm90IHRoZSB0b3Agb2YgdGhlCiAgICAg
Ly8gdG9wIGRvY3VtZW50LgotICAgIHdoaWxlIChjdXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwo
KSAmJiAhKGluU2FtZUxpbmUoY3VycmVudFZpc2libGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKSB7
Ci0gICAgICAgICsrbGluZUNvdW50OworICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9z
ID0gY3VycmVudFZpc2libGVQb3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJs
ZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAg
ICAgVmlzaWJsZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24o
Y3VycmVudFZpc2libGVQb3MsIDAsIENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkpOwogICAg
ICAgICBjdXJyZW50VmlzaWJsZVBvcyA9IHByZXZWaXNpYmxlUG9zOwotICAgIH0KKyAgICAgICAg
KytsaW5lQ291bnQ7CisgICAgfSAgd2hpbGUgKGN1cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgp
ICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJsZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwog
Ci0gICAgcmV0dXJuIGxpbmVDb3VudCAtIDE7CisgICAgcmV0dXJuIGxpbmVDb3VudDsKIH0KIAog
Ly8gTk9URTogQ29uc2lkZXIgcHJvdmlkaW5nIHRoaXMgdXRpbGl0eSBtZXRob2QgYXMgQVggQVBJ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBiNDAyZWFkNzZjYjkwMzNkNzdiNmQzZDZiNmZkM2Vl
ZDEwYmNjZjI1Li40MDA5MGQ0ZDJhMjIxZjBlNDEyYWRkYzMxYWRjYzE3MmU5NjJkYWY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1MjMsNyArMjUyMyw3IEBAIGludCBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRp
b24gPSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwo
KSB8fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9k
ZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290
KGluZGV4UG9zaXRpb24sIENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkpICE9IG5vZGUpCiAg
ICAgICAgIHJldHVybiAwOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpAQCAtMjU0
MCwzOCArMjU0MCw2IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZp
c2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvCiAjZW5kaWYKIH0KIAotRWxl
bWVudCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6cm9vdEVkaXRhYmxlRWxlbWVudEZvclBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikgY29uc3QKLXsKLSAgICAvLyBGaW5kIHRo
ZSByb290IGVkaXRhYmxlIG9yIHBzZXVkby1lZGl0YWJsZSAoaS5lLiBoYXZpbmcgYW4gZWRpdGFi
bGUgQVJJQSByb2xlKSBlbGVtZW50LgotICAgIEVsZW1lbnQqIHJlc3VsdCA9IDA7Ci0gICAgCi0g
ICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCA9IHBvc2l0aW9uLnJvb3RFZGl0YWJsZUVs
ZW1lbnQoKTsKLQotICAgIGZvciAoRWxlbWVudCogZSA9IHBvc2l0aW9uLmVsZW1lbnQoKTsgZSAm
JiBlICE9IHJvb3RFZGl0YWJsZUVsZW1lbnQ7IGUgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKLSAg
ICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGUpKQotICAgICAgICAgICAgcmVzdWx0ID0gZTsK
LSAgICAgICAgaWYgKGUtPmhhc1RhZ05hbWUoYm9keVRhZykpCi0gICAgICAgICAgICBicmVhazsK
LSAgICB9Ci0KLSAgICBpZiAocmVzdWx0KQotICAgICAgICByZXR1cm4gcmVzdWx0OwotCi0gICAg
cmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQ7Ci19Ci0KLWJvb2wgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6bm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSogbm9kZSkgY29uc3QKLXsKLSAg
ICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QqIGF4T2JqZWN0Rm9yTm9kZSA9IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVh
dGUobm9kZS0+cmVuZGVyZXIoKSk7Ci0gICAgaWYgKCFheE9iamVjdEZvck5vZGUpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBheE9iamVjdEZvck5vZGUtPmlzVGV4dENvbnRy
b2woKTsKLX0KLQogTGF5b3V0UmVjdCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpib3VuZHNG
b3JWaXNpYmxlUG9zaXRpb25SYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25SYW5nZSYgdmlzaWJs
ZVBvc2l0aW9uUmFuZ2UpIGNvbnN0CiB7CiAgICAgaWYgKHZpc2libGVQb3NpdGlvblJhbmdlLmlz
TnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGI3NmI2ZDY1YjQ1OTQ4NjkwN2JiNGQ3NmNmOGJm
ZDQ5OGViMWRhZTIuLjRlNzNjNWE4MjlhNzc4YmEwMDk4NmRhOTk4YjliMGQwNzJkOTdlYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKQEAgLTc5NSw2ICs3OTUsMTIgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklz
RWRpdGFibGUoRWRpdGFibGVMZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAogICAgICAgICBpZiAo
KG5vZGUtPmlzSFRNTEVsZW1lbnQoKSB8fCBub2RlLT5pc0RvY3VtZW50Tm9kZSgpKSAmJiBub2Rl
LT5yZW5kZXJlcigpKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPnJlbmRlcmVyKCktPnN0
eWxlKCktPnVzZXJNb2RpZnkoKSkgewogICAgICAgICAgICAgY2FzZSBSRUFEX09OTFk6CisgICAg
ICAgICAgICAgICAgaWYgKGVkaXRhYmxlTGV2ZWwgPT0gQVhFZGl0YWJsZSkgeworICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKSk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VS
VChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPm5vZGVJc0FY
RWRpdGFibGUodGhpcyk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgUkVBRF9XUklURToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTE2MzcsNiArMTY0MywxOSBAQCBFbGVtZW50ICpOb2RlOjplbmNsb3Np
bmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorRWxlbWVudCog
Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVs
ZSkgY29uc3QKK3sKKyAgICBpZiAocnVsZSA9PSBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5
ICYmIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+aGFzQVhFZGl0aW5nRWxlbWVudHMoKSkK
KyAgICAgICAgcmV0dXJuIHJvb3RBWEVkaXRhYmxlRWxlbWVudCgpOworCisgICAgcmV0dXJuIHJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKK30KKworRWxlbWVudCogTm9kZTo6cm9vdEFYRWRpdGFibGVF
bGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50Kj4oZG9jdW1l
bnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKHRoaXMp
KTsKK30KKwogRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAg
ICAgRWxlbWVudCogcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDU0OGJjOGE0NDNkNzhhZWM1
YTAwMjAxYTU3NDAxZGVjNDAyYjAzZWUuLmUzODhhNDY1OGNhNjk1ZjNiM2E4ODEzMzU4Mjg5NWUx
MzViZTY1ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOb2RlX2gK
ICNkZWZpbmUgTm9kZV9oCiAKKyNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0
VHlwZXMuaCIKQEAgLTI2OSw5ICsyNzAsMTAgQEAgcHVibGljOgogCiAgICAgLy8gZW5jbG9zaW5n
QmxvY2tGbG93RWxlbWVudCgpIGlzIGRlcHJlY2F0ZWQuIFVzZSBlbmNsb3NpbmdCbG9jayBpbnN0
ZWFkLgogICAgIEVsZW1lbnQqIGVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBjb25zdDsKLSAg
ICAKICAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KCkgY29uc3Q7Ci0gICAgCisgICAg
RWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUp
IGNvbnN0OworICAgIEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OworCiAg
ICAgYm9vbCBpblNhbWVDb250YWluaW5nQmxvY2tGbG93RWxlbWVudChOb2RlKik7CiAKICAgICAv
LyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuIHRoaXMgZWxlbWVudCdzIGNsb3NlIHRhZyBpcyBy
ZWFjaGVkLApAQCAtMzQ2LDYgKzM0OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVk
aXRhYmxlKCk7CiAgICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCisgICAgYm9v
bCByZW5kZXJlcklzQVhFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJs
ZShBWEVkaXRhYmxlKTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQogICAgIGJvb2wgcmVuZGVyZXJJ
c1JpY2hseUVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hs
eUVkaXRhYmxlKTsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpOwpA
QCAtNjkyLDcgKzY5NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXREb2N1bWVudFJlY3Vyc2l2
ZWx5KERvY3VtZW50Kik7CiAgICAgdm9pZCBzZXREb2N1bWVudChEb2N1bWVudCopOwogCi0gICAg
ZW51bSBFZGl0YWJsZUxldmVsIHsgRWRpdGFibGUsIFJpY2hseUVkaXRhYmxlIH07CisgICAgZW51
bSBFZGl0YWJsZUxldmVsIHsgRWRpdGFibGUsIFJpY2hseUVkaXRhYmxlLCBBWEVkaXRhYmxlIH07
CiAgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVMZXZlbCkgY29uc3Q7CiAKICAg
ICB2b2lkIHNldFN0eWxlQ2hhbmdlKFN0eWxlQ2hhbmdlVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0aW5nQm91bmRhcnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1ZjJlYjRkZGUyOTY0YmE4
ZGZhMGMwZWQ1YTg0Li5iODJhZjViMjczZWNlNjFiZTdlMTI1YWYxODBmMTNlYjI0ZDQxN2UwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKQEAgLTMxLDYgKzMxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUg
ewogICAgIENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5LAogICAgIENhbm5vdENyb3NzRWRpdGluZ0Jv
dW5kYXJ5LAorICAgIENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnksCiAgICAgQ2FuU2tpcE92
ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggYzdiZjNhYjdkMzJhNmVkZDJjYmQ1NDc5ZGNkYmU1OGRlYWM4NGY4OC4u
NTgwZThmZjZjODMzYmEwZDlhNzc0YzMwZjEzZDJlMDI5MDBhYjIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTEwMjQsNyArMTAyNCwxMSBAQCBib29s
IEZyYW1lU2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gYWx0ZXIsIHVuc2lnbmVkIHZlcnRp
Y2FsRGlzdGFuY2UsIFZlcnRpYwogICAgIFZpc2libGVQb3NpdGlvbiByZXN1bHQ7CiAgICAgVmlz
aWJsZVBvc2l0aW9uIG5leHQ7CiAgICAgZm9yIChWaXNpYmxlUG9zaXRpb24gcCA9IHBvczsgOyBw
ID0gbmV4dCkgewotICAgICAgICBuZXh0ID0gKGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25VcCA/IHBy
ZXZpb3VzTGluZVBvc2l0aW9uIDogbmV4dExpbmVQb3NpdGlvbikocCwgeFBvcyk7CisgICAgICAg
IGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uVXApCisgICAgICAgICAgICBuZXh0ID0gcHJldmlv
dXNMaW5lUG9zaXRpb24ocCwgeFBvcyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG5leHQg
PSBuZXh0TGluZVBvc2l0aW9uKHAsIHhQb3MpOworCiAgICAgICAgIGlmIChuZXh0LmlzTnVsbCgp
IHx8IG5leHQgPT0gcCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBMYXlvdXRVbml0IG5l
eHRZOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCmluZGV4IDgx
MTY4ZDdiNzQxNzMxNTVlZGI5MGM1NWM0ZTE4ZGRkZTUyYmFkYWQuLmI3NWEyNGFhNmZiZWJhYmNh
ZDkxOTJmNGIwZjlhMDE3MmMzYTZlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVmlzaWJsZVBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2li
bGVQb3NpdGlvbi5jcHAKQEAgLTQ0MSwxOSArNDQxLDE5IEBAIFZpc2libGVQb3NpdGlvbiBWaXNp
YmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckJlZm9yZShjb25zdCBWaXNpYmxl
UG9zCiB7CiAgICAgaWYgKHBvcy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHBvczsKLSAgICAK
LSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QoZGVlcEVxdWl2YWxl
bnQoKSk7CisKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNw
ZWN0aW5nQVhFZGl0aW5nKGRlZXBFcXVpdmFsZW50KCkpOwogICAgIAogICAgIC8vIFJldHVybiBl
bXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMgbm90IHNvbWV3aGVyZSBpbnNpZGUgdGhlIGVkaXRhYmxl
IHJlZ2lvbiBjb250YWluaW5nIHRoaXMgcG9zaXRpb24KICAgICBpZiAoaGlnaGVzdFJvb3QgJiYg
IXBvcy5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2RlKCktPmlzRGVzY2VuZGFudE9mKGhp
Z2hlc3RSb290KSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwotICAgICAgICAK
KwogICAgIC8vIFJldHVybiBwb3MgaXRzZWxmIGlmIHRoZSB0d28gYXJlIGZyb20gdGhlIHZlcnkg
c2FtZSBlZGl0YWJsZSByZWdpb24sIG9yIGJvdGggYXJlIG5vbi1lZGl0YWJsZQogICAgIC8vIEZJ
WE1FOiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNhc2UsIGp1c3QgYmVjYXVzZSB0aGUgbmV3IHBvc2l0
aW9uIGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0IG1lYW4gbW92ZW1lbnQKICAgICAvLyB0byBpdCBp
cyBhbGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0Rm9yRWRpdGFibGVDb250ZW50IGhh
cyB0aGlzIHByb2JsZW0gdG9vLgotICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KHBvcy5kZWVw
RXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKKyAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9v
dFJlc3BlY3RpbmdBWEVkaXRpbmcocG9zLmRlZXBFcXVpdmFsZW50KCkpID09IGhpZ2hlc3RSb290
KQogICAgICAgICByZXR1cm4gcG9zOwotICAKKwogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlv
biBpZiB0aGlzIHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSwgYnV0IHBvcyBpcyBlZGl0YWJsZQog
ICAgIC8vIEZJWE1FOiBNb3ZlIHRvIHRoZSBwcmV2aW91cyBub24tZWRpdGFibGUgcmVnaW9uLgog
ICAgIGlmICghaGlnaGVzdFJvb3QpCkBAIC00NjgsNyArNDY4LDcgQEAgVmlzaWJsZVBvc2l0aW9u
IFZpc2libGVQb3NpdGlvbjo6aG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQWZ0ZXIoY29uc3QgVmlz
aWJsZVBvc2kKICAgICBpZiAocG9zLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gcG9zOwogICAg
IAotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChkZWVwRXF1aXZh
bGVudCgpKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNw
ZWN0aW5nQVhFZGl0aW5nKGRlZXBFcXVpdmFsZW50KCkpOwogICAgIAogICAgIC8vIFJldHVybiBl
bXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMgbm90IHNvbWV3aGVyZSBpbnNpZGUgdGhlIGVkaXRhYmxl
IHJlZ2lvbiBjb250YWluaW5nIHRoaXMgcG9zaXRpb24KICAgICBpZiAoaGlnaGVzdFJvb3QgJiYg
IXBvcy5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2RlKCktPmlzRGVzY2VuZGFudE9mKGhp
Z2hlc3RSb290KSkKQEAgLTQ3Nyw3ICs0NzcsNyBAQCBWaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBv
c2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JBZnRlcihjb25zdCBWaXNpYmxlUG9zaQog
ICAgIC8vIFJldHVybiBwb3MgaXRzZWxmIGlmIHRoZSB0d28gYXJlIGZyb20gdGhlIHZlcnkgc2Ft
ZSBlZGl0YWJsZSByZWdpb24sIG9yIGJvdGggYXJlIG5vbi1lZGl0YWJsZQogICAgIC8vIEZJWE1F
OiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNhc2UsIGp1c3QgYmVjYXVzZSB0aGUgbmV3IHBvc2l0aW9u
IGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0IG1lYW4gbW92ZW1lbnQKICAgICAvLyB0byBpdCBpcyBh
bGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0Rm9yRWRpdGFibGVDb250ZW50IGhhcyB0
aGlzIHByb2JsZW0gdG9vLgotICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KHBvcy5kZWVwRXF1
aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKKyAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdFJl
c3BlY3RpbmdBWEVkaXRpbmcocG9zLmRlZXBFcXVpdmFsZW50KCkpID09IGhpZ2hlc3RSb290KQog
ICAgICAgICByZXR1cm4gcG9zOwogCiAgICAgLy8gUmV0dXJuIGVtcHR5IHBvc2l0aW9uIGlmIHRo
aXMgcG9zaXRpb24gaXMgbm9uLWVkaXRhYmxlLCBidXQgcG9zIGlzIGVkaXRhYmxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaAppbmRleCAyMGVlZTk0ZGUyZGIyMmZjZmM4
N2U1NTI4Zjg0ZDFhODE5NzAzZGI1Li41NzJmNzc2M2U5NjllNzcyM2QxMjM3ODIxMTMwNjdmMzVk
Y2RjMjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKQEAgLTgx
LDYgKzgxLDcgQEAgcHVibGljOgogCiAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBub3QgaGFuZGxl
IFt0YWJsZSwgMF0gY29ycmVjdGx5LgogICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5pc05vdE51bGwoKSA/IG1fZGVlcFBvc2l0
aW9uLmRlcHJlY2F0ZWROb2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IDA7IH0KKyAgICBF
bGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBy
dWxlKSBjb25zdCB7IHJldHVybiBtX2RlZXBQb3NpdGlvbi5pc05vdE51bGwoKSA/IG1fZGVlcFBv
c2l0aW9uLmRlcHJlY2F0ZWROb2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQocnVsZSkgOiAwOyB9
OwogICAgIAogICAgIHZvaWQgZ2V0SW5saW5lQm94QW5kT2Zmc2V0KElubGluZUJveComIGlubGlu
ZUJveCwgaW50JiBjYXJldE9mZnNldCkgY29uc3QKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuY3BwCmluZGV4IGY3NWVjM2RlM2Q5YTE4OTc5NDVhM2Q4NTc3NDRmZmIxNzRj
NzMyY2QuLjk2MTRlMDNkNWI2Yjg3MDhlMWQ0YzZmNjFhN2EyOTkzNzY4YjJmNGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdUZXh0
LmgiCiAjaW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtMTA0LDE5ICsxMDUsMjggQEAgaW50
IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBhLCBjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGIpCiAgICAgcmV0dXJuIGNvbXBhcmVQb3NpdGlvbnMoYS5kZWVwRXF1aXZhbGVu
dCgpLCBiLmRlZXBFcXVpdmFsZW50KCkpOwogfQogCi1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290
KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK2Jvb2wgbm9kZUlzRWRpdGFibGVGb3JSdWxlKE5v
ZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQoreworICAgIGlmIChy
dWxlID09IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KQorICAgICAgICByZXR1cm4gbm9kZS0+
cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgaWYgKHJ1bGUgPT0gQ2Fubm90Q3Jvc3NBWEVkaXRp
bmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNBWEVkaXRhYmxlKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0
IFBvc2l0aW9uJiBwb3NpdGlvbiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7
CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFu
b2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0gICAgTm9kZSogaGlnaGVzdFJvb3Qg
PSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbik7CisgICAgTm9kZSogaGlnaGVzdFJv
b3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbiwgcnVsZSk7CiAgICAgaWYgKCFo
aWdoZXN0Um9vdCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgbm9kZSA9IGhpZ2hlc3RS
b290OwogICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRp
dGFibGUoKSkKKyAgICAgICAgaWYgKG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKSkK
ICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsKICAgICAgICAgaWYgKG5vZGUtPmhhc1Rh
Z05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTEyNiw2ICsxMzYsMTggQEAg
Tm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAg
cmV0dXJuIGhpZ2hlc3RSb290OwogfQogCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVj
dGluZ0FYRWRpdGluZyhjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCit7CisgICAgRWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeTsKKyAg
ICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiBwb3NpdGlvbi5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlRXhpc3RzKCkKKyAgICAgICAgJiYgcG9zaXRpb24uZG9j
dW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5oYXNBWEVkaXRpbmdFbGVtZW50cygpKSB7CisgICAg
ICAgIHJ1bGUgPSBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5OworICAgIH0KKworICAgIHJl
dHVybiBoaWdoZXN0RWRpdGFibGVSb290KHBvc2l0aW9uLCBydWxlKTsKK30KKworCiBOb2RlKiBs
b3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2RlKQpAQCAt
MTQzLDcgKzE2NSw3IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkK
ICAgICByZXR1cm4gbG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29u
c3QgUG9zaXRpb24mIHApCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYg
cCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgTm9kZSogbm9kZSA9
IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTc0LDcgQEAg
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUt
PnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2Rl
ID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUp
OwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3Mp
CkBAIC0xNzQsNyArMTk2LDcgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mIHApCiAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgp
OwogfQogCi1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYg
cCkKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBF
ZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5j
b250YWluZXJOb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTgzLDcgKzIwNSw3IEBAIEVsZW1l
bnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChu
b2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAg
bm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cm9vdEVk
aXRhYmxlRWxlbWVudCgpOworICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHJ1
bGUpOwogfQogCiAvLyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50aWwgd2hpY2ggdGhl
IHRyZWUgY2FuIGJlIHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9o
dG1sZWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4
IDUxYjBkYThjNDgyOTk4NzJlODYzYjYxMjY5N2ZmNjExYzdmOTJmODYuLjljNzI3YTVkYjhjYjhk
NmJiMTFiZTMwY2Y2MmM0ODQ0MmY0OGE0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIC8vIEZ1bmN0
aW9ucyByZXR1cm5pbmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSopOwotTm9k
ZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogaGlnaGVzdEVk
aXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9
IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3RS
ZXNwZWN0aW5nQVhFZGl0aW5nKGNvbnN0IFBvc2l0aW9uJik7CiBOb2RlKiBoaWdoZXN0RW5jbG9z
aW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0
IE5vZGUqKSwKICAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0Vk
aXRpbmdCb3VuZGFyeSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwogTm9kZSogaGlnaGVzdE5vZGVU
b1JlbW92ZUluUHJ1bmluZyhOb2RlKik7CkBAIC03OCw2ICs3OSw3IEBAIGludCBjYXJldE1pbk9m
ZnNldChjb25zdCBOb2RlKik7CiBpbnQgY2FyZXRNYXhPZmZzZXQoY29uc3QgTm9kZSopOwogCiAv
LyBib29sZWFuIGZ1bmN0aW9ucyBvbiBOb2RlCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShO
b2RlKiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlKTsKIAogLy8gRklYTUU6IGVkaXRpbmdJ
Z25vcmVzQ29udGVudCwgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZywgYW5kIGlzQXRvbWljTm9k
ZQogLy8gc2hvdWxkIGJlIHJlbmFtZWQgdG8gcmVmbGVjdCBpdHMgdXNhZ2UuCkBAIC0xNTAsNyAr
MTUyLDcgQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3Np
dGlvbiYpOwogCiAvLyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlvbgogICAgIAotYm9vbCBp
c0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90
Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29u
c3QgUG9zaXRpb24mKTsKIGJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1l
bnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFs
RWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIwLDcgKzIyMiw3IEBAIFBhc3NSZWZQdHI8
RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+
IHRhYlRleHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERv
Y3VtZW50KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFi
bGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9v
dEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxl
ID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxl
bWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25z
IG9uIEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91
bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4
IGIzNzI5NTZlZjE0Y2M0NjNkODYwNjgxOTc3YTA0MjMxODBhZDkwNjAuLjc5YmJlZWM5N2E1Yjc1
YTFjMTBlOGMyOTUwODkzYzk4ZjJmNGZiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcApAQCAtNTE4LDEyICs1MTgsMTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnApCiB9CiAKIC8vIFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2Rl
IHRoYXQgaGFzIHRoZSBzYW1lIGVkaXRhYmlsaXR5IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHBy
ZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgRWRpdGluZ0JvdW5kYXJ5
Q3Jvc3NpbmdSdWxlIHJ1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkKIHsKLSAgICBi
b29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0
YWJsZSA9IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKTsKICAgICBOb2RlKiBuID0g
bm9kZS0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChl
ZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxl
ID09IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShuLCBydWxlKSkKICAgICAgICAgICAgIHJldHVybiBu
OwogICAgICAgICBuID0gbi0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIH0KQEAgLTU1MywxMSAr
NTUzLDExIEBAIHN0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9p
bnRUb0xvY2FsUG9pbnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAgICAgcmV0dXJuIEludFBvaW50KHJv
b3QtPnNlbGVjdGlvblRvcCgpLCBsaW5lRGlyZWN0aW9uUG9pbnQgLSBhYnNvbHV0ZUJsb2NrUG9p
bnQueSgpKTsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50
KQorVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91
bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0
aW9uLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUo
KTsKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAg
Tm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGlu
ZyhwKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICAKQEAgLTU4NCwxMSArNTg0LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAg
ICAgIC8vIE5lZWQgdG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUg
YmxvY2sgaW4gdGhpcyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRo
ZSBsYXN0IHJvb3QgbGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRC
bG9jayA9IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAg
IE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAg
ICBOb2RlKiBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBydWxlKTsK
ICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklu
bGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShuLCBydWxlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdo
ZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVz
dFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVk
aXRpbmcoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhhc1Rh
Z05hbWUoYnJUYWcpID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uKG4sIGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXND
YW5kaWRhdGUoKSkgewpAQCAtNjAxLDcgKzYwMSw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91
c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50
CiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVB
TSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVF
ZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KG4sIHJ1bGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOCw3
IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2
aW91cyBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGlu
ZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2Nr
LCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUg
bGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVy
SXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1l
bnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2Rl
SXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50
KHJ1bGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CiAgICAgaWYgKCFy
b290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIHJldHVy
biBWaXNpYmxlUG9zaXRpb24oZmlyc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05T
VFJFQU0pOwpAQCAtNjM4LDI2ICs2MzgsMjcgQEAgc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBpbnQgb2Zmc2V0KQogICAgIHJldHVybiAwOwogfQog
Ci1zdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitz
dGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRp
bmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkp
CiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVk
aXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9
IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+
bmV4dExlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRhYmxlID09
IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0gbm9kZUlz
RWRpdGFibGVGb3JSdWxlKG4sIHJ1bGUpKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAg
IG4gPSBuLT5uZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKLVZpc2li
bGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIG5leHRM
aW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBs
aW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewor
ICAgIC8vIFRPRE86IHB1bGwgb3V0IGNvZGUgdGhhdCBpcyBjb21tb24gYmV0d2VlbiB0aGlzIGFu
ZCBwcmV2aW91c0xpbmVQb3NpdGlvbi4KICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9u
LmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsK
LSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9k
ZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyhw
KTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAg
ICAKQEAgLTY4Niw5ICs2ODcsOSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihj
b25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBO
b2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2Rl
KTsKICAgICAgICAgTm9kZSogbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBw
LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJs
b2NrID09IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAg
ICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBydWxlKTsKICAgICAgICAgd2hpbGUgKG4pIHsK
LSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVm
b3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRh
YmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmcoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4p
KSAhPSBoaWdoZXN0Um9vdCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBv
c2l0aW9uIHBvcyA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNl
dChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3
MDMsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJu
IFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4g
PSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgcnVsZSk7CiAgICAgICAgIH0KICAgICB9
CiAgICAgCkBAIC03MTksNyArNzIwLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAv
LyBDb3VsZCBub3QgZmluZCBhIG5leHQgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkg
YmUgb24gdGhlIGxhc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRl
bnQgaW4gdGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0
aGUgZW5kIG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0g
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkg
OiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290
RWxlbWVudCA9IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKSA/IG5vZGUtPnJvb3RF
ZGl0YWJsZUVsZW1lbnQocnVsZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQo
KTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUocm9vdEVs
ZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
dmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgK
aW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uNGE4ZDNjYWI5
OGVkMjI4NGNlYTE4ZDJlZmU1ZWQ2NDgyM2NiMjViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92
aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRTZW50
ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBWaXNpYmxl
UG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlzaWJsZVBv
c2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxlUG9zaXRp
b24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5l
RGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJsZVBvc2l0
aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGlu
ZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9z
c0VkaXRpbmdCb3VuZGFyeSk7CitWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5k
YXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpblNh
bWVMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
CiBib29sIGlzU3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogYm9vbCBpc0Vu
ZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzg0YzY0OWJmOGU2ZGYw
ZWMzNjQ5NjBlOWEwNDhkZjA5MWNlZGQzYy4uNDlkODEyYzE3NzIyYWI5ZTVjYjcxMGE5OTYwNGZj
YzQ1OGRkODEyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTAxICBBbGljZSBCb3ho
YWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3JyZWN0IGxp
bmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90
ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUt
bnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sOiBB
ZGRlZC4KKwogMjAxMS0xMS0wNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEltcGxlbWVudCB0aGUgc2FuZGJveCBkaXJlY3RpdmUgZm9yIENTUApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGlu
ZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0
aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWwKaW5kZXggYTUwZjYzNzI0ZTM5YWIxOGY0N2UyZTUx
MzNmOTQ1M2MwNDM1YmRiNS4uZmIyZDljNWE1ODM2ODljNWI4YmI2OTg3Mjc2ZjE0ZTcyZmMwYzMw
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRp
b24tcG9pbnQtbGluZS1udW1iZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5odG1sCkBAIC00LDM5ICs0LDQx
IEBACiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0
PgogPGJvZHk+Ci0gICAgCiAgICAgPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgICAKICAgICA8
dGV4dGFyZWEgbmFtZT0iYXJlYTEiIGlkPSJhcmVhMSIgcm93cz0iNSIgY29scz0iNDAiPgogbGlu
ZSAxCiBsaW5lIDIKIGxpbmUgMwogICAgIDwvdGV4dGFyZWE+CiAKLSAgICA8dGV4dGFyZWEgbmFt
ZT0iYXJlYTIiIGlkPSJhcmVhMiIgcm93cz0iNSIgY29scz0iNDAiPjwvdGV4dGFyZWE+Ci0gICAg
IAorICAgIDx0ZXh0YXJlYSBuYW1lPSJhcmVhMiIgaWQ9ImFyZWEyIiByb3dzPSI1IiBjb2xzPSI0
MCI+CitsaW5lIDEKKzwvdGV4dGFyZWE+CisKICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgICAgICB2YXIgcmVzdWx0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpOwogCiAgICAgICAgICAgICB2YXIgYXJl
YTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJlYTEiKTsKICAgICAgICAgICAgIGFyZWEx
LmZvY3VzKCk7CisgICAgICAgICAgICB2YXIgYXJlYTFBWFVJRWxlbWVudCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OwogCiAgICAgICAgICAgICBmb3IgKHZhciBrID0g
MDsgayA8IDM7IGsrKykgewogICAgICAgICAgICAgICAgIGFyZWExLnNlbGVjdGlvblN0YXJ0ID0g
KGsqNyk7CiAgICAgICAgICAgICAgICAgYXJlYTEuc2VsZWN0aW9uRW5kID0gKGsqNyk7Ci0gICAg
ICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1
c2VkRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7ICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhcmVhMUFYVUlFbGVtZW50Lmluc2VydGlvblBvaW50
TGluZU51bWJlcjsKICAgICAgICAgICAgICAgICBpZiAobGluZU51bWJlciA9PSBrKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5l
IE51bWJlcjogUGFzcyBbIiArIGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1i
ZXIgKyAiXVxuIjsgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQg
Kz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJlcjogUGFzcyBbIiArIGFyZWExLnNlbGVjdGlv
blN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAiXVxuIjsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRl
eHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJlcjogRmFpbCBbIiArIGFyZWExLnNlbGVj
dGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAiXVxuIjsgICAgICAgCisgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJl
cjogRmFpbCBbIiArIGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAi
XVxuIjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZh
ciBhcmVhMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmVhMiIpOwogICAgICAgICAgICAg
YXJlYTIuZm9jdXMoKTsKLSAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyCisgICAg
ICAgICAgICBhcmVhMS5zZWxlY3Rpb25TdGFydCA9IDA7CisgICAgICAgICAgICB2YXIgbGluZU51
bWJlciA9IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOwogICAgICAg
ICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiTm90IGZvY3VzZWQgb24gdGV4dCBhcmVhIGxpbmUg
bnVtYmVyOiAiICsgbGluZU51bWJlciArICJcbiI7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRi
b3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29y
cmVjdC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY1ZjhlZTIzMjkwNTll
NjMwMGM2ZWIxYzFmMDlkNDMzMzlkYjM3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3Qt
bGluZS1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgdGhh
dCBub24tbmF0aXZlIHRleHRib3hlcyByZXBvcnQgdGhlIGNvcnJlY3QgbGluZSBudW1iZXIuCisK
K0FkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hvdWxkbid0IGNo
YW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCisKK1NvbWUgdGV4dCBpbiBhIHRleHRib3gu
CitQQVNTIHRleHRib3hBeEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUt
cmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjA5NWM3NzJhMThjZWI3Mjg2ZTUzMjBmN2Y3ZTUyMDA4MGFlNTNm
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbApAQCAtMCww
ICsxLDMxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUM+Cis8aHRtbCBpZD0iaHRtbCI+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0cyB0aGF0IG5vbi1uYXRpdmUgdGV4dGJveGVzIHJlcG9ydCB0aGUgY29ycmVjdCBsaW5lIG51
bWJlci4KKzxwPkFkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hv
dWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCis8ZGl2IHJvbGU9InRleHRi
b3giIGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+
U29tZSB0ZXh0IGluIGEgdGV4dGJveC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBhcmlhVGV4dEJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgICAgICBhcmlhVGV4dEJveC5mb2N1
cygpOworICAgICAgICB2YXIgdGV4dGJveEF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJlKCJ0ZXh0Ym94QXhFbGVtZW50
Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114415</attachid>
            <date>2011-11-09 18:19:24 -0800</date>
            <delta_ts>2011-11-28 20:30:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111110131921.patch</filename>
            <type>text/plain</type>
            <size>35096</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk3NjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZDZmZGNlOWE3MTY0N2Jh
MDc1ZGE1ODc0YzA5MDU2MmE0ZDg2M2JjLi5iMGNiYjZmNTllODg0ZGJkNTgzYTU4NjJjNmQ4Y2U1
MDRkZjE1NTgxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTEtMTEtMDEgIEFsaWNl
IEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJl
Y3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51
bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKToKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6Omhhc0FYRWRpdGluZ0VsZW1lbnRzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNBWEVkaXRhYmxlKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om1vZGlmeSk6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JB
ZnRlcik6CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlZpc2libGVQb3NpdGlvbjo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub2RlSXNFZGl0YWJs
ZUZvclJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6CisgICAg
ICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0VkaXRhYmxlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
ZWRpdGFibGVSb290Rm9yUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcu
aDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpw
cmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisgICAg
ICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTEtMDkgIEtlbnRhcm8gSGFy
YSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlcGxhY2UgW0NhbkJlQ29uc3Ry
dWN0ZWRdIElETCB3aXRoIFtDb25zdHJ1Y3Rvcl0gSURMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBjMjRiZDNiZmQ5YTYzN2Y5YTUxNDQ4
ZjQ2NTcwODkxMWVmZjU2MmU3Li4zMjQ0YmE0Nzk0OTgwMWMwZTRlYzdmNWJlYWY1MTE2ODk2ODll
YmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAKQEAgLTI1Myw3ICsyNTMsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hl
OjpnZXRPckNyZWF0ZShXaWRnZXQqIHdpZGdldCkKIAogICAgIGlmIChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYmogPSBnZXQod2lkZ2V0KSkKICAgICAgICAgcmV0dXJuIG9iajsKLSAgICAKKwogICAg
IFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdPYmogPSAwOwogICAgIGlmICh3aWRnZXQt
PmlzRnJhbWVWaWV3KCkpCiAgICAgICAgIG5ld09iaiA9IEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8U2Nyb2xsVmlldyo+KHdpZGdldCkpOwpAQCAtMjc3LDYgKzI3
Nyw4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFJl
bmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBvYmo7CiAKICAgICBSZWZQdHI8
QWNjZXNzaWJpbGl0eU9iamVjdD4gbmV3T2JqID0gY3JlYXRlRnJvbVJlbmRlcmVyKHJlbmRlcmVy
KTsKKyAgICBpZiAobmV3T2JqLT5pc0FSSUFUZXh0Q29udHJvbCgpKQorICAgICAgICBtX2hhc0FY
RWRpdGluZ0VsZW1lbnRzID0gdHJ1ZTsKIAogICAgIGdldEFYSUQobmV3T2JqLmdldCgpKTsKIApA
QCAtNjQzLDUgKzY0NSwzNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9y
VmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2VyRAogICAgIAogICAgIGNh
Y2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2NvbnN0IEVsZW1lbnQqIEFY
T2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3QgTm9kZSogbm9k
ZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSAwOworICAgIGNvbnN0IEVsZW1lbnQq
IHJvb3RFZGl0YWJsZUVsZW1lbnQgPSBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisKKyAg
ICBjb25zdCBFbGVtZW50KiBlbGVtZW50ID0gbm9kZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVt
ZW50KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVudCgpOworICAgIGZvciAoIDsgZWxlbWVudCAm
JiAhZWxlbWVudC0+aGFzVGFnTmFtZShib2R5VGFnKTsgZWxlbWVudCA9IGVsZW1lbnQtPnBhcmVu
dEVsZW1lbnQoKSkgeworICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZWxlbWVudCkpCisg
ICAgICAgICAgICByZXN1bHQgPSBlbGVtZW50OworICAgIH0KKworICAgIGlmIChyZXN1bHQpCisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudDsK
K30KKworYm9vbCBBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKiBu
b2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29u
c3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JOb2RlID0gZ2V0T3JDcmVhdGUobm9k
ZS0+cmVuZGVyZXIoKSk7CisgICAgaWYgKCFheE9iamVjdEZvck5vZGUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIHJldHVybiBheE9iamVjdEZvck5vZGUtPmlzVGV4dENvbnRyb2woKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyNzc4OWZiYjhkMjM0YTY4MzZlZDBlZTc5ZjNmMTIw
MjJmZTkzYzc2Li4yMzNkYTJlM2Y3MDk3NjU1MjM4MzE1NTQxNGUwMjViY2RkZjE0ZDQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTA0LDYg
KzEwNCwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZUFYSUQoQWNjZXNzaWJpbGl0eU9i
amVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1faWRz
SW5Vc2UuY29udGFpbnMoaWQpOyB9CisKKyAgICBib29sIGhhc0FYRWRpdGluZ0VsZW1lbnRzKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNBWEVkaXRpbmdFbGVtZW50czsgfQorICAgIGNvbnN0IEVsZW1l
bnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3QgTm9kZSopOworICAgIGJvb2wg
bm9kZUlzQVhFZGl0YWJsZShjb25zdCBOb2RlKiBub2RlKSB7IHJldHVybiByb290QVhFZGl0YWJs
ZUVsZW1lbnRGb3JOb2RlKG5vZGUpOyB9CisgICAgYm9vbCBub2RlSXNUZXh0Q29udHJvbChjb25z
dCBOb2RlKik7CisKICAgICBBWElEIHBsYXRmb3JtR2VuZXJhdGVBWElEKCkgY29uc3Q7CiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0RnJvbUFYSUQoQVhJRCBpZCkgY29uc3QgeyByZXR1
cm4gbV9vYmplY3RzLmdldChpZCkuZ2V0KCk7IH0KIApAQCAtMTYzLDYgKzE2OSw3IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGJvb2wgZ0FjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VF
bmFibGVkOwogICAgIAogICAgIEhhc2hTZXQ8QVhJRD4gbV9pZHNJblVzZTsKKyAgICBib29sIG1f
aGFzQVhFZGl0aW5nRWxlbWVudHM7CiAgICAgCiAgICAgVGltZXI8QVhPYmplY3RDYWNoZT4gbV9u
b3RpZmljYXRpb25Qb3N0VGltZXI7CiAgICAgVmVjdG9yPHBhaXI8UmVmUHRyPEFjY2Vzc2liaWxp
dHlPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4gPiBtX25vdGlmaWNhdGlvbnNUb1Bvc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAppbmRleCAxNWE2OTFjZmJkZTliNGU1YzNiZDQzMTUxNDRlMzI4OWRmMGIwNjJhLi40ZmNhMzE3
Mzk1NmQ2YmQxNDA1YmNmMjJmNjg2YTRjNWY5NGM2OWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTk0MiwyMSAr
OTQyLDI2IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAgICAgaWYgKHZpc2libGVQb3MuaXNO
dWxsKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgdW5zaWduZWQgbGluZUNvdW50ID0gMDsK
KyAgICAvLyBpZiB0aGUgcG9zaXRpb24gaXMgbm90IGluIHRoZSBzYW1lIGVkaXRhYmxlIHJlZ2lv
biBhcyB0aGlzIEFYIG9iamVjdCwgcmV0dXJuIC0xCisgICAgTm9kZSogY29udGFpbmVyTm9kZSA9
IHZpc2libGVQb3MuZGVlcEVxdWl2YWxlbnQoKS5jb250YWluZXJOb2RlKCk7CisgICAgaWYgKCFj
b250YWluZXJOb2RlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShub2RlKCkpICYmICFub2Rl
KCktPmNvbnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGNvbnRhaW5lck5vZGUpKQorICAgICAgICBy
ZXR1cm4gLTE7CisKKyAgICBpbnQgbGluZUNvdW50ID0gLTE7CiAgICAgVmlzaWJsZVBvc2l0aW9u
IGN1cnJlbnRWaXNpYmxlUG9zID0gdmlzaWJsZVBvczsKICAgICBWaXNpYmxlUG9zaXRpb24gc2F2
ZWRWaXNpYmxlUG9zOwogCiAgICAgLy8gbW92ZSB1cCB1bnRpbCB3ZSBnZXQgdG8gdGhlIHRvcAog
ICAgIC8vIEZJWE1FOiBUaGlzIG9ubHkgdGFrZXMgdXMgdG8gdGhlIHRvcCBvZiB0aGUgcm9vdEVk
aXRhYmxlRWxlbWVudCwgbm90IHRoZSB0b3Agb2YgdGhlCiAgICAgLy8gdG9wIGRvY3VtZW50Lgot
ICAgIHdoaWxlIChjdXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2FtZUxpbmUo
Y3VycmVudFZpc2libGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKSB7Ci0gICAgICAgICsrbGluZUNv
dW50OworICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0gY3VycmVudFZpc2libGVQ
b3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGlu
ZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAgVmlzaWJsZVBvc2l0aW9u
IHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQb3Ms
IDAsIENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkpOwogICAgICAgICBjdXJyZW50VmlzaWJs
ZVBvcyA9IHByZXZWaXNpYmxlUG9zOwotICAgIH0KKyAgICAgICAgKytsaW5lQ291bnQ7CisgICAg
fSAgd2hpbGUgKGN1cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShj
dXJyZW50VmlzaWJsZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwogCi0gICAgcmV0dXJuIGxpbmVD
b3VudCAtIDE7CisgICAgcmV0dXJuIGxpbmVDb3VudDsKIH0KIAogLy8gTk9URTogQ29uc2lkZXIg
cHJvdmlkaW5nIHRoaXMgdXRpbGl0eSBtZXRob2QgYXMgQVggQVBJCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cAppbmRleCA0YTg5OTRjYTllNzJjZTE2ZjNhM2M1Yjg4MzZhZDdhYmM5ODIxYmVjLi5mZTI3Y2Uw
NGQ1OTJhZTIyMjkzYzgxYTZkMTY0MTVhNTMzYTczNDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAK
QEAgLTI1MjksNyArMjUyOSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRl
eEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvCiAgICAgICAgIHJl
dHVybiAwOwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRpb24gPSBwb3MuZGVlcEVxdWl2
YWxlbnQoKTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCByb290RWRpdGFibGVF
bGVtZW50Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9kZSkKKyAgICBpZiAoaW5kZXhQ
b3NpdGlvbi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290KGluZGV4UG9zaXRpb24sIENh
bm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkpICE9IG5vZGUpCiAgICAgICAgIHJldHVybiAwOwog
ICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpAQCAtMjU0NiwzOCArMjU0Niw2IEBAIGlu
dCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24mIHBvCiAjZW5kaWYKIH0KIAotRWxlbWVudCogQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6cm9vdEVkaXRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJiBwb3NpdGlvbikgY29uc3QKLXsKLSAgICAvLyBGaW5kIHRoZSByb290IGVkaXRhYmxlIG9y
IHBzZXVkby1lZGl0YWJsZSAoaS5lLiBoYXZpbmcgYW4gZWRpdGFibGUgQVJJQSByb2xlKSBlbGVt
ZW50LgotICAgIEVsZW1lbnQqIHJlc3VsdCA9IDA7Ci0gICAgCi0gICAgRWxlbWVudCogcm9vdEVk
aXRhYmxlRWxlbWVudCA9IHBvc2l0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKLQotICAgIGZv
ciAoRWxlbWVudCogZSA9IHBvc2l0aW9uLmVsZW1lbnQoKTsgZSAmJiBlICE9IHJvb3RFZGl0YWJs
ZUVsZW1lbnQ7IGUgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKLSAgICAgICAgaWYgKG5vZGVJc1Rl
eHRDb250cm9sKGUpKQotICAgICAgICAgICAgcmVzdWx0ID0gZTsKLSAgICAgICAgaWYgKGUtPmhh
c1RhZ05hbWUoYm9keVRhZykpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBpZiAo
cmVzdWx0KQotICAgICAgICByZXR1cm4gcmVzdWx0OwotCi0gICAgcmV0dXJuIHJvb3RFZGl0YWJs
ZUVsZW1lbnQ7Ci19Ci0KLWJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bm9kZUlzVGV4
dENvbnRyb2woY29uc3QgTm9kZSogbm9kZSkgY29uc3QKLXsKLSAgICBpZiAoIW5vZGUpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2Jq
ZWN0Rm9yTm9kZSA9IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIo
KSk7Ci0gICAgaWYgKCFheE9iamVjdEZvck5vZGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHJldHVybiBheE9iamVjdEZvck5vZGUtPmlzVGV4dENvbnRyb2woKTsKLX0KLQogTGF5b3V0
UmVjdCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpib3VuZHNGb3JWaXNpYmxlUG9zaXRpb25S
YW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25SYW5nZSYgdmlzaWJsZVBvc2l0aW9uUmFuZ2UpIGNv
bnN0CiB7CiAgICAgaWYgKHZpc2libGVQb3NpdGlvblJhbmdlLmlzTnVsbCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
Y3BwCmluZGV4IDU4YjdjZjQ5MjY1Y2VhOTA4ODBhNzYxNjAwOGJkYTY0MGFiMGIxOTUuLmUzZDE0
YWNmNDExMzQ1NjJlMGI2NjRjNTgwMWUxZTQ2YTRkZmY1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAg
LTc5NSw2ICs3OTUsMTIgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVM
ZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAogICAgICAgICBpZiAoKG5vZGUtPmlzSFRNTEVsZW1l
bnQoKSB8fCBub2RlLT5pc0RvY3VtZW50Tm9kZSgpKSAmJiBub2RlLT5yZW5kZXJlcigpKSB7CiAg
ICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPnJlbmRlcmVyKCktPnN0eWxlKCktPnVzZXJNb2RpZnko
KSkgewogICAgICAgICAgICAgY2FzZSBSRUFEX09OTFk6CisgICAgICAgICAgICAgICAgaWYgKGVk
aXRhYmxlTGV2ZWwgPT0gQVhFZGl0YWJsZSkgeworICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
ZG9jdW1lbnQoKSk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGRvY3Vt
ZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPm5vZGVJc0FYRWRpdGFibGUodGhpcyk7Cisg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGNhc2UgUkVBRF9XUklURToKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE2
MzcsNiArMTY0MywxOSBAQCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50
KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxl
RWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkgY29uc3QKK3sKKyAgICBp
ZiAocnVsZSA9PSBDYW5ub3RDcm9zc0FYRWRpdGluZ0JvdW5kYXJ5ICYmIGRvY3VtZW50KCktPmF4
T2JqZWN0Q2FjaGUoKS0+aGFzQVhFZGl0aW5nRWxlbWVudHMoKSkKKyAgICAgICAgcmV0dXJuIHJv
b3RBWEVkaXRhYmxlRWxlbWVudCgpOworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQo
KTsKK30KKworRWxlbWVudCogTm9kZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKHRoaXMpKTsKK30KKwogRWxlbWVudCog
Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCmluZGV4IGJkOTZmMDc4MDQ2NmM3MzkxZTExZjBjYzk1NzVhZmNkNjU0
NjI0NGIuLmRjZmU2YWUyZDU3M2MzMjA1YjkxZmY2ZTBhYTY4NmY5MmFlMTBiYTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAK
KyNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI2Nyw5
ICsyNjgsMTAgQEAgcHVibGljOgogCiAgICAgLy8gZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgp
IGlzIGRlcHJlY2F0ZWQuIFVzZSBlbmNsb3NpbmdCbG9jayBpbnN0ZWFkLgogICAgIEVsZW1lbnQq
IGVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBjb25zdDsKLSAgICAKICAgICBFbGVtZW50KiBy
b290RWRpdGFibGVFbGVtZW50KCkgY29uc3Q7Ci0gICAgCisgICAgRWxlbWVudCogcm9vdEVkaXRh
YmxlRWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUpIGNvbnN0OworICAgIEVsZW1l
bnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250
YWluaW5nQmxvY2tGbG93RWxlbWVudChOb2RlKik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBh
cnNlciB3aGVuIHRoaXMgZWxlbWVudCdzIGNsb3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzQ0LDYg
KzM0Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCk7CiAgICAgYm9v
bCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCisgICAgYm9vbCByZW5kZXJlcklzQVhFZGl0
YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShBWEVkaXRhYmxlKTsgfQog
ICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlKTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCkg
Y29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsgfQogICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpOwpAQCAtNjkwLDcgKzY5Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzZXREb2N1bWVudFJlY3Vyc2l2ZWx5KERvY3VtZW50Kik7CiAg
ICAgdm9pZCBzZXREb2N1bWVudChEb2N1bWVudCopOwogCi0gICAgZW51bSBFZGl0YWJsZUxldmVs
IHsgRWRpdGFibGUsIFJpY2hseUVkaXRhYmxlIH07CisgICAgZW51bSBFZGl0YWJsZUxldmVsIHsg
RWRpdGFibGUsIFJpY2hseUVkaXRhYmxlLCBBWEVkaXRhYmxlIH07CiAgICAgYm9vbCByZW5kZXJl
cklzRWRpdGFibGUoRWRpdGFibGVMZXZlbCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxlQ2hh
bmdlKFN0eWxlQ2hhbmdlVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRpbmdCb3VuZGFyeS5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRh
cnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1ZjJlYjRkZGUyOTY0YmE4ZGZhMGMwZWQ1YTg0Li5iODJh
ZjViMjczZWNlNjFiZTdlMTI1YWYxODBmMTNlYjI0ZDQxN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKQEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewogICAgIENhbkNyb3NzRWRp
dGluZ0JvdW5kYXJ5LAogICAgIENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LAorICAgIENhbm5v
dENyb3NzQVhFZGl0aW5nQm91bmRhcnksCiAgICAgQ2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCA4
MTE2OGQ3Yjc0MTczMTU1ZWRiOTBjNTVjNGUxOGRkZGU1MmJhZGFkLi5iNzVhMjRhYTZmYmViYWJj
YWQ5MTkyZjRiMGY5YTAxNzJjM2E2ZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNp
YmxlUG9zaXRpb24uY3BwCkBAIC00NDEsMTkgKzQ0MSwxOSBAQCBWaXNpYmxlUG9zaXRpb24gVmlz
aWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUoY29uc3QgVmlzaWJs
ZVBvcwogewogICAgIGlmIChwb3MuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBwb3M7Ci0gICAg
Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KGRlZXBFcXVpdmFs
ZW50KCkpOworCisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVz
cGVjdGluZ0FYRWRpdGluZyhkZWVwRXF1aXZhbGVudCgpKTsKICAgICAKICAgICAvLyBSZXR1cm4g
ZW1wdHkgcG9zaXRpb24gaWYgcG9zIGlzIG5vdCBzb21ld2hlcmUgaW5zaWRlIHRoZSBlZGl0YWJs
ZSByZWdpb24gY29udGFpbmluZyB0aGlzIHBvc2l0aW9uCiAgICAgaWYgKGhpZ2hlc3RSb290ICYm
ICFwb3MuZGVlcEVxdWl2YWxlbnQoKS5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZiho
aWdoZXN0Um9vdCkpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKLSAgICAgICAg
CisKICAgICAvLyBSZXR1cm4gcG9zIGl0c2VsZiBpZiB0aGUgdHdvIGFyZSBmcm9tIHRoZSB2ZXJ5
IHNhbWUgZWRpdGFibGUgcmVnaW9uLCBvciBib3RoIGFyZSBub24tZWRpdGFibGUKICAgICAvLyBG
SVhNRTogSW4gdGhlIG5vbi1lZGl0YWJsZSBjYXNlLCBqdXN0IGJlY2F1c2UgdGhlIG5ldyBwb3Np
dGlvbiBpcyBub24tZWRpdGFibGUgZG9lc24ndCBtZWFuIG1vdmVtZW50CiAgICAgLy8gdG8gaXQg
aXMgYWxsb3dlZC4gIFZpc2libGVTZWxlY3Rpb246OmFkanVzdEZvckVkaXRhYmxlQ29udGVudCBo
YXMgdGhpcyBwcm9ibGVtIHRvby4KLSAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChwb3MuZGVl
cEVxdWl2YWxlbnQoKSkgPT0gaGlnaGVzdFJvb3QpCisgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJv
b3RSZXNwZWN0aW5nQVhFZGl0aW5nKHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9v
dCkKICAgICAgICAgcmV0dXJuIHBvczsKLSAgCisKICAgICAvLyBSZXR1cm4gZW1wdHkgcG9zaXRp
b24gaWYgdGhpcyBwb3NpdGlvbiBpcyBub24tZWRpdGFibGUsIGJ1dCBwb3MgaXMgZWRpdGFibGUK
ICAgICAvLyBGSVhNRTogTW92ZSB0byB0aGUgcHJldmlvdXMgbm9uLWVkaXRhYmxlIHJlZ2lvbi4K
ICAgICBpZiAoIWhpZ2hlc3RSb290KQpAQCAtNDY4LDcgKzQ2OCw3IEBAIFZpc2libGVQb3NpdGlv
biBWaXNpYmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckFmdGVyKGNvbnN0IFZp
c2libGVQb3NpCiAgICAgaWYgKHBvcy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHBvczsKICAg
ICAKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QoZGVlcEVxdWl2
YWxlbnQoKSk7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290UmVz
cGVjdGluZ0FYRWRpdGluZyhkZWVwRXF1aXZhbGVudCgpKTsKICAgICAKICAgICAvLyBSZXR1cm4g
ZW1wdHkgcG9zaXRpb24gaWYgcG9zIGlzIG5vdCBzb21ld2hlcmUgaW5zaWRlIHRoZSBlZGl0YWJs
ZSByZWdpb24gY29udGFpbmluZyB0aGlzIHBvc2l0aW9uCiAgICAgaWYgKGhpZ2hlc3RSb290ICYm
ICFwb3MuZGVlcEVxdWl2YWxlbnQoKS5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZiho
aWdoZXN0Um9vdCkpCkBAIC00NzcsNyArNDc3LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFZpc2libGVQ
b3NpdGlvbjo6aG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQWZ0ZXIoY29uc3QgVmlzaWJsZVBvc2kK
ICAgICAvLyBSZXR1cm4gcG9zIGl0c2VsZiBpZiB0aGUgdHdvIGFyZSBmcm9tIHRoZSB2ZXJ5IHNh
bWUgZWRpdGFibGUgcmVnaW9uLCBvciBib3RoIGFyZSBub24tZWRpdGFibGUKICAgICAvLyBGSVhN
RTogSW4gdGhlIG5vbi1lZGl0YWJsZSBjYXNlLCBqdXN0IGJlY2F1c2UgdGhlIG5ldyBwb3NpdGlv
biBpcyBub24tZWRpdGFibGUgZG9lc24ndCBtZWFuIG1vdmVtZW50CiAgICAgLy8gdG8gaXQgaXMg
YWxsb3dlZC4gIFZpc2libGVTZWxlY3Rpb246OmFkanVzdEZvckVkaXRhYmxlQ29udGVudCBoYXMg
dGhpcyBwcm9ibGVtIHRvby4KLSAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChwb3MuZGVlcEVx
dWl2YWxlbnQoKSkgPT0gaGlnaGVzdFJvb3QpCisgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3RS
ZXNwZWN0aW5nQVhFZGl0aW5nKHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkK
ICAgICAgICAgcmV0dXJuIHBvczsKIAogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiB0
aGlzIHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSwgYnV0IHBvcyBpcyBlZGl0YWJsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKaW5kZXggMjBlZWU5NGRlMmRiMjJmY2Zj
ODdlNTUyOGY4NGQxYTgxOTcwM2RiNS4uNTcyZjc3NjNlOTY5ZTc3MjNkMTIzNzgyMTEzMDY3ZjM1
ZGNkYzI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCkBAIC04
MSw2ICs4MSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90IGhhbmRs
ZSBbdGFibGUsIDBdIGNvcnJlY3RseS4KICAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gbV9kZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQb3Np
dGlvbi5kZXByZWNhdGVkTm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiAwOyB9CisgICAg
RWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUg
cnVsZSkgY29uc3QgeyByZXR1cm4gbV9kZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQ
b3NpdGlvbi5kZXByZWNhdGVkTm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpIDogMDsg
fTsKICAgICAKICAgICB2b2lkIGdldElubGluZUJveEFuZE9mZnNldChJbmxpbmVCb3gqJiBpbmxp
bmVCb3gsIGludCYgY2FyZXRPZmZzZXQpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmNwcAppbmRleCBmNzVlYzNkZTNkOWExODk3OTQ1YTNkODU3NzQ0ZmZiMTc0
YzczMmNkLi45NjE0ZTAzZDViNmI4NzA4ZTFkNGM2ZjYxYTdhMjk5Mzc2OGIyZjRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9i
amVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4
dC5oIgogI2luY2x1ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAgLTEwNCwxOSArMTA1LDI4IEBAIGlu
dCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxl
bnQoKSwgYi5kZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9v
dChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShO
b2RlKiBub2RlLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKK3sKKyAgICBpZiAo
cnVsZSA9PSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQVhFZGl0
aW5nQm91bmRhcnkpCisgICAgICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzQVhFZGl0YWJsZSgp
OworICAgIHJldHVybiBmYWxzZTsKK30KKworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25z
dCBQb3NpdGlvbiYgcG9zaXRpb24sIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQog
ewogICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICgh
bm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAotICAgIE5vZGUqIGhpZ2hlc3RSb290
ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24pOworICAgIE5vZGUqIGhpZ2hlc3RS
b290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24sIHJ1bGUpOwogICAgIGlmICgh
aGlnaGVzdFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIG5vZGUgPSBoaWdoZXN0
Um9vdDsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXJJc0Vk
aXRhYmxlKCkpCisgICAgICAgIGlmIChub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSkp
CiAgICAgICAgICAgICBoaWdoZXN0Um9vdCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNU
YWdOYW1lKGJvZHlUYWcpKQogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjYsNiArMTM2LDE4IEBA
IE5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQogICAg
IHJldHVybiBoaWdoZXN0Um9vdDsKIH0KIAorTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3Bl
Y3RpbmdBWEVkaXRpbmcoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQoreworICAgIEVkaXRpbmdC
b3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnk7Cisg
ICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgcG9zaXRpb24u
ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpCisgICAgICAgICYmIHBvc2l0aW9uLmRv
Y3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+aGFzQVhFZGl0aW5nRWxlbWVudHMoKSkgeworICAg
ICAgICBydWxlID0gQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFyeTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gaGlnaGVzdEVkaXRhYmxlUm9vdChwb3NpdGlvbiwgcnVsZSk7Cit9CisKKwogTm9kZSog
bG93ZXN0RWRpdGFibGVBbmNlc3RvcihOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZSkKQEAg
LTE0Myw3ICsxNjUsNyBAQCBOb2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUqIG5vZGUp
CiAgICAgcmV0dXJuIGxvd2VzdFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHAsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewogICAgIE5vZGUqIG5vZGUg
PSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTUyLDcgKzE3NCw3IEBA
IGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2Rl
LT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9k
ZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJ
c0VkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxl
KTsKIH0KIAogYm9vbCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9z
KQpAQCAtMTc0LDcgKzE5Niw3IEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiBwKQogICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRpdGFibGUo
KTsKIH0KIAotRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHApCitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwg
RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAu
Y29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE4Myw3ICsyMDUsNyBAQCBFbGVt
ZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAo
bm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAg
IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJvb3RF
ZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudChy
dWxlKTsKIH0KIAogLy8gRmluZHMgdGhlIGVuY2xvc2luZyBlbGVtZW50IHVudGlsIHdoaWNoIHRo
ZSB0cmVlIGNhbiBiZSBzcGxpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAppbmRl
eCA1MWIwZGE4YzQ4Mjk5ODcyZTg2M2I2MTI2OTdmZjYxMWM3ZjkyZjg2Li45YzcyN2E1ZGI4Y2I4
ZDZiYjExYmUzMGNmNjJjNDg0NDJmNDhhNDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5oCkBAIC01NCw3ICs1NCw4IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAvLyBGdW5j
dGlvbnMgcmV0dXJuaW5nIE5vZGUKIAogTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKLU5v
ZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RF
ZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUg
PSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290
UmVzcGVjdGluZ0FYRWRpdGluZyhjb25zdCBQb3NpdGlvbiYpOwogTm9kZSogaGlnaGVzdEVuY2xv
c2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBlKShjb25z
dCBOb2RlKiksCiAgICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NF
ZGl0aW5nQm91bmRhcnksIE5vZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hlc3ROb2Rl
VG9SZW1vdmVJblBydW5pbmcoTm9kZSopOwpAQCAtNzgsNiArNzksNyBAQCBpbnQgY2FyZXRNaW5P
ZmZzZXQoY29uc3QgTm9kZSopOwogaW50IGNhcmV0TWF4T2Zmc2V0KGNvbnN0IE5vZGUqKTsKIAog
Ly8gYm9vbGVhbiBmdW5jdGlvbnMgb24gTm9kZQorYm9vbCBub2RlSXNFZGl0YWJsZUZvclJ1bGUo
Tm9kZSosIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSk7CiAKIC8vIEZJWE1FOiBlZGl0aW5n
SWdub3Jlc0NvbnRlbnQsIGNhbkhhdmVDaGlsZHJlbkZvckVkaXRpbmcsIGFuZCBpc0F0b21pY05v
ZGUKIC8vIHNob3VsZCBiZSByZW5hbWVkIHRvIHJlZmxlY3QgaXRzIHVzYWdlLgpAQCAtMTUwLDcg
KzE1Miw3IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9z
aXRpb24mKTsKIAogLy8gYm9vbGVhbiBmdW5jdGlvbnMgb24gUG9zaXRpb24KICAgICAKLWJvb2wg
aXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzRWRpdGFibGVQb3Np
dGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5v
dENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJik7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVt
ZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lh
bEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKQEAgLTIyMCw3ICsyMjIsNyBAQCBQYXNzUmVmUHRy
PEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50KiwgUGFzc1JlZlB0cjxOb2Rl
PiB0YWJUZXh0Tm9kZQogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChE
b2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFiVGV4dCk7CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNy
ZWF0ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KERvY3VtZW50Kik7CiAKLUVsZW1lbnQqIGVkaXRh
YmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CitFbGVtZW50KiBlZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIEVsZW1lbnQqIHVuc3BsaXR0YWJsZUVs
ZW1lbnRGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwogCiAvLyBCb29sZWFuIGZ1bmN0aW9u
cyBvbiBFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAppbmRl
eCBiMzcyOTU2ZWYxNGNjNDYzZDg2MDY4MTk3N2EwNDIzMTgwYWQ5MDYwLi43OWJiZWVjOTdhNWI3
NWExYzEwZThjMjk1MDg5M2M5OGYyZjRmYjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlz
aWJsZV91bml0cy5jcHAKQEAgLTUxOCwxMiArNTE4LDEyIEBAIGJvb2wgaXNFbmRPZkxpbmUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZwKQogfQogCiAvLyBUaGUgZmlyc3QgbGVhZiBiZWZvcmUgbm9k
ZSB0aGF0IGhhcyB0aGUgc2FtZSBlZGl0YWJpbGl0eSBhcyBub2RlLgotc3RhdGljIE5vZGUqIHBy
ZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBw
cmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpCiB7Ci0gICAg
Ym9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRp
dGFibGUgPSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSk7CiAgICAgTm9kZSogbiA9
IG5vZGUtPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAo
ZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJs
ZSA9PSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobiwgcnVsZSkpCiAgICAgICAgICAgICByZXR1cm4g
bjsKICAgICAgICAgbiA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBAIC01NTMsMTEg
KzU1MywxMSBAQCBzdGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURpcmVjdGlvblBv
aW50VG9Mb2NhbFBvaW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJbnRQb2ludChy
b290LT5zZWxlY3Rpb25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1Bv
aW50LnkoKSk7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2lu
dCkKK1Zpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3Np
dGlvbi5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2Rl
KCk7Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAg
IE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRp
bmcocCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7
CiAgICAgCkBAIC01ODQsMTEgKzU4NCwxMSBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5l
UG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAg
ICAgICAvLyBOZWVkIHRvIG1vdmUgYmFjayB0byBwcmV2aW91cyBjb250YWluaW5nIGVkaXRhYmxl
IGJsb2NrIGluIHRoaXMgcm9vdCBlZGl0YWJsZQogICAgICAgICAvLyBibG9jayBhbmQgZmluZCB0
aGUgbGFzdCByb290IGxpbmUgYm94IGluIHRoYXQgYmxvY2suCiAgICAgICAgIE5vZGUqIHN0YXJ0
QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwotICAgICAg
ICBOb2RlKiBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlKTsKKyAgICAg
ICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgcnVsZSk7
CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25J
bmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobiwgcnVsZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGln
aGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hl
c3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhF
ZGl0aW5nKGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBuLT5oYXNU
YWdOYW1lKGJyVGFnKSA/IHBvc2l0aW9uQmVmb3JlTm9kZShuKSA6IGNyZWF0ZUxlZ2FjeUVkaXRp
bmdQb3NpdGlvbihuLCBjYXJldE1heE9mZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlz
Q2FuZGlkYXRlKCkpIHsKQEAgLTYwMSw3ICs2MDEsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlv
dXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGlu
dAogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJF
QU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuLCBydWxlKTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAgLTYxOCw3ICs2MTgs
NyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgIC8vIENvdWxkIG5vdCBmaW5kIGEgcHJl
dmlvdXMgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhlIGZpcnN0IGxp
bmUuCiAgICAgLy8gTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGNvbnRlbnQgaW4gdGhpcyBibG9j
aywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgc3RhcnQgb2YgdGhl
IGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJl
cklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUtPmRvY3Vt
ZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9k
ZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVu
dChydWxlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICgh
cm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1
cm4gVmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dO
U1RSRUFNKTsKQEAgLTYzOCwyNiArNjM4LDI3IEBAIHN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1cm4gMDsKIH0K
IAotc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQor
c3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0
aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5
KQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgYm9vbCBl
ZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUg
PSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSk7CiAgICAgTm9kZSogbiA9IG5vZGUt
Pm5leHRMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJsZSA9
PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG5vZGVJ
c0VkaXRhYmxlRm9yUnVsZShuLCBydWxlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAg
ICBuID0gbi0+bmV4dExlYWZOb2RlKCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1WaXNp
YmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBuZXh0
TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQg
bGluZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsK
KyAgICAvLyBUT0RPOiBwdWxsIG91dCBjb2RlIHRoYXQgaXMgY29tbW9uIGJldHdlZW4gdGhpcyBh
bmQgcHJldmlvdXNMaW5lUG9zaXRpb24uCiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlv
bi5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7
Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5v
ZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdFJlc3BlY3RpbmdBWEVkaXRpbmco
cCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAg
ICAgCkBAIC02ODYsOSArNjg3LDkgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAgICAg
Tm9kZSogc3RhcnRCbG9jayA9IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9k
ZSk7CiAgICAgICAgIE5vZGUqIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwg
cC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRC
bG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG4pKQotICAgICAgICAg
ICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBu
ZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgcnVsZSk7CiAgICAgICAgIHdoaWxlIChuKSB7
Ci0gICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJl
Zm9yZU5vZGUobikpICE9IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0
YWJsZVJvb3RSZXNwZWN0aW5nQVhFZGl0aW5nKGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShu
KSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQ
b3NpdGlvbiBwb3MgPSBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNaW5PZmZz
ZXQobikpOwogICAgICAgICAgICAgaWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC03MDIsNyAr
NzAzLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KIAogICAgICAgICAgICAgICAgIHJldHVy
biBWaXNpYmxlUG9zaXRpb24ocG9zLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBu
ID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwogICAgICAgICB9CiAgICAg
fQogICAgIApAQCAtNzE5LDcgKzcyMCw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAg
Ly8gQ291bGQgbm90IGZpbmQgYSBuZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5
IGJlIG9uIHRoZSBsYXN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250
ZW50IGluIHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8g
dGhlIGVuZCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9
IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgp
IDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9v
dEVsZW1lbnQgPSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSkgPyBub2RlLT5yb290
RWRpdGFibGVFbGVtZW50KHJ1bGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50
KCk7CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bigpOwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obGFzdFBvc2l0aW9uSW5Ob2RlKHJvb3RF
bGVtZW50KSwgRE9XTlNUUkVBTSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L3Zpc2libGVfdW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5o
CmluZGV4IDRkOGUwODMxNTExZGJmMDQzYTA0NTY2NDljMzM4ZThlOGY0ODgwMTMuLjRhOGQzY2Fi
OThlZDIyODRjZWExOGQyZWZlNWVkNjQ4MjNjYjI1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
dmlzaWJsZV91bml0cy5oCkBAIC01NCw4ICs1NCw4IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0U2Vu
dGVuY2VQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiAvLyBsaW5lcwogVmlzaWJs
ZVBvc2l0aW9uIHN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIFZpc2libGVQ
b3NpdGlvbiBlbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwotVmlzaWJsZVBvc2l0
aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGlu
ZURpcmVjdGlvblBvaW50KTsKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50KTsKK1Zpc2libGVQb3Np
dGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxp
bmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jv
c3NFZGl0aW5nQm91bmRhcnkpOworVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRpbmdCb3Vu
ZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIGJvb2wgaW5T
YW1lTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uICYp
OwogYm9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNF
bmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBlNjFkZWQ1ZGQyYjFj
MzJkYWE4YzUxY2IzOWYwNjZmNzc1YTNiOGEuLmU2MmUyYmYyZGQ0YjhiYTE2NDRmOWI5ZDViZTU0
NGE3MjcwZWFhZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMS0wMSAgQWxpY2UgQm94
aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQgY29ycmVjdCBs
aW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
dGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWw6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5l
LW51bWJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbDog
QWRkZWQuCisKIDIwMTEtMTEtMDkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgSW1wbGVtZW50IGR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2soKSBm
b3IgTWFjIGxheW91dFRlc3RDb250cm9sbGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5odG1sIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1i
ZXIuaHRtbAppbmRleCBhNTBmNjM3MjRlMzlhYjE4ZjQ3ZTJlNTEzM2Y5NDUzYzA0MzViZGI1Li5m
YjJkOWM1YTU4MzY4OWM1YjhiYjY5ODcyNzZmMTRlNzJmYzBjMzBiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9u
LXBvaW50LWxpbmUtbnVtYmVyLmh0bWwKQEAgLTQsMzkgKzQsNDEgQEAKICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8Ym9keT4KLSAgICAKICAg
ICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgIAogICAgIDx0ZXh0YXJlYSBuYW1lPSJhcmVh
MSIgaWQ9ImFyZWExIiByb3dzPSI1IiBjb2xzPSI0MCI+CiBsaW5lIDEKIGxpbmUgMgogbGluZSAz
CiAgICAgPC90ZXh0YXJlYT4KIAotICAgIDx0ZXh0YXJlYSBuYW1lPSJhcmVhMiIgaWQ9ImFyZWEy
IiByb3dzPSI1IiBjb2xzPSI0MCI+PC90ZXh0YXJlYT4KLSAgICAgCisgICAgPHRleHRhcmVhIG5h
bWU9ImFyZWEyIiBpZD0iYXJlYTIiIHJvd3M9IjUiIGNvbHM9IjQwIj4KK2xpbmUgMQorPC90ZXh0
YXJlYT4KKwogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpIHsKICAgICAgICAgICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0Iik7CiAKICAgICAgICAgICAgIHZhciBhcmVhMSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhcmVhMSIpOwogICAgICAgICAgICAgYXJlYTEuZm9jdXMoKTsKKyAgICAgICAg
ICAgIHZhciBhcmVhMUFYVUlFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQ7CiAKICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgMzsgaysrKSB7CiAg
ICAgICAgICAgICAgICAgYXJlYTEuc2VsZWN0aW9uU3RhcnQgPSAoayo3KTsKICAgICAgICAgICAg
ICAgICBhcmVhMS5zZWxlY3Rpb25FbmQgPSAoayo3KTsKLSAgICAgICAgICAgICAgICB2YXIgbGlu
ZU51bWJlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50Lmluc2VydGlv
blBvaW50TGluZU51bWJlcjsgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICB2YXIgbGluZU51
bWJlciA9IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOwogICAgICAg
ICAgICAgICAgIGlmIChsaW5lTnVtYmVyID09IGspIHsKLSAgICAgICAgICAgICAgICAgICAgcmVz
dWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBQYXNzIFsiICsg
YXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOyAgICAgICAK
KyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIp
IExpbmUgTnVtYmVyOiBQYXNzIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGlu
ZU51bWJlciArICJdXG4iOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayAr
ICIpIExpbmUgTnVtYmVyOiBGYWlsIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsg
bGluZU51bWJlciArICJdXG4iOyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lmlu
bmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBGYWlsIFsiICsgYXJlYTEu
c2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgdmFyIGFyZWEyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImFyZWEyIik7CiAgICAgICAgICAgICBhcmVhMi5mb2N1cygpOwotICAg
ICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIKKyAgICAgICAgICAgIGFyZWExLnNlbGVj
dGlvblN0YXJ0ID0gMDsKKyAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYXJlYTFBWFVJRWxl
bWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7CiAgICAgICAgICAgICByZXN1bHQuaW5uZXJU
ZXh0ICs9ICJOb3QgZm9jdXNlZCBvbiB0ZXh0IGFyZWEgbGluZSBudW1iZXI6ICIgKyBsaW5lTnVt
YmVyICsgIlxuIjsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29y
cmVjdC1saW5lLW51bWJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjVmOGVlMjMyOTA1OWU2MzAwYzZlYjFjMWYwOWQ0MzMz
OWRiMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyB0aGF0IG5vbi1uYXRpdmUgdGV4dGJv
eGVzIHJlcG9ydCB0aGUgY29ycmVjdCBsaW5lIG51bWJlci4KKworQWRkaW5nIHNldmVyYWwgcGFy
YWdyYXBocyBhYm92ZSB0aGUgdGV4dGJveCBzaG91bGRuJ3QgY2hhbmdlIHRoZSBsaW5lIG51bWJl
ciByZXBvcnRlZC4KKworU29tZSB0ZXh0IGluIGEgdGV4dGJveC4KK1BBU1MgdGV4dGJveEF4RWxl
bWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGlu
ZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MDk1Yzc3MmExOGNlYjcyODZlNTMyMGY3ZjdlNTIwMDgwYWU1M2Y2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJl
cG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQz4KKzxodG1sIGlkPSJodG1sIj4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIHRoYXQgbm9uLW5hdGl2
ZSB0ZXh0Ym94ZXMgcmVwb3J0IHRoZSBjb3JyZWN0IGxpbmUgbnVtYmVyLgorPHA+QWRkaW5nIHNl
dmVyYWwgcGFyYWdyYXBocyBhYm92ZSB0aGUgdGV4dGJveCBzaG91bGRuJ3QgY2hhbmdlIHRoZSBs
aW5lIG51bWJlciByZXBvcnRlZC4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9ImFyaWFUZXh0Qm94
IiBhcmlhLW11bHRpbGluZT0iZmFsc2UiIHRhYmluZGV4PSIwIj5Tb21lIHRleHQgaW4gYSB0ZXh0
Ym94LjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisKKyAgICAgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFy
aWFUZXh0Qm94Iik7CisgICAgICAgIGFyaWFUZXh0Qm94LmZvY3VzKCk7CisgICAgICAgIHZhciB0
ZXh0Ym94QXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CisKKyAgICAgICAgc2hvdWxkQmUoInRleHRib3hBeEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5l
TnVtYmVyIiwgIjAiKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116878</attachid>
            <date>2011-11-28 20:30:57 -0800</date>
            <delta_ts>2011-12-12 21:53:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111129153054.patch</filename>
            <type>text/plain</type>
            <size>51027</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQxOTRiMjkwNWQwNDll
OGQ1MjZlMmRmYzMyMmY5Mjc4ZDg1NzQzZS4uZmFhYWNjZjI0NTFmMmMyNjMxN2Y3MGM5NmQ0MTM3
N2Y4NWFlOWEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNSBAQAorMjAxMS0xMS0wMSAgQWxp
Y2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQgY29y
cmVjdCBsaW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUt
bnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNBWEVkaXRhYmxlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2wpOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFzQVhFZGl0aW5nRWxlbWVudHMpOgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbik6CisgICAgICAgICogZG9t
L05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0FYRWRpdGFibGUpOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5Lmg6CisgICAgICAgICogZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5
KToKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpWaXNpYmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckJlZm9yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRP
ckFmdGVyKToKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAg
KiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5vZGVJc0VkaXRh
YmxlRm9yUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290KToKKyAg
ICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3RSZXNwZWN0aW5nQVhFZGl0aW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OmlzRWRpdGFibGVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjplZGl0YWJsZVJvb3RGb3JQb3NpdGlvbik6CisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGlu
Zy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6
OnByZXZpb3VzTGluZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKToKKyAg
ICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKworMjAxMS0xMS0yNCAgUGF0cmljayBH
YW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBCdWlsZCBmaXggZm9yIEMr
KyBiaW5kaW5ncy4KKworICAgICAgICAqIGJpbmRpbmdzL2NwcC9XZWJET01FdmVudFRhcmdldC5j
cHA6IEFkZGVkICNpZiBFTkFCTEUoKSBndWFyZHMuCisKKzIwMTEtMTEtMDEgIEFsaWNlIEJveGhh
bGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3QgbGlu
ZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5o
dG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzQVhFZGl0YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKToKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6Omhhc0FYRWRpdGluZ0VsZW1lbnRzKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6bGluZUZvclBvc2l0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNBWEVkaXRhYmxlKToKKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om1vZGlmeSk6CisgICAg
ICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Vmlz
aWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JBZnRlcik6
CisgICAgICAgICogZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
OlZpc2libGVQb3NpdGlvbjo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZWRpdGlu
Zy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub2RlSXNFZGl0YWJsZUZvclJ1
bGUpOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6CisgICAgICAgIChX
ZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290UmVzcGVjdGluZ0FYRWRpdGluZyk6CisgICAgICAg
IChXZWJDb3JlOjppc0VkaXRhYmxlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6ZWRpdGFi
bGVSb290Rm9yUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAg
ICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91
c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6CisgICAgICAgICog
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTEtMjUgIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBXZWIgSW5zcGVjdG9y
OiBnZXQgcmlkIG9mIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ6OnNlbmRGcm9udGVuZExvYWRl
ZCBtZXRob2QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCmluZGV4IGMyNGJkM2JmZDlhNjM3ZjlhNTE0NDhmNDY1NzA4OTExZWZmNTYyZTcuLjA2NzE0
ZDBlMTRiOTc4YzcyMTg2ZDM5MjE4MGJhY2EyMjljYzg3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMjUzLDcgKzI1Myw3IEBAIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFdpZGdldCogd2lk
Z2V0KQogCiAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiA9IGdldCh3aWRnZXQpKQog
ICAgICAgICByZXR1cm4gb2JqOwotICAgIAorCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3Q+IG5ld09iaiA9IDA7CiAgICAgaWYgKHdpZGdldC0+aXNGcmFtZVZpZXcoKSkKICAgICAgICAg
bmV3T2JqID0gQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OmNyZWF0ZShzdGF0aWNfY2FzdDxTY3Jv
bGxWaWV3Kj4od2lkZ2V0KSk7CkBAIC0yNzcsNiArMjc3LDggQEAgQWNjZXNzaWJpbGl0eU9iamVj
dCogQVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAg
ICAgICAgcmV0dXJuIG9iajsKIAogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdP
YmogPSBjcmVhdGVGcm9tUmVuZGVyZXIocmVuZGVyZXIpOworICAgIGlmIChuZXdPYmotPmlzQVJJ
QVRleHRDb250cm9sKCkpCisgICAgICAgIG1faGFzQVhFZGl0aW5nRWxlbWVudHMgPSB0cnVlOwog
CiAgICAgZ2V0QVhJRChuZXdPYmouZ2V0KCkpOwogCkBAIC02NDMsNSArNjQ1LDM2IEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6dGV4dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtl
ckRhdGEmIHRleHRNYXJrZXJECiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2Rl
KTsKIH0KKworY29uc3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVt
ZW50Rm9yTm9kZShjb25zdCBOb2RlKiBub2RlKQoreworICAgIGNvbnN0IEVsZW1lbnQqIHJlc3Vs
dCA9IDA7CisgICAgY29uc3QgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCA9IG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKKworICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2Rl
LT5pc0VsZW1lbnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50
KCk7CisgICAgZm9yICggOyBlbGVtZW50ICYmICFlbGVtZW50LT5oYXNUYWdOYW1lKGJvZHlUYWcp
OyBlbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgIGlmIChub2Rl
SXNUZXh0Q29udHJvbChlbGVtZW50KSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGVsZW1lbnQ7Cisg
ICAgfQorCisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHJl
dHVybiByb290RWRpdGFibGVFbGVtZW50OworfQorCitib29sIEFYT2JqZWN0Q2FjaGU6Om5vZGVJ
c1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhP
YmplY3RGb3JOb2RlID0gZ2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAgaWYgKCFh
eE9iamVjdEZvck5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBib29sIG5v
ZGVJc1RleHRDb250cm9sID0gYXhPYmplY3RGb3JOb2RlLT5pc1RleHRDb250cm9sKCk7CiAgICAg
CisgICAgcmV0dXJuIG5vZGVJc1RleHRDb250cm9sOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4
IDVmN2UxZjFiNjI3ZTc4NzFkZDg0YzEyYmI0MjFhZWJjNDQ0ZTY2YTMuLjQzMTkyZGY4MjhhZTIx
N2MwOTljZDNlOTUzNmRlMTEwY2RhYjFhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMDUsNiArMTA1LDEyIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgYm9vbCBpc0lEaW5V
c2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJblVzZS5jb250YWlucyhpZCk7IH0KKwor
ICAgIGJvb2wgaGFzQVhFZGl0aW5nRWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2hhc0FYRWRp
dGluZ0VsZW1lbnRzOyB9CisgICAgY29uc3QgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50
Rm9yTm9kZShjb25zdCBOb2RlKik7CisgICAgYm9vbCBub2RlSXNBWEVkaXRhYmxlKGNvbnN0IE5v
ZGUqIG5vZGUpIHsgcmV0dXJuIHJvb3RBWEVkaXRhYmxlRWxlbWVudEZvck5vZGUobm9kZSk7IH0K
KyAgICBib29sIG5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqKTsKKwogICAgIEFYSUQgcGxh
dGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3RGcm9tQVhJRChBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX29iamVjdHMuZ2V0KGlkKS5nZXQo
KTsgfQogCkBAIC0xNjQsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBnQWNj
ZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7CiAgICAgCiAgICAgSGFzaFNl
dDxBWElEPiBtX2lkc0luVXNlOworICAgIGJvb2wgbV9oYXNBWEVkaXRpbmdFbGVtZW50czsKICAg
ICAKICAgICBUaW1lcjxBWE9iamVjdENhY2hlPiBtX25vdGlmaWNhdGlvblBvc3RUaW1lcjsKICAg
ICBWZWN0b3I8cGFpcjxSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4sIEFYTm90aWZpY2F0aW9u
PiA+IG1fbm90aWZpY2F0aW9uc1RvUG9zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDIzNDJjOGMxODVlYjgyZWZh
OTg4Mjc2MTFlMTUxYTQ2YmZmMDc2MzguLmZjNzcxMzBiOWVmMTNhMzRiYzRhYzkzMDljN2NmOWI4
YmI5MzNlOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtOTQ0LDIxICs5NDQsMjYgQEAgaW50IEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQ
b3MpIGNvbnMKICAgICBpZiAodmlzaWJsZVBvcy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIDA7
CiAKLSAgICB1bnNpZ25lZCBsaW5lQ291bnQgPSAwOworICAgIC8vIGlmIHRoZSBwb3NpdGlvbiBp
cyBub3QgaW4gdGhlIHNhbWUgZWRpdGFibGUgcmVnaW9uIGFzIHRoaXMgQVggb2JqZWN0LCByZXR1
cm4gLTEKKyAgICBOb2RlKiBjb250YWluZXJOb2RlID0gdmlzaWJsZVBvcy5kZWVwRXF1aXZhbGVu
dCgpLmNvbnRhaW5lck5vZGUoKTsKKyAgICBpZiAoIWNvbnRhaW5lck5vZGUtPmNvbnRhaW5zSW5j
bHVkaW5nU2hhZG93RE9NKG5vZGUoKSkgJiYgIW5vZGUoKS0+Y29udGFpbnNJbmNsdWRpbmdTaGFk
b3dET00oY29udGFpbmVyTm9kZSkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGludCBsaW5l
Q291bnQgPSAtMTsKICAgICBWaXNpYmxlUG9zaXRpb24gY3VycmVudFZpc2libGVQb3MgPSB2aXNp
YmxlUG9zOwogICAgIFZpc2libGVQb3NpdGlvbiBzYXZlZFZpc2libGVQb3M7CiAKICAgICAvLyBt
b3ZlIHVwIHVudGlsIHdlIGdldCB0byB0aGUgdG9wCiAgICAgLy8gRklYTUU6IFRoaXMgb25seSB0
YWtlcyB1cyB0byB0aGUgdG9wIG9mIHRoZSByb290RWRpdGFibGVFbGVtZW50LCBub3QgdGhlIHRv
cCBvZiB0aGUKICAgICAvLyB0b3AgZG9jdW1lbnQuCi0gICAgd2hpbGUgKGN1cnJlbnRWaXNpYmxl
UG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJsZVBvcywgc2F2ZWRW
aXNpYmxlUG9zKSkpIHsKLSAgICAgICAgKytsaW5lQ291bnQ7CisgICAgZG8gewogICAgICAgICBz
YXZlZFZpc2libGVQb3MgPSBjdXJyZW50VmlzaWJsZVBvczsKLSAgICAgICAgVmlzaWJsZVBvc2l0
aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQ
b3MsIDApOworICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91
c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCwgQ2Fubm90Q3Jvc3NBWEVkaXRpbmdC
b3VuZGFyeSk7CiAgICAgICAgIGN1cnJlbnRWaXNpYmxlUG9zID0gcHJldlZpc2libGVQb3M7Ci0g
ICAgfQorICAgICAgICArK2xpbmVDb3VudDsKKyAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQ
b3MuaXNOb3ROdWxsKCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZp
c2libGVQb3MpKSk7CiAKLSAgICByZXR1cm4gbGluZUNvdW50IC0gMTsKKyAgICByZXR1cm4gbGlu
ZUNvdW50OwogfQogCiAvLyBOT1RFOiBDb25zaWRlciBwcm92aWRpbmcgdGhpcyB1dGlsaXR5IG1l
dGhvZCBhcyBBWCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDNiOTJkY2M0ODA0NzE0ODYy
MDQzYmNlMWY5MDIyYWFhNmZhOWE2NWYuLjFhYzkwNTllYjAzZTFhNWYwYzc4NzRjNjEwYmY1YjRi
ZTRlMzA5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjUzNSw3ICsyNTM1LDcgQEAgaW50
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiYgcG8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgUG9zaXRp
b24gaW5kZXhQb3NpdGlvbiA9IHBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIGlmIChpbmRleFBv
c2l0aW9uLmlzTnVsbCgpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihpbmRleFBv
c2l0aW9uKSAhPSBub2RlKQorICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IGhpZ2hl
c3RFZGl0YWJsZVJvb3QoaW5kZXhQb3NpdGlvbiwgQ2Fubm90Q3Jvc3NBWEVkaXRpbmdCb3VuZGFy
eSkgIT0gbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CkBAIC0yNTUyLDM4ICsyNTUyLDYgQEAgaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG8KICNl
bmRpZgogfQogCi1FbGVtZW50KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpyb290RWRpdGFi
bGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKSBjb25zdAotewot
ICAgIC8vIEZpbmQgdGhlIHJvb3QgZWRpdGFibGUgb3IgcHNldWRvLWVkaXRhYmxlIChpLmUuIGhh
dmluZyBhbiBlZGl0YWJsZSBBUklBIHJvbGUpIGVsZW1lbnQuCi0gICAgRWxlbWVudCogcmVzdWx0
ID0gMDsKLSAgICAKLSAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50ID0gcG9zaXRpb24u
cm9vdEVkaXRhYmxlRWxlbWVudCgpOwotCi0gICAgZm9yIChFbGVtZW50KiBlID0gcG9zaXRpb24u
ZWxlbWVudCgpOyBlICYmIGUgIT0gcm9vdEVkaXRhYmxlRWxlbWVudDsgZSA9IGUtPnBhcmVudEVs
ZW1lbnQoKSkgewotICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZSkpCi0gICAgICAgICAg
ICByZXN1bHQgPSBlOwotICAgICAgICBpZiAoZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIGlmIChyZXN1bHQpCi0gICAgICAgIHJldHVybiBy
ZXN1bHQ7Ci0KLSAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudDsKLX0KLQotYm9vbCBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKiBub2Rl
KSBjb25zdAotewotICAgIGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JOb2RlID0gYXhPYmplY3RDYWNo
ZSgpLT5nZXRPckNyZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKLSAgICBpZiAoIWF4T2JqZWN0Rm9y
Tm9kZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIGF4T2JqZWN0Rm9yTm9k
ZS0+aXNUZXh0Q29udHJvbCgpOwotfQotCiBMYXlvdXRSZWN0IEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmJvdW5kc0ZvclZpc2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlv
blJhbmdlJiB2aXNpYmxlUG9zaXRpb25SYW5nZSkgY29uc3QKIHsKICAgICBpZiAodmlzaWJsZVBv
c2l0aW9uUmFuZ2UuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggNzEyZTI5OGRmN2UzNGI3
ZTc3OTU2OTBjMThlZjdkMDg0NjYxMTYwOS4uMmY5YzE0YjYwY2RlYzY4ODA4YjBmM2NiYWE4YWQw
NzBiZjcyODYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtODAwLDYgKzgwMCwxMiBAQCBib29sIE5v
ZGU6OnJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0
CiAgICAgICAgIGlmICgobm9kZS0+aXNIVE1MRWxlbWVudCgpIHx8IG5vZGUtPmlzRG9jdW1lbnRO
b2RlKCkpICYmIG5vZGUtPnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+
cmVuZGVyZXIoKS0+c3R5bGUoKS0+dXNlck1vZGlmeSgpKSB7CiAgICAgICAgICAgICBjYXNlIFJF
QURfT05MWToKKyAgICAgICAgICAgICAgICBpZiAoZWRpdGFibGVMZXZlbCA9PSBBWEVkaXRhYmxl
KSB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChkb2N1bWVudCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpOwor
ICAgICAgICAgICAgICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0
cygpKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50KCktPmF4T2JqZWN0Q2Fj
aGUoKS0+bm9kZUlzQVhFZGl0YWJsZSh0aGlzKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBSRUFEX1dSSVRFOgogICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTY0Miw2ICsxNjQ4LDE5IEBAIEVsZW1lbnQg
Kk5vZGU6OmVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiAwOwog
fQogCitFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KEVkaXRpbmdCb3VuZGFyeUNy
b3NzaW5nUnVsZSBydWxlKSBjb25zdAoreworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQVhF
ZGl0aW5nQm91bmRhcnkgJiYgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5oYXNBWEVkaXRp
bmdFbGVtZW50cygpKQorICAgICAgICByZXR1cm4gcm9vdEFYRWRpdGFibGVFbGVtZW50KCk7CisK
KyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQorCitFbGVtZW50KiBOb2RlOjpy
b290QVhFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBjb25zdF9jYXN0PEVs
ZW1lbnQqPihkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVu
dEZvck5vZGUodGhpcykpOworfQorCiBFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50
KCkgY29uc3QKIHsKICAgICBFbGVtZW50KiByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggODQ3
NDQwNTBlMjNjMzViYTkxNWQxODM1OTdlMTI1Y2E2YmNiNmMxNi4uMGRiMTUzNDM3OThmNWEzZTZm
N2ZjY2E3MmFiYTZlMDRhYmIxOGRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAj
aWZuZGVmIE5vZGVfaAogI2RlZmluZSBOb2RlX2gKIAorI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFy
eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNp
bmNsdWRlICJMYXlvdXRUeXBlcy5oIgpAQCAtMjc0LDkgKzI3NSw5IEBAIHB1YmxpYzoKIAogICAg
IC8vIGVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBpcyBkZXByZWNhdGVkLiBVc2UgZW5jbG9z
aW5nQmxvY2sgaW5zdGVhZC4KICAgICBFbGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50
KCkgY29uc3Q7Ci0gICAgCiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0
OwotICAgIAorICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGluZ0JvdW5kYXJ5
Q3Jvc3NpbmdSdWxlKSBjb25zdDsKKwogICAgIGJvb2wgaW5TYW1lQ29udGFpbmluZ0Jsb2NrRmxv
d0VsZW1lbnQoTm9kZSopOwogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBwYXJzZXIgd2hlbiB0aGlz
IGVsZW1lbnQncyBjbG9zZSB0YWcgaXMgcmVhY2hlZCwKQEAgLTM1MSw2ICszNTIsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXNDb250ZW50Umlj
aGx5RWRpdGFibGUoKTsKIAorICAgIGJvb2wgcmVuZGVyZXJJc0FYRWRpdGFibGUoKSBjb25zdCB7
IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoQVhFZGl0YWJsZSk7IH0KICAgICBib29sIHJlbmRl
cmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJs
ZSk7IH0KICAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJu
IHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7IH0KICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKQEAgLTcwMiw4ICs3MDQsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2V0RG9jdW1lbnRSZWN1cnNpdmVseShEb2N1bWVudCopOwogICAgIHZvaWQgc2V0RG9j
dW1lbnQoRG9jdW1lbnQqKTsKIAotICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBS
aWNobHlFZGl0YWJsZSB9OworICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNo
bHlFZGl0YWJsZSwgQVhFZGl0YWJsZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVk
aXRhYmxlTGV2ZWwpIGNvbnN0OworICAgIEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudCgp
IGNvbnN0OwogCiAgICAgdm9pZCBzZXRTdHlsZUNoYW5nZShTdHlsZUNoYW5nZVR5cGUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1
ZjJlYjRkZGUyOTY0YmE4ZGZhMGMwZWQ1YTg0Li5iODJhZjViMjczZWNlNjFiZTdlMTI1YWYxODBm
MTNlYjI0ZDQxN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
b3VuZGFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgK
QEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBFZGl0aW5nQm91bmRh
cnlDcm9zc2luZ1J1bGUgewogICAgIENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5LAogICAgIENhbm5v
dENyb3NzRWRpdGluZ0JvdW5kYXJ5LAorICAgIENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnks
CiAgICAgQ2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVmlzaWJsZVBvc2l0aW9uLmNwcAppbmRleCA4MTE2OGQ3Yjc0MTczMTU1ZWRiOTBjNTVj
NGUxOGRkZGU1MmJhZGFkLi5hY2FmY2QxYjE5NWM4ZTQ5N2ZkYjY3NmY0N2ExNTJlMjY5NWUwZmQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uY3BwCkBAIC00Mzcs
MjMgKzQzNywyMyBAQCBWaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpyaWdodChib29s
IHN0YXlJbkVkaXRhYmxlQ29udGVudCkgY29uc3QKICAgICByZXR1cm4gaG9ub3JFZGl0aW5nQm91
bmRhcnlBdE9yQWZ0ZXIocmlnaHQpOwogfQogCi1WaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0
aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZvcmUoY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZwb3MpIGNvbnN0CitWaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRp
bmdCb3VuZGFyeUF0T3JCZWZvcmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwb3MsIEVkaXRpbmdC
b3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdAogewogICAgIGlmIChwb3MuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiBwb3M7Ci0gICAgCi0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdo
ZXN0RWRpdGFibGVSb290KGRlZXBFcXVpdmFsZW50KCkpOworCisgICAgTm9kZSogaGlnaGVzdFJv
b3QgPSBoaWdoZXN0RWRpdGFibGVSb290KGRlZXBFcXVpdmFsZW50KCksIHJ1bGUpOwogICAgIAog
ICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMgbm90IHNvbWV3aGVyZSBpbnNp
ZGUgdGhlIGVkaXRhYmxlIHJlZ2lvbiBjb250YWluaW5nIHRoaXMgcG9zaXRpb24KICAgICBpZiAo
aGlnaGVzdFJvb3QgJiYgIXBvcy5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2RlKCktPmlz
RGVzY2VuZGFudE9mKGhpZ2hlc3RSb290KSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bigpOwotICAgICAgICAKKwogICAgIC8vIFJldHVybiBwb3MgaXRzZWxmIGlmIHRoZSB0d28gYXJl
IGZyb20gdGhlIHZlcnkgc2FtZSBlZGl0YWJsZSByZWdpb24sIG9yIGJvdGggYXJlIG5vbi1lZGl0
YWJsZQogICAgIC8vIEZJWE1FOiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNhc2UsIGp1c3QgYmVjYXVz
ZSB0aGUgbmV3IHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0IG1lYW4gbW92ZW1lbnQK
ICAgICAvLyB0byBpdCBpcyBhbGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0Rm9yRWRp
dGFibGVDb250ZW50IGhhcyB0aGlzIHByb2JsZW0gdG9vLgotICAgIGlmIChoaWdoZXN0RWRpdGFi
bGVSb290KHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9vdCkKKyAgICBpZiAoaGln
aGVzdEVkaXRhYmxlUm9vdChwb3MuZGVlcEVxdWl2YWxlbnQoKSwgcnVsZSkgPT0gaGlnaGVzdFJv
b3QpCiAgICAgICAgIHJldHVybiBwb3M7Ci0gIAorCiAgICAgLy8gUmV0dXJuIGVtcHR5IHBvc2l0
aW9uIGlmIHRoaXMgcG9zaXRpb24gaXMgbm9uLWVkaXRhYmxlLCBidXQgcG9zIGlzIGVkaXRhYmxl
CiAgICAgLy8gRklYTUU6IE1vdmUgdG8gdGhlIHByZXZpb3VzIG5vbi1lZGl0YWJsZSByZWdpb24u
CiAgICAgaWYgKCFoaWdoZXN0Um9vdCkKQEAgLTQ2MywxMiArNDYzLDEyIEBAIFZpc2libGVQb3Np
dGlvbiBWaXNpYmxlUG9zaXRpb246Omhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckJlZm9yZShjb25z
dCBWaXNpYmxlUG9zCiAgICAgcmV0dXJuIGxhc3RFZGl0YWJsZVBvc2l0aW9uQmVmb3JlUG9zaXRp
b25JblJvb3QocG9zLmRlZXBFcXVpdmFsZW50KCksIGhpZ2hlc3RSb290KTsKIH0KIAotVmlzaWJs
ZVBvc2l0aW9uIFZpc2libGVQb3NpdGlvbjo6aG9ub3JFZGl0aW5nQm91bmRhcnlBdE9yQWZ0ZXIo
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZwb3MpIGNvbnN0CitWaXNpYmxlUG9zaXRpb24gVmlzaWJs
ZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3VuZGFyeUF0T3JBZnRlcihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnBvcywgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0CiB7CiAg
ICAgaWYgKHBvcy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHBvczsKICAgICAKLSAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QoZGVlcEVxdWl2YWxlbnQoKSk7Cisg
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KGRlZXBFcXVpdmFsZW50
KCksIHJ1bGUpOwogICAgIAogICAgIC8vIFJldHVybiBlbXB0eSBwb3NpdGlvbiBpZiBwb3MgaXMg
bm90IHNvbWV3aGVyZSBpbnNpZGUgdGhlIGVkaXRhYmxlIHJlZ2lvbiBjb250YWluaW5nIHRoaXMg
cG9zaXRpb24KICAgICBpZiAoaGlnaGVzdFJvb3QgJiYgIXBvcy5kZWVwRXF1aXZhbGVudCgpLmRl
cHJlY2F0ZWROb2RlKCktPmlzRGVzY2VuZGFudE9mKGhpZ2hlc3RSb290KSkKQEAgLTQ3Nyw3ICs0
NzcsNyBAQCBWaXNpYmxlUG9zaXRpb24gVmlzaWJsZVBvc2l0aW9uOjpob25vckVkaXRpbmdCb3Vu
ZGFyeUF0T3JBZnRlcihjb25zdCBWaXNpYmxlUG9zaQogICAgIC8vIFJldHVybiBwb3MgaXRzZWxm
IGlmIHRoZSB0d28gYXJlIGZyb20gdGhlIHZlcnkgc2FtZSBlZGl0YWJsZSByZWdpb24sIG9yIGJv
dGggYXJlIG5vbi1lZGl0YWJsZQogICAgIC8vIEZJWE1FOiBJbiB0aGUgbm9uLWVkaXRhYmxlIGNh
c2UsIGp1c3QgYmVjYXVzZSB0aGUgbmV3IHBvc2l0aW9uIGlzIG5vbi1lZGl0YWJsZSBkb2Vzbid0
IG1lYW4gbW92ZW1lbnQKICAgICAvLyB0byBpdCBpcyBhbGxvd2VkLiAgVmlzaWJsZVNlbGVjdGlv
bjo6YWRqdXN0Rm9yRWRpdGFibGVDb250ZW50IGhhcyB0aGlzIHByb2JsZW0gdG9vLgotICAgIGlm
IChoaWdoZXN0RWRpdGFibGVSb290KHBvcy5kZWVwRXF1aXZhbGVudCgpKSA9PSBoaWdoZXN0Um9v
dCkKKyAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChwb3MuZGVlcEVxdWl2YWxlbnQoKSwgcnVs
ZSkgPT0gaGlnaGVzdFJvb3QpCiAgICAgICAgIHJldHVybiBwb3M7CiAKICAgICAvLyBSZXR1cm4g
ZW1wdHkgcG9zaXRpb24gaWYgdGhpcyBwb3NpdGlvbiBpcyBub24tZWRpdGFibGUsIGJ1dCBwb3Mg
aXMgZWRpdGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBv
c2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCmluZGV4
IDIwZWVlOTRkZTJkYjIyZmNmYzg3ZTU1MjhmODRkMWE4MTk3MDNkYjUuLjgxNTQwNzI0ZTY4NjY3
YzdhZDZkZTRmZGI3MmY5ODA0ZGIwMDlkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNp
YmxlUG9zaXRpb24uaApAQCAtNzAsOCArNzAsOCBAQCBwdWJsaWM6CiAgICAgLy8gbmV4dCgpIGFu
ZCBwcmV2aW91cygpIHdpbGwgaW5jcmVtZW50L2RlY3JlbWVudCBieSBhIGNoYXJhY3RlciBjbHVz
dGVyLgogICAgIFZpc2libGVQb3NpdGlvbiBuZXh0KEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSA9IENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KSBjb25zdDsKICAgICBWaXNpYmxlUG9zaXRpb24g
cHJldmlvdXMoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2FuQ3Jvc3NFZGl0aW5nQm91
bmRhcnkpIGNvbnN0OwotICAgIFZpc2libGVQb3NpdGlvbiBob25vckVkaXRpbmdCb3VuZGFyeUF0
T3JCZWZvcmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJikgY29uc3Q7Ci0gICAgVmlzaWJsZVBvc2l0
aW9uIGhvbm9yRWRpdGluZ0JvdW5kYXJ5QXRPckFmdGVyKGNvbnN0IFZpc2libGVQb3NpdGlvbiYp
IGNvbnN0OworICAgIFZpc2libGVQb3NpdGlvbiBob25vckVkaXRpbmdCb3VuZGFyeUF0T3JCZWZv
cmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0g
Q2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpIGNvbnN0OworICAgIFZpc2libGVQb3NpdGlvbiBo
b25vckVkaXRpbmdCb3VuZGFyeUF0T3JBZnRlcihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBFZGl0
aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkgY29u
c3Q7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gbGVmdChib29sIHN0YXlJbkVkaXRhYmxlQ29udGVu
dCA9IGZhbHNlKSBjb25zdDsKICAgICBWaXNpYmxlUG9zaXRpb24gcmlnaHQoYm9vbCBzdGF5SW5F
ZGl0YWJsZUNvbnRlbnQgPSBmYWxzZSkgY29uc3Q7CkBAIC04MSw2ICs4MSw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90IGhhbmRsZSBbdGFibGUsIDBdIGNvcnJlY3Rs
eS4KICAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9k
ZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQb3NpdGlvbi5kZXByZWNhdGVkTm9kZSgp
LT5yb290RWRpdGFibGVFbGVtZW50KCkgOiAwOyB9CisgICAgRWxlbWVudCogcm9vdEVkaXRhYmxl
RWxlbWVudChFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkgY29uc3QgeyByZXR1cm4g
bV9kZWVwUG9zaXRpb24uaXNOb3ROdWxsKCkgPyBtX2RlZXBQb3NpdGlvbi5kZXByZWNhdGVkTm9k
ZSgpLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpIDogMDsgfTsKICAgICAKICAgICB2b2lkIGdl
dElubGluZUJveEFuZE9mZnNldChJbmxpbmVCb3gqJiBpbmxpbmVCb3gsIGludCYgY2FyZXRPZmZz
ZXQpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAppbmRl
eCA2ZjQwYWJiZTliNmQyYWMyZTE3MzRhOGNlYzNkYjBkYTc4ZTE0YjM5Li45YjlkNjhlOWVhMjNm
Yzk4ZTgzOTA1MWFjZGQ4OTZkYWJjMTVhNjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkhUTUxC
UkVsZW1lbnQuaCIKQEAgLTEwNCwxOSArMTA1LDI4IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBiKQogICAgIHJl
dHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5kZWVwRXF1aXZhbGVu
dCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9z
aXRpb24pCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShOb2RlKiBub2RlLCBFZGl0aW5nQm91
bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKK3sKKyAgICBpZiAocnVsZSA9PSBDYW5ub3RDcm9zc0Vk
aXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgp
OworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQVhFZGl0aW5nQm91bmRhcnkpCisgICAgICAg
IHJldHVybiBub2RlLT5yZW5kZXJlcklzQVhFZGl0YWJsZSgpOworICAgIHJldHVybiBmYWxzZTsK
K30KKworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24s
IEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewogICAgIE5vZGUqIG5vZGUgPSBw
b3NpdGlvbi5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgIAotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9z
aXRpb24ocG9zaXRpb24pOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9y
UG9zaXRpb24ocG9zaXRpb24sIHJ1bGUpOwogICAgIGlmICghaGlnaGVzdFJvb3QpCiAgICAgICAg
IHJldHVybiAwOwogICAgIAogICAgIG5vZGUgPSBoaWdoZXN0Um9vdDsKICAgICB3aGlsZSAobm9k
ZSkgewotICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlm
IChub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSkpCiAgICAgICAgICAgICBoaWdoZXN0
Um9vdCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGJvZHlUYWcpKQogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xNDMsNyArMTUzLDcgQEAgTm9kZSogbG93ZXN0RWRpdGFibGVB
bmNlc3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQogCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkK
IHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkK
QEAgLTE1Miw3ICsxNjIsNyBAQCBib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlv
biYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1Rh
YmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0
dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlSXNFZGl0YWJs
ZUZvclJ1bGUobm9kZSwgcnVsZSk7CiB9CiAKIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQo
Y29uc3QgUG9zaXRpb24mIHBvcykKQEAgLTE3NCw3ICsxODQsNyBAQCBib29sIGlzUmljaGx5RWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICByZXR1cm4gbm9kZS0+cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKCk7CiB9CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mIHAsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogewog
ICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0x
ODMsNyArMTkzLDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+
aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAg
IHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisgICAgcmV0dXJuIG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQocnVsZSk7CiB9CiAKIC8vIEZpbmRzIHRoZSBlbmNsb3NpbmcgZWxl
bWVudCB1bnRpbCB3aGljaCB0aGUgdHJlZSBjYW4gYmUgc3BsaXQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmgKaW5kZXggYzZiNmRkN2ExZTJmZTg1NmQzMjk4OWNiMzU1ZDg2NzIwNzc3
NGQ1My4uNTY0NDA2OGIxYjM0NTBkYTE0ZjIzNzI0ODRiY2RmYjg2Y2FlYTA2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBWaXNpYmxl
U2VsZWN0aW9uOwogLy8gRnVuY3Rpb25zIHJldHVybmluZyBOb2RlCiAKIE5vZGUqIGhpZ2hlc3RB
bmNlc3RvcihOb2RlKik7Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9u
Jik7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOworCiBOb2Rl
KiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2Rl
SXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwKICAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUg
PSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwogTm9k
ZSogaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZyhOb2RlKik7CkBAIC03OCw2ICs3OSw3IEBA
IGludCBjYXJldE1pbk9mZnNldChjb25zdCBOb2RlKik7CiBpbnQgY2FyZXRNYXhPZmZzZXQoY29u
c3QgTm9kZSopOwogCiAvLyBib29sZWFuIGZ1bmN0aW9ucyBvbiBOb2RlCitib29sIG5vZGVJc0Vk
aXRhYmxlRm9yUnVsZShOb2RlKiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlKTsKIAogLy8g
RklYTUU6IGVkaXRpbmdJZ25vcmVzQ29udGVudCwgY2FuSGF2ZUNoaWxkcmVuRm9yRWRpdGluZywg
YW5kIGlzQXRvbWljTm9kZQogLy8gc2hvdWxkIGJlIHJlbmFtZWQgdG8gcmVmbGVjdCBpdHMgdXNh
Z2UuCkBAIC0xNTEsNyArMTUzLDcgQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRp
b24mLCBjb25zdCBQb3NpdGlvbiYpOwogCiAvLyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlv
bgogICAgIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wg
aXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3Np
bmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpc1JpY2hseUVkaXRh
YmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlv
bkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgaXNMYXN0VmlzaWJsZVBv
c2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIxLDcgKzIyMyw3
IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQ
YXNzUmVmUHRyPE5vZGU+IHRhYlRleHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRh
YlNwYW5FbGVtZW50KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQ
dHI8RWxlbWVudD4gY3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAot
RWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1l
bnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGluZ0JvdW5k
YXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogRWxlbWVudCog
dW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CiAKIC8vIEJv
b2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuY3BwCmluZGV4IGFmOTE5MWE3ZjE1YzFjMWRkNmQxYmYxOTgwZjliMzgxYTMzMjU3Mjgu
LjYwMTg1ZWQ4NWNhNjhkNmVhYzk1NjlmMTQ0NWY2ZTVjMTM3ZTE0ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtNTE4LDEyICs1MTgsMTIgQEAgYm9vbCBp
c0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJnApCiB9CiAKIC8vIFRoZSBmaXJzdCBs
ZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRoZSBzYW1lIGVkaXRhYmlsaXR5IGFzIG5vZGUuCi1z
dGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQor
c3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwg
RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3Vu
ZGFyeSkKIHsKLSAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7
CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShub2RlLCBydWxlKTsK
ICAgICBOb2RlKiBuID0gbm9kZS0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7
Ci0gICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAg
ICAgaWYgKGVkaXRhYmxlID09IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShuLCBydWxlKSkKICAgICAg
ICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAg
IH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVM
aW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAgICAgcmV0
dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlvblRvcCgpLCBsaW5lRGlyZWN0aW9uUG9pbnQgLSBh
YnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGlu
ZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGlu
ZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBv
aW50LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBQb3NpdGlvbiBw
ID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAu
ZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJs
ZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAs
IHJ1bGUpOworCiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KCk7CiAgICAgCkBAIC01ODQsMTEgKzU4NSwxMSBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNM
aW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAog
ICAgICAgICAvLyBOZWVkIHRvIG1vdmUgYmFjayB0byBwcmV2aW91cyBjb250YWluaW5nIGVkaXRh
YmxlIGJsb2NrIGluIHRoaXMgcm9vdCBlZGl0YWJsZQogICAgICAgICAvLyBibG9jayBhbmQgZmlu
ZCB0aGUgbGFzdCByb290IGxpbmUgYm94IGluIHRoYXQgYmxvY2suCiAgICAgICAgIE5vZGUqIHN0
YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwotICAg
ICAgICBOb2RlKiBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlKTsKKyAg
ICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgcnVs
ZSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhO
b25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobiwgcnVsZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAo
aGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhp
Z2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3Np
dGlvbkluT3JCZWZvcmVOb2RlKG4pLCBydWxlKSAhPSBoaWdoZXN0Um9vdCkKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhhc1RhZ05hbWUoYnJU
YWcpID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9u
KG4sIGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUo
KSkgewpAQCAtNjAxLDcgKzYwMiw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAKICAgICAg
ICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4s
IHJ1bGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBAIFZpc2li
bGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZp
c2libGVQb3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5l
LiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAv
LyBNb3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBl
ZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdy
ZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJs
ZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9j
dW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlSXNFZGl0YWJs
ZUZvclJ1bGUobm9kZSwgcnVsZSkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpIDog
bm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CiAgICAgaWYgKCFyb290RWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24oZmlyc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpA
QCAtNjM4LDI2ICs2MzksMjggQEAgc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShOb2RlKiBub2RlLCBpbnQgb2Zmc2V0KQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMg
Tm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9k
ZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpCiB7CiAgICAg
aWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxlID0g
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGVJc0Vk
aXRhYmxlRm9yUnVsZShub2RlLCBydWxlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+bmV4dExlYWZO
b2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRl
cmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0gbm9kZUlzRWRpdGFibGVG
b3JSdWxlKG4sIHJ1bGUpKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5u
ZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKLVZpc2libGVQb3NpdGlv
biBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9u
LCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKQogeworICAgIC8vIFRP
RE86IHB1bGwgb3V0IGNvZGUgdGhhdCBpcyBjb21tb24gYmV0d2VlbiB0aGlzIGFuZCBwcmV2aW91
c0xpbmVQb3NpdGlvbi4KICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVp
dmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVz
dFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIHJ1bGUpOworCiAgICAgaWYgKCFub2RlKQog
ICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBAIC02ODYsOSArNjg5LDkg
QEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7CiAgICAgICAgIE5vZGUqIG4g
PSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgcC5kZXByZWNhdGVkRWRpdGluZ09m
ZnNldCgpKTsKICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2Rl
V2l0aE5vbklubGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobiwgcnVsZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGln
aGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hl
c3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlv
bkluT3JCZWZvcmVOb2RlKG4pLCBydWxlKSAhPSBoaWdoZXN0Um9vdCkKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQ
b3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2Fu
ZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDUsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgog
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0p
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwg
cnVsZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC03MTksNyArNzIyLDcgQEAgVmlzaWJs
ZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxl
UG9zaXRpb24sIGludCBsaW4KICAgICAvLyBDb3VsZCBub3QgZmluZCBhIG5leHQgbGluZS4gVGhp
cyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhlIGxhc3QgbGluZS4KICAgICAvLyBNb3Zl
IHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgaW4gdGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZl
bHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAg
IEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2Rl
LT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1l
bnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShu
b2RlLCBydWxlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQocnVsZSkgOiBub2RlLT5kb2N1
bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAg
ICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihs
YXN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMz
MzhlOGU4ZjQ4ODAxMy4uNGE4ZDNjYWI5OGVkMjI4NGNlYTE4ZDJlZmU1ZWQ2NDgyM2NiMjViMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAg
VmlzaWJsZVBvc2l0aW9uIG5leHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlv
biAmKTsKIC8vIGxpbmVzCiBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogVmlzaWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9z
aXRpb24gJik7Ci1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9u
IG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQpOworVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91bmRhcnlD
cm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7CitWaXNpYmxlUG9zaXRp
b24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJl
Y3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0
aW5nQm91bmRhcnkpOwogYm9vbCBpblNhbWVMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBj
b25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlzU3RhcnRPZkxpbmUoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggOTdhYTVhMGI4MWEzZmU2NmMwMzE1YjRmOGQ3YWE3ZmNlNTBlNjU2YS4uNDQyOGYx
ZWQwNGEzY2VkYjE4OGQyNGMxZGQ1OGU2NDRkYzNiNWU0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDExLTExLTAxICBBbGljZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJlcG9ydCBjb3JyZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxl
IHRleHQgZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTI2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1i
ZXIuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJv
bGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29y
cmVjdC1saW5lLW51bWJlci5odG1sOiBBZGRlZC4KKworMjAxMS0xMS0wMSAgQWxpY2UgQm94aGFs
bCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQgY29ycmVjdCBsaW5l
IG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4
dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWw6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51
bWJlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3Np
YmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMTEtMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlc291cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC5odG1s
IGlzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJl
YS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWwKaW5kZXggYTUw
ZjYzNzI0ZTM5YWIxOGY0N2UyZTUxMzNmOTQ1M2MwNDM1YmRiNS4uODQ4NTRmZDYxYmY2OTkyOGIy
NWVjNWEwMjRjYWEzODM0ZGE0NWNlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJl
ci5odG1sCkBAIC00LDM5ICs0LDQwIEBACiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPGJvZHk+Ci0gICAgCiAgICAgPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KLSAgICAKICAgICA8dGV4dGFyZWEgbmFtZT0iYXJlYTEiIGlkPSJhcmVhMSIgcm93
cz0iNSIgY29scz0iNDAiPgogbGluZSAxCiBsaW5lIDIKIGxpbmUgMwogICAgIDwvdGV4dGFyZWE+
CiAKLSAgICA8dGV4dGFyZWEgbmFtZT0iYXJlYTIiIGlkPSJhcmVhMiIgcm93cz0iNSIgY29scz0i
NDAiPjwvdGV4dGFyZWE+Ci0gICAgIAorICAgIDx0ZXh0YXJlYSBuYW1lPSJhcmVhMiIgaWQ9ImFy
ZWEyIiByb3dzPSI1IiBjb2xzPSI0MCI+CitsaW5lIDEKKzwvdGV4dGFyZWE+CiAgICAgPHNjcmlw
dD4KICAgICAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewogICAgICAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKIAog
ICAgICAgICAgICAgdmFyIGFyZWExID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyZWExIik7
CiAgICAgICAgICAgICBhcmVhMS5mb2N1cygpOworICAgICAgICAgICAgdmFyIGFyZWExQVhVSUVs
ZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKIAogICAgICAg
ICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCAzOyBrKyspIHsKICAgICAgICAgICAgICAgICBhcmVh
MS5zZWxlY3Rpb25TdGFydCA9IChrKjcpOwogICAgICAgICAgICAgICAgIGFyZWExLnNlbGVjdGlv
bkVuZCA9IChrKjcpOwotICAgICAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOyAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYXJlYTFBWFVJRWxl
bWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7CiAgICAgICAgICAgICAgICAgaWYgKGxpbmVO
dW1iZXIgPT0gaykgewotICAgICAgICAgICAgICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJU
ZXN0OiIgKyBrICsgIikgTGluZSBOdW1iZXI6IFBhc3MgWyIgKyBhcmVhMS5zZWxlY3Rpb25TdGFy
dCArICItPiIgKyBsaW5lTnVtYmVyICsgIl1cbiI7ICAgICAgIAorICAgICAgICAgICAgICAgICAg
ICByZXN1bHQuaW5uZXJUZXh0ICs9ICJUZXN0OiIgKyBrICsgIikgTGluZSBOdW1iZXI6IFBhc3Mg
WyIgKyBhcmVhMS5zZWxlY3Rpb25TdGFydCArICItPiIgKyBsaW5lTnVtYmVyICsgIl1cbiI7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJUZXN0OiIgKyBrICsgIikgTGluZSBOdW1iZXI6IEZh
aWwgWyIgKyBhcmVhMS5zZWxlY3Rpb25TdGFydCArICItPiIgKyBsaW5lTnVtYmVyICsgIl1cbiI7
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICJUZXN0OiIg
KyBrICsgIikgTGluZSBOdW1iZXI6IEZhaWwgWyIgKyBhcmVhMS5zZWxlY3Rpb25TdGFydCArICIt
PiIgKyBsaW5lTnVtYmVyICsgIl1cbiI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICB2YXIgYXJlYTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJl
YTIiKTsKICAgICAgICAgICAgIGFyZWEyLmZvY3VzKCk7Ci0gICAgICAgICAgICB2YXIgbGluZU51
bWJlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50Lmluc2VydGlvblBv
aW50TGluZU51bWJlcgorICAgICAgICAgICAgYXJlYTEuc2VsZWN0aW9uU3RhcnQgPSAwOworICAg
ICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhcmVhMUFYVUlFbGVtZW50Lmluc2VydGlvblBvaW50
TGluZU51bWJlcjsKICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIk5vdCBmb2N1c2Vk
IG9uIHRleHQgYXJlYSBsaW5lIG51bWJlcjogIiArIGxpbmVOdW1iZXIgKyAiXG4iOwogICAgICAg
ICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFkN2RiNzFmZTBmNWI5ODBmYTkxYTZlODI3ZDA3Zjg2MzllMjFh
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gt
cm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Ro
aXMgdGVzdHMgdGhhdCB0aGUgQVhTZWxlY3Rpb24gcHJvcGVydHkgaXMgY29ycmVjdGx5IHJlcG9y
dGVkIGZvciBub24tbmF0aXZlIHRleHQgYm94ZXMuCitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5l
IHRleHRib3guCitpbnNlcnRpb25Qb2ludExpbmVOdW1iZXI6IDAKK2luc2VydGlvblBvaW50TGlu
ZU51bWJlcjogMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xl
LXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4
dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjc3MzE2YWY0
NmE0ZjZmZTdkNzEyOWQ5MTYwNjUxODg5MGFlOTFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1s
CkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQz4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHBy
b3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLjxi
cj4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9Im11bHRpbGluZUFyaWFUZXh0Qm94IiBhcmlhLW11
bHRpbGluZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPlNvbWUgdGV4dCBpbiBhPGJyLz4KK211bHRpbGlu
ZSB0ZXh0Ym94LjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIGFzc2VydEV2YWx1YXRlc1RvKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgICAgICAgdmFyIGFjdHVhbFZhbHVlID0gMDsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IGFjdHVhbFZhbHVlID0gZXZhbChhY3R1YWwpOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgICAgICBkZWJ1ZygiRXZhbHVhdGluZyAiICsgYWN0dWFsICsgIjogVGhyZXcgZXhjZXB0aW9u
ICIgKyBlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoYWN0
dWFsVmFsdWUgPT09IGV4cGVjdGVkKQorICAgICAgICAgICAgZGVidWcoIlBBU1M6ICIgKyBhY3R1
YWwgKyAiIGlzICIgKyBleHBlY3RlZCArIChtZXNzYWdlID8gIiAoIiArIG1lc3NhZ2UgKyAiKSIg
OiAiIikpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZygiRkFJTDogIiArIGFjdHVh
bCArICIgc2hvdWxkIGJlICIgKyBleHBlY3RlZCArICIsIGdvdCAiICsgYWN0dWFsVmFsdWUgKyAo
bWVzc2FnZSA/ICIgKCIgKyBtZXNzYWdlICsgIikiIDogIiIpKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBhc3NlcnRDb3JyZWN0QVhTZWxlY3Rpb24oZWxlbWVudCwgc2VsZWN0aW9uLCBtZXNzYWdl
KSB7CisgICAgICAgIGVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdmFyIHNlbGVjdGlvblZhbHVl
cyA9IC9ceyhcZCspLCAoXGQrKVx9Ly5leGVjKHNlbGVjdGlvbik7CisgICAgICAgIHZhciBzZWxl
Y3Rpb25TdGFydCA9IGV2YWwoc2VsZWN0aW9uVmFsdWVzWzFdKTsKKyAgICAgICAgdmFyIHNlbGVj
dGlvbkxlbmd0aCA9IGV2YWwoc2VsZWN0aW9uVmFsdWVzWzJdKTsKKyAgICAgICAgdmFyIHNlbGVj
dGlvbkVuZCA9IHNlbGVjdGlvblN0YXJ0ICsgc2VsZWN0aW9uTGVuZ3RoOworCisgICAgICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGVsZW1lbnQuZmlyc3RDaGlsZCwg
c2VsZWN0aW9uU3RhcnQsIGVsZW1lbnQuZmlyc3RDaGlsZCwgc2VsZWN0aW9uRW5kKTsKKyAgICAg
ICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
OworICAgICAgICBheFNlbGVjdGlvbiA9IGF4RWxlbWVudC5zZWxlY3RlZFRleHRSYW5nZTsKKyAg
ICAgICAgYXNzZXJ0RXZhbHVhdGVzVG8oImF4U2VsZWN0aW9uIiwgc2VsZWN0aW9uLCBtZXNzYWdl
KTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB2YXIgbXVsdGlsaW5lQXJpYVRleHRCb3gg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXVsdGlsaW5lQXJpYVRleHRCb3giKTsKKyAgICAg
ICAgbXVsdGlsaW5lQXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICAgICAgdmFyIGF4RWxlbWVudCA9
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNo
aWxkTm9kZXNbMF0sIDAsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDApOwor
ICAgICAgICBkZWJ1ZygiaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOiAiICsgYXhFbGVtZW50Lmlu
c2VydGlvblBvaW50TGluZU51bWJlcik7CisKKyAgICAgICAgLy8gPGJyLz4gaXMgYSBjaGlsZCBu
b2RlLCBzbyB0aGUgc2Vjb25kIGxpbmUgaXMgY2hpbGROb2Rlc1syXSByYXRoZXIgdGhhbiBjaGls
ZE5vZGVzWzFdCisgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50
KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMl0sIDAsIG11bHRpbGluZUFyaWFUZXh0
Qm94LmNoaWxkTm9kZXNbMl0sIDApOworICAgICAgICBkZWJ1ZygiaW5zZXJ0aW9uUG9pbnRMaW5l
TnVtYmVyOiAiICsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcik7CisgICAgfQor
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLXNlbGVjdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLXNl
bGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODExNzY1ZGFlNzA0Nzk0MTExYzI1ZDI4NzAwYTQ2
Mzk4MTkxODkxNS4uYWRkZjZhNjdmNTFmYjFlODM4MmRmYWYxZjE2ZTE2ODZiMmI5YzEyZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4
dGJveC1yb2xlLXJlcG9ydHMtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwyMiBA
QAogVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkg
cmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy4KLVNvbWUgdGV4dCBpbiBhIHRleHRi
b3ggKDM0IGNoYXJzKS4KLVBBU1M6IGF4U2VsZWN0aW9uIGlzIHswLCAwfSAoQ29sbGFwc2VkIHNl
bGVjdGlvbiBhdCBzdGFydCkKLVBBU1M6IGF4U2VsZWN0aW9uIGlzIHszNCwgMH0gKENvbGxhcHNl
ZCBzZWxlY3Rpb24gYXQgZW5kKQotUEFTUzogYXhTZWxlY3Rpb24gaXMgezE1LCAwfSAoQ29sbGFw
c2VkIHNlbGVjdGlvbiBpbiB0aGUgbWlkZGxlKQotUEFTUzogYXhTZWxlY3Rpb24gaXMgezE1LCAy
fSAoTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24gaW4gdGhlIG1pZGRsZSkKLVBBU1M6IGF4U2VsZWN0
aW9uIGlzIHswLCAxNX0gKE5vbi1jb2xsYXBzZWQgc2VsZWN0aW9uIGF0IHRoZSBzdGFydCkKLVBB
U1M6IGF4U2VsZWN0aW9uIGlzIHsxNSwgMTl9IChOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBhdCB0
aGUgZW5kKQorU29tZSB0ZXh0IGluIGEgdGV4dGJveC4KK1NvbWUgdGV4dCBpbiBhCittdWx0aWxp
bmUgdGV4dGJveC4KK1BBU1M6IGF4U2VsZWN0aW9uIGlzIHswLCAwfSAoQ29sbGFwc2VkIHNlbGVj
dGlvbiBhdCBzdGFydCBvZiBzaW5nbGUgbGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24g
aXMgezIzLCAwfSAoQ29sbGFwc2VkIHNlbGVjdGlvbiBhdCBlbmQgb2Ygc2luZ2xlIGxpbmUgdGV4
dGJveCkKK1BBU1M6IGF4U2VsZWN0aW9uIGlzIHsxNSwgMH0gKENvbGxhcHNlZCBzZWxlY3Rpb24g
aW4gdGhlIG1pZGRsZSBvZiBzaW5nbGUgbGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24g
aXMgezE1LCAyfSAoTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24gaW4gdGhlIG1pZGRsZSBzaW5nbGUg
bGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24gaXMgezAsIDE1fSAoTm9uLWNvbGxhcHNl
ZCBzZWxlY3Rpb24gYXQgdGhlIHN0YXJ0IG9mIHNpbmdsZSBsaW5lIHRleHRib3gpCitQQVNTOiBh
eFNlbGVjdGlvbiBpcyB7MTUsIDh9IChOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBhdCB0aGUgZW5k
IG9mIHNpbmdsZSBsaW5lIHRleHRib3gpCitQQVNTOiBheFNlbGVjdGlvbiBpcyB7MCwgMH0gKENv
bGxhcHNlZCBzZWxlY3Rpb24gYXQgc3RhcnQgb2YgbXVsdGlsaW5lIHRleHRib3gpCitQQVNTOiBh
eFNlbGVjdGlvbiBpcyB7MTQsIDB9IChDb2xsYXBzZWQgc2VsZWN0aW9uIGF0IGVuZCBvZiBmaXJz
dCBsaW5lIG9mIG11bHRpbGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24gaXMgezMzLCAw
fSAoQ29sbGFwc2VkIHNlbGVjdGlvbiBhdCBlbmQgb2Ygc2Vjb25kIGxpbmUgb2YgbXVsdGlsaW5l
IHRleHRib3gpCitQQVNTOiBheFNlbGVjdGlvbiBpcyB7MTAsIDB9IChDb2xsYXBzZWQgc2VsZWN0
aW9uIG9uIGZpcnN0IGxpbmUgb2YgbXVsdGlsaW5lIHRleHRib3gpCitQQVNTOiBheFNlbGVjdGlv
biBpcyB7MTAsIDJ9IChOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBvbiBmaXJzdCBsaW5lIG9mIG11
bHRpbGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24gaXMgezEwLCAxOX0gKE5vbi1jb2xs
YXBzZWQgc2VsZWN0aW9uIHNwYW5uaW5nIHR3byBsaW5lcyBvZiBtdWx0aWxpbmUgdGV4dGJveCkK
K1BBU1M6IGF4U2VsZWN0aW9uIGlzIHswLCA4fSAoTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24gYXQg
dGhlIHN0YXJ0IG9mIG11bHRpbGluZSB0ZXh0Ym94KQorUEFTUzogYXhTZWxlY3Rpb24gaXMgezAs
IDV9IChOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBhdCB0aGUgc3RhcnQgb2Ygc2Vjb25kIGxpbmUg
b2YgbXVsdGlsaW5lIHRleHRib3gpCitQQVNTOiBheFNlbGVjdGlvbiBpcyB7MTksIDE0fSAoTm9u
LWNvbGxhcHNlZCBzZWxlY3Rpb24gYXQgdGhlIGVuZCBvZiBtdWx0aWxpbmUgdGV4dGJveCkKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1zZWxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMt
c2VsZWN0aW9uLmh0bWwKaW5kZXggMjg5NjgyNzUxMTZlYTk1ZWYwNTQ2MmQxNGJhZGU1YTY3MTg5
MGZjYi4uNTZkYTdjZDhkZmJlZWRlNTc1ZmFjNWVhMTljMTBlYWIzZTZjZWRhYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1zZWxlY3Rp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBv
cnRzLXNlbGVjdGlvbi5odG1sCkBAIC01LDcgKzUsOSBAQAogPC9oZWFkPgogPGJvZHk+CiBUaGlz
IHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRl
ZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLjxicj4KLTxkaXYgcm9sZT0idGV4dGJveCIgaWQ9
ImFyaWFUZXh0Qm94IiBhcmlhLW11bHRpbGluZT0iZmFsc2UiIHRhYmluZGV4PSIwIj5Tb21lIHRl
eHQgaW4gYSB0ZXh0Ym94ICgzNCBjaGFycykuPC9kaXY+Cis8ZGl2IHJvbGU9InRleHRib3giIGlk
PSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0
ZXh0IGluIGEgdGV4dGJveC48L2Rpdj4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9Im11bHRpbGlu
ZUFyaWFUZXh0Qm94IiBhcmlhLW11bHRpbGluZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPlNvbWUgdGV4
dCBpbiBhPGJyLz4KK211bHRpbGluZSB0ZXh0Ym94LjwvZGl2PgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGFzc2VydEV2YWx1YXRlc1RvKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKQEAgLTM1LDE3ICszNyw3NCBAQCBUaGlzIHRlc3RzIHRoYXQg
dGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5h
dGl2ZSB0ZQogICAgICAgICBhc3NlcnRFdmFsdWF0ZXNUbygiYXhTZWxlY3Rpb24iLCBzZWxlY3Rp
b24sIG1lc3NhZ2UpOwogICAgIH0KIAorCisgICAgZnVuY3Rpb24gYXNzZXJ0Q29ycmVjdE11bHRp
bGluZUFYU2VsZWN0aW9uKGVsZW1lbnQsIHNlbGVjdGlvbiwgbWVzc2FnZSkgeworICAgICAgICBl
bGVtZW50LmZvY3VzKCk7CisgICAgICAgIHZhciBzZWxlY3Rpb25WYWx1ZXMgPSAvXHsoXGQrKSwg
KFxkKylcfS8uZXhlYyhzZWxlY3Rpb24pOworICAgICAgICB2YXIgc2VsZWN0aW9uU3RhcnQgPSBl
dmFsKHNlbGVjdGlvblZhbHVlc1sxXSk7CisgICAgICAgIHZhciBzZWxlY3Rpb25MZW5ndGggPSBl
dmFsKHNlbGVjdGlvblZhbHVlc1syXSk7CisgICAgICAgIHZhciBzZWxlY3Rpb25FbmQgPSBzZWxl
Y3Rpb25TdGFydCArIHNlbGVjdGlvbkxlbmd0aDsKKworICAgICAgICB2YXIgbnVtTGluZXMgPSAo
ZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aCArIDEpIC8gMjsgIC8vIGVhY2ggPGJyPiBpcyBhIGNo
aWxkIG5vZGUgYXMgd2VsbDsgYXNzdW1lIG5vIG90aGVyIHR5cGVzIG9mIGNoaWxkIG5vZGVzCisK
KyAgICAgICAgLy8gd29yayBvdXQgbGluZSBudW1iZXJzOiB3aGlsZSB0b3RhbF90ZXh0IDwgZGVz
aXJlZCBudW1iZXIsIGdvdG8gbmV4dCBsaW5lCisgICAgICAgIHZhciBzdGFydExpbmUgPSAwOwor
ICAgICAgICB2YXIgbnVtQ2hhcnNTb0ZhciA9IDA7CisgICAgICAgIHZhciBzZWxlY3Rpb25TdGFy
dEluTGluZSA9IHNlbGVjdGlvblN0YXJ0OworICAgICAgICB3aGlsZSAoc3RhcnRMaW5lIDwgbnVt
TGluZXMgJiYgbnVtQ2hhcnNTb0ZhciA8IGVsZW1lbnQudGV4dENvbnRlbnQubGVuZ3RoKSB7Cisg
ICAgICAgICAgICB2YXIgbGluZUxlbmd0aCA9IGVsZW1lbnQuY2hpbGROb2Rlc1tzdGFydExpbmUg
KiAyXS50ZXh0Q29udGVudC5sZW5ndGg7CisgICAgICAgICAgICBudW1DaGFyc1NvRmFyICs9IGxp
bmVMZW5ndGg7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gbnVtQ2hhcnNTb0Zh
cikKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0SW5M
aW5lIC09IGxpbmVMZW5ndGg7CisgICAgICAgICAgICBzdGFydExpbmUrKzsKKyAgICAgICAgfQor
CisgICAgICAgIHZhciBlbmRMaW5lID0gMDsKKyAgICAgICAgbnVtQ2hhcnNTb0ZhciA9IDA7Cisg
ICAgICAgIHZhciBzZWxlY3Rpb25FbmRJbkxpbmUgPSBzZWxlY3Rpb25FbmQ7CisgICAgICAgIHdo
aWxlIChlbmRMaW5lIDwgbnVtTGluZXMgLSAxICYmIG51bUNoYXJzU29GYXIgPCBlbGVtZW50LnRl
eHRDb250ZW50Lmxlbmd0aCkgeworICAgICAgICAgICAgdmFyIGxpbmVMZW5ndGggPSBlbGVtZW50
LmNoaWxkTm9kZXNbZW5kTGluZSAqIDJdLnRleHRDb250ZW50Lmxlbmd0aDsKKyAgICAgICAgICAg
IG51bUNoYXJzU29GYXIgKz0gbGluZUxlbmd0aDsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb25F
bmQgPD0gbnVtQ2hhcnNTb0ZhcikKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IHNlbGVjdGlvbkVuZEluTGluZSAtPSBsaW5lTGVuZ3RoOworICAgICAgICAgICAgZW5kTGluZSsr
OworICAgICAgICB9CisKKyAgICAgICAgLy8gPGJyPiBjb3VudHMgYXMgYSBjaGlsZCBlbGVtZW50
LCBzbyBsaW5lIG51bWJlcnMgbmVlZCB0byBiZSBtdWx0aXBsaWVkIGJ5IDIgaGVyZS4KKyAgICAg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZWxlbWVudC5jaGlsZE5v
ZGVzW3N0YXJ0TGluZSAqIDJdLCBzZWxlY3Rpb25TdGFydEluTGluZSwgZWxlbWVudC5jaGlsZE5v
ZGVzW2VuZExpbmUgKiAyXSwgc2VsZWN0aW9uRW5kSW5MaW5lKTsKKyAgICAgICAgdmFyIGF4RWxl
bWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICBh
eFNlbGVjdGlvbiA9IGF4RWxlbWVudC5zZWxlY3RlZFRleHRSYW5nZTsKKyAgICAgICAgYXNzZXJ0
RXZhbHVhdGVzVG8oImF4U2VsZWN0aW9uIiwgc2VsZWN0aW9uLCBtZXNzYWdlKTsKKyAgICB9CisK
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgewogICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwogICAgICAgICB2YXIgYXJpYVRleHRCb3ggPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYXJpYVRleHRCb3giKTsKICAgICAgICAgdmFyIHRleHRMZW5ndGggPSBhcmlhVGV4dEJv
eC50ZXh0Q29udGVudC5sZW5ndGg7CiAKLSAgICAgICAgYXNzZXJ0Q29ycmVjdEFYU2VsZWN0aW9u
KGFyaWFUZXh0Qm94LCAiezAsIDB9IiwgIkNvbGxhcHNlZCBzZWxlY3Rpb24gYXQgc3RhcnQiKTsK
LSAgICAgICAgYXNzZXJ0Q29ycmVjdEFYU2VsZWN0aW9uKGFyaWFUZXh0Qm94LCAieyIgKyB0ZXh0
TGVuZ3RoICsgIiwgMH0iLCAiQ29sbGFwc2VkIHNlbGVjdGlvbiBhdCBlbmQiKTsKLSAgICAgICAg
YXNzZXJ0Q29ycmVjdEFYU2VsZWN0aW9uKGFyaWFUZXh0Qm94LCAiezE1LCAwfSIsICJDb2xsYXBz
ZWQgc2VsZWN0aW9uIGluIHRoZSBtaWRkbGUiKTsKLSAgICAgICAgYXNzZXJ0Q29ycmVjdEFYU2Vs
ZWN0aW9uKGFyaWFUZXh0Qm94LCAiezE1LCAyfSIsICJOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBp
biB0aGUgbWlkZGxlIik7Ci0gICAgICAgIGFzc2VydENvcnJlY3RBWFNlbGVjdGlvbihhcmlhVGV4
dEJveCwgInswLCAxNX0iLCAiTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24gYXQgdGhlIHN0YXJ0Iik7
Ci0gICAgICAgIGFzc2VydENvcnJlY3RBWFNlbGVjdGlvbihhcmlhVGV4dEJveCwgInsxNSwgIisg
KHRleHRMZW5ndGggLSAxNSkgKyAifSIsICJOb24tY29sbGFwc2VkIHNlbGVjdGlvbiBhdCB0aGUg
ZW5kIik7CisgICAgICAgIGFzc2VydENvcnJlY3RBWFNlbGVjdGlvbihhcmlhVGV4dEJveCwgInsw
LCAwfSIsICJDb2xsYXBzZWQgc2VsZWN0aW9uIGF0IHN0YXJ0IG9mIHNpbmdsZSBsaW5lIHRleHRi
b3giKTsKKyAgICAgICAgYXNzZXJ0Q29ycmVjdEFYU2VsZWN0aW9uKGFyaWFUZXh0Qm94LCAieyIg
KyB0ZXh0TGVuZ3RoICsgIiwgMH0iLCAiQ29sbGFwc2VkIHNlbGVjdGlvbiBhdCBlbmQgb2Ygc2lu
Z2xlIGxpbmUgdGV4dGJveCIpOworICAgICAgICBhc3NlcnRDb3JyZWN0QVhTZWxlY3Rpb24oYXJp
YVRleHRCb3gsICJ7MTUsIDB9IiwgIkNvbGxhcHNlZCBzZWxlY3Rpb24gaW4gdGhlIG1pZGRsZSBv
ZiBzaW5nbGUgbGluZSB0ZXh0Ym94Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RBWFNlbGVjdGlv
bihhcmlhVGV4dEJveCwgInsxNSwgMn0iLCAiTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24gaW4gdGhl
IG1pZGRsZSBzaW5nbGUgbGluZSB0ZXh0Ym94Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RBWFNl
bGVjdGlvbihhcmlhVGV4dEJveCwgInswLCAxNX0iLCAiTm9uLWNvbGxhcHNlZCBzZWxlY3Rpb24g
YXQgdGhlIHN0YXJ0IG9mIHNpbmdsZSBsaW5lIHRleHRib3giKTsKKyAgICAgICAgYXNzZXJ0Q29y
cmVjdEFYU2VsZWN0aW9uKGFyaWFUZXh0Qm94LCAiezE1LCAiKyAodGV4dExlbmd0aCAtIDE1KSAr
ICJ9IiwgIk5vbi1jb2xsYXBzZWQgc2VsZWN0aW9uIGF0IHRoZSBlbmQgb2Ygc2luZ2xlIGxpbmUg
dGV4dGJveCIpOworCisgICAgICAgIHZhciBtdWx0aWxpbmVBcmlhVGV4dEJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtdWx0aWxpbmVBcmlhVGV4dEJveCIpOworICAgICAgICB2YXIgbXVs
dGlsaW5lVGV4dExlbmd0aCA9IG11bHRpbGluZUFyaWFUZXh0Qm94LnRleHRDb250ZW50Lmxlbmd0
aDsKKyAgICAgICAgdmFyIGxpbmUwVGV4dExlbmd0aCA9IG11bHRpbGluZUFyaWFUZXh0Qm94LmNo
aWxkTm9kZXNbMF0udGV4dENvbnRlbnQubGVuZ3RoOworICAgICAgICB2YXIgbGluZTFUZXh0TGVu
Z3RoID0gbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1syXS50ZXh0Q29udGVudC5sZW5n
dGg7CisKKyAgICAgICAgYXNzZXJ0Q29ycmVjdE11bHRpbGluZUFYU2VsZWN0aW9uKG11bHRpbGlu
ZUFyaWFUZXh0Qm94LCAiezAsIDB9IiwgIkNvbGxhcHNlZCBzZWxlY3Rpb24gYXQgc3RhcnQgb2Yg
bXVsdGlsaW5lIHRleHRib3giKTsKKyAgICAgICAgYXNzZXJ0Q29ycmVjdE11bHRpbGluZUFYU2Vs
ZWN0aW9uKG11bHRpbGluZUFyaWFUZXh0Qm94LCAieyIgKyBsaW5lMFRleHRMZW5ndGggKyAiLCAw
fSIsICJDb2xsYXBzZWQgc2VsZWN0aW9uIGF0IGVuZCBvZiBmaXJzdCBsaW5lIG9mIG11bHRpbGlu
ZSB0ZXh0Ym94Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RNdWx0aWxpbmVBWFNlbGVjdGlvbiht
dWx0aWxpbmVBcmlhVGV4dEJveCwgInsiICsgbXVsdGlsaW5lVGV4dExlbmd0aCArICIsIDB9Iiwg
IkNvbGxhcHNlZCBzZWxlY3Rpb24gYXQgZW5kIG9mIHNlY29uZCBsaW5lIG9mIG11bHRpbGluZSB0
ZXh0Ym94Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RNdWx0aWxpbmVBWFNlbGVjdGlvbihtdWx0
aWxpbmVBcmlhVGV4dEJveCwgInsxMCwgMH0iLCAiQ29sbGFwc2VkIHNlbGVjdGlvbiBvbiBmaXJz
dCBsaW5lIG9mIG11bHRpbGluZSB0ZXh0Ym94Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RNdWx0
aWxpbmVBWFNlbGVjdGlvbihtdWx0aWxpbmVBcmlhVGV4dEJveCwgInsxMCwgMn0iLCAiTm9uLWNv
bGxhcHNlZCBzZWxlY3Rpb24gb24gZmlyc3QgbGluZSBvZiBtdWx0aWxpbmUgdGV4dGJveCIpOwor
ICAgICAgICBhc3NlcnRDb3JyZWN0TXVsdGlsaW5lQVhTZWxlY3Rpb24obXVsdGlsaW5lQXJpYVRl
eHRCb3gsICJ7MTAsICIgKyAobGluZTBUZXh0TGVuZ3RoICsgNSkgKyAifSIsICJOb24tY29sbGFw
c2VkIHNlbGVjdGlvbiBzcGFubmluZyB0d28gbGluZXMgb2YgbXVsdGlsaW5lIHRleHRib3giKTsK
KyAgICAgICAgYXNzZXJ0Q29ycmVjdE11bHRpbGluZUFYU2VsZWN0aW9uKG11bHRpbGluZUFyaWFU
ZXh0Qm94LCAiezAsIDh9IiwgIk5vbi1jb2xsYXBzZWQgc2VsZWN0aW9uIGF0IHRoZSBzdGFydCBv
ZiBtdWx0aWxpbmUgdGV4dGJveCIpOworICAgICAgICBhc3NlcnRDb3JyZWN0TXVsdGlsaW5lQVhT
ZWxlY3Rpb24obXVsdGlsaW5lQXJpYVRleHRCb3gsICJ7MCwgNX0iLCAiTm9uLWNvbGxhcHNlZCBz
ZWxlY3Rpb24gYXQgdGhlIHN0YXJ0IG9mIHNlY29uZCBsaW5lIG9mIG11bHRpbGluZSB0ZXh0Ym94
Iik7CisgICAgICAgIGFzc2VydENvcnJlY3RNdWx0aWxpbmVBWFNlbGVjdGlvbihtdWx0aWxpbmVB
cmlhVGV4dEJveCwgInsiICsgKGxpbmUwVGV4dExlbmd0aCArIDUpICsgIiwgIiArIChtdWx0aWxp
bmVUZXh0TGVuZ3RoIC0gbGluZTBUZXh0TGVuZ3RoIC0gNSkgKyAifSIsICJOb24tY29sbGFwc2Vk
IHNlbGVjdGlvbiBhdCB0aGUgZW5kIG9mIG11bHRpbGluZSB0ZXh0Ym94Iik7CiAgICAgfQogCiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJl
cG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY1Zjhl
ZTIzMjkwNTllNjMwMGM2ZWIxYzFmMDlkNDMzMzlkYjM3OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRz
LWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMg
dGVzdHMgdGhhdCBub24tbmF0aXZlIHRleHRib3hlcyByZXBvcnQgdGhlIGNvcnJlY3QgbGluZSBu
dW1iZXIuCisKK0FkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hv
dWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCisKK1NvbWUgdGV4dCBpbiBh
IHRleHRib3guCitQQVNTIHRleHRib3hBeEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVy
IGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0
Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxp
bmUtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5NWM3NzJhMThjZWI3Mjg2ZTUzMjBmN2Y3ZTUy
MDA4MGFlNTNmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUM+Cis8aHRtbCBpZD0iaHRt
bCI+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0cyB0aGF0IG5vbi1uYXRpdmUgdGV4dGJveGVzIHJlcG9ydCB0aGUgY29ycmVj
dCBsaW5lIG51bWJlci4KKzxwPkFkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRl
eHRib3ggc2hvdWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCis8ZGl2IHJv
bGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJp
bmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYm
IHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBhcmlhVGV4dEJveCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgICAgICBhcmlhVGV4
dEJveC5mb2N1cygpOworICAgICAgICB2YXIgdGV4dGJveEF4RWxlbWVudCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJlKCJ0ZXh0Ym94
QXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgfQorCisgICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118952</attachid>
            <date>2011-12-12 21:53:28 -0800</date>
            <delta_ts>2011-12-14 14:47:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111213165326.patch</filename>
            <type>text/plain</type>
            <size>33687</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxYTk1MTNhZTYxZWNkNTQ5OWJjZGJmODYwN2E0ZGUzOWM3OTllYmZhLi5k
MzVkOGQ3OTcyZjIwYjEzNDVlNDliZWNmMzkwMmJkYzY2ZTQ5NGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTEtMTItMTIgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRp
dmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm9v
dEVkaXRhYmxlRWxlbWVudEZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6bm9kZUlzVGV4dENvbnRyb2wpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFzQVJJQUVkaXRhYmxl
RWxlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzRWRpdGFi
bGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3kpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
OjpsaW5lRm9yUG9zaXRpb24pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbik6CisgICAgICAgICogZG9tL05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlVG9Bc3Npc3RpdmVU
ZWNobm9sb2d5KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudEZvckFzc2lzdGl2
ZVRlY2hub2xvZ3kpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5o
OgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
bm9kZUlzRWRpdGFibGVGb3JSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJs
ZVJvb3QpOgorICAgICAgICAoV2ViQ29yZTo6aXNFZGl0YWJsZVBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OmVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL2h0
bWxlZGl0aW5nLmg6CisgICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkpOgorICAgICAgICAo
V2ViQ29yZTo6cHJldmlvdXNMaW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bmV4dExl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6Om5leHRMaW5lUG9zaXRp
b24pOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5oOgorCiAyMDExLTEyLTEyICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNoYXJlIGNv
ZGUgdGhhdCBjaGVja3MgZm9yIG1hdGNoaW5nIHNldHMgb2YgdHJhbnNmb3JtIG9wZXJhdGlvbnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4
IDA4ZDM5ZDI0MjNhMDliZGYyZTAzNDhmMTliY2FkMTkxYjY0YjFmYzYuLjhkMjE2MWEzZjdjOWEw
MzhiMmVmMzdhYTllMzMxMzYzOWIyMjU1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMjc3LDYgKzI3Nyw4IEBAIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpCiAgICAgICAgIHJldHVybiBvYmo7CiAKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVj
dD4gbmV3T2JqID0gY3JlYXRlRnJvbVJlbmRlcmVyKHJlbmRlcmVyKTsKKyAgICBpZiAobmV3T2Jq
LT5pc0FSSUFUZXh0Q29udHJvbCgpKQorICAgICAgICBtX2hhc0FSSUFFZGl0YWJsZUVsZW1lbnRz
ID0gdHJ1ZTsKIAogICAgIGdldEFYSUQobmV3T2JqLmdldCgpKTsKIApAQCAtNjYyLDUgKzY2NCwz
NCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9u
KFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2VyRAogICAgIAogICAgIGNhY2hlLT5zZXROb2RlSW5V
c2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2NvbnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJv
b3RFZGl0YWJsZUVsZW1lbnRGb3JOb2RlKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgY29uc3Qg
RWxlbWVudCogcmVzdWx0ID0gMDsKKyAgICBjb25zdCBFbGVtZW50KiByb290RWRpdGFibGVFbGVt
ZW50ID0gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworCisgICAgY29uc3QgRWxlbWVudCog
ZWxlbWVudCA9IG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5vZGUt
PnBhcmVudEVsZW1lbnQoKTsKKyAgICBmb3IgKCA7IGVsZW1lbnQgJiYgIWVsZW1lbnQtPmhhc1Rh
Z05hbWUoYm9keVRhZyk7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCkpIHsKKyAg
ICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGVsZW1lbnQpKQorICAgICAgICAgICAgcmVzdWx0
ID0gZWxlbWVudDsKKyAgICB9CisKKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXR1cm4gcmVz
dWx0OworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQ7Cit9CisKK2Jvb2wgQVhPYmpl
Y3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBpZiAo
IW5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEFjY2Vzc2liaWxpdHlP
YmplY3QqIGF4T2JqZWN0Rm9yTm9kZSA9IGdldE9yQ3JlYXRlKG5vZGUtPnJlbmRlcmVyKCkpOwor
ICAgIGlmICghYXhPYmplY3RGb3JOb2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBy
ZXR1cm4gYXhPYmplY3RGb3JOb2RlLT5pc1RleHRDb250cm9sKCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmgKaW5kZXggNTYwZTBmMzRiMTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdjOGU5ODliYS4uMDk2MmE2
YWM0ZWY0NmZkMGY1OTMzOWI1MTZmYTVmNzQwMGNhMTIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTEwNiw2ICsxMDYsMTIgQEAgcHVibGlj
OgogCiAgICAgdm9pZCByZW1vdmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICBib29s
IGlzSURpblVzZShBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX2lkc0luVXNlLmNvbnRhaW5zKGlk
KTsgfQorCisgICAgYm9vbCBoYXNBUklBRWRpdGFibGVFbGVtZW50cygpIGNvbnN0IHsgcmV0dXJu
IG1faGFzQVJJQUVkaXRhYmxlRWxlbWVudHM7IH0KKyAgICBjb25zdCBFbGVtZW50KiByb290RWRp
dGFibGVFbGVtZW50Rm9yTm9kZShjb25zdCBOb2RlKik7CisgICAgYm9vbCBub2RlSXNFZGl0YWJs
ZVRvQXNzaXN0aXZlVGVjaG5vbG9neShjb25zdCBOb2RlKiBub2RlKSB7IHJldHVybiByb290RWRp
dGFibGVFbGVtZW50Rm9yTm9kZShub2RlKTsgfQorICAgIGJvb2wgbm9kZUlzVGV4dENvbnRyb2wo
Y29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0Owog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsg
cmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKQEAgLTE3NSw2ICsxODEsNyBAQCBw
cml2YXRlOgogICAgIHN0YXRpYyBib29sIGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJm
YWNlRW5hYmxlZDsKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CisgICAgYm9v
bCBtX2hhc0FSSUFFZGl0YWJsZUVsZW1lbnRzOwogICAgIAogICAgIFRpbWVyPEFYT2JqZWN0Q2Fj
aGU+IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyOwogICAgIFZlY3RvcjxwYWlyPFJlZlB0cjxBY2Nl
c3NpYmlsaXR5T2JqZWN0PiwgQVhOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25zVG9Qb3N0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKaW5kZXggMzBiZDMwNDJhYTA1OGU5ZmVhNDcxZTdjMTRmNTVmMThkNmEwZjNmZi4u
M2MxZjhjYmNmNWNjMTdjZTIwNjdlZmRhNWU5MTU0NzNhZGQ0NDk4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0x
MDIzLDI0ICsxMDIzLDI5IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmFjY2Vzc2liaWxpdHlPYmplY3RGb3JQb3NpdGlvbihjb25zdCBWCiAKIGludCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNp
YmxlUG9zKSBjb25zdAogewotICAgIGlmICh2aXNpYmxlUG9zLmlzTnVsbCgpKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICBpZiAodmlzaWJsZVBvcy5pc051bGwoKSB8fCAhbm9kZSgpKQorICAgICAg
ICByZXR1cm4gLTE7CisKKyAgICAvLyBJZiB0aGUgcG9zaXRpb24gaXMgbm90IGluIHRoZSBzYW1l
IGVkaXRhYmxlIHJlZ2lvbiBhcyB0aGlzIEFYIG9iamVjdCwgcmV0dXJuIC0xLgorICAgIE5vZGUq
IGNvbnRhaW5lck5vZGUgPSB2aXNpYmxlUG9zLmRlZXBFcXVpdmFsZW50KCkuY29udGFpbmVyTm9k
ZSgpOworICAgIGlmICghY29udGFpbmVyTm9kZS0+Y29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00o
bm9kZSgpKSAmJiAhbm9kZSgpLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShjb250YWluZXJO
b2RlKSkKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgdW5zaWduZWQgbGluZUNvdW50ID0gMDsK
KyAgICBpbnQgbGluZUNvdW50ID0gLTE7CiAgICAgVmlzaWJsZVBvc2l0aW9uIGN1cnJlbnRWaXNp
YmxlUG9zID0gdmlzaWJsZVBvczsKICAgICBWaXNpYmxlUG9zaXRpb24gc2F2ZWRWaXNpYmxlUG9z
OwogCiAgICAgLy8gbW92ZSB1cCB1bnRpbCB3ZSBnZXQgdG8gdGhlIHRvcAogICAgIC8vIEZJWE1F
OiBUaGlzIG9ubHkgdGFrZXMgdXMgdG8gdGhlIHRvcCBvZiB0aGUgcm9vdEVkaXRhYmxlRWxlbWVu
dCwgbm90IHRoZSB0b3Agb2YgdGhlCiAgICAgLy8gdG9wIGRvY3VtZW50LgotICAgIHdoaWxlIChj
dXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2FtZUxpbmUoY3VycmVudFZpc2li
bGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKSB7Ci0gICAgICAgICsrbGluZUNvdW50OworICAgIGRv
IHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0gY3VycmVudFZpc2libGVQb3M7Ci0gICAgICAg
IFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1
cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHByZXZWaXNpYmxl
UG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQb3MsIDAsIENhbm5vdENy
b3NzQXNzaXN0aXZlVGVjaG5vbG9neUVkaXRpbmdCb3VuZGFyeSk7CiAgICAgICAgIGN1cnJlbnRW
aXNpYmxlUG9zID0gcHJldlZpc2libGVQb3M7Ci0gICAgfQorICAgICAgICArK2xpbmVDb3VudDsK
KyAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxsKCkgJiYgIShpblNhbWVM
aW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSk7CiAKLSAgICByZXR1cm4g
bGluZUNvdW50IC0gMTsKKyAgICByZXR1cm4gbGluZUNvdW50OwogfQogCiAvLyBOT1RFOiBDb25z
aWRlciBwcm92aWRpbmcgdGhpcyB1dGlsaXR5IG1ldGhvZCBhcyBBWCBBUEkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IGViMDgwOTExNTIxOGM4NDA3MjIwYjcxOWI2YzM4NzA0OWQwZmM2OWYuLjE0
MmYxOWUzZjc1NjQ2OTY5NThhM2MwNzc3OWMxZjMwMTYwODA4MTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcApAQCAtMjU0Miw3ICsyNTQyLDcgQEAgaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG8KICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgCiAgICAgUG9zaXRpb24gaW5kZXhQb3NpdGlvbiA9IHBvcy5kZWVw
RXF1aXZhbGVudCgpOwotICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IHJvb3RFZGl0
YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihpbmRleFBvc2l0aW9uKSAhPSBub2RlKQorICAgIGlmIChp
bmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IGhpZ2hlc3RFZGl0YWJsZVJvb3QoaW5kZXhQb3NpdGlv
biwgQ2Fubm90Q3Jvc3NBc3Npc3RpdmVUZWNobm9sb2d5RWRpdGluZ0JvdW5kYXJ5KSAhPSBub2Rl
KQogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KaW5kZXggYTYwNGFlNjQ3OGJkMjI0NDVmZDE2
OGMzNTkyYTBjMWVlYTcyZGZiZi4uOTE5ODM2YzgxMzZlM2Q5MmY5ZDBhYTQwOTcxZTZiMGE4MGYx
ZWEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KQEAgLTE4ODksOSArMTg4
OSwxNiBAQCBzdGF0aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmcoQWNjZXNzaWJpbGl0
eVJvbGUgdmFsdWUpCiAgICAgICAgICAgICAvLyBpZiBzZWxlY3Rpb25FbmQgPiAwLCB0aGVuIHRo
ZXJlIGlzIHNlbGVjdGVkIHRleHQgYW5kIHRoaXMgcXVlc3Rpb24gc2hvdWxkIG5vdCBiZSBhbnN3
ZXJlZAogICAgICAgICAgICAgaWYgKG1fb2JqZWN0LT5pc1Bhc3N3b3JkRmllbGQoKSB8fCBtX29i
amVjdC0+c2VsZWN0aW9uRW5kKCkgPiAwKQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7Ci0g
ICAgICAgICAgICBpbnQgbGluZU51bWJlciA9IG1fb2JqZWN0LT5saW5lRm9yUG9zaXRpb24obV9v
YmplY3QtPnZpc2libGVQb3NpdGlvbkZvckluZGV4KG1fb2JqZWN0LT5zZWxlY3Rpb25TdGFydCgp
LCB0cnVlKSk7CisKKyAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZvY3VzZWRPYmpl
Y3QgPSBtX29iamVjdC0+Zm9jdXNlZFVJRWxlbWVudCgpOworICAgICAgICAgICAgaWYgKGZvY3Vz
ZWRPYmplY3QgIT0gbV9vYmplY3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
ICAgICAgICAgVmlzaWJsZVBvc2l0aW9uIGZvY3VzZWRQb3NpdGlvbiA9IGZvY3VzZWRPYmplY3Qt
PnZpc2libGVQb3NpdGlvbkZvckluZGV4KGZvY3VzZWRPYmplY3QtPnNlbGVjdGlvblN0YXJ0KCks
IHRydWUpOworICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIgPSBtX29iamVjdC0+bGluZUZvclBv
c2l0aW9uKGZvY3VzZWRQb3NpdGlvbik7CiAgICAgICAgICAgICBpZiAobGluZU51bWJlciA8IDAp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKKwogICAgICAgICAgICAgcmV0dXJuIFtOU051
bWJlciBudW1iZXJXaXRoSW50OmxpbmVOdW1iZXJdOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCmluZGV4IGZlNWM1ZTEyYzJhMTUxZTA0OGFlNmFjNjE3ZmE3ZTk2NTM3ZWE0NzAuLmFh
ZGZmZGM2ZDM4NzQ2ZjM2NDM0N2RjMmRjYTZjYWZhZjM1NzQzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
QEAgLTgwOSw2ICs4MDksMTcgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUoRWRpdGFi
bGVMZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9v
bCBOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3koRWRpdGFibGVM
ZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAoreworICAgIGlmIChyZW5kZXJlcklzRWRpdGFibGUo
ZWRpdGFibGVMZXZlbCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgQVNTRVJUKGRvY3Vt
ZW50KCkpOworICAgIEFTU0VSVChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgp
KTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKTsKKyAgICBy
ZXR1cm4gZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5ub2RlSXNFZGl0YWJsZVRvQXNzaXN0
aXZlVGVjaG5vbG9neSh0aGlzKTsKK30KKwogYm9vbCBOb2RlOjpzaG91bGRVc2VJbnB1dE1ldGhv
ZCgpCiB7CiAgICAgcmV0dXJuIGlzQ29udGVudEVkaXRhYmxlKCk7CkBAIC0xNjIzLDYgKzE2MzQs
MTkgQEAgRWxlbWVudCAqTm9kZTo6ZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0CiAg
ICAgcmV0dXJuIDA7CiB9CiAKK0VsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0Cit7CisgICAgaWYgKHJ1bGUgPT0g
Q2Fubm90Q3Jvc3NBc3Npc3RpdmVUZWNobm9sb2d5RWRpdGluZ0JvdW5kYXJ5ICYmIGRvY3VtZW50
KCktPmF4T2JqZWN0Q2FjaGUoKS0+aGFzQVJJQUVkaXRhYmxlRWxlbWVudHMoKSkKKyAgICAgICAg
cmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JBc3Npc3RpdmVUZWNobm9sb2d5KCk7CisKKyAg
ICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQorCitFbGVtZW50KiBOb2RlOjpyb290
RWRpdGFibGVFbGVtZW50Rm9yQXNzaXN0aXZlVGVjaG5vbG9neSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGNvbnN0X2Nhc3Q8RWxlbWVudCo+KGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9v
dEVkaXRhYmxlRWxlbWVudEZvck5vZGUodGhpcykpOworfQorCiBFbGVtZW50KiBOb2RlOjpyb290
RWRpdGFibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBFbGVtZW50KiByZXN1bHQgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKaW5kZXggODFlOGRlMGExNjZjYmYxYzZmOGZlZmEyOTY1NjI3M2IzZDI0NjQ4Ni4uOTcx
NWNmMWVlNWI4N2RiMmUzNmM4YTNlYWE3NDMzMjlmMTMxNmQ1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0y
NSw2ICsyNSw3IEBACiAjaWZuZGVmIE5vZGVfaAogI2RlZmluZSBOb2RlX2gKIAorI2luY2x1ZGUg
IkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAi
S1VSTEhhc2guaCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgpAQCAtMjc2LDcgKzI3Nyw5IEBA
IHB1YmxpYzoKICAgICBFbGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3Q7
CiAgICAgCiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwotICAgIAor
ICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdS
dWxlKSBjb25zdDsKKyAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50Rm9yQXNzaXN0aXZl
VGVjaG5vbG9neSgpIGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250YWluaW5nQmxvY2tGbG93
RWxlbWVudChOb2RlKik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuIHRoaXMg
ZWxlbWVudCdzIGNsb3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzUxLDggKzM1NCwxNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXNDb250ZW50Umlj
aGx5RWRpdGFibGUoKTsKIAotICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQotICAgIGJvb2wgcmVuZGVyZXJJ
c1JpY2hseUVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hs
eUVkaXRhYmxlKTsgfQorICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKGJvb2wgYXNzaXN0aXZl
VGVjaG5vbG9neSA9IGZhbHNlKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGFzc2lzdGl2
ZVRlY2hub2xvZ3kgPyByZW5kZXJlcklzRWRpdGFibGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3koRWRp
dGFibGUpIDogcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsKKyAgICB9CisKKyAgICBib29s
IHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShib29sIGFzc2lzdGl2ZVRlY2hub2xvZ3kgPSBmYWxz
ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBhc3Npc3RpdmVUZWNobm9sb2d5ID8gcmVu
ZGVyZXJJc0VkaXRhYmxlVG9Bc3Npc3RpdmVUZWNobm9sb2d5KFJpY2hseUVkaXRhYmxlKSA6IHJl
bmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7CisgICAgfQorCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGdldFJl
Y3QoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlZCk7
CkBAIC03MDEsNiArNzEyLDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7
IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxl
KEVkaXRhYmxlTGV2ZWwpIGNvbnN0OworICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlVG9Bc3Np
c3RpdmVUZWNobm9sb2d5KEVkaXRhYmxlTGV2ZWwpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRTdHls
ZUNoYW5nZShTdHlsZUNoYW5nZVR5cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5n
Qm91bmRhcnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1ZjJlYjRkZGUyOTY0YmE4ZGZhMGMwZWQ1YTg0
Li4yNGI2OTExNWNjNzhhMDZlZGRhYjMxYTYwZDQ5MjRkOGI0MTc1YmQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKQEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewogICAgIENhbkNy
b3NzRWRpdGluZ0JvdW5kYXJ5LAogICAgIENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LAorICAg
IENhbm5vdENyb3NzQXNzaXN0aXZlVGVjaG5vbG9neUVkaXRpbmdCb3VuZGFyeSwKICAgICBDYW5T
a2lwT3ZlckVkaXRpbmdCb3VuZGFyeQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmNwcAppbmRleCA2ZjQwYWJiZTliNmQyYWMyZTE3MzRhOGNlYzNkYjBkYTc4ZTE0YjM5Li42
MTM5YWY4YTdhNDYxMDcxNTIyMjJiNzQyYjgxMTVmODA2NjdlZTY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hl
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2lu
Y2x1ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAgLTEwNCwxOSArMTA1LDI4IEBAIGludCBjb21wYXJl
UG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5k
ZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQ
b3NpdGlvbiYgcG9zaXRpb24pCitib29sIG5vZGVJc0VkaXRhYmxlRm9yUnVsZShOb2RlKiBub2Rl
LCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKK3sKKyAgICBpZiAocnVsZSA9PSBD
YW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVy
SXNFZGl0YWJsZSgpOworICAgIGlmIChydWxlID09IENhbm5vdENyb3NzQXNzaXN0aXZlVGVjaG5v
bG9neUVkaXRpbmdCb3VuZGFyeSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0
YWJsZSh0cnVlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK05vZGUqIGhpZ2hlc3RFZGl0YWJs
ZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1
bGUgcnVsZSkKIHsKICAgICBOb2RlKiBub2RlID0gcG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgICAgICAKLSAgICBOb2RlKiBo
aWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uLCBydWxlKTsK
ICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBub2Rl
ID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnJl
bmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9kZUlzRWRpdGFibGVGb3JSdWxlKG5v
ZGUsIHJ1bGUpKQogICAgICAgICAgICAgaGlnaGVzdFJvb3QgPSBub2RlOwogICAgICAgICBpZiAo
bm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQzLDcg
KzE1Myw3IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkKICAgICBy
ZXR1cm4gbG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHApCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVw
cmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTYyLDcgQEAgYm9vbCBp
c0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRl
cmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9k
ZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFi
bGUoKTsKKyAgICByZXR1cm4gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUpOwogfQog
CiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0x
NzQsNyArMTg0LDcgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRp
b24mIHApCiAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpOwogfQog
Ci1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0Vs
ZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0aW5n
Qm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5jb250YWlu
ZXJOb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTgzLDcgKzE5Myw3IEBAIEVsZW1lbnQqIGVk
aXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5y
ZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9
IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxl
RWxlbWVudCgpOworICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHJ1bGUpOwog
fQogCiAvLyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50aWwgd2hpY2ggdGhlIHRyZWUg
Y2FuIGJlIHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGM2YjZk
ZDdhMWUyZmU4NTZkMzI5ODljYjM1NWQ4NjcyMDc3NzRkNTMuLjU2NDQwNjhiMWIzNDUwZGExNGYy
MzcyNDg0YmNkZmI4NmNhZWEwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgK
QEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIC8vIEZ1bmN0aW9ucyBy
ZXR1cm5pbmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSopOwotTm9kZSogaGln
aGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogaGlnaGVzdEVkaXRhYmxl
Um9vdChjb25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5v
dENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKKwogTm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5
cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKiksCiAg
ICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRh
cnksIE5vZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hlc3ROb2RlVG9SZW1vdmVJblBy
dW5pbmcoTm9kZSopOwpAQCAtNzgsNiArNzksNyBAQCBpbnQgY2FyZXRNaW5PZmZzZXQoY29uc3Qg
Tm9kZSopOwogaW50IGNhcmV0TWF4T2Zmc2V0KGNvbnN0IE5vZGUqKTsKIAogLy8gYm9vbGVhbiBm
dW5jdGlvbnMgb24gTm9kZQorYm9vbCBub2RlSXNFZGl0YWJsZUZvclJ1bGUoTm9kZSosIEVkaXRp
bmdCb3VuZGFyeUNyb3NzaW5nUnVsZSk7CiAKIC8vIEZJWE1FOiBlZGl0aW5nSWdub3Jlc0NvbnRl
bnQsIGNhbkhhdmVDaGlsZHJlbkZvckVkaXRpbmcsIGFuZCBpc0F0b21pY05vZGUKIC8vIHNob3Vs
ZCBiZSByZW5hbWVkIHRvIHJlZmxlY3QgaXRzIHVzYWdlLgpAQCAtMTUxLDcgKzE1Myw3IEBAIGlu
dCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAog
Ly8gYm9vbGVhbiBmdW5jdGlvbnMgb24gUG9zaXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5vdENyb3NzRWRpdGlu
Z0JvdW5kYXJ5KTsKIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
Jik7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBv
c2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29u
c3QgUG9zaXRpb24mKTsKQEAgLTIyMSw3ICsyMjMsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNy
ZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50KiwgUGFzc1JlZlB0cjxOb2RlPiB0YWJUZXh0Tm9k
ZQogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIGNv
bnN0IFN0cmluZyYgdGFiVGV4dCk7CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2NrUGxh
Y2Vob2xkZXJFbGVtZW50KERvY3VtZW50Kik7CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IENhbm5vdENy
b3NzRWRpdGluZ0JvdW5kYXJ5KTsKIEVsZW1lbnQqIHVuc3BsaXR0YWJsZUVsZW1lbnRGb3JQb3Np
dGlvbihjb25zdCBQb3NpdGlvbiYpOwogCiAvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAppbmRleCBjOTE3M2NiNjVh
NjM4MGE4ZTc4Mjk2ZTUxZjgyMmMzNDM0ZmI5ZWZhLi4yZDMwNWViYjNmMTgyYWFiMDlkNTlmMmRl
MTcxYjJiMTVhZDk5NTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2li
bGVfdW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHAKQEAgLTUxOCwxMiArNTE4LDEyIEBAIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZwKQogfQogCiAvLyBUaGUgZmlyc3QgbGVhZiBiZWZvcmUgbm9kZSB0aGF0IGhhcyB0
aGUgc2FtZSBlZGl0YWJpbGl0eSBhcyBub2RlLgotc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldp
dGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSBydWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpCiB7Ci0gICAgYm9vbCBlZGl0YWJs
ZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUgPSBub2Rl
SXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSk7CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZp
b3VzTGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0g
bi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBub2RlSXNF
ZGl0YWJsZUZvclJ1bGUobiwgcnVsZSkpCiAgICAgICAgICAgICByZXR1cm4gbjsKICAgICAgICAg
biA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBAIC01NTMsMTEgKzU1MywxMiBAQCBz
dGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURpcmVjdGlvblBvaW50VG9Mb2NhbFBv
aW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJbnRQb2ludChyb290LT5zZWxlY3Rp
b25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1BvaW50LnkoKSk7CiB9
CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQ
b3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3Np
bmdSdWxlIHJ1bGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1
aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9k
ZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUqIGhpZ2hl
c3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwLCBydWxlKTsKKwogICAgIGlmICghbm9kZSkK
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUs
MTEgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJh
Y2sgdG8gcHJldmlvdXMgY29udGFpbmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRp
dGFibGUKICAgICAgICAgLy8gYmxvY2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBp
biB0aGF0IGJsb2NrLgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdp
dGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIHJ1bGUpOwogICAgICAgICB3aGlsZSAobiAmJiBz
dGFydEJsb2NrID09IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAg
ICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAg
ICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwogICAgICAg
ICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQ
b3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlm
IChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgcnVs
ZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQ
b3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFnKSA/IHBvc2l0aW9uQmVmb3JlTm9kZShu
KSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1heE9mZnNldChuKSk7CiAg
ICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBW
aXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9
IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBydWxlKTsKICAgICAgICAgfQogICAgIH0K
ICAgICAKQEAgLTYxOCw3ICs2MTksNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgIC8v
IENvdWxkIG5vdCBmaW5kIGEgcHJldmlvdXMgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVh
ZHkgYmUgb24gdGhlIGZpcnN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhl
IGNvbnRlbnQgaW4gdGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAv
LyB0byB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVs
ZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVs
ZW1lbnQoKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1l
bnQqIHJvb3RFbGVtZW50ID0gbm9kZUlzRWRpdGFibGVGb3JSdWxlKG5vZGUsIHJ1bGUpID8gbm9k
ZS0+cm9vdEVkaXRhYmxlRWxlbWVudChydWxlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50
RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxl
UG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25Jbk5v
ZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKQEAgLTYzOCwyNiArNjM5LDI4IEBAIHN0YXRp
YyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgaW50IG9mZnNl
dCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShOb2RlKiBub2RlLCBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSA9IENhbm5v
dENyb3NzRWRpdGluZ0JvdW5kYXJ5KQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgCi0gICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgp
OworICAgIGJvb2wgZWRpdGFibGUgPSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSk7
CiAgICAgTm9kZSogbiA9IG5vZGUtPm5leHRMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0g
ICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAg
aWYgKGVkaXRhYmxlID09IG5vZGVJc0VkaXRhYmxlRm9yUnVsZShuLCBydWxlKSkKICAgICAgICAg
ICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+bmV4dExlYWZOb2RlKCk7CiAgICAgfQogICAg
IHJldHVybiAwOwogfQogCi1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBW
aXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkK
K1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
dmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0aW5nQm91bmRhcnlD
cm9zc2luZ1J1bGUgcnVsZSkKIHsKKyAgICAvLyBUT0RPOiBwdWxsIG91dCBjb2RlIHRoYXQgaXMg
Y29tbW9uIGJldHdlZW4gdGhpcyBhbmQgcHJldmlvdXNMaW5lUG9zaXRpb24uCiAgICAgUG9zaXRp
b24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUg
PSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRp
dGFibGVSb290KHApOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9v
dChwLCBydWxlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbigpOwogICAgIApAQCAtNjg2LDkgKzY4OSw5IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGlu
ZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGlu
CiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJl
bmRlcmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgICAgIHdoaWxlIChu
ICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkK
LSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAg
ICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwogICAgICAgICB3
aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3Np
dGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmICho
aWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgcnVsZSkg
IT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQb3Np
dGlvbiBwb3MgPSBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNaW5PZmZzZXQo
bikpOwogICAgICAgICAgICAgaWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC03MDIsNyArNzA1
LDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KIAogICAgICAgICAgICAgICAgIHJldHVybiBW
aXNpYmxlUG9zaXRpb24ocG9zLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0g
bmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHJ1bGUpOwogICAgICAgICB9CiAgICAgfQog
ICAgIApAQCAtNzE5LDcgKzcyMiw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgLy8g
Q291bGQgbm90IGZpbmQgYSBuZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJl
IG9uIHRoZSBsYXN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250ZW50
IGluIHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhl
IGVuZCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5v
ZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDog
bm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVs
ZW1lbnQgPSBub2RlSXNFZGl0YWJsZUZvclJ1bGUobm9kZSwgcnVsZSkgPyBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KHJ1bGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7
CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigp
OwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obGFzdFBvc2l0aW9uSW5Ob2RlKHJvb3RFbGVt
ZW50KSwgRE9XTlNUUkVBTSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zp
c2libGVfdW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCmlu
ZGV4IDRkOGUwODMxNTExZGJmMDQzYTA0NTY2NDljMzM4ZThlOGY0ODgwMTMuLjRhOGQzY2FiOThl
ZDIyODRjZWExOGQyZWZlNWVkNjQ4MjNjYjI1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlz
aWJsZV91bml0cy5oCkBAIC01NCw4ICs1NCw4IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0U2VudGVu
Y2VQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiAvLyBsaW5lcwogVmlzaWJsZVBv
c2l0aW9uIHN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIFZpc2libGVQb3Np
dGlvbiBlbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwotVmlzaWJsZVBvc2l0aW9u
IHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURp
cmVjdGlvblBvaW50KTsKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50KTsKK1Zpc2libGVQb3NpdGlv
biBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVE
aXJlY3Rpb25Qb2ludCwgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NF
ZGl0aW5nQm91bmRhcnkpOworVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIGJvb2wgaW5TYW1l
TGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwog
Ym9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNFbmRP
ZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFkM2RlMjI4YTA5MDY3ZTVh
YjdlM2IwMmUyZTkwYTY2ZTlhZjA3MzcuLmVlMWMzNTNhNTgyODA2MTk2MmIxMDBhMTgxZGU0YmQ1
MmY0NDVkN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0xMiAgQWxpY2UgQm94aGFs
bCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQgY29ycmVjdCBsaW5l
IG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0
Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWw6IEFkZGVkLgorCiAyMDEx
LTEyLTEyICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIENocm9taXVtIGdhcmRlbmluZy4gTWFyayBmbGFreSBjcmFzaGluZyB0cmFuc2l0aW9u
cy8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0
aW9uLXBvaW50LWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApp
bmRleCBhNmZiNTRjYmNhM2E1ZGNiN2Q3MjMxYzcyZTg4ZGYxNjVlYjdiYzcwLi5hZTAxMjU2NmFj
ZDc3ZGRmYWJiNWFhYTNmZDllNWFjYWU1ZWI0OTY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24t
cG9pbnQtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0yLDQgKzIsMTEgQEAgVGVzdDowKSBM
aW5lIE51bWJlcjogUGFzcyBbMC0+MF0KIFRlc3Q6MSkgTGluZSBOdW1iZXI6IFBhc3MgWzctPjFd
CiBUZXN0OjIpIExpbmUgTnVtYmVyOiBQYXNzIFsxNC0+Ml0KIE5vdCBmb2N1c2VkIG9uIHRleHQg
YXJlYSBsaW5lIG51bWJlcjogLTEKK1NlbGVjdGlvbiBpbiBsaW5lIDEgb2YgY29udGVudGVkaXRh
YmxlIGxpbmVudW1iZXI6IDAKK1NlbGVjdGlvbiBpbiBlbWJlZGRlZCB0ZXh0YXJlYSBvZiBjb250
ZW50ZWRpdGFibGUgbGluZW51bWJlcjogLTEKK1NlbGVjdGlvbiBpbiBsaW5lIDMgb2YgY29udGVu
dGVkaXRhYmxlIGxpbmVudW1iZXI6IDIKK0xpbmUgbnVtYmVyIGZvciBlbWJlZGRlZCB0ZXh0YXJl
YTogMAogICAKK0xpbmUxCisKK0xpbmUzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIu
aHRtbAppbmRleCBhNTBmNjM3MjRlMzlhYjE4ZjQ3ZTJlNTEzM2Y5NDUzYzA0MzViZGI1Li5lZDc5
YzM3OTljYzQzMWU5ZTFlYjVjZTBhOWFkNjExYTAwMmU0NWI3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBv
aW50LWxpbmUtbnVtYmVyLmh0bWwKQEAgLTQsOSArNCw3IEBACiAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPGJvZHk+Ci0gICAgCiAgICAgPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KLSAgICAKICAgICA8dGV4dGFyZWEgbmFtZT0iYXJlYTEiIGlk
PSJhcmVhMSIgcm93cz0iNSIgY29scz0iNDAiPgogbGluZSAxCiBsaW5lIDIKQEAgLTE0LDMwICsx
Miw2NyBAQCBsaW5lIDMKICAgICA8L3RleHRhcmVhPgogCiAgICAgPHRleHRhcmVhIG5hbWU9ImFy
ZWEyIiBpZD0iYXJlYTIiIHJvd3M9IjUiIGNvbHM9IjQwIj48L3RleHRhcmVhPgotICAgICAKKwor
CisgICAgPGRpdiBpZD0iY29udGVudGVkaXRhYmxlLWRpdiIgcm9sZT0idGV4dGJveCIgY29udGVu
dGVkaXRhYmxlPSJ0cnVlIiB0YWJpbmRleD0iMCI+CisgICAgICA8ZGl2IGlkPSJjb250ZW50ZWRp
dGFibGUtbGluZTEiPkxpbmUxPC9kaXY+CisgICAgICA8dGV4dGFyZWEgaWQ9ImNvbnRlbnRlZGl0
YWJsZS1saW5lMiIgcm93cz0iMSIgY29scz0iNDAiPkxpbmUyPC90ZXh0YXJlYT4KKyAgICAgIDxk
aXYgaWQ9ImNvbnRlbnRlZGl0YWJsZS1saW5lMyI+TGluZTM8L2Rpdj4KKyAgICA8L2Rpdj4KICAg
ICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7
CiAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpOwogCiAgICAgICAgICAgICB2YXIgYXJlYTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YXJlYTEiKTsKICAgICAgICAgICAgIGFyZWExLmZvY3VzKCk7CisgICAgICAgICAgICB2YXIgYXJl
YTFBWFVJRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50Owor
ICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSAtMjsKIAotICAgICAgICAgICAgZm9yICh2YXIg
ayA9IDA7IGsgPCAzOyBrKyspIHsKKyAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgMzsg
aysrICkgewogICAgICAgICAgICAgICAgIGFyZWExLnNlbGVjdGlvblN0YXJ0ID0gKGsqNyk7CiAg
ICAgICAgICAgICAgICAgYXJlYTEuc2VsZWN0aW9uRW5kID0gKGsqNyk7Ci0gICAgICAgICAgICAg
ICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
bGluZU51bWJlciA9IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOwog
ICAgICAgICAgICAgICAgIGlmIChsaW5lTnVtYmVyID09IGspIHsKLSAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBQYXNz
IFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOyAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsg
ayArICIpIExpbmUgTnVtYmVyOiBQYXNzIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4i
ICsgbGluZU51bWJlciArICJdXG4iOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdDoi
ICsgayArICIpIExpbmUgTnVtYmVyOiBGYWlsIFsiICsgYXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAi
LT4iICsgbGluZU51bWJlciArICJdXG4iOyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgcmVz
dWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBGYWlsIFsiICsg
YXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgdmFyIGFyZWEyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyZWEyIik7CiAgICAgICAgICAgICBhcmVhMi5mb2N1cygp
OwotICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIKKyAgICAgICAgICAgIGxpbmVO
dW1iZXIgPSBhcmVhMUFYVUlFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcjsKICAgICAg
ICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIk5vdCBmb2N1c2VkIG9uIHRleHQgYXJlYSBsaW5l
IG51bWJlcjogIiArIGxpbmVOdW1iZXIgKyAiXG4iOworCisgICAgICAgICAgICB2YXIgY29udGVu
dGVkaXRhYmxlRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnRlZGl0YWJsZS1k
aXYiKTsKKyAgICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZURpdi5mb2N1cygpOworICAgICAgICAg
ICAgdmFyIGNvbnRlbnRlZGl0YWJsZUFYVUlFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgICAgIHZhciBjb250ZW50ZWRpdGFibGVMaW5l
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50ZWRpdGFibGUtbGluZTEiKTsKKyAg
ICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGNvbnRlbnRl
ZGl0YWJsZUxpbmUxLCAxLCBjb250ZW50ZWRpdGFibGVMaW5lMSwgMSk7CisgICAgICAgICAgICBy
ZXN1bHQuaW5uZXJUZXh0ICs9ICJTZWxlY3Rpb24gaW4gbGluZSAxIG9mIGNvbnRlbnRlZGl0YWJs
ZSBsaW5lbnVtYmVyOiI7CisgICAgICAgICAgICBsaW5lTnVtYmVyID0gY29udGVudGVkaXRhYmxl
QVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOworICAgICAgICAgICAgcmVzdWx0
LmlubmVyVGV4dCArPSAiICIgKyBsaW5lTnVtYmVyICsgIlxuIjsKKworICAgICAgICAgICAgdmFy
IGNvbnRlbnRlZGl0YWJsZUxpbmUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnRl
ZGl0YWJsZS1saW5lMiIpOworICAgICAgICAgICAgY29udGVudGVkaXRhYmxlTGluZTIuc2VsZWN0
aW9uU3RhcnQgPSAxOworICAgICAgICAgICAgY29udGVudGVkaXRhYmxlTGluZTIuc2VsZWN0aW9u
RW5kID0gMTsKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlNlbGVjdGlvbiBpbiBl
bWJlZGRlZCB0ZXh0YXJlYSBvZiBjb250ZW50ZWRpdGFibGUgbGluZW51bWJlcjoiOworICAgICAg
ICAgICAgbGluZU51bWJlciA9IGNvbnRlbnRlZGl0YWJsZUFYVUlFbGVtZW50Lmluc2VydGlvblBv
aW50TGluZU51bWJlcjsKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIiAiICsgbGlu
ZU51bWJlciArICJcbiI7CisKKyAgICAgICAgICAgIHZhciBjb250ZW50ZWRpdGFibGVMaW5lMyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50ZWRpdGFibGUtbGluZTMiKTsKKyAgICAg
ICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGNvbnRlbnRlZGl0
YWJsZUxpbmUzLCAxLCBjb250ZW50ZWRpdGFibGVMaW5lMywgMSk7CisgICAgICAgICAgICByZXN1
bHQuaW5uZXJUZXh0ICs9ICJTZWxlY3Rpb24gaW4gbGluZSAzIG9mIGNvbnRlbnRlZGl0YWJsZSBs
aW5lbnVtYmVyOiI7CisgICAgICAgICAgICBsaW5lTnVtYmVyID0gY29udGVudGVkaXRhYmxlQVhV
SUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOworICAgICAgICAgICAgcmVzdWx0Lmlu
bmVyVGV4dCArPSAiICIgKyBsaW5lTnVtYmVyICsgIlxuIjsKKworICAgICAgICAgICAgY29udGVu
dGVkaXRhYmxlTGluZTIuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciB0ZXh0YXJlYUFYVUlFbGVt
ZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgICAg
ICByZXN1bHQuaW5uZXJUZXh0ICs9ICJMaW5lIG51bWJlciBmb3IgZW1iZWRkZWQgdGV4dGFyZWE6
IjsKKyAgICAgICAgICAgIGxpbmVOdW1iZXIgPSB0ZXh0YXJlYUFYVUlFbGVtZW50Lmluc2VydGlv
blBvaW50TGluZU51bWJlcjsKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIiAiICsg
bGluZU51bWJlciArICJcbiI7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gt
cm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVj
dC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGY1ZjhlZTIzMjkwNTllNjMw
MGM2ZWIxYzFmMDlkNDMzMzlkYjM3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGlu
ZS1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgdGhhdCBu
b24tbmF0aXZlIHRleHRib3hlcyByZXBvcnQgdGhlIGNvcnJlY3QgbGluZSBudW1iZXIuCisKK0Fk
ZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hvdWxkbid0IGNoYW5n
ZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCisKK1NvbWUgdGV4dCBpbiBhIHRleHRib3guCitQ
QVNTIHRleHRib3hBeEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVw
b3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjA5NWM3NzJhMThjZWI3Mjg2ZTUzMjBmN2Y3ZTUyMDA4MGFlNTNmNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbApAQCAtMCwwICsx
LDMxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUM+Cis8aHRtbCBpZD0iaHRtbCI+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
cyB0aGF0IG5vbi1uYXRpdmUgdGV4dGJveGVzIHJlcG9ydCB0aGUgY29ycmVjdCBsaW5lIG51bWJl
ci4KKzxwPkFkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRleHRib3ggc2hvdWxk
bid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCis8ZGl2IHJvbGU9InRleHRib3gi
IGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29t
ZSB0ZXh0IGluIGEgdGV4dGJveC48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBhcmlhVGV4dEJveCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgICAgICBhcmlhVGV4dEJveC5mb2N1cygp
OworICAgICAgICB2YXIgdGV4dGJveEF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJlKCJ0ZXh0Ym94QXhFbGVtZW50Lmlu
c2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119156</attachid>
            <date>2011-12-13 22:32:26 -0800</date>
            <delta_ts>2011-12-19 19:25:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111214173223.patch</filename>
            <type>text/plain</type>
            <size>34506</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxYTk1MTNhZTYxZWNkNTQ5OWJjZGJmODYwN2E0ZGUzOWM3OTllYmZhLi43
NTkxZjExMGU2Nzc4YmM2NDRlMzA4NmQ4MjI0MzgxNTQ2N2UxZmYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMTEtMTItMTMgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRp
dmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cm9v
dEVkaXRhYmxlRWxlbWVudEZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6bm9kZUlzVGV4dENvbnRyb2wpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFzQVJJQUVkaXRhYmxl
RWxlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzRWRpdGFi
bGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3kpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
OjpsaW5lRm9yUG9zaXRpb24pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW06CisgICAgICAgICgtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToK
KyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJl
cklzRWRpdGFibGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3kpOgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZTo6cm9vdEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlOjpyZW5kZXJlcklzUmljaGx5RWRpdGFibGUpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdGlu
Z0JvdW5kYXJ5Lmg6CisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290KToKKyAgICAgICAgKFdlYkNvcmU6OmlzRWRp
dGFibGVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjppc1JpY2hseUVkaXRhYmxlUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6ZWRpdGFibGVSb290Rm9yUG9zaXRpb24pOgorICAgICAg
ICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5p
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eSk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xpbmVQb3NpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6
bmV4dExpbmVQb3NpdGlvbik6CisgICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisK
IDIwMTEtMTItMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2hhcmUgY29kZSB0aGF0IGNoZWNrcyBmb3IgbWF0Y2hpbmcgc2V0cyBvZiB0cmFuc2Zv
cm0gb3BlcmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2EwOWJkZjJlMDM0OGYxOWJjYWQxOTFiNjRiMWZjNi4u
ZmUxNWQ3NDUyMWNkMmE3MzEwMzQ1NGJjMTI3OTI4NjQ1NzQ3ZGVmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0yNzcsNiArMjc3LDgg
QEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVy
T2JqZWN0KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG9iajsKIAogICAgIFJlZlB0cjxBY2Nl
c3NpYmlsaXR5T2JqZWN0PiBuZXdPYmogPSBjcmVhdGVGcm9tUmVuZGVyZXIocmVuZGVyZXIpOwor
ICAgIGlmIChuZXdPYmotPmlzQVJJQVRleHRDb250cm9sKCkpCisgICAgICAgIG1faGFzQVJJQUVk
aXRhYmxlRWxlbWVudHMgPSB0cnVlOwogCiAgICAgZ2V0QVhJRChuZXdPYmouZ2V0KCkpOwogCkBA
IC02NjIsNSArNjY0LDM1IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4dE1hcmtlckRhdGFGb3JW
aXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJECiAgICAgCiAgICAgY2Fj
aGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29uc3QgRWxlbWVudCogQVhP
YmplY3RDYWNoZTo6cm9vdEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29uc3QgTm9kZSogbm9kZSkK
K3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSAwOworICAgIGNvbnN0IEVsZW1lbnQqIHJv
b3RFZGl0YWJsZUVsZW1lbnQgPSBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisKKyAgICBj
b25zdCBFbGVtZW50KiBlbGVtZW50ID0gbm9kZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50
KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVudCgpOworCisgICAgZm9yICg7IGVsZW1lbnQgJiYg
IWVsZW1lbnQtPmhhc1RhZ05hbWUoYm9keVRhZyk7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRF
bGVtZW50KCkpIHsKKyAgICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGVsZW1lbnQpKQorICAg
ICAgICAgICAgcmVzdWx0ID0gZWxlbWVudDsKKyAgICB9CisKKyAgICBpZiAocmVzdWx0KQorICAg
ICAgICByZXR1cm4gcmVzdWx0OworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQ7Cit9
CisKK2Jvb2wgQVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSogbm9k
ZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0
IEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0Rm9yTm9kZSA9IGdldE9yQ3JlYXRlKG5vZGUt
PnJlbmRlcmVyKCkpOworICAgIGlmICghYXhPYmplY3RGb3JOb2RlKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gYXhPYmplY3RGb3JOb2RlLT5pc1RleHRDb250cm9sKCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNTYwZTBmMzRiMTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdj
OGU5ODliYS4uMDk2MmE2YWM0ZWY0NmZkMGY1OTMzOWI1MTZmYTVmNzQwMGNhMTIxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTEwNiw2ICsx
MDYsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCByZW1vdmVBWElEKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKICAgICBib29sIGlzSURpblVzZShBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX2lkc0lu
VXNlLmNvbnRhaW5zKGlkKTsgfQorCisgICAgYm9vbCBoYXNBUklBRWRpdGFibGVFbGVtZW50cygp
IGNvbnN0IHsgcmV0dXJuIG1faGFzQVJJQUVkaXRhYmxlRWxlbWVudHM7IH0KKyAgICBjb25zdCBF
bGVtZW50KiByb290RWRpdGFibGVFbGVtZW50Rm9yTm9kZShjb25zdCBOb2RlKik7CisgICAgYm9v
bCBub2RlSXNFZGl0YWJsZVRvQXNzaXN0aXZlVGVjaG5vbG9neShjb25zdCBOb2RlKiBub2RlKSB7
IHJldHVybiByb290RWRpdGFibGVFbGVtZW50Rm9yTm9kZShub2RlKTsgfQorICAgIGJvb2wgbm9k
ZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRl
QVhJRCgpIGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFY
SUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKQEAgLTE3
NSw2ICsxODEsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGdBY2Nlc3NpYmlsaXR5RW5o
YW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRz
SW5Vc2U7CisgICAgYm9vbCBtX2hhc0FSSUFFZGl0YWJsZUVsZW1lbnRzOwogICAgIAogICAgIFRp
bWVyPEFYT2JqZWN0Q2FjaGU+IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyOwogICAgIFZlY3Rvcjxw
YWlyPFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiwgQVhOb3RpZmljYXRpb24+ID4gbV9ub3Rp
ZmljYXRpb25zVG9Qb3N0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggMzBiZDMwNDJhYTA1OGU5ZmVhNDcxZTdjMTRm
NTVmMThkNmEwZjNmZi4uZjVkZjI5MDdjMzM3NjNiZDQzMzU4MjJlZDNkNjJmZmM2MTU4ZWQ3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwCkBAIC0xMDIzLDI0ICsxMDIzLDI5IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlPYmplY3RGb3JQb3NpdGlvbihjb25zdCBW
CiAKIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zdAogewotICAgIGlmICh2aXNpYmxlUG9zLmlzTnVs
bCgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAodmlzaWJsZVBvcy5pc051bGwoKSB8fCAh
bm9kZSgpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvLyBJZiB0aGUgcG9zaXRpb24gaXMg
bm90IGluIHRoZSBzYW1lIGVkaXRhYmxlIHJlZ2lvbiBhcyB0aGlzIEFYIG9iamVjdCwgcmV0dXJu
IC0xLgorICAgIE5vZGUqIGNvbnRhaW5lck5vZGUgPSB2aXNpYmxlUG9zLmRlZXBFcXVpdmFsZW50
KCkuY29udGFpbmVyTm9kZSgpOworICAgIGlmICghY29udGFpbmVyTm9kZS0+Y29udGFpbnNJbmNs
dWRpbmdTaGFkb3dET00obm9kZSgpKSAmJiAhbm9kZSgpLT5jb250YWluc0luY2x1ZGluZ1NoYWRv
d0RPTShjb250YWluZXJOb2RlKSkKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgdW5zaWduZWQg
bGluZUNvdW50ID0gMDsKKyAgICBpbnQgbGluZUNvdW50ID0gLTE7CiAgICAgVmlzaWJsZVBvc2l0
aW9uIGN1cnJlbnRWaXNpYmxlUG9zID0gdmlzaWJsZVBvczsKICAgICBWaXNpYmxlUG9zaXRpb24g
c2F2ZWRWaXNpYmxlUG9zOwogCiAgICAgLy8gbW92ZSB1cCB1bnRpbCB3ZSBnZXQgdG8gdGhlIHRv
cAogICAgIC8vIEZJWE1FOiBUaGlzIG9ubHkgdGFrZXMgdXMgdG8gdGhlIHRvcCBvZiB0aGUgcm9v
dEVkaXRhYmxlRWxlbWVudCwgbm90IHRoZSB0b3Agb2YgdGhlCiAgICAgLy8gdG9wIGRvY3VtZW50
LgotICAgIHdoaWxlIChjdXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2FtZUxp
bmUoY3VycmVudFZpc2libGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKSB7Ci0gICAgICAgICsrbGlu
ZUNvdW50OworICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0gY3VycmVudFZpc2li
bGVQb3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3Vz
TGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAgVmlzaWJsZVBvc2l0
aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQ
b3MsIDAsIEFzc2lzdGl2ZVRlY2hub2xvZ3kpOwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9
IHByZXZWaXNpYmxlUG9zOwotICAgIH0KKyAgICAgICAgKytsaW5lQ291bnQ7CisgICAgfSAgd2hp
bGUgKGN1cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50
VmlzaWJsZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwogCi0gICAgcmV0dXJuIGxpbmVDb3VudCAt
IDE7CisgICAgcmV0dXJuIGxpbmVDb3VudDsKIH0KIAogLy8gTk9URTogQ29uc2lkZXIgcHJvdmlk
aW5nIHRoaXMgdXRpbGl0eSBtZXRob2QgYXMgQVggQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRl
eCBlYjA4MDkxMTUyMThjODQwNzIyMGI3MTliNmMzODcwNDlkMGZjNjlmLi5kMmFjMTJiNzA5NTAw
NzJkZWI5NWRkZjc4MmRlNzZhNDQ3NDIyYzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1
NDIsNyArMjU0Miw3IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZp
c2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvCiAgICAgICAgIHJldHVybiAw
OwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRpb24gPSBwb3MuZGVlcEVxdWl2YWxlbnQo
KTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCByb290RWRpdGFibGVFbGVtZW50
Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9kZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlv
bi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290KGluZGV4UG9zaXRpb24sIEFzc2lzdGl2
ZVRlY2hub2xvZ3kpICE9IG5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQppbmRleCBh
NjA0YWU2NDc4YmQyMjQ0NWZkMTY4YzM1OTJhMGMxZWVhNzJkZmJmLi45MTk4MzZjODEzNmUzZDky
ZjlkMGFhNDA5NzFlNmIwYTgwZjFlYTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ci5tbQpAQCAtMTg4OSw5ICsxODg5LDE2IEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9O
U1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSB2YWx1ZSkKICAgICAgICAgICAgIC8vIGlmIHNlbGVj
dGlvbkVuZCA+IDAsIHRoZW4gdGhlcmUgaXMgc2VsZWN0ZWQgdGV4dCBhbmQgdGhpcyBxdWVzdGlv
biBzaG91bGQgbm90IGJlIGFuc3dlcmVkCiAgICAgICAgICAgICBpZiAobV9vYmplY3QtPmlzUGFz
c3dvcmRGaWVsZCgpIHx8IG1fb2JqZWN0LT5zZWxlY3Rpb25FbmQoKSA+IDApCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIG5pbDsKLSAgICAgICAgICAgIGludCBsaW5lTnVtYmVyID0gbV9vYmplY3Qt
PmxpbmVGb3JQb3NpdGlvbihtX29iamVjdC0+dmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgobV9vYmpl
Y3QtPnNlbGVjdGlvblN0YXJ0KCksIHRydWUpKTsKKworICAgICAgICAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogZm9jdXNlZE9iamVjdCA9IG1fb2JqZWN0LT5mb2N1c2VkVUlFbGVtZW50KCk7Cisg
ICAgICAgICAgICBpZiAoZm9jdXNlZE9iamVjdCAhPSBtX29iamVjdCkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gbmlsOworCisgICAgICAgICAgICBWaXNpYmxlUG9zaXRpb24gZm9jdXNlZFBvc2l0
aW9uID0gZm9jdXNlZE9iamVjdC0+dmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgoZm9jdXNlZE9iamVj
dC0+c2VsZWN0aW9uU3RhcnQoKSwgdHJ1ZSk7CisgICAgICAgICAgICBpbnQgbGluZU51bWJlciA9
IG1fb2JqZWN0LT5saW5lRm9yUG9zaXRpb24oZm9jdXNlZFBvc2l0aW9uKTsKICAgICAgICAgICAg
IGlmIChsaW5lTnVtYmVyIDwgMCkKICAgICAgICAgICAgICAgICByZXR1cm4gbmlsOworCiAgICAg
ICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhJbnQ6bGluZU51bWJlcl07CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZmU1YzVlMTJjMmExNTFlMDQ4YWU2YWM2
MTdmYTdlOTY1MzdlYTQ3MC4uZDZlMzc1MDRmNzg5NTcwOTYxOTFlNTQxNWU4Y2UyOTAwYzkxMDZj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtODA5LDYgKzgwOSwxNyBAQCBib29sIE5vZGU6OnJlbmRl
cmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitib29sIE5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZVRvQXNzaXN0aXZl
VGVjaG5vbG9neShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0Cit7CisgICAgaWYg
KHJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZUxldmVsKSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICBBU1NFUlQoZG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkpOworICAgIEFTU0VSVChkb2N1bWVudCgpLT5heE9iamVjdENh
Y2hlRXhpc3RzKCkpOworICAgIHJldHVybiBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPm5v
ZGVJc0VkaXRhYmxlVG9Bc3Npc3RpdmVUZWNobm9sb2d5KHRoaXMpOworfQorCiBib29sIE5vZGU6
OnNob3VsZFVzZUlucHV0TWV0aG9kKCkKIHsKICAgICByZXR1cm4gaXNDb250ZW50RWRpdGFibGUo
KTsKQEAgLTE2MjMsNiArMTYzNCwxNCBAQCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zs
b3dFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorRWxlbWVudCogTm9kZTo6cm9v
dEVkaXRhYmxlRWxlbWVudChFZGl0YWJsZVRvIHRvKSBjb25zdAoreworICAgIGlmICh0byA9PSBB
c3Npc3RpdmVUZWNobm9sb2d5ICYmIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+aGFzQVJJ
QUVkaXRhYmxlRWxlbWVudHMoKSkKKyAgICAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8RWxlbWVudCo+
KGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEVkaXRhYmxlRWxlbWVudEZvck5vZGUo
dGhpcykpOworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVu
dCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVz
dWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDgxZThkZTBhMTY2Y2JmMWM2ZjhmZWZhMjk2NTYyNzNi
M2QyNDY0ODYuLjdiZmY4MGFmYWI2ZmU2MmRjZmZlNzZmZjVmYzYxMWMyNmNkOGE3MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9o
CiAKKyNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3
Niw3ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxl
bWVudCgpIGNvbnN0OwogICAgIAogICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBj
b25zdDsKLSAgICAKKyAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVG8p
IGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250YWluaW5nQmxvY2tGbG93RWxlbWVudChOb2Rl
Kik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuIHRoaXMgZWxlbWVudCdzIGNs
b3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzUxLDggKzM1MywyNiBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXNDb250ZW50UmljaGx5RWRpdGFibGUo
KTsKIAotICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVy
ZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQotICAgIGJvb2wgcmVuZGVyZXJJc1JpY2hseUVkaXRh
YmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsg
fQorICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlVG8gZWRpdGFibGVUbyA9IEFs
bCkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVUbykgeworICAgICAgICBj
YXNlIEFzc2lzdGl2ZVRlY2hub2xvZ3k6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0Vk
aXRhYmxlVG9Bc3Npc3RpdmVUZWNobm9sb2d5KEVkaXRhYmxlKTsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOworICAgICAg
ICB9CisgICAgfQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoRWRpdGFibGVU
byBlZGl0YWJsZVRvID0gQWxsKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJs
ZVRvKSB7CisgICAgICAgIGNhc2UgQXNzaXN0aXZlVGVjaG5vbG9neToKKyAgICAgICAgICAgIHJl
dHVybiByZW5kZXJlcklzRWRpdGFibGVUb0Fzc2lzdGl2ZVRlY2hub2xvZ3koUmljaGx5RWRpdGFi
bGUpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0
YWJsZShSaWNobHlFZGl0YWJsZSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKICAgICB2aXJ0dWFsIExheW91dFJlY3QgZ2V0UmVj
dCgpIGNvbnN0OwogICAgIExheW91dFJlY3QgcmVuZGVyUmVjdChib29sKiBpc1JlcGxhY2VkKTsK
QEAgLTcwMSw2ICs3MjEsNyBAQCBwcml2YXRlOgogCiAgICAgZW51bSBFZGl0YWJsZUxldmVsIHsg
RWRpdGFibGUsIFJpY2hseUVkaXRhYmxlIH07CiAgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUo
RWRpdGFibGVMZXZlbCkgY29uc3Q7CisgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGVUb0Fzc2lz
dGl2ZVRlY2hub2xvZ3koRWRpdGFibGVMZXZlbCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxl
Q2hhbmdlKFN0eWxlQ2hhbmdlVHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
b3VuZGFyeS5oCmluZGV4IGY4YWMxY2IwNDU2ODVmMmViNGRkZTI5NjRiYThkZmEwYzBlZDVhODQu
LjU1MDI0MjQxZTZmZTVhZTE4YjliZDE2MjE2OWFkNzFlNjQyYTBlZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaApAQCAtMzQsNiArMzQsMTEgQEAgZW51bSBFZGl0
aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewogICAgIENhblNraXBPdmVyRWRpdGluZ0JvdW5kYXJ5
CiB9OwogCitlbnVtIEVkaXRhYmxlVG8geworICAgIEFsbCwKKyAgICBBc3Npc3RpdmVUZWNobm9s
b2d5Cit9OworCiB9CiAKICNlbmRpZiAvLyBFZGl0aW5nQm91bmRhcnlfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAppbmRleCA2ZjQwYWJiZTliNmQyYWMyZTE3MzRhOGNlYzNk
YjBkYTc4ZTE0YjM5Li4yNTc5NGY1Yjc1ZmU5Yzk3ZmE0YTllNDk1MGIyM2M3M2I5OTQwOWQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRl
ICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0
aW5nVGV4dC5oIgogI2luY2x1ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAgLTQ2LDYgKzQ3LDcgQEAK
ICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIK
ICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hh
cmFjdGVyTmFtZXMuaD4KIApAQCAtMTA0LDE5ICsxMDYsMTkgQEAgaW50IGNvbXBhcmVQb3NpdGlv
bnMoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBhLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIGIpCiAg
ICAgcmV0dXJuIGNvbXBhcmVQb3NpdGlvbnMoYS5kZWVwRXF1aXZhbGVudCgpLCBiLmRlZXBFcXVp
dmFsZW50KCkpOwogfQogCi1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9u
JiBwb3NpdGlvbikKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBv
c2l0aW9uLCBFZGl0YWJsZVRvIHRvKQogewogICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5kZXBy
ZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAg
IAotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRp
b24pOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9z
aXRpb24sIHRvKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4gMDsKICAg
ICAKICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAg
aWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9kZS0+cmVuZGVy
ZXJJc0VkaXRhYmxlKHRvKSkKICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsKICAgICAg
ICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVhazsKQEAg
LTE0Myw3ICsxNDUsNyBAQCBOb2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUqIG5vZGUp
CiAgICAgcmV0dXJuIGxvd2VzdFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHAsIEVkaXRhYmxlVG8gdG8pCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUo
KTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTU0LDcgQEAgYm9vbCBpc0VkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9k
ZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9k
ZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBy
ZXR1cm4gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKHRvKTsKIH0KIAogYm9vbCBpc0F0VW5zcGxp
dHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQpAQCAtMTYyLDcgKzE2NCw3IEBAIGJv
b2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24mIHBvcykKIH0KICAgICAK
ICAgICAKLWJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQor
Ym9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxl
VG8gdG8pCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAo
IW5vZGUpCkBAIC0xNzEsMTAgKzE3MywxMCBAQCBib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5y
ZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7
CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpOworICAg
IHJldHVybiBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRpdGFibGUodG8pOwogfQogCi1FbGVtZW50
KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0VsZW1lbnQqIGVk
aXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVRvIHRvKQog
ewogICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBA
IC0xODMsNyArMTg1LDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIo
KS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAot
ICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7CisgICAgcmV0dXJuIG5vZGUt
PnJvb3RFZGl0YWJsZUVsZW1lbnQodG8pOwogfQogCiAvLyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVs
ZW1lbnQgdW50aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJlIHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9odG1sZWRpdGluZy5oCmluZGV4IGM2YjZkZDdhMWUyZmU4NTZkMzI5ODljYjM1NWQ4NjcyMDc3
NzRkNTMuLmJkMzNkM2ViODNmMjBjZDA1ODY4OGM3MGEwYTVlMTA0ZGEyOWM4YjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJs
ZVNlbGVjdGlvbjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0
QW5jZXN0b3IoTm9kZSopOwotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlv
biYpOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxl
VG8gPSBBbGwpOworCiBOb2RlKiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3Np
dGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwKICAgICBFZGl0aW5nQm91
bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwgTm9kZSogc3Rh
eVdpdGhpbiA9IDApOwogTm9kZSogaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZyhOb2RlKik7
CkBAIC03Nyw4ICs3OCw2IEBAIGludCBsYXN0T2Zmc2V0Rm9yRWRpdGluZyhjb25zdCBOb2RlKik7
CiBpbnQgY2FyZXRNaW5PZmZzZXQoY29uc3QgTm9kZSopOwogaW50IGNhcmV0TWF4T2Zmc2V0KGNv
bnN0IE5vZGUqKTsKIAotLy8gYm9vbGVhbiBmdW5jdGlvbnMgb24gTm9kZQotCiAvLyBGSVhNRTog
ZWRpdGluZ0lnbm9yZXNDb250ZW50LCBjYW5IYXZlQ2hpbGRyZW5Gb3JFZGl0aW5nLCBhbmQgaXNB
dG9taWNOb2RlCiAvLyBzaG91bGQgYmUgcmVuYW1lZCB0byByZWZsZWN0IGl0cyB1c2FnZS4KIApA
QCAtMTUxLDggKzE1MCw4IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFBvc2l0aW9uJiwg
Y29uc3QgUG9zaXRpb24mKTsKIAogLy8gYm9vbGVhbiBmdW5jdGlvbnMgb24gUG9zaXRpb24KICAg
ICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1ib29sIGlzUmlj
aGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworYm9vbCBpc0VkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVRvID0gQWxsKTsKK2Jvb2wgaXNSaWNobHlF
ZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUbyA9IEFsbCk7CiBib29s
IGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7
CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRp
b24mKTsKIGJvb2wgbGluZUJyZWFrRXhpc3RzQXRQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwpA
QCAtMjIxLDcgKzIyMCw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1l
bnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRleHROb2RlCiBQYXNzUmVmUHRyPEVs
ZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB0YWJU
ZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQo
RG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
JiwgRWRpdGFibGVUbyA9IEFsbCk7CiBFbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9vbGVhbiBmdW5jdGlvbnMgb24gRWxlbWVu
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKaW5kZXggYzkxNzNjYjY1
YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4uMTQ1ZGViNzE1MThlMDI5NjhhMTY4NzY3
MmNlZDRmMTgzZTZmYzA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMu
Y3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxlYWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMg
dGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogcHJldmlvdXNMZWFm
V2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVRvIHRvKQogewotICAgIGJv
b2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRh
YmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKHRvKTsKICAgICBOb2RlKiBuID0gbm9kZS0+
cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJs
ZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG4t
PnJlbmRlcmVySXNFZGl0YWJsZSh0bykpCiAgICAgICAgICAgICByZXR1cm4gbjsKICAgICAgICAg
biA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBAIC01NTMsMTEgKzU1MywxMiBAQCBz
dGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURpcmVjdGlvblBvaW50VG9Mb2NhbFBv
aW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJbnRQb2ludChyb290LT5zZWxlY3Rp
b25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1BvaW50LnkoKSk7CiB9
CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQ
b3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVUbyB0bykKIHsKICAg
ICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9k
ZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhp
Z2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRp
dGFibGVSb290KHAsIHRvKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2li
bGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUsMTEgQEAgVmlzaWJsZVBvc2l0aW9u
IHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0
aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJhY2sgdG8gcHJldmlvdXMgY29udGFp
bmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRpdGFibGUKICAgICAgICAgLy8gYmxv
Y2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBpbiB0aGF0IGJsb2NrLgogICAgICAg
ICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihu
b2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
bm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5
KG5vZGUsIHRvKTsKICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdO
b2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0
aFNhbWVFZGl0YWJpbGl0eShuLCB0byk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAg
ICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikp
ICE9IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmly
c3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCB0bykgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1l
KGJyVGFnKSA/IHBvc2l0aW9uQmVmb3JlTm9kZShuKSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3Np
dGlvbihuLCBjYXJldE1heE9mZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlk
YXRlKCkpIHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5l
UG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuLCB0byk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC02MTgsNyArNjE5LDcgQEAgVmlz
aWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
dmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAvLyBDb3VsZCBub3QgZmluZCBhIHByZXZpb3VzIGxp
bmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBmaXJzdCBsaW5lLgogICAg
IC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ssIHdoaWNo
IGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHdl
J3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRh
YmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5kb2N1bWVudCgpLT5k
b2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRl
cmVySXNFZGl0YWJsZSh0bykgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KHRvKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0
aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKQEAgLTYz
OCwyNiArNjM5LDI4IEBAIHN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIE5vZGUq
IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVRvIHRvID0gQWxs
KQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgYm9vbCBl
ZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUg
PSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUodG8pOwogICAgIE5vZGUqIG4gPSBub2RlLT5uZXh0
TGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+
cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJl
cklzRWRpdGFibGUodG8pKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5u
ZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKLVZpc2libGVQb3NpdGlv
biBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9u
LCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQsIEVkaXRhYmxlVG8gdG8pCiB7CisgICAgLy8gVE9ETzogcHVsbCBvdXQgY29kZSB0
aGF0IGlzIGNvbW1vbiBiZXR3ZWVuIHRoaXMgYW5kIHByZXZpb3VzTGluZVBvc2l0aW9uLgogICAg
IFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2Rl
KiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGln
aGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0
YWJsZVJvb3QocCwgdG8pOworCiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJs
ZVBvc2l0aW9uKCk7CiAgICAgCkBAIC02ODYsOSArNjg5LDkgQEAgVmlzaWJsZVBvc2l0aW9uIG5l
eHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGlu
dCBsaW4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5s
aW5lUmVuZGVyZXIobm9kZSk7CiAgICAgICAgIE5vZGUqIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobm9kZSwgcC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsKICAgICAgICAgd2hp
bGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVy
KG4pKQotICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAg
ICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgdG8pOwogICAgICAg
ICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQ
b3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlm
IChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgdG8p
ICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9z
aXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWluT2Zmc2V0
KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUoKSkgewpAQCAtNzAyLDcgKzcw
NSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAKICAgICAgICAgICAgICAgICByZXR1cm4g
VmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9
IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCB0byk7CiAgICAgICAgIH0KICAgICB9CiAg
ICAgCkBAIC03MTksNyArNzIyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAvLyBD
b3VsZCBub3QgZmluZCBhIG5leHQgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUg
b24gdGhlIGxhc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQg
aW4gdGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUg
ZW5kIG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBu
b2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxl
bWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSh0bykgPyBub2RlLT5yb290RWRpdGFibGVF
bGVtZW50KHRvKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlm
ICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICBy
ZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERP
V05TVFJFQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3Vu
aXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0ZDhl
MDgzMTUxMWRiZjA0M2EwNDU2NjQ5YzMzOGU4ZThmNDg4MDEzLi5kMDcyZWY4OGNiN2RhM2Y3YTcx
M2IxOGYwZTljNDI0ZjJmMjViNGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L3Zpc2libGVfdW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5p
dHMuaApAQCAtNTQsOCArNTQsOCBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlvbiBz
dGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24gZW5k
T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91
c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Q
b2ludCk7Ci1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJldmlv
dXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9u
UG9pbnQsIEVkaXRhYmxlVG8gPSBBbGwpOworVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRh
YmxlVG8gPSBBbGwpOwogYm9vbCBpblNhbWVMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBj
b25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlzU3RhcnRPZkxpbmUoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYWQzZGUyMjhhMDkwNjdlNWFiN2UzYjAyZTJlOTBhNjZlOWFmMDczNy4uMTk1YTFh
MmE2OWM1MDJhNzZiNzdiY2EzN2U5MDFiNDJjNGRhZTIwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTEyLTEzICBBbGljZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJlcG9ydCBjb3JyZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxl
IHRleHQgZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTI2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1i
ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0
aW9uLXBvaW50LWxpbmUtbnVtYmVyLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRi
b3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXIuaHRtbDogQWRkZWQuCisKIDIwMTEt
MTItMTIgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgQ2hyb21pdW0gZ2FyZGVuaW5nLiBNYXJrIGZsYWt5IGNyYXNoaW5nIHRyYW5zaXRpb25z
LwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRp
b24tcG9pbnQtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGE2ZmI1NGNiY2EzYTVkY2I3ZDcyMzFjNzJlODhkZjE2NWViN2JjNzAuLjJjOTZmMTk3MTMz
ZmY1NDExOWMwNGUwMmU1OThkOWQ1ODE5MDJhM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50LWxpbmUtbnVtYmVyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1w
b2ludC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwyMCBAQAotVGVzdDowKSBM
aW5lIE51bWJlcjogUGFzcyBbMC0+MF0KLVRlc3Q6MSkgTGluZSBOdW1iZXI6IFBhc3MgWzctPjFd
Ci1UZXN0OjIpIExpbmUgTnVtYmVyOiBQYXNzIFsxNC0+Ml0KLU5vdCBmb2N1c2VkIG9uIHRleHQg
YXJlYSBsaW5lIG51bWJlcjogLTEKK1RoaXMgdGVzdHMgdGhhdCBsaW5lTnVtYmVyRm9yUG9zaXRp
b24gaXMgcmVwb3J0ZWQgY29ycmVjdGx5IGZvciB0ZXh0YXJlYSBhbmQgY29udGVudGVkaXRhYmxl
IGVsZW1lbnRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhcmVhMS5z
ZWxlY3Rpb25TdGFydCA9ICgwKTsgYXJlYTEuc2VsZWN0aW9uRW5kID0gKDApOyBhcmVhMUFYVUlF
bGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcjsgaXMgY3VycmVudExpbmUKK1BBU1MgYXJl
YTEuc2VsZWN0aW9uU3RhcnQgPSAoNyk7IGFyZWExLnNlbGVjdGlvbkVuZCA9ICg3KTsgYXJlYTFB
WFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IGlzIGN1cnJlbnRMaW5lCitQQVNT
IGFyZWExLnNlbGVjdGlvblN0YXJ0ID0gKDE0KTsgYXJlYTEuc2VsZWN0aW9uRW5kID0gKDE0KTsg
YXJlYTFBWFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IGlzIGN1cnJlbnRMaW5l
CitQQVNTIGFyZWEyLmZvY3VzKCk7IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5l
TnVtYmVyOyBpcyAtMQorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVu
dChjb250ZW50ZWRpdGFibGVMaW5lMSwgMSwgY29udGVudGVkaXRhYmxlTGluZTEsIDEpOyBjb250
ZW50ZWRpdGFibGVBWFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IGlzIDAKK1BB
U1MgY29udGVudGVkaXRhYmxlTGluZTIuc2VsZWN0aW9uU3RhcnQgPSAxOyBjb250ZW50ZWRpdGFi
bGVMaW5lMi5zZWxlY3Rpb25FbmQgPSAxO2NvbnRlbnRlZGl0YWJsZUFYVUlFbGVtZW50Lmluc2Vy
dGlvblBvaW50TGluZU51bWJlcjsgaXMgLTEKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNl
dEJhc2VBbmRFeHRlbnQoY29udGVudGVkaXRhYmxlTGluZTMsIDEsIGNvbnRlbnRlZGl0YWJsZUxp
bmUzLCAxKTsgY29udGVudGVkaXRhYmxlQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVt
YmVyOyBpcyAyCitQQVNTIHRleHRhcmVhQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVt
YmVyIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQogICAKK0xpbmUxCisKK0xpbmUzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5odG1sIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1pbnNlcnRpb24tcG9pbnQtbGluZS1udW1iZXIuaHRt
bAppbmRleCBhNTBmNjM3MjRlMzlhYjE4ZjQ3ZTJlNTEzM2Y5NDUzYzA0MzViZGI1Li41YzhhOThm
Zjg4NjEwYTRhYzMyYzVlNDM0ZjQ4NmZkNjYzZmIxMDQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2ludC1saW5lLW51bWJlci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtaW5zZXJ0aW9uLXBvaW50
LWxpbmUtbnVtYmVyLmh0bWwKQEAgLTEsMTIgKzEsMTEgQEAKIDxodG1sPgorPHNjcmlwdCBzcmM9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+
CiAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwogPC9zY3JpcHQ+CiA8Ym9keT4KLSAgICAKLSAgICA8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgotICAgIAorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgogICAgIDx0ZXh0YXJlYSBuYW1lPSJhcmVhMSIgaWQ9ImFyZWExIiByb3dzPSI1IiBjb2xzPSI0
MCI+CiBsaW5lIDEKIGxpbmUgMgpAQCAtMTQsMzEgKzEzLDU0IEBAIGxpbmUgMwogICAgIDwvdGV4
dGFyZWE+CiAKICAgICA8dGV4dGFyZWEgbmFtZT0iYXJlYTIiIGlkPSJhcmVhMiIgcm93cz0iNSIg
Y29scz0iNDAiPjwvdGV4dGFyZWE+Ci0gICAgIAorCisKKyAgICA8ZGl2IGlkPSJjb250ZW50ZWRp
dGFibGUtZGl2IiByb2xlPSJ0ZXh0Ym94IiBjb250ZW50ZWRpdGFibGU9InRydWUiIHRhYmluZGV4
PSIwIj4KKyAgICAgIDxkaXYgaWQ9ImNvbnRlbnRlZGl0YWJsZS1saW5lMSI+TGluZTE8L2Rpdj4K
KyAgICAgIDx0ZXh0YXJlYSBpZD0iY29udGVudGVkaXRhYmxlLWxpbmUyIiByb3dzPSIxIiBjb2xz
PSI0MCI+TGluZTI8L3RleHRhcmVhPgorICAgICAgPGRpdiBpZD0iY29udGVudGVkaXRhYmxlLWxp
bmUzIj5MaW5lMzwvZGl2PgorICAgIDwvZGl2PgogICAgIDxzY3JpcHQ+CisgICAgICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgbGluZU51bWJlckZvclBvc2l0aW9uIGlzIHJlcG9ydGVk
IGNvcnJlY3RseSBmb3IgdGV4dGFyZWEgYW5kIGNvbnRlbnRlZGl0YWJsZSBlbGVtZW50cy4iKTsK
KwogICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAg
ICAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpOworICAg
ICAgICAgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
OwogCiAgICAgICAgICAgICB2YXIgYXJlYTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJl
YTEiKTsKICAgICAgICAgICAgIGFyZWExLmZvY3VzKCk7CisgICAgICAgICAgICB2YXIgYXJlYTFB
WFVJRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAg
ICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSAtMjsKIAotICAgICAgICAgICAgZm9yICh2YXIgayA9
IDA7IGsgPCAzOyBrKyspIHsKLSAgICAgICAgICAgICAgICBhcmVhMS5zZWxlY3Rpb25TdGFydCA9
IChrKjcpOwotICAgICAgICAgICAgICAgIGFyZWExLnNlbGVjdGlvbkVuZCA9IChrKjcpOwotICAg
ICAgICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOyAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIGlmIChsaW5lTnVtYmVyID09IGspIHsKLSAgICAgICAgICAgICAgICAgICAgcmVz
dWx0LmlubmVyVGV4dCArPSAiVGVzdDoiICsgayArICIpIExpbmUgTnVtYmVyOiBQYXNzIFsiICsg
YXJlYTEuc2VsZWN0aW9uU3RhcnQgKyAiLT4iICsgbGluZU51bWJlciArICJdXG4iOyAgICAgICAK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gIlRlc3Q6IiArIGsgKyAiKSBMaW5lIE51bWJlcjog
RmFpbCBbIiArIGFyZWExLnNlbGVjdGlvblN0YXJ0ICsgIi0+IiArIGxpbmVOdW1iZXIgKyAiXVxu
IjsgICAgICAgCi0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yICh2YXIgY3VycmVu
dExpbmUgPSAwOyBjdXJyZW50TGluZSA8IDM7IGN1cnJlbnRMaW5lKysgKSB7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImFyZWExLnNlbGVjdGlvblN0YXJ0ID0gKCIgKyAoY3VycmVudExpbmUg
KiA3KSArICIpOyAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYXJlYTEuc2VsZWN0aW9u
RW5kID0gKCIgKyAoY3VycmVudExpbmUgKiA3KSArIik7ICIgKworICAgICAgICAgICAgICAgICAg
ICAgICAgICJhcmVhMUFYVUlFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlcjsiLCAiY3Vy
cmVudExpbmUiKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgdmFyIGFyZWEyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyZWEyIik7Ci0gICAgICAgICAgICBhcmVhMi5mb2N1cygp
OwotICAgICAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIKLSAgICAgICAgICAgIHJlc3Vs
dC5pbm5lclRleHQgKz0gIk5vdCBmb2N1c2VkIG9uIHRleHQgYXJlYSBsaW5lIG51bWJlcjogIiAr
IGxpbmVOdW1iZXIgKyAiXG4iOworICAgICAgICAgICAgc2hvdWxkQmUoImFyZWEyLmZvY3VzKCk7
IGFyZWExQVhVSUVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyOyIsICItMSIpOworCisg
ICAgICAgICAgICB2YXIgY29udGVudGVkaXRhYmxlRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnRlbnRlZGl0YWJsZS1kaXYiKTsKKyAgICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZURp
di5mb2N1cygpOworICAgICAgICAgICAgdmFyIGNvbnRlbnRlZGl0YWJsZUFYVUlFbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgICAgIHZh
ciBjb250ZW50ZWRpdGFibGVMaW5lMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50
ZWRpdGFibGUtbGluZTEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjb250ZW50ZWRpdGFibGVMaW5lMSwgMSwgY29udGVudGVk
aXRhYmxlTGluZTEsIDEpOyAiICsKKyAgICAgICAgICAgICAgICAgICAgICJjb250ZW50ZWRpdGFi
bGVBWFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IiwgIjAiKTsKKworICAgICAg
ICAgICAgdmFyIGNvbnRlbnRlZGl0YWJsZUxpbmUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnRlbnRlZGl0YWJsZS1saW5lMiIpOworICAgICAgICAgICAgc2hvdWxkQmUoImNvbnRlbnRl
ZGl0YWJsZUxpbmUyLnNlbGVjdGlvblN0YXJ0ID0gMTsgY29udGVudGVkaXRhYmxlTGluZTIuc2Vs
ZWN0aW9uRW5kID0gMTsiICsKKyAgICAgICAgICAgICAgICAgICAgICJjb250ZW50ZWRpdGFibGVB
WFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IiwgIi0xIik7CisKKyAgICAgICAg
ICAgIHZhciBjb250ZW50ZWRpdGFibGVMaW5lMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250ZW50ZWRpdGFibGUtbGluZTMiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjb250ZW50ZWRpdGFibGVMaW5lMywgMSwgY29u
dGVudGVkaXRhYmxlTGluZTMsIDEpOyAiICsKKyAgICAgICAgICAgICAgICAgICAgICJjb250ZW50
ZWRpdGFibGVBWFVJRWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXI7IiwgIjIiKTsKKwor
ICAgICAgICAgICAgY29udGVudGVkaXRhYmxlTGluZTIuZm9jdXMoKTsKKyAgICAgICAgICAgIHZh
ciB0ZXh0YXJlYUFYVUlFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQ7CisgICAgICAgICAgICBzaG91bGRCZSgidGV4dGFyZWFBWFVJRWxlbWVudC5pbnNlcnRp
b25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtY29ycmVjdC1saW5lLW51bWJlci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGY1ZjhlZTIzMjkwNTllNjMwMGM2ZWIxYzFmMDlkNDMzMzlkYjM3OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9s
ZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1RoaXMgdGVzdHMgdGhhdCBub24tbmF0aXZlIHRleHRib3hlcyByZXBvcnQgdGhlIGNvcnJl
Y3QgbGluZSBudW1iZXIuCisKK0FkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJvdmUgdGhlIHRl
eHRib3ggc2hvdWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQuCisKK1NvbWUg
dGV4dCBpbiBhIHRleHRib3guCitQQVNTIHRleHRib3hBeEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRM
aW5lTnVtYmVyIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1jb3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1j
b3JyZWN0LWxpbmUtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA5NWM3NzJhMThjZWI3Mjg2ZTUz
MjBmN2Y3ZTUyMDA4MGFlNTNmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWNvcnJlY3QtbGluZS1u
dW1iZXIuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUM+Cis8aHRt
bCBpZD0iaHRtbCI+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IG5vbi1uYXRpdmUgdGV4dGJveGVzIHJlcG9ydCB0
aGUgY29ycmVjdCBsaW5lIG51bWJlci4KKzxwPkFkZGluZyBzZXZlcmFsIHBhcmFncmFwaHMgYWJv
dmUgdGhlIHRleHRib3ggc2hvdWxkbid0IGNoYW5nZSB0aGUgbGluZSBudW1iZXIgcmVwb3J0ZWQu
Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZh
bHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveC48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIHZhciBhcmlh
VGV4dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgICAg
ICBhcmlhVGV4dEJveC5mb2N1cygpOworICAgICAgICB2YXIgdGV4dGJveEF4RWxlbWVudCA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJl
KCJ0ZXh0Ym94QXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAg
fQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119975</attachid>
            <date>2011-12-19 19:25:33 -0800</date>
            <delta_ts>2011-12-20 22:59:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111220142530.patch</filename>
            <type>text/plain</type>
            <size>28500</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZjN2ExYmJlOTcyZWQz
NjJhMjFjY2RiNGNiYjUyNzEyNDdjMjkyZi4uNDRmYTI1OTU3Y2EwMzI3YjQwYjA4MzQ5NmY5MmFm
NTZhMTBmMDQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDExLTEyLTE5ICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIEEgbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3
aXRoIGFuIEFSSUEgcm9sZSBvZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0
aGUgZGV2ZWxvcGVyIG9uIGFuIGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxl
IHRleHQgZWxlbWVudCAoc3VjaCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZp
ZWxkIG9yIGNvbnRlbnRlZGl0YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250
cm9sbGVkIGJ5CisgICAgICAgIHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIu
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFu
ZCByZWxhdGVkIG1ldGhvZHMgaW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5p
dHMsIGF3YXJlIG9mIHRoZSBub3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZl
bHkgZWRpdGFibGUsIHZpYSB0aGUKKyAgICAgICAgRWRpdGFibGVUbyBlbnVtIGFkZGVkIHRvIEVk
aXRpbmdCb3VuZGFyeS5oLgorCisgICAgICAgIFRoaXMgaXMgc28gdGhhdCBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oKSBjYW4gdXNlIHByZXZpb3VzTGluZVBvc2l0aW9uKCks
IGFuZAorICAgICAgICBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQ
b3NpdGlvbigpIGNhbiB1c2UgaGlnaGVzdEVkaXRhYmxlUm9vdCgpLCBpbiBhIHdheQorICAgICAg
ICB0aGF0IHJlc3BlY3RzIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS90ZXh0
Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Z2V0T3JDcmVhdGUpOiBNb2RpZmllZCB0byBzZXQgYSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBh
CisgICAgICAgICAgICBub24tbmF0aXZlIGVkaXRhYmxlIGVsZW1lbnQgaGFzIGJlZW4gZm91bmQg
d2hlbiBjcmVhdGluZyB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6cm9vdEVkaXRhYmxlRWxlbWVudEZvck5vZGUpOiBSZXR1cm5zIHRoZSBy
b290IGVsZW1lbnQgd2hpY2ggaXMKKyAgICAgICAgICAgIGVkaXRhYmxlIGZyb20gdGhlIHBvaW50
IG9mIHZpZXcgb2YgYXNzaXN0aXZlIHRlY2hub2xvZ3ksIHdoZXRoZXIgbmF0aXZlbHkgb3Igb3Ro
ZXJ3aXNlLgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRy
b2wpOiBXaGV0aGVyIHRoZSBnaXZlbiBub2RlIGlzIGNvbnNpZGVyZWQgYW4KKyAgICAgICAgICAg
IGVkaXRhYmxlIHRleHQgZWxlbWVudCBieSBhc3Npc3RpdmUgdGVjaG5vbG9neSwgbmF0aXZlbHkg
b3Igb3RoZXJ3aXNlLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFzQVJJQUVkaXRhYmxlRWxlbWVudHMp
OiBXaGV0aGVyIGEgbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0CisgICAgICAgICAgICBlbGVtZW50
IHdhcyBmb3VuZCB3aGVuIGNyZWF0aW5nIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbik6IE1vZGlmaWVkIHRvIHJl
cXVlc3QgdGhlIHByZXZpb3VzIGxpbmUKKyAgICAgICAgICAgIHBvc2l0aW9uIGluIGFuIGVsZW1l
bnQgd2hpY2ggaXMgZWRpdGFibGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOiBNb2Rp
ZmllZCB0byByZXF1ZXN0IHRoZQorICAgICAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hp
Y2ggaXMgZWRpdGFibGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxp
dHkpOiBXaGV0aGVyIHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICAgICAgQWNjZXNz
aWJpbGl0eSBmb3IgdGhlIGdpdmVuIEVkaXRhYmxlTGV2ZWwuCisgICAgICAgIChXZWJDb3JlOjpO
b2RlOjpyb290RWRpdGFibGVFbGVtZW50KTogT3ZlcmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0
aG9kIHdoaWNoIHRha2VzIGFuCisgICAgICAgICAgICBFZGl0YWJsZVRvIGVudW0gdmFsdWUgaW5k
aWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVk
LgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJl
cklzRWRpdGFibGUpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFr
ZXMgYW4KKyAgICAgICAgICAgIEVkaXRhYmxlVG8gZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRo
ZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzUmljaGx5RWRpdGFibGUpOiAgT3ZlcmxvYWRlZCB2ZXJz
aW9uIG9mIHRoaXMgbWV0aG9kIHdoaWNoIHRha2VzCisgICAgICAgICAgICBhbiBFZGl0YWJsZVRv
IGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMg
dG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGVkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5Lmg6IEFk
ZGVkIEVkaXRhYmxlVG8gZW51bS4KKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRlZCBvcHRpb25hbCBF
ZGl0YWJsZVRvIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OmlzRWRpdGFibGVQb3NpdGlv
bik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVG8gcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29y
ZTo6aXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUbyBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJvb3RGb3JQb3NpdGlvbik6IEFk
ZGVkIG9wdGlvbmFsIEVkaXRhYmxlVG8gcGFyYW1ldGVyLgorICAgICAgICAqIGVkaXRpbmcvaHRt
bGVkaXRpbmcuaDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVG8gcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMaW5l
UG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVRvIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVk
aXRhYmxlVG8gcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6
IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVG8gcGFyYW1ldGVyLgorICAgICAgICAqIGVkaXRpbmcv
dmlzaWJsZV91bml0cy5oOgorCiAyMDExLTEyLTE5ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIFdlYkF1ZGlvIGFuZCBXZWJTb2NrZXQgZ2V0dGVy
cyBmcm9tIEpTRE9NV2luZG93Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2EwOWJkZjJlMDM0OGYxOWJj
YWQxOTFiNjRiMWZjNi4uY2UyYWVhZGUzMTgxNDdkNGM0ZGI4N2FmOWEwM2Q2NjI1NjhiYThkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBA
IC0yNzcsNiArMjc3LDggQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0
T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG9iajsKIAog
ICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBuZXdPYmogPSBjcmVhdGVGcm9tUmVuZGVy
ZXIocmVuZGVyZXIpOworICAgIGlmIChuZXdPYmotPmlzQVJJQVRleHRDb250cm9sKCkpCisgICAg
ICAgIG1faGFzQVJJQUVkaXRhYmxlRWxlbWVudHMgPSB0cnVlOwogCiAgICAgZ2V0QVhJRChuZXdP
YmouZ2V0KCkpOwogCkBAIC02NjIsNSArNjY0LDM4IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4
dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJE
CiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29u
c3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEVkaXRhYmxlRWxlbWVudEZvck5vZGUoY29u
c3QgTm9kZSogbm9kZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSAwOworICAgIGNv
bnN0IEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQgPSBub2RlLT5yb290RWRpdGFibGVFbGVt
ZW50KCk7CisKKyAgICBpZiAoIW1faGFzQVJJQUVkaXRhYmxlRWxlbWVudHMpCisgICAgICAgIHJl
dHVybiByb290RWRpdGFibGVFbGVtZW50OworCisgICAgY29uc3QgRWxlbWVudCogZWxlbWVudCA9
IG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5vZGUtPnBhcmVudEVs
ZW1lbnQoKTsKKworICAgIGZvciAoOyBlbGVtZW50ICYmICFlbGVtZW50LT5oYXNUYWdOYW1lKGJv
ZHlUYWcpOyBlbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgIGlm
IChub2RlSXNUZXh0Q29udHJvbChlbGVtZW50KSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGVsZW1l
bnQ7CisgICAgfQorCisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKwor
ICAgIHJldHVybiByb290RWRpdGFibGVFbGVtZW50OworfQorCitib29sIEFYT2JqZWN0Q2FjaGU6
Om5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBh
eE9iamVjdEZvck5vZGUgPSBnZXRPckNyZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKKyAgICBpZiAo
IWF4T2JqZWN0Rm9yTm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGF4
T2JqZWN0Rm9yTm9kZS0+aXNUZXh0Q29udHJvbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4
IDU2MGUwZjM0YjE2MTc1NzYxMmMwODJhMmViYzZhYjI3YzhlOTg5YmEuLjNjZjNlY2E4MmM2Y2Qz
Y2M2MmU1MTBlMTk3Y2QxNzIyMGYyNWRlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMDYsNiArMTA2LDExIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgYm9vbCBpc0lEaW5V
c2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJblVzZS5jb250YWlucyhpZCk7IH0KKwor
ICAgIGJvb2wgaGFzQVJJQUVkaXRhYmxlRWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2hhc0FS
SUFFZGl0YWJsZUVsZW1lbnRzOyB9CisgICAgY29uc3QgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxl
bWVudEZvck5vZGUoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzVGV4dENvbnRyb2woY29u
c3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0OwogICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsgcmV0
dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKQEAgLTE3NSw2ICsxODAsNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBib29sIGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
RW5hYmxlZDsKICAgICAKICAgICBIYXNoU2V0PEFYSUQ+IG1faWRzSW5Vc2U7CisgICAgYm9vbCBt
X2hhc0FSSUFFZGl0YWJsZUVsZW1lbnRzOwogICAgIAogICAgIFRpbWVyPEFYT2JqZWN0Q2FjaGU+
IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyOwogICAgIFZlY3RvcjxwYWlyPFJlZlB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0PiwgQVhOb3RpZmljYXRpb24+ID4gbV9ub3RpZmljYXRpb25zVG9Qb3N0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKaW5kZXggZjYwNWZmZmU1Y2Y2NWJiODc5NzNhZGRjMmRlMjc5MGU3MjBlNWM1ZC4uMjBk
NGI2YWZlYjYxYmE0NzFkNTkwODk2ZjIwNTIzMDI1YTgxM2NhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0xMDQw
LDcgKzEwNDAsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykgY29ucwogICAgIC8vIHRvcCBkb2N1bWVu
dC4KICAgICBkbyB7CiAgICAgICAgIHNhdmVkVmlzaWJsZVBvcyA9IGN1cnJlbnRWaXNpYmxlUG9z
OwotICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91c0xpbmVQ
b3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCk7CisgICAgICAgIFZpc2libGVQb3NpdGlvbiBw
cmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAw
LCBBY2Nlc3NpYmlsaXR5KTsKICAgICAgICAgY3VycmVudFZpc2libGVQb3MgPSBwcmV2VmlzaWJs
ZVBvczsKICAgICAgICAgKytsaW5lQ291bnQ7CiAgICAgfSAgd2hpbGUgKGN1cnJlbnRWaXNpYmxl
UG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJsZVBvcywgc2F2ZWRW
aXNpYmxlUG9zKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggODhmZjIyOTM4NjI3ZThjZWMw
MjY5OTRmZTgxMTQwNGFmMmVlM2ZhZi4uYmY3MmNkMWFiZjU2ZTgyNDYxMTJkMGY0NGMzYjFhOGY5
YjVjODI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yNTQyLDcgKzI1NDIsNyBAQCBpbnQg
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJiBwbwogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBQb3NpdGlv
biBpbmRleFBvc2l0aW9uID0gcG9zLmRlZXBFcXVpdmFsZW50KCk7Ci0gICAgaWYgKGluZGV4UG9z
aXRpb24uaXNOdWxsKCkgfHwgcm9vdEVkaXRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGluZGV4UG9z
aXRpb24pICE9IG5vZGUpCisgICAgaWYgKGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgaGlnaGVz
dEVkaXRhYmxlUm9vdChpbmRleFBvc2l0aW9uLCBBY2Nlc3NpYmlsaXR5KSAhPSBub2RlKQogICAg
ICAgICByZXR1cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAppbmRleCAyNTNlYmRiODRkMjFiNWZlNTFiZjIxMWRkMTBmNTZlZThlYWYzNWJhLi40YmRi
OWZiZDkwYjVlY2NhOGE1OWYzN2I5ZTViZWQ3NjgyZGU4ZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBA
IC04MDYsNiArODA2LDE4IEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxl
TGV2ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wg
Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2ZWwgZWRp
dGFibGVMZXZlbCkgY29uc3QKK3sKKyAgICBpZiAocmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxl
TGV2ZWwpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIEFTU0VSVChkb2N1bWVudCgpKTsK
KyAgICBBU1NFUlQoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSk7CisgICAg
QVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSk7CisgICAgLy8gVE9ETzog
cmVzcGVjdCBlZGl0YWJsZUxldmVsIGZvciBBUklBIGVkaXRhYmxlIGVsZW1lbnRzLgorICAgIHJl
dHVybiBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnRGb3JO
b2RlKHRoaXMpOworfQorCiBib29sIE5vZGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkKIHsKICAg
ICByZXR1cm4gaXNDb250ZW50RWRpdGFibGUoKTsKQEAgLTE2MzIsNiArMTY0NCwxNCBAQCBFbGVt
ZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4g
MDsKIH0KIAorRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudChFZGl0YWJsZVRvIHRv
KSBjb25zdAoreworICAgIGlmICh0byA9PSBBY2Nlc3NpYmlsaXR5KQorICAgICAgICByZXR1cm4g
Y29uc3RfY2FzdDxFbGVtZW50Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290RWRp
dGFibGVFbGVtZW50Rm9yTm9kZSh0aGlzKSk7CisKKyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxl
bWVudCgpOworfQorCiBFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QK
IHsKICAgICBFbGVtZW50KiByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMjE5NTVhZDY5ZmFk
ZTE0YzM3M2MzY2RkMTNjYTA3NTU3MDNjYjJkMy4uZWZmMTc3OGQxNTdlOWQ4NzJlMzM5NzE2ODM1
MjZlZjhmZjdmOGU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIE5v
ZGVfaAogI2RlZmluZSBOb2RlX2gKIAorI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNpbmNsdWRlICJM
YXlvdXRUeXBlcy5oIgpAQCAtMjc2LDcgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBl
bmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3Q7CiAgICAgCiAgICAgRWxlbWVudCogcm9v
dEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwotICAgIAorICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJs
ZUVsZW1lbnQoRWRpdGFibGVUbykgY29uc3Q7CisKICAgICBib29sIGluU2FtZUNvbnRhaW5pbmdC
bG9ja0Zsb3dFbGVtZW50KE5vZGUqKTsKIAogICAgIC8vIENhbGxlZCBieSB0aGUgcGFyc2VyIHdo
ZW4gdGhpcyBlbGVtZW50J3MgY2xvc2UgdGFnIGlzIHJlYWNoZWQsCkBAIC0zNTEsOCArMzUzLDI2
IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCk7CiAgICAgYm9vbCBpc0Nv
bnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCi0gICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoKSBj
b25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOyB9Ci0gICAgYm9vbCBy
ZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFi
bGUoUmljaGx5RWRpdGFibGUpOyB9CisgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFi
bGVUbyBlZGl0YWJsZVRvID0gQWxsKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0
YWJsZVRvKSB7CisgICAgICAgIGNhc2UgQWNjZXNzaWJpbGl0eToKKyAgICAgICAgICAgIHJldHVy
biByZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGUpOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShF
ZGl0YWJsZVRvIGVkaXRhYmxlVG8gPSBBbGwpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2gg
KGVkaXRhYmxlVG8pIHsKKyAgICAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5OgorICAgICAgICAgICAg
cmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShSaWNobHlFZGl0YWJsZSk7
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxl
KFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRVc2VJbnB1dE1ldGhvZCgpOwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRSZWN0KCkg
Y29uc3Q7CiAgICAgTGF5b3V0UmVjdCByZW5kZXJSZWN0KGJvb2wqIGlzUmVwbGFjZWQpOwpAQCAt
NzAyLDYgKzcyMiw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0
YWJsZSwgUmljaGx5RWRpdGFibGUgfTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0
YWJsZUxldmVsKSBjb25zdDsKKyAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZVRvQWNjZXNzaWJp
bGl0eShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAogICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2UoU3R5
bGVDaGFuZ2VUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgK
aW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2NGJhOGRmYTBjMGVkNWE4NC4uZGIyODczNTlm
YjMxZGUxZGU1ZGVlZmRlOGNiMTgyYjM1YjdhMTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zNCw2ICszNCwxMSBAQCBlbnVtIEVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSB7CiAgICAgQ2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKK2Vu
dW0gRWRpdGFibGVUbyB7CisgICAgQWxsLAorICAgIEFjY2Vzc2liaWxpdHkKK307CisKIH0KIAog
I2VuZGlmIC8vIEVkaXRpbmdCb3VuZGFyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRp
bmcuY3BwCmluZGV4IDZmNDBhYmJlOWI2ZDJhYzJlMTczNGE4Y2VjM2RiMGRhNzhlMTRiMzkuLjI1
Nzk0ZjViNzVmZTljOTdmYTRhOWU0OTUwYjIzYzczYjk5NDA5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5j
bHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtNDYsNiArNDcsNyBAQAogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgInZpc2li
bGVfdW5pdHMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgog
CkBAIC0xMDQsMTkgKzEwNiwxOSBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYikKICAgICByZXR1cm4gY29tcGFy
ZVBvc2l0aW9ucyhhLmRlZXBFcXVpdmFsZW50KCksIGIuZGVlcEVxdWl2YWxlbnQoKSk7CiB9CiAK
LU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQorTm9k
ZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24sIEVkaXRhYmxl
VG8gdG8pCiB7CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRlcHJlY2F0ZWROb2RlKCk7CiAg
ICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0gICAgTm9kZSogaGln
aGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbik7CisgICAgTm9kZSog
aGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbiwgdG8pOwogICAg
IGlmICghaGlnaGVzdFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIG5vZGUgPSBo
aWdoZXN0Um9vdDsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+cmVuZGVy
ZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUodG8p
KQogICAgICAgICAgICAgaGlnaGVzdFJvb3QgPSBub2RlOwogICAgICAgICBpZiAobm9kZS0+aGFz
VGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQzLDcgKzE0NSw3IEBA
IE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkKICAgICByZXR1cm4gbG93
ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAp
Citib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUbyB0
bykKIHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9k
ZSkKQEAgLTE1Miw3ICsxNTQsNyBAQCBib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3Np
dGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5p
c1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAg
cmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlLT5yZW5k
ZXJlcklzRWRpdGFibGUodG8pOwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0xNjIsNyArMTY0LDcgQEAgYm9vbCBpc0F0VW5zcGxpdHRh
YmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogfQogICAgIAogICAgIAotYm9vbCBpc1Jp
Y2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzUmljaGx5RWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUbyB0bykKIHsKICAgICBO
b2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE3MSwx
MCArMTczLDEwIEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
JiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFi
bGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1
cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGUtPnJl
bmRlcmVySXNSaWNobHlFZGl0YWJsZSh0byk7CiB9CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZv
clBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVG8gdG8pCiB7CiAgICAgTm9kZSogbm9k
ZSA9IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE4Myw3ICsxODUsNyBA
QCBFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAg
ICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAg
ICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUt
PnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxl
bWVudCh0byk7CiB9CiAKIC8vIEZpbmRzIHRoZSBlbmNsb3NpbmcgZWxlbWVudCB1bnRpbCB3aGlj
aCB0aGUgdHJlZSBjYW4gYmUgc3BsaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2h0bWxlZGl0aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgK
aW5kZXggYzZiNmRkN2ExZTJmZTg1NmQzMjk4OWNiMzU1ZDg2NzIwNzc3NGQ1My4uZDU0ZjU0ZGM1
NDI0OTA4NzE4MDllYWVmMGYzN2Y0NmY1MmY0ZGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRt
bGVkaXRpbmcuaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogLy8g
RnVuY3Rpb25zIHJldHVybmluZyBOb2RlCiAKIE5vZGUqIGhpZ2hlc3RBbmNlc3RvcihOb2RlKik7
Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJik7CitOb2RlKiBoaWdo
ZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUbyA9IEFsbCk7CisKIE5v
ZGUqIGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAoKm5v
ZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLAogICAgIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVs
ZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LCBOb2RlKiBzdGF5V2l0aGluID0gMCk7CiBO
b2RlKiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqKTsKQEAgLTE1MSw4ICsxNTIs
OCBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9u
Jik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCiAgICAgCi1ib29sIGlzRWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBv
c2l0aW9uJiwgRWRpdGFibGVUbyA9IEFsbCk7Citib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVG8gPSBBbGwpOwogYm9vbCBpc0ZpcnN0VmlzaWJs
ZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBpc0xhc3RW
aXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGxp
bmVCcmVha0V4aXN0c0F0UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKQEAgLTIyMSw3ICsyMjIs
NyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50Kiwg
UGFzc1JlZlB0cjxOb2RlPiB0YWJUZXh0Tm9kZQogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVU
YWJTcGFuRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFiVGV4dCk7CiBQYXNzUmVm
UHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KERvY3VtZW50Kik7CiAK
LUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CitFbGVt
ZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVG8g
PSBBbGwpOwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBv
c2l0aW9uJik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGM5MTczY2I2NWE2MzgwYThlNzgyOTZl
NTFmODIyYzM0MzRmYjllZmEuLjE0NWRlYjcxNTE4ZTAyOTY4YTE2ODc2NzJjZWQ0ZjE4M2U2ZmMw
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtNTE4LDEy
ICs1MTgsMTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJnApCiB9
CiAKIC8vIFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRoZSBzYW1lIGVkaXRh
YmlsaXR5IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUbyB0bykKIHsKLSAgICBib29sIGVkaXRhYmxlID0g
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJl
bmRlcmVySXNFZGl0YWJsZSh0byk7CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVhZk5v
ZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVy
ZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRp
dGFibGUodG8pKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5wcmV2aW91
c0xlYWZOb2RlKCk7CiAgICAgfQpAQCAtNTUzLDExICs1NTMsMTIgQEAgc3RhdGljIGlubGluZSBJ
bnRQb2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQb2ludEluQmxvY2soUm9v
dElubGluZUIKICAgICByZXR1cm4gSW50UG9pbnQocm9vdC0+c2VsZWN0aW9uVG9wKCksIGxpbmVE
aXJlY3Rpb25Qb2ludCAtIGFic29sdXRlQmxvY2tQb2ludC55KCkpOwogfQogCi1WaXNpYmxlUG9z
aXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxl
UG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpCitWaXNpYmxlUG9zaXRpb24gcHJldmlv
dXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVG8gdG8pCiB7CiAgICAgUG9zaXRpb24gcCA9
IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRl
cHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVS
b290KHApOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwLCB0
byk7CisKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICAKQEAgLTU4NCwxMSArNTg1LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAg
ICAgIC8vIE5lZWQgdG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUg
YmxvY2sgaW4gdGhpcyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRo
ZSBsYXN0IHJvb3QgbGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRC
bG9jayA9IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAg
IE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAg
ICBOb2RlKiBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCB0byk7CiAg
ICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25Jbmxp
bmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxp
dHkobiwgdG8pOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RF
ZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9v
dCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9y
QmVmb3JlTm9kZShuKSwgdG8pICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gbi0+aGFzVGFnTmFtZShiclRhZykgPyBwb3Np
dGlvbkJlZm9yZU5vZGUobikgOiBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRN
YXhPZmZzZXQobikpOwogICAgICAgICAgICAgaWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC02
MDEsNyArNjAyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKIAogICAgICAgICAgICAgICAg
IHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAg
ICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgdG8pOwogICAg
ICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBAIFZpc2libGVQb3NpdGlvbiBw
cmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlv
biwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5lLiBUaGlzIG1lYW5z
IHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRo
ZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBt
b3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBF
bGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50
KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUo
dG8pID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCh0bykgOiBub2RlLT5kb2N1bWVudCgpLT5k
b2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4g
VmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0
aW9uSW5Ob2RlKHJvb3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CkBAIC02MzgsMjYgKzYzOSwyOCBA
QCBzdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIGlu
dCBvZmZzZXQpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUbyB0byA9IEFsbCkKIHsKICAgICBpZiAo
IW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIGJvb2wgZWRpdGFibGUgPSBub2Rl
LT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVy
ZXJJc0VkaXRhYmxlKHRvKTsKICAgICBOb2RlKiBuID0gbm9kZS0+bmV4dExlYWZOb2RlKCk7CiAg
ICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0
YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKHRv
KSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+bmV4dExlYWZOb2RlKCk7
CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJl
Y3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0
YWJsZVRvIHRvKQogeworICAgIC8vIFRPRE86IHB1bGwgb3V0IGNvZGUgdGhhdCBpcyBjb21tb24g
YmV0d2VlbiB0aGlzIGFuZCBwcmV2aW91c0xpbmVQb3NpdGlvbi4KICAgICBQb3NpdGlvbiBwID0g
dmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVw
cmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJv
b3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIHRv
KTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwog
ICAgIApAQCAtNjg2LDkgKzY4OSw5IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgICAg
IE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5v
ZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUs
IHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0
QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAg
ICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0g
bmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIHRvKTsKICAgICAgICAgd2hpbGUgKG4pIHsK
LSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVm
b3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRh
YmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobiksIHRvKSAhPSBoaWdoZXN0Um9v
dCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IGNy
ZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAgICAg
ICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDUsNyBAQCBWaXNpYmxl
UG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQ
b3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5leHRM
ZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkobiwgdG8pOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcg
KzcyMiw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQg
YSBuZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxp
bmUuCiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ss
IHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGlu
ZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQo
KS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUodG8pID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCh0bykgOiBu
b2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50
KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNh
MDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uZDA3MmVmODhjYjdkYTNmN2E3MTNiMThmMGU5YzQyNGYy
ZjI1YjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDgg
KzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29u
c3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlzaWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJs
ZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBs
aW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJs
ZVRvID0gQWxsKTsKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVRvID0gQWxsKTsK
IGJvb2wgaW5TYW1lTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJsZVBv
c2l0aW9uICYpOwogYm9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsK
IGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE5NTZi
NmUwOTE2OTg3Mjc3OTRjYmQ3Zjc5YTViYzYxNWE0MDM2ODEuLjYzNDI4Y2JlODhhN2U1ZmE5NDEw
MGFjM2U2OWE5Njg4NzE3OTdiOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0xOSAg
QWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQg
Y29ycmVjdCBsaW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUt
bnVtYmVyLmh0bWw6IEFkZGVkLgorCiAyMDExLTEyLTE2ICBaaGVueWFvIE1vICA8em1vQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUG9zdHBvbmUgZGVsZXRlUmVuZGVyYnVmZmVyL2RlbGV0ZVRleHR1
cmUgdW50aWwgYWxsIGZyYW1lYnVmZmVyIGF0dGFjaG1lbnQgcG9pbnRzIGFyZSByZW1vdmVkLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0
cy1saW5lLW51bWJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OWFkNDFmMmZlZWUxNWMyNzgxY2RjNDAxNDM5ZDA0YzU0MTJjNWQ5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51
bWJlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHRoZSBB
WFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUg
dGV4dCBib3hlcy4KK1NvbWUgdGV4dCBpbiBhIHRleHRib3gKK1NvbWUgdGV4dCBpbiBhCittdWx0
aWxpbmUgdGV4dGJveC4KK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRl
bnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1sw
XSwgMCk7IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMAorUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5j
aGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsg
YXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9k
ZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEpOyBheEVsZW1l
bnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWZjNGIzYjM1OWY4YzM0ODEzNGE1NDA1OWFmYjY1MWM0NjBjZGUxOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJl
cG9ydHMtbGluZS1udW1iZXIuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUM+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0
aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5v
bi1uYXRpdmUgdGV4dCBib3hlcy48YnI+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4
dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEg
dGV4dGJveDwvZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRC
b3giIGFyaWEtbXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4g
YTwvZGl2PjxkaXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyICYmIHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB2YXIgYXJpYVRleHRC
b3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJpYVRleHRCb3giKTsKKyAgICAgICAgYXJp
YVRleHRCb3guZm9jdXMoKTsKKyAgICAgICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAw
LCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwKTsiCisgICAgICAgICAgICAgICAgICsgIiBh
eEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsKKworCisgICAgICAgIHZh
ciBtdWx0aWxpbmVBcmlhVGV4dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtdWx0aWxp
bmVBcmlhVGV4dEJveCIpOworICAgICAgICBtdWx0aWxpbmVBcmlhVGV4dEJveC5mb2N1cygpOwor
ICAgICAgICBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dDsKKworICAgICAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRF
eHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSwgbXVsdGlsaW5lQXJp
YVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSk7IgorICAgICAgICAgICAgICAgICArICIgYXhFbGVt
ZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgICAgIHNob3VsZEJlKCJ3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJv
eC5jaGlsZE5vZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAx
KTsiCisgICAgICAgICAgICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVt
YmVyIiwgIjEiKTsKKyAgICB9CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120148</attachid>
            <date>2011-12-20 23:00:31 -0800</date>
            <delta_ts>2012-01-03 16:19:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111221180027.patch</filename>
            <type>text/plain</type>
            <size>27989</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdhNDNkZDFhZmRiNDll
MGI4ZDlmNjQ0ZTBiMjRjODY3MTE4ZjZhNy4uMWUwMGZiZTIwOTkxNmIzMTgxNWUxMWJhMzk4Mjdm
NTU5MmVmMjUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIEEgbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3
aXRoIGFuIEFSSUEgcm9sZSBvZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0
aGUgZGV2ZWxvcGVyIG9uIGFuIGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxl
IHRleHQgZWxlbWVudCAoc3VjaCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZp
ZWxkIG9yIGNvbnRlbnRlZGl0YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250
cm9sbGVkIGJ5CisgICAgICAgIHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIu
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFu
ZCByZWxhdGVkIG1ldGhvZHMgaW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5p
dHMsIGF3YXJlIG9mIHRoZSBub3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZl
bHkgZWRpdGFibGUsIHZpYSB0aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8g
RWRpdGluZ0JvdW5kYXJ5LmguCisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24o
KSwgYW5kCisgICAgICAgIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJs
ZVBvc2l0aW9uKCkgY2FuIHVzZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAg
ICAgIHRoYXQgcmVzcGVjdHMgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgICAgIGVkaXRhYmxlIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgb2YgYXNzaXN0
aXZlIHRlY2hub2xvZ3ksIHdoZXRoZXIgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2wpOiBXaGV0aGVyIHRoZSBn
aXZlbiBub2RlIGlzIGNvbnNpZGVyZWQgYW4KKyAgICAgICAgICAgIGVkaXRhYmxlIHRleHQgZWxl
bWVudCBieSBhc3Npc3RpdmUgdGVjaG5vbG9neSwgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24pOiBNb2RpZmllZCB0
byByZXF1ZXN0IHRoZSBwcmV2aW91cyBsaW5lCisgICAgICAgICAgICBwb3NpdGlvbiBpbiBhbiBl
bGVtZW50IHdoaWNoIGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTog
TW9kaWZpZWQgdG8gcmVxdWVzdCB0aGUKKyAgICAgICAgICAgIGhpZ2hlc3Qgcm9vdCBlbGVtZW50
IHdoaWNoIGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogZG9tL05vZGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlVG9BY2Nlc3Np
YmlsaXR5KTogV2hldGhlciB0aGlzIG5vZGUgaXMgZWRpdGFibGUgdG8KKyAgICAgICAgICAgIEFj
Y2Vzc2liaWxpdHkgZm9yIHRoZSBnaXZlbiBFZGl0YWJsZUxldmVsLgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCk6IE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlz
IG1ldGhvZCB3aGljaCB0YWtlcyBhbgorICAgICAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFs
dWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVz
cGVjdGVkLgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpy
ZW5kZXJlcklzRWRpdGFibGUpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hp
Y2ggdGFrZXMgYW4KKyAgICAgICAgICAgIEVkaXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRp
bmcgd2hldGhlciBub24tbmF0aXZlIGVkaXRhYmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSk6ICBPdmVybG9h
ZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMKKyAgICAgICAgICAgIGFuIEVk
aXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBub24tbmF0aXZlIGVkaXRh
YmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdCb3Vu
ZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjppc0VkaXRhYmxlUG9zaXRpb24pOiBBZGRlZCBv
cHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNSaWNo
bHlFZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRl
ci4KKyAgICAgICAgKFdlYkNvcmU6OmVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKTogQWRkZWQgb3B0
aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0
aW5nLmg6CisgICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkpOiBBZGRlZCBvcHRpb25hbCBF
ZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMaW5lUG9z
aXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAo
V2ViQ29yZTo6bmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRp
dGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMaW5lUG9zaXRpb24p
OiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAqIGVkaXRp
bmcvdmlzaWJsZV91bml0cy5oOgorCiAyMDExLTEyLTIwICBUb255IENoYW5nICA8dG9ueUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgc2l6ZW9mKFJlbmRlclN0eWxlKSBpcyA2NCBpbnN0ZWFkIG9m
IDU2IG9uIFdpbmRvd3MgKHg4NikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA4ZDM5ZDI0MjNhMDliZGYyZTAzNDhmMTliY2FkMTkxYjY0
YjFmYzYuLmUxM2RkM2VkNjJkNmNhMDYyYTJkMmNlZTViYjQwMzgzOTU5MGVmN2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNjYyLDUg
KzY2MiwzMiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBv
c2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2VyRAogICAgIAogICAgIGNhY2hlLT5zZXRO
b2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2NvbnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2Fj
aGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGNvbnN0
IEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQgPSBub2RlLT5yb290RWRpdGFibGVFbGVtZW50
KCk7CisgICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gcm9vdEVkaXRhYmxlRWxlbWVudDsKKwor
ICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2RlLT5pc0VsZW1lbnROb2RlKCkgPyB0b0Vs
ZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisKKyAgICBmb3IgKDsgZWxlbWVu
dCAmJiAhZWxlbWVudC0+aGFzVGFnTmFtZShib2R5VGFnKTsgZWxlbWVudCA9IGVsZW1lbnQtPnBh
cmVudEVsZW1lbnQoKSkgeworICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZWxlbWVudCkp
CisgICAgICAgICAgICByZXN1bHQgPSBlbGVtZW50OworICAgIH0KKworICAgIGlmIChyZXN1bHQp
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVu
dDsKK30KKworYm9vbCBBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2Rl
KiBub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Y29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBnZXRPckNyZWF0ZShub2RlLT5y
ZW5kZXJlcigpKTsKKyAgICByZXR1cm4gYXhPYmplY3QgJiYgYXhPYmplY3QtPmlzVGV4dENvbnRy
b2woKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA1NjBlMGYzNGIxNjE3NTc2MTJjMDgyYTJl
YmM2YWIyN2M4ZTk4OWJhLi41YWJhZmM4ZTU2NjUzYWQyNTE0MGI3YTAyNzJiNGRmNzRmODMzNTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAt
MTA2LDYgKzEwNiwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZUFYSUQoQWNjZXNzaWJp
bGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJu
IG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CisKKyAgICBjb25zdCBFbGVtZW50KiByb290QVhF
ZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzVGV4dENvbnRyb2wo
Y29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0Owog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsg
cmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGY2MDVmZmZl
NWNmNjViYjg3OTczYWRkYzJkZTI3OTBlNzIwZTVjNWQuLjJkYjAyMjJlMTdiYzQ5NjlkYzc2MjNi
MmYzZTRkZDE2YTAxMjVhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50IEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24m
IHZpc2libGVQb3MpIGNvbnMKICAgICAvLyB0b3AgZG9jdW1lbnQuCiAgICAgZG8gewogICAgICAg
ICBzYXZlZFZpc2libGVQb3MgPSBjdXJyZW50VmlzaWJsZVBvczsKLSAgICAgICAgVmlzaWJsZVBv
c2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2li
bGVQb3MsIDApOworICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2
aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCwgSGFzRWRpdGFibGVBWFJvbGUp
OwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9IHByZXZWaXNpYmxlUG9zOwogICAgICAgICAr
K2xpbmVDb3VudDsKICAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxsKCkg
JiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4OGZmMjI5Mzg2MjdlOGNlYzAyNjk5NGZlODExNDA0YWYy
ZWUzZmFmLi41ZmE5NTIyMGI1MmRlNjkyNjE1ZjIzOWQwYjQ1NzFmZTk1MDE0NjlkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKQEAgLTI1NDIsNyArMjU0Miw3IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24m
IHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRpb24g
PSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8
fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9kZSkK
KyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290KGlu
ZGV4UG9zaXRpb24sIEhhc0VkaXRhYmxlQVhSb2xlKSAhPSBub2RlKQogICAgICAgICByZXR1cm4g
MDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCAy
NTNlYmRiODRkMjFiNWZlNTFiZjIxMWRkMTBmNTZlZThlYWYzNWJhLi4yM2YyNTdmNjM0ZmRjNjZm
ZjZiYjdiOTA2ZWE0YjAyOWQ1NWEwNDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC04MDYsNiArODA2
LDIxIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwgZWRpdGFi
bGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgTm9kZTo6cmVuZGVy
ZXJJc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2ZWwgZWRpdGFibGVMZXZlbCkg
Y29uc3QKK3sKKyAgICBpZiAocmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlTGV2ZWwpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBSZXNwZWN0IGVkaXRhYmxlTGV2ZWwg
Zm9yIEFSSUEgZWRpdGFibGUgZWxlbWVudHMuCisgICAgaWYgKGVkaXRhYmxlTGV2ZWwgPT0gUmlj
aGx5RWRpdGFibGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEFTU0VSVChkb2N1bWVu
dCgpKTsKKyAgICBBU1NFUlQoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSk7
CisgICAgQVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSk7CisgICAgcmV0
dXJuIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFibGVFbGVtZW50KHRo
aXMpOworfQorCiBib29sIE5vZGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkKIHsKICAgICByZXR1
cm4gaXNDb250ZW50RWRpdGFibGUoKTsKQEAgLTE2MzIsNiArMTY0NywxNCBAQCBFbGVtZW50ICpO
b2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0K
IAorRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudChFZGl0YWJsZVR5cGUgZWRpdGFi
bGVUeXBlKSBjb25zdAoreworICAgIGlmIChlZGl0YWJsZVR5cGUgPT0gSGFzRWRpdGFibGVBWFJv
bGUpCisgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1lbnQqPihkb2N1bWVudCgpLT5heE9i
amVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVudCh0aGlzKSk7CisKKyAgICByZXR1cm4g
cm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQorCiBFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVF
bGVtZW50KCkgY29uc3QKIHsKICAgICBFbGVtZW50KiByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5k
ZXggMjE5NTVhZDY5ZmFkZTE0YzM3M2MzY2RkMTNjYTA3NTU3MDNjYjJkMy4uZWRiZDNkODM0OTFk
YWUyYjNmMzEyNzg2YjM2YzllMWViZmQ0NWEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAjaWZuZGVmIE5vZGVfaAogI2RlZmluZSBOb2RlX2gKIAorI2luY2x1ZGUgIkVkaXRpbmdC
b3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2gu
aCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgpAQCAtMjc2LDcgKzI3Nyw4IEBAIHB1YmxpYzoK
ICAgICBFbGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3Q7CiAgICAgCiAg
ICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0OwotICAgIAorICAgIEVsZW1l
bnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGFibGVUeXBlKSBjb25zdDsKKwogICAgIGJvb2wg
aW5TYW1lQ29udGFpbmluZ0Jsb2NrRmxvd0VsZW1lbnQoTm9kZSopOwogCiAgICAgLy8gQ2FsbGVk
IGJ5IHRoZSBwYXJzZXIgd2hlbiB0aGlzIGVsZW1lbnQncyBjbG9zZSB0YWcgaXMgcmVhY2hlZCwK
QEAgLTM1MSw4ICszNTMsMzAgQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUo
KTsKICAgICBib29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxlKCk7CiAKLSAgICBib29sIHJlbmRl
cmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJs
ZSk7IH0KLSAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJu
IHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7IH0KKyAgICBib29sIHJlbmRlcmVy
SXNFZGl0YWJsZShFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlID0gUmVuZGVyZXJJc0VkaXRhYmxl
KSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAg
Y2FzZSBSZW5kZXJlcklzRWRpdGFibGU6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlKTsKKyAgICAgICAgY2FzZSBIYXNFZGl0YWJsZUFYUm9sZToKKyAgICAg
ICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGUp
OworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoRWRp
dGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IFJlbmRlcmVySXNFZGl0YWJsZSkgY29uc3QKKyAgICB7
CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVUeXBlKSB7CisgICAgICAgIGNhc2UgUmVuZGVyZXJJ
c0VkaXRhYmxlOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlF
ZGl0YWJsZSk7CisgICAgICAgIGNhc2UgSGFzRWRpdGFibGVBWFJvbGU6CisgICAgICAgICAgICBy
ZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KFJpY2hseUVkaXRhYmxlKTsK
KyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgp
OwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVj
dCByZW5kZXJSZWN0KGJvb2wqIGlzUmVwbGFjZWQpOwpAQCAtNzAyLDYgKzcyNiw3IEBAIHByaXZh
dGU6CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmljaGx5RWRpdGFibGUg
fTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsKSBjb25zdDsKKyAg
ICBib29sIHJlbmRlcmVySXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxldmVsKSBj
b25zdDsKIAogICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2UoU3R5bGVDaGFuZ2VUeXBlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYy
ZWI0ZGRlMjk2NGJhOGRmYTBjMGVkNWE4NC4uNWU3YWFhNWI0MDYyOThhYTZiNThhODM1YjQ1NDBj
ZTdhNzViYWE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91
bmRhcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBA
IC0zNCw2ICszNCwxMSBAQCBlbnVtIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSB7CiAgICAg
Q2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKK2VudW0gRWRpdGFibGVUeXBlIHsKKyAg
ICBSZW5kZXJlcklzRWRpdGFibGUsCisgICAgSGFzRWRpdGFibGVBWFJvbGUKK307CisKIH0KIAog
I2VuZGlmIC8vIEVkaXRpbmdCb3VuZGFyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRp
bmcuY3BwCmluZGV4IDZmNDBhYmJlOWI2ZDJhYzJlMTczNGE4Y2VjM2RiMGRhNzhlMTRiMzkuLjRl
NmQ1MjgxNDRiYzJkOThmY2FhMTFiZjM1ZGNhNTRiNGRkZTRmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5j
bHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtNDYsNiArNDcsNyBAQAogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgInZpc2li
bGVfdW5pdHMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgog
CkBAIC0xMDQsMTkgKzEwNiwxOSBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYikKICAgICByZXR1cm4gY29tcGFy
ZVBvc2l0aW9ucyhhLmRlZXBFcXVpdmFsZW50KCksIGIuZGVlcEVxdWl2YWxlbnQoKSk7CiB9CiAK
LU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQorTm9k
ZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24sIEVkaXRhYmxl
VHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRlcHJlY2F0
ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0g
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlvbik7
CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlv
biwgZWRpdGFibGVUeXBlKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1cm4g
MDsKICAgICAKICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsKLSAg
ICAgICAgaWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9kZS0+
cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICBoaWdoZXN0Um9v
dCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGJvZHlUYWcpKQogICAgICAg
ICAgICAgYnJlYWs7CkBAIC0xNDMsNyArMTQ1LDcgQEAgTm9kZSogbG93ZXN0RWRpdGFibGVBbmNl
c3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQogCi1ib29sIGlzRWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5v
ZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTUyLDcg
KzE1NCw3IEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAg
IGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAg
ICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+
cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJs
ZShlZGl0YWJsZVR5cGUpOwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0
IFBvc2l0aW9uJiBwb3MpCkBAIC0xNjIsNyArMTY0LDcgQEAgYm9vbCBpc0F0VW5zcGxpdHRhYmxl
RWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogfQogICAgIAogICAgIAotYm9vbCBpc1JpY2hs
eUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzUmljaGx5RWRpdGFi
bGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkK
IHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkK
QEAgLTE3MSwxMCArMTczLDEwIEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVy
KCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAK
LSAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCk7CisgICAgcmV0dXJu
IG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCi1FbGVt
ZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0VsZW1lbnQq
IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUg
ZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsKICAg
ICBpZiAoIW5vZGUpCkBAIC0xODMsNyArMTg1LDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290Rm9y
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYg
bm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50
Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7Cisg
ICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKTsKIH0KIAog
Ly8gRmluZHMgdGhlIGVuY2xvc2luZyBlbGVtZW50IHVudGlsIHdoaWNoIHRoZSB0cmVlIGNhbiBi
ZSBzcGxpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAppbmRleCBjNmI2ZGQ3YTFl
MmZlODU2ZDMyOTg5Y2IzNTVkODY3MjA3Nzc0ZDUzLi4yMjE0NTRhOGFjMjgwYWMyMzNlZTNjNDVi
NzIwOTBjOWMzY2RlZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCkBAIC01
NCw3ICs1NCw4IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAvLyBGdW5jdGlvbnMgcmV0dXJu
aW5nIE5vZGUKIAogTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKLU5vZGUqIGhpZ2hlc3RF
ZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3Qo
Y29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBSZW5kZXJlcklzRWRpdGFibGUpOworCiBO
b2RlKiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpu
b2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwKICAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1
bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwog
Tm9kZSogaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZyhOb2RlKik7CkBAIC0xNTEsOCArMTUy
LDggQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlv
biYpOwogCiAvLyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlvbgogICAgIAotYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNSaWNobHlFZGl0YWJsZVBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IFJlbmRlcmVySXNFZGl0YWJsZSk7Citib29sIGlzUmlj
aGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IFJlbmRl
cmVySXNFZGl0YWJsZSk7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVt
ZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lh
bEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgbGluZUJyZWFrRXhpc3RzQXRQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIxLDcgKzIyMiw3IEBAIFBhc3NSZWZQdHI8RWxlbWVu
dD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRl
eHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50
KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxv
Y2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFibGVSb290
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gUmVuZGVyZXJJc0VkaXRhYmxl
KTsKIEVsZW1lbnQqIHVuc3BsaXR0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlv
biYpOwogCiAvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmNwcAppbmRleCBjOTE3M2NiNjVhNjM4MGE4ZTc4Mjk2ZTUxZjgy
MmMzNDM0ZmI5ZWZhLi4xODA0ZTVhNWZlZGVkNzdmOTAzNzYzYjAwYjk5OGNlOTI0ZDdiZGQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKQEAgLTUxOCwxMiArNTE4
LDEyIEBAIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwKQogfQogCiAv
LyBUaGUgZmlyc3QgbGVhZiBiZWZvcmUgbm9kZSB0aGF0IGhhcyB0aGUgc2FtZSBlZGl0YWJpbGl0
eSBhcyBub2RlLgotc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5
KE5vZGUqIG5vZGUsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7Ci0gICAgYm9vbCBlZGl0
YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUgPSBu
b2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKICAgICBOb2RlKiBuID0gbm9k
ZS0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0
YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09
IG4tPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgcmV0dXJu
IG47CiAgICAgICAgIG4gPSBuLT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgfQpAQCAtNTUzLDEx
ICs1NTMsMTIgQEAgc3RhdGljIGlubGluZSBJbnRQb2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Q
b2ludFRvTG9jYWxQb2ludEluQmxvY2soUm9vdElubGluZUIKICAgICByZXR1cm4gSW50UG9pbnQo
cm9vdC0+c2VsZWN0aW9uVG9wKCksIGxpbmVEaXJlY3Rpb25Qb2ludCAtIGFic29sdXRlQmxvY2tQ
b2ludC55KCkpOwogfQogCi1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9p
bnQpCitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxl
VHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5k
ZWVwRXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0g
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUq
IGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwLCBlZGl0YWJsZVR5cGUpOworCiAg
ICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBA
IC01ODQsMTEgKzU4NSwxMSBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgICAgICAvLyBO
ZWVkIHRvIG1vdmUgYmFjayB0byBwcmV2aW91cyBjb250YWluaW5nIGVkaXRhYmxlIGJsb2NrIGlu
IHRoaXMgcm9vdCBlZGl0YWJsZQogICAgICAgICAvLyBibG9jayBhbmQgZmluZCB0aGUgbGFzdCBy
b290IGxpbmUgYm94IGluIHRoYXQgYmxvY2suCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBl
bmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwotICAgICAgICBOb2RlKiBu
ID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlKTsKKyAgICAgICAgTm9kZSog
biA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgZWRpdGFibGVUeXBlKTsK
ICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklu
bGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAg
aWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAh
PSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0
UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9vdCkK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhh
c1RhZ05hbWUoYnJUYWcpID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRp
dGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3Mu
aXNDYW5kaWRhdGUoKSkgewpAQCAtNjAxLDcgKzYwMiw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2
aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwg
aW50CiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNU
UkVBTSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC02
MTgsNyArNjE5LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAvLyBDb3VsZCBub3Qg
ZmluZCBhIHByZXZpb3VzIGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRo
ZSBmaXJzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb250ZW50IGlu
IHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIHN0
YXJ0IG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBu
b2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxl
bWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpID8gbm9kZS0+cm9v
dEVkaXRhYmxlRWxlbWVudChlZGl0YWJsZVR5cGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1l
bnRFbGVtZW50KCk7CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2li
bGVQb3NpdGlvbigpOwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oZmlyc3RQb3NpdGlvbklu
Tm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpAQCAtNjM4LDI2ICs2MzksMjggQEAgc3Rh
dGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBpbnQgb2Zm
c2V0KQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KE5vZGUqIG5vZGUsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBIYXNFZGl0YWJs
ZUFYUm9sZSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAg
IGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVk
aXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiAgICAgTm9k
ZSogbiA9IG5vZGUtPm5leHRMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlm
IChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRh
YmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAg
cmV0dXJuIG47CiAgICAgICAgIG4gPSBuLT5uZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0
dXJuIDA7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlz
aWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNp
YmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSBlZGl0YWJs
ZVR5cGUpCiB7CisgICAgLy8gVE9ETzogcHVsbCBvdXQgY29kZSB0aGF0IGlzIGNvbW1vbiBiZXR3
ZWVuIHRoaXMgYW5kIHByZXZpb3VzTGluZVBvc2l0aW9uLgogICAgIFBvc2l0aW9uIHAgPSB2aXNp
YmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNh
dGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChw
KTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwgZWRpdGFi
bGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bigpOwogICAgIApAQCAtNjg2LDkgKzY4OSw5IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAg
ICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRl
cmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5
KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgICAgIHdoaWxlIChuICYm
IHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAg
ICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAg
ICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAg
ICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJz
dFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hlc3RSb290KQorICAgICAgICAgICAg
aWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBl
ZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKG4sIGNh
cmV0TWluT2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUoKSkgewpA
QCAtNzAyLDcgKzcwNSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAKICAgICAgICAgICAg
ICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAg
ICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUp
OwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcgKzcyMiw3IEBAIFZpc2libGVQb3Np
dGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0
aW9uLCBpbnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBuZXh0IGxpbmUuIFRoaXMgbWVh
bnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0
aGUgZW5kIG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1v
dmVzIHVzCiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVt
ZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9v
dEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7
CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRp
dGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKSA6IG5v
ZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0ZDhlMDgzMTUxMWRiZjA0M2Ew
NDU2NjQ5YzMzOGU4ZThmNDg4MDEzLi4yYjBiNGVkZjM4ZWU0YzM5MDY5N2ZhYTAwMDhlMmJlMzUz
MWVkZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaApAQCAtNTQsOCAr
NTQsOCBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24gZW5kT2ZMaW5lKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihj
b25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7Ci1WaXNpYmxl
UG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxp
bmVEaXJlY3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxl
VHlwZSA9IFJlbmRlcmVySXNFZGl0YWJsZSk7CitWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRp
dGFibGVUeXBlID0gUmVuZGVyZXJJc0VkaXRhYmxlKTsKIGJvb2wgaW5TYW1lTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogYm9vbCBpc1N0YXJ0
T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNFbmRPZkxpbmUoY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgwZmExYWU5Nzk3N2RkNzc2Mjk3MTk5ZjVkMjZj
MzllYmExMTA3MDQuLmI4ZTQyZGZhZDdlM2E1ZDA2MGNjNzYwNWFlNTc3OWJlYTQwOTQxYjcgMTAw
NzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0yMCAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxs
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBvcnQgY29ycmVjdCBsaW5lIG51bWJlciBmb3Ig
bm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJl
cG9ydHMtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWw6IEFkZGVkLgorCiAy
MDExLTEyLTIwICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBVbnJldmlld2VkLCBhY2NvcmRpbmcgdG8gdGhlIGZsYWtpbmVzcyBkYXNoYm9hcmQs
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBv
cnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY5YWQ0MWYyZmVlZTE1YzI3ODFjZGM0MDE0MzlkMDRjNTQxMmM1ZDkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUt
bnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHRoYXQgdGhl
IEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2
ZSB0ZXh0IGJveGVzLgorU29tZSB0ZXh0IGluIGEgdGV4dGJveAorU29tZSB0ZXh0IGluIGEKK211
bHRpbGluZSB0ZXh0Ym94LgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4
dGVudChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVz
WzBdLCAwKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94
LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEp
OyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGRO
b2Rlc1sxXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxl
bWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZmM0YjNiMzU5ZjhjMzQ4MTM0YTU0MDU5YWZiNjUxYzQ2MGNkZTE5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUt
cmVwb3J0cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQz4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3Rz
IHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Ig
bm9uLW5hdGl2ZSB0ZXh0IGJveGVzLjxicj4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9ImFyaWFU
ZXh0Qm94IiBhcmlhLW11bHRpbGluZT0iZmFsc2UiIHRhYmluZGV4PSIwIj5Tb21lIHRleHQgaW4g
YSB0ZXh0Ym94PC9kaXY+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJtdWx0aWxpbmVBcmlhVGV4
dEJveCIgYXJpYS1tdWx0aWxpbmU9InRydWUiIHRhYmluZGV4PSIwIj48ZGl2PlNvbWUgdGV4dCBp
biBhPC9kaXY+PGRpdj5tdWx0aWxpbmUgdGV4dGJveC48L2Rpdj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHZhciBhcmlhVGV4
dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgICAgICBh
cmlhVGV4dEJveC5mb2N1cygpOworICAgICAgICB2YXIgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0s
IDAsIGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDApOyIKKyAgICAgICAgICAgICAgICAgKyAi
IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworCisKKyAgICAgICAg
dmFyIG11bHRpbGluZUFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm11bHRp
bGluZUFyaWFUZXh0Qm94Iik7CisgICAgICAgIG11bHRpbGluZUFyaWFUZXh0Qm94LmZvY3VzKCk7
CisgICAgICAgIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OworCisgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFu
ZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVB
cmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsiCisgICAgICAgICAgICAgICAgICsgIiBheEVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsKKyAgICAgICAgc2hvdWxkQmUo
IndpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0
Qm94LmNoaWxkTm9kZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0s
IDEpOyIKKyAgICAgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVO
dW1iZXIiLCAiMSIpOworICAgIH0KKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120261</attachid>
            <date>2011-12-21 19:59:20 -0800</date>
            <delta_ts>2012-01-03 16:52:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20111222145917.patch</filename>
            <type>text/plain</type>
            <size>27845</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdhNDNkZDFhZmRiNDll
MGI4ZDlmNjQ0ZTBiMjRjODY3MTE4ZjZhNy4uNDhkMjk1MmIyNzliOGVkZTAzZjAyZGE4YjUxMDQ1
YmY5ZjRmNDg2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0aGUgZGV2ZWxvcGVyIG9uIGFu
IGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3Vj
aCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0
YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5CisgICAgICAg
IHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMg
aW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBu
b3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZlbHkgZWRpdGFibGUsIHZpYSB0
aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8gRWRpdGluZ0JvdW5kYXJ5Lmgu
CisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQ
b3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVz
ZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUg
dGVjaG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVu
IG5vZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkg
YXNzaXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVz
dCB0aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNo
IGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8g
cmVxdWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFi
bGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVy
IHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJs
ZUVsZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMg
YW4KKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5v
bi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVy
bG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRp
dGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFi
aWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3
aGljaCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAg
ICAgICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRl
ZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNF
ZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisg
ICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVU
eXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBh
cmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0y
MCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIHNpemVvZihSZW5k
ZXJTdHlsZSkgaXMgNjQgaW5zdGVhZCBvZiA1NiBvbiBXaW5kb3dzICh4ODYpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwOGQzOWQyNDIz
YTA5YmRmMmUwMzQ4ZjE5YmNhZDE5MWI2NGIxZmM2Li5mMTExOGI1ZjNiNDVkNjc5NjI5ZDcwMWE4
MjFkMTlmNzJhMzI1MmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTY2Miw1ICs2NjIsMjcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp0
ZXh0TWFya2VyRGF0YUZvclZpc2libGVQb3NpdGlvbihUZXh0TWFya2VyRGF0YSYgdGV4dE1hcmtl
ckQKICAgICAKICAgICBjYWNoZS0+c2V0Tm9kZUluVXNlKGRvbU5vZGUpOwogfQotICAgIAorCitj
b25zdCBFbGVtZW50KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnQoY29uc3Qg
Tm9kZSogbm9kZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KCk7CisgICAgY29uc3QgRWxlbWVudCogZWxlbWVudCA9IG5vZGUtPmlzRWxl
bWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5vZGUtPnBhcmVudEVsZW1lbnQoKTsKKwor
ICAgIGZvciAoOyBlbGVtZW50ICYmICFlbGVtZW50LT5oYXNUYWdOYW1lKGJvZHlUYWcpOyBlbGVt
ZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgIGlmIChub2RlSXNUZXh0
Q29udHJvbChlbGVtZW50KSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGVsZW1lbnQ7CisgICAgfQor
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0
Q29udHJvbChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBn
ZXRPckNyZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKKyAgICByZXR1cm4gYXhPYmplY3QgJiYgYXhP
YmplY3QtPmlzVGV4dENvbnRyb2woKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA1NjBlMGYz
NGIxNjE3NTc2MTJjMDgyYTJlYmM2YWIyN2M4ZTk4OWJhLi43ZGJlNTZkNDA2Y2Y3MWZkMjg3ODNm
M2I0OGY4NWZiOThiYWE1MzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuaApAQCAtMTA2LDYgKzEwNiwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJl
bW92ZUFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQg
aWQpIGNvbnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CisKKyAgICBFbGVt
ZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoTm9kZSopOworICAgIGNvbnN0IEVsZW1lbnQqIHJv
b3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBOb2RlKik7CisgICAgYm9vbCBub2RlSXNUZXh0Q29u
dHJvbChjb25zdCBOb2RlKik7CisKICAgICBBWElEIHBsYXRmb3JtR2VuZXJhdGVBWElEKCkgY29u
c3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0RnJvbUFYSUQoQVhJRCBpZCkgY29u
c3QgeyByZXR1cm4gbV9vYmplY3RzLmdldChpZCkuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZjYw
NWZmZmU1Y2Y2NWJiODc5NzNhZGRjMmRlMjc5MGU3MjBlNWM1ZC4uMmRiMDIyMmUxN2JjNDk2OWRj
NzYyM2IyZjNlNGRkMTZhMDEyNWE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0xMDQwLDcgKzEwNDAsNyBAQCBp
bnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiYgdmlzaWJsZVBvcykgY29ucwogICAgIC8vIHRvcCBkb2N1bWVudC4KICAgICBkbyB7CiAg
ICAgICAgIHNhdmVkVmlzaWJsZVBvcyA9IGN1cnJlbnRWaXNpYmxlUG9zOwotICAgICAgICBWaXNp
YmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91c0xpbmVQb3NpdGlvbihjdXJyZW50
VmlzaWJsZVBvcywgMCk7CisgICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9
IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwLCBIYXNFZGl0YWJsZUFY
Um9sZSk7CiAgICAgICAgIGN1cnJlbnRWaXNpYmxlUG9zID0gcHJldlZpc2libGVQb3M7CiAgICAg
ICAgICsrbGluZUNvdW50OwogICAgIH0gIHdoaWxlIChjdXJyZW50VmlzaWJsZVBvcy5pc05vdE51
bGwoKSAmJiAhKGluU2FtZUxpbmUoY3VycmVudFZpc2libGVQb3MsIHNhdmVkVmlzaWJsZVBvcykp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDg4ZmYyMjkzODYyN2U4Y2VjMDI2OTk0ZmU4MTE0
MDRhZjJlZTNmYWYuLjVmYTk1MjIwYjUyZGU2OTI2MTVmMjM5ZDBiNDU3MWZlOTUwMTQ2OWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjU0Miw3ICsyNTQyLDcgQEAgaW50IEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiYgcG8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgUG9zaXRpb24gaW5kZXhQb3Np
dGlvbiA9IHBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVs
bCgpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihpbmRleFBvc2l0aW9uKSAhPSBu
b2RlKQorICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IGhpZ2hlc3RFZGl0YWJsZVJv
b3QoaW5kZXhQb3NpdGlvbiwgSGFzRWRpdGFibGVBWFJvbGUpICE9IG5vZGUpCiAgICAgICAgIHJl
dHVybiAwOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmlu
ZGV4IDI1M2ViZGI4NGQyMWI1ZmU1MWJmMjExZGQxMGY1NmVlOGVhZjM1YmEuLmMyYjFlYjVhNWUx
ZTEzZGZjY2U2YTQ3NmE3MjJkNjYxYjFhZjgxY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTgwNiw2
ICs4MDYsMjEgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVMZXZlbCBl
ZGl0YWJsZUxldmVsKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBOb2RlOjpp
c0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2ZWwgZWRpdGFibGVMZXZlbCkgY29u
c3QKK3sKKyAgICBpZiAocmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlTGV2ZWwpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBSZXNwZWN0IGVkaXRhYmxlTGV2ZWwgZm9y
IEFSSUEgZWRpdGFibGUgZWxlbWVudHMuCisgICAgaWYgKGVkaXRhYmxlTGV2ZWwgPT0gUmljaGx5
RWRpdGFibGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEFTU0VSVChkb2N1bWVudCgp
KTsKKyAgICBBU1NFUlQoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSk7Cisg
ICAgQVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSk7CisgICAgcmV0dXJu
IGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFibGVFbGVtZW50KHRoaXMp
OworfQorCiBib29sIE5vZGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkKIHsKICAgICByZXR1cm4g
aXNDb250ZW50RWRpdGFibGUoKTsKQEAgLTE2MzIsNiArMTY0NywxNCBAQCBFbGVtZW50ICpOb2Rl
OjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAor
RWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudChFZGl0YWJsZVR5cGUgZWRpdGFibGVU
eXBlKSBjb25zdAoreworICAgIGlmIChlZGl0YWJsZVR5cGUgPT0gSGFzRWRpdGFibGVBWFJvbGUp
CisgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1lbnQgKj4oZG9jdW1lbnQoKS0+YXhPYmpl
Y3RDYWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnQodGhpcykpOworCisgICAgcmV0dXJuIHJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxl
bWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4
IDIxOTU1YWQ2OWZhZGUxNGMzNzNjM2NkZDEzY2EwNzU1NzAzY2IyZDMuLmYwOTcwZGIwMWY2MWFh
OTRlNjViN2E5Y2EwMzM3MDc2ZTUwOTczODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjUsNiArMjUsNyBA
QAogI2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAKKyNpbmNsdWRlICJFZGl0aW5nQm91
bmRhcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkxIYXNoLmgi
CiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3Niw3ICsyNzcsOCBAQCBwdWJsaWM6CiAg
ICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0OwogICAgIAogICAg
IEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKLSAgICAKKyAgICBFbGVtZW50
KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSkgY29uc3Q7CisKICAgICBib29sIGlu
U2FtZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUqKTsKIAogICAgIC8vIENhbGxlZCBi
eSB0aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xvc2UgdGFnIGlzIHJlYWNoZWQsCkBA
IC0zNTEsOCArMzUzLDMwIEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCk7
CiAgICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCi0gICAgYm9vbCByZW5kZXJl
cklzRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUp
OyB9Ci0gICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiBy
ZW5kZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOyB9CisgICAgYm9vbCByZW5kZXJlcklz
RWRpdGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IFJlbmRlcmVySXNFZGl0YWJsZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVUeXBlKSB7CisgICAgICAgIGNh
c2UgUmVuZGVyZXJJc0VkaXRhYmxlOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0
YWJsZShFZGl0YWJsZSk7CisgICAgICAgIGNhc2UgSGFzRWRpdGFibGVBWFJvbGU6CisgICAgICAg
ICAgICByZXR1cm4gaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZSk7CisgICAgICAg
IH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShFZGl0YWJsZVR5cGUg
ZWRpdGFibGVUeXBlID0gUmVuZGVyZXJJc0VkaXRhYmxlKSBjb25zdAorICAgIHsKKyAgICAgICAg
c3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBSZW5kZXJlcklzRWRpdGFibGU6
CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsK
KyAgICAgICAgY2FzZSBIYXNFZGl0YWJsZUFYUm9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0Vk
aXRhYmxlVG9BY2Nlc3NpYmlsaXR5KFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwog
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpOwogICAgIHZpcnR1YWwgTGF5
b3V0UmVjdCBnZXRSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVjdCByZW5kZXJSZWN0KGJvb2wq
IGlzUmVwbGFjZWQpOwpAQCAtNzAyLDYgKzcyNiw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIEVk
aXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmljaGx5RWRpdGFibGUgfTsKICAgICBib29sIHJlbmRl
cmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsKSBjb25zdDsKKyAgICBib29sIGlzRWRpdGFibGVU
b0FjY2Vzc2liaWxpdHkoRWRpdGFibGVMZXZlbCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxl
Q2hhbmdlKFN0eWxlQ2hhbmdlVHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
b3VuZGFyeS5oCmluZGV4IGY4YWMxY2IwNDU2ODVmMmViNGRkZTI5NjRiYThkZmEwYzBlZDVhODQu
LjVlN2FhYTViNDA2Mjk4YWE2YjU4YTgzNWI0NTQwY2U3YTc1YmFhOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaApAQCAtMzQsNiArMzQsMTEgQEAgZW51bSBFZGl0
aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewogICAgIENhblNraXBPdmVyRWRpdGluZ0JvdW5kYXJ5
CiB9OwogCitlbnVtIEVkaXRhYmxlVHlwZSB7CisgICAgUmVuZGVyZXJJc0VkaXRhYmxlLAorICAg
IEhhc0VkaXRhYmxlQVhSb2xlCit9OworCiB9CiAKICNlbmRpZiAvLyBFZGl0aW5nQm91bmRhcnlf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAppbmRleCA2ZjQwYWJiZTliNmQy
YWMyZTE3MzRhOGNlYzNkYjBkYTc4ZTE0YjM5Li40ZTZkNTI4MTQ0YmMyZDk4ZmNhYTExYmYzNWRj
YTU0YjRkZGU0ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5n
LmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAg
LTQ2LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJWaXNp
YmxlUG9zaXRpb24uaCIKICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCisjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIApAQCAtMTA0LDE5ICsxMDYsMTkgQEAgaW50
IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBhLCBjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGIpCiAgICAgcmV0dXJuIGNvbXBhcmVQb3NpdGlvbnMoYS5kZWVwRXF1aXZhbGVu
dCgpLCBiLmRlZXBFcXVpdmFsZW50KCkpOwogfQogCi1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290
KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29u
c3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRp
dGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24pOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0g
ZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24sIGVkaXRhYmxlVHlwZSk7CiAgICAgaWYg
KCFoaWdoZXN0Um9vdCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgbm9kZSA9IGhpZ2hl
c3RSb290OwogICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoKSkKKyAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJs
ZVR5cGUpKQogICAgICAgICAgICAgaGlnaGVzdFJvb3QgPSBub2RlOwogICAgICAgICBpZiAobm9k
ZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQzLDcgKzE0
NSw3IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSogbm9kZSkKICAgICByZXR1
cm4gbG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRp
b24mIHApCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFi
bGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9k
ZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE1Miw3ICsxNTQsNyBAQCBib29sIGlzRWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBu
b2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnRO
b2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAg
IHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKIH0KIAogYm9v
bCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQpAQCAtMTYyLDcg
KzE2NCw3IEBAIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24mIHBv
cykKIH0KICAgICAKICAgICAKLWJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBv
c2l0aW9uJiBwKQorYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVw
cmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNzEsMTAgKzE3MywxMCBAQCBib29s
IGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9k
ZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5v
ZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVy
SXNSaWNobHlFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRp
dGFibGUoZWRpdGFibGVUeXBlKTsKIH0KIAotRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRp
b24oY29uc3QgUG9zaXRpb24mIHApCitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2Rl
KiBub2RlID0gcC5jb250YWluZXJOb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTgzLDcgKzE4
NSw3IEBAIEVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBw
KQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUo
KSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4g
bm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIHJldHVybiBub2RlLT5yb290RWRpdGFi
bGVFbGVtZW50KGVkaXRhYmxlVHlwZSk7CiB9CiAKIC8vIEZpbmRzIHRoZSBlbmNsb3NpbmcgZWxl
bWVudCB1bnRpbCB3aGljaCB0aGUgdHJlZSBjYW4gYmUgc3BsaXQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmgKaW5kZXggYzZiNmRkN2ExZTJmZTg1NmQzMjk4OWNiMzU1ZDg2NzIwNzc3
NGQ1My4uMjIxNDU0YThhYzI4MGFjMjMzZWUzYzQ1YjcyMDkwYzljM2NkZWQ3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBWaXNpYmxl
U2VsZWN0aW9uOwogLy8gRnVuY3Rpb25zIHJldHVybmluZyBOb2RlCiAKIE5vZGUqIGhpZ2hlc3RB
bmNlc3RvcihOb2RlKik7Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9u
Jik7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVU
eXBlID0gUmVuZGVyZXJJc0VkaXRhYmxlKTsKKwogTm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVP
ZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKiks
CiAgICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91
bmRhcnksIE5vZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hlc3ROb2RlVG9SZW1vdmVJ
blBydW5pbmcoTm9kZSopOwpAQCAtMTUxLDggKzE1Miw4IEBAIGludCBjb21wYXJlUG9zaXRpb25z
KGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAogLy8gYm9vbGVhbiBmdW5jdGlv
bnMgb24gUG9zaXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJik7Ci1ib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwor
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBS
ZW5kZXJlcklzRWRpdGFibGUpOworYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBSZW5kZXJlcklzRWRpdGFibGUpOwogYm9vbCBpc0Zp
cnN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwogYm9v
bCBpc0xhc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7
CiBib29sIGxpbmVCcmVha0V4aXN0c0F0UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKQEAgLTIy
MSw3ICsyMjIsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERv
Y3VtZW50KiwgUGFzc1JlZlB0cjxOb2RlPiB0YWJUZXh0Tm9kZQogUGFzc1JlZlB0cjxFbGVtZW50
PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFiVGV4dCk7
CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KERvY3Vt
ZW50Kik7CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
Jik7CitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVk
aXRhYmxlVHlwZSA9IFJlbmRlcmVySXNFZGl0YWJsZSk7CiBFbGVtZW50KiB1bnNwbGl0dGFibGVF
bGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9vbGVhbiBmdW5jdGlv
bnMgb24gRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxl
X3VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKaW5k
ZXggYzkxNzNjYjY1YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4uMTgwNGU1YTVmZWRl
ZDc3ZjkwMzc2M2IwMGI5OThjZTkyNGQ3YmRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zp
c2libGVfdW5pdHMuY3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlzRW5kT2ZMaW5lKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxlYWYgYmVmb3JlIG5v
ZGUgdGhhdCBoYXMgdGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0YXRpYyBOb2RlKiBw
cmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSog
cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVR5cGUg
ZWRpdGFibGVUeXBlKQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRp
dGFibGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVk
aXRhYmxlVHlwZSk7CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVhZk5vZGUoKTsKICAg
ICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRh
YmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoZWRp
dGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+cHJldmlv
dXNMZWFmTm9kZSgpOwogICAgIH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0YXRpYyBpbmxpbmUg
SW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJsb2NrKFJv
b3RJbmxpbmVCCiAgICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlvblRvcCgpLCBsaW5l
RGlyZWN0aW9uUG9pbnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0KIAotVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIHByZXZp
b3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2Rl
KiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGln
aGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0
YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUsMTEgQEAgVmlzaWJs
ZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlz
aWJsZVBvc2l0aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJhY2sgdG8gcHJldmlv
dXMgY29udGFpbmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRpdGFibGUKICAgICAg
ICAgLy8gYmxvY2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBpbiB0aGF0IGJsb2Nr
LgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVS
ZW5kZXJlcihub2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KG5vZGUsIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0
QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAg
ICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAg
biA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAg
ICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZp
cnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAg
ICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobiks
IGVkaXRhYmxlVHlwZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFnKSA/IHBvc2l0aW9u
QmVmb3JlTm9kZShuKSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1heE9m
ZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTYwMSw3
ICs2MDIsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAg
ICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUp
OwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBAIFZpc2libGVQb3Np
dGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQ
b3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5lLiBUaGlz
IG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAvLyBNb3Zl
IHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3Rp
dmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4K
LSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8g
bm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRF
bGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRp
dGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVU
eXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9v
dEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4g
VmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RS
RUFNKTsKQEAgLTYzOCwyNiArNjM5LDI4IEBAIHN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1cm4gMDsKIH0KIAot
c3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3Rh
dGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJs
ZVR5cGUgZWRpdGFibGVUeXBlID0gSGFzRWRpdGFibGVBWFJvbGUpCiB7CiAgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVu
ZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5uZXh0TGVhZk5vZGUo
KTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJ
c0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFi
bGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+
bmV4dExlYWZOb2RlKCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1WaXNpYmxlUG9zaXRp
b24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlv
biwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVj
dGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogeworICAgIC8vIFRPRE86IHB1
bGwgb3V0IGNvZGUgdGhhdCBpcyBjb21tb24gYmV0d2VlbiB0aGlzIGFuZCBwcmV2aW91c0xpbmVQ
b3NpdGlvbi4KICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50
KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdo
ZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3Qg
PSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAgICBpZiAoIW5vZGUp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTY4Niw5ICs2ODks
OSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0g
ZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKICAgICAgICAgTm9kZSog
biA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBwLmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05v
ZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRo
U2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAg
ICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4p
KSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZp
cnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9v
dCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IGNy
ZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAgICAg
ICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDUsNyBAQCBWaXNpYmxl
UG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQ
b3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5leHRM
ZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAgICAK
QEAgLTcxOSw3ICs3MjIsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgIC8vIENvdWxk
IG5vdCBmaW5kIGEgbmV4dCBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0
aGUgbGFzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgY29udGVudCBpbiB0
aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBlbmQg
b2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUo
cm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3Vu
aXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uMmIw
YjRlZGYzOGVlNGMzOTA2OTdmYWEwMDA4ZTJiZTM1MzFlZGU3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5l
eHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBW
aXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlz
aWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxl
UG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJs
ZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBp
bnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBSZW5kZXJlcklzRWRpdGFibGUp
OworVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IFJlbmRlcmVySXNFZGl0
YWJsZSk7CiBib29sIGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRp
b24gJik7CiBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4MGZhMWFlOTc5NzdkZDc3NjI5NzE5OWY1ZDI2YzM5ZWJhMTEwNzA0Li5iOGU0MmRmYWQ3ZTNh
NWQwNjBjYzc2MDVhZTU3NzliZWE0MDk0MWI3IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MTItMjAgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmVwb3J0IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBl
bGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcxMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0
cy1saW5lLW51bWJlci5odG1sOiBBZGRlZC4KKwogMjAxMS0xMi0yMCAgVG9ueSBDaGFuZyAgPHRv
bnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gVW5yZXZpZXdlZCwgYWNjb3Jk
aW5nIHRvIHRoZSBmbGFraW5lc3MgZGFzaGJvYXJkLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUt
bnVtYmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWFkNDFmMmZlZWUxNWMyNzgxY2RjNDAx
NDM5ZDA0YzU0MTJjNWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBj
b3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy4KK1NvbWUgdGV4dCBp
biBhIHRleHRib3gKK1NvbWUgdGV4dCBpbiBhCittdWx0aWxpbmUgdGV4dGJveC4KK1BBU1Mgd2lu
ZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRleHRCb3guY2hpbGROb2Rl
c1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7IGF4RWxlbWVudC5pbnNlcnRp
b25Qb2ludExpbmVOdW1iZXIgaXMgMAorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFz
ZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxp
bmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50
TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0
ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEsIG11bHRpbGluZUFyaWFU
ZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEpOyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVt
YmVyIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1y
ZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRi
b3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTk3MWEyZmRhMGRm
Nzg2ZWZmYzJhYWQ1ZDU5MDM3MWQ5ZjQyNWNhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApA
QCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUM+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9w
ZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy48YnI+
Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZh
bHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveDwvZGl2PgorPGRpdiByb2xl
PSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFyaWEtbXVsdGlsaW5lPSJ0cnVl
IiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2PjxkaXY+bXVsdGlsaW5lIHRl
eHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFyaWFUZXh0Qm94Iik7CisgICAgICAgIGFyaWFUZXh0Qm94LmZvY3VzKCk7CisgICAgICAg
IHZhciBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsK
KworICAgICAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRl
bnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1sw
XSwgMCk7IgorICAgICAgICAgICAgICAgICArICIgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGlu
ZU51bWJlciIsICIwIik7CisKKworICAgICAgICB2YXIgbXVsdGlsaW5lQXJpYVRleHRCb3ggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXVsdGlsaW5lQXJpYVRleHRCb3giKTsKKyAgICAgICAg
bXVsdGlsaW5lQXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICAgICAgYXhFbGVtZW50ID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94
LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEp
OyIKKyAgICAgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1i
ZXIiLCAiMCIpOworICAgICAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJh
c2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSwgbXVsdGls
aW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IgorICAgICAgICAgICAgICAgICArICIg
YXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIxIik7CisgICAgfQorPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121014</attachid>
            <date>2012-01-03 16:20:20 -0800</date>
            <delta_ts>2012-01-03 16:49:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120104112017.patch</filename>
            <type>text/plain</type>
            <size>27857</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uNDA5YTE5Y2NiYTk0N2Y0NGJjZThjZmFkN2RiNzQ0
MmYzNTdjNGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0aGUgZGV2ZWxvcGVyIG9uIGFu
IGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3Vj
aCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0
YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5CisgICAgICAg
IHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMg
aW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBu
b3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZlbHkgZWRpdGFibGUsIHZpYSB0
aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8gRWRpdGluZ0JvdW5kYXJ5Lmgu
CisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQ
b3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVz
ZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUg
dGVjaG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVu
IG5vZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkg
YXNzaXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVz
dCB0aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNo
IGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8g
cmVxdWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFi
bGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVy
IHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJs
ZUVsZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMg
YW4KKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5v
bi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVy
bG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRp
dGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFi
aWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3
aGljaCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAg
ICAgICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRl
ZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNF
ZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisg
ICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVU
eXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBh
cmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0y
MiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBEYXRlIGFuZCBUaW1lIElucHV0IFZhbHVlIFNhbml0aXphdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2Ew
OWJkZjJlMDM0OGYxOWJjYWQxOTFiNjRiMWZjNi4uZjExMThiNWYzYjQ1ZDY3OTYyOWQ3MDFhODIx
ZDE5ZjcyYTMyNTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC02NjIsNSArNjYyLDI3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4
dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJE
CiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29u
c3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpOworICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2RlLT5pc0VsZW1l
bnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisKKyAg
ICBmb3IgKDsgZWxlbWVudCAmJiAhZWxlbWVudC0+aGFzVGFnTmFtZShib2R5VGFnKTsgZWxlbWVu
dCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgeworICAgICAgICBpZiAobm9kZUlzVGV4dENv
bnRyb2woZWxlbWVudCkpCisgICAgICAgICAgICByZXN1bHQgPSBlbGVtZW50OworICAgIH0KKwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgQVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENv
bnRyb2woY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gZ2V0
T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAgcmV0dXJuIGF4T2JqZWN0ICYmIGF4T2Jq
ZWN0LT5pc1RleHRDb250cm9sKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNTYwZTBmMzRi
MTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdjOGU5ODliYS4uN2RiZTU2ZDQwNmNmNzFmZDI4NzgzZjNi
NDhmODVmYjk4YmFhNTMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCByZW1v
dmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICBib29sIGlzSURpblVzZShBWElEIGlk
KSBjb25zdCB7IHJldHVybiBtX2lkc0luVXNlLmNvbnRhaW5zKGlkKTsgfQorCisgICAgRWxlbWVu
dCogcm9vdEFYRWRpdGFibGVFbGVtZW50KE5vZGUqKTsKKyAgICBjb25zdCBFbGVtZW50KiByb290
QVhFZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzVGV4dENvbnRy
b2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0
IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGY2MDVm
ZmZlNWNmNjViYjg3OTczYWRkYzJkZTI3OTBlNzIwZTVjNWQuLjJkYjAyMjJlMTdiYzQ5NjlkYzc2
MjNiMmYzZTRkZDE2YTAxMjVhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZpc2libGVQb3MpIGNvbnMKICAgICAvLyB0b3AgZG9jdW1lbnQuCiAgICAgZG8gewogICAg
ICAgICBzYXZlZFZpc2libGVQb3MgPSBjdXJyZW50VmlzaWJsZVBvczsKLSAgICAgICAgVmlzaWJs
ZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZp
c2libGVQb3MsIDApOworICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBw
cmV2aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCwgSGFzRWRpdGFibGVBWFJv
bGUpOwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9IHByZXZWaXNpYmxlUG9zOwogICAgICAg
ICArK2xpbmVDb3VudDsKICAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxs
KCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBkM2EzYzRjNjA5YTk1ODQ5MDgzNzEyZGRmODlkNThh
YzE5MThmZWE3Li43MzBjMTFjM2E0ZjNkZGJkM2E5YzYyNGU4NzAzNjc0YTFiNWNlOWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1NDUsNyArMjU0NSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRp
b24gPSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwo
KSB8fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9k
ZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290
KGluZGV4UG9zaXRpb24sIEhhc0VkaXRhYmxlQVhSb2xlKSAhPSBub2RlKQogICAgICAgICByZXR1
cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCA5ZTZkZDVmYWM2ZmRlZTBmZTBjNmNjM2E3ZDI0OWEyYTVmYTk2YzQ5Li40NWY2NDUzM2VjNjYx
NWM3MjVjZjQ0NWQ1OGMwOTQ0NmJiYTJiMGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC03ODgsNiAr
Nzg4LDIxIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwgZWRp
dGFibGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgTm9kZTo6aXNF
ZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0
Cit7CisgICAgaWYgKHJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZUxldmVsKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAvLyBGSVhNRTogUmVzcGVjdCBlZGl0YWJsZUxldmVsIGZvciBB
UklBIGVkaXRhYmxlIGVsZW1lbnRzLgorICAgIGlmIChlZGl0YWJsZUxldmVsID09IFJpY2hseUVk
aXRhYmxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoZG9jdW1lbnQoKSk7
CisgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpOworICAg
IEFTU0VSVChkb2N1bWVudCgpLT5heE9iamVjdENhY2hlRXhpc3RzKCkpOworICAgIHJldHVybiBk
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVudCh0aGlzKTsK
K30KKwogYm9vbCBOb2RlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpCiB7CiAgICAgcmV0dXJuIGlz
Q29udGVudEVkaXRhYmxlKCk7CkBAIC0xNjE0LDYgKzE2MjksMTQgQEAgRWxlbWVudCAqTm9kZTo6
ZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK0Vs
ZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlw
ZSkgY29uc3QKK3sKKyAgICBpZiAoZWRpdGFibGVUeXBlID09IEhhc0VkaXRhYmxlQVhSb2xlKQor
ICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RD
YWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnQodGhpcykpOworCisgICAgcmV0dXJuIHJvb3RF
ZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVu
dCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IGZh
NjliNzU5NDBiM2Q0MTg3YmM5NzQ1MzU2M2RhOWNhYmQxYjU5NmYuLjc1ZWY2YjlkMzlkNjhjNmEy
YzdhMzc2NmM5NWE1ZjA3MmY2MGUxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjUsNiArMjUsNyBAQAog
I2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAKKyNpbmNsdWRlICJFZGl0aW5nQm91bmRh
cnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAj
aW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3Niw3ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAg
RWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0OwogICAgIAogICAgIEVs
ZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKLSAgICAKKyAgICBFbGVtZW50KiBy
b290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSkgY29uc3Q7CisKICAgICBib29sIGluU2Ft
ZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUqKTsKIAogICAgIC8vIENhbGxlZCBieSB0
aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xvc2UgdGFnIGlzIHJlYWNoZWQsCkBAIC0z
NTMsOCArMzU1LDMwIEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCk7CiAg
ICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCi0gICAgYm9vbCByZW5kZXJlcklz
RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOyB9
Ci0gICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5k
ZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOyB9CisgICAgYm9vbCByZW5kZXJlcklzRWRp
dGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25z
dAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBD
b250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUo
RWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAgICAgICAg
cmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGUpOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoRWRpdGFibGVUeXBlIGVkaXRh
YmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNo
IChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBDb250ZW50SXNFZGl0YWJsZToKKyAgICAg
ICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOworICAgICAg
ICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAgICAgICAgcmV0dXJuIGlzRWRpdGFibGVU
b0FjY2Vzc2liaWxpdHkoUmljaGx5RWRpdGFibGUpOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0
IGdldFJlY3QoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHJlbmRlclJlY3QoYm9vbCogaXNSZXBs
YWNlZCk7CkBAIC03MDUsNiArNzI5LDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0gRWRpdGFibGVM
ZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlTGV2ZWwpIGNvbnN0OworICAgIGJvb2wgaXNFZGl0YWJsZVRvQWNjZXNz
aWJpbGl0eShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAogICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2Uo
U3R5bGVDaGFuZ2VUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5
LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2NGJhOGRmYTBjMGVkNWE4NC4uZWNlN2Uw
MzZkYTViYWZmMWIxZDE1NmNhYjZkYWQ3ZTgzZWNjMDQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zNCw2ICszNCwxMSBAQCBlbnVtIEVkaXRpbmdCb3Vu
ZGFyeUNyb3NzaW5nUnVsZSB7CiAgICAgQ2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAK
K2VudW0gRWRpdGFibGVUeXBlIHsKKyAgICBDb250ZW50SXNFZGl0YWJsZSwKKyAgICBIYXNFZGl0
YWJsZUFYUm9sZQorfTsKKwogfQogCiAjZW5kaWYgLy8gRWRpdGluZ0JvdW5kYXJ5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5kZXggNmY0MGFiYmU5YjZkMmFjMmUxNzM0
YThjZWMzZGIwZGE3OGUxNGIzOS4uNGU2ZDUyODE0NGJjMmQ5OGZjYWExMWJmMzVkY2E1NGI0ZGRl
NGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKQEAgLTI2LDYgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogCisj
aW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRWRpdGluZ1RleHQuaCIKICNpbmNsdWRlICJIVE1MQlJFbGVtZW50LmgiCkBAIC00Niw2ICs0
Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVBvc2l0
aW9uLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKQEAgLTEwNCwxOSArMTA2LDE5IEBAIGludCBjb21wYXJl
UG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5k
ZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQ
b3NpdGlvbiYgcG9zaXRpb24pCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0
aW9uJiBwb3NpdGlvbiwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBu
b2RlID0gcG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9v
dEZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxl
Um9vdEZvclBvc2l0aW9uKHBvc2l0aW9uLCBlZGl0YWJsZVR5cGUpOwogICAgIGlmICghaGlnaGVz
dFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIG5vZGUgPSBoaWdoZXN0Um9vdDsK
ICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxl
KCkpCisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkK
ICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsKICAgICAgICAgaWYgKG5vZGUtPmhhc1Rh
Z05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTE0Myw3ICsxNDUsNyBAQCBO
b2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIGxvd2Vz
dFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQor
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBl
ZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAg
ICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTU0LDcgQEAgYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVu
ZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwog
ICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICByZXR1cm4g
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiB9CiAKIGJvb2wgaXNBdFVu
c3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24mIHBvcykKQEAgLTE2Miw3ICsxNjQsNyBA
QCBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCiB9CiAg
ICAgCiAgICAgCi1ib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYg
cCkKK2Jvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0
YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWRO
b2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTcxLDEwICsxNzMsMTAgQEAgYm9vbCBpc1JpY2hs
eUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRl
cmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9k
ZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzUmljaGx5
RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKGVk
aXRhYmxlVHlwZSk7CiB9CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9
IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE4Myw3ICsxODUsNyBAQCBF
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBp
ZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAg
ICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVu
dChlZGl0YWJsZVR5cGUpOwogfQogCiAvLyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50
aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJlIHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5oCmluZGV4IGM2YjZkZDdhMWUyZmU4NTZkMzI5ODljYjM1NWQ4NjcyMDc3NzRkNTMuLjBm
MmQxYmRjMGQ1ODdhYTkzNWY5NmQ3MGYwNTQ0YTI1ZjBhYTZlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlv
bjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0QW5jZXN0b3Io
Tm9kZSopOwotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9k
ZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENv
bnRlbnRJc0VkaXRhYmxlKTsKKwogTm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoY29u
c3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKiksCiAgICAgRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnksIE5v
ZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hlc3ROb2RlVG9SZW1vdmVJblBydW5pbmco
Tm9kZSopOwpAQCAtMTUxLDggKzE1Miw4IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFBv
c2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAogLy8gYm9vbGVhbiBmdW5jdGlvbnMgb24gUG9z
aXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1i
b29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNF
ZGl0YWJsZSk7Citib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYs
IEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKIGJvb2wgaXNGaXJzdFZpc2libGVQ
b3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgaXNMYXN0Vmlz
aWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBsaW5l
QnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CkBAIC0yMjEsNyArMjIyLDcg
QEAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIFBh
c3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFi
U3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHRhYlRleHQpOwogUGFzc1JlZlB0
cjxFbGVtZW50PiBjcmVhdGVCbG9ja1BsYWNlaG9sZGVyRWxlbWVudChEb2N1bWVudCopOwogCi1F
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworRWxlbWVu
dCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUg
PSBDb250ZW50SXNFZGl0YWJsZSk7CiBFbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9vbGVhbiBmdW5jdGlvbnMgb24gRWxlbWVu
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKaW5kZXggYzkxNzNjYjY1
YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4uMWVjYjIyMjQ5Yzg0MDdkYmQwNTZhMTNl
NmI3MzlkN2ZlODBhOGI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMu
Y3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxlYWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMg
dGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogcHJldmlvdXNMZWFm
V2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBl
KQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAg
ICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7
CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikg
ewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAg
ICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkK
ICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+cHJldmlvdXNMZWFmTm9kZSgp
OwogICAgIH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJz
b2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAg
ICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlvblRvcCgpLCBsaW5lRGlyZWN0aW9uUG9p
bnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIHByZXZp
b3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVj
dGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIFBvc2l0aW9uIHAg
PSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2RlID0gcC5k
ZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxl
Um9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwg
ZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUsMTEgQEAgVmlzaWJsZVBvc2l0aW9uIHBy
ZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9u
LCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJhY2sgdG8gcHJldmlvdXMgY29udGFpbmlu
ZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRpdGFibGUKICAgICAgICAgLy8gYmxvY2sg
YW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBpbiB0aGF0IGJsb2NrLgogICAgICAgICBO
b2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2Rl
KTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9k
ZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5v
ZGUsIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5j
bG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBwcmV2
aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3Vz
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgd2hpbGUg
KG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25J
bk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVz
dEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobiksIGVkaXRhYmxlVHlw
ZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQ
b3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFnKSA/IHBvc2l0aW9uQmVmb3JlTm9kZShu
KSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1heE9mZnNldChuKSk7CiAg
ICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBW
aXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9
IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB9
CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91
c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50
CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5lLiBUaGlzIG1lYW5zIHdlIG11
c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBzdGFy
dCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1
cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50
KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVk
aXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7Cisg
ICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFi
bGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0
aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKQEAgLTYz
OCwyNiArNjM5LDI4IEBAIHN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIE5vZGUq
IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFi
bGVUeXBlID0gSGFzRWRpdGFibGVBWFJvbGUpCiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICBy
ZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRh
YmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0
YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5uZXh0TGVhZk5vZGUoKTsKICAgICB3aGls
ZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkp
CisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVU
eXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+bmV4dExlYWZOb2Rl
KCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVE
aXJlY3Rpb25Qb2ludCkKK2JWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBW
aXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwg
RWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKKyAgICAvLyBGSVhNRTogcHVsbCBvdXQgY29k
ZSB0aGF0IGlzIGNvbW1vbiBiZXR3ZWVuIHRoaXMgYW5kIHByZXZpb3VzTGluZVBvc2l0aW9uLgog
ICAgIFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBO
b2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0g
aGlnaGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RF
ZGl0YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAg
cmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNjg2LDkgKzY4OSw5IEBAIFZpc2li
bGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdO
b2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7
CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25J
bmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobik7CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4s
IGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGln
aGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hl
c3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlv
bkluT3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5
RWRpdGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWluT2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChw
b3MuaXNDYW5kaWRhdGUoKSkgewpAQCAtNzAyLDcgKzcwNSw3IEBAIFZpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluCiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9X
TlNUUkVBTSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcg
KzcyMiw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQg
YSBuZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxp
bmUuCiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ss
IHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGlu
ZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQo
KS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1l
bnQoZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwog
ICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVu
dCksIERPV05TVFJFQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNp
YmxlX3VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRl
eCA0ZDhlMDgzMTUxMWRiZjA0M2EwNDU2NjQ5YzMzOGU4ZThmNDg4MDEzLi5kZWY3YmQyYTA2OTI2
YWMwMTU5ZWZkMTdhNTE1ZmQ2NGQzMGY4NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL3Zpc2libGVfdW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2li
bGVfdW5pdHMuaApAQCAtNTQsOCArNTQsOCBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNl
UG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3Np
dGlvbiBzdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRp
b24gZW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBw
cmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJl
Y3Rpb25Qb2ludCk7Ci1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNp
YmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24g
cHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGly
ZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKK1Zpc2libGVQ
b3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGlu
ZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29s
IGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlv
biAmKTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29s
IGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZDEzOWI0NThh
ZWExZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgwYmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFkNjRjODIw
OWQ2MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIEFsaWNl
IEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJl
Y3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJl
ci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29n
bGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5kIGVsZW1l
bnRzIGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5YmI5MDQ3
ZTM4NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRi
b3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitTb21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5lIHRleHRi
b3guCitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3Rs
eSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVu
dChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBd
LCAwKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRv
dy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNo
aWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyBh
eEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93LmdldFNl
bGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rl
c1sxXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxlbWVu
dC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40YTAzZDM0M2RlNDkzMzgwZmFkZTU5NWE1MjhiN2Q0MzAxZDM3MmEyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVw
b3J0cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIg
YXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJv
eDwvZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFy
aWEtbXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2
PjxkaXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVj
dGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBi
b3hlcy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICB2YXIg
YXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAg
ICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRl
eHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7Igor
ICAgICAgICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAi
KTsKKworCisgICAgdmFyIG11bHRpbGluZUFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm11bHRpbGluZUFyaWFUZXh0Qm94Iik7CisgICAgbXVsdGlsaW5lQXJpYVRleHRCb3gu
Zm9jdXMoKTsKKyAgICBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFu
ZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVB
cmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsiCisgICAgICAgICAgICAgKyAiIGF4RWxlbWVu
dC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGls
ZE5vZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisg
ICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIp
OworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121019</attachid>
            <date>2012-01-03 16:49:40 -0800</date>
            <delta_ts>2012-01-04 15:46:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120104114937.patch</filename>
            <type>text/plain</type>
            <size>27773</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uNDA5YTE5Y2NiYTk0N2Y0NGJjZThjZmFkN2RiNzQ0
MmYzNTdjNGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0aGUgZGV2ZWxvcGVyIG9uIGFu
IGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3Vj
aCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0
YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5CisgICAgICAg
IHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMg
aW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBu
b3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZlbHkgZWRpdGFibGUsIHZpYSB0
aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8gRWRpdGluZ0JvdW5kYXJ5Lmgu
CisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQ
b3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVz
ZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUg
dGVjaG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVu
IG5vZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkg
YXNzaXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVz
dCB0aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNo
IGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8g
cmVxdWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFi
bGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVy
IHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJs
ZUVsZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMg
YW4KKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5v
bi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVy
bG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRp
dGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFi
aWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3
aGljaCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAg
ICAgICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRl
ZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNF
ZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisg
ICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVU
eXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBh
cmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0y
MiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBEYXRlIGFuZCBUaW1lIElucHV0IFZhbHVlIFNhbml0aXphdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2Ew
OWJkZjJlMDM0OGYxOWJjYWQxOTFiNjRiMWZjNi4uZjExMThiNWYzYjQ1ZDY3OTYyOWQ3MDFhODIx
ZDE5ZjcyYTMyNTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC02NjIsNSArNjYyLDI3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4
dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJE
CiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29u
c3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpOworICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2RlLT5pc0VsZW1l
bnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisKKyAg
ICBmb3IgKDsgZWxlbWVudCAmJiAhZWxlbWVudC0+aGFzVGFnTmFtZShib2R5VGFnKTsgZWxlbWVu
dCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgeworICAgICAgICBpZiAobm9kZUlzVGV4dENv
bnRyb2woZWxlbWVudCkpCisgICAgICAgICAgICByZXN1bHQgPSBlbGVtZW50OworICAgIH0KKwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgQVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENv
bnRyb2woY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gZ2V0
T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAgcmV0dXJuIGF4T2JqZWN0ICYmIGF4T2Jq
ZWN0LT5pc1RleHRDb250cm9sKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNTYwZTBmMzRi
MTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdjOGU5ODliYS4uN2RiZTU2ZDQwNmNmNzFmZDI4NzgzZjNi
NDhmODVmYjk4YmFhNTMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCByZW1v
dmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICBib29sIGlzSURpblVzZShBWElEIGlk
KSBjb25zdCB7IHJldHVybiBtX2lkc0luVXNlLmNvbnRhaW5zKGlkKTsgfQorCisgICAgRWxlbWVu
dCogcm9vdEFYRWRpdGFibGVFbGVtZW50KE5vZGUqKTsKKyAgICBjb25zdCBFbGVtZW50KiByb290
QVhFZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9kZSopOworICAgIGJvb2wgbm9kZUlzVGV4dENvbnRy
b2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0
IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGY2MDVm
ZmZlNWNmNjViYjg3OTczYWRkYzJkZTI3OTBlNzIwZTVjNWQuLjJkYjAyMjJlMTdiYzQ5NjlkYzc2
MjNiMmYzZTRkZDE2YTAxMjVhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZpc2libGVQb3MpIGNvbnMKICAgICAvLyB0b3AgZG9jdW1lbnQuCiAgICAgZG8gewogICAg
ICAgICBzYXZlZFZpc2libGVQb3MgPSBjdXJyZW50VmlzaWJsZVBvczsKLSAgICAgICAgVmlzaWJs
ZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZp
c2libGVQb3MsIDApOworICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBw
cmV2aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCwgSGFzRWRpdGFibGVBWFJv
bGUpOwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9IHByZXZWaXNpYmxlUG9zOwogICAgICAg
ICArK2xpbmVDb3VudDsKICAgICB9ICB3aGlsZSAoY3VycmVudFZpc2libGVQb3MuaXNOb3ROdWxs
KCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxlUG9zLCBzYXZlZFZpc2libGVQb3MpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBkM2EzYzRjNjA5YTk1ODQ5MDgzNzEyZGRmODlkNThh
YzE5MThmZWE3Li43MzBjMTFjM2E0ZjNkZGJkM2E5YzYyNGU4NzAzNjc0YTFiNWNlOWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1NDUsNyArMjU0NSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIFBvc2l0aW9uIGluZGV4UG9zaXRp
b24gPSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwo
KSB8fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRpb24oaW5kZXhQb3NpdGlvbikgIT0gbm9k
ZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCBoaWdoZXN0RWRpdGFibGVSb290
KGluZGV4UG9zaXRpb24sIEhhc0VkaXRhYmxlQVhSb2xlKSAhPSBub2RlKQogICAgICAgICByZXR1
cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCA5ZTZkZDVmYWM2ZmRlZTBmZTBjNmNjM2E3ZDI0OWEyYTVmYTk2YzQ5Li40NWY2NDUzM2VjNjYx
NWM3MjVjZjQ0NWQ1OGMwOTQ0NmJiYTJiMGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC03ODgsNiAr
Nzg4LDIxIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwgZWRp
dGFibGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgTm9kZTo6aXNF
ZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0
Cit7CisgICAgaWYgKHJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZUxldmVsKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAvLyBGSVhNRTogUmVzcGVjdCBlZGl0YWJsZUxldmVsIGZvciBB
UklBIGVkaXRhYmxlIGVsZW1lbnRzLgorICAgIGlmIChlZGl0YWJsZUxldmVsID09IFJpY2hseUVk
aXRhYmxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoZG9jdW1lbnQoKSk7
CisgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpOworICAg
IEFTU0VSVChkb2N1bWVudCgpLT5heE9iamVjdENhY2hlRXhpc3RzKCkpOworICAgIHJldHVybiBk
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVudCh0aGlzKTsK
K30KKwogYm9vbCBOb2RlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpCiB7CiAgICAgcmV0dXJuIGlz
Q29udGVudEVkaXRhYmxlKCk7CkBAIC0xNjE0LDYgKzE2MjksMTQgQEAgRWxlbWVudCAqTm9kZTo6
ZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK0Vs
ZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlw
ZSkgY29uc3QKK3sKKyAgICBpZiAoZWRpdGFibGVUeXBlID09IEhhc0VkaXRhYmxlQVhSb2xlKQor
ICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RD
YWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnQodGhpcykpOworCisgICAgcmV0dXJuIHJvb3RF
ZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVu
dCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IGZh
NjliNzU5NDBiM2Q0MTg3YmM5NzQ1MzU2M2RhOWNhYmQxYjU5NmYuLjc1ZWY2YjlkMzlkNjhjNmEy
YzdhMzc2NmM5NWE1ZjA3MmY2MGUxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjUsNiArMjUsNyBAQAog
I2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAKKyNpbmNsdWRlICJFZGl0aW5nQm91bmRh
cnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAj
aW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3Niw3ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAg
RWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0OwogICAgIAogICAgIEVs
ZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdDsKLSAgICAKKyAgICBFbGVtZW50KiBy
b290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSkgY29uc3Q7CisKICAgICBib29sIGluU2Ft
ZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUqKTsKIAogICAgIC8vIENhbGxlZCBieSB0
aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xvc2UgdGFnIGlzIHJlYWNoZWQsCkBAIC0z
NTMsOCArMzU1LDMwIEBAIHB1YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCk7CiAg
ICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwogCi0gICAgYm9vbCByZW5kZXJlcklz
RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOyB9
Ci0gICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5k
ZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOyB9CisgICAgYm9vbCByZW5kZXJlcklzRWRp
dGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25z
dAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBD
b250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUo
RWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAgICAgICAg
cmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGUpOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFibGUoRWRpdGFibGVUeXBlIGVkaXRh
YmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNo
IChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBDb250ZW50SXNFZGl0YWJsZToKKyAgICAg
ICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOworICAgICAg
ICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAgICAgICAgcmV0dXJuIGlzRWRpdGFibGVU
b0FjY2Vzc2liaWxpdHkoUmljaGx5RWRpdGFibGUpOworICAgICAgICB9CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0
IGdldFJlY3QoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IHJlbmRlclJlY3QoYm9vbCogaXNSZXBs
YWNlZCk7CkBAIC03MDUsNiArNzI5LDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0gRWRpdGFibGVM
ZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlTGV2ZWwpIGNvbnN0OworICAgIGJvb2wgaXNFZGl0YWJsZVRvQWNjZXNz
aWJpbGl0eShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAogICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2Uo
U3R5bGVDaGFuZ2VUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5
LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2NGJhOGRmYTBjMGVkNWE4NC4uZWNlN2Uw
MzZkYTViYWZmMWIxZDE1NmNhYjZkYWQ3ZTgzZWNjMDQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zNCw2ICszNCwxMSBAQCBlbnVtIEVkaXRpbmdCb3Vu
ZGFyeUNyb3NzaW5nUnVsZSB7CiAgICAgQ2FuU2tpcE92ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAK
K2VudW0gRWRpdGFibGVUeXBlIHsKKyAgICBDb250ZW50SXNFZGl0YWJsZSwKKyAgICBIYXNFZGl0
YWJsZUFYUm9sZQorfTsKKwogfQogCiAjZW5kaWYgLy8gRWRpdGluZ0JvdW5kYXJ5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5kZXggNmY0MGFiYmU5YjZkMmFjMmUxNzM0
YThjZWMzZGIwZGE3OGUxNGIzOS4uNGU2ZDUyODE0NGJjMmQ5OGZjYWExMWJmMzVkY2E1NGI0ZGRl
NGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKQEAgLTI2LDYgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogCisj
aW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRWRpdGluZ1RleHQuaCIKICNpbmNsdWRlICJIVE1MQlJFbGVtZW50LmgiCkBAIC00Niw2ICs0
Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVBvc2l0
aW9uLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKQEAgLTEwNCwxOSArMTA2LDE5IEBAIGludCBjb21wYXJl
UG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25zKGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5k
ZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQ
b3NpdGlvbiYgcG9zaXRpb24pCitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0
aW9uJiBwb3NpdGlvbiwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBu
b2RlID0gcG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9v
dEZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxl
Um9vdEZvclBvc2l0aW9uKHBvc2l0aW9uLCBlZGl0YWJsZVR5cGUpOwogICAgIGlmICghaGlnaGVz
dFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIG5vZGUgPSBoaWdoZXN0Um9vdDsK
ICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxl
KCkpCisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkK
ICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsKICAgICAgICAgaWYgKG5vZGUtPmhhc1Rh
Z05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTE0Myw3ICsxNDUsNyBAQCBO
b2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIGxvd2Vz
dFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQor
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBl
ZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAg
ICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTU0LDcgQEAgYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVu
ZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwog
ICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICByZXR1cm4g
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiB9CiAKIGJvb2wgaXNBdFVu
c3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24mIHBvcykKQEAgLTE2Miw3ICsxNjQsNyBA
QCBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCiB9CiAg
ICAgCiAgICAgCi1ib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYg
cCkKK2Jvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0
YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWRO
b2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTcxLDEwICsxNzMsMTAgQEAgYm9vbCBpc1JpY2hs
eUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRl
cmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9k
ZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzUmljaGx5
RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKGVk
aXRhYmxlVHlwZSk7CiB9CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9
IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE4Myw3ICsxODUsNyBAQCBF
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBp
ZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAg
ICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJv
b3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVu
dChlZGl0YWJsZVR5cGUpOwogfQogCiAvLyBGaW5kcyB0aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50
aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJlIHNwbGl0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5oCmluZGV4IGM2YjZkZDdhMWUyZmU4NTZkMzI5ODljYjM1NWQ4NjcyMDc3NzRkNTMuLjBm
MmQxYmRjMGQ1ODdhYTkzNWY5NmQ3MGYwNTQ0YTI1ZjBhYTZlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlv
bjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQogCiBOb2RlKiBoaWdoZXN0QW5jZXN0b3Io
Tm9kZSopOwotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9k
ZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENv
bnRlbnRJc0VkaXRhYmxlKTsKKwogTm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoY29u
c3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKiksCiAgICAgRWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnksIE5v
ZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hlc3ROb2RlVG9SZW1vdmVJblBydW5pbmco
Tm9kZSopOwpAQCAtMTUxLDggKzE1Miw4IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFBv
c2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAogLy8gYm9vbGVhbiBmdW5jdGlvbnMgb24gUG9z
aXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1i
b29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNF
ZGl0YWJsZSk7Citib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYs
IEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKIGJvb2wgaXNGaXJzdFZpc2libGVQ
b3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgaXNMYXN0Vmlz
aWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBsaW5l
QnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CkBAIC0yMjEsNyArMjIyLDcg
QEAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIFBh
c3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFi
U3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHRhYlRleHQpOwogUGFzc1JlZlB0
cjxFbGVtZW50PiBjcmVhdGVCbG9ja1BsYWNlaG9sZGVyRWxlbWVudChEb2N1bWVudCopOwogCi1F
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworRWxlbWVu
dCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUg
PSBDb250ZW50SXNFZGl0YWJsZSk7CiBFbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9vbGVhbiBmdW5jdGlvbnMgb24gRWxlbWVu
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKaW5kZXggYzkxNzNjYjY1
YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4uYTcyMGVlOTNkNjJlNTRhNmUwZDIyZDUz
NmQ0OThmYWZlOGJkZDZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMu
Y3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxlYWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMg
dGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogcHJldmlvdXNMZWFm
V2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBl
KQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAg
ICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7
CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikg
ewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAg
ICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkK
ICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+cHJldmlvdXNMZWFmTm9kZSgp
OwogICAgIH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJz
b2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9pbnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAg
ICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlvblRvcCgpLCBsaW5lRGlyZWN0aW9uUG9p
bnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIHByZXZp
b3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVj
dGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIFBvc2l0aW9uIHAg
PSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2RlID0gcC5k
ZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxl
Um9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwg
ZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUsMTEgQEAgVmlzaWJsZVBvc2l0aW9uIHBy
ZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9u
LCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJhY2sgdG8gcHJldmlvdXMgY29udGFpbmlu
ZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRpdGFibGUKICAgICAgICAgLy8gYmxvY2sg
YW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBpbiB0aGF0IGJsb2NrLgogICAgICAgICBO
b2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2Rl
KTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9k
ZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5v
ZGUsIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5j
bG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBwcmV2
aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3Vz
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgd2hpbGUg
KG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25J
bk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVz
dEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobiksIGVkaXRhYmxlVHlw
ZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQ
b3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFnKSA/IHBvc2l0aW9uQmVmb3JlTm9kZShu
KSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1heE9mZnNldChuKSk7CiAg
ICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBW
aXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9
IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJl
dmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB9
CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91
c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50
CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91cyBsaW5lLiBUaGlzIG1lYW5zIHdlIG11
c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBzdGFy
dCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1
cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50
KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVk
aXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7Cisg
ICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFi
bGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0
aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKQEAgLTYz
OCwyNiArNjM5LDI3IEBAIHN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIE5vZGUq
IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFi
bGVUeXBlID0gSGFzRWRpdGFibGVBWFJvbGUpCiB7CiAgICAgaWYgKCFub2RlKQogICAgICAgICBy
ZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRh
YmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0
YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5uZXh0TGVhZk5vZGUoKTsKICAgICB3aGls
ZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkp
CisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVU
eXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBuID0gbi0+bmV4dExlYWZOb2Rl
KCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVE
aXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBF
ZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9z
aXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9k
ZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwKTsKKyAg
ICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwgZWRpdGFibGVUeXBl
KTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwog
ICAgIApAQCAtNjg2LDkgKzY4OCw5IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgICAg
IE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5v
ZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUs
IHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgICAgIHdoaWxlIChuICYmIHN0YXJ0
QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihuKSkKLSAgICAgICAg
ICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0g
bmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdo
aWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0
aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhp
Z2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJs
ZVR5cGUpICE9IGhpZ2hlc3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWlu
T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUoKSkgewpAQCAtNzAy
LDcgKzcwNCw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAKICAgICAgICAgICAgICAgICBy
ZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAg
ICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAg
ICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcgKzcyMSw3IEBAIFZpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBuZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2Ug
bXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgZW5k
IG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVz
CiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGluZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiBy
b290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAg
RWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVU
eXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAg
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0ZDhlMDgzMTUxMWRiZjA0M2EwNDU2NjQ5
YzMzOGU4ZThmNDg4MDEzLi5kZWY3YmQyYTA2OTI2YWMwMTU5ZWZkMTdhNTE1ZmQ2NGQzMGY4NzM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaApAQCAtNTQsOCArNTQsOCBA
QCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mTGluZShjb25zdCBWaXNp
YmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24gZW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBW
aXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7Ci1WaXNpYmxlUG9zaXRp
b24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJl
Y3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9
IENvbnRlbnRJc0VkaXRhYmxlKTsKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5
cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29sIGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBv
c2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIGJvb2wgaXNTdGFydE9mTGluZShj
b25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBjZDEzOWI0NThhZWExZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgw
YmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFkNjRjODIwOWQ2MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRp
dmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxp
bmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90
ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0w
MyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1
bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5kIGVsZW1lbnRzIGluIHRoZSBjb21wb3NpdG9yCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxp
bmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJj
MjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5YmI5MDQ3ZTM4NzAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitTb21lIHRleHQgaW4gYSB0ZXh0Ym94CitT
b21lIHRleHQgaW4gYQorbXVsdGlsaW5lIHRleHRib3guCitUaGlzIHRlc3RzIHRoYXQgdGhlIEFY
U2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0
ZXh0IGJveGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBd
LCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwKTsgYXhFbGVtZW50Lmluc2VydGlvblBv
aW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5k
RXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFy
aWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5l
TnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQo
bXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRC
b3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIg
aXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9y
dHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1y
b2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTAzZDM0M2RlNDkzMzgw
ZmFkZTU5NWE1MjhiN2Q0MzAxZDM3MmEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCkBAIC0w
LDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJv
bGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJp
bmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveDwvZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94
IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFyaWEtbXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRl
eD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2PjxkaXY+bXVsdGlsaW5lIHRleHRib3guPC9k
aXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkg
cmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy4iKTsKKworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKwor
ICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIGFy
aWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyaWFUZXh0Qm94Iik7CisgICAg
YXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICB2YXIgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVj
dGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJp
YVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7IgorICAgICAgICAgICAgICsgIiBheEVsZW1lbnQu
aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsKKworCisgICAgdmFyIG11bHRpbGluZUFy
aWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm11bHRpbGluZUFyaWFUZXh0Qm94
Iik7CisgICAgbXVsdGlsaW5lQXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICBheEVsZW1lbnQgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgIHNob3VsZEJlKCJ3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJv
eC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAx
KTsiCisgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIi
LCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4
dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlh
VGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIpOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121177</attachid>
            <date>2012-01-04 15:35:09 -0800</date>
            <delta_ts>2012-01-04 15:48:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120105103506.patch</filename>
            <type>text/plain</type>
            <size>27740</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uNDA5YTE5Y2NiYTk0N2Y0NGJjZThjZmFkN2RiNzQ0
MmYzNTdjNGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0aGUgZGV2ZWxvcGVyIG9uIGFu
IGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3Vj
aCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0
YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5CisgICAgICAg
IHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMg
aW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBu
b3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZlbHkgZWRpdGFibGUsIHZpYSB0
aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8gRWRpdGluZ0JvdW5kYXJ5Lmgu
CisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQ
b3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVz
ZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUg
dGVjaG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVu
IG5vZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkg
YXNzaXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVz
dCB0aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNo
IGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8g
cmVxdWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFi
bGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVy
IHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJs
ZUVsZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMg
YW4KKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5v
bi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVy
bG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRp
dGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFi
aWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3
aGljaCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAg
ICAgICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRl
ZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNF
ZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisg
ICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVU
eXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBh
cmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0y
MiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBEYXRlIGFuZCBUaW1lIElucHV0IFZhbHVlIFNhbml0aXphdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2Ew
OWJkZjJlMDM0OGYxOWJjYWQxOTFiNjRiMWZjNi4uYzBiMmJhYjU1ZjJiNjQ3ZDNlMzE5ZWMyMDZk
YWUxOGY0OGY4MzA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC02NjIsNSArNjYyLDI3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4
dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJE
CiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29u
c3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpOworICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2RlLT5pc0VsZW1l
bnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisKKyAg
ICBmb3IgKDsgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewor
ICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZWxlbWVudCkpCisgICAgICAgICAgICByZXN1
bHQgPSBlbGVtZW50OworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgQVhP
YmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBp
ZiAoIW5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QqIGF4T2JqZWN0ID0gZ2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAg
cmV0dXJuIGF4T2JqZWN0ICYmIGF4T2JqZWN0LT5pc1RleHRDb250cm9sKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmgKaW5kZXggNTYwZTBmMzRiMTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdjOGU5ODliYS4u
N2RiZTU2ZDQwNmNmNzFmZDI4NzgzZjNiNDhmODVmYjk4YmFhNTMxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZW1vdmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAg
ICBib29sIGlzSURpblVzZShBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX2lkc0luVXNlLmNvbnRh
aW5zKGlkKTsgfQorCisgICAgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KE5vZGUqKTsK
KyAgICBjb25zdCBFbGVtZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9kZSopOwor
ICAgIGJvb2wgbm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0
Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCmluZGV4IGY2MDVmZmZlNWNmNjViYjg3OTczYWRkYzJkZTI3OTBlNzIwZTVj
NWQuLjJkYjAyMjJlMTdiYzQ5NjlkYzc2MjNiMmYzZTRkZDE2YTAxMjVhNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApA
QCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3MpIGNvbnMKICAgICAvLyB0b3Ag
ZG9jdW1lbnQuCiAgICAgZG8gewogICAgICAgICBzYXZlZFZpc2libGVQb3MgPSBjdXJyZW50Vmlz
aWJsZVBvczsKLSAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlv
dXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQb3MsIDApOworICAgICAgICBWaXNpYmxlUG9z
aXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJs
ZVBvcywgMCwgSGFzRWRpdGFibGVBWFJvbGUpOwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9
IHByZXZWaXNpYmxlUG9zOwogICAgICAgICArK2xpbmVDb3VudDsKICAgICB9ICB3aGlsZSAoY3Vy
cmVudFZpc2libGVQb3MuaXNOb3ROdWxsKCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxl
UG9zLCBzYXZlZFZpc2libGVQb3MpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBkM2EzYzRj
NjA5YTk1ODQ5MDgzNzEyZGRmODlkNThhYzE5MThmZWE3Li43MzBjMTFjM2E0ZjNkZGJkM2E5YzYy
NGU4NzAzNjc0YTFiNWNlOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1NDUsNyArMjU0
NSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAog
ICAgIFBvc2l0aW9uIGluZGV4UG9zaXRpb24gPSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBp
ZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRp
b24oaW5kZXhQb3NpdGlvbikgIT0gbm9kZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwo
KSB8fCBoaWdoZXN0RWRpdGFibGVSb290KGluZGV4UG9zaXRpb24sIEhhc0VkaXRhYmxlQVhSb2xl
KSAhPSBub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA5ZTZkZDVmYWM2ZmRlZTBmZTBjNmNjM2E3ZDI0OWEy
YTVmYTk2YzQ5Li40NWY2NDUzM2VjNjYxNWM3MjVjZjQ0NWQ1OGMwOTQ0NmJiYTJiMGE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC03ODgsNiArNzg4LDIxIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlTGV2ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgTm9kZTo6aXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxl
dmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0Cit7CisgICAgaWYgKHJlbmRlcmVySXNFZGl0YWJsZShl
ZGl0YWJsZUxldmVsKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBGSVhNRTogUmVz
cGVjdCBlZGl0YWJsZUxldmVsIGZvciBBUklBIGVkaXRhYmxlIGVsZW1lbnRzLgorICAgIGlmIChl
ZGl0YWJsZUxldmVsID09IFJpY2hseUVkaXRhYmxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBBU1NFUlQoZG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vz
c2liaWxpdHlFbmFibGVkKCkpOworICAgIEFTU0VSVChkb2N1bWVudCgpLT5heE9iamVjdENhY2hl
RXhpc3RzKCkpOworICAgIHJldHVybiBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RB
WEVkaXRhYmxlRWxlbWVudCh0aGlzKTsKK30KKwogYm9vbCBOb2RlOjpzaG91bGRVc2VJbnB1dE1l
dGhvZCgpCiB7CiAgICAgcmV0dXJuIGlzQ29udGVudEVkaXRhYmxlKCk7CkBAIC0xNjE0LDYgKzE2
MjksMTQgQEAgRWxlbWVudCAqTm9kZTo6ZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0
CiAgICAgcmV0dXJuIDA7CiB9CiAKK0VsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQo
RWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkgY29uc3QKK3sKKyAgICBpZiAoZWRpdGFibGVUeXBl
ID09IEhhc0VkaXRhYmxlQVhSb2xlKQorICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50
Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnQodGhp
cykpOworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVudCog
Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCmluZGV4IGZhNjliNzU5NDBiM2Q0MTg3YmM5NzQ1MzU2M2RhOWNhYmQx
YjU5NmYuLjc1ZWY2YjlkMzlkNjhjNmEyYzdhMzc2NmM5NWE1ZjA3MmY2MGUxZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAK
KyNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3Niw3
ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVu
dCgpIGNvbnN0OwogICAgIAogICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25z
dDsKLSAgICAKKyAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSkg
Y29uc3Q7CisKICAgICBib29sIGluU2FtZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUq
KTsKIAogICAgIC8vIENhbGxlZCBieSB0aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xv
c2UgdGFnIGlzIHJlYWNoZWQsCkBAIC0zNTMsOCArMzU1LDMwIEBAIHB1YmxpYzoKICAgICBib29s
IGlzQ29udGVudEVkaXRhYmxlKCk7CiAgICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgp
OwogCi0gICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cklzRWRpdGFibGUoRWRpdGFibGUpOyB9Ci0gICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFi
bGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOyB9
CisgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9
IENvbnRlbnRJc0VkaXRhYmxlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJs
ZVR5cGUpIHsKKyAgICAgICAgY2FzZSBDb250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJl
dHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRh
YmxlQVhSb2xlOgorICAgICAgICAgICAgcmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHko
RWRpdGFibGUpOworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRp
dGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25z
dAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBD
b250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUo
UmljaGx5RWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAg
ICAgICAgcmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoUmljaGx5RWRpdGFibGUpOwor
ICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7
CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGdldFJlY3QoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0
IHJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlZCk7CkBAIC03MDUsNiArNzI5LDcgQEAgcHJpdmF0
ZToKIAogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9
OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwpIGNvbnN0OworICAg
IGJvb2wgaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2UoU3R5bGVDaGFuZ2VUeXBlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2
NGJhOGRmYTBjMGVkNWE4NC4uZWNlN2UwMzZkYTViYWZmMWIxZDE1NmNhYjZkYWQ3ZTgzZWNjMDQ5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zNCw2ICsz
NCwxMSBAQCBlbnVtIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSB7CiAgICAgQ2FuU2tpcE92
ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKK2VudW0gRWRpdGFibGVUeXBlIHsKKyAgICBDb250ZW50
SXNFZGl0YWJsZSwKKyAgICBIYXNFZGl0YWJsZUFYUm9sZQorfTsKKwogfQogCiAjZW5kaWYgLy8g
RWRpdGluZ0JvdW5kYXJ5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRt
bGVkaXRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5k
ZXggNmY0MGFiYmU5YjZkMmFjMmUxNzM0YThjZWMzZGIwZGE3OGUxNGIzOS4uNGU2ZDUyODE0NGJj
MmQ5OGZjYWExMWJmMzVkY2E1NGI0ZGRlNGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9odG1sZWRpdGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJodG1sZWRpdGluZy5oIgogCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWRpdGluZ1RleHQuaCIKICNpbmNsdWRlICJIVE1M
QlJFbGVtZW50LmgiCkBAIC00Niw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiVmlzaWJsZVBvc2l0aW9uLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5o
IgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKQEAgLTEwNCwx
OSArMTA2LDE5IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25z
KGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5kZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGln
aGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCitOb2RlKiBoaWdoZXN0
RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbiwgRWRpdGFibGVUeXBlIGVkaXRh
YmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgICAgICAKLSAgICBOb2RlKiBo
aWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uLCBlZGl0YWJs
ZVR5cGUpOwogICAgIGlmICghaGlnaGVzdFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAog
ICAgIG5vZGUgPSBoaWdoZXN0Um9vdDsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAo
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsK
ICAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVh
azsKQEAgLTE0Myw3ICsxNDUsNyBAQCBOb2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUq
IG5vZGUpCiAgICAgcmV0dXJuIGxvd2VzdFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9
IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTU0LDcgQEAg
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUt
PnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2Rl
ID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxl
VHlwZSk7CiB9CiAKIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24m
IHBvcykKQEAgLTE2Miw3ICsxNjQsNyBAQCBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiBwb3MpCiB9CiAgICAgCiAgICAgCi1ib29sIGlzUmljaGx5RWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5v
ZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTcxLDEw
ICsxNzMsMTAgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJs
ZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVy
biBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVu
ZGVyZXJJc1JpY2hseUVkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiB9CiAKLUVsZW1lbnQqIGVkaXRh
YmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVS
b290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5
cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9k
ZSkKQEAgLTE4Myw3ICsxODUsNyBAQCBFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5k
ZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAg
ICAgCi0gICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4g
bm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudChlZGl0YWJsZVR5cGUpOwogfQogCiAvLyBGaW5kcyB0
aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJlIHNwbGl0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGM2YjZkZDdhMWUyZmU4NTZkMzI5
ODljYjM1NWQ4NjcyMDc3NzRkNTMuLjBmMmQxYmRjMGQ1ODdhYTkzNWY5NmQ3MGYwNTQ0YTI1ZjBh
YTZlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0LDcgKzU0LDgg
QEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQog
CiBOb2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSopOwotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9v
dChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3Np
dGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKKwogTm9kZSogaGlnaGVz
dEVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBl
KShjb25zdCBOb2RlKiksCiAgICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90
Q3Jvc3NFZGl0aW5nQm91bmRhcnksIE5vZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hl
c3ROb2RlVG9SZW1vdmVJblBydW5pbmcoTm9kZSopOwpAQCAtMTUxLDggKzE1Miw4IEBAIGludCBj
b21wYXJlUG9zaXRpb25zKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAogLy8g
Ym9vbGVhbiBmdW5jdGlvbnMgb24gUG9zaXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1ib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25z
dCBQb3NpdGlvbiYpOworYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBF
ZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7Citib29sIGlzUmljaGx5RWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxl
KTsKIGJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9z
aXRpb24mKTsKIGJvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25z
dCBQb3NpdGlvbiYpOwogYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJik7CkBAIC0yMjEsNyArMjIyLDcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJT
cGFuRWxlbWVudChEb2N1bWVudCosIFBhc3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUKIFBhc3NS
ZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJp
bmcmIHRhYlRleHQpOwogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVCbG9ja1BsYWNlaG9sZGVy
RWxlbWVudChEb2N1bWVudCopOwogCi1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYpOworRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBFbGVtZW50KiB1
bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9v
bGVhbiBmdW5jdGlvbnMgb24gRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91
bml0cy5jcHAKaW5kZXggYzkxNzNjYjY1YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4u
YTcyMGVlOTNkNjJlNTRhNmUwZDIyZDUzNmQ0OThmYWZlOGJkZDZlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlz
RW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxl
YWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMgdGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0
YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitz
dGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBF
ZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJ
c0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVh
Zk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVu
ZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklz
RWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBu
ID0gbi0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0
YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9p
bnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAgICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlv
blRvcCgpLCBsaW5lRGlyZWN0aW9uUG9pbnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0K
IAotVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVU
eXBlKQogewogICAgIFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQo
KTsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hl
c3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9
IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkK
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUs
MTEgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJh
Y2sgdG8gcHJldmlvdXMgY29udGFpbmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRp
dGFibGUKICAgICAgICAgLy8gYmxvY2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBp
biB0aGF0IGJsb2NrLgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdp
dGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxl
IChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihu
KSkKLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOwor
ICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFi
bGVUeXBlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRp
dGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3Qp
CisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJl
Zm9yZU5vZGUobiksIGVkaXRhYmxlVHlwZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFn
KSA/IHBvc2l0aW9uQmVmb3JlTm9kZShuKSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihu
LCBjYXJldE1heE9mZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkp
IHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
bik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBl
ZGl0YWJsZVR5cGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBA
IFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91
cyBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4K
ICAgICAvLyBNb3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3
aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGlu
ZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQo
KS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1l
bnQoZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwog
ICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1l
bnQpLCBET1dOU1RSRUFNKTsKQEAgLTYzOCwyNiArNjM5LDI3IEBAIHN0YXRpYyBOb2RlKiBuZXh0
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1
cm4gMDsKIH0KIAotc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2Rl
KiBub2RlKQorc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBu
b2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlID0gSGFzRWRpdGFibGVBWFJvbGUpCiB7CiAg
ICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxl
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5u
ZXh0TGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0g
bi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5k
ZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAg
ICAgICBuID0gbi0+bmV4dExlYWZOb2RlKCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1W
aXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZp
c2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2Rl
KiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGln
aGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0
YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNjg2LDkgKzY4OCw5IEBAIFZpc2libGVQ
b3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBv
c2l0aW9uLCBpbnQgbGluCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2Rl
V2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAg
ICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25Jbmxp
bmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxp
dHkobik7CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIGVk
aXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGlnaGVz
dEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hlc3RS
b290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbklu
T3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRp
dGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWluT2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3Mu
aXNDYW5kaWRhdGUoKSkgewpAQCAtNzAyLDcgKzcwNCw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0
TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQg
bGluCiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNU
UkVBTSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcgKzcy
MSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBu
ZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxpbmUu
CiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ssIHdo
aWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGluZSB3
ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0
YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+
ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5k
ZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQo
ZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAg
IGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAg
ICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCks
IERPV05TVFJFQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxl
X3VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0
ZDhlMDgzMTUxMWRiZjA0M2EwNDU2NjQ5YzMzOGU4ZThmNDg4MDEzLi5kZWY3YmQyYTA2OTI2YWMw
MTU5ZWZkMTdhNTE1ZmQ2NGQzMGY4NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuaApAQCAtNTQsOCArNTQsOCBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlv
biBzdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24g
ZW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2
aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rp
b25Qb2ludCk7Ci1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxl
UG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJl
dmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKK1Zpc2libGVQb3Np
dGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURp
cmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29sIGlu
U2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
KTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlz
RW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZDEzOWI0NThhZWEx
ZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgwYmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFkNjRjODIwOWQ2
MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIEFsaWNlIEJv
eGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3Qg
bGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5kIGVsZW1lbnRz
IGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5YmI5MDQ3ZTM4
NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gt
cm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitT
b21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5lIHRleHRib3gu
CitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSBy
ZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChh
cmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAw
KTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxk
Tm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyBheEVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93LmdldFNlbGVj
dGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sx
XSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YTAzZDM0M2RlNDkzMzgwZmFkZTU5NWE1MjhiN2Q0MzAxZDM3MmEyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0
cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJp
YS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveDwv
ZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFyaWEt
bXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2Pjxk
aXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlv
biBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hl
cy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICB2YXIgYXhF
bGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBz
aG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRleHRC
b3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7IgorICAg
ICAgICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsK
KworCisgICAgdmFyIG11bHRpbGluZUFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm11bHRpbGluZUFyaWFUZXh0Qm94Iik7CisgICAgbXVsdGlsaW5lQXJpYVRleHRCb3guZm9j
dXMoKTsKKyAgICBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4
dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlh
VGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsiCisgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5v
ZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisgICAg
ICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIpOwor
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121179</attachid>
            <date>2012-01-04 15:44:37 -0800</date>
            <delta_ts>2012-01-04 16:11:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120105104434.patch</filename>
            <type>text/plain</type>
            <size>27740</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uNDA5YTE5Y2NiYTk0N2Y0NGJjZThjZmFkN2RiNzQ0
MmYzNTdjNGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBieSB0aGUgZGV2ZWxvcGVyIG9uIGFu
IGVsZW1lbnQgd2hpY2ggYmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3Vj
aCBhcyBhCisgICAgICAgIHRleHRhcmVhLCB0ZXh0IGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0
YWJsZSB0ZXh0KSwgYnV0IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5CisgICAgICAg
IHRoZSBkZXZlbG9wZXIgcmF0aGVyIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgbWFrZXMgY2VydGFpbiBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMg
aW4gaHRtbGVkaXRpbmcgYW5kCisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBu
b3Rpb24gdGhhdCBhbiBlbGVtZW50IG1heSBiZSBub24tbmF0aXZlbHkgZWRpdGFibGUsIHZpYSB0
aGUKKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8gRWRpdGluZ0JvdW5kYXJ5Lmgu
CisKKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQ
b3NpdGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVz
ZSBoaWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3Rl
eHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpyb290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2gg
aXMKKyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUg
dGVjaG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVu
IG5vZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkg
YXNzaXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVz
dCB0aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNo
IGlzIGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8g
cmVxdWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFi
bGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVy
IHRoaXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUg
Z2l2ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJs
ZUVsZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMg
YW4KKyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5v
bi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVy
bG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRp
dGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFi
aWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3
aGljaCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAg
ICAgICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRl
ZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNF
ZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlv
bmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJv
b3RGb3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisg
ICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVU
eXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBh
cmFtZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0y
MiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCBEYXRlIGFuZCBUaW1lIElucHV0IFZhbHVlIFNhbml0aXphdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMDhkMzlkMjQyM2Ew
OWJkZjJlMDM0OGYxOWJjYWQxOTFiNjRiMWZjNi4uYzBiMmJhYjU1ZjJiNjQ3ZDNlMzE5ZWMyMDZk
YWUxOGY0OGY4MzA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCkBAIC02NjIsNSArNjYyLDI3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dGV4
dE1hcmtlckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmIHRleHRNYXJrZXJE
CiAgICAgCiAgICAgY2FjaGUtPnNldE5vZGVJblVzZShkb21Ob2RlKTsKIH0KLSAgICAKKworY29u
c3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCit7CisgICAgY29uc3QgRWxlbWVudCogcmVzdWx0ID0gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpOworICAgIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQgPSBub2RlLT5pc0VsZW1l
bnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiBub2RlLT5wYXJlbnRFbGVtZW50KCk7CisKKyAg
ICBmb3IgKDsgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewor
ICAgICAgICBpZiAobm9kZUlzVGV4dENvbnRyb2woZWxlbWVudCkpCisgICAgICAgICAgICByZXN1
bHQgPSBlbGVtZW50OworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgQVhP
YmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBp
ZiAoIW5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEFjY2Vzc2liaWxp
dHlPYmplY3QqIGF4T2JqZWN0ID0gZ2V0T3JDcmVhdGUobm9kZS0+cmVuZGVyZXIoKSk7CisgICAg
cmV0dXJuIGF4T2JqZWN0ICYmIGF4T2JqZWN0LT5pc1RleHRDb250cm9sKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmgKaW5kZXggNTYwZTBmMzRiMTYxNzU3NjEyYzA4MmEyZWJjNmFiMjdjOGU5ODliYS4u
N2RiZTU2ZDQwNmNmNzFmZDI4NzgzZjNiNDhmODVmYjk4YmFhNTMxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZW1vdmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAg
ICBib29sIGlzSURpblVzZShBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX2lkc0luVXNlLmNvbnRh
aW5zKGlkKTsgfQorCisgICAgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KE5vZGUqKTsK
KyAgICBjb25zdCBFbGVtZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9kZSopOwor
ICAgIGJvb2wgbm9kZUlzVGV4dENvbnRyb2woY29uc3QgTm9kZSopOworCiAgICAgQVhJRCBwbGF0
Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVj
dEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0cy5nZXQoaWQpLmdldCgp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCmluZGV4IGY2MDVmZmZlNWNmNjViYjg3OTczYWRkYzJkZTI3OTBlNzIwZTVj
NWQuLjJkYjAyMjJlMTdiYzQ5NjlkYzc2MjNiMmYzZTRkZDE2YTAxMjVhNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApA
QCAtMTA0MCw3ICsxMDQwLDcgQEAgaW50IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3MpIGNvbnMKICAgICAvLyB0b3Ag
ZG9jdW1lbnQuCiAgICAgZG8gewogICAgICAgICBzYXZlZFZpc2libGVQb3MgPSBjdXJyZW50Vmlz
aWJsZVBvczsKLSAgICAgICAgVmlzaWJsZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlv
dXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2libGVQb3MsIDApOworICAgICAgICBWaXNpYmxlUG9z
aXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJs
ZVBvcywgMCwgSGFzRWRpdGFibGVBWFJvbGUpOwogICAgICAgICBjdXJyZW50VmlzaWJsZVBvcyA9
IHByZXZWaXNpYmxlUG9zOwogICAgICAgICArK2xpbmVDb3VudDsKICAgICB9ICB3aGlsZSAoY3Vy
cmVudFZpc2libGVQb3MuaXNOb3ROdWxsKCkgJiYgIShpblNhbWVMaW5lKGN1cnJlbnRWaXNpYmxl
UG9zLCBzYXZlZFZpc2libGVQb3MpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBkM2EzYzRj
NjA5YTk1ODQ5MDgzNzEyZGRmODlkNThhYzE5MThmZWE3Li43MzBjMTFjM2E0ZjNkZGJkM2E5YzYy
NGU4NzAzNjc0YTFiNWNlOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTI1NDUsNyArMjU0
NSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvCiAgICAgICAgIHJldHVybiAwOwogICAgIAog
ICAgIFBvc2l0aW9uIGluZGV4UG9zaXRpb24gPSBwb3MuZGVlcEVxdWl2YWxlbnQoKTsKLSAgICBp
ZiAoaW5kZXhQb3NpdGlvbi5pc051bGwoKSB8fCByb290RWRpdGFibGVFbGVtZW50Rm9yUG9zaXRp
b24oaW5kZXhQb3NpdGlvbikgIT0gbm9kZSkKKyAgICBpZiAoaW5kZXhQb3NpdGlvbi5pc051bGwo
KSB8fCBoaWdoZXN0RWRpdGFibGVSb290KGluZGV4UG9zaXRpb24sIEhhc0VkaXRhYmxlQVhSb2xl
KSAhPSBub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVj
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA5ZTZkZDVmYWM2ZmRlZTBmZTBjNmNjM2E3ZDI0OWEy
YTVmYTk2YzQ5Li40NWY2NDUzM2VjNjYxNWM3MjVjZjQ0NWQ1OGMwOTQ0NmJiYTJiMGE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC03ODgsNiArNzg4LDIxIEBAIGJvb2wgTm9kZTo6cmVuZGVyZXJJc0Vk
aXRhYmxlKEVkaXRhYmxlTGV2ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgTm9kZTo6aXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxl
dmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0Cit7CisgICAgaWYgKHJlbmRlcmVySXNFZGl0YWJsZShl
ZGl0YWJsZUxldmVsKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBGSVhNRTogUmVz
cGVjdCBlZGl0YWJsZUxldmVsIGZvciBBUklBIGVkaXRhYmxlIGVsZW1lbnRzLgorICAgIGlmIChl
ZGl0YWJsZUxldmVsID09IFJpY2hseUVkaXRhYmxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBBU1NFUlQoZG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKEFYT2JqZWN0Q2FjaGU6OmFjY2Vz
c2liaWxpdHlFbmFibGVkKCkpOworICAgIEFTU0VSVChkb2N1bWVudCgpLT5heE9iamVjdENhY2hl
RXhpc3RzKCkpOworICAgIHJldHVybiBkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RB
WEVkaXRhYmxlRWxlbWVudCh0aGlzKTsKK30KKwogYm9vbCBOb2RlOjpzaG91bGRVc2VJbnB1dE1l
dGhvZCgpCiB7CiAgICAgcmV0dXJuIGlzQ29udGVudEVkaXRhYmxlKCk7CkBAIC0xNjE0LDYgKzE2
MjksMTQgQEAgRWxlbWVudCAqTm9kZTo6ZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudCgpIGNvbnN0
CiAgICAgcmV0dXJuIDA7CiB9CiAKK0VsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQo
RWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkgY29uc3QKK3sKKyAgICBpZiAoZWRpdGFibGVUeXBl
ID09IEhhc0VkaXRhYmxlQVhSb2xlKQorICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxFbGVtZW50
Kj4oZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290QVhFZGl0YWJsZUVsZW1lbnQodGhp
cykpOworCisgICAgcmV0dXJuIHJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKK30KKwogRWxlbWVudCog
Tm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcmVzdWx0
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCmluZGV4IGZhNjliNzU5NDBiM2Q0MTg3YmM5NzQ1MzU2M2RhOWNhYmQx
YjU5NmYuLjc1ZWY2YjlkMzlkNjhjNmEyYzdhMzc2NmM5NWE1ZjA3MmY2MGUxZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaApAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBOb2RlX2gKICNkZWZpbmUgTm9kZV9oCiAK
KyNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
I2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTI3Niw3
ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVu
dCgpIGNvbnN0OwogICAgIAogICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25z
dDsKLSAgICAKKyAgICBFbGVtZW50KiByb290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSkg
Y29uc3Q7CisKICAgICBib29sIGluU2FtZUNvbnRhaW5pbmdCbG9ja0Zsb3dFbGVtZW50KE5vZGUq
KTsKIAogICAgIC8vIENhbGxlZCBieSB0aGUgcGFyc2VyIHdoZW4gdGhpcyBlbGVtZW50J3MgY2xv
c2UgdGFnIGlzIHJlYWNoZWQsCkBAIC0zNTMsOCArMzU1LDMwIEBAIHB1YmxpYzoKICAgICBib29s
IGlzQ29udGVudEVkaXRhYmxlKCk7CiAgICAgYm9vbCBpc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgp
OwogCi0gICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cklzRWRpdGFibGUoRWRpdGFibGUpOyB9Ci0gICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRpdGFi
bGUoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcklzRWRpdGFibGUoUmljaGx5RWRpdGFibGUpOyB9
CisgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9
IENvbnRlbnRJc0VkaXRhYmxlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJs
ZVR5cGUpIHsKKyAgICAgICAgY2FzZSBDb250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJl
dHVybiByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRh
YmxlQVhSb2xlOgorICAgICAgICAgICAgcmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHko
RWRpdGFibGUpOworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgYm9vbCByZW5kZXJlcklzUmljaGx5RWRp
dGFibGUoRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKSBjb25z
dAorICAgIHsKKyAgICAgICAgc3dpdGNoIChlZGl0YWJsZVR5cGUpIHsKKyAgICAgICAgY2FzZSBD
b250ZW50SXNFZGl0YWJsZToKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcklzRWRpdGFibGUo
UmljaGx5RWRpdGFibGUpOworICAgICAgICBjYXNlIEhhc0VkaXRhYmxlQVhSb2xlOgorICAgICAg
ICAgICAgcmV0dXJuIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoUmljaGx5RWRpdGFibGUpOwor
ICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7
CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGdldFJlY3QoKSBjb25zdDsKICAgICBMYXlvdXRSZWN0
IHJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlZCk7CkBAIC03MDUsNiArNzI5LDcgQEAgcHJpdmF0
ZToKIAogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJsZSB9
OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwpIGNvbnN0OworICAg
IGJvb2wgaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShFZGl0YWJsZUxldmVsKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0U3R5bGVDaGFuZ2UoU3R5bGVDaGFuZ2VUeXBlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKaW5kZXggZjhhYzFjYjA0NTY4NWYyZWI0ZGRlMjk2
NGJhOGRmYTBjMGVkNWE4NC4uZWNlN2UwMzZkYTViYWZmMWIxZDE1NmNhYjZkYWQ3ZTgzZWNjMDQ5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCkBAIC0zNCw2ICsz
NCwxMSBAQCBlbnVtIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSB7CiAgICAgQ2FuU2tpcE92
ZXJFZGl0aW5nQm91bmRhcnkKIH07CiAKK2VudW0gRWRpdGFibGVUeXBlIHsKKyAgICBDb250ZW50
SXNFZGl0YWJsZSwKKyAgICBIYXNFZGl0YWJsZUFYUm9sZQorfTsKKwogfQogCiAjZW5kaWYgLy8g
RWRpdGluZ0JvdW5kYXJ5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRt
bGVkaXRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKaW5k
ZXggNmY0MGFiYmU5YjZkMmFjMmUxNzM0YThjZWMzZGIwZGE3OGUxNGIzOS4uNGU2ZDUyODE0NGJj
MmQ5OGZjYWExMWJmMzVkY2E1NGI0ZGRlNGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9odG1sZWRpdGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJodG1sZWRpdGluZy5oIgogCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWRpdGluZ1RleHQuaCIKICNpbmNsdWRlICJIVE1M
QlJFbGVtZW50LmgiCkBAIC00Niw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiVmlzaWJsZVBvc2l0aW9uLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5o
IgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKQEAgLTEwNCwx
OSArMTA2LDE5IEBAIGludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBiKQogICAgIHJldHVybiBjb21wYXJlUG9zaXRpb25z
KGEuZGVlcEVxdWl2YWxlbnQoKSwgYi5kZWVwRXF1aXZhbGVudCgpKTsKIH0KIAotTm9kZSogaGln
aGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCitOb2RlKiBoaWdoZXN0
RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbiwgRWRpdGFibGVUeXBlIGVkaXRh
YmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcG9zaXRpb24uZGVwcmVjYXRlZE5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgICAgICAKLSAgICBOb2RlKiBo
aWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uKTsKKyAgICBOb2Rl
KiBoaWdoZXN0Um9vdCA9IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvc2l0aW9uLCBlZGl0YWJs
ZVR5cGUpOwogICAgIGlmICghaGlnaGVzdFJvb3QpCiAgICAgICAgIHJldHVybiAwOwogICAgIAog
ICAgIG5vZGUgPSBoaWdoZXN0Um9vdDsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAo
bm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIGhpZ2hlc3RSb290ID0gbm9kZTsK
ICAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICBicmVh
azsKQEAgLTE0Myw3ICsxNDUsNyBAQCBOb2RlKiBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKE5vZGUq
IG5vZGUpCiAgICAgcmV0dXJuIGxvd2VzdFJvb3Q7CiB9CiAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9
IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNTIsNyArMTU0LDcgQEAg
Ym9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUt
PnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2Rl
ID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklz
RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxl
VHlwZSk7CiB9CiAKIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQoY29uc3QgUG9zaXRpb24m
IHBvcykKQEAgLTE2Miw3ICsxNjQsNyBAQCBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiBwb3MpCiB9CiAgICAgCiAgICAgCi1ib29sIGlzUmljaGx5RWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5v
ZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTcxLDEw
ICsxNzMsMTAgQEAgYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJs
ZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVy
biBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRpdGFibGUoKTsKKyAgICByZXR1cm4gbm9kZS0+cmVu
ZGVyZXJJc1JpY2hseUVkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiB9CiAKLUVsZW1lbnQqIGVkaXRh
YmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorRWxlbWVudCogZWRpdGFibGVS
b290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5
cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHAuY29udGFpbmVyTm9kZSgpOwogICAgIGlmICghbm9k
ZSkKQEAgLTE4Myw3ICsxODUsNyBAQCBFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5k
ZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAg
ICAgCi0gICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICByZXR1cm4g
bm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudChlZGl0YWJsZVR5cGUpOwogfQogCiAvLyBGaW5kcyB0
aGUgZW5jbG9zaW5nIGVsZW1lbnQgdW50aWwgd2hpY2ggdGhlIHRyZWUgY2FuIGJlIHNwbGl0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGM2YjZkZDdhMWUyZmU4NTZkMzI5
ODljYjM1NWQ4NjcyMDc3NzRkNTMuLjBmMmQxYmRjMGQ1ODdhYTkzNWY5NmQ3MGYwNTQ0YTI1ZjBh
YTZlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTU0LDcgKzU0LDgg
QEAgY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIC8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQog
CiBOb2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSopOwotTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9v
dChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3Np
dGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKKwogTm9kZSogaGlnaGVz
dEVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9kZUlzT2ZUeXBl
KShjb25zdCBOb2RlKiksCiAgICAgRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gQ2Fubm90
Q3Jvc3NFZGl0aW5nQm91bmRhcnksIE5vZGUqIHN0YXlXaXRoaW4gPSAwKTsKIE5vZGUqIGhpZ2hl
c3ROb2RlVG9SZW1vdmVJblBydW5pbmcoTm9kZSopOwpAQCAtMTUxLDggKzE1Miw4IEBAIGludCBj
b21wYXJlUG9zaXRpb25zKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKIAogLy8g
Ym9vbGVhbiBmdW5jdGlvbnMgb24gUG9zaXRpb24KICAgICAKLWJvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1ib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25z
dCBQb3NpdGlvbiYpOworYm9vbCBpc0VkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBF
ZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7Citib29sIGlzUmljaGx5RWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxl
KTsKIGJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9z
aXRpb24mKTsKIGJvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25z
dCBQb3NpdGlvbiYpOwogYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJik7CkBAIC0yMjEsNyArMjIyLDcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJT
cGFuRWxlbWVudChEb2N1bWVudCosIFBhc3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUKIFBhc3NS
ZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25zdCBTdHJp
bmcmIHRhYlRleHQpOwogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVCbG9ja1BsYWNlaG9sZGVy
RWxlbWVudChEb2N1bWVudCopOwogCi1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYpOworRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3Qg
UG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBFbGVtZW50KiB1
bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAogLy8gQm9v
bGVhbiBmdW5jdGlvbnMgb24gRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91
bml0cy5jcHAKaW5kZXggYzkxNzNjYjY1YTYzODBhOGU3ODI5NmU1MWY4MjJjMzQzNGZiOWVmYS4u
MzM4MTI3ODAxNGMxNDlkNjgzNjhjNWZhNjQ3MjNkNWI0ZjU3Yzg2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCkBAIC01MTgsMTIgKzUxOCwxMiBAQCBib29sIGlz
RW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcCkKIH0KIAogLy8gVGhlIGZpcnN0IGxl
YWYgYmVmb3JlIG5vZGUgdGhhdCBoYXMgdGhlIHNhbWUgZWRpdGFiaWxpdHkgYXMgbm9kZS4KLXN0
YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUpCitz
dGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBF
ZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewotICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJ
c0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiAgICAgTm9kZSogbiA9IG5vZGUtPnByZXZpb3VzTGVh
Zk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0gbi0+cmVu
ZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklz
RWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgICBu
ID0gbi0+cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIH0KQEAgLTU1MywxMSArNTUzLDEyIEBAIHN0
YXRpYyBpbmxpbmUgSW50UG9pbnQgYWJzb2x1dGVMaW5lRGlyZWN0aW9uUG9pbnRUb0xvY2FsUG9p
bnRJbkJsb2NrKFJvb3RJbmxpbmVCCiAgICAgcmV0dXJuIEludFBvaW50KHJvb3QtPnNlbGVjdGlv
blRvcCgpLCBsaW5lRGlyZWN0aW9uUG9pbnQgLSBhYnNvbHV0ZUJsb2NrUG9pbnQueSgpKTsKIH0K
IAotVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJs
ZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVU
eXBlKQogewogICAgIFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQo
KTsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hl
c3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9
IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkK
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNTg0LDExICs1ODUs
MTEgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAgICAgLy8gTmVlZCB0byBtb3ZlIGJh
Y2sgdG8gcHJldmlvdXMgY29udGFpbmluZyBlZGl0YWJsZSBibG9jayBpbiB0aGlzIHJvb3QgZWRp
dGFibGUKICAgICAgICAgLy8gYmxvY2sgYW5kIGZpbmQgdGhlIGxhc3Qgcm9vdCBsaW5lIGJveCBp
biB0aGF0IGJsb2NrLgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0gZW5jbG9zaW5nTm9kZVdp
dGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKLSAgICAgICAgTm9kZSogbiA9IHByZXZpb3VzTGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSk7CisgICAgICAgIE5vZGUqIG4gPSBwcmV2aW91c0xl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxl
IChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihu
KSkKLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOwor
ICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFi
bGVUeXBlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdoZXN0RWRp
dGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVzdFJvb3Qp
CisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJl
Zm9yZU5vZGUobiksIGVkaXRhYmxlVHlwZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBuLT5oYXNUYWdOYW1lKGJyVGFn
KSA/IHBvc2l0aW9uQmVmb3JlTm9kZShuKSA6IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihu
LCBjYXJldE1heE9mZnNldChuKSk7CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkp
IHsKQEAgLTYwMSw3ICs2MDIsNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
bik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBl
ZGl0YWJsZVR5cGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNjE4LDcgKzYxOSw3IEBA
IFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBwcmV2aW91
cyBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0aGUgZmlyc3QgbGluZS4K
ICAgICAvLyBNb3ZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCBpbiB0aGlzIGJsb2NrLCB3
aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBzdGFydCBvZiB0aGUgbGlu
ZSB3ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNF
ZGl0YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQo
KS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1l
bnQoZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwog
ICAgIGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGZpcnN0UG9zaXRpb25Jbk5vZGUocm9vdEVsZW1l
bnQpLCBET1dOU1RSRUFNKTsKQEAgLTYzOCwyNiArNjM5LDI3IEBAIHN0YXRpYyBOb2RlKiBuZXh0
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAgICByZXR1
cm4gMDsKIH0KIAotc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2Rl
KiBub2RlKQorc3RhdGljIE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBu
b2RlLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpCiB7CiAg
ICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBib29sIGVkaXRhYmxl
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2RlLT5u
ZXh0TGVhZk5vZGUoKTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAoZWRpdGFibGUgPT0g
bi0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCisgICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5yZW5k
ZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBuOwogICAg
ICAgICBuID0gbi0+bmV4dExlYWZOb2RlKCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi1W
aXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZp
c2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBu
ZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IFBvc2l0aW9uIHAgPSB2aXNpYmxlUG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKTsKICAgICBOb2Rl
KiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwotICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGln
aGVzdEVkaXRhYmxlUm9vdChwKTsKKyAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0
YWJsZVJvb3QocCwgZWRpdGFibGVUeXBlKTsKKwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0
dXJuIFZpc2libGVQb3NpdGlvbigpOwogICAgIApAQCAtNjg2LDkgKzY4OCw5IEBAIFZpc2libGVQ
b3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBv
c2l0aW9uLCBpbnQgbGluCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2Rl
V2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwogICAgICAgICBOb2RlKiBuID0gbmV4dExlYWZX
aXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUsIHAuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAg
ICAgICAgIHdoaWxlIChuICYmIHN0YXJ0QmxvY2sgPT0gZW5jbG9zaW5nTm9kZVdpdGhOb25Jbmxp
bmVSZW5kZXJlcihuKSkKLSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxp
dHkobik7CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4sIGVk
aXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBpZiAoaGlnaGVz
dEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9IGhpZ2hlc3RS
b290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbklu
T3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gY3JlYXRlTGVnYWN5RWRp
dGluZ1Bvc2l0aW9uKG4sIGNhcmV0TWluT2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3Mu
aXNDYW5kaWRhdGUoKSkgewpAQCAtNzAyLDcgKzcwNCw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0
TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQg
bGluCiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNU
UkVBTSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVk
aXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtNzE5LDcgKzcy
MSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluCiAgICAgLy8gQ291bGQgbm90IGZpbmQgYSBu
ZXh0IGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBsYXN0IGxpbmUu
CiAgICAgLy8gTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ssIHdo
aWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIGVuZCBvZiB0aGUgbGluZSB3
ZSdyZSBvbi4KLSAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0
YWJsZSgpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+
ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5yZW5k
ZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQo
ZWRpdGFibGVUeXBlKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOwogICAg
IGlmICghcm9vdEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAg
ICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGxhc3RQb3NpdGlvbkluTm9kZShyb290RWxlbWVudCks
IERPV05TVFJFQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxl
X3VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCA0
ZDhlMDgzMTUxMWRiZjA0M2EwNDU2NjQ5YzMzOGU4ZThmNDg4MDEzLi5kZWY3YmQyYTA2OTI2YWMw
MTU5ZWZkMTdhNTE1ZmQ2NGQzMGY4NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVf
dW5pdHMuaApAQCAtNTQsOCArNTQsOCBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dFNlbnRlbmNlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogLy8gbGluZXMKIFZpc2libGVQb3NpdGlv
biBzdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24g
ZW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLVZpc2libGVQb3NpdGlvbiBwcmV2
aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rp
b25Qb2ludCk7Ci1WaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxl
UG9zaXRpb24gJiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCk7CitWaXNpYmxlUG9zaXRpb24gcHJl
dmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0
aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKK1Zpc2libGVQb3Np
dGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURp
cmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29sIGlu
U2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
KTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlz
RW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZDEzOWI0NThhZWEx
ZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgwYmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFkNjRjODIwOWQ2
MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIEFsaWNlIEJv
eGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3Qg
bGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5kIGVsZW1lbnRz
IGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5YmI5MDQ3ZTM4
NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gt
cm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitT
b21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5lIHRleHRib3gu
CitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSBy
ZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChh
cmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAw
KTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxk
Tm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyBheEVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93LmdldFNlbGVj
dGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sx
XSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YTAzZDM0M2RlNDkzMzgwZmFkZTU5NWE1MjhiN2Q0MzAxZDM3MmEyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0
cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJp
YS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveDwv
ZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFyaWEt
bXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2Pjxk
aXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlv
biBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hl
cy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICB2YXIgYXhF
bGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBz
aG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRleHRC
b3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7IgorICAg
ICAgICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjAiKTsK
KworCisgICAgdmFyIG11bHRpbGluZUFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm11bHRpbGluZUFyaWFUZXh0Qm94Iik7CisgICAgbXVsdGlsaW5lQXJpYVRleHRCb3guZm9j
dXMoKTsKKyAgICBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4
dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlh
VGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxKTsiCisgICAgICAgICAgICAgKyAiIGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5v
ZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisgICAg
ICAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIpOwor
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121184</attachid>
            <date>2012-01-04 16:12:04 -0800</date>
            <delta_ts>2012-01-04 17:32:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120105111200.patch</filename>
            <type>text/plain</type>
            <size>27782</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uMTc5MzAwMjVkNzExZjFiNDc0YmQ1NDUzOTcyZTgy
MjY4ODUwYzY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBvbiBhbiBlbGVtZW50IHdoaWNoIGJl
aGF2ZXMgbGlrZSBhbiBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgKHN1Y2ggYXMgYSB0ZXh0YXJlYSwg
dGV4dAorICAgICAgICBpbnB1dCBmaWVsZCBvciBjb250ZW50ZWRpdGFibGUgdGV4dCksIGJ1dCB3
aG9zZSBiZWhhdmlvdXIgaXMgY29udHJvbGxlZCBieSB0aGUgZGV2ZWxvcGVyCisgICAgICAgIHJh
dGhlciB0aGFuIHRoZSBicm93c2VyLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1ha2VzIGNlcnRh
aW4gbWV0aG9kcyBvbiBOb2RlLCBhbmQgcmVsYXRlZCBtZXRob2RzIGluIGh0bWxlZGl0aW5nIGFu
ZAorICAgICAgICB2aXNpYmxlX3VuaXRzLCBhd2FyZSBvZiB0aGUgbm90aW9uIHRoYXQgYW4gZWxl
bWVudCBtYXkgYmUgZWRpdGFibGUgb25seSBmcm9tIHRoZSBwb2ludCBvZgorICAgICAgICB2aWV3
IG9mIGFzc2lzdGl2ZSB0ZWNobm9sb2d5ICh2aWEgdGhlIEFSSUEgdGV4dGJveCByb2xlKSwgdmlh
IHRoZSBFZGl0YWJsZVR5cGUgZW51bSBhZGRlZCB0bworICAgICAgICBFZGl0aW5nQm91bmRhcnku
aC4KKworICAgICAgICBUaGlzIGlzIHNvIHRoYXQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZv
clBvc2l0aW9uKCkgY2FuIHVzZSBwcmV2aW91c0xpbmVQb3NpdGlvbigpLCBhbmQKKyAgICAgICAg
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oKSBjYW4g
dXNlIGhpZ2hlc3RFZGl0YWJsZVJvb3QoKSwgaW4gYSB3YXkKKyAgICAgICAgdGhhdCByZXNwZWN0
cyBub24tbmF0aXZlIGVkaXRhYmlsaXR5LgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkv
dGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbAorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6IFJldHVybnMgdGhlIHJvb3QgZWxlbWVudCB3aGlj
aCBpcworICAgICAgICBlZGl0YWJsZSBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIGFzc2lzdGl2
ZSB0ZWNobm9sb2d5LCB3aGV0aGVyIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKTogV2hldGhlciB0aGUgZ2l2
ZW4gbm9kZSBpcyBjb25zaWRlcmVkIGFuCisgICAgICAgIGVkaXRhYmxlIHRleHQgZWxlbWVudCBi
eSBhc3Npc3RpdmUgdGVjaG5vbG9neSwgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24pOiBNb2RpZmllZCB0byByZXF1
ZXN0IHRoZSBwcmV2aW91cyBsaW5lCisgICAgICAgIHBvc2l0aW9uIGluIGFuIGVsZW1lbnQgd2hp
Y2ggaXMgZWRpdGFibGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOiBNb2RpZmllZCB0
byByZXF1ZXN0IHRoZQorICAgICAgICBoaWdoZXN0IHJvb3QgZWxlbWVudCB3aGljaCBpcyBlZGl0
YWJsZSB0byBBY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eSk6IFdoZXRo
ZXIgdGhpcyBub2RlIGlzIGVkaXRhYmxlIHRvCisgICAgICAgIEFjY2Vzc2liaWxpdHkgZm9yIHRo
ZSBnaXZlbiBFZGl0YWJsZUxldmVsLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cm9vdEVkaXRh
YmxlRWxlbWVudCk6IE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3aGljaCB0YWtl
cyBhbgorICAgICAgICBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIg
bm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAgICogZG9t
L05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6IE92
ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3aGljaCB0YWtlcyBhbgorICAgICAgICBF
ZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0
YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5k
ZXJlcklzUmljaGx5RWRpdGFibGUpOiAgT3ZlcmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9k
IHdoaWNoIHRha2VzCisgICAgICAgIGFuIEVkaXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRp
bmcgd2hldGhlciBub24tbmF0aXZlIGVkaXRhYmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvaHRt
bGVkaXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6IEFk
ZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpp
c0VkaXRhYmxlUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVy
LgorICAgICAgICAoV2ViQ29yZTo6aXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0
aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OmVkaXRhYmxl
Um9vdEZvclBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4K
KyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogZWRpdGluZy92aXNp
YmxlX3VuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkpOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAg
ICAoV2ViQ29yZTo6cHJldmlvdXNMaW5lUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJs
ZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6bmV4dExlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAg
KFdlYkNvcmU6Om5leHRMaW5lUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUg
cGFyYW1ldGVyLgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5oOgorCiAyMDExLTEy
LTIyICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
bGVtZW50IERhdGUgYW5kIFRpbWUgSW5wdXQgVmFsdWUgU2FuaXRpemF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwOGQzOWQyNDIz
YTA5YmRmMmUwMzQ4ZjE5YmNhZDE5MWI2NGIxZmM2Li5jMGIyYmFiNTVmMmI2NDdkM2UzMTllYzIw
NmRhZTE4ZjQ4ZjgzMDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTY2Miw1ICs2NjIsMjcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp0
ZXh0TWFya2VyRGF0YUZvclZpc2libGVQb3NpdGlvbihUZXh0TWFya2VyRGF0YSYgdGV4dE1hcmtl
ckQKICAgICAKICAgICBjYWNoZS0+c2V0Tm9kZUluVXNlKGRvbU5vZGUpOwogfQotICAgIAorCitj
b25zdCBFbGVtZW50KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnQoY29uc3Qg
Tm9kZSogbm9kZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KCk7CisgICAgY29uc3QgRWxlbWVudCogZWxlbWVudCA9IG5vZGUtPmlzRWxl
bWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5vZGUtPnBhcmVudEVsZW1lbnQoKTsKKwor
ICAgIGZvciAoOyBlbGVtZW50OyBlbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7
CisgICAgICAgIGlmIChub2RlSXNUZXh0Q29udHJvbChlbGVtZW50KSkKKyAgICAgICAgICAgIHJl
c3VsdCA9IGVsZW1lbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBB
WE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKiBub2RlKQoreworICAg
IGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgQWNjZXNzaWJp
bGl0eU9iamVjdCogYXhPYmplY3QgPSBnZXRPckNyZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKKyAg
ICByZXR1cm4gYXhPYmplY3QgJiYgYXhPYmplY3QtPmlzVGV4dENvbnRyb2woKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuaAppbmRleCA1NjBlMGYzNGIxNjE3NTc2MTJjMDgyYTJlYmM2YWIyN2M4ZTk4OWJh
Li43ZGJlNTZkNDA2Y2Y3MWZkMjg3ODNmM2I0OGY4NWZiOThiYWE1MzFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTA2LDYgKzEwNiwxMSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZUFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwog
ICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29u
dGFpbnMoaWQpOyB9CisKKyAgICBFbGVtZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoTm9kZSop
OworICAgIGNvbnN0IEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBOb2RlKik7
CisgICAgYm9vbCBub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKik7CisKICAgICBBWElEIHBs
YXRmb3JtR2VuZXJhdGVBWElEKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0RnJvbUFYSUQoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RzLmdldChpZCkuZ2V0
KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAKaW5kZXggZjYwNWZmZmU1Y2Y2NWJiODc5NzNhZGRjMmRlMjc5MGU3MjBl
NWM1ZC4uMmRiMDIyMmUxN2JjNDk2OWRjNzYyM2IyZjNlNGRkMTZhMDEyNWE1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
CkBAIC0xMDQwLDcgKzEwNDAsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykgY29ucwogICAgIC8vIHRv
cCBkb2N1bWVudC4KICAgICBkbyB7CiAgICAgICAgIHNhdmVkVmlzaWJsZVBvcyA9IGN1cnJlbnRW
aXNpYmxlUG9zOwotICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2
aW91c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCk7CisgICAgICAgIFZpc2libGVQ
b3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNp
YmxlUG9zLCAwLCBIYXNFZGl0YWJsZUFYUm9sZSk7CiAgICAgICAgIGN1cnJlbnRWaXNpYmxlUG9z
ID0gcHJldlZpc2libGVQb3M7CiAgICAgICAgICsrbGluZUNvdW50OwogICAgIH0gIHdoaWxlIChj
dXJyZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2FtZUxpbmUoY3VycmVudFZpc2li
bGVQb3MsIHNhdmVkVmlzaWJsZVBvcykpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGQzYTNj
NGM2MDlhOTU4NDkwODM3MTJkZGY4OWQ1OGFjMTkxOGZlYTcuLjczMGMxMWMzYTRmM2RkYmQzYTlj
NjI0ZTg3MDM2NzRhMWI1Y2U5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjU0NSw3ICsy
NTQ1LDcgQEAgaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG8KICAgICAgICAgcmV0dXJuIDA7CiAgICAg
CiAgICAgUG9zaXRpb24gaW5kZXhQb3NpdGlvbiA9IHBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAg
IGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3Np
dGlvbihpbmRleFBvc2l0aW9uKSAhPSBub2RlKQorICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVs
bCgpIHx8IGhpZ2hlc3RFZGl0YWJsZVJvb3QoaW5kZXhQb3NpdGlvbiwgSGFzRWRpdGFibGVBWFJv
bGUpICE9IG5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDllNmRkNWZhYzZmZGVlMGZlMGM2Y2MzYTdkMjQ5
YTJhNWZhOTZjNDkuLjQ1ZjY0NTMzZWM2NjE1YzcyNWNmNDQ1ZDU4YzA5NDQ2YmJhMmIwYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKQEAgLTc4OCw2ICs3ODgsMjEgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklz
RWRpdGFibGUoRWRpdGFibGVMZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAogICAgIHJldHVybiBm
YWxzZTsKIH0KIAorYm9vbCBOb2RlOjppc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxl
TGV2ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKK3sKKyAgICBpZiAocmVuZGVyZXJJc0VkaXRhYmxl
KGVkaXRhYmxlTGV2ZWwpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBS
ZXNwZWN0IGVkaXRhYmxlTGV2ZWwgZm9yIEFSSUEgZWRpdGFibGUgZWxlbWVudHMuCisgICAgaWYg
KGVkaXRhYmxlTGV2ZWwgPT0gUmljaGx5RWRpdGFibGUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIEFTU0VSVChkb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKSk7CisgICAgQVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2Fj
aGVFeGlzdHMoKSk7CisgICAgcmV0dXJuIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9v
dEFYRWRpdGFibGVFbGVtZW50KHRoaXMpOworfQorCiBib29sIE5vZGU6OnNob3VsZFVzZUlucHV0
TWV0aG9kKCkKIHsKICAgICByZXR1cm4gaXNDb250ZW50RWRpdGFibGUoKTsKQEAgLTE2MTQsNiAr
MTYyOSwxNCBAQCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkgY29u
c3QKICAgICByZXR1cm4gMDsKIH0KIAorRWxlbWVudCogTm9kZTo6cm9vdEVkaXRhYmxlRWxlbWVu
dChFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKSBjb25zdAoreworICAgIGlmIChlZGl0YWJsZVR5
cGUgPT0gSGFzRWRpdGFibGVBWFJvbGUpCisgICAgICAgIHJldHVybiBjb25zdF9jYXN0PEVsZW1l
bnQqPihkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxlRWxlbWVudCh0
aGlzKSk7CisKKyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQorCiBFbGVtZW50
KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBFbGVtZW50KiByZXN1
bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZmE2OWI3NTk0MGIzZDQxODdiYzk3NDUzNTYzZGE5Y2Fi
ZDFiNTk2Zi4uNzVlZjZiOWQzOWQ2OGM2YTJjN2EzNzY2Yzk1YTVmMDcyZjYwZTFmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIE5vZGVfaAogI2RlZmluZSBOb2RlX2gK
IAorI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Lmgi
CiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgpAQCAtMjc2
LDcgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVt
ZW50KCkgY29uc3Q7CiAgICAgCiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudCgpIGNv
bnN0OwotICAgIAorICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRpdGFibGVUeXBl
KSBjb25zdDsKKwogICAgIGJvb2wgaW5TYW1lQ29udGFpbmluZ0Jsb2NrRmxvd0VsZW1lbnQoTm9k
ZSopOwogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBwYXJzZXIgd2hlbiB0aGlzIGVsZW1lbnQncyBj
bG9zZSB0YWcgaXMgcmVhY2hlZCwKQEAgLTM1Myw4ICszNTUsMzAgQEAgcHVibGljOgogICAgIGJv
b2wgaXNDb250ZW50RWRpdGFibGUoKTsKICAgICBib29sIGlzQ29udGVudFJpY2hseUVkaXRhYmxl
KCk7CiAKLSAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRl
cmVySXNFZGl0YWJsZShFZGl0YWJsZSk7IH0KLSAgICBib29sIHJlbmRlcmVySXNSaWNobHlFZGl0
YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7
IH0KKyAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBl
ID0gQ29udGVudElzRWRpdGFibGUpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKGVkaXRh
YmxlVHlwZSkgeworICAgICAgICBjYXNlIENvbnRlbnRJc0VkaXRhYmxlOgorICAgICAgICAgICAg
cmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZSk7CisgICAgICAgIGNhc2UgSGFzRWRp
dGFibGVBWFJvbGU6CisgICAgICAgICAgICByZXR1cm4gaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0
eShFZGl0YWJsZSk7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBib29sIHJlbmRlcmVySXNSaWNobHlF
ZGl0YWJsZShFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpIGNv
bnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKGVkaXRhYmxlVHlwZSkgeworICAgICAgICBjYXNl
IENvbnRlbnRJc0VkaXRhYmxlOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJs
ZShSaWNobHlFZGl0YWJsZSk7CisgICAgICAgIGNhc2UgSGFzRWRpdGFibGVBWFJvbGU6CisgICAg
ICAgICAgICByZXR1cm4gaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShSaWNobHlFZGl0YWJsZSk7
CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlSW5wdXRNZXRob2Qo
KTsKICAgICB2aXJ0dWFsIExheW91dFJlY3QgZ2V0UmVjdCgpIGNvbnN0OwogICAgIExheW91dFJl
Y3QgcmVuZGVyUmVjdChib29sKiBpc1JlcGxhY2VkKTsKQEAgLTcwNSw2ICs3MjksNyBAQCBwcml2
YXRlOgogCiAgICAgZW51bSBFZGl0YWJsZUxldmVsIHsgRWRpdGFibGUsIFJpY2hseUVkaXRhYmxl
IH07CiAgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVMZXZlbCkgY29uc3Q7Cisg
ICAgYm9vbCBpc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2ZWwpIGNvbnN0Owog
CiAgICAgdm9pZCBzZXRTdHlsZUNoYW5nZShTdHlsZUNoYW5nZVR5cGUpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1ZjJlYjRkZGUy
OTY0YmE4ZGZhMGMwZWQ1YTg0Li5lY2U3ZTAzNmRhNWJhZmYxYjFkMTU2Y2FiNmRhZDdlODNlY2Mw
NDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgKQEAgLTM0LDYg
KzM0LDExIEBAIGVudW0gRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHsKICAgICBDYW5Ta2lw
T3ZlckVkaXRpbmdCb3VuZGFyeQogfTsKIAorZW51bSBFZGl0YWJsZVR5cGUgeworICAgIENvbnRl
bnRJc0VkaXRhYmxlLAorICAgIEhhc0VkaXRhYmxlQVhSb2xlCit9OworCiB9CiAKICNlbmRpZiAv
LyBFZGl0aW5nQm91bmRhcnlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9o
dG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApp
bmRleCA2ZjQwYWJiZTliNmQyYWMyZTE3MzRhOGNlYzNkYjBkYTc4ZTE0YjM5Li40ZTZkNTI4MTQ0
YmMyZDk4ZmNhYTExYmYzNWRjYTU0YjRkZGU0ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0
bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkhU
TUxCUkVsZW1lbnQuaCIKQEAgLTQ2LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIKICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRz
LmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIApAQCAtMTA0
LDE5ICsxMDYsMTkgQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiBhLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIGIpCiAgICAgcmV0dXJuIGNvbXBhcmVQb3NpdGlv
bnMoYS5kZWVwRXF1aXZhbGVudCgpLCBiLmRlZXBFcXVpdmFsZW50KCkpOwogfQogCi1Ob2RlKiBo
aWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK05vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFZGl0YWJsZVR5cGUgZWRp
dGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5kZXByZWNhdGVkTm9kZSgp
OwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAotICAgIE5vZGUq
IGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24pOworICAgIE5v
ZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24sIGVkaXRh
YmxlVHlwZSk7CiAgICAgaWYgKCFoaWdoZXN0Um9vdCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
CiAgICAgbm9kZSA9IGhpZ2hlc3RSb290OwogICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlm
IChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVy
SXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgaGlnaGVzdFJvb3QgPSBub2Rl
OwogICAgICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMTQzLDcgKzE0NSw3IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9k
ZSogbm9kZSkKICAgICByZXR1cm4gbG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0VkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2Rl
ID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE1Miw3ICsxNTQsNyBA
QCBib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9k
ZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5v
ZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVy
SXNFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFi
bGVUeXBlKTsKIH0KIAogYm9vbCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlv
biYgcG9zKQpAQCAtMTYyLDcgKzE2NCw3IEBAIGJvb2wgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQo
Y29uc3QgUG9zaXRpb24mIHBvcykKIH0KICAgICAKICAgICAKLWJvb2wgaXNSaWNobHlFZGl0YWJs
ZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRp
b24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAg
Tm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xNzEs
MTAgKzE3MywxMCBAQCBib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlv
biYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1Rh
YmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0
dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlLT5y
ZW5kZXJlcklzUmljaGx5RWRpdGFibGUoZWRpdGFibGVUeXBlKTsKIH0KIAotRWxlbWVudCogZWRp
dGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitFbGVtZW50KiBlZGl0YWJs
ZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxl
VHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5jb250YWluZXJOb2RlKCk7CiAgICAgaWYgKCFu
b2RlKQpAQCAtMTgzLDcgKzE4NSw3IEBAIEVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJl
bmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsK
ICAgICAKLSAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIHJldHVy
biBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSk7CiB9CiAKIC8vIEZpbmRz
IHRoZSBlbmNsb3NpbmcgZWxlbWVudCB1bnRpbCB3aGljaCB0aGUgdHJlZSBjYW4gYmUgc3BsaXQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKaW5kZXggYzZiNmRkN2ExZTJmZTg1NmQz
Mjk4OWNiMzU1ZDg2NzIwNzc3NGQ1My4uMGYyZDFiZGMwZDU4N2FhOTM1Zjk2ZDcwZjA1NDRhMjVm
MGFhNmVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApAQCAtNTQsNyArNTQs
OCBAQCBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogLy8gRnVuY3Rpb25zIHJldHVybmluZyBOb2Rl
CiAKIE5vZGUqIGhpZ2hlc3RBbmNlc3RvcihOb2RlKik7Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVS
b290KGNvbnN0IFBvc2l0aW9uJik7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBv
c2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpOworCiBOb2RlKiBoaWdo
ZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5
cGUpKGNvbnN0IE5vZGUqKSwKICAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBDYW5u
b3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwogTm9kZSogaGln
aGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZyhOb2RlKik7CkBAIC0xNTEsOCArMTUyLDggQEAgaW50
IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlvbiYpOwogCiAv
LyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlvbgogICAgIAotYm9vbCBpc0VkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJik7Citib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYs
IEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKK2Jvb2wgaXNSaWNobHlFZGl0YWJs
ZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFi
bGUpOwogYm9vbCBpc0ZpcnN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQ
b3NpdGlvbiYpOwogYm9vbCBpc0xhc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJik7CiBib29sIGxpbmVCcmVha0V4aXN0c0F0UG9zaXRpb24oY29uc3QgUG9z
aXRpb24mKTsKQEAgLTIyMSw3ICsyMjIsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRh
YlNwYW5FbGVtZW50KERvY3VtZW50KiwgUGFzc1JlZlB0cjxOb2RlPiB0YWJUZXh0Tm9kZQogUGFz
c1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFN0
cmluZyYgdGFiVGV4dCk7CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2NrUGxhY2Vob2xk
ZXJFbGVtZW50KERvY3VtZW50Kik7CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9u
KGNvbnN0IFBvc2l0aW9uJik7CitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25z
dCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKIEVsZW1lbnQq
IHVuc3BsaXR0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwogCiAvLyBC
b29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxl
X3VuaXRzLmNwcAppbmRleCBjOTE3M2NiNjVhNjM4MGE4ZTc4Mjk2ZTUxZjgyMmMzNDM0ZmI5ZWZh
Li4zMzgxMjc4MDE0YzE0OWQ2ODM2OGM1ZmE2NDcyM2Q1YjRmNTdjODY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKQEAgLTUxOCwxMiArNTE4LDEyIEBAIGJvb2wg
aXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwKQogfQogCiAvLyBUaGUgZmlyc3Qg
bGVhZiBiZWZvcmUgbm9kZSB0aGF0IGhhcyB0aGUgc2FtZSBlZGl0YWJpbGl0eSBhcyBub2RlLgot
c3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSkK
K3N0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUs
IEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7Ci0gICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJl
cklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+cHJldmlvdXNM
ZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJsZSA9PSBuLT5y
ZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVy
SXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgcmV0dXJuIG47CiAgICAgICAg
IG4gPSBuLT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgfQpAQCAtNTUzLDExICs1NTMsMTIgQEAg
c3RhdGljIGlubGluZSBJbnRQb2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Qb2ludFRvTG9jYWxQ
b2ludEluQmxvY2soUm9vdElubGluZUIKICAgICByZXR1cm4gSW50UG9pbnQocm9vdC0+c2VsZWN0
aW9uVG9wKCksIGxpbmVEaXJlY3Rpb25Qb2ludCAtIGFic29sdXRlQmxvY2tQb2ludC55KCkpOwog
fQogCi1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpCitWaXNpYmxl
UG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNp
YmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSBlZGl0YWJs
ZVR5cGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVu
dCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9kZSogaGln
aGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUqIGhpZ2hlc3RSb290
ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwLCBlZGl0YWJsZVR5cGUpOworCiAgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBAIC01ODQsMTEgKzU4
NSwxMSBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgICAgICAvLyBOZWVkIHRvIG1vdmUg
YmFjayB0byBwcmV2aW91cyBjb250YWluaW5nIGVkaXRhYmxlIGJsb2NrIGluIHRoaXMgcm9vdCBl
ZGl0YWJsZQogICAgICAgICAvLyBibG9jayBhbmQgZmluZCB0aGUgbGFzdCByb290IGxpbmUgYm94
IGluIHRoYXQgYmxvY2suCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNsb3NpbmdOb2Rl
V2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwotICAgICAgICBOb2RlKiBuID0gcHJldmlvdXNM
ZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlKTsKKyAgICAgICAgTm9kZSogbiA9IHByZXZpb3Vz
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgd2hp
bGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVy
KG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobik7
CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0
YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYgKGhpZ2hlc3RF
ZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9v
dCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9y
QmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9vdCkKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhhc1RhZ05hbWUoYnJU
YWcpID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9u
KG4sIGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXNDYW5kaWRhdGUo
KSkgewpAQCAtNjAxLDcgKzYwMiw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAKICAgICAg
ICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVBTSk7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4s
IGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC02MTgsNyArNjE5LDcg
QEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAvLyBDb3VsZCBub3QgZmluZCBhIHByZXZp
b3VzIGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBmaXJzdCBsaW5l
LgogICAgIC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb250ZW50IGluIHRoaXMgYmxvY2ss
IHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIHN0YXJ0IG9mIHRoZSBs
aW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJ
c0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5kb2N1bWVu
dCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxl
bWVudChlZGl0YWJsZVR5cGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7
CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigp
OwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oZmlyc3RQb3NpdGlvbkluTm9kZShyb290RWxl
bWVudCksIERPV05TVFJFQU0pOwpAQCAtNjM4LDI2ICs2MzksMjcgQEAgc3RhdGljIE5vZGUqIG5l
eHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBpbnQgb2Zmc2V0KQogICAgIHJl
dHVybiAwOwogfQogCi1zdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5v
ZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUq
IG5vZGUsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSkKIHsK
ICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIGJvb2wgZWRpdGFi
bGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRhYmxlID0gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiAgICAgTm9kZSogbiA9IG5vZGUt
Pm5leHRMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJsZSA9
PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJl
bmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgcmV0dXJuIG47CiAg
ICAgICAgIG4gPSBuLT5uZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAK
LVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
dmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJsZVBvc2l0aW9u
IG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24s
IGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAg
ICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5v
ZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBo
aWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gaGlnaGVzdEVk
aXRhYmxlUm9vdChwLCBlZGl0YWJsZVR5cGUpOworCiAgICAgaWYgKCFub2RlKQogICAgICAgICBy
ZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBAIC02ODYsOSArNjg4LDkgQEAgVmlzaWJs
ZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxl
UG9zaXRpb24sIGludCBsaW4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVuY2xvc2luZ05v
ZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7CiAgICAgICAgIE5vZGUqIG4gPSBuZXh0TGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgcC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKTsK
ICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklu
bGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJp
bGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwg
ZWRpdGFibGVUeXBlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgIGlmIChoaWdo
ZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkgIT0gaGlnaGVz
dFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9u
SW5PckJlZm9yZU5vZGUobiksIGVkaXRhYmxlVHlwZSkgIT0gaGlnaGVzdFJvb3QpCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBjcmVhdGVMZWdhY3lF
ZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNaW5PZmZzZXQobikpOwogICAgICAgICAgICAgaWYgKHBv
cy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC03MDIsNyArNzA0LDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5l
eHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGlu
dCBsaW4KIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBET1dO
U1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1l
RWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC03MTksNyAr
NzIxLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAvLyBDb3VsZCBub3QgZmluZCBh
IG5leHQgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhlIGxhc3QgbGlu
ZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgaW4gdGhpcyBibG9jaywg
d2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgZW5kIG9mIHRoZSBsaW5l
IHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJc0Vk
aXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5kb2N1bWVudCgp
LT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9IG5vZGUtPnJl
bmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpID8gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVu
dChlZGl0YWJsZVR5cGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CiAg
ICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwog
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obGFzdFBvc2l0aW9uSW5Ob2RlKHJvb3RFbGVtZW50
KSwgRE9XTlNUUkVBTSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2li
bGVfdW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCmluZGV4
IDRkOGUwODMxNTExZGJmMDQzYTA0NTY2NDljMzM4ZThlOGY0ODgwMTMuLjNjYTRjZGFhYzNkYmEy
YTEzMzc4NGY4NTcyNWRhNGE2ZGU4NTQ5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJs
ZV91bml0cy5oCkBAIC01NCw4ICs1NCw4IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0U2VudGVuY2VQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiAvLyBsaW5lcwogVmlzaWJsZVBvc2l0
aW9uIHN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIFZpc2libGVQb3NpdGlv
biBlbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwotVmlzaWJsZVBvc2l0aW9uIHBy
ZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVj
dGlvblBvaW50KTsKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50KTsKK1Zpc2libGVQb3NpdGlvbiBw
cmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBpbnQgbGluZURpcmVj
dGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CitWaXNpYmxlUG9z
aXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBpbnQgbGluZURp
cmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29sIGlu
U2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
KTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiBib29sIGlz
RW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZDEzOWI0NThhZWEx
ZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgwYmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFkNjRjODIwOWQ2
MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIEFsaWNlIEJv
eGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0IGNvcnJlY3Qg
bGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5kIGVsZW1lbnRz
IGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5YmI5MDQ3ZTM4
NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gt
cm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitT
b21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5lIHRleHRib3gu
CitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNvcnJlY3RseSBy
ZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChh
cmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAw
KTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxk
Tm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyBheEVs
ZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93LmdldFNlbGVj
dGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sx
XSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4RWxlbWVudC5p
bnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNjhkZTNiZGQwNTMxOGQyY2E4ZmIxOTc0MWE5Y2MyZWMzNzVhYTY3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0
cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4dEJveCIgYXJp
YS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEgdGV4dGJveDwv
ZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRCb3giIGFyaWEt
bXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4gYTwvZGl2Pjxk
aXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlv
biBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hl
cy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9jdXMoKTsKKyAgICB2YXIgYXhF
bGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBz
aG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoYXJpYVRleHRC
b3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCk7IgorICAg
ICAgICArICIgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisKKwor
ICAgIHZhciBtdWx0aWxpbmVBcmlhVGV4dEJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJt
dWx0aWxpbmVBcmlhVGV4dEJveCIpOworICAgIG11bHRpbGluZUFyaWFUZXh0Qm94LmZvY3VzKCk7
CisgICAgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQo
bXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRC
b3guY2hpbGROb2Rlc1swXSwgMSk7IgorICAgICAgICArICIgYXhFbGVtZW50Lmluc2VydGlvblBv
aW50TGluZU51bWJlciIsICIwIik7CisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRTZWxlY3Rpb24o
KS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEs
IG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEpOyIKKyAgICAgICAgKyAiIGF4
RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIpOworfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121191</attachid>
            <date>2012-01-04 17:32:37 -0800</date>
            <delta_ts>2012-01-04 19:13:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71263-20120105123234.patch</filename>
            <type>text/plain</type>
            <size>27905</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uZmI3NGJiZTIwMThlZjYxMTNhNjVjYjE4MzlmODM4
ODQ5OWJjOTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbm9uLW5hdGl2
ZSBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgaXMgYW4gZWxlbWVudCB3aXRoIGFuIEFSSUEgcm9sZSBv
ZiAidGV4dGJveCIsIHdoaWNoIGlzCisgICAgICAgIHNldCBvbiBhbiBlbGVtZW50IHdoaWNoIGJl
aGF2ZXMgbGlrZSBhbiBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgKHN1Y2ggYXMgYSB0ZXh0YXJlYSwg
dGV4dAorICAgICAgICBpbnB1dCBmaWVsZCBvciBjb250ZW50ZWRpdGFibGUgdGV4dCksIGJ1dCB3
aG9zZSBiZWhhdmlvdXIgaXMgY29udHJvbGxlZCBieSB0aGUgYXV0aG9yIHJhdGhlcgorICAgICAg
ICB0aGFuIHRoZSBicm93c2VyLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1ha2VzIGNlcnRhaW4g
bWV0aG9kcyBvbiBOb2RlLCBhbmQgcmVsYXRlZCBtZXRob2RzIGluIGh0bWxlZGl0aW5nIGFuZAor
ICAgICAgICB2aXNpYmxlX3VuaXRzLCBhd2FyZSBvZiB0aGUgbm90aW9uIHRoYXQgYW4gZWxlbWVu
dCBtYXkgYmUgZWRpdGFibGUgb25seSBmcm9tIHRoZSBwb2ludCBvZgorICAgICAgICB2aWV3IG9m
IGFzc2lzdGl2ZSB0ZWNobm9sb2d5ICh2aWEgdGhlIEFSSUEgdGV4dGJveCByb2xlKSwgdmlhIHRo
ZSBFZGl0YWJsZVR5cGUgZW51bSBhZGRlZCB0bworICAgICAgICBFZGl0aW5nQm91bmRhcnkuaC4K
KworICAgICAgICBUaGlzIGlzIHNvIHRoYXQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBv
c2l0aW9uKCkgY2FuIHVzZSBwcmV2aW91c0xpbmVQb3NpdGlvbigpLCBhbmQKKyAgICAgICAgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oKSBjYW4gdXNl
IGhpZ2hlc3RFZGl0YWJsZVJvb3QoKSwgaW4gYSB3YXkKKyAgICAgICAgdGhhdCByZXNwZWN0cyBu
b24tbmF0aXZlIGVkaXRhYmlsaXR5LgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvdGV4
dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6IFJldHVybnMgdGhlIHJvb3QgZWxlbWVudCB3aGljaCBp
cworICAgICAgICBlZGl0YWJsZSBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIGFzc2lzdGl2ZSB0
ZWNobm9sb2d5LCB3aGV0aGVyIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKTogV2hldGhlciB0aGUgZ2l2ZW4g
bm9kZSBpcyBjb25zaWRlcmVkIGFuCisgICAgICAgIGVkaXRhYmxlIHRleHQgZWxlbWVudCBieSBh
c3Npc3RpdmUgdGVjaG5vbG9neSwgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24pOiBNb2RpZmllZCB0byByZXF1ZXN0
IHRoZSBwcmV2aW91cyBsaW5lCisgICAgICAgIHBvc2l0aW9uIGluIGFuIGVsZW1lbnQgd2hpY2gg
aXMgZWRpdGFibGUgdG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24pOiBNb2RpZmllZCB0byBy
ZXF1ZXN0IHRoZQorICAgICAgICBoaWdoZXN0IHJvb3QgZWxlbWVudCB3aGljaCBpcyBlZGl0YWJs
ZSB0byBBY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eSk6IFdoZXRoZXIg
dGhpcyBub2RlIGlzIGVkaXRhYmxlIHRvCisgICAgICAgIEFjY2Vzc2liaWxpdHkgZm9yIHRoZSBn
aXZlbiBFZGl0YWJsZUxldmVsLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cm9vdEVkaXRhYmxl
RWxlbWVudCk6IE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3aGljaCB0YWtlcyBh
bgorICAgICAgICBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgbm9u
LW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAgICogZG9tL05v
ZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRlcmVySXNFZGl0YWJsZSk6IE92ZXJs
b2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3aGljaCB0YWtlcyBhbgorICAgICAgICBFZGl0
YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJp
bGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJl
cklzUmljaGx5RWRpdGFibGUpOiAgT3ZlcmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIHdo
aWNoIHRha2VzCisgICAgICAgIGFuIEVkaXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcg
d2hldGhlciBub24tbmF0aXZlIGVkaXRhYmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oOgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGlnaGVzdEVkaXRhYmxlUm9vdCk6IEFkZGVk
IG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjppc0Vk
aXRhYmxlUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgor
ICAgICAgICAoV2ViQ29yZTo6aXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9u
YWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OmVkaXRhYmxlUm9v
dEZvclBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAg
ICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogZWRpdGluZy92aXNpYmxl
X3VuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkpOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAo
V2ViQ29yZTo6cHJldmlvdXNMaW5lUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5
cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6bmV4dExlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdl
YkNvcmU6Om5leHRMaW5lUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFy
YW1ldGVyLgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5oOgorCiAyMDExLTEyLTIy
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVt
ZW50IERhdGUgYW5kIFRpbWUgSW5wdXQgVmFsdWUgU2FuaXRpemF0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwOGQzOWQyNDIzYTA5
YmRmMmUwMzQ4ZjE5YmNhZDE5MWI2NGIxZmM2Li5jMGIyYmFiNTVmMmI2NDdkM2UzMTllYzIwNmRh
ZTE4ZjQ4ZjgzMDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKQEAgLTY2Miw1ICs2NjIsMjcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp0ZXh0
TWFya2VyRGF0YUZvclZpc2libGVQb3NpdGlvbihUZXh0TWFya2VyRGF0YSYgdGV4dE1hcmtlckQK
ICAgICAKICAgICBjYWNoZS0+c2V0Tm9kZUluVXNlKGRvbU5vZGUpOwogfQotICAgIAorCitjb25z
dCBFbGVtZW50KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKK3sKKyAgICBjb25zdCBFbGVtZW50KiByZXN1bHQgPSBub2RlLT5yb290RWRpdGFi
bGVFbGVtZW50KCk7CisgICAgY29uc3QgRWxlbWVudCogZWxlbWVudCA9IG5vZGUtPmlzRWxlbWVu
dE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IG5vZGUtPnBhcmVudEVsZW1lbnQoKTsKKworICAg
IGZvciAoOyBlbGVtZW50OyBlbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7Cisg
ICAgICAgIGlmIChub2RlSXNUZXh0Q29udHJvbChlbGVtZW50KSkKKyAgICAgICAgICAgIHJlc3Vs
dCA9IGVsZW1lbnQ7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBBWE9i
amVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlm
ICghbm9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgQWNjZXNzaWJpbGl0
eU9iamVjdCogYXhPYmplY3QgPSBnZXRPckNyZWF0ZShub2RlLT5yZW5kZXJlcigpKTsKKyAgICBy
ZXR1cm4gYXhPYmplY3QgJiYgYXhPYmplY3QtPmlzVGV4dENvbnRyb2woKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAppbmRleCA1NjBlMGYzNGIxNjE3NTc2MTJjMDgyYTJlYmM2YWIyN2M4ZTk4OWJhLi43
ZGJlNTZkNDA2Y2Y3MWZkMjg3ODNmM2I0OGY4NWZiOThiYWE1MzFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTA2LDYgKzEwNiwxMSBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZUFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAg
IGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFp
bnMoaWQpOyB9CisKKyAgICBFbGVtZW50KiByb290QVhFZGl0YWJsZUVsZW1lbnQoTm9kZSopOwor
ICAgIGNvbnN0IEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBOb2RlKik7Cisg
ICAgYm9vbCBub2RlSXNUZXh0Q29udHJvbChjb25zdCBOb2RlKik7CisKICAgICBBWElEIHBsYXRm
b3JtR2VuZXJhdGVBWElEKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0
RnJvbUFYSUQoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RzLmdldChpZCkuZ2V0KCk7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAKaW5kZXggZjYwNWZmZmU1Y2Y2NWJiODc5NzNhZGRjMmRlMjc5MGU3MjBlNWM1
ZC4uMmRiMDIyMmUxN2JjNDk2OWRjNzYyM2IyZjNlNGRkMTZhMDEyNWE1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBA
IC0xMDQwLDcgKzEwNDAsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykgY29ucwogICAgIC8vIHRvcCBk
b2N1bWVudC4KICAgICBkbyB7CiAgICAgICAgIHNhdmVkVmlzaWJsZVBvcyA9IGN1cnJlbnRWaXNp
YmxlUG9zOwotICAgICAgICBWaXNpYmxlUG9zaXRpb24gcHJldlZpc2libGVQb3MgPSBwcmV2aW91
c0xpbmVQb3NpdGlvbihjdXJyZW50VmlzaWJsZVBvcywgMCk7CisgICAgICAgIFZpc2libGVQb3Np
dGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxl
UG9zLCAwLCBIYXNFZGl0YWJsZUFYUm9sZSk7CiAgICAgICAgIGN1cnJlbnRWaXNpYmxlUG9zID0g
cHJldlZpc2libGVQb3M7CiAgICAgICAgICsrbGluZUNvdW50OwogICAgIH0gIHdoaWxlIChjdXJy
ZW50VmlzaWJsZVBvcy5pc05vdE51bGwoKSAmJiAhKGluU2FtZUxpbmUoY3VycmVudFZpc2libGVQ
b3MsIHNhdmVkVmlzaWJsZVBvcykpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGQzYTNjNGM2
MDlhOTU4NDkwODM3MTJkZGY4OWQ1OGFjMTkxOGZlYTcuLjczMGMxMWMzYTRmM2RkYmQzYTljNjI0
ZTg3MDM2NzRhMWI1Y2U5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjU0NSw3ICsyNTQ1
LDcgQEAgaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG8KICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAg
ICAgUG9zaXRpb24gaW5kZXhQb3NpdGlvbiA9IHBvcy5kZWVwRXF1aXZhbGVudCgpOwotICAgIGlm
IChpbmRleFBvc2l0aW9uLmlzTnVsbCgpIHx8IHJvb3RFZGl0YWJsZUVsZW1lbnRGb3JQb3NpdGlv
bihpbmRleFBvc2l0aW9uKSAhPSBub2RlKQorICAgIGlmIChpbmRleFBvc2l0aW9uLmlzTnVsbCgp
IHx8IGhpZ2hlc3RFZGl0YWJsZVJvb3QoaW5kZXhQb3NpdGlvbiwgSGFzRWRpdGFibGVBWFJvbGUp
ICE9IG5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDllNmRkNWZhYzZmZGVlMGZlMGM2Y2MzYTdkMjQ5YTJh
NWZhOTZjNDkuLjA1N2ExMmI0NjBlN2Q5NWJmMjkzNzJlNjczZjM3YTM0ZmJmZmIxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKQEAgLTc4OCw2ICs3ODgsMjUgQEAgYm9vbCBOb2RlOjpyZW5kZXJlcklzRWRp
dGFibGUoRWRpdGFibGVMZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorYm9vbCBOb2RlOjppc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2
ZWwgZWRpdGFibGVMZXZlbCkgY29uc3QKK3sKKyAgICBpZiAocmVuZGVyZXJJc0VkaXRhYmxlKGVk
aXRhYmxlTGV2ZWwpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBSZXNw
ZWN0IGVkaXRhYmxlTGV2ZWwgZm9yIEFSSUEgZWRpdGFibGUgZWxlbWVudHMuCisgICAgaWYgKGVk
aXRhYmxlTGV2ZWwgPT0gUmljaGx5RWRpdGFibGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIEFTU0VSVChkb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoQVhPYmplY3RDYWNoZTo6YWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSk7CisgICAgQVNTRVJUKGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVF
eGlzdHMoKSk7CisKKyAgICBpZiAoZG9jdW1lbnQoKSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpICYmIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGVFeGlzdHMoKSkKKyAg
ICAgICAgcmV0dXJuIGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFibGVF
bGVtZW50KHRoaXMpOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIE5vZGU6OnNob3Vs
ZFVzZUlucHV0TWV0aG9kKCkKIHsKICAgICByZXR1cm4gaXNDb250ZW50RWRpdGFibGUoKTsKQEAg
LTE2MTQsNiArMTYzMywxNCBAQCBFbGVtZW50ICpOb2RlOjplbmNsb3NpbmdCbG9ja0Zsb3dFbGVt
ZW50KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorRWxlbWVudCogTm9kZTo6cm9vdEVkaXRh
YmxlRWxlbWVudChFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKSBjb25zdAoreworICAgIGlmIChl
ZGl0YWJsZVR5cGUgPT0gSGFzRWRpdGFibGVBWFJvbGUpCisgICAgICAgIHJldHVybiBjb25zdF9j
YXN0PEVsZW1lbnQqPihkb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnJvb3RBWEVkaXRhYmxl
RWxlbWVudCh0aGlzKSk7CisKKyAgICByZXR1cm4gcm9vdEVkaXRhYmxlRWxlbWVudCgpOworfQor
CiBFbGVtZW50KiBOb2RlOjpyb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBFbGVt
ZW50KiByZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggZmE2OWI3NTk0MGIzZDQxODdiYzk3NDUz
NTYzZGE5Y2FiZDFiNTk2Zi4uNzVlZjZiOWQzOWQ2OGM2YTJjN2EzNzY2Yzk1YTVmMDcyZjYwZTFm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaWZuZGVmIE5vZGVfaAogI2RlZmlu
ZSBOb2RlX2gKIAorI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTEhhc2guaCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5o
IgpAQCAtMjc2LDcgKzI3Nyw4IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBlbmNsb3NpbmdCbG9j
a0Zsb3dFbGVtZW50KCkgY29uc3Q7CiAgICAgCiAgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxl
bWVudCgpIGNvbnN0OwotICAgIAorICAgIEVsZW1lbnQqIHJvb3RFZGl0YWJsZUVsZW1lbnQoRWRp
dGFibGVUeXBlKSBjb25zdDsKKwogICAgIGJvb2wgaW5TYW1lQ29udGFpbmluZ0Jsb2NrRmxvd0Vs
ZW1lbnQoTm9kZSopOwogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBwYXJzZXIgd2hlbiB0aGlzIGVs
ZW1lbnQncyBjbG9zZSB0YWcgaXMgcmVhY2hlZCwKQEAgLTM1Myw4ICszNTUsMzAgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKTsKICAgICBib29sIGlzQ29udGVudFJpY2hs
eUVkaXRhYmxlKCk7CiAKLSAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZSgpIGNvbnN0IHsgcmV0
dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZSk7IH0KLSAgICBib29sIHJlbmRlcmVySXNS
aWNobHlFZGl0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShSaWNobHlF
ZGl0YWJsZSk7IH0KKyAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZVR5cGUgZWRp
dGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0
Y2ggKGVkaXRhYmxlVHlwZSkgeworICAgICAgICBjYXNlIENvbnRlbnRJc0VkaXRhYmxlOgorICAg
ICAgICAgICAgcmV0dXJuIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZSk7CisgICAgICAgIGNh
c2UgSGFzRWRpdGFibGVBWFJvbGU6CisgICAgICAgICAgICByZXR1cm4gaXNFZGl0YWJsZVRvQWNj
ZXNzaWJpbGl0eShFZGl0YWJsZSk7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBib29sIHJlbmRlcmVy
SXNSaWNobHlFZGl0YWJsZShFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlID0gQ29udGVudElzRWRp
dGFibGUpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKGVkaXRhYmxlVHlwZSkgeworICAg
ICAgICBjYXNlIENvbnRlbnRJc0VkaXRhYmxlOgorICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVy
SXNFZGl0YWJsZShSaWNobHlFZGl0YWJsZSk7CisgICAgICAgIGNhc2UgSGFzRWRpdGFibGVBWFJv
bGU6CisgICAgICAgICAgICByZXR1cm4gaXNFZGl0YWJsZVRvQWNjZXNzaWJpbGl0eShSaWNobHlF
ZGl0YWJsZSk7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlSW5w
dXRNZXRob2QoKTsKICAgICB2aXJ0dWFsIExheW91dFJlY3QgZ2V0UmVjdCgpIGNvbnN0OwogICAg
IExheW91dFJlY3QgcmVuZGVyUmVjdChib29sKiBpc1JlcGxhY2VkKTsKQEAgLTcwNSw2ICs3Mjks
NyBAQCBwcml2YXRlOgogCiAgICAgZW51bSBFZGl0YWJsZUxldmVsIHsgRWRpdGFibGUsIFJpY2hs
eUVkaXRhYmxlIH07CiAgICAgYm9vbCByZW5kZXJlcklzRWRpdGFibGUoRWRpdGFibGVMZXZlbCkg
Y29uc3Q7CisgICAgYm9vbCBpc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlTGV2ZWwp
IGNvbnN0OwogCiAgICAgdm9pZCBzZXRTdHlsZUNoYW5nZShTdHlsZUNoYW5nZVR5cGUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaAppbmRleCBmOGFjMWNiMDQ1Njg1
ZjJlYjRkZGUyOTY0YmE4ZGZhMGMwZWQ1YTg0Li5lY2U3ZTAzNmRhNWJhZmYxYjFkMTU2Y2FiNmRh
ZDdlODNlY2MwNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
b3VuZGFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmgK
QEAgLTM0LDYgKzM0LDExIEBAIGVudW0gRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHsKICAg
ICBDYW5Ta2lwT3ZlckVkaXRpbmdCb3VuZGFyeQogfTsKIAorZW51bSBFZGl0YWJsZVR5cGUgewor
ICAgIENvbnRlbnRJc0VkaXRhYmxlLAorICAgIEhhc0VkaXRhYmxlQVhSb2xlCit9OworCiB9CiAK
ICNlbmRpZiAvLyBFZGl0aW5nQm91bmRhcnlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9odG1sZWRpdGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0
aW5nLmNwcAppbmRleCA2ZjQwYWJiZTliNmQyYWMyZTE3MzRhOGNlYzNkYjBkYTc4ZTE0YjM5Li40
ZTZkNTI4MTQ0YmMyZDk4ZmNhYTExYmYzNWRjYTU0YjRkZGU0ZmUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hl
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2lu
Y2x1ZGUgIkhUTUxCUkVsZW1lbnQuaCIKQEAgLTQ2LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJUZXh0
SXRlcmF0b3IuaCIKICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIKICNpbmNsdWRlICJ2aXNp
YmxlX3VuaXRzLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4K
IApAQCAtMTA0LDE5ICsxMDYsMTkgQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBhLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIGIpCiAgICAgcmV0dXJuIGNvbXBh
cmVQb3NpdGlvbnMoYS5kZWVwRXF1aXZhbGVudCgpLCBiLmRlZXBFcXVpdmFsZW50KCkpOwogfQog
Ci1Ob2RlKiBoaWdoZXN0RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKK05v
ZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uLCBFZGl0YWJs
ZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwb3NpdGlvbi5kZXByZWNh
dGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAot
ICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRpb24p
OworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24ocG9zaXRp
b24sIGVkaXRhYmxlVHlwZSk7CiAgICAgaWYgKCFoaWdoZXN0Um9vdCkKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgCiAgICAgbm9kZSA9IGhpZ2hlc3RSb290OwogICAgIHdoaWxlIChub2RlKSB7Ci0g
ICAgICAgIGlmIChub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgaGlnaGVzdFJv
b3QgPSBub2RlOwogICAgICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMTQzLDcgKzE0NSw3IEBAIE5vZGUqIGxvd2VzdEVkaXRhYmxlQW5j
ZXN0b3IoTm9kZSogbm9kZSkKICAgICByZXR1cm4gbG93ZXN0Um9vdDsKIH0KIAotYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzRWRpdGFibGVQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBO
b2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKQEAgLTE1Miw3
ICsxNTQsNyBAQCBib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKICAg
ICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJlcigpLT5pc1RhYmxlKCkpCiAg
ICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgCi0gICAgcmV0dXJuIG5vZGUt
PnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIHJldHVybiBub2RlLT5yZW5kZXJlcklzRWRpdGFi
bGUoZWRpdGFibGVUeXBlKTsKIH0KIAogYm9vbCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25z
dCBQb3NpdGlvbiYgcG9zKQpAQCAtMTYyLDcgKzE2NCw3IEBAIGJvb2wgaXNBdFVuc3BsaXR0YWJs
ZUVsZW1lbnQoY29uc3QgUG9zaXRpb24mIHBvcykKIH0KICAgICAKICAgICAKLWJvb2wgaXNSaWNo
bHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQorYm9vbCBpc1JpY2hseUVkaXRh
YmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHAsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUp
CiB7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUp
CkBAIC0xNzEsMTAgKzE3MywxMCBAQCBib29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25z
dCBQb3NpdGlvbiYgcCkKICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSAmJiBub2RlLT5yZW5kZXJl
cigpLT5pc1RhYmxlKCkpCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAg
Ci0gICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZSgpOworICAgIHJldHVy
biBub2RlLT5yZW5kZXJlcklzUmljaGx5RWRpdGFibGUoZWRpdGFibGVUeXBlKTsKIH0KIAotRWxl
bWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitFbGVtZW50
KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBl
IGVkaXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5jb250YWluZXJOb2RlKCk7CiAg
ICAgaWYgKCFub2RlKQpAQCAtMTgzLDcgKzE4NSw3IEBAIEVsZW1lbnQqIGVkaXRhYmxlUm9vdEZv
clBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYm
IG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVu
dE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOwor
ICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSk7CiB9CiAK
IC8vIEZpbmRzIHRoZSBlbmNsb3NpbmcgZWxlbWVudCB1bnRpbCB3aGljaCB0aGUgdHJlZSBjYW4g
YmUgc3BsaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5n
LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKaW5kZXggYzZiNmRkN2Ex
ZTJmZTg1NmQzMjk4OWNiMzU1ZDg2NzIwNzc3NGQ1My4uMGYyZDFiZGMwZDU4N2FhOTM1Zjk2ZDcw
ZjA1NDRhMjVmMGFhNmVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaApAQCAt
NTQsNyArNTQsOCBAQCBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogLy8gRnVuY3Rpb25zIHJldHVy
bmluZyBOb2RlCiAKIE5vZGUqIGhpZ2hlc3RBbmNlc3RvcihOb2RlKik7Ci1Ob2RlKiBoaWdoZXN0
RWRpdGFibGVSb290KGNvbnN0IFBvc2l0aW9uJik7CitOb2RlKiBoaWdoZXN0RWRpdGFibGVSb290
KGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpOworCiBO
b2RlKiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpu
b2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwKICAgICBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1
bGUgPSBDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSwgTm9kZSogc3RheVdpdGhpbiA9IDApOwog
Tm9kZSogaGlnaGVzdE5vZGVUb1JlbW92ZUluUHJ1bmluZyhOb2RlKik7CkBAIC0xNTEsOCArMTUy
LDggQEAgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlv
biYpOwogCiAvLyBib29sZWFuIGZ1bmN0aW9ucyBvbiBQb3NpdGlvbgogICAgIAotYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNSaWNobHlFZGl0YWJsZVBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsKK2Jvb2wgaXNSaWNo
bHlFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVu
dElzRWRpdGFibGUpOwogYm9vbCBpc0ZpcnN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVu
dChjb25zdCBQb3NpdGlvbiYpOwogYm9vbCBpc0xhc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxF
bGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGxpbmVCcmVha0V4aXN0c0F0UG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mKTsKQEAgLTIyMSw3ICsyMjIsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+
IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50KiwgUGFzc1JlZlB0cjxOb2RlPiB0YWJUZXh0
Tm9kZQogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCos
IGNvbnN0IFN0cmluZyYgdGFiVGV4dCk7CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2Nr
UGxhY2Vob2xkZXJFbGVtZW50KERvY3VtZW50Kik7CiAKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZv
clBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CitFbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3Np
dGlvbihjb25zdCBQb3NpdGlvbiYsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsK
IEVsZW1lbnQqIHVuc3BsaXR0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYp
OwogCiAvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy92aXNpYmxlX3VuaXRzLmNwcAppbmRleCBjOTE3M2NiNjVhNjM4MGE4ZTc4Mjk2ZTUxZjgyMmMz
NDM0ZmI5ZWZhLi4zMzgxMjc4MDE0YzE0OWQ2ODM2OGM1ZmE2NDcyM2Q1YjRmNTdjODY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKQEAgLTUxOCwxMiArNTE4LDEy
IEBAIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwKQogfQogCiAvLyBU
aGUgZmlyc3QgbGVhZiBiZWZvcmUgbm9kZSB0aGF0IGhhcyB0aGUgc2FtZSBlZGl0YWJpbGl0eSBh
cyBub2RlLgotc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkoTm9k
ZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5v
ZGUqIG5vZGUsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7Ci0gICAgYm9vbCBlZGl0YWJs
ZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRpdGFibGUgPSBub2Rl
LT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKICAgICBOb2RlKiBuID0gbm9kZS0+
cHJldmlvdXNMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChlZGl0YWJs
ZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxlID09IG4t
PnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgcmV0dXJuIG47
CiAgICAgICAgIG4gPSBuLT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgfQpAQCAtNTUzLDExICs1
NTMsMTIgQEAgc3RhdGljIGlubGluZSBJbnRQb2ludCBhYnNvbHV0ZUxpbmVEaXJlY3Rpb25Qb2lu
dFRvTG9jYWxQb2ludEluQmxvY2soUm9vdElubGluZUIKICAgICByZXR1cm4gSW50UG9pbnQocm9v
dC0+c2VsZWN0aW9uVG9wKCksIGxpbmVEaXJlY3Rpb25Qb2ludCAtIGFic29sdXRlQmxvY2tQb2lu
dC55KCkpOwogfQogCi1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQp
CitWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlw
ZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVw
RXF1aXZhbGVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAg
Tm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUqIGhp
Z2hlc3RSb290ID0gaGlnaGVzdEVkaXRhYmxlUm9vdChwLCBlZGl0YWJsZVR5cGUpOworCiAgICAg
aWYgKCFub2RlKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBAIC01
ODQsMTEgKzU4NSwxMSBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgICAgICAvLyBOZWVk
IHRvIG1vdmUgYmFjayB0byBwcmV2aW91cyBjb250YWluaW5nIGVkaXRhYmxlIGJsb2NrIGluIHRo
aXMgcm9vdCBlZGl0YWJsZQogICAgICAgICAvLyBibG9jayBhbmQgZmluZCB0aGUgbGFzdCByb290
IGxpbmUgYm94IGluIHRoYXQgYmxvY2suCiAgICAgICAgIE5vZGUqIHN0YXJ0QmxvY2sgPSBlbmNs
b3NpbmdOb2RlV2l0aE5vbklubGluZVJlbmRlcmVyKG5vZGUpOwotICAgICAgICBOb2RlKiBuID0g
cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlKTsKKyAgICAgICAgTm9kZSogbiA9
IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgZWRpdGFibGVUeXBlKTsKICAg
ICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2RlV2l0aE5vbklubGlu
ZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobik7CisgICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgaWYg
KGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pKSAhPSBo
aWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9z
aXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9vdCkKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IG4tPmhhc1Rh
Z05hbWUoYnJUYWcpID8gcG9zaXRpb25CZWZvcmVOb2RlKG4pIDogY3JlYXRlTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uKG4sIGNhcmV0TWF4T2Zmc2V0KG4pKTsKICAgICAgICAgICAgIGlmIChwb3MuaXND
YW5kaWRhdGUoKSkgewpAQCAtNjAxLDcgKzYwMiw3IEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91
c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50
CiAKICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgRE9XTlNUUkVB
TSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVF
ZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBAIC02MTgs
NyArNjE5LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQKICAgICAvLyBDb3VsZCBub3QgZmlu
ZCBhIHByZXZpb3VzIGxpbmUuIFRoaXMgbWVhbnMgd2UgbXVzdCBhbHJlYWR5IGJlIG9uIHRoZSBm
aXJzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb250ZW50IGluIHRo
aXMgYmxvY2ssIHdoaWNoIGVmZmVjdGl2ZWx5IG1vdmVzIHVzCiAgICAgLy8gdG8gdGhlIHN0YXJ0
IG9mIHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+
cmVuZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2Rl
LT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVu
dCA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpID8gbm9kZS0+cm9vdEVk
aXRhYmxlRWxlbWVudChlZGl0YWJsZVR5cGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRF
bGVtZW50KCk7CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oZmlyc3RQb3NpdGlvbkluTm9k
ZShyb290RWxlbWVudCksIERPV05TVFJFQU0pOwpAQCAtNjM4LDI2ICs2MzksMjcgQEAgc3RhdGlj
IE5vZGUqIG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShOb2RlKiBub2RlLCBpbnQgb2Zmc2V0
KQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRh
YmlsaXR5KE5vZGUqIG5vZGUpCitzdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KE5vZGUqIG5vZGUsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0
YWJsZSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIGJv
b2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKTsKKyAgICBib29sIGVkaXRh
YmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSk7CiAgICAgTm9kZSog
biA9IG5vZGUtPm5leHRMZWFmTm9kZSgpOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChl
ZGl0YWJsZSA9PSBuLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGVkaXRhYmxl
ID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpKQogICAgICAgICAgICAgcmV0
dXJuIG47CiAgICAgICAgIG4gPSBuLT5uZXh0TGVhZk5vZGUoKTsKICAgICB9CiAgICAgcmV0dXJu
IDA7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBpbnQgbGluZURpcmVjdGlvblBvaW50KQorVmlzaWJs
ZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxl
UG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5
cGUpCiB7CiAgICAgUG9zaXRpb24gcCA9IHZpc2libGVQb3NpdGlvbi5kZWVwRXF1aXZhbGVudCgp
OwogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7Ci0gICAgTm9kZSogaGlnaGVz
dFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHApOworICAgIE5vZGUqIGhpZ2hlc3RSb290ID0g
aGlnaGVzdEVkaXRhYmxlUm9vdChwLCBlZGl0YWJsZVR5cGUpOworCiAgICAgaWYgKCFub2RlKQog
ICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgCkBAIC02ODYsOSArNjg4LDkg
QEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7CiAgICAgICAgIE5vZGUqIG4g
PSBuZXh0TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobm9kZSwgcC5kZXByZWNhdGVkRWRpdGluZ09m
ZnNldCgpKTsKICAgICAgICAgd2hpbGUgKG4gJiYgc3RhcnRCbG9jayA9PSBlbmNsb3NpbmdOb2Rl
V2l0aE5vbklubGluZVJlbmRlcmVyKG4pKQotICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNh
bWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAg
IGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSkg
IT0gaGlnaGVzdFJvb3QpCisgICAgICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJz
dFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobiksIGVkaXRhYmxlVHlwZSkgIT0gaGlnaGVzdFJvb3Qp
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBQb3NpdGlvbiBwb3MgPSBjcmVh
dGVMZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNaW5PZmZzZXQobikpOwogICAgICAgICAg
ICAgaWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC03MDIsNyArNzA0LDcgQEAgVmlzaWJsZVBv
c2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9z
aXRpb24sIGludCBsaW4KIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24o
cG9zLCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBuZXh0TGVh
ZldpdGhTYW1lRWRpdGFiaWxpdHkobik7CisgICAgICAgICAgICBuID0gbmV4dExlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCkBA
IC03MTksNyArNzIxLDcgQEAgVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW4KICAgICAvLyBDb3VsZCBu
b3QgZmluZCBhIG5leHQgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhl
IGxhc3QgbGluZS4KICAgICAvLyBNb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgaW4gdGhp
cyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgZW5kIG9m
IHRoZSBsaW5lIHdlJ3JlIG9uLgotICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50ID0gbm9kZS0+cmVu
ZGVyZXJJc0VkaXRhYmxlKCkgPyBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCkgOiBub2RlLT5k
b2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBFbGVtZW50KiByb290RWxlbWVudCA9
IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpID8gbm9kZS0+cm9vdEVkaXRh
YmxlRWxlbWVudChlZGl0YWJsZVR5cGUpIDogbm9kZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVt
ZW50KCk7CiAgICAgaWYgKCFyb290RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3Np
dGlvbigpOwogICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24obGFzdFBvc2l0aW9uSW5Ob2RlKHJv
b3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0
cy5oCmluZGV4IDRkOGUwODMxNTExZGJmMDQzYTA0NTY2NDljMzM4ZThlOGY0ODgwMTMuLjNjYTRj
ZGFhYzNkYmEyYTEzMzc4NGY4NTcyNWRhNGE2ZGU4NTQ5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvdmlzaWJsZV91bml0cy5oCkBAIC01NCw4ICs1NCw4IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0
U2VudGVuY2VQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiAvLyBsaW5lcwogVmlz
aWJsZVBvc2l0aW9uIHN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIFZpc2li
bGVQb3NpdGlvbiBlbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwotVmlzaWJsZVBv
c2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQg
bGluZURpcmVjdGlvblBvaW50KTsKLVZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgbGluZURpcmVjdGlvblBvaW50KTsKK1Zpc2libGVQ
b3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBpbnQg
bGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CitW
aXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBp
bnQgbGluZURpcmVjdGlvblBvaW50LCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7
CiBib29sIGluU2FtZUxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmKTsKIGJvb2wgaXNTdGFydE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
CiBib29sIGlzRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZDEz
OWI0NThhZWExZWU4YTQ3YTQ0ZmFlY2EyZDUyZmM4ODgwYmEyLi5hN2Y3YTRkZGE5NzBiNDcwZjFk
NjRjODIwOWQ2MDAzZjRkMjZlNTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAg
IEFsaWNlIEJveGhhbGwgIDxhYm94aGFsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwb3J0
IGNvcnJlY3QgbGluZSBudW1iZXIgZm9yIG5vbi1uYXRpdmUgZWRpdGFibGUgdGV4dCBlbGVtZW50
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5l
LW51bWJlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5u
ZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwgcGFnZXMgYW5k
IGVsZW1lbnRzIGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1i
ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0MjJmMzdhNzI5
YmI5MDQ3ZTM4NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACitTb21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQorbXVsdGlsaW5l
IHRleHRib3guCitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3BlcnR5IGlzIGNv
cnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFu
ZEV4dGVudChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJveC5jaGlsZE5v
ZGVzWzBdLCAwKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNT
IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0
Qm94LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0s
IDEpOyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BBU1Mgd2luZG93
LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hp
bGROb2Rlc1sxXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sxXSwgMSk7IGF4
RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNjhkZTNiZGQwNTMxOGQyY2E4ZmIxOTc0MWE5Y2MyZWMzNzVhYTY3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJv
bGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlkPSJhcmlhVGV4
dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0ZXh0IGluIGEg
dGV4dGJveDwvZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5lQXJpYVRleHRC
b3giIGFyaWEtbXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21lIHRleHQgaW4g
YTwvZGl2PjxkaXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBB
WFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUg
dGV4dCBib3hlcy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9jdXMoKTsKKyAg
ICB2YXIgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQo
YXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwg
MCk7IgorICAgICAgICArICIgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIw
Iik7CisKKworICAgIHZhciBtdWx0aWxpbmVBcmlhVGV4dEJveCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJtdWx0aWxpbmVBcmlhVGV4dEJveCIpOworICAgIG11bHRpbGluZUFyaWFUZXh0Qm94
LmZvY3VzKCk7CisgICAgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VB
bmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSwgbXVsdGlsaW5l
QXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSk7IgorICAgICAgICArICIgYXhFbGVtZW50Lmlu
c2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9k
ZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEpOyIKKyAgICAg
ICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIpOworfQorPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121206</attachid>
            <date>2012-01-04 19:13:49 -0800</date>
            <delta_ts>2012-01-05 16:31:11 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71263-20120105141347.patch</filename>
            <type>text/plain</type>
            <size>27909</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uOGUxZjI5M2UxNjRjNDBkYWZiMmJkYjRiZmM2NzE5
Y2M5NzY3YWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IHJuaXdhQHdlYmtpdC5vcmcuCisKKyAgICAgICAgQSBub24tbmF0
aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudCBpcyBhbiBlbGVtZW50IHdpdGggYW4gQVJJQSByb2xl
IG9mICJ0ZXh0Ym94Iiwgd2hpY2ggaXMKKyAgICAgICAgc2V0IG9uIGFuIGVsZW1lbnQgd2hpY2gg
YmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3VjaCBhcyBhIHRleHRhcmVh
LCB0ZXh0CisgICAgICAgIGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0YWJsZSB0ZXh0KSwgYnV0
IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5IHRoZSBhdXRob3IgcmF0aGVyCisgICAg
ICAgIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgY2VydGFp
biBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMgaW4gaHRtbGVkaXRpbmcgYW5k
CisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBub3Rpb24gdGhhdCBhbiBlbGVt
ZW50IG1heSBiZSBlZGl0YWJsZSBvbmx5IGZyb20gdGhlIHBvaW50IG9mCisgICAgICAgIHZpZXcg
b2YgYXNzaXN0aXZlIHRlY2hub2xvZ3kgKHZpYSB0aGUgQVJJQSB0ZXh0Ym94IHJvbGUpLCB2aWEg
dGhlIEVkaXRhYmxlVHlwZSBlbnVtIGFkZGVkIHRvCisgICAgICAgIEVkaXRpbmdCb3VuZGFyeS5o
LgorCisgICAgICAgIFRoaXMgaXMgc28gdGhhdCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9y
UG9zaXRpb24oKSBjYW4gdXNlIHByZXZpb3VzTGluZVBvc2l0aW9uKCksIGFuZAorICAgICAgICBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbigpIGNhbiB1
c2UgaGlnaGVzdEVkaXRhYmxlUm9vdCgpLCBpbiBhIHdheQorICAgICAgICB0aGF0IHJlc3BlY3Rz
IG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS90
ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KTogUmV0dXJucyB0aGUgcm9vdCBlbGVtZW50IHdoaWNo
IGlzCisgICAgICAgIGVkaXRhYmxlIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgb2YgYXNzaXN0aXZl
IHRlY2hub2xvZ3ksIHdoZXRoZXIgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAgICAgICAoV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2wpOiBXaGV0aGVyIHRoZSBnaXZl
biBub2RlIGlzIGNvbnNpZGVyZWQgYW4KKyAgICAgICAgZWRpdGFibGUgdGV4dCBlbGVtZW50IGJ5
IGFzc2lzdGl2ZSB0ZWNobm9sb2d5LCBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbik6IE1vZGlmaWVkIHRvIHJlcXVl
c3QgdGhlIHByZXZpb3VzIGxpbmUKKyAgICAgICAgcG9zaXRpb24gaW4gYW4gZWxlbWVudCB3aGlj
aCBpcyBlZGl0YWJsZSB0byBBY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbik6IE1vZGlmaWVkIHRv
IHJlcXVlc3QgdGhlCisgICAgICAgIGhpZ2hlc3Qgcm9vdCBlbGVtZW50IHdoaWNoIGlzIGVkaXRh
YmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KTogV2hldGhl
ciB0aGlzIG5vZGUgaXMgZWRpdGFibGUgdG8KKyAgICAgICAgQWNjZXNzaWJpbGl0eSBmb3IgdGhl
IGdpdmVuIEVkaXRhYmxlTGV2ZWwuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFi
bGVFbGVtZW50KTogT3ZlcmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIHdoaWNoIHRha2Vz
IGFuCisgICAgICAgIEVkaXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBu
b24tbmF0aXZlIGVkaXRhYmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAgICAgKiBkb20v
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKTogT3Zl
cmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIHdoaWNoIHRha2VzIGFuCisgICAgICAgIEVk
aXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBub24tbmF0aXZlIGVkaXRh
YmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRl
cmVySXNSaWNobHlFZGl0YWJsZSk6ICBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qg
d2hpY2ggdGFrZXMKKyAgICAgICAgYW4gRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGlu
ZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5Lmg6CisgICAgICAgICogZWRpdGluZy9odG1s
ZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290KTogQWRk
ZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Omlz
RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIu
CisgICAgICAgIChXZWJDb3JlOjppc1JpY2hseUVkaXRhYmxlUG9zaXRpb24pOiBBZGRlZCBvcHRp
b25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6ZWRpdGFibGVS
b290Rm9yUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgor
ICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2li
bGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpwcmV2aW91c0xpbmVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxl
VHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkpOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAo
V2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBw
YXJhbWV0ZXIuCisgICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTIt
MjIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgRGF0ZSBhbmQgVGltZSBJbnB1dCBWYWx1ZSBTYW5pdGl6YXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA4ZDM5ZDI0MjNh
MDliZGYyZTAzNDhmMTliY2FkMTkxYjY0YjFmYzYuLmMwYjJiYWI1NWYyYjY0N2QzZTMxOWVjMjA2
ZGFlMThmNDhmODMwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcApAQCAtNjYyLDUgKzY2MiwyNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRl
eHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2Vy
RAogICAgIAogICAgIGNhY2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2Nv
bnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQoreworICAgIGNvbnN0IEVsZW1lbnQqIHJlc3VsdCA9IG5vZGUtPnJvb3RFZGl0
YWJsZUVsZW1lbnQoKTsKKyAgICBjb25zdCBFbGVtZW50KiBlbGVtZW50ID0gbm9kZS0+aXNFbGVt
ZW50Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVudCgpOworCisg
ICAgZm9yICg7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCkpIHsK
KyAgICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGVsZW1lbnQpKQorICAgICAgICAgICAgcmVz
dWx0ID0gZWxlbWVudDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIEFY
T2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAg
aWYgKCFub2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBheE9iamVjdCA9IGdldE9yQ3JlYXRlKG5vZGUtPnJlbmRlcmVyKCkpOworICAg
IHJldHVybiBheE9iamVjdCAmJiBheE9iamVjdC0+aXNUZXh0Q29udHJvbCgpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCmluZGV4IDU2MGUwZjM0YjE2MTc1NzYxMmMwODJhMmViYzZhYjI3YzhlOTg5YmEu
LjdkYmU1NmQ0MDZjZjcxZmQyODc4M2YzYjQ4Zjg1ZmI5OGJhYTUzMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMDYsNiArMTA2LDExIEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAg
ICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJblVzZS5jb250
YWlucyhpZCk7IH0KKworICAgIEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudChOb2RlKik7
CisgICAgY29uc3QgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5vZGUqKTsK
KyAgICBib29sIG5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqKTsKKwogICAgIEFYSUQgcGxh
dGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3RGcm9tQVhJRChBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX29iamVjdHMuZ2V0KGlkKS5nZXQo
KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAppbmRleCBmNjA1ZmZmZTVjZjY1YmI4Nzk3M2FkZGMyZGUyNzkwZTcyMGU1
YzVkLi4yZGIwMjIyZTE3YmM0OTY5ZGM3NjIzYjJmM2U0ZGQxNmEwMTI1YTU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
QEAgLTEwNDAsNyArMTA0MCw3IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAgICAgLy8gdG9w
IGRvY3VtZW50LgogICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0gY3VycmVudFZp
c2libGVQb3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZp
b3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAgVmlzaWJsZVBv
c2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2li
bGVQb3MsIDAsIEhhc0VkaXRhYmxlQVhSb2xlKTsKICAgICAgICAgY3VycmVudFZpc2libGVQb3Mg
PSBwcmV2VmlzaWJsZVBvczsKICAgICAgICAgKytsaW5lQ291bnQ7CiAgICAgfSAgd2hpbGUgKGN1
cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJs
ZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZDNhM2M0
YzYwOWE5NTg0OTA4MzcxMmRkZjg5ZDU4YWMxOTE4ZmVhNy4uNzMwYzExYzNhNGYzZGRiZDNhOWM2
MjRlODcwMzY3NGExYjVjZTlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yNTQ1LDcgKzI1
NDUsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogICAgICAgICByZXR1cm4gMDsKICAgICAK
ICAgICBQb3NpdGlvbiBpbmRleFBvc2l0aW9uID0gcG9zLmRlZXBFcXVpdmFsZW50KCk7Ci0gICAg
aWYgKGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgcm9vdEVkaXRhYmxlRWxlbWVudEZvclBvc2l0
aW9uKGluZGV4UG9zaXRpb24pICE9IG5vZGUpCisgICAgaWYgKGluZGV4UG9zaXRpb24uaXNOdWxs
KCkgfHwgaGlnaGVzdEVkaXRhYmxlUm9vdChpbmRleFBvc2l0aW9uLCBIYXNFZGl0YWJsZUFYUm9s
ZSkgIT0gbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggOWU2ZGQ1ZmFjNmZkZWUwZmUwYzZjYzNhN2QyNDlh
MmE1ZmE5NmM0OS4uMDU3YTEyYjQ2MGU3ZDk1YmYyOTM3MmU2NzNmMzdhMzRmYmZmYjE1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcApAQCAtNzg4LDYgKzc4OCwyNSBAQCBib29sIE5vZGU6OnJlbmRlcmVySXNF
ZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCitib29sIE5vZGU6OmlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGVM
ZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAoreworICAgIGlmIChyZW5kZXJlcklzRWRpdGFibGUo
ZWRpdGFibGVMZXZlbCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gRklYTUU6IFJl
c3BlY3QgZWRpdGFibGVMZXZlbCBmb3IgQVJJQSBlZGl0YWJsZSBlbGVtZW50cy4KKyAgICBpZiAo
ZWRpdGFibGVMZXZlbCA9PSBSaWNobHlFZGl0YWJsZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgQVNTRVJUKGRvY3VtZW50KCkpOworICAgIEFTU0VSVChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZUV4aXN0cygpKTsKKworICAgIGlmIChkb2N1bWVudCgpICYmIEFYT2JqZWN0Q2FjaGU6OmFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgJiYgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKQor
ICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290QVhFZGl0YWJs
ZUVsZW1lbnQodGhpcyk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgTm9kZTo6c2hv
dWxkVXNlSW5wdXRNZXRob2QoKQogewogICAgIHJldHVybiBpc0NvbnRlbnRFZGl0YWJsZSgpOwpA
QCAtMTYxNCw2ICsxNjMzLDE0IEBAIEVsZW1lbnQgKk5vZGU6OmVuY2xvc2luZ0Jsb2NrRmxvd0Vs
ZW1lbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitFbGVtZW50KiBOb2RlOjpyb290RWRp
dGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpIGNvbnN0Cit7CisgICAgaWYg
KGVkaXRhYmxlVHlwZSA9PSBIYXNFZGl0YWJsZUFYUm9sZSkKKyAgICAgICAgcmV0dXJuIGNvbnN0
X2Nhc3Q8RWxlbWVudCo+KGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFi
bGVFbGVtZW50KHRoaXMpKTsKKworICAgIHJldHVybiByb290RWRpdGFibGVFbGVtZW50KCk7Cit9
CisKIEVsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAogewogICAgIEVs
ZW1lbnQqIHJlc3VsdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBmYTY5Yjc1OTQwYjNkNDE4N2JjOTc0
NTM1NjNkYTljYWJkMWI1OTZmLi43NWVmNmI5ZDM5ZDY4YzZhMmM3YTM3NjZjOTVhNWYwNzJmNjBl
MWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpZm5kZWYgTm9kZV9oCiAjZGVm
aW5lIE5vZGVfaAogCisjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVz
LmgiCkBAIC0yNzYsNyArMjc3LDggQEAgcHVibGljOgogICAgIEVsZW1lbnQqIGVuY2xvc2luZ0Js
b2NrRmxvd0VsZW1lbnQoKSBjb25zdDsKICAgICAKICAgICBFbGVtZW50KiByb290RWRpdGFibGVF
bGVtZW50KCkgY29uc3Q7Ci0gICAgCisgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudChF
ZGl0YWJsZVR5cGUpIGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250YWluaW5nQmxvY2tGbG93
RWxlbWVudChOb2RlKik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuIHRoaXMg
ZWxlbWVudCdzIGNsb3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzUzLDggKzM1NSwzMCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXNDb250ZW50Umlj
aGx5RWRpdGFibGUoKTsKIAotICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQotICAgIGJvb2wgcmVuZGVyZXJJ
c1JpY2hseUVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hs
eUVkaXRhYmxlKTsgfQorICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlVHlwZSBl
ZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3
aXRjaCAoZWRpdGFibGVUeXBlKSB7CisgICAgICAgIGNhc2UgQ29udGVudElzRWRpdGFibGU6Cisg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsKKyAgICAgICAg
Y2FzZSBIYXNFZGl0YWJsZUFYUm9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0VkaXRhYmxlVG9B
Y2Nlc3NpYmlsaXR5KEVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGJvb2wgcmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBDb250ZW50SXNF
ZGl0YWJsZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVUeXBlKSB7Cisg
ICAgICAgIGNhc2UgQ29udGVudElzRWRpdGFibGU6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVy
ZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgY2FzZSBIYXNFZGl0YWJsZUFY
Um9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KFJpY2hs
eUVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJ
bnB1dE1ldGhvZCgpOwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRSZWN0KCkgY29uc3Q7CiAg
ICAgTGF5b3V0UmVjdCByZW5kZXJSZWN0KGJvb2wqIGlzUmVwbGFjZWQpOwpAQCAtNzA1LDYgKzcy
OSw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmlj
aGx5RWRpdGFibGUgfTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVs
KSBjb25zdDsKKyAgICBib29sIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGVMZXZl
bCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxlQ2hhbmdlKFN0eWxlQ2hhbmdlVHlwZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCmluZGV4IGY4YWMxY2IwNDU2
ODVmMmViNGRkZTI5NjRiYThkZmEwYzBlZDVhODQuLmVjZTdlMDM2ZGE1YmFmZjFiMWQxNTZjYWI2
ZGFkN2U4M2VjYzA0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z0JvdW5kYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnku
aApAQCAtMzQsNiArMzQsMTEgQEAgZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewog
ICAgIENhblNraXBPdmVyRWRpdGluZ0JvdW5kYXJ5CiB9OwogCitlbnVtIEVkaXRhYmxlVHlwZSB7
CisgICAgQ29udGVudElzRWRpdGFibGUsCisgICAgSGFzRWRpdGFibGVBWFJvbGUKK307CisKIH0K
IAogI2VuZGlmIC8vIEVkaXRpbmdCb3VuZGFyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwCmluZGV4IDZmNDBhYmJlOWI2ZDJhYzJlMTczNGE4Y2VjM2RiMGRhNzhlMTRiMzku
LjRlNmQ1MjgxNDRiYzJkOThmY2FhMTFiZjM1ZGNhNTRiNGRkZTRmZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtNDYsNiArNDcsNyBAQAogI2luY2x1ZGUgIlRl
eHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgInZp
c2libGVfdW5pdHMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5o
PgogCkBAIC0xMDQsMTkgKzEwNiwxOSBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNp
YmxlUG9zaXRpb24mIGEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYikKICAgICByZXR1cm4gY29t
cGFyZVBvc2l0aW9ucyhhLmRlZXBFcXVpdmFsZW50KCksIGIuZGVlcEVxdWl2YWxlbnQoKSk7CiB9
CiAKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQor
Tm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24sIEVkaXRh
YmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRlcHJl
Y2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlv
bik7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3Np
dGlvbiwgZWRpdGFibGVUeXBlKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1
cm4gMDsKICAgICAKICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsK
LSAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICBoaWdoZXN0
Um9vdCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGJvZHlUYWcpKQogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xNDMsNyArMTQ1LDcgQEAgTm9kZSogbG93ZXN0RWRpdGFibGVB
bmNlc3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQogCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTUy
LDcgKzE1NCw3IEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQog
ICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkK
ICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0
YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0xNjIsNyArMTY0LDcgQEAgYm9vbCBpc0F0VW5zcGxpdHRh
YmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogfQogICAgIAogICAgIAotYm9vbCBpc1Jp
Y2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzUmljaGx5RWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlw
ZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9k
ZSkKQEAgLTE3MSwxMCArMTczLDEwIEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRl
cmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAg
ICAKLSAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCk7CisgICAgcmV0
dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCi1F
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0VsZW1l
bnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5
cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCkBAIC0xODMsNyArMTg1LDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkg
JiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFy
ZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7
CisgICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKTsKIH0K
IAogLy8gRmluZHMgdGhlIGVuY2xvc2luZyBlbGVtZW50IHVudGlsIHdoaWNoIHRoZSB0cmVlIGNh
biBiZSBzcGxpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRp
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAppbmRleCBjNmI2ZGQ3
YTFlMmZlODU2ZDMyOTg5Y2IzNTVkODY3MjA3Nzc0ZDUzLi4wZjJkMWJkYzBkNTg3YWE5MzVmOTZk
NzBmMDU0NGEyNWYwYWE2ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0
bWxlZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCkBA
IC01NCw3ICs1NCw4IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAvLyBGdW5jdGlvbnMgcmV0
dXJuaW5nIE5vZGUKIAogTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKLU5vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJv
b3QoY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CisK
IE5vZGUqIGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAo
Km5vZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLAogICAgIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5n
UnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LCBOb2RlKiBzdGF5V2l0aGluID0gMCk7
CiBOb2RlKiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqKTsKQEAgLTE1MSw4ICsx
NTIsOCBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0
aW9uJik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCiAgICAgCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBpc1JpY2hseUVkaXRhYmxl
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpOworYm9vbCBpc1Jp
Y2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250
ZW50SXNFZGl0YWJsZSk7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVt
ZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lh
bEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgbGluZUJyZWFrRXhpc3RzQXRQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIxLDcgKzIyMiw3IEBAIFBhc3NSZWZQdHI8RWxlbWVu
dD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRl
eHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50
KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxv
Y2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFibGVSb290
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUp
OwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
Jik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGM5MTczY2I2NWE2MzgwYThlNzgyOTZlNTFmODIy
YzM0MzRmYjllZmEuLjMzODEyNzgwMTRjMTQ5ZDY4MzY4YzVmYTY0NzIzZDViNGY1N2M4NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtNTE4LDEyICs1MTgs
MTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJnApCiB9CiAKIC8v
IFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRoZSBzYW1lIGVkaXRhYmlsaXR5
IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShO
b2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKLSAgICBib29sIGVkaXRh
YmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5v
ZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2Rl
LT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRh
YmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0g
bi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICByZXR1cm4g
bjsKICAgICAgICAgbiA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBAIC01NTMsMTEg
KzU1MywxMiBAQCBzdGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURpcmVjdGlvblBv
aW50VG9Mb2NhbFBvaW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJbnRQb2ludChy
b290LT5zZWxlY3Rpb25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1Bv
aW50LnkoKSk7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2lu
dCkKK1Zpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVU
eXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRl
ZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAg
ICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSog
aGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAg
ICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAg
LTU4NCwxMSArNTg1LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihj
b25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgICAgIC8vIE5l
ZWQgdG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUgYmxvY2sgaW4g
dGhpcyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRoZSBsYXN0IHJv
b3QgbGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAgIE5vZGUqIG4g
PSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAgICBOb2RlKiBu
ID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBlZGl0YWJsZVR5cGUpOwog
ICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5s
aW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBp
ZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9
IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQ
b3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gbi0+aGFz
VGFnTmFtZShiclRhZykgPyBwb3NpdGlvbkJlZm9yZU5vZGUobikgOiBjcmVhdGVMZWdhY3lFZGl0
aW5nUG9zaXRpb24obiwgY2FyZXRNYXhPZmZzZXQobikpOwogICAgICAgICAgICAgaWYgKHBvcy5p
c0NhbmRpZGF0ZSgpKSB7CkBAIC02MDEsNyArNjAyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZp
b3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQKIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBET1dOU1RS
RUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAgLTYx
OCw3ICs2MTksNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgIC8vIENvdWxkIG5vdCBm
aW5kIGEgcHJldmlvdXMgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhl
IGZpcnN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGNvbnRlbnQgaW4g
dGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgc3Rh
cnQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2Rl
LT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5v
ZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVt
ZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2RlLT5yb290
RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVu
dEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJs
ZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0aW9uSW5O
b2RlKHJvb3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CkBAIC02MzgsMjYgKzYzOSwyNyBAQCBzdGF0
aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIGludCBvZmZz
ZXQpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0Vk
aXRhYmxlKQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAg
Ym9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRp
dGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKICAgICBOb2Rl
KiBuID0gbm9kZS0+bmV4dExlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYg
KGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFi
bGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gbjsKICAgICAgICAgbiA9IG4tPm5leHRMZWFmTm9kZSgpOwogICAgIH0KICAgICByZXR1
cm4gMDsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpCitWaXNp
YmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVUeXBlIGVkaXRhYmxl
VHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50
KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdo
ZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3Qg
PSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAgICBpZiAoIW5vZGUp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTY4Niw5ICs2ODgs
OSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0g
ZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKICAgICAgICAgTm9kZSog
biA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBwLmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05v
ZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRo
U2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAg
ICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4p
KSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZp
cnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9v
dCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IGNy
ZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAgICAg
ICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDQsNyBAQCBWaXNpYmxl
UG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQ
b3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5leHRM
ZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAgICAK
QEAgLTcxOSw3ICs3MjEsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgIC8vIENvdWxk
IG5vdCBmaW5kIGEgbmV4dCBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0
aGUgbGFzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgY29udGVudCBpbiB0
aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBlbmQg
b2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUo
cm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3Vu
aXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uM2Nh
NGNkYWFjM2RiYTJhMTMzNzg0Zjg1NzI1ZGE0YTZkZTg1NDk5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5l
eHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBW
aXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlz
aWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxl
UG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJs
ZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsK
K1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYs
IGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxl
KTsKIGJvb2wgaW5TYW1lTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogYm9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
KTsKIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNk
MTM5YjQ1OGFlYTFlZThhNDdhNDRmYWVjYTJkNTJmYzg4ODBiYTIuLjhlNjBiNTZjMzk0YTNhZDIy
Mjg0NmZjODY4ZThlODFiZGVlY2RlZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0y
MCAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBv
cnQgY29ycmVjdCBsaW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1l
bnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEy
NjMKKworICAgICAgICBSZXZpZXdlZCBieSBybml3YUB3ZWJraXQub3JnLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMt
bGluZS1udW1iZXIuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMDMgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFN1cHBvcnQgUlRMIHBhZ2Vz
IGFuZCBlbGVtZW50cyBpbiB0aGUgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUt
bnVtYmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTkyYzI0NzdlMGE1MzQ3MWZlNDIyZjM3
YTcyOWJiOTA0N2UzODcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNSBAQAorU29tZSB0ZXh0IGluIGEgdGV4dGJveAorU29tZSB0ZXh0IGluIGEKK211bHRp
bGluZSB0ZXh0Ym94LgorVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBp
cyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJh
c2VBbmRFeHRlbnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hp
bGROb2Rlc1swXSwgMCk7IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMAor
UEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlh
VGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVz
WzBdLCAxKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94
LmNoaWxkTm9kZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEp
OyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVt
YmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4ZGUzYmRkMDUzMThkMmNhOGZiMTk3NDFhOWNjMmVjMzc1
YWE2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0iYXJp
YVRleHRCb3giIGFyaWEtbXVsdGlsaW5lPSJmYWxzZSIgdGFiaW5kZXg9IjAiPlNvbWUgdGV4dCBp
biBhIHRleHRib3g8L2Rpdj4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9Im11bHRpbGluZUFyaWFU
ZXh0Qm94IiBhcmlhLW11bHRpbGluZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPjxkaXY+U29tZSB0ZXh0
IGluIGE8L2Rpdj48ZGl2Pm11bHRpbGluZSB0ZXh0Ym94LjwvZGl2PjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0
aGUgQVhTZWxlY3Rpb24gcHJvcGVydHkgaXMgY29ycmVjdGx5IHJlcG9ydGVkIGZvciBub24tbmF0
aXZlIHRleHQgYm94ZXMuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYg
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciBhcmlhVGV4dEJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgIGFyaWFUZXh0Qm94LmZvY3VzKCk7
CisgICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OworCisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0
ZW50KGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDAsIGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNb
MF0sIDApOyIKKyAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIi
LCAiMCIpOworCisKKyAgICB2YXIgbXVsdGlsaW5lQXJpYVRleHRCb3ggPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibXVsdGlsaW5lQXJpYVRleHRCb3giKTsKKyAgICBtdWx0aWxpbmVBcmlhVGV4
dEJveC5mb2N1cygpOworICAgIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OworCisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRC
YXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRp
bGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyIKKyAgICAgICAgKyAiIGF4RWxlbWVu
dC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGls
ZE5vZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisg
ICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjEiKTsKK30K
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121364</attachid>
            <date>2012-01-05 16:31:28 -0800</date>
            <delta_ts>2012-01-05 21:10:04 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71263-20120106113125.patch</filename>
            <type>text/plain</type>
            <size>27909</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uOGUxZjI5M2UxNjRjNDBkYWZiMmJkYjRiZmM2NzE5
Y2M5NzY3YWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IHJuaXdhQHdlYmtpdC5vcmcuCisKKyAgICAgICAgQSBub24tbmF0
aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudCBpcyBhbiBlbGVtZW50IHdpdGggYW4gQVJJQSByb2xl
IG9mICJ0ZXh0Ym94Iiwgd2hpY2ggaXMKKyAgICAgICAgc2V0IG9uIGFuIGVsZW1lbnQgd2hpY2gg
YmVoYXZlcyBsaWtlIGFuIGVkaXRhYmxlIHRleHQgZWxlbWVudCAoc3VjaCBhcyBhIHRleHRhcmVh
LCB0ZXh0CisgICAgICAgIGlucHV0IGZpZWxkIG9yIGNvbnRlbnRlZGl0YWJsZSB0ZXh0KSwgYnV0
IHdob3NlIGJlaGF2aW91ciBpcyBjb250cm9sbGVkIGJ5IHRoZSBhdXRob3IgcmF0aGVyCisgICAg
ICAgIHRoYW4gdGhlIGJyb3dzZXIuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgY2VydGFp
biBtZXRob2RzIG9uIE5vZGUsIGFuZCByZWxhdGVkIG1ldGhvZHMgaW4gaHRtbGVkaXRpbmcgYW5k
CisgICAgICAgIHZpc2libGVfdW5pdHMsIGF3YXJlIG9mIHRoZSBub3Rpb24gdGhhdCBhbiBlbGVt
ZW50IG1heSBiZSBlZGl0YWJsZSBvbmx5IGZyb20gdGhlIHBvaW50IG9mCisgICAgICAgIHZpZXcg
b2YgYXNzaXN0aXZlIHRlY2hub2xvZ3kgKHZpYSB0aGUgQVJJQSB0ZXh0Ym94IHJvbGUpLCB2aWEg
dGhlIEVkaXRhYmxlVHlwZSBlbnVtIGFkZGVkIHRvCisgICAgICAgIEVkaXRpbmdCb3VuZGFyeS5o
LgorCisgICAgICAgIFRoaXMgaXMgc28gdGhhdCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9y
UG9zaXRpb24oKSBjYW4gdXNlIHByZXZpb3VzTGluZVBvc2l0aW9uKCksIGFuZAorICAgICAgICBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbigpIGNhbiB1
c2UgaGlnaGVzdEVkaXRhYmxlUm9vdCgpLCBpbiBhIHdheQorICAgICAgICB0aGF0IHJlc3BlY3Rz
IG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS90
ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KTogUmV0dXJucyB0aGUgcm9vdCBlbGVtZW50IHdoaWNo
IGlzCisgICAgICAgIGVkaXRhYmxlIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgb2YgYXNzaXN0aXZl
IHRlY2hub2xvZ3ksIHdoZXRoZXIgbmF0aXZlbHkgb3Igb3RoZXJ3aXNlLgorICAgICAgICAoV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZUlzVGV4dENvbnRyb2wpOiBXaGV0aGVyIHRoZSBnaXZl
biBub2RlIGlzIGNvbnNpZGVyZWQgYW4KKyAgICAgICAgZWRpdGFibGUgdGV4dCBlbGVtZW50IGJ5
IGFzc2lzdGl2ZSB0ZWNobm9sb2d5LCBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbik6IE1vZGlmaWVkIHRvIHJlcXVl
c3QgdGhlIHByZXZpb3VzIGxpbmUKKyAgICAgICAgcG9zaXRpb24gaW4gYW4gZWxlbWVudCB3aGlj
aCBpcyBlZGl0YWJsZSB0byBBY2Nlc3NpYmlsaXR5LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjppbmRleEZvclZpc2libGVQb3NpdGlvbik6IE1vZGlmaWVkIHRv
IHJlcXVlc3QgdGhlCisgICAgICAgIGhpZ2hlc3Qgcm9vdCBlbGVtZW50IHdoaWNoIGlzIGVkaXRh
YmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KTogV2hldGhl
ciB0aGlzIG5vZGUgaXMgZWRpdGFibGUgdG8KKyAgICAgICAgQWNjZXNzaWJpbGl0eSBmb3IgdGhl
IGdpdmVuIEVkaXRhYmxlTGV2ZWwuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyb290RWRpdGFi
bGVFbGVtZW50KTogT3ZlcmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIHdoaWNoIHRha2Vz
IGFuCisgICAgICAgIEVkaXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBu
b24tbmF0aXZlIGVkaXRhYmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAgICAgKiBkb20v
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0VkaXRhYmxlKTogT3Zl
cmxvYWRlZCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIHdoaWNoIHRha2VzIGFuCisgICAgICAgIEVk
aXRhYmxlVHlwZSBlbnVtIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBub24tbmF0aXZlIGVkaXRh
YmlsaXR5IGlzIHRvIGJlIHJlc3BlY3RlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbmRl
cmVySXNSaWNobHlFZGl0YWJsZSk6ICBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qg
d2hpY2ggdGFrZXMKKyAgICAgICAgYW4gRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGlu
ZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5Lmg6CisgICAgICAgICogZWRpdGluZy9odG1s
ZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoaWdoZXN0RWRpdGFibGVSb290KTogQWRk
ZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Omlz
RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIu
CisgICAgICAgIChXZWJDb3JlOjppc1JpY2hseUVkaXRhYmxlUG9zaXRpb24pOiBBZGRlZCBvcHRp
b25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6ZWRpdGFibGVS
b290Rm9yUG9zaXRpb24pOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgor
ICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAgICAgICAgKiBlZGl0aW5nL3Zpc2li
bGVfdW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpwcmV2aW91c0xpbmVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxl
VHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkpOiBBZGRlZCBvcHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAo
V2ViQ29yZTo6bmV4dExpbmVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBw
YXJhbWV0ZXIuCisgICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6CisKIDIwMTEtMTIt
MjIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgRGF0ZSBhbmQgVGltZSBJbnB1dCBWYWx1ZSBTYW5pdGl6YXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA4ZDM5ZDI0MjNh
MDliZGYyZTAzNDhmMTliY2FkMTkxYjY0YjFmYzYuLmMwYjJiYWI1NWYyYjY0N2QzZTMxOWVjMjA2
ZGFlMThmNDhmODMwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcApAQCAtNjYyLDUgKzY2MiwyNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnRl
eHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0ZXh0TWFya2Vy
RAogICAgIAogICAgIGNhY2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0gICAgCisKK2Nv
bnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQoreworICAgIGNvbnN0IEVsZW1lbnQqIHJlc3VsdCA9IG5vZGUtPnJvb3RFZGl0
YWJsZUVsZW1lbnQoKTsKKyAgICBjb25zdCBFbGVtZW50KiBlbGVtZW50ID0gbm9kZS0+aXNFbGVt
ZW50Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVudCgpOworCisg
ICAgZm9yICg7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCkpIHsK
KyAgICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGVsZW1lbnQpKQorICAgICAgICAgICAgcmVz
dWx0ID0gZWxlbWVudDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIEFY
T2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAg
aWYgKCFub2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBheE9iamVjdCA9IGdldE9yQ3JlYXRlKG5vZGUtPnJlbmRlcmVyKCkpOworICAg
IHJldHVybiBheE9iamVjdCAmJiBheE9iamVjdC0+aXNUZXh0Q29udHJvbCgpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCmluZGV4IDU2MGUwZjM0YjE2MTc1NzYxMmMwODJhMmViYzZhYjI3YzhlOTg5YmEu
LjdkYmU1NmQ0MDZjZjcxZmQyODc4M2YzYjQ4Zjg1ZmI5OGJhYTUzMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMDYsNiArMTA2LDExIEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAg
ICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJblVzZS5jb250
YWlucyhpZCk7IH0KKworICAgIEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVudChOb2RlKik7
CisgICAgY29uc3QgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0IE5vZGUqKTsK
KyAgICBib29sIG5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqKTsKKwogICAgIEFYSUQgcGxh
dGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmpl
Y3RGcm9tQVhJRChBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX29iamVjdHMuZ2V0KGlkKS5nZXQo
KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAppbmRleCBmNjA1ZmZmZTVjZjY1YmI4Nzk3M2FkZGMyZGUyNzkwZTcyMGU1
YzVkLi4yZGIwMjIyZTE3YmM0OTY5ZGM3NjIzYjJmM2U0ZGQxNmEwMTI1YTU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
QEAgLTEwNDAsNyArMTA0MCw3IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAgICAgLy8gdG9w
IGRvY3VtZW50LgogICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0gY3VycmVudFZp
c2libGVQb3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBvcyA9IHByZXZp
b3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAgVmlzaWJsZVBv
c2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3VycmVudFZpc2li
bGVQb3MsIDAsIEhhc0VkaXRhYmxlQVhSb2xlKTsKICAgICAgICAgY3VycmVudFZpc2libGVQb3Mg
PSBwcmV2VmlzaWJsZVBvczsKICAgICAgICAgKytsaW5lQ291bnQ7CiAgICAgfSAgd2hpbGUgKGN1
cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJyZW50VmlzaWJs
ZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggZDNhM2M0
YzYwOWE5NTg0OTA4MzcxMmRkZjg5ZDU4YWMxOTE4ZmVhNy4uNzMwYzExYzNhNGYzZGRiZDNhOWM2
MjRlODcwMzY3NGExYjVjZTlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yNTQ1LDcgKzI1
NDUsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogICAgICAgICByZXR1cm4gMDsKICAgICAK
ICAgICBQb3NpdGlvbiBpbmRleFBvc2l0aW9uID0gcG9zLmRlZXBFcXVpdmFsZW50KCk7Ci0gICAg
aWYgKGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgcm9vdEVkaXRhYmxlRWxlbWVudEZvclBvc2l0
aW9uKGluZGV4UG9zaXRpb24pICE9IG5vZGUpCisgICAgaWYgKGluZGV4UG9zaXRpb24uaXNOdWxs
KCkgfHwgaGlnaGVzdEVkaXRhYmxlUm9vdChpbmRleFBvc2l0aW9uLCBIYXNFZGl0YWJsZUFYUm9s
ZSkgIT0gbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggOWU2ZGQ1ZmFjNmZkZWUwZmUwYzZjYzNhN2QyNDlh
MmE1ZmE5NmM0OS4uMDU3YTEyYjQ2MGU3ZDk1YmYyOTM3MmU2NzNmMzdhMzRmYmZmYjE1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcApAQCAtNzg4LDYgKzc4OCwyNSBAQCBib29sIE5vZGU6OnJlbmRlcmVySXNF
ZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCitib29sIE5vZGU6OmlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGVM
ZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAoreworICAgIGlmIChyZW5kZXJlcklzRWRpdGFibGUo
ZWRpdGFibGVMZXZlbCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gRklYTUU6IFJl
c3BlY3QgZWRpdGFibGVMZXZlbCBmb3IgQVJJQSBlZGl0YWJsZSBlbGVtZW50cy4KKyAgICBpZiAo
ZWRpdGFibGVMZXZlbCA9PSBSaWNobHlFZGl0YWJsZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgQVNTRVJUKGRvY3VtZW50KCkpOworICAgIEFTU0VSVChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNo
ZUV4aXN0cygpKTsKKworICAgIGlmIChkb2N1bWVudCgpICYmIEFYT2JqZWN0Q2FjaGU6OmFjY2Vz
c2liaWxpdHlFbmFibGVkKCkgJiYgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4aXN0cygpKQor
ICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290QVhFZGl0YWJs
ZUVsZW1lbnQodGhpcyk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgTm9kZTo6c2hv
dWxkVXNlSW5wdXRNZXRob2QoKQogewogICAgIHJldHVybiBpc0NvbnRlbnRFZGl0YWJsZSgpOwpA
QCAtMTYxNCw2ICsxNjMzLDE0IEBAIEVsZW1lbnQgKk5vZGU6OmVuY2xvc2luZ0Jsb2NrRmxvd0Vs
ZW1lbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitFbGVtZW50KiBOb2RlOjpyb290RWRp
dGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpIGNvbnN0Cit7CisgICAgaWYg
KGVkaXRhYmxlVHlwZSA9PSBIYXNFZGl0YWJsZUFYUm9sZSkKKyAgICAgICAgcmV0dXJuIGNvbnN0
X2Nhc3Q8RWxlbWVudCo+KGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9vdEFYRWRpdGFi
bGVFbGVtZW50KHRoaXMpKTsKKworICAgIHJldHVybiByb290RWRpdGFibGVFbGVtZW50KCk7Cit9
CisKIEVsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAogewogICAgIEVs
ZW1lbnQqIHJlc3VsdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBmYTY5Yjc1OTQwYjNkNDE4N2JjOTc0
NTM1NjNkYTljYWJkMWI1OTZmLi43NWVmNmI5ZDM5ZDY4YzZhMmM3YTM3NjZjOTVhNWYwNzJmNjBl
MWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpZm5kZWYgTm9kZV9oCiAjZGVm
aW5lIE5vZGVfaAogCisjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVz
LmgiCkBAIC0yNzYsNyArMjc3LDggQEAgcHVibGljOgogICAgIEVsZW1lbnQqIGVuY2xvc2luZ0Js
b2NrRmxvd0VsZW1lbnQoKSBjb25zdDsKICAgICAKICAgICBFbGVtZW50KiByb290RWRpdGFibGVF
bGVtZW50KCkgY29uc3Q7Ci0gICAgCisgICAgRWxlbWVudCogcm9vdEVkaXRhYmxlRWxlbWVudChF
ZGl0YWJsZVR5cGUpIGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250YWluaW5nQmxvY2tGbG93
RWxlbWVudChOb2RlKik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3aGVuIHRoaXMg
ZWxlbWVudCdzIGNsb3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzUzLDggKzM1NSwzMCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXNDb250ZW50Umlj
aGx5RWRpdGFibGUoKTsKIAotICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkgY29uc3QgeyBy
ZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQotICAgIGJvb2wgcmVuZGVyZXJJ
c1JpY2hseUVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hs
eUVkaXRhYmxlKTsgfQorICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlVHlwZSBl
ZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3
aXRjaCAoZWRpdGFibGVUeXBlKSB7CisgICAgICAgIGNhc2UgQ29udGVudElzRWRpdGFibGU6Cisg
ICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsKKyAgICAgICAg
Y2FzZSBIYXNFZGl0YWJsZUFYUm9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0VkaXRhYmxlVG9B
Y2Nlc3NpYmlsaXR5KEVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGJvb2wgcmVuZGVy
ZXJJc1JpY2hseUVkaXRhYmxlKEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBDb250ZW50SXNF
ZGl0YWJsZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVUeXBlKSB7Cisg
ICAgICAgIGNhc2UgQ29udGVudElzRWRpdGFibGU6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVy
ZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgY2FzZSBIYXNFZGl0YWJsZUFY
Um9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0VkaXRhYmxlVG9BY2Nlc3NpYmlsaXR5KFJpY2hs
eUVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJ
bnB1dE1ldGhvZCgpOwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRSZWN0KCkgY29uc3Q7CiAg
ICAgTGF5b3V0UmVjdCByZW5kZXJSZWN0KGJvb2wqIGlzUmVwbGFjZWQpOwpAQCAtNzA1LDYgKzcy
OSw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmlj
aGx5RWRpdGFibGUgfTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVs
KSBjb25zdDsKKyAgICBib29sIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRpdGFibGVMZXZl
bCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxlQ2hhbmdlKFN0eWxlQ2hhbmdlVHlwZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5kYXJ5LmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCmluZGV4IGY4YWMxY2IwNDU2
ODVmMmViNGRkZTI5NjRiYThkZmEwYzBlZDVhODQuLmVjZTdlMDM2ZGE1YmFmZjFiMWQxNTZjYWI2
ZGFkN2U4M2VjYzA0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z0JvdW5kYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQm91bmRhcnku
aApAQCAtMzQsNiArMzQsMTEgQEAgZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgewog
ICAgIENhblNraXBPdmVyRWRpdGluZ0JvdW5kYXJ5CiB9OwogCitlbnVtIEVkaXRhYmxlVHlwZSB7
CisgICAgQ29udGVudElzRWRpdGFibGUsCisgICAgSGFzRWRpdGFibGVBWFJvbGUKK307CisKIH0K
IAogI2VuZGlmIC8vIEVkaXRpbmdCb3VuZGFyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwCmluZGV4IDZmNDBhYmJlOWI2ZDJhYzJlMTczNGE4Y2VjM2RiMGRhNzhlMTRiMzku
LjRlNmQ1MjgxNDRiYzJkOThmY2FhMTFiZjM1ZGNhNTRiNGRkZTRmZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtNDYsNiArNDcsNyBAQAogI2luY2x1ZGUgIlRl
eHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgInZp
c2libGVfdW5pdHMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5o
PgogCkBAIC0xMDQsMTkgKzEwNiwxOSBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNp
YmxlUG9zaXRpb24mIGEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYikKICAgICByZXR1cm4gY29t
cGFyZVBvc2l0aW9ucyhhLmRlZXBFcXVpdmFsZW50KCksIGIuZGVlcEVxdWl2YWxlbnQoKSk7CiB9
CiAKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQor
Tm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24sIEVkaXRh
YmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0aW9uLmRlcHJl
Y2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
Ci0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3NpdGlv
bik7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3Np
dGlvbiwgZWRpdGFibGVUeXBlKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAgICAgICByZXR1
cm4gMDsKICAgICAKICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUgKG5vZGUpIHsK
LSAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAobm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICBoaWdoZXN0
Um9vdCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGJvZHlUYWcpKQogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xNDMsNyArMTQ1LDcgQEAgTm9kZSogbG93ZXN0RWRpdGFibGVB
bmNlc3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQogCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAg
IE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMTUy
LDcgKzE1NCw3IEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQog
ICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkK
ICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9k
ZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNFZGl0
YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0xNjIsNyArMTY0LDcgQEAgYm9vbCBpc0F0VW5zcGxpdHRh
YmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogfQogICAgIAogICAgIAotYm9vbCBpc1Jp
Y2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlzUmljaGx5RWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlw
ZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAgIGlmICghbm9k
ZSkKQEAgLTE3MSwxMCArMTczLDEwIEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKGNv
bnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRl
cmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAg
ICAKLSAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCk7CisgICAgcmV0
dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCi1F
bGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK0VsZW1l
bnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5
cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5lck5vZGUoKTsK
ICAgICBpZiAoIW5vZGUpCkBAIC0xODMsNyArMTg1LDcgQEAgRWxlbWVudCogZWRpdGFibGVSb290
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkg
JiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFy
ZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVFbGVtZW50KCk7
CisgICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVUeXBlKTsKIH0K
IAogLy8gRmluZHMgdGhlIGVuY2xvc2luZyBlbGVtZW50IHVudGlsIHdoaWNoIHRoZSB0cmVlIGNh
biBiZSBzcGxpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRp
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAppbmRleCBjNmI2ZGQ3
YTFlMmZlODU2ZDMyOTg5Y2IzNTVkODY3MjA3Nzc0ZDUzLi4wZjJkMWJkYzBkNTg3YWE5MzVmOTZk
NzBmMDU0NGEyNWYwYWE2ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0
bWxlZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCkBA
IC01NCw3ICs1NCw4IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAvLyBGdW5jdGlvbnMgcmV0
dXJuaW5nIE5vZGUKIAogTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKLU5vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RFZGl0YWJsZVJv
b3QoY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CisK
IE5vZGUqIGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAo
Km5vZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLAogICAgIEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5n
UnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LCBOb2RlKiBzdGF5V2l0aGluID0gMCk7
CiBOb2RlKiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqKTsKQEAgLTE1MSw4ICsx
NTIsOCBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0
aW9uJik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCiAgICAgCi1ib29sIGlz
RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBpc1JpY2hseUVkaXRhYmxl
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpOworYm9vbCBpc1Jp
Y2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250
ZW50SXNFZGl0YWJsZSk7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVt
ZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlvbkluU3BlY2lh
bEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgbGluZUJyZWFrRXhpc3RzQXRQb3NpdGlv
bihjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIxLDcgKzIyMiw3IEBAIFBhc3NSZWZQdHI8RWxlbWVu
dD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRl
eHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50KERvY3VtZW50
KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxv
Y2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRpdGFibGVSb290
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUp
OwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9u
Jik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGM5MTczY2I2NWE2MzgwYThlNzgyOTZlNTFmODIy
YzM0MzRmYjllZmEuLjMzODEyNzgwMTRjMTQ5ZDY4MzY4YzVmYTY0NzIzZDViNGY1N2M4NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtNTE4LDEyICs1MTgs
MTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJnApCiB9CiAKIC8v
IFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRoZSBzYW1lIGVkaXRhYmlsaXR5
IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShO
b2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRpdGFiaWxpdHko
Tm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKLSAgICBib29sIGVkaXRh
YmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0YWJsZSA9IG5v
ZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUqIG4gPSBub2Rl
LT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKGVkaXRh
YmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFibGUgPT0g
bi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICByZXR1cm4g
bjsKICAgICAgICAgbiA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBAIC01NTMsMTEg
KzU1MywxMiBAQCBzdGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURpcmVjdGlvblBv
aW50VG9Mb2NhbFBvaW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJbnRQb2ludChy
b290LT5zZWxlY3Rpb25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1dGVCbG9ja1Bv
aW50LnkoKSk7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2lu
dCkKK1Zpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9z
aXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVU
eXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRl
ZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAg
ICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSog
aGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAg
ICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAg
LTU4NCwxMSArNTg1LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihj
b25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAgICAgIC8vIE5l
ZWQgdG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUgYmxvY2sgaW4g
dGhpcyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRoZSBsYXN0IHJv
b3QgbGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRCbG9jayA9IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAgIE5vZGUqIG4g
PSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAgICBOb2RlKiBu
ID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBlZGl0YWJsZVR5cGUpOwog
ICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5s
aW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAgICAgICAgICBp
ZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobikpICE9
IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQ
b3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hlc3RSb290KQog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9zID0gbi0+aGFz
VGFnTmFtZShiclRhZykgPyBwb3NpdGlvbkJlZm9yZU5vZGUobikgOiBjcmVhdGVMZWdhY3lFZGl0
aW5nUG9zaXRpb24obiwgY2FyZXRNYXhPZmZzZXQobikpOwogICAgICAgICAgICAgaWYgKHBvcy5p
c0NhbmRpZGF0ZSgpKSB7CkBAIC02MDEsNyArNjAyLDcgQEAgVmlzaWJsZVBvc2l0aW9uIHByZXZp
b3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uLCBp
bnQKIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBET1dOU1RS
RUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAgLTYx
OCw3ICs2MTksNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgIC8vIENvdWxkIG5vdCBm
aW5kIGEgcHJldmlvdXMgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkgYmUgb24gdGhl
IGZpcnN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGNvbnRlbnQgaW4g
dGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0byB0aGUgc3Rh
cnQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2Rl
LT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5v
ZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVt
ZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2RlLT5yb290
RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVu
dEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJs
ZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBvc2l0aW9uSW5O
b2RlKHJvb3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CkBAIC02MzgsMjYgKzYzOSwyNyBAQCBzdGF0
aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUsIGludCBvZmZz
ZXQpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhTYW1lRWRpdGFi
aWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0Vk
aXRhYmxlKQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAg
Ym9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAgIGJvb2wgZWRp
dGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsKICAgICBOb2Rl
KiBuID0gbm9kZS0+bmV4dExlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYg
KGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRpdGFi
bGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gbjsKICAgICAgICAgbiA9IG4tPm5leHRMZWFmTm9kZSgpOwogICAgIH0KICAgICByZXR1
cm4gMDsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpCitWaXNp
YmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2li
bGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVUeXBlIGVkaXRhYmxl
VHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50
KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBOb2RlKiBoaWdo
ZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGlnaGVzdFJvb3Qg
PSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAgICBpZiAoIW5vZGUp
CiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTY4Niw5ICs2ODgs
OSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBOb2RlKiBzdGFydEJsb2NrID0g
ZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKICAgICAgICAgTm9kZSog
biA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBwLmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05v
ZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gbmV4dExlYWZXaXRo
U2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewotICAgICAgICAg
ICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4p
KSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFibGVSb290KGZp
cnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBoaWdoZXN0Um9v
dCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9uIHBvcyA9IGNy
ZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7CiAgICAgICAg
ICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDQsNyBAQCBWaXNpYmxl
UG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQ
b3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbiA9IG5leHRM
ZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAgICAK
QEAgLTcxOSw3ICs3MjEsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgIC8vIENvdWxk
IG5vdCBmaW5kIGEgbmV4dCBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFkeSBiZSBvbiB0
aGUgbGFzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgY29udGVudCBpbiB0
aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRvIHRoZSBlbmQg
b2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQgPSBub2RlLT5y
ZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IG5vZGUt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJvb3RFbGVtZW50
ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2RlLT5yb290RWRp
dGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5kb2N1bWVudEVs
ZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4gVmlzaWJsZVBv
c2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRpb25Jbk5vZGUo
cm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3Vu
aXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4ODAxMy4uM2Nh
NGNkYWFjM2RiYTJhMTMzNzg0Zjg1NzI1ZGE0YTZkZTg1NDk5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBvc2l0aW9uIG5l
eHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8vIGxpbmVzCiBW
aXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogVmlz
aWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1WaXNpYmxl
UG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24o
Y29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOworVmlzaWJs
ZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGlu
dCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxlKTsK
K1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYs
IGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0VkaXRhYmxl
KTsKIGJvb2wgaW5TYW1lTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICYpOwogYm9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
KTsKIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNk
MTM5YjQ1OGFlYTFlZThhNDdhNDRmYWVjYTJkNTJmYzg4ODBiYTIuLjhlNjBiNTZjMzk0YTNhZDIy
Mjg0NmZjODY4ZThlODFiZGVlY2RlZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0y
MCAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBv
cnQgY29ycmVjdCBsaW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0ZXh0IGVsZW1l
bnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEy
NjMKKworICAgICAgICBSZXZpZXdlZCBieSBybml3YUB3ZWJraXQub3JnLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMt
bGluZS1udW1iZXIuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMDMgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFN1cHBvcnQgUlRMIHBhZ2Vz
IGFuZCBlbGVtZW50cyBpbiB0aGUgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUt
bnVtYmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTkyYzI0NzdlMGE1MzQ3MWZlNDIyZjM3
YTcyOWJiOTA0N2UzODcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS90ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNSBAQAorU29tZSB0ZXh0IGluIGEgdGV4dGJveAorU29tZSB0ZXh0IGluIGEKK211bHRp
bGluZSB0ZXh0Ym94LgorVGhpcyB0ZXN0cyB0aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBp
cyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5vbi1uYXRpdmUgdGV4dCBib3hlcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJh
c2VBbmRFeHRlbnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hp
bGROb2Rlc1swXSwgMCk7IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMAor
UEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlh
VGV4dEJveC5jaGlsZE5vZGVzWzBdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVz
WzBdLCAxKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBpcyAwCitQQVNTIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94
LmNoaWxkTm9kZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEp
OyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVt
YmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4ZGUzYmRkMDUzMThkMmNhOGZiMTk3NDFhOWNjMmVjMzc1
YWE2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJv
eC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0iYXJp
YVRleHRCb3giIGFyaWEtbXVsdGlsaW5lPSJmYWxzZSIgdGFiaW5kZXg9IjAiPlNvbWUgdGV4dCBp
biBhIHRleHRib3g8L2Rpdj4KKzxkaXYgcm9sZT0idGV4dGJveCIgaWQ9Im11bHRpbGluZUFyaWFU
ZXh0Qm94IiBhcmlhLW11bHRpbGluZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPjxkaXY+U29tZSB0ZXh0
IGluIGE8L2Rpdj48ZGl2Pm11bHRpbGluZSB0ZXh0Ym94LjwvZGl2PjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0
aGUgQVhTZWxlY3Rpb24gcHJvcGVydHkgaXMgY29ycmVjdGx5IHJlcG9ydGVkIGZvciBub24tbmF0
aXZlIHRleHQgYm94ZXMuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYg
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciBhcmlhVGV4dEJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcmlhVGV4dEJveCIpOworICAgIGFyaWFUZXh0Qm94LmZvY3VzKCk7
CisgICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OworCisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0
ZW50KGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDAsIGFyaWFUZXh0Qm94LmNoaWxkTm9kZXNb
MF0sIDApOyIKKyAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIi
LCAiMCIpOworCisKKyAgICB2YXIgbXVsdGlsaW5lQXJpYVRleHRCb3ggPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibXVsdGlsaW5lQXJpYVRleHRCb3giKTsKKyAgICBtdWx0aWxpbmVBcmlhVGV4
dEJveC5mb2N1cygpOworICAgIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OworCisgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRC
YXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRp
bGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEpOyIKKyAgICAgICAgKyAiIGF4RWxlbWVu
dC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMCIpOworICAgIHNob3VsZEJlKCJ3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGls
ZE5vZGVzWzFdLCAxLCBtdWx0aWxpbmVBcmlhVGV4dEJveC5jaGlsZE5vZGVzWzFdLCAxKTsiCisg
ICAgICAgICsgIiBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIiwgIjEiKTsKK30K
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121394</attachid>
            <date>2012-01-05 21:10:24 -0800</date>
            <delta_ts>2012-01-06 00:53:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71263-20120106161018.patch</filename>
            <type>text/plain</type>
            <size>1031171</size>
            <attacher name="Alice Boxhall">aboxhall</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY0NjIxMmQ3ZTA3NjQ3
YTM4NzYzZWYzYjgyZjE0NjY1ZTBhZjhmMC4uODJmZGI4MzY2YjEyMzlkYTdhYzBjMGFmYWZhZTNh
YjFhZjE4YzNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDExLTEyLTIwICBBbGlj
ZSBCb3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcG9ydCBjb3Jy
ZWN0IGxpbmUgbnVtYmVyIGZvciBub24tbmF0aXZlIGVkaXRhYmxlIHRleHQgZWxlbWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MworCisg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBBIG5vbi1uYXRpdmUg
ZWRpdGFibGUgdGV4dCBlbGVtZW50IGlzIGFuIGVsZW1lbnQgd2l0aCBhbiBBUklBIHJvbGUgb2Yg
InRleHRib3giLCB3aGljaCBpcworICAgICAgICBzZXQgb24gYW4gZWxlbWVudCB3aGljaCBiZWhh
dmVzIGxpa2UgYW4gZWRpdGFibGUgdGV4dCBlbGVtZW50IChzdWNoIGFzIGEgdGV4dGFyZWEsIHRl
eHQKKyAgICAgICAgaW5wdXQgZmllbGQgb3IgY29udGVudGVkaXRhYmxlIHRleHQpLCBidXQgd2hv
c2UgYmVoYXZpb3VyIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGF1dGhvciByYXRoZXIKKyAgICAgICAg
dGhhbiB0aGUgYnJvd3Nlci4KKworICAgICAgICBUaGlzIGNoYW5nZSBtYWtlcyBjZXJ0YWluIG1l
dGhvZHMgb24gTm9kZSwgYW5kIHJlbGF0ZWQgbWV0aG9kcyBpbiBodG1sZWRpdGluZyBhbmQKKyAg
ICAgICAgdmlzaWJsZV91bml0cywgYXdhcmUgb2YgdGhlIG5vdGlvbiB0aGF0IGFuIGVsZW1lbnQg
bWF5IGJlIGVkaXRhYmxlIG9ubHkgZnJvbSB0aGUgcG9pbnQgb2YKKyAgICAgICAgdmlldyBvZiBh
c3Npc3RpdmUgdGVjaG5vbG9neSAodmlhIHRoZSBBUklBIHRleHRib3ggcm9sZSksIHZpYSB0aGUg
RWRpdGFibGVUeXBlIGVudW0gYWRkZWQgdG8KKyAgICAgICAgRWRpdGluZ0JvdW5kYXJ5LmguCisK
KyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3Np
dGlvbigpIGNhbiB1c2UgcHJldmlvdXNMaW5lUG9zaXRpb24oKSwgYW5kCisgICAgICAgIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCkgY2FuIHVzZSBo
aWdoZXN0RWRpdGFibGVSb290KCksIGluIGEgd2F5CisgICAgICAgIHRoYXQgcmVzcGVjdHMgbm9u
LW5hdGl2ZSBlZGl0YWJpbGl0eS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3RleHRi
b3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpy
b290QVhFZGl0YWJsZUVsZW1lbnQpOiBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgd2hpY2ggaXMK
KyAgICAgICAgZWRpdGFibGUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBhc3Npc3RpdmUgdGVj
aG5vbG9neSwgd2hldGhlciBuYXRpdmVseSBvciBvdGhlcndpc2UuCisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpub2RlSXNUZXh0Q29udHJvbCk6IFdoZXRoZXIgdGhlIGdpdmVuIG5v
ZGUgaXMgY29uc2lkZXJlZCBhbgorICAgICAgICBlZGl0YWJsZSB0ZXh0IGVsZW1lbnQgYnkgYXNz
aXN0aXZlIHRlY2hub2xvZ3ksIG5hdGl2ZWx5IG9yIG90aGVyd2lzZS4KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVxdWVzdCB0
aGUgcHJldmlvdXMgbGluZQorICAgICAgICBwb3NpdGlvbiBpbiBhbiBlbGVtZW50IHdoaWNoIGlz
IGVkaXRhYmxlIHRvIEFjY2Vzc2liaWxpdHkuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKTogTW9kaWZpZWQgdG8gcmVx
dWVzdCB0aGUKKyAgICAgICAgaGlnaGVzdCByb290IGVsZW1lbnQgd2hpY2ggaXMgZWRpdGFibGUg
dG8gQWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkpOiBXaGV0aGVyIHRo
aXMgbm9kZSBpcyBlZGl0YWJsZSB0bworICAgICAgICBBY2Nlc3NpYmlsaXR5IGZvciB0aGUgZ2l2
ZW4gRWRpdGFibGVMZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJvb3RFZGl0YWJsZUVs
ZW1lbnQpOiBPdmVybG9hZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4K
KyAgICAgICAgRWRpdGFibGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1u
YXRpdmUgZWRpdGFiaWxpdHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAqIGRvbS9Ob2Rl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW5kZXJlcklzRWRpdGFibGUpOiBPdmVybG9h
ZGVkIHZlcnNpb24gb2YgdGhpcyBtZXRob2Qgd2hpY2ggdGFrZXMgYW4KKyAgICAgICAgRWRpdGFi
bGVUeXBlIGVudW0gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG5vbi1uYXRpdmUgZWRpdGFiaWxp
dHkgaXMgdG8gYmUgcmVzcGVjdGVkLgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJ
c1JpY2hseUVkaXRhYmxlKTogIE92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCB3aGlj
aCB0YWtlcworICAgICAgICBhbiBFZGl0YWJsZVR5cGUgZW51bSB2YWx1ZSBpbmRpY2F0aW5nIHdo
ZXRoZXIgbm9uLW5hdGl2ZSBlZGl0YWJpbGl0eSBpcyB0byBiZSByZXNwZWN0ZWQuCisgICAgICAg
ICogZWRpdGluZy9FZGl0aW5nQm91bmRhcnkuaDoKKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhpZ2hlc3RFZGl0YWJsZVJvb3QpOiBBZGRlZCBv
cHRpb25hbCBFZGl0YWJsZVR5cGUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNFZGl0
YWJsZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAg
ICAgICAgKFdlYkNvcmU6OmlzUmljaGx5RWRpdGFibGVQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFs
IEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjplZGl0YWJsZVJvb3RG
b3JQb3NpdGlvbik6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAg
ICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91
bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmls
aXR5KTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFtZXRlci4KKyAgICAgICAgKFdl
YkNvcmU6OnByZXZpb3VzTGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBl
IHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6Om5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0
eSk6IEFkZGVkIG9wdGlvbmFsIEVkaXRhYmxlVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJD
b3JlOjpuZXh0TGluZVBvc2l0aW9uKTogQWRkZWQgb3B0aW9uYWwgRWRpdGFibGVUeXBlIHBhcmFt
ZXRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuaDoKKwogMjAxMS0xMi0yMiAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBEYXRlIGFuZCBUaW1lIElucHV0IFZhbHVlIFNhbml0aXphdGlvbgpAQCAtMzYzNzUsMjIwOTAg
KzM2NDMzLDQgQEAKIAogICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNrLmNwcDoKICAgICAg
ICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpEYXRhYmFzZU9wZW5UYXNr
KToKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpkb1BlcmZv
cm1UYXNrKToKLSAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVGFzay5oOgotICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2s6OmNyZWF0ZSk6Ci0gICAgICAgIFJldHVy
biBhbiBlcnJvck1lc3NhZ2UgaW4gYWRkaXRpb24gdG8gdGhlIGV4Y2VwdGlvbiBjb2RlLgotCi0g
ICAgICAgICogc3RvcmFnZS9TUUxFcnJvci5oOgotICAgICAgICAoV2ViQ29yZTo6U1FMRXJyb3I6
OmNyZWF0ZSk6Ci0gICAgICAgIEFkZCBoZWxwZXJzIHRvIHByb2R1Y2VkIGZvcm1hdHRlZCBlcnJv
ciBtZXNzYWdlcy4KLQotICAgICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlNRTFN0YXRlbWVudDo6ZXhlY3V0ZSk6Ci0gICAgICAgICogc3RvcmFnZS9T
UUxTdGF0ZW1lbnRTeW5jLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNRTFN0YXRlbWVudFN5bmM6
OmV4ZWN1dGUpOgotICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246Om9wZW5UcmFuc2FjdGlvbkFuZFByZWZsaWdodCk6
Ci0gICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6cG9zdGZsaWdodEFuZENvbW1pdCk6
Ci0gICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6U1FMVHJhbnNhY3Rpb25TeW5jOjpleGVjdXRlU1FMKToKLSAgICAgICAgKFdlYkNvcmU6
OlNRTFRyYW5zYWN0aW9uU3luYzo6YmVnaW4pOgotICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNh
Y3Rpb25TeW5jOjpleGVjdXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uU3lu
Yzo6Y29tbWl0KToKLQotMjAxMS0xMS0xNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgotCi0gICAgICAgIFNlY3VyaXR5T3JpZ2luIGluaGVyaXRhbmNlIHNob3VsZCBkZXBlbmQgb24g
ZG9jdW1lbnQgVVJMLCBub3Qgb24gImVtcHRpbmVzcyIgb2YgdGhlIFNlY3VyaXR5T3JpZ2luCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4MwotCi0g
ICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0KLSAgICAgICAgVGhpcyBjaGFuZ2UgYWxp
Z25zIG91ciBpbXBsZW1lbnRhdGlvbiBtb3JlIGNsb3NlbHkgd2l0aCB0aGUgc3BlYy4gIEkKLSAg
ICAgICAgZG9uJ3QgdGhpbmsgdGhpcyBjaGFuZ2UgaGFzIGFuIG9ic2VydmFibGUgZWZmZWN0cywg
YnV0IGl0IG1vdmVzIHVzCi0gICAgICAgIGNsb3NlciB0byByZW1vdmluZyB0aGUgY29uY2VwdCBv
ZiBhbiBlbXB0eSBzZWN1cml0eSBvcmlnaW4uCi0KLSAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6c2hvdWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVy
KToKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojppbml0U2VjdXJpdHlDb250ZXh0KToKLQot
MjAxMS0xMS0xNCAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFJlbW92ZSBnZXRQYXJhbWV0ZXIgZnJvbSBIVE1MQW5jaG9yRWxlbWVudCBhbmQgTG9jYXRpb24K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTY2Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICAqIGh0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuY3BwOiBSZW1vdmVkIGdldFBhcmFtZXRlci4KLSAgICAgICAgKiBodG1sL0hU
TUxBbmNob3JFbGVtZW50Lmg6IERpdHRvLgotICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1l
bnQuaWRsOiBEaXR0by4KLSAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmNwcDogRGl0dG8uCi0gICAg
ICAgICogcGFnZS9Mb2NhdGlvbi5oOiBEaXR0by4KLSAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlk
bDogRGl0dG8uCi0KLTIwMTEtMTEtMTQgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9y
Zz4KLQotICAgICAgICBSZW1vdmUgUmVxdWlyZXNBbGxBcmd1bWVudHMKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTAzCi0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBUaGlzIHJlbW92ZXMgUmVxdWlyZXNBbGxBcmd1
bWVudHMgZnJvbSB0aGUgaWRsIGZpbGVzIGFzIHdlbGwgYXMgZnJvbSB0aGUgY29kZSBnZW5lcmF0
b3JzLgotICAgICAgICBGb3Igd2luZG93Lm1vdmUvcmVzaXplL3Njcm9sbCB3ZSBub3cgbWF0Y2gg
SUUgYW5kIHRyZWF0IG1pc3NpbmcgYXJndW1lbnRzIGFzIDAuCi0gICAgICAgIEZvciBDbGlwYm9h
cmQgd2Ugbm93IG1hdGNoIEdlY2tvIGFuZCBJRSBhbmQgdGhyb3cgYW4gZXhjZXB0aW9uIHdoZW4g
c2V0RGF0YSBpcyBjYWxsZWQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cy4KLQotICAgICAgICBUZXN0
OiBmYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLXNldC1kcmFnLWRhdGEtYXJndW1lbnRzLmh0bWwK
LQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyk6Ci0gICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0
ZUFyZ3VtZW50c0NvdW50Q2hlY2spOiBSZW1vdmUgUmVxdWlyZXNBbGxBcmd1bWVudHMuCi0gICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06Ci0gICAgICAgIChHZW5l
cmF0ZUFyZ3VtZW50c0NvdW50Q2hlY2spOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwOgotICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwOgotICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaDoKLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdE9iai5oOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RPYmoubW06Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmou
aWRsOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0T2JqVGVtcGxhdGUpOgotICAgICAgICAq
IGRvbS9DbGlwYm9hcmQuaWRsOiBSZW1vdmUgW1JlcXVpcmVBbGxBcmd1bWVudHNdIGZyb20gc2V0
RGF0YSB3aGljaCBhY3R1YWxseSBtZWFucyB3ZSBub3cgcmVxdWlyZSBhbGwgYXJndW1lbnRzIGFu
ZCB0aHJvdyBpbnN0ZWFkIG9mIHNpbGVudGx5IGZhaWwuCi0gICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOiBUcmVhdCBtaXNzaW5nIGFyZ3VtZW50cyBhcyAwIHdoaWNoIG1ha2VzIHVzIG1hdGNo
IElFLgotICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0LmlkbDogQ29tbWVudCBjaGFuZ2Vz
IG9ubHkuCi0KLTIwMTEtMTEtMDggIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+Ci0K
LSAgICAgICAgSW1wbGVtZW50IE1lZGlhQ29udHJvbGxlci4KLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDA4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBDYXJsc29uLgotCi0gICAgICAgIFRlc3RzOiBtZWRpYS9tZWRpYS1jb250cm9sbGVyLXBs
YXliYWNrLmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL21lZGlhLWNvbnRyb2xsZXIuaHRtbAot
Ci0gICAgICAgIEFkZHMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhQ29udHJvbGxlciBET00gb2JqZWN0
LCBhbmQgdGhlIG1lZGlhZ3JvdXAgYW5kIG1lZGlhY29udHJvbGxlcgotICAgICAgICBIVE1MTWVk
aWFFbGVtZW50IGF0dHJpYnV0ZXMuCi0KLSAgICAgICAgTWVkaWFDb250cm9sbGVyIGlzIGFuIERP
TSBvYmplY3Qgd2hpY2ggc3luY2hyb25pemVzIHBsYXliYWNrIG9mIG11bHRpcGxlIEhUTUxNZWRp
YUVsZW1lbnRzLiBJdCBjYW4KLSAgICAgICAgZWl0aGVyIGJlIGNyZWF0ZWQgYnkgYSBwYWdlIHNj
cmlwdCBhbmQgYXNzaWduZWQgdG8gYSBIVE1MTWVkaWFFbGVtZW50IHVzaW5nIHRoZSBjb250cm9s
bGVyIHByb3BlcnR5LAotICAgICAgICBvciBhbGwgSFRNTE1lZGlhRWxlbWVudHMgd2l0aCBpZGVu
dGljYWwgbWVkaWFncm91cCBhdHRyaWJ1dGVzIHdpbGwgaGF2ZSBhIE1lZGlhQ29udHJvbGxlciBh
c3NpZ25lZCAKLSAgICAgICAgYXV0b21hdGljYWxseS4KLQotICAgICAgICBBZGQgYW4gYWJzdHJh
Y3QgaW50ZXJmYWNlIGltcGxlbWVudGVkIGJ5IGJvdGggTWVkaWFDb250cm9sbGVyIGFuZCBIVE1M
TWVkaWFFbGVtZW50LgotICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVySW50ZXJmYWNlLmg6
IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sbGVySW50ZXJmYWNlOjp+TWVk
aWFDb250cm9sbGVySW50ZXJmYWNlKToKLQotICAgICAgICBBZGQgdGhlIE1lZGlhQ29udHJvbGxl
ciBvYmplY3QgYW5kIElETC4KLSAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6IEFk
ZGVkLgotICAgICAgICAobWVkaWFHcm91cFRvTWVkaWFDb250cm9sbGVyTWFwKToKLSAgICAgICAg
KE1lZGlhQ29udHJvbGxlcjo6bWVkaWFDb250cm9sbGVyRm9yTWVkaWFHcm91cCk6Ci0gICAgICAg
IChNZWRpYUNvbnRyb2xsZXI6OmNyZWF0ZSk6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1l
ZGlhQ29udHJvbGxlcik6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6On5NZWRpYUNvbnRyb2xs
ZXIpOgotICAgICAgICAoTWVkaWFDb250cm9sbGVyOjphZGRNZWRpYUVsZW1lbnQpOgotICAgICAg
ICAoTWVkaWFDb250cm9sbGVyOjpyZW1vdmVNZWRpYUVsZW1lbnQpOgotICAgICAgICAoTWVkaWFD
b250cm9sbGVyOjpjb250YWluc01lZGlhRWxlbWVudCk6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xs
ZXI6OmJ1ZmZlcmVkKToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2Vla2FibGUpOgotICAg
ICAgICAoTWVkaWFDb250cm9sbGVyOjpwbGF5ZWQpOgotICAgICAgICAoTWVkaWFDb250cm9sbGVy
OjpkdXJhdGlvbik6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKLSAg
ICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2V0Q3VycmVudFRpbWUpOgotICAgICAgICAoTWVkaWFD
b250cm9sbGVyOjpwbGF5KToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6cGF1c2UpOgotICAg
ICAgICAoTWVkaWFDb250cm9sbGVyOjpzZXREZWZhdWx0UGxheWJhY2tSYXRlKToKLSAgICAgICAg
KE1lZGlhQ29udHJvbGxlcjo6c2V0UGxheWJhY2tSYXRlKToKLSAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2V0Vm9sdW1lKToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2V0TXV0ZWQpOgot
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpyZXBvcnRDb250cm9sbGVyU3RhdGUpOgotICAgICAg
ICAoTWVkaWFDb250cm9sbGVyOjp1cGRhdGVSZWFkeVN0YXRlKToKLSAgICAgICAgKE1lZGlhQ29u
dHJvbGxlcjo6dXBkYXRlUGxheWJhY2tTdGF0ZSk6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6
OnVwZGF0ZU1lZGlhRWxlbWVudHMpOgotICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVs
ZUV2ZW50KToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRpbWVyRmlyZWQp
OgotICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKLSAg
ICAgICAgKE1lZGlhQ29udHJvbGxlcjo6aGFzQXVkaW8pOgotICAgICAgICAoTWVkaWFDb250cm9s
bGVyOjpoYXNWaWRlbyk6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Omhhc0Nsb3NlZENhcHRp
b25zKToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c3VwcG9ydHNTY2FubmluZyk6Ci0gICAgICAg
IChNZWRpYUNvbnRyb2xsZXI6OmJlZ2luU2NydWJiaW5nKToKLSAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6ZW5kU2NydWJiaW5nKToKLSAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6Y2FuUGxheSk6
Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OmlzTGl2ZVN0cmVhbSk6Ci0gICAgICAgIChNZWRp
YUNvbnRyb2xsZXI6Omhhc1NvdXJjZSk6Ci0gICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUpOgotICAgICAgICAoTWVkaWFDb250cm9sbGVyOjppc0Jsb2NrZWQpOgotICAg
ICAgICAoTWVkaWFDb250cm9sbGVyOjpoYXNFbmRlZCk6Ci0gICAgICAgICogaHRtbC9NZWRpYUNv
bnRyb2xsZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6Om1l
ZGlhR3JvdXApOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sbGVyOjpwYXVzZWQpOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sbGVyOjpkZWZhdWx0UGxheWJhY2tSYXRlKToK
LSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6cGxheWJhY2tSYXRlKToKLSAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6dm9sdW1lKToKLSAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbGxlcjo6bXV0ZWQpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
bGVyOjpyZWFkeVN0YXRlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6cGxh
eWJhY2tTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OnN1cHBvcnRz
RnVsbHNjcmVlbik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OmlzRnVsbHNj
cmVlbik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OmVudGVyRnVsbHNjcmVl
bik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OmNsb3NlZENhcHRpb25zVmlz
aWJsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OnJlZkV2ZW50VGFyZ2V0
KToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6ZGVyZWZFdmVudFRhcmdldCk6
Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xsZXI6OnRvTWVkaWFDb250cm9sbGVyKToK
LSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6ZXZlbnRUYXJnZXREYXRhKToKLSAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbGxlcjo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToK
LSAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5pZGw6IEFkZGVkLgotCi0gICAgICAgIEFk
ZCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgdG8gVGltZVJhbmdlcyB3aGljaCBjYW4gY2FsY3VsYXRl
IGludGVyc2VjdGlvbnMgYW5kCi0gICAgICAgIHVuaW9ucyBiZXR3ZWVuIFRpbWVSYW5nZXMgb2Jq
ZWN0cy4KLSAgICAgICAgKiBodG1sL1RpbWVSYW5nZXMuY3BwOgotICAgICAgICAoVGltZVJhbmdl
czo6Y29weSk6Ci0gICAgICAgIChUaW1lUmFuZ2VzOjppbnZlcnQpOgotICAgICAgICAoVGltZVJh
bmdlczo6aW50ZXJzZWN0V2l0aCk6Ci0gICAgICAgIChUaW1lUmFuZ2VzOjp1bmlvbldpdGgpOgot
ICAgICAgICAqIGh0bWwvVGltZVJhbmdlcy5oOgotCi0gICAgICAgIEFkZCBNZWRpYUNvbnRyb2xs
ZXJDb25zdHJ1Y3RvciB0byB0aGUgV2luZG93IG9iamVjdC4KLSAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5pZGw6Ci0KLSAgICAgICAgQWRkIHRoZSB0d28gbmV3IGF0dHJpYnV0ZSBuYW1lcywgbWVk
aWFncm91cCBhbmQgY29udHJvbGxlci4KLSAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbjoKLQotICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBhdHRyaWJ1dGVzLCBhbmQg
YWRkIG92ZXJyaWRkZW4gYmVoYXZpb3Igd2hlbiBhIG1lZGlhIGVsZW1lbnQKLSAgICAgICAgaGFz
IGEgY3VycmVudCBtZWRpYSBjb250cm9sbGVyOgotICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlh
RWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVwYXJl
Rm9yTG9hZCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRSZWFkeVN0
YXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldEN1cnJlbnRUaW1l
KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFBsYXliYWNrUmF0ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwpOgotICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlUGxheVN0YXRlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQpOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2Vla2FibGUpOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cG90ZW50aWFsbHlQbGF5aW5nKToKLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVuZGVkUGxheWJhY2spOgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlVm9sdW1lKToKLSAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVBsYXlTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp1c2VyQ2FuY2VsbGVkTG9hZCk6Ci0gICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYUdyb3VwKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNldE1lZGlhR3JvdXApOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6Y29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZXRDb250cm9sbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0
ZU1lZGlhQ29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpp
c0Jsb2NrZWRPbk1lZGlhQ29udHJvbGxlcik6Ci0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpoYXNTb3VyY2UpOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aXNMaXZlU3RyZWFtKToKLSAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
SFRNTE1lZGlhRWxlbWVudEN1c3RvbS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6SlNI
VE1MTWVkaWFFbGVtZW50OjpzZXRNZWRpYUNvbnRyb2xsZXIpOgotCi0gICAgICAgIEFkZCBjb252
ZW5pZW5jZSBmdW5jdGlvbnMgdG8gc3RvcmUgYSBtYXBwaW5nIG9mIG1lZGlhLWVsZW1lbnRzLXBl
ci1kb2N1bWVudCB0byBhbGxvdwotICAgICAgICBhIHF1aWNrIGxvb2t1cCBvZiBtZWRpYSBlbGVt
ZW50cyB3aXRoIHRoZSBzYW1lIG1lZGlhIGdyb3VwIHdpdGhpbiBhIGdpdmVuIGRvY3VtZW50Ogot
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpk
b2N1bWVudFRvRWxlbWVudFNldE1hcCk6Ci0gICAgICAgIChXZWJDb3JlOjphZGRFbGVtZW50VG9E
b2N1bWVudE1hcCk6Ci0gICAgICAgIChXZWJDb3JlOjpyZW1vdmVFbGVtZW50RnJvbURvY3VtZW50
TWFwKToKLSAgICAgICAgCi0gICAgICAgIEFkZCBhIGZ1bmN0aW9uICJzZWVrYWJsZSIgd2hpY2gg
cmV0dXJucyBhIFRpbWVSYW5nZXMgY29udGFpbmluZyB0aGUgc2Vla2FibGUgdGltZSByYW5nZXMK
LSAgICAgICAgaW4gYSBtZWRpYSBlbGVtZW50LiAgQnkgZGVmYXVsdCB0aGlzIGlzIGEgc2luZ2xl
IHJhbmdlIG9mIFswLCBtYXhUaW1lU2Vla2FibGVdLgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZWVr
YWJsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKLSAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKLSAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c2Vla2FibGUpOgotCi0gICAgICAg
IFN1cHBvcnQgZnVuY3Rpb25zIHRvIGNhc3QgYmV0d2VlbiBNZWRpYUNvbnRyb2xsZXIgYW5kIEV2
ZW50VGFyZ2V0LgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6dG9KUyk6Ci0gICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0Ojp0b01lZGlhQ29udHJvbGxlcik6Ci0gICAgICAg
ICogZG9tL0V2ZW50VGFyZ2V0Lmg6Ci0KLSAgICAgICAgRml4ZWQgYW4gaW5maW5pdGUtcmVjdXJz
aW9uIGJ1ZyBkdWUgdG8gYSBjb2xsaXNpb24gYmV0d2VlbiBXVEY6OmN1cnJlbnRUaW1lIGFuZAot
ICAgICAgICBDbG9ja0dlbmVyaWM6OmN1cnJlbnRUaW1lOgotICAgICAgICAqIHBsYXRmb3JtL0Ns
b2NrR2VuZXJpYy5jcHA6Ci0gICAgICAgIChDbG9ja0dlbmVyaWM6OkNsb2NrR2VuZXJpYyk6Ci0g
ICAgICAgIChDbG9ja0dlbmVyaWM6OnNldEN1cnJlbnRUaW1lKToKLSAgICAgICAgKENsb2NrR2Vu
ZXJpYzo6Y3VycmVudFRpbWUpOgotICAgICAgICAoQ2xvY2tHZW5lcmljOjpzZXRQbGF5UmF0ZSk6
Ci0gICAgICAgIChDbG9ja0dlbmVyaWM6OnN0YXJ0KToKLSAgICAgICAgKENsb2NrR2VuZXJpYzo6
c3RvcCk6Ci0gICAgICAgIChDbG9ja0dlbmVyaWM6Om5vdyk6Ci0gICAgICAgICogcGxhdGZvcm0v
Q2xvY2tHZW5lcmljLmg6Ci0KLSAgICAgICAgQm9pbGVycGxhdGUgdG8gc3VwcG9ydCBjcmVhdGlu
ZyB0aGUgZGVyaXZlZCBzb3VyY2VzIGZvciBNZWRpYUNvbnRyb2xsZXIgYW5kIGFkZGluZyBuZXcg
c291cmNlcwotICAgICAgICB0byB0aGUgcHJvamVjdDoKLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6Ci0gICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0K
LTIwMTEtMTEtMTQgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGdvb2dsZS5jb20+Ci0KLSAgICAg
ICAgTXVsdGlwbGUgZm9yZWlnbiBvYmplY3RzIG5vdCByZW5kZXJlZAotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNTEKLQotICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgIFNWRyBlbmQgdGFncyBuZWVkIHRvIGJlIGNhc2Ut
YWRqdXN0ZWQgKGp1c3QgbGlrZSB0aGVpciBzdGFydCBjb3VudGVycGFydHMpLgotCi0gICAgICAg
IFRlc3Q6IHN2Zy9mb3JlaWduT2JqZWN0L211bHRpcGxlLWZvcmVpZ24tb2JqZWN0cy5odG1sCi0K
LSAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKToKLQotMjAxMS0xMS0xNCAgTWFy
aW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+Ci0KLSAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIHRoZSBjYXJldEJyb3dzaW5nRW5hYmxlZCBwcmVmZXJlbmNlIGluIFdlYktpdDIK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY2Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCi0KLSAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjogRXhwb3J0ZWQgc2V0dGluZ3MgZm9yIHNldENhcmV0QnJvd3NpbmdFbmFibGVkLgot
Ci0yMDExLTExLTE0ICBKb25hdGhhbiBCYWNrZXIgIDxiYWNrZXJAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIFtjaHJvbWl1bV0gUGx1bWIgdGhyb3VnaCBwYXJ0aWFsIHN3YXAKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDI4Ci0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjppbml0aWFsaXplKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKLSAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXM6OkxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMp
OgotCi0yMDExLTExLTE0ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgV2ViIEluc3BlY3RvcjogZXhwb3NlIGlmcmFtZSB3aW5kb3cgdG8gdGhlIG9uU2hv
d24gZXZlbnQgaGFuZGxlciBvZiBwYW5lbHMgJiBzaWRlYmFycwotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjgKLQotICAgICAgICBSZXZpZXdlZCBi
eSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIC0gcmVwbGFjZSBJRnJhbWVWaWV3IHdpdGggRXh0
ZW5zaW9uVmlldzsKLSAgICAgICAgLSBpbmhlcml0IGJvdGggRXh0ZW5zaW9uUGFuZWwgYW5kIEV4
dGVuc2lvblNpZGViYXJQYW5lIGZyb20gRXh0ZW5zaW9uVmlldyBpbiB0aGUgQVBJOwotICAgICAg
ICAtIG1vdmUgUGFuZWwue29uU2hvd3xvbkhpZGV9IHRvIEV4dGVuc2lvblZpZXcsIGVmZmVjdGl2
ZWx5IGRpc2FibGluZyBzaG93L2hpZGUgbm90aWZpY2F0aW9ucyBmb3Igbm9uLWV4dGVuc2lvbiBw
YW5lbHMgYW5kIGVuYWJsaW5nIGl0IGZvciBzaWRlYmFyIHBhbmVzOwotICAgICAgICAtIGV4cG9z
ZSBpZnJhbWUncyB3aW5kb3cgb2JqZWN0IGluIHRoZSBvblNob3cgZXZlbnQgaGFuZGxlci4KLQot
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKLSAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2g6Ci0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanM6Ci0gICAgICAgIChpbmpl
Y3RlZEV4dGVuc2lvbkFQSS5FeHRlbnNpb25WaWV3SW1wbC5kaXNwYXRjaFNob3dFdmVudCk6Ci0g
ICAgICAgIChpbmplY3RlZEV4dGVuc2lvbkFQSSk6Ci0gICAgICAgIChpbmplY3RlZEV4dGVuc2lv
bkFQSS5QYW5lbFdpdGhTaWRlYmFySW1wbCk6Ci0gICAgICAgIChpbmplY3RlZEV4dGVuc2lvbkFQ
SS5FeHRlbnNpb25QYW5lbEltcGwpOgotICAgICAgICAoaW5qZWN0ZWRFeHRlbnNpb25BUEkuRXh0
ZW5zaW9uU2lkZWJhclBhbmVJbXBsKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4
dGVuc2lvblBhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblZpZXcpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblZpZXcucHJvdG90eXBlLndhc1Nob3duKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25WaWV3LnByb3RvdHlwZS53aWxsSGlkZSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uVmlldy5wcm90b3R5cGUuX29uTG9hZCk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uUGFuZWwpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkV4dGVuc2lvblNpZGViYXJQYW5lLnByb3RvdHlwZS5zZXRQYWdlKToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qczoKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLm5vdGlmeVZpZXdTaG93bik6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5ub3RpZnlWaWV3SGlk
ZGVuKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9v
bkNyZWF0ZVBhbmVsKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lGcmFtZVZpZXcu
anM6IFJlbW92ZWQuCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS53aWxsSGlkZSk6Ci0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWw6Ci0KLTIwMTEtMTEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkICdTaG93IGZ1bmN0aW9u
IGRlZmluaXRpb24nIGNvbnRleHQgbWVudSBpdGVtIGZvciBmdW5jdGlvbiB2YWx1ZXMKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY1Ci0KLSAgICAg
ICAgQWxsb3cgbmF2aWdhdGluZyB0byBKYXZhU2NyaXB0IGZ1bmN0aW9uIGRlZmluaXRpb24gdXNp
bmcgY29udGV4dCBtZW51LgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0K
LSAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6Ci0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnJhd0xv
Y2F0aW9uVG9VSUxvY2F0aW9uKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVj
dFByb3BlcnRpZXNTZWN0aW9uLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3Bl
cnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
T2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUuX2Z1bmN0aW9uQ29udGV4dE1lbnVF
dmVudEZpcmVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVt
ZW50LnByb3RvdHlwZS5fZnVuY3Rpb25Db250ZXh0TWVudUV2ZW50RmlyZWQucmV2ZWFsRnVuY3Rp
b24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2hvd0Z1bmN0aW9uRGVm
aW5pdGlvbik6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsRm9yQW5jaG9yTmF2aWdhdGlvbik6Ci0KLTIw
MTEtMTEtMTQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUncyBwcm90b2NvbCBwYXlsb2FkIGRvZXMgbm90IGhhdmUg
dXJsIGFuZCBsaW5lIHByb3BlcnRpZXMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjI1NgotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWto
YXRza3kuCi0KLSAgICAgICAgVGVzdDogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11cmwtYW5k
LWxpbmUuaHRtbAotCi0gICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNvbnNvbGVNZXNzYWdlOjpDb25zb2xlTWVzc2FnZSk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qczoKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwpOgotCi0yMDExLTExLTE0ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBbcmVncmVz
c2lvbiByOTk5NjBdIG51bGwgY2FsbGJhY2sgYWNjZXNzLgotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjMKLQotICAgICAgICBSZXZpZXdlZCBieSBZ
dXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNw
ZWN0b3IucHk6Ci0KLTIwMTEtMTEtMTQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0
Ym9Abm9raWEuY29tPgotCi0gICAgICAgIFtRdF0gVW5icmVhayB0aGUgYnVpbGQgb24gTWFjIE9T
IFgKLQotICAgICAgICBRTWFjU3R5bGUgaXMgZ3VhcmRlZCBieSBRX1dTX01BQywgd2hpY2ggaXMg
bm90IHRoZSBjYXNlIGZvciBRUEEuIFVudGlsCi0gICAgICAgIHRoYXQncyBiZWVuIGZpeGVkIGlu
IFF0IHdlIGhhdmUgdG8gdXNlIHRoZSBzYW1lIGd1YXJkcyBpbiBXZWJLaXQsIG5vdAotICAgICAg
ICBRX09TX01BQy4KLQotICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUVN0eWxlLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpSZW5kZXJUaGVtZVFTdHls
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6YWRqdXN0QnV0dG9uU3R5
bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50TWVudUxpc3Qp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50SW5uZXJTcGluQnV0
dG9uKToKLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9TY3JvbGxiYXJUaGVtZVF0LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lUXQ6OnBhaW50KToKLQotMjAxMS0xMS0xNCAgU2lt
b24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+Ci0KLSAgICAgICAgW1F0XSBS
ZXBsYWNlIHVzZSBvZiBRQXBwbGljYXRpb24gd2l0aCBRR3VpQXBwbGljYXRpb24uCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgVG9yIEFybmUgVmVzdGLDuC4KLQotICAgICAgICBSZXBsYWNlIHVzZSBv
ZiBRQXBwbGljYXRpb24gYnkgUUd1aUFwcGxpY2F0aW9uIHdoZXJlIGFwcGxpY2FibGUuCi0KLSAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OlJlbmRlclRoZW1lUXQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVRdDo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tn
cm91bmRDb2xvcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwbGF0Zm9ybUFj
dGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBsYXRmb3JtRm9jdXNSaW5nQ29sb3IpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6c3lzdGVtQ29sb3IpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6bWluaW11bU1lbnVMaXN0U2l6ZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0OjpnZXRNZWRpYUNvbnRyb2xGb3JlZ3JvdW5kQ29sb3IpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlclRyYWNr
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
Ci0KLTIwMTEtMTEtMTQgIEphZWhvb24gSmVvbmcgIDxqaDR1Lmplb25nQHNhbXN1bmcuY29tPgot
Ci0gICAgICAgIFtDTUFLRV0gQWRkIHRoZSBVc2VWOC5jbWFrZSB0byBXZWJDb3JlLgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMDAKLQotICAgICAg
ICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCi0KLSAgICAgICAgQWRkIHRoZSBVc2VWOC5jbWFr
ZSB0byBXZWJDb3JlIHRvIGJ1aWxkIGJpbmRpbmdzIG9mIFY4IGFuZAotICAgICAgICBnZW5lcmF0
ZSBKYXZhU2NyaXB0IGNvZGVzIGdpdmVuIElETCBpbnB1dC4KLQotICAgICAgICAqIFVzZVY4LmNt
YWtlOiBBZGRlZC4KLQotMjAxMS0xMS0xMSAgUGllcnJlIFJvc3NpICA8cGllcnJlLnJvc3NpQGdt
YWlsLmNvbT4KLQotICAgICAgICBbUXRdIFJlbW92ZSB0aGUgUVN0eWxlIGRlcGVuZGVuY3kgaW4g
UXQncyBtb2JpbGUgdGhlbWUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NzczCi0KLSAgICAgICAgVGhpcyByZWZhY3RvcmluZyBzcGxpdHMgdXAgUmVu
ZGVyVGhlbWVRdCB3aXRoIHR3bwotICAgICAgICBzdWJjbGFzc2VzLCBhIFFTdHlsZS1iYWNrZWQg
b25lLCBhbmQgYSBNb2JpbGUgdmVyc2lvbgotICAgICAgICB0aGF0IHVzZXMgdGhlIG9sZCBtb2Jp
bGUgdGhlbWUgZm9yIG5vdy4KLQotICAgICAgICBRU3R5bGUgYXZhaWxhYmlsaXR5IGlzIGRldGVj
dGVkIGF0IGNvbXBpbGUgdGltZSwgYW5kCi0gICAgICAgIGl0cyB1c2UgaXMgZGV0ZXJtaW5lZCBi
eSB0aGUgUVRfV0VCS0lUX1VTRV9NT0JJTEVfVEhFTUUKLSAgICAgICAgZW52aXJvbm1lbnQgdmFy
aWFibGUuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAg
Q292ZXJlZCBieSB0aGUgZXhpc3RpbmcgdGVzdHMuCi0KLSAgICAgICAgKiBUYXJnZXQucHJpOgot
ICAgICAgICAqIHBsYXRmb3JtL3F0L1F0TW9iaWxlV2ViU3R5bGUuY3BwOiBSZW1vdmVkLiBUaGUg
cmVsZXZhbnQgbG9naWMKLSAgICAgICAgbm93IGxpdmVzIHdpdGhpbiBSZW5kZXJUaGVtZVF0TW9i
aWxlLgotICAgICAgICAqIHBsYXRmb3JtL3F0L1F0TW9iaWxlV2ViU3R5bGUuaDogUmVtb3ZlZC4g
RGl0dG8uCi0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRU3R5bGUuY3BwOiBBZGRl
ZC4KLSAgICAgICAgKFdlYkNvcmU6OmluaXRTdHlsZU9wdGlvbik6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVFTdHlsZTo6Z2V0U3R5bGVQYWludGVyKToKLSAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUGFpbnRlclFTdHlsZTo6U3R5bGVQYWludGVyUVN0eWxlKToKLSAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUGFpbnRlclFTdHlsZTo6aW5pdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVFTdHlsZTo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpSZW5kZXJUaGVtZVFTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHls
ZTo6flJlbmRlclRoZW1lUVN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0
eWxlOjpmYWxsYmFja1N0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpxU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmZpbmRGcmFt
ZUxpbmVXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6aW5mbGF0
ZUJ1dHRvblJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmNvbXB1
dGVTaXplQmFzZWRPblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjphZGp1c3RCdXR0b25TdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHls
ZTo6c2V0QnV0dG9uUGFkZGluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHls
ZTo6cGFpbnRCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFk
anVzdFRleHRGaWVsZFN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpwYWludFRleHRGaWVsZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6
YWRqdXN0VGV4dEFyZWFTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHls
ZTo6cGFpbnRUZXh0QXJlYSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6
c2V0UG9wdXBQYWRkaW5nKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpw
YWludE1lbnVMaXN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjphZGp1
c3RNZW51TGlzdEJ1dHRvblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0
eWxlOjpwYWludE1lbnVMaXN0QnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UVN0eWxlOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyKToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludFByb2dyZXNzQmFyKToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludFNsaWRlclRyYWNrKToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUVN0eWxlOjphZGp1c3RTbGlkZXJUcmFja1N0eWxlKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludFNsaWRlclRodW1iKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjphZGp1c3RTbGlkZXJUaHVtYlN0eWxlKToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludFNlYXJjaEZpZWxkKToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjphZGp1c3RTZWFyY2hGaWVsZFN0eWxl
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjphZGp1c3RTZWFyY2hGaWVs
ZERlY29yYXRpb25TdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6
cGFpbnRTZWFyY2hGaWVsZERlY29yYXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRU3R5bGU6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNE
ZWNvcmF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludElu
bmVyU3BpbkJ1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6aW5p
dGlhbGl6ZUNvbW1vblFTdHlsZU9wdGlvbnMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRU3R5bGU6OmFkanVzdFNsaWRlclRodW1iU2l6ZSk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQv
UmVuZGVyVGhlbWVRU3R5bGUuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50
ZXJRU3R5bGU6OmlzVmFsaWQpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyUVN0eWxl
OjpkcmF3UHJpbWl0aXZlKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlclFTdHlsZTo6
ZHJhd0NvbnRyb2wpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyUVN0eWxlOjpkcmF3
Q29tcGxleENvbnRyb2wpOgotICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojppc0NvbnRyb2xTdHlsZWQpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aW5mbGF0ZUJ1dHRvblJlY3QpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0UmVwYWludFJlY3QpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6bWluaW11bU1lbnVMaXN0U2l6ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGp1c3RNZW51TGlzdFN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxl
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnNldFBhbGV0dGVGcm9tUGFnZUNs
aWVudElmRXhpc3RzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVk
aWFGdWxsc2NyZWVuQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBh
aW50TWVkaWFNdXRlQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBh
aW50TWVkaWFQbGF5QnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBh
aW50TWVkaWFDdXJyZW50VGltZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpw
YWludE1lZGlhVm9sdW1lU2xpZGVyVHJhY2spOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdDo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUcmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhU2xpZGVyVGh1bWIpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2xpZGVyVGh1bWJTaXplKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmNhcmV0QmxpbmtJbnRlcnZhbCk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjpmaWxlTGlzdE5hbWVGb3JXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpT
dHlsZVBhaW50ZXI6OlN0eWxlUGFpbnRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50
ZXI6OmluaXQpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyOjp+U3R5bGVQYWludGVy
KToKLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0Ojp1c2VNb2JpbGVUaGVtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpT
dHlsZVBhaW50ZXI6OmlzVmFsaWQpOgotICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXRNb2JpbGUuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OmRyYXdSZWN0YW5ndWxhckNv
bnRyb2xCYWNrZ3JvdW5kKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6
OmdldFN0eWxlUGFpbnRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6
OlN0eWxlUGFpbnRlck1vYmlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2Jp
bGU6OmRyYXdDaGVja2VyKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6
ZmluZENoZWNrZXIpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpkcmF3
UmFkaW8pOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpmaW5kUmFkaW8p
OgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpkcmF3TXVsdGlwbGVDb21i
b0J1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRyYXdTaW1w
bGVDb21ib0J1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6Omdl
dEJ1dHRvbkltYWdlU2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6
OmZpbmRDb21ib0J1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6
OmRyYXdMaW5lRWRpdCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRy
YXdDaGVja0JveCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRyYXdS
YWRpb0J1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRyYXdQ
dXNoQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZHJhd0Nv
bWJvQm94KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OmNyZWF0ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OlJlbmRlclRoZW1lUXRNb2JpbGUpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6flJlbmRlclRoZW1lUXRNb2JpbGUp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6aXNDb250cm9sU3R5bGVk
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OnBvcHVwSW50ZXJuYWxQ
YWRkaW5nQm90dG9tKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OmNv
bXB1dGVTaXplQmFzZWRPblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRN
b2JpbGU6OmFkanVzdEJ1dHRvblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXRNb2JpbGU6OnNldEJ1dHRvblBhZGRpbmcpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdE1vYmlsZTo6cGFpbnRCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVR
dE1vYmlsZTo6YWRqdXN0VGV4dEZpZWxkU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVRdE1vYmlsZTo6cGFpbnRUZXh0RmllbGQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVRdE1vYmlsZTo6YWRqdXN0TWVudUxpc3RTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0TW9iaWxlOjpzZXRQb3B1cFBhZGRpbmcpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdE1vYmlsZTo6cGFpbnRNZW51TGlzdCk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0TW9iaWxlOjpwYWludE1lbnVMaXN0QnV0dG9uKToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6cGFpbnRQcm9ncmVzc0Jh
cik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpwYWludFNsaWRlclRy
YWNrKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OnBhaW50U2xpZGVy
VGh1bWIpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6Y2hlY2tNdWx0
aXBsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpzZXRQYWxldHRl
RnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0
TW9iaWxlOjphZGp1c3RTbGlkZXJUaHVtYlNpemUpOgotICAgICAgICAqIHBsYXRmb3JtL3F0L1Jl
bmRlclRoZW1lUXRNb2JpbGUuaDogQWRkZWQuCi0gICAgICAgICogcGxhdGZvcm0vcXQvU2Nyb2xs
YmFyVGhlbWVRdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZl
VGhlbWUpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVRdDo6cGFpbnQpOgotICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVRdDo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKLSAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lUXQ6OnBhaW50U2Nyb2xsQ29ybmVyKToKLQot
MjAxMS0xMS0xNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIFNl
Y3VyaXR5Q29udGV4dCBzaG91bGQgdHJhY2sgd2hldGhlciB0aGUgU2VjdXJpdHlPcmlnaW4gaGFz
IGJlZW4gaW5pdGlhbGl6ZWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMjUwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAg
ICAgICAgVGhpcyBwYXRjaCBpcyBhbm90aGVyIHN0ZXAgdG93YXJkcyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NDUuCi0KLSAgICAgICAgT25lIG9mIHRoZSB0aGlu
Z3Mgd2UgdXNlICJlbXB0eSIgU2VjdXJpdHlPcmlnaW5zIGZvciBpcyBkZXRlY3RpbmcKLSAgICAg
ICAgd2hldGhlciBhIERvY3VtZW50J3MgU2VjdXJpdHlPcmlnaW4gaGFzIGJlZW4gaW5pdGlhbGl6
ZWQuICBJbiB0aGlzCi0gICAgICAgIHBhdGNoLCB3ZSB0cmFjayB0aGF0IHN0YXRlIGRpcmVjdGx5
IG9uIFNlY3VyaXR5Q29udGV4dCAod2hpY2ggaXMgYSBiYXNlCi0gICAgICAgIGNsYXNzIG9mIERv
Y3VtZW50KSwgbW92aW5nIHVzIGNsb3NlciB0byByZW1vdmluZyB0aGUgY29uY2VwdCBvZiBhbgot
ICAgICAgICBlbXB0eSBTZWN1cml0eU9yaWdpbi4KLQotICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW5pdFNlY3VyaXR5Q29udGV4dCk6Ci0g
ICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1
cml0eUNvbnRleHQ6OlNlY3VyaXR5Q29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1cml0
eUNvbnRleHQ6OnNldFNlY3VyaXR5T3JpZ2luKToKLSAgICAgICAgKiBkb20vU2VjdXJpdHlDb250
ZXh0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1cml0eUNvbnRleHQ6OmRpZEZhaWxUb0luaXRp
YWxpemVTZWN1cml0eU9yaWdpbik6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1cml0eUNvbnRleHQ6
OmhhdmVJbml0aWFsaXplZFNlY3VyaXR5T3JpZ2luKToKLQotMjAxMS0xMS0xNCAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZC4g
Rml4IG1ha2UgZGlzdGNoZWNrIGJ1aWxkLgotCi0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bTogQWRkIG1pc3NpbmcgZmlsZXMuCi0KLTIwMTEtMTEtMTQgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBHaXZlIEhUTUwgQ29u
dGV4dE1lbnUgYSBtb3JlIE5hdGl2ZSBsb29rCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwNwotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZl
bGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvZnRDb250ZXh0TWVudS5q
czoKLSAgICAgICAgKC5XZWJJbnNwZWN0b3IuU29mdENvbnRleHRNZW51LnByb3RvdHlwZS5fY3Jl
YXRlTWVudUl0ZW0pOgotICAgICAgICBHaXZlIHRoZSBjaGVja21hcmsgYSBjbGFzcyBuYW1lIHNv
IHRoYXQgaXQgY2FuIGJlIHN0eWxlZCBtb3JlCi0gICAgICAgIHdpdGggQ1NTIGluc3RlYWQgb2Yg
d2l0aCBKYXZhU2NyaXB0LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuY3NzOgotICAgICAgICAoLnNvZnQtY29udGV4dC1tZW51KTogdHdlYWsgdGhlIGJvcmRlciBh
bmQgc2hhZG93LgotICAgICAgICAoLnNvZnQtY29udGV4dC1tZW51LWl0ZW0pOiB0d2VhayB0aGUg
Zm9udCBzaXplIGFuZCBwb3NpdGlvbmluZy4KLSAgICAgICAgKC5zb2Z0LWNvbnRleHQtbWVudS1z
ZXBhcmF0b3IpOiB0d2VhayB0aGUgd2hpdGVzcGFjZS4KLSAgICAgICAgKC5zb2Z0LWNvbnRleHQt
bWVudS1pdGVtLW1vdXNlLW92ZXIpOiBzb2xpZCBibHVlIGZvciBub24tbWFjIHBsYXRmb3Jtcy4K
LSAgICAgICAgKGJvZHkucGxhdGZvcm0tbWFjIC5zb2Z0LWNvbnRleHQtbWVudS1pdGVtLW1vdXNl
LW92ZXIpOiBncmFkaWVudCBmb3IgbWFjIHBsYXRmb3Jtcy4KLSAgICAgICAgKC5zb2Z0LWNvbnRl
eHQtbWVudS1pdGVtLWNoZWNrbWFyayk6IGdyYXkgY29sb3Igbm9ybWFsbHkuCi0gICAgICAgICgu
c29mdC1jb250ZXh0LW1lbnUtaXRlbS1tb3VzZS1vdmVyIC5zb2Z0LWNvbnRleHQtbWVudS1pdGVt
LWNoZWNrbWFyayk6IHdoaXRlIG9uIGhvdmVyLgotCi0yMDExLTExLTEwICBZdXJ5IFNlbWlraGF0
c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGZ1bmN0
aW9uIHJlbW90ZSBvYmpldGN0IHNob3VsZCBwcm92aWRlIGFjY2VzcyB0byBmdW5jdGlvbiBwb3Np
dGlvbiBpbiB0aGUgc2NyaXB0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTgwOAotCi0gICAgICAgIEFkZGVkIERlYnVnZ2VyLmdldEZ1bmN0aW9uTG9j
YXRpb24gY29tbWFuZCBmb3IgcmVzb2x2aW5nIGZ1bmN0aW9uIGxvY2F0aW9uIGluY2x1ZGluZwot
ICAgICAgICBzdGFydCBsaW5lLCBjb2x1bW4gYW5kIHNjcmlwdCBpZC4KLQotICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kZWJ1Z2dl
ci9mdW5jdGlvbi1sb2NhdGlvbi5odG1sCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0luamVjdGVkU2Ny
aXB0SG9zdDo6ZnVuY3Rpb25Mb2NhdGlvbik6Ci0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlY4SW5q
ZWN0ZWRTY3JpcHRIb3N0OjpmdW5jdGlvbkxvY2F0aW9uQ2FsbGJhY2spOgotICAgICAgICAqIGlu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNj
cmlwdDo6Z2V0RnVuY3Rpb25Mb2NhdGlvbik6Ci0gICAgICAgICogaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0Lmg6Ci0gICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGw6Ci0g
ICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzOgotICAgICAgICAoLik6
Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgotICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQ6OmdldEZ1bmN0aW9uTG9jYXRpb24pOgotICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6Ci0KLTIwMTEtMTEtMTQgIFJha2VzaCBLTiAgPHJh
a2VzaC5rbkBtb3Rvcm9sYS5jb20+Ci0KLSAgICAgICAgQ2Fubm90IHNlbGVjdCBtdWx0aXBsZSBv
cHRpb25zIGJ5IG1vdXNlIGRyYWdnaW5nIGluIDxzZWxlY3QgbXVsdGlwbGU9Im11bHRpcGxlIiBz
aXplPSI3Ij4gbGlzdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzA0OTYKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KLQotICAgICAg
ICBTZWxlY3QgTXVsdGlwbGUgb3B0aW9ucyBpbiBhIHNlbGVjdCBlbGVtZW50IHdpdGggYSBtb3Vz
ZSBkcmFnIHdoZW4gbm8uIG9mIG9wdGlvbnMKLSAgICAgICAgYXJlIGxlc3MgdGhhbiB0aGUgbm8u
IHNwZWNpZmllZCBpbiBzaXplIGF0dHJpYnV0ZS4KLSAgICAgICAgT3RoZXIgYnJvd3NlcnMoSUUs
IE9wZXJhLCBGaXJlZm94KSBzdXBwb3J0IHRoaXMgZmVhdHVyZQotCi0gICAgICAgIFRlc3Q6IGZh
c3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRoLW9w
dGlvbnMtbGVzcy10aGFuLXNpemUuaHRtbAotCi0gICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERl
ZmF1bHRFdmVudEhhbmRsZXIpOgotICAgICAgICBIYW5kbGVkIG1vdXNlIG1vdmUgZXZlbnQgd2l0
aCBMZWZ0IGJ1dHRvbiBwcmVzc2VkLiBXZSBzZWxlY3QgdGhlIG9wdGlvbnMgdW5kZXIgbW91c2UK
LSAgICAgICAgd2hlbiBtb3VzZSBkcmFnIGhhcHBlbnMgYW5kIHRoZSBzZWxlY3QgZWxlbWVudCBj
YW5ub3QgYXV0b3Njcm9sbC4KLQotMjAxMS0xMS0xNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlz
QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBbY2hyb21pdW1dIGxpc3Qg
ZGVkaWNhdGVkIHdvcmtlcnMgaW4gY2FzZSBpbnNwZWN0b3Igb3BlbmVkIHBvc3Qtd29ya2VyIGNy
ZWF0aW9uLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzIwMjAKLQotICAgICAgICBDb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IGRlZGljYXRlZCB3b3Jr
ZXJzIGV2ZW4gd2hlbiBpbnNwZWN0b3IgaXMgY2xvc2VkLiBUaGlzCi0gICAgICAgIHdheSB3ZSBj
YW4gbGlzdCBhbGwgZGVkaWNhdGVkIHdvcmtlcnMgaWYgdGhlIGZyb250LWVuZCBvcGVucyBsYXRl
ci4KLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQvZGVkaWNhdGVkLXdvcmtlcnMtbGlzdC5odG1s
Ci0KLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2VyQ29u
dGV4dCk6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2Vu
dCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3Rvcldv
cmtlckFnZW50KToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpzZXRG
cm9udGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6cmVzdG9y
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y2xlYXJGcm9udGVu
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2V0V29ya2VySW5z
cGVjdGlvbkVuYWJsZWQpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6
OmRpZFN0YXJ0V29ya2VyQ29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3Jr
ZXJBZ2VudDo6d29ya2VyQ29udGV4dFRlcm1pbmF0ZWQpOgotICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZVdvcmtlckZyb250ZW5kQ2hhbm5lbHNGb3JFeGlzdGlu
Z1dvcmtlcnMpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRlc3Ry
b3lXb3JrZXJGcm9udGVuZENoYW5uZWxzKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcldv
cmtlckFnZW50OjpjcmVhdGVXb3JrZXJGcm9udGVuZENoYW5uZWwpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oOgotCi0yMDExLTExLTE0ICBaYWxhbiBCdWp0YXMg
IDx6YnVqdGFzQGdtYWlsLmNvbT4KLQotICAgICAgICBCdWlsZCBicmVha3Mgd2l0aCAtLW5vLWph
dmFzY3JpcHQtZGVidWdnZXIgLS1uby1pbnNwZWN0b3IKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCi0KLSAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yVGFzazo6cGVy
Zm9ybVRhc2spOgotICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OmNvbm5l
Y3RUb0luc3BlY3Rvcik6Ci0gICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQpOgotCi0yMDExLTExLTE0
ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUg
YWxsIGN1c3RvbSBjb25zdHJ1Y3RvcnMgb2YgRXZlbnRzIGluIFY4Ci0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA3NAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgVjggaGFzIFtDb25zdHJ1Y3RvclRlbXBsYXRlPUV2
ZW50XSBJREwsIHdoaWNoIGdlbmVyYXRlcwotICAgICAgICBFdmVudCBjb25zdHJ1Y3RvcnMuIFRo
aXMgcGF0Y2ggcmVtb3ZlcyBhbGwgdGhlIGN1c3RvbSBjb25zdHJ1Y3RvcnMKLSAgICAgICAgaW4g
VjhFdmVudENvbnN0cnVjdG9ycy5jcHAgYW5kIGdlbmVyYXRlcyB0aGVtIHVzaW5nCi0gICAgICAg
IFtDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50XSBJREwuCi0KLSAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy9iZWZvcmUtbG9hZC1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCi0g
ICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvY2xvc2UtZXZlbnQtY29uc3Ry
dWN0b3IuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2N1c3Rv
bS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9jb25z
dHJ1Y3RvcnMvZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbAotICAgICAgICAgICAgICAgZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL2V2ZW50LWNvbnN0cnVjdG9ycy5odG1sCi0gICAgICAgICAg
ICAgICBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvaGFzaC1jaGFuZ2UtZXZlbnQtY29uc3RydWN0
b3IuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lc3NhZ2Ut
ZXZlbnQtY29uc3RydWN0b3IuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvY29uc3Ry
dWN0b3JzL292ZXJmbG93LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKLSAgICAgICAgICAgICAgIGZh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wYWdlLXRyYW5zaXRpb24tZXZlbnQtY29uc3RydWN0b3Iu
aHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3BvcC1zdGF0ZS1l
dmVudC1jb25zdHJ1Y3Rvci5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbAotICAgICAgICAgICAgICAgZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKLSAgICAg
ICAgICAgICAgIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy93ZWJraXQtYW5pbWF0aW9uLWV2ZW50
LWNvbnN0cnVjdG9yLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy93ZWJraXQtdHJhbnNpdGlvbi1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCi0KLSAgICAgICAgKiBU
YXJnZXQucHJpOiBSZW1vdmVkIFY4RXZlbnRDb25zdHJ1Y3RvcnMuY3BwLgotICAgICAgICAqIFdl
YkNvcmUuZ3lwaTogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRD
b25zdHJ1Y3RvcnMuY3BwOiBSZW1vdmVkLgotICAgICAgICAqIGRvbS9CZWZvcmVMb2FkRXZlbnQu
aWRsOiBSZXBsYWNlZCBbVjhDdXN0b21Db25zdHJ1Y3Rvcl0gd2l0aCBbVjhDb25zdHJ1Y3RvclRl
bXBsYXRlPUV2ZW50XS4gQWRkZWQgW0luaXRpYWxpemVkQnlDb25zdHJ1Y3Rvcl0gSURMIHRvIGF0
dHJpYnV0ZXMgdGhhdCBjYW4gYmUgaW5pdGlhbGl6ZWQgYnkgdGhlIGdlbmVyYXRlZCBjb25zdHJ1
Y3Rvci4KLSAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuaWRsOiBEaXR0by4KLSAgICAgICAgKiBk
b20vRXJyb3JFdmVudC5pZGw6IERpdHRvLgotICAgICAgICAqIGRvbS9IYXNoQ2hhbmdlRXZlbnQu
aWRsOiBEaXR0by4KLSAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50LmlkbDogRGl0dG8uCi0gICAg
ICAgICogZG9tL092ZXJmbG93RXZlbnQuaWRsOiBEaXR0by4KLSAgICAgICAgKiBkb20vUGFnZVRy
YW5zaXRpb25FdmVudC5pZGw6IERpdHRvLgotICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50Lmlk
bDogRGl0dG8uCi0gICAgICAgICogZG9tL1Byb2dyZXNzRXZlbnQuaWRsOiBEaXR0by4KLSAgICAg
ICAgKiBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsOiBEaXR0by4KLSAgICAgICAgKiBkb20v
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbDogRGl0dG8uCi0gICAgICAgICogaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbDogRGl0dG8uCi0gICAgICAgICogd2Vic29ja2V0cy9DbG9zZUV2ZW50Lmlk
bDogRGl0dG8uCi0KLTIwMTEtMTEtMTMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+Ci0KLSAgICAgICAgW1dYXSBNYWtlIEZvbnRQbGF0Zm9ybURhdGE6Om1fc2l6ZSBwcml2
YXRlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIx
NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAgQWxzbyBj
aGFuZ2UgdGhlIG9yZGVyIG9mIG1lbWJlciB2YXJpYWJsZXMgdG8gbWF0Y2gKLSAgICAgICAgdGhl
IG9yZGVyIGluIHRoZSBjb25zdHJ1Y3RvciB0byBmaXggbWFueSB3YXJuaW5ncy4KLQotICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRQbGF0Zm9ybURhdGEuaDoKLQotMjAxMS0xMS0x
MyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIERvY3VtZW50Ojpp
bml0U2VjdXJpdHlPcmlnaW4gc2hvdWxkIHJldHVybiBlYXJsaWVyIG1vcmUgb2Z0ZW4KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQ0Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgVGhpcyBtaW5vciB0d2VhayB3
YXMgc3VnZ2VzdGVkIGJ5IERhcmluIHRvIG1ha2UgdGhlIHN1YnNlcXVlbnQgcGF0Y2hlcwotICAg
ICAgICBlYXNpZXIgdG8gcmVhZC4KLQotICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW5pdFNlY3VyaXR5Q29udGV4dCk6Ci0KLTIwMTEtMTEt
MTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBTZWN1cml0eVBv
bGljeSBzaG91bGQgcmVmZXIgdG8gaXNVbmlxdWUgcmF0aGVyIHRoYW4gaXNFbXB0eQotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDIKLQotICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBJdCBkb2Vzbid0IG1ha2Ugc2Vu
c2UgdG8gdHdlYWsgdGhlIHNlY3VyaXR5IHBvbGljeSBmb3IgdW5pcXVlIG9yaWdpbnMKLSAgICAg
ICAgYmVjYXVzZSB0aGV5J3JlIGRpZmZlcmVudCBldmVyeSB0aW1lLiAgUHJldmlvdXNseSwgdGhp
cyBjb2RlIGNoZWNrZWQKLSAgICAgICAgZm9yIGVtcHR5IG9yaWdpbnMsIHdoaWNoIGFyZSB0ZWNo
bmljYWxseSBhIHN1YnNldCBvZiB1bmlxdWUgb3JpZ2lucy4gIEkKLSAgICAgICAgZG9uJ3QgdGhp
bmsgaXQncyBwb3NzaWJsZSB0byBjYWxsIHRoaXMgY29kZSBpbiBhIHdheSB0aGF0IGNhbiBkZXRl
Y3QKLSAgICAgICAgdGhlIGRpZmZlcmVuY2UsIGJ1dCB3ZSdyZSBldmVudHVhbGx5IGdvaW5nIHRv
IHJlbW92ZSB0aGUgaXNFbXB0eQotICAgICAgICBmdW5jdGlvbi4KLQotICAgICAgICAqIHBhZ2Uv
U2VjdXJpdHlQb2xpY3kuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OmFk
ZE9yaWdpbkFjY2Vzc1doaXRlbGlzdEVudHJ5KToKLSAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5
UG9saWN5OjpyZW1vdmVPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSk6Ci0KLTIwMTEtMTEtMTMg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBNb3ZlIGlzU2VjdXJl
VHJhbnNpdGlvblRvIGZyb20gU2VjdXJpdHlPcmlnaW4gdG8gU2VjdXJpdHlDb250ZXh0Ci0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0MQotCi0gICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggaXMgYSBz
dGVwIHRvd2FyZHMgYnJlYWtpbmcgdGhlIHBhdGNoIGZvcgotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NDUgdXAgaW50byB0aW55LAotICAgICAgICBk
aWdlc3RpYmxlIHBpZWNlcy4KLQotICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0Ojppc1NlY3VyZVRyYW5zaXRpb25Ubyk6
Ci0gICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5oOgotICAgICAgICAqIGxvYWRlci9Eb2N1
bWVudFdyaXRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6YmVnaW4p
OgotICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6c3RvcExvYWRpbmcpOgotICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4u
Y3BwOgotICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKLQotMjAxMS0xMS0xMyAgTmF0
IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBMYXllclJl
bmRlcmVyQ2hyb21pdW06OmluaXRpYWxpemUgc2hvdWxkIGZhaWwgd2hlbiBHYXBoaWNzQ29udGV4
dDNEOjptYWtlQ3VycmVudCBmYWlscwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzIxMDIKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNv
bi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06Omlu
aXRpYWxpemUpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpyZWxl
YXNlUmVuZGVyU3VyZmFjZVRleHR1cmVzKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6bWFrZUNvbnRleHRDdXJyZW50KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkND
VGhyZWFkUHJveHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyT25JbXBsVGhyZWFkKToKLQotMjAx
MS0xMS0xMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IE1vdXNlIExvY2s6IE1vdXNlRXZlbnQgSURMCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MjE1OAotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkg
R2xhemtvdi4KLQotICAgICAgICBUZXN0cyBmb3IgbW92ZW1lbnRYL1kgcGVuZGluZyBtb2NrIG1v
dXNlIGxvY2sgdGVzdCBpbmZyYXN0cnVjdHVyZS4KLQotICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50
LmlkbDoKLSAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZlbnQuaDoKLSAgICAgICAgKFdlYkNv
cmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFgpOgotICAgICAgICAoV2ViQ29yZTo6TW91
c2VSZWxhdGVkRXZlbnQ6Om1vdmVtZW50WSk6Ci0KLTIwMTEtMTEtMTMgIEp1bGllbiBDaGFmZnJh
aXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUkVHUkVTU0lPTig5OTg0OSk6
IE5VTEwtZGVyZWYgaW4gdXBkYXRlTGFzdE1lZGlhTGluZSB3aGVuIHBhcnNpbmcgc29tZSBtZWRp
YS1xdWVyaWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MjIyMgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAg
VGVzdDogZmFzdC9tZWRpYS91cGRhdGUtbWVkaWEtcXVlcnktY3NzLXBhcnNlci5odG1sCi0KLSAg
ICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OiBBZGRlZCBhIHByb3BlciBOVUxMLWNoZWNrLgotCi0y
MDExLTExLTEyICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgTW91c2UgTG9jayBOYXZpZ2F0b3IgSURMCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MjE1MAotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkg
R2xhemtvdi4KLQotICAgICAgICBUZXN0cyByZXF1aXJlIG1vY2tpbmcgKHNpbWlsYXIgdG8gZ2Vv
bG9jYXRpb24pIHRoYXQgd2lsbCBiZSBidWlsdCBhZnRlciB0aGlzLgotCi0gICAgICAgICogV2Vi
Q29yZS5neXBpOgotICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOgotICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0
UG9pbnRlckVuYWJsZWQpOgotICAgICAgICAqIHBhZ2UvTW91c2VMb2NrYWJsZS5jcHA6IEFkZGVk
LgotICAgICAgICAoV2ViQ29yZTo6TW91c2VMb2NrYWJsZTo6TW91c2VMb2NrYWJsZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpNb3VzZUxvY2thYmxlOjp+TW91c2VMb2NrYWJsZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpNb3VzZUxvY2thYmxlOjp3ZWJraXRMb2NrKToKLSAgICAgICAgKFdlYkNvcmU6Ok1v
dXNlTG9ja2FibGU6OndlYmtpdFVubG9jayk6Ci0gICAgICAgIChXZWJDb3JlOjpNb3VzZUxvY2th
YmxlOjp3ZWJraXRJc0xvY2tlZCk6Ci0gICAgICAgICogcGFnZS9Nb3VzZUxvY2thYmxlLmg6IEFk
ZGVkLgotICAgICAgICAoV2ViQ29yZTo6TW91c2VMb2NrYWJsZTo6Y3JlYXRlKToKLSAgICAgICAg
KiBwYWdlL01vdXNlTG9ja2FibGUuaWRsOiBBZGRlZC4KLSAgICAgICAgKiBwYWdlL05hdmlnYXRv
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OndlYmtpdFBvaW50ZXIpOgotICAg
ICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6Ci0gICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgot
Ci0yMDExLTExLTExICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAg
ICBPbmx5IEhUTUxBbGxDb2xsZWN0aW9uIG5lZWRzIHN0YXRlZnVsIG5hbWVkIGl0ZW0gdHJhdmVy
c2FsLgotICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTk4Nz4KLQotICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBBZnRlciB0aGUgYWJpbGl0eSB0byBj
YWxsIGNvbGxlY3Rpb25zIChleGNsdWRpbmcgZG9jdW1lbnQuYWxsKSB3YXMgcmVtb3ZlZAotICAg
ICAgICBpbiA8aHR0cDovL3dlYmtpdC5vcmcvYi82NzU3OT4sIGNodW5rcyBvZiBjb2RlIHJlbWFp
bmVkIGluIEhUTUxDb2xsZWN0aW9uCi0gICAgICAgIGFuZCBIVE1MRm9ybUNvbGxlY3Rpb24gdGhh
dCB3YXMgb25seSB1c2VkIGZvciB0aGlzIHB1cnBvc2UuCi0KLSAgICAgICAgUmVzdHJpY3QgdGhl
IG5leHROYW1lZEl0ZW0oKSBtZWNoYW5pc20gdG8gSFRNTEFsbENvbGxlY3Rpb24sIHNpbmNlIGl0
J3Mgbm8KLSAgICAgICAgbG9uZ2VyIHVzZWQgYnkgYW55IG9mIHRoZSBvdGhlciBjb2xsZWN0aW9u
cy4KLQotICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uaDoKLQotICAgICAgICAgICAgTW92
ZWQgbmV4dE5hbWVkSXRlbSgpIHRvIEhUTUxBbGxDb2xsZWN0aW9uIChhbmQgbWFkZSBpdCBub24t
dmlydHVhbC4pCi0gICAgICAgICAgICBQcm9tb3RlZCBpdGVtQWZ0ZXIoKSBhbmQgY2hlY2tGb3JO
YW1lTWF0Y2goKSB0byBwcm90ZWN0ZWQgbWV0aG9kcyBzbwotICAgICAgICAgICAgdGhleSBjYW4g
YmUgY2FsbGVkIGZyb20gSFRNTEFsbENvbGxlY3Rpb24uCi0KLSAgICAgICAgKiBodG1sL0hUTUxB
bGxDb2xsZWN0aW9uLmg6Ci0gICAgICAgICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6SFRNTEFsbENvbGxlY3Rpb24pOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTEFsbENvbGxlY3Rpb246Om5leHROYW1lZEl0ZW0pOgotICAg
ICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTENv
bGxlY3Rpb246OkhUTUxDb2xsZWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0
aW9uOjpuYW1lZEl0ZW0pOgotICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db2xsZWN0aW9uLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29sbGVjdGlvbjo6bmFtZWRJdGVtKToKLSAgICAg
ICAgKiBodG1sL0hUTUxGb3JtQ29sbGVjdGlvbi5oOgotCi0yMDExLTExLTEzICBDYWlvIE1hcmNl
bG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+Ci0KLSAg
ICAgICAgVXBkYXRlIGJpbmRpbmcgZ2VuZXJhdG9yIHRlc3RzIHRvIHVzZSBqc0Nhc3QKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI0Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCi0KLSAgICAgICAgVXBkYXRlIHRoZSBleHBl
Y3RlZCByZXN1bHRzIGZvciBKUyBnZW5lcmF0b3IgYWZ0ZXIgcjEwMDAwNiBhZGRlZCBqc0Nhc3Qu
Ci0KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1
Y3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yOjpnZXRP
d25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
cjo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLQotMjAxMS0xMS0xMiAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEwMDAzOC4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMTAwMDM4Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MjIyNQotCi0gICAgICAgIEl0IGJyb2tlIG1vcmUgdGhhbiA1MDAgbGF5b3V0IHRlc3RzIG9u
IHRoZSBRdCBib3RzIChSZXF1ZXN0ZWQKLSAgICAgICAgYnkgT3NzeV9uaWdodCBvbiAjd2Via2l0
KS4KLQotICAgICAgICAqIHBsYXRmb3JtL3F0L1Njcm9sbGJhclRoZW1lUXQuaDoKLQotMjAxMS0x
MS0xMiAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+Ci0KLSAgICAg
ICAgW1F0XVtTeW1iaWFuXSBSZW1vdmUgc3VwcG9ydCBmb3IgV0lOU0NXIGNvbXBpbGVyCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE3OAotCi0gICAg
ICAgIFJldmlld2VkIGJ5IENoYW5nIFNodS4KLQotICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhl
cmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCi0KLSAgICAgICAgKiBjb25maWcuaDogUmV2ZXJ0
IHI1NzA3Ni4KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaDog
UmV2ZXJ0IHI0OTAxNyBhbmQgcjQ5NTU2LgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VIYW5kbGU6OkNhY2hlZFJlc291cmNlSGFuZGxlKToKLSAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDogUmV2ZXJ0IHI1MjczMy4KLSAgICAgICAgKGNvbXBhcmVFcXVhbCk6
Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IFJldmVydCBy
NDU1NTMuCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6IERpdHRvLgotICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBEaXR0by4KLSAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6IERpdHRvLgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuY3BwOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDogRGl0dG8uCi0KLTIwMTEtMTEtMTIgIEFubmEgQ2F2
ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEFkZCBXZWJWVFQgcGFyc2lu
ZyBsYXlvdXQgdGVzdHMuICBQYXRjaCBhbHNvIGluY2x1ZGVzIGNyZWF0aW5nIGEgVGV4dFRyYWNr
Q3VlTGlzdAotICAgICAgICBpbiBUZXh0VHJhY2s6OmN1ZXMoKSBhbmQgb2JzZXJ2aW5nIFdlYlZU
VCBjaHJvbm9sb2dpY2FsIGN1ZSBvcmRlci4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcyMjE1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgotCi0gICAgICAgIFRlc3RzOiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDAtZW1w
dHkuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAxLXV0
ZjguaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAyLWJv
bS5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDMtbmV3
bGluZXMuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDA0
LW1hZ2ljLWhlYWRlci5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2
dHQtdGMwMDUtaGVhZGVyLWNvbW1lbnQuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2sv
dHJhY2std2VidnR0LXRjMDA2LWN1ZS1pZGVudGlmaWVycy5odG1sCi0gICAgICAgICAgICAgICBt
ZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDctY3VlLW5vLWlkLmh0bWwKLSAgICAgICAgICAg
ICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwOC10aW1pbmdzLW5vLWhvdXJzLmh0bWwK
LSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwOS10aW1pbmdzLWhv
dXIuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDEwLW5v
LXRpbWluZ3MuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRj
MDExLWJsYW5rLWxpbmVzLmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAxMi1vdXQtb2Ytb3JkZXIuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2sv
dHJhY2std2VidnR0LXRjMDEzLXNldHRpbmdzLmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAxNC1hbGlnbm1lbnQuaHRtbAotICAgICAgICAgICAgICAgbWVk
aWEvdHJhY2svdHJhY2std2VidnR0LXRjMDE1LXBvc2l0aW9uaW5nLmh0bWwKLSAgICAgICAgICAg
ICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAxNi1hbGlnbi1wb3NpdGlvbmluZy5odG1s
Ci0gICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMTctbGluZS1wb3Np
dGlvbi5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMTgt
YWxpZ24tdGV4dC1saW5lLXBvc2l0aW9uLmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNr
L3RyYWNrLXdlYnZ0dC10YzAxOS1jdWUtc2l6ZS5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMjAtY3VlLXNpemUtYWxpZ24uaHRtbAotICAgICAgICAgICAg
ICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDIxLXZhbGlnbi5odG1sCi0gICAgICAgICAg
ICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjItZW50aXRpZXMuaHRtbAotICAgICAg
ICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDIzLW1hcmt1cC5odG1sCi0gICAg
ICAgICAgICAgICBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjQtdGltZXN0YW1wLmh0bWwK
LSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNS1jbGFzcy1tYXJr
dXAuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI2LXZv
aWNlLmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyNy1l
bXB0eS1jdWUuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRj
MDI4LXVuc3VwcG9ydGVkLW1hcmt1cC5odG1sCi0KLSAgICAgICAgKiBodG1sL1RleHRUcmFjay5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6On5UZXh0VHJhY2spOiBPbmx5IGNhbGwg
Y2xpZW50IGlmIG1fY3VlcyBoYXMgYmVlbiBhbGxvY2F0ZWQuCi0gICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2s6OmN1ZXMpOiBDcmVhdGUgYSBUZXh0VHJhY2tDdWVMaXN0IGlmIHdlIGRvbid0IGFs
cmVhZHkgaGF2ZSBvbmUuCi0gICAgICAgICogaHRtbC9UZXh0VHJhY2suaDogVGhlIGN1ZXMoKSBm
dW5jdGlvbiBjYW4gbm8gbG9uZ2VyIGJlIGNvbnN0LgotICAgICAgICAqIGh0bWwvVGV4dFRyYWNr
Q3VlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVMaXN0OjphZGQpOiBP
bmx5IGFkZCB0aGUgY3VlIGlmIHRoZSBzdGFydFRpbWUgY29tZXMgYWZ0ZXIKLSAgICAgICAgICAg
IGFsbCBvdGhlciBzdGFydFRpbWVzIGluIHRoZSBsaXN0LgotCi0yMDExLTExLTEyICBOYXQgRHVj
YSAgPG5kdWNhQGNocm9taXVtLm9yZz4KLQotICAgICAgICBGaXhlcyB0byBHcmFwaGljc0NvbnRl
eHQzRDo6bWFrZUN1cnJlbnQgb24gZ3RrIGFuZCBtYWMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE4Ci0KLSAgICAgICAgVW5yZXZpZXdlZC4gRm9y
Z290IHRvIGhhbmRsZSBjb3JuZXIgY2FzZXMuIFRoYW5rcyBOaWNvIQotCi0gICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3RrL0dyYXBoaWNzQ29udGV4dDNER3RrLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjptYWtlQ29udGV4dEN1cnJlbnQpOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjptYWtlQ29udGV4dEN1cnJl
bnQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1h
Yy5tbToKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjptYWtlQ29udGV4dEN1
cnJlbnQpOgotCi0yMDExLTExLTEyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgotCi0gICAgICAgIEFkZCBzdHViIGltcGxlbWVudGF0aW9uIGZvciBTVkdSZXNvdXJjZXM6
OmZpbHRlcigpCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MjIxMQotCi0gICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KLQotICAgICAgICBB
ZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24sIHdoaWNoIG9ubHkgcmV0dXJucyAwIGZvciAhRU5B
QkxFKEZJTFRFUlMpCi0gICAgICAgIHRvIHJlZHVjZSB0aGUgI2lmIEVOQUJMRShGSUxURVJTKSBj
b21wbGV4aXR5IGEgYml0LgotCi0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250
YWluZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQ29udGFpbmVyOjpzZWxmV2ls
bFBhaW50KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2VsZldpbGxQYWludCk6Ci0gICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNW
R1JlbmRlclN1cHBvcnQ6OmZpbHRlcnNGb3JjZUNvbnRhaW5lckxheW91dCk6Ci0gICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291
cmNlczo6ZmlsdGVyKToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRMYXlvdXRD
aGFuZ2VkKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlc0NhY2hlOjpjbGllbnRVcGRh
dGVkRnJvbUVsZW1lbnQpOgotCi0yMDExLTExLTEyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KLQotICAgICAgICBSRUdSRVNTSU9OKHI5ODU0Mik6IFJlbmRlcmluZyBlcnJvciBv
biBHb29nbGUgbWFwcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE5OTYKLQotICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotICAgICAg
ICAKLSAgICAgICAgcjk4NTQyIGV4cG9zZWQgdGhhdCBTdHlsZUJveERhdGEgY29weSBjb25zdHJ1
Y3RvciBhbmQgb3BlcmF0b3I9PSBhcmUgbWlzc2luZyBhIGZpZWxkLgotICAgICAgICAKLSAgICAg
ICAgVGVzdCByZWR1Y3Rpb24gYnkgRGF2aWQgQmFyci4KLQotICAgICAgICBUZXN0OiBmYXN0L2Nz
cy92ZXJ0aWNhbC1hbGlnbi1sZW5ndGgtY29weS1idWcuaHRtbAotCi0gICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERh
dGE6OlN0eWxlQm94RGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6Om9wZXJh
dG9yPT0pOgotCi0yMDExLTExLTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAwMDEzLgotICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMDAwMTMKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEwCi0KLSAgICAgICAgSXQg
YnJlYWtzIGFsbCBtYWMgYnVpbGRzIChSZXF1ZXN0ZWQgYnkgV2lsZEZveCBvbiAjd2Via2l0KS4K
LQotICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsOgotICAgICAgICAqIGh0bWwv
SFRNTEFyZWFFbGVtZW50LmlkbDoKLSAgICAgICAgKiBodG1sL0hUTUxCdXR0b25FbGVtZW50Lmlk
bDoKLSAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmlkbDoKLSAgICAgICAgKiBodG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaWRsOgotICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5pZGw6Ci0g
ICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5pZGw6Ci0gICAgICAgICogaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmlkbDoKLQotMjAxMS0xMS0xMiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8
bnppbW1lcm1hbm5AcmltLmNvbT4KLQotICAgICAgICBGaW5pc2ggU1ZHTGVuZ3RoQ29udGV4dCBj
b252ZXJzaW9uIGluIHN2Zy8KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMTA1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0K
LSAgICAgICAgTWFrZSBTVkdMZW5ndGhDb250ZXh0KGNvbnN0IFNWR0VsZW1lbnQqKSBleHBsaWNp
dCwgYWRhcHQgYWxsIHJlbWFpbmluZyBjYWxsIHNpdGVzLgotICAgICAgICBOb3cgdGhhdCB0aGlz
IHByb2Nlc3MgaXMgZmluaXNoZWQsIFNWR0xlbmd0aENvbnRleHQgY2FuIGJlIHNoYXJlZCBhY3Jv
c3MgcmVuZGVycywKLSAgICAgICAgc28gdGhhdCBpdHMgcG9zc2libGUgdG8gb3ZlcnJpZGUgdGhl
IGxlbmd0aCBjb250ZXh0IGluIGEgc2luZ2xlIHBsYWNlLiBUaGlzIHdpbGwKLSAgICAgICAgYmUg
ZG9uZSBpbiBmdXR1cmUgcGF0Y2hlcy4KLQotICAgICAgICBEb2Vzbid0IGFmZmVjdCBhbnkgdGVz
dHMgeWV0LgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNTVkdMZW5ndGhDdXN0b20uY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SlNTVkdMZW5ndGg6OnZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6
OkpTU1ZHTGVuZ3RoOjpzZXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU1NWR0xlbmd0aDo6
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvck9iakMucG06Ci0gICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKLSAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6VjhTVkdMZW5ndGg6OnZhbHVlQWNjZXNzb3JHZXR0ZXIpOgotICAgICAgICAo
V2ViQ29yZTo6VjhTVkdMZW5ndGg6OnZhbHVlQWNjZXNzb3JTZXR0ZXIpOgotICAgICAgICAoV2Vi
Q29yZTo6VjhTVkdMZW5ndGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzQ2FsbGJhY2spOgotICAg
ICAgICAqIGNzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNT
U0N1cnNvckltYWdlVmFsdWU6OnVwZGF0ZUlmU1ZHQ3Vyc29ySXNVc2VkKToKLSAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6bGF5b3V0KToKLSAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0ltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0ltYWdl
Ojp1cGRhdGVGcm9tRWxlbWVudCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQ
YXRoLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1BhdGg6Onplcm9MZW5ndGhTdWJw
YXRoUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdQYXRoOjpjYWxjdWxhdGVNYXJr
ZXJCb3VuZHNJZk5lZWRlZCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtl
cjo6cmVmZXJlbmNlUG9pbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXI6OmNhbGNWaWV3cG9ydCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHQ6OnN0cm9rZUJvdW5kaW5n
Qm94KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyOjpjYWxj
Vmlld3BvcnQpOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdXBwb3J0OjphcHBseVN0cm9rZVN0eWxlVG9D
b250ZXh0KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6d3JpdGVTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpvcGVy
YXRvcjw8KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1NoYWRvd1RyZWVFbGVtZW50cy5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTaGFkb3dUcmVlQ29udGFpbmVyRWxlbWVudDo6Y29u
dGFpbmVyVHJhbnNsYXRpb24pOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5r
QnVpbGRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q2h1bmtCdWlsZGVyOjphZGRU
ZXh0Q2h1bmspOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RGbG9hdFZhbHVlc0Zyb21T
VkdMZW5ndGhMaXN0KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVuZ2luZTo6cGFyZW50RGVm
aW5lc1RleHRMZW5ndGgpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVuZ2luZTo6
YmVnaW5UZXh0UGF0aExheW91dCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lQmFzZWxpbmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVu
Z2luZUJhc2VsaW5lOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKLSAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nOjpjYWxjdWxhdGVDU1NLZXJuaW5nQW5kU3BhY2lu
Zyk6Ci0gICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDoKLSAgICAgICAgKiBzdmcvU1ZHTGVuZ3Ro
Q29udGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0OjpkZXRlcm1p
bmVWaWV3cG9ydCk6Ci0gICAgICAgICogc3ZnL1NWR0xlbmd0aENvbnRleHQuaDoKLSAgICAgICAg
KiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50
Ojp2aWV3cG9ydCk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojpsb2NhbENvb3Jk
aW5hdGVTcGFjZVRyYW5zZm9ybSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojpj
dXJyZW50Vmlld0JveFJlY3QpOgotICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OnRvQ2xpcFBhdGgpOgotCi0yMDExLTExLTEy
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgotCi0gICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IGZvciAhRU5BQkxFKEZJTFRFUlMpIGFmdGVyIHIxMDAwMzYuCi0KLSAg
ICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6U1ZHUmVuZGVyU3VwcG9ydDo6ZmlsdGVyc0ZvcmNlQ29udGFpbmVyTGF5b3V0KToKLQot
MjAxMS0xMS0xMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KLQotICAg
ICAgICBbV0lOXSBGaXggYnVpbGQgd2l0aG91dCBwcmVjb21waWxlZCBoZWFkZXIuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNQotCi0gICAgICAg
IFVucmV2aWV3ZWQuIEFkZCBtaXNzaW5nIGluY2x1ZGVzIHRvIGZpeCBidWlsZCB3aXRob3V0IHBy
ZWNvbXBpbGVkIGhlYWRlci4KLQotICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51Lmg6Ci0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RJQlBpeGVsRGF0YS5oOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6Ci0gICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUVycm9yLmg6Ci0gICAgICAgICogcGxhdGZv
cm0vd2luL0xhbmd1YWdlV2luLmNwcDoKLSAgICAgICAgKiBwbGF0Zm9ybS93aW4vTG9jYWxpemVk
U3RyaW5nc1dpbi5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwOgot
Ci0yMDExLTExLTExICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+Ci0KLSAg
ICAgICAgUmVtb3ZlIER1cGxpY2F0ZSBTeW1ib2wgRXhwb3J0cwotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMDUKLQotICAgICAgICBSZXZpZXdlZCBi
eSBEYW4gQmVybnN0ZWluLgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46IFJlbW92ZSBkdXBs
aWNhdGUgc3ltYm9scyBsaXN0ZWQuCi0gICAgICAgIEVhY2ggZHVwIGluIHRoaXMgY2FzZSB3YXMg
YWxyZWFkeSBhbHdheXMgZXhwb3J0ZWQuCi0KLTIwMTEtMTEtMTEgIE5pY28gV2ViZXIgIDx0aGFr
aXNAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIDIgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgMyBleGl0IHRpbWUgZGVzdHJ1Y3RvcnMuIFR1cm4gb24gLVdleGl0LXRp
bWUtZGVzdHJ1Y3RvcnMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MjE0NgotCi0gICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgotCi0gICAg
ICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6Ci0KLTIwMTEtMTEtMTEgIE5hdCBEdWNhICA8
bmR1Y2FAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFNpbmNlIEdyYXBoaWNzQ29udGV4dDNEOjpt
YWtlQ29udGV4dEN1cnJlbnQgY2FuIGZhaWwsIHJldHVybiBib29sLgotCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwMQotCi0gICAgICAgIFJldmll
d2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBo
aWNzQ29udGV4dDNERWZsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
OjptYWtlQ29udGV4dEN1cnJlbnQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9H
cmFwaGljc0NvbnRleHQzREd0ay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6bWFrZUNvbnRleHRDdXJyZW50KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
dGsvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6bWFrZUNvbnRleHRDdXJyZW50KToKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ndGsvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmg6Ci0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tOgotICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Om1ha2VDb250ZXh0Q3VycmVudCk6Ci0gICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6bWFrZUNvbnRleHRDdXJyZW50KToKLQotMjAx
MS0xMS0xMSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFVucmV2
aWV3ZWQuIFJvbGxvdXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTk3NDQuCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwMwotICAg
ICAgICByOTk3NDQgY2F1c2VzIGNyYXNoIGluIENocm9taXVtJ3MgZG9tX3BlcmYgdGVzdC4KLQot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUYWJsZTo6c3BsaXRDb2x1bW4pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6
OmFwcGVuZENvbHVtbik6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFkZENlbGwpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpyZWNhbGNDZWxscyk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFwcGVuZENvbHVtbik6Ci0KLTIwMTEtMTEt
MTEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hy
b21pdW1dIFJlbW92ZWQgdW51c2VkIGxvY2FsIGZyb20gQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVk
QWN0aW9uQ29tbWl0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MjIwMAotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KLQotICAg
ICAgICBIb3cgZGlkIEkgZ2V0IGhlcmUgSSBhbSBub3QgZ29vZCB3aXRoIGNvbXB1dGVycy4KLQot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uQ29tbWl0
KToKLQotMjAxMS0xMS0xMSAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4K
LQotICAgICAgICBGaXggYSBjcmFzaCB3aGVuIGFuIGFub255bW91cyByZW5kZXIgYmxvY2sgaXMg
aW4gYSBjb250aW51YXRpb24uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDk5NAotCi0gICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgot
Ci0gICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvYW5vbnltb3VzLXJlbmRlci1ibG9jay1pbi1j
b250aW51YXRpb24tY2F1c2VzLWNyYXNoLmh0bWwKLQotICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjpyZW5kZXJQYXJlbnRPYmplY3QpOgotCi0yMDExLTExLTExICBB
bm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KLQotICAgICAgICBTdG9yYWdlIGFu
ZCByZXRyaWV2YWwgb2YgVGV4dFRyYWNrQ3VlcyBkdXJpbmcgdmlkZW8gcGxheWJhY2ssIGluY2x1
ZGluZwotICAgICAgICBjdWVjaGFuZ2UsIGVudGVyLCBhbmQgZXhpdCBldmVudHMuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MgotCi0gICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KLQotICAgICAgICBUZXN0czogbWVkaWEvdHJhY2sv
dHJhY2stY3Vlcy1jdWVjaGFuZ2UuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJh
Y2stY3Vlcy1lbnRlci1leGl0Lmh0bWwKLSAgICAgICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNr
LWN1ZXMtc2Vla2luZy5odG1sCi0KLSAgICAgICAgQWRkIGN1ZWNoYW5nZSwgZW50ZXIsIGFuZCBl
eGl0IGV2ZW50cyBhbmQgbWFrZSBUZXh0VHJhY2sgYW5kCi0gICAgICAgIFRleHRUcmFja0N1ZSBF
dmVudFRhcmdldHM6Ci0gICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKLSAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXQuaDoKLSAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgotCi0g
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKToKLSAgICAgICAgICAgIFVzZSBzY2hlZHVs
ZUxvYWQoKSBpbnN0ZWFkIG9mIGNvbmZpZ3VyZVRleHRUcmFja3MoKSB0byBzdGFydCBhbiBhc3lu
YyBsb2FkLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZl
VGV4dFRyYWNrQ3Vlcyk6Ci0gICAgICAgICAgICBVcGRhdGVzIHRoZSBsaXN0IG9mIGN1cnJlbnRs
eSBhY3RpdmUgY3VlcyBkdXJpbmcgcGxheWJhY2suCi0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50Ojp0ZXh0VHJhY2tBZGRDdWVzKToKLSAgICAgICAgICAgIEFkZHMgY3VlcyB0byBj
dWVUcmVlLiAgQ2FsbGVkIHdoZW4gY3VlcyBhcmUgZGlzY292ZXJlZC9sb2FkZWQuCi0gICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tSZW1vdmVDdWVzKToKLSAgICAg
ICAgICAgIFJlbW92ZXMgY3VlcyBmcm9tIGN1ZVRyZWUuICBDYWxsZWQgd2hlbiBjdWVzIGFuZC9v
ciB0cmFja3MgZGllLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dGV4dFRy
YWNrQWRkQ3VlKToKLSAgICAgICAgICAgIEFkZHMgYSBjdWUgdG8gY3VlVHJlZS4gIENhbGxlZCB3
aGVuIGN1ZXMgYXJlIGRpc2NvdmVyZWQvbG9hZGVkLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6dGV4dFRyYWNrUmVtb3ZlQ3VlKToKLSAgICAgICAgICAgIFJlbW92ZXMgYSBj
dWUgZnJvbSBjdWVUcmVlLiAgQ2FsbGVkIHdoZW4gY3VlcyBhbmQvb3IgdHJhY2tzIGRpZS4KLQot
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1RpbWVy
RmlyZWQpOgotICAgICAgICAgICAgVXBkYXRlIHRoZSBhY3RpdmUgVGV4dFRyYWNrQ3VlcyB3aGVu
IHBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6YWRkVHJhY2spOgotICAgICAgICAgICAgUGFzcyBhbG9uZyBhIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgdG8gVGV4dFRyYWNrOjpjcmVhdGUoKS4KLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyVGltZUNoYW5nZWQpOgotICAgICAgICAgICAgVXBk
YXRlIHRoZSBhY3RpdmUgVGV4dFRyYWNrQ3VlcyB3aGVuIHRoZSBtZWRpYSBwbGF5ZXIgdGltZSBj
aGFuZ2VzLgotICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgotICAgICAgICAgICAg
VXNlIGEgUG9kSW50ZXJ2YWxUcmVlIGN1ZVRyZWUgdG8gc3RvcmUgYW5kIHJldHJpZXZlIFRleHRU
cmFja0N1ZXMKLSAgICAgICAgICAgIGR1cmluZyBwbGF5YmFjay4KLQotICAgICAgICAqIGh0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
OjplbnN1cmVUcmFjayk6Ci0gICAgICAgICAgICBQYXNzIGFsb25nIGEgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCBuZWVkZWQgZm9yIEV2ZW50VGFyZ2V0IGludGVyZmFjZS4KLSAgICAgICAgKiBodG1s
L0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRy
YWNrOjpMb2FkYWJsZVRleHRUcmFjayk6Ci0gICAgICAgICAgICBQYXNzIGFsb25nIGEgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCBuZWVkZWQgZm9yIEV2ZW50VGFyZ2V0IGludGVyZmFjZS4KLSAgICAg
ICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpmaXJlQ3VlQ2hhbmdlRXZlbnQpOgotICAg
ICAgICAgICAgRmlyZSBhIGN1ZSBjaGFuZ2UgZXZlbnQgb24gdGhpcyBUZXh0VHJhY2sncyA8dHJh
Y2s+Ci0gICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5oOgotICAgICAgICAoV2ViQ29y
ZTo6TG9hZGFibGVUZXh0VHJhY2s6OmNyZWF0ZSk6Ci0gICAgICAgICAgICBQYXNzIGFsb25nIGEg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCBuZWVkZWQgZm9yIEV2ZW50VGFyZ2V0IGludGVyZmFjZS4K
LSAgICAgICAgKiBodG1sL1RleHRUcmFjay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2s6OlRleHRUcmFjayk6Ci0gICAgICAgICAgICBQYXNzIGFsb25nIGEgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCBuZWVkZWQgZm9yIEV2ZW50VGFyZ2V0IGludGVyZmFjZS4KLSAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFjazo6Y3Vlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OmFjdGl2
ZUN1ZXMpOgotICAgICAgICAgICAgUmV0dXJuIGEgVGV4dFRyYWNrQ3VlTGlzdCB0aGF0IHJlcHJl
c2VudHMgdGhlIGN1cnJlbnRseSBhY3RpdmUgY3Vlcy4KLSAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFjazo6ZmlyZUN1ZUNoYW5nZUV2ZW50KToKLSAgICAgICAgICAgIEZpcmVzIGEgY3VlIGNoYW5n
ZSBldmVudC4KLSAgICAgICAgKiBodG1sL1RleHRUcmFjay5oOgotICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrOjpjcmVhdGUpOgotICAgICAgICAgICAgUGFzcyBhbG9uZyBhIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgbmVlZGVkIGZvciBFdmVudFRhcmdldCBpbnRlcmZhY2UuCi0gICAgICAgICog
aHRtbC9UZXh0VHJhY2suaWRsOgotICAgICAgICAgICAgTWFrZXMgVGV4dFRyYWNrIGV4dGVuZCBF
dmVudFRhcmdldCBpbnRlcmZhY2UgYW5kIGFkZCBvbmN1ZWNoYW5nZS4KLSAgICAgICAgKiBodG1s
L1RleHRUcmFja0N1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWU6OlRleHRU
cmFja0N1ZSk6Ci0gICAgICAgICAgICBUZXh0VHJhY2tDdWUgc2hvdWxkIGV4dGVuZCBFdmVudFRh
cmdldCwgbm90IEFjdGl2ZURPTU9iamVjdC4KLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1
ZTo6aXNBY3RpdmUpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlOjpzZXRJc0FjdGl2
ZSk6Ci0gICAgICAgICAgICBEaXNwYXRjaCBhbiBlbnRlciBvciBleGl0IGV2ZW50IGRlcGVuZGlu
ZyBvbiBhY3RpdmUgc3RhdGUgYW5kIG5vdGlmeQotICAgICAgICAgICAgdGhlIGNvcnJlc3BvbmRp
bmcgdHJhY2sgdG8gZmlyZSBhIGN1ZWNoYW5nZSBldmVudC4KLQotICAgICAgICBUaGUgZm9sbG93
aW5nIGFyZSBuZWVkZWQgZm9yIEV2ZW50VGFyZ2V0IGludGVyZmFjZToKLSAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0N1ZTo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tDdWU6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgotICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrQ3VlOjpldmVudFRhcmdldERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
Q3VlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOgotICAgICAgICAqIGh0bWwvVGV4dFRyYWNrQ3Vl
Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWU6OnJlZkV2ZW50VGFyZ2V0KToKLSAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6ZGVyZWZFdmVudFRhcmdldCk6Ci0KLSAgICAg
ICAgKiBodG1sL1RleHRUcmFja0N1ZS5pZGw6Ci0gICAgICAgICAgICBFeHRlbmQgRXZlbnRUYXJn
ZXQgYW5kIGFkZCBvbmVudGVyIGFuZCBvbmV4aXQuCi0gICAgICAgICogaHRtbC9UZXh0VHJhY2tD
dWVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZUxpc3Q6OmFjdGl2ZUN1
ZXMpOgotICAgICAgICAgICAgVXBkYXRlIGFuZCByZXR1cm4gdGhlIGxpc3Qgb2YgY3VycmVudGx5
IGFjdGl2ZSBjdWVzLgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlTGlzdDo6Y2xlYXIp
OgotICAgICAgICAgICAgQ2xlYXIgdGhlIGN1ZXMgZnJvbSBsaXN0IChuZWVkZWQgdG8gcmV0dXJu
IHNhbWUgb2JqZWN0IGVhY2ggdGltZSkuCi0gICAgICAgICogaHRtbC9UZXh0VHJhY2tDdWVMaXN0
Lmg6Ci0KLSAgICAgICAgVGhlIGZvbGxvd2luZyBhcmUgbmVlZGVkIGZvciBFdmVudFRhcmdldCBp
bnRlcmZhY2U6Ci0gICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6VHJhY2tCYXNlOjpUcmFja0Jhc2UpOgotICAgICAgICAoV2ViQ29yZTo6VHJhY2tC
YXNlOjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKFdlYkNvcmU6OlRyYWNrQmFzZTo6c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OmV2ZW50VGFy
Z2V0RGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpUcmFja0Jhc2U6OmVuc3VyZUV2ZW50VGFyZ2V0
RGF0YSk6Ci0gICAgICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuaDoKLSAgICAgICAgKFdlYkNv
cmU6OlRyYWNrQmFzZTo6cmVmRXZlbnRUYXJnZXQpOgotICAgICAgICAoV2ViQ29yZTo6VHJhY2tC
YXNlOjpkZXJlZkV2ZW50VGFyZ2V0KToKLQotMjAxMS0xMS0xMSAgRGF2aWQgUmV2ZW1hbiAgPHJl
dmVtYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtDaHJvbWl1bV0gUmVtb3ZlIHVudXNlZCB2
YXJpYWJsZSBhZGRlZCBieSByOTk4MTMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjE5OQotCi0gICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmlu
c29uLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNo
cm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJvbWl1bTo6cHJlcGFy
ZVRvVXBkYXRlKToKLQotMjAxMS0xMS0xMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21p
dW0ub3JnPgotCi0gICAgICAgIFJvbGxvdXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvOTk4NDQKLSAgICAgICAgU29sdXRpb24gaXMgbW9yZSBjb21wbGljYXRlZCB0aGFuIHRoZSBw
cm9ibGVtIGl0IHdhcyBpbnRlbmRlZCB0byBzb2x2ZS4KLQotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllclRyZWVIb3N0OjphcHBseVNjcm9sbEFuZFNjYWxlKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgotICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1v
bi5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cHJv
Y2Vzc1Njcm9sbERlbHRhcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NUaHJlYWRQcm94eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5Ojpi
ZWdpbkZyYW1lQW5kQ29tbWl0KToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmJl
Z2luRnJhbWVDb21wbGV0ZU9uSW1wbFRocmVhZCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgotCi0yMDExLTExLTExICBMZXZpIFdlaW50
cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZlcnQgUGFnZSB0byBvcGVy
YXRlIG9uIGludGVnZXJzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MjE4NQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAg
ICAgIFJldmVydGluZyB0aGUgcGFnZSBjbGFzc2VzIHRvIGludGVnZXJzIGZyb20gTGF5b3V0VW5p
dHMuIEl0J3Mgbm90IG5lY2Vzc2FyeSB0byBleHBvc2UKLSAgICAgICAgTGF5b3V0VW5pdHMgaW4g
dGhlc2UgY2xhc3Nlcywgc28gd2UnbGwgYXZvaWQgZG9pbmcgc28uCi0KLSAgICAgICAgTm8gbmV3
IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVu
dUV2ZW50Rm9yS2V5KToKLSAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZHJhZ0h5c3Rl
cmVzaXNFeGNlZWRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZURy
YWcpOgotICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6Ci0gICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZTo6ZG9jdW1lbnRBdFBvaW50KToKLSAgICAg
ICAgKiBwYWdlL0ZyYW1lLmg6Ci0gICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjppbnZhbGlkYXRlUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldEZy
YW1lUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldENvbnRlbnRzU2l6ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXplKToKLSAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUpOgotICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OmdldFRpY2ttYXJrcyk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OndpbmRvd1Jlc2l6ZXJSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2V0VmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6dXBkYXRlU2Nyb2xsQ29ybmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFp
bnRTY3JvbGxDb3JuZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludENvbnRl
bnRzKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRPdmVyaGFuZ0FyZWFzKToK
LSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y29udmVydEZyb21SZW5kZXJlcik6Ci0gICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNvbnZlcnRUb1JlbmRlcmVyKToKLSAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlldzo6Y29udmVydFRvQ29udGFpbmluZ1ZpZXcpOgotICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3KToKLSAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5oOgotICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IpOgotICAgICAgICAqIHBhZ2UvUGFnZS5oOgot
ICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6
c2Nyb2xsSW5EaXJlY3Rpb24pOgotCi0yMDExLTExLTExICBEb21pbmljIE1henpvbmkgIDxkbWF6
em9uaUBnb29nbGUuY29tPgotCi0gICAgICAgIE5ldyBpZnJhbWUgY29udGVudCBtYXkgbm90IGJl
IHJlZmxlY3RlZCBpbiB0aGUgYXggdHJlZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcyMTAwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxl
aXphY2guCi0KLSAgICAgICAgVGhlIGNvcmUgaXNzdWUgd2FzIHRoYXQgd2hlbiBjaGlsZHJlbkNo
YW5nZWQgd2FzIGNhbGxlZCBvbiBhCi0gICAgICAgIHdlYiBhcmVhIGZyb20gYW4gaWZyYW1lIHRo
YXQgd2FzIGp1c3QgZGV0YWNoZWQsIGl0IHdhc24ndCBjYWxsaW5nCi0gICAgICAgIGNoaWxkcmVu
Q2hhbmdlZCBvbiBpdHMgcGFyZW50IHNjcm9sbCBhcmVhLCBvciB0aGF0IHNjcm9sbCBhcmVhJ3MK
LSAgICAgICAgcGFyZW50IGlmcmFtZSBlbGVtZW50LiBUbyBmaXggdGhpcywgbm93IEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3Ci0gICAgICAgIGltcGxlbWVudHMgc2V0TmVlZHNUb1VwZGF0ZUNoaWxk
cmVuIGFuZCBwYXJlbnRPYmplY3RJZkV4aXN0cywKLSAgICAgICAgYW5kIGNoaWxkcmVuQ2hhbmdl
ZCBjYWxscyBzZXROZWVkc1RvVXBkYXRlQ2hpbGRyZW4gb24gZXZlcnkgb2JqZWN0Ci0gICAgICAg
IGluIHRoZSBwYXJlbnQgY2hhaW4sIG5vdCBqdXN0IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Rz
LgotCi0gICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvbG9hZGluZy1pZnJhbWUtdXBkYXRlcy1h
eHRyZWUuaHRtbAotCi0gICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6Ci0g
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXROZWVkc1RvVXBkYXRlQ2hpbGRyZW4pOgot
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3RJ
ZkV4aXN0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpj
aGlsZHJlbkNoYW5nZWQpOgotICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oOgotICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6c2V0TmVlZHNUb1VwZGF0ZUNoaWxkcmVuKToKLSAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3OjpBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6dXBkYXRlQ2hpbGRyZW5JZk5lY2Vzc2FyeSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6cGFyZW50T2JqZWN0KToK
LSAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpwYXJlbnRPYmplY3RJ
ZkV4aXN0cyk6Ci0gICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5oOgotICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OnNldE5lZWRz
VG9VcGRhdGVDaGlsZHJlbik6Ci0KLTIwMTEtMTEtMTEgIElhaW4gTWVycmljayAgPGh1c2t5QGdv
b2dsZS5jb20+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBGaXggQ0NUaHJlYWRQcm94eTo6c2V0Vmlz
aWJsZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5
MDMKLQotICAgICAgICBUaGUgYmVoYXZpb3IgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGV0
aGVyIHdlJ3JlIHNob3dpbmcKLSAgICAgICAgb3IgaGlkaW5nIHRoZSBjb21wb3NpdG9yLiBUaGlz
IHBhdGNoIGZpeGVzIGJvdGggY29kZSBwYXRocy4KLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1l
cyBSb2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
Q29tcGxldGlvbkV2ZW50Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0NvbXBsZXRpb25FdmVudDo6
Q0NDb21wbGV0aW9uRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NDb21wbGV0aW9uRXZlbnQ6
On5DQ0NvbXBsZXRpb25FdmVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0NvbXBsZXRpb25FdmVu
dDo6d2FpdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0NvbXBsZXRpb25FdmVudDo6c2lnbmFsKToK
LSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNldFZpc2libGUpOgotCi0yMDEx
LTExLTExICBJYWluIE1lcnJpY2sgIDxodXNreUBnb29nbGUuY29tPgotCi0gICAgICAgIFtjaHJv
bWl1bV0gQ0NUaHJlYWRQcm94eTo6ZmluaXNoQWxsUmVuZGVyaW5nIGhhbmdzIGlmICF2aXNpYmxl
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkyMAot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6Q0NTY2hlZHVsZXI6OnNldE5lZWRzRm9yY2VkUmVkcmF3KToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5lLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpDQ1NjaGVkdWxlclN0YXRlTWFj
aGluZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6bmV4dEFj
dGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6dXBkYXRl
U3RhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OnNldE5l
ZWRzRm9yY2VkUmVkcmF3KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZS5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJl
YWRQcm94eTo6cmVxdWVzdFJlYWRiYWNrT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6
OkNDVGhyZWFkUHJveHk6OmZpbmlzaEFsbFJlbmRlcmluZ09uSW1wbFRocmVhZCk6Ci0KLTIwMTEt
MTEtMTEgIEpvaG4gS25vdHRlbmJlbHQgIDxqa25vdHRlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgW0Nocm9taXVtXSBFbmFibGUgYnVpbGRpbmcgd2l0aG91dCBzaGFyZWQgd29ya2Vycy4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTIyCi0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIGJpbmRpbmdz
L3Y4L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnJldHJp
ZXZlV29ya2VyQ29udGV4dCk6Ci0KLTIwMTEtMTEtMTEgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hh
ZmZyYWl4QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQ3Jhc2ggaW4gc3R5bGVEaWRDaGFuZ2Ugd2hl
biBjaGFuZ2luZyBhIHRhYmxlIGNlbGwncyBoZWlnaHQuCi0gICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzcyMDA0PgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAg
ICAgIFRlc3RzOiBmYXN0L3RhYmxlL2NyYXNoLXRhYmxlLWNlbGwtY2hhbmdlLWhlaWdodC5odG1s
Ci0gICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLWNlbGwtY2hhbmdlLWhlaWdodC13aXRo
LW5lZWRzQ2VsbFJlY2FsYy1zZWN0aW9uLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvdGFibGUv
dGFibGUtY2VsbC1jaGFuZ2UtbGFzdC1yb3ctd2l0aC1uZWVkc0NlbGxSZWNhbGMtc2VjdGlvbi5o
dG1sCi0gICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXJvdy1jaGFuZ2UtaGVpZ2h0LXdp
dGgtbmVlZHNDZWxsUmVjYWxjLXNlY3Rpb24uaHRtbAotCi0gICAgICAgIHI5OTIxMiByZW1vdmVk
IG91ciBjYWxsIHRvIHJlY2FsY0NlbGxzIHdoZW4gdGhlIGxvZ2ljYWwgaGVpZ2h0IGNoYW5nZWQu
IFRoaXMKLSAgICAgICAgbWVhbnMgdGhhdCB3ZSBjb3VsZCBlbmQgdXAgd2l0aCBhIGNlbGxzIHdp
dGhvdXQgaGF2aW5nIHNldCBpdHMgcm93KCkgcHJvcGVybHkKLSAgICAgICAgd2hpY2ggd291bGQg
Y3Jhc2guCi0KLSAgICAgICAgVGhlIGNoYW5nZSBleHBvc2VzIHRoZSB3YXMtdGhlLXJvdy1wcm9w
ZXJseS1zZXQgaW5mb3JtYXRpb24gc28gdGhhdCB3ZSBkb24ndAotICAgICAgICB0cnkgdG8gYWNj
ZXNzIGEgYm9ndXMgaW5kZXguIFRoaXMgc2hvdWxkIHdvcmsgcHJvcGVybHkgZXZlbiBpZiB0aGUg
c2VjdGlvbgotICAgICAgICBuZWVkcyBhIGNlbGwgcmVjYWxjIGFzIHRoZSBjdXJyZW50IHNlY3Rp
b24ncyByb3cgc3RydWN0dXJlIHdvdWxkIHN0aWxsIGJlCi0gICAgICAgIGFjY3VyYXRlIGluIHRo
aXMgY2FzZS4KLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpzdHlsZURpZENoYW5nZSk6IENoZWNrIHRo
YXQgb3VyIHJvdyBpbmRleAotICAgICAgICB3YXMgcHJvcGVybHkgc2V0IGJlZm9yZSBjYWxsaW5n
Ci0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZUNlbGw6OnJvd1dhc1NldCk6IEhlbHBlciBmdW5jdGlvbiB0byBkZXRl
Y3QKLSAgICAgICAgaWYgd2UgaGF2ZSBzZXQgdXAgb3VyIGEgcm93LgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGFibGVDZWxsOjpyb3cpOiBVc2UgdGhlIHByZXZpb3VzIGZ1bmN0aW9uIGluIHRo
ZQotICAgICAgICBBU1NFUlQuCi0KLTIwMTEtMTEtMTEgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55
YWtAZ29vZ2xlLmNvbT4KLQotICAgICAgICBJbXBsZW1lbnQgbGVnYWN5IHRleHQgY2hlY2sgZW11
bGF0aW9uIGluIHVuaWZpZWQgdGV4dCBjaGVjayBpbnRlcmZhY2UuCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI5OQotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEhhamltZSBNb3JpdGEuCi0KLSAgICAgICAgV2hlbiBVTklGSUVEX1RFWFRfQ0hFQ0tJTkcg
aXMgb2ZmLCBXZWJDb3JlOjpjaGVja1RleHRPZlBhcmFncmFwaCgpIGVtdWxhdGVzCi0gICAgICAg
IFRleHRDaGVja2VyQ2xpZW50OjpjaGVja1RleHRPZlBhcmFncmFwaCgpIHVzaW5nIGNoZWNrU3Bl
bGxpbmdPZlN0cmluZyBhbmQgY2hlY2tHcmFtbWFyT2ZTdHJpbmcuCi0KLSAgICAgICAgVGhpcyBl
bXVsYXRpb24gY2FuIGJlIHVzZWQgYnkgc2V0dGluZyB0aGUgZmxhZyBvbi4KLSAgICAgICAgVGhp
cyBjYW4gYmUgZG9uZSBieSBXZWJDb3JlOjpJbnRlcm5hbHM6OnNldFVuaWZpZWRUZXh0Q2hlY2tp
bmdFbmFibGVkLgotCi0gICAgICAgIFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctdW5p
ZmllZC1lbXVsYXRpb24uaHRtbAotCi0gICAgICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6ZmluZEJhZEdyYW1tYXJzKTogQWRkZWQuCi0gICAg
ICAgIChXZWJDb3JlOjpmaW5kTWlzc3BlbGxpbmdzKTogQWRkZWQuCi0gICAgICAgIChXZWJDb3Jl
OjpjaGVja1RleHRPZlBhcmFncmFwaCk6Ci0gICAgICAgICAgRW11bGF0ZXMgVGV4dENoZWNrZXJD
bGllbnRzOjpjaGVja1RleHRPZlBhcmFncmFwaCBpZiBVTklGSUVEX1RFWFRfQ0hFQ0tJTkcgaXMg
b2ZmLgotICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsczo6c2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQpOiBmbGFnIHNldHRlci4K
LSAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQp
OiBmbGFnIGdldHRlci4KLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKLQotMjAxMS0xMS0xMSAgR3l1eW91bmcgS2ltICA8Z3l1
eW91bmcua2ltQHNhbXN1bmcuY29tPgotCi0gICAgICAgIFtDTUFLRV0gQWRkIGEgbWlzc2luZyBm
aWxlIHRvIFBsYXRmb3JtRWZsLmNtYWtlIGZvciBjdXJsIG5ldHdvcmsgYmFja2VuZC4KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDkyCi0KLSAgICAg
ICAgVW5yZXZpZXdlZC4gRml4IGJ1aWxkIGJyZWFrIHdoZW4gdXNpbmcgY3VybC4KLQotICAgICAg
ICBQcm94eVNlcnZlckN1cmwuY3BwIGZpbGUgaXMgbm90IGluY2x1ZGVkIGluIFBsYXRmb3JtRWZs
LmNtYWtlLiBTbywgdGhlIGZpbGUgaXMgbm90IGJ1aWx0Ci0gICAgICAgIHdoZW4gRUZMIHBvcnQg
dXNlcyBjdXJsIGFzIG5ldHdvcmsgYmFja2VuZC4KLQotICAgICAgICAqIFBsYXRmb3JtRWZsLmNt
YWtlOiBBZGQgbWlzc2luZyBQcm94eVNlcnZlckN1cmwuY3BwLgotCi0yMDExLTExLTExICBFbWls
IEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KLQotICAgICAgICBTd2l0Y2ggcmVtYWluaW5n
IFJlbmRlckJsb2NrL0JveCBtZXRob2RzIHRvIHRvIG5ldyBsYXlvdXQgdHlwZXMKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDc1Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgTW92ZSBtYXJnaW5zLCBmbG9hdHMg
YW5kIGxpbmUgbGF5b3V0IGJsb2NrIGxvZ2ljIHRvIGxheW91dCBhYnN0cmFjdGlvbi4KLQotICAg
ICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmJvcmRlclBhZGRpbmdNYXJnaW5TdGFydCk6
Ci0gICAgICAgIChXZWJDb3JlOjpib3JkZXJQYWRkaW5nTWFyZ2luRW5kKToKLSAgICAgICAgKFdl
YkNvcmU6OmlubGluZUxvZ2ljYWxXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpzZXRTdGF0aWNQ
b3NpdGlvbnMpOgotICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFN0YXRlOjpMaW5lTGF5b3V0
U3RhdGUpOgotICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFN0YXRlOjpzZXRSZXBhaW50UmFu
Z2UpOgotICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dFN0YXRlOjp1cGRhdGVSZXBhaW50UmFu
Z2VGcm9tQm94KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRSdW5zQW5k
RmxvYXRzSW5SYW5nZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGlua1RvRW5k
TGluZUlmTmVlZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRJbmxp
bmVDaGlsZHJlbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2hlY2tGbG9hdHNJ
bkNsZWFuTGluZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZGV0ZXJtaW5lU3Rh
cnRQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2hlY2tQYWdpbmF0
aW9uQW5kRmxvYXRzQXRFbmRMaW5lKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpM
aW5lQnJlYWtlcjo6bmV4dExpbmVCcmVhayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6YWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4pOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmNoZWNrTGluZXNGb3JUZXh0T3ZlcmZsb3cpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OnBvc2l0aW9uTmV3RmxvYXRPbkxpbmUpOgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5n
QmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50SW5SZWdpb24pOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjpvZmZzZXRGcm9tQ29udGFpbmVyKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6cG9zaXRpb25MaW5lQm94KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29t
cHV0ZUlubGluZURpcmVjdGlvbk1hcmdpbnMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKToKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvclBvc2l0aW9u
ZWQpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6dHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KToKLQotMjAx
MS0xMS0xMSAgQW50b2luZSBMYWJvdXIgIDxwaW1hbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
W2Nocm9taXVtXSBBZGQgdHJhbnNsYXRpb24vc2NhbGluZyB0byBXZWJFeHRlcm5hbFRleHR1cmVM
YXllcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIw
ODcKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBDb3Zl
cmVkIGJ5IFdlYkxheWVyVGVzdC4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1BsdWdpbkxheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGx1Z2luTGF5
ZXJDaHJvbWl1bTo6UGx1Z2luTGF5ZXJDaHJvbWl1bSk6Ci0gICAgICAgIChXZWJDb3JlOjpQbHVn
aW5MYXllckNocm9taXVtOjpzZXRVVlJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UGx1Z2luTGF5
ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUGx1Z2luTGF5ZXJDaHJvbWl1bS5oOgotICAgICAgICAoV2ViQ29yZTo6UGx1
Z2luTGF5ZXJDaHJvbWl1bTo6dXZSZWN0KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWZXJ0ZXhTaGFk
ZXJQb3NUZXhTdHJldGNoOjpWZXJ0ZXhTaGFkZXJQb3NUZXhTdHJldGNoKToKLSAgICAgICAgKFdl
YkNvcmU6OlZlcnRleFNoYWRlclBvc1RleFN0cmV0Y2g6OmluaXQpOgotICAgICAgICAoV2ViQ29y
ZTo6VmVydGV4U2hhZGVyUG9zVGV4U3RyZXRjaDo6Z2V0U2hhZGVyU3RyaW5nKToKLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5oOgotICAgICAgICAo
V2ViQ29yZTo6VmVydGV4U2hhZGVyUG9zVGV4U3RyZXRjaDo6bWF0cml4TG9jYXRpb24pOgotICAg
ICAgICAoV2ViQ29yZTo6VmVydGV4U2hhZGVyUG9zVGV4U3RyZXRjaDo6b2Zmc2V0TG9jYXRpb24p
OgotICAgICAgICAoV2ViQ29yZTo6VmVydGV4U2hhZGVyUG9zVGV4U3RyZXRjaDo6c2NhbGVMb2Nh
dGlvbik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQbHVnaW5M
YXllckltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NQbHVnaW5MYXllckltcGw6OkNDUGx1
Z2luTGF5ZXJJbXBsKToKLSAgICAgICAgKFdlYkNvcmU6OkNDUGx1Z2luTGF5ZXJJbXBsOjpkcmF3
KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1BsdWdpbkxheWVy
SW1wbC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NQbHVnaW5MYXllckltcGw6OnNldFVWUmVjdCk6
Ci0KLTIwMTEtMTEtMTEgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4K
LQotICAgICAgICBOdWxsIGRlcmVmIHdoZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcg
ZWxlbWVudCBpbnN0YW5jZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTkxMzYKLQotICAgICAgICBTZWNvbmQgYXR0ZW1wdCwgd2l0aCBhIGZpeCB0byBo
YW5kbGUgSlMgZ2FyYmFnZSBjb2xsZWN0aW9uLgotCi0gICAgICAgIFJldmlld2VkIGJ5IE5pa29s
YXMgWmltbWVybWFubi4KLQotICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFu
Y2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcKLQotICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjp+U1ZHRWxlbWVu
dEluc3RhbmNlKTogQWRkZWQgY2FsbCB0byBkZXRhY2goKSB0byBjbGVhcgotICAgICAgICAgIGFu
eXRoaW5nIG5vdCB5ZXQgY2xlYXJlZC4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0
YW5jZTo6ZGV0YWNoKTogTmV3IG1ldGhvZCB0byByZXBsYWNlIG9sZCBjbGVhciBtZXRob2RzLiBU
aGlzIG9uZQotICAgICAgICAgIGNsZWFycyBhbGwgdGhlIHBvaW50ZXJzIGl0IGNhbiwgYW5kIHJl
bW92ZXMgdGhlIGluc3RhbmNlIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMKLSAgICAg
ICAgICBpbnN0YW5jZSBsaXN0LgotICAgICAgICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaDog
UmVtb3ZlZCBjbGVhciBtZXRob2RzIGFuZCByZXBsYWNlZCB3aXRoIGRldGFjaC4KLSAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6IAotICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVu
dDo6ZGV0YWNoSW5zdGFuY2UpOiBNb2RpZmllZCBjYWxscyB0byBjbGVhbiB1cCBhbiBTVkdFbGVt
ZW50SW5zdGFuY2UuCi0KLTIwMTEtMTEtMTEgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGdvb2ds
ZS5jb20+Ci0KLSAgICAgICAgY2xpcFBhdGggZG9lcyBub3Qgd29yayBvbiBmb3JlaWduT2JqZWN0
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI1MQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KLQotICAgICAgICBBZGQgRm9yZWln
bk9iamVjdCBjbGlwcGluZywgZmlsdGVyaW5nIGFuZCBtYXNraW5nIHN1cHBvcnQgdXNpbmcgdGhl
IFNWR1JlbmRlclN1cHBvcnQgaGVscGVycwotICAgICAgICAocHJlcGFyZVRvUmVuZGVyU1ZHQ29u
dGVudCwgZmluaXNoUmVuZGVyU1ZHQ29udGVudCkgb24gUmVuZGVyU1ZHRm9yZWlnbk9iamVjdCdz
IHBhaW50IHBhdGguCi0gICAgICAgIFRoaXMgYWxzbyBhbGxvd3MgdXMgdG8gcmVtb3ZlIGV4cGxp
Y2l0IHRyYW5zcGFyZW5jeSBoYW5kbGluZywgc2luY2UgdGhlIGhlbHBlcnMgYWxyZWFkeSBjb3Zl
ciBpdC4KLQotICAgICAgICBUZXN0czogc3ZnL2ZvcmVpZ25PYmplY3QvY2xpcC5odG1sCi0gICAg
ICAgICAgICAgICBzdmcvZm9yZWlnbk9iamVjdC9maWx0ZXIuaHRtbAotICAgICAgICAgICAgICAg
c3ZnL2ZvcmVpZ25PYmplY3QvbWFzay5odG1sCi0KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHRm9y
ZWlnbk9iamVjdDo6cGFpbnQpOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2Vz
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNsaXBwZXJGaWx0ZXJNYXNrZXJUYWdzKToKLQotMjAx
MS0xMS0xMSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1v
dmUgbm8tb3AgU3RvcmFnZU5hbWVzcGFjZTo6dW5sb2NrIG1ldGhvZAotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODEKLQotICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBUaGUgbWV0aG9kIHdhcyBtZWFudCB0byBzdXBw
b3J0IHRoZSBsb2NhbFN0b3JhZ2UgbXV0ZXgsCi0gICAgICAgIGJ1dCB0aGUgYXBwcm9hY2ggb2Yg
dXNpbmcgYSBtdXRleCBmb3IgbG9jYWxTdG9yYWdlIGhhcyBuZXZlciBiZWVuCi0gICAgICAgIGlt
cGxlbWVudGVkIChhbmQgYWxtb3N0IGNlcnRhaW5seSB3b24ndCBiZSkuIEV2ZW4gaWYgaXQgd2Vy
ZSBpbXBsZW1lbnRlZCwKLSAgICAgICAgaXQncyBub3QgYmVpbmcgY2FsbGVkIGF0IHRoZSByaWdo
dCB0aW1lLCBkdWUgdG8gYnVncyBpbiB0aGUgVjggYmluZGluZ3MnCi0gICAgICAgIHVzZSBvZiBW
OFByb3h5IChzZWUgaHR0cDovL3dlYmtpdC5vcmcvYi83MjA2MyBmb3IgZGV0YWlscykuCi0KLSAg
ICAgICAgSWYsIGluIHRoZSBmdXR1cmUsIHNvbWUgcmVwbGFjZW1lbnQgZm9yIGEgbXV0ZXggaXMg
dXNlZCB0byBzeW5jaHJvbml6ZQotICAgICAgICBsb2NhbFN0b3JhZ2UgYWNjZXNzLCBpdCBjYW4g
ZWFzaWx5IGJlIHJlLWFkZGVkIHRvIHRoZSAoaG9wZWZ1bGx5Ci0gICAgICAgIGZpeGVkLWJ5LXRo
ZW4pIHJlcGxhY2VtZW50IGZvciBWOFByb3h5OjpkaWRMZWF2ZVNjcmlwdENvbnRleHQuCi0KLSAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlY4UHJv
eHk6OmRpZExlYXZlU2NyaXB0Q29udGV4dCk6IFN0b3AgY2FsbGluZyB1bmxvY2soKS4KLSAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Omdl
dFN0b3JhZ2VVcGRhdGVzKTogUmVtb3ZlIGltcGxlbWVudGF0aW9uIChhIGNhbGwgdG8gdW5sb2Nr
KSwgYnV0IGxlYXZlIGNvZGUgYXMgaXQncyBleHBvc2VkIHRvIHRoZSBwbGF0Zm9ybS4KLSAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5pZGw6IEFkZGVkIGEgRklYTUUgdG8gcmVtb3ZlIGdldFN0b3Jh
Z2VVcGRhdGVzIGZyb20gdGhlIHBsYXRmb3JtLgotICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5h
bWVzcGFjZS5oOgotICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwOgot
ICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuaDoKLQotMjAxMS0xMS0xMSAg
QWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KLQotICAgICAgICBb
UXRdW1dLMl0gTWFrZSBzdXJlIFNjcm9sbGJhcnMgYXJlIGluIHRoZWlyIG93biBsYXllci4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDY0Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAg
TWFrZSBzdXJlIHdlIHJlbmRlciBvdXIgc2Nyb2xsYmFycyBpbiBhIHNlcGFyYXRlIGxheWVyLgot
Ci0gICAgICAgIE5vIG5ldyB0ZXN0cyA6IGV4aXN0aW5nIG9uZXMgc2hvdWxkIGNvdmVyLgotCi0g
ICAgICAgICogcGxhdGZvcm0vcXQvU2Nyb2xsYmFyVGhlbWVRdC5oOgotICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVRdDo6dXNlc092ZXJsYXlTY3JvbGxiYXJzKToKLQotMjAxMS0xMS0x
MSAgSm9lbCBXZWJiZXIgIDxqZ3dAZ29vZ2xlLmNvbT4KLQotICAgICAgICBSZXBhaW50IGJyb2tl
biB3aGVuIGNoaWxkcmVuIG9mIGZpbHRlcmVkIFNWRyBlbGVtZW50cyBhcmUgdXBkYXRlZAotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3MzMKLQotICAg
ICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCi0KLSAgICAgICAgVGVzdDogc3Zn
L3JlcGFpbnQvZmlsdGVyLWNoaWxkLXJlcGFpbnQuc3ZnCi0KLSAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdD
b250YWluZXI6OmxheW91dCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmxheW91dCk6Ci0gICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlNWR1JlbmRlclN1cHBvcnQ6OnNldE5lZWRzTGF5b3V0Rm9yRmlsdGVyZWRDb250YWluZXIpOgot
Ci0yMDExLTExLTExICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KLQotICAg
ICAgICBEb24ndCByZW1vdmUgSW5zcGVjdG9yQmFja2VuZFN0dWIuanMgaW4gUmVsZWFzZSBidWls
ZHMgYWZ0ZXIgaXQgaGFzIGJlZW4KLSAgICAgICAgY29tYmluZWQgaW50byBpbnNwZWN0b3IuanMu
IEFsc28gcmVtb3ZlIGFueSAqLnFyYyBmaWxlIG9uIE1hYy4KLQotICAgICAgICBodHRwczovL3dl
YmtpdC5vcmcvYi83MjE4NgotCi0gICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4K
LQotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLQotMjAxMS0x
MS0xMSAgSmVmZiBUaW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9t
aXVtXSBQYXRjaCB0aGF0IGltcGxlbWVudGluZyB0aGUgY2hhbmdlcyByZXF1aXJlZCB0byBhbGxv
dyBXZWJHTAotICAgICAgICB0byBzaGFyZSBpdHMgYmFja2luZyBzdG9yZSBkaXJlY3RseSB3aXRo
IHRoZSBjb21wb3NpdG9yLgotICAgICAgICBXZWJHTCByZW5kZXJpbmcgY29udGV4dHMgY3JlYXRl
IGFuZCByZW5kZXIgdG8gRkJPcyBtYW5hZ2VkIGJ5IGEKLSAgICAgICAgRHJhd2luZ0J1ZmZlciBp
bnN0YW5jZS4gQWxsIFBsYXRmb3JtTGF5ZXIgbGlmZXRpbWUgbWFuYWdlbWVudCBpcwotICAgICAg
ICBwZXJmb3JtZWQgYnkgdGhlIERyYXdpbmdCdWZmZXIuCi0gICAgICAgIENoYW5nZXMgYXJlIG9u
bHkgcmVsZXZhbnQgdG8gQ2hyb21pdW0gcG9ydHMuIEZ1bmN0aW9uYWxpdHkgaXMKLSAgICAgICAg
dW5jaGFuZ2VkIGZvciBvdGhlciBwb3J0cy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUzMjAxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU3RlcGhlbiBX
aGl0ZS4KLQotICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6
IENvbnN0cnVjdCBhIERyYXdpbmdCdWZmZXIKLSAgICAgICAgZHVyaW5nIGluaXRpYWxpemF0aW9u
LCBhbmQgZm9yd2FyZCBhbGwgZnJhbWVidWZmZXIgbWFuYWdlbWVudCBjYWxscyB0bwotICAgICAg
ICBpdC4KLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKToK
LSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6aW5pdGlh
bGl6ZU5ld0NvbnRleHQpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
OjptYXJrQ29udGV4dENoYW5nZWQpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpjbGVhcklmQ29tcG9zaXRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnBhaW50UmVuZGVyaW5nUmVzdWx0c1RvQ2FudmFzKToKLSAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9JbWFn
ZURhdGEpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZXNoYXBl
KToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd2luZ0J1ZmZl
cldpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd2lu
Z0J1ZmZlckhlaWdodCk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmJpbmRGcmFtZWJ1ZmZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmNvcHlUZXhJbWFnZTJEKToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Y29weVRleFN1YkltYWdlMkQpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpkZWxldGVGcmFtZWJ1ZmZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmRpc2FibGUpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0OjplbmFibGUpOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpyZWFkUGl4ZWxzKToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6cGxhdGZvcm1MYXllcik6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEJvdW5kRnJhbWVidWZmZXJXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmdldEJvdW5kRnJhbWVidWZmZXJIZWlnaHQpOgotICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjptYXliZVJlc3RvcmVDb250ZXh0KToKLSAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDogIFdlYkdMTGF5ZXJDaHJvbWl1bSBpbnN0YW5j
ZXMKLSAgICAgICAgYXJlIG5vIGxvbmdlciB0cmFja2VkIGJ5IEdyYXBoaWNzQ29udGV4dDNELiBD
YWxsZXJzIGNhbiBub3cgcGFzcyBhCi0gICAgICAgIERyYXdpbmdCdWZmZXIgaW5zdGFuY2UgdG8g
cHJvdmlkZSBhY2Nlc3MgdG8gdGhlIFdlYkdMTGF5ZXJDaHJvbWl1bSBkYXRhLgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpnZW5lcmF0ZUNvbG9yVGV4dHVyZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpEcmF3aW5nQnVmZmVyOjpEcmF3aW5nQnVmZmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkRyYXdp
bmdCdWZmZXI6OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6
cHVibGlzaFRvUGxhdGZvcm1MYXllcik6Ci0gICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVy
OjpwbGF0Zm9ybUxheWVyKToKLSAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdCdWZmZXI6OnBsYXRm
b3JtQ29sb3JCdWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6ZnJhbWVi
dWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6bWFya0NvbnRleHRDaGFu
Z2VkKToKLSAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdCdWZmZXI6OnBhaW50Q29tcG9zaXRlZFJl
c3VsdHNUb0NhbnZhcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2Vi
R0xMYXllckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1
bTo6V2ViR0xMYXllckNocm9taXVtKToKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJv
bWl1bTo6fldlYkdMTGF5ZXJDaHJvbWl1bSk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVy
Q2hyb21pdW06OmRyYXdzQ29udGVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hy
b21pdW06OnVwZGF0ZUNvbXBvc2l0b3JSZXNvdXJjZXMpOgotICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xMYXllckNocm9taXVtOjpwYWludFJlbmRlcmVkUmVzdWx0c1RvQ2FudmFzKToKLSAgICAgICAg
KFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bTo6Y29udGVudENoYW5nZWQpOgotICAgICAgICAo
V2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVtOjpzZXREcmF3aW5nQnVmZmVyKToKLSAgICAgICAg
KFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bTo6Y29udGV4dCk6Ci0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmg6IFdlYkdMTGF5ZXJDaHJv
bWl1bSBpbnN0YW5jZXMKLSAgICAgICAgaGF2ZSBhIHJhdyByZWZlcmVuY2UgdG8gdGhlaXIgb3du
aW5nIERyYXdpbmdCdWZmZXIuICBUaGlzIHJlZmVyZW5jZSBpcyBzZXQgdG8gTlVMTCBvbgotICAg
ICAgICBkZXN0cnVjdGlvbiBvZiB0aGUgRHJhd2luZ0J1ZmZlci4gIFRoaXMgZm9sbG93cyB0aGUg
b2xkIGNvZGUsIHdoaWNoIGhhZCB0aGUgV2ViR0xMYXllckNocm9taXVtCi0gICAgICAgIHJlZmVy
IHJhd2x5IHRvIGEgR3JhcGhpY3NDb250ZXh0M0QgaW5zdGFuY2UsIHdoaWNoIHdhcyBhbHNvIHJl
dm9rZWQgZHVyaW5nIHRlYXItZG93biBvZiB0aGUKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0M0Qu
Ci0gICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hyb21pdW06OmRyYXdpbmdCdWZmZXIpOgot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cGFpbnRSZW5kZXJpbmdSZXN1
bHRzVG9DYW52YXMpOgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnBhaW50
UmVuZGVyaW5nUmVzdWx0c1RvSW1hZ2VEYXRhKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5jcHA6IFRoZSBEcmF3aW5nQnVmZmVyIGlzIG5vdyB0aGUKLSAg
ICAgICAgY2VudHJhbCBwb2ludCBiZXR3ZWVuIHRoZSBHcmFwaGljc0NvbnRleHQzRCwgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LCBhbmQKLSAgICAgICAgV2ViR0xMYXllckNocm9taXVtIGNsYXNzZXMu
ICBHcmFwaGljc0NvbnRleHQzRCwgYW5kIFdlYkdMTGF5ZXJDaHJvbWl1bSBvbmx5Ci0gICAgICAg
IGRlcGVuZCBvbiB0aGUgRHJhd2luZ0J1ZmZlciBpbnRlcmZhY2UuCi0gICAgICAgIChXZWJDb3Jl
OjpEcmF3aW5nQnVmZmVyOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZl
cjo6Y2xlYXIpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6Y2xlYXJGcmFtZWJ1
ZmZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpyZXNldCk6Ci0gICAgICAg
IChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpjb21taXQpOgotICAgICAgICAoV2ViQ29yZTo6RHJh
d2luZ0J1ZmZlcjo6bXVsdGlzYW1wbGUpOgotICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZl
cjo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9JbWFnZURhdGEpOgotICAgICAgICAoV2ViQ29yZTo6
RHJhd2luZ0J1ZmZlcjo6ZGlzY2FyZFJlc291cmNlcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdCdWZm
ZXI6OnNldFNjaXNzb3JFbmFibGVkKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUv
bWFjL0RyYXdpbmdCdWZmZXJNYWMubW06Ci0gICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVy
OjpEcmF3aW5nQnVmZmVyKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvcXQvRHJh
d2luZ0J1ZmZlclF0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRyYXdpbmdCdWZmZXI6OkRyYXdp
bmdCdWZmZXIpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52YXMpOgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OnBhaW50UmVuZGVyaW5nUmVzdWx0c1RvSW1hZ2VEYXRhKToKLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZh
cyk6Ci0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cGFpbnRSZW5kZXJpbmdS
ZXN1bHRzVG9JbWFnZURhdGEpOgotCi0yMDExLTExLTExICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KLQotICAgICAgICBSZW1vdmUgYWxsIHJlbGVhc2VSZWYgaW1wbGVtZW50YXRpb25z
IGV4Y2VwdCBmb3IgUmV0YWluUHRyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTQyMwotCi0gICAgICAgIFJldmlld2VkIGJ5IEp1bGllbiBDaGFmZnJh
aXguCi0KLSAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ09NUHRyLmg6IFJlbW92ZWQgcmVsZWFzZVJl
Zi4KLQotMjAxMS0xMS0xMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+Ci0KLSAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IExldCBhIG5ld2VyIFhjb2Rl
IHVwZGF0ZSB0aGlzIGZpbGUuCi0gICAgICAgIElmIGFuIG9sZGVyIFhjb2RlIGRvd25ncmFkZXMg
dGhpcyBmaWxlIGFuZCB3ZSBoYXZlIGEgcmlzayBvZiBzb21lIGtpbmQgb2YKLSAgICAgICAgb3Nj
aWxsYXRpbmcgY29tbWl0IHNpdHVhdGlvbiwgcGxlYXNlIGNvbnRhY3QgbWUgc28gSSBrbm93IG5v
dCB0byBkbyB0aGlzIGFnYWluLgotCi0yMDExLTExLTExICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk5OTUzLgotICAg
ICAgICBDYXVzZWQgNCB0ZXN0cyB0byBoaXQgYW4gYXNzZXJ0LgotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjMKLQotICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0KToKLSAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yV29ya2VyQWdlbnQ6Okluc3BlY3RvcldvcmtlckFnZW50KToKLSAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldvcmtlckFnZW50Ojp+SW5zcGVjdG9yV29ya2VyQWdlbnQpOgotICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OnNldEZyb250ZW5kKToKLSAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpyZXN0b3JlKToKLSAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldvcmtlckFnZW50OjpjbGVhckZyb250ZW5kKToKLSAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldvcmtlckFnZW50OjpzZXRXb3JrZXJJbnNwZWN0aW9uRW5hYmxlZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0
KToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50Ojp3b3JrZXJDb250ZXh0
VGVybWluYXRlZCk6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6
Ci0KLTIwMTEtMTEtMTEgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAwMDI0LgotICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMDAwMjQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTU4Ci0KLSAgICAgICAgQnJva2UgY2hyb21pdW0g
YnVpbGQKLQotICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
Ok1vdXNlRXZlbnQ6OmluaXRNb3VzZUV2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZl
bnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKLSAgICAgICAgKiBkb20vTW91c2VF
dmVudC5oOgotICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmlkbDoKLSAgICAgICAgKiBkb20vTW91
c2VSZWxhdGVkRXZlbnQuaDoKLQotMjAxMS0xMS0xMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIE1vdXNlIExvY2s6IE1vdXNlRXZlbnQgSURMCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE1OAotCi0gICAg
ICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBUZXN0cyBmb3IgbW92
ZW1lbnRYL1kgcGVuZGluZyBtb2NrIG1vdXNlIGxvY2sgdGVzdCBpbmZyYXN0cnVjdHVyZS4KLQot
ICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZl
bnQ6OmluaXRNb3VzZUV2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKLSAgICAgICAgKiBkb20vTW91c2VFdmVudC5oOgot
ICAgICAgICAqIGRvbS9Nb3VzZUV2ZW50LmlkbDoKLSAgICAgICAgKiBkb20vTW91c2VSZWxhdGVk
RXZlbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojptb3ZlbWVudFgp
OgotICAgICAgICAoV2ViQ29yZTo6TW91c2VSZWxhdGVkRXZlbnQ6Om1vdmVtZW50WSk6Ci0KLTIw
MTEtMTEtMTEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgotCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2NwotICAgICAgICBSRUdSRVNT
SU9OOiBTY3JvbGwgcG9zaXRpb24gbm90IHJlc3RvcmVkIG9uIGJhY2sgYWZ0ZXIgc2Nyb2xsIAot
ICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCi0gICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDQx
MDY4ND4KLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCi0KLSAgICAgICAgV2Ug
Y2FuJ3QganVzdCByZXR1cm4gZWFybHkgaWYgd2UgYXJlIG5vdCBvbiBhbiBhY3RpdmUgcGFnZS4g
Ci0gICAgICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpIGlzIGNhbGxlZCB3aGVuIGEgcGFnZSBp
cyBnb2luZyBpbnRvIHRoZSBwYWdlIGNhY2hlIChhbmQgCi0gICAgICAgIHRoZXJlZm9yZSB3aGVu
IG5vdCBvbiBhbiBhY3RpdmUgcGFnZSkuIFdlIHNob3VsZCBub3Qgbm90aWZ5IEFwcEtpdCB0aGF0
IHRoZSBwYWdlIAotICAgICAgICBoYXMgc2Nyb2xsZWQgaW4gdGhhdCBjYXNlLCBidXQgd2Ugc3Rp
bGwgbmVlZCB0byBjYWxsIAotICAgICAgICBTY3JvbGxBbmltYXRvcjo6bm90aWZ5UG9zaXRpb25D
aGFuZ2VkKCk7LiBTbyB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIGVhcmx5IHJldHVybiwgCi0gICAg
ICAgIGFuZCByZXBsYWNlcyBpdCB3aXRoIGEgY29uZGl0aW9uYWwgYXJvdW5kIHRoZSByZWxldmFu
dCBjb2RlLgotICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKLSAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpub3RpZnlQb3NpdGlvbkNoYW5nZWQp
OgotCi0yMDExLTExLTExICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEBjb2RlYXVyb3Jh
Lm9yZz4sIFphaGVlciBBaG1hZCAgPHphaGltYWRAY29kZWF1cm9yYS5vcmc+LCBKb29uZSBIdXIg
IDxqb29uZS5odXJAY29sbGFib3JhLmNvLnVrPiwgVG9tYXN6IE1vcmF3c2tpICA8dC5tb3Jhd3Nr
aUBzYW1zdW5nLmNvbT4KLQotICAgICAgICBBZGRlZCBUaWxlQ2Fpcm8gYW5kIFRpbGVkQmFja2lu
Z1N0b3JlQmFja2VuZENhaXJvIGZpbGVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTM1MAotCi0gICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2Jp
bnNvbi4KLQotICAgICAgICBBZGRlZCBUaWxlQ2Fpcm8gYW5kIFRpbGVkQmFja2luZ1N0b3JlQmFj
a2VuZCBmaWxlcyBuZWVkZWQgYnkgVGlsZWQgQmFja2luZyBTdG9yZSBpbXBsZW1lbnRhdGlvbiB0
aGF0IHVzZXMgY2Fpcm8KLSAgICAgICAgbGlicmFyeSBlZy4gRUZMIGFuZCBHdGsgV2ViS2l0IHBv
cnQuCi0KLSAgICAgICAgVGhpcyBwYXRjaCBjb250YWlucyBzb21lIHBhcnRzIG9mIHJlYmFzZWQg
YW5kIHVwZGF0ZWQgY29kZSBmcm9tIDQ1NDIzIGJ1Zy4gT3JpZ2luYWxzIGF1dGhvcnMgb2YgdGhl
IGNvZGUgYXJlOgotICAgICAgICAtIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVh
dXJvcmEub3JnPgotICAgICAgICAtIFphaGVlciBBaG1hZCAgPHphaG1hZEBjb2RlYXVyb3JhLm9y
Zz4KLSAgICAgICAgLSBKb29uZSBIdXIgIDxqb29uZS5odXJAY29sbGFib3JhLmNvLnVrPgotCi0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUmVmUHRyQ2Fpcm8uY3BwOiBBZGRlZCBz
dXBwb3J0IG9mIFJlZlB0ciBmb3IgY2Fpcm9fcmVnaW9uIG9iamVjdC4KLSAgICAgICAgKFdURjo6
cmVmSWZOb3ROdWxsKTogTmV3IHJlZklmTm90TnVsbCBmdW5jdGlvbiBmb3IgY2Fpcm9fcmVnaW9u
IG9iamVjdC4KLSAgICAgICAgKFdURjo6ZGVyZWZJZk5vdE51bGwpOiBOZXcgZGVyZWZJZk5vdE51
bGwgZnVuY3Rpb24gZm9yIGNhaXJvX3JlZ2lvbiBvYmplY3QuCi0gICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vUmVmUHRyQ2Fpcm8uaDogQWRkZWQgc3VwcG9ydCBvZiBSZWZQdHIgZm9y
IGNhaXJvX3JlZ2lvbiBvYmplY3QuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
VGlsZUNhaXJvLmNwcDogQWRkZWQgYSBuZXcgZmlsZS4gSW1wbGVtZW50YXRpb24gb2YgVGlsZUNh
aXJvIGNsYXNzLgotICAgICAgICAoV2ViQ29yZTo6VGlsZUNhaXJvOjpUaWxlQ2Fpcm8pOgotICAg
ICAgICAoV2ViQ29yZTo6VGlsZUNhaXJvOjp+VGlsZUNhaXJvKToKLSAgICAgICAgKFdlYkNvcmU6
OlRpbGVDYWlybzo6aXNEaXJ0eSk6Ci0gICAgICAgIChXZWJDb3JlOjpUaWxlQ2Fpcm86OmlzUmVh
ZHlUb1BhaW50KToKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVDYWlybzo6aW52YWxpZGF0ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpUaWxlQ2Fpcm86OnVwZGF0ZUJhY2tCdWZmZXIpOgotICAgICAgICAo
V2ViQ29yZTo6VGlsZUNhaXJvOjpzd2FwQmFja0J1ZmZlclRvRnJvbnQpOgotICAgICAgICAoV2Vi
Q29yZTo6VGlsZUNhaXJvOjpwYWludCk6Ci0gICAgICAgIChXZWJDb3JlOjpUaWxlQ2Fpcm86OnJl
c2l6ZSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGlsZUNhaXJvLmg6IEFk
ZGVkIGEgbmV3IGZpbGUuIEltcGxlbWVudGF0aW9uIG9mIFRpbGVDYWlybyBjbGFzcy4KLSAgICAg
ICAgKFdlYkNvcmU6OlRpbGVDYWlybzo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVD
YWlybzo6Y29vcmRpbmF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpUaWxlQ2Fpcm86OnJlY3QpOgot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RpbGVkQmFja2luZ1N0b3JlQmFja2Vu
ZENhaXJvLmNwcDogQWRkZWQgYSBuZXcgZmlsZS4gSW1wbGVtZW50YXRpb24gb2YKLSAgICAgICAg
VGlsZWRCYWNraW5nU3RvcmVCYWNrZW5kIG1ldGhvZHMuCi0gICAgICAgIChXZWJDb3JlOjpUaWxl
ZEJhY2tpbmdTdG9yZUJhY2tlbmQ6OmNyZWF0ZVRpbGUpOgotICAgICAgICAoV2ViQ29yZTo6Y2hl
Y2tlcmVkU3VyZmFjZSk6IEhlbHBlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgY2hlY2tlcmVkIHN1
cmZhY2UgKHNlZSBiZWxvdyBmdW5jdGlvbikKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2lu
Z1N0b3JlQmFja2VuZDo6cGFpbnRDaGVja2VyUGF0dGVybik6IEZ1bmN0aW9uIGlzIHVzZWQgdG8g
ZHJhdyBhIHBsYWNlIGhvbGRlciB3aGVuIHRpbGUgbm8KLSAgICAgICAgZXhpc3Qgb3IgaXQgaXMg
bm90IHJlYWR5IHRvIHBhaW50IHlldC4gVGhlIGNoZWNrZXJlZCBzdXJmYWNlIGlzIHVzZWQgaGVy
ZS4KLQotMjAxMS0xMS0xMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBSZW1vdmUgdW5uZWVkZWQgZnJhbWUgY2hlY2sgaW4gRnJhbWVWaWV3Ojpk
ZXRhY2hDdXN0b21TY3JvbGxiYXJzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTk4MAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nv
bi4KLQotICAgICAgICBDaGFuZ2UgY292ZXJlZCBieSB0aGUgZXhpc3RpbmcgdGVzdHMgaW4gc2Ny
b2xsYmFycy8uCi0KLSAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmRldGFjaEN1c3RvbVNjcm9sbGJhcnMpOgotICAgICAgICBSZW1vdmUg
dGhlIGxlZnRvdmVyIGNoZWNrIHRoYXQgd2FzIGZvcmdvdHRlbiBieSB0aGUgZGlmZmVyZW50IHJl
ZmFjdG9yaW5nLgotCi0yMDExLTExLTExICBWaW5lZXQgQ2hhdWRoYXJ5ICA8dmluZWV0LmNoYXVk
aGFyeUBtb3Rvcm9sYS5jb20+Ci0KLSAgICAgICAgQWNjZXNzIGtleSBzaG91bGQgd29yayBvbiBh
bGwgZWxlbWVudHMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTg1NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAg
QXMgcGVyIHNwZWNpZmljYXRpb24gaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmll
dy5odG1sI2VsZW1lbnRzLWluLXRoZS1kb20KLSAgICAgICAgc2F5cyBBbGwgSFRNTCBlbGVtZW50
cyBjYW4gaGF2ZSB0aGUgYWNjZXNza2V5IGNvbnRlbnQgYXR0cmlidXRlIHNldC4gQWRkaW5nICJh
Y2Nlc3NLZXkiCi0gICAgICAgIGF0dHJpYnV0ZSBpZGwgZmlsZSBhcyBbUmVmbGVjdF0uCi0KLSAg
ICAgICAgVGVzdDogZmFzdC9mb3Jtcy9hY2Nlc3Mta2V5LWZvci1hbGwtZWxlbWVudHMuaHRtbAot
Ci0gICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGw6IFJlbW92ZWQgcmVkdW5kYW50
IElETCBhdHRyaWJ1dGUgZW50cmllcy4KLSAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5p
ZGw6IERpdHRvLiAKLSAgICAgICAgKiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbDogRGl0dG8u
Ci0gICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6IEFkZGVkIGFjY2Vzc0tleSBJREwgYXR0
cmlidXRlLgotICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6IERpdHRvLgotICAg
ICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5pZGw6IERpdHRvLgotICAgICAgICAqIGh0bWwv
SFRNTExlZ2VuZEVsZW1lbnQuaWRsOiBEaXR0by4KLSAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaWRsOiBEaXR0by4KLQotMjAxMS0xMS0xMSAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgotCi0gICAgICAgIEFkZCBqc0Nhc3QgdG8gcmVwbGFjZSBzdGF0
aWNfY2FzdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzIwNzEKLQotICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KLQotICAgICAgICBO
byBuZXcgdGVzdHMuIAotCi0gICAgICAgIEFkZGVkIG5ldyBqc0Nhc3QgYW5kIGNoYW5nZWQgYWxs
IG9mIHRoZSBzdGF0aWNfY2FzdCBzaXRlcyBpbiBmdW5jdGlvbnMgdGhhdCAKLSAgICAgICAgYXJl
IGluIHRoZSBNZXRob2RUYWJsZSB0byB1c2UganNDYXN0IGluc3RlYWQuCi0KLSAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0F0dHJDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNBdHRyOjp2
aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3Rv
bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29udGV4dDo6dmlzaXRDaGlsZHJlbik6
Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkpTQ1NTUnVsZTo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAgICogYmluZGluZ3MvanMv
SlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTQ1NT
U3R5bGVEZWNsYXJhdGlvbjo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAgICogYmluZGluZ3MvanMv
SlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6
dG9IVE1MQ2FudmFzU3R5bGUpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQ6OnZpc2l0Q2hpbGRyZW4pOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojp2aXNp
dENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVN0cmluZ01hcEN1c3RvbS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVN0cmluZ01hcDo6Z2V0T3duUHJvcGVydHlOYW1l
cyk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVN0cmluZ01hcDo6ZGVsZXRlUHJvcGVydHkpOgot
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnRvVGhpc09iamVjdCk6Ci0gICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6
OnZpc2l0Q2hpbGRyZW4pOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93blBy
b3BlcnR5U2xvdCk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpwdXQpOgotICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmRlbGV0ZVByb3BlcnR5KToKLSAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93OjpnZXRQcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKFdlYkNvcmU6OkpT
RE9NV2luZG93OjpkZWZpbmVHZXR0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6
OmRlZmluZVNldHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZGVmaW5lT3du
UHJvcGVydHkpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y2xhc3NOYW1lKToKLSAgICAgICAg
KFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmdldE93blByb3BlcnR5U2xvdCk6Ci0gICAgICAg
IChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgot
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6cHV0KToKLSAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93U2hlbGw6OnB1dFdpdGhBdHRyaWJ1dGVzKToKLSAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93U2hlbGw6OmRlZmluZU93blByb3BlcnR5KToKLSAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93U2hlbGw6OmRlbGV0ZVByb3BlcnR5KToKLSAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93U2hlbGw6OmdldFByb3BlcnR5TmFtZXMpOgotICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dTaGVsbDo6Z2V0T3duUHJvcGVydHlOYW1lcyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVHZXR0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6SlNE
T01XaW5kb3dTaGVsbDo6ZGVmaW5lU2V0dGVyKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hU
TUxBcHBsZXRFbGVtZW50Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEFwcGxl
dEVsZW1lbnQ6OmdldENhbGxEYXRhKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxFbWJl
ZEVsZW1lbnRDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRW1iZWRFbGVtZW50
OjpnZXRDYWxsRGF0YSk6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVu
dEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0hUTUxPYmplY3RFbGVtZW50OjpnZXRD
YWxsRGF0YSk6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHkpOgotICAgICAgICAoV2Vi
Q29yZTo6SlNIaXN0b3J5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0phdmFTY3JpcHRBdWRpb05vZGVDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6
SlNKYXZhU2NyaXB0QXVkaW9Ob2RlOjp2aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246
OmRlbGV0ZVByb3BlcnR5KToKLSAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb246OmdldE93blBy
b3BlcnR5TmFtZXMpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0
b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNNZXNzYWdlQ2hhbm5lbDo6dmlzaXRDaGlsZHJl
bik6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpKU01lc3NhZ2VQb3J0Ojp2aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpK
U05hbWVkTm9kZU1hcDo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNO
b2RlQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTTm9kZTo6dmlzaXRDaGlsZHJlbik6
Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkpTTm9kZUZpbHRlcjo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAgICogYmluZGlu
Z3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNOb2Rl
SXRlcmF0b3I6OnZpc2l0Q2hpbGRyZW4pOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHRWxl
bWVudEluc3RhbmNlQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTU1ZHRWxlbWVudElu
c3RhbmNlOjp2aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NoYXJlZFdv
cmtlckN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1NoYXJlZFdvcmtlcjo6dmlzaXRD
aGlsZHJlbik6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkpTU3RvcmFnZTo6ZGVsZXRlUHJvcGVydHkpOgotICAgICAgICAoV2Vi
Q29yZTo6SlNTdG9yYWdlOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1N0eWxlU2hlZXRDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNTdHlsZVNo
ZWV0Ojp2aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyZWVXYWxrZXJD
dXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNUcmVlV2Fsa2VyOjp2aXNpdENoaWxkcmVu
KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmlzaXRDaGls
ZHJlbik6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyQ29udGV4dDo6dmlzaXRDaGlsZHJlbik6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU1hNTEh0dHBSZXF1ZXN0Ojp2aXNpdENoaWxkcmVuKToKLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1hQYXRoUmVzdWx0Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTWFBh
dGhSZXN1bHQ6OnZpc2l0Q2hpbGRyZW4pOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgotICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgotICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEludGVyZmFjZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2U6
OmdldE93blByb3BlcnR5U2xvdCk6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2U6
OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlT
bG90KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90
b3R5cGU6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9y
OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25z
dHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9i
alByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dE9ialByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNv
cmU6OkpTVGVzdE9iajo6Z2V0T3duUHJvcGVydHlTbG90KToKLSAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9iajo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9iajo6cHV0KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iajo6dmlzaXRDaGlsZHJl
bik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldE93blByb3BlcnR5U2xvdCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcik6Ci0gICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tOgot
ICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpnZXRDYWxsRGF0
YSk6Ci0gICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmplY3RJbXA6OmRlZmF1
bHRWYWx1ZSk6Ci0gICAgICAgICogYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcDoKLSAgICAgICAg
KEpTQzo6QmluZGluZ3M6OlF0UnVudGltZU9iamVjdDo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAg
ICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgotICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRS
dW50aW1lTWV0YU1ldGhvZDo6dmlzaXRDaGlsZHJlbik6Ci0gICAgICAgIChKU0M6OkJpbmRpbmdz
OjpRdFJ1bnRpbWVNZXRhTWV0aG9kOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAoSlND
OjpCaW5kaW5nczo6UXRSdW50aW1lTWV0YU1ldGhvZDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KToKLSAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZUNvbm5lY3Rpb25NZXRob2Q6Omdl
dE93blByb3BlcnR5U2xvdCk6Ci0gICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVDb25u
ZWN0aW9uTWV0aG9kOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgotICAgICAgICAqIGJyaWRn
ZS9ydW50aW1lX2FycmF5LmNwcDoKLSAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpnZXRPd25Q
cm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpnZXRPd25Qcm9wZXJ0
eVNsb3QpOgotICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcik6Ci0gICAgICAgIChKU0M6OlJ1bnRpbWVBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleCk6Ci0gICAgICAgIChKU0M6OlJ1bnRpbWVBcnJheTo6cHV0KToKLSAgICAgICAgKEpTQzo6
UnVudGltZUFycmF5OjpwdXRCeUluZGV4KToKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRo
b2QuY3BwOgotICAgICAgICAoSlNDOjpSdW50aW1lTWV0aG9kOjpnZXRPd25Qcm9wZXJ0eVNsb3Qp
OgotICAgICAgICAoSlNDOjpSdW50aW1lTWV0aG9kOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OgotICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHA6Ci0gICAgICAgIChKU0M6OkJp
bmRpbmdzOjpSdW50aW1lT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAoSlND
OjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OnB1dCk6Ci0gICAgICAgIChKU0M6
OkJpbmRpbmdzOjpSdW50aW1lT2JqZWN0OjpkZWZhdWx0VmFsdWUpOgotICAgICAgICAoSlNDOjpC
aW5kaW5nczo6UnVudGltZU9iamVjdDo6Z2V0Q2FsbERhdGEpOgotICAgICAgICAoSlNDOjpCaW5k
aW5nczo6UnVudGltZU9iamVjdDo6Z2V0Q29uc3RydWN0RGF0YSk6Ci0gICAgICAgIChKU0M6OkJp
bmRpbmdzOjpSdW50aW1lT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLQotMjAxMS0xMS0x
MSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI5OTk5NC4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvOTk5OTQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMTUwCi0KLSAgICAgICAgQnJva2UgY2hyb21pdW0gd2luZG93cyBidWlsZAot
Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgotICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6d2Via2l0TG9ja01vdXNlRW5hYmxlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRVbmxvY2tNb3VzZUVuYWJsZWQpOgotICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0TW91c2VMb2NrZWRFbmFibGVk
KToKLSAgICAgICAgKiBwYWdlL01vdXNlTG9ja2FibGUuY3BwOiBSZW1vdmVkLgotICAgICAgICAq
IHBhZ2UvTW91c2VMb2NrYWJsZS5oOiBSZW1vdmVkLgotICAgICAgICAqIHBhZ2UvTW91c2VMb2Nr
YWJsZS5pZGw6IFJlbW92ZWQuCi0gICAgICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgotICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmg6Ci0gICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgotCi0y
MDExLTExLTExICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFt2
OF0gUmVtb3ZlIHVudXNlZCBWOFByb3h5OjpleGVjdXRpbmdTY3JpcHQgbWV0aG9kCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2MAotCi0gICAgICAg
IFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgotCi0gICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94
eS5jcHA6Ci0gICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5oOgotCi0yMDExLTExLTExICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KLQotICAgICAgICBSdWJiZXJzdGFtcGVk
IGJ5IEFuZHkgRXN0ZXMKLQotICAgICAgICAxMDAsMDAwIQotICAgICAgICBDb25ncmF0dWxhdGlv
bnMgV2ViS2l0LCBhbmQgaGVyZSdzIHRvIGh1bmRyZWRzIG9mIHRob3VzYW5kcyBtb3JlIQotICAg
ICAgICAKLSAgICAgICAgKiBDaGFuZ2VMb2c6IFBvaW50IG91dCByZXZpc2lvbiAxMDAsMDAwLgot
Ci0yMDExLTExLTExICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+Ci0KLSAgICAg
ICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE5MjE+IFJlbW92ZSB1c2Ugb2Ygc3RyY3B5IGluIEtV
UkwKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICAqIHBs
YXRmb3JtL0tVUkwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6S1VSTDo6aW5pdCk6IFJlcGxhY2Ug
c3RyY3B5KCkgd2l0aCBzdHJuY3B5KCkuCi0KLTIwMTEtMTEtMTEgIE1hcmsgSGFobmVuYmVyZyAg
PG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIHN1cHBvcnRz
UHJvZmlsaW5nLCBzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCBzaG91bGRJbnRlcnJ1cHRTY3JpcHQg
aW4gSlNHbG9iYWxPYmplY3QKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMDM1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCi0K
LSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9i
YWxPYmplY3QuY3BwOiBDaGFuZ2VkIGNvbnN0cnVjdG9yIHRvIHN1cHBvcnQgcGFzc2luZyBuZXcg
R2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgcG9pbnRlciB0byBwYXJlbnQgY2xhc3MuCi0gICAgICAg
IChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QpOgotICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0Lmg6Ci0gICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcDogQWRkZWQgc3RhdGljIGNvbnN0IEdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlIGFuZCBmaWxsZWQgaXQgaW4gd2l0aCB0aGUgcHJvcGVyIGZ1bmN0aW9uIHBvaW50
ZXJzLgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2Up
OgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1Byb2ZpbGluZyk6
IENoYW5nZWQgdG8gc3RhdGljIHRvIHB1dCBpbiB0aGUgbWV0aG9kIHRhYmxlLgotICAgICAgICAo
V2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKTogRGl0dG8u
Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnNob3VsZEludGVycnVwdFNjcmlw
dCk6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgotCi0K
LTIwMTEtMTEtMTEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgot
Ci0gICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5OTg2OS4KLSAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTk4NjkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTU3Ci0KLSAgICAgICAgIkNhdXNlZCBhIH40MDAl
IHBlcmYgcmVncmVzc2lvbiBvbiB0aGUgQ2hyb21pdW0gaW50bDEgcGFnZQotICAgICAgICBjeWNs
ZXJzIiAoUmVxdWVzdGVkIGJ5IG9qYW4gb24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKLSAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbWFnZXMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmFwcGxldHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVtYmVkcyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGx1Z2lucyk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6b2JqZWN0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2NyaXB0cyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bGlua3MpOgotICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmZvcm1zKToKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphbmNob3JzKToKLSAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0NvbGxlY3Rpb25UeXBlLmg6
Ci0KLTIwMTEtMTEtMTEgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBNb3VzZSBMb2NrIE5hdmlnYXRvciBJREwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTUwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGlt
aXRyaSBHbGF6a292LgotCi0gICAgICAgIFRlc3RzIHJlcXVpcmUgbW9ja2luZyAoc2ltaWxhciB0
byBnZW9sb2NhdGlvbikgdGhhdCB3aWxsIGJlIGJ1aWx0IGFmdGVyIHRoaXMuCi0KLSAgICAgICAg
KiBXZWJDb3JlLmd5cGk6Ci0gICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJraXRQb2ludGVyRW5hYmxlZCk6Ci0gICAgICAgICogcGFnZS9Nb3VzZUxvY2thYmxlLmNwcDog
QWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpNb3VzZUxvY2thYmxlOjpNb3VzZUxvY2thYmxlKToK
LSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlTG9ja2FibGU6On5Nb3VzZUxvY2thYmxlKToKLSAgICAg
ICAgKFdlYkNvcmU6Ok1vdXNlTG9ja2FibGU6OndlYmtpdExvY2spOgotICAgICAgICAoV2ViQ29y
ZTo6TW91c2VMb2NrYWJsZTo6d2Via2l0VW5sb2NrKToKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNl
TG9ja2FibGU6OndlYmtpdElzTG9ja2VkKToKLSAgICAgICAgKiBwYWdlL01vdXNlTG9ja2FibGUu
aDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpNb3VzZUxvY2thYmxlOjpjcmVhdGUpOgotICAg
ICAgICAqIHBhZ2UvTW91c2VMb2NrYWJsZS5pZGw6IEFkZGVkLgotICAgICAgICAqIHBhZ2UvTmF2
aWdhdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6d2Via2l0UG9pbnRlcik6
Ci0gICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKLSAgICAgICAgKiBwYWdlL05hdmlnYXRvci5p
ZGw6Ci0KLTIwMTEtMTEtMTEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIEpTR2xvYmFsT2JqZWN0OjphbGxvd3NBY2Nlc3NG
cm9tCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2
OQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIE5vIG5ldyB0
ZXN0cy4KLQotICAgICAgICBTaW5jZSBhbGxvd3NBY2Nlc3NGcm9tIGlzIG9ubHkgdXNlZCBieSBX
ZWJTY3JpcHRPYmplY3QsIHdlIGtub3cgdGhhdCB3ZSdsbCBhbHdheXMgaGF2ZSBhIAotICAgICAg
ICBKU0RPTVdpbmRvd0Jhc2UsIHNvIHdlIGNhbiBzaW1wbHkgaGF2ZSBhbGxvd3NBY2Nlc3NGcm9t
IHRvIGxpdmUgaW4gSlNET01XaW5kb3dCYXNlIHJhdGhlciAKLSAgICAgICAgdGhhbiBKU0dsb2Jh
bE9iamVjdC4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOiBEZS12
aXJ0dWFsaXplZCBhbGxvd3NBY2Nlc3NGcm9tLgotICAgICAgICAqIGJpbmRpbmdzL29iamMvV2Vi
U2NyaXB0T2JqZWN0Lm1tOgotICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3QgX2lzU2FmZVNjcmlw
dF0pOiBBZGRlZCBhIGNhc3QgZnJvbSBhIEpTR2xvYmFsT2JqZWN0IHRvIGEgSlNET01XaW5kb3dC
YXNlIGluIAotICAgICAgICBvcmRlciB0byBjYWxsIHRoZSBhbGxvd3NBY2Nlc3NGcm9tIG1ldGhv
ZC4KLQotMjAxMS0xMS0xMSAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gU3VwcG9ydCBhdHRyaWJ1dGVGaWx0ZXIg
Zm9yIGF0dHJpYnV0ZSBtdXRhdGlvbnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwODYwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgotCi0gICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhbiBhdHRyaWJ1dGVGaWx0ZXIgdG8gdGhl
IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gYW5kCi0gICAgICAgIGFkZHMgc3VwcG9ydCBm
b3Igb25seSBvYnNlcnZpbmcgYXR0cmlidXRlcyB3aG9zZSBuYW1lIGFyZSBpbiB0aGUgcHJvdmlk
ZWQKLSAgICAgICAgZmlsdGVyIHNldCAoYXJyYXkgb2Ygc3RyaW5ncykuCi0KLSAgICAgICAgVGVz
dDogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLWF0dHJpYnV0ZXMuaHRtbC4KLQotICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTV2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU1dlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUpOgotICAgICAgICAqIGJp
bmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09i
amVjdDo6Z2V0KToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9PcHRpb25zT2JqZWN0Lmg6Ci0gICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVD
YWxsYmFjayk6Ci0gICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
ZW5xdWV1ZUF0dHJpYnV0ZXNNdXRhdGlvblJlY29yZCk6Ci0gICAgICAgICogZG9tL011dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbjo6cmVzZXRPYnNlcnZhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpzaG91bGRSZWNlaXZlTXV0YXRpb25Gcm9tKToK
LSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNhc2VJbnNl
bnNpdGl2ZUF0dHJpYnV0ZUZpbHRlcik6Ci0gICAgICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyYXRpb24uaDoKLSAgICAgICAgKiBkb20vTm9kZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpOb2RlOjpjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbik6Ci0gICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUpOgotICAg
ICAgICAqIGRvbS9Ob2RlLmg6Ci0gICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6
Ci0gICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDoKLQotMjAxMS0xMS0xMSAg
VnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KLQotICAgICAgICBBcHBsaWNh
dGlvbiBjYWNoZSBzdGF0dXMgaW5kaWNhdG9yIGdldHMgc3R1Y2sgYXQgRE9XTkxPQURJTkcgYWZ0
ZXIgYSBmYWlsdXJlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDc5MwotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAg
ICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1tYW5p
ZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLmh0bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Ojpy
ZXN0b3JlKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dDo6ZW5hYmxlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50Lmg6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxl
cik6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVj
dG9yU3RhdGVGcm9tQ29va2llKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxp
Y2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRp
b25DYWNoZUl0ZW1zVmlldyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNo
ZUl0ZW1zVmlldy5wcm90b3R5cGUudXBkYXRlU3RhdHVzKToKLQotMjAxMS0xMS0xMSAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KLQotICAgICAgICBJbXBsZW1lbnQgVGV4
dFRyYWNrTGlzdCBhbmQgdGhlIHRleHRUcmFja3MgYXR0cmlidXRlIG9mIEhUTUxNZWRpYUVsZW1l
bnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIz
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBUZXN0OiBtZWRp
YS90cmFjay90cmFjay1hZGQtdHJhY2suaHRtbAotICAgICAgICAgICAgICBtZWRpYS90cmFjay90
cmFja2xpc3QtaXMtcmVhY2hhYmxlLmh0bWwKLQotICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBB
ZGQgbmV3IGZpbGVzIGZvciBUZXh0VHJhY2tMaXN0LgotICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LmNwcDogRGl0dG8uCi0gICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogRGl0dG8uCi0gICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOiBEaXR0by4KLSAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOiBEaXR0by4KLSAgICAgICAgKiBUYXJnZXQucHJpOiBEaXR0by4KLSAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcDogRGl0dG8uCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0xpc3RDdXN0
b20uY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkpTVGV4dFRyYWNrTGlzdE93bmVyOjpp
c1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyk6Ci0KLSAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluOiBBZGQgVGV4dFRyYWNrTGlzdCwgY29uZGl0aW9uYWwgb24gVklERU9fVFJBQ0su
Ci0KLSAgICAgICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcik6IFVwZGF0ZSBmb3Ig
c2NoZWR1bGVMb2FkIGNoYW5nZS4KLQotICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp+SFRNTE1lZGlhRWxlbWVu
dCk6IFVwZGF0ZSBmb3IgbV90ZXh0VHJhY2tzIGNoYW5nZSBmcm9tCi0gICAgICAgICAgICBnZW5l
cmljIFZlY3RvciB0byBUZXh0VHJhY2tMaXN0LgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOiBVcGRhdGUgZm9yIHNjaGVkdWxl
TG9hZCBjaGFuZ2UuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVs
ZUxvYWQpOiBBZGQgYSBwYXJhbWV0ZXIgc28gY2FsbGVyIGNhbiBzcGVjaWZ5IGlmCi0gICAgICAg
ICAgICB0aGUgbWFpbiByZXNvdXJjZSBvciBhIHRleHQgdHJhY2sgc2hvdWxkIGJlIGxvYWRlZC4K
LSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKTogVXBk
YXRlIHRvIGFsbG93IHRleHQgdHJhY2sgbG9hZGluZy4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmxvYWRJbnRlcm5hbCk6IERvbid0IGNhbGwgbG9hZFRleHRUcmFja3MuCi0g
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojppc1NhZmVUb0xvYWRVUkwpOiBMb2cg
d2hlbiBDU1AgZGVuaWVzIGxvYWQuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpwbGF5SW50ZXJuYWwpOiBVcGRhdGUgZm9yIHNjaGVkdWxlTG9hZCBjaGFuZ2UuCi0gICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFsKTogRGl0dG8uCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjphZGRUcmFjayk6IFVwZGF0ZSBmb3IgbV90
ZXh0VHJhY2tzIGNoYW5nZSBmcm9tCi0gICAgICAgICAgICBnZW5lcmljIFZlY3RvciB0byBUZXh0
VHJhY2tMaXN0LgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YWRkVGV4dFRy
YWNrKTogTmV3LCBhZGQgdHJhY2sgdG8gbV90ZXh0VHJhY2tzIGFuZCBjb25maWd1cmUuCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tzKTogTmV3
LCBhZGQgY29tbWVudHMgYWJvdXQgd2hhdCB0aGlzIHNob3VsZAotICAgICAgICAgICAgZG8gZXZl
bnR1YWxseS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja3Mp
OiBOZXcsIHJldHVybiBUZXh0VHJhY2tMaXN0LgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6dHJhY2tXYXNBZGRlZCk6IEJhaWwgaWYgcnVudGltZSBmZWF0dXJlIGlzIG5vdCBl
bmFibGVkLCBzY2hlZHVsZQotICAgICAgICAgICAgYXN5bmNocm9ub3VzIHRleHQgdHJhY2sgbG9h
ZC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2lsbEJlUmVtb3Zl
ZCk6IE1pbm9yIGNsZWFudXAuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNvdXJjZVdhc0FkZGVkKTogVXBkYXRlIGZvciBzY2hlZHVsZUxvYWQgY2hhbmdl
LgotICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgotICAgICAgICAqIGh0bWwvSFRN
TE1lZGlhRWxlbWVudC5pZGw6IEFkZCB0ZXh0VHJhY2tzIGF0dHJpYnV0ZS4KLQotICAgICAgICAq
IGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6IAotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNr
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6IFVzZSBuZXcgbWVkaWFFbGVtZW50KCkgbWV0aG9k
LgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6d2lsbFJlbW92ZSk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6
IFdoZW4gJ3NyYycgaXMgY2hhbmdlZCwgY2FsbCBzY2hlZHVsZUxvYWQKLSAgICAgICAgICAgIGlu
c3RlYWQgb2YgSFRNTE1lZGlhRWxlbWVudAotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxl
bWVudDo6aXNEZWZhdWx0KTogaGFzQXR0cmlidXRlIC0+IGZhc3RIYXNBdHRyaWJ1dGUuCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojp0cmFjayk6IEFsbG9jYXRlIHRyYWNrIGlm
IG5lY2Vzc2FyeS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxl
TG9hZCk6IE5ldywgdGVsbCB0aGUgdHJhY2sgdG8gc2NoZWR1bGUgYSBsb2FkLgotICAgICAgICAo
V2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6Y2FuTG9hZFVybCk6IE5ldywgY2hlY2sgc2VjdXJp
dHkgcG9saWN5IHRvIHNlZSBpZiBpdCBpcyBPSwotICAgICAgICAgICAgdG8gbG9hZCBhIHRleHQg
dHJhY2suIElmIHNvLCBkaXNwYXRjaCAnYmVmb3JlbG9hZCcgZXZlbnQgdG8gZ2l2ZSBpdCBhIGNo
YW5jZSB0byBkaXNhbGxvdwotICAgICAgICAgICAgbG9hZC4KLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmFja0VsZW1lbnQ6OmxvYWRpbmdDb21wbGV0ZWQpOiBSZW5hbWVkIGZyb20gdGV4dFRyYWNr
TG9hZGluZ0NvbXBsZXRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OnRl
eHRUcmFja1JlYWR5U3RhdGVDaGFuZ2VkKTogTmV3LCBUZXh0VHJhY2tMb2FkaW5nQ2xpZW50IGlu
dGVyZmFjZQotICAgICAgICAgICAgdXNlZCB0byBpbmZvcm0gcGFyZW50IG9mIFRleHRUcmFjayBz
dGF0ZSBjaGFuZ2VzLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6dGV4dFRy
YWNrTW9kZUNoYW5nZWQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnRleHRUcmFja0FkZEN1ZXMpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFj
a0VsZW1lbnQ6OnRleHRUcmFja1JlbW92ZUN1ZXMpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6
OkhUTUxUcmFja0VsZW1lbnQ6OnRleHRUcmFja0FkZEN1ZSk6IERpdHRvLgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRyYWNrRWxlbWVudDo6dGV4dFRyYWNrUmVtb3ZlQ3VlKTogRGl0dG8uCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjptZWRpYUVsZW1lbnQpOiBOZXcsIHJldHVy
biBwYXJlbnQgZWxlbWVudC4KLSAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuaDoKLQot
ICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6
TG9hZGFibGVUZXh0VHJhY2s6OkxvYWRhYmxlVGV4dFRyYWNrKTogSW5pdGlhbGl6ZSBuZXcgaW5z
dGFuY2UgdmFyaWFibGVzLgotICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNj
aGVkdWxlTG9hZCk6IE5ldywgcHJpbWUgYSB0aW1lciB0byBraWNrIG9mZiBsb2FkaW5nLgotICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmxvYWRUaW1lckZpcmVkKTogQ2FuY2Vs
IGN1cnJlbnQgbG9hZCwgaWYgYW55LCBjaGVjayB0byBzZWUgaWYKLSAgICAgICAgICAgIG5ldyB1
cmwgaXMgYWxsb3dlZCB0byBsb2FkLCBhbmQgc3RhcnQgbmV3IGxvYWQuCi0gICAgICAgIChXZWJD
b3JlOjpMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGluZ0NvbXBsZXRlZCk6IAotICAgICAgICAq
IGh0bWwvTG9hZGFibGVUZXh0VHJhY2suaDoKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4
dFRyYWNrQ2xpZW50Ojp+TG9hZGFibGVUZXh0VHJhY2tDbGllbnQpOiBUZXh0VHJhY2tMb2FkaW5n
Q2xpZW50IC0+IExvYWRhYmxlVGV4dFRyYWNrQ2xpZW50Ci0gICAgICAgIChXZWJDb3JlOjpMb2Fk
YWJsZVRleHRUcmFja0NsaWVudDo6Y2FuTG9hZFVybCk6IAotICAgICAgICAoV2ViQ29yZTo6TG9h
ZGFibGVUZXh0VHJhY2tDbGllbnQ6OmxvYWRpbmdDb21wbGV0ZWQpOgotICAgICAgICAoV2ViQ29y
ZTo6TG9hZGFibGVUZXh0VHJhY2s6OmNyZWF0ZSk6Ci0KLSAgICAgICAgKiBodG1sL1RleHRUcmFj
ay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6IHNldENsaWVu
dCgwKSAtPiBjbGVhckNsaWVudCgpLgotICAgICAgICAqIGh0bWwvVGV4dFRyYWNrLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OmNsZWFyQ2xpZW50KTogUmVuYW1lZCBmcm9tIHNldENs
aWVudCwgYmVjYXVzZSBpdCBpcyBvbmx5IHVzZWQgdG8gY2xlYXIgdGhlIGNsaWVudCBwb2ludGVy
LgotCi0gICAgICAgICogaHRtbC9UZXh0VHJhY2tDdWVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0N1ZUxpc3Q6OmFkZCk6IEdldCByaWQgb2YgYSBjb21waWxlciB3YXJuaW5n
IHRoYXQgYnJlYWtzIHRoZSBPUyBYIGJ1aWxkLgotCi0gICAgICAgICogaHRtbC90cmFjay9UZXh0
VHJhY2tMaXN0LmNwcDogQWRkZWQuIEltcGxlbWVudCB0aGUgVGV4dFRyYWNrTGlzdCBvYmplY3Qu
Ci0gICAgICAgIChUZXh0VHJhY2tMaXN0OjpUZXh0VHJhY2tMaXN0KToKLSAgICAgICAgKFRleHRU
cmFja0xpc3Q6On5UZXh0VHJhY2tMaXN0KToKLSAgICAgICAgKFRleHRUcmFja0xpc3Q6Omxlbmd0
aCk6Ci0gICAgICAgIChUZXh0VHJhY2tMaXN0OjppdGVtKToKLSAgICAgICAgKFRleHRUcmFja0xp
c3Q6OmFwcGVuZCk6Ci0gICAgICAgIChUZXh0VHJhY2tMaXN0OjpyZW1vdmUpOgotICAgICAgICAo
VGV4dFRyYWNrTGlzdDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgIChUZXh0VHJhY2tMaXN0Ojpz
Y2hlZHVsZUFkZFRyYWNrRXZlbnQpOgotICAgICAgICAoVGV4dFRyYWNrTGlzdDo6YXN5bmNFdmVu
dFRpbWVyRmlyZWQpOgotICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5oOiBBZGRl
ZC4KLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xpc3Q6OmNyZWF0ZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMaXN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKLSAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xpc3Q6OmNsZWFyT3duZXIpOgotICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTGlzdDo6b3duZXIpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTGlzdDo6
cmVmRXZlbnRUYXJnZXQpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTGlzdDo6ZGVyZWZF
dmVudFRhcmdldCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMaXN0OjpldmVudFRhcmdl
dERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTGlzdDo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKToKLSAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsOiBBZGRlZC4K
LQotICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6VGV4dFRyYWNrTG9hZGVyOjpjYW5jZWxMb2FkKTogTmV3LCBjYW5jZWwgcGVuZGluZyBvciBp
biBwcm9ncmVzcyBsb2FkIGFuZCBkZWxldGUgbG9hZGVyLgotICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6IENhbGwgY2FuY2VsTG9hZC4KLSAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bG9hZCk6IERpdHRvLgotICAgICAgICAqIGxvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuaDoKLSAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IEFkZCBU
ZXh0VHJhY2tMaXN0LgotCi0yMDExLTExLTExICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29v
Z2xlLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWltcGxlbWVudCBET00gc2VhcmNo
IHVzaW5nIG5vIFhQYXRoLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzIxMjUKLQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5Lgot
Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpwZXJmb3JtU2VhcmNoKToKLSAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUpOgotICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgotCi0yMDExLTExLTExICBHYXZpbiBQZXRlcnMg
IDxnYXZpbnBAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFByb3RlY3QgRG9jdW1lbnQgZHVyaW5n
IGVycm9yIHJlc3BvbnNlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzIwNjgKLQotICAgICAgICBBZGQgYSBEb2N1bWVudCBwcm90ZWN0b3IgdG8gdGhl
IGVycm9yIHJlc3BvbnNlIGNvZGUgaGFuZGxlciwganVzdAotICAgICAgICBhcyBleGlzdHMgZm9y
IG90aGVyIGVuZHMgb2YgcmVxdWVzdHMuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFw
aW4uCi0KLSAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC5odG1s
Ci0KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdDo6ZGlkUmVjZWl2ZURhdGEpOgot
Ci0yMDExLTExLTExICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4K
LQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTk5NzkuCi0gICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk5OTc5Ci0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNgotCi0gICAgICAgIGJhZCBjb21taXQgbWVz
c2FnZSAoUmVxdWVzdGVkIGJ5IGdhdmlucCBvbiAjd2Via2l0KS4KLQotICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZlRGF0YSk6Ci0KLTIwMTEtMTEtMTEgIEdhdmlu
IFBldGVycyAgPGdhdmlucEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUHJvdGVjdCBEb2N1bWVu
dCBkdXJpbmcgZXJyb3IgcmVzcG9uc2VzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjA2OAotCi0gICAgICAgIEFkZCBhIERvY3VtZW50IHByb3RlY3Rv
ciB0byB0aGUgZXJyb3IgcmVzcG9uc2UgY29kZSBoYW5kbGVyLCBqdXN0Ci0gICAgICAgIGFzIGV4
aXN0cyBmb3Igb3RoZXIgZW5kcyBvZiByZXF1ZXN0cy4KLQotICAgICAgICBSZXZpZXdlZCBieSBO
YXRlIENoYXBpbi4KLQotICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1w
b3J0Lmh0bWwKLQotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3Qu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZl
RGF0YSk6Ci0KLTIwMTEtMTEtMTAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEu
Y29tPgotCi0gICAgICAgIFtHU3RyZWFtZXJdIEdzdENhcHMgYW5kIEdzdFBhZCBSZWZQdHIgaW1w
bGVtZW50YXRpb24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcyMDIzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgotCi0gICAg
ICAgIFNtYXJ0IHBvaW50ZXIgaW1wbGVtZW50YXRpb25zIGZvciBHc3RDYXBzIGFuZCBHc3RQYWQg
YW5kIHRoZW0KLSAgICAgICAgaW4gdGhlIG1lZGlhIHBsYXllciBjb2RlLgotCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwOgotICAgICAg
ICAoV1RGOjpHc3RQYWQpOgotICAgICAgICAoV1RGOjpHc3RDYXBzKToKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJHV29ybGQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6R1N0cmVhbWVyR1dvcmxkOjplbnRlckZ1bGxzY3JlZW4pOgotICAgICAgICAoV2Vi
Q29yZTo6R1N0cmVhbWVyR1dvcmxkOjpleGl0RnVsbHNjcmVlbik6Ci0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5hdHVyYWxTaXpl
KToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dG90YWxC
eXRlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNy
ZWF0ZUdTVFBsYXlCaW4pOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9X
ZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwOgotICAgICAgICAod2Via2l0X3dlYl9zcmNfaW5p
dCk6Ci0gICAgICAgIChTdHJlYW1pbmdDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSk6Ci0KLTIw
MTEtMTEtMTEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgotCi0g
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5OTk2NC4KLSAgICAgICAgaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTk5NjQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0Ci0KLSAgICAgICAgQnJva2UgdG9vIG1hbnkgUXQg
dGVzdHMgKFJlcXVlc3RlZCBieSB0cm9uaWNhbF8gb24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBU
YXJnZXQucHJpOgotICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojp1c2VzTWVudUxpc3QpOgotICAgICAgICAqIHBs
YXRmb3JtL3F0L1F0TW9iaWxlV2ViU3R5bGUuY3BwOiBBZGRlZC4KLSAgICAgICAgKFF0TW9iaWxl
V2ViU3R5bGU6OlF0TW9iaWxlV2ViU3R5bGUpOgotICAgICAgICAoZHJhd1JlY3Rhbmd1bGFyQ29u
dHJvbEJhY2tncm91bmQpOgotICAgICAgICAoUXRNb2JpbGVXZWJTdHlsZTo6ZHJhd0NoZWNrZXIp
OgotICAgICAgICAoUXRNb2JpbGVXZWJTdHlsZTo6ZmluZENoZWNrZXIpOgotICAgICAgICAoUXRN
b2JpbGVXZWJTdHlsZTo6ZHJhd1JhZGlvKToKLSAgICAgICAgKFF0TW9iaWxlV2ViU3R5bGU6OmZp
bmRSYWRpbyk6Ci0gICAgICAgIChRdE1vYmlsZVdlYlN0eWxlOjpkcmF3Q29udHJvbCk6Ci0gICAg
ICAgIChRdE1vYmlsZVdlYlN0eWxlOjpkcmF3UHJpbWl0aXZlKToKLSAgICAgICAgKFF0TW9iaWxl
V2ViU3R5bGU6OmRyYXdNdWx0aXBsZUNvbWJvQnV0dG9uKToKLSAgICAgICAgKFF0TW9iaWxlV2Vi
U3R5bGU6OmRyYXdTaW1wbGVDb21ib0J1dHRvbik6Ci0gICAgICAgIChRdE1vYmlsZVdlYlN0eWxl
OjpnZXRCdXR0b25JbWFnZVNpemUpOgotICAgICAgICAoUXRNb2JpbGVXZWJTdHlsZTo6ZmluZENv
bWJvQnV0dG9uKToKLSAgICAgICAgKFF0TW9iaWxlV2ViU3R5bGU6OmRyYXdDb21wbGV4Q29udHJv
bCk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUXRNb2JpbGVXZWJTdHlsZS5oOiBBZGRlZC4KLSAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaDoKLSAgICAgICAg
KFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6UXRTdHlsZU9wdGlvbldlYkNvbWJv
Qm94KToKLSAgICAgICAgKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6Y2hlY2tN
dWx0aXBsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRU3R5bGUuY3BwOiBS
ZW1vdmVkLgotICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUVN0eWxlLmg6IFJlbW92
ZWQuCi0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjppbml0U3R5bGVPcHRpb24pOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVy
OjpTdHlsZVBhaW50ZXIpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyOjppbml0KToK
LSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlcjo6flN0eWxlUGFpbnRlcik6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0
OjpSZW5kZXJUaGVtZVF0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6On5SZW5k
ZXJUaGVtZVF0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0
eWxlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpwb3B1cEludGVybmFsUGFk
ZGluZ0JvdHRvbSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpmYWxsYmFja1N0
eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnFTdHlsZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmZpbmRGcmFtZUxpbmVXaWR0aCk6Ci0gICAgICAg
IChXZWJDb3JlOjppbmZsYXRlQnV0dG9uUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjphZGp1c3RSZXBhaW50UmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjptaW5pbXVtTWVudUxpc3RTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OmNvbXB1dGVTaXplQmFzZWRPblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OnNldEJ1dHRvblBhZGRpbmcpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6
cGFpbnRCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0VGV4
dEZpZWxkU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0
RmllbGQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0TWVudUxpc3RT
dHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpzZXRQb3B1cFBhZGRpbmcp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24pOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9n
cmVzc0Jhcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFByb2dyZXNz
QmFyKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50U2xpZGVyVHJhY2sp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRTbGlkZXJUaHVtYik6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0
dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50SW5uZXJTcGluQnV0
dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnNldFBhbGV0dGVGcm9tUGFn
ZUNsaWVudElmRXhpc3RzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmluaXRp
YWxpemVDb21tb25RU3R5bGVPcHRpb25zKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVkaWFQbGF5QnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVkaWFDdXJyZW50VGltZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0OjpwYWludE1lZGlhVm9sdW1lU2xpZGVyVHJhY2spOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUcmFjayk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lZGlhU2xpZGVyVGh1bWIpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2xpZGVyVGh1bWJTaXplKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNhcmV0QmxpbmtJbnRlcnZhbCk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpmaWxlTGlzdE5hbWVGb3JXaWR0aCk6Ci0gICAgICAg
ICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQ
YWludGVyOjppc1ZhbGlkKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlcjo6ZHJhd1By
aW1pdGl2ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXI6OmRyYXdDb250cm9sKToK
LSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlcjo6ZHJhd0NvbXBsZXhDb250cm9sKToKLSAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcDogUmVtb3ZlZC4KLSAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmg6IFJlbW92ZWQuCi0gICAg
ICAgICogcGxhdGZvcm0vcXQvU2Nyb2xsYmFyVGhlbWVRdC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVRdDo6cGFpbnQpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVRdDo6
c2Nyb2xsYmFyVGhpY2tuZXNzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lUXQ6
OnBhaW50U2Nyb2xsQ29ybmVyKToKLQotMjAxMS0xMS0xMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgTm90IHJldmlld2VkOiBmaXggU25vdyBMZW9wYXJk
IGJ1aWxkLgotCi0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpwZXJmb3JtU2VhcmNoKToKLQotMjAx
MS0xMS0xMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAg
V2ViIEluc3BlY3RvcjogbWFrZSBzZWFyY2ggaW4gRE9NIHBhbmVsIHNjYWxlLgotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMTgKLQotICAgICAgICBS
ZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6SW5zcGVjdG9yRE9NQWdlbnQpOgot
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnJlc2V0KToKLSAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpwZXJmb3JtU2VhcmNoKToKLSAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTUFnZW50OjpnZXRTZWFyY2hSZXN1bHRzKToKLSAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTUFnZW50OjpkaXNjYXJkU2VhcmNoUmVzdWx0cyk6Ci0gICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01BZ2VudC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5
cGUucGVyZm9ybVNlYXJjaC5jYWxsYmFjayk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LnByb3RvdHlwZS5zZWFyY2hSZXN1bHQubXljYWxsYmFjayk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLnNlYXJjaFJlc3VsdCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NRGlzcGF0Y2hlci5wcm90b3R5cGUuY2hpbGROb2RlUmVtb3ZlZCk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnNlYXJjaENhbmNlbGVkKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoLnJlc3Vs
dENvdW50Q2FsbGJhY2spOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJv
dG90eXBlLnBlcmZvcm1TZWFyY2gpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFu
ZWwucHJvdG90eXBlLmp1bXBUb05leHRTZWFyY2hSZXN1bHQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0KToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5faGlnaGxpZ2h0
Q3VycmVudFNlYXJjaFJlc3VsdC4pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFu
ZWwucHJvdG90eXBlLl9oaWdobGlnaHRDdXJyZW50U2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5faGlkZVNlYXJjaEhpZ2hsaWdodHMp
OgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxpZ2h0TnRoTWF0
Y2hlZFJlc291cmNlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5f
c2hvd1NlYXJjaFJlc3VsdC5jYWxsYmFjayk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VzUGFuZWwucHJvdG90eXBlLl9zaG93U2VhcmNoUmVzdWx0KToKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLnBlcmZvcm1TZWFyY2guZmluaXNoZWRDYWxsYmFjayk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmp1bXBUb05leHRT
ZWFyY2hSZXN1bHQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2VhcmNoQ29udHJvbGxlci5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlU2VhcmNoTWF0Y2hlc0NvdW50QW5kQ3VycmVudE1h
dGNoSW5kZXgpOgotCi0yMDExLTExLTExICBQaWVycmUgUm9zc2kgIDxwaWVycmUucm9zc2lAZ21h
aWwuY29tPgotCi0gICAgICAgIFtRdF0gUmVtb3ZlIHRoZSBRU3R5bGUgZGVwZW5kZW5jeSBpbiBR
dCdzIG1vYmlsZSB0aGVtZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc3NzMKLQotICAgICAgICBUaGlzIHJlZmFjdG9yaW5nIHNwbGl0cyB1cCBSZW5k
ZXJUaGVtZVF0IHdpdGggdHdvCi0gICAgICAgIHN1YmNsYXNzZXMsIGEgUVN0eWxlLWJhY2tlZCBv
bmUsIGFuZCBhIE1vYmlsZSB2ZXJzaW9uCi0gICAgICAgIHRoYXQgdXNlcyB0aGUgb2xkIG1vYmls
ZSB0aGVtZSBmb3Igbm93LgotCi0gICAgICAgIFFTdHlsZSBhdmFpbGFiaWxpdHkgaXMgZGV0ZWN0
ZWQgYXQgY29tcGlsZSB0aW1lLCBhbmQKLSAgICAgICAgaXRzIHVzZSBpcyBkZXRlcm1pbmVkIGJ5
IHRoZSBRVF9XRUJLSVRfVVNFX01PQklMRV9USEVNRQotICAgICAgICBlbnZpcm9ubWVudCB2YXJp
YWJsZS4KLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICBD
b3ZlcmVkIGJ5IHRoZSBleGlzdGluZyB0ZXN0cy4KLQotICAgICAgICAqIFRhcmdldC5wcmk6Ci0g
ICAgICAgICogcGxhdGZvcm0vcXQvUXRNb2JpbGVXZWJTdHlsZS5jcHA6IFJlbW92ZWQuIFRoZSBy
ZWxldmFudCBsb2dpYwotICAgICAgICBub3cgbGl2ZXMgd2l0aGluIFJlbmRlclRoZW1lUXRNb2Jp
bGUuCi0gICAgICAgICogcGxhdGZvcm0vcXQvUXRNb2JpbGVXZWJTdHlsZS5oOiBSZW1vdmVkLiBE
aXR0by4KLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVFTdHlsZS5jcHA6IEFkZGVk
LgotICAgICAgICAoV2ViQ29yZTo6aW5pdFN0eWxlT3B0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUVN0eWxlOjpnZXRTdHlsZVBhaW50ZXIpOgotICAgICAgICAoV2ViQ29yZTo6
U3R5bGVQYWludGVyUVN0eWxlOjpTdHlsZVBhaW50ZXJRU3R5bGUpOgotICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVQYWludGVyUVN0eWxlOjppbml0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUVN0eWxlOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6
OlJlbmRlclRoZW1lUVN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
Ojp+UmVuZGVyVGhlbWVRU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5
bGU6OmZhbGxiYWNrU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6
OnFTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6ZmluZEZyYW1l
TGluZVdpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjppbmZsYXRl
QnV0dG9uUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6Y29tcHV0
ZVNpemVCYXNlZE9uU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6
OmFkanVzdEJ1dHRvblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpzZXRCdXR0b25QYWRkaW5nKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpwYWludEJ1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVFTdHlsZTo6YWRq
dXN0VGV4dEZpZWxkU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6
OnBhaW50VGV4dEZpZWxkKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjph
ZGp1c3RUZXh0QXJlYVN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxl
OjpwYWludFRleHRBcmVhKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpz
ZXRQb3B1cFBhZGRpbmcpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBh
aW50TWVudUxpc3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFkanVz
dE1lbnVMaXN0QnV0dG9uU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5
bGU6OnBhaW50TWVudUxpc3RCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVR
U3R5bGU6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50UHJvZ3Jlc3NCYXIpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50U2xpZGVyVHJhY2spOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFkanVzdFNsaWRlclRyYWNrU3R5bGUpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50U2xpZGVyVGh1bWIpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFkanVzdFNsaWRlclRodW1iU3R5bGUpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50U2VhcmNoRmllbGQpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OmFkanVzdFNlYXJjaEZpZWxk
RGVjb3JhdGlvblN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpw
YWludFNlYXJjaEZpZWxkRGVjb3JhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVFTdHlsZTo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblN0eWxlKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0Rl
Y29yYXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRU3R5bGU6OnBhaW50SW5u
ZXJTcGluQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUVN0eWxlOjppbml0
aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVFTdHlsZTo6YWRqdXN0U2xpZGVyVGh1bWJTaXplKToKLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVFTdHlsZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRl
clFTdHlsZTo6aXNWYWxpZCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJRU3R5bGU6
OmRyYXdQcmltaXRpdmUpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyUVN0eWxlOjpk
cmF3Q29udHJvbCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJRU3R5bGU6OmRyYXdD
b21wbGV4Q29udHJvbCk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpSZW5kZXJUaGVtZVF0KToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjppbmZsYXRlQnV0dG9uUmVjdCk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RSZXBhaW50UmVjdCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjptaW5pbXVtTWVudUxpc3RTaXplKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1lbnVMaXN0U3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RQcm9ncmVzc0JhclN0eWxlKToKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24pOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6c2V0UGFsZXR0ZUZyb21QYWdlQ2xp
ZW50SWZFeGlzdHMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZWRp
YUZ1bGxzY3JlZW5CdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFp
bnRNZWRpYU11dGVCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFp
bnRNZWRpYVBsYXlCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFp
bnRNZWRpYUN1cnJlbnRUaW1lKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBh
aW50TWVkaWFWb2x1bWVTbGlkZXJUcmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjpwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUaHVtYik6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjphZGp1c3RTbGlkZXJUaHVtYlNpemUpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6Y2FyZXRCbGlua0ludGVydmFsKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OmZpbGVMaXN0TmFtZUZvcldpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRl
cjo6aW5pdCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXI6On5TdHlsZVBhaW50ZXIp
OgotICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OnVzZU1vYmlsZVRoZW1lKToKLSAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUGFpbnRlcjo6aXNWYWxpZCk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dE1vYmlsZS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6ZHJhd1JlY3Rhbmd1bGFyQ29u
dHJvbEJhY2tncm91bmQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6
Z2V0U3R5bGVQYWludGVyKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6
U3R5bGVQYWludGVyTW9iaWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmls
ZTo6ZHJhd0NoZWNrZXIpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpm
aW5kQ2hlY2tlcik6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRyYXdS
YWRpbyk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmZpbmRSYWRpbyk6
Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVBhaW50ZXJNb2JpbGU6OmRyYXdNdWx0aXBsZUNvbWJv
QnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZHJhd1NpbXBs
ZUNvbWJvQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6Z2V0
QnV0dG9uSW1hZ2VTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6
ZmluZENvbWJvQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6
ZHJhd0xpbmVFZGl0KToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZHJh
d0NoZWNrQm94KToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZHJhd1Jh
ZGlvQnV0dG9uKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGFpbnRlck1vYmlsZTo6ZHJhd1B1
c2hCdXR0b24pOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQYWludGVyTW9iaWxlOjpkcmF3Q29t
Ym9Cb3gpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6Y3JlYXRlKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6UmVuZGVyVGhlbWVRdE1vYmlsZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjp+UmVuZGVyVGhlbWVRdE1vYmlsZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjppc0NvbnRyb2xTdHlsZWQp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6cG9wdXBJbnRlcm5hbFBh
ZGRpbmdCb3R0b20pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6Y29t
cHV0ZVNpemVCYXNlZE9uU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1v
YmlsZTo6YWRqdXN0QnV0dG9uU3R5bGUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVR
dE1vYmlsZTo6c2V0QnV0dG9uUGFkZGluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0TW9iaWxlOjpwYWludEJ1dHRvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0
TW9iaWxlOjphZGp1c3RUZXh0RmllbGRTdHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0TW9iaWxlOjpwYWludFRleHRGaWVsZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0TW9iaWxlOjphZGp1c3RNZW51TGlzdFN0eWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXRNb2JpbGU6OnNldFBvcHVwUGFkZGluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0TW9iaWxlOjpwYWludE1lbnVMaXN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXRNb2JpbGU6OnBhaW50TWVudUxpc3RCdXR0b24pOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0Jhcik6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpwYWludFByb2dyZXNzQmFy
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OnBhaW50U2xpZGVyVHJh
Y2spOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdE1vYmlsZTo6cGFpbnRTbGlkZXJU
aHVtYik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpjaGVja011bHRp
cGxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRNb2JpbGU6OnNldFBhbGV0dGVG
cm9tUGFnZUNsaWVudElmRXhpc3RzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXRN
b2JpbGU6OmFkanVzdFNsaWRlclRodW1iU2l6ZSk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdE1vYmlsZS5oOiBBZGRlZC4KLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9TY3JvbGxi
YXJUaGVtZVF0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVU
aGVtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZVF0OjpwYWludCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZVF0OjpzY3JvbGxiYXJUaGlja25lc3MpOgotICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVRdDo6cGFpbnRTY3JvbGxDb3JuZXIpOgotCi0y
MDExLTExLTExICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgV2ViIEluc3BlY3RvcjogT3B0aW9uIHRvIGNvbmZpZ3VyZSBpbmRlbnRhdGlvbiBvZiBw
cmV0dHktcHJpbnRlZCBKYXZhc2NyaXB0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjExOQotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCi0KLSAgICAgICAgRHJpdmUtYnkgZml4IGZvciBmaWVsZCBuYW1lcyBhbmQgYWRkZWQgaW5k
ZW50IGNhY2hpbmcsIGFzIHN1Z2dlc3RlZCBieSBQYXZlbCBQb2Rpdmlsb3YuCi0KLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRGb3JtYXR0ZXIuanM6Ci0gICAgICAgIChG
b3JtYXR0ZWRDb250ZW50QnVpbGRlcik6Ci0gICAgICAgIChGb3JtYXR0ZWRDb250ZW50QnVpbGRl
ci5wcm90b3R5cGUuaW5jcmVhc2VOZXN0aW5nTGV2ZWwpOgotICAgICAgICAoRm9ybWF0dGVkQ29u
dGVudEJ1aWxkZXIucHJvdG90eXBlLmRlY3JlYXNlTmVzdGluZ0xldmVsKToKLSAgICAgICAgKEZv
cm1hdHRlZENvbnRlbnRCdWlsZGVyLnByb3RvdHlwZS5fYWRkSW5kZW50KToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qczoKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qczoKLSAgICAgICAgKG9ubWVzc2Fn
ZSk6Ci0gICAgICAgIChmb3JtYXRTY3JpcHQpOgotICAgICAgICAoSFRNTFNjcmlwdEZvcm1hdHRl
cik6Ci0gICAgICAgIChIVE1MU2NyaXB0Rm9ybWF0dGVyLnByb3RvdHlwZS5zY3JpcHRFbmRlZCk6
Ci0KLTIwMTEtMTEtMTEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAg
ICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0gYnVpbGQgZml4IGFmdGVyIHI5OTk1OC4KLQotICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgotICAgICAgICAoR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbkN1c3RvbUNhbGwpOm8KLQotICAgICAgICAgICAgUmVtb3ZlIGhhY2sg
dGhhdCBmb3JjZWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIHRvIGhhdmUgYSBjdXN0b20KLSAgICAg
ICAgICAgIGNhbGxBc0Z1bmN0aW9uQ2FsbGJhY2soKS4KLQotMjAxMS0xMS0xMSAgTWlrZSBMZXdp
cyA8bWlrZWxpa2VzcGllQGdtYWlsLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZXZU
b29scyBJbnNwZWN0b3JTdHVicy5qcyBpbmNvcnJlY3RseSBjb252ZXJ0aW5nIHJlc3BvbnNlcyB0
byBhcmd1bWVudHMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MjA5NgotCi0gICAgICAgIEpTT04ucGFyc2UgZG9lc24ndCBnYXJhbnRlZSB0aGUgb3Jk
ZXIgb2Yga2V5cy4KLSAgICAgICAgV2UgaGF2ZSB0byBleHBsaWNpdGx5IG9yZGVyIHRoZSByZXN1
bHRzIGFjY29yZGluZyB0byBJbnNwZWN0b3IuanNvbiBzcGVjLgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvcklu
c3BlY3Rvci5weToKLQotMjAxMS0xMS0xMCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5v
cmc+Ci0KLSAgICAgICAgUmVtb3ZlIGFiaWxpdHkgdG8gY2FsbCBIVE1MQ29sbGVjdGlvbnMgaW4g
VjggYmluZGluZ3MgYXMgd2VsbC4KLSAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzIwNDU+
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgotCi0gICAgICAgIEZvbGxv
dyB0aGUgSlNDIGJpbmRpbmdzIGFuZCByZW1vdmUgdGhlIGFiaWxpdHkgdG8gY2FsbCBIVE1MQ29s
bGVjdGlvbnMKLSAgICAgICAgaW4gdGhlIFY4IGJpbmRpbmdzIChleGNsdWRpbmcgSFRNTEFsbENv
bGxlY3Rpb24uKQotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlckN1c3RvbUNhbGwpOgotICAgICAgICAoR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbkN1c3RvbUNhbGwpOgotICAgICAgICAqIGRvbS9Ob2RlTGlzdC5pZGw6
Ci0gICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGw6Ci0KLSAgICAgICAgICAgIFJlbW92
ZSB0aGUgVjhDdXN0b21DYWxsIGF0dHJpYnV0ZSBhcyBpdCdzIG5vIGxvbmdlciBuZWVkZWQuCi0K
LSAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlvbkN1c3RvbS5jcHA6
Ci0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwOgotCi0y
MDExLTExLTExICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgV2ViIEluc3BlY3RvcjogSW50ZXJhY3RpdmUgY29sb3IgYm94IGZvciBncmFkaWVudHMg
aW4gQ1NTIHByb3BlcnR5IHZhbHVlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzIxMTIKLQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0
c2t5LgotCi0gICAgICAgIEFkZCAiYmFja2dyb3VuZC1pbWFnZSIgdG8gdGhlIGxpc3Qgb2YgY29s
b3ItYXdhcmUgcHJvcGVydGllcyAobWF5IGNvbnRhaW4gZ3JhZGllbnQgZGVmaW5pdGlvbikuCi0K
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qczoK
LQotMjAxMS0xMS0xMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBbY2hyb21pdW1dIGxpc3QgZGVkaWNhdGVkIHdvcmtlcnMg
aW4gY2FzZSBpbnNwZWN0b3Igb3BlbmVkIHBvc3Qtd29ya2VyIGNyZWF0aW9uLgotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMjAKLQotICAgICAgICBD
b2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IGRlZGljYXRlZCB3b3JrZXJzIGV2ZW4gd2hlbiBpbnNw
ZWN0b3IgaXMgY2xvc2VkLiBUaGlzCi0gICAgICAgIHdheSB3ZSBjYW4gbGlzdCBhbGwgZGVkaWNh
dGVkIHdvcmtlcnMgaWYgdGhlIGZyb250LWVuZCBvcGVucyBsYXRlci4KLQotICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVj
dG9yLWVuYWJsZWQvZGVkaWNhdGVkLXdvcmtlcnMtbGlzdC5odG1sCi0KLSAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2VyQ29udGV4dCk6Ci0gICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvcldvcmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2VudCk6Ci0gICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3RvcldvcmtlckFnZW50KToKLSAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpzZXRGcm9udGVuZCk6Ci0gICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6cmVzdG9yZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y2xlYXJGcm9udGVuZCk6Ci0gICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2V0V29ya2VySW5zcGVjdGlvbkVuYWJsZWQpOgot
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRpZFN0YXJ0V29ya2VyQ29u
dGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6d29ya2VyQ29u
dGV4dFRlcm1pbmF0ZWQpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6
OmNyZWF0ZVdvcmtlckZyb250ZW5kQ2hhbm5lbHNGb3JFeGlzdGluZ1dvcmtlcnMpOgotICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRlc3Ryb3lXb3JrZXJGcm9udGVuZENo
YW5uZWxzKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGVX
b3JrZXJGcm9udGVuZENoYW5uZWwpOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oOgotCi0yMDExLTExLTExICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTk5NTAuCi0g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk5OTUwCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNwotCi0gICAgICAgICJM
YW5kZWQgd3JvbmcgcGF0Y2ggYnkgbWlzdGFrZSIgKFJlcXVlc3RlZCBieSB5dXJ5cyBvbgotICAg
ICAgICAjd2Via2l0KS4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRI
b3N0Q3VzdG9tLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNj
cmlwdEhvc3RDdXN0b20uY3BwOgotICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5j
cHA6Ci0gICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmg6Ci0gICAgICAgICogaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGw6Ci0gICAgICAgICogaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0U291cmNlLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoK
LSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6Ci0gICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKLQotMjAxMS0xMS0xMCAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVj
dG9yOiBmdW5jdGlvbiByZW1vdGUgb2JqZXRjdCBzaG91bGQgcHJvdmlkZSBhY2Nlc3MgdG8gZnVu
Y3Rpb24gcG9zaXRpb24gaW4gdGhlIHNjcmlwdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MDgKLQotICAgICAgICBBZGRlZCBEZWJ1Z2dlci5nZXRG
dW5jdGlvbkxvY2F0aW9uIGNvbW1hbmQgZm9yIHJlc29sdmluZyBmdW5jdGlvbiBsb2NhdGlvbiBp
bmNsdWRpbmcKLSAgICAgICAgc3RhcnQgbGluZSwgY29sdW1uIGFuZCBzY3JpcHQgaWQuCi0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICBUZXN0OiBpbnNwZWN0
b3IvZGVidWdnZXIvZnVuY3Rpb24tbG9jYXRpb24uaHRtbAotCi0gICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNJ
bmplY3RlZFNjcmlwdEhvc3Q6OmZ1bmN0aW9uTG9jYXRpb24pOgotICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpWOEluamVjdGVkU2NyaXB0SG9zdDo6ZnVuY3Rpb25Mb2NhdGlvbkNhbGxiYWNrKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHQ6OmdldEZ1bmN0aW9uTG9jYXRpb24pOgotICAgICAgICAqIGluc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5oOgotICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaWRsOgotICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qczoKLSAg
ICAgICAgKC4pOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKLSAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpnZXRGdW5jdGlvbkxvY2F0aW9uKToKLSAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oOgotCi0yMDExLTExLTExICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAgICAgICBOb3QgcmV2aWV3ZWQ6
IHJvbGwgb3V0IGNoYW5nZXMgdG8gSW5zcGVjdG9yRE9NQWdlbnQgdGhhdCBzcXVlZXplZCBpbnRv
IDk5OTMzLgotCi0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6Ok1hdGNoSm9iOjpNYXRjaEpvYik6Ci0gICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6b25NYXRjaEpvYnNUaW1lcik6Ci0KLTIwMTEtMTEtMTEgIEFsZXhh
bmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVj
dG9yOiBbTWV0cmljc10gRWRpdG9yIGlzIGNvbW1pdHRlZCB3aGVuIHNjcm9sbGluZyBhIGNvbnRl
bnQgYm94IGRpbWVuc2lvbiB1cC9kb3duIGZvciB0aGUgZmlyc3QgdGltZQotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDgKLQotICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9N
ZXRyaWNzU2lkZWJhclBhbmUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuTWV0cmljc1NpZGVi
YXJQYW5lLnByb3RvdHlwZS5fYXR0cmlidXRlc1VwZGF0ZWQpOgotCi0yMDExLTExLTExICBBbHBo
YSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBzY3JvbGxp
bmcgaXMgYnJva2VuIHdpdGggY29tcG9zaXRvciB0aHJlYWQKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
SmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgTm8gbmV3IHRlc3QuIEV4aXN0aW5nIHRlc3QgQ0NM
YXllclRyZWVIb3N0SW1wbFRlc3Quc2Nyb2xsRGVsdGFSZXBlYXRlZFNjcm9sbHMgY2hlY2tzIHNj
cm9sbCBkZWx0YXMgYXJlIGFwcGxpZWQKLSAgICAgICAgb24gdGhlIHJpZ2h0IGxheWVyLgotCi0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1w
bC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2Nyb2xsTGF5ZXIp
OgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHku
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6YmVnaW5GcmFtZUNvbXBsZXRl
T25JbXBsVGhyZWFkKToKLSAgICAgICAgSW5zdGVhZCBvZiBjYWxsaW5nIG9uIHRoZSByb290IGxh
eWVyIHdoaWNoIGRvZXNuJ3QgaGF2ZSBzY3JvbGwgZGVsdGEgYXBwbGllZC4gQ2hhbmdlIHRoaXMg
dG8gc2Nyb2xsTGF5ZXIoKQotICAgICAgICB3aGljaCBhY3R1YWxseSBoYXMgc2Nyb2xsIGRlbHRh
LgotCi0yMDExLTExLTExICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTk4MjYuCi0gICAgICAgIGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk5ODI2Ci0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEwOQotCi0gICAgICAgICJMaWtlbHkgY2F1
c2luZyB0ZXN0IGZsYWtpbmVzcyIgKFJlcXVlc3RlZCBieSB0b255Zy1jciBvbgotICAgICAgICAj
d2Via2l0KS4KLQotICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9hZCk6Ci0KLTIwMTEt
MTEtMTEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0KLSAgICAg
ICAgWm9vbWluZyBpbiBTVkdzIGluIDxvYmplY3Q+IGlzIGZsYWtleQotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2NzMKLQotICAgICAgICBSZXZpZXdl
ZCBieSBab2x0YW4gSGVyY3plZy4KLQotICAgICAgICBJdCB0dXJucyBvdXQgem9vbWluZyBpbiBT
VkdzIGluIDxvYmplY3Q+IHdhc24ndCBmbGFrZXkgaW4gU2FmYXJpIGF0IGFsbCwgb25seSBpbiBE
UlQvTWFjLiBJbiBTYWZhcmkgaXQgZmFpbGVkIDEwMCUgcmVwcm9kdWNhYmxlLgotICAgICAgICBT
Y3JvbGxiYXJzIHdvdWxkIGFsd2F5cyBhcHBlYXIgd2hlbiB6b29taW5nIGluIGEgSFRNTCBkb2N1
bWVudCwgY29udGFpbmluZyBhbiBlbWJlZGRlZCBTVkcgYnkgPG9iamVjdD4vPGVtYmVkPi88aWZy
YW1lPiwgZXZlbgotICAgICAgICB0aG91Z2ggdGhlIGNvbnRlbnQgd291bGQgdmlzdWFsbHkgZml0
IHBlcmZlY3RseSwgYWxzbyBpdCB6b29tZWQgcHJvcGVybHkuIFJlbG9hZGluZyB3b3VsZCBtYWtl
IHRoZSBzY3JvbGxiYXJzIGRpc2FwcGVhciBhZ2Fpbi4KLQotICAgICAgICBJZiBzY3JvbGxiYXJz
IHNob3VsZCBiZSBjcmVhdGVkIGZvciBhIEZyYW1lVmlldyBvciBub3QsIGlzIGRldGVybWluZWQg
YnkgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycygpLCBieSBjb21wYXJpbmcgdGhlIAotICAg
ICAgICB2aXNpYmxlIHNpemUgb2YgdGhlIHNjcm9sbCB2aWV3IGFnYWluc3QgdGhlIGNvbnRlbnRz
IHNpemUuIFRoZSBjb250ZW50cyBzaXplIGlzIHByb3BhZ2F0ZWQgdG8gdGhlIFNjcm9sbFZpZXcs
IGJ5Ci0gICAgICAgIEZyYW1lVmlldzo6YWRqdXN0Vmlld1NpemUoKSwgd2hpY2ggaXMgY2FsbGVk
IGR1cmluZyBGcmFtZVZpZXc6OmxheW91dCgpLiBUaGUgc2l6ZSB0aGF0cyBwcm9wYWdhdGVkIGlz
IFJlbmRlclZpZXc6OmRvY3VtZW50UmVjdCgpLgotICAgICAgICBSZW5kZXJWaWV3Ojpkb2N1bWVu
dFJlY3QoKSByZXR1cm5zIGEgd3JpdGluZy1tb2RlIGF3YXJlIGxheW91dE92ZXJmbG93UmVjdCgp
LCBjb21wdXRlZCBieSBSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9u
LgotCi0gICAgICAgIElmIG92ZXJmbG93IGlzICJ2aXNpYmxlIiwgbGF5b3V0T3ZlcmZsb3dSZWN0
KCkgd2lsbCByZXR1cm4gYSB1bmlvbiBvZiB0aGUgYm9yZGVyQm94UmVjdCgpIGFuZCB0aGUgbGF5
b3V0T3ZlcmZsb3dSZWN0KCksIHdoaWNoCi0gICAgICAgIG1heSBleGNlZWQgdGhlIHZpc2libGUg
c2l6ZSBvZiB0aGUgUmVuZGVyVmlldy4gRm9yIHN0YW5kYWxvbmUgU1ZHIGRvY3VtZW50cywgdGhl
IGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBvdXRlcm1vc3QgPHN2Zz4gcmVuZGVyZXIgaXMKLSAgICAg
ICAgInZpc2libGUiLiBXaGVuIGVtYmVkZGluZyBTVkdzIHRocm91Z2ggPG9iamVjdD5zIGludG8g
YSBob3N0IGRvY3VtZW50LCB0aGUgc2FtZSBjb2RlIHBhdGggaXMgdGFrZW4sIGFuZCBSZW5kZXJW
aWV3Ojpkb2N1bWVudFJlY3QoKQotICAgICAgICBvZiB0aGUgZW1iZWRkZWQgU1ZHIGRvY3VtZW50
IHdpbGwgYWx3YXlzIHJldHVybiBhIHVuaW9uIG9mIHRoZSBib3JkZXJCb3hSRWN0KCkgYW5kIHRo
ZSBsYXlvdXRPdmVyZmxvd1JlY3QoKS4KLQotICAgICAgICBJZiB0aGF0IGhhcHBlbnMgd2hpbGUg
em9vbWluZyBpbiBhIEhUTUwgZG9jdW1lbnQgY29udGFpbmluZyBhIFNWRyBieSA8b2JqZWN0Piwg
c2Nyb2xsYmFycyBhcmUgY3JlYXRlZC4KLSAgICAgICAgQnkgZW5zdXJpbmcgdGhhdCBvdmVyZmxv
dyBpcyB0cmVhdGVkIGFzIGhpZGRlbiwgd2hpY2ggaXMgd2hhdCBPcGVyYSBkb2VzIChhbmQgbWFr
ZXMgc2Vuc2UhKSB0aGlzIGNhbid0IGhhcHBlbi4KLQotICAgICAgICBUaGUgZml4IGlzIHRvIHRy
ZWF0IGVtYmVkZGVkIFNWR3MgYXMgdGhleSB3b3VsZCBjYXJyeSBvdmVyZmxvdz0iaGlkZGVuIiBv
biB0aGUgb3V0ZXJtb3N0IDxzdmc+IHJlbmRlcmVyLiBUaGF0IGFsc28gbWFrZXMKLSAgICAgICAg
c2Vuc2UgYXMgdGhlIGVtYmVkZGVkIFNWRyBjYW50IHBhaW50IG91dHNpZGUgYW4gZXh0ZXJuYWwg
ImZyYW1lIHJlY3QiIHRoYXRzIGdpdmVuIGJ5IHRoZSBGcmFtZVZpZXcsIGVmZmVjdGl2ZWx5IHJl
bmRlcmluZwotICAgICAgICBhcyBvdmVyZmxvdyAiaGlkZGVuIiBhbHJlYWR5LgotCi0gICAgICAg
IFRoZSBmaXggaXMgcmVhbGl6ZWQsIGJ5IGFsdGVyaW5nIHRoZSBvdmVyZmxvdyB4L3kgdmFsdWVz
IHRoYXQgYXJlIHVzZWQgaW4gRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydCgpLiBQ
cmV2aW91c2x5Ci0gICAgICAgIHdlIG5ldmVyIGNhbGxlZCB0aGF0IG1ldGhvZCBmb3IgU1ZHLCB3
aGljaCB3YXMgZmluZS4gTm93IHdlIGFsd2F5cyBjYWxsIGFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0
KCksIGJ1dCBvbmx5IGRvIHNvbWV0aGluZwotICAgICAgICBpZiB0aGUgRnJhbWVWaWV3IG9mIHRo
ZSBTVkcgaXMgZW1iZWRkZWQgaW4gYW5vdGhlciBkb2N1bWVudC4gSWYgc28sIHdlIGZvcmNlIG92
ZXJmbG93IHRvIGhpZGRlbi4KLQotICAgICAgICBUaGF0IGZpeGVzIGFsbCB6b29taW5nKzxvYmpl
Y3Q+IHJlbGF0ZWQgZmxha2luZXNzIHNlZW4gb24gdGhlIGNocm9taXVtIGJvdHMsIG1vc3Qgbm90
aWNlYWJsZSwgd2l0aG91dCBvdGhlciBzaWRlIGVmZmVjdHMuCi0gICAgICAgIEFsbCBzdmcvb3Zl
cmZsb3cgdGVzdHMsIHN0aWxsIHdvcmsgYXMgZXhwZWN0ZWQuCi0KLSAgICAgICAgVGVzdDogc3Zn
L3pvb20vcGFnZS96b29tLXN2Zy1hcy1vYmplY3QuaHRtbAotCi0gICAgICAgICogcGFnZS9GcmFt
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0UGFnZUFuZFRleHRab29tRmFjdG9y
cyk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBzZXROZWVkc0xheW91dCgpIGNhbGwgaW4gU1ZHIGJ1aWxk
cy4KLSAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KTogQWx3YXlzIGVuZm9yY2Ugb3ZlcmZsb3c9
aGlkZGVuLCB3aGVuIGVtYmVkZGluZyBTVkdzIHRocm91Z2ggb2JqZWN0L2VtYmVkL2lmcmFtZS4K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP
dGhlcndpc2Ugc2Nyb2xsYmFycyB3aWxsIGFwcGVhciwgZXZlbiB0aG91Z2ggdGhlIGNvbnRlbnRz
IHdvdWxkIGZpdCB3aXRob3V0IHRoZW0uCi0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNh
bGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KTogQWx3YXlzIGNhbGwgYXBwbHlPdmVyZmxv
d1RvVmlld3BvcnQsIGV2ZW4gZm9yIFJlbmRlclNWR1Jvb3QuIEl0IG9ubHkgaGFzCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YW4gZWZmZWN0IHRob3VnaCwgd2hlbiB0aGUgRnJhbWVWaWV3IG9mIHRoZSBTVkcgaXMgZW1iZWRk
ZWQgdGhyb3VnaCA8b2JqZWN0Pi9ldGMuCi0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Omxh
eW91dCk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBzZXRDaGlsZE5lZWRzTGF5b3V0KCkgY2FsbC4KLSAg
ICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUm9vdDo6aXNFbWJlZGRlZFRocm91Z2hGcmFtZUNvbnRhaW5pbmdTVkdEb2N1
bWVudCk6IEZpeCB0aGlzIGZ1bmN0aW9uLCBpdHMgbWVhbmluZyB3YXMgcmV2ZXJzZWQgYmVmb3Jl
IQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoKTogRml4IGxvZ2ljYWwgZXJyb3IsIGJ5IG5lZ2F0aW5nIHRoZSByZXN1bHQgb2YgaXNF
bWJlZGRlZFRocm91Z2hGcmFtZUNvbnRhaW5pbmdTVkdEb2N1bWVudC4KLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQpOiBEaXR0by4K
LSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaDogRXhwb3NlIGlzRW1iZWRk
ZWRUaHJvdWdoRnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQuCi0KLTIwMTEtMTEtMTEgIE5pa29s
YXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0KLSAgICAgICAgTm90IHJldmll
d2VkLiBVbmJyZWFrIG15IDMyYml0IFNMIGJ1aWxkLgotCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVPclJl
bW92ZUZpbHRlckVmZmVjdCk6IFVzZSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KCkgdG8gY29udmVy
dCBmbG9hdCAtPiBkb3VibGUuCi0KLTIwMTEtMTAtMjggIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgotCi0gICAgICAgIEhSVEYgRGF0YWJhc2UgY29uc29saWRhdGlvbgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDMKLQot
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCi0KLSAgICAgICAgQWNjZXNzIHRv
IHRoZSBjb25zb2xpZGF0ZWQgcGFydHMgb2YgdGhlIEhSVEYgZGF0YWJhc2UgYnkgc2VnbWVudGVk
Ci0gICAgICAgIGNodW5rcy4gQSBjb25jYXRlbmF0ZWQgQ29tcG9zaXRlIEhSVEYgZGF0YWJhc2Ug
aXMgcHJvdmlkZWQgaW4KLSAgICAgICAgQ29tcG9zaXRlLndhdi4gQWRkaXRpb25uYWxseSBhIG5l
dyBidWlsZCBzdGVwIHRoYXQgY29uY2F0ZW5hdGVzCi0gICAgICAgIHRoZSBwbGF0Zm9ybS9hdWRp
by9yZXNvdXJjZXMvIGZpbGVzIGludG8gb25lIChzb3ggY2FuIGJlIHVzZWQgZm9yCi0gICAgICAg
IHRoaXMpIGNhbiBiZSBjb25maWd1cmVkIGZvciBzcGVjaWZpYyBwb3J0cy4KLQotICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oOgotICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0hSVEZFbGV2YXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Z2V0Q29uY2F0ZW5hdGVkSW1w
dWxzZVJlc3BvbnNlc0ZvclN1YmplY3QpOgotICAgICAgICAoV2ViQ29yZTo6SFJURkVsZXZhdGlv
bjo6Y2FsY3VsYXRlS2VybmVsc0ZvckF6aW11dGhFbGV2YXRpb24pOgotICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL3Jlc291cmNlcy9Db21wb3NpdGUud2F2OiBBZGRlZC4KLQotMjAxMS0xMS0xMCAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3Bl
Y3RvcjogcHJvdmlkZSBhbiBpZCB0byB0aGUgcm9vdCBpbnNwZWN0b3IgZWxlbWVudCBmb3IgdGhp
cmQgcGFydHkgVUEgc3R5bGluZy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcyMDk0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNr
eS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6Ci0KLTIw
MTEtMTEtMTAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgotCi0gICAgICAgIFdlYktp
dENTU1NoYWRlclZhbHVlLmggaXMgbm90IGEgbWVtYmVyIG9mIHRoZSBXZWJDb3JlIHRhcmdldAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTMKLQot
ICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotCi0gICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBNYWtlIFdlYktpdENTU1NoYWRlclZhbHVlLmggYQot
ICAgICAgICBtZW1iZXIgb2YgdGhlIFdlYkNvcmUgdGFyZ2V0LCBhbmQgbWFrZSBpdCBhIHByb2pl
Y3QgaGVhZGVyLgotCi0yMDExLTExLTEwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+
Ci0KLSAgICAgICAgRGlzYWJsaW5nIGFzc2VydGlvbnMgYnJlYWtzIHRoZSBkZWJ1ZyBidWlsZAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTEKLQot
ICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpk
aWREZWNvZGVQcm9wZXJ0aWVzKTogR3VhcmRlZCB0aGUgZGVmaW5pdGlvbiBvZiBsb2NhbCB2YXJp
YWJsZXMgdGhhdCBhcmUKLSAgICAgICAgb25seSB1c2VkIGluIGFuIGFzc2VydGlvbiBjb3JyZWN0
bHkuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaDogQ2hhbmdl
ZCBBU1NFUlQgdG8gQVNTRVJUX1VOVVNFRC4KLSAgICAgICAgKFdlYkNvcmU6OlRpbGluZ0RhdGE6
OmFzc2VydFRpbGUpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjp3aWxsQmVEZXN0cm95ZWQpOiBHdWFyZGVkIHRo
ZSBkZWZpbml0aW9uIG9mIGEgbG9jYWwgdmFyaWFibGUgdGhhdCBpcwotICAgICAgICBvbmx5IHVz
ZWQgaW4gYW4gYXNzZXJ0aW9uIGNvcnJlY3RseS4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZUNsaXBwZXI6OmFwcGx5UmVzb3VyY2UpOiBDaGFuZ2VkIEFTU0VSVCB0byBBU1NFUlRf
VU5VU0VELgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVz
b3VyY2UpOiBDaGFuZ2VkIEFTU0VSVCB0byBBU1NFUlRfVU5VU0VELgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKTogQ2hhbmdlZCBB
U1NFUlQgdG8gQVNTRVJUX1VOVVNFRC4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlTWFza2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
TWFza2VyOjphcHBseVJlc291cmNlKTogQ2hhbmdlZCBBU1NFUlQgdG8gQVNTRVJUX1VOVVNFRC4K
LQotMjAxMS0xMS0xMCAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBbY2hyb21pdW1dIEFkZCBwbHVtYmluZyBmb3IgSlMgdG8gd3JpdGUgdG8gY2xpcGJvYXJk
IGluIGNvcHkvY3V0IGV2ZW50cy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxNDE0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgot
Ci0gICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBuZXcgZnVuY3Rpb25hbGl0eSBlbmFibGVk
IHlldC4KLQotICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZUNsaXBib2FyZCk6Ci0gICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6Ci0KLTIwMTEtMTEtMTAg
IERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQXRvbWljYWxs
eSB1cGRhdGUgdGhlIHN5c3RlbSBjbGlwYm9hcmQgZm9yIGNvcHkvY3V0IGV2ZW50cwotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA1MTUKLQotICAgICAg
ICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KLQotICAgICAgICBUaGlzIGNoYW5nZSBjb25zb2xp
ZGF0ZXMgdGhlIHN5c3RlbSBwYXN0ZWJvYXJkIG11dGF0aW9uIGxvZ2ljIGludG8gZGlzcGF0Y2hD
UFBFdmVudCgpIHJhdGhlcgotICAgICAgICB0aGFuIGhhdmluZyBpdCBzY2F0dGVyZWQgdGhyb3Vn
aG91dCB0cnlESFRNTENvcHkvdHJ5REhUTUxDdXQgYW5kIHRoZSB2YXJpb3VzIENsaXBib2FyZCoK
LSAgICAgICAgY2xhc3Nlcy4gVGhpcyBhbGxvd3MgdXMgdG8gZW5zdXJlIHRoYXQgdGhlIHN5c3Rl
bSBwYXN0ZWJvYXJkIHJlbWFpbnMgaW4gYSBjb25zaXN0ZW50IHN0YXRlCi0gICAgICAgIGV2ZW4g
aWYgdGhlcmUncyBhbiBleGNlcHRpb24gdGhyb3duIGR1cmluZyBldmVudCBoYW5kbGluZywgYW5k
IGl0IGFsc28gbGF5cyB0aGUgZ3JvdW5kIHdvcmsKLSAgICAgICAgZm9yIGFsbG93aW5nIHBhZ2Vz
IHRvIHByZXZlbnQgY29weS9jdXQgd2l0aG91dCBjYXVzaW5nIHRoZSBzeXN0ZW0gcGFzdGVib2Fy
ZCB0byBiZSBjbGVhcmVkLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2UgYW55IGxheW91
dCB0ZXN0IHdvdWxkIGJlIGZsYWt5IHNpbmNlIGl0IHdvdWxkIGRlcGVuZCBvbiBhbmQgYWZmZWN0
Ci0gICAgICAgIGdsb2JhbCBzeXN0ZW0gc3RhdGUuCi0KLSAgICAgICAgKiBlZGl0aW5nL0VkaXRv
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnRyeURIVE1MQ29weSk6IE1vdmUgUGFz
dGVib2FyZDo6Y2xlYXIoKSBjYWxsIHRvIGRpc3BhdGNoQ1BQRXZlbnQoKS4KLSAgICAgICAgKFdl
YkNvcmU6OkVkaXRvcjo6dHJ5REhUTUxDdXQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkVk
aXRvcjo6ZGlzcGF0Y2hDUFBFdmVudCk6Ci0gICAgICAgIE9ubHkgcGVyc2lzdCBDbGlwYm9hcmQg
bXV0YXRpb25zIHRvIHRoZSBzeXN0ZW0gcGFzdGVib2FyZCBpZiB0aGUgZXZlbnQgd2FzIGRpc3Bh
dGNoZWQKLSAgICAgICAgc3VjY2Vzc2Z1bGx5IGFuZCBkZWZhdWx0IHByb2Nlc3Npbmcgd2FzIHBy
ZXZlbnRlZC4KLSAgICAgICAgKiBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW06Ci0gICAgICAgIChX
ZWJDb3JlOjpFZGl0b3I6Om5ld0dlbmVyYWxDbGlwYm9hcmQpOgotICAgICAgICBXaGVuIGNyZWF0
aW5nIGEgQ2xpcGJvYXJkIGZvciBjb3B5L2N1dCwgYmFjayBpdCB3aXRoIGEgdW5pcXVlIGluc3Rh
bmNlIG9mIE5TUGFzdGVib2FyZCB0bwotICAgICAgICBidWZmZXIgcGFzdGVib2FyZCBtdXRhdGlv
bnMuCi0gICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgotICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQYXN0
ZWJvYXJkOjp3cml0ZUNsaXBib2FyZCk6Ci0gICAgICAgICogcGxhdGZvcm0vZWZsL1Bhc3RlYm9h
cmRFZmwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGVDbGlwYm9hcmQp
OgotICAgICAgICAqIHBsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuY3BwOiBNb3ZlZCBwYXN0ZWJv
YXJkIHdyaXRlYmFjayB0byBQYXN0ZWJvYXJkR3RrLgotICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkR3RrOjpzZXREYXRhKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmg6
Ci0gICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRHdGs6OmNsaXBib2FyZCk6Ci0gICAgICAgICog
cGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGFzdGVi
b2FyZDo6d3JpdGVDbGlwYm9hcmQpOgotICAgICAgICAqIHBsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
TWFjLm1tOgotICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGVDbGlwYm9hcmQpOgot
ICAgICAgICBJbXBsZW1lbnQgbG9naWMgdG8gZmx1c2ggZGF0YSBmcm9tIHRlbXBvcmFyeSBOU1Bh
c3RlYm9hcmQgdG8gc3lzdGVtIHBhc3RlYm9hcmQuCi0gICAgICAgICogcGxhdGZvcm0vZ3RrL0Ns
aXBib2FyZEd0ay5jcHA6IE1vdmVkIHBhc3RlYm9hcmQgd3JpdGViYWNrIHRvIFBhc3RlYm9hcmRR
dC4KLSAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEd0azo6c2V0RGF0YSk6Ci0gICAgICAgICog
cGxhdGZvcm0vcXQvUGFzdGVib2FyZFF0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9h
cmQ6OndyaXRlQ2xpcGJvYXJkKToKLSAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdp
bi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZUNsaXBib2FyZCk6Ci0g
ICAgICAgICogcGxhdGZvcm0vd2luY2UvUGFzdGVib2FyZFdpbkNFLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRlQ2xpcGJvYXJkKToKLSAgICAgICAgKiBwbGF0Zm9ybS93
eC9QYXN0ZWJvYXJkV3guY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGVD
bGlwYm9hcmQpOgotCi0yMDExLTExLTEwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3
ZWJraXQub3JnPgotCi0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbidzIHJlY2FsY0NlbGwgbG9n
aWMgaXMgZG9pbmcgdG9vIG11Y2ggd29yawotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODYKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KLQotICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IgZXhwZWN0ZWQgc28gbm8gdGVzdC4K
LQotICAgICAgICByOTg3MzggYW5kIHI5ODk4MCBtaXNzZWQgdGhlIHBvaW50IHRoYXQgVmVjdG9y
OjpjbGVhcigpIGRvZXMgbm90IHRvdWNoCi0gICAgICAgIHRoZSBpbnRlcm5hbCBidWZmZXIuIFRo
dXMgY2FsbGluZyBjbGVhcigpIHdvdWxkIGtlZXAgdGhlIG1lbW9yeSBhbmQgcHJvcGVybHkKLSAg
ICAgICAgcmVzZXQgdGhlIHNpemUoKS4KLQotICAgICAgICBEdWUgdG8gaG93IHRoZSBjb2RlIHdv
cmtlZCwgYWZ0ZXIgcjk4OTgwIHRoZSBjb2RlIHdvdWxkIGVuZCB1cCByZXNldHRpbmcgc29tZQot
ICAgICAgICBvZiBSb3dTdHJ1Y3QgZmllbGQgdHdpY2U6IG9uY2Ugd2hlbiBncm93aW5nIGFuZCB0
aGUgb3RoZXIgb25lIHdoZW4gY2FsbGluZwotICAgICAgICBmaWxsUm93c1dpdGhEZWZhdWx0U3Rh
cnRpbmdBdFBvc2l0aW9uLgotCi0gICAgICAgIFRoaXMgY2hhbmdlIG1ha2UgdGhlIGNvZGUgdXNl
IFZlY3Rvcjo6Y2xlYXIgYW5kIHNpbXBsaWZpZWQgdGhlIHJlY2FsY0NlbGxzCi0gICAgICAgIGxv
Z2ljIGtub3dpbmcgdGhhdCBncm93aW5nIHRoZSBWZWN0b3Igd2lsbCBwcm9wZXJseSBpbml0aWFs
aXplIG1vc3Qgb2YgdGhlCi0gICAgICAgIFJvd1N0cnVjdCBmaWVsZHMgKHdpdGggUm93U3RydWN0
IGNvbnN0cnVjdG9yKS4KLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjphZGRDaGlsZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFkZENlbGwpOgotICAgICAgICBV
cGRhdGVkIGFmdGVyIGVuc3VyZVJvd3Mgc2lnbmF0dXJlIGNoYW5nZS4KLQotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjplbnN1cmVSb3dzKToKLSAgICAgICAgUmVtb3ZlZCB0
aGUgb3ZlcmZsb3cgY2hlY2sgYXMgaXQgd2FzIG1ha2luZyBzb21lIGFzc3VtcHRpb24gYXMgdG8g
aG93IHRoZQotICAgICAgICBWZWN0b3Igd29ya2VkLiBJZiB3ZSB3YW50IHRvIGltcGxlbWVudCBh
IGxpbWl0LCB3ZSBtYXkgZG8gaXQgZGlmZmVyZW50bHkuCi0gICAgICAgIEFsc28gaW5saW5lZCB0
aGUgcGFydCBvZiBmaWxsUm93c1dpdGhEZWZhdWx0U3RhcnRpbmdBdFBvc2l0aW9uIHRoYXQgZ3Jv
d3MKLSAgICAgICAgdGhlIGNvbHVtbnMgdG8gbWF0Y2ggb3VyIGN1cnJlbnQgcmVwcmVzZW50YXRp
b24uIFRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbidzCi0gICAgICAgIGluaXRpYWxpemF0aW9uIGlz
IGhhbmRsZWQgYnkgdGhlIGNvbnN0cnVjdG9yIGFscmVhZHkuCi0KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlU2VjdGlvbjo6cmVjYWxjQ2VsbHMpOgotICAgICAgICBVc2UgY2xlYXIoKSBh
cyBpdCBrZWVwcyB0aGUgYnVmZmVyIGFuZCBqdXN0IHJlc2V0cyB0aGUgc2l6ZS4gQWxzbyBzaHJp
bmtUb0ZpdAotICAgICAgICBhdCB0aGUgZW5kIGFzIHdlIG1heSBoYXZlIGxvc3Qgc29tZSByb3dz
LgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpDZWxsU3RydWN0OjpDZWxsU3RydWN0KToKLSAg
ICAgICAgRml4ZWQgdGhlIHN0eWxlIG9mIHRoZSBjb25zdHJ1Y3Rvci4KLQotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpSb3dTdHJ1Y3Q6OlJvd1N0cnVjdCk6Ci0gICAgICAg
IEFkZGVkIGFuIGV4cGxpY2l0IGNvbnN0cnVjdG9yICh3aGljaCBpcyBlcXVpdmFsZW50IHRvIHRo
ZSBkZWZhdWx0IG9uZSkKLSAgICAgICAgYnV0IHVuZGVybGluZXMgd2hhdCB3ZSBleHBlY3QuCi0K
LTIwMTEtMTEtMTAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KLQotICAgICAg
ICBBU1NFUlQgd2hlbiBvdXRkZW50aW5nIHN0eWxlZCBsaW5lIGJyZWFrLgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjkKLSAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwNDI5NzM5PgotCi0gICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
LQotICAgICAgICBXaGVuIG91dGRlbnRpbmcgYSBsaW5lIGJyZWFrIHRoYXQgaGFzIHNvbWUgaW5s
aW5lIHN0eWxlLCB3ZSBkb24ndCBjb25zaWRlcgotICAgICAgICB0aGUgZW5jbG9zaW5nIGVsZW1l
bnRzIHRoYXQgcHJvdmlkZSB0aGUgc3R5bGUuCi0gICAgICAgIFRoaXMgY2F1c2VzIHRoZSBzcGxp
dHRpbmcgdG8gb2NjdXIgaW4gdGhlIHdyb25nIHBvc2l0aW9uLAotICAgICAgICB0cmlnZ2VyaW5n
IHRoZSBhc3NlcnQuCi0gICAgICAgICAKLSAgICAgICAgVGVzdDogZWRpdGluZy9leGVjQ29tbWFu
ZC9vdXRkZW50LWJyZWFrLXdpdGgtc3R5bGUuaHRtbAotCi0gICAgICAgICogZWRpdGluZy9JbmRl
bnRPdXRkZW50Q29tbWFuZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbmRlbnRPdXRkZW50Q29t
bWFuZDo6b3V0ZGVudFBhcmFncmFwaCk6IFRoZSBmaXggY29uc2lzdHMKLSAgICAgICAgaW4gY2hv
b3NpbmcgdGhlIGhpZ2hlc3QgaW5saW5lIGFuY2VzdG9yIGFzIHNwbGl0dGluZyBwb2ludC4KLSAg
ICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmlzSW5s
aW5lKTogQWRkZWQuCi0gICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOiBBZGRlZCBpc0lu
bGluZS4KLQotMjAxMS0xMS0xMCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+Ci0KLSAg
ICAgICAgUmVtb3ZlIGVmZmVjdEJvdW5kaW5nQm94TW9kZSBmcm9tIENTUyBGaWx0ZXJzCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1OAotCi0gICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBBcyBzdWdnZXN0ZWQgYnkg
Tmlrb2xhcywgd2UgZG9uJ3QgbmVlZCB0aGlzIHZpcnR1YWwgbWV0aG9kIGFueSBtb3JlLgotCi0g
ICAgICAgICogcmVuZGVyaW5nL0ZpbHRlckVmZmVjdFJlbmRlcmVyLmg6Ci0KLTIwMTEtMTEtMTAg
IERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2MAotICAgICAgICAKLSAgICAgICAgW0NTUyBM
aW5lIEdyaWRdIEFkZCBzdXBwb3J0IGZvciB0aGUgbGluZS1ncmlkLXNuYXAgcHJvcGVydHkgdG8g
Y29udHJvbCBzbmFwcGluZyB0byB0aGUgbmVhcmVzdAotICAgICAgICBlbmNsb3NpbmcgZ3JpZC4K
LQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotCi0gICAgICAgIEFkZGVkIGZh
c3QvbGluZS1ncmlkL2xpbmUtZ3JpZC1zbmFwLXBhcnNpbmcuaHRtbC4KLQotICAgICAgICAqIGNz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKLSAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUdyaWRTbmFwKToK
LSAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgotICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgotICAgICAgICAqIGNzcy9D
U1NWYWx1ZUtleXdvcmRzLmluOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6ZGlmZik6Ci0gICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpJbmhlcml0
ZWRGbGFnczo6bGluZUdyaWRTbmFwKToKLSAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpzZXRMaW5lR3JpZFNuYXApOgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Omlu
aXRpYWxMaW5lR3JpZFNuYXApOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZUluaGVyaXRlZERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6b3BlcmF0b3I9PSk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuaDoKLQotMjAxMS0xMS0xMCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ29kZUdlbmVyYXRvclY4LnBtIGNhbiBnZW5lcmF0ZSBF
dmVudCBjb25zdHJ1Y3RvcnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMDU1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAg
ICAgICBUaGlzIHBhdGNoIG1ha2VzIENvZGVHZW5lcmF0b3JWOC5wbSBnZW5lcmF0ZSBFdmVudCBj
b25zdHJ1Y3RvcnMKLSAgICAgICAgYW5kIHJlcGxhY2VzIGEgY3VzdG9tIGNvbnN0cnVjdG9yIG9m
IEV2ZW50IHdpdGggdGhlIGdlbmVyYXRlZCBvbmUuCi0gICAgICAgIEFmdGVyIHRoaXMgcGF0Y2gg
aXMgbGFuZGVkIHdpdGhvdXQgcmVncmVzc2lvbiwKLSAgICAgICAgSSB3aWxsIHJlcGxhY2UgY3Vz
dG9tIGNvbnN0cnVjdG9ycyBvZiBhbGwgb3RoZXIgRXZlbnRzLgotICAgICAgICBUaGlzIHBhdGNo
IGludHJvZHVjZXMgdHdvIG5ldyBJRExzOgotCi0gICAgICAgIC0gW0NvbnN0cnVjdG9yVGVtcGxh
dGU9RXZlbnRdIElETCBpbmRpY2F0ZXMgdGhhdCBDb2RlR2VuZXJhdG9yIHNob3VsZAotICAgICAg
ICBnZW5lcmF0ZSBhbiBFdmVudCBjb25zdHJ1Y3Rvci4KLSAgICAgICAgLSBbSW5pdGlhbGl6ZWRC
eUNvbnN0cnVjdG9yXSBJREwgb24gYW4gYXR0cmlidXRlIGluZGljYXRlcyB0aGF0Ci0gICAgICAg
IHRoZSBhdHRyaWJ1dGUgY2FuIGJlIGluaXRpYWxpemVkIGJ5IHRoZSBjb25zdHJ1Y3Rvci4KLQot
ICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2V2ZW50LWNvbnN0cnVjdG9y
cy5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvY3VzdG9tLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL2NvbnN0cnVj
dG9ycy9wcm9ncmVzcy1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCi0KLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKLSAgICAgICAgKEdlbmVyYXRlSGVhZGVyKTog
QWRkZWQgYSBoZWFkZXIgZm9yIGZpbGxYWFhYRXZlbnRJbml0KC4uLikuCi0gICAgICAgIChJc0Nv
bnN0cnVjdGFibGUpOiBKdWRnZXMgaWYgYSBnaXZlbiBpbnRlcmZhY2UgaXMgY29uc3RydWN0YWJs
ZS4KLSAgICAgICAgKElzQ29uc3RydWN0b3JUZW1wbGF0ZSk6IEp1ZGdlcyBpZiBhIGdpdmVuIGlu
dGVyZmFjZSBoYXMgYSBnaXZlbiB0ZW1wbGF0ZSwgZS5nLiBqdWRnZXMgaWYgYW4gaW50ZXJmYWNl
IGhhcyBbQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudF0uCi0gICAgICAgIChHZW5lcmF0ZUV2ZW50
Q29uc3RydWN0b3JDYWxsYmFjayk6IEdlbmVyYXRlcyBhbiBFdmVudCBjb25zdHJ1Y3Rvci4gVGhl
IGdlbmVyYXRlZCBjb2RlIGlzIHRoZSBzYW1lIGFzIHRoZSBjb2RlIHRoYXQgaGFkIGJlZW4gd3Jp
dHRlbiBpbiBWOEV2ZW50Q29uc3RydWN0b3JzLmNwcC4KLSAgICAgICAgKEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24pOiBHZW5lcmF0ZXMgYW4gRXZlbnQgY29uc3RydWN0b3IgaWYgW0NvbnN0cnVjdG9y
VGVtcGxhdGU9RXZlbnRdIGlzIHNwZWNpZmllZC4KLSAgICAgICAgKiBkb20vRXZlbnQuaWRsOiBB
ZGRlZCBbQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudF0gSURMLiBBZGRlZCBbSW5pdGlhbGl6ZWRC
eUNvbnN0cnVjdG9yXSBJREwgdG8gYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBpbml0aWFsaXplZCBi
eSBhIGNvbnN0cnVjdG9yLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RF
dmVudENvbnN0cnVjdG9yLmlkbDogQWRkZWQgYSBuZXcgcnVuLWJpbmRpbmdzLXRlc3QuCi0gICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHA6IFVwZGF0ZWQgYSBydW4tYmluZGluZ3MtdGVzdHMgcmVzdWx0LgotICAgICAgICAoV2Vi
RE9NVGVzdEV2ZW50Q29uc3RydWN0b3I6OldlYkRPTVRlc3RFdmVudENvbnN0cnVjdG9yUHJpdmF0
ZTo6V2ViRE9NVGVzdEV2ZW50Q29uc3RydWN0b3JQcml2YXRlKToKLSAgICAgICAgKFdlYkRPTVRl
c3RFdmVudENvbnN0cnVjdG9yOjpXZWJET01UZXN0RXZlbnRDb25zdHJ1Y3Rvcik6Ci0gICAgICAg
IChXZWJET01UZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYkRP
TVRlc3RFdmVudENvbnN0cnVjdG9yOjppbXBsKToKLSAgICAgICAgKFdlYkRPTVRlc3RFdmVudENv
bnN0cnVjdG9yOjp+V2ViRE9NVGVzdEV2ZW50Q29uc3RydWN0b3IpOgotICAgICAgICAoV2ViRE9N
VGVzdEV2ZW50Q29uc3RydWN0b3I6OmF0dHIxKToKLSAgICAgICAgKFdlYkRPTVRlc3RFdmVudENv
bnN0cnVjdG9yOjphdHRyMik6Ci0gICAgICAgICh0b1dlYkNvcmUpOgotICAgICAgICAodG9XZWJL
aXQpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdEV2ZW50
Q29uc3RydWN0b3IuaDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOiBEaXR0by4KLSAgICAgICAg
KFdlYktpdDo6a2l0KToKLSAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rv
cl9nZXRfYXR0cjEpOgotICAgICAgICAod2Via2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9y
X2dldF9hdHRyMik6Ci0gICAgICAgIChXZWJLaXQ6OmNvcmUpOgotICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2ZpbmFsaXplKToKLSAgICAgICAgKHdlYmtpdF9kb21f
dGVzdF9ldmVudF9jb25zdHJ1Y3Rvcl9zZXRfcHJvcGVydHkpOgotICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2dldF9wcm9wZXJ0eSk6Ci0gICAgICAgICh3ZWJraXRf
ZG9tX3Rlc3RfZXZlbnRfY29uc3RydWN0b3JfY29uc3RydWN0ZWQpOgotICAgICAgICAod2Via2l0
X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2NsYXNzX2luaXQpOgotICAgICAgICAod2Via2l0
X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2luaXQpOgotICAgICAgICAoV2ViS2l0Ojp3cmFw
VGVzdEV2ZW50Q29uc3RydWN0b3IpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yLmg6IERpdHRvLgotICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVj
dG9yUHJpdmF0ZS5oOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29u
c3RydWN0b3IpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudENv
bnN0cnVjdG9yQ29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xvdCk6Ci0gICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3I6OmdldENvbnN0cnVjdERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRD
b25zdHJ1Y3RvclByb3RvdHlwZTo6c2VsZik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVu
dENvbnN0cnVjdG9yOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yKToKLSAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKLSAgICAgICAgKFdlYkNv
cmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OmNyZWF0ZVByb3RvdHlwZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEV2ZW50Q29uc3RydWN0b3JBdHRyMSk6
Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RFdmVudENvbnN0cnVjdG9yQXR0cjIpOgotICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKToKLSAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdG9yKToKLSAgICAg
ICAgKFdlYkNvcmU6OnRvSlMpOgotICAgICAgICAoV2ViQ29yZTo6dG9UZXN0RXZlbnRDb25zdHJ1
Y3Rvcik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuaDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVudENvbnN0cnVj
dG9yOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6
Y3JlYXRlU3RydWN0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0
b3I6OmltcGwpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RXZlbnRDb25zdHJ1Y3RvclByb3Rv
dHlwZTo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3JQ
cm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RFdmVu
dENvbnN0cnVjdG9yUHJvdG90eXBlOjpKU1Rlc3RFdmVudENvbnN0cnVjdG9yUHJvdG90eXBlKToK
LSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rv
cjo6Y3JlYXRlU3RydWN0dXJlKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5tbTogRGl0dG8uCi0gICAg
ICAgICgtW0RPTVRlc3RFdmVudENvbnN0cnVjdG9yIGRlYWxsb2NdKToKLSAgICAgICAgKC1bRE9N
VGVzdEV2ZW50Q29uc3RydWN0b3IgZmluYWxpemVdKToKLSAgICAgICAgKC1bRE9NVGVzdEV2ZW50
Q29uc3RydWN0b3IgYXR0cjFdKToKLSAgICAgICAgKC1bRE9NVGVzdEV2ZW50Q29uc3RydWN0b3Ig
YXR0cjJdKToKLSAgICAgICAgKGNvcmUpOgotICAgICAgICAoa2l0KToKLSAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFsLmg6
IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENv
bnN0cnVjdG9yLmNwcDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpUZXN0RXZlbnRDb25zdHJ1
Y3RvckludGVybmFsOjpWOF9VU0UpOgotICAgICAgICAoV2ViQ29yZTo6VGVzdEV2ZW50Q29uc3Ry
dWN0b3JJbnRlcm5hbDo6YXR0cjFBdHRyR2V0dGVyKToKLSAgICAgICAgKFdlYkNvcmU6OlRlc3RF
dmVudENvbnN0cnVjdG9ySW50ZXJuYWw6OmF0dHIyQXR0ckdldHRlcik6Ci0gICAgICAgIChXZWJD
b3JlOjpDb25maWd1cmVWOFRlc3RFdmVudENvbnN0cnVjdG9yVGVtcGxhdGUpOgotICAgICAgICAo
V2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6R2V0UmF3VGVtcGxhdGUpOgotICAgICAg
ICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUpOgotICAgICAg
ICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SGFzSW5zdGFuY2UpOgotICAgICAg
ICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcFNsb3cpOgotICAgICAgICAo
V2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QpOgotICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmg6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6dG9OYXRpdmUpOgot
ICAgICAgICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZXhpc3RpbmdXcmFwcGVy
KToKLSAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OndyYXApOgotICAg
ICAgICAoV2ViQ29yZTo6dG9WOCk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEludGVyZmFjZS5oOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOiBEaXR0by4KLSAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oOiBEaXR0by4K
LSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmg6IERpdHRvLgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuaDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RXZlbnRDb25zdHJ1Y3RvcnMuY3BwOiBSZW1vdmVkIGEgY3VzdG9tIGNvbnN0cnVjdG9yIG9mIEV2
ZW50LgotCi0yMDExLTExLTEwICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9y
Zz4KLQotICAgICAgICBEbyBub3Qgc2hhcmUgQ1NTIHN0eWxlIGZvciBNZWRpYUVsZW1lbnQgYmFj
a2VkIGJ5IGEgcGx1Z2luCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MjAwNQotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAg
ICAgICBXaXRoIFBMVUdJTl9QUk9YWV9GT1JfVklERU8sIHRoZSBSZW5kZXJNZWRpYSBlbGVtZW50
cyBhcmUgcmVuZGVyZWQgdGhyb3VnaCBSZW5kZXJCb3hNb2RlbE9iamVjdC4KLSAgICAgICAgTGlr
ZSB0aGUgZW1iZWRkZWQgZWxlbWVudCwgdGhlIHByb3hpZWQgbWVkaWEgZWxlbWVudCBjYW4gZ2Fp
biBhIGxheWVyIG91dHNpZGUgYSBjaGFuZ2Ugb2Ygc3R5bGUuCi0KLSAgICAgICAgVGhpcyBwYXRj
aCBwcmV2ZW50cyBzdHlsZSBzaGFyaW5nIGZvciB0aGUgQXVkaW8gYW5kIFZpZGVvIGVsZW1lbnRz
IHdoZW4gUExVR0lOX1BST1hZX0ZPUl9WSURFTwotICAgICAgICBpcyBlbmFibGVkLgotCi0gICAg
ICAgIFRoaXMgcGF0aCBpcyBjb3ZlcmVkIGJ5IGV4aXNpbmcgdGVzdHMuIEluIHBhcnRpY3VsYXIs
IGh0dHAvdGVzdHMvbWlzYy9lbXB0eS11cmxzLmh0bWwKLSAgICAgICAgQVNTRVJUKCkgYmVjYXVz
ZSBvZiB0aGlzLgotCi0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y2FuU2hhcmVTdHlsZVdpdGhFbGVtZW50KToK
LQotMjAxMS0xMS0xMCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+Ci0KLSAgICAgICAg
TW92ZS9jb3B5L21lcmdlIFNWRyBmaWx0ZXIgcmVuZGVyaW5nIGNvZGUgdG8gZ2VuZXJpYyByZW5k
ZXJpbmcKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
NDcyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgotCi0gICAgICAgIEltcGxl
bWVudCBhbiBleHRyZW1lbHkgc2ltcGxlIHZlcnNpb24gb2YgdGhlIGZpbHRlcgotICAgICAgICBj
aGFpbi4gT25seSBhIHNpbmdsZSBodWUtcm90YXRlIGZpbHRlciBpcyBzdXBwb3J0ZWQKLSAgICAg
ICAgYXQgdGhlIG1vbWVudC4gVGhlIGNoYW5nZSBpbiB0aGlzIGNvbW1pdCB3YXMgdG8gaW5zZXJ0
IGEgbmV3Ci0gICAgICAgIHN0ZXAgaW4gUmVuZGVyTGF5ZXIncyBwYWludGluZyB0byBjYXB0dXJl
IHRoZSBjb250ZW50IHRvIGFuCi0gICAgICAgIG9mZnNjcmVlbiBJbWFnZUJ1ZmZlciwgYXBwbHkg
YSBmaWx0ZXIgb3BlcmF0aW9uIG9uIHRoYXQgYnVmZmVyLAotICAgICAgICBhbmQgdGhlbiBkcmF3
IHRoZSByZXN1bHQgaW4gcGxhY2Ugb2YgdGhlIG9yaWdpbmFsIGVsZW1lbnQuIFRoZSBmdWxsCi0g
ICAgICAgIGltcGxlbWVudGF0aW9uIHdpbGwgbmVlZCBzb21ldGhpbmcgbGlrZSB0aGUgU1ZHRmls
dGVyQnVpbGRlcgotICAgICAgICBidXQgdGhpcyBpcyBhIGdvb2QgcHJvdG90eXBlIG9mIGVmZmVj
dHMgb24gSFRNTCBjb250ZW50LgotICAgICAgICBJdCdzIGFuIG9wZW4gcXVlc3Rpb24gYXQgdGhl
IG1vbWVudCBhcyB0byB3aGVuIHRoZSBmaWx0ZXIKLSAgICAgICAgZWZmZWN0IHNob3VsZCBhcHBs
eTogYWZ0ZXIgbWFza2luZywgYWZ0ZXIgb3ZlcmZsb3csIGFmdGVyIG91dGxpbmUsCi0gICAgICAg
IGV0Yy4gQ3VycmVudGx5IHRoZSBmaWx0ZXIgYXBwbGllcyBhdCB0aGUgZW5kIG9mIHRoZSBwYWlu
dExheWVyIGNvZGUuCi0gICAgICAgIFRoaXMgd2lsbCBsaWtlbHkgY2hhbmdlLgotICAgICAgICAK
LSAgICAgICAgQWRkZWQgYSBGaWx0ZXJFZmZlY3RSZW5kZXJlciBjbGFzcyB0aGF0IGlzIHRoZSBy
b290IG9mIHRoZSBmaWx0ZXIKLSAgICAgICAgdHJlZS4gQXQgdGhlIG1vbWVudCBpdCBob2xkcyB0
aGUgb2Zmc2NyZWVuIGNvbnRleHQgYW5kCi0gICAgICAgIHRoZSBleGlzdGluZyBwYWludCBjb250
ZXh0LgotICAgICAgICAKLSAgICAgICAgT3RoZXIgdGhhbiByZW5kZXJpbmcsIHRoZSByZXN0IG9m
IHRoaXMgcGF0Y2ggYWRkcyB0ZXN0cwotICAgICAgICB0byBtYWtlIHN1cmUgYW55IGVsZW1lbnQg
d2l0aCBhIGZpbHRlciBzdHlsZSB3aWxsIGJlY29tZQotICAgICAgICBhIFJlbmRlckxheWVyLiBJ
biBvcmRlciB0byBhdm9pZCBhIGxvdCBvZiBkdXBsaWNhdGVkIGNvZGUKLSAgICAgICAgYXJvdW5k
IHRoZSBtb3JlIGNvbXBsZXggbG9naWMgdGVzdHMsIFJlbmRlclN0eWxlOjpoYXNGaWx0ZXIKLSAg
ICAgICAgaXMgYXZhaWxhYmxlIG91dHNpZGUgRU5BQkxFKENTU19GSUxURVJTKSwgYnV0IHJldHVy
bnMgZmFsc2UKLSAgICAgICAgaW4gdGhvc2Ugc2l0dWF0aW9ucy4KLQotICAgICAgICBUZXN0czog
Y3NzMy9maWx0ZXJzL2FkZC1maWx0ZXItcmVuZGVyaW5nLmh0bWwKLSAgICAgICAgICAgICAgIGNz
czMvZmlsdGVycy9yZW1vdmUtZmlsdGVyLXJlbmRlcmluZy5odG1sCi0gICAgICAgICAgICAgICBj
c3MzL2ZpbHRlcnMvc2ltcGxlLWZpbHRlci1yZW5kZXJpbmcuaHRtbAotCi0gICAgICAgICogQ01h
a2VMaXN0cy50eHQ6Ci0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Ci0g
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgotICAgICAgICAqIGNz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0
b3I6OmFkanVzdFJlbmRlclN0eWxlKToKLSAgICAgICAgKiByZW5kZXJpbmcvRmlsdGVyRWZmZWN0
UmVuZGVyZXIuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyOjpGaWx0ZXJFZmZlY3RSZW5kZXJlcik6Ci0gICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZl
Y3RSZW5kZXJlcjo6fkZpbHRlckVmZmVjdFJlbmRlcmVyKToKLSAgICAgICAgKiByZW5kZXJpbmcv
RmlsdGVyRWZmZWN0UmVuZGVyZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpGaWx0ZXJF
ZmZlY3RSZW5kZXJlcjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJl
bmRlcmVyOjpzZXRTb3VyY2VJbWFnZVJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZm
ZWN0UmVuZGVyZXI6OnNvdXJjZUltYWdlUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpGaWx0ZXJF
ZmZlY3RSZW5kZXJlcjo6c2V0RmlsdGVyUmVnaW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkZpbHRl
ckVmZmVjdFJlbmRlcmVyOjpmaWx0ZXJSZWdpb24pOgotICAgICAgICAoV2ViQ29yZTo6RmlsdGVy
RWZmZWN0UmVuZGVyZXI6OmVmZmVjdEJvdW5kaW5nQm94TW9kZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpGaWx0ZXJFZmZlY3RSZW5kZXJlcjo6c2V0RWZmZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OkZp
bHRlckVmZmVjdFJlbmRlcmVyOjplZmZlY3QpOgotICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZm
ZWN0UmVuZGVyZXI6OnNldFNvdXJjZUdyYXBoaWMpOgotICAgICAgICAoV2ViQ29yZTo6RmlsdGVy
RWZmZWN0UmVuZGVyZXI6OnNvdXJjZUdyYXBoaWMpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5oOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OnJlcXVpcmVzTGF5ZXIpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVPclJlbW92ZUZpbHRlckVmZmVjdCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6dXBkYXRlRmlsdGVyQmFja2luZ1N0b3JlKToKLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNG
aWx0ZXIpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6aGFzRmlsdGVyKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuaDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpyZXF1aXJl
c0xheWVyKToKLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgotICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oOgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Omhh
c0ZpbHRlcik6Ci0KLTIwMTEtMTEtMTAgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIC0td2Via2l0LXZpc3VhbC13b3JkIGNyYXNoIHdoZW4gY3JlYXRlIGxlZ2FjeSBw
b3NpdGlvbiBmb3Igc2hhZG93Um9vdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzE2MDAKLSAgICAKLSAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgotCi0gICAgICAgIEluc2lkZSB0ZXh0YXJlYSwgdGhlIHNoYWRvd2VkIHRleHQgbm9kZSdz
IHByZXZpb3VzIGxlYWYgbm9kZSBjb3VsZCBiZSB0aGUKLSAgICAgICAgc2hhZG93Um9vdCBub2Rl
LCB3aGljaCBjYXVzZSBhc3NlcnQgZXhjZXB0aW9uIGluIGNyZWF0aW5nIGxlZ2FjeSBwb3NpdGlv
biBiYXNlZAotICAgICAgICBvbiBzdWNoIG5vZGUuIEV4aXQgcHJldmlvdXNSb290SW5saW5lQm94
KCkgd2hlbiByZWFjaCBzaGFkb3dSb290IG5vZGUuCi0KLSAgICAgICAgSXQgZG9lcyBub3QgY2F1
c2UgcHJvYmxlbSB3aGVuIGxvb2tpbmcgZm9yIHRleHQgbm9kZSdzIG5leHQgbGVhZiBub2RlLiBB
ZGRpbmcKLSAgICAgICAgdGhlIHNhbWUgY2hlY2tpbmcgaW4gbmV4dFJvb3RJbmxpbmVCb3gganVz
dCB0byBiZSBzYWZlLgotCi0gICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL21vdmUtYnkt
d29yZC12aXN1YWxseS1jcmFzaC10ZXN0LXRleHRhcmVhLmh0bWwKLQotICAgICAgICAqIGVkaXRp
bmcvdmlzaWJsZV91bml0cy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpwcmV2aW91c1Jvb3RJbmxp
bmVCb3gpOgotICAgICAgICAoV2ViQ29yZTo6bmV4dFJvb3RJbmxpbmVCb3gpOgotCi0yMDExLTEx
LTEwICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KLQotICAgICAgICBQYXJzZSBkcm9w
LXNoYWRvdygpIGZpbHRlciBzeW50YXgKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY5MTA4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgotCi0gICAgICAgIFN1cHBvcnQgcGFyc2luZyBvZiB0aGUgc2hhZG93IHN5bnRheCBpbnNpZGUg
ZHJvcC1zaGFkb3cKLSAgICAgICAgYW5kIHJldHVybmluZyB0aGUgY29ycmVjdCBjb21wdXRlZCBz
dHlsZSBmb3IgYSBmaWx0ZXIgdGhhdAotICAgICAgICBoYXMgc3VjaCBhIGZ1bmN0aW9uLgotCi0g
ICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKToKLSAg
ICAgICAgICAgIE1vdmUgdGhpcyBmcm9tIGEgc3RhdGljIGZ1bmN0aW9uIChjb21wdXRlZEZpbHRl
cikgdG8gYSBtZXRob2Qgb24KLSAgICAgICAgICAgIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
biwgd2hpY2ggYWxsb3dzIHVzIHRvIGNhbGwgdGhlCi0gICAgICAgICAgICBleGlzdGluZyBtZXRo
b2QgZm9yIHNoYWRvdyBzdHlsZXMuCi0gICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uaDoKLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlU2hhZG93KToKLSAgICAgICAgICAgIFByZXZpb3VzbHkgcGFyc2VT
aGFkb3cgZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIHdpdGggdGhlIGVudGlyZQotICAgICAgICAgICAg
dmFsdWUgb2YgYSBwcm9wZXJ0eSwgbm90IGp1c3QgdG8gbG9vayBhdCBhIHJlc3RyaWN0ZWQgc3Vi
c2V0LgotICAgICAgICAgICAgQ2hhbmdlIHBhcnNlU2hhZG93IHRvIHRha2UgYSBDU1NQYXJzZXJW
YWx1ZUxpc3QgYXMgcGFyYW1ldGVyLAotICAgICAgICAgICAgYWxsb3dpbmcgaXQgdG8gYmUgdXNl
ZCB0byBwYXJzZSB0aGUgYXJndW1lbnRzIHRvIHRoZSBkcm9wLXNoYWRvdwotICAgICAgICAgICAg
ZnVuY3Rpb24uIEFsc28sIHJldHVybiB0aGUgQ1NTVmFsdWVMaXN0IHJhdGhlciB0aGFuIGluamVj
dGluZwotICAgICAgICAgICAgaXQgZGlyZWN0bHkgaW50byB0aGUgcHJvcGVydHkgdmFsdWUuCi0g
ICAgICAgIChXZWJDb3JlOjpmaWx0ZXJJbmZvRm9yTmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlRmlsdGVyKToKLSAgICAgICAgICAgIFN1cHBvcnQgZm9yIHRoZSBkcm9w
LXNoYWRvdygpIGZ1bmN0aW9uLgotICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKLSAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKToKLSAgICAgICAgKiBjc3MvU1ZHQ1NTUGFy
c2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZSk6Ci0g
ICAgICAgICAgICBVcGRhdGVkIHRvIHVzZSB0aGUgbmV3IGFyZ3VtZW50cyBmb3IgcGFyc2VTaGFk
b3cuCi0KLTIwMTEtMTEtMTAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+
Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogQXBwbGljYXRpb25DYWNoZSBVSSBpcyBjb25mdXNp
bmcgYW5kIGluY29ycmVjdC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY0NTgxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQot
ICAgICAgICBGaXhlZCByZXNvdXJjZXMgcGFuZWwgYXBwbGljYXRpb24gY2FjaGUgVUkuCi0gICAg
ICAgIE1hbmlmZXN0IHVybHMgYXJlIG5vdyBzaG93biB1bmRlciBhcHBsaWNhdGlvbiBjYWNoZSB0
cmVlIGVsZW1lbnQuCi0gICAgICAgIFVuZGVyIGVhY2ggbWFuaWZlc3QgdXJsIHRyZWUgZWxlbWVu
dCBmcmFtZXMgdXNpbmcgcmVsZXZhbnQgYXBwbGljYXRpb24KLSAgICAgICAgY2FjaGUgYXJlIGxp
c3RlZC4gQXBwbGljYXRpb24gY2FjaGUgZGV0YWlsZWQgdmlld3MgY291bGQgYmUgb3BlbmVkIGZv
ciBlYWNoCi0gICAgICAgIGZyYW1lLgotCi0gICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy5odG1sCi0KLSAgICAg
ICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6Ci0gICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOgotICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OjpzZXRGcm9udGVuZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OnVwZGF0ZUFw
cGxpY2F0aW9uQ2FjaGVTdGF0dXMpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50OjpuZXR3b3JrU3RhdGVDaGFuZ2VkKToKLSAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6ZW5hYmxlKToKLSAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6Z2V0RnJhbWVzV2l0aE1hbmlmZXN0
cyk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmFz
c2VydEZyYW1lV2l0aERvY3VtZW50TG9hZGVyKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6Z2V0TWFuaWZlc3RGb3JGcmFtZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmdldEFwcGxpY2F0aW9uQ2Fj
aGVGb3JGcmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQXBwbGljYXRpb25DYWNoZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQXBwbGljYXRp
b25DYWNoZVJlc291cmNlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50Lmg6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29u
dHJvbGxlcik6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnJlc291cmNlQ29udGVudCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmdldFJlc291cmNlQ29udGVudCk6
Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmFzc2VydEZyYW1lKToKLSAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6YXNzZXJ0RG9jdW1lbnRMb2FkZXIp
OgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKLSAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JTdHlsZVNoZWV0OjpyZXNvdXJjZVN0eWxlU2hlZXRUZXh0KToKLSAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanM6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldyk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUuX3VwZGF0ZSk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUuX3Vw
ZGF0ZUNhbGxiYWNrKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlSXRl
bXNWaWV3LnByb3RvdHlwZS5fcG9wdWxhdGVEYXRhR3JpZCk6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlTW9kZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNh
dGlvbkNhY2hlTW9kZWwucHJvdG90eXBlLl9mcmFtZU5hdmlnYXRlZCk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsLnByb3RvdHlwZS5fZnJhbWVEZXRhY2hlZCk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsLnByb3RvdHlwZS5f
bWFpbkZyYW1lTmF2aWdhdGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNh
Y2hlTW9kZWwucHJvdG90eXBlLl9tYW5pZmVzdEZvckZyYW1lTG9hZGVkKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBlLl9mcmFtZXNXaXRoTWFu
aWZlc3RzTG9hZGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9k
ZWwucHJvdG90eXBlLl9mcmFtZU1hbmlmZXN0VXBkYXRlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuQXBwbGljYXRpb25DYWNoZU1vZGVsLnByb3RvdHlwZS5fZnJhbWVNYW5pZmVzdFJlbW92ZWQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90b3R5cGUu
ZnJhbWVNYW5pZmVzdFVSTCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNo
ZU1vZGVsLnByb3RvdHlwZS5mcmFtZU1hbmlmZXN0U3RhdHVzKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBlLl9zdGF0dXNVcGRhdGVkKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBlLnJlcXVl
c3RBcHBsaWNhdGlvbkNhY2hlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNh
Y2hlTW9kZWwucHJvdG90eXBlLl9uZXR3b3JrU3RhdGVVcGRhdGVkKToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGlzcGF0Y2hlci5wcm90b3R5cGUuYXBwbGljYXRpb25D
YWNoZVN0YXR1c1VwZGF0ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2Fj
aGVEaXNwYXRjaGVyLnByb3RvdHlwZS5uZXR3b3JrU3RhdGVVcGRhdGVkKToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5mcmFtZUZvcklkKToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLnJlc2V0KToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2ZyYW1lTmF2aWdhdGVkKToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuYWRkRG9jdW1lbnRVUkwp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5zaG93QXBw
bGljYXRpb25DYWNoZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJv
dG90eXBlLl9wb3B1bGF0ZUFwcGxpY2F0aW9uQ2FjaGVUcmVlKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2FwcGxpY2F0aW9uQ2FjaGVGcmFtZU1hbmlm
ZXN0QWRkZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlw
ZS5fYXBwbGljYXRpb25DYWNoZUZyYW1lTWFuaWZlc3RSZW1vdmVkKToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX2FwcGxpY2F0aW9uQ2FjaGVGcmFtZU1h
bmlmZXN0U3RhdHVzQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlLl9hcHBsaWNhdGlvbkNhY2hlTmV0d29ya1N0YXRlQ2hhbmdlZCk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1hbmlmZXN0VHJlZUVsZW1lbnQpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNYW5pZmVzdFRyZWVFbGVtZW50
LnByb3RvdHlwZS5nZXQgaXRlbVVSTCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRp
b25DYWNoZU1hbmlmZXN0VHJlZUVsZW1lbnQucHJvdG90eXBlLmdldCBtYW5pZmVzdFVSTCk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZU1hbmlmZXN0VHJlZUVsZW1lbnQu
cHJvdG90eXBlLm9uc2VsZWN0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNh
Y2hlRnJhbWVUcmVlRWxlbWVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25D
YWNoZUZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLmdldCBpdGVtVVJMKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRnJhbWVUcmVlRWxlbWVudC5wcm90b3R5cGUuZ2V0
IGZyYW1lSWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVGcmFtZVRy
ZWVFbGVtZW50LnByb3RvdHlwZS5nZXQgbWFuaWZlc3RVUkwpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkFwcGxpY2F0aW9uQ2FjaGVGcmFtZVRyZWVFbGVtZW50LnByb3RvdHlwZS5fcmVmcmVzaFRp
dGxlcyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUZyYW1lVHJlZUVs
ZW1lbnQucHJvdG90eXBlLmZyYW1lTmF2aWdhdGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5B
cHBsaWNhdGlvbkNhY2hlRnJhbWVUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgotCi0y
MDExLTExLTEwICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBT
aHJpbmsgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uCi0gICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzcyMDMyPgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0g
ICAgICAgIE1vdmUgbV9zdHJpY3RQYXJzaW5nIGFuZCBtX2l0ZXJhdG9yQ291bnQgKGRlYnVnIG9u
bHkpIHVwIGludG8KLSAgICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiwgZWZmZWN0aXZlbHkgc2hh
dmluZyBvbmUgQ1BVIHdvcmQgKDQvOCBieXRlcykKLSAgICAgICAgb2ZmIG9mIGV2ZXJ5IENTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLgotCi0gICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6Ci0gICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmg6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24u
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Q1NTU3R5bGVEZWNs
YXJhdGlvbik6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaDoKLQotMjAxMS0x
MS0xMCAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgW1F0
XSBYMTEgcGx1Z2lucyBuZWVkIHRvIGJlIHJld29ya2VkIGZvciBRdDUKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDIzCi0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAgUmV3b3JrIG91ciBiYXNpYyBwbHVnaW4g
c3VwcG9ydCBpbiBhIHdheSB0aGF0IGRvZXMKLSAgICAgICAgbm90IG5lZWQgYSBicmlkZ2UgYmV0
d2VlbiBRdCBhbmQgWC4gVGhlIHNvbHV0aW9uIGlzCi0gICAgICAgIGJhc2VkIG9uIGdldHRpbmcg
dGhlIGNvbnRlbnQgZHJhd2VkIGJ5IHRoZSBwbHVnaW4KLSAgICAgICAgZnJvbSB0aGUgc2VydmVy
IGFzIGFuIGltYWdlIGFuZCBjcmVhdGluZyBhIFFJbWFnZQotICAgICAgICBmcm9tIGl0LgotCi0g
ICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhpc3RpbmcgcGx1Z2luIHRlc3QgYXJlIHN1ZmZpY2llbnQu
Ci0KLSAgICAgICAgKiBUYXJnZXQucHJpOgotICAgICAgICAqIGJyaWRnZS9ucHJ1bnRpbWVfaW50
ZXJuYWwuaDogQWRkZWQgeWV0IGFub3RoZXIgdW5kZWYKLSAgICAgICAgdG8gZml4IGJ1aWxkIHdp
dGggUXQ1ICsgWDExIGhlYWRlcnMuCi0gICAgICAgICogcGx1Z2lucy9xdC9RdFgxMUltYWdlQ29u
dmVyc2lvbi5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6cWltYWdlRnJvbVhJbWFnZSk6
Ci0gICAgICAgICogcGx1Z2lucy9xdC9RdFgxMUltYWdlQ29udmVyc2lvbi5oOiBBZGRlZC4KLSAg
ICAgICAgQWRkZWQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgUUltYWdlIGZyb20gYW4g
WEltYWdlLgotICAgICAgICBQdXQgaXQgaW4gYSBuZXcgZmlsZSBpbnRvIFdlYkNvcmUgdG8gYXZv
aWQgY29weXJpZ2h0IGlzc3VlcyAtIGFzCi0gICAgICAgIHRoZSBjb2RlIGhhcyBiZWVuIHRha2Vu
IGRpcmVjdGx5IGZyb20gUXQgLSBhbmQgdG8gYmUgYWJsZSB0byByZXN1c2UKLSAgICAgICAgaXQg
Zm9yIHRoZSBXSzEgcGx1Z2luIHN1cHBvcnQgaW4gdGhlIGZ1dHVyZS4KLQotMjAxMS0xMS0xMCAg
QW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQ2FjaGUgYW5kIHJl
dXNlIEhUTUxDb2xsZWN0aW9ucyBleHBvc2VkIGJ5IERvY3VtZW50LgotICAgICAgICA8aHR0cDov
L3dlYmtpdC5vcmcvYi83MTk1Nj4KLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0
by4KLQotICAgICAgICBMZXQgRG9jdW1lbnQgY2FjaGUgdGhlIHZhcmlvdXMgSFRNTENvbGxlY3Rp
b24gb2JqZWN0cyBpdCBleHBvc2VzLgotICAgICAgICBUaGV5J3JlIGNyZWF0ZWQgb24tZGVtYW5k
IGFuZCBzdG9yZWQgaW4gYSB0aWdodCBWZWN0b3IuCi0gICAgICAgIFRoaXMgaXMgYSBiZWhhdmlv
ciBjaGFuZ2UsIHNpbmNlIHRoZSBsaWZldGltZSBvZiByZXR1cm5lZCBjb2xsZWN0aW9ucwotICAg
ICAgICBpcyBub3cgdGllZCB0byB0aGUgbGlmZXRpbWUgb2YgdGhlIERvY3VtZW50LiBIb3dldmVy
LCB0aGlzIG1hdGNoZXMgdGhlCi0gICAgICAgIGN1cnJlbnQgYmVoYXZpb3Igb2YgRmlyZWZveCBh
bmQgT3BlcmEuCi0KLSAgICAgICAgVGhpcyByZWR1Y2VzIG1lbW9yeSBjb25zdW1wdGlvbiBieSB+
ODAwIGtCIChvbiA2NC1iaXQpIHdoZW4gbG9hZGluZwotICAgICAgICB0aGUgZnVsbCBIVE1MNSBz
cGVjLiBkb2N1bWVudC5saW5rcyB3YXMgY2FsbGVkIDM0MDAxIHRpbWVzLCB5aWVsZGluZwotICAg
ICAgICAzNDAwMSBzZXBhcmF0ZSBIVE1MQ29sbGVjdGlvbnMsIGFuZCBub3cgd2Ugb25seSBuZWVk
IDEuCi0KLSAgICAgICAgVGhlIGRvY3VtZW50LmFsbCBjb2xsZWN0aW9uIHJldGFpbnMgdGhlIG9s
ZCBiZWhhdmlvciwgYXMgY2FjaGluZyBpdAotICAgICAgICB3b3VsZCBiZSBhIGJpdCBtb3JlIGNv
bXBsaWNhdGVkLgotCi0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpEb2N1bWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29s
bGVjdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1hZ2VzKToKLSAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBsZXRzKToKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjplbWJlZHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBsdWdpbnMpOgotICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om9iamVjdHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnNjcmlwdHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxpbmtzKToKLSAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpmb3Jtcyk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6YW5jaG9ycyk6Ci0gICAgICAgICogZG9tL0RvY3VtZW50Lmg6Ci0gICAgICAgICogaHRtbC9D
b2xsZWN0aW9uVHlwZS5oOgotCi0yMDExLTExLTEwICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxv
dkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogW1N1Z2dlc3RCb3hdIENv
cnJlY3RseSBwb3NpdGlvbiB0aGUgYm94IHVuZGVyIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhl
IHN1Z2dlc3Rpb24gcHJlZml4LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzIwMjIKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgot
Ci0gICAgICAgIE9uIGFueSBzdWdnZXN0IGJveCBwb3NpdGlvbiB1cGRhdGUgKHVwZGF0ZVN1Z2dl
c3Rpb25zIGludm9jYXRpb24pIGFuIGFuY2hvciBpcyBjcmVhdGVkIGF0IHRoZSBiZWdpbm5pbmcK
LSAgICAgICAgb2YgdGhlIHVzZXItZW50ZXJlZCB3b3JkLCBhbmQgaXRzIGJveCBpcyB1bHRpbWF0
ZWx5IHBhc3NlZCBpbnRvIF91cGRhdGVCb3hQb3NpdGlvbiB0byBiZSB1c2VkIGFzIHRoZQotICAg
ICAgICBhY3R1YWwgYW5jaG9yIGJveCAoaW5zdGVhZCBvZiB0aGUgaW5wdXQgZWxlbWVudCBib3gp
LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLl9ib3hGb3JBbmNob3JBdFN0YXJ0
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5fY29tcGxldGlv
bnNSZWFkeSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94KToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLl9v
bnNjcm9sbHJlc2l6ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0
Qm94LnByb3RvdHlwZS5fdXBkYXRlQm94UG9zaXRpb25XaXRoRXhpc3RpbmdBbmNob3IpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUuX3VwZGF0
ZUJveFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RC
b3gucHJvdG90eXBlLnVwZGF0ZVN1Z2dlc3Rpb25zKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLl9jb21wbGV0aW9uc1JlYWR5KToKLSAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qczoKLSAgICAgICAgKEFuY2hvckJv
eCk6Ci0gICAgICAgIChFbGVtZW50LnByb3RvdHlwZS5vZmZzZXRSZWxhdGl2ZVRvV2luZG93KToK
LQotMjAxMS0xMS0xMCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+Ci0KLSAg
ICAgICAgW0NNQUtFXSBSZWZhY3RvcmluZyBDTWFrZUxpc3RzJHtQT1JUfS50eHQgdG8gUGxhdGZv
cm0ke1BPUlR9LmNtYWtlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjcwNQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCi0KLSAgICAg
ICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlbmFtaW5nIENNYWtlTGlzdHMqLnR4dCB0byBQbGF0Zm9y
bSouY21ha2UuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAgICAgICAgKiBQbGF0Zm9y
bUVmbC5jbWFrZTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0
LgotICAgICAgICAqIFBsYXRmb3JtV2luQ0UuY21ha2U6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzV2luQ0UudHh0LgotCi0yMDExLTExLTEwICBBbmRyZXkgS29zeWFrb3Yg
IDxjYXNlcUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3Rvcjogd3JvbmcgSlNP
Ti5zdHJpbmdpZnkgdXNlZCBpbiB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoKSBi
YWNrZW5kCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MzA4MwotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qczoKLSAgICAgICAgKGluamVjdGVkRXh0
ZW5zaW9uQVBJLkluc3BlY3RlZFdpbmRvdy5wcm90b3R5cGUuZXZhbCk6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fb25FdmFsdWF0ZU9uSW5zcGVjdGVkUGFnZSk6
Ci0KLTIwMTEtMTEtMTAgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGdvb2dsZS5jb20+Ci0KLSAg
ICAgICAgU1ZHIG9iamVjdCBjb3ZlcnMgQ1NTIGJhY2tncm91bmQgaW4gSFRNTCBmb3JlaWduT2Jq
ZWN0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODQx
NwotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBUZXN0OiBz
dmcvZm9yZWlnbk9iamVjdC9iYWNrZ3JvdW5kLXJlbmRlci1waGFzZS5odG1sCi0KLSAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHRm9yZWlnbk9iamVjdDo6cGFpbnQpOgotCi0gICAgICAgICAgICBQYWlu
dCBTVkcgZm9yZWlnbiBvYmplY3RzIGF0b21pY2FsbHksIGZvbGxvd2luZyB0aGUgc2FtZSBwYXR0
ZXJuIGFzCi0gICAgICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAjTDIwOS4KLQotMjAxMS0xMS0x
MCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk5ODUxLgotICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC85OTg1MQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzIwMjkKLQotICAgICAgICBQYXRjaCBicmVha3MgUXQgdGVzdHMgKFJl
cXVlc3RlZCBieSBzY2hlbm5leSBvbiAjd2Via2l0KS4KLQotICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjp+
U1ZHRWxlbWVudEluc3RhbmNlKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5j
ZTo6Y2xlYXJDaGlsZHJlbik6Ci0gICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOgot
ICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpjbGVhclVzZUVsZW1lbnRzKToK
LSAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdV
c2VFbGVtZW50OjpkZXRhY2hJbnN0YW5jZSk6Ci0KLTIwMTEtMTEtMTAgIE5pa29sYXMgWmltbWVy
bWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0KLSAgICAgICAgW0dUS10gc3ZnL2FzLWltYWdl
L3N2Zy1pbWFnZS1jaGFuZ2UtY29udGVudC1zaXplLnhodG1sIGNyYXNoZXMKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTMyCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgUGhpbGlwcGUgTm9ybWFuZC4KLQotICAgICAgICBOdWxsIGNoZWNrIG1fcGFnZSBp
biBkcmF3U1ZHVG9JbWFnZUJ1ZmZlcigpLCBqdXN0IGxpa2UgYWxsIG90aGVycyBtZXRob2RzIGRv
LgotICAgICAgICBBcyBkcmF3U1ZHVG9JbWFnZUJ1ZmZlcigpIGlzIGZpcmVkIGZyb20gYSB0aW1l
ciwgaXQgbWF5IGdldCBpbnRvIHRoaXMgc3RhdGUgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLCBh
cyBzZWVuIG9uIHRoZSA2NGJpdCBndGsgYm90LgotCi0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpkcmF3U1ZHVG9JbWFnZUJ1
ZmZlcik6Ci0KLTIwMTEtMTEtMTAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJp
bS5jb20+Ci0KLSAgICAgICAgTm90IHJldmlld2VkLiBSb2xsaW5nIG91dCBwYXJ0IG9mIHI5OTg1
NCwgd2hpY2ggZGlkbid0IGJlbG9uZyB0aGVyZS4KLQotICAgICAgICAqIHN2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZHJhd1NWR1RvSW1hZ2VC
dWZmZXIpOgotCi0yMDExLTExLTEwICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBy
aW0uY29tPgotCi0gICAgICAgIE1vdmUgdW5pdCByZXNvbHZpbmcgZm9yIGFsbCByZXNvdXJjZXMg
dG8gcmVuZGVyaW5nLwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzIwMTEKLQotICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotCi0gICAg
ICAgIFJlbW92ZSBtYXNrQm91bmRpbmdCb3goKS9maWx0ZXJCb3VuZGluZ0JveCgpLCB0byBhdm9p
ZCBkb2luZyBsZW5ndGggcmVzb2x1dGlvbiBpbiBzdmcvLgotICAgICAgICBSZW5kZXJTVkdSZXNv
dXJjZSogbm93IHVzZXMgU1ZHTGVuZ3RoQ29udGV4dDo6cmVzb2x2ZVJlY3RhbmdsZSwgdG8gZG8g
dGhpcyB3aGlsZSBsYXlpbmcgb3V0LgotCi0gICAgICAgIE1vdmUgbGluZWFyIGdyYWRpZW50IHN0
YXJ0L2VuZCBwb2ludCwgcmFkaWFsIGdyYWRpZW50IGZvY2FsL2NlbnRlciBwb2ludCwgcmFkaXVz
IGNhbGN1bGF0aW9ucyBpbnRvCi0gICAgICAgIHRoZWlyIFJlbmRlclNWR1Jlc291cmNlIGNsYXNz
ZXMsIGNsZWFudXAgY29kZSBhIGJpdC4KLQotICAgICAgICBDb252ZXJ0IGZpbHRlcnMgdG8gdXNl
IFNWR0xlbmd0aENvbnRleHQuIEZpeCBEUlQgZHVtcHMgZm9yIGZpbHRlcnMsIHdoaWxlIEknbSBh
dCBpdCwgdG8gZ2l2ZQotICAgICAgICBtZWFuaW5nZnVsIHZhbHVlcywgd2hlbiBvYmplY3RCb3Vu
ZGluZ0JveCBpcyB1c2VkIGFzIHByaW1pdGl2ZSB1bml0cywgd2hlbiBhcHBseWluZyB0byA8dGV4
dD4vPHRzcGFuPnMuCi0KLSAgICAgICAgU2V2ZXJhbCB0ZXN0cyByZXN1bHRzIG5lZWQgcmViYXNl
bGluZXMgb24gYWxsIHBsYXRmb3Jtcy4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyLmg6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVU
ZXh0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0OjpvYmplY3RCb3Vu
ZGluZ0JveCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YnVpbGRQ
cmltaXRpdmVzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjph
cHBseVJlc291cmNlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVy
OjpyZXNvdXJjZUJvdW5kaW5nQm94KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jlc291cmNlRmlsdGVyLmg6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZUZpbHRlclByaW1pdGl2ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlclByaW1pdGl2ZTo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToK
LSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNvdXJj
ZSk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Lmg6
Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6
OnN0YXJ0UG9pbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudDo6ZW5kUG9pbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudDo6YnVpbGRHcmFkaWVudCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Lmg6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZU1hc2tlcjo6cmVzb3VyY2VCb3VuZGluZ0JveCk6Ci0gICAgICAgICogcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OmNlbnRlclBvaW50KToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OmZvY2FsUG9p
bnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6
cmFkaXVzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQ6OmFkanVzdEZvY2FsUG9pbnRJZk5lZWRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpidWlsZEdyYWRpZW50KToKLSAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaDoKLSAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
d3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcik6Ci0gICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1l
bnQuY3BwOgotICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJFbGVtZW50Lmg6Ci0gICAgICAgICogc3Zn
L1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnNldFN0YW5kYXJkQXR0
cmlidXRlcyk6Ci0gICAgICAgICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcy5oOgotICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwOgotICAg
ICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKLSAgICAgICAgKiBzdmcvU1ZH
TWFza0VsZW1lbnQuY3BwOgotICAgICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5oOgotICAgICAg
ICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOgotICAgICAgICAqIHN2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKLSAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9T
VkdGaWx0ZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZmlsdGVyUmVnaW9uSW5V
c2VyU3BhY2UpOgotCi0yMDExLTExLTEwICBTdGVwaGVuIENoZW5uZXkgIDxzY2hlbm5leUBjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgTnVsbCBkZXJlZiB3aGVuIG5vIHVzZSBlbGVtZW50IGV4aXN0
cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU5MTM2Ci0KLSAgICAgICAgQ2xlYW5zIHVwIHRoZSBvYmplY3Qg
d2hlbiBpdCBpcyBkZXRhY2hlZCBmcm9tIHRoZSBzaGFkb3cgRE9NIHRyZWUsCi0gICAgICAgIHJh
dGhlciB0aGFuIGxlYXZpbmcgaXQgaW4gYSBoYWxmLWNsZWFuIHN0YXRlIHdpdGggc29tZSBudWxs
ZWQKLSAgICAgICAgcmVmZXJlbmNlcyBidXQgbm90IG90aGVycy4KLQotICAgICAgICBSZXZpZXdl
ZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCi0KLSAgICAgICAgVGVzdDogc3ZnL2N1c3RvbS9lbGVt
ZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnCi0KLSAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6
flNWR0VsZW1lbnRJbnN0YW5jZSk6IEFkZGVkIGEgY2FsbCB0bwotICAgICAgICBkZXRhY2ggdG8g
Y2xlYW4gdXAgaWYgZGVsZXRpb24gaGFwcGVucyB3aXRob3V0IGEgcHJpb3IgZGV0YWNoIGNhbGwg
KGFzCi0gICAgICAgIHdoZW4gYW4gZW50aXJlIHRyZWUgaXMgcmVtb3ZlZCkuCi0gICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFjaCk6IE5ldyBtZXRob2QgdGhhdCByZXBs
YWNlcyBvdGhlcgotICAgICAgICBjbGVhbi11cCBtZXRob2RzIHdoZW4gdGhlIGluc3RhbmNlIGlz
IHJlbW92ZWQgZnJvbSB0aGUgc2hhZG93IERPTS4KLSAgICAgICAgKiBzdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmg6IEFkZGVkIG5ldyBkZXRhY2ggbWV0aG9kIGFuZCByZW1vdmVkCi0gICAgICAgIHVu
bmVjZXNzYXJ5IGNsZWFyIG1ldGhvZHMuCi0gICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6ZGV0YWNoSW5zdGFuY2UpOiBDaGFu
Z2VkIGNhbGxzIHRvIGNsZWFyIHRvCi0gICAgICAgIGluc3RlYWQgZGV0YWNoLgotCi0yMDExLTEx
LTEwICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
V2ViIEluc3BlY3RvcjogU2hvdyBtZWRpYSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCBzcGVjaWZp
YyBDU1MgcnVsZXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY1NjI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAg
ICBUZXN0OiBpbnNwZWN0b3Ivc3R5bGVzL21lZGlhLXF1ZXJpZXMuaHRtbAotCi0gICAgICAgICog
Y3NzL0NTU0dyYW1tYXIueToKLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6dXBkYXRlTGFzdE1lZGlhTGluZSk6Ci0gICAgICAgICogY3Nz
L0NTU1BhcnNlci5oOgotICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFMaXN0OjpNZWRpYUxpc3QpOgotICAgICAgICAqIGNzcy9NZWRpYUxpc3QuaDoK
LSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdDo6bGFzdExpbmUpOgotICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFMaXN0OjpzZXRMYXN0TGluZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6YmluZFN0eWxlU2hlZXQpOgotICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OnZpYUluc3BlY3RvclN0eWxlU2hlZXQpOgot
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZG9jdW1lbnRVUkxTdHJpbmcpOgotICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JTdHlsZVNoZWV0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmJ1aWxkTWVkaWFPYmplY3QpOgot
ICAgICAgICAoV2ViQ29yZTo6ZmlsbE1lZGlhTGlzdENoYWluKToKLSAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkT2JqZWN0Rm9yUnVsZSk6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1J1bGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU01lZGlhKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5DU1NNZWRpYS5wYXJzZVBheWxvYWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU01lZGlhLnBhcnNlTWVkaWFBcnJheVBheWxvYWQpOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VVdGlscy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5
UmVzb3VyY2VBc05vZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lk
ZWJhclBhbmUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJv
dG90eXBlLl9yZWJ1aWxkVXBkYXRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX3JlYnVpbGRTdHlsZVJ1bGVzKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlRW1wdHlTcGFjZURv
dWJsZUNsaWNrKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9u
LnByb3RvdHlwZS5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQuc3VjY2Vzc0NhbGxiYWNrKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0
aW5nU2VsZWN0b3JDb21taXR0ZWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvZWxl
bWVudHNQYW5lbC5jc3M6Ci0gICAgICAgICguc3R5bGVzLXNlY3Rpb24gLmhlYWRlciAudGl0bGUg
Lm1lZGlhLCAuc3R5bGVzLXNlY3Rpb24gLmhlYWRlciAudGl0bGUgLm1lZGlhIC5zdWJ0aXRsZSk6
Ci0gICAgICAgICguc3R5bGVzLXNlY3Rpb24gLmhlYWRlciAuc3VidGl0bGUpOgotCi0yMDExLTEx
LTEwICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
V2ViIEluc3BlY3RvcjogW1N1Z2dlc3RCb3hdIERvIG5vdCBkaXNwbGF5IHN1Z2dlc3QgYm94IGlm
IGVkaXRpbmcgaW4gdGhlIG1pZGRsZSBvZiBwcm9tcHQgdW5sZXNzIGEgc3RvcCBjaGFyYWN0ZXIg
Zm9sbG93cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzIwMTgKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlRleHRQcm9tcHQucHJvdG90eXBlLmNvbXBsZXRlKToKLQotMjAxMS0xMS0xMCAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZG8g
bm90IGhpZ2hsaWdodCBmaWxlcyBsYXJnZXIgdGhhbiAxMEtMT0MuCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAyNQotCi0gICAgICAgIFRoaXMgaXMg
YSB0ZW1wb3JhcnkgbWVhc3VyZSB3aGlsZSBJIGFtIGltcHJvdmluZyB0aGUgaGlnaGxpZ2h0ZXIK
LSAgICAgICAgZm9vdHByaW50LiBPdGhlcndpc2UsIGhpZ2hsaWdodGluZyBwcmV0dHkgcHJpbnRl
ZCBHbWFpbCB0YWtlcyB+MS4zRyBvZiBSQU0uCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBT
ZW1pa2hhdHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvckhp
Z2hsaWdodGVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRl
ci5wcm90b3R5cGUuaGlnaGxpZ2h0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLnVwZGF0ZUhpZ2hsaWdodCk6Ci0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlLnByb3RvdHlwZS5fZGlkUmVxdWVzdENvbnRlbnQpOgotCi0yMDExLTExLTEwICBB
bHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBTY3Jv
bGwgZGVsdGFzIGFyZSBjbGVhcmVkIGR1cmluZyBjb21taXQgdG8gdGhlIG1haW4gdGhyZWFkCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkxNgotCi0g
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgIFRoZSBwYXRjaCBr
ZWVwcyB0aGUgc2Nyb2xsIGRlbHRhcyBhbmQgc2Nyb2xsIHBvc2l0aW9uIHVuY2hhbmdlZCB3aGVu
Ci0gICAgICAgIGNvbW1pdHRpbmcgdG8gdGhlIG1haW4gdGhyZWFkLiBBZnRlciBjb21taXQgaGFz
IGNvbXBsZXRlZCBvbiB0aGUgbWFpbgotICAgICAgICB0aHJlYWQgdGhlIHN1Ym1pdHRlZCBzY3Jv
bGwgZGVsdGFzIGFyZSB0aGVuIHN1YnRyYWN0ZWQgZnJvbSB0aGUgY3VycmVudAotICAgICAgICBz
Y3JvbGwgZGVsdGFzIG9uIHRoZSBpbXBsIHRocmVhZC4KLQotICAgICAgICBEb2luZyBzbyBhbGxv
dyBzY3JvbGwgZGVsdGFzIHRvIGJlIGF2YWlsYWJsZSBhdCBhbGwgdGltZSB3aGljaCBlbmFibGVz
Ci0gICAgICAgIHByb3BlciBwb3NpdGlvbmluZyBmb3IgbGF5ZXJzIHRoYXQgYXJlIGZpeGVkLXBv
c2l0aW9uZWQgdG8gdGhlCi0gICAgICAgIGNvbnRhaW5lciBsYXllci4KLQotICAgICAgICBUaGlz
IHBhdGNoIGlzIHRlc3RlZCBieSB0aGUgZm9sbG93aW5nIHVuaXQgdGVzdHM6Ci0gICAgICAgIC0g
Q0NMYXllclRyZWVIb3N0SW1wbFRlc3Quc2Nyb2xsRGVsdGFSZXBlYXRlZFNjcm9sbHMKLSAgICAg
ICAgICBUaGlzIHRlc3QgaXMgbW9kaWZpZWQgdG8gdmVyaWZ5IHRoYXQgc2Nyb2xsIGRlbHRhcyBh
bmQgc2Nyb2xsIHBvc2l0aW9uCi0gICAgICAgICAgYXJlIHVuY2hhbmdlZCBkdXJpbmcgY29tbWl0
LiBBbmQgdGhlbiBhZnRlciBjb21taXQgc2Nyb2xsIGRlbHRhcyBhcmUKLSAgICAgICAgICBzdWJ0
cmFjdGVkIGNvcnJlY3RseS4KLQotICAgICAgICAtIENDTGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxT
aW1wbGUucnVuTXVsdGlUaHJlYWQgYW5kCi0gICAgICAgICAgQ0NMYXllclRyZWVIb3N0VGVzdFNj
cm9sbE11bHRpcGxlUmVkcmF3LnJ1bk11bHRpVGhyZWFkCi0gICAgICAgICAgVGhlc2UgdGVzdHMg
dmVyaWZpZXMgdGhhdCBzY3JvbGwgZGVsdGFzIG1hZGUgb24gaW1wbCB0aHJlYWQgYXJlCi0gICAg
ICAgICAgY29tbWl0dGVkIHRvIHRoZSBtYWluIHRocmVhZC4gVGhlIHNjcm9sbCBkZWx0YXMgaXMg
ZXZlbnR1YWxseSBkZWxlZ2F0ZWQKLSAgICAgICAgICB0byBDQ0xheWVyVHJlZUhvc3RDbGllbnQu
IFdoZW4gY29tbWl0IGhhcyBjb21wbGV0ZWQgdGhlIHNjcm9sbCBkZWx0YXMKLSAgICAgICAgICBh
cmUgc3VidHJhY3RlZCBjb3JyZWN0bHkuIFRoZXJlJ3Mgbm8gY2hhbmdlIHRvIHRoZXNlIHR3byB0
ZXN0cyBidXQgdGhleQotICAgICAgICAgIHZlcmlmeSB0aGlzIHBhdGNoIG1haW50YWlucyB0aGUg
b3ZlcmFsbCBiZWhhdmlvciBvZiBzY3JvbGxpbmcuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVy
Q2hyb21pdW06OmFwcGx5U2Nyb2xsQW5kU2NhbGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
SW1wbDo6YXBwbHlTY3JvbGxBbmRTY2FsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjphcHBseVNjcm9sbEFuZFNjYWxlSW50ZXJuYWwpOgotICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllclRyZWVIb3N0Q29tbW9uOjphcHBseVNjcm9sbEFuZFNjYWxlKToKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uaDoKLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnByb2Nlc3NTY3Jv
bGxEZWx0YXMpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6YmVnaW5GcmFt
ZUFuZENvbW1pdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpiZWdpbkZyYW1l
Q29tcGxldGVPbkltcGxUaHJlYWQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuaDoKLQotMjAxMS0xMS0xMCAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZC4gRml4IG1ha2Ug
ZGlzdGNoZWNrIGJ1aWxkLgotCi0gICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBtaXNzaW5n
IGZpbGVzLgotICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IERpdHRvLgotCi0yMDExLTEx
LTEwICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgotCi0gICAgICAg
IERlcGxveSBTVkdMZW5ndGhDb250ZXh0IGluIG1vcmUgcGxhY2VzCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAxMgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEhhdXNtYW5uLgotCi0gICAgICAgIERvZXNuJ3QgYWZmZWN0IGFueSB0ZXN0cy4K
LQotICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZExlbmd0aC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRlZExlbmd0aEFuaW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMpOgot
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6Y2FsY3VsYXRlQW5p
bWF0ZWRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aEFuaW1hdG9y
OjpjYWxjdWxhdGVEaXN0YW5jZSk6Ci0gICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlz
dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6
Y2FsY3VsYXRlRnJvbUFuZEJ5VmFsdWVzKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
TGVuZ3RoTGlzdEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKLQotMjAxMS0xMS0x
MCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KLQotICAgICAgICBO
b3QgcmV2aWV3ZWQuIEZpeCBidWlsZC4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwaTogTmVlZCB0
byBhZGQgcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS4qIGluIGFub3RoZXIgcGxhY2UgYXMgd2Vs
bCwgY3ItYm90cyBhcmUgbm90IGNvbXBpbGluZyBpdCBhbmQgdGh1cyBmYWlsIGxpbmtpbmcuCi0K
LTIwMTEtMTEtMTAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0K
LSAgICAgICAgUmVtb3ZlIHZpcnR1YWwgdG9QYXRoRGF0YSgpIG1ldGhvZCBmcm9tIGFsbCBncmFw
aGljcyBlbGVtZW50cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzIwMDkKLQotICAgICAgICBSZXZpZXdlZCBieSBab2x0YW4gSGVyY3plZy4KLQotICAg
ICAgICBJbiBidWcgNzE3ODAsIFNWR0xlbmd0aENvbnRleHQgd2FzIGludHJvZHVjZWQsIHRvIGFs
bG93IHRvIHJlc29sdmUgU1ZHTGVuZ3RocyBhZ2FpbnN0IGFyYml0YXJ5IHZpZXdwb3J0cy4KLSAg
ICAgICAgU1ZHTGVuZ3RoOjp2YWx1ZSgpLCB3aGljaCBuZWVkcyBhIFNWR0xlbmd0aENvbnRleHQs
IGlzIHN0aWxsIHVzZWQgYWxsIG92ZXIgc3ZnLyAtIHRoYXQgc2hvdWxkIGJlIGNoYW5nZWQsIGFz
IHJlbmRlcmluZy8KLSAgICAgICAgc2hvdWxkIHJlc29sdmUgdGhlc2UgbGVuZ3RocywgYXMgSFRN
TCBkb2VzIGl0IHVzaW5nIExlbmd0aCAmIFJlbmRlclN0eWxlcyBmb3IgQ1NTLgotCi0gICAgICAg
IEFzIGZpcnN0IHN0ZXAsIG1vdmUgdGhlICMxIGNsaWVudCBvZiB0aGUgU1ZHTGVuZ3RoOjp2YWx1
ZSgpIG1ldGhvZHMgLSB0b1BhdGhEYXRhKCkgb3V0IG9mIHN2Zy8gaW50byByZW5kZXJpbmcvc3Zn
L1NWR1BhdGhEYXRhCi0gICAgICAgIGFzIGZyZWUtZnVuY3Rpb24sIHJlcGxhY2luZyB0aGUgdmly
dHVhbCB0b1BhdGhEYXRhKCkgZnVuY3Rpb24gZnJvbSBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxl
bWVudC4KLQotICAgICAgICBEb2Vzbid0IGFmZmVjdCBhbnkgdGVzdHMuCi0KLSAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDogQWRkIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuKiB0byBidWlsZC4K
LSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KLSAgICAgICAgKiBUYXJnZXQu
cHJpOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgotICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgotICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHQWxsSW5PbmUuY3BwOiBEaXR0by4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1BhdGguY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUGF0aDo6bGF5b3V0
KTogVXNlICJ1cGRhdGVQYXRoRnJvbUdyYXBoaWNzRWxlbWVudChlbGVtZW50LCBtX3BhdGgpIiBp
bnN0ZWFkIG9mICJlbGVtZW50LT50b1BhdGhEYXRhKG1fcGF0aCkiLCBhdm9pZGluZyBhIHZpcnR1
YWwgY2FsbC4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHRQYXRoOjpsYXlvdXRQYXRoKTogRGl0dG8u
Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHA6IEFkZGVkLgotICAgICAg
ICAoV2ViQ29yZTo6dXBkYXRlUGF0aEZyb21DaXJjbGVFbGVtZW50KToKLSAgICAgICAgKFdlYkNv
cmU6OnVwZGF0ZVBhdGhGcm9tRWxsaXBzZUVsZW1lbnQpOgotICAgICAgICAoV2ViQ29yZTo6dXBk
YXRlUGF0aEZyb21MaW5lRWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjp1cGRhdGVQYXRoRnJv
bVBhdGhFbGVtZW50KToKLSAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZVBhdGhGcm9tUG9seWdvbkVs
ZW1lbnQpOgotICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUGF0aEZyb21Qb2x5bGluZUVsZW1lbnQp
OgotICAgICAgICAoV2ViQ29yZTo6dXBkYXRlUGF0aEZyb21SZWN0RWxlbWVudCk6Ci0gICAgICAg
IChXZWJDb3JlOjp1cGRhdGVQYXRoRnJvbUdyYXBoaWNzRWxlbWVudCk6Ci0gICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5oOiBBZGRlZC4KLSAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
ZU1vdGlvbkVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZU1vdGlvbkVs
ZW1lbnQ6OmFuaW1hdGlvblBhdGgpOiBVc2UgdXBkYXRlUGF0aEZyb21HcmFwaGljc0VsZW1lbnQg
aW5zdGVhZCBvZiB0b1BhdGhEYXRhLgotICAgICAgICAqIHN2Zy9TVkdDaXJjbGVFbGVtZW50LmNw
cDogUmVtb3ZlIHRvUGF0aERhdGEoKSB2aXJ0dWFsIG1ldGhvZC4KLSAgICAgICAgKiBzdmcvU1ZH
Q2lyY2xlRWxlbWVudC5oOiBEaXR0by4KLSAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
Y3BwOiBEaXR0by4KLSAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaDogRGl0dG8uCi0g
ICAgICAgICogc3ZnL1NWR0xpbmVFbGVtZW50LmNwcDogRGl0dG8uCi0gICAgICAgICogc3ZnL1NW
R0xpbmVFbGVtZW50Lmg6IERpdHRvLgotICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5jcHA6
IERpdHRvLgotICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOiBEaXR0by4KLSAgICAgICAg
KiBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuY3BwOiBEaXR0by4KLSAgICAgICAgKiBzdmcvU1ZHUG9s
eWdvbkVsZW1lbnQuaDogRGl0dG8uCi0gICAgICAgICogc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5j
cHA6IERpdHRvLgotICAgICAgICAqIHN2Zy9TVkdQb2x5bGluZUVsZW1lbnQuaDogRGl0dG8uCi0g
ICAgICAgICogc3ZnL1NWR1JlY3RFbGVtZW50LmNwcDogRGl0dG8uCi0gICAgICAgICogc3ZnL1NW
R1JlY3RFbGVtZW50Lmg6IERpdHRvLgotICAgICAgICAqIHN2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1h
YmxlRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRUcmFuc2Zvcm1hYmxl
RWxlbWVudDo6dG9DbGlwUGF0aCk6IFVzZSB1cGRhdGVQYXRoRnJvbUdyYXBoaWNzRWxlbWVudCBp
bnN0ZWFkIG9mIHRvUGF0aERhdGEuCi0gICAgICAgICogc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50Lmg6IFJlbW92ZSB0b1BhdGhEYXRhKCkgdmlydHVhbCBtZXRob2QuCi0KLTIwMTEt
MTEtMDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KLQotICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBbcmVmYWN0b3JpbmddIGdldCByaWQgb2YgSmF2YVNjcmlwdFNvdXJjZUZy
YW1lRGVsZWdhdGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxOTIyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZSk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5zdWdnZXN0ZWRGaWxlTmFtZSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5f
b25Db250ZW50Q2hhbmdlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5zZXRSZWFkT25seSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZUxpbmVHdXR0ZXJDb250ZXh0TWVu
dS5hZGRDb25kaXRpb25hbEJyZWFrcG9pbnQuZGlkRWRpdEJyZWFrcG9pbnRDb25kaXRpb24pOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUucG9w
dWxhdGVMaW5lR3V0dGVyQ29udGV4dE1lbnUuKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlVGV4dEFyZWFDb250ZXh0TWVudSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5i
ZWZvcmVUZXh0Q2hhbmdlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5kaWRFZGl0Q29udGVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
SmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fc2V0QnJlYWtwb2ludCk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fb25Nb3VzZURv
d24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuYWN0aXZhdGVCcmVha3Bv
aW50cyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5mb2xk
ZXJBbmREaXNwbGF5TmFtZUZvclNjcmlwdFVSTCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2Ny
aXB0c1BhbmVsLnByb3RvdHlwZS5zZXRTY3JpcHRTb3VyY2VJc0JlaW5nRWRpdGVkKToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9jcmVhdGVTb3VyY2VGcmFt
ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fdG9nZ2xl
Rm9ybWF0U291cmNlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90
eXBlLmFkZFRvV2F0Y2gpOgotCi0yMDExLTExLTEwICBKYXkgQ2l2ZWxsaSAgPGpjaXZlbGxpQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBGaXggcHJvZ3Jlc3MgbG9hZCByZXBvcnRpbmcgZm9yIE1I
VE1MIGRvY3VtZW50cy4KLQotICAgICAgICBNSFRNTCBkb2N1bWVudHMgY29udGFpbmluZyByZWZl
cmVuY2VzIHRvIHJlc291cmNlcyB0aGV5IGRvbid0IGluY2x1ZGUKLSAgICAgICAgbmV2ZXIgZmlu
aXNoIGxvYWRpbmcuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTg1OQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAg
KiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNjaGVkdWxlQXJjaGl2ZUxvYWQpOgotCi0yMDExLTExLTEwICBTaW1vbiBIYXVzbWFu
biAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KLQotICAgICAgICBbUXRdIEZpeCBsaW5raW5n
IHdpdGggLS13aG9sZS1hcmNoaXZlCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWm9sdGFuIEhlcmN6
ZWcuCi0KLSAgICAgICAgQ29tcGlsZSBYTUxUcmVlVmlld2VyIGFuZCByZWxhdGVkIGZpbGVzIHdo
ZW4gWFNMVCBpcyBlbmFibGVkLCBub3QKLSAgICAgICAgd2hlbiBYU0xUIF9hbmRfIFVTRV9MSUJY
TUwyLiBUaGUgZmlsZXMgZG8gbm90IGRlcGVuZCBvbiBsaWJ4bWwyLCB0aGV5Ci0gICAgICAgIGFy
ZSAjaWZkZWZmZWQgd2l0aCBFTkFCTEUoWFNMVCkgb25seSwgYW5kIHRoZXkgYXJlIHJlZmVyZW5j
ZWQgZnJvbSBmb3IKLSAgICAgICAgZXhhbXBsZSBOZXdYTUxEb2N1bWVudFBhcnNlci5jcHAgZnJv
bSB3aXRoaW4gWFNMVCBibG9ja3MuCi0KLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Ci0g
ICAgICAgICogVGFyZ2V0LnByaToKLQotMjAxMS0xMS0wMSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9k
aXZpbG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBsb2FkIHNvdXJj
ZSBtYXBzIHZpYSBmcm9udC1lbmQgaG9zdC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMzAxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1p
a2hhdHNreS4KLQotICAgICAgICBDdXJyZW50bHkgd2UgdXNlIGFuIGF1eGlsaWFyeSBpZnJhbWUg
aGFjayB0byBsb2FkIHNvdXJjZSBtYXAgZmlsZXMgZnJvbSBpbnNwZWN0b3IgcGFnZS4gVGhpcyBh
cHByb2FjaCBoYXMgc2V2ZXJhbCBkcmF3YmFja3M6Ci0gICAgICAgICAtIGluIGFkZGl0aW9uIHRv
IHNvdXJjZSBtYXAgdXJsIHdlIG5lZWQgdG8ga25vdyBhdXhpbGlhcnkgaWZyYW1lIHVybAotICAg
ICAgICAgLSB3ZSBuZWVkIGEgcHJvdG9jb2wgdG8gY29tbXVuaWNhdGUgd2l0aCBpZnJhbWUKLSAg
ICAgICAgIC0gc291cmNlIG1hcCBwcm92aWRlciBuZWVkcyB0byBwcm92aWRlIGF1eGlsaWFyeSBk
b2N1bWVudCB0byBtYWtlIG91ciBoYWNrIHdvcmsKLSAgICAgICAgTG9hZGluZyBzb3VyY2UgbWFw
cyBmcm9tIGZyb250LWVuZCBob3N0IHNvbHZlcyBhbGwgcHJvYmxlbXMuCi0KLSAgICAgICAgKiBX
ZWJDb3JlLmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Ci0g
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkp
OgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDoKLSAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNlTWFwcGluZy5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nKToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5sb2FkKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5sb2Fk
U291cmNlQ29kZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNl
TWFwcGluZy5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ1BheWxvYWQpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIuanM6IFJlbW92ZWQu
Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZ0NvbnRlbnRQcm92aWRlcik6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nQ29udGVudFByb3Zp
ZGVyLnByb3RvdHlwZS5yZXF1ZXN0Q29udGVudCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9SYXdTb3VyY2VDb2RlLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNv
ZGUucHJvdG90eXBlLnNldENvbXBpbGVyU291cmNlTWFwcGluZyk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUuX3Jlc291cmNlRmluaXNoZWQpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUucHJvdG90eXBlLl9jcmVhdGVTb3VyY2VNYXBw
aW5nLmRpZExvYWRTb3VyY2VNYXBwaW5nKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1dlYktpdC5xcmM6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bDoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5pbnN0YWxsU291cmNlTWFwcGluZ0ZvclRlc3QpOgotCi0yMDExLTExLTEw
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTk4MTYuCi0gICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0Lzk5ODE2Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MjAwMwotCi0gICAgICAgIGNvbXBpbGF0aW9uIGZhaWxlZCBvbiBtYWMg
KFJlcXVlc3RlZCBieSBsb2lzbG8gb24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBodG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbjoKLSAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgot
ICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MVGV4dEFyZWFFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6Ci0gICAgICAgICogaHRtbC9I
VE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKLSAgICAgICAgKiBodG1sL0hUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50LmNwcDoKLSAgICAgICAgKiBodG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
Lmg6Ci0gICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwOgotICAgICAgICAqIGh0
bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmg6Ci0KLTIwMTEtMTEtMDkgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUgZG9l
cyBub3Qgd29yayBhZnRlciBzd2l0Y2hpbmcgcGFuZWwgd2hpbGUgZWRpdGluZy4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTE4Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlRnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUu
cHJvdG90eXBlLndhc1Nob3duKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUud2lsbEhpZGUpOgotCi0yMDExLTExLTA5ICBSYWtlc2ggS04gIDxyYWtlc2gua25A
bW90b3JvbGEuY29tPgotCi0gICAgICAgIE5lZWQgc3VwcG9ydCBmb3IgZGlybmFtZSBhdHRyaWJ1
dGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTQy
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgSW1wbGVtZW50
ZWQgJ2Rpcm5hbWUnIGZvcm0gYXR0cmlidXRlLgotCi0gICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1z
L2Zvcm0tZGlybmFtZS1hdHRyaWJ1dGUuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9z
dWJtaXQtZm9ybS13aXRoLWRpcm5hbWUtYXR0cmlidXRlLXdpdGgtYW5jZXN0b3ItZGlyLWF0dHJp
YnV0ZS5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3N1Ym1pdC1mb3JtLXdpdGgtZGly
bmFtZS1hdHRyaWJ1dGUtd2l0aC1ub25odG1sLWFuY2VzdG9yLmh0bWwKLSAgICAgICAgICAgICAg
IGZhc3QvZm9ybXMvc3VibWl0LWZvcm0td2l0aC1kaXJuYW1lLWF0dHJpYnV0ZS5odG1sCi0KLSAg
ICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKLSAgICAgICAgQWRkZWQgImRpcm5h
bWUiIGF0dHJpYnV0ZS4KLSAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgotICAg
ICAgICBBZGQgImRpck5hbWUiIHByb3BlcnR5IHRvIEhUTUxJbnB1dEVsZW1lbnQgaW50ZXJmYWNl
LgotICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6Ci0gICAgICAgIEFwcGVu
ZCBkaXJuYW1lIGZvcm0gZGF0YS4KLSAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
aWRsOgotICAgICAgICBBZGQgImRpck5hbWUiIHByb3BlcnR5IHRvIEhUTUxUZXh0QXJlYUVsZW1l
bnQgaW50ZXJmYWNlLgotICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6cGFyZW50SFRNTEVsZW1lbnQpOgotICAgICAgICBIZWxw
ZXIgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBvbmx5IEhUTUwgcGFyZW50IGVsZW1lbnQuCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6ZGlyZWN0aW9uRm9yRm9y
bURhdGEpOgotICAgICAgICBIZWxwZXIgZnVuY3Rpb24gZm9yIGZpbmRpbmcgZGlyZWN0aW9uYWxp
dHkgb2YgdGhlIEVsZW1lbnQuCi0gICAgICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oOgotICAgICAgICBIZWxwZXIgZnVuY3Rpb24gZm9yIGZpbmRpbmcgZGlyZWN0aW9uYWxp
dHkgb2YgdGhlIEVsZW1lbnQuCi0gICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YSk6
Ci0gICAgICAgIEFwcGVuZCBkaXJuYW1lIGZvcm0gZGF0YS4KLSAgICAgICAgKiBodG1sL1RleHRG
aWVsZElucHV0VHlwZS5oOgotICAgICAgICBBcHBlbmQgZGlybmFtZSBmb3JtIGRhdGEuCi0KLTIw
MTEtMTEtMDkgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29vZ2xlLmNvbT4KLQotICAgICAg
ICBJbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlIHNob3VsZCBiZSBhYmxlIHRvIHRha2UgbWFy
a2VycyBieSBzcGVjaWZ5aW5nIGEgbWFya2VyIHR5cGUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc5MgotCi0gICAgICAgIFJldmlld2VkIGJ5IEhh
amltZSBNb3JpdGEuCi0KLSAgICAgICAgVGVzdDogZWRpdGluZy9zcGVsbGluZy9tYXJrZXJzLmh0
bWwKLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgotICAgICAgICAqIGRvbS9Eb2N1bWVudE1h
cmtlckNvbnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyOjptYXJrZXJzRm9yKToKLSAgICAgICAgICBUYWtlcyBtYXJrZXIgdHlwZXMgdG8gZ2V0
IG9ubHkgbmVjZXNzYXJ5IG1hcmtlcnMuCi0gICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29u
dHJvbGxlci5oOgotICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6Om1hcmtlclR5cGVzRnJvbSk6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjptYXJrZXJDb3VudEZvck5vZGUpOgotICAgICAgICAgIFRha2VzIG1hcmtlciB0eXBlcyB0
byBnZXQgb25seSBuZWNlc3NhcnkgbWFya2Vycy4KLSAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6bWFya2VyUmFuZ2VGb3JOb2RlKTogZGl0dG8uCi0gICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDoKLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Ci0KLTIwMTEtMTEtMDkgIERh
dmlkIFJldmVtYW4gIDxyZXZlbWFuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbQ2hyb21pdW1d
IEFkZCBzdXBwb3J0IGZvciBwYWludGluZyBpbnRvIGFuIFNrUGljdHVyZSBhbmQgdGhlbiByYXN0
ZXJpemluZyBpbnRvIHRpbGUtc2l6ZWQgY2h1bmtzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzODgKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1l
cyBSb2JpbnNvbi4KLQotICAgICAgICBBZGQgVXBkYXRhYmxlVGV4dHVyZSBjbGFzcywgd2hpY2gg
YWxsb3dzIHRleHR1cmUgdXBkYXRlciB0bwotICAgICAgICBhbGxvY2F0ZSB0aWxlIHNwZWNpZmlj
IHJlc291cmNlcyBhbmQgcGFpbnQgdGlsZXMgc2VwYXJhdGVseS4KLSAgICAgICAgUmVuYW1lIHRl
eHR1cmUgdXBsb2FkZXIgY2xhc3NlcyBhbmQgbW92ZSB0aGVtIHRvIHNlcGFyYXRlIGZpbGVzLgot
Ci0gICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KLQotICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9CaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcDogQWRkZWQuCi0gICAgICAgIChX
ZWJDb3JlOjpCaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlOjpUZXh0dXJl
KToKLSAgICAgICAgKFdlYkNvcmU6OkJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OlRl
eHR1cmU6On5UZXh0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkJpdG1hcENhbnZhc0xheWVyVGV4
dHVyZVVwZGF0ZXI6OlRleHR1cmU6OnVwZGF0ZVJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6Qml0
bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6
OkJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OkJpdG1hcENhbnZhc0xheWVyVGV4dHVy
ZVVwZGF0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Qml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBk
YXRlcjo6fkJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXIpOgotICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlVGV4dHVyZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpCaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpzYW1wbGVkVGV4
ZWxGb3JtYXQpOgotICAgICAgICAoV2ViQ29yZTo6Qml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBk
YXRlcjo6cHJlcGFyZVRvVXBkYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkJpdG1hcENhbnZhc0xh
eWVyVGV4dHVyZVVwZGF0ZXI6OnVwZGF0ZVRleHR1cmVSZWN0KToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9CaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
VGV4dHVyZVVwZGF0ZXIuaC4KLSAgICAgICAgKFdlYkNvcmU6OkJpdG1hcENhbnZhc0xheWVyVGV4
dHVyZVVwZGF0ZXI6OlRleHR1cmU6OnRleHR1cmVVcGRhdGVyKToKLSAgICAgICAgKFdlYkNvcmU6
OkJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6Om9yaWVudGF0aW9uKToKLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4dHVyZVVwZGF0
ZXIpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZyYW1lQnVmZmVyU2tQ
aWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmVVcGRhdGVyQ2Fu
dmFzLmNwcC4KLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyOjpGcmFtZUJ1ZmZlcjo6RnJh
bWVCdWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZmZXI6OkZyYW1lQnVmZmVyOjp+
RnJhbWVCdWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZmZXI6OkZyYW1lQnVmZmVy
Ojppbml0aWFsaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyU2tQaWN0dXJlQ2Fu
dmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZTo6VGV4dHVyZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpGcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1
cmU6On5UZXh0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyU2tQaWN0dXJlQ2Fu
dmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZTo6dXBkYXRlUmVjdCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpGcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNy
ZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVy
VGV4dHVyZVVwZGF0ZXI6OkZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBk
YXRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVy
VGV4dHVyZVVwZGF0ZXI6On5GcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVw
ZGF0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZmZXJTa1BpY3R1cmVDYW52YXNMYXll
clRleHR1cmVVcGRhdGVyOjpjcmVhdGVUZXh0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1l
QnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6c2FtcGxlZFRleGVsRm9y
bWF0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJU
ZXh0dXJlVXBkYXRlcjo6dXBkYXRlVGV4dHVyZVJlY3QpOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBk
YXRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclRleHR1cmVVcGRhdGVyLmguCi0gICAgICAgIChXZWJDb3JlOjpGcmFtZUJ1ZmZl
clNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU6OnRleHR1cmVVcGRh
dGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJU
ZXh0dXJlVXBkYXRlcjo6b3JpZW50YXRpb24pOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFn
ZUxheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU6OlRleHR1cmUpOgotICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlOjp1cGRhdGVSZWN0KToKLSAgICAg
ICAgKFdlYkNvcmU6OkltYWdlTGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZTo6dGV4dHVyZVVw
ZGF0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMYXllclRleHR1cmVVcGRhdGVyOjpjcmVh
dGVUZXh0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlTGF5ZXJUZXh0dXJlVXBkYXRlcjo6
cHJlcGFyZVRvVXBkYXRlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyVGV4dHVyZVVwZGF0ZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyVGV4
dHVyZVVwZGF0ZXI6OlRleHR1cmU6On5UZXh0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVy
VGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU6OnRleHR1cmUpOgotICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZTo6cHJlcGFyZVJlY3QpOgotICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZTo6VGV4dHVyZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpMYXllclRleHR1cmVVcGRhdGVyOjpwcmVwYXJlVG9VcGRhdGUpOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZVVwZGF0ZXJDYW52YXMuaDogUmVt
b3ZlZC4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Ta1BpY3R1cmVDYW52
YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBkYXRlci5oLgotICAgICAgICAo
V2ViQ29yZTo6U2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6U2tQaWN0dXJlQ2Fu
dmFzTGF5ZXJUZXh0dXJlVXBkYXRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpTa1BpY3R1cmVDYW52
YXNMYXllclRleHR1cmVVcGRhdGVyOjp+U2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRl
cik6Ci0gICAgICAgIChXZWJDb3JlOjpTa1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVy
OjpwcmVwYXJlVG9VcGRhdGUpOgotICAgICAgICAoV2ViQ29yZTo6U2tQaWN0dXJlQ2FudmFzTGF5
ZXJUZXh0dXJlVXBkYXRlcjo6ZHJhd1BpY3R1cmUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1NrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXIuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0
dXJlVXBkYXRlci5oLgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVk
TGF5ZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpVcGRhdGFibGVUaWxlOjpVcGRh
dGFibGVUaWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlVwZGF0YWJsZVRpbGU6OnRleHR1cmUpOgot
ICAgICAgICAoV2ViQ29yZTo6VXBkYXRhYmxlVGlsZTo6bWFuYWdlZFRleHR1cmUpOgotICAgICAg
ICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2Vz
KToKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNU
byk6Ci0gICAgICAgIChXZWJDb3JlOjpUaWxlZExheWVyQ2hyb21pdW06OmNyZWF0ZVRpbGUpOgot
ICAgICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjpwcm90ZWN0VGlsZVRleHR1cmVz
KToKLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkTGF5ZXJDaHJvbWl1bTo6cHJlcGFyZVRvVXBkYXRl
KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVVcGRh
dGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDVGV4dHVyZVVwZGF0ZXI6OmFwcGVuZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRhdGVyOjp1cGRhdGUpOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4dHVyZVVwZGF0ZXIuaDoKLQotMjAxMS0x
MS0wOSAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KLQotICAgICAg
ICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4LiBBZGQgc3R1YiBmb3IgbmV3IG1ldGhvZC4KLSAg
ICAgICAgCi0gICAgICAgICogcGxhdGZvcm0vd3gvRmlsZVN5c3RlbVd4LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6Om9wZW5GaWxlKToKLQotMjAxMS0xMS0wOSAgS2V2aW4gT2xsaXZpZXIgIDxrZXZp
bm9AdGhlb2xsaXZpZXJzLmNvbT4KLQotICAgICAgICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4
LiB3eCBzaG91bGQgbm90IGJlIGV4Y2x1ZGVkCi0gICAgICAgIGZyb20gYnVpbGRpbmcgU2NvcGVk
RnJhbWVQYWludGluZ1N0YXRlIGNvZGUuCi0KLSAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKLQot
MjAxMS0xMS0wOSAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KLQot
ICAgICAgICBbd3hdIFVucmV2aWV3ZWQgYnVpbGQgZml4LiBEb24ndCBydW4gCi0gICAgICAgIGZv
bnREYXRhRm9yQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2Ugb24gd3ggYXMgd2UgZG9uJ3QgCi0g
ICAgICAgIHN1cHBvcnQgaXQgeWV0LgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4
dENvbnRyb2xsZXI6OmNvbGxlY3RDb21wbGV4VGV4dFJ1bnMpOgotCi0yMDExLTExLTA5ICBLZXZp
biBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgotCi0gICAgICAgIFt3eF0gVW5y
ZXZpZXdlZCBidWlsZCBmaXguIFVwZGF0ZSBob3cgd2UgaGFzaCB0aGUgZm9udCBhZnRlcgotICAg
ICAgICBjaGFuZ2VzIHRvIHRoZSBTdHJpbmdIYXNoZXIgQVBJcy4KLQotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRQbGF0Zm9ybURhdGFXeC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpGb250UGxhdGZvcm1EYXRhOjpjb21wdXRlSGFzaCk6Ci0KLTIwMTEtMTEtMDkgIEtldmluIE9s
bGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+Ci0KLSAgICAgICAgW3d4XSBVbnJldmll
d2VkIGJ1aWxkIGZpeC4gUmVtb3ZlIGZyb20gV2ViRE9NRXZlbnRUYXJnZXQKLSAgICAgICAgYmlu
ZGluZ3MgbWV0aG9kcyB0aGF0IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gRXZlbnRUYXJnZXQuCi0K
LSAgICAgICAgKiBiaW5kaW5ncy9jcHAvV2ViRE9NRXZlbnRUYXJnZXQuY3BwOgotICAgICAgICAo
dG9XZWJLaXQpOgotICAgICAgICAqIGJpbmRpbmdzL2NwcC9XZWJET01FdmVudFRhcmdldC5oOgot
Ci0yMDExLTExLTA5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KLQot
ICAgICAgICBbQ2Fpcm9dIEF2b2lkIGNsaXBwaW5nIHdoZW4gcGFpbnRpbmcgbW9yZSBvZnRlbgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzkKLQot
ICAgICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBU
aGVzZSBjaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaDogQWRkIGEgQ2Fpcm8tc3BlY2lmaWMgbWV0aG9k
Ci0gICAgICAgIHRoYXQgZ2V0cyB0aGUgcGxhdGZvcm0gZ3JhZGllbnQgd2l0aCBhIHBhcnRpY3Vs
YXIgYWxwaGEgdmFsdWUuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhZGll
bnRDYWlyby5jcHA6IE5vdyBjYWNoZSB0aGUgYWxwaGEKLSAgICAgICAgdmFsdWUgb2YgdGhlIGxh
c3QgY3JlYXRlZCBwbGF0Zm9ybSBncmFkaWVudC4KLSAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50
OjpwbGF0Zm9ybUdyYWRpZW50KTogSWYgdGhlIGNhY2hlZCBwbGF0Zm9ybSBncmFkaWVudAotICAg
ICAgICBoYXMgYSBkaWZmZXJlbnQgYWxwaGEgdmFsdWUgdGhhbiB0aGUgb25lIHJlcXVlc3RlZCwg
ZGVzdHJveSBpdCBhbmQgc3RhcnQKLSAgICAgICAgb3Zlci4KLSAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpkcmF3UGF0aFNoYWRvdyk6IEFkanVzdCB0aGUgc291cmNlIHRvIGF2b2lkIGNhbGxpbmcKLSAg
ICAgICAgY2Fpcm9fY2xpcC9jYWlyb19wYWludF93aXRoX2FscGhhIGFuZCBqdXN0IGRvIGEgZmls
bC4KLSAgICAgICAgKFdlYkNvcmU6OnNoYWRvd0FuZEZpbGxDdXJyZW50Q2Fpcm9QYXRoKTogTm8g
bmVlZCB0byBjbGlwIGhlcmUuIEp1c3QKLSAgICAgICAgY2FsbCBjYWlyb19maWxsLgotICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJvLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OmRyYXdQYXR0ZXJuVG9DYWlyb0NvbnRleHQpOiBJZiB3ZSBoYXZlIGEg
Pj0gMSBhbHBoYSB2YWx1ZQotICAgICAgICB3ZSBjYW4gc2ltcGx5IGZpbGwgYW5kIGF2b2lkIGNh
bGxpbmcgY2Fpcm9fY2xpcCBoZXJlLgotICAgICAgICAoV2ViQ29yZTo6cHJlcGFyZUNhaXJvQ29u
dGV4dFNvdXJjZSk6IFJlbW92ZSBUT0RPIGFib3V0IHJlY3JlYXRpbmcgdGhlCi0gICAgICAgIGdy
YWRpZW50LiBObyBsb25nZXIgbmVlZCB0byByZWR1Y2UgdGhlIGdyYWRpZW50IHNvdXJjZS4KLQot
MjAxMS0xMS0wOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KLQotICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTA0MjMwMjQ+IFdlYlByb2Nlc3MgZG9lc24ndCB1c2UgQXV0aEJy
b2tlckFnZW50IGZvciBwcm94eSBjcmVkZW50aWFscwotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjQKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KLQotICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVD
Rk5ldC5jcHA6IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbTogKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UpOgotICAgICAgICBEb24ndCBhc2sgdGhlIGNsaWVudCBmb3IgcHJveHkg
Y3JlZGVudGlhbHMuIENGTmV0d29yayByZXN1bHRzIGFyZSBhdXRob3JpdGF0aXZlLCBhbmQgcHJv
eHkKLSAgICAgICAgY3JlZGVudGlhbHMgYXJlIHN5c3RlbS13aWRlLgotCi0yMDExLTExLTA5ICBE
YW5pZWwgU2lldmVycyAgPHNpZXZlcnNAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1
bV0gRml4IHR5cG8gaW4gY2hlY2tlcmJvYXJkaW5nIGNvZGUKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
SmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaWxlZExheWVySW1wbC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDQ1RpbGVkTGF5ZXJJbXBsOjpkcmF3VGlsZXMpOgotCi0yMDExLTExLTA5ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByOTk3ODIuCi0gICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0Lzk5NzgyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTk3OQotCi0gICAgICAgIGJyb2tlIG1vc3Qgb2YgdGhlIGZlSW1hZ2UgdGVz
dHMgKFJlcXVlc3RlZCBieSB0aG9ydG9uIG9uCi0gICAgICAgICN3ZWJraXQpLgotCi0gICAgICAg
ICogc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ZFSW1h
Z2VFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdG
RUltYWdlRWxlbWVudDo6YnVpbGQpOgotCi0yMDExLTExLTA5ICBLZW50YXJvIEhhcmEgIDxoYXJh
a2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUgW0NhbkJlQ29uc3RydWN0ZWRdIElE
TCBmcm9tIENvZGVHZW5lcmF0b3J7SlMsVjh9LnBtCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzOAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgotCi0gICAgICAgIE5vdyBubyBJREwgZmlsZXMgYXJlIHVzaW5nIFtDYW5CZUNvbnN0
cnVjdGVkXSBJREwuCi0gICAgICAgIFdlIGNhbiBzYWZlbHkgcmVtb3ZlIFtDYW5CZUNvbnN0cnVj
dGVkXSBJREwgZnJvbSBDb2RlR2VuZXJhdG9ye0pTLFY4fS5wbS4KLQotICAgICAgICBObyB0ZXN0
cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06IFJlbW92ZWQgW0NhbkJlQ29uc3RydWN0ZWRdLXJlbGF0ZWQgY29k
ZS4KLSAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJhdGlvbik6Ci0gICAgICAgIChH
ZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG06IERpdHRvLgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbnRlcmZhY2UuaWRs
OiBSZW1vdmVkIFtDYW5CZUNvbnN0cnVjdGVkXS4KLSAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBy
b3h5Lmg6IFJlbW92ZWQgVjhQcm94eTo6Y29uc3RydWN0RE9NT2JqZWN0IGFuZCBWOFByb3h5Ojpj
b25zdHJ1Y3RET01PYmplY3RXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgd2hpY2ggaGFkIGJl
ZW4gdXNlZCBvbmx5IGJ5IFtDYW5CZUNvbnN0cnVjdGVkXS4KLQotMjAxMS0xMS0wOSAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KLQotICAgICAgICBmZUltYWdlIHJlZmVy
ZW5jaW5nIGEgcHJpbWl0aXZlIGRyYXdzIGluY29ycmVjdGx5Ci0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTczMQotICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTA0MDgxNzg+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgotICAgICAg
ICAKLSAgICAgICAgRG9uJ3QgYXR0ZW1wdCB0byByZXNvbHZlIGFuIDxmZUltYWdlPidzIHJlZmVy
ZW5jZWQgZWxlbWVudCB1bnRpbCBpdCdzIHVzZWQsIGFzIGl0Ci0gICAgICAgIG1heSBub3QgZXhp
c3QgYXQgdGhlIHRpbWUgdGhlIGF0dHJpYnV0ZSBpcyBzZXQgb24gdGhlIDxmZUltYWdlPi4KLSAg
ICAgICAgCi0gICAgICAgIERvbid0IGF0dGVtcHQgdG8gcmVuZGVyIGFuIDxmZUltYWdlPiBpZiB0
aGUgcmVmZXJlbmNlZCBlbGVtZW50IGlzIG9mIHNpemUgMHgwLgotCi0gICAgICAgIFRlc3RzOiBz
dmcvZmlsdGVycy9mZUltYWdlLXJlZmVyZW5jZS1zdmctcHJpbWl0aXZlLnN2ZwotICAgICAgICAg
ICAgICAgc3ZnL2ZpbHRlcnMvZmVJbWFnZS16ZXJvLXNpemUtY3Jhc2guc3ZnCi0KLSAgICAgICAg
KiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJbWFn
ZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ZF
SW1hZ2VFbGVtZW50OjpidWlsZCk6Ci0KLTIwMTEtMTEtMDkgIERvbWluaWMgQ29vbmV5ICA8ZG9t
aW5pY2NAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlbW92ZSBXZWJHTENvbnRleHRFdmVudC5p
bml0RXZlbnQgbWV0aG9kCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTcyMAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAg
ICAgVGhlIFdlYkdMIHNwZWMgY2FsbHMgdGhpcyBtZXRob2QgaW5pdFdlYkdMQ29udGV4dEV2ZW50
LCBidXQgaXQgbWF5Ci0gICAgICAgIGFkb3B0IGEgY29uc3RydWN0b3IgaW5zdGVhZC4gRGVsZXRp
bmcgdGhlIGluaXRFdmVudCBtZXRob2QgZm9yIG5vdwotICAgICAgICBzaW5jZSBpdCBpcyBkZWZp
bml0ZWx5IHdyb25nIGFuZCB3ZSBkb24ndCB3YW50IHBlb3BsZSB0byBjb21lIHRvCi0gICAgICAg
IGRlcGVuZCBvbiBpdC4KLQotICAgICAgICBObyBuZXcgdGVzdHMtLXJlbW92aW5nIHVudGVzdGVk
IGNvZGUuCi0KLSAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHA6Ci0g
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaDoKLSAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGw6Ci0KLTIwMTEtMTEtMDkgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KLQotICAgICAgICBFbGVtZW50Ojpib3VuZHNJbldp
bmRvd1NwYWNlIHNob3VsZCBiZSBFbGVtZW50Ojpib3VuZHNJblJvb3RWaWV3U3BhY2UKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBFbGVtZW50Ojpib3VuZHNJbldp
bmRvd1NwYWNlIGlzIG9ubHkgdXNlZCBieSBXZWJLaXQyLCB3aGVyZSB0aGUgd2luZG93IGNvb3Jk
aW5hdGUgc3BhY2UgaXMgdGhlCi0gICAgICAgIHNhbWUgYXMgdGhlIHJvb3QgdmlldyBjb29yZGlu
YXRlIHNwYWNlLiBUaGlzIGxldHMgdXMgZ2V0IHJpZCBvZiBhbm90aGVyIHVzZSBvZiBjb250ZW50
c1RvV2luZG93LgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogZG9tL0Vs
ZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Ym91bmRzSW5Sb290Vmlld1Nw
YWNlKToKLSAgICAgICAgKiBkb20vRWxlbWVudC5oOgotCi0yMDExLTExLTA5ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBVbnJldmlld2VkLCByZWJhc2Vs
aW5lIHJ1bi1iaW5kaW5ncy10ZXN0cyByZXN1bHRzLgotCi0gICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6Z2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oOgotCi0yMDExLTExLTA5ICBBbGV4YW5kcmUgRWxpYXMg
IDxhZWxpYXNAZ29vZ2xlLmNvbT4KLQotICAgICAgICBbY2hyb21pdW1dIEFkZCBkcmF3LXRpbWUg
c2NhbGUgZGVsdGEgdG8gY29tcG9zaXRvciB0aHJlYWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTk1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgSmFt
ZXMgUm9iaW5zb24uCi0KLSAgICAgICAgVGhlcmUgYXJlIHR3byBtYWduaWZ5IHZhbHVlczoKLSAg
ICAgICAgMS4gVGhlIFdlYktpdC1zaWRlIHBhZ2VTY2FsZSB2YWx1ZSBjb3JyZXNwb25kaW5nIHRv
IHRoZSByZXNvbHV0aW9uIG9mCi0gICAgICAgICAgIHRoZSBwYWludGVkIGNvbnRlbnQuCi0gICAg
ICAgIDIuIFRoZSBJbXBsLXNpZGUtb25seSBzY2FsZURlbHRhIHZhbHVlIHJlcHJlc2VudGluZyB0
aGUgYWRkaXRpb25hbAotICAgICAgICAgICBkZWdyZWUgb2YgY3VycmVudCBtYWduaWZpY2F0aW9u
LCBhcHBsaWVkIGFzIGEgZHJhdyB0cmFuc2Zvcm0uICBXZWJLaXQKLSAgICAgICAgICAgaXMgbmV2
ZXIgZXhwbGljaXRseSBhd2FyZSBvZiB0aGlzIHZhbHVlIGFuZCB0aGUgb25seSB3YXkgdG8gY2hh
bmdlIGl0Ci0gICAgICAgICAgIGN1cnJlbnRseSBpcyB2aWEgcGluY2ggZXZlbnRzIChhbmQgaW4g
dGhlIGZ1dHVyZSwgZG91YmxlLXRhcC9ldGMKLSAgICAgICAgICAgZXZlbnRzKS4gIEF0IHRoZSBl
bmQgb2YgYSBwaW5jaCB6b29tLCB3ZSBtdWx0aXBseSBwYWdlU2NhbGUgKgotICAgICAgICAgICBz
Y2FsZURlbHRhIGFuZCB0ZWxsIFdlYktpdCB0byB1c2UgaXQgYXMgdGhlIG5ldyBwYWdlU2NhbGUu
Ci0KLSAgICAgICAgU2Nyb2xsIG9mZnNldHMgYW5kIG1heC1leHRlbnRzIGFyZSBtYWludGFpbmVk
IGluIHBhZ2VTY2FsZSBzcGFjZS4KLSAgICAgICAgV2hlbiB0aGUgc2NhbGUgY2hhbmdlcywgd2Ug
bmVlZCB0byB0YWtlIGNhcmUgdG8gY29udmVydCB0aGVtIHRvIHRoZQotICAgICAgICBuZXcgc2Nh
bGUgYW5kIGF2b2lkIGdldHRpbmcgdGhlbSBjbGFtcGVkIHRvIHRoZSBleHRlbnRzIGF0IHRoZSB3
cm9uZwotICAgICAgICBzY2FsZS4KLQotICAgICAgICBJIHJlbW92ZWQgbWF4U2Nyb2xsUG9zaXRp
b24gb24gdGhlIG5vbi1pbXBsIHNpZGUgYmVjYXVzZSBpdCBtYWtlcyBubwotICAgICAgICBzZW5z
ZSB0byBwcmVjb21wdXRlIGl0IGluIHRoZSBwcmVzZW5jZSBvZiBhbiBpbXBsLXNpZGUgem9vbS4g
IFJlcGxhY2VkCi0gICAgICAgIHdpdGggYSBzaW1wbGUgJ2Jvb2wgbV9zY3JvbGxhYmxlJy4KLQot
ICAgICAgICB6b29tQW5pbWF0b3JUcmFuc2Zvcm0gaXMgbm90IHVzZWQgYmVjYXVzZSBpdCBjdXJy
ZW50bHkgaXNuJ3QgaW4gdGhlCi0gICAgICAgIGJyYW5jaCwgYW5kIG1vc3RseSBkb2Vzbid0IGJl
aGF2ZSB0aGUgd2F5IHdlIHdhbnQgYW55d2F5IChpdCBkb2VzIG1vc3QKLSAgICAgICAgdGhpbmdz
IGluIFdlYktpdCB0aHJlYWQpLiAgV2Ugd2lsbCBuZWVkIHRvIHVuaWZ5IHRoZXNlIGxhdGVyLgot
Ci0gICAgICAgIEFsc28gaW50cm9kdWNlIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgp
IGNhbGwgd2hpY2ggaW52YWxpZGF0ZXMKLSAgICAgICAgbGF5ZXJzLgotCi0gICAgICAgIE5vIG5l
dyB0ZXN0cyAoZmlsZWQgNzE1MjkgdG8gcmVtZW1iZXIgdG8gZG8gaXQgbGF0ZXIpLgotCi0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6ZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21p
dW06OkxheWVyQ2hyb21pdW0pOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0
Qm91bmRzKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVz
VG8pOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0u
aDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNjcm9sbGFibGUpOgotICAgICAg
ICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2Nyb2xsYWJsZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpMYXllckNocm9taXVtOjpwYWdlU2NhbGVDaGFuZ2VkKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzSW50ZXJuYWwpOgotICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5o
OgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpzZXRQYWdlTWFnbmlm
eVRyYW5zZm9ybSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTm9uQ29t
cG9zaXRlZENvbnRlbnRIb3N0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok5vbkNvbXBvc2l0ZWRD
b250ZW50SG9zdDo6c2V0Vmlld3BvcnQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5oOgotICAgICAgICAoV2ViQ29yZTo6Tm9u
Q29tcG9zaXRlZENvbnRlbnRIb3N0Ojp0b3BMZXZlbFJvb3RMYXllcik6Ci0gICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllckltcGw6OkNDTGF5ZXJJbXBsKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
ckltcGw6OnNjcm9sbGFibGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldFNj
cm9sbGFibGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OkNDTGF5
ZXJUcmVlSG9zdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmZpbmlzaENv
bW1pdE9uSW1wbFRocmVhZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNl
dFBhZ2VTY2FsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNldFBhZ2VT
Y2FsZUZhY3RvckxpbWl0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmFw
cGx5U2Nyb2xsQW5kU2NhbGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpwYWdlU2NhbGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdENvbW1vbi5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
clRyZWVIb3N0SW1wbDo6Q0NMYXllclRyZWVIb3N0SW1wbCk6Ci0gICAgICAgIChXZWJDb3JlOjpD
Q0xheWVyVHJlZUhvc3RJbXBsOjpjb21taXRDb21wbGV0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpm
aW5kU2Nyb2xsTGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6
c2V0Vmlld3BvcnQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0
UGFnZVNjYWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnNldFNj
YWxlRGVsdGEpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0UGFn
ZVNjYWxlRmFjdG9yTGltaXRzKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdElt
cGw6OnVwZGF0ZU1heFNjcm9sbFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJU
cmVlSG9zdEltcGw6OnBpbmNoR2VzdHVyZUJlZ2luKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5
ZXJUcmVlSG9zdEltcGw6OnBpbmNoR2VzdHVyZVVwZGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
Q0xheWVyVHJlZUhvc3RJbXBsOjpwaW5jaEdlc3R1cmVFbmQpOgotICAgICAgICAoV2ViQ29yZTo6
Q0NMYXllclRyZWVIb3N0SW1wbDo6cHJvY2Vzc1Njcm9sbERlbHRhcyk6Ci0gICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6cGFnZVNjYWxlKToKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbENvbnRyb2xsZXIuaDoKLSAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRvQ29tbWl0KToKLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmNyZWF0ZUJlZ2luRnJhbWVBbmRDb21t
aXRUYXNrT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmJl
Z2luRnJhbWVBbmRDb21taXQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGhyZWFkUHJveHkuaDoKLQotMjAxMS0xMS0wOSAgSmF5IENpdmVsbGkgIDxqY2l2ZWxs
aUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgRml4IE1IVE1MIGdlbmVyYXRpb24gdG8gdXNlIHRo
ZSBRdW90ZWRQcmludGFibGUgZW5jb2RpbmcgZm9yIHRleHQgcmVzb3VyY2VzLgotICAgICAgICBU
aGlzIHdhcyByZWdyZXNzZWQgd2hlbiB3ZSBhZGRlZCBiaW5hcnkgZW5jb2Rpbmcgc3VwcG9ydC4K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODU3Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICAqIGxvYWRlci9hcmNo
aXZlL21odG1sL01IVE1MQXJjaGl2ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNSFRNTEFyY2hp
dmU6OmdlbmVyYXRlTUhUTUxEYXRhKToKLQotMjAxMS0xMS0wOSAgS2VudGFybyBIYXJhICA8aGFy
YWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVwbGFjZSBbQ2FuQmVDb25zdHJ1Y3RlZF0g
SURMIHdpdGggW0NvbnN0cnVjdG9yXSBJREwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxOTI3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0
aC4KLQotICAgICAgICBXaXRoIHJlc3BlY3QgdG8gdGhlIElETCBmaWxlcyB0aGF0IGhhdmUgW0Nh
bkJlQ29uc3RydWN0ZWRdCi0gICAgICAgIGJ1dCBkbyBub3QgaGF2ZSBbQ29uc3RydWN0b3JdIG5v
ciBbQ3VzdG9tQ29uc3RydWN0b3JdLAotICAgICAgICBbQ2FuQmVDb25zdHJ1Y3RlZF0gaXMgbm93
IGVxdWl2YWxlbnQgdG8gW0NvbnN0cnVjdG9yXS4KLSAgICAgICAgVGh1cywgdGhpcyBwYXRjaCBy
ZXBsYWNlcyBbQ2FuQmVDb25zdHJ1Y3RlZF0gd2l0aCBbQ29uc3RydWN0b3JdLgotCi0gICAgICAg
IE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgKiBmaWxlYXBpL0Zp
bGVSZWFkZXJTeW5jLmlkbDogQXMgSSBkZXNjcmliZWQgYWJvdmUuCi0gICAgICAgICogZmlsZWFw
aS9XZWJLaXRCbG9iQnVpbGRlci5pZGw6IERpdHRvLgotICAgICAgICAqIGZpbGVhcGkvV2ViS2l0
RmxhZ3MuaWRsOiBEaXR0by4KLSAgICAgICAgKiB4bWwvRE9NUGFyc2VyLmlkbDogRGl0dG8uCi0g
ICAgICAgICogeG1sL1hNTFNlcmlhbGl6ZXIuaWRsOiBEaXR0by4KLSAgICAgICAgKiB4bWwvWFBh
dGhFdmFsdWF0b3IuaWRsOiBEaXR0by4KLQotMjAxMS0xMS0wOSAgTm9lbCBHb3Jkb24gIDxub2Vs
LmdvcmRvbkBnbWFpbC5jb20+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBTZXBhcmF0ZSBpbWFnZSBl
bmNvZGluZyBmcm9tIGRhdGFVUkwgY29uc3RydWN0aW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTg0NgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCi0KLSAgICAgICAgUmVtb3ZlIHRoZSBpbXBsaWNpdCBhc3N1bXB0aW9uIHRoYXQg
YSBkYXRhVVJMIGlzIHRoZSBvbmx5IGRlc2lyZWQgb3V0cHV0IGZvcm1hdCBvZiB0aGUKLSAgICAg
ICAgdGhlIGltYWdlIGVuY29kaW5nIHBoYXNlLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cywgcmVm
YWN0b3Jpbmcgb25seSwgY292ZXJlZCBieSBleGlzdGluZyBjYW52YXMgdGVzdHMuCi0KLSAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlQnVmZmVyU2tpYS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjplbmNvZGVJbWFnZSk6ICBPdXRwdXQgdGhlIGVuY29kZWQgaW1hZ2UgdG8gYSBW
ZWN0b3IuCi0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKTogIEZvcm1h
dCB0aGUgZGF0YVVSTCBlbmNvZGluZyBvZiB0aGUgbWltZVR5cGUgZW5jb2RlZAotICAgICAgICBp
bWFnZSBWZWN0b3IgaGVyZS4gIE1vdmUgdGhlIG1pbWVUeXBlIGVuY29kaW5nIGRlYnVnIGNoZWNr
IGhlcmUgdG8gYmV0dGVyIGFsaWduIHRoaXMKLSAgICAgICAgY29kZSB3aXRoIHRoZSBDRyAoQ29y
ZUdyYXBoaWNzKSBJbWFnZUJ1ZmZlci5jcHAgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIChXZWJD
b3JlOjpJbWFnZURhdGFUb0RhdGFVUkwpOiBkaXR0by4KLQotMjAxMS0xMS0wOSAgQWxleGVpIFN2
aXRraW5lICA8YXN2aXRraW5lQGNocm9taXVtLm9yZz4KLQotICAgICAgICBDaHJvbWl1bTogRml4
IGJhZCBydWJiZXItYmFuZCBvdmVyaGFuZyBzaGFkb3dzIGJlaW5nIGRyYXduIGluIHRoZSBwcmVz
ZW5jZSBvZiBjdXN0b20gc2Nyb2xsYmFyIGNzcy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzE5Ci0KLSAgICAgICAgVGhpcyB3YXMgY2F1c2VkIGJ5
IHRoZSBvdmVyaGFuZyBjYWxjdWxhdGlvbiBsb2dpYyBub3QgYmVpbmcgY29uc2lzdGVudCB3aGVu
IHN1YnRyYWN0aW5nIHRoZSBzY3JvbGxiYXIgc2l6ZXMgZnJvbSB0aGUgb3ZlcmhhbmcgYXJlYXMu
IFRoaXMgcmVzdWx0ZWQgaW4gZm9yIGUuZy4gYSBob3Jpem9udGFsIG92ZXJoYW5nIHRoYXQgZGlk
bid0IG92ZXJsYXAgd2l0aCB0aGUgc2Nyb2xsYmFyIHdoaWxlIHRoZSB2ZXJ0aWNhbCBvdmVyaGFu
ZyBvdmVybGFwcGVkIHdpdGggaXQuIFRoaXMgZml4IG1ha2VzIHRoZSBsb2dpYyBjb25zaXN0ZW50
IHNvIHRoYXQgdGhlIG92ZXJoYW5nIGFyZWFzIGRvIG5vdCBvdmVybGFwIHdpdGggdGhlIHNjcm9s
bGJhcnMgKHdoZW4gc2Nyb2xsYmFycyBhcmUgb3BhcXVlKS4KLQotICAgICAgICBSZXZpZXdlZCBi
eSBCZXRoIERha2luLgotCi0gICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9ydWJiZXJi
YW5kaW5nL2N1c3RvbS1zY3JvbGxiYXJzLW5lLmh0bWwKLSAgICAgICAgICAgICAgIHBsYXRmb3Jt
L2Nocm9taXVtL3J1YmJlcmJhbmRpbmcvY3VzdG9tLXNjcm9sbGJhcnMtbncuaHRtbAotICAgICAg
ICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vcnViYmVyYmFuZGluZy9jdXN0b20tc2Nyb2xsYmFy
cy1zZS5odG1sCi0gICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9ydWJiZXJiYW5kaW5n
L2N1c3RvbS1zY3JvbGxiYXJzLXN3Lmh0bWwKLQotICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2hlZWxFdmVudCk6Ci0KLTIw
MTEtMTEtMDkgIEtlbiBCdWNoYW5hbiAgPGtlbnJiQGNocm9taXVtLm9yZz4KLQotICAgICAgICBJ
bmRlbnRhdGlvbiBlcnJvciBpbiBSZW5kZXJPYmplY3Q6OmNvbnRhaW5lcgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3ODAKLQotICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBBIGNvbmRpdGlvbmFsIGJsb2NrIHdhcyBp
bmRlbnRlZCB0b28gZmFyOyBjb3JyZWN0aW5nLgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNvbnRhaW5lcik6
Ci0KLTIwMTEtMTEtMDkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KLQot
ICAgICAgICBVc2UgY29udGVudHNUb1Jvb3RWaWV3L3Jvb3RWaWV3VG9Db250ZW50cyB3aGVuIGNv
bnZlcnRpbmcgYmV0d2VlbiBmcmFtZSBjb29yZGluYXRlIHN5c3RlbXMKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQ3Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBUaGlzIGdldHMgcmlkIG9mIGEgZmV3IGNhbGxz
IHRvIGNvbnRlbnRzVG9XaW5kb3cgYW5kIHdpbmRvd1RvQ29udGVudHMuCi0KLSAgICAgICAgKiBp
bnNwZWN0b3IvRE9NTm9kZUhpZ2hsaWdodGVyLmNwcDoKLSAgICAgICAgKiBwYWdlL0RyYWdDb250
cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpzdGFydERyYWcp
OgotICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRvU3lzdGVtRHJhZyk6Ci0gICAg
ICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludCk6Ci0KLTIwMTEtMTEtMDkgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTIzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdl
aW5pZy4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgQWRkZWQgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yIHRvIHRoZSBNZXRob2RUYWJsZSwgY2hhbmdlZCBhbGwgb2YgdGhlIAot
ICAgICAgICB2aXJ0dWFsIHZlcnNpb25zIG9mIGdldE93blByb3BlcnR5RGVzY3JpcHRvciB0byBz
dGF0aWMgb25lcywgYW5kIAotICAgICAgICBjaGFuZ2VkIGFsbCBvZiB0aGUgY2FsbCBzaXRlcyB0
byB0aGUgY29ycmVzcG9uZGluZyBsb29rdXAgaW4gdGhlIE1ldGhvZFRhYmxlLgotCi0gICAgICAg
ICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaDoKLSAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SlNXb3JrZXJDb250ZXh0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JEZWxlZ2F0ZSk6Ci0g
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChH
ZW5lcmF0ZUdldE93blByb3BlcnR5RGVzY3JpcHRvckJvZHkpOgotICAgICAgICAoR2VuZXJhdGVI
ZWFkZXIpOgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6Ci0gICAgICAgIChHZW5l
cmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24pOgotICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3Rv
ckRlZmluaXRpb24pOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3I6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJ
bnRlcmZhY2U6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oOgotICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6Z2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXJQcm90b3R5cGU6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmg6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9ialBy
b3RvdHlwZTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9iajo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmg6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3Rv
cjo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToK
LSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmg6Ci0gICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6
Ci0gICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tOgotICAgICAgICAoSlNDOjpC
aW5kaW5nczo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1wOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ip
OgotICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKLSAgICAgICAgKEpTQzo6Qmlu
ZGluZ3M6OlF0UnVudGltZU1ldGFNZXRob2Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0g
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kOjpnZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IpOgotICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmg6Ci0g
ICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgotICAgICAgICAoSlNDOjpSdW50aW1l
QXJyYXk6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgICogYnJpZGdlL3J1bnRp
bWVfYXJyYXkuaDoKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2QuY3BwOgotICAgICAg
ICAoSlNDOjpSdW50aW1lTWV0aG9kOjp2dGFibGVBbmNob3IpOiBBZGRlZCB0byBwcmV2ZW50IGEg
d2VhayB2dGFibGUuCi0gICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6OmdldE93blByb3BlcnR5
RGVzY3JpcHRvcik6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6IENoYW5nZWQg
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIGZyb20gcHJpdmF0ZSB0byBwcm90ZWN0ZWQgdG8gYWxs
b3cgCi0gICAgICAgIHN1YmNsYXNzZXMgdG8gdXNlIGl0IGluIHRoZWlyIE1ldGhvZFRhYmxlcy4K
LSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuY3BwOgotICAgICAgICAoSlNDOjpCaW5k
aW5nczo6UnVudGltZU9iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAg
KiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKLQotMjAxMS0xMS0wOSAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KLQotICAgICAgICBSRUdSRVNTSU9OIChyOTM2MTQp
OiBDb250ZW50IHJlbWFpbnMgZGVzcGl0ZSBwYXJlbnQgZWxlbWVudCBiZWluZyBzY3JvbGxlZCBv
ZmYgcGFnZSB1c2luZyBqYXZhc2NyaXB0LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzE1NTAKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvcmVwYWludC9vdmVyZmxvdy1hdXRvLWluLW92ZXJm
bG93LWF1dG8tc2Nyb2xsZWQuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L292ZXJm
bG93LWhpZGRlbi1pbi1vdmVyZmxvdy1oaWRkZW4tc2Nyb2xsZWQuaHRtbAotICAgICAgICAgICAg
ICAgZmFzdC9yZXBhaW50L292ZXJmbG93LXNjcm9sbC1pbi1vdmVyZmxvdy1zY3JvbGwtc2Nyb2xs
ZWQuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L3Njcm9sbC1pbnNpZGUtdGFibGUt
Y2VsbC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvc2Nyb2xsLXJlbGF0aXZlLXRh
YmxlLWluc2lkZS10YWJsZS1jZWxsLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC90
YWJsZS1vdmVyZmxvdy1hdXRvLWluLW92ZXJmbG93LWF1dG8tc2Nyb2xsZWQuaHRtbAotICAgICAg
ICAgICAgICAgZmFzdC9yZXBhaW50L3RhYmxlLW92ZXJmbG93LWhpZGRlbi1pbi1vdmVyZmxvdy1o
aWRkZW4tc2Nyb2xsZWQuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L3RhYmxlLW92
ZXJmbG93LXNjcm9sbC1pbi1vdmVyZmxvdy1zY3JvbGwtc2Nyb2xsZWQuaHRtbAotCi0gICAgICAg
IFRoZSBpc3N1ZSB3YXMgdGhhdCB1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsIHdvdWxk
IG5vdCB1cGRhdGUgc29tZSBsYXllcidzCi0gICAgICAgIHJlcGFpbnQgcmVjdGFuZ2xlcy4gVGh1
cyB3ZSB3b3VsZCBub3QgcHJvcGVybHkgcmVwYWludCAoaWYgYXQgYWxsKS4KLQotICAgICAgICBU
aGUgb3B0aW1pemF0aW9uIGFkZGVkIGluIDkzNjE0IHdhcyBzaG9ydC1zaWdodGVkIGFuZCBtaXNz
ZWQgdGhlIGZhY3QgdGhhdCB0YWJsZXMgYXJlIGEKLSAgICAgICAgc3BlY2lhbCBjYXNlIHdoZW4g
aXQgY29tZXMgdG8gdXBkYXRpbmcgdGhlIHJlcGFpbnQgcmVjdGFuZ2xlcy4gV2hlbiB3ZSBzY3Jv
bGwgYSBsYXllcgotICAgICAgICB3aXRoIGFuIG92ZXJmbG93IGNsaXAsIG1vc3QgbGF5ZXJzICpk
byogbmVlZCB0byB1cGRhdGUgdGhlaXIgcmVwYWludCByZWN0YW5nbGVzLgotCi0gICAgICAgIFRo
aXMgY2hhbmdlcyBrZWVwcyB0aGUgb3B0aW1pemF0aW9uIGZvciBjZWxscyBhcyB0aGlzIGlzIHRo
ZSBob3Rlc3QgY2FzZSBmb3IgdGFibGVzCi0gICAgICAgIHdpdGggb3ZlcmZsb3c6IGhpZGRlbiBv
biBjZWxscyBidXQgaXMgbXVjaCBtb3JlIGNvbnNlcnZhdGl2ZTogaWYgd2UgZW5jb3VudGVyIGFu
Ci0gICAgICAgIG92ZXJmbG93IGNsaXAsIHdlIHVwZGF0ZSB0aGUgZGVzY2VuZGFudCdzIHJlcGFp
bnQgcmVjdGFuZ2xlcy4KLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0ZXJTY3JvbGwpOgotICAg
ICAgICBSZWZhY3RvcmVkIHRoZSBjb2RlIHRvIHVzZSBzb21lIGZsYWdzIChIYXNTZWVuRml4ZWRQ
b3NpdGlvbmVkQW5jZXN0b3IgYW5kCi0gICAgICAgIEhhc1NlZW5BbmNlc3RvcldpdGhPdmVyZmxv
d0NsaXApLiBBbHNvIGFkZGVkIGFuIGV4Y2VwdGlvbiBpZgotICAgICAgICBtX2NhblNraXBSZXBh
aW50UmVjdHNVcGRhdGVPblNjcm9sbCBpcyBzZXQuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaDoKLSAgICAgICAgQWRkZWQgYSBuZXcgZmllbGQgd2hlbiBpdCBpcyBmaW5lIHRv
IG5vdCB1cGRhdGUgb3VyIHJlcGFpbnQgcmVjdHMgb24gc2Nyb2xsLgotCi0yMDExLTExLTA5ICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBHZW5lcmF0ZSB0
aGUgSFRNTEF1ZGlvRWxlbWVudCBjb25zdHJ1Y3RvciB1c2luZyBbTmFtZWRDb25zdHJ1Y3Rvcl0g
SURMCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTky
NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgVGhpcyBwYXRj
aCByZW1vdmVzIGEgY3VzdG9tIGNvbnN0cnVjdG9yIG9mIEhUTUxBdWRpb0VsZW1lbnQKLSAgICAg
ICAgYW5kIGdlbmVyYXRlcyBpdCB1c2luZyBbTmFtZWRDb25zdHJ1Y3Rvcl0gSURMLgotCi0gICAg
ICAgIFRlc3RzOiAgZmFzdC9qcy9jdXN0b20tY29uc3RydWN0b3JzLmh0bWwKLSAgICAgICAgICAg
ICAgICBtZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci5odG1sCi0gICAgICAgICAgICAgICAgbWVkaWEv
YXVkaW8tY29uc3RydWN0b3Itc3JjLmh0bWwKLSAgICAgICAgICAgICAgICBtZWRpYS9hdWRpby1j
b25zdHJ1Y3Rvci1wcmVsb2FkLmh0bWwKLSAgICAgICAgICAgICAgICBtZWRpYS9hdWRpby1jb250
cm9scy1kby1ub3QtZmFkZS1vdXQuaHRtbAotICAgICAgICAgICAgICAgIG1lZGlhL2F1ZGlvLWNv
bnRyb2xzLXJlbmRlcmluZy5odG1sCi0KLSAgICAgICAgKiBUYXJnZXQucHJpOiBSZW1vdmVkIFY4
SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLntoLGNwcH0KLSAgICAgICAgKiBXZWJDb3JlLmd5
cGk6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxBdWRpb0VsZW1l
bnRDb25zdHJ1Y3Rvci5jcHA6IFJlbW92ZWQuCi0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yLmg6IFJlbW92ZWQuCi0gICAgICAgICogaHRt
bC9IVE1MQXVkaW9FbGVtZW50LmlkbDogQWRkZWQgW05hbWVkQ29uc3RydWN0b3JdIElETC4KLSAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6IFJlbW92ZWQgW1Y4Q3VzdG9tQ29uc3RydWN0b3Jd
IElETC4KLQotMjAxMS0xMS0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+Ci0K
LSAgICAgICAgRWxpbWluYXRlIENTU011dGFibGVWYWx1ZQotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MTEKLQotICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlciwgQW5kcmVhcyBLbGluZyBhbmQgTmlrb2xhcyBaaW1tZXJtYW4uCi0KLSAgICAg
ICAgUmVtb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbnMgb2Ygc2V0dGVyIGZ1bmN0aW9ucyBpbiBTVkdD
b2xvciBhbmQgU1ZHUGFpbnQuIFRoZXNlIGludGVyZmFjZXMgYXJlCi0gICAgICAgIGRlcHJlY2F0
ZWQgaW4gU1ZHIDEuMSAoMm5kIGVkaXRpb24pIGFuZCBhcmUgbm90IHJlYWxseSB1c2VkIGJ5IGFu
eWJvZHkuIFRoaXMgYWxsb3dzCi0gICAgICAgIHJlbW92YWwgb2YgQ1NTTXV0YWJsZVZhbHVlIGFu
ZCB0aGUgYXNzb2NpYXRlZCAocmF0aGVyIGJyb2tlbikgY29kZS4KLSAgICAgICAgCi0gICAgICAg
IFRoZSBzZXR0ZXJzIG5vdyB0aHJvdyBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIuIAotCi0g
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0g
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgotICAgICAgICAqIGNz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6fkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKToKLSAg
ICAgICAgKiBjc3MvQ1NTTXV0YWJsZVZhbHVlLmg6IFJlbW92ZWQuCi0gICAgICAgICogY3NzL0NT
U1N0eWxlRGVjbGFyYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJh
dGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVlLmg6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Q1NTVmFsdWUpOgotICAgICAgICAqIHN2Zy9TVkdD
b2xvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdDb2xvcjo6U1ZHQ29sb3IpOgotICAgICAg
ICAoV2ViQ29yZTo6U1ZHQ29sb3I6OnNldFJHQkNvbG9yKToKLSAgICAgICAgKFdlYkNvcmU6OlNW
R0NvbG9yOjpzZXRSR0JDb2xvcklDQ0NvbG9yKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0NvbG9y
OjpzZXRDb2xvcik6Ci0gICAgICAgICogc3ZnL1NWR0NvbG9yLmg6Ci0gICAgICAgICogc3ZnL1NW
R1BhaW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50OjpzZXRVcmkpOgotICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGFpbnQ6OnNldFBhaW50KToKLSAgICAgICAgKiBzdmcvU1ZHUGFpbnQu
aDoKLQotMjAxMS0xMS0wOSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgR2VuZXJhdGUgdGhlIEhUTUxPcHRpb25FbGVtZW50IGNvbnN0cnVjdG9yIHVzaW5n
IFtOYW1lZENvbnN0cnVjdG9yXSBJREwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxOTI1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
LQotICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgYSBjdXN0b20gY29uc3RydWN0b3Igb2YgSFRN
TE9wdGlvbkVsZW1lbnQsCi0gICAgICAgIGFuZCBnZW5lcmF0ZXMgaXQgdXNpbmcgW05hbWVkQ29u
c3RydWN0b3JdIElETC4KLQotICAgICAgICBUZXN0czogZmFzdC9qcy9jdXN0b20tY29uc3RydWN0
b3JzLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvb3B0aW9uLWluZGV4Lmh0bWwKLSAg
ICAgICAgICAgICAgIGZhc3QvZm9ybXMvYWRkLWFuZC1yZW1vdmUtb3B0aW9uLmh0bWwKLSAgICAg
ICAgICAgICAgIGZhc3QvZG9tL2RvbS1hZGQtb3B0aW9uZWxlbWVudC5odG1sCi0KLSAgICAgICAg
KiBUYXJnZXQucHJpOiBSZW1vdmVkIFY4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvci57aCxj
cHB9Ci0gICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yLmNwcDogUmVtb3ZlZC4KLSAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9y
Lmg6IFJlbW92ZWQuCi0gICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IEFkZGVk
IFtOYW1lZENvbnN0cnVjdG9yXSBJREwuCi0gICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBS
ZW1vdmVkIFtWOEN1c3RvbUNvbnN0cnVjdG9yXSBJREwuCi0KLTIwMTEtMTEtMDkgIEp1bGllbiBD
aGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQ3Jhc2ggaW4gUmVu
ZGVyVGFibGVTZWN0aW9uOjpzcGxpdENvbHVtbgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNzEKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBI
eWF0dC4KLQotICAgICAgICBUZXN0czogZmFzdC90YWJsZS9jcmFzaC1zcGxpdENvbHVtbi0yLmh0
bWwKLSAgICAgICAgICAgICAgIGZhc3QvdGFibGUvY3Jhc2gtc3BsaXRDb2x1bW4tMy5odG1sCi0g
ICAgICAgICAgICAgICBmYXN0L3RhYmxlL2NyYXNoLXNwbGl0Q29sdW1uLmh0bWwKLQotICAgICAg
ICBUaGUgb2xkIGNvZGUgd291bGQgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQg
ZWFjaCBSZW5kZXJUYWJsZVNlY3Rpb24KLSAgICAgICAgY2FuIHNldCBpdHMgbV9uZWVkc0NlbGxS
ZWNhbGMgZmxhZyBpbmRlcGVuZGVudGx5IG9mIHRoZSByZXN0LgotCi0gICAgICAgIFRoaXMgbWVh
bnMgdGhhdCB5b3UgY2Fubm90IGFzc3VtZSB0aGF0IHlvdSBjYW4gYWx3YXlzIHNwbGl0IG9yIGFw
cGVuZCBjb2x1bW5zIHRvCi0gICAgICAgIGFsbCB0aGUgc2VjdGlvbnMuIE91ciBhcHByb2FjaCBp
cyB0byBza2lwIHNlY3Rpb25zIG5lZWRpbmcgY2VsbCByZWNhbGMgaW4gc2V2ZXJhbAotICAgICAg
ICBwYXJ0cyBvZiB0aGUgY29kZSBhcyB0aGV5IHdpbGwgYmUgcHJvcGVybHkgcmVzZXQgdG8gdGhl
IHRhYmxlJ3MgcmVwcmVzZW50YXRpb25zCi0gICAgICAgIGR1cmluZyBhIGNlbGwgcmVjYWxjLgot
Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlOjpzcGxpdENvbHVtbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJs
ZTo6YXBwZW5kQ29sdW1uKToKLSAgICAgICAgU2tpcCBzZWN0aW9ucyBuZWVkaW5nIGNlbGwgcmVj
YWxjIGFzIHRoZXkgd2lsbCBiZSBwcm9wZXJseSB1cGRhdGVkIGxhdGVyLgotCi0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZVNlY3Rpb246OmFkZENlbGwpOgotICAgICAgICBJZ25vcmUgYSBzZWN0aW9uIG5lZWRp
bmcgY2VsbCByZWNhbGMgYXMgYWRkQ2VsbCB3aWxsIGJlIGNhbGxlZCBhZnRlciBzeW5jJ2luZwot
ICAgICAgICB0aGUgaW50ZXJuYWwgY29sdW1uIHJlcHJlc2VudGF0aW9uIGluIHJlY2FsY0NlbGxz
LgotCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnJlY2FsY0NlbGxzKToK
LSAgICAgICAgQ2xlYXIgdGhlIGZsYWcgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24g
dG8gYWN0aXZhdGUgdGhlIHByZXZpb3VzIGZ1bmN0aW9ucy4KLSAgICAgICAgQWRkZWQgYSBjb21t
ZW50IGFzIHRvIHdoeSB0aGlzIGlzIGZpbmUuCi0KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlU2VjdGlvbjo6YXBwZW5kQ29sdW1uKToKLSAgICAgICAgQWRkZWQgYW4gQVNTRVJULiBJZiB3
ZSBuZWVkIGNlbGwgcmVjYWxjLCB3ZSBzaG91bGQgTkVWRVIgdXBkYXRlIG1fZ3JpZCBvdXRzaWRl
Ci0gICAgICAgIG9mIHJlY2FsY0NlbGxzKCkuCi0KLTIwMTEtMTEtMDkgIEFya28gU2FoYSAgPGFy
a29AbW90b3JvbGEuY29tPgotCi0gICAgICAgIE1pY3JvZGF0YTogZmFzdC9kb20vTWljcm9EYXRh
L2l0ZW1pZC1hdHRyaWJ1dGUtdGVzdC5odG1sIGFzc2VydGlvbiBmYWlsdXJlIGluIEVsZW1lbnQ6
OmdldFVSTEF0dHJpYnV0ZSgpLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzE1MTAKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQot
ICAgICAgICBPdmVycmlkZSBpc1VSTEF0dHJpYnV0ZSgpIGZvciBIVE1MRWxlbWVudCBhbmQgcmV0
dXJuIHRydWUgaWYgYXR0cmlidXRlIGlzIGl0ZW1pZEF0dHIuCi0gICAgICAgIEFsbCB0aGUgY2xh
c3NlcyBkZXJpdmVkIGZyb20gSFRNTEVsZW1lbnQgb3ZlcnJpZGVzIHRoaXMgZnVuY3Rpb24gc2hv
dWxkIHJldHVybiB0cnVlIGlmIGF0dHJpYnV0ZSBpcyBpdGVtaWRBdHRyLgotICAgICAgICBSZW1v
dmVkIEhUTUxJRnJhbWVFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSgpIG1ldGhvZCBhcyBIVE1MRnJh
bWVFbGVtZW50QmFzZSBhbHJlYWR5IHRha2VzIGNhcmUgb2YgaXQuCi0KLSAgICAgICAgVGVzdDog
ZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1pZC1hdHRyaWJ1dGUtdGVzdC0wMDEuaHRtbAotCi0gICAg
ICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1M
QW5jaG9yRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAqIGh0bWwvSFRNTEJhc2VF
bGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxCYXNlRWxlbWVudDo6aXNVUkxBdHRy
aWJ1dGUpOgotICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAqIGh0bWwv
SFRNTEJ1dHRvbkVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTEJ1dHRvbkVsZW1l
bnQ6OmlzVVJMQXR0cmlidXRlKToKLSAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0gICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5oOgotICAgICAgICAqIGh0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MRW1iZWRFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0g
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0gICAgICAgICogaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50QmFzZTo6
aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAqIGh0bWwvSFRNTEh0bWxFbGVtZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkhUTUxIdG1sRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAg
ICAqIGh0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwOgotICAgICAgICAqIGh0bWwvSFRNTElGcmFt
ZUVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0gICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6
Ci0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKToKLSAgICAgICAgKiBodG1sL0hUTUxN
b2RFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNb2RFbGVtZW50Ojppc1VSTEF0
dHJpYnV0ZSk6Ci0gICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAq
IGh0bWwvSFRNTFBhcmFtRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MUGFyYW1F
bGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0gICAgICAgICogaHRtbC9IVE1MUXVvdGVFbGVtZW50
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxRdW90ZUVsZW1lbnQ6OmlzVVJMQXR0cmlidXRl
KToKLSAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkhUTUxTY3JpcHRFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZSk6Ci0gICAgICAgICogaHRtbC9I
VE1MU291cmNlRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVu
dDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAqIGh0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlQ2VsbEVsZW1lbnQ6OmlzVVJMQXR0cmli
dXRlKToKLSAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRhYmxlRWxlbWVudDo6aXNVUkxBdHRyaWJ1dGUpOgotICAgICAgICAqIGh0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
Ojppc1VSTEF0dHJpYnV0ZSk6Ci0KLTIwMTEtMTEtMDkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KLQotICAgICAgICBBWDogY3Jhc2ggd2hlbiBhY2Nlc3Npbmcgc2VsZWN0
ZWRUYWIgaW4gYSB0YWIgbGlzdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzA5MzgKLQotICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgotCi0g
ICAgICAgIFRoZXJlIHdlcmUgYSBmZXcgbWV0aG9kcyBhY2Nlc3NpbmcgbV9jaGlsZHJlbiBkaXJl
Y3RseSB3aXRob3V0IGZpcnN0IHZhbGlkYXRpbmcgdGhhdCB0aG9zZSBlbGVtZW50cwotICAgICAg
ICBuZWVkZWQgdG8gYmUgdXBkYXRlZCAoYmVjYXVzZSB0aGUgbGF5b3V0IGNoYW5nZWQpLiBDaGFu
Z2luZyB0aG9zZSB0byBjYWxsIGNoaWxkcmVuKCkgZW5zdXJlcwotICAgICAgICB0aGF0IHRoZXkg
d2lsbCBoYXZlIHRoZSBjb3JyZWN0IGNoaWxkcmVuLgotCi0gICAgICAgIFRlc3Q6IHBsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRhYi1jcmFzaC5odG1sCi0KLSAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNDaGVja2VkKToKLSAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNlbGVjdGVkUmFkaW9CdXR0b24pOgot
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2VsZWN0ZWRUYWJJ
dGVtKToKLSAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFyaWFM
aXN0Ym94VmlzaWJsZUNoaWxkcmVuKToKLSAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OnRhYkNoaWxkcmVuKToKLQotMjAxMS0xMS0wOSAgQW5kcmVhcyBLbGluZyAg
PGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgU2hyaW5rIEhUTUxDb2xsZWN0aW9uLgotICAg
ICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTkyOD4KLQotICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KLQotICAgICAgICBSZWFycmFuZ2UgdGhlIG1lbWJlcnMgb2YgSFRNTENvbGxl
Y3Rpb24sIGVmZmVjdGl2ZWx5IHNocmlua2luZwotICAgICAgICBpdCBieSAxNiBieXRlcyBvbiA2
NC1iaXQuIFRoaXMgcmVkdWNlcyBtZW1vcnkgY29uc3VtcHRpb24KLSAgICAgICAgYnkgNTMxIGtC
IHdoZW4gbG9hZGluZyB0aGUgZnVsbCBIVE1MNSBzcGVjLgotCi0gICAgICAgIE9uIDMyLWJpdCBp
dCBzaHJpbmtzIGJ5IDggYnl0ZXMsIHNhdmluZyAyNjUga0IuCi0KLSAgICAgICAgKiBodG1sL0hU
TUxDb2xsZWN0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uOjpIVE1M
Q29sbGVjdGlvbik6Ci0gICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5oOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OnR5cGUpOgotCi0yMDExLTExLTA5ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUgcmVkdW5kYW50IFtD
YW5CZUNvbnN0cnVjdGVkXSBJRExzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTg2OAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0K
LSAgICAgICAgSWYgYSBjbGFzcyBoYXMgW0NvbnN0cnVjdG9yXSBvciBbQ3VzdG9tQ29uc3RydWN0
b3JdLAotICAgICAgICB0aGVuIFtDYW5CZUNvbnN0cnVjdGVkXSBpcyBub3QgbmVjZXNzYXJ5Lgot
ICAgICAgICBUaGlzIHBhdGNoIGp1c3QgcmVtb3ZlcyBbQ2FuQmVDb25zdHJ1Y3RlZF0gZnJvbSBh
bGwgdGhlIGNsYXNzZXMKLSAgICAgICAgdGhhdCBhbHJlYWR5IGhhdmUgW0NvbnN0cnVjdG9yXSBv
ciBbQ3VzdG9tQ29uc3RydWN0b3JdLgotCi0gICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4g
YmVoYXZpb3IuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bTogQ29ycmVjdGVkIHR5cG8uIFRoaXMgY29ycmVjdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhpcyBw
YXRjaC4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDog
VXBkYXRlZCBhIHJ1bi1iaW5kaW5ncy10ZXN0cyByZXN1bHQuCi0gICAgICAgIChXZWJDb3JlOjpD
b25maWd1cmVWOFRlc3RPYmpUZW1wbGF0ZSk6Ci0gICAgICAgICogY3NzL1dlYktpdENTU01hdHJp
eC5pZGw6Ci0gICAgICAgICogZG9tL0JlZm9yZUxvYWRFdmVudC5pZGw6Ci0gICAgICAgICogZG9t
L0N1c3RvbUV2ZW50LmlkbDoKLSAgICAgICAgKiBkb20vRXJyb3JFdmVudC5pZGw6Ci0gICAgICAg
ICogZG9tL0V2ZW50LmlkbDoKLSAgICAgICAgKiBkb20vSGFzaENoYW5nZUV2ZW50LmlkbDoKLSAg
ICAgICAgKiBkb20vTWVzc2FnZUNoYW5uZWwuaWRsOgotICAgICAgICAqIGRvbS9NZXNzYWdlRXZl
bnQuaWRsOgotICAgICAgICAqIGRvbS9PdmVyZmxvd0V2ZW50LmlkbDoKLSAgICAgICAgKiBkb20v
UGFnZVRyYW5zaXRpb25FdmVudC5pZGw6Ci0gICAgICAgICogZG9tL1BvcFN0YXRlRXZlbnQuaWRs
OgotICAgICAgICAqIGRvbS9Qcm9ncmVzc0V2ZW50LmlkbDoKLSAgICAgICAgKiBkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsOgotICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVy
LmlkbDoKLSAgICAgICAgKiBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmlkbDoKLSAgICAgICAg
KiBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRsOgotICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuaWRs
OgotICAgICAgICAqIGh0bWwvVGV4dFRyYWNrQ3VlLmlkbDoKLSAgICAgICAgKiBodG1sL2NhbnZh
cy9BcnJheUJ1ZmZlci5pZGw6Ci0gICAgICAgICogaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRsOgot
ICAgICAgICAqIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGw6Ci0gICAgICAgICogaHRtbC9j
YW52YXMvRmxvYXQ2NEFycmF5LmlkbDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQxNkFycmF5
LmlkbDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQzMkFycmF5LmlkbDoKLSAgICAgICAgKiBo
dG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsOgotICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQxNkFy
cmF5LmlkbDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGw6Ci0gICAgICAg
ICogaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGw6Ci0gICAgICAgICogaHRtbC90cmFjay9UcmFj
a0V2ZW50LmlkbDoKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbi5pZGw6Ci0g
ICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5pZGw6Ci0gICAgICAgICogcGFnZS9XZWJLaXRQb2lu
dC5pZGw6Ci0gICAgICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoKLSAgICAgICAgKiB3
ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsOgotICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0
LmlkbDoKLSAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlci5pZGw6Ci0gICAgICAgICogd29y
a2Vycy9Xb3JrZXIuaWRsOgotICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5pZGw6Ci0gICAg
ICAgICogeG1sL1hTTFRQcm9jZXNzb3IuaWRsOgotCi0yMDExLTExLTA5ICBLZW4gQnVjaGFuYW4g
IDxrZW5yYkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgU1ZHIGZvcmVpZ25PYmplY3Qgd3Jvbmcg
Y29udGFpbmVyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NDc4MAotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBS
ZXN1Ym1pdHRpbmcgYSBwYXRjaCBvcmlnaW5hbGx5IGJ5IHNjb3R0bWdAY2hyb21pdW0ub3JnLgot
ICAgICAgICBJbiBkZXRlcm1pbmluZyB3aGVyZSB0byBhZGQgdG8gbV9wb3NpdGlvbmVkT2JqZWN0
cyBkdXJpbmcgYSByZXBhaW50LAotICAgICAgICBjb250YWluaW5nQmxvY2sgaXMgdXNlZCwgd2hp
Y2ggYWRkcyB0aGUgYWJzb2x1dGUgcG9zaXRpb25lZCBvYmplY3QgdG8KLSAgICAgICAgdGhlIGNv
bnRhaW5pbmcgZm9yZWlnbk9iamVjdC4gQnV0LCB3aGVuIHRoZSBjb250YWluZWQgb2JqZWN0IGlz
Ci0gICAgICAgIGRpcnRpZWQsIGNvbnRhaW5lcigpIHdhcyB1c2VkIHRvIGRpcnR5IHVwIHRoZSB0
cmVlLCB3aGljaCBza2lwcGVkIG92ZXIKLSAgICAgICAgdGhlIGZvcmVpZ25PYmplY3QgY2F1c2lu
ZyB0aGUgd3JvbmcgcGFyZW50IHRvIG5lZWRzTGF5b3V0KCkuIFRoaXMgZml4Ci0gICAgICAgIG1h
a2VzIGNvbnRhaW5lcigpIGFuZCBjb250YWluaW5nQmxvY2soKSBoYW5kbGUgc3ZnIGZvcmVpZ25P
YmplY3QncyBpbgotICAgICAgICB0aGUgc2FtZSB3YXkuCi0KLSAgICAgICAgVGhpcyBwYXRjaCB3
aWxsIGNhdXNlIHN2Zy9vdmVyZmxvdy9vdmVyZmxvdy1vbi1mb3JlaWduT2JqZWN0LnN2ZyB0bwot
ICAgICAgICByZXF1aXJlIHJlYmFzZWxpbmVkIHJlc3VsdHMgb24gcXQgYW5kIGd0ayBwb3J0cy4K
LQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0Ojpjb250YWluZXIpOgotCi0yMDExLTExLTA5ICBBbmRyZWFzIEtsaW5n
ICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBTaHJpbmsgU3R5bGVTaGVldCBvbiA2NC1i
aXQuCi0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcxOTIzPgotCi0gICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIE1vdmUgbV9kaXNhYmxlZCB0byB0aGUgdG9w
IHNvIGl0IGZvbGRzIGludG8gdGhlIHBhZGRpbmcgYXQKLSAgICAgICAgdGhlIGVuZCBvZiBSZWZD
b3VudGVkIG9uIDY0LWJpdCwgc2hyaW5raW5nIFN0eWxlU2hlZXQgYnkgOCBieXRlcy4KLQotICAg
ICAgICAqIGNzcy9TdHlsZVNoZWV0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXQ6
OlN0eWxlU2hlZXQpOgotICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Lmg6Ci0KLTIwMTEtMTEtMDkg
IEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIFN0eWxlU2hlZXQ6
IERldmlydHVhbGl6ZSBzdHlsZVNoZWV0Q2hhbmdlZCgpLgotICAgICAgICA8aHR0cDovL3dlYmtp
dC5vcmcvYi83MTkxMz4KLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQot
ICAgICAgICBTaW5jZSB0aGlzIG1lY2hhbmlzbSBpcyBvbmx5IHVzZWQgYnkgQ1NTU3R5bGVTaGVl
dCwgbW92ZSBpdCB0aGVyZS4KLSAgICAgICAgT3V0LW9mLWxpbmVkIFN0eWxlU2hlZXQ6OnNldERp
c2FibGVkKCkgc28gd2UgY2FuIGRvIGEgdHlwZSBjaGVjawotICAgICAgICBiZWZvcmUgaW52b2tp
bmcgaXQgZnJvbSB0aGVyZS4KLQotICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0Lmg6Ci0gICAg
ICAgICogY3NzL1N0eWxlU2hlZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6
c2V0RGlzYWJsZWQpOgotICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Lmg6Ci0KLTIwMTEtMTEtMDkg
IFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgotCi0gICAgICAgIFtR
dF0gVW5yZXZpZXdlZCwgYWRkaW5nIG1pc3NpbmcgZmlsZXMgdG8gdGhlIGJ1aWxkLgotCi0gICAg
ICAgICogVGFyZ2V0LnByaTogQWRkIENvbnRlbnRUeXBlUGFyc2VyLmNwcC9oCi0KLTIwMTEtMTEt
MDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbcmVmYWN0b3JpbmddIHJlbW92ZSBhIGJ1bmNoIG9mIG1ldGhvZHMgZnJvbSBK
YXZhU2NyaXB0U291cmNlRnJhbWVEZWxlZ2F0ZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MjYKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBG
ZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNl
RnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnJl
cXVlc3RDb250ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlLmNhbkVkaXRTb3VyY2UpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFT
Y3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuZWRpdENvbnRlbnQpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUucG9wdWxhdGVMaW5lR3V0dGVy
Q29udGV4dE1lbnUuZWxzZS5lZGl0QnJlYWtwb2ludENvbmRpdGlvbi5kaWRFZGl0QnJlYWtwb2lu
dENvbmRpdGlvbik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1l
LnByb3RvdHlwZS5wb3B1bGF0ZUxpbmVHdXR0ZXJDb250ZXh0TWVudS5lbHNlKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlTGlu
ZUd1dHRlckNvbnRleHRNZW51KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUucHJvdG90eXBlLmRpZEVkaXRDb250ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9vbk1vdXNlRG93bik6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6Ci0KLTIwMTEtMTEtMDkgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIE5vdCByZXZpZXdl
ZDogYW5ub3RhdGUgaW5zcGVjdG9yIGZyb250LWVuZCBqYXZhc2NyaXB0IHNvIHRoYXQgaXQgY29t
cGlsZWQgYWdhaW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1Nj
cmVlbi5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanM6
Ci0KLTIwMTEtMTEtMDkgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAg
ICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHI5OTcxMS4gKFNpZ25lZC91bnNpZ25lZCBj
b21wYXJlLikKLQotICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RG91YmxlVmFsdWVJbnRlcm5hbCk6Ci0K
LTIwMTEtMTEtMDkgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcm92aXNpb25hbGx5IGNoYW5nZSBTdHlsZXNTaWRlYmFy
UGFuZSBzZWN0aW9uIERPTSBsYXlvdXQgdG8gYWxsb3cgbWVkaWEgcXVlcmllcwotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MDIKLQotICAgICAgICBS
ZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3Bl
cnRpZXNTZWN0aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0
aW9uLnByb3RvdHlwZS5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQuc3VjY2Vzc0NhbGxiYWNrKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5l
ZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXB1dGVk
U3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUucmVidWlsZENvbXB1dGVkVHJhY2UpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkJsYW5rU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5
cGUuZWRpdGluZ1NlbGVjdG9yQ29tbWl0dGVkLnN1Y2Nlc3NDYWxsYmFjayk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuQmxhbmtTdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0aW5n
U2VsZWN0b3JDb21taXR0ZWQpOgotCi0yMDExLTExLTA5ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdA
d2Via2l0Lm9yZz4KLQotICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZTogRml4IHVwIGJpdGZpZWxk
IG1lbWJlciB0eXBlcy4KLSAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE3NTE+Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgVGhlIHByaW1pdGl2
ZSB1bml0IHR5cGUgZG9lc24ndCBuZWVkIHRvIGJlIGEgc2lnbmVkIHZhbHVlLAotICAgICAgICBh
bmQgYnkgbWFraW5nIGl0IHVuc2lnbmVkLCB3ZSBjYW4gc2hhdmUgb25lIGJpdCBvZmYgb2YgaXQu
Ci0gICAgICAgIEZ1cnRoZXJtb3JlLCBtX2hhc0NhY2hlZENTU1RleHQgYW5kIG1faXNRdWlya1Zh
bHVlIHNob3VsZCBiZQotICAgICAgICBib29sLCBub3QgdW5zaWduZWQuCi0KLSAgICAgICAgKiBj
c3MvQ1NTVmFsdWUuaDoKLQotMjAxMS0xMS0wOSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdv
b2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZGlzY2FyZCBpbmplY3RlZCBzY3Jp
cHRzIHVwb24gZnJvbnQtZW5kIGRpc2Nvbm5lY3QuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTgyMwotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkg
U2VtaWtoYXRza3kuCi0KLSAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxl
ZC9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC5odG1sCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmNsZWFy
RnJvbnRlbmQpOgotCi0yMDExLTExLTA5ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBDU1M6IFJlbW92ZSBlbXB0eSB2YWx1ZSBhbmQgcnVsZSBkZXN0cnVjdG9y
cy4KLSAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE5MDE+Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgKiBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5oOgotICAgICAgICAqIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaDoKLSAgICAgICAg
KFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKToKLSAgICAgICAgKiBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1h
Z2VWYWx1ZTo6Y3JlYXRlKToKLSAgICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgotICAg
ICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVW
YWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NGbGV4VmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2VTcmNWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NGdW5jdGlvblZhbHVlLmg6Ci0g
ICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmNwcDoKLSAgICAgICAgKiBjc3MvQ1NTUGFnZVJ1bGUu
aDoKLSAgICAgICAgKiBjc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUuaDoKLSAgICAgICAgKiBjc3Mv
Q1NTVmFsdWVMaXN0Lmg6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmg6Ci0g
ICAgICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmg6Ci0KLTIwMTEtMTEtMDkgIEFu
ZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTUzogUmVtb3ZlIHJl
ZHVkYW50IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIG1hY3Jvcy4KLSAgICAgICAgPGh0dHA6Ly93
ZWJraXQub3JnL2IvNzE4OTc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
Ci0KLSAgICAgICAgRXZlcnl0aGluZyB0aGF0IGluaGVyaXRzIGZyb20gUmVmQ291bnRlZDxUPiBp
cyBhbHJlYWR5IGZhc3QtYWxsb2NhdGVkLAotICAgICAgICBzbyB3ZSBkb24ndCBuZWVkIHRoaXMg
aW4gc3ViY2xhc3Nlcy4KLQotICAgICAgICAqIGNzcy9DU1NJbWFnZVZhbHVlLmg6Ci0gICAgICAg
ICogY3NzL0NTU0ltcG9ydFJ1bGUuaDoKLSAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU2hhZGVyVmFs
dWUuaDoKLQotMjAxMS0xMS0wOSAgSWdvciBPbGl2ZWlyYSAgPGlnb3Iub2xpdmVpcmFAb3BlbmJv
c3NhLm9yZz4KLQotICAgICAgICBbVGV4dHVyZU1hcHBlcl0gQ2xlYW4gdXAgVGV4dHVyZU1hcHBl
ckFuaW1hdGlvbiBjb25zdHJ1Y3RvcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzE4OTIKLQotICAgICAgICBSZW1vdmUgY29weUFuaW1hdGlvblZhbHVl
IGFuZCBjb3B5VGltaW5nRnVuY3Rpb24gc3RhdGljIGZ1bmN0aW9ucy4gS2V5ZnJhbWVMaXN0IGhh
cwotICAgICAgICBhIGNvcHkgY29uc3RydWN0b3IgYW5kIGl0IGRvZXMgbm90IG5lZWQgYW55bW9y
ZSB0aGVzZSBjb3B5IGZ1bmN0aW9ucy4KLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVz
bWFubi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
Tm9kZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpUZXh0
dXJlTWFwcGVyQW5pbWF0aW9uKToKLQotMjAxMS0xMS0wOSAgQWxleGFuZHJ1IENoaWN1bGl0YSAg
PGFjaGljdUBhZG9iZS5jb20+Ci0KLSAgICAgICAgW1BhcnQgMV0gUGFyc2UgdGhlIGN1c3RvbSgp
IGZ1bmN0aW9uIGluIC13ZWJraXQtZmlsdGVyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MQotCi0gICAgICAgIEFkZGVkIGNvZGUgdGhhdCBwYXJz
ZXMgdGhlIGN1c3RvbSgpIGZ1bmN0aW9uLiBUaGVyZSdzIG5vIGNvZGUKLSAgICAgICAgZm9yIHRo
ZSBDU1NTdHlsZVNlbGVjdG9yIHlldCwgc28gdGhlIG9ubHkgd2F5IHRvIHRlc3QgdGhpcyB3YXMg
dG8KLSAgICAgICAgY2hlY2sgdGhlICJzdHlsZVNoZWV0cyIgcnVsZXMuCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgotCi0gICAgICAgIFRlc3RzOiBjc3MzL2ZpbHRlcnMvY3Vz
dG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuaHRtbAotICAgICAgICAgICAgICAg
Y3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5odG1sCi0KLSAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFRhcmdldC5wcmk6Ci0gICAgICAg
ICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAgICAg
KiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OmNvbXB1dGVkRmlsdGVyKToKLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OmZpbHRlckluZm9Gb3JOYW1lKToKLSAgICAgICAgKFdlYkNvcmU6OmFjY2VwdENv
bW1hT3BlcmF0b3IpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUN1c3RvbUZp
bHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRmlsdGVyKToKLSAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmg6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6ZmlsdGVyT3BlcmF0aW9uRm9yVHlwZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKToKLSAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1Rl
eHQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgotICAgICAgICAqIGNz
cy9DU1NWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgotICAgICAgICAq
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OnR5cGVVc2VzU3BhY2VTZXBhcmF0b3IpOgotICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAq
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0
ZXJWYWx1ZS5pZGw6Ci0gICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmg6IEFkZGVk
LgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU2hhZGVyVmFsdWU6OmNyZWF0ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6V2ViS2l0Q1NTU2hhZGVyVmFsdWUp
OgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmg6
Ci0KLTIwMTEtMTEtMDkgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgV2ViIEluc3BlY3RvcjogZXhjZXB0aW9uIGluIHJlbW90ZSBmcm9udC1lbmQgbG9h
ZCBoYW5kbGVyIGR1ZSB0byB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIHdvcmtlck1hbmFnZXIKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODg5Ci0KLSAg
ICAgICAgTW92ZSBjYWxscyB0byBXb3JrZXJNYW5hZ2VyIGxvYWQgaGFuZGxlcnMgaW50byBkb0xv
YWRlZERvbmUgbWV0aG9kIHdoaWNoIGlzCi0gICAgICAgIGNhbGxlZCBpbiBjYXNlIG9mIHJlbW90
ZSBmcm9udC1lbmQgdG9vLgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0K
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5sb2FkZWQpOgotCi0yMDExLTExLTA5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4dHJhY3QgQXBwbGlj
YXRpb25DYWNoZU1vZGVsIGZyb20gQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODUwCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAgICAgKiBpbnNwZWN0
b3IvY29tcGlsZS1mcm9udC1lbmQuc2g6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9B
cHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxp
Y2F0aW9uQ2FjaGVJdGVtc1ZpZXcpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9u
Q2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlLl91cGRhdGUpOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQXBwbGljYXRpb25DYWNoZU1vZGVsLmpzOiBBZGRlZC4KLSAgICAgICAgKFdlYklu
c3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFw
cGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90b3R5cGUuZ2V0QXBwbGljYXRpb25DYWNoZXNBc3luYyk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZURpc3BhdGNoZXIpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVEaXNwYXRjaGVyLnByb3RvdHlwZS51
cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBs
aWNhdGlvbkNhY2hlRGlzcGF0Y2hlci5wcm90b3R5cGUudXBkYXRlTmV0d29ya1N0YXRlKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLnJlc2V0KToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlUmVzb3VyY2VU
cmVlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuc2hv
d0FwcGxpY2F0aW9uQ2FjaGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVs
LnByb3RvdHlwZS5faW5pdGlhbGl6ZUFwcGxpY2F0aW9uQ2FjaGVNb2RlbCk6Ci0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWw6Ci0KLTIwMTEtMTEtMDkgIFZzZXZvbG9kIFZsYXNvdiAgPHZz
ZXZpa0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2VzUGFu
ZWwgc2hvdWxkIHN1cHBvcnQgYWRkaW5nIHN1YnRpdGxlIHRvIGFueSBCYXNlU3RvcmFnZVRyZWVF
bGVtZW50LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE4NDgKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUuZ2V0IGRpc3Bs
YXlOYW1lKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5fdXBkYXRlRGlzcGxheU5hbWUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkJhc2VT
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVUaXRsZSk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVN1YnRpdGxl
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlw
ZS5zZXQgdGl0bGVUZXh0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVF
bGVtZW50LnByb3RvdHlwZS5nZXQgc3VidGl0bGVUZXh0KToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZS5zZXQgc3VidGl0bGVUZXh0KToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50LnByb3RvdHlwZS5mcmFtZU5hdmln
YXRlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVUcmVlRWxlbWVudC5wcm90b3R5cGUu
Z2V0IGl0ZW1VUkwpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQucHJv
dG90eXBlLm9uc2VsZWN0KToKLQotMjAxMS0xMS0wOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogY3Jhc2ggdXBvbiBJbnNwZWN0
b3JWYWx1ZSBzZXJpYWxpemF0aW9uIHRoYXQgaGFzIDAgdmFsdWUgLyBhcnJheSBlbnRyeS4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODA2Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICBUZXN0OiBpbnNw
ZWN0b3IvZWxlbWVudHMvcmVzb2x2ZS1hbGllbi1ub2RlLmh0bWwKLQotICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01BZ2VudDo6cmVzb2x2ZU5vZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1
ZXMuaDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck9iamVjdDo6c2V0VmFsdWUpOgotICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yT2JqZWN0OjpzZXRPYmplY3QpOgotICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yT2JqZWN0OjpzZXRBcnJheSk6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JBcnJheTo6cHVzaFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFycmF5
OjpwdXNoT2JqZWN0KToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFycmF5OjpwdXNoQXJy
YXkpOgotCi0yMDExLTExLTA4ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQot
ICAgICAgICBNb3ZlIENTU1ByaW1pdGl2ZVZhbHVlIGJpdGZpZWxkcyB1cCBpbnRvIENTU1ZhbHVl
LgotICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTgzNT4KLQotICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBNb3ZlIG1fdHlwZSAoYW5kIHJlbmFtZSBpdCB0
byBtX3ByaW1pdGl2ZVVuaXRUeXBlKSwKLSAgICAgICAgbV9oYXNDYWNoZWRDU1NUZXh0IGFuZCBt
X2lzUXVpcmtWYWx1ZSBmcm9tIENTU1ByaW1pdGl2ZVZhbHVlCi0gICAgICAgIHVwIGludG8gQ1NT
VmFsdWUgdG8gc2hhcmUgdGhlIHNwYWNlLgotCi0gICAgICAgIFRoaXMsIHRvZ2V0aGVyIHdpdGgg
dGhlIGRldmlydHVhbGl6YXRpb24gb2YgQ1NTVmFsdWUgdGhhdAotICAgICAgICBoYXBwZW5lZCBv
biA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTY2Nj4sIHJlZHVjZXMgdGhlIHNpemUKLSAgICAgICAg
b2YgQ1NTUHJpbWl0aXZlVmFsdWUgYnkgb25lIENQVSB3b3JkLgotCi0gICAgICAgIE1vcmUgc3Bl
Y2lmaWNhbGx5LCB3ZSBnbyBmcm9tIDE2IHRvIDEyIGJ5dGVzIG9uIDMyLWJpdCwKLSAgICAgICAg
YW5kIGZyb20gMjQgdG8gMTYgYnl0ZXMgb24gNjQtYml0LgotCi0gICAgICAgICogY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NQcmltaXRpdmVWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
aW5pdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RG91YmxlVmFsdWVJbnRlcm5h
bCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0U3RyaW5nVmFsdWUp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldENvdW50ZXJWYWx1ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0UmVjdFZhbHVlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpnZXRRdWFkVmFsdWUpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFJHQkNvbG9yVmFsdWUpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFBhaXJWYWx1ZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0SWRlbnQpOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJpbWl0aXZlVmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKToKLSAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
Ojppc0xlbmd0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0
aXZlVHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6c2V0UHJpbWl0
aXZlVHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0Q291bnRl
clZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpnZXRSZWN0VmFs
dWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFF1YWRWYWx1ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0UkdCQTMyVmFsdWUpOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFBhaXJWYWx1ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RGFzaGJvYXJkUmVnaW9uVmFsdWUp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFNoYXBlVmFsdWUpOgot
ICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIHNob3J0KToKLSAgICAgICAgKFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciB1bnNpZ25lZCBzaG9ydCk6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgaW50KToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciB1bnNpZ25lZCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgZmxvYXQpOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIENvbHVtblNwYW4pOgotICAgICAgICAq
IGNzcy9DU1NWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OkNTU1ZhbHVlKToK
LQotMjAxMS0xMS0wOSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgot
Ci0gICAgICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5Ci0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQyOQotCi0gICAg
ICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4K
LQotICAgICAgICBBZGRlZCBkZWZpbmVPd25Qcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUsIGNo
YW5nZWQgYWxsIHRoZSB2aXJ0dWFsIAotICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2YgZGVmaW5l
T3duUHJvcGVydHkgdG8gc3RhdGljIG9uZXMsIGFuZCByZXBsYWNlZCAKLSAgICAgICAgYWxsIGNh
bGwgc2l0ZXMgd2l0aCBjb3JyZXNwb25kaW5nIGxvb2t1cHMgaW4gdGhlIE1ldGhvZFRhYmxlLgot
Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgotICAgICAgICAo
V2ViQ29yZTo6SlNET01XaW5kb3c6OmRlZmluZU93blByb3BlcnR5KToKLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2lu
ZG93U2hlbGw6OmRlZmluZU93blByb3BlcnR5KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1NoZWxsLmg6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0KLTIwMTEtMTEtMDkgIEtlbnRhcm8g
SGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIE1ha2UgW0NhbkJlQ29uc3Ry
dWN0ZWRdIElETCByZWR1bmRhbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxODcxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQot
ICAgICAgICBBcyB0aGUgZmlyc3Qgc3RlcCB0byByZW1vdmUgW0NhbkJlQ29uc3RydWN0ZWRdIElE
TCBjb21wbGV0ZWx5LAotICAgICAgICB3ZSBuZWVkIHRvIG1ha2UgW0NhbkJlQ29uc3RydWN0ZWRd
IElETCByZWR1bmRhbnQuCi0gICAgICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgJ1tDYW5CZUNvbnN0
cnVjdGVkXScgaW4gQ29kZUdlbmVyYXRvclY4LnBtCi0gICAgICAgIHdpdGggJ1tDYW5CZUNvbnN0
cnVjdGVkXSBvciBbQ29uc3RydWN0b3JdIG9yIFtDdXN0b21Db25zdHJ1Y3Rvcl0gb3IgW1Y4Q3Vz
dG9tQ29uc3RydWN0b3JdJywKLSAgICAgICAgYW5kIHJlcGxhY2VzICdbQ2FuQmVDb25zdHJ1Y3Rl
ZF0nIGluIENvZGVHZW5lcmF0b3JKUy5wbQotICAgICAgICB3aXRoICdbQ2FuQmVDb25zdHJ1Y3Rl
ZF0gb3IgW0NvbnN0cnVjdG9yXSBvciBbQ3VzdG9tQ29uc3RydWN0b3JdIG9yIFtKU0N1c3RvbUNv
bnN0cnVjdG9yXScKLQotICAgICAgICBBbiBleGFtcGxlOgotICAgICAgICAgICAgYmVmb3JlOiAn
W0NhbkJlQ29uc3RydWN0ZWRdIGFuZCAhW1Y4Q3VzdG9tQ29uc3RydWN0b3JdJwotICAgICAgICAg
ICAgYWZ0ZXI6ICcoW0NhbkJlQ29uc3RydWN0ZWRdIG9yIFtDb25zdHJ1Y3Rvcl0gb3IgW0N1c3Rv
bUNvbnN0cnVjdG9yXSBvciBbVjhDdXN0b21Db25zdHJ1Y3Rvcl0pIGFuZCAhW1Y4Q3VzdG9tQ29u
c3RydWN0b3JdJyA8PT0+ICcoW0NhbkJlQ29uc3RydWN0ZWRdIG9yIFtDb25zdHJ1Y3Rvcl0gb3Ig
W0N1c3RvbUNvbnN0cnVjdG9yXSkgYW5kICFbVjhDdXN0b21Db25zdHJ1Y3Rvcl0nCi0KLSAgICAg
ICAgVGVzdHM6IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAotCi0gICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IE1vZGlmaWVkIGFzIEkgZGVzY3Jp
YmVkIGFib3ZlLgotICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKToKLSAg
ICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6IFVwZGF0ZWQgYSBydW4tYmluZGluZ3MtdGVz
dHMgcmVzdWx0LgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqQ29uc3RydWN0b3I6OmNvbnN0
cnVjdEpTVGVzdE9iaik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6
Z2V0Q29uc3RydWN0RGF0YSk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5oOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpWOFRlc3RPYmo6OmNvbnN0cnVj
dG9yQ2FsbGJhY2spOgotCi0yMDExLTExLTA5ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgotCi0gICAgICAgIHN2ZyBmYWlsdXJlcyBhZnRlciByOTk1NjEKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODMwCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgRml4IHJlZ3Jlc3Npb25z
IGluIHN2Zy96b29tL3BhZ2UvcmVsYXRpdmUtc2l6ZWQtZG9jdW1lbnQtc2Nyb2xsYmFycy5zdmcg
YW5kIHN2Zy96b29tL3BhZ2Uvem9vbS1zdmctYXMtcmVsYXRpdmUtaW1hZ2UuaHRtbC4KLSAgICAg
ICAgRml4IG1lcmdpbmcgcHJvYmxlbSBpbiByOTk1NjEsIGJ1ZyA3MTc4MC4gSXQgbW92ZWQgc2V2
ZXJhbCBtZXRob2RzIGZyb20gU1ZHTGVuZ3RoIHRvIFNWR0xlbmd0aENvbnRleHQsIGFuZCB1bmZv
cnR1bmF0ZWx5Ci0gICAgICAgIHRoZSBTVkdMZW5ndGggY2hhbmdlcyBwYXJ0IG9mIHI5ODg1Miwg
YnVnIDQ3MTU2LCBnb3QgcmV2ZXJ0ZWQgYWdhaW4sIG1ha2luZyB0aGVzZSB0d28gdGVzdHMgZmFp
bC4KLQotICAgICAgICAqIHN2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlNWR0xlbmd0aENvbnRleHQ6OmRldGVybWluZVZpZXdwb3J0KToKLQotMjAxMS0xMS0wOSAg
UmFrZXNoIEtOICA8cmFrZXNoLmtuQG1vdG9yb2xhLmNvbT4KLQotICAgICAgICBTZWxlY3QgbXVs
dGlwbGUgb3B0aW9ucyB3aXRoIG1vdXNlIGRyYWcgaW4gU2VsZWN0IGVsZW1lbnQuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyOAotCi0gICAgICAg
IFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KLQotICAgICAgICBNdWx0aXBsZSBzZWxlY3Rpb24g
b2Ygb3B0aW9uIGVsZW1lbnRzIGluIHNlbGVjdCBlbGVtZW50IHdpdGggYW4gbW91c2UgZHJhZy4K
LSAgICAgICAgT3RoZXIgYnJvd3NlcnMoSUUsIEZpcmVmb3gsIE9wZXJhKSBzdXBwb3J0IHRoaXMg
ZmVhdHVyZS4KLQotICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVt
ZW50cy13aXRoLW1vdXNlLWRyYWcuaHRtbAotCi0gICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZURyYWdnZWRF
dmVudCk6Ci0gICAgICAgIEFsbG93IGF1dG8gc2Nyb2xsIHRvIGJlIGZpcmVkIGlmIGN1cnJlbnQg
bm9kZShvcHRpb24pIHVuZGVyIG1vdXNlIGRvZXMgbm90IGhhdmUgcmVuZGVyZXIKLSAgICAgICAg
YnV0IGl0cyBjb250YWluZXIgbm9kZShzZWxlY3QpIGNhbiBhdXRvc2Nyb2xsIGFuZCBoYXMgcmVu
ZGVyZXIgZm9yIHNwZWNpZmljIGNhc2Ugb2YgTGlzdEJveAotCi0yMDExLTExLTA5ICBTaW1vbiBI
YXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KLQotICAgICAgICBbUXRdIEJ1aWxk
IHN5c3RlbSBjbGVhbnVwCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTgxNQotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuLgotCi0gICAgICAgICogVGFyZ2V0LnByaTogUmVtb3ZlZCBDb2RlR2VuSFNMLmNwcCBm
cm9tIHRoZSBhbmdsZSBidWlsZC4gSW4gdGhlIGFuZ2xlIGJ1aWxkIHRoZSBiYWNrLWVuZCBoYXMg
dG8KLSAgICAgICAgYmUgZWl0aGVyIEdMU0wgb3IgSFNMLCBpdCBjYW4ndCBiZSBib3RoLiBNYWtl
IGEgY2hvaWNlIGZvciBHTFNMIGFzIHRoYXQncyB3aGF0IGl0IHNlZW1zIHRvIGJlIHVzZWQgZm9y
Ci0gICAgICAgIGF0IHRoZSBtb21lbnQuCi0KLTIwMTEtMTEtMDkgIE1hcmsgUm93ZSAgPG1yb3dl
QGFwcGxlLmNvbT4KLQotICAgICAgICBGaXggdGhlIGJ1aWxkLgotCi0gICAgICAgICogV2ViQ29y
ZS5leHAuaW46IEV4cG9ydCB0aGUgcmlnaHQgc3ltYm9sIG5hbWVzLgotICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTWFrZSB0aGUgaGVhZGVyIGZpbGUgYXZhaWxh
YmxlIG91dHNpZGUgb2YgV2ViQ29yZS4KLQotMjAxMS0xMS0wOCAgU2ltb24gSGF1c21hbm4gIDxz
aW1vbi5oYXVzbWFubkBub2tpYS5jb20+Ci0KLSAgICAgICAgW1F0XSBSZXBsYWNlIHVzZSBvZiBR
QXBwbGljYXRpb24gd2l0aCBRR3VpQXBwbGljYXRpb24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzk0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVhcyBLbGluZy4KLQotICAgICAgICAqIFRhcmdldC5wcmk6IEFkZCBjb21wYXQgaW5jbHVkZSBk
aXIgd2hlbiBjb21waWxpbmcgd2l0aCBRdCA0LgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2luZG93UXQuY3BwOgotICAgICAgICAoRnVsbFNjcmVl
blZpZGVvV2luZG93OjpjbG9zZUV2ZW50KTogUmVwbGFjZSB1c2Ugb2YgUUFwcGxpY2F0aW9uIHdp
dGggUUd1aUFwcGxpY2F0aW9uLgotICAgICAgICAoRnVsbFNjcmVlblZpZGVvV2luZG93OjpoaWRl
Q3Vyc29yKTogRGl0dG8uCi0gICAgICAgIChGdWxsU2NyZWVuVmlkZW9XaW5kb3c6OnNob3dDdXJz
b3IpOiBEaXR0by4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9UaWxlUXQuY3BwOiBS
ZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVzaW9uIG9mIFFBcHBsaWNhdGlvbi4KLSAgICAgICAgKiBw
bGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5jcHA6IFJlcGxhY2UgdXNlIG9mIFFBcHBsaWNhdGlvbiB3
aXRoIFFHdWlBcHBsaWNhdGlvbi4KLSAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZFF0OjpDbGlw
Ym9hcmRRdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRRdDo6Y2xlYXJEYXRhKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZFF0OjpjbGVhckFsbERhdGEpOgotICAgICAgICAoV2Vi
Q29yZTo6Q2xpcGJvYXJkUXQ6OnNldERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJk
UXQ6OmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDbGlwYm9h
cmRRdDo6d3JpdGVVUkwpOgotICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkUXQ6OndyaXRlUmFu
Z2UpOgotICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkUXQ6OndyaXRlUGxhaW5UZXh0KToKLSAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9QYXN0ZWJvYXJkUXQuY3BwOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OlBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlBh
c3RlYm9hcmQ6OmNhblNtYXJ0UmVwbGFjZSk6Ci0gICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJk
OjpwbGFpblRleHQpOgotICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFn
bWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZVBsYWluVGV4dCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZVVSTCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKToKLQotMjAxMS0xMS0wOSAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+Ci0KLSAgICAgICAgTWFjIEJ1aWxkIGZpeCBwYXJ0
IDI6IE9vcHMsIHVzZSB0aGUgY29ycmVjdCB3dGYvIHByZWZpeCBmb3IgdGhlIFdURiBpbmNsdWRl
LgotCi0gICAgICAgICogcGFnZS9TZWN1cml0eVBvbGljeS5jcHA6Ci0KLTIwMTEtMTEtMDkgIFNp
bW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgotCi0gICAgICAgIFByb3Nw
ZWN0aXZlIGJ1aWxkIGZpeCBmb3IgV2luZG93czogSW5jbHVkZSBNYWluVGhyZWFkLmggZm9yIEFT
U0VSVChpc01haW5UaHJlYWQoKSkKLSAgICAgICAgdG8gY29tcGlsZS4KLQotICAgICAgICAqIHBh
Z2UvU2VjdXJpdHlQb2xpY3kuY3BwOgotCi0yMDExLTExLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgTW92ZSBzdGF0aWMgInBvbGljeSIgc3RhdGUgZnJvbSBT
ZWN1cml0eU9yaWdpbi5jcHAgdG8gU2VjdXJpdHlQb2xpY3kuY3BwCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc1NQotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIFRoZSBTZWN1cml0eU9yaWdpbiBjbGFzcyBzaG91
bGQgYmUgZm9jdXNlZCBvbiByZXByZXNlbnRpbmcgYSB3ZWIKLSAgICAgICAgc2VjdXJpdHkgb3Jp
Z2luIHJhdGhlciB0aGFuIGJlaW5nIGEgZHVtcGluZyBncm91bmQgZm9yIGFsbAotICAgICAgICBz
ZWN1cml0eS1yZWxhdGVkIHN0YXRlLiAgVGhpcyBwYXRjaCBtb3ZlcyBhIGJ1bmNoIG9mIHN0YXRp
YyAicG9saWN5IgotICAgICAgICBzdGF0ZSBpbnRvIGl0cyBvd24gU2VjdXJpdHlQb2xpY3kgY2xh
c3MuCi0KLSAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6
Ci0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojppbml0U2VjdXJpdHlDb250ZXh0KToKLSAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayk6
Ci0gICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKLSAgICAgICAgKiBsb2FkZXIvUGluZ0xv
YWRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQaW5nTG9hZGVyOjpsb2FkSW1hZ2UpOgotICAg
ICAgICAoV2ViQ29yZTo6UGluZ0xvYWRlcjo6c2VuZFBpbmcpOgotICAgICAgICAoV2ViQ29yZTo6
UGluZ0xvYWRlcjo6cmVwb3J0Q29udGVudFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uKToKLSAgICAg
ICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3ViZnJh
bWVMb2FkZXI6OmxvYWRTdWJmcmFtZSk6Ci0gICAgICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9h
ZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpjcmVhdGUpOgot
ICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW46OmNhblJlcXVlc3QpOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW46OmNhbkRpc3BsYXkpOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmdyYW50
TG9hZExvY2FsUmVzb3VyY2VzKToKLSAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmg6Ci0K
LTIwMTEtMTEtMDggIEFudGFyeWFtaSBQYW5kaWEgIDxhbnRhcnlhbWkucGFuZGlhQG1vdG9yb2xh
LmNvbT4KLQotICAgICAgICBEZWZhdWx0IDxzZWxlY3QgbXVsdGlwbGU+IGV4cGFuZHMgdXAgdG8g
MTAgaXRlbXMgaW5zdGVhZCBvZiBzaG93aW5nIDQuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgotCi0gICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL3NlbGVjdC1jbGllbnRoZWlnaHQt
bGFyZ2Utc2l6ZS5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3NlbGVjdC1jbGllbnRo
ZWlnaHQtd2l0aC1tdWx0aXBsZS1hdHRyLmh0bWwKLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNpemUpOgot
Ci0yMDExLTExLTA4ICBDaHJpcyBFdmFucyAgPGNldmFuc0Bnb29nbGUuY29tPgotCi0gICAgICAg
IENyYXNoIGFjY2Vzc2luZyBmb250IGZhY3QgcnVsZSBwYXJlbnQKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODYwCi0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBUZXN0OiBmYXN0L2Nzcy9jc3MtZm9udGZhY2UtcnVs
ZS1jcmFzaC5odG1sCi0KLSAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlUnVsZTo6fkNTU0ZvbnRGYWNlUnVsZSk6IHRlbGwgb3Vy
IGNoaWxkIHJ1bGUgd2hlbiB3ZSBhcmUgZ29pbmcgYXdheS4KLQotMjAxMS0xMS0wOCAgQWRhbSBL
bGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBVc2UgYSB0eXBlZGVmIGZvciBF
eGNlcHRpb25Db2RlIGluIGFsbCBoZWFkZXIgZmlsZXMgaW5zdGVhZCBvZiBpbmNsdWRpbmcgRXhj
ZXB0aW9uQ29kZS5oCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTg0NQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAg
U29tZSBoZWFkZXJzIGluIFdlYkNvcmUgaW5jbHVkZSBFeGNlcHRpb25Db2RlLmggdG8gZ2V0IHRo
ZSBFeGNlcHRpb25Db2RlIHR5cGVkZWYsCi0gICAgICAgIHdoaWxlIG90aGVycyBwcm92aWRlIHRo
ZSB0eXBlZGVmIHRoZW1zZWx2ZXMuIFBlciBEYXJpbiwgdGhlIGxhdHRlciBpcyBwcmVmZXJyZWQs
Ci0gICAgICAgIHNvIHRoaXMgcGF0Y2ggdXBkYXRlcyBhbGwgcmVmZXJlbmNlcywgYW5kIGZpeGVz
IHVwIC5jcHAgZmlsZXMgdGhhdAotICAgICAgICBuZWVkIHRoZSBpbmNsdWRlIGluIG9yZGVyIHRv
IGFjY2VzcyB0aGUgZW51bS4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3Vz
dG9tLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToK
LSAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOiAjaW5jbHVkZSBFeGNlcHRpb25Db2Rl
Lmggd2hlbiBuZWVkZWQgZm9yIFNWRy4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JPYmpDLnBtOgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6ICNpbmNs
dWRlIEV4Y2VwdGlvbkNvZGUuaCB3aGVuIG5lZWRlZCBmb3IgU1ZHLgotICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHA6Ci0gICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcDoKLSAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTTWF0cml4Lmg6Ci0gICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5j
Lmg6Ci0gICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuaDoKLSAgICAgICAgKiBmaWxlYXBpL0Zp
bGVSZWFkZXIuaDoKLSAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmg6Ci0gICAgICAg
ICogZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaDoKLSAgICAgICAgKiBodG1sL0NsYXNzTGlz
dC5oOgotICAgICAgICAqIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaDoKLSAgICAgICAgKiBo
dG1sL0RPTVRva2VuTGlzdC5jcHA6Ci0gICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuaDoKLSAg
ICAgICAgKiBodG1sL1RleHRUcmFjay5jcHA6Ci0gICAgICAgICogaHRtbC9UZXh0VHJhY2suaDoK
LSAgICAgICAgKiBodG1sL1RpbWVSYW5nZXMuY3BwOgotICAgICAgICAqIGh0bWwvVGltZVJhbmdl
cy5oOgotICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcDoKLSAgICAgICAgKiBo
dG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5oOgotICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVm
ZmVyVmlldy5jcHA6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3Lmg6Ci0g
ICAgICAgICogaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwOgotICAgICAgICAqIGh0bWwvY2FudmFz
L0RhdGFWaWV3Lmg6Ci0gICAgICAgICogaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3Qu
aDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTERlYnVnU2hhZGVycy5oOgotICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6Ci0gICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6Ci0gICAgICAgICogbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuY3BwOgotICAgICAgICAqIG1lZGlhc3RyZWFtL01lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyLmg6Ci0gICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaDoKLSAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOgot
ICAgICAgICAqIHN0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5jcHA6Ci0gICAgICAgICogc3RvcmFn
ZS9BYnN0cmFjdERhdGFiYXNlLmg6Ci0gICAgICAgICogc3RvcmFnZS9EYXRhYmFzZS5oOgotICAg
ICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VTeW5jLmg6Ci0gICAgICAgICogc3RvcmFnZS9EYXRhYmFz
ZVRhc2suaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQkN1cnNvci5oOgotICAgICAgICAqIHN0b3Jh
Z2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCRGF0
YWJhc2UuaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5o
OgotICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeS5oOgotICAgICAgICAqIHN0b3JhZ2UvSURC
RmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQkluZGV4QmFj
a2VuZEludGVyZmFjZS5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCS2V5UmFuZ2UuaDoKLSAgICAg
ICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oOgotICAgICAgICAq
IHN0b3JhZ2UvSURCUmVxdWVzdC5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlLmg6Ci0gICAgICAgICogc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwOgot
ICAgICAgICAqIHN0b3JhZ2UvU1FMUmVzdWx0U2V0Lmg6Ci0gICAgICAgICogc3RvcmFnZS9TUUxT
dGF0ZW1lbnRTeW5jLmg6Ci0gICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6Ci0g
ICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oOgotICAgICAgICAqIHN0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25TeW5jLmg6Ci0gICAgICAgICogc3ZnL0VsZW1lbnRUaW1lQ29udHJvbC5oOgot
ICAgICAgICAqIHN2Zy9TVkdBbmdsZS5jcHA6Ci0gICAgICAgICogc3ZnL1NWR0FuZ2xlLmg6Ci0g
ICAgICAgICogc3ZnL1NWR0xlbmd0aC5jcHA6Ci0gICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgot
ICAgICAgICAqIHN2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcDoKLSAgICAgICAgKiBzdmcvU1ZHTGVu
Z3RoQ29udGV4dC5oOgotICAgICAgICAqIHN2Zy9TVkdMb2NhdGFibGUuaDoKLSAgICAgICAgKiBz
dmcvU1ZHTWF0cml4Lmg6Ci0gICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3Bw
OgotICAgICAgICAqIHN2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmg6Ci0gICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuaDoKLSAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgot
ICAgICAgICAqIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgotICAg
ICAgICAqIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaDoKLSAgICAgICAg
KiB3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaDoKLQotMjAxMS0xMS0wOCAgS2VudGFy
byBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ29kZUdlbmVyYXRvclY4
LnBtIGNhbiBnZW5lcmF0ZSBhIE5hbWVkQ29uc3RydWN0b3IKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzU2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KLQotICAgICAgICAtIElETFBhcnNlci5wbSBjYW4gcGFyc2UgW05hbWVkQ29u
c3RydWN0b3JdIElETC4KLSAgICAgICAgLSBDb2RlR2VuZXJhdG9yVjgucG0gY2FuIGdlbmVyYXRl
IGEgTmFtZWRDb25zdHJ1Y3RvcgotICAgICAgICBhbmQgYSB0ZW1wbGF0ZSBnZXR0ZXIgZm9yIHRo
ZSBOYW1lZENvbnN0cnVjdG9yLgotICAgICAgICAtIEFkZGVkIGEgbmV3IGJpbmRpbmcgdGVzdCBu
YW1lZCBUZXN0TmFtZWRDb25zdHJ1Y3Rvci5pZGwuCi0KLSAgICAgICAgVGVzdHM6IFdlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3ROYW1lZENvbnN0cnVjdG9yLmlkbAotCi0gICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06Ci0gICAgICAgIChHZW5lcmF0
ZUhlYWRlcik6IEdlbmVyYXRlcyBhIGhlYWRlciBmb3IgYSBOYW1lZENvbnN0cnVjdG9yLgotICAg
ICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2spOiBHZW5lcmF0ZXMgdGhlIE5h
bWVkQ29uc3RydWN0b3IgYW5kIGEgdGVtcGxhdGUgZ2V0dGVyIGZvciB0aGUgTmFtZWRDb25zdHJ1
Y3Rvci4KLSAgICAgICAgKEdlbmVyYXRlU2luZ2xlQmF0Y2hlZEF0dHJpYnV0ZSk6IElmIGFuIElE
TCB0eXBlIGlzICJYWFhYQ29uc3RydWN0b3JDb25zdHJ1Y3RvciIsIHRoZW4gd2UgZG8gbm90IGFk
ZCBhIGhlYWRlciBmaWxlIG9mIFhYWFhDb25zdHJ1Y3RvciwgYmVjYXVzZSB0aGUgWFhYWENvbnN0
cnVjdG9yIGRlY2xhcmF0aW9uIGlzIHdyaXR0ZW4gaW4gdGhlIGhlYWRlciBmaWxlIG9mIGNsYXNz
IFhYWFguCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG06Ci0gICAgICAg
IChwYXJzZUV4dGVuZGVkQXR0cmlidXRlcyk6IFBhcnNlcyAnTmFtZWRDb25zdHJ1Y3RvcicgJz0n
IG5hbWUgJygnIHBhcmFtZXRlcnMgJyknICcsJz8KLSAgICAgICAgKFBhcnNlSW50ZXJmYWNlKTog
Q3JlYXRlcyB0aGUgc2lnbmF0dXJlIG9mIGEgTmFtZWRDb25zdHJ1Y3Rvci4KLSAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE5hbWVkQ29uc3RydWN0b3IuaWRsOiBBZGRlZCBhIG5l
dyB0ZXN0IGZvciB0aGUgW05hbWVkQ29uc3RydWN0b3JdIElETC4KLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDogQWRkZWQg
YSBydW4tYmluZGluZy10ZXN0IHJlc3VsdCBvZiBUZXN0TmFtZWRDb25zdHJ1Y3Rvci5pZGwuCi0g
ICAgICAgIChXZWJET01UZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6V2ViRE9NVGVzdE5hbWVkQ29uc3Ry
dWN0b3JQcml2YXRlOjpXZWJET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUpOgotICAgICAg
ICAoV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3I6OldlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9y
KToKLSAgICAgICAgKFdlYkRPTVRlc3ROYW1lZENvbnN0cnVjdG9yOjpvcGVyYXRvcj0pOgotICAg
ICAgICAoV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3I6OmltcGwpOgotICAgICAgICAoV2ViRE9N
VGVzdE5hbWVkQ29uc3RydWN0b3I6On5XZWJET01UZXN0TmFtZWRDb25zdHJ1Y3Rvcik6Ci0gICAg
ICAgICh0b1dlYkNvcmUpOgotICAgICAgICAodG9XZWJLaXQpOgotICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuaDogRGl0dG8uCi0g
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVk
Q29uc3RydWN0b3IuY3BwOiBEaXR0by4KLSAgICAgICAgKFdlYktpdDo6a2l0KToKLSAgICAgICAg
KFdlYktpdDo6Y29yZSk6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29uc3RydWN0
b3JfZmluYWxpemUpOgotICAgICAgICAod2Via2l0X2RvbV90ZXN0X25hbWVkX2NvbnN0cnVjdG9y
X3NldF9wcm9wZXJ0eSk6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29uc3RydWN0
b3JfZ2V0X3Byb3BlcnR5KToKLSAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9uYW1lZF9jb25zdHJ1
Y3Rvcl9jb25zdHJ1Y3RlZCk6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29uc3Ry
dWN0b3JfY2xhc3NfaW5pdCk6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29uc3Ry
dWN0b3JfaW5pdCk6Ci0gICAgICAgIChXZWJLaXQ6OndyYXBUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6
Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5h
bWVkQ29uc3RydWN0b3IuaDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3JQcml2YXRlLmg6IERpdHRvLgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9y
LmNwcDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29u
c3RydWN0b3I6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcik6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6
Z2V0T3duUHJvcGVydHlTbG90KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3Ry
dWN0b3JDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JQcm90b3R5cGU6OnNlbGYpOgotICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6
Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yOjpjcmVhdGVQcm90
b3R5cGUpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6Z2V0T3du
UHJvcGVydHlTbG90KToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3I6
OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3ROYW1l
ZENvbnN0cnVjdG9yQ29uc3RydWN0b3IpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRD
b25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0b3IpOgotICAgICAgICAoV2ViQ29yZTo6aXNPYnNlcnZh
YmxlKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JPd25lcjo6aXNS
ZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRD
b25zdHJ1Y3Rvck93bmVyOjpmaW5hbGl6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjp0b0pTKToKLSAg
ICAgICAgKFdlYkNvcmU6OnRvVGVzdE5hbWVkQ29uc3RydWN0b3IpOgotICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmg6IERpdHRvLgotICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKLSAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yOjppbXBsKToKLSAgICAgICAgKFdl
YkNvcmU6OndyYXBwZXJPd25lcik6Ci0gICAgICAgIChXZWJDb3JlOjp3cmFwcGVyQ29udGV4dCk6
Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJvdG90eXBlOjpjcmVh
dGUpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvclByb3RvdHlwZTo6
Y3JlYXRlU3RydWN0dXJlKToKLSAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQ29uc3RydWN0
b3JQcm90b3R5cGU6OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JQcm90b3R5cGUpOgotICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpjcmVhdGUpOgotICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmUpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RO
YW1lZENvbnN0cnVjdG9yLmg6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3ROYW1lZENvbnN0cnVjdG9yLm1tOiBEaXR0by4KLSAgICAgICAgKC1bRE9N
VGVzdE5hbWVkQ29uc3RydWN0b3IgZGVhbGxvY10pOgotICAgICAgICAoLVtET01UZXN0TmFtZWRD
b25zdHJ1Y3RvciBmaW5hbGl6ZV0pOgotICAgICAgICAoY29yZSk6Ci0gICAgICAgIChraXQpOgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROYW1lZENvbnN0cnVj
dG9ySW50ZXJuYWwuaDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlRl
c3ROYW1lZENvbnN0cnVjdG9ySW50ZXJuYWw6OlY4X1VTRSk6Ci0gICAgICAgIChXZWJDb3JlOjpW
OFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3JDYWxsYmFjayk6Ci0gICAgICAgIChXZWJD
b3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4VGVzdE5hbWVkQ29uc3RydWN0b3JUZW1wbGF0ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpHZXRSYXdUZW1wbGF0
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpIYXNJbnN0YW5j
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURP
TU9iamVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp3cmFw
U2xvdyk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9i
amVjdCk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29u
c3RydWN0b3IuaDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVj
dG9yOjp0b05hdGl2ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9y
OjpleGlzdGluZ1dyYXBwZXIpOgotICAgICAgICAoV2ViQ29yZTo6VjhUZXN0TmFtZWRDb25zdHJ1
Y3Rvcjo6d3JhcCk6Ci0gICAgICAgIChXZWJDb3JlOjp0b1Y4KToKLSAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6IEFkZGVkIFtDdXN0b21Db25zdHJ1Y3Rvcl0gSURMIHRvIEhUTUxBdWRpb0Vs
ZW1lbnQsIEhUTUxJbWFnZUVsZW1lbnQgYW5kIEhUTUxPcHRpb25FbGVtZW50LgotCi0yMDExLTEx
LTA4ICBQaGlsaXAgUm9nZXJzICA8cGRyQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgZml4IFJFR1JF
U1NJT046IFNWRyBmZUNvbG9yTWF0cml4IGNhdXNlcyBjcmFzaAotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODcKLQotICAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBGcmFzZXIuCi0KLSAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvZmVDb2xvck1hdHJp
eC1pbnZhbGlkLWFuaW1hdGlvbi5zdmcKLQotICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZE51bWJl
ckxpc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJMaXN0QW5pbWF0
b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUpOgotCi0yMDExLTExLTA4ICBTY290dCBHcmFoYW0g
IDxzY290dG1nQGNocm9taXVtLm9yZz4KLQotICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYXJyYXlz
IG9mIG51bWJlcnMgdG8gSURMIGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9yCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2MwotCi0gICAgICAgIEFkZHMg
c3VwcG9ydCBmb3IgZmxvYXRbXSBhbmQgZG91YmxlW10gdG8gSURMLiBTdXBwb3J0IGZvciBvdGhl
ciB0eXBlcwotICAgICAgICBhcHBlYXJzIHRvIGJlIG1vcmUgY29tcGxpY2F0ZWQgKG9yIGF0IGxl
YXN0IG1vcmUgY29weS1wYXN0ZSkgc28gbm90Ci0gICAgICAgIGRvaW5nIHRoYXQgZm9yIG5vdyBm
b3IgbGFjayBvZiBuZWVkLgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAg
ICAgICAgVGVzdHMgYWRkZWQgdG8gVGVzdE9iai5pZGwuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKLSAgICAgICAgKElzUmVmUHRyVHlwZSk6Ci0gICAg
ICAgIChHZXROYXRpdmVUeXBlKToKLSAgICAgICAgKEpTVmFsdWVUb05hdGl2ZSk6Ci0gICAgICAg
IChOYXRpdmVUb0pTVmFsdWUpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbDoKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6ZmxvYXRBcnJheUF0dHJHZXR0
ZXIpOgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpmbG9hdEFycmF5QXR0clNl
dHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OmRvdWJsZUFycmF5QXR0
ckdldHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OmRvdWJsZUFycmF5
QXR0clNldHRlcik6Ci0gICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6Ci0gICAgICAg
IChXZWJDb3JlOjp2OE51bWJlckFycmF5KToKLSAgICAgICAgKFdlYkNvcmU6OnY4TnVtYmVyQXJy
YXlUb1ZlY3Rvcik6Ci0KLTIwMTEtMTEtMDggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KLQotICAgICAgICBSRUdSRVNTSU9OIChyOTk2MTMpOiBJbmNvbXBsZXRlIHBhaW50aW5nIG9m
IHRoZSByb290IGVsZW1lbnQgYmFja2dyb3VuZCBpbiBmbGlwcGVkIGJsb2NrcyB3cml0aW5nIG1v
ZGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODYz
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgotCi0gICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50
Um9vdEJveEZpbGxMYXllcnMpOiBJbnN0ZWFkIG9mIHVuY29uZGl0aW9uYWxseSBmbGlwcGluZyB0
aGUgYmFja2dyb3VuZAotICAgICAgICByZWN0IGhlcmUuLi4KLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpiYWNrZ3JvdW5k
UmVjdCk6IC4uLmZsaXAgaXQgb25seSBpbiBjb2x1bW4gbW9kZSBoZXJlLgotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJWaWV3Lmg6Ci0KLTIwMTEtMTEtMDggIE1pY2hhZWwgU2Fib2ZmICA8bXNh
Ym9mZkBhcHBsZS5jb20+Ci0KLSAgICAgICAgVG93YXJkcyA4IEJpdCBTdHJpbmdzOiBUZW1wbGF0
aXplIEpTQzo6UGFyc2VyIGNsYXNzIGJ5IExleGVyIHR5cGUKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzYxCi0KLSAgICAgICAgQ2xlYW5lZCB1cCBT
b3VyY2VDb2RlIGRhdGEoKSB0byByZXR1cm4gU3RyaW5nSW1wbCogYW5kIGVsaW1pbmF0ZWQKLSAg
ICAgICAgdGhlIHJlY2VudGx5IGFkZGVkIHN0cmluZ0RhdGEoKSB2aXJ0dWFsIG1ldGhvZC4KLQot
ICAgICAgICBObyB0ZXN0cyBhZGRlZCAtIHJlZmFjdG9yZWQgYmFzZSBjbGFzcyBTb3VyY2VDb2Rl
IGFuZCBpdHMgc3ViY2xhc3Nlcy4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlcjo6ZGF0YSk6Ci0gICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFy
c2VTb3VyY2UpOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNo
RmFpbGVkVG9QYXJzZVNvdXJjZSk6Ci0gICAgICAgICogYmluZGluZ3MvanMvU3RyaW5nU291cmNl
UHJvdmlkZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1NvdXJjZVByb3ZpZGVyOjpkYXRh
KToKLQotMjAxMS0xMS0wOCAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgUkVHUkVTU0lPTjogcnRsIGhvcml6b250YWwgc2Nyb2xsYmFyIC8gcmVzaXplIGJ1ZyAtIEJv
ZHkgc2hpZnRzIG9uIHJlc2l6ZSB3aGVuIHNjcm9sbGVkIGFsbCB0aGUgd2F5IHRvIHRoZSBsZWZ0
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM5NQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAgICAgQ2hhbmdlIHRoZSBj
b25kaXRpb24gdG8gcGVyZm9ybSBpbW1lZGlhdGUgc2NvbGxpbmcgaW5zaWRlIFNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMoKQotICAgICAgICB0byBiZSBjb3JyZWN0IGZvciBSVEwgcGFnZSBh
cyB3ZWxsLCB3aGljaCBpcyBjaGVja2luZyBlaXRoZXIgdGhlIHNjcm9sbCBwb3NpdGlvbiBjaGFu
Z2Ugb3IKLSAgICAgICAgdGhlIG1fc2Nyb2xsT3JpZ2luIGNoYW5nZXMgKHN1Y2ggYXMgaW4gd2lu
ZG93IHJlc2l6ZSBpbiB3aGljaCBzY3JvbGwgcG9zaXRpb24gbWlnaHQgcmVtYWluIHRoZSBzYW1l
KS4KLQotICAgICAgICBBbmQgcmVtb3ZlIGNvbmRpdGlvbiBjaGVja2luZyBpbnNpZGUgU2Nyb2xs
YWJsZUFyZWE6OnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbigpIHNpbmNlCi0gICAgICAg
IHRoZSBwYXNzLWluIG9mZnNldCBpcyBhZGp1c3RlZCB3aXRoaW4gdGhlIGN1cnJlbnQgc2Nyb2xs
IHJhbmdlLCBpdCBjb3VsZCBiZSB0aGUgc2FtZSBhcwotICAgICAgICBtX2N1cnJlbnRQb3Mgd2hl
biBtX2N1cnJlbnRQb3MgaXMgKDAsIDApIGFuZCBjdXJyZW50IHNjcm9sbCByYW5nZSBpcyBzbWFs
bGVyIHRoYW4gb2xkIAotICAgICAgICBzY3JvbGwgcmFuZ2UsIGJ1dCBzY29sbGluZyBpcyBzdGls
bCBuZWVkZWQgd2hlbiBwYWdlIHJlc2l6ZSBhbmQgc2Nyb2xsIHJhbmdlIGNoYW5nZXMuCi0KLSAg
ICAgICAgVGVzdDogZmFzdC9kb20vcnRsLXNjcm9sbC10by1sZWZ0bW9zdC1hbmQtcmVzaXplLmh0
bWwKLQotICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24pOiBS
ZW1vdmUgY29uZGl0aW9uIGNoZWNraW5nLgotICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyk6IENo
YW5nZSBjb25kaXRpb24gdG8gcGVyZm9ybSBpbW1lZGlhdGUgc2Nyb2xsaW5nIHRvIGJlCi0gICAg
ICAgIGNvcnJlY3QgZm9yIFJUTCBwYWdlcyBhcyB3ZWxsLgotICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmNwcDogVXBkYXRlIG1fc2Nyb2xsT3JpZ2luQ2hhbmdlZC4KLSAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpTY3JvbGxhYmxlQXJlYSk6Ci0gICAgICAgIChXZWJD
b3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xsT3JpZ2luKToKLSAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGFibGVBcmVhOjpzZXRTY3JvbGxPcmlnaW5YKToKLSAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjpzZXRTY3JvbGxPcmlnaW5ZKToKLSAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oOiBBZGQgbV9zY3JvbGxPcmlnaW5DaGFuZ2VkLgotICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9yaWdpbkNoYW5nZWQpOgotICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OnJlc2V0U2Nyb2xsT3JpZ2luQ2hhbmdlZCk6Ci0KLTIwMTEtMTEt
MDggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KLQotICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTAyNjIyMjU+IEFsbG93IFJlbmRlclZpZXcgdG8gaGF2ZSBjb2x1bW5zCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTg0MAotCi0gICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBUZXN0czogZmFzdC9tdWx0aWNv
bC9wYWdpbmF0aW9uLWgtaG9yaXpvbnRhbC1idC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L211
bHRpY29sL3BhZ2luYXRpb24taC1ob3Jpem9udGFsLXRiLmh0bWwKLSAgICAgICAgICAgICAgIGZh
c3QvbXVsdGljb2wvcGFnaW5hdGlvbi1oLXZlcnRpY2FsLWxyLmh0bWwKLSAgICAgICAgICAgICAg
IGZhc3QvbXVsdGljb2wvcGFnaW5hdGlvbi1oLXZlcnRpY2FsLXJsLmh0bWwKLSAgICAgICAgICAg
ICAgIGZhc3QvbXVsdGljb2wvcGFnaW5hdGlvbi12LWhvcml6b250YWwtYnQuaHRtbAotICAgICAg
ICAgICAgICAgZmFzdC9tdWx0aWNvbC9wYWdpbmF0aW9uLXYtaG9yaXpvbnRhbC10Yi5odG1sCi0g
ICAgICAgICAgICAgICBmYXN0L211bHRpY29sL3BhZ2luYXRpb24tdi12ZXJ0aWNhbC1sci5odG1s
Ci0gICAgICAgICAgICAgICBmYXN0L211bHRpY29sL3BhZ2luYXRpb24tdi12ZXJ0aWNhbC1ybC5o
dG1sCi0KLSAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IFBhZ2U6OnNldFBhZ2luYXRp
b24oKSBmb3IgV2ViQ29yZVRlc3RTdXBwb3J0LgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRG9j
dW1lbnQpOiBTZXQgdGhlIGNvbHVtbiBheGlzIGFuZCB0aGUgY29sdW1uIGdhcCBpbiB0aGUKLSAg
ICAgICAgZG9jdW1lbnQgc3R5bGUgaWYgdGhlIHZpZXcgaXMgcGFnaW5hdGVkLgotICAgICAgICAq
IHBhZ2UvUGFnZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRQYWdpbmF0aW9uKTog
QWRkZWQgdGhpcyBzZXR0ZXIuCi0gICAgICAgICogcGFnZS9QYWdlLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpQYWdlOjpQYWdpbmF0aW9uOjpQYWdpbmF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnBhZ2luYXRpb24pOiBBZGRlZCB0aGlzIGdldHRlci4KLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnJlcXVpcmVz
Q29sdW1ucyk6IEFkZGVkIGFuZCBtb3ZlZCBzb21lIGxvZ2ljIHRvIGhlcmUgZnJvbS4uLgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnNldERlc2lyZWRDb2x1bW5Db3VudEFuZFdpZHRo
KTogLi4uaGVyZS4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKLSAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
cGFpbnRSb290Qm94RmlsbExheWVycyk6IENoYW5nZWQgdG8gdXNlIHRoZSBuZXcgUmVuZGVyVmll
dzo6YmFja2dyb3VuZFJlY3QoKQotICAgICAgICBpbnN0ZWFkIG9mIHVuc2NhbGVkRG9jdW1lbnRS
ZWN0KCkuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVmlldzo6cmVxdWlyZXNDb2x1bW5zKTogQWRkZWQgdGhpcyBvdmVycmlkZSB0
aGF0IGFsd2F5cyByZXR1cm5zIHRydWUgaWYgdGhlIHZpZXcKLSAgICAgICAgaXMgcGFnaW5hdGVk
LgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6YmFja2dyb3VuZFJlY3QpOiBBZGRlZC4g
SW4gdGhlIHBhZ2luYXRlZCBjYXNlLCByZXR1cm5zIGEgcmVjdGFuZ2xlIHN0cmV0Y2hpbmcKLSAg
ICAgICAgYWNyb3NzIGFsbCBjb2x1bW5zLgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3
Lmg6Ci0gICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpyZXNldCk6IEFsc28gcmVzZXQgcGFnaW5hdGlvbi4KLSAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2V0UGFnaW5hdGlvbik6IEFkZGVkIHRoaXMgc2V0dGVyIGZvciB0ZXN0
aW5nLgotICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6Ci0gICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgotCi0yMDExLTExLTA4ICBWaW5lZXQgQ2hhdWRoYXJ5ICA8dmluZWV0LmNo
YXVkaGFyeUBtb3Rvcm9sYS5jb20+Ci0KLSAgICAgICAgRG9jdW1lbnQuaW1wb3J0Tm9kZSdzICdk
ZWVwJyBhcmd1bWVudCBzaG91bGQgZGVmYXVsdCB0byB0cnVlLgotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExOTAKLQotICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgotCi0gICAgICAgIEFzIG5ldyBzcGVjaWZpY2F0aW9uIHNheXMgZGVlcCBh
cmd1bWVudCBvZiBpbXBvcnROb2RlIHNob3VsZCBiZSBkZWZhdWx0IHRvIHRydWUuCi0KLSAgICAg
ICAgVGVzdDogZmFzdC9kb20vZG9jdW1lbnQtaW1wb3J0Tm9kZS1hcmd1bWVudHMuaHRtbAotCi0g
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6IEFkZGVkIHN1cHBvcnRpdmUgbWV0aG9kLgotICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcG9ydE5vZGUpOgotICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5pZGw6IE1vZGlmaWVkIGRlZXAgYXJndW1lbnQgYXMgb3B0aW9uYWwuCi0KLTIwMTEtMTEtMDgg
IEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViS2l0TXV0YXRp
b25PYnNlcnZlci5vYnNlcnZlIHNob3VsZCByYWlzZSBhIERPTUV4Y2VwdGlvbiBpZiBwYXNzZWQg
aW52YWxpZCBhcmd1bWVudHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxNTk2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgotCi0g
ICAgICAgIEFkZHMgdHdvIGNhc2VzIHdoZXJlIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2
ZSB0aHJvd3MgYW4gZXhjZXB0aW9uOgotICAgICAgICAgIC0gV2hlbiBwYXNzZWQgYSBudWxsIE5v
ZGUqLgotICAgICAgICAgIC0gV2hlbiBwYXNzZWQgb3B0aW9ucyB0aGF0IGRvbid0IG1ha2Ugc2Vu
c2UsIGUuZy4sCi0gICAgICAgICAgICAnYXR0cmlidXRlT2xkVmFsdWUnIGJ1dCBub3QgJ2F0dHJp
YnV0ZXMnLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6
b2JzZXJ2ZSk6Ci0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayk6Ci0gICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6dmFs
aWRhdGVPcHRpb25zKToKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6
Om9ic2VydmUpOgotICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg6Ci0gICAg
ICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOgotCi0yMDExLTExLTA4ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgSW5kZXhlZERCOiBpbXBs
ZW1lbnQgY29tcG91bmQgKGFycmF5KSBrZXkgc3VwcG9ydAotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyODQKLQotICAgICAgICBSZXZpZXdlZCBieSBU
b255IENoYW5nLgotCi0gICAgICAgIEFkZCBzdXBwb3J0IGZvciBBcnJheSB2YWx1ZXMgYXMgSURC
S2V5cy4gKE11bHRpcm93IGluZGV4ZXMgYXJlIHN0aWxsCi0gICAgICAgIG5vdCB5ZXQgc3VwcG9y
dGVkLikKLQotICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRl
ci5odG1sCi0gICAgICAgICAgICAgICBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5o
dG1sCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0lEQktleUN1c3RvbS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjp0b0pTKToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0
aWVzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUlEQktleUZyb21WYWx1ZSk6Ci0gICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OnRvVjgpOgotICAgICAgICAqIHN0b3JhZ2UvSURCS2V5LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OklEQktleTo6Y29tcGFyZSk6Ci0gICAgICAgICogc3RvcmFnZS9JREJLZXkuaDoKLSAg
ICAgICAgKFdlYkNvcmU6OklEQktleTo6Y3JlYXRlQXJyYXkpOgotICAgICAgICAoV2ViQ29yZTo6
SURCS2V5Ojp2YWxpZCk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmFycmF5KToKLSAgICAg
ICAgKFdlYkNvcmU6OklEQktleTo6Y29tcGFyZVR5cGVzKToKLSAgICAgICAgKiBzdG9yYWdlL0lE
QkxldmVsREJDb2RpbmcuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6
Y29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJM
ZXZlbERCQ29kaW5nOjplbmNvZGVJREJLZXkpOgotICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxE
QkNvZGluZzo6ZGVjb2RlSURCS2V5KToKLSAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rp
bmc6OmV4dHJhY3RFbmNvZGVkSURCS2V5KToKLSAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJD
b2Rpbmc6OmtleVR5cGVCeXRlVG9LZXlUeXBlKToKLSAgICAgICAgKFdlYkNvcmU6OklEQkxldmVs
REJDb2Rpbmc6OmNvbXBhcmVFbmNvZGVkSURCS2V5cyk6Ci0gICAgICAgICogc3RvcmFnZS9JREJM
ZXZlbERCQ29kaW5nLmg6Ci0KLTIwMTEtMTEtMDggIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJr
aXQub3JnPgotCi0gICAgICAgIFJlbW92ZSBnZXQoKSBkZWZpbmVkIGluIENyZWRlbnRpYWxTdG9y
YWdlUXQuY3BwCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgyOQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAg
Q3JlZGVudGlhbFN0b3JhZ2U6OmdldCgpIGlzIGltcGxlbWVudGVkIGluIENyZWRlbnRpYWxTdG9y
YWdlLmNwcC4gQW5kIENyZWRlbnRpYWxTdG9yYWdlLmNwcAotICAgICAgICBwcm92aWRlcyB0aGUg
YmFzZSBpbXBsZW1lbnRhdGlvbiBmb3IgZWFjaCBwbGF0Zm9ybS4gV2Ugc2hvdWxkbid0IHJlLWRl
ZmluZQotICAgICAgICBDcmVkZW50aWFsU3RvcmFnZTo6Z2V0KCkgaW4gQ3JlZGVudGlhbFN0b3Jh
Z2VRdC5jcHAuCi0KLSAgICAgICAgKiBUYXJnZXQucHJpOiBBZGQgZmlsZXMgQ3JlZGVudGlhbFN0
b3JhZ2Uue2NwcCwgaH0uCi0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9DcmVkZW50aWFs
U3RvcmFnZVF0LmNwcDoKLQotMjAxMS0xMS0wOCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21p
dW0ub3JnPgotCi0gICAgICAgIEluZGV4ZWREQjogcmVmZXJlbmNlIGN5Y2xlIGJldHdlZW4gSURC
RGF0YWJhc2UgYW5kIElEQlRyYW5zYWN0aW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTc0OQotCi0gICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hh
bmcuCi0KLSAgICAgICAgQnJlYWsgYSBjeWNsaWMgcmVmZXJlbmNlIGxlYWsgZm9sbG93aW5nIGEg
c2V0VmVyc2lvbiBjYWxsLgotCi0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6c2V0VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9u
KToKLSAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpjbGVhclZlcnNpb25DaGFuZ2VUcmFu
c2FjdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6Y3JlYXRlT2JqZWN0U3Rv
cmUpOgotICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKToK
LSAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmg6Ci0gICAgICAgICogc3RvcmFnZS9JREJS
ZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6Om9uU3VjY2Vzcyk6Ci0g
ICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpvbkFib3J0KToKLSAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvbkNvbXBsZXRl
KToKLQotMjAxMS0xMS0wOCAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgUmVtb3ZlIGdldCgpIGRlZmluZWQgaW4gQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MjUKLQot
ICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCi0KLSAgICAgICAgQ3JlZGVudGlh
bFN0b3JhZ2U6OmdldCgpIGlzIGltcGxlbWVudGVkIGluIENyZWRlbnRpYWxTdG9yYWdlLmNwcC4g
QW5kIENyZWRlbnRpYWxTdG9yYWdlLmNwcAotICAgICAgICBwcm92aWRlcyB0aGUgYmFzZSBpbXBs
ZW1lbnRhdGlvbiBmb3IgZWFjaCBwbGF0Zm9ybS4gV2Ugc2hvdWxkbid0IHJlLWRlZmluZQotICAg
ICAgICBDcmVkZW50aWFsU3RvcmFnZTo6Z2V0KCkgaW4gQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNw
cC4KLQotICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IEFkZCBzb3VyY2UgZmlsZSBDcmVk
ZW50aWFsU3RvcmFnZS5jcHAuCi0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRl
bnRpYWxTdG9yYWdlU291cC5jcHA6IFJlbW92ZSByZS1kZWZpbml0aW9uIG9mIENyZWRlbnRpYWxT
dG9yYWdlOjpnZXQoKS4KLSAgICAgICAgQ3JlZGVudGlhbFN0b3JhZ2U6OmdldCgpIGlzIGRlZmlu
ZWQgaW4gQ3JlZGVudGlhbFN0b3JhZ2UuY3BwLgotCi0yMDExLTExLTA4ICBSb2xhbmQgU3RlaW5l
ciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlbmFtZSBDU1MgZG9j
dW1lbnQoKSAtPiBmaW5kRG9jdW1lbnQoKSwgdG8gaW5kaWNhdGUgdHJlZSBjbGltYmluZwotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NjQKLQotICAg
ICAgICBSZW5hbWVkIGRvY3VtZW50KCkgdG8gZmluZERvY3VtZW50KCksIHN0eWxlU2hlZXRPd25l
ck5vZGUoKSB0byBmaW5kU3R5bGVTaGVldE93bmVyTm9kZSgpLgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4gKHNpbXBsZSByZWZhY3Rv
cmluZykKLQotICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6Ci0gICAgICAgICogY3NzL0NTU0lt
cG9ydFJ1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6c2V0Q1NTU3R5
bGVTaGVldCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpyZXF1ZXN0U3R5bGVT
aGVldCk6Ci0gICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpzZXROZWVkc1N0eWxl
UmVjYWxjKToKLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OnBhcnNlQ29sb3JWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpwYXJzZVNpbXBsZUxlbmd0aFZh
bHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2V0U3R5bGVTaGVldCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmZpbmREb2N1bWVudCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlQXR0cik6Ci0gICAgICAgICogY3NzL0NTU1BhcnNlci5oOgotICAg
ICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVS
dWxlOjpzZXRTZWxlY3RvclRleHQpOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OmNzc1J1bGVzKToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2hlZXQ6OmZpbmRTdHlsZVNoZWV0T3duZXJOb2RlKToKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OmZpbmREb2N1bWVudCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNoZWV0OjpzdHlsZVNoZWV0Q2hhbmdlZCk6Ci0gICAgICAgICogY3NzL0NTU1N0
eWxlU2hlZXQuaDoKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OmJpbmRTdHlsZVNoZWV0KToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0Ojpvd25lckRvY3VtZW50KToKLSAgICAgICAgKiBwYWdl
L1BhZ2VTZXJpYWxpemVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVyOjpz
ZXJpYWxpemVDU1NTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVy
OjpyZXRyaWV2ZVJlc291cmNlc0ZvckNTU0RlY2xhcmF0aW9uKToKLQotMjAxMS0xMS0wNyAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KLQotICAgICAgICBJbmRlbnQgY29tbWFuZCBj
YW4gaW5zZXJ0IGJsb2NrIHF1b3RlIGluIG5vbiBlZGl0YWJsZSBjb250ZW50Ci0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc1NAotCi0gICAgICAgIFJl
dmlld2VkIGJ5IEVucmljYSBDYXN1Y2NpLgotCi0gICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBi
eSBJbmRlbnRPdXRkZW50Q29tbWFuZCdzIGluY29ycmVjdGx5IHVzaW5nIGRlcHJlY2F0ZWROb2Rl
IHRvIGRldGVybWluZSB0aGUgb3V0ZXIgYmxvY2ssCi0gICAgICAgIG5vdCB1cGRhdGluZyB0aGUg
c3RhcnQgYWZ0ZXIgaW5zZXJ0aW5nIHRoZSB0YXJnZXRCbG9ja3F1b3RlLCBhbmQgY2xvbmVQYXJh
Z3JhcGhVbmRlck5ld0VsZW1lbnQncyBjbG9uaW5nCi0gICAgICAgIG91dGVyTm9kZSBldmVuIGlm
IGl0IHdhcyBib2R5LiBGaXhlZCB0aG9zZSBidWdzLgotCi0gICAgICAgIFRlc3Q6IGVkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5kZW50LWltYWdlcy5odG1sCi0gICAgICAgICAgICAgIGVkaXRpbmcvZXhl
Y0NvbW1hbmQvaW5kZW50LWltYWdlcy0yLmh0bWwKLSAgICAgICAgICAgICAgZWRpdGluZy9leGVj
Q29tbWFuZC9pbmRlbnQtaW1hZ2VzLTMuaHRtbAotCi0gICAgICAgICogZWRpdGluZy9Db21wb3Np
dGVFZGl0Q29tbWFuZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29tbWFu
ZDo6Y2xvbmVQYXJhZ3JhcGhVbmRlck5ld0VsZW1lbnQpOgotICAgICAgICAqIGVkaXRpbmcvSW5k
ZW50T3V0ZGVudENvbW1hbmQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5kZW50T3V0ZGVudENv
bW1hbmQ6OmluZGVudEludG9CbG9ja3F1b3RlKToKLQotMjAxMS0xMS0wOCAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBPbmx5IHdhbGsgdXAgdGhlIHRyZWUgaW4g
c2VhcmNoIG9mIE11dGF0aW9uT2JzZXJ2ZXJzIGlmIG9uZSBoYXMgYmVlbiBhZGRlZAotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0OTkKLQotICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0gICAgICAgIEFuYWxvZ291cyB0byBtX2xpc3Rl
bmVyVHlwZXMsIGFkZGVkIGFuIG1fc3VidHJlZU11dGF0aW9uT2JzZXJ2ZXJUeXBlcyBmaWVsZAot
ICAgICAgICB0byBEb2N1bWVudCB0aGF0IGtlZXBzIHRyYWNrIG9mIHdoaWNoIG9ic2VydmVyIHR5
cGVzIGhhdmUgYmVlbiBhZGRlZC4KLSAgICAgICAgVGhpcyBhbGxvd3MgdXMgdG8gYXZvaWQgZG9p
bmcgYW55IGV4dHJhIHdvcmsgaWYgTXV0YXRpb25PYnNlcnZlcnMgYXJlCi0gICAgICAgIG5vdCBh
dHRhY2hlZCB0byBhIGRvY3VtZW50LgotCi0gICAgICAgIFRoaXMgY291bGQgYmUgaW1wcm92ZWQg
dXBvbiB0byBrZWVwIGEgY291bnQgb2YgZWFjaCB0eXBlLCBhcyByZW1vdmluZwotICAgICAgICBh
biBvYnNlcnZlciBjdXJyZW50bHkgaGFzIG5vIGVmZmVjdCBvbiBtX3N1YnRyZWVNdXRhdGlvbk9i
c2VydmVyVHlwZXMuCi0gICAgICAgIEJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgYSBtb3JlIGNvbXBs
ZXggaW1wbGVtZW50YXRpb246IG9uZSBjb3VudGVyIHBlcgotICAgICAgICBtdXRhdGlvbiB0eXBl
LiBBbmQgaXQgd291bGQgYmUgZWFzaWVyIHRvIGdldCB3cm9uZzogaWYgdGhlIGNvdW50ZXIKLSAg
ICAgICAgZ2V0cyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBhY3R1YWwgc3RhdGUgb2YgdGhlIERPTSwg
d2UgY291bGQgc3RhcnQKLSAgICAgICAgZHJvcHBpbmcgbXV0YXRpb24gbm90aWZpY2F0aW9ucy4K
LQotICAgICAgICBUZXN0OiBmYXN0L211dGF0aW9uL2Nyb3NzLWRvY3VtZW50Lmh0bWwKLQotICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Omhhc1N1
YnRyZWVNdXRhdGlvbk9ic2VydmVyT2ZUeXBlKToKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpoYXNTdWJ0cmVlTXV0YXRpb25PYnNlcnZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6YWRkU3VidHJlZU11dGF0aW9uT2JzZXJ2ZXJUeXBlcyk6Ci0gICAgICAgICogZG9tL011dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDoKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb246OmlzU3VidHJlZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uOjpkZWxpdmVyeU9wdGlvbnMpOgotICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6bXV0YXRpb25UeXBlcyk6Ci0gICAgICAg
ICogZG9tL05vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlkTW92ZVRvTmV3T3du
ZXJEb2N1bWVudCk6IFVwZGF0ZSBtdXRhdGlvbk9ic2VydmVyVHlwZXMgd2hlbiBhIE5vZGUgaXMg
bW92ZWQgdG8gYSBuZXcgZG9jdW1lbnQuCi0gICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRSZWdp
c3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUpOiBFeGl0IGVhcmx5IGlmIGl0J3Mga25vd24g
dGhhdCBubyBvYnNlcnZlcnMgb2YgfHR5cGV8IGFyZSByZWdpc3RlcmVkLgotICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6bm90aWZ5TXV0YXRpb25PYnNlcnZlcnNOb2RlV2lsbERldGFjaCk6IEV4aXQg
ZWFybHkgaWYgaXQncyBrbm93biBubyBzdWJ0cmVlIG9ic2VydmVycyBvZiBhbnkgdHlwZSBhcmUg
cmVnaXN0ZXJlZC4KLSAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKTogVXBkYXRl
IG11dGF0aW9uT2JzZXJ2ZXJUeXBlcyB3aGVuIGFuIG9ic2VydmF0aW9uIG9jY3Vycy4KLSAgICAg
ICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5oOiBBZGQgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjo6QWxsTXV0YXRpb25UeXBlcyB0byBlbnVtCi0KLTIwMTEtMTEtMDggIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIERldmlydHVhbGl6ZSBDU1NWYWx1ZS4K
LSAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE2NjY+Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgTWFrZSB0aGUgQ1NTVmFsdWUgZGVzdHJ1Y3Rv
ciBub24tdmlydHVhbCAoYWxvbmcgd2l0aCBhbGwgdGhlIHN1YmNsYXNzZXMuKQotICAgICAgICBU
aGlzIHJlbW92ZXMgdGhlIHZ0YWJsZXMsIGFuZCB0aGUgcG9pbnRlcnMgdGhlcmV0byBpbiBlYWNo
IHZhbHVlIGluc3RhbmNlLAotICAgICAgICBzaHJpbmtpbmcgZWFjaCBvYmplY3QgYnkgb25lIENQ
VSB3b3JkICg0IG9yIDggYnl0ZXMuKQotCi0gICAgICAgIFdlIHVzZSB0aGUgc2FtZSB0cmljayBh
cyBDU1NSdWxlIHRvIGltcGxlbWVudCBkZXN0cnVjdGlvbjsgcHJvdmlkaW5nIG91cgotICAgICAg
ICBvd24gZGVyZWYoKSBpbnN0ZWFkIG9mIFJlZkNvdW50ZWQncywgYW5kIHBlcmZvcm1pbmcgYSBz
dGF0aWNhbGx5IHR5cGVkCi0gICAgICAgIGRlbGV0ZSBpbiBhIGRlc3Ryb3koKSBtZXRob2QgY2Fs
bGVkIHdoZW4gdGhlIHJlZiBjb3VudCByZWFjaGVzIDAuCi0KLSAgICAgICAgQWxzbyBtYWRlIGFs
bCB0aGUgZW1wdHkgc3ViY2xhc3MgZGVzdHJ1Y3RvcnMgaW5saW5lLgotCi0gICAgICAgICogY3Nz
L0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOgotICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RSYXRpb1ZhbHVlOjp+Q1NTQXNwZWN0
UmF0aW9WYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHA6
Ci0gICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjp+Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
KToKLSAgICAgICAgKiBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHA6Ci0gICAgICAgICogY3Nz
L0NTU0JvcmRlckltYWdlVmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdl
VmFsdWU6On5DU1NCb3JkZXJJbWFnZVZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTQ2FudmFzVmFs
dWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwOgotICAgICAgICAqIGNz
cy9DU1NDcm9zc2ZhZGVWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ3Jvc3NmYWRlVmFs
dWU6On5DU1NDcm9zc2ZhZGVWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0N1cnNvckltYWdlVmFs
dWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTRmxleFZhbHVlLmNwcDoKLSAgICAgICAgKiBjc3MvQ1NT
RmxleFZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NGbGV4VmFsdWU6On5DU1NGbGV4VmFs
dWUpOgotICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcDoKLSAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VT
cmNWYWx1ZTo6fkNTU0ZvbnRGYWNlU3JjVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NGdW5jdGlv
blZhbHVlLmNwcDoKLSAgICAgICAgKiBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTRnVuY3Rpb25WYWx1ZTo6fkNTU0Z1bmN0aW9uVmFsdWUpOgotICAgICAgICAq
IGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU0ltYWdlVmFs
dWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTTXV0YWJsZVZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NNdXRhYmxlVmFsdWU6On5DU1NNdXRhYmxlVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NQ
YXJzZXJWYWx1ZXMuaDoKLSAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKLSAgICAg
ICAgKiBjc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwOgotICAgICAgICAqIGNzcy9DU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVW5pY29kZVJhbmdlVmFsdWU6
On5DU1NVbmljb2RlUmFuZ2VWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95KToKLSAgICAgICAgKiBjc3MvQ1NTVmFs
dWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXJlZik6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6fkNTU1ZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNw
cDoKLSAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZUxpc3Q6On5DU1NWYWx1ZUxpc3QpOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0ZXJW
YWx1ZS5jcHA6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmg6Ci0gICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6fldlYktpdENTU0ZpbHRlclZhbHVlKToK
LSAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwOgotICAgICAgICAqIGNz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWU6On5XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSk6Ci0KLTIwMTEtMTEtMDgg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgotCi0gICAgICAgIFNwZWN1bGF0aXZlIGZp
eCBmb3IgY3Jhc2hlcyBzZWVuIGluIERvY3VtZW50V3JpdGVyOjpkZXByZWNhdGVkRnJhbWVFbmNv
ZGluZwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4
MjgKLQotICAgICAgICBSZXZpZXdlZCBieSBOYXRlIENoYXBpbi4KLQotICAgICAgICBObyBuZXcg
dGVzdHM7IG5vdCBzdXJlIGhvdyB0byByZXByb2R1Y2UgdGhpcywgYnV0IGNyYXNoIHRyYWNlcyBp
bmRpY2F0ZSBpdAotICAgICAgICBpcyBhbiBvdGhlcndpc2UtaGFybWxlc3MgbnVsbCBkZXJlZmVy
ZW5jZS4KLQotICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFdyaXRlci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6ZGVwcmVjYXRlZEZyYW1lRW5jb2RpbmcpOgotICAgICAg
ICBIYW5kbGUgbnVsbCBkb2N1bWVudCB0aGUgc2FtZSBhcyBhIGRvY3VtZW50IHdpdGhvdXQgYSBV
UkwuCi0KLTIwMTEtMTEtMDggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgotCi0gICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NTcyMC4KLSAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTU3MjAKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODMxCi0KLSAgICAgICAgVGhpcyBoYXMg
bWFkZSB0aGUgbWVudWxpc3RzIG9uIFdlYktpdCBwYXRjaCByZXZpZXdzIG11Y2ggbGVzcwotICAg
ICAgICB1c2FibGUgKFJlcXVlc3RlZCBieSBtcm9iaW5zb24gb24gI3dlYmtpdCkuCi0KLSAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvR3RrUG9wdXBNZW51LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okd0
a1BvcHVwTWVudTo6bWVudVBvc2l0aW9uRnVuY3Rpb24pOgotCi0yMDExLTExLTA4ICBOaWNvIFdl
YmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSA2
IGV4aXQgdGltZSBkZXN0cnVjdG9ycyBhbmQgNiBzdGF0aWMgaW5pdGlhbGl6ZXJzCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2MAotCi0gICAgICAg
IFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgotCi0gICAgICAgIERvIHRoaXMgYnkgbW92aW5nIGds
b2JhbCBzdGF0aWNzIGludG8gZnVuY3Rpb24tbG9jYWwgc3RhdGljcywgYW5kIHVzaW5nCi0gICAg
ICAgIERFRklORV9MT0NBTF9TVEFUSUMgdG8gbGVhayB0aGVtLiBTaW5jZSB0aGlzIGNvZGUgaXMg
YWNjZXNzZWQgb24gYSBzaW5nbGUKLSAgICAgICAgdGhyZWFkLCB0aGlzIGlzIGEgc2FmZSBjaGFu
Z2UgdG8gbWFrZS4KLQotICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UsIHNvIG5vIG5ldyB0ZXN0
cy4KLQotICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6c0V2ZW50TGlzdGVuZXJzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEdDRXZl
bnQ6OmFkZEV2ZW50TGlzdGVuZXIpOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6
cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50Ojpn
Y0VwaWxvZ3VlQ2FsbGJhY2spOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQu
aDoKLSAgICAgICAgKiBiaW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OnN0YXRpY1RlbXBsYXRlTWFwKToKLSAgICAgICAgKFdlYkNvcmU6OndlYWtUZW1wbGF0ZUNh
bGxiYWNrKToKLSAgICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0R2V0UHJvcGVydHkpOgotICAgICAg
ICAoV2ViQ29yZTo6c3RhdGljTlBPYmplY3RNYXApOgotICAgICAgICAoV2ViQ29yZTo6d2Vha05Q
T2JqZWN0Q2FsbGJhY2spOgotICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlVjhPYmplY3RGb3JOUE9i
amVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpmb3JnZXRWOE9iamVjdEZvck5QT2JqZWN0KToKLSAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnN0YXRp
Y0V4dGVuc2lvbnNMaXN0KToKLSAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJlZ2lzdGVyZWRF
eHRlbnNpb25XaXRoVjgpOgotICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cmVnaXN0ZXJFeHRl
bnNpb24pOgotICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6ZXh0ZW5zaW9ucyk6Ci0gICAgICAg
ICogYmluZGluZ3MvdjgvVjhQcm94eS5oOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L25wcnVudGlt
ZS5jcHA6Ci0gICAgICAgICogcGx1Z2lucy9jaHJvbWl1bS9QbHVnaW5EYXRhQ2hyb21pdW0uY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6cGx1Z2luQ2FjaGUpOgotICAgICAgICAoV2ViQ29yZTo6UGx1
Z2luRGF0YTo6aW5pdFBsdWdpbnMpOgotICAgICAgICAoV2ViQ29yZTo6UGx1Z2luRGF0YTo6cmVm
cmVzaCk6Ci0gICAgICAgIChXZWJDb3JlOjpnZXRQbHVnaW5NaW1lVHlwZUZyb21FeHRlbnNpb24p
OgotCi0yMDExLTExLTA4ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgSW5kZXhlZERCOiBTdGFydCB1c2luZyB0aGUgb25TdWNjZXNzV2l0aENvbnRpbnVhdGlv
bigpIGNhbGxiYWNrCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTU2NQotCi0gICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAgICAg
VGhpcyBpcyBhIGZvbGxvdy11cCB0byByOTkxNjkgd2hlcmUgd2Ugc3RhcnQgdXNpbmcgdGhpcyBu
ZXcKLSAgICAgICAgY2FsbGJhY2sgZm9yIGN1cnNvcnMuCi0KLSAgICAgICAgKiBzdG9yYWdlL0lE
QkN1cnNvckJhY2tlbmRJbXBsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tl
bmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uSW50ZXJuYWwpOgotICAgICAgICAqIHN0b3JhZ2UvSURC
UmVxdWVzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpzZXRDdXJzb3IpOgot
Ci0yMDExLTExLTA4ICBKdXN0aW4gU2NodWggIDxqc2NodWhAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIERvY3VtZW50Ojpsb2FkZXIgc2hvdWxkIHVzZSBkb2N1bWVudExvYWRlcigpLCBub3QgYWN0
aXZlRG9jdW1lbnRMb2FkZXIoKQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjU4OTUKLQotICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCi0K
LSAgICAgICAgVGVzdDogZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3JlcGxhY2VzdGF0ZS1pbi1v
bnVubG9hZC5odG1sCi0KLSAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmxvYWRlcik6Ci0KLTIwMTEtMTEtMDggIEFuZHJlYXMgS2xpbmcgIDxr
bGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6IERldmly
dHVhbGl6ZSBpbWFnZSgpLCBpc0ZpeGVkU2l6ZSgpIGFuZCBmaXhlZFNpemUoKS4KLSAgICAgICAg
PGh0dHA6Ly93ZWJraXQub3JnL2IvNzE4MjQ+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCi0KLSAgICAgICAgUmVkaXJlY3QgdGhlIGNhbGxzIHRvIHRoZSBhcHByb3ByaWF0ZSBz
dWJjbGFzcyBpbiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcC4KLQotICAgICAgICAqIGNzcy9D
U1NDYW52YXNWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6OmlzRml4
ZWRTaXplKToKLSAgICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuaDoKLSAgICAgICAgKFdl
YkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjppc0ZpeGVkU2l6ZSk6Ci0gICAgICAgICogY3NzL0NT
U0dyYWRpZW50VmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6Omlz
Rml4ZWRTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmZpeGVkU2l6
ZSk6Ci0gICAgICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aW1hZ2UpOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNGaXhlZFNpemUpOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Zml4ZWRTaXplKToKLSAgICAgICAgKiBjc3MvQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5oOgotCi0yMDExLTExLTA4ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbiBB
UEldW0Nocm9taXVtXSBpbmplY3RlZCBleHRlbnNpb24gQVBJIG5lZWRzIHRvIHJldHVybiBhbiBv
YmplY3QKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
ODIyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzOgotICAgICAgICAoYnVpbGRFeHRlbnNp
b25BUElJbmplY3RlZFNjcmlwdCk6Ci0KLTIwMTEtMTEtMDggIEFuZHJlYXMgS2xpbmcgIDxrbGlu
Z0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU0ltYWdlVmFsdWU6IERldmlydHVhbGl6ZSBjYWNo
ZWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWRlciopLgotICAgICAgICA8aHR0cDovL3dlYmtpdC5v
cmcvYi83MTgxND4KLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAg
ICAgICBEZWZlciB0byBDU1NDdXJzb3JJbWFnZVZhbHVlICh0aGUgb25seSBDU1NJbWFnZVZhbHVl
IHN1YmNsYXNzKQotICAgICAgICB3aGVuIGFwcHJvcHJpYXRlIGluIENTU0ltYWdlVmFsdWU6OmNh
Y2hlZEltYWdlKENhY2hlZFJlc291cmNlTG9hZGVyKikuCi0KLSAgICAgICAgKiBjc3MvQ1NTQ3Vy
c29ySW1hZ2VWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKToKLSAgICAgICAgKiBjc3Mv
Q1NTSW1hZ2VWYWx1ZS5oOgotCi0yMDExLTExLTA4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkICJFdmFsdWF0ZSBpbiBj
b25zb2xlIiBhcyBhIHNob3J0Y3V0IGFuZCBjb250ZXh0IG1lbnUgaXRlbXMgdG8gc2NyaXB0cyBw
YW5lbAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4
MTcKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcu
cHJvdG90eXBlLmV2YWx1YXRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUuX2VudGVyS2V5UHJlc3NlZCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNj
cmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZVRleHRBcmVhQ29udGV4dE1lbnUpOgot
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2V2YWx1YXRlU2VsZWN0aW9uSW5D
b25zb2xlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TaG9ydGN1dHNTZWN0aW9uLnByb3RvdHlwZS5hZGRS
ZWxhdGVkS2V5cyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2VjdGlvbi5wcm90
b3R5cGUuYWRkQWx0ZXJuYXRlS2V5cyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9l
eHRlcm5zLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLmV2YWx1YXRlSW5Db25zb2xlKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5ldmFsdWF0ZUluQ29uc29sZSk6Ci0KLTIwMTEtMTEtMDggIEFuZHJlYXMgS2xpbmcg
IDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU1ZhbHVlOiBEZXZpcnR1YWxpemUgY3Nz
VGV4dCgpLgotICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTgxMz4KLQotICAgICAgICBS
ZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBSZW5hbWUgYWxsIHN1YmNsYXNz
IGltcGxlbWVudGF0aW9ucyB0byBjdXN0b21Dc3NUZXh0KCkgYW5kIGFkZAotICAgICAgICBhIENT
U1ZhbHVlOjpjc3NUZXh0KCkgdGhhdCBkZWZlcnMgdG8gdGhlIGFwcHJvcHJpYXRlIHN1YmNsYXNz
Ci0gICAgICAgIGJhc2VkIG9uIHRoZSB0eXBlIGluZm8uCi0KLSAgICAgICAgVGhlIHJlbmFtZSBp
cyBib3RoIGZvciBjbGFyaXR5LCBhbmQgdG8gZW5zdXJlIHRoYXQgY2FsbGluZwotICAgICAgICBj
c3NUZXh0KCkgd2lsbCBhbHdheXMgZW5kIHVwIGluIHRoZSBjb3JyZWN0IG1ldGhvZC4KLQotICAg
ICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNT
U0FzcGVjdFJhdGlvVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAqIGNzcy9DU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OmN1c3RvbUNz
c1RleHQpOgotICAgICAgICAqIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaDoKLSAgICAg
ICAgKiBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NC
b3JkZXJJbWFnZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAgICAgICAgKiBjc3MvQ1NTQm9yZGVy
SW1hZ2VWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NDYW52YXNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICogY3Nz
L0NTU0NhbnZhc1ZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAg
ICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTRmxleFZh
bHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ZsZXhWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6
Ci0gICAgICAgICogY3NzL0NTU0ZsZXhWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NGb250RmFj
ZVNyY1ZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OmN1
c3RvbUNzc1RleHQpOgotICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmg6Ci0gICAg
ICAgICogY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTRnVu
Y3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICogY3NzL0NTU0Z1bmN0aW9uVmFs
dWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAq
IGNzcy9DU1NHcmFkaWVudFZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU0luaGVyaXRlZFZhbHVl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0luaGVyaXRlZFZhbHVlOjpjdXN0b21Dc3NUZXh0
KToKLSAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NT
SW5pdGlhbFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0luaXRpYWxWYWx1ZTo6Y3Vz
dG9tQ3NzVGV4dCk6Ci0gICAgICAgICogY3NzL0NTU0luaXRpYWxWYWx1ZS5oOgotICAgICAgICAq
IGNzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0xp
bmVCb3hDb250YWluVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAqIGNzcy9DU1NMaW5l
Qm94Q29udGFpblZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTUmVmbGVj
dFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tQ3Nz
VGV4dCk6Ci0gICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5oOgotICAgICAgICAqIGNzcy9D
U1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhclRp
bWluZ0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NT
Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1N0ZXBzVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0g
ICAgICAgICogY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6
OkNTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWU6OkNTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFs
dWUpOgotICAgICAgICAqIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NVbmljb2RlUmFuZ2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICog
Y3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0KToKLSAgICAgICAgKiBjc3MvQ1NT
VmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlTGlzdDo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVl
TGlzdC5oOgotICAgICAgICAqIGNzcy9Gb250RmFtaWx5VmFsdWUuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6Rm9udEZhbWlseVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAgICAgICAgKiBjc3MvRm9u
dEZhbWlseVZhbHVlLmg6Ci0gICAgICAgICogY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Rm9udEZlYXR1cmVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAg
ICogY3NzL0ZvbnRGZWF0dXJlVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvRm9udFZhbHVlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkZvbnRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICog
Y3NzL0ZvbnRWYWx1ZS5oOgotICAgICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpTaGFkb3dWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICogY3NzL1No
YWRvd1ZhbHVlLmg6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjpjdXN0b21Dc3NUZXh0KToKLSAg
ICAgICAgKiBjc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWU6OmN1c3RvbUNzc1RleHQpOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5oOgotICAgICAgICAqIHN2Zy9TVkdDb2xvci5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpTVkdDb2xvcjo6Y3VzdG9tQ3NzVGV4dCk6Ci0gICAgICAgICogc3ZnL1NWR0NvbG9yLmg6Ci0g
ICAgICAgICogc3ZnL1NWR1BhaW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50Ojpj
dXN0b21Dc3NUZXh0KToKLSAgICAgICAgKiBzdmcvU1ZHUGFpbnQuaDoKLQotMjAxMS0xMS0wOCAg
R2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KLQotICAgICAgICBGaXggd2lkdGgg
b2YgbV90eXBlIGluIENhY2hlZFJlc291cmNlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTcyNwotCi0gICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hh
cGluLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9jYWNoZWRyZXNv
dXJjZS10eXBlcy5odG1sCi0KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlKToK
LSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKLQotMjAxMS0xMS0wOCAg
VG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+Ci0KLSAgICAgICAg
W1F0XSBEb24ndCBzZXQgT0JKRUNUU19ESVIgYW5kIERFRklORVMgaW4gZGVmYXVsdF9wcmUKLQot
ICAgICAgICBJZiBhIHBybyBmaWxlIG5lZWRzIHRvIGFjY2VzcyB0aGUgT0JKRUNUU19ESVIgaXQg
c2hvdWxkIHVzZSB0aGUKLSAgICAgICAgZm9ybSAke1FNQUtFX1ZBUl9PQkpFQ1RTX0RJUn0gdG8g
ZW5zdXJlIHRoZSB2YWx1ZSBpcyBldmFsdWF0ZWQKLSAgICAgICAgYWZ0ZXIgZGVmYXVsdHNfcG9z
dCBoYXMgYmVlbiBwcm9jZXNzZWQuCi0KLSAgICAgICAgU2V0dGluZyBERUZJTkVTIGluIGRlZmF1
bHRzX3ByZSBpcyBhbHNvIGJhZCwgYXMgYW55IERFRklORVM9Zm9vIG9uCi0gICAgICAgIHRoZSBj
b21tYW5kIGxpbmUgd2lsbCBvdmVycmlkZSB3aGF0ZXZlciB3ZSBzZXQgaW4gZGVmYXVsdHNfcHJl
LgotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgotCi0gICAgICAgICogVGFy
Z2V0LnByaToKLQotMjAxMS0xMS0wOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5j
b20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIEphdmFTY3JpcHQga2V5d29yZHMgdG8g
dGhlIGF1dG9jb21wbGV0ZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxNzgyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4K
LQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jb21wbGV0aW9ucy5yZWNlaXZl
ZFByb3BlcnR5TmFtZXMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZS5fY29tcGxldGlvbnMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZS5fcmVwb3J0Q29tcGxldGlvbnMpOgotCi0yMDExLTExLTA4ICBOaWtvbGFzIFppbW1l
cm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgotCi0gICAgICAgIEludHJvZHVjZSBTVkdMZW5n
dGhDb250ZXh0LCB0byBhbGxvdyB0byByZXNvbHZlIHJlbGF0aXZlIHVuaXRzIHRvIGFyYml0YXJ5
IHZpZXdwb3J0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzE3ODAKLQotICAgICAgICBSZXZpZXdlZCBieSBab2x0YW4gSGVyY3plZy4KLQotICAgICAg
ICBJbnRyb2R1Y2UgU1ZHTGVuZ3RoQ29udGV4dCB0byBjbGVhbnVwIFNWR0xlbmd0aCwgYnkgbW92
aW5nIGFsbCBjb252ZXJzaW9uIG9mIHJlbGF0aXZlIHVuaXRzIHRoYXQgZGVwZW5kIG9uIHN0eWxl
IG9yIHZpZXdwb3J0Ci0gICAgICAgIG91dCBvZiBTVkdMZW5ndGgsIGludG8gU1ZHTGVuZ3RoQ29u
dGV4dC4gUGFzcyBTVkdMZW5ndGhDb250ZXh0JiB0byBTVkdMZW5ndGg6OnZhbHVlL3NldFZhbHVl
Ly4uLiBmdW5jdGlvbnMgaW5zdGVhZCBvZiBhIHB1cmUKLSAgICAgICAgImNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHQiLCB3aGljaCB3YXMgcHJldmlvdXNseSB1c2VkIHRvIGRldGVybWluZSB0aGUg
dmlld3BvcnQgd2hlbiByZXNvbHZpbmcgcGVyY2VudGFnZSB1bml0cy4KLSAgICAgICAgU1ZHTGVu
Z3RoQ29udGV4dCBjYXJyaWVzIGFuIGFkZGl0aW9uYWwgRmxvYXRSZWN0IG9mIHRoZSBjdXN0b20g
dmlld3BvcnQsIHRvIHdoaWNoIHBlcmNlbnRhZ2VzIGFyZSByZXNvbHZlZCwgaWYgc3BlY2lmaWVk
LgotCi0gICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGtpbGwgc2V2ZXJhbCBkdXBsaWNhdGVzIG9m
IHRoZSBzYW1lIGNvZGUsIHdoaWNoIGhhbmRsZXMgb2JqZWN0Qm91bmRpbmdCb3ggbW9kZSBmb3Ig
Z3JhZGllbnRzL3BhdHRlcm5zL21hc2tzL2V0Yy4uCi0gICAgICAgIEEgZm9sbG93LXVwIHBhdGNo
IHdpbGwgY29udmVydCBmaWx0ZXJzIHRvIHVzZSB0aGUgbmV3IFNWR0xlbmd0aENvbnRleHQ6OnJl
c29sdmVSZWN0YW5nbGUgY29kZSBhcyB3ZWxsLgotCi0gICAgICAgIFRoaXMgaXMgYSBwcmVwYXJh
dGlvbiBmb3IgYnVnIDEwNDMwLCB0byBmaXggZmVJbWFnZSArIG9iamVjdEJvdW5kaW5nQm94IHN1
cHBvcnQgd2hlbiByZW5kZXJpbmcgcmVmZXJlbmNlZCBlbGVtZW50cywgaW5zdGVhZCBvZiBmaWxl
cy4KLQotICAgICAgICBEb2Vzbid0IGFmZmVjdCBhbnkgdGVzdHMgeWV0LgotCi0gICAgICAgICog
Q01ha2VMaXN0cy50eHQ6Ci0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAg
KiBUYXJnZXQucHJpOgotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdy
YWRpZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6
OmFwcGx5UmVzb3VyY2UpOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudC5oOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudC5oOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudDo6Z3JhZGllbnRVbml0cyk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuOjphcHBseVJlc291cmNlKToKLSAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0
ZVBhdHRlcm5Cb3VuZGFyaWVzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6YnVpbGRUaWxlSW1hZ2VUcmFuc2Zvcm0pOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2UpOgotICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6Z3JhZGllbnRVbml0cyk6Ci0g
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OndyaXRlQ29tbW9uR3JhZGllbnRQcm9wZXJ0aWVzKToKLSAgICAgICAgKFdlYkNv
cmU6OndyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIpOgotICAgICAgICAqIHN2Zy9HcmFkaWVudEF0
dHJpYnV0ZXMuaDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6R3JhZGll
bnRBdHRyaWJ1dGVzKToKLSAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6Z3Jh
ZGllbnRVbml0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpHcmFkaWVudEF0dHJpYnV0ZXM6OnNldEdy
YWRpZW50VW5pdHMpOgotICAgICAgICAoV2ViQ29yZTo6R3JhZGllbnRBdHRyaWJ1dGVzOjpoYXNH
cmFkaWVudFVuaXRzKToKLSAgICAgICAgKiBzdmcvUGF0dGVybkF0dHJpYnV0ZXMuaDoKLSAgICAg
ICAgKFdlYkNvcmU6OlBhdHRlcm5BdHRyaWJ1dGVzOjpQYXR0ZXJuQXR0cmlidXRlcyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpQYXR0ZXJuQXR0cmlidXRlczo6cGF0dGVyblVuaXRzKToKLSAgICAgICAg
KFdlYkNvcmU6OlBhdHRlcm5BdHRyaWJ1dGVzOjpwYXR0ZXJuQ29udGVudFVuaXRzKToKLSAgICAg
ICAgKFdlYkNvcmU6OlBhdHRlcm5BdHRyaWJ1dGVzOjpzZXRQYXR0ZXJuVW5pdHMpOgotICAgICAg
ICAoV2ViQ29yZTo6UGF0dGVybkF0dHJpYnV0ZXM6OnNldFBhdHRlcm5Db250ZW50VW5pdHMpOgot
ICAgICAgICAoV2ViQ29yZTo6UGF0dGVybkF0dHJpYnV0ZXM6Omhhc1BhdHRlcm5Vbml0cyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpQYXR0ZXJuQXR0cmlidXRlczo6aGFzUGF0dGVybkNvbnRlbnRVbml0
cyk6Ci0gICAgICAgICogc3ZnL1NWR0FsbEluT25lLmNwcDoKLSAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudC5oOgotICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6b3BlcmF0b3IgU1ZHTGVuZ3Ro
Q29udGV4dCk6Ci0gICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6ZmlsdGVyQm91bmRpbmdCb3gpOgotICAgICAgICAq
IHN2Zy9TVkdMZW5ndGguY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpTVkdMZW5n
dGgpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjp1bml0TW9kZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpTVkdMZW5ndGg6OnZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6
c2V0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZp
ZWRVbml0cyk6Ci0gICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgotICAgICAgICAoV2ViQ29yZTo6
U1ZHTGVuZ3RoOjpibGVuZCk6Ci0gICAgICAgICogc3ZnL1NWR0xlbmd0aENvbnRleHQuY3BwOiBB
ZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aENvbnRleHQ6OlNWR0xlbmd0aENvbnRl
eHQpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6cmVzb2x2ZVJlY3Rhbmds
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0OjpyZXNvbHZlUG9pbnQpOgot
ICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6cmVzb2x2ZUxlbmd0aCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0Ojpjb252ZXJ0VmFsdWVUb1VzZXJVbml0cyk6
Ci0gICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0Ojpjb252ZXJ0VmFsdWVGcm9tVXNl
clVuaXRzKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aENvbnRleHQ6OmNvbnZlcnRWYWx1
ZUZyb21Vc2VyVW5pdHNUb1BlcmNlbnRhZ2UpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Q29udGV4dDo6Y29udmVydFZhbHVlRnJvbVBlcmNlbnRhZ2VUb1VzZXJVbml0cyk6Ci0gICAgICAg
IChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0Ojpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9F
TVMpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6Y29udmVydFZhbHVlRnJv
bUVNU1RvVXNlclVuaXRzKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aENvbnRleHQ6OmNv
bnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VYUyk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdMZW5n
dGhDb250ZXh0Ojpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgotICAgICAgICAoV2Vi
Q29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6ZGV0ZXJtaW5lVmlld3BvcnQpOgotICAgICAgICAqIHN2
Zy9TVkdMZW5ndGhDb250ZXh0Lmg6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Q29udGV4dDo6cmVzb2x2ZVJlY3RhbmdsZSk6Ci0gICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRp
ZW50RWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1l
bnQ6OmNvbGxlY3RHcmFkaWVudEF0dHJpYnV0ZXMpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50OjpjYWxjdWxhdGVTdGFydEVuZFBvaW50cyk6Ci0gICAgICAgICog
c3ZnL1NWR01hc2tFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR01hc2tFbGVtZW50
OjptYXNrQm91bmRpbmdCb3gpOgotICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6Y29sbGVjdFBhdHRlcm5BdHRy
aWJ1dGVzKToKLSAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50
QXR0cmlidXRlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6
OmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKToKLQotMjAxMS0xMS0wOCAgQW5k
cmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQ1NTVmFsdWU6IERldmly
dHVhbGl6ZSBhZGRTdWJyZXNvdXJjZVN0eWxlVVJMcygpLgotICAgICAgICA8aHR0cDovL3dlYmtp
dC5vcmcvYi83MTgwNT4KLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQot
ICAgICAgICBNYWtlIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKCkgbm9uLXZpcnR1YWwgYW5kIGNh
bGwgdGhlIGFwcHJvcHJpYXRlCi0gICAgICAgIHN1YmNsYXNzIGltcGxlbWVudGF0aW9uIGJhc2Vk
IG9uIHRoZSBzdWJjbGFzcyB0eXBlIGluZm8uCi0KLSAgICAgICAgKiBjc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmg6Ci0gICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1
ZS5oOgotICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMpOgotICAgICAgICAqIGNzcy9DU1NWYWx1ZS5o
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKToK
LSAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0Lmg6Ci0KLTIwMTEtMTEtMDggIEFuZHJleSBLb3N5
YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBkbyBu
b3Qgc2hvdyBvYmplY3QgcG9wb3ZlciB3aGVuIHNlbGVjdGlvbiBpcyBhY3RpdmUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODA0Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX3Nob3VsZFNob3dQb3BvdmVyKToKLQotMjAx
MS0xMS0wOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIFdlYiBJbnNwZWN0b3I6IERvIG5vdCBoaWRlIFN1Z2dlc3RCb3ggaWYgdHlwZWQtaW4gc3Ry
aW5nIGluIHRoZSBtaWRkbGUgb2YgaW5wdXQgZXF1YWxzIG9uZSBvZiBzdWdnZXN0aW9ucwotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3OTcKLQotICAg
ICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9t
cHQucHJvdG90eXBlLm9uS2V5RG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21w
dC5wcm90b3R5cGUuY29tcGxldGUpOgotCi0yMDExLTExLTA4ICBBbmRyZWFzIEtsaW5nICA8a2xp
bmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBDU1NHcmFkaWVudFZhbHVlOiBEZXZpcnR1YWxpemUg
Y3JlYXRlR3JhZGllbnQoKS4KLSAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzE4MDA+Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgTWFrZSBjcmVh
dGVHcmFkaWVudCgpIG5vbi12aXJ0dWFsIGFuZCBjYWxsIHRoZSBhcHByb3ByaWF0ZSBzdWJjbGFz
cwotICAgICAgICBpbXBsZW1lbnRhdGlvbiBpbiBpbWFnZSgpIGJhc2VkIG9uIGlze0xpbmVhcixS
YWRpYWx9R3JhZGllbnQoKS4KLQotICAgICAgICAqIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmltYWdlKToKLSAgICAgICAgKiBj
c3MvQ1NTR3JhZGllbnRWYWx1ZS5oOgotCi0yMDExLTExLTA4ICBBbmRyZWFzIEtsaW5nICA8a2xp
bmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBDU1NDYW52YXNWYWx1ZTogUmVtb3ZlIGluaGVyaXRh
bmNlIGZyb20gQ2FudmFzT2JzZXJ2ZXIuCi0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcx
Nzk2PgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIFRv
IGNvbXBsZXRlbHkgZGV2aXJ0dWFsaXplIGFsbCB0aGUgQ1NTVmFsdWVzLCB3ZSBuZWVkIHRvIHJl
bW92ZQotICAgICAgICBDU1NDYW52YXNWYWx1ZSdzIGluaGVyaXRhbmNlIGZyb20gQ2FudmFzT2Jz
ZXJ2ZXIsIGFzIHRoYXQgaXMgZm9yY2luZwotICAgICAgICBhIHZwdHIgaW50byB0aGUgY2xhc3Mu
Ci0KLSAgICAgICAgVXNlIHRoZSBzYW1lIGFwcHJvYWNoIGFzIENTU0ltcG9ydFJ1bGUgYW5kIG1h
a2UgYSBzaW1wbGUgcHJveHlpbmcKLSAgICAgICAgQ2FudmFzT2JzZXJ2ZXIgc3ViY2xhc3MgYW5k
IHB1dCB0aGF0IGFzIGEgbWVtYmVyIHZhcmlhYmxlIG9mIHRoZSB2YWx1ZS4KLQotICAgICAgICAq
IGNzcy9DU1NDYW52YXNWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NDYW52YXNWYWx1
ZTo6fkNTU0NhbnZhc1ZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpl
bGVtZW50KToKLSAgICAgICAgKiBjc3MvQ1NTQ2FudmFzVmFsdWUuaDoKLSAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbnZhc1ZhbHVlOjpDU1NDYW52YXNWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NDYW52YXNWYWx1ZTo6Q2FudmFzT2JzZXJ2ZXJQcm94eTo6Q2FudmFzT2JzZXJ2ZXJQcm94eSk6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NDYW52YXNWYWx1ZTo6Q2FudmFzT2JzZXJ2ZXJQcm94eTo6
fkNhbnZhc09ic2VydmVyUHJveHkpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6
OkNhbnZhc09ic2VydmVyUHJveHk6OmNhbnZhc0NoYW5nZWQpOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FudmFzVmFsdWU6OkNhbnZhc09ic2VydmVyUHJveHk6OmNhbnZhc1Jlc2l6ZWQpOgotICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6OkNhbnZhc09ic2VydmVyUHJveHk6OmNhbnZh
c0Rlc3Ryb3llZCk6Ci0KLTIwMTEtMTEtMDggIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZGlzcGxheSBub3RpZmljYXRpb24g
aW4gdGhlIGZyb250LWVuZCB3aGVuIGluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlcwotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NzAKLQotICAgICAg
ICBXaGVuIGluc3BlY3RlZCB3b3JrZXIgdGVybWluYXRlcyB3ZSB3aWxsIHNob3cgYSBub3RpZmlj
YXRpb24gc2ltaWxhciB0byB0aGUgaGVscAotICAgICAgICBzY3JlZW4uIFRoZSBub3RpZmljYXRp
b24gZGlzYXBwZWFycyB3aGVuIHRoZSB3b3JrZXIgcmVzdGFydHMgb3IgdGhlIHVzZXIgY2xvc2Vz
IGl0Ci0gICAgICAgIG1hbnVhbGx5LgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCi0KLSAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6Ci0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
Lldvcmtlck1hbmFnZXIubG9hZGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5h
Z2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5X
b3JrZXJUZXJtaW5hdGVkU2NyZWVuKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNjb25uZWN0RnJvbUJhY2tlbmQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLmZyb250ZW5kUmV1c2VkKToKLQotMjAxMS0xMS0wOCAg
Tmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KLQotICAgICAgICBGb2xk
IEltYWdlQnlTaXplQ2FjaGUgYWdhaW4gaW50byBDU1NJbWFnZUdlbmVyYXRvclZhbHVlCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc4NQotCi0gICAg
ICAgIFJldmlld2VkIGJ5IFpvbHRhbiBIZXJjemVnLgotCi0gICAgICAgIFJlbW92ZSBJbWFnZUJ5
U2l6ZUNhY2hlLCBhbmQgZm9sZCBpdCBpbnRvIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUsIGFzIGl0
IHVzZWQgdG8gYmUuCi0gICAgICAgIENhY2hlZEltYWdlIGhhcyBzd2l0Y2hlZCB0byBTVkdJbWFn
ZUNhY2hlIGFuZCBubyBsb25nZXIgbmVlZHMgaXQuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFRhcmdldC5wcmk6
Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
LSAgICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjphZGRDbGllbnQpOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6cmVtb3ZlQ2xpZW50KToKLSAgICAgICAgKFdlYkNv
cmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmdldEltYWdlKToKLSAgICAgICAgKFdlYkNvcmU6
OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnB1dEltYWdlKToKLSAgICAgICAgKiBjc3MvQ1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6U2l6ZUFuZENvdW50OjpTaXpl
QW5kQ291bnQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Y2xp
ZW50cyk6Ci0gICAgICAgICogcmVuZGVyaW5nL0ltYWdlQnlTaXplQ2FjaGUuY3BwOiBSZW1vdmVk
LgotICAgICAgICAqIHJlbmRlcmluZy9JbWFnZUJ5U2l6ZUNhY2hlLmg6IFJlbW92ZWQuCi0KLTIw
MTEtMTEtMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBBdm9pZCBhdXRvbWF0aWMgQ29uc29sZSBzdWdnZXN0aW9ucyB3
aXRoIGVtcHR5IGV4cHJlc3Npb24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxNzgzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNr
eS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6Ci0KLTIw
MTEtMTEtMDggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0KLSAg
ICAgICAgTm90IHJldmlld2VkLiBGaXggYnVpbGQsIGJ5IHJlbW92aW5nIGFuIHVudXNlZCB2YXJp
YWJsZS4KLQotICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjppc09yaWdpbkNsZWFuKToKLSAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlUGF0dGVybik6Ci0KLTIwMTEtMTEtMDgg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+Ci0KLSAgICAgICAgU3dp
dGNoIFNWR0ltYWdlIGNhY2hlIHRvIHN0b3JlIEltYWdlQnVmZmVycyBpbnN0ZWFkIG9mIHdob2xl
IFNWR0ltYWdlcywgaW5jbHVkaW5nIGEgRE9NL1JlbmRlciB0cmVlCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM2OAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFpvbHRhbiBIZXJjemVnLgotCi0gICAgICAgIFdoZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0
aGUgY2FudmFzIHdvdWxkIGJlIHRhaW50ZWQsIHdlIG5lZWQgYWNjZXNzIHRvIHRoZSBTVkdJbWFn
ZSwgbm90IGl0cyBjYWNoZWQgQml0bWFwSW1hZ2UuCi0gICAgICAgIE90aGVyd2hpc2Ugd3Jvbmcg
YXNzdW1wdGlvbnMgYXJlIG1vZGUsIGxlYWRpbmcgdG8gcmVncmVzc2lvbnMuCi0KLSAgICAgICAg
Rml4ZXMgaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtc3ZnLWltYWdlLmh0
bWwgYW5kIHJlbGF0ZWQgdGVzdHMgb24gdGhlIGJvdHMuCi0KLSAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQ6OndvdWxkVGFpbnRPcmlnaW4pOiBGb3Jnb3QgdG8gc3dpdGNoIHRoZW0g
YmFjayB0byB1c2UgY2FjaGVkSW1hZ2UtPmltYWdlKCkuCi0gICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmlzT3JpZ2lu
Q2xlYW4pOiBEaXR0by4KLQotMjAxMS0xMS0wOCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlIHNob3VsZCBiZSBz
Y3JvbGxlZCB0byBib3R0b20gd2hlbiBzaG93biBmb3IgdGhlIGZpcnN0IHRpbWUuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc4MQotCi0gICAgICAg
IFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NvbnNvbGVWaWV3LmpzOgotCi0yMDExLTExLTA4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxu
emltbWVybWFubkByaW0uY29tPgotCi0gICAgICAgIFN3aXRjaCBTVkdJbWFnZSBjYWNoZSB0byBz
dG9yZSBJbWFnZUJ1ZmZlcnMgaW5zdGVhZCBvZiB3aG9sZSBTVkdJbWFnZXMsIGluY2x1ZGluZyBh
IERPTS9SZW5kZXIgdHJlZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEzNjgKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQot
ICAgICAgICBGaXggcmVncmVzc2lvbnMvcmFjZXMgaW50cm9kdWNlZCBieSByOTg4NTIuIFNWR0lt
YWdlIHJlcGFpbnRpbmcgZGlkbid0IHdvcmsgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLgot
ICAgICAgICBUaGUgcHJvYmxlbSB3YXMgaGFyZCB0byByZXByb2R1Y2Ugb24gTWFjIHBvcnRzLCBi
dXQgZWFzaWx5IHZpc2libGUgb24gQ2hyb21pdW0sIHdoZW4gb3BlbmluZyB0d28gZmlsZXMKLSAg
ICAgICAgdGhhdCBzaGFyZWQgdGhlIHNhbWUgYW5pbWF0ZWQgU1ZHIGltYWdlLiBUaGUgcHJvYmxl
bSBvZiBzaGFyaW5nIGEgc2luZ2xlIEltYWdlT2JzZXJ2ZXIgYWNyb3NzIG11bHRpcGxlCi0gICAg
ICAgIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBTVkdJbWFnZSwgbGVhZHMgdG8gbmFzdHkgcHJvYmxl
bXMsIHRoYXQgYXJlIHRpbWluZyBkZXBlbmRhbnQuIGNoYW5nZWRJblJlY3QoKSBjYWxscwotICAg
ICAgICB0aGF0IHNob3VsZCBvbmx5IGJ5IHJlY2VpdmVkIGluIG9uZSBkb2N1bWVudCwgYXJlIHJl
Y2VpdmVkIGluIHRoZSBvdGhlciBhcyB3ZWxsLCBkdWUgdGhlIHNoYXJlZCBuYXR1cmUKLSAgICAg
ICAgb2YgQ2FjaGVkSW1hZ2UuIFRvIGF2b2lkIHRoZXNlIHByb2JsZW1zIGFsbHRvZ2V0aGVyLCBh
IG5ldyBhcHByb2FjaCBpcyBuZWVkZWQsIHRoYXQgd2FzIGluaXRpYWxseSBzdWdnZXN0ZWQKLSAg
ICAgICAgYnkgQW50dGkuCi0KLSAgICAgICAgQXZvaWQgY3JlYXRpbmcgbXVsdGlwbGUgU1ZHSW1h
Z2VzIGFuZCBjYWNoaW5nIHRoZW0gZm9yIGRpZmZlcmVudCBzaXplcy96b29tIGxldmVscy4gSW50
cm9kdWNlIFNWR0ltYWdlQ2FjaGUKLSAgICAgICAgd2hpY2ggaG9sZHMgcmVuZGVyZWQgdmVyc2lv
bnMgb2YgdGhlIFNWR0ltYWdlIGF0IGNlcnRhaW4gc2l6ZXMvem9vbSBsZXZlbHMuIEl0IGhvbGRz
IChJbWFnZUJ1ZmZlciwgSW1hZ2UpIHBhaXJzCi0gICAgICAgIGZvciBlYWNoIHJlbmRlcmVyLCBh
c3NvY2lhdGVkIHdpdGggYSBzaXplIGFuZCB6b29tIGxldmVsLgotCi0gICAgICAgIFRoaXMgaXMg
YSBtYWpvciBjaGFuZ2UgdG8gdGhlIGNhY2hlIGFzIGludHJvZHVjZWQgc29tZSB3ZWVrcyBhZ28u
IEluc3RlYWQgb2YgaG9sZGluZyBtdWx0aXBsZSBTVkdJbWFnZXMsIGVhY2ggY29udGFpbmluZwot
ICAgICAgICBhIHdob2xlIERPTS9yZW5kZXIgdHJlZSwgd2Ugbm93IGNyZWF0ZSBiaXRtYXAgaW1h
Z2VzIHJlbmRlcmVkIGF0IHRoZSByZXF1ZXN0ZWQgc2l6ZXMvem9vbSBsZXZlbHMgYW5kIGNhY2hl
IHRoZW0uCi0KLSAgICAgICAgUmV2ZXJ0IEltYWdlQnlTaXplQ2FjaGUgY2hhbmdlcyB0aGF0IHdl
cmUgbmVlZGVkIHRvIG1ha2UgaXQgdXNhYmxlIHdpaCBTVkdJbWFnZS4gSXRzIG5vdyB1c2VkIG9u
bHkgaW4gQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSBhbmQKLSAgICAgICAgdGh1cyB0aGUgZXh0cmEg
aW5mb3JtYXRpb24gdGhhdCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlIGRvZXNuJ3QgbmVlZCBjYW4g
YmUgcmVtb3ZlZCBhZ2FpbiAoZGVzaXJlZC9hY3R1YWwgc2l6ZSBkaWZmZXJlbnRhdGlvbnMsIGFu
ZCB0aGUgem9vbSBsZXZlbCkuCi0KLSAgICAgICAgVGVzdHM6IHN2Zy9hcy1pbWFnZS9hbmltYXRl
ZC1zdmctYXMtaW1hZ2Utbm8tZml4ZWQtaW50cmluc2ljLXNpemUuaHRtbAotICAgICAgICAgICAg
ICAgc3ZnL2FzLWltYWdlL2FuaW1hdGVkLXN2Zy1hcy1pbWFnZS1zYW1lLWltYWdlLmh0bWwKLQot
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgc3ZnL2dyYXBoaWNzL1NWR0ltYWdlQ2FjaGUu
KiB0byBidWlsZC4KLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KLSAgICAg
ICAgKiBUYXJnZXQucHJpOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgot
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KLSAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kOiBDb3B5IGhlYWRlcnMg
ZnJvbSBzdmcvZ3JhcGhpY3MsIGFzIFNWR0ltYWdlQ2FjaGUgaXMgbmVlZGVkIGJ5IENhY2hlZElt
YWdlIGluIFNWRyBlbmFibGVkIGJ1aWxkcy4KLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZCBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS4qIHRvIGJ1aWxk
LgotICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDogUmVtb3ZlIHpvb20g
cGFyYW1ldGVyIGZyb20gYWRkQ2xpZW50L2dldEltYWdlLCBubyBuZWVkIHRvIHBhc3MgMSBkZWZh
dWx0IHZhbHVlcyBhbnltb3JlLgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZTo6YWRkQ2xpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFs
dWU6OmdldEltYWdlKToKLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOiBT
dG9wIHVzaW5nIEltYWdlQnlTaXplQ2FjaGUsIGFuZCBzd2l0Y2ggdG8gdGhlIG5ldyBTVkdJbWFn
ZUNhY2hlLgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OnJlbW92ZUNsaWVudEZvclJl
bmRlcmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpsb29rdXBPckNyZWF0ZUlt
YWdlRm9yUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OnNldENvbnRh
aW5lclNpemVGb3JSZW5kZXJlcik6Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6aW1h
Z2VTaXplRm9yUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNsZWFy
KToKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhKToKLSAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZEltYWdlOjpkZWNvZGVkU2l6ZUNoYW5nZWQpOgotICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkSW1hZ2U6OmRpZERyYXcpOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6
OnNob3VsZFBhdXNlQW5pbWF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjph
bmltYXRpb25BZHZhbmNlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6Y2hhbmdl
ZEluUmVjdCk6Ci0gICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmg6Ci0gICAgICAg
ICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6IFN0b3AgdXNpbmcgaW1hZ2VGb3JSZW5kZXJlcigp
LCBhcyBpdCBtYXkgcmV0dXJuIGNhY2hlZCBCaXRtYXBJbWFnZXMsIHRoYXQgZG9uJ3QgY2Fycnkg
YSBmaWxlbmFtZSBleHRlbnNpb24gYW55bW9yZSwgd2hpY2ggaXMgcmVxdWlyZWQgaGVyZS4KLSAg
ICAgICAgKFdlYkNvcmU6OmdldEltYWdlKToKLSAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VCeVNp
emVDYWNoZS5jcHA6IFJldmVydCBjaGFuZ2VzIHRvIEltYWdlQnlTaXplQ2FjaGUsIHdoaWNoIHdl
cmUgbmVlZGVkIHRvIG1ha2UgaXQgdXNhYmxlIGZvciBTVkdJbWFnZXMuIENTU0ltYWdlR2VuZXJh
dG9yIGRvZXNuJ3QgbmVlZCBpdC4KLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnlTaXplQ2FjaGU6
OmFkZENsaWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ5U2l6ZUNhY2hlOjpyZW1vdmVD
bGllbnQpOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCeVNpemVDYWNoZTo6Z2V0SW1hZ2UpOgot
ICAgICAgICAqIHJlbmRlcmluZy9JbWFnZUJ5U2l6ZUNhY2hlLmg6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6U2l6ZUFuZENvdW50OjpTaXplQW5kQ291bnQpOgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHA6IFN0b3AgdXNpbmcgaW1hZ2VGb3JSZW5kZXJlcigpLCB1c2UgY2Fj
aGVkSW1hZ2UoKS0+aW1hZ2UoKSwgd2hpY2ggaXMgZ3VhcmFudGVlZCB0byBiZSBhIFNWR0ltYWdl
IGZvciBzdmcgaW1hZ2VzLCBhbmQgbm90IGEgY2FjaGVkIGJpdG1hcCBjb3B5LgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2U6OmVtYmVkZGVkQ29udGVudEJveCk6Ci0gICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDogU2ltcGxpZnkgbG9naWMgdG8gZmlndXJlIG91dCB0
aGUgaW50cmluc2ljIHNpemUgLSB0aGUgc3BlY2lhbCBsb2dpYyBmb3IgdGhlIG9sZCBTVkdJbWFn
ZSBjYWNoZSBjYW4gZ28gYXdheSBub3cuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNl
ZDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxIZWlnaHQpOgotICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmNwcDogQ2FsbCByZW1vdmVDbGllbnRGb3JS
ZW5kZXJlcigpLCB3aGljaCB0YWtlcyBjYXJlIG9mIGNsZWFyaW5nIFNWR0ltYWdlQ2FjaGUgZW50
cmllcyBhcyB3ZWxsLgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVDYWNoZWRJbWFnZTo6cmVtb3Zl
Q2xpZW50KTogVGhpcyBjaGFuZ2UgaXMgbmVlZGVkLCBhcyB3ZSBkb24ndCB3YW50IHRvIG1ha2Ug
cmVtb3ZlQ2xpZW50KCkgdmlydHVhbCBpbiBDYWNoZWRSZXNvdXJjZS4KLSAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOiBSZW5hbWUgaXNFbWJlZGRlZFRocm91Z2hJbWFn
ZUVsZW1lbnQgdG8gaXNFbWJlZGRlZFRocm91Z2hTVkdJbWFnZSwgYXMgdGhpcyBpcyB3aGF0IGl0
IGFjdHVhbGx5IGNoZWNrcy4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmlzRW1i
ZWRkZWRUaHJvdWdoU1ZHSW1hZ2UpOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Um9vdC5oOgotICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDogRml4IGJ1ZyB0aGF0J3Mg
dmlzaWJsZSBub3cgd2l0aCB0aGUgU1ZHSW1hZ2VDYWNoZSwgd2hpY2ggd2FzIGFscmVhZHkgdGhl
cmUgYmVmb3JlLCBidXQgaGFyZCB0byB0cmlnZ2VyLgotICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZH
RWxlbWVudDo6Y3VycmVudFZpZXdCb3hSZWN0KTogVGhlIHZpZXdCb3ggZGVwZW5kcyBvbiB3aG8n
cyBhc2tpbmcgZm9yIGl0OiB0aGUgaG9zdCBkb2N1bWVudCBvciB0aGUgZW1iZWRkZWQgZG9jdW1l
bnQ/IFRha2UgdGhhdCBpbnRvIGFjY291bnQuCi0gICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQu
aDoKLSAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOiBDbGVhbnVwIHNvbWUgY29k
ZS4gQWRkIG5ldyBsb2dpYyB0aGF0IGRyYXdzIGEgU1ZHSW1hZ2UgaW50byBhbiBJbWFnZUJ1ZmZl
ciBhdCBhIGRlc2lyZWQgc2l6ZSAmIHpvb20uCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6
c2V0Q29udGFpbmVyU2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6c2l6ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZHJhd1NWR1RvSW1hZ2VCdWZmZXIpOgotICAgICAg
ICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5oOgotICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJ
bWFnZUNhY2hlLmNwcDogQWRkZWQuIFNWR0ltYWdlQ2FjaGUgY2FjaGVzIEltYWdlL0ltYWdlQnVm
ZmVyIHBhaXJzIGZvciBlYWNoIF9yZW5kZXJlcl8gYW5kIHNpemUvem9vbSBsZXZlbC4gVGhlIElt
YWdlQnlTaXplQ2FjaGUgb25seSBjYXJlZCBhYm91dCBzaXplLgotICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2VDYWNoZTo6U1ZHSW1hZ2VDYWNoZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFn
ZUNhY2hlOjp+U1ZHSW1hZ2VDYWNoZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZUNhY2hl
OjpyZW1vdmVSZW5kZXJlckZyb21DYWNoZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZUNh
Y2hlOjpzZXRSZXF1ZXN0ZWRTaXplQW5kWm9vbSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFn
ZUNhY2hlOjpnZXRSZXF1ZXN0ZWRTaXplQW5kWm9vbSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJ
bWFnZUNhY2hlOjppbWFnZUNvbnRlbnRDaGFuZ2VkKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0lt
YWdlQ2FjaGU6OnJlZHJhd1RpbWVyRmlyZWQpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VD
YWNoZTo6bG9va3VwT3JDcmVhdGVCaXRtYXBJbWFnZUZvclJlbmRlcmVyKToKLSAgICAgICAgKiBz
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2VDYWNoZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlNW
R0ltYWdlQ2FjaGU6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZUNhY2hlOjpD
YWNoZWRTaXplQW5kWm9vbTo6Q2FjaGVkU2l6ZUFuZFpvb20pOgotICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2VDYWNoZTo6Q2FjaGVkSW1hZ2VEYXRhOjpDYWNoZWRJbWFnZURhdGEpOgotCi0yMDEx
LTExLTA3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHNob3J0Y3V0cyBhbmQgc2V0dGluZ3Mgc2NyZWVucwot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3NzMKLQot
ICAgICAgICBLZWVwIHBvaW50ZXIgdG8gdGhlIHZpc2libGUgc2NyZWVuIGFuZCBoaWRlIGl0IGF1
dG9tYXRpY2FsbHkgd2hlbiBuZXcgb25lIGlzIGdvaW5nCi0gICAgICAgIHRvIGJlIGRpc3BsYXll
ZC4KLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWxwU2NyZWVuLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
bHBTY3JlZW4ucHJvdG90eXBlLnNob3cpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkhlbHBTY3Jl
ZW4ucHJvdG90eXBlLmhpZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2hvcnRj
dXRzU2NyZWVuLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNob3J0Y3V0c1NjcmVlbik6IFNo
b3J0Y3V0c1NjcmVlbiBpcyBub3cgYSBkZXNjZW5kYW50IG9mIEhlbHBTY3JlZW4uCi0gICAgICAg
IChXZWJJbnNwZWN0b3IuU2hvcnRjdXRzU2NyZWVuLnByb3RvdHlwZS5zaG93KToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5faGlkZVNldHRpbmdzU2NyZWVuKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5kb2N1bWVudEtl
eURvd24pOgotCi0yMDExLTExLTA4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBy
aW0uY29tPgotCi0gICAgICAgIE5vdCByZXZpZXdlZC4gRml4IFNub3cgTGVvcGFyZCAzMmJpdCBi
dWlsZHMuCi0KLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRpbyk6IENTU1BhcnNlclZhbHVlOjpmVmFsdWUgaXMg
YSBkb3VibGUsIHVzZSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KCkgdG8gY29udmVydCBkb3VibGUt
PmZsb2F0LgotICAgICAgICAqIHBsYXRmb3JtL0Nsb2NrR2VuZXJpYy5jcHA6IFJlbW92ZSB1bm5l
ZWRlZCB2YXJpYWJsZSBvdXQgb2YgMzJiaXQgaW50ZWdlciB2YWx1ZSByYW5nZS4KLSAgICAgICAg
KiB3ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmlxdWFk
RFNQS2VybmVsOjpnZXRGcmVxdWVuY3lSZXNwb25zZSk6IFVzZSBuYXJyb3dQcmVjaXNpb25Ub2Zs
b2F0KCkgdG8gY29udmVydCBkb3VibGUtPmZsb2F0LgotCi0yMDExLTExLTA3ICBEYW5pZWwgQmF0
ZXMgIDxkYmF0ZXNAcmltLmNvbT4KLQotICAgICAgICBBZGQgQ3JlZGVudGlhbFN0b3JhZ2UuY3Bw
IHRvIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNzQ4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJv
Ymluc29uLgotCi0gICAgICAgIEFkZHMgQ3JlZGVudGlhbFN0b3JhZ2UuY3BwIHRvIFdlYkNvcmUv
Q01ha2VMaXN0cy50eHQgc2luY2UgaXRzIHByb3ZpZGVzIGEKLSAgICAgICAgYmFzZSBpbXBsZW1l
bnRhdGlvbiBvZiB0aGlzIGZlYXR1cmUuCi0KLSAgICAgICAgQWxzbyBhZGRzIGEgc3R1YiBpbXBs
ZW1lbnRhdGlvbiBvZiBDcmVkZW50aWFsU3RvcmFnZSB0byB0aGUgV2luQ0UgcG9ydC4KLQotICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBzb3VyY2UgZmlsZSBDcmVkZW50aWFsU3RvcmFn
ZS5jcHAuCi0gICAgICAgICogQ01ha2VMaXN0c0VmbC50eHQ6IEFkZGVkIHNvdXJjZSBmaWxlIENy
ZWRlbnRpYWxTdG9yYWdlQ3VybC5jcHAgd2hlbiBidWlsZGluZwotICAgICAgICAgIHdpdGggdGhl
IEN1cmwgbmV0d29ya2luZyBiYWNrZW5kLgotICAgICAgICAqIENNYWtlTGlzdHNXaW5DRS50eHQ6
IEFkZGVkIHNvdXJjZSBmaWxlIENyZWRlbnRpYWxTdG9yYWdlV2luLmNwcC4KLSAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3dpbi9DcmVkZW50aWFsU3RvcmFnZVdpbi5jcHA6IEFkZGVkLgotICAg
ICAgICAoV2ViQ29yZTo6Q3JlZGVudGlhbDo6Z2V0RnJvbVBlcnNpc3RlbnRTdG9yYWdlKTogU3R1
YiBpbXBsZW1lbnRhdGlvbi4KLQotMjAxMS0xMS0wNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIFtDdXN0b21HZXR0ZXJdIElETCBmb3Igd2lu
ZG93LkltYWdlIG9mIFY4Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTczOQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAg
ICAgQ3VycmVudGx5LCB3aW5kb3cuSW1hZ2UgdXNlcyBhIGN1c3RvbSBnZXR0ZXIgdG8gZ2V0IHRo
ZSB0ZW1wbGF0ZQotICAgICAgICBvZiAnSFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yJy4gSG93
ZXZlciwgdGhpcyBnZXR0ZXIgZG9lcyBub3QgbmVlZCB0bwotICAgICAgICBiZSBjdXN0b20gYW5k
IGNhbiB1c2UgYSBkZWZhdWx0IGdldHRlcgotICAgICAgICAnRE9NV2luZG93SW50ZXJuYWw6OkRP
TVdpbmRvd0NvbnN0cnVjdG9yR2V0dGVyJy4KLQotICAgICAgICBUZXN0czogZmFzdC9qcy9jdXN0
b20tY29uc3RydWN0b3JzLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZG9tL2ltYWdlLW9iamVj
dC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9nYy1pbWFnZS1lbGVtZW50Lmh0bWwKLSAg
ICAgICAgICAgICAgIGZhc3QvZG9tL1dpbmRvdy9jdXN0b20tY29uc3RydWN0b3JzLmh0bWwKLQot
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6IFJlbW92
ZWQgYSBjdXN0b20gZ2V0dGVyLgotICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogUmVtb3Zl
ZCBbQ3VzdG9tR2V0dGVyXSBJREwgZnJvbSB3aW5kb3cuSW1hZ2Ugb2YgVjguIFJlbmFtZWQgJ0hU
TUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvcicgdG8gJ0hUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yJyBpbiBvcmRlciB0byBtYWtlIHdpbmRvdy5JbWFnZSB1c2UgdGhlIHRlbXBs
YXRlIG9mIChub3QgJ0hUTUxJbWFnZUVsZW1lbnQnIGJ1dCkgJ0hUTUxJbWFnZUVsZW1lbnRDb25z
dHJ1Y3RvcicuIE5vdGUgdGhhdCBDb2RlR2VuZXJhdG9yKi5wbSBzdHJpcHMgL0NvbnN0cnVjdG9y
JC8gZnJvbSB0aGUgSURMIHR5cGUuCi0KLTIwMTEtMTEtMDcgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KLQotICAgICAgICBSRUdSRVNTSU9OKHI5OTAyNS1yOTkwMzcpOiBw
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1zZWxlY3Rpb24td2l0aC1v
cHRncm91cHMuaHRtbCBpcyBhc3NlcnRpbmcKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDIxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgotCi0gICAgICAgIFJlbW92ZSBhbiBhc3NlcnQgdGhhdCB3YXMgYWRkZWQgYnkgcjk5MDM1
LiBJdCB3YXMgYWRkZWQgYmFzZWQgb24gYSBjb21tZW50IGluIHRoZSBjb2RlLCBidXQgbm90IHRl
c3RlZC4KLQotICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbik6Ci0KLTIwMTEtMTEtMDcg
IEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmVydCBwbGF0
Zm9ybSBhbmQgc2Nyb2xsaW5nIHRvIGludHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNTg1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlk
ZWwuCi0KLSAgICAgICAgUmVwbGFjZSBhbGwgdXNlcyBvZiBMYXlvdXRVbml0IGFuZCByZWxhdGVk
IHR5cGVzIHdpdGggaW50cyBpbiBwbGF0Zm9ybQotICAgICAgICBhbmQgc2Nyb2xsaW5nIGNvZGUu
Ci0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgotICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vUG9wdXBN
ZW51Q2xpZW50Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDoK
LSAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuaDoKLSAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcDoKLSAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6Ci0g
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0Lmg6Ci0gICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6Ci0gICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oOgotCi0yMDExLTExLTA3ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBGaXhlZCB3cm9uZyB0ZXN0IHJl
c3VsdHMgb2YgZmFzdC9qcy9jdXN0b20tY29uc3RydWN0b3JzLmh0bWwKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjY5Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgQWNjb3JkaW5nIHRvIHRoZSBIVE1MT3B0aW9u
RWxlbWVudCBzcGVjCi0gICAgICAgIChodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL3RoZS1i
dXR0b24tZWxlbWVudC5odG1sI3RoZS1vcHRpb24tZWxlbWVudCksCi0gICAgICAgICd0ZXh0Jywg
J2xhYmVsJyBhbmQgJ3ZhbHVlJyBoYXZlIG5laXRoZXIgW1RyZWF0VW5kZWZpbmVkQXM9RW1wdHlT
dHJpbmddCi0gICAgICAgIG5vciBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddLiBUaHVzLCBhbiB1
bmRlZmluZWQgdmFsdWUgc2hvdWxkIGJlCi0gICAgICAgIGNvbnZlcnRlZCB0byBhIHN0cmluZyAi
dW5kZWZpbmVkIiBhbmQgYSBudWxsIHZhbHVlIHNob3VsZCBiZQotICAgICAgICBjb252ZXJ0ZWQg
dG8gYSBzdHJpbmcgIm51bGwiLCBmb2xsb3dpbmcgdGhlIHN0ZXAgMyBvZiB0aGUgSURMCi0gICAg
ICAgIGNvbnZlcnNpb24gc3BlYyAoaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURM
LyNlcy1ET01TdHJpbmcpLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1
Y3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RIVE1MT3B0aW9uRWxlbWVudCk6
IFJlbW92ZWQgaXNVbmRlZmluZWQoKSBjaGVjayBmcm9tICd0ZXh0JyBhbmQgJ3ZhbHVlJyBzaW5j
ZSB0aGUgc3BlYyBkb2VzIG5vdCBoYXZlIFtUcmVhdFVuZGVmaW5lZEFzPUVtcHR5U3RyaW5nXS4K
LSAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVj
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnY4SFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rv
ckNhbGxiYWNrKTogRGl0dG8uCi0gICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6
IFJlbW92ZWQgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBmcm9tICd0ZXh0JywgJ2xhYmVsJyBh
bmQgJ3ZhbHVlJyBzaW5jZSB0aGUgc3BlYyBkb2VzIG5vdCBoYXZlIFtUcmVhdE51bGxBcz1FbXB0
eVN0cmluZ10uCi0KLTIwMTEtMTEtMDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
LQotICAgICAgICBNb3ZlIERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW4gc2NoZW1lIHJlZ2lzdHJ5
IHRvIFNjaGVtZVJlZ2lzdHJ5Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTc1MAotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0g
ICAgICAgIEFzIHN0YXRlZCBpbiB0aGUgRklYTUUsIHNjaGVtZSByZWdpc3RyaWVzIGJlbG9uZyBp
biBTY2hlbWVSZWdpc3RyeSwgbm90Ci0gICAgICAgIGluIFNlY3VyaXR5T3JpZ2luLgotCi0gICAg
ICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXREb21haW4pOgotICAgICAgICAqIHBhZ2UvU2VjdXJp
dHlPcmlnaW4uY3BwOgotICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKLSAgICAgICAg
KiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpzY2hlbWVz
Rm9yYmlkZGVuRnJvbURvbWFpblJlbGF4YXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6U2NoZW1l
UmVnaXN0cnk6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUpOgotICAg
ICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OmlzRG9tYWluUmVsYXhhdGlvbkZvcmJpZGRl
bkZvclVSTFNjaGVtZSk6Ci0gICAgICAgICogcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaDoKLQot
MjAxMS0xMS0wNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgotCi0gICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xMDQwNTIxNT4gUkVHUkVTU0lPTiAocjk4MTc4KTogV29ybGQgb2YgV2Fy
Y3JhZnQgTGF1bmNoZXIgY3Jhc2hlcyBpbiBGcmFtZVZpZXc6OmlzT25BY3RpdmVQYWdlKCkKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzQzCi0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBEYWtpbi4KLQotICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aXNPbkFjdGl2ZVBhZ2UpOiBBZGRl
ZCBhIGNoZWNrIGZvciBhIG51bGwgbV9mcmFtZS4KLQotMjAxMS0xMS0wNyAgRG1pdHJ5IExvbW92
ICA8ZHNsb21vdkBnb29nbGUuY29tPgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTUzNAotICAgICAgICBbVjhdIE9uIG5ldXRlcmluZyBUeXBlZEFy
cmF5Vmlld3MsIFY4IHNob3VsZCBiZSBub3RpZmllZCB0byBkcmFpbiBjb2RlIGdlbmVyYXRpb24g
Y2FjaGUuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCi0KLSAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKLSAgICAgICAgKEdlbmVyYXRlSW1w
bGVtZW50YXRpb24pOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtOgotICAgICAgICAqIGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcDoKLSAgICAgICAgKiBodG1s
L2NhbnZhcy9EYXRhVmlldy5oOgotICAgICAgICAqIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5o
OgotICAgICAgICAqIGh0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5oOgotICAgICAgICAqIGh0bWwv
Y2FudmFzL0ludDE2QXJyYXkuaDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQzMkFycmF5Lmg6
Ci0gICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5Lmg6Ci0gICAgICAgICogaHRtbC9jYW52
YXMvVHlwZWRBcnJheUJhc2UuaDoKLSAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5o
OgotICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmg6Ci0gICAgICAgICogaHRtbC9j
YW52YXMvVWludDhBcnJheS5oOgotCi0yMDExLTExLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+Ci0KLSAgICAgICAgYWRkTWVzc2FnZSdzIGxhc3QgZmV3IGFyZ3VtZW50cyBzaG91
bGQgYmUgb3B0aW9uYWwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwOTQ2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAg
ICAgQXMgcmVxdWVzdGVkIGJ5IERhcmluIEFkbGVyLiAgSSB3YW50ZWQgdG8gY2FsbCB0aGlzIG1l
dGhvZCBhZGRNZXNzYWdlLAotICAgICAgICBidXQgdGhlIGNvbXBpbGVyIHdhcyB1bmhhcHB5IGxv
Y2F0aW5nIHRoZSBvdmVybG9hZCBvbgotICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHdo
ZW4gRG9jdW1lbnQgaGFkIGFuIG92ZXJyaWRlIHRvby4gIENoYW5naW5nIHRoZQotICAgICAgICBu
YW1lIHRvIGFkZENvbnNvbGVNZXNzYWdlIG1hZGUgYWxsIHRoZSBjb2RlIGhhcHBpZXIuCi0KLSAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBy
b2Nlc3NIdHRwRXF1aXYpOgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZE1lc3NhZ2Up
OgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Ci0gICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKToKLSAgICAgICAgKiBodG1s
L3BhcnNlci9YU1NBdWRpdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmZp
bHRlclRva2VuKToKLSAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKLSAgICAgICAgKiBwYWdlL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmxvZ1VucmVjb2duaXplZERpcmVjdGl2ZSk6Ci0gICAgICAgICogcGFnZS9F
dmVudFNvdXJjZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKToKLSAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKLSAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6Ci0gICAg
ICAgICogd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
Q29udGV4dDo6Y3JlYXRlTG93UGFzczJGaWx0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0OjpjcmVhdGVIaWdoUGFzczJGaWx0ZXIpOgotICAgICAgICAqIHhtbC9YTUxIdHRwUmVx
dWVzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpyZXBvcnRVbnNhZmVVc2FnZSk6Ci0KLTIwMTEt
MTEtMDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBXZWJXb3Jr
ZXJzIGZhaWwgd2l0aCBkb2N1bWVudC5kb21haW4gc2V0IHdoZW4gYWNjZXNzaW5nIGZyb20gc3Vi
ZG9tYWluCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
Nzk3OAotCi0gICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0KLSAgICAgICAgV29ya2Vy
cyBzaG91bGQgaWdub3JlIGRvY3VtZW50LmRvbWFpbiB3aGVuIGRlY2lkaW5nIHdoaWNoIFVSTHMg
YQotICAgICAgICBkb2N1bWVudCBjYW4gcmVxdWVzdCwganVzdCBsaWtlIFhNTEh0dHBSZXF1ZXN0
IGFuZCBldmVyeSBvdGhlciBBUEkuCi0KLSAgICAgICAgVGVzdDogaHR0cC90ZXN0cy93b3JrZXJz
L3dvcmtlci1kb2N1bWVudC1kb21haW4tc2VjdXJpdHkuaHRtbAotCi0gICAgICAgICogd29ya2Vy
cy9BYnN0cmFjdFdvcmtlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpBYnN0cmFjdFdvcmtlcjo6
cmVzb2x2ZVVSTCk6Ci0KLTIwMTEtMTEtMDcgIFNjb3R0IEdyYWhhbSAgPHNjb3R0bWdAY2hyb21p
dW0ub3JnPgotCi0gICAgICAgIEFsbG93IGdhbWVwYWQgQVBJIHRvIGJlIGVuYWJsZWQgYXQgcnVu
dGltZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3
MzYKLQotICAgICAgICBQYXJ0IG9mIGZ1bGwgcGF0Y2gsIGZvdW5kIGF0Ci0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MQotCi0gICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBuZXcgZnVuY3Rp
b25hbGl0eS4KLQotICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5jcHA6Ci0gICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRHYW1l
cGFkc0VuYWJsZWQpOgotICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
Z2FtZXBhZHNFbmFibGVkKToKLQotMjAxMS0xMS0wNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIFtDdXN0b21HZXR0ZXJdIElETCBmb3Igd2lu
ZG93Lk9wdGlvbiBvZiBWOAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3MzUKLQotICAgICAgICBSZXZpZXdlZCBieSBOYXRlIENoYXBpbi4KLQotICAg
ICAgICBDdXJyZW50bHksIHdpbmRvdy5PcHRpb24gdXNlcyBhIGN1c3RvbSBnZXR0ZXIgdG8gZ2V0
IHRoZSB0ZW1wbGF0ZQotICAgICAgICBvZiAnSFRNTE9wdGlvbkVsZW1lbnRDb25zdHJ1Y3Rvcicu
IEhvd2V2ZXIsIHRoaXMgZ2V0dGVyIGRvZXMgbm90IG5lZWQgdG8KLSAgICAgICAgYmUgY3VzdG9t
IGFuZCBjYW4gdXNlIGEgZGVmYXVsdCBnZXR0ZXIKLSAgICAgICAgJ0RPTVdpbmRvd0ludGVybmFs
OjpET01XaW5kb3dDb25zdHJ1Y3RvckdldHRlcicuCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvanMv
Y3VzdG9tLWNvbnN0cnVjdG9ycy5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2Zvcm1zL29wdGlv
bi1pbmRleC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2Zvcm1zL2FkZC1hbmQtcmVtb3ZlLW9w
dGlvbi5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9kb20tYWRkLW9wdGlvbmVsZW1lbnQu
aHRtbAotCi0gICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNw
cDogUmVtb3ZlZCBhIGN1c3RvbSBnZXR0ZXIuCi0gICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRs
OiBSZW1vdmVkIFtDdXN0b21HZXR0ZXJdIElETCBmcm9tIHdpbmRvdy5PcHRpb24gb2YgVjguIFJl
bmFtZWQgJ0hUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3InIHRvICdIVE1MT3B0aW9uRWxlbWVu
dENvbnN0cnVjdG9yQ29uc3RydWN0b3InIGluIG9yZGVyIHRvIG1ha2Ugd2luZG93Lk9wdGlvbiB1
c2UgdGhlIHRlbXBsYXRlIG9mIChub3QgJ0hUTUxPcHRpb25FbGVtZW50JyBidXQpICdIVE1MT3B0
aW9uRWxlbWVudENvbnN0cnVjdG9yJy4gTm90ZSB0aGF0IENvZGVHZW5lcmF0b3IqLnBtIHN0cmlw
cyAvQ29uc3RydWN0b3IkLyBmcm9tIHRoZSBJREwgdHlwZS4KLQotMjAxMS0xMS0wNyAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgotCi0gICAgICAgIERlLXZpcnR1YWxp
emUgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTcxNgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICBBZGRlZCBwdXRXaXRo
QXR0cmlidXRlcyB0byB0aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQgYWxsIHRoZSB2aXJ0dWFsIAot
ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2YgcHV0V2l0aEF0dHJpYnV0ZXMgdG8gc3RhdGljIG9u
ZXMsIGFuZCByZXBsYWNlZCAKLSAgICAgICAgYWxsIGNhbGwgc2l0ZXMgd2l0aCBjb3JyZXNwb25k
aW5nIGxvb2t1cHMgaW4gdGhlIE1ldGhvZFRhYmxlLgotCi0gICAgICAgICogYmluZGluZ3MvanMv
SlNET01XaW5kb3dTaGVsbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxs
OjpwdXRXaXRoQXR0cmlidXRlcyk6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dT
aGVsbC5oOgotCi0yMDExLTExLTA3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KLQot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0OTAKLSAg
ICAgICAgU3VwcG9ydCB1aVN0YXRlVHJhbnNpdGlvblByb2dyZXNzIGZvciBzY3JvbGxiYXJzCi0g
ICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KLSAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzk4NDk2
MTI+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBTdGVwIDEg
b2Ygc3VwcG9ydGluZyB1aVN0YXRlVHJhbnNpdGlvblByb2dyZXNzIGlzIGtub3dpbmcgd2hlbiB0
aGUgbW91c2UgaGFzIAotICAgICAgICBlbnRlcmVkIG9yIGV4aXRlZCBhIHNjcm9sbGJhci4gVGhl
c2UgY2hhbmdlcyB0byBTY3JvbGxiYXIgcGFzcyB0aGF0IGluZm9ybWF0aW9uIAotICAgICAgICBv
biB0byB0aGUgU2Nyb2xsQW5pbWF0b3IuIEFsc28sIFNjcm9sbGJhcjo6bW91c2VVcCgpIG5vdyB0
YWtlcyBhIAotICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgYXMgYSBwYXJhbWV0ZXIuIFRoaXMg
aXMgbmVjZXNzYXJ5IGJlY2F1c2UgbV9ob3ZlcmVkTm9kZSBpcyBub3QgCi0gICAgICAgIGFsd2F5
cyB1cCB0byBkYXRlIG9uIGEgbW91c2VVcCwgc28gbW91c2VVcCBtdXN0IGhpdFRlc3QgdGhlIHNj
cm9sbGJhciB0byBzZWUgaWYgCi0gICAgICAgIHRoZSBtb3VzZSBoYXMgZXhpdGVkIHRoZSBzY3Jv
bGxiYXIuCi0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhcjo6bW91c2VNb3ZlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6
Om1vdXNlRXhpdGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6bW91c2VVcCk6Ci0g
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmg6Ci0KLSAgICAgICAgVGhlc2UgY2hhbmdlcyBh
cmUgcmVxdWlyZWQgbm93IHRoYXQgU2Nyb2xsYmFyOjptb3VzZVVwKCkgdGFrZXMgYSBwYXJhbWV0
ZXIuCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZURvdWJs
ZUNsaWNrRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVJlbGVhc2VFdmVudCk6Ci0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6aGFuZGxlTW91c2VSZWxlYXNl
RXZlbnQpOgotICAgICAgICAqIHBsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UG9wdXBNZW51V2luOjp3bmRQcm9jKToKLSAgICAgICAgCi0gICAgICAgIFNj
cm9sbEFuaW1hdG9yIHBhc3NlcyB0aGUgaW5mb3JtYXRpb24gb24gdG8gQXBwS2l0LgotICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxB
bmltYXRvcjo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjptb3VzZUV4aXRlZFNjcm9sbGJhcik6Ci0gICAgICAgICogcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLmg6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhcik6Ci0KLSAgICAgICAgVGhlcmUgYXJlIHNldmVy
YWwgbmV3IHBpZWNlcyBvZiBBcHBLaXQgYXBpIHdlIG11c3QgY2FsbCBpbnRvLgotICAgICAgICAq
IHBsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgotCi0gICAgICAgIFRoaXMgaXMg
YSB0ZW1wb3JhcnkgZnVuY3Rpb24gdGhhdCBpcyBuZWVkZWQgZm9yIHRoZSB0aW1lIGJlaW5nIHNp
bmNlIHRoZXJlIGlzIG5ldyAKLSAgICAgICAgQXBwS2l0IGFwaSByZXF1aXJlZCBmb3IgdGhpcyB0
byB3b3JrLgotICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKLSAg
ICAgICAgKHN1cHBvcnRzVUlTdGF0ZVRyYW5zaXRpb25Qcm9ncmVzcyk6Ci0KLSAgICAgICAgSSBy
ZWZhY3RvcmVkIFdlYlNjcm9sbGJhclBhcnRBbmltYXRpb24gc28gdGhhdCBpdCBjYW4gaGFuZGxl
IHRoZSAKLSAgICAgICAgdWlTdGF0ZVRyYW5zaXRpb25Qcm9ncmVzcyBhbmltYXRpb24gYXMgd2Vs
bCBhcyB0aGUgYWxwaGEgYW5pbWF0aW9ucyBpdCBhbHJlYWR5IAotICAgICAgICBoYW5kbGVkLiBU
aGlzIG1vc3RseSBpbnZvbHZlZCByZS1uYW1pbmcgdGhpbmdzIGFuZCBtYWtpbmcgdXNlIG9mIGEg
bmV3IGVudW0gY2FsbGVkIAotICAgICAgICBGZWF0dXJlVG9BbmltYXRlIHdoaWNoIGtlZXBzIHRy
YWNrIG9mIHdoYXQgdGhlIGluc3RhbmNlIG9mIAotICAgICAgICBXZWJTY3JvbGxiYXJQYXJ0QW5p
bWF0aW9uIGlzIGFuaW1hdGluZy4KLSAgICAgICAgKC1bV2ViU2Nyb2xsYmFyUGFydEFuaW1hdGlv
biBpbml0V2l0aFNjcm9sbGJhclBhaW50ZXI6YW5pbWF0ZTpzY3JvbGxBbmltYXRvcjphbmltYXRl
RnJvbTphbmltYXRlVG86ZHVyYXRpb246XSk6Ci0gICAgICAgICgtW1dlYlNjcm9sbGJhclBhcnRB
bmltYXRpb24gc2V0U2Nyb2xsYmFyUGFpbnRlcjpdKToKLSAgICAgICAgKC1bV2ViU2Nyb2xsYmFy
UGFydEFuaW1hdGlvbiBzZXRTdGFydFZhbHVlOl0pOgotICAgICAgICAoLVtXZWJTY3JvbGxiYXJQ
YXJ0QW5pbWF0aW9uIHNldEVuZFZhbHVlOl0pOgotICAgICAgICAoLVtXZWJTY3JvbGxiYXJQYXJ0
QW5pbWF0aW9uIHNldEN1cnJlbnRQcm9ncmVzczpdKToKLQotICAgICAgICBXZWJTY3JvbGxiYXJQ
YWludGVyRGVsZWdhdGUgaGFzIHR3byBuZXcgYW5pbWF0aW9ucywgCi0gICAgICAgIF92ZXJ0aWNh
bFVJU3RhdGVUcmFuc2l0aW9uQW5pbWF0aW9uLCBhbmQgX2hvcml6b250YWxVSVN0YXRlVHJhbnNp
dGlvbkFuaW1hdGlvbi4gSXQgCi0gICAgICAgIGFsc28gcmVzcG9uZHMgdG8gYSBmZXcgbmV3IGRl
bGVnYXRlIGNhbGxzLgotICAgICAgICAoLVtXZWJTY3JvbGxiYXJQYWludGVyRGVsZWdhdGUgY2Fu
Y2VsQW5pbWF0aW9uc10pOgotCi0gICAgICAgIFRoaXMgaXMgYSBuZXcgZGVsZWdhdGUgY2FsbCBu
ZWVkZWQgZm9yIHVpU3RhdGVUcmFuc2l0aW9uUHJvZ3Jlc3MuCi0gICAgICAgICgtW1dlYlNjcm9s
bGJhclBhaW50ZXJEZWxlZ2F0ZSBtb3VzZUxvY2F0aW9uSW5TY3JvbGxlckZvclNjcm9sbGVySW1w
Ol0pOgotCi0gICAgICAgIEkgcmUtbmFtZWQgc2V0VXBBbmltYXRpb24gdG8gc2V0VXBBbHBoYUFu
aW1hdGlvbiBzaW5jZSBpdCBkb2VzIGEgbG90IG9mIHRoaW5ncyAKLSAgICAgICAgdGhhdCBhcmUg
c3BlY2lmaWMgdG8gdGhlIGFscGhhIGFuaW1hdGlvbiBhbmQgSSBjaG9zZSBub3QgdG8gcmUtdXNl
IGl0IGZvciAKLSAgICAgICAgdWlTdGF0ZVRyYW5zaXRpb24uCi0gICAgICAgICgtW1dlYlNjcm9s
bGJhclBhaW50ZXJEZWxlZ2F0ZSBzZXRVcEFscGhhQW5pbWF0aW9uOnNjcm9sbGVyUGFpbnRlcjpw
YXJ0OldlYkNvcmU6OmFuaW1hdGVBbHBoYVRvOmR1cmF0aW9uOl0pOgotICAgICAgICAoLVtXZWJT
Y3JvbGxiYXJQYWludGVyRGVsZWdhdGUgc2Nyb2xsZXJJbXA6YW5pbWF0ZUtub2JBbHBoYVRvOmR1
cmF0aW9uOl0pOgotICAgICAgICAoLVtXZWJTY3JvbGxiYXJQYWludGVyRGVsZWdhdGUgc2Nyb2xs
ZXJJbXA6YW5pbWF0ZVRyYWNrQWxwaGFUbzpkdXJhdGlvbjpdKToKLQotICAgICAgICBOZXcgZGVs
ZWdhdGUgY2FsbCBmb3IgdGhlIHVpU3RhdGVUcmFuc2l0aW9uIGFuaW1hdGlvbiB0aGF0IHNldHMg
dXAgdGhhdCBhbmltYXRpb24gCi0gICAgICAgIGFuZCBraWNrcyBpdCBvZmYuCi0gICAgICAgICgt
W1dlYlNjcm9sbGJhclBhaW50ZXJEZWxlZ2F0ZSBzY3JvbGxlckltcDphbmltYXRlVUlTdGF0ZVRy
YW5zaXRpb25XaXRoRHVyYXRpb246XSk6Ci0gICAgICAgICgtW1dlYlNjcm9sbGJhclBhaW50ZXJE
ZWxlZ2F0ZSBzY3JvbGxBbmltYXRvckRlc3Ryb3llZF0pOgotCi0yMDExLTExLTA3ICBBbGljZSBC
b3hoYWxsICA8YWJveGhhbGxAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlbW92ZSB1bm5lY2Vz
c2FyeSB1c2Ugb2YgZnVuY3Rpb24gcG9pbnRlciBpbiBGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5KCkK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjQ2Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgotCi0gICAgICAgICogZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW9k
aWZ5KToKLQotMjAxMS0xMS0wNyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0K
LSAgICAgICAgVW5yZXZpZXdlZCBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRlciByOTk0NjguCi0KLSAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDogVW5tYXJrIHNpbmdsZS1hcmd1bWVudCBj
b25zdHJ1Y3RvcnMKLSAgICAgICAgYXMgZXhwbGljaXQsIHNpbmNlIHRoaXMgY29uZmxpY3RzIHdp
dGggdGhlIHRlbXBsYXRlIGNvbnN0cnVjdG9ycwotICAgICAgICBpbiBDU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmguCi0KLTIwMTEtMTEtMDcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+Ci0KLSAgICAgICAgQnVpbGQgZml4IGR1ZSB0byBhIGVycm9uZW91cyBzZWFyY2gtYW5kLXJl
cGxhY2UuCi0KLSAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCi0KLSAgICAgICAgUmVwbGFj
ZSBhbGwgaW5zdGFuY2VzIG9mIEdlbmVyaWNDbG9jayB3aXRoIENsb2NrR2VuZXJpYy4KLQotICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAgICAgKiBwbGF0
Zm9ybS9DbG9ja0dlbmVyaWMuY3BwOgotICAgICAgICAoQ2xvY2tHZW5lcmljOjpDbG9ja0dlbmVy
aWMpOgotCi0yMDExLTExLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgTW92ZSBwYXJzZVNhbmRib3hQb2xpY3kgdG8gU2VjdXJpdHlDb250ZXh0Ci0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTczMgotCi0gICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIEFzIHJlcXVlc3RlZCBieSBFcmlj
LCB0aGlzIHBhdGNoIHJlc29sdmVzIGEgbGF5ZXJpbmcgaW52ZXJzaW9uLiAgTm93Ci0gICAgICAg
IHRoYXQgd2UgaGF2ZSBTZWN1cml0eUNvbnRleHQgdG8gaG9sZCB0aGUgc2FuZGJveCBiaXRzIGFu
ZCB0aGUgb3JpZ2luLAotICAgICAgICBpdCdzIGEgbG9naWNhbCBwbGFjZSB0byBwdXQgdGhlIHBh
cnNlciBmb3Igc2FuZGJveCBwb2xpY2llcy4KLQotICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRl
eHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQ
b2xpY3kpOgotICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRleHQuaDoKLSAgICAgICAgKiBodG1s
L0hUTUxJRnJhbWVFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6Ci0gICAgICAgICogcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojph
cHBseVNhbmRib3hQb2xpY3kpOgotICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgot
ICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKLQotMjAxMS0xMS0wNyAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KLQotICAgICAgICBSZW5hbWUgUGxhdGZvcm1DbG9ja1BP
U0lYIC0+IENsb2NrR2VuZXJpYywgYW5kIHVzZSBXVEY6OmN1cnJlbnRUaW1lKCkgZm9yIGl0cyB0
aW1pbmcgc291cmNlLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE3MDIKLQotICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAgICAg
IE5vIG5ldyB0ZXN0czsgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KLQotICAgICAgICAqIHBs
YXRmb3JtL0Nsb2NrLmNwcDoKLSAgICAgICAgKENsb2NrOjpjcmVhdGUpOgotICAgICAgICAqIHBs
YXRmb3JtL0Nsb2NrR2VuZXJpYy5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9wb3NpeC9QbGF0Zm9ybUNsb2NrUE9TSVguY3BwLgotICAgICAgICAoQ2xvY2tHZW5lcmlj
OjpDbG9ja0dlbmVyaWMpOgotICAgICAgICAoQ2xvY2tHZW5lcmljOjpzZXRDdXJyZW50VGltZSk6
Ci0gICAgICAgIChDbG9ja0dlbmVyaWM6OmN1cnJlbnRUaW1lKToKLSAgICAgICAgKENsb2NrR2Vu
ZXJpYzo6c2V0UGxheVJhdGUpOgotICAgICAgICAoQ2xvY2tHZW5lcmljOjpzdGFydCk6Ci0gICAg
ICAgIChDbG9ja0dlbmVyaWM6OnN0b3ApOgotICAgICAgICAqIHBsYXRmb3JtL0Nsb2NrR2VuZXJp
Yy5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcG9zaXgvUGxhdGZvcm1D
bG9ja1BPU0lYLmguCi0gICAgICAgIChXZWJDb3JlOjpDbG9ja0dlbmVyaWM6OnBsYXlSYXRlKToK
LSAgICAgICAgKFdlYkNvcmU6OkNsb2NrR2VuZXJpYzo6aXNSdW5uaW5nKToKLQotICAgICAgICBC
b2lsZXJwbGF0ZSBwcm9qZWN0IGZpbGUgY2hhbmdlczoKLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKLSAgICAgICAgKiBUYXJnZXQucHJpOgotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0KLTIwMTEtMTEtMDcgIFZh
bmdlbGlzIEtva2tldmlzICA8dmFuZ2VsaXNAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIENyZWF0
ZSBhIHNlcGFyYXRlIHNldHRpbmcgZm9yIGNvbXBvc2l0aW5nIG9mIGZvciBzY3JvbGxhYmxlIFtp
XWZyYW1lcwotICAgICAgICB0aGF0IGZvcmNlQ29tcG9zaXRpbmdNb2RlIGNhbiBiZSB1c2VkIHdp
dGhvdXQgdHVybmluZyBmcmFtZXMgaW50byBjb21wb3NpdGVkIGxheWVycy4KLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzE0Ci0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Ci0gICAgICAgICogcGFnZS9T
ZXR0aW5ncy5oOgotICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJhbWVzRW5hYmxlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvclNjcm9sbGFibGVGcmFtZXNFbmFibGVk
KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FjaGVBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRmxhZ3MpOgotICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6c2V0RW5hYmxlQ29tcG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJh
bWVzKToKLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKLQotMjAxMS0xMS0wNyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gRml4IG1hYyBidWls
ZCAod2l0aCBtdXRhdGlvbl9vYnNlcnZlcnMgZW5hYmxlZCkKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzI4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KLQotICAgICAgICBFcnJhbnQgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uIHJlbW92ZWQgZnJvbQotICAgICAgICBOb2RlLmggdGhp
cyB3b3VsZCBoYXZlIGJyb2tlbiBhIHBvcnQgdGhhdCB0cmllZCB0byBidWlsZCB3aXRoIG11dGF0
aW9uX29ic2VydmVycz0xLgotCi0gICAgICAgICogZG9tL05vZGUuaDoKLQotMjAxMS0xMS0wNyAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIFtD
dXN0b21HZXR0ZXJdIElETCBmcm9tICdIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3InIG9mIFY4
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTY2MAot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgQ3VycmVudGx5LCAi
bmV3IEF1ZGlvKCkiIHVzZXMgYSBjdXN0b20gZ2V0dGVyIHRvIGdldCB0aGUgdGVtcGxhdGUKLSAg
ICAgICAgb2YgJ0hUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvcicuIEhvd2V2ZXIsIHRoaXMgZ2V0
dGVyIGRvZXMgbm90IG5lZWQgdG8KLSAgICAgICAgYmUgY3VzdG9tIGFuZCBjYW4gdXNlIGEgZGVm
YXVsdCBnZXR0ZXIgJ0RPTVdpbmRvd0ludGVybmFsOjpET01XaW5kb3dDb25zdHJ1Y3RvckdldHRl
cicuCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvanMvY3VzdG9tLWNvbnN0cnVjdG9ycy5odG1sCi0g
ICAgICAgICAgICAgICBtZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci5odG1sCi0gICAgICAgICAgICAg
ICBtZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1zcmMuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEv
YXVkaW8tY29uc3RydWN0b3ItcHJlbG9hZC5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS9hdWRp
by1jb250cm9scy1kby1ub3QtZmFkZS1vdXQuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvYXVk
aW8tY29udHJvbHMtcmVuZGVyaW5nLmh0bWwKLQotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6IFJlbW92ZWQgYSBjdXN0b20gZ2V0dGVyLgotICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmlkbDogUmVtb3ZlZCBbQ3VzdG9tR2V0dGVyXSBJREwgZnJvbSAn
SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yJyBvZiBWOC4gUmVuYW1lZCAnSFRNTEF1ZGlvRWxl
bWVudENvbnN0cnVjdG9yJyB0byAnSFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0
b3InIGluIG9yZGVyIHRvIG1ha2UgJ25ldyBBdWRpbygpJyB1c2UgdGhlIHRlbXBsYXRlIG9mIChu
b3QgJ0hUTUxBdWRpb0VsZW1lbnQnIGJ1dCkgJ0hUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvcicu
IE5vdGUgdGhhdCBDb2RlR2VuZXJhdG9yKi5wbSBzdHJpcHMgL0NvbnN0cnVjdG9yJC8gZnJvbSBh
biBJREwgdHlwZS4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bToKLSAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOiBJZiBhbiBJREwgdHlwZSBpcyAn
WFhYWENvbnN0cnVjdG9yQ29uc3RydWN0b3InLCB0aGVuIHdlIGRvIG5vdCBhZGQgYSBoZWFkZXIg
ZmlsZSAnWFhYWENvbnN0cnVjdG9yLmgnIHRvIEpTRE9NV2luZG93LmNwcCwgYmVjYXVzZSB0aGUg
TmFtZWRDb25zdHJ1Y3RvciBkZWNsYXJhdGlvbiBpcyB3cml0dGVuIGluIHRoZSBoZWFkZXIgZmls
ZSBvZiBjbGFzcyBYWFhYICdYWFhYLmgnLiBJbmNpZGVudGFsbHksIHRoZSByZWFzb24gd2h5IENv
ZGVHZW5lcmF0b3JWOC5wbSBkb2VzIG5vdCBuZWVkIGEgY29ycmVzcG9uZGluZyBjaGFuZ2UgaXMg
dGhhdCBWOCBpcyBzdGlsbCBnZW5lcmF0aW5nIHRoZSBOYW1lZENvbnN0cnVjdG9yIGRlY2xhcmF0
aW9uIGluIGl0cyBkZWRpY2F0ZWQgaGVhZGVyIGZpbGUgJ1hYWFhDb25zdHJ1Y3Rvci5oJy4gVGhp
cyBWOCBpc3N1ZSB3aWxsIGJlIGZpeGVkIGluIHRoZSB1cGNvbWluZyBwYXRjaCB0aGF0IGltcGxl
bWVudHMgW05hbWVkQ29uc3RydWN0b3JdIElETCBpbiBWOC4KLQotMjAxMS0xMS0wNyAgUm9iZXJ0
IFNlc2VrICA8cnNlc2VrQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIFVwZGF0
ZSBXZWJDb3JlLmd5cCB0byBub3QgdXNlIFdlYktpdExpYnJhcmllcyBpbiBpbmNsdWRlX2RpcnMK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjk0Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwOgotCi0yMDExLTExLTA3ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUgaW5pdFBvcFN0YXRlRXZlbnQgbWV0aG9kCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTY5MQotCi0g
ICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCi0KLSAgICAgICAgKiBkb20vUG9wU3RhdGVF
dmVudC5jcHA6Ci0gICAgICAgICogZG9tL1BvcFN0YXRlRXZlbnQuaDoKLSAgICAgICAgKiBkb20v
UG9wU3RhdGVFdmVudC5pZGw6Ci0KLTIwMTEtMTEtMDcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgotCi0gICAgICAgIENTU1ZhbHVlOiBEZXZpcnR1YWxpemUgaXNGb29UeXBlKCku
Ci0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcxNjY4PgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIEFkZCBhIG1lbWJlciB0byBDU1NWYWx1ZSB0byBk
ZXRlcm1pbmUgd2hpY2ggc3ViY2xhc3MgYSBnaXZlbgotICAgICAgICB2YWx1ZSBvYmplY3QgaXMs
IGFsb25nIHdpdGggNSBiaXRzIHRvIHRlbGwgdXMgd2hldGhlciB0aGUKLSAgICAgICAgdmFsdWUg
aXMgcHJpbWl0aXZlL211dGFibGUvaW5pdGlhbC9pbmhlcml0ZWQvYSBsaXN0LgotCi0gICAgICAg
IEFsbCBub24tcHJpdmF0ZSBzdWJjbGFzcyBjb25zdHJ1Y3RvcnMgbm93IHRha2UgQ1NTVmFsdWU6
OkNsYXNzVHlwZQotICAgICAgICBhcyB0aGVpciBmaXJzdCBhcmd1bWVudC4gQSBmZXcgY29uc3Ry
dWN0b3JzIHdlcmUgZHVwbGljYXRlZCBhcwotICAgICAgICBwcml2YXRlIG1lbWJlcnMgdG8gYWxs
b3cgY2FsbGluZyB0aGVtIGZyb20gOjpjcmVhdGUoKSBtZXRob2RzCi0gICAgICAgIHdpdGhvdXQg
cGFzc2luZyBhbiBleHBsaWNpdCBDbGFzc1R5cGUuCi0KLSAgICAgICAgRnVydGhlcm1vcmUsIHNp
bmNlIENTU1ZhbHVlOjpjc3NWYWx1ZVR5cGUoKSBjYW4gYmUgaW5mZXJyZWQgZnJvbQotICAgICAg
ICB0aGUgc3ViY2xhc3MgdHlwZSwgd2UgY29tcHV0ZSBpdCBpbnN0ZWFkIG9mIHN0b3JpbmcgaXQg
aW4gYSBtZW1iZXIuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFRhcmdldC5wcmk6Ci0gICAgICAgICogV2ViQ29y
ZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLQotICAgICAgICAgICAgQWRk
aW5nIENTU1ZhbHVlLmNwcC4KLQotICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6IEFkZGVkLgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1ZhbHVlVHlwZSk6Ci0KLSAgICAgICAgICAg
IE91dC1vZi1saW5lIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgbWV0aG9kLiBPbmx5IHVzZWQgYnkg
Q1NTT00uCi0KLSAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlOjppc011dGFibGVWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNQ
cmltaXRpdmVWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNWYWx1ZUxpc3Qp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzSW5pdGlhbFZhbHVlKToKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1ZhbHVlOjppc0luaGVyaXRlZFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6
OkNTU1ZhbHVlOjppc0JvcmRlckltYWdlVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFs
dWU6OmlzQm9yZGVySW1hZ2VTbGljZVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVl
Ojppc0N1cnNvckltYWdlVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9u
dEZhbWlseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0ZvbnRGZWF0dXJl
VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFZhbHVlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0ltYWdlR2VuZXJhdG9yVmFsdWUpOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzSW1hZ2VWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1
ZTo6aXNSZWZsZWN0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzU2hhZG93
VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzVGltaW5nRnVuY3Rpb25WYWx1
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDU1NMaW5lQm94Q29udGFpblZhbHVl
KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0ZsZXhWYWx1ZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NWYWx1ZTo6aXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6aXNTVkdDb2xvcik6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6
aXNTVkdQYWludCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y2xhc3NUeXBlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpDU1NWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NWYWx1ZTo6aXNQcmltaXRpdmVUeXBlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpp
c0xpc3RUeXBlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc011dGFibGVUeXBlKToK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0luaGVyaXRlZFR5cGUpOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzSW5pdGlhbFR5cGUpOgotCi0gICAgICAgICAgICBTdG9yZSBz
dWJjbGFzcyB0eXBlIGluZm9ybWF0aW9uIGludG8gYSBtZW1iZXIgdmFyaWFibGUgYW5kCi0gICAg
ICAgICAgICBtYWRlIGFsbCB0aGUgaXNGb29WYWx1ZSgpIGZ1bmN0aW9ucyBub24tdmlydHVhbCBh
bmQgaW5saW5lLgotICAgICAgICAgICAgU29tZSBzdWJjbGFzcyB0eXBlIGxvb2t1cHMgKHByaW1p
dGl2ZSB2YWx1ZXMsIG5vdGFibHkpIGFyZQotICAgICAgICAgICAgY2FjaGVkIGluIGEgYm9vbCBt
ZW1iZXIgb24gY29uc3RydWN0aW9uLgotCi0gICAgICAgICogY3NzL0NTU0FzcGVjdFJhdGlvVmFs
dWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OkNTU0FzcGVjdFJh
dGlvVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaDoK
LSAgICAgICAgKiBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NCb3JkZXJJbWFnZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVZhbHVlKToKLSAgICAgICAgKiBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oOgotICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5o
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6OkNTU0NhbnZhc1ZhbHVlKToKLSAg
ICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0Ny
b3NzZmFkZVZhbHVlOjpDU1NDcm9zc2ZhZGVWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0N1cnNv
ckltYWdlVmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ3Vyc29ySW1hZ2VWYWx1ZTo6
Q1NTQ3Vyc29ySW1hZ2VWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0N1cnNvckltYWdlVmFsdWUu
aDoKLSAgICAgICAgKiBjc3MvQ1NTRmxleFZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NG
bGV4VmFsdWU6OkNTU0ZsZXhWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU3JjVmFs
dWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OkNTU0ZvbnRGYWNl
U3JjVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6OkNTU0Z1bmN0aW9uVmFsdWUpOgotICAgICAgICAq
IGNzcy9DU1NHcmFkaWVudFZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NHcmFkaWVudFZh
bHVlOjppc0xpbmVhckdyYWRpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFs
dWU6OmlzUmFkaWFsR3JhZGllbnQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRWYWx1
ZTo6Q1NTR3JhZGllbnRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVu
dFZhbHVlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1Jh
ZGlhbEdyYWRpZW50VmFsdWU6OkNTU1JhZGlhbEdyYWRpZW50VmFsdWUpOgotICAgICAgICAqIGNz
cy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUpOgotICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmg6Ci0gICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Q1NTSW1hZ2VWYWx1ZSk6Ci0gICAg
ICAgICogY3NzL0NTU0ltYWdlVmFsdWUuaDoKLSAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFs
dWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0luaGVyaXRlZFZhbHVlOjpDU1NJbmhlcml0ZWRW
YWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU0luaXRpYWxWYWx1ZS5oOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW5pdGlhbFZhbHVlOjpDU1NJbml0aWFsVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTSW5pdGlhbFZhbHVlOjpjcmVhdGUpOgotICAgICAgICAqIGNzcy9DU1NMaW5lQm94Q29udGFp
blZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVCb3hDb250YWluVmFsdWU6OkNT
U0xpbmVCb3hDb250YWluVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NMaW5lQm94Q29udGFpblZh
bHVlLmg6Ci0gICAgICAgICogY3NzL0NTU011dGFibGVWYWx1ZS5oOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTTXV0YWJsZVZhbHVlOjpDU1NNdXRhYmxlVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTUHJpbWl0aXZlVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5oOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToK
LSAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKLSAgICAgICAgKiBj
c3MvQ1NTUmVmbGVjdFZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSZWZsZWN0VmFsdWU6
OkNTU1JlZmxlY3RWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUu
aDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWU6OmlzTGluZWFyVGlt
aW5nRnVuY3Rpb25WYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NUaW1pbmdGdW5jdGlvblZh
bHVlOjppc0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NUaW1pbmdGdW5jdGlvblZhbHVlOjppc1N0ZXBzVGltaW5nRnVuY3Rpb25WYWx1ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NUaW1pbmdGdW5jdGlvblZhbHVlOjpDU1NUaW1pbmdGdW5jdGlv
blZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWU6
OkNTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQ3Vi
aWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlOjpD
U1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NVbmljb2RlUmFu
Z2VWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVW5pY29kZVJhbmdlVmFsdWU6OkNTU1Vu
aWNvZGVSYW5nZVZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KToKLSAgICAgICAgKiBjc3Mv
Q1NTVmFsdWVMaXN0Lmg6Ci0gICAgICAgICogY3NzL0ZvbnRGYW1pbHlWYWx1ZS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpGb250RmFtaWx5VmFsdWU6OkZvbnRGYW1pbHlWYWx1ZSk6Ci0gICAgICAg
ICogY3NzL0ZvbnRGYW1pbHlWYWx1ZS5oOgotICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZvbnRGZWF0dXJlVmFsdWU6OkZvbnRGZWF0dXJlVmFs
dWUpOgotICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmg6Ci0gICAgICAgICogY3NzL0Zv
bnRWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Rm9udFZhbHVlOjpGb250VmFsdWUpOgotICAg
ICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTaGFkb3dWYWx1
ZTo6U2hhZG93VmFsdWUpOgotICAgICAgICAqIGNzcy9TaGFkb3dWYWx1ZS5oOgotICAgICAgICAq
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUpOgotICAgICAgICAqIGNzcy9XZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5oOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6V2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUpOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5oOgotICAgICAgICAqIHN2Zy9TVkdDb2xvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdD
b2xvcjo6U1ZHQ29sb3IpOgotICAgICAgICAqIHN2Zy9TVkdDb2xvci5oOgotICAgICAgICAqIHN2
Zy9TVkdQYWludC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdQYWludDo6U1ZHUGFpbnQpOgot
ICAgICAgICAqIHN2Zy9TVkdQYWludC5oOgotCi0gICAgICAgICAgICBQcm9wYWdhdGUgc3ViY2xh
c3MgdHlwZSBpbmZvcm1hdGlvbiBhbmQga2lsbCBpc0Zvb1R5cGUoKSB2aXJ0dWFscy4KLQotMjAx
MS0xMS0wNyAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KLQotICAgICAgICBM
ZWFrcyBzZWVuIGluIFJlbmRlclJlZ2lvbjo6c2V0UmVuZGVyQm94UmVnaW9uSW5mbyBvbiBMZWFr
cyBib3QKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MjU5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgTGVhayBm
aXhlcyBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckZsb3dUaHJlYWQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6
bG9naWNhbFdpZHRoQ2hhbmdlZEluUmVnaW9ucyk6Ci0gICAgICAgIFRoZSBSZW5kZXJCb3hSZWdp
b25JbmZvIHRha2VuIG91dCBvZiBSZW5kZXJSZWdpb24gbXVzdCBiZSBkZWxldGVkIG9uIGFsbCBj
b2RlIHBhdGhzLgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpyZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKToKLSAg
ICAgICAgVGhlIFJlbmRlckJveFJlZ2lvbkluZm8gbWFwIG93bnMgdGhlIHZhbHVlcywgdGhlcmVm
b3JlLCB3aGVuIHZhbHVlcyBhcmUgcmVtb3ZlZCBmcm9tIG1hcAotICAgICAgICB0aGV5IG11c3Qg
YWxzbyBiZSBkZWxldGVkLgotCi0yMDExLTExLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+Ci0KLSAgICAgICAgaWZyYW1lIHNhbmRib3ggdHJlYXRzIHZlcnRpY2FsIHRhYiBhcyBh
IHZhbGlkIGRlbGltaXRlcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3MDQKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAg
ICAgICBUaGlzIHBhdGNoIGFkanVzdHMgb3VyIHBhcnNlciBzbGlnaHRseSB0byBtYXRjaCB0aGUg
SFRNTDUgc3BlYy4gIFRoZQotICAgICAgICBvbmx5IGRpZmZlcmVuY2UgaXMgaW4gaG93IHdlIGhh
bmRsZSB2ZXJ0aWNhbCB0YWJzLiAgUHJldmlvdXNseSwgd2UKLSAgICAgICAgdHJlYXRlZCB0aGVt
IGFzIGEgZGVsaW1pdGVyLCBidXQgd2UncmUgbm90IHN1cHBvc2VkIHRvIGRvIHRoYXQuCi0KLSAg
ICAgICAgVGVzdDogZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1wYXJzaW5nLXNwYWNlLWNo
YXJhY3RlcnMuaHRtbAotCi0gICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6cGFyc2VTYW5kYm94UG9saWN5KToKLQotMjAx
MS0xMS0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEZhY3Rv
ciBTZWN1cml0eUNvbnRleHQgb3V0IG9mIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzIxCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgVGhlIG5ldyBTZWN1cml0eUNvbnRl
eHQgb2JqZWN0IGxldHMgdXMgdGlnaHRseSBzY29wZSBjb250cm9sIG9mCi0gICAgICAgIHRoZSBz
ZWN1cml0eS1jcml0aWNhbCBpbmZvcm1hdGlvbiBpbiBTY3JpcHRFeGVjdXRpb25Db250ZXh0Lgot
ICAgICAgICBPcmlnaW5hbGx5IEkgaGFkIGhvcGVkIHRvIHB1dCBhbGwgdGhpcyBzdGF0ZSBvbiBT
ZWN1cml0eU9yaWdpbiwgYnV0Ci0gICAgICAgIFNlY3VyaXR5T3JpZ2luIGdldHMgc2hhcmVkIGJl
dHdlZW4gZG9jdW1lbnRzIGluIHNvbWUgY29ybmVyIGNhc2VzLCBzbwotICAgICAgICBpdCdzIG5v
dCBhIGdvb2QgZml0IGZvciBzdGF0ZSBsaWtlIHRoZSBzYW5kYm94IGZsYWdzIGFuZCB0aGUgQ1NQ
IHBvbGljeQotICAgICAgICB0aGF0IHJlYWxseSBuZWVkcyB0byBiZSBwZXItZG9jdW1lbnQuCi0K
LSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgotICAgICAgICAqIFRhcmdldC5wcmk6Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAgICAgKiBkb20vRE9NQWxsSW5PbmUuY3BwOgot
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgotICAg
ICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Ci0gICAgICAgICogbG9hZGVyL0Zy
YW1lTG9hZGVyLmg6Ci0gICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaDoKLSAgICAg
ICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmg6Ci0KLTIwMTEtMTEtMDcgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlZmFjdG9yIENvZGVHZW5lcmF0b3JW
OC5wbSBiZWZvcmUgbWFraW5nIGEgY29yZSBjaGFuZ2UgZm9yIGJ1ZyA3MTA5My4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjU5Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBKdXN0IHJlZmFjdG9yIENvZGVHZW5l
cmF0b3JWOC5wbSB3aXRob3V0IGFueSBjaGFuZ2UgaW4gYmVoYXZpb3IsCi0gICAgICAgIGFzIHRo
ZSBmaXJzdCBzdGVwIGZvciBmaXhpbmcgYnVnIDcxMDkzLgotCi0gICAgICAgIFRlc3RzOiBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAotICAgICAgICAgICAgICAgV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwKLQotICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgotICAgICAgICAoR2VuZXJhdGVI
ZWFkZXIpOiBTb3J0IGdlbmVyYXRlZCBoZWFkZXJzIGluIGFscGhhYmV0aWNhbCBvcmRlci4gUmVt
b3ZlZCB1bm5lY2Vzc2FyeSB2YXJpYWJsZSBuYW1lcyBmcm9tIG1ldGhvZCBzaWduYXR1cmVzLiBU
aGVzZSBjaGFuZ2VzIGFyZSBmb3Igc2lsZW5jaW5nIHN0eWxlIGNoZWNrIGVycm9ycyB3aGVuIGEg
bmV3IFRlc3RYWFhYLmlkbCBpcyBhZGRlZC4KLSAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JD
YWxsYmFjayk6IFJlbmFtZWQgdmFyaWFibGVzIHRvIGNsYXJpZnkgdGhlaXIgcm9sZXMuCi0gICAg
ICAgIChXcml0ZURhdGEpOiBSZW1vdmVkIGFuIHVudXNlZCBhcnJheSBAaW1wbEhlYWRlckNvbnRl
bnQuCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5o
OiBVcGRhdGVkIGEgcnVuLWJpbmRpbmctdGVzdHMgcmVzdWx0LgotICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6IERpdHRvLgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaDogRGl0dG8uCi0g
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5oOiBEaXR0by4KLQotMjAxMS0xMS0wNyAgS2VuIEJ1Y2hhbmFuIDxrZW5y
YkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ3Jhc2ggZHVlIHRvIG1peGVkIGRpcmVjdGlvbiB0
ZXh0IHJ1bnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY2MDE1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCi0KLSAgICAgICAgVGVz
dCBmb3IgYnVnIGZpeC4KLQotICAgICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGkt
bmV1dHJhbC1pbi1taXhlZC1kaXJlY3Rpb24tcnVuLWNyYXNoLmh0bWw6IEFkZGVkCi0gICAgICAg
ICogZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWluLW1peGVkLWRpcmVjdGlv
bi1ydW4tY3Jhcy1leHBlY3RlZC50eHQ6IEFkZGVkCi0KLTIwMTEtMTEtMDcgIFRpbSBIb3J0b24g
IDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgZ2V0QkJveCgpIG9uIGEgU1ZH
UGF0aEVsZW1lbnQgd2l0aCBjdXJ2ZXMgaW5jb3JyZWN0bHkgaW5jbHVkZXMgY29udHJvbCBwb2lu
dHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTEy
Ci0gICAgICAgIDxyZGFyOi8vcHJvYmxlbS85ODYxMTU0PgotCi0gICAgICAgIFJldmlld2VkIGJ5
IE9saXZlciBIdW50LgotCi0gICAgICAgIFNwbGl0IFBhdGg6OmJvdW5kaW5nUmVjdCgpIGludG8g
dHdvLCBhZGRpbmcgUGF0aDo6ZmFzdEJvdW5kaW5nUmVjdCgpCi0gICAgICAgIGZvciBhIHJvdWdo
IGVzdGltYXRlIG9mIHRoZSBib3VuZGluZyByZWN0IChhbHdheXMgZXF1YWwgdG8gb3IgbGFyZ2Vy
Ci0gICAgICAgIHRoYW4gYm91bmRpbmdSZWN0KCkpLiBmYXN0Qm91bmRpbmdSZWN0KCkgY3VycmVu
dGx5IGZhbGxzIGJhY2sgdG8KLSAgICAgICAgYm91bmRpbmdSZWN0KCkgZm9yIGFsbCBwb3J0cyBi
ZXNpZGVzIENHLCB0aG91Z2ggaW4gbW9zdCBjYXNlcwotICAgICAgICAob24gYSBwb3J0LWJ5LXBv
cnQgYmFzaXMpIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGJvdW5kaW5nUmVjdCgpCi0g
ICAgICAgIHdpbGwgbmVlZCB0byBiZWNvbWUgZmFzdEJvdW5kaW5nUmVjdCgpLCBhbmQgYSBuZXcs
IG1vcmUgYWNjdXJhdGUgbWV0aG9kIHdpbGwKLSAgICAgICAgYmUgaW1wbGVtZW50ZWQgZm9yIGJv
dW5kaW5nUmVjdCgpLgotCi0gICAgICAgIEFsbCBwcmV2aW91cyBjYWxsZXJzIG9mIGJvdW5kaW5n
UmVjdCgpIGFyZSB0cmFuc2l0aW9uZWQgdG8gdXNpbmcgZmFzdEJvdW5kaW5nUmVjdCgpCi0gICAg
ICAgIGV4Y2VwdCBTVkdQYXRoRWxlbWVudDo6Z2V0QkJveCwgd2hpY2ggd2FudHMgYW4gYWNjdXJh
dGUgYm91bmRpbmcgYm94LgotCi0gICAgICAgIFRoZSBDb3JlR3JhcGhpY3MgaW1wbGVtZW50YXRp
b24gb2YgUGF0aDo6Ym91bmRpbmdSZWN0KCkgY2FsbGVkCi0gICAgICAgIENHUGF0aEdldEJvdW5k
aW5nQm94LCB3aGljaCBpbmNsdWRlcyB0aGUgcGF0aCdzIGNvbnRyb2wgcG9pbnRzIGluIGl0cwot
ICAgICAgICBjYWxjdWxhdGlvbnMuIFNub3cgTGVvcGFyZCBhZGRlZCBDR1BhdGhHZXRQYXRoQm91
bmRpbmdCb3gsIHdoaWNoCi0gICAgICAgIGZpbmRzIHRoZSBib3VuZGluZyBib3ggb2Ygb25seSBw
b2ludHMgd2l0aGluIHRoZSBwYXRoLCBhbmQgZG9lcyBub3QKLSAgICAgICAgaW5jbHVkZSBjb250
cm9sIHBvaW50cy4gT24gU25vdyBMZW9wYXJkIGFuZCBhYm92ZSwgd2Ugbm93IHVzZSB0aGUgbGF0
dGVyLgotCi0gICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vZ2V0QkJveC1wYXRoLnN2ZwotCi0gICAg
ICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwOgotICAgICAgICAqIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0aC5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGF0aDo6
Ym91bmRpbmdSZWN0KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6Ci0gICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmNwcDoKLSAgICAgICAgKiBzdmcvU1ZH
UGF0aEVsZW1lbnQuY3BwOgotICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgotCi0yMDEx
LTExLTA3ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IFN1Z2dlc3QgYm94IHNob3VsZCBiZSBvcGVuIGltbWVkaWF0ZWx5IGlm
IGZvcmNlZCBieSBDdHJsK1NwYWNlLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzE3MTAKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFu
LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmNsZWFyQXV0b0NvbXBsZXRlKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5hdXRvQ29tcGxldGVT
b29uKToKLQotMjAxMS0xMS0wNyAgdnNldmlrQGNocm9taXVtLm9yZyAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogU3VnZ2VzdCBib3ggc2hvdWxkIGNvbnN1
bWUgZW50ZXIga2V5IHByZXNzZWQgZXZlbnQuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTcwMAotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZl
bGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3KToKLSAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RleHRQcm9tcHQuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21w
dC5wcm90b3R5cGUuX2F0dGFjaEludGVybmFsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0
UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLmVudGVyS2V5UHJlc3NlZCk6Ci0KLTIwMTEtMTEt
MDcgIERhdmlkIEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIE9wdGlt
aXplIG91dGxpbmUgcmVuZGVyaW5nIHRvIGF2b2lkIHRyYW5zcGFyZW5jeSBsYXllcnMKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzUwCi0KLSAgICAg
ICAgQWRkIGZhc3QgcGF0aCBmb3Igc29saWQgYmxvY2sgb3V0bGluZXMgd2l0aCBhbHBoYS4KLSAg
ICAgICAgSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwaWVjZXdpc2UgcGF0aCB3aGlsZSBhdCBpdC4K
LQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCi0KLSAgICAgICAgTm8gaW50ZW5k
ZWQgY2hhbmdlIGluIGJlaGF2aW91ciwgbm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnBh
aW50T3V0bGluZSk6Ci0KLTIwMTEtMTEtMDcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogU3VnZ2VzdCBib3ggc2hvdWxkIG5v
dCBhY2NlcHQgc3VnZ2VzdGlvbiBvbiBzcGFjZSBrZXkgcHJlc3NlZC4KLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzA2Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4
dFByb21wdC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5v
bktleURvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5w
cm90b3R5cGUudGFiS2V5UHJlc3NlZCk6Ci0KLTIwMTEtMTEtMDcgIEFuZHJlYXMgS2xpbmcgIDxr
bGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIERvbid0IHVzZSBDU1NPTSdzIENTU1ZhbHVlLmNz
c1ZhbHVlVHlwZSBpbnRlcm5hbGx5IGluIFdlYkNvcmUuCi0gICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzcxNjc5PgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAg
ICAgIFN3YXAgb3V0IGNzc1ZhbHVlVHlwZSgpIHVzYWdlIGZvciBpc1ByaW1pdGl2ZVZhbHVlKCks
IGlzSW5pdGlhbFZhbHVlKCkKLSAgICAgICAgYW5kIGlzSW5oZXJpdGVkVmFsdWUoKSB0byBpbmNy
ZWFzZSBjb2RlIGNsYXJpdHkuCi0KLSAgICAgICAgVGhlIHBsYW4gaXMgdG8gdHVybiBjc3NWYWx1
ZVR5cGUoKSBpbnRvIGEgY29tcHV0ZWQgdmFsdWUgYmFzZWQgb24gdGhlCi0gICAgICAgIENTU1Zh
bHVlIHN1YmNsYXNzIChjb21pbmcgc29vbiB0byA8aHR0cDovL3dlYmtpdC5vcmcvYi83MTY2OD4u
KQotICAgICAgICBUaGlzIGlzIGEgY2xlYW4tdXAgaW4gcHJlcGFyYXRpb24gZm9yIHRoYXQuCi0K
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SlNDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lR2V0dGVyKToKLSAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlY4Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRQcm9wZXJ0
eUdldHRlcik6Ci0gICAgICAgICogY3NzL0NTU0luaGVyaXRlZFZhbHVlLmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NJbmhlcml0ZWRWYWx1ZTo6aXNJbmhlcml0ZWRWYWx1ZSk6Ci0gICAgICAgICog
Y3NzL0NTU0luaXRpYWxWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW5pdGlhbFZhbHVl
Ojppc0luaXRpYWxWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ29sb3IpOgotICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5
RGVjbGFyYXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQ
cm9wZXJ0eSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXBGaWxsQXR0
YWNobWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXBGaWxsQ2xp
cCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXBGaWxsQ29tcG9zaXRl
KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxPcmlnaW4pOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbEltYWdlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxSZXBlYXRYKToKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxSZXBlYXRZKToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxTaXplKToKLSAgICAgICAgKFdlYkNvcmU6
OkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxYUG9zaXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbFlQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjptYXBBbmltYXRpb25EZWxheSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjptYXBBbmltYXRpb25EaXJlY3Rpb24pOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uRHVyYXRpb24pOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uRmlsbE1vZGUpOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQpOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uTmFtZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXBBbmltYXRpb25QbGF5U3RhdGUp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uUHJvcGVy
dHkpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwQW5pbWF0aW9uVGlt
aW5nRnVuY3Rpb24pOgotICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWU6OmlzSW5oZXJpdGVkVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTVmFs
dWU6OmlzSW5pdGlhbFZhbHVlKToKLSAgICAgICAgKiBjc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVNWR1Byb3BlcnR5
KToKLSAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpFZGl0aW5nU3R5bGU6OmV4dHJhY3RGb250U2l6ZURlbHRhKToKLSAgICAgICAgKFdlYkNvcmU6
OkVkaXRpbmdTdHlsZTo6bWVyZ2VTdHlsZUZyb21SdWxlc0ZvclNlcmlhbGl6YXRpb24pOgotCi0y
MDExLTExLTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQot
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTk0MzIuCi0gICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk5NDMyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTcwOQotCi0gICAgICAgIEl0IG1hZGUgbGF5b3V0IHRl
c3RzIGV4dHJhIHNsb3cgb24gYWxsIGJvdHMgKFJlcXVlc3RlZCBieQotICAgICAgICBPc3N5X25p
Z2h0IG9uICN3ZWJraXQpLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xl
Vmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyk6Ci0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlRleHRQcm9tcHQucHJvdG90eXBlLl9hdHRhY2hJbnRlcm5hbCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5lbnRlcktleVByZXNzZWQpOgot
Ci0yMDExLTExLTA3ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAg
ICBSRUdSRVNTSU9OKHI5OTQwOSk6IEJyb2tlIHRyYW5zaXRpb25zL2NsaXAtdHJhbnNpdGlvbi5o
dG1sCi0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcxNjkyPgotCi0gICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIEFkZCBtaXNzaW5nIGJhc2UgY2xhc3MgaW5p
dGlhbGl6ZXJzIHRvIENTU1ByaW1pdGl2ZVZhbHVlIGNvbnN0cnVjdG9ycy4KLSAgICAgICAgVGhp
cyB3YXMgY2F1c2luZyBzb21lIENTU1ByaW1pdGl2ZVZhbHVlcyB0byBtYXNxdWVyYWRlIGFzIENT
U19DVVNUT00gdmFsdWVzLgotCi0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgot
ICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgotCi0yMDExLTExLTA3
ICBDaGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KLQotICAgICAgICBbRUZMXSBT
dXBwb3J0IHJlcXVlc3RBbmltYXRpb25GcmFtZSBBUEkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTEyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVhcyBLbGluZy4KLQotICAgICAgICBBZGQgc29tZSBmaWxlcyB0byBidWlsZC10YXJnZXQgd2hl
biBlbmFibGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgb3B0aW9uLgotCi0gICAgICAgIGZhc3Qv
YW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWNhbmNlbC5odG1sCi0gICAgICAgIGZh
c3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWNhbmNlbDIuaHRtbAotICAgICAg
ICBmYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1kaXNwbGF5Lmh0bWwKLSAg
ICAgICAgZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZHVyaW5nLW1vZGFs
Lmh0bWwKLSAgICAgICAgZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtdGlt
ZXN0YW1wcy5odG1sCi0gICAgICAgIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZy
YW1lLXdpdGhpbi1jYWxsYmFjay5odG1sCi0gICAgICAgIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3Qt
YW5pbWF0aW9uLWZyYW1lLmh0bWwKLQotICAgICAgICAqIENNYWtlTGlzdHMudHh0OgotICAgICAg
ICAqIFVzZUpTQy5jbWFrZToKLQotMjAxMS0xMS0wNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgotCi0gICAgICAgIEFkZCBtaXNzaW5nIC5pbiBhbmQgLnBsIGZpbGVzIHRvIHRoZSBYY29k
ZSBwcm9qZWN0IGZvciBlYXN5IGFjY2Vzcy4KLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIENh
cmxzb24uCi0KLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0g
ICAgICAgIEFkZCBzb21lIG1pc3NpbmcgZmlsZXMgdG8gdGhlIFhjb2RlIHByb2plY3QuCi0KLTIw
MTEtMTEtMDcgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KLQotICAgICAgICBO
ZWVkIGEgd2F5IHRvIGFsbG93IGEgc2NoZW1lIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdlIGFuZCBE
YXRhYmFzZXMgd2hpbGUgUHJpdmF0ZSBCcm93c2luZyBpcwotICAgICAgICBlbmFibGVkLgotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MzEKLQotICAg
ICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgotCi0gICAgICAgIENoZWNrIHRoZSBTY2hl
bWVSZWdpc3RyeSBiZWZvcmUgcHJldmVudGluZyByZWFkL3dyaXRlIGFjY2VzcyB0byBMb2NhbCBT
dG9yYWdlIGFuZCBEYXRhYmFzZXMKLSAgICAgICAgaW4gUHJpdmF0ZSBCcm93c2luZy4KLQotICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOgotICAgICAgICBFeHBvcnQgdGhlIHN5bWJvbHMgZm9yIHJl
Z2lzdGVyaW5nIHRoZSBzY2hlbWVzIGFzIGFsbG93aW5nIExvY2FsIFN0b3JhZ2UgYW5kIERhdGFi
YXNlIGFjY2VzcwotICAgICAgICBpbiBQcml2YXRlIEJyb3dzaW5nLgotCi0gICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphbGxvd0RhdGFiYXNl
QWNjZXNzKToKLSAgICAgICAgQ2hlY2sgaWYgdGhlIHNjaGVtZSBhbGxvd3MgRGF0YWJhc2UgYWNj
ZXNzIGluIFByaXZhdGUgQnJvd3NpbmcuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdp
c3RyeS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpzY2hlbWVzQWxsb3dpbmdMb2NhbFN0b3JhZ2VB
Y2Nlc3NJblByaXZhdGVCcm93c2luZyk6Ci0gICAgICAgIChXZWJDb3JlOjpzY2hlbWVzQWxsb3dp
bmdEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKToKLSAgICAgICAgKFdlYkNvcmU6OlNj
aGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQWxsb3dpbmdMb2NhbFN0b3JhZ2VBY2Nl
c3NJblByaXZhdGVCcm93c2luZyk6Ci0gICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6
YWxsb3dzTG9jYWxTdG9yYWdlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcpOgotICAgICAgICAoV2Vi
Q29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNBbGxvd2luZ0RhdGFiYXNl
QWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcpOgotICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0
cnk6OmFsbG93c0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcpOgotICAgICAgICAqIHBs
YXRmb3JtL1NjaGVtZVJlZ2lzdHJ5Lmg6Ci0KLSAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6bGVuZ3RoKToKLSAgICAgICAgQXNrIHRoZSBz
dG9yYWdlIGFyZWEgaWYgaXQgaXMgZGlzYWJsZWQgYnkgUHJpdmF0ZSBCcm93c2luZyBpbiB0aGUg
ZnJhbWUgaW5zdGVhZCBvZiBqdXN0Ci0gICAgICAgIGNoZWNraW5nIGlmIFByaXZhdGUgQnJvd3Np
bmcgaXMgZW5hYmxlZCBmb3IgdGhhdCBmcmFtZSBiZWNhdXNlIHRoZSBhbnN3ZXIgbWlnaHQgZGVw
ZW5kIG9uCi0gICAgICAgIHdoYXQgdHlwZSBvZiBzdG9yYWdlIHRoYXQgc3RvcmFnZSBhcmVhIGlz
LgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6a2V5KToKLSAgICAgICAgRGl0dG8uCi0gICAg
ICAgIChXZWJDb3JlOjpTdG9yYWdlOjpnZXRJdGVtKToKLSAgICAgICAgRGl0dG8uCi0gICAgICAg
IChXZWJDb3JlOjpTdG9yYWdlOjpjb250YWlucyk6Ci0gICAgICAgIERpdHRvLgotCi0gICAgICAg
ICogc3RvcmFnZS9TdG9yYWdlQXJlYS5oOgotICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIHF1
ZXJ5IGEgU3RvcmFnZUFyZWEgZm9yIHdoZXRoZXIgaXQgaXMgZGlzYWJsZWQgYnkgUHJpdmF0ZSBC
cm93c2luZyBpbiBhCi0gICAgICAgIEZyYW1lLgotICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFy
ZWFJbXBsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6ZGlzYWJsZWRC
eVByaXZhdGVCcm93c2luZ0luRnJhbWUpOgotICAgICAgICBSZW5hbWVkIGZyb20gcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZC4KLSAgICAgICAgQ2hlY2sgbm90IG9ubHkgaWYgUHJpdmF0ZSBCcm93c2lu
ZyBpcyBlbmFibGVkIGZvciB0aGUgRnJhbWUsIGJ1dCBhbHNvIGlmIHRoZSBzdG9yYWdlIHR5cGUg
aXMKLSAgICAgICAgTG9jYWwgU3RvcmFnZSBhbmQgaWYgdGhlcmUgaXMgYW4gZXhjZXB0aW9uIGZv
ciB0aGUgc2NoZW1lIG9mIHRoZSByZXNvdXJjZSBjdXJyZW50bHkgbG9hZGVkCi0gICAgICAgIGlu
dG8gdGhlIEZyYW1lLgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpzZXRJdGVt
KToKLSAgICAgICAgUmVuYW1lZCBwcml2YXRlQnJvd3NpbmdFbmFibGVkIC0+IGRpc2FibGVkQnlQ
cml2YXRlQnJvd3NpbmdJbkZyYW1lLgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBs
OjpyZW1vdmVJdGVtKToKLSAgICAgICAgRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpTdG9yYWdl
QXJlYUltcGw6OmNsZWFyKToKLSAgICAgICAgRGl0dG8uCi0gICAgICAgICogc3RvcmFnZS9TdG9y
YWdlQXJlYUltcGwuaDoKLQotMjAxMS0xMS0wNyAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0Bj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIGluaXRDbG9zZUV2ZW50IG1ldGhvZAotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNzQKLQotICAg
ICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCi0KLSAgICAgICAgKiB3ZWJzb2NrZXRzL0Nsb3Nl
RXZlbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNsb3NlRXZlbnQ6OmluaXRDbG9zZUV2ZW50KToK
LSAgICAgICAgKiB3ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsOgotCi0yMDExLTExLTA3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+Ci0KLSAgICAgICAgU2ltcGxpZnkgTmV0
c2NhcGVQbHVnaW46OmNvbnZlcnRQb2ludCBhbmQgbWFrZSBpdCB3b3JrIChpbiB0aGVvcnkpIHdp
dGggdHJhbnNmb3JtZWQgcGx1Zy1pbnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxNjk5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
LQotICAgICAgICBFeHBvcnQgQWZmaW5lVHJhbnNmb3JtIHN5bWJvbHMgdXNlZCBieSBXZWJLaXQy
LgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0KLTIwMTEtMTEtMDcgIE1pY2hhZWwgU2Fi
b2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+Ci0KLSAgICAgICAgVG93YXJkcyA4IEJpdCBTdHJpbmdz
OiBUZW1wbGF0aXplIEpTQzo6TGV4ZXIgY2xhc3MgYnkgY2hhcmFjdGVyIHR5cGUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzMxCi0KLSAgICAgICAg
Q2hhbmdlZCB0aGUgU291cmNlUHJvdmlkZXI6OmRhdGEoKSB2aXJ0dWFsIG1ldGhvZCB0byByZXR1
cm4gYQotICAgICAgICBTdHJpbmdJbXBsKiBpbnN0ZWFkIG9mIGEgVUNoYXIqLgotICAgICAgICBD
aGFuZ2VkIElkZW50aWZpZXIoKSBjb25zdHJ1Y3RvciB0byB1c2UgSlNHbG9iYWxEYXRhKi4KLQot
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBObyBuZXcgdGVzdHMg
LSByZWZhY3RvcmVkIFNvdXJjZVByb3ZpZGVyIGNsYXNzIGFuZCBzdWItY2xhc3Nlcy4KLQotICAg
ICAgICAqIGJpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmg6Ci0gICAgICAg
IChXZWJDb3JlOjpDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcjo6c3RyaW5nRGF0YSk6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvU3RyaW5nU291cmNlUHJvdmlkZXIuaDoKLSAgICAgICAgKFdlYkNv
cmU6OlN0cmluZ1NvdXJjZVByb3ZpZGVyOjpzdHJpbmdEYXRhKToKLSAgICAgICAgKiBicmlkZ2Uv
cXQvcXRfcnVudGltZS5jcHA6Ci0gICAgICAgIChKU0M6OkJpbmRpbmdzOjpjb252ZXJ0UVZhcmlh
bnRUb1ZhbHVlKToKLQotMjAxMS0xMS0wNyAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0BjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIGluaXRPdmVyZmxvd0V2ZW50IGZyb20gSmF2YVNj
cmlwdCBiaW5kaW5ncwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE2ODcKLQotICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0gICAgICAg
IE5vdyB0aGF0IE92ZXJmbG93RXZlbnQgaGFzIGEgY29uc3RydWN0b3IsIHdlIGRvbid0IG5lZWQg
dGhlCi0gICAgICAgIGluaXRPdmVyZmxvd0V2ZW50IG1ldGhvZC4gSXQgaGFzIHRvIHJlbWFpbiBp
biB0aGUgT2JqZWN0aXZlIEMKLSAgICAgICAgYmluZGluZyBiZWNhdXNlIGl0IGlzIHBhcnQgb2Yg
dGhlIE9iamVjdGl2ZSBDIHB1YmxpYyBBUEkuCi0KLSAgICAgICAgKiBkb20vT3ZlcmZsb3dFdmVu
dC5pZGw6Ci0KLTIwMTEtMTEtMDcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwuY29t
PgotCi0gICAgICAgIFJlZmFjdG9yIGNhbnZhcyBlbmNvZGluZyBtaW1lVHlwZSB2YWxpZGF0aW9u
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTY1MQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAgTm8gbmV3IHRl
c3RzLCByZWZhY3RvcmluZyBvbmx5LCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIGNhbnZhcyB0ZXN0cy4K
LQotICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OnRvRW5jb2RpbmdNaW1lVHlwZSk6IG1vdmUgZW5jb2RlciBt
aW1lVHlwZQotICAgICAgICB2YWxpZGF0aW9uIGxvZ2ljIGludG8gYSBoZWxwZXIgcm91dGluZS4K
LSAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwpOgotICAgICAg
ICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaDoKLQotMjAxMS0xMS0wNyAgVnNldm9sb2QgVmxh
c292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdWdn
ZXN0IGJveCBzaG91bGQgY29uc3VtZSBlbnRlciBrZXkgcHJlc3NlZCBldmVudC4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzAwCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcpOgot
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4dFByb21wdC5qczoKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5fYXR0YWNoSW50ZXJuYWwpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUuZW50ZXJLZXlQ
cmVzc2VkKToKLQotMjAxMS0xMS0wNyAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0BjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIGluaXRQYWdlVHJhbnNpdGlvbkV2ZW50IG1ldGhvZAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2ODkKLQot
ICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0gICAgICAgIGluaXRQYWdlVHJhbnNp
dGlvbkV2ZW50IHdhcyByZW1vdmVkIGZyb20gdGhlIEhUTUwgc3BlYzsgaXQgaGFzCi0gICAgICAg
IGJlZW4gcmVwbGFjZWQgYnkgbmV3IFBhZ2VUcmFuc2l0aW9uRXZlbnQoLi4uKS4KLQotICAgICAg
ICBSZW1vdmluZyBhIG1ldGhvZCwgc28gbm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogZG9tL1Bh
Z2VUcmFuc2l0aW9uRXZlbnQuY3BwOgotICAgICAgICAqIGRvbS9QYWdlVHJhbnNpdGlvbkV2ZW50
Lmg6Ci0gICAgICAgICogZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRsOgotCi0yMDExLTExLTA3
ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2Vi
IEluc3BlY3RvcjogVGV4dFByb21wdCtTdWdnZXN0Qm94IHNob3VsZCBhdXRvY29tcGxldGUgb24g
IlJpZ2h0IiBrZXlkb3duIGFuZCB3aXRoIGEgc2luZ2xlIHN1Z2dlc3Rpb24gaW4gcGxhY2UKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjc2Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvVGV4dFByb21wdC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0
LnByb3RvdHlwZS5vbktleURvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQu
U3VnZ2VzdEJveC5wcm90b3R5cGUuX3VwZGF0ZUl0ZW1zKToKLSAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3RvckNvbW1vbi5jc3M6Ci0gICAgICAgIChib2R5KTogUmV2ZXJ0IGlu
YWR2ZXJ0ZW50IHN0eWxlIGNoYW5nZSBmcm9tIGEgcHJlY2VkaW5nIGNvbW1pdC4KLQotMjAxMS0x
MS0wNyAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+Ci0KLSAg
ICAgICAgRml4IHRoZSBRdCBidWlsZCBvbiBNYWMgT1MgWCB3aGVuIHVzaW5nIHRoZSBRdWlja1Rp
bWUgbWVkaWEgYmFja2VuZAotCi0gICAgICAgIFdoZW4gUXRXZWJLaXQgaXMgYnVpbHQgb24gTWFj
IE9TIFggdXNpbmcgdGhlIFF1aWNrVGltZSBtZWRpYSBiYWNrZW5kCi0gICAgICAgIHdlIGJ1aWxk
IGJvdGggS1VSTENGTmV0LmNwcCBhbmQgS1VSTE1hYywganVzdCBsaWtlIHRoZSBNYWMgcG9ydCwg
c28KLSAgICAgICAgd2UgaGF2ZSB0byBndWFyZCB0aGUgcG90ZW50aWFsbHkgZHVwbGljYXRlIHN5
bWJvbCBjcmVhdGVDRlVSTCB3aXRoCi0gICAgICAgIG1vcmUgdGhhbiBqdXN0ICFQTEFURk9STShN
QUMpLgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAgKiBw
bGF0Zm9ybS9jZi9LVVJMQ0ZOZXQuY3BwOgotCi0yMDExLTExLTA3ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAgICAgICBOb3QgcmV2aWV3ZWQ6IGZvbGxvdyB1cCB0
byByOTk0MDcuIFN0eWxlIHRoZSBzdWdnZXN0IGJveC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTExCi0KLQotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvVGV4dFByb21wdC5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3M6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0UHJvbXB0LmNz
czoKLQotMjAxMS0xMS0wNyAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVyQGNocm9taXVt
Lm9yZz4KLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzAyMjMKLSAgICAgICAgQ1NTU3R5bGVTaGVldDogZmluZGluZyB0aGUgb3duZXIgbm9kZSBzaG91
bGQgYmUgaW4gaXRzIG93biBtZXRob2QKLQotICAgICAgICBBZGQgc3R5bGVTaGVldE93bmVyTm9k
ZSgpIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgb3duZXIgTm9kZSBvZiB0aGUgc3R5bGUgc2hl
ZXQsIG9yIDAuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAg
ICAgIE5vIG5ldyB0ZXN0cy4gKHJlZmFjdG9yaW5nKQotCi0gICAgICAgICogY3NzL0NTU1N0eWxl
U2hlZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6c3R5bGVTaGVldE93
bmVyTm9kZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0Ojpkb2N1bWVudCk6Ci0g
ICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQuaDoKLQotMjAxMS0xMS0wNyAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbQ2hyb21pdW1dIFdlYiBJbnNw
ZWN0b3I6IHVzZSBuYXRpdmUgd29ya2VyIGluc3BlY3RvciBpbnN0ZWFkIG9mIGZha2Ugd29ya2Vy
cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2NzAK
LQotICAgICAgICBSZW1vdmVkIGNvbnRleHQgbWVudSBvcHRpb24gZm9yIHN3aXRjaGluZyBiZXR3
ZWVuIG5hdGl2ZSBhbmQgImZha2UiIHdvcmtlcnMKLSAgICAgICAgZGVidWdnZXIuIE5hdGl2ZSBk
ZWJ1Z2dlciBpcyB1c2VkIGJ5IGRlZmF1bHQgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBpdC4K
LQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogRW5nbGlz
aC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuX3RvZ2dsZUZvcm1hdFNvdXJjZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9TZXR0aW5ncy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5ncyk6Ci0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJzU2lkZWJhclBhbmUuanM6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuV29ya2VyTGlzdFNpZGViYXJQYW5lKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Xb3JrZXJMaXN0U2lkZWJhclBhbmUucHJvdG90eXBlLl9hdXRvYXR0YWNoVG9Xb3JrZXJz
Q2xpY2tlZCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9zY3JpcHRzUGFuZWwuY3Nz
OgotICAgICAgICAoI3NoYXJlZC13b3JrZXJzLWxpc3QpOgotCi0yMDExLTExLTA3ICBWc2V2b2xv
ZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBhZHZhbmNlZCBzZWFyY2ggc2hvcnRjdXQgdG8gU2hvcnRjdXRzU2NyZWVuLgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzMDIKLQotICAgICAg
ICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2Vh
cmNoQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRj
dXRzKToKLQotMjAxMS0xMS0wNyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0K
LSAgICAgICAgQ1NTSW1hZ2VWYWx1ZTogUmVtb3ZlIGluaGVyaXRhbmNlIGZyb20gQ2FjaGVkSW1h
Z2VDbGllbnQuCi0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcxNjc1PgotCi0gICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIENTU0ltYWdlVmFsdWUgZG9l
c24ndCBhY3R1YWxseSB1c2UgYW55IG9mIHRoZSBDYWNoZWRJbWFnZUNsaWVudAotICAgICAgICBm
dW5jdGlvbmFsaXR5LCBhbmQgaG9sZHMgYSByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIHZpYSB0
aGUKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGUgaW4gU3R5bGVDYWNoZWRJbWFnZS4KLQot
ICAgICAgICBTbyB3ZSBjYW4gc2FmZWx5IHJlbW92ZSB0aGUgbXVsdGlwbGUgaW5oZXJpdGFuY2Ug
YW5kIHNpbXBsaWZ5Ci0gICAgICAgIHRoZSBjbGFzcy4KLQotICAgICAgICAqIGNzcy9DU1NJbWFn
ZVZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6On5DU1NJbWFnZVZh
bHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNhY2hlZEltYWdlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OmNsZWFyQ2FjaGVkSW1hZ2UpOgotICAgICAg
ICAqIGNzcy9DU1NJbWFnZVZhbHVlLmg6Ci0KLTIwMTEtMTEtMDcgIEFuZHJlYXMgS2xpbmcgIDxr
bGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlOiBSZW1vdmUgdW51
c2VkIHZpcnR1YWwgZnVuY3Rpb24gcGFyc2VTdHJpbmcoKS4KLSAgICAgICAgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNzE2NzE+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0K
LSAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgotICAgICAgICAqIGNzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5oOgotCi0yMDExLTExLTA3ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogdXNlIHRvU3RyaW5nIGFzIHRo
ZSBEYXRlIG9iamVjdCBkZXNjcmlwdGlvbi4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNjA1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1p
a2hhdHNreS4KLQotICAgICAgICBUZXN0OiBpbnNwZWN0b3IvcmVtb3RlLW9iamVjdC5odG1sCi0K
LSAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6Ci0gICAgICAgICgu
KToKLQotMjAxMS0xMC0yNiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFtyZWZhY3RvcmluZ10gZ2V0IEpTLXNwZWNpZmljIG1l
dGhvZHMgb3V0IG9mIFNvdXJjZUZyYW1lCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDg4NQotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCBhcyB0aGVyZSdzIG5vIG5ldyBmdW5jdGlvbmFs
aXR5LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJh
bWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLndpbGxI
aWRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90
eXBlLnJlcXVlc3RDb250ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUucHJvdG90eXBlLmNhbkVkaXRTb3VyY2UpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuc3VnZ2VzdGVkRmlsZU5hbWUpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuZWRpdENv
bnRlbnQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90
b3R5cGUuY29udGVudENoYW5nZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRT
b3VyY2VGcmFtZS5wcm90b3R5cGUuc2V0UmVhZG9ubHkpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUucG9wdWxhdGVMaW5lR3V0dGVyQ29udGV4
dE1lbnUuYWRkQ29uZGl0aW9uYWxCcmVha3BvaW50LmRpZEVkaXRCcmVha3BvaW50Q29uZGl0aW9u
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBl
LnBvcHVsYXRlTGluZUd1dHRlckNvbnRleHRNZW51Lik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
SmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZUxpbmVHdXR0ZXJDb250ZXh0
TWVudS5lbHNlLmVkaXRCcmVha3BvaW50Q29uZGl0aW9uLmRpZEVkaXRCcmVha3BvaW50Q29uZGl0
aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90
eXBlLnBvcHVsYXRlTGluZUd1dHRlckNvbnRleHRNZW51LmVsc2UpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUucG9wdWxhdGVMaW5lR3V0dGVy
Q29udGV4dE1lbnUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFt
ZS5wcm90b3R5cGUucG9wdWxhdGVUZXh0QXJlYUNvbnRleHRNZW51KToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLmFmdGVyVGV4dENoYW5nZWQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUu
YmVmb3JlVGV4dENoYW5nZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuY2FuY2VsRWRpdGluZyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
SmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5kaWRFZGl0Q29udGVudCk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fZ2V0UG9wb3Zl
ckFuY2hvcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnBy
b3RvdHlwZS5fb25TaG93UG9wb3Zlci5zaG93T2JqZWN0UG9wb3Zlcik6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fb25TaG93UG9wb3Zlcik6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5f
b25IaWRlUG9wb3Zlcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZy
YW1lLnByb3RvdHlwZS5hZGRCcmVha3BvaW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnJlbW92ZUJyZWFrcG9pbnQpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX21vdXNlRG93bik6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5f
ZWRpdEJyZWFrcG9pbnRDb25kaXRpb24uZmluaXNoRWRpdGluZyk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fZWRpdEJyZWFrcG9pbnRDb25k
aXRpb24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90
b3R5cGUuX2NyZWF0ZUNvbmRpdGlvbkVsZW1lbnQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuc2V0RXhlY3V0aW9uTGluZSk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5jbGVhckV4ZWN1
dGlvbkxpbmUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5w
cm90b3R5cGUuX2xpbmVOdW1iZXJBZnRlckVkaXRpbmcpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX29uVGV4dFZpZXdlckNvbnRlbnRMb2Fk
ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZURlbGVnYXRl
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWVEZWxlZ2F0ZS5w
cm90b3R5cGUucmVxdWVzdENvbnRlbnQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3Jp
cHRTb3VyY2VGcmFtZURlbGVnYXRlLnByb3RvdHlwZS5zZXRCcmVha3BvaW50KToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWVEZWxlZ2F0ZS5wcm90b3R5cGUucmVt
b3ZlQnJlYWtwb2ludCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZy
YW1lRGVsZWdhdGUucHJvdG90eXBlLnVwZGF0ZUJyZWFrcG9pbnQpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZURlbGVnYXRlLnByb3RvdHlwZS5maW5kQnJlYWtw
b2ludCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lRGVsZWdh
dGUucHJvdG90eXBlLmNvbnRpbnVlVG9MaW5lKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWVEZWxlZ2F0ZS5wcm90b3R5cGUuY2FuRWRpdFNjcmlwdFNvdXJjZSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lRGVsZWdhdGUucHJv
dG90eXBlLnNldFNjcmlwdFNvdXJjZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlw
dFNvdXJjZUZyYW1lRGVsZWdhdGUucHJvdG90eXBlLnNldFNjcmlwdFNvdXJjZUlzQmVpbmdFZGl0
ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZURlbGVnYXRl
LnByb3RvdHlwZS5zdWdnZXN0ZWRGaWxlTmFtZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZUZyYW1lRGVsZWdhdGUucHJvdG90eXBlLmFkZFRvV2F0Y2gpOgotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlU291cmNlRnJhbWUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lRGVs
ZWdhdGVGb3JTY3JpcHRzUGFuZWwpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291
cmNlRnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS53aWxsSGlkZSk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmdldCB0ZXh0Vmlld2VyKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUucmVxdWVzdENvbnRlbnQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5fc2F2ZVZpZXdl
clN0YXRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX3Jl
c3RvcmVWaWV3ZXJTdGF0ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJv
dG90eXBlLmJlZm9yZVRleHRDaGFuZ2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VG
cmFtZS5wcm90b3R5cGUuYWZ0ZXJUZXh0Q2hhbmdlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
U291cmNlRnJhbWUucHJvdG90eXBlLl9pbml0aWFsaXplVGV4dFZpZXdlcik6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlTGluZUd1dHRlckNvbnRl
eHRNZW51KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuc3Vn
Z2VzdGVkRmlsZU5hbWUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3Rv
dHlwZS5jYW5FZGl0U291cmNlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUuc3RhcnRFZGl0aW5nKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFt
ZS5wcm90b3R5cGUuY29tbWl0RWRpdGluZyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNl
RnJhbWUucHJvdG90eXBlLmRpZEVkaXRDb250ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5T
b3VyY2VGcmFtZS5wcm90b3R5cGUuZWRpdENvbnRlbnQpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlNvdXJjZUZyYW1lLnByb3RvdHlwZS5jYW5jZWxFZGl0aW5nKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuc2V0UmVhZE9ubHkpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6Ci0KLTIwMTEtMTEtMDYgIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU1ZhbHVlOiBEZXZpcnR1YWxpemUg
Y3NzVmFsdWVUeXBlKCkuCi0gICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzcxNjY3PgotCi0g
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIEtlZXAgdGhlIGNz
c1ZhbHVlVHlwZSBpbiBhIENTU1ZhbHVlIG1lbWJlciBpbnN0ZWFkIG9mIHVzaW5nCi0gICAgICAg
IHZpcnR1YWwgZnVuY3Rpb25zLgotCi0gICAgICAgIFRoaXMgaXMgcGFydCBvZiBhIHByb2plY3Qg
dG8gY29tcGxldGVseSBkZXZpcnR1YWxpemUgQ1NTVmFsdWUKLSAgICAgICAgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNzE2NjY+IGFuZCB3aWxsIGluY3VyIGEgdGVtcG9yYXJ5IG9iamVjdAotICAgICAg
ICBzaXplIHJlZ3Jlc3Npb24gZm9yIENTU1ZhbHVlIHdoaWxlIHRoZSB3b3JrIGlzIG9uZ29pbmcu
Ci0KLSAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3BwOgotICAgICAgICAqIGNzcy9D
U1NJbmhlcml0ZWRWYWx1ZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW5oZXJpdGVkVmFsdWU6
OkNTU0luaGVyaXRlZFZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcDoK
LSAgICAgICAgKiBjc3MvQ1NTSW5pdGlhbFZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NJ
bml0aWFsVmFsdWU6OkNTU0luaXRpYWxWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6Ci0gICAgICAg
ICogY3NzL0NTU1ZhbHVlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVmFsdWVU
eXBlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpDU1NWYWx1ZSk6Ci0gICAgICAgICog
Y3NzL0NTU1ZhbHVlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OkNT
U1ZhbHVlTGlzdCk6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVlTGlzdC5oOgotCi0yMDExLTExLTA3
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGludHJvZHVjZSBVc2VyQWdlbnQgb3ZlcnJpZGUgc2V0dGluZy4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjI3Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIEVuZ2xpc2gubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpj
bGVhckZyb250ZW5kKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6
OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVz
b3VyY2VBZ2VudDo6c2V0VXNlckFnZW50T3ZlcnJpZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvSGVscFNjcmVlbi5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVu
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5zaG93KToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5fb25CbHVyKToKLSAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5fY2FjaGVEaXNhYmxlZFNldHRpbmdD
aGFuZ2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUu
X3VzZXJBZ2VudFNldHRpbmdDaGFuZ2VkKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1NldHRpbmdzLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNldHRpbmdzKToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlNldHRpbmdzU2NyZWVuKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1Nj
cmVlbi5wcm90b3R5cGUuX2NyZWF0ZVNlbGVjdFNldHRpbmcuZ2V0IGZvcik6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4ucHJvdG90eXBlLl9jcmVhdGVDdXN0b21TZXR0aW5n
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbi5wcm90b3R5cGUuX2NyZWF0
ZVVzZXJBY3Rpb25Db250cm9sLmNoZWNrYm94Q2xpY2tlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuU2V0dGluZ3NTY3JlZW4ucHJvdG90eXBlLl9jcmVhdGVVc2VyQWdlbnRTZWxlY3RSb3dFbGVt
ZW50LmdldCBjb25zdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4ucHJv
dG90eXBlLl9jcmVhdGVVc2VyQWdlbnRTZWxlY3RSb3dFbGVtZW50LnRleHREb3VibGVDbGlja2Vk
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5nc1NjcmVlbi5wcm90b3R5cGUuX2NyZWF0
ZVVzZXJBZ2VudFNlbGVjdFJvd0VsZW1lbnQudGV4dENoYW5nZWQpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaGVscFNjcmVlbi5jc3M6Ci0gICAgICAgICguaGVscC10YWJsZSB0ZCk6
Ci0gICAgICAgICguaGVscC1jb250ZW50IGZpZWxkc2V0IGxhYmVsKToKLQotMjAxMS0xMS0wNyAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGF1dG9jb21wbGV0ZSBjb21ib2JveCBmb3IgU3R5bGVzIHNpZGViYXIgYW5kIENv
bnNvbGUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NTUxMQotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVWaWV3KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGVi
YXJQYW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVu
dC5wcm90b3R5cGUpOgotICAgICAgICAoKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1RleHRQcm9tcHQuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdCk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuc2V0U3VnZ2VzdEJveEVuYWJs
ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLl9hdHRhY2hJ
bnRlcm5hbCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuYXBw
bHlTdWdnZXN0aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlw
ZS5hY2NlcHRTdWdnZXN0aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0
aEhpc3RvcnkpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoK
LSAgICAgICAgKC5zdWdnZXN0LWJveC5nZW5lcmljLXN1Z2dlc3QpOgotICAgICAgICAoLnN1Z2dl
c3QtYm94LmdlbmVyaWMtc3VnZ2VzdC5hYm92ZS1hbmNob3IpOgotICAgICAgICAoLnN1Z2dlc3Qt
Ym94LmdlbmVyaWMtc3VnZ2VzdCAuY29udGVudCk6Ci0KLTIwMTEtMTEtMDcgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3Rvcjogc3Bs
aXQgc2NyaXB0LWZvcm1hdHRlciB0ZXN0IGludG8gbXVsdGlwbGUgdGVzdHMuCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYwNwotCi0gICAgICAgIFJl
dmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAgICAgICAgVGVzdHM6IGluc3BlY3Rvci9k
ZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWJyZWFrcG9pbnRzLmh0bWwKLSAgICAgICAgICAgICAg
IGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWNvbnNvbGUuaHRtbAotCi0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fcmVtb3ZlU291cmNlRnJhbWUpOgotCi0y
MDExLTExLTA3ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgotCi0gICAgICAg
IENoYW5nZSBDb2xvckNob29zZXIgZnJvbSBzaW5nbGV0b24gdG8gb3JkaW5hcnkgb2JqZWN0Ci0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTY0NAotCi0g
ICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgotCi0gICAgICAgIENoYW5naW5nIFdlYkNv
cmU6OkNvbG9yQ2hvb3NlciBmcm9tIGEgc2luZ2xldG9uIHRvIGFuIG9yZGluYXJ5IG9iamVjdCBj
YW4gYnJvYWRlbiBob3cgYnJvd3NlcnMgaW1wbGVtZW50IHRoZSBjb2xvciBjaG9vc2VyIGludGVy
ZmFjZS4KLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgotICAgICAgICAqIGh0bWwvQ29sb3JJ
bnB1dFR5cGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6On5Db2xvcklu
cHV0VHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6c2V0VmFsdWUpOiBJ
ZiBhIGNob29zZXIgZXhpc3RzLCBjYWxscyBDaHJvbWU6OnNldFNlbGVjdGVkQ29sb3JJbkNvbG9y
Q2hvb3NlcgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2
YXRlRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6OmRldGFjaCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6ZGlkQ2xlYW51cCk6IENhbGxlZCBhZnRl
ciBjbGVhbnVwIGlzIGNvbXBsZXRlLgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6
OmNsZWFudXBDb2xvckNob29zZXIpOiBSZW5hbWVkIGZyb20gY2xlYW51cENvbG9yQ2hvb3Nlcklm
Q3VycmVudENsaWVudC4KLSAgICAgICAgKiBodG1sL0NvbG9ySW5wdXRUeXBlLmg6Ci0gICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIpOgotICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5oOgotICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKLSAgICAg
ICAgKFdlYkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpjbGVhbnVwQ29sb3JDaG9vc2VyKTogQWRk
ZWQgY29sb3JDaG9vc2VyIGFyZ3VtZW50IGJlY2F1c2UgdGhlcmUgYXJlIG1hbnkgV2ViQ29yZTo6
Q29sb3JDaG9vc2VycyBub3cuCi0gICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6
c2V0U2VsZWN0ZWRDb2xvckluQ29sb3JDaG9vc2VyKTogRGl0dG8uCi0gICAgICAgICogcGFnZS9D
aHJvbWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpjbGVhbnVwQ29sb3JDaG9vc2Vy
KTogQWRkZWQgY29sb3JDaG9vc2VyIGFyZ3VtZW50IGJlY2F1c2UgdGhlcmUgYXJlIG1hbnkgV2Vi
Q29yZTo6Q29sb3JDaG9vc2VycyBub3cuCi0gICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNldFNl
bGVjdGVkQ29sb3JJbkNvbG9yQ2hvb3Nlcik6IERpdHRvLgotICAgICAgICAqIHBhZ2UvQ2hyb21l
Lmg6Ci0gICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9D
b2xvckNob29zZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JDaG9vc2VyQ2xpZW50Ojp+
Q29sb3JDaG9vc2VyQ2xpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNvbG9yQ2hvb3NlckNsaWVu
dDo6bmV3Q29sb3JDaG9vc2VyKTogQ3JlYXRlcyBhIG5ldyBjb2xvciBjaG9vc2VyIHRoYXQgaXMg
Y29ubmVjdGVkIHRvIGl0c2VsZi4KLSAgICAgICAgKFdlYkNvcmU6OkNvbG9yQ2hvb3NlckNsaWVu
dDo6ZGlzY2FyZENob29zZXIpOiBEaXNjYXJkcyB0aGUgY29ubmVjdGVkIGNvbG9yIGNob29zZXIu
Ci0gICAgICAgIChXZWJDb3JlOjpDb2xvckNob29zZXI6OkNvbG9yQ2hvb3Nlcik6IENvbG9yQ2hv
b3NlciBpcyBSZWZDb3VudGVkLgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JDaG9vc2VyOjpjcmVh
dGUpOiBDcmVhdGVzIGEgQ29sb3JDaG9vc2VyIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBnaXZl
biBDb2xvckNob29zZXJDbGllbnQuCi0gICAgICAgIChXZWJDb3JlOjpDb2xvckNob29zZXI6On5D
b2xvckNob29zZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q29sb3JDaG9vc2VyOjpkaWRDaG9vc2VD
b2xvcik6IENhbGxlZCBmcm9tIFdlYktpdCBzaWRlIHdoZW4gdXNlciBjaG9zZSBhIGNvbG9yLiBD
YWxscyBDb2xvckNob29zZXJDbGllbnQ6OmRpZENob29zZUNvbG9yCi0gICAgICAgIChXZWJDb3Jl
OjpDb2xvckNob29zZXI6OmRpZENsZWFudXApOiBDYWxsZWQgZnJvbSBXZWJLaXQgc2lkZSB3aGVu
IHVzZXIgY29sb3IgY2hvb3NlciB3YXMgY2xlYW5lZCB1cC4gQ2FsbHMgQ29sb3JDaG9vc2VyQ2xp
ZW50OjpkaWRDbGVhbnVwCi0gICAgICAgICogcGxhdGZvcm0vQ29sb3JDaG9vc2VyLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQ6OmNob29zZXIpOiBSZXR1cm5zIHRoZSBj
dXJyZW50IENvbG9yQ2hvb3Nlci4KLSAgICAgICAgKFdlYkNvcmU6OkNvbG9yQ2hvb3Nlcjo6ZGlz
Y29ubmVjdENsaWVudCk6IERpc2Nvbm5lY3RzIHRoZSBDb2xvckNob29zZXJDbGllbnQuCi0gICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
OjpzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKTogQWRkZWQgZWxlbWVudCBhcmd1bWVudC4gVGhp
cyBjYWxscyBkaWRDaG9vc2VDb2xvciBvbiB0aGUgQ29sb3JDaG9vc2VyIG9mIHRoYXQgZWxlbWVu
dC4KLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmlkbDogUmVtb3ZlZCBjb25uZWN0Q29sb3JDaG9vc2VyQ2xpZW50IGFuZCB1cGRhdGVk
IHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIuCi0KLTIwMTEtMTEtMDcgIEFsZXhhbmRlciBQYXZs
b3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW5u
b3QgZWRpdCBlbGVtZW50cyBjb21tZW50ZWQgd2l0aCA8IS0tCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM1NwotCi0gICAgICAgIFJldmlld2VkIGJ5
IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVySFRNTCk6
Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0T3V0ZXJIVE1MKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5wcm90b3R5cGUucG9wdWxhdGVD
b250ZXh0TWVudSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5w
cm90b3R5cGUuX3BvcHVsYXRlVGFnQ29udGV4dE1lbnUpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlLl9wb3B1bGF0ZVRleHRDb250ZXh0TWVudSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUuX3Bv
cHVsYXRlTm9kZUNvbnRleHRNZW51KToKLQotMjAxMS0xMS0wNiAgTm9lbCBHb3Jkb24gIDxub2Vs
LmdvcmRvbkBnbWFpbC5jb20+Ci0KLSAgICAgICAgRml4IHNvbWUgc3R5bGUgaXNzdWVzIGluIElt
YWdlQnVmZmVyLmgKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxNjQ5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCi0KLSAgICAgICAg
Tm8gbmV3IHRlc3RzLiBTdHlsZSBjaGFuZ2Ugb25seS4KLQotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmg6Ci0KLTIwMTEtMTEtMDYgIEtlaXNoaSBIYXR0b3JpICA8a2Vp
c2hpQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgSW5wdXRUeXBlOjpmYWxsYmFja1ZhbHVlIGFuZCBk
ZWZhdWx0VmFsdWUgc2hvdWxkIGJlIGNvbnN0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTY0MQotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFt
dXJhLgotICAgIAotICAgICAgICBDaGFuZ2luZyBJbnB1dFR5cGU6OmZhbGxiYWNrVmFsdWUgYW5k
IGRlZmF1bHRWYWx1ZSB0byBjb25zdC4gQWxzbyBhZGRpbmcgT1ZFUlJJREUuCi0KLSAgICAgICAg
KiBodG1sL0Jhc2VDaGVja2FibGVJbnB1dFR5cGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmFz
ZUNoZWNrYWJsZUlucHV0VHlwZTo6ZmFsbGJhY2tWYWx1ZSk6Ci0gICAgICAgICogaHRtbC9CYXNl
Q2hlY2thYmxlSW5wdXRUeXBlLmg6Ci0gICAgICAgICogaHRtbC9Db2xvcklucHV0VHlwZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6ZmFsbGJhY2tWYWx1ZSk6Ci0gICAg
ICAgICogaHRtbC9Db2xvcklucHV0VHlwZS5oOgotICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6ZmFsbGJhY2tWYWx1ZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZSk6Ci0gICAgICAgICogaHRtbC9JbnB1
dFR5cGUuaDoKLSAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpmYWxsYmFja1ZhbHVlKToKLSAgICAgICAgKiBodG1sL1Jh
bmdlSW5wdXRUeXBlLmg6Ci0gICAgICAgICogaHRtbC9SZXNldElucHV0VHlwZS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZXNldElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlKToKLSAgICAgICAgKiBo
dG1sL1Jlc2V0SW5wdXRUeXBlLmg6Ci0gICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpkZWZhdWx0VmFsdWUpOgotICAg
ICAgICAqIGh0bWwvU3VibWl0SW5wdXRUeXBlLmg6Ci0KLTIwMTEtMTEtMDYgIEtlaXNoaSBIYXR0
b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIENvbG9ySW5wdXRUeXBl
OjpoYW5kbGVDbGlja0V2ZW50Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTY0MAotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgotCi0g
ICAgICAgIFdoZW4geW91IGNsaWNrIHRoZSBpbnB1dCBjb2xvciBlbGVtZW50LCBib3RoIENvbG9y
SW5wdXRUeXBlOjpoYW5kbGVDbGlja0V2ZW50IGFuZAotICAgICAgICBDb2xvcklucHV0VHlwZTo6
aGFuZGxlRE9NQWN0aXZhdGVFdmVudCBhcmUgY2FsbGVkLCBjYXVzaW5nIENocm9tZTo6b3BlbkNv
bG9yQ2hvb3NlcgotICAgICAgICB0byBiZSBjYWxsZWQgdG9vIG1hbnkgdGltZXMuCi0KLSAgICAg
ICAgKiBodG1sL0NvbG9ySW5wdXRUeXBlLmNwcDogUmVtb3ZlZCBDb2xvcklucHV0VHlwZTo6aGFu
ZGxlQ2xpY2tFdmVudAotICAgICAgICAqIGh0bWwvQ29sb3JJbnB1dFR5cGUuaDogUmVtb3ZlZCBD
b2xvcklucHV0VHlwZTo6aGFuZGxlQ2xpY2tFdmVudAotCi0yMDExLTExLTA2ICBLZWlzaGkgSGF0
dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgotCi0gICAgICAgIFJlbW92ZSBleHRyYSBzZW1pY29s
b24gaW4gQ29sb3JJbnB1dFR5cGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxNjM5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCi0K
LSAgICAgICAgKiBodG1sL0NvbG9ySW5wdXRUeXBlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNv
bG9ySW5wdXRUeXBlOjpzZXRWYWx1ZSk6Ci0KLTIwMTEtMTEtMDYgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlbW92ZSBpbml0QmVmb3JlTG9hZEV2
ZW50IG1ldGhvZAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzE2MzYKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgIFRl
c3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCi0KLSAgICAgICAgKiBk
b20vQmVmb3JlTG9hZEV2ZW50Lmg6Ci0gICAgICAgICogZG9tL0JlZm9yZUxvYWRFdmVudC5pZGw6
Ci0KLTIwMTEtMTEtMDYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAg
ICBEb24ndCBjcmFzaCB3aGVuIGEgY29udGV4dCBoYXNuJ3QgYmVlbiBjcmVhdGVkLiAgVGhpcyBm
aXhlZCBhCi0gICAgICAgIHRlc3Rpbmctb25seSBjcmFzaCBvbiB0aGUgYm90cyBpbiB0aGUgQ2hy
b21pdW0gcG9ydC4KLQotICAgICAgICAqIHRlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cDoKLSAgICAgICAgKFdlYkNvcmVUZXN0U3VwcG9ydDo6cmVzZXRJbnRlcm5hbHNPYmplY3QpOgot
Ci0yMDExLTExLTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KLQotICAgICAgICBM
ZWFrcyBzZWVuIGluIFJlbmRlckZsb3dUaHJlYWQ6OnNldFJlZ2lvblJhbmdlRm9yQm94IG9uIExl
YWtzIGJvdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEyNjAKLQotICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCi0KLSAgICAgICAgTWVtb3J5
IGxlYWsgZml4IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCi0KLSAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhy
ZWFkOjpyZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvKToKLSAgICAgICAgSW5zdGVhZCBvZiBjYWxs
aW5nIHJlbW92ZSwgY2FsbCB0YWtlIGFuZCB0aGVuIGRlbGV0ZSwgc2luY2UgdGhlCi0gICAgICAg
IHZhbHVlcyBvZiB0aGUgbWFwIGFyZSBvd25lZCBhbmQgbmVlZCB0byBiZSBkZWxldGVkIHdoZW4g
cmVtb3ZlZC4KLQotMjAxMS0xMS0wNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgot
Ci0gICAgICAgIEltcGxlbWVudCB0aGUgc2FuZGJveCBkaXJlY3RpdmUgZm9yIENTUAotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MDQKLQotICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAgICAgIEF0IFRQQUMsIE1pY3Jvc29mdCB3
YXMgcHVzaGluZyBwcmV0dHkgaGFyZCB0byBhZGQgdGhlIHNhbmRib3ggZGlyZWN0aXZlCi0gICAg
ICAgIHRvIENTUC4gIFRoZXJlJ3MgYSBxdWVzdGlvbiBhYm91dCB3aGV0aGVyIGl0J3MgZ29pbmcg
dG8gYmUgaW4gQ1NQIDEuMAotICAgICAgICBvciBDU1AgMS4xLCBidXQgaXQgc2VlbXMgdG8gYmUg
Y2xlYXJseSBoZWFkZWQgaW50byB0aGUgc3BlYy4KLQotICAgICAgICBUaGlzIHBhdGNoIGltcGxl
bWVudHMgdGhlIHNhbmRib3ggZGlyZWN0aXZlIGZvciBDU1AuICBJdCdzIGJ1aWx0IG9uIHRoZQot
ICAgICAgICBzYW1lIG1hY2hpbmVyeSB3ZSB1c2UgZm9yIHRoZSBzYW5kYm94IGF0dHJpYnV0ZSBm
b3IgaWZyYW1lLiAgTm93IHRoYXQKLSAgICAgICAgSSd2ZSBkb25lIHRoZSBpbXBsZW1lbnRhdGlv
biwgSSdtIGdvaW5nIHRvIHdyaXRlIHVwIHNvbWUgY29uY3JldGUgdGV4dAotICAgICAgICBmb3Ig
dGhlIHNwZWMuCi0KLSAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1zdWJmcmFtZS5odG1sCi0gICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWFsbG93LXNjcmlwdHMuaHRtbAotICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1lbXB0eS1zdWJmcmFtZS5odG1sCi0gICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWVtcHR5Lmh0bWwKLQotICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6Q29udGVudFNlY3VyaXR5
UG9saWN5KToKLSAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YXBwbHlT
YW5kYm94UG9saWN5KToKLSAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWRkRGlyZWN0aXZlKToKLSAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgot
Ci0yMDExLTExLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+Ci0KLSAgICAgICAg
SlNDIHNob3VsZCBiZSBhYmxlIHRvIHNhbXBsZSBpdHNlbGYgaW4gYSBtb3JlIGZsZXhpYmxlIHdh
eSB0aGFuIGp1c3Qgc2FtcGxpbmcgZmxhZ3MKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNTIyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFy
cmFjbG91Z2guCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSBubyBmdW5jdGlvbmFsaXR5
IGNoYW5nZWQuCi0KLSAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvU3BlY3RydW0uaDog
QWRkZWQuCi0KLTIwMTEtMTEtMDYgIE5pa2l0YSBWYXNpbHlldiAgPG1lQGVsdjFzLnJ1PgotCi0g
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFVuaW5kZW50IGVkaXRlZCB0ZXh0IGJ5IHByZXNzaW5nIFNo
aWZ0ICsgVGFiCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDE4MQotCi0gICAgICAgIEluZGVudCBhbmQgdW5pbmRlbnQgdGV4dCBpbiBhbGwgc2VsZWN0
ZWQgbGluZXMuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS51bmluZGVudExpbmVzLmdldCB2YXIp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBlLnVu
aW5kZW50TGluZXMpOgotCi0yMDExLTExLTA1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25A
aWdhbGlhLmNvbT4KLQotICAgICAgICBSZW1vdmUgQ29udGV4dFNoYWRvdwotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MTcKLQotICAgICAgICBSZXZp
ZXdlZCBieSBBcml5YSBIaWRheWF0LgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBwYXRj
aCBkb2VzIG5vdCBjaGFuZ2UgYmVoYXZpb3IuCi0KLSAgICAgICAgQ29tcGxldGVseSByZW1vdmUg
Q29udGV4dFNoYWRvdy4gSXQncyB1bnVzZWQsIHVubWFpbnRhaW5lZCwgYW5kCi0gICAgICAgIHJl
cGxhY2VkIGJ5IFNoYWRvd0JsdXIuCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6IFJlbW92ZSBy
ZWZlcmVuY2VzIHRvIGRlbGV0ZWQgZmlsZXMuCi0gICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IFJlbW92ZSByZWZlcmVuY2VzIHRvIGRlbGV0ZWQgZmlsZXMuCi0gICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHA6IFJlbW92ZWQuCi0gICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5oOiBSZW1vdmVkLgotICAgICAgICAq
IHBsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmNwcDogUmVtb3ZlIG5vdy1pbmFj
Y3VyYXRlIFRPRE8uCi0KLTIwMTEtMTEtMDQgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgot
Ci0gICAgICAgIERyYWdnaW5nIGEgZmlsZSBvbnRvIDxpbnB1dCB0eXBlPSJmaWxlIj4gc2hvdWxk
IGdpdmUgZGlzdGluY3QgdmlzdWFsIGZlZWRiYWNrCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg5NwotICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTIz
MjQ4Mz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotCi0gICAgICAgIFdo
ZW4gaG92ZXJpbmcgb3ZlciBhIGZpbGUgaW5wdXQgZWxlbWVudCwgd2Ugc2V0IHRoZSBidXR0b24n
cyBzdGF0ZSB0byBhY3RpdmUKLSAgICAgICAgdG8gZGlmZmVyZW50aWF0ZSBkcmFnZ2luZyBvbmUg
ZmlsZSBvdmVyIHRoZSBpbnB1dCBlbGVtZW50ICh3aGljaCBwb3B1bGF0ZXMgdGhhdAotICAgICAg
ICBlbGVtZW50KSB2ZXJzdXMgb3ZlciB0aGUgZG9jdW1lbnQgKHdoaWNoIHdvdWxkIGxvYWQgdGhl
IGZpbGUgaW50byB0aGUgdmlldykuCi0KLSAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6SFRNTElucHV0RWxlbWVu
dCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYW5SZWNlaXZlRHJvcHBl
ZEZpbGVzKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNldENhblJlY2Vp
dmVEcm9wcGVkRmlsZXMpOiBJZiBzZXQsIHRoZSBlbGVtZW50Ci0gICAgICAgIGlzIHVwZGF0ZWQs
IHdoaWNoIHNldHMgdGhlIGFjdGl2ZSBzdGF0ZSBvbiB0aGUgYnV0dG9uIGNvbnRyb2wuCi0gICAg
ICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6IEFkZCBhIGJvb2xlYW4gbWVtYmVyIHJlcHJl
c2VudGluZyB3aGV0aGVyIHRoZSBmaWxlCi0gICAgICAgIGlucHV0IGNhbiByZWNlaXZlIGRyb3Bw
ZWQgZmlsZXMuCi0gICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6RHJhZ0NvbnRyb2xsZXIpOiBVcGRhdGUvc2V0IHRoZSBm
aWxlIGlucHV0IHRoYXQKLSAgICAgICAgY2FuIHJlY2VpdmUgZHJvcHBlZCBmaWxlcy4KLSAgICAg
ICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnRXhpdGVkKToKLSAgICAgICAgKFdlYkNv
cmU6OkRyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcpOgotICAgICAgICAoV2ViQ29yZTo6
RHJhZ0NvbnRyb2xsZXI6OmNvbmNsdWRlRWRpdERyYWcpOgotICAgICAgICAqIHBhZ2UvRHJhZ0Nv
bnRyb2xsZXIuaDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnVwZGF0ZUZy
b21FbGVtZW50KTogU2V0cyB0aGUgYnV0dG9uIGFjdGl2ZQotICAgICAgICBzdGF0ZSBpZiB0aGUg
aW5wdXQgY2FuIHJlY2VpdmUgZHJvcHBlZCBmaWxlcy4KLQotMjAxMS0xMS0wNSAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgSW1wcm92ZSBwZW5kaW5nIHJlc291cmNl
IGhhc2ggdGFibGUgY29kZSwgaW5jbHVkaW5nIGZpeGluZyBhIG1lbW9yeSBsZWFrCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYxNgotCi0gICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCi0KLSAgICAgICAgTWVtb3J5IGxlYWsgZml4IGFuZCBy
ZWZhY3RvcmluZyBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4
dGVuc2lvbnM6OmFkZFBlbmRpbmdSZXNvdXJjZSk6IFJlcGxhY2UgdGhlIGNvbWJpbmF0aW9uCi0g
ICAgICAgIG9mIGNvbnRhaW5zLCBnZXQsIGFuZCBhZGQgd2l0aCBqdXN0IGFkZCwgcmVtb3Zpbmcg
YW4gZXh0cmEgdW5uZWVkZWQgaGFzaCB0YWJsZQotICAgICAgICBsb29rdXAgZWFjaCB0aW1lIHRo
aXMgZnVuY3Rpb24gaXMgY2FsbGVkLgotICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRl
bnNpb25zOjppc0VsZW1lbnRJblBlbmRpbmdSZXNvdXJjZXMpOiBBZGRlZCBhIGNvbW1lbnQKLSAg
ICAgICAgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoaXMgZnVuY3Rpb24uIFJlbW92ZWQgdW5u
ZWNlc3NhcnkgY2hlY2sgZm9yIGFuIGVtcHR5Ci0gICAgICAgIG1hcDsgdGhlIGNvZGUgYWxyZWFk
eSBlZmZpY2llbnRseSBleGl0cyBkb2luZyBub3RoaW5nIHdpdGhvdXQgdGhlIGNoZWNrLgotICAg
ICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVFbGVtZW50RnJvbVBl
bmRpbmdSZXNvdXJjZXMpOiBSZW1vdmVkCi0gICAgICAgIHVubmVjZXNzYXJ5IGNoZWNrIGZvciBh
biBlbXB0eSBtYXA7IHRoZSBjb2RlIGFscmVhZHkgZWZmaWNpZW50bHkgZG9lcyBub3RoaW5nCi0g
ICAgICAgIHdpdGhvdXQgdGhlIGNoZWNrLiBVc2UgcmVtb3ZlUGVuZGluZ1Jlc291cmNlIHJhdGhl
ciB0aGFuIGNhbGxpbmcgcmVtb3ZlIHRvCi0gICAgICAgIGF2b2lkIGxlYWtpbmcgdGhlIFNWR1Bl
bmRpbmdFbGVtZW50cyBzZXQuCi0gICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lv
bnM6OnJlbW92ZVBlbmRpbmdSZXNvdXJjZSk6IFJlcGxhY2UgdGhlCi0gICAgICAgIGNvbWJpbmF0
aW9uIG9mIGdldCBhbmQgcmVtb3ZlIHdpdGggYSBjYWxsIHRvIHRha2UsIHJlbW92aW5nIGFuIGV4
dHJhCi0gICAgICAgIHVubmVlZGVkIGhhc2ggdGFibGUgbG9va3VwIGVhY2ggdGltZSB0aGlzIGZ1
bmN0aW9uIGlzIGNhbGxlZAotCi0yMDExLTExLTA1ICBEYW4gV2luc2hpcCAgPGRhbndAZ25vbWUu
b3JnPgotCi0gICAgICAgIFtHVEtdIEFjdHVhbGx5IHVzZSB0aGUgdXNlcl9kYXRhIGFyZ3VtZW50
cyB0byBnaW8gYXN5bmMgZnVuY3Rpb25zCi0gICAgICAgIGluc3RlYWQgb2YgdXNpbmcgZ19vYmpl
Y3Rfc2V0X2RhdGEoKSB0byBiYXNpY2FsbHkgcmVpbnZlbnQgdGhlbS4KLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjE0Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgTWFydGluIFJvYmluc29uLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0czsgYmVoYXZpb3Ig
aXMgdW5jaGFuZ2VkCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlSW50ZXJuYWw6
On5SZXNvdXJjZUhhbmRsZUludGVybmFsKToKLSAgICAgICAgKFdlYkNvcmU6OmNsZWFudXBTb3Vw
UmVxdWVzdE9wZXJhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpzZW5kUmVxdWVzdENhbGxiYWNr
KToKLSAgICAgICAgKFdlYkNvcmU6OnN0YXJ0SFRUUFJlcXVlc3QpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpjbG9zZUNhbGxiYWNrKToKLSAgICAgICAgKFdlYkNvcmU6OnJlYWRDYWxsYmFjayk6
Ci0gICAgICAgIChXZWJDb3JlOjpzdGFydE5vbkhUVFBSZXF1ZXN0KToKLQotMjAxMS0xMS0wNSAg
RGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4KLQotICAgICAgICBbR1RLXSBEb24ndCB1bm5l
Y2Vzc2FyaWx5IDAtaW5pdGlhbGl6ZSByZWFkIGJ1ZmZlcnMuCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYxMgotCi0gICAgICAgIFJldmlld2VkIGJ5
IE1hcnRpbiBSb2JpbnNvbi4KLQotICAgICAgICBObyBuZXcgdGVzdHM7IGJlaGF2aW9yIGlzIHVu
Y2hhbmdlZAotCi0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpzZW5kUmVxdWVzdENhbGxiYWNrKToKLQotMjAx
MS0xMS0wNSAgRGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4KLQotICAgICAgICBbR1RLXSBS
ZW1vdmUgYSBiaXQgb2YgZGVhZCBjb2RlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTYxMwotCi0gICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2Jp
bnNvbi4KLQotICAgICAgICBObyBuZXcgdGVzdHM7IGJlaGF2aW9yIGlzIHVuY2hhbmdlZAotCi0g
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpyZWFkQ2FsbGJhY2spOiB0aGUgY2FsbGVyIHRoYXQgbmVlZGVkIHRo
ZSBjb252ZXJ0VG9VVEYxNgotICAgICAgICBjb2RlIHdhcyByZW1vdmVkIGluIHI3NzQwOCwgYnV0
IHRoZSBjb2RlIHdhcyBhY2NpZGVudGFsbHkgbGVmdAotICAgICAgICBiZWhpbmQuCi0KLTIwMTEt
MTEtMDUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZWZhY3Rv
ciBzYW5kYm94IGZsYWcgY2FsY3VsYXRpb24gdG8gbWFrZSBpbXBsZW1lbnRpbmcgQ1NQIHNhbmRi
b3ggZGlyZWN0aXZlIGVhc2llcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzE2MDMKLQotICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0g
ICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgd2F5IHdlIGNvbXB1dGUgc2FuZGJveCBiaXRz
LiAgSW5zdGVhZCBvZiBjYWNoaW5nCi0gICAgICAgIHRoZSByZXN1bHQgb24gRnJhbWUsIHdlIGFs
d2F5cyBjb21wdXRlIHRoZSBzYW5kYm94IGJpdHMgZm9yIGEgbmV3Ci0gICAgICAgIGRvY3VtZW50
IGZyZXNoIGZyb20gdGhlIGlucHV0cyB0byB0aGUgcHJvY2VzcyAodGhlIHNhbmRib3ggYXR0cmli
dXRlCi0gICAgICAgIGFuZCB0aGUgZm9yY2VkIHNhbmRib3ggZmxhZ3MpLgotCi0gICAgICAgIFRo
aXMgcGF0Y2ggaXMganVzdCByZWZhY3RvcmluZy4gIEl0IHNob3VsZG4ndCBoYXZlIGFuIG9ic2Vy
dmFibGUKLSAgICAgICAgZWZmZWN0cy4gIFRoaXMgcGF0Y2ggbWFrZXMgaXQgZWFzaWVyIHRvIGlt
cGxlbWVudCBDU1AncyBzYW5kYm94Ci0gICAgICAgIGRpcmVjdGl2ZSBpbiBhIHN1YnNlcXVlbnQg
cGF0Y2guCi0KLSAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OmluaXRTZWN1cml0eUNvbnRleHQpOgotICAgICAgICAqIGh0bWwvSFRNTEZyYW1l
T3duZXJFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVu
dDo6c2V0U2FuZGJveEZsYWdzKToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OkZyYW1lTG9hZGVyKToKLSAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjppbml0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
OjplZmZlY3RpdmVTYW5kYm94RmxhZ3MpOgotICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93
KToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjpmb3JjZVNhbmRib3hGbGFncyk6Ci0KLTIwMTEtMTEtMDUgIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb246IERl
dmlydHVhbGl6ZSBpc011dGFibGVTdHlsZURlY2xhcmF0aW9uKCkuCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYwOQotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEFuZGVycyBDYXJsc3Nvbi4KLQotICAgICAgICBBZGQgYSBib29sIG1lbWJlciB0byBDU1NT
dHlsZURlY2xhcmF0aW9uIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyCi0gICAgICAgIGl0J3MgYSBD
U1NNdXRhYmxlRGVjbGFyYXRpb24uCi0KLSAgICAgICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKToKLSAgICAgICAgKiBjc3MvQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24uaDoKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9uOjpDU1NTdHlsZURlY2xh
cmF0aW9uKToKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6aXNNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6
Ci0KLTIwMTEtMTEtMDUgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFNpbXBsaWZ5IEluc3BlY3RvckNTU0FnZW50OjppbmxpbmVTdHls
ZUVsZW1lbnQoKS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxNjA4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAg
ICBVc2UgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmlzSW5saW5lU3R5bGVEZWNsYXJhdGlv
bigpIGluc3RlYWQKLSAgICAgICAgb2YgZG9pbmcgdGhlIHNhbWUgY2hlY2tzIG1hbnVhbGx5Lgot
Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjppbmxpbmVTdHlsZUVsZW1lbnQpOgotCi0yMDExLTEx
LTA1ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KLQotICAgICAg
ICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotCi0gICAgICAgIFJlbW92ZWQgZHVwbGljYXRl
ZCBucHJ1bnRpbWVfaW50ZXJuYWwuaCBmcm9tIGJpbmRpbmdzL3Y4Ci0gICAgICAgIGluIGZhdm91
ciBvZiB0aGUgb25lIGZyb20gYnJpZGdlLywgd2hpY2ggaGFzIGEgZmV3IG1vcmUKLSAgICAgICAg
I3VuZGVmcy4KLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU2MTcKLQotICAgICAgICAqIGJpbmRpbmdzL3Y4L25wcnVudGltZV9pbnRlcm5hbC5oOiBS
ZW1vdmVkLgotICAgICAgICAqIFRhcmdldC5wcmk6IFJlbW92ZWQgc3RyYW5nZSBvY2N1cmVuY2Ug
aGVyZS4KLQotMjAxMS0xMS0wNSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tp
YS5jb20+Ci0KLSAgICAgICAgUmVtb3ZlIGVtcHR5IGFuZCB1bnVzZWQgZG9tL1Bvc2l0aW9uQ3Jl
YXRpb25GdW5jdGlvbnMuaCBoZWFkZXIgZmlsZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1NTIKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KLQotICAgICAgICBUaGUgZmlsZSBpcyBlbXB0eSAoMCBieXRl
cykgYW5kIG5vdCB1c2VkIGFueXdoZXJlLiBJdCB3YXMgYWRkZWQgaW4KLSAgICAgICAgMjAwOSBp
biByNDgyMzQgYnV0IGhhc24ndCBiZWVuIHRvdWNoZWQgc2luY2UgdGhlbi4KLQotICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBkb20vUG9zaXRpb25DcmVhdGlvbkZ1bmN0aW9ucy5o
OiBSZW1vdmVkLgotCi0yMDExLTExLTA0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
Ci0KLSAgICAgICAgRml4IGFzc2VydCBhZnRlciBydW5uaW5nIHRlc3RzIGluIGR1bXBBc1RleHQg
Zm9sZGVycy4gIFNlZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE1OTkgZm9yIGRpc2N1c3Npb24uICBUaGlzCi0gICAgICAgIHBhdGNoIHJldmVydHMg
cGFydCBvZiBhIHNsaWdodGx5IG92ZXItYWdyZXNzaXZlIHJlZmFjdG9yaW5nIGluCi0gICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk5MzQ3LgotCi0gICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRJc1ZpZXdTb3Vy
Y2UpOgotCi0yMDExLTExLTA0ICBCZW4gV2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgQ2FudmFzIGRyYXdJbWFnZShjYW52YXMpIHdpdGggU291cmNlSW4sIERlc3RpbmF0
aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9wIGFuZCBDb3B5IGhhdmUgZXJyb3JzCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUzNwotCi0g
ICAgICAgIFJldmlld2VkIGJ5IFN0ZXBoZW4gV2hpdGUuCi0KLSAgICAgICAgZHJhd0ltYWdlKGNh
bnZhcykgbm93IHVzZXMgdGhlIHNhbWUgYXBwcm9hY2ggYXMgZHJhd0ltYWdlKGltYWdlKSB0byBm
aXggdGhlc2UgZXJyb3JzLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21w
b3NpdGUtY2FudmFzLmh0bWwKLQotICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmRyYXdJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpkcmF3SW1hZ2VUb0NvbnRleHQpOgot
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29t
cG9zaXRlZERyYXdJbWFnZSk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmg6Ci0KLTIwMTEtMTEtMDQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBKYXZhU2NyaXB0IFVSTHMgZXhlY3V0ZSBpbiBzYW5kYm94ZWQgaWZyYW1l
cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1OTkK
LQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBUaGlzIHBhdGNo
IGZpeGVzIHRoZSBpbnRlbnRpb25hbCByZWdyZXNzaW9uIEkgaW50cm9kdWNlZCBlYXJsaWVyIHRv
ZGF5Ci0gICAgICAgIGJ5IG1vdmluZyB0aGUgc2FuZGJveCBiaXRzIGZyb20gU2VjdXJpdHlPcmln
aW4gdG8gRG9jdW1lbnQuIEluIHRoZQotICAgICAgICBwcm9jZXNzLCBJIHJlbmFtZWQgU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUVtcHR5IHRvCi0gICAgICAgIFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVV
bmlxdWUgdG8gYmV0dGVyIGFsaWduIHdpdGggSFRNTDUgdGVybWlub2xvZ3kuCi0KLSAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAgKiBiaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFz
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpjYW5FeGVjdXRlU2Ny
aXB0cyk6Ci0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpzZXRJc1ZpZXdTb3VyY2UpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Omlu
aXRTZWN1cml0eUNvbnRleHQpOgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6
Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5kYm94RmxhZ3Mp
OgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZW5mb3JjZVNhbmRi
b3hGbGFncyk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojppc1Nh
bmRib3hlZCk6Ci0gICAgICAgICogaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6Y2FuRW1iZWRKYXZhKToKLSAgICAgICAgKiBs
b2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRXcml0
ZXI6OmJlZ2luKToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6aXNEb2N1bWVudFNhbmRib3hlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKToKLSAgICAgICAgKiBsb2FkZXIvUG9saWN5Q2hl
Y2tlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQb2xpY3lDaGVja2VyOjpjaGVja05ld1dpbmRv
d1BvbGljeSk6Ci0gICAgICAgICogbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0UGx1Z2luKToKLSAgICAgICAgKiBwYWdl
L1NlY3VyaXR5T3JpZ2luLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpT
ZWN1cml0eU9yaWdpbik6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRl
KToKLSAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUpOgotICAg
ICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKLQotMjAxMS0xMS0wNCAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgotCi0gICAgICAgIFBvdGVudGlhbCBVbnVzZWQgUGFy
YW0gQnVpbGQgSXNzdWUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxNTk4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCi0KLSAgICAg
ICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxT
ZWxlY3RFbGVtZW50OjpwbGF0Zm9ybUhhbmRsZUtleWRvd25FdmVudCk6Ci0KLTIwMTEtMTEtMDQg
IFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KLQotICAgICAgICBDcmFz
aCBpbiBTY3JvbGxBbmltYXRvci5jcHAKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY5ODY1Ci0KLSAgICAgICAgVGhlIGNvZGUgaW4gU2Nyb2xsQW5pbWF0
b3IgYXNzdW1lcyB0aGF0IGhvcml6b250YWwgcGVyLXBhZ2UgbW91c2UKLSAgICAgICAgd2hlZWwg
ZXZlbnRzIGNhbm5vdCBoYXBwZW4sIHdoaWNoIGlzIG5vdCB0cnVlLiBUaGlzIHBhdGNoIGFkZHMg
bGF5b3V0Ci0gICAgICAgIHRlc3RzIGZvciBhbGwgcGFnaW5nIHdoZWVsIGV2ZW50IHNpdHVhdGlv
bnMgYW5kIGZpeGVzIHRoZSBicm9rZW4KLSAgICAgICAgaG9yaXpvbnRhbCBjYXNlLgotCi0gICAg
ICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3NvbgotCi0gICAgICAgIFRlc3RzOiBmYXN0L2V2
ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LXBhZ2luZy14LWluLW5vbi1zY3JvbGxpbmctZGl2Lmh0
bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3BsYXRmb3JtLXdoZWVsZXZlbnQtcGFnaW5n
LXgtaW4tbm9uLXNjcm9sbGluZy1wYWdlLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRz
L3BsYXRmb3JtLXdoZWVsZXZlbnQtcGFnaW5nLXgtaW4tc2Nyb2xsaW5nLWRpdi5odG1sCi0gICAg
ICAgICAgICAgICBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LXBhZ2luZy14LWluLXNj
cm9sbGluZy1wYWdlLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3BsYXRmb3JtLXdo
ZWVsZXZlbnQtcGFnaW5nLXh5LWluLXNjcm9sbGluZy1kaXYuaHRtbAotICAgICAgICAgICAgICAg
ZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1wYWdpbmcteHktaW4tc2Nyb2xsaW5nLXBh
Z2UuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1w
YWdpbmcteS1pbi1ub24tc2Nyb2xsaW5nLWRpdi5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2V2
ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LXBhZ2luZy15LWluLW5vbi1zY3JvbGxpbmctcGFnZS5o
dG1sCi0gICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LXBhZ2lu
Zy15LWluLXNjcm9sbGluZy1kaXYuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvcGxh
dGZvcm0td2hlZWxldmVudC1wYWdpbmcteS1pbi1zY3JvbGxpbmctcGFnZS5odG1sCi0KLSAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDogTW9kaWZ5IHRoZSBjb21tZW50IHRv
IHJlZmxlY3QgdGhlIG5ldwotICAgICAgICByZWFsaXR5LgotICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpoYW5k
bGVXaGVlbEV2ZW50KTogTW9kaWZpZWQgdGhlIGNvZGUgdG8gaGFuZGxlIHRoZQotICAgICAgICBo
b3Jpem9udGFsIHBlci1wYWdlIHdoZWVsIGV2ZW50IGNhc2UuCi0KLTIwMTEtMTEtMDQgIFJhZmFl
bCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KLQotICAgICAgICBbTXV0YXRpb25P
YnNlcnZlcnNdIFJlZmFjdG9yIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gaW50byBpdHMg
b3duIGNsYXNzIHRoYXQgaXMKLSAgICAgICAgcmVmZXJlbmNlZCBieSByZWdpc3RyYXRpb24gcG9p
bnRzCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
NTc3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLQotICAgICAgICBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uIGlzIG5vdyBvd25lZCBieSB0aGUgbm9kZSB3aGljaCBpcyBv
YnNlcnZlZC4gSWYgdHJhbnNpZW50Ci0gICAgICAgIHJlZ2lzdHJhdGlvbnMgYXJlIGNyZWF0ZWQs
IHRoZXkgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KLQotICAgICAgICBUaGUgb3du
ZXJzaGlwIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIE5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24gJgotICAgICAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyIG5vdyBnb2VzIGxpa2UgdGhp
czogV2ViS2l0TXV0YXRpb25PYnNlcnZlciBpcyBSZWZDb3VudGVkIC0KLSAgICAgICAgYW5kIG9u
bHkgc2NyaXB0IGFuZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uIHRha2UgcmVmZXJlbmNl
cyB0byBpdC4gRXhhY3RseQotICAgICAgICBvbmUgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
biBjYW4gZXhpc3QgZm9yIGFueSBnaXZlbiB0dXBsZSBvZgotICAgICAgICA8Tm9kZSwgV2ViS2l0
TXV0YXRpb25PYnNlcnZlcj4uIFRoaXMgcmVwcmVzZW50cyBhbiBvYnNlcnZlciBvYnNlcnZpbmcg
YXQgYSBnaXZlbgotICAgICAgICBOb2RlLiBGdXJ0aGVyIG9ic2VydmF0aW9uIGJ5IHRoZSBzYW1l
IG9ic2VydmVyIGhhcyB0aGUgZWZmZWN0IG9mICpyZXNldHRpbmcqCi0gICAgICAgIHRoZSBleGlz
dGluZyBvYnNlcnZhdGlvbi4gVGhlIE5vZGUgb3ducyB0aGUgTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi4KLSAgICAgICAgVHJhbnNpZW50IHJlZ2lzdHJhdGlvbnMgYXJlIG9ubHkgcG9pbnRl
cnMgdG8gdGhlIHJlZ2lzdHJhdGlvbi4gVGhlIHJlZ2lzdHJhdGlvbgotICAgICAgICBrZWVwcyBh
IFJlZlB0ciB0byBpdHMgcmVnaXN0cmF0aW9uIG5vZGUgYW5kIGFsbCBvZiBpdHMgdHJhbnNpZW50
IHJlZ2lzdHJhdGlvbiBub2RlcwotICAgICAgICBhcyBsb25nIGFzICphbnkqIHRyYW5zaWVudCBy
ZWdpc3RyYXRpb25zIGV4aXN0LiBUaGlzIGVuc3VyZXMgdGhlIHJlZ2lzdHJhdGlvbgotICAgICAg
ICBhbmQgYWxsIHJlZ2lzdHJhdGlvbiBub2RlcyBzdGF5IGFsaXZlIGF0IGxlYXN0IHVudGlsIHRo
ZSBlbmQgb2YgdGhlIG1pY3JvdGFzay4KLQotICAgICAgICBObyB0ZXN0cyByZXF1aXJlZCAtIHJl
ZmFjdG9yIG9ubHkuCi0KLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3JlLnBybzoKLSAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6Ci0gICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6ZW5xdWV1ZUNoYXJhY3RlckRhdGFNdXRhdGlvblJlY29yZCk6Ci0gICAgICAgICog
ZG9tL0NoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6TXV0YXRp
b25BY2N1bXVsYXRpb25Sb3V0ZXI6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjppbmNyZW1l
bnRTY29waW5nTGV2ZWwpOgotICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OmVucXVldWVBdHRyaWJ1dGVzTXV0YXRpb25SZWNvcmQpOgotICAgICAgICAqIGRvbS9N
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJDb3Jl
OjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjp+
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uOjpyZXNldE9ic2VydmF0aW9uKToKLSAgICAgICAgKFdlYkNv
cmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246Om9ic2VydmVkU3VidHJlZU5vZGVXaWxs
RGV0YWNoKToKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246
OmNsZWFyVHJhbnNpZW50UmVnaXN0cmF0aW9ucyk6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyKToKLSAgICAgICAgKFdlYkNvcmU6Ok11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OnNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20pOgot
ICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmguCi0gICAgICAgIChX
ZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpvYnNlcnZlcik6Ci0gICAgICAg
IChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpkZWxpdmVyeU9wdGlvbnMp
OgotICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNsZWFy
UmFyZURhdGEpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJ5KToKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyeSk6Ci0gICAgICAgIChXZWJDb3JlOjphZGRPYnNlcnZlclRvRGVsaXZlcnlTZXQpOgot
ICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Y29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRp
b24pOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Z2V0UmVnaXN0ZXJlZE11dGF0aW9uT2JzZXJ2
ZXJzT2ZUeXBlKToKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNl
cnZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlOjp1bnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZl
cik6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3RlclRyYW5zaWVudE11dGF0aW9uT2Jz
ZXJ2ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6dW5yZWdpc3RlclRyYW5zaWVudE11dGF0
aW9uT2JzZXJ2ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bm90aWZ5TXV0YXRpb25PYnNl
cnZlcnNOb2RlV2lsbERldGFjaCk6Ci0gICAgICAgICogZG9tL05vZGUuaDoKLSAgICAgICAgKiBk
b20vTm9kZVJhcmVEYXRhLmg6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6Om11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6OmVu
c3VyZU11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlUmFy
ZURhdGE6OnRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6Ci0gICAgICAgIChXZWJD
b3JlOjpOb2RlUmFyZURhdGE6OmVuc3VyZVRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
eSk6Ci0gICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6fldlYktpdE11dGF0aW9uT2JzZXJ2ZXIp
OgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKLSAg
ICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmF0aW9uU3RhcnRl
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZhdGlv
bkVuZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OmRlbGl2
ZXIpOgotICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg6Ci0KLTIwMTEtMTEt
MDQgIFJheW1vbmQgVG95ICA8cnRveUBnb29nbGUuY29tPgotCi0gICAgICAgQWRkIG1ldGhvZHMg
dG8gY29tcHV0ZSBtYWduaXR1ZGUgYW5kIHBoYXNlIHJlc3BvbnNlIGZvciBiaXF1YWRzCi0gICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDU1Ci0KLSAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCi0KLQotICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL0JpcXVhZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OmdldEZyZXF1ZW5jeVJl
c3BvbnNlKToKLSAgICAgICAgQ29tcHV0ZXMgdGhlIG1hZ25pdHVkZSBhbmQgcGhhc2UgKHJhZGlh
bnMpIHJlc3BvbnNlIGZvciB0aGUgZ2l2ZW4KLSAgICAgICAgYmlxdWFkIGF0IHRoZSBzcGVjaWZp
ZWQgc2V0IG9mIChub3JtYWxpemVkKSBmcmVxdWVuY2llcy4KLSAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9CaXF1YWQuaDoKLSAgICAgICAgRGVjbGFyZSBnZXRGcmVxdWVuY3lSZXNwb25zZS4KLSAg
ICAgICAgKiB3ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
QmlxdWFkRFNQS2VybmVsOjp1cGRhdGVDb2VmZmljaWVudHNJZk5lY2Vzc2FyeSk6Ci0gICAgICAg
IEZhY3RvciBvdXQgdGhlIGNvZGUgdGhhdCB1cGRhdGVzIGZpbHRlciBjb2VmZmljaWVudHMuICBB
bGxvdyB0aGUKLSAgICAgICAgY2FsbGVyIHRvIHNwZWNpZnkgd2hldGhlciB0aGUgc21vb3RoZWQg
dmFsdWVzIGFyZSB1c2VkIG9yIG5vdCBhbmQKLSAgICAgICAgd2hldGhlciB3ZSBkbyB0aGUgdXBk
YXRlIGV2ZW4gaWYgdGhlIGNvZWZmaWNpZW50cyBhcmUgbm90IGRpcnR5LgotICAgICAgICAoV2Vi
Q29yZTo6QmlxdWFkRFNQS2VybmVsOjpwcm9jZXNzKToKLSAgICAgICAgVXNlIHVwZGF0ZUNvZWZm
aWNpZW50c0lmTmVjZXNzYXJ5IHRvIHVwZGF0ZS4KLSAgICAgICAgKFdlYkNvcmU6OkJpcXVhZERT
UEtlcm5lbDo6Z2V0RnJlcXVlbmN5UmVzcG9uc2UpOgotICAgICAgICBJbXBsbWVudGF0aW9uIG9m
IGdldEZyZXF1ZW5jeVJlc3BvbnNlLgotICAgICAgICAqIHdlYmF1ZGlvL0JpcXVhZERTUEtlcm5l
bC5oOgotICAgICAgICBEZWNsYXJlIGdldEZyZXF1ZW5jeVJlc3BvbnNlLgotICAgICAgICAqIHdl
YmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmlxdWFkRmls
dGVyTm9kZTo6Z2V0RnJlcXVlbmN5UmVzcG9uc2UpOgotICAgICAgICBJbXBsZW1lbnRhdGlvbiBv
ZiBnZXRGcmVxdWVuY3lSZXNwb25zZQotICAgICAgICAqIHdlYmF1ZGlvL0JpcXVhZEZpbHRlck5v
ZGUuaDoKLSAgICAgICAgRGVjbGFyZSBnZXRGcmVxdWVuY3lSZXNwb25zZS4KLSAgICAgICAgKiB3
ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbDoKLSAgICAgICAgRGVmaW5lIGludGVyZmFjZSB0
byBnZXRGcmVxdWVuY3lSZXNwb25zZS4KLSAgICAgICAgKiB3ZWJhdWRpby9CaXF1YWRQcm9jZXNz
b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmlxdWFkUHJvY2Vzc29yOjpjaGVja0ZvckRpcnR5
Q29lZmZpY2llbnRzKToKLSAgICAgICAgRmFjdG9yIG91dCBjb2RlIGZvciBjaGVja2luZyBmb3Ig
ZGlydHkgY29lZmZpY2llbnRzLgotICAgICAgICAoV2ViQ29yZTo6QmlxdWFkUHJvY2Vzc29yOjpw
cm9jZXNzKToKLSAgICAgICAgVXNlIGNoZWNrRm9yRGlydHlDb2VmZmljaWVudHMuCi0gICAgICAg
IChXZWJDb3JlOjpCaXF1YWRQcm9jZXNzb3I6OmdldEZyZXF1ZW5jeVJlc3BvbnNlKToKLSAgICAg
ICAgSW1wbGVtZW50YXRpb24gb2YgZ2V0RnJlcXVlbmN5UmVzcG9uc2UKLSAgICAgICAgKiB3ZWJh
dWRpby9CaXF1YWRQcm9jZXNzb3IuaDoKLSAgICAgICAgRGVjbGFyZSBnZXRGcmVxdWVuY3lSZXNw
b25zZS4KLQotMjAxMS0xMS0wNCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KLQotICAgICAgICBbTWFjXSBSZXNvdXJjZVJlcXVlc3QncyBuc1VSTFJlcXVlc3QoKSBkb2Vz
IG5vdCBkaWZmZXJlbnRpYXRlIG51bGwgYW5kIGVtcHR5IFVSTHMgd2l0aCBDRk5ldHdvcmsKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTM5Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgotCi0gICAgICAgIEluIG9yZGVyIHRvIGhh
dmUgQ0ZVUkwgYW5kIE5TVVJMIHRvIGJlIGNvbnNpc3RlbnQgd2hlbiBib3RoIGFyZSB1c2VkIG9u
IE1hYywKLSAgICAgICAgS1VSTDo6Y3JlYXRlQ0ZVUkwoKSBpcyBjaGFuZ2VkIHRvIHN1cHBvcnQg
ZW1wdHkgVVJMIHZhbHVlcy4KLQotICAgICAgICAqIHBsYXRmb3JtL2NmL0tVUkxDRk5ldC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpjcmVhdGVDRlVSTEZyb21CdWZmZXIpOgotICAgICAgICAoV2Vi
Q29yZTo6S1VSTDo6Y3JlYXRlQ0ZVUkwpOgotICAgICAgICAqIHBsYXRmb3JtL21hYy9LVVJMTWFj
Lm1tOgotICAgICAgICAoV2ViQ29yZTo6S1VSTDo6b3BlcmF0b3IgTlNVUkwgKik6Ci0gICAgICAg
IChXZWJDb3JlOjpLVVJMOjpjcmVhdGVDRlVSTCk6Ci0KLTIwMTEtMTEtMDQgIEZhZHkgU2FtdWVs
ICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ1NTIEFzcGVjdCBSYXRpbyBQcm9w
ZXJ0eSBQYXJzaW5nIFN0YWdlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDcwNwotCi0gICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCi0KLSAg
ICAgICAgQWRkZWQgcGFyc2luZyBzdXBwb3J0IGZvciAtd2Via2l0LWFzcGVjdC1yYXRpbyBDU1Mg
cHJvcGVydHkuCi0gICAgICAgIFRoZSBzcGVjIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vd3d3
LnhhbnRoaXIuY29tL2Jsb2cvYjQ4MTAKLQotICAgICAgICBUZXN0OiBmYXN0L2Nzcy9hc3BlY3Qt
cmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFRhcmdldC5wcmk6Ci0gICAg
ICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAg
ICAgKiBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6fkNTU0FzcGVjdFJhdGlvVmFsdWUpOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3NzVGV4dCk6Ci0gICAgICAgICogY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RS
YXRpb1ZhbHVlOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1
ZTo6bnVtZXJhdG9yVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1
ZTo6ZGVub21pbmF0b3JWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RSYXRpb1Zh
bHVlOjpDU1NBc3BlY3RSYXRpb1ZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uLmNwcDoKLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlQXNwZWN0UmF0aW8pOgotICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoK
LSAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgotICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgotCi0yMDExLTExLTA0ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgRGVsZXRlIEZyYW1lTG9h
ZGVyOjppc1NhbmRib3hlZAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE1OTEKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAg
ICAgICBXZSBzaG91bGQgYWx3YXlzIHVzZSBkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+aXNT
YW5kYm94ZWQgYmVjYXVzZQotICAgICAgICB0aGF0IHBpY2tzIHVwIHRoZSBzYW5kYm94IGJpdHMg
dGhhdCBhcmUgZnJvemVuIG9uIHRoZSBkb2N1bWVudCByYXRoZXIKLSAgICAgICAgdGhhbiB0aGUg
b25lcyB0aGF0IGNvdWxkIGNoYW5nZSBvbiB0aGUgRnJhbWUuCi0KLSAgICAgICAgVGhpcyBwYXRj
aCBzdGFydHMgcHJlcGFyaW5nIHVzIHRvIGltcGxlbWVudCB0aGUgQ1NQIHNhbmRib3ggZGlyZWN0
aXZlLAotICAgICAgICB3aGljaCB3aWxsIGNhdXNlIHVzZSB0byBoYXZlIGRvY3VtZW50IHNhbmRi
b3ggYml0cyB3aXRob3V0IGFueSBhdHRyaWJ1dGUuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9TY3Jp
cHRDb250cm9sbGVyQmFzZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVy
OjpjYW5FeGVjdXRlU2NyaXB0cyk6Ci0gICAgICAgICAgICAtIFRoaXMgY2FsbCBzaXRlIHdhcyB0
aGUgb25seSBmdW5jdGlvbmFsIHNpdGUgbGVmdCB3aGVyZSB0aGVzZSB0d28KLSAgICAgICAgICAg
ICAgY291bGQgYmUgZGlmZmVyZW50LiBUaGlzIHBhdGNoIGNhdXNlcyBvbmUgcHJvZ3Jlc3Npb24g
YW5kIG9uZQotICAgICAgICAgICAgICByZWdyZXNzaW9uLiBUaGUgcHJvZ3Jlc3Npb24gaXMgdGhh
dCB3ZSBub3cgY29ycmVjdGx5IGZyZWV6ZSB0aGUKLSAgICAgICAgICAgICAgYWxsb3ctc2NyaXB0
cyBiaXQgd2hlbiBhIGRvY3VtZW50IGlzIGNyZWF0ZWQsIGJ1dCB0aGUgcmVncmVzc2lvbgotICAg
ICAgICAgICAgICBpcyB3ZSBub3cgYWxsb3cgdGhlIGV4ZWN1dGlvbiBvZiBKYXZhU2NyaXB0IFVS
THMsIGFzIG5vdGVkIGluIAotICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9zYW5kYm94ZWQtaWZy
YW1lLXNjcmlwdGluZy5odG1sLiBUaGF0J3MgZXZlbiBtb3JlIG9mCi0gICAgICAgICAgICAgIGFu
IGVkZ2UgY2FzZSwgc28gSSB0aGluayBpdCdzIGEgd2luIG92ZXJhbGwuCi0gICAgICAgICogbG9h
ZGVyL0RvY3VtZW50V3JpdGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50V3JpdGVy
OjpiZWdpbik6Ci0gICAgICAgICAgICAtIEkgZG9uJ3QgdGhpbmsgdGhpcyBwYXJ0IG9mIHRoZSBj
aGFuZ2UgaXMgdGVzdGFibGUuIFRoZXJlJ3Mgbm8KLSAgICAgICAgICAgICAgdGltZSB0byBleGVj
dXRlIHNjcmlwdCBiZXR3ZWVuIHdoZW4gdGhlIGJpdHMgZ2V0IGNvcGllZCBvZmYgdGhlCi0gICAg
ICAgICAgICAgIEZyYW1lIGFuZCB3aGVuIHRoZXkncmUgY2hlY2tlZCwgc28gdGhlcmUncyBubyB0
aW1lIHRvIGNoYW5nZSB0aGVtLgotICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6Ci0g
ICAgICAgICAgICAtIFVwZGF0ZSBGSVhNRSBjb21tZW50IHRoYXQgaXMgbm93IGZpeGVkLgotICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgotICAgICAgICAgICAgLSBSZW1vdmUgd3Jvbmcg
QVBJLgotCi0yMDExLTExLTA0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgV2hlbiBDU1AgYmxvY2tzIG1peGVkIGNvbnRlbnQsIHdlIHNob3VsZG4ndCBhbHNvIHdh
cm4gYWJvdXQgbWl4ZWQgY29udGVudAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzE1ODgKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
LQotICAgICAgICBHZXR0aW5nIGJvdGggd2FybmluZ3MgY29uZnVzZWQgc29tZSBlYXJseSBhZG9w
dGVycy4gIFRoZXkgdGhvdWdodCB0aGUKLSAgICAgICAgaW5zZWN1cmUgbG9hZHMgd2VyZSBoYXBw
ZW5pbmcgZXZlbiB0aG91Z2ggdGhleSBibG9ja2VkIHRoZW0gd2l0aCBDU1AuCi0gICAgICAgIFRo
aXMgcGF0Y2ggcmVzdHJpY3RzIHRoZSBtaXhlZCBjb250ZW50IHdhcm5pbmdzIHRvIHNob3cgb25s
eSB3aGVuIHRoZQotICAgICAgICBsb2FkIGlzbid0IGFscmVhZHkgYmxvY2tlZCBieSBDU1Agb3Ig
YnkgdGhlIGVtYmVkZGVyLgotCi0gICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2Jsb2NrLW1peGVkLWNvbnRlbnQtaGlkZXMtd2FybmluZy5odG1s
Ci0KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3QpOgotCi0yMDEx
LTExLTA0ICBNaWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29nbGUuY29vbT4KLQotICAgICAg
ICBBbGxvdyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRNZXNzYWdlIHRvIGJlIGNhbGxlZCBm
cm9tIGJhY2tncm91bmQgdGhyZWFkcy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxNTc1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4u
Ci0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphZGRNZXNzYWdlKToKLSAgICAgICAgKiBkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6Ci0gICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OkFk
ZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OkFkZENvbnNvbGVNZXNzYWdlVGFzazo6cGVyZm9ybVRhc2spOgotICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6QWRkQ29uc29sZU1lc3NhZ2VU
YXNrOjpBZGRDb25zb2xlTWVzc2FnZVRhc2spOgotICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToK
LQotMjAxMS0xMS0wNCAgU2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBbY2hyb21pdW1dIFJlLW5hbWVkIHRoZSBvcmlnaW5hbCBzY2lzc29yUmVjdCB0byBj
bGlwUmVjdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE1ODAKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBF
eGlzdGluZyB0ZXN0cyBhcmUgdXBkYXRlZCBhcHByb3ByaWF0ZWx5OyBhbmQgbm8gbmV3IGJlaGF2
aW9yIGlzCi0gICAgICAgIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaC4KLQotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJDaHJvbWl1bTo6TGF5ZXJDaHJvbWl1bSk6Ci0gICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgotICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2V0VXNlc0xheWVyQ2xpcHBpbmcpOgotICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6dXNlc0xheWVyQ2xpcHBpbmcpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJD
aHJvbWl1bTo6Y2xpcFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0
Q2xpcFJlY3QpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21p
dW06OmRyYXdMYXllcnNJbnRlcm5hbCk6Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdMYXllcik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdXJm
YWNlQ2hyb21pdW06OmNsaXBSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VD
aHJvbWl1bTo6c2V0Q2xpcFJlY3QpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJJbXBsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpD
Q0xheWVySW1wbCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllckltcGwuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRVc2VzTGF5ZXJD
bGlwcGluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6dXNlc0xheWVyQ2xpcHBp
bmcpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OmNsaXBSZWN0KToKLSAgICAgICAg
KFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRDbGlwUmVjdCk6Ci0gICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdDo6dXBkYXRlTGF5ZXJzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgotICAgICAgICAo
V2ViQ29yZTo6bGF5ZXJTaG91bGRCZVNraXBwZWQpOgotICAgICAgICAoV2ViQ29yZTo6Y2FsY3Vs
YXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwpOgotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5oOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Q29tbW9uOjpjYWxjdWxhdGVWaXNpYmxlTGF5ZXJS
ZWN0KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1
cmZhY2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpkcmF3KToKLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaDoK
LSAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QpOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpjbGlwUmVjdCk6Ci0KLTIwMTEtMTEtMDQgIERt
aXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KLQotICAgICAgICBBZGQgdGhlIGFiaWxp
dHkgdG8gdHJhbnNmZXIgQXJyYXlCdWZmZXIgYW5kICJuZXV0ZXIiIGl0LgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MzUKLQotICAgICAgICBSZXZp
ZXdlZCBieSBEYXZpZCBMZXZpbi4KLQotICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyOjpjcmVhdGUpOgotICAgICAgICAo
V2ViQ29yZTo6QXJyYXlCdWZmZXI6OkFycmF5QnVmZmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFy
cmF5QnVmZmVyOjpkYXRhKToKLSAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyOjpieXRlTGVu
Z3RoKToKLSAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyOjp0cmFuc2Zlcik6Ci0gICAgICAg
IChXZWJDb3JlOjpBcnJheUJ1ZmZlckNvbnRlbnRzOjp+QXJyYXlCdWZmZXJDb250ZW50cyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlckNvbnRlbnRzOjp0cnlBbGxvY2F0ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlcjo6YWRkVmlldyk6Ci0gICAgICAgIChXZWJDb3JlOjpB
cnJheUJ1ZmZlcjo6cmVtb3ZlVmlldyk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZm
ZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkFycmF5QnVmZmVyQ29udGVudHM6OkFycmF5QnVmZmVy
Q29udGVudHMpOgotICAgICAgICAoV2ViQ29yZTo6QXJyYXlCdWZmZXJDb250ZW50czo6ZGF0YSk6
Ci0gICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlckNvbnRlbnRzOjpzaXplSW5CeXRlcyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlckNvbnRlbnRzOjpyZWxlYXNlKToKLSAgICAgICAg
KFdlYkNvcmU6OkFycmF5QnVmZmVyOjp+QXJyYXlCdWZmZXIpOgotICAgICAgICAqIGh0bWwvY2Fu
dmFzL0FycmF5QnVmZmVyVmlldy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlclZp
ZXc6OkFycmF5QnVmZmVyVmlldyk6Ci0gICAgICAgIChXZWJDb3JlOjpBcnJheUJ1ZmZlclZpZXc6
On5BcnJheUJ1ZmZlclZpZXcpOgotICAgICAgICAoV2ViQ29yZTo6QXJyYXlCdWZmZXJWaWV3Ojpu
ZXV0ZXIpOgotICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5oOgotICAgICAg
ICAqIGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFWaWV3
OjpuZXV0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6RGF0YVZpZXc6Om5ldXRlckJpbmRpbmcpOgot
ICAgICAgICAqIGh0bWwvY2FudmFzL0RhdGFWaWV3Lmg6Ci0gICAgICAgICogaHRtbC9jYW52YXMv
VHlwZWRBcnJheUJhc2UuaDoKLSAgICAgICAgKFdlYkNvcmU6OlR5cGVkQXJyYXlCYXNlOjpuZXV0
ZXIpOgotICAgICAgICAoV2ViQ29yZTo6VHlwZWRBcnJheUJhc2U6Om5ldXRlckJpbmRpbmcpOgot
Ci0yMDExLTExLTA0ICBOb2VsIEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KLQotICAg
ICAgICBbQ2hyb21pdW1dIEltcGxlbWVudCBjYW52YXMudG9EYXRhVVJMKCJpbWFnZS93ZWJwIikK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTcyCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBBZGQgYSB3ZWJwIGlt
YWdlIGVuY29kZXIgZm9yIHRoZSBjaHJvbWl1bSBza2lhIHBvcnRzLCBhZGQgaXQgdG8gdGhlIGNh
bnZhcwotICAgICAgICBlbGVtZW50IHRvRGF0YVVSTCgpIGZsb3cgd2l0aCBzdXBwb3J0IGZvciBh
biBvcHRpb25hbCBxdWFsaXR5IFswLjAtMS4wXS4KLSAgICAgICAgVXNlIGEgd2VicCBjb21wcmVz
c2lvbiBtZXRob2QgKDMpIHRoYXQgcHJvdmlkZXMgZ29vZCBzcGVlZCBhbmQgY29tcHJlc3Npb24K
LSAgICAgICAgcGVyZm9ybWFuY2UgZm9yIHRoaXMgaW1hZ2UgZm9ybWF0LCBhbmQgd29ya3Mgd2Vs
bCBmb3IgdmFyaW91cyBpbnB1dCBpbWFnZQotICAgICAgICB0eXBlczogbGluZS1hcnQsIHNjcmVl
bi1zaG90cywgYW5kIHBob3RvZ3JhcGhpYyBpbWFnZXMuCi0KLSAgICAgICAgVGVzdDogZmFzdC9j
YW52YXMvY2FudmFzLXRvRGF0YVVSTC13ZWJwLmh0bWwKLQotICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKLSAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0u
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFn
ZU1JTUVUeXBlRm9yRW5jb2RpbmcpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEv
SW1hZ2VCdWZmZXJTa2lhLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlVG9EYXRhVVJMKToK
LSAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9za2lhL1dFQlBJbWFnZUVuY29kZXIu
Y3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OndyaXRlT3V0cHV0KToKLSAgICAgICAgKFdl
YkNvcmU6OmltcG9ydFBpY3R1cmUpOgotICAgICAgICAoV2ViQ29yZTo6aW1wb3J0UGljdHVyZUJH
UkEpOgotICAgICAgICAoV2ViQ29yZTo6aW1wb3J0UGljdHVyZVJHQkEpOgotICAgICAgICAoV2Vi
Q29yZTo6ZW5jb2RlUGl4ZWxzKToKLSAgICAgICAgKFdlYkNvcmU6OldFQlBJbWFnZUVuY29kZXI6
OmVuY29kZSk6Ci0gICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvc2tpYS9XRUJQSW1h
Z2VFbmNvZGVyLmg6IEFkZGVkLgotCi0yMDExLTExLTA0ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUB3ZWJraXQub3JnPgotCi0gICAgICAgIFtRdF0gUmVtb3ZlIEVOQUJMRV9TUUxJVEUgZnJv
bSBxbWFrZSBmaWxlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE1NDYKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAg
ICAgICBFTkFCTEVfU1FMSVRFIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIFdlYkNvcmUsIHNvIHJlbW92
ZSBjb25kaXRpb25zLgotCi0gICAgICAgICogVGFyZ2V0LnByaToKLQotMjAxMS0xMS0wNCAgTmF0
ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtWOF0gTnVsbCBvdXQg
VjhOUE9iamVjdDo6cm9vdE9iamVjdCB3aGVuIHRoZSBvd25pbmcKLSAgICAgICAgRnJhbWUgZ29l
cyBhd2F5LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE1NjkKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgIE5vIG5l
dyB0ZXN0cywgdGhpcyBoYXMgb25seSBiZWVuIHN1Y2Nlc3NmdWxseSB0cmlnZ2VyZWQKLSAgICAg
ICAgdXNpbmcgcHBhcGkgZmxhc2guCi0KLSAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhlbHBlcnMu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6dG9WOENvbnRleHQpOgotICAgICAgICAqIGJpbmRpbmdz
L3Y4L25wcnVudGltZS5jcHA6Ci0KLTIwMTEtMTEtMDQgIFZpbmVldCBDaGF1ZGhhcnkgIDx2aW5l
ZXQuY2hhdWRoYXJ5QG1vdG9yb2xhLmNvbT4KLQotICAgICAgICBTZW5kIHRoZSBzdWJtaXNzaW9u
cyBjaGFyYWN0ZXIgZW5jb2RpbmcgaW4gaGlkZGVuIF9jaGFyc2V0XyBmaWVsZC4KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDc5Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgU3BlYyByZWZlcmVuY2UgaHR0cDov
L2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2F0dHItZmUtbmFtZS1jaGFyc2V0
Ci0gICAgICAgIElmIF9jaGFyc2V0XyB1c2VkIGFzIHRoZSBuYW1lIG9mIGEgaGlkZGVuIGNvbnRy
b2wgaXQgc2hvdWxkIHNlbmQgY2hhcmFjdGVyIGVuY29kaW5nCi0gICAgICAgIGFzIHZhbHVlIHdo
aWxlIHN1Ym1pc3Npb25zLgotCi0gICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL21pc2MvY2hhci1l
bmNvZGluZy1pbi1oaWRkZW4tY2hhcnNldC1maWVsZC1kZWZhdWx0Lmh0bWwKLSAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWluLWhpZGRlbi1jaGFyc2V0LWZpZWxk
LXdpdGgtQmlnNS5odG1sCi0gICAgICAgICAgICAgICBodHRwL3Rlc3RzL21pc2MvY2hhci1lbmNv
ZGluZy1pbi1oaWRkZW4tY2hhcnNldC1maWVsZC13aXRoLUVVQy1KUC5odG1sCi0gICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1pbi1oaWRkZW4tY2hhcnNldC1maWVs
ZC13aXRoLUlTTy0yMDIyLUpQLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbWlzYy9j
aGFyLWVuY29kaW5nLWluLWhpZGRlbi1jaGFyc2V0LWZpZWxkLXdpdGgtU2hpZnRfSklTLmh0bWwK
LSAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWluLWhpZGRlbi1j
aGFyc2V0LWZpZWxkLXdpdGgtYWNjZXB0LWNoYXJzZXQuaHRtbAotICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9taXNjL2NoYXItZW5jb2RpbmctaW4taGlkZGVuLWNoYXJzZXQtZmllbGQtd2l0aC1n
ZXQtbWV0aG9kLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29k
aW5nLWluLWhpZGRlbi1jaGFyc2V0LWZpZWxkLXdpdGgtb25lLWZpZWxkLmh0bWwKLSAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWluLXRleHQtY2hhcnNldC1maWVs
ZC13aXRoLXZhbHVlLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVu
Y29kaW5nLXdpdGhvdXQtY2hhcnNldC1maWVsZC5odG1sCi0KLSAgICAgICAgKiBodG1sL0hpZGRl
bklucHV0VHlwZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIaWRkZW5JbnB1dFR5cGU6OmlzSGlk
ZGVuVHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIaWRkZW5JbnB1dFR5cGU6OmFwcGVuZEZvcm1E
YXRhKTogRm9yIF9jaGFyc2V0XyBzZW5kIHZhbHVlIGFzIHJlc3BlY3RpdmUgZW5jb2RpbmdUeXBl
LgotICAgICAgICAqIGh0bWwvSGlkZGVuSW5wdXRUeXBlLmg6IE92ZXJyaWRlIGFwcGVuZEZvcm1E
YXRhIGZvciBoaWRkZW4gY29udHJvbCB0eXBlcy4KLQotMjAxMS0xMS0wNCAgUm9iZXJ0IFNlc2Vr
ICA8cnNlc2VrQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIFVzZSBDaHJvbWl1
bSdzIGNvcHkgb2YgbGliV2ViS2l0U3lzdGVtSW50ZXJmYWNlTGVvcGFyZC5hCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTU2MwotCi0gICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgVXNlIGxpYldlYktpdFN5c3RlbUludGVy
ZmFjZUxlb3BhcmQuYSB0aGF0J3MgaW4gdGhlIENocm9taXVtIHBvcnQsCi0gICAgICAgIHJhdGhl
ciBpbiBXZWJLaXRMaWJyYXJpZXMvLgotCi0gICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6Ci0KLTIwMTEtMTEtMDQgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5v
cmc+Ci0KLSAgICAgICAgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZCBpbnZhbGlkYXRlcyB0aGUg
R3JhcGhpY3NMYXllciBuZWVkbGVzc2x5Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTUxNwotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KLQotICAgICAgICBVbnVzZWQgY29kZSByZW1vdmFsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVz
dHMuCi0KLSAgICAgICAgVGhlIGN1cnJlbnQgY29kZSBpcyBpbnZhbGlkYXRpbmcgdGhlIHdob2xl
IFJlbmRlckxheWVyQmFja2luZyBhcyBwYXJ0IG9mCi0gICAgICAgIGEgc3R5bGUgY2hhbmdlLiBI
b3dldmVyIHRoaXMgaXMgcmVkdW5kYW50IHdpdGggdGhlIHJlcGFpbnRpbmcgbG9naWMgd2hpY2gK
LSAgICAgICAgd291bGQgaW52YWxpZGF0ZSBvbmx5IHRoZSBuZWNlc3NhcnkgYml0cy4KLQotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c3R5bGVDaGFuZ2VkKToKLSAgICAgICAgUmVtb3ZlIHRoZSBpbnZhbGlkYXRpb24g
Y29kZSBhcyBpdCBkdXBsaWNhdGVzIGFuZCBkZWZlYXRzIHRoZSByZXBhaW50IGxvZ2ljLgotCi0y
MDExLTExLTA0ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgotCi0gICAgICAg
IENvcnJlY3QgcGFyc2luZyBvZiBpbmNvbXBsZXRlIEAtd2Via2l0LXJlZ2lvbiBydWxlcy4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTE0Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBUZXN0OiBmYXN0L3JlZ2lv
bnMvcGFyc2UtaW5jb21wbGV0ZS1yZWdpb24tcnVsZS5odG1sCi0KLSAgICAgICAgTWFrZSBzdXJl
IHRvIHNldCB0aGUgcmVnaW9uIHJ1bGUgdG8gMCBvbiB0aGUgZmFpbCBicmFuY2guCi0gICAgICAg
ICogY3NzL0NTU0dyYW1tYXIueToKLQotMjAxMS0xMS0wNCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBSZWR1Y2UgcmVmY291bnQgY2h1cm4gaW4gQ2hpbGRMaXN0
TXV0YXRpb25TY29wZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE1MjcKLQotICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCi0KLSAgICAg
ICAgT25seSB0aGUgQ2hpbGRMaXN0TXV0YXRpb25BY2N1bXVsYXRvciBuZWVkcyB0byBob2xkIGEg
cmVmZXJlbmNlIHRvIHRoZQotICAgICAgICB0YXJnZXQgbm9kZSwgYW5kIHRoZSBhZGRlZC9yZW1v
dmVkIGNoaWxkcmVuIG9ubHkgbmVlZCBiZSByZWYnZCBpZiBhCi0gICAgICAgIENoaWxkTGlzdE11
dGF0aW9uQWNjdW11bGF0b3IgZXhpc3RzIChpLmUuLCBpZiB0aGVyZSBhcmUgaW50ZXJlc3RlZAot
ICAgICAgICBvYnNlcnZlcnMpLgotCi0gICAgICAgICogZG9tL0NoaWxkTGlzdE11dGF0aW9uU2Nv
cGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6OkNo
aWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6OmVucXVldWVNdXRhdGlvblJlY29yZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6TXV0YXRpb25BY2N1bXVs
YXRpb25Sb3V0ZXI6OmNoaWxkQWRkZWQpOgotICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25BY2N1
bXVsYXRpb25Sb3V0ZXI6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjp3aWxsUmVtb3ZlQ2hp
bGQpOgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6Q2hpbGRMaXN0
TXV0YXRpb25TY29wZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3Bl
Ojp+Q2hpbGRMaXN0TXV0YXRpb25TY29wZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RN
dXRhdGlvblNjb3BlOjpjaGlsZEFkZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11
dGF0aW9uU2NvcGU6OndpbGxSZW1vdmVDaGlsZCk6Ci0gICAgICAgICogZG9tL0NoaWxkTGlzdE11
dGF0aW9uU2NvcGUuaDoKLSAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpkaXNwYXRjaENoaWxkSW5zZXJ0aW9uRXZlbnRzKToKLSAgICAgICAgKFdlYkNv
cmU6OmRpc3BhdGNoQ2hpbGRSZW1vdmFsRXZlbnRzKToKLQotMjAxMS0xMS0wNCAgTGV2aSBXZWlu
dHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ29ycmVjdCB1c2FnZSBvZiBM
YXlvdXRVbml0cyBpbiBSZW5kZXJJbWFnZSBhbmQgU1ZHSW1hZ2UKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTI1Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgQ29ycmVjdGluZyBpbmNvcnJlY3QgdXNhZ2Ugb2Yg
TGF5b3V0VW5pdHMgZm9yIGltYWdlIHNpemVzIHRoYXQgc2hvdWxkIGJlIGludGVnZXJzIGFuZCBm
aXhpbmcgb3ZlcmxvYWRlZCBmdW5jdGlvbnMgdGhhdAotICAgICAgICBzaG91bGQgYmUgdXNpbmcg
TGF5b3V0VW5pdHMuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzIC0tIG5vIGNoYW5nZSBpbiBiZWhh
dmlvci4KLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbWFnZTo6aW1hZ2VEaW1lbnNpb25zQ2hhbmdlZCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRJbnRvUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6bm9kZUF0UG9pbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6
OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmg6Ci0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlNWR0ltYWdlQ2hyb21lQ2xpZW50OjppbnZhbGlkYXRlQ29udGVudHNBbmRXaW5k
b3cpOgotCi0yMDExLTExLTA0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgSW1wbGVtZW50IGFsbG93LXBvcHVwcyBmb3IgaWZyYW1lQHNhbmRib3gKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA1Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgRW5hYmxlIGFsbG93LXBvcHVwcyBz
YW5kYm94IGJpdC4gIE15IHByZXZpb3VzIHBhdGNoIGF0dGVtcHRlZCB0bwotICAgICAgICBmb3J3
YXJkIHRoZSBzYW5kYm94IGJpdHMgZHVyaW5nIHNldE9wZW5lciwgYnV0IHRoYXQgaW50ZXJhY3Rl
ZCBwb29ybHkKLSAgICAgICAgd2l0aCBvdXQgKGludGVybmFsKSBzYW5kYm94aW5nIG9mIHRoZSBp
bml0aWFsIGRvY3VtZW50LiAgVGhpcyBwYXRjaAotICAgICAgICBmb3J3YXJkcyB0aGUgYml0cyBk
dXJpbmcgY3JlYXRlV2luZG93LCB3aGljaCBpcyBtb3JlIHRhcmdldGVkIHRvIHRoZQotICAgICAg
ICBjYXNlIHdoZW4gYSBzYW5kYm94IGZyYW1lIGFjdHVhbGx5IGNyZWF0ZXMgYSBuZXcgd2luZG93
LgotCi0gICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVdpbmRvdyk6Ci0gICAgICAgICogbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOZXdXaW5kb3dQb2xpY3kpOgotCi0y
MDExLTExLTA0ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgot
Ci0gICAgICAgIFJlbW92ZSBpbml0TWVkaWFTdHJlYW1FdmVudCBtZXRob2QKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzQ0Ci0KLSAgICAgICAgVGhp
cyBtZXRob2QgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzcGVjIGRyYWZ0LgotICAgICAgICBo
dHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFn
ZS92aWRlby1jb25mZXJlbmNpbmctYW5kLXBlZXItdG8tcGVlci1jb21tdW5pY2F0aW9uLmh0bWwj
bWVkaWFzdHJlYW1ldmVudAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAg
ICAgICAgTm8gbmV3IHRlc3RzLiBSZW1vdmVkIG1ldGhvZC4KLQotICAgICAgICAqIG1lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtRXZlbnQuY3BwOgotICAgICAgICAqIG1lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtRXZlbnQuaDoKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmlkbDoK
LQotMjAxMS0xMS0wNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAg
IEFub255bW91cyBDT1JTIGZldGNoIGZvciBXZWJHTCB0ZXh0dXJlIGZhaWxzIHdoZW4gdGhlcmUg
aXMgbm8gYXBwcm9wcmlhdGUgc2VydmVyIHJlc3BvbnNlIGV2ZW4gZm9yIHRoZSBzYW1lIG9yaWdp
biByZXF1ZXN0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEwNTMKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBU
aGUgY3Jvc3NvcmlnaW4gYXR0cmlidXRlIHNob3VsZCBiZWhhdmUgbGlrZSBYTUxIdHRwUmVxdWVz
dDoKLSAgICAgICAgc2FtZS1vcmlnaW4gaW1hZ2VzIHBhc3Mgd2l0aG91dCBhbmQgQ09SUyBoZWFk
ZXJzLCBidXQgQ09SUyBjaGVja3MgYXJlCi0gICAgICAgIHBlcmZvcm1lZCBmb3IgY3Jvc3Mtb3Jp
Z2luIGxvYWRzLiAgVGhpcyBwYXRjaCBiZXR0ZXIgYWxpZ25zIG91cgotICAgICAgICBiZWhhdmlv
ciB3aXRoIEZpcmVmb3gsIGFzIGRpc2N1c3NlZCBpbiB0aGUgYnVnLgotCi0gICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvaW1nLWNyb3Nzb3JpZ2luLWxvYWRzLXNhbWUtb3JpZ2luLmh0
bWwKLQotICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpJbWFnZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgotCi0yMDExLTExLTA0ICBHYXVyYXYgU2hh
aCAgPGdhdXJhdnNoQGNocm9taXVtLm9yZz4KLQotICAgICAgICBIVE1MS2V5Z2VuRWxlbWVudDog
Rml4ICJrZXl0eXBlIiBoYW5kbGluZyBpbiBhcHBlbmRGb3JtRGF0YS4KLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjE3Ci0KLSAgICAgICAgVGhpcyBm
aXhlcyBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
Lzk3NjU4Ci0gICAgICAgIHdoaWNoIGNhdXNlcyBhbGwgSFRNTCBLZXlnZW4gZWxlbWVudHMgd2l0
aCBhIGtleXR5cGUgb3B0aW9uYWwgYXR0cmlidXRlCi0gICAgICAgIHRvIGJlIGNvbnNpZGVyZWQg
YXMgdW5zdXBwb3J0ZWQuCi0KLSAgICAgICAgQSByZWdyZXNzaW9uIHRlc3QgaXMgaW5jbHVkZWQu
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgVGVzdDogaHR0
cC90ZXN0cy9taXNjL3N1Ym1pdC1wb3N0LWtleWdlbi5odG1sCi0KLSAgICAgICAgKiBodG1sL0hU
TUxLZXlnZW5FbGVtZW50LmNwcDoKLQotMjAxMS0xMS0wMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5u
ZUBnb29nbGUuY29tPgotCi0gICAgICAgIFtjaHJvbWl1bV0gSW1wbGVtZW50IGNoZWNrZXJib2Fy
ZGluZyBmb3IgbWlzc2luZyBsYXllciB0aWxlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODUKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KLQotICAgICAgICBGb3IgdGlsZXMgdGhhdCBoYXZlIG5vIHRleHR1cmUgb3IgaGF2
ZW4ndCBldmVuIGJlZW4gY3JlYXRlZCB5ZXQsCi0gICAgICAgIGRyYXcgdXNpbmcgdGhlIGJhY2tn
cm91bmQgY29sb3Igb2YgdGhlIGxheWVyLgotCi0gICAgICAgIFRoZSBvbmx5IGJhY2tncm91bmQg
Y29sb3Igc2V0IGlzIGN1cnJlbnRseSB0aGUgbm9uLWNvbXBvc2l0ZWQgY29udGVudCwKLSAgICAg
ICAgYW5kIGFsbCBvdGhlciBsYXllcnMgdXNlIHRyYW5zcGFyZW50IGJsYWNrIGJ5IGRlZmF1bHQu
Ci0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8pOgot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL05vbkNvbXBvc2l0ZWRDb250ZW50
SG9zdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpOb25Db21wb3NpdGVkQ29udGVudEhvc3Q6OnNl
dEJhY2tncm91bmRDb2xvcik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Tm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllcklt
cGw6OnNldEJhY2tncm91bmRDb2xvcik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllckltcGwuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpi
YWNrZ3JvdW5kQ29sb3IpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDVGlsZWRMYXllckltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaWxlZExheWVySW1w
bDo6ZHJhd1RpbGVzKToKLQotMjAxMS0xMS0wNCAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgbW9zdCBleGl0IHRpbWUgZGVzdHJ1
Y3RvcnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
NTI0Ci0KLSAgICAgICAgRG8gdGhpcyBieSB1c2luZyB0aGUgREVGSU5FX1NUQVRJQ19MT0NBTCBt
YWNybywgd2hpY2ggYWxsb2NhdGVzIHRoaW5ncyBvbiB0aGUgaGVhcHMgYW5kIHRoZW4gbGVha3Mg
dGhlbS4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAg
Tm8gYmVoYXZpb3IgY2hhbmdlLCBzbyBubyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpwb2ludGVy
Q3Vyc29yKToKLSAgICAgICAgKFdlYkNvcmU6OmNyb3NzQ3Vyc29yKToKLSAgICAgICAgKFdlYkNv
cmU6OmhhbmRDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6aUJlYW1DdXJzb3IpOgotICAgICAg
ICAoV2ViQ29yZTo6d2FpdEN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjpoZWxwQ3Vyc29yKToK
LSAgICAgICAgKFdlYkNvcmU6OmVhc3RSZXNpemVDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6
bm9ydGhSZXNpemVDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6bm9ydGhFYXN0UmVzaXplQ3Vy
c29yKToKLSAgICAgICAgKFdlYkNvcmU6Om5vcnRoV2VzdFJlc2l6ZUN1cnNvcik6Ci0gICAgICAg
IChXZWJDb3JlOjpzb3V0aFJlc2l6ZUN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjpzb3V0aEVh
c3RSZXNpemVDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6c291dGhXZXN0UmVzaXplQ3Vyc29y
KToKLSAgICAgICAgKFdlYkNvcmU6Ondlc3RSZXNpemVDdXJzb3IpOgotICAgICAgICAoV2ViQ29y
ZTo6bm9ydGhTb3V0aFJlc2l6ZUN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjplYXN0V2VzdFJl
c2l6ZUN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjpub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVD
dXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6bm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29y
KToKLSAgICAgICAgKFdlYkNvcmU6OmNvbHVtblJlc2l6ZUN1cnNvcik6Ci0gICAgICAgIChXZWJD
b3JlOjpyb3dSZXNpemVDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6bWlkZGxlUGFubmluZ0N1
cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjplYXN0UGFubmluZ0N1cnNvcik6Ci0gICAgICAgIChX
ZWJDb3JlOjpub3J0aFBhbm5pbmdDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6bm9ydGhFYXN0
UGFubmluZ0N1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjpub3J0aFdlc3RQYW5uaW5nQ3Vyc29y
KToKLSAgICAgICAgKFdlYkNvcmU6OnNvdXRoUGFubmluZ0N1cnNvcik6Ci0gICAgICAgIChXZWJD
b3JlOjpzb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKToKLSAgICAgICAgKFdlYkNvcmU6OnNvdXRoV2Vz
dFBhbm5pbmdDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6d2VzdFBhbm5pbmdDdXJzb3IpOgot
ICAgICAgICAoV2ViQ29yZTo6bW92ZUN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjp2ZXJ0aWNh
bFRleHRDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6Y2VsbEN1cnNvcik6Ci0gICAgICAgIChX
ZWJDb3JlOjpjb250ZXh0TWVudUN1cnNvcik6Ci0gICAgICAgIChXZWJDb3JlOjphbGlhc0N1cnNv
cik6Ci0gICAgICAgIChXZWJDb3JlOjpwcm9ncmVzc0N1cnNvcik6Ci0gICAgICAgIChXZWJDb3Jl
Ojpub0Ryb3BDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6Y29weUN1cnNvcik6Ci0gICAgICAg
IChXZWJDb3JlOjpub25lQ3Vyc29yKToKLSAgICAgICAgKFdlYkNvcmU6Om5vdEFsbG93ZWRDdXJz
b3IpOgotICAgICAgICAoV2ViQ29yZTo6em9vbUluQ3Vyc29yKToKLSAgICAgICAgKFdlYkNvcmU6
Onpvb21PdXRDdXJzb3IpOgotICAgICAgICAoV2ViQ29yZTo6Z3JhYkN1cnNvcik6Ci0gICAgICAg
IChXZWJDb3JlOjpncmFiYmluZ0N1cnNvcik6Ci0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
TGFuZ3VhZ2VDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybURlZmF1bHRM
YW5ndWFnZSk6Ci0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNo
cm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmR1bW15SGFzaFNldCk6Ci0KLTIwMTEtMTEt
MDMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KLQotICAgICAgICBBZGQg
TmV0c2NhcGVQbHVnaW46OmNvbnZlcnRGcm9tUm9vdFZpZXcKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
U2FtIFdlaW5pZy4KLQotICAgICAgICBFeHBvcnQgc29tZSBzeW1ib2xzIHRoYXQgV2ViS2l0MiBu
ZWVkcy4KLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgotCi0yMDExLTExLTAzICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBGaXggaW5j
b3JyZWN0IHZpc2liaWxpdHkvc2Npc3NvciByZWN0IGZvciB0aHJlYWRlZCBjb21wb3NpdGluZwot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NjIKLQot
ICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBJbiBvcmRlciB0
byBwcm9wZXJseSBzY3JvbGwgaW5kZXBlbmRlbnQgb2YgbGF5b3V0IG9uIHRoZSBjb21wb3NpdG9y
Ci0gICAgICAgIHRocmVhZCwgd2UgaGF2ZSB0byBhcHBseSB0aGUgc2Nyb2xsIHRvIHRoZSByaWdo
dCBsYXllci4gUHJldmlvdXNseSwKLSAgICAgICAgdGhlIE5vbkNvbXBvc2l0ZWRDb250ZW50SG9z
dCB3YXMgdGhlIHJvb3Qgb2YgdGhlIGdyYXBoaWNzIGxheWVyIHRyZWUKLSAgICAgICAgd2l0aCBh
bGwgb3RoZXIgbGF5ZXJzIHVuZGVybmVhdGggaXQuIEhvd2V2ZXIsIGFwcGx5aW5nIGEgc2Nyb2xs
IHRvCi0gICAgICAgIHRoYXQgbGF5ZXIgd291bGQgYWxzbyBzY3JvbGwgdGhlIGNsaXAgbGF5ZXIg
Zm9yIHRoZSBtYWluIGZyYW1lCi0gICAgICAgIHVuZGVybmVhdGggaXQsIGNhdXNpbmcgdmlzaWJp
bGl0eSBpc3N1ZXMuCi0KLSAgICAgICAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgTm9uQ29tcG9zaXRl
ZEhvc3QgdG8gYmUgYSBjaGlsZCBvZiB0aGUKLSAgICAgICAgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
J3Mgc2Nyb2xsIGxheWVyLiBUaGlzIHdhcyBleHBvc2VkIG9uCi0gICAgICAgIFJlbmRlckxheWVy
Q29tcG9zaXRvciwgYmVjYXVzZSB0aGVyZSdzIG5vIG90aGVyIHdheSB0byBnZXQgdG8gdGhpcwot
ICAgICAgICBsYXllciBpbiBhIHdheSB0aGF0IGRvZXNuJ3QgbWFrZSBhc3N1bXB0aW9ucyBhYm91
dCB0aGUgc3RydWN0dXJlIG9mCi0gICAgICAgIHRoZSBsYXllcnMgb24gYSBmcmFtZS4KLQotICAg
ICAgICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgaGFja3MgaW4gY2FsY3VsYXRlVmlzaWJsZUxheWVy
UmVjdCBhbmQKLSAgICAgICAgdGlsaW5nVHJhbnNmb3JtIGZvciBzY3JvbGwgcG9zaXRpb24uCi0K
LSAgICAgICAgUGFydGlhbGx5IHRlc3RlZCBieSBleGlzdGluZyBjb21wb3NpdG9yIHRlc3RzLiBN
YW51YWxseSB0ZXN0ZWQKLSAgICAgICAgdGhyZWFkZWQgY29tcG9zaXRpbmcgc2Nyb2xsaW5nLgot
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTm9uQ29tcG9zaXRlZENvbnRl
bnRIb3N0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDo6
c2V0U2Nyb2xsTGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9uQ29tcG9zaXRlZENvbnRlbnRI
b3N0OjpzZXRWaWV3cG9ydCk6Ci0gICAgICAgIChXZWJDb3JlOjpOb25Db21wb3NpdGVkQ29udGVu
dEhvc3Q6OnNjcm9sbExheWVyKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Ob25Db21wb3NpdGVkQ29udGVudEhvc3QuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllclRyZWVIb3N0OjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpDQ0xheWVyVHJlZUhvc3QpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojph
cHBseVNjcm9sbERlbHRhcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6
OnNldFJvb3RMYXllcik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0Q29tbW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhv
c3RDb21tb246OmNhbGN1bGF0ZVZpc2libGVMYXllclJlY3QpOgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6ZmluZFNjcm9sbExheWVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVl
SG9zdEltcGw6OnNldFJvb3RMYXllcik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhv
c3RJbXBsOjpzY3JvbGxSb290TGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVI
b3N0SW1wbDo6cHJvY2Vzc1Njcm9sbERlbHRhcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oOgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllckltcGwuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6Q0NUaWxlZExheWVySW1wbDo6dGlsaW5nVHJhbnNmb3JtKToKLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsTGF5ZXIpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuaDoKLQotMjAxMS0xMS0wNCAgVG9yIEFybmUgVmVzdGLDuCAgPHRv
ci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+Ci0KLSAgICAgICAgW1F0XSBSZWZhY3RvciBhbmQgY2xl
YW4gdXAgdGhlIHFtYWtlIGJ1aWxkIHN5c3RlbQotCi0gICAgICAgIFRoZSBxbWFrZSBidWlsZCBz
eXN0ZW0gaGFzIGFjY3VtdWxhdGVkIGEgYml0IG9mIGNydWZ0IGFuZCByZWR1bmRhbmN5Ci0gICAg
ICAgIG92ZXIgdGltZS4gVGhlcmUncyBhbHNvIGEgZmFpcmx5IHRpZ2h0IGNvdXBsaW5nIGJldHdl
ZW4gaG93IHRvIGJ1aWxkCi0gICAgICAgIHRoZSB2YXJpb3VzIHRhcmdldHMsIGFuZCBfd2hhdF8g
dG8gYnVpbGQsIG1ha2luZyBpdCBoYXJkZXIgdG8gYWRkIG5ldwotICAgICAgICBydWxlcyBvciBz
b3VyY2VzLiBUaGlzIHBhdGNoIGFpbXMgdG8gZWxldmF0ZSB0aGVzZSBpc3N1ZXMgc29tZXdoYXQu
Ci0KLSAgICAgICAgVGhpcyBpcyBhIHNob3J0LWxpc3Qgb2YgdGhlIGNoYW5nZXM6Ci0KLSAgICAg
ICAgICAqIFRoZSBydWxlcyBmb3IgaG93IHRvIGJ1aWxkIHRhcmdldHMgYXJlIG5vdyBtb3N0bHkg
Y29udGFpbmVkIGFzCi0gICAgICAgICAgICBwcmYtZmlsZXMgaW4gVG9vbHMvcW1ha2UvbWtzcGVj
cy9mZWF0dXJlcy4gVXNpbmcgbWtzcGVjcyBhbHNvCi0gICAgICAgICAgICBhbGxvd3MgdXMgdG8g
ZG8gcHJlLSBhbmQgcG9zdC1wcm9jZXNzaW5nIG9mIGVhY2ggcHJvamVjdCBmaWxlLAotICAgICAg
ICAgICAgd2hpY2ggaGVscHMgdG8gY2xlYW4gdXAgdGhlIGFjdHVhbCBwcm9qZWN0IGZpbGVzLgot
Ci0gICAgICAgICAgKiBEZXJpdmVkIHNvdXJjZXMgYXJlIG5vIGxvbmdlciBnZW5lcmF0ZWQgYXMg
YSBzZXBhcmF0ZSBtYWtlLXN0ZXAKLSAgICAgICAgICAgIGJ1dCBpcyBwYXJ0IG9mIGVhY2ggdGFy
Z2V0J3MgcHJvamVjdCBmaWxlIGFzIGEgc3ViZGlyLiBNYWtlZmlsZQotICAgICAgICAgICAgcnVs
ZXMgYXJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgd2UgcnVuIG1ha2Ugb24gdGhlIGRlcml2ZWQgc291
cmNlcwotICAgICAgICAgICAgYmVmb3JlIHJ1bm5pbmcgcW1ha2Ugb24gdGhlIGFjdHVhbCB0YXJn
ZXQgbWFrZWZpbGUuIFRoaXMgbWFrZXMKLSAgICAgICAgICAgIGl0IGVhc2llciB0byBrZWVwIGEg
cHJvcGVyIGRlcGVuZGVuY3kgYmV0d2VlbiBkZXJpdmVkIHNvdXJjZXMKLSAgICAgICAgICAgIGFu
ZCB0aGUgdGFyZ2V0LgotCi0gICAgICAgICAgKiBXZSB1c2UgR05VIG1ha2UgYW5kIHRoZSBjb21w
aWxlciB0byBnZW5lcmF0ZSBkZXBlbmRlbmNpZXMgb24KLSAgICAgICAgICAgIFVOSVgtYmFzZWQg
c3lzdGVtcyBydW5uaW5nIFF0IDUuIFRoaXMgYWxsb3dzIHVzIHRvIGxlc3NlbiB0aGUKLSAgICAg
ICAgICAgIG5lZWQgdG8gcnVuIHFtYWtlLCB3aGljaCBzaG91bGQgcmVkdWNlIGNvbXBpbGUgdGlt
ZS4KLQotICAgICAgICAgICogV2ViS2l0MiBpcyBub3cgYnVpbGQgYnkgZGVmYXVsdCBpZiBidWls
ZGluZyB3aXRoIFF0IDUuIEl0IGNhbgotICAgICAgICAgICAgYmUgZGlzYWJsZWQgYnkgcGFzc2lu
ZyAtLW5vLXdlYmtpdDIgdG8gYnVpbGQtd2Via2l0LgotCi0gICAgICAgIFRoZSByZXN1bHQgb2Yg
dGhlc2UgY2hhbmdlcyBhcmUgaG9wZWZ1bGx5IGEgY2xlYW5lciBhbmQgZWFzaWVyCi0gICAgICAg
IGJ1aWxkIHN5c3RlbSB0byBtb2RpZnksIGFuZCBmYXN0ZXIgYnVpbGQgdGltZXMgZHVlIHRvIG5v
IGxvbmdlcgotICAgICAgICBydW5uaW5nIHFtYWtlIG9uIGV2ZXJ5IHNpbmdsZSBidWlsZC4gSXQn
cyBhbHNvIGEgZmlyc3Qgc3RlcAotICAgICAgICB0b3dhcmRzIHBvc3NpYmx5IGdlbmVyYXRpbmcg
dGhlIGxpc3Qgb2Ygc291cmNlcyB1c2luZyBhbm90aGVyCi0gICAgICAgIGJ1aWxkIHN5c3RlbS4K
LQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjIK
LQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLnByaTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3Jz
LnByaS4KLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcm86IFJlbW92ZWQuCi0gICAgICAgICog
VGFyZ2V0LnByaTogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8uCi0gICAg
ICAgICogV2ViQ29yZS5wcm86Ci0KLTIwMTEtMTEtMDQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9t
bXl3QGdvb2dsZS5jb20+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBNZWRpYVN0cmVhbSBBUEk6IEZp
eGluZyB3cm9uZyBwYXRoIGZvciBQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCBpbiBXZWJDb3JlLmd5
cAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1NDgK
LQotICAgICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRpbGNvcmUuCi0KLSAgICAgICAgKiBXZWJD
b3JlLmd5cGk6Ci0KLTIwMTEtMTEtMDQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCBDTWFrZSBidWlsZCBmaXggZm9yICFFTkFCTEUo
U1FMX0RBVEFCQVNFKS4KLQotICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBbHdheXMgY29tcGls
ZSB0aGUgU1FMaXRlIHNvdXJjZSBmaWxlcywgc2luY2UgdGhleSBhcmUgcmVxdWlyZWQgZm9yIGJ1
aWxkLgotCi0yMDExLTExLTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgotCi0g
ICAgICAgIFJFR1JFU1NJT04gKHI5OTA3Nik6IFBhc3RpbmcgaW50byBwYXNzd29yZCBmaWVsZHMg
aXMgYnJva2VuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTQ4MwotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFRo
ZSBidWcgd2FzIGNhdXNlZCBieSBwbGFpblRleHQgc2VyaWFsaXppbmcgc2VjdXJlZCAoaW5zdGVh
ZCBvZiBvcmlnaW5hbCkgdGV4dC4KLSAgICAgICAgRml4ZWQgdGhlIGJ1ZyBieSBhZGRpbmcgbmV3
IFRleHRJdGVyYXRvciBiZWhhdmlvciB0aGF0IHNlcmlhbGl6ZXMgdGhlIG9yaWdpbmFsIHRleHQK
LSAgICAgICAgYW5kIHVzaW5nIGl0IGluIFJlcGxhY2VtZW50RnJhZ21lbnQ6OlJlcGxhY2VtZW50
RnJhZ21lbnQuCi0KLSAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VtZW50RnJhZ21lbnQ6OlJlcGxhY2VtZW50RnJh
Z21lbnQpOgotICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlRleHRJdGVyYXRvcjo6VGV4dEl0ZXJhdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OlRl
eHRJdGVyYXRvcjo6ZW1pdFRleHQpOgotICAgICAgICAqIGVkaXRpbmcvVGV4dEl0ZXJhdG9yLmg6
Ci0KLTIwMTEtMTEtMDMgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+Ci0K
LSAgICAgICAgQWRkIFRyYWNrRXZlbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxMTc4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
LQotICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29u
c3RydWN0b3IuaHRtbAotCi0gICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBuZXcgZmlsZXMg
Zm9yIFRyYWNrRXZlbnQuCi0gICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOiBEaXR0by4KLSAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgotICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IERpdHRvLgotICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KLSAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6
IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvZ29i
amVjdC9HTlVtYWtlZmlsZS5hbTogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGl0dG8uCi0gICAgICAgICogYmlu
ZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDogRGl0dG8uCi0KLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5
Ojpjb252ZXJ0VmFsdWUpOiBBZGQgbWV0aG9kIHRvIGNvbnZlcnQgdG8gYSBUcmFjay4KLSAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuaDoKLQotICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwOiAgQWRkIG5ldyBmaWxlcyBmb3IgVHJhY2tFdmVudC4K
LQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uY3BwOiBBZGRlZC4gCi0gICAg
ICAgIChXZWJDb3JlOjp0b1RyYWNrKTogTmV3LCBjb252ZXJ0IGZyb20gYSBKU1ZhbHVlIHRvIGEg
VHJhY2suCi0gICAgICAgIChXZWJDb3JlOjp0b0pTKTogTmV3LCByZXR1cm4gYSBKUyB3cmFwcGVy
IGZvciBhIFRyYWNrLgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTVHJhY2tDdXN0b20uaDogQWRk
ZWQuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrRXZlbnRDdXN0b20uY3BwOiBBZGRl
ZC4KLSAgICAgICAgKFdlYkNvcmU6OkpTVHJhY2tFdmVudDo6dHJhY2spOiBOZXcsIHJldHVybnMg
YSBUZXh0RXZlbnQncyAndHJhY2snIGF0dHJpYnV0ZS4KLQotICAgICAgICAqIGJpbmRpbmdzL3Y4
L09wdGlvbnNPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6Z2V0
KTogUmV0dXJucyBSZWZQdHI8VHJhY2tCYXNlPi4KLQotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcDogQWRkIFRyYWNrIGluaXRpYWxpemluZyBjb25z
dHJ1Y3Rvci4KLQotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0
b20uY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlY4VHJhY2tFdmVudDo6dHJhY2tBY2Nl
c3NvckdldHRlcik6IE5ldywgcmV0dXJucyBhIFRleHRFdmVudCdzICd0cmFjaycgYXR0cmlidXRl
LgotCi0gICAgICAgICogZG9tL0V2ZW50RmFjdG9yeS5pbjogQWRkIFRyYWNrRXZlbnQuCi0KLSAg
ICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgJ2FkZHRyYWNrJyBldmVudC4KLQotICAgICAg
ICAqIGh0bWwvVGV4dFRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6VGV4
dFRyYWNrKTogQ2FsbCBuZXcgYmFzZSBjbGFzcyBjb25zdHJ1Y3Rvci4KLSAgICAgICAgKiBodG1s
L1RleHRUcmFjay5oOiBOb3cgZGVyaXZlIGZyb20gQmFzZVRyYWNrIGZvciB0aGUgZGF5IHdlIGlt
cGxlbWVudCBWaWRlb1RyYWNrIGFuZCBBdWRpb1RyYWNrLgotCi0gICAgICAgICogaHRtbC90cmFj
ay9UcmFja0Jhc2UuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlRyYWNrQmFzZTo6VHJh
Y2tCYXNlKToKLSAgICAgICAgKFdlYkNvcmU6OlRyYWNrQmFzZTo6flRyYWNrQmFzZSk6Ci0gICAg
ICAgICogaHRtbC90cmFjay9UcmFja0Jhc2UuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpU
cmFja0Jhc2U6OnR5cGUpOiBSZXR1cm4gdGhlIHRyYWNrIHR5cGUuCi0KLSAgICAgICAgKiBodG1s
L3RyYWNrL1RyYWNrRXZlbnQuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZl
bnRJbml0OjpUcmFja0V2ZW50SW5pdCk6Ci0gICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50OjpU
cmFja0V2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6On5UcmFja0V2ZW50KToK
LSAgICAgICAgKFdlYkNvcmU6OlRyYWNrRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAq
IGh0bWwvdHJhY2svVHJhY2tFdmVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlRyYWNr
RXZlbnQ6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpUcmFja0V2ZW50Ojppc1RyYWNrRXZl
bnQpOgotICAgICAgICAoV2ViQ29yZTo6VHJhY2tFdmVudDo6dHJhY2spOgotICAgICAgICAqIGh0
bWwvdHJhY2svVHJhY2tFdmVudC5pZGw6IEFkZGVkLgotCi0gICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOiBBZGQgVHJhY2tFdmVudC4KLQotMjAxMS0xMS0wMyAgQmVuIFdlbGxzICA8YmVud2Vs
bHNAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIE9wdGltaXplIGNhbnZhcyBmaWxscyAvIGRyYXdJ
bWFnZSB3aGVuIGNvdmVyaW5nIGVudGlyZSBjYW52YXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzg5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU3Rl
cGhlbiBXaGl0ZS4KLQotICAgICAgICBJZiB3ZSdyZSBmaWxsaW5nIGEgcmVjdCBvciBkcmF3aW5n
IGFuIGltYWdlLCBhbmQgaXQgY292ZXJzIHRoZSBlbnRpcmUgY2FudmFzLCB3ZSBkb24ndAotICAg
ICAgICBuZWVkIHRvIHdvcnJ5IGFib3V0IGNsZWFyaW5nIG91dHNpZGUgdGhlIGFyZWEgdXBkYXRl
ZCBieSB0aGUgb3BlcmF0aW9uIGlmIHdlJ3JlIGluCi0gICAgICAgIGEgY29tcG9zaXRlIG1vZGUg
dGhhdCByZXF1aXJlcyB0aGlzIChzdWNoIGFzIHNvdXJjZS1pbiwgY29weSwgZXRjLikuIEluIHRo
aXMgY2FzZSB3ZQotICAgICAgICBjYW4gdGFrZSB0aGUgc2ltcGxlIHBhdGggdGhyb3VnaCB0aGUg
Y29kZSBhbmQgc2F2ZSBhIGNsZWFyIChmb3IgY29weSkgb3IgYSB0ZW1wb3JhcnkKLSAgICAgICAg
aW1hZ2UgYnVmZmVyIChmb3IgdGhlIG90aGVyIG1vZGVzKS4KLQotICAgICAgICBObyBuZXcgdGVz
dHMgLSBvcHRpbWl6YXRpb24sIGJlaGF2aW91ciBpcyB1bmNoYW5nZWQgYW5kIGNvdmVyZWQgYnkg
ZXhpc3RpbmcgdGVzdHMuCi0KLSAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OmRyYXdJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OnJlY3RDb250YWluc0NhbnZhcyk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmg6Ci0KLTIwMTEtMTEtMDMgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eU5hbWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTMwNgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIE5v
IG5ldyB0ZXN0cy4KLQotICAgICAgICBBZGRlZCBnZXRQcm9wZXJ0eU5hbWVzIHRvIHRoZSBNZXRo
b2RUYWJsZSwgY2hhbmdlZCBhbGwgdGhlIHZpcnR1YWwgCi0gICAgICAgIGltcGxlbWVudGF0aW9u
cyBvZiBnZXRQcm9wZXJ0eU5hbWVzIHRvIHN0YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCi0gICAg
ICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRo
b2RUYWJsZS4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRQcm9wZXJ0eU5hbWVzKToKLSAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93U2hlbGw6OmdldFByb3BlcnR5TmFtZXMpOgotICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NV2luZG93U2hlbGwuaDoKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKLSAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKLSAgICAgICAgKiBicmlk
Z2UvTlBfanNvYmplY3QuY3BwOgotICAgICAgICAoX05QTl9FbnVtZXJhdGUpOgotICAgICAgICAq
IGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKLSAgICAgICAgKEpTQzo6QmluZGluZ3M6OmNvbnZl
cnRWYWx1ZVRvUVZhcmlhbnRNYXApOgotCi0yMDExLTExLTAyICBYaWFvbWVpIEppICA8eGppQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBFbmFibGUgY3RybC1hcnJvdyBtb3ZlIGN1cnNvciBieSB3
b3JkIGluIHZpc3VhbCBvcmRlciBpbiBjci13aW4gYnkgY29tbWFuZCBsaW5lIGZsYWcuCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MwotCi0gICAg
ICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KLQotICAgICAgICBBZGQgbV92aXN1YWxXb3Jk
TW92ZW1lbnRFbmFibGVkIHBhZ2Ugc2V0dGluZywgdHJpZ2dlciB2aXN1YWwgd29yZCBtb3ZlbWVu
dAotICAgICAgICBmdW5jdGlvbiAoaW5zdGVhZCBvZiBsb2dpY2FsIG9uZSkgd2hlbiBpdCBpcyBz
ZXQgYXMgdHJ1ZS4KLQotICAgICAgICByaWdodHxsZWZ0V29yZFBvc2l0aW9uKCkgYXJlIHRlc3Rl
ZCBpbiBlZGl0aW5nL3NlbGVjdGlvbi9tb3ZlLWJ5LXdvcmQtdmlzdWFsbHkqCi0gICAgICAgIGJ5
IHVzaW5nIC0td2Via2l0LXZpc3VhbC13b3JkIGZsYWcuCi0KLSAgICAgICAgKiBlZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb2Rp
ZnlNb3ZpbmdSaWdodCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5
TW92aW5nTGVmdCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dmlzdWFsV29y
ZE1vdmVtZW50RW5hYmxlZCk6Ci0gICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgot
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OlNldHRpbmdzKToKLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0VmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCk6Ci0gICAgICAgIChXZWJD
b3JlOjpTZXR0aW5nczo6dmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCk6Ci0KLTIwMTEtMTEtMDMg
IExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIENvcnJlY3Qg
dXNhZ2Ugb2YgTGF5b3V0VW5pdHMgYW5kIGludGVnZXJzIGluIFRhYmxlIHJlbmRlcmluZyBjbGFz
c2VzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUw
MAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIEZpeGluZyB0
aGUgVGFibGUgbGF5b3V0IGNsYXNzZXMgdG8gb3BlcmF0ZSBvbiBpbnRlZ2VycyAtLSBzdWItcGl4
ZWwgdGFibGUgbGF5b3V0IGJyZWFrcwotICAgICAgICB0aGUgc3BlYy4gTWVhbndoaWxlIGNvcnJl
Y3RpbmcgdGhlIFRhYmxlIHJlbmRlcmluZyBjbGFzc2VzIHRoZW1zZWx2ZXMgdG8gc3RpbGwgdXNl
Ci0gICAgICAgIExheW91dFVuaXRzLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBjaGFu
Z2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNw
cDogUmV2ZXJ0aW5nIHRvIG9wZXJhdGluZyBvbiBpbnRlZ2Vycy4KLSAgICAgICAgKFdlYkNvcmU6
OkF1dG9UYWJsZUxheW91dDo6cmVjYWxjQ29sdW1uKToKLSAgICAgICAgKFdlYkNvcmU6OkF1dG9U
YWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgotICAgICAgICAoV2Vi
Q29yZTo6QXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKToKLSAgICAg
ICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6bGF5b3V0KToKLSAgICAgICAgKiByZW5kZXJp
bmcvQXV0b1RhYmxlTGF5b3V0Lmg6IFJldmVydGluZyB0byBvcGVyYXRpbmcgb24gaW50ZWdlcnMu
Ci0gICAgICAgICogcmVuZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuY3BwOiBEaXR0by4KLSAgICAg
ICAgKFdlYkNvcmU6OkZpeGVkVGFibGVMYXlvdXQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKLSAgICAgICAgKFdlYkNvcmU6OkZpeGVkVGFibGVMYXlvdXQ6OmxheW91dCk6Ci0gICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6IFN3aXRjaGluZyB0byBMYXlvdXRVbml0cy4K
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpnZXRDb2x1bW5Qb3MpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGU6OmJvcmRlcnNQYWRkaW5nQW5kU3BhY2luZ0luUm93RGlyZWN0
aW9uKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDogU3dpdGNoaW5n
IHRvIExheW91dFVuaXRzLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjp1cGRh
dGVMb2dpY2FsV2lkdGgpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpzZXRP
dmVycmlkZUhlaWdodEZyb21Sb3dIZWlnaHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGVDZWxsOjpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVDZWxsOjpjZWxsQmFzZWxpbmVQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZUNlbGw6OnNjcm9sbGJhcnNDaGFuZ2VkKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGFibGVDZWxsLmg6IFN3aXRjaGluZyB0byBMYXlvdXRVbml0cwotICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRhYmxlU2VjdGlvbjo6c2V0Q2VsbExvZ2ljYWxXaWR0aHMpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKToKLQotMjAxMS0xMS0wMyAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gTm90
aWZ5IHNjaGVkdWxlciBvbiBTd2FwQnVmZmVycyBpbiB0aHJlYWRlZCBjb21wb3NpdG9yIG1vZGUK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzgxCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgotCi0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6Q0NTY2hlZHVsZXI6OmRpZFN3YXBCdWZmZXJzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NU
aHJlYWRQcm94eTo6ZHJhd0xheWVyc0FuZFN3YXBPbkltcGxUaHJlYWQpOgotCi0yMDExLTExLTAz
ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KLQotICAgICAgICBDTWFrZTogQWRkIG1p
c3NpbmcgV2ViR0wgSURMIGZpbGUgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsCi0K
LSAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFydGluIFJvYmluc29uCi0KLSAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKLQotMjAxMS0xMS0wMyAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5j
b20+Ci0KLSAgICAgICAgQ01ha2U6IE9ubHkgZ2VuZXJhdGUgZnJvbSBXZWJHTCBJRExzIHdoZW4g
YnVpbGRpbmcgd2l0aCBXZWJHTAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzE1MTYKLQotICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24u
Ci0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLQotMjAxMS0xMS0wMyAgRXJpayBBcnZpZHNz
b24gIDxhcnZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBMZWdh
Y3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDg5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCi0KLSAgICAgICAgVGhpcyByZW1vdmVzIHN1cHBvcnQgZm9yIExlZ2FjeURlZmF1bHRPcHRp
b25hbEFyZ3VtZW50cyBhbmQgW1JlcXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlXS4KLSAgICAgICAg
W1JlcXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlXSBpcyBub3cgdGhlIHN0YW5kYXJkIGJlaGF2aW9y
IHNvIGl0IHdvdWxkIGJlIGEgbm8gb3AuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUFyZ3VtZW50c0NvdW50Q2hlY2spOiBDaGVj
ayB0aGUgIlJlcXVpcmVzQWxsQXJndW1lbnRzIiBleHRlbmRlZCBhdHRyaWJ1dGUgYW5kIGdlbmVy
YXRlIGNvZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgcmV0
dXJucyB1bmRlZmluZWQgaWYgdGhlcmUgYXJlIG1pc3NpbmcgYXJndW1lbnRzLgotICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgotICAgICAgICAoR2VuZXJhdGVB
cmd1bWVudHNDb3VudENoZWNrKTogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kKTog
QWRkIGdlbmVyYXRlZCBhcmd1bWVudCBjb3VudCBjaGVja3MuCi0gICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyk6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25JbnRNZXRob2RXaXRoQXJncyk6IERp
dHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PYmpNZXRo
b2RXaXRoQXJncyk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25TZXJpYWxpemVkVmFsdWUpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uSWRiS2V5KTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk9wdGlvbnNPYmplY3QpOiBEaXR0by4KLSAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tQXJnc0FuZEV4Y2VwdGlv
bik6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25B
ZGRFdmVudExpc3RlbmVyKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblJlbW92ZUV2ZW50TGlzdGVuZXIpOiBEaXR0by4KLSAgICAgICAgKFdlYkNv
cmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uV2l0aER5bmFtaWNGcmFtZUFuZEFyZyk6IERp
dHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25XaXRoRHlu
YW1pY0ZyYW1lQW5kT3B0aW9uYWxBcmcpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uV2l0aER5bmFtaWNGcmFtZUFuZFVzZXJHZXN0dXJlKTogRGl0
dG8uCi0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5h
bWljRnJhbWVBbmRVc2VyR2VzdHVyZUFTQUQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6Ompz
VGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9u
YWxBcmcpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uTWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdvT3B0aW9uYWxBcmdzKTogRGl0dG8uCi0g
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxs
YmFja0FyZyk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25NZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyk6IERpdHRvLgotICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9k
MSk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25P
dmVybG9hZGVkTWV0aG9kMik6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kMyk6IERpdHRvLgotICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNCk6IERpdHRvLgot
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0
aG9kNSk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25PdmVybG9hZGVkTWV0aG9kNik6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNyk6IERpdHRvLgotICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsOiBSZW1vdmUgTGVnYWN5RGVmYXVs
dE9wdGlvbmFsQXJndW1lbnRzLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbDogUmVtb3ZlIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3Vt
ZW50cyBhbmQgW1JlcXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlXQotICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDogUmVtb3Zl
IExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cy4KLSAgICAgICAgKFdlYkNvcmU6OlRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVySW50ZXJuYWw6Om1ldGhvZENhbGxiYWNrKTogQWRkIGdlbmVy
YXRlZCBhcmd1bWVudCBjb3VudCBjaGVja3MuCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6
OnZvaWRNZXRob2RXaXRoQXJnc0NhbGxiYWNrKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpU
ZXN0T2JqSW50ZXJuYWw6OmludE1ldGhvZFdpdGhBcmdzQ2FsbGJhY2spOiBEaXR0by4KLSAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6b2JqTWV0aG9kV2l0aEFyZ3NDYWxsYmFjayk6
IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpzZXJpYWxpemVkVmFs
dWVDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpp
ZGJLZXlDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFs
OjpvcHRpb25zT2JqZWN0Q2FsbGJhY2spOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlRlc3RP
YmpJbnRlcm5hbDo6Y3VzdG9tQXJnc0FuZEV4Y2VwdGlvbkNhbGxiYWNrKTogRGl0dG8uCi0gICAg
ICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OndpdGhEeW5hbWljRnJhbWVBbmRBcmdDYWxs
YmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjp3aXRoRHlu
YW1pY0ZyYW1lQW5kT3B0aW9uYWxBcmdDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29y
ZTo6VGVzdE9iakludGVybmFsOjp3aXRoRHluYW1pY0ZyYW1lQW5kVXNlckdlc3R1cmVDYWxsYmFj
ayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjp3aXRoRHluYW1p
Y0ZyYW1lQW5kVXNlckdlc3R1cmVBU0FEQ2FsbGJhY2spOiBEaXR0by4KLSAgICAgICAgKFdlYkNv
cmU6OlRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxB
cmdDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpt
ZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3NDYWxsYmFjayk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjptZXRob2RXaXRoQ2FsbGJhY2tB
cmdDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpt
ZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZ0NhbGxiYWNrKTogRGl0dG8uCi0g
ICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2QxQ2FsbGJh
Y2spOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6b3ZlcmxvYWRl
ZE1ldGhvZDJDYWxsYmFjayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVy
bmFsOjpvdmVybG9hZGVkTWV0aG9kM0NhbGxiYWNrKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3Jl
OjpUZXN0T2JqSW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q0Q2FsbGJhY2spOiBEaXR0by4KLSAg
ICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6b3ZlcmxvYWRlZE1ldGhvZDVDYWxsYmFj
ayk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjpvdmVybG9hZGVk
TWV0aG9kNkNhbGxiYWNrKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJu
YWw6Om92ZXJsb2FkZWRNZXRob2Q3Q2FsbGJhY2spOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6
OlRlc3RPYmpJbnRlcm5hbDo6ZW5hYmxlZEF0UnVudGltZU1ldGhvZDFDYWxsYmFjayk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6VGVzdE9iakludGVybmFsOjplbmFibGVkQXRSdW50aW1lTWV0
aG9kMkNhbGxiYWNrKTogRGl0dG8uCi0KLTIwMTEtMTEtMDMgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgotCi0gICAgICAgIENoYW5nZSByZW1haW5pbmcgY2FsbGVycyBvZiByZWxlYXNl
UmVmIHRvIGNhbGwgbGVha1JlZgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzE0MjIKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCi0K
LSAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKLSAgICAgICAgKC1b
V2ViU2NyaXB0T2JqZWN0IF9zZXRJbXA6b3JpZ2luUm9vdE9iamVjdDpyb290T2JqZWN0Ol0pOgot
ICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3QgX3NldE9yaWdpblJvb3RPYmplY3Q6YW5kUm9vdE9i
amVjdDpdKToKLSAgICAgICAgKiBicmlkZ2UvTlBfanNvYmplY3QuY3BwOgotICAgICAgICAoX05Q
Tl9DcmVhdGVTY3JpcHRPYmplY3QpOgotICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlFOYW1lQ29tcG9uZW50c1RyYW5zbGF0b3I6OnRyYW5zbGF0ZSk6
Ci0gICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjphZGQpOgotICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRpdGlvbmFsQXR0cmlidXRlU3R5bGVE
ZWNscyk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRDZWxs
Qm9yZGVyc0RlY2wpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRkU2hh
cmVkR3JvdXBEZWNscyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3Vy
Y2VDRy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Y3JlYXRlRnJhbWVBdElu
ZGV4KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KToKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvQ29udGV4dE1lbnVNYWMubW06Ci0gICAgICAgIChX
ZWJDb3JlOjpDb250ZXh0TWVudTo6cmVsZWFzZVBsYXRmb3JtRGVzY3JpcHRpb24pOgotICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW06Ci0gICAgICAgIChXZWJDb3JlOjpT
aGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1l
ZGlhQ29udHJvbHNDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybVJlc291
cmNlKToKLSAgICAgICAgVXNlIGxlYWtSZWYuCi0KLTIwMTEtMTEtMDIgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgotCi0gICAgICAgIENoYW5nZSByZW1haW5pbmcgY2FsbGVycyBvZiBy
ZWxlYXNlUmVmIHRvIGNhbGwgbGVha1JlZgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzE0MjIKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKLSAgICAg
ICAgKC1bV2ViU2NyaXB0T2JqZWN0IF9zZXRJbXA6b3JpZ2luUm9vdE9iamVjdDpyb290T2JqZWN0
Ol0pOgotICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3QgX3NldE9yaWdpblJvb3RPYmplY3Q6YW5k
Um9vdE9iamVjdDpdKToKLSAgICAgICAgKiBicmlkZ2UvTlBfanNvYmplY3QuY3BwOgotICAgICAg
ICAoX05QTl9DcmVhdGVTY3JpcHRPYmplY3QpOgotICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1l
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlFOYW1lQ29tcG9uZW50c1RyYW5zbGF0b3I6OnRyYW5z
bGF0ZSk6Ci0gICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNhY2hlOjphZGQpOgotICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRpdGlvbmFsQXR0cmlidXRl
U3R5bGVEZWNscyk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRTaGFy
ZWRDZWxsQm9yZGVyc0RlY2wpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6
YWRkU2hhcmVkR3JvdXBEZWNscyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VTb3VyY2VDRy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Y3JlYXRlRnJh
bWVBdEluZGV4KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKToKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvQ29udGV4dE1lbnVNYWMubW06Ci0gICAg
ICAgIChXZWJDb3JlOjpDb250ZXh0TWVudTo6cmVsZWFzZVBsYXRmb3JtRGVzY3JpcHRpb24pOgot
ICAgICAgICAqIHBsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW06Ci0gICAgICAgIChXZWJD
b3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpwbGF0Zm9y
bVJlc291cmNlKToKLSAgICAgICAgVXNlIGxlYWtSZWYuCi0KLTIwMTEtMTEtMDMgIERhbmllbCBD
aGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUg
dW51c2VkIGNsaXBib2FyZCBtZXRob2RzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTUxMgotCi0gICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcu
Ci0KLSAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKLQotMjAx
MS0xMS0wMyAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
SW1wbGVtZW50IFRleHRUcmFja0N1ZUxpc3QuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2Fy
bHNvbi4KLQotICAgICAgICBUZXN0OiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWN1ZS1s
aXN0Lmh0bWwKLQotICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6Om5ld0N1ZXNBdmFpbGFibGUpOgotICAgICAg
ICAgICAgVXBkYXRlIFRleHRUcmFjaydzIFRleHRUcmFja0N1ZUxpc3QgKG1fY3Vlcykgd2hlbiBu
ZXcgY3VlcyBhcmUgZGlzY292ZXJlZC4KLSAgICAgICAgKiBodG1sL1RleHRUcmFjay5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6Ci0gICAgICAgICAgICBDcmVh
dGUgYW4gZW1wdHkgVGV4dFRyYWNrQ3VlTGlzdCB1cG9uIFRleHRUcmFjayBjcmVhdGlvbi4KLSAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6Y3Vlcyk6Ci0gICAgICAgICAgICBSZXR1cm4gdGhp
cyBUZXh0VHJhY2sncyBsaXN0IG9mIGN1ZXMuCi0KLSAgICAgICAgSW1wbGVtZW50IFRleHRUcmFj
a0N1ZUxpc3QgZnVuY3Rpb25hbGl0eToKLSAgICAgICAgKiBodG1sL1RleHRUcmFja0N1ZUxpc3Qu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlTGlzdDo6VGV4dFRyYWNrQ3VlTGlz
dCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVMaXN0OjpsZW5ndGgpOgotICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlTGlzdDo6aXRlbSk6Ci0gICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2tDdWVMaXN0OjpnZXRDdWVCeUlkKToKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a0N1ZUxpc3Q6OmFkZCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVMaXN0OjpyZW1v
dmUpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlTGlzdDo6Y29udGFpbnMpOgotICAg
ICAgICAqIGh0bWwvVGV4dFRyYWNrQ3VlTGlzdC5oOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRy
YWNrQ3VlTGlzdDo6flRleHRUcmFja0N1ZUxpc3QpOgotCi0yMDExLTExLTAzICBKb3NodWEgQmVs
bCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgSW5kZXhlZERCIHJlc3VsdCBvZiBk
ZWxldGluZyBhIHJlY29yZCBzaG91bGQgYmUgdHJ1ZSBvciBmYWxzZQotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAxOTcKLQotICAgICAgICBSZXZpZXdl
ZCBieSBEYXZpZCBMZXZpbi4KLQotICAgICAgICBJREJPYmplY3RTdG9yZS5kZWxldGUoKSB3YXMg
aW5jb3JyZWN0bHkgZmlyaW5nIGFuIGVycm9yIGlmIHRoZXJlCi0gICAgICAgIHdhcyBubyByZWNv
cmQgdG8gcmVtb3ZlLiBNYXRjaCB0aGUgc3BlYywgYW5kIHJldHVybiB0cnVlL2ZhbHNlCi0gICAg
ICAgIGFzIHN1Y2Nlc3MgdmFsdWVzIGluc3RlYWQuIEJyaW5nIEpTQyBiaW5kaW5nIGltcGxlbWVu
dGF0aW9uIG9mCi0gICAgICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtb3JlIGluIGxpbmUgd2l0
aCBWOCB2ZXJzaW9uIGZvciBtZXRob2RzCi0gICAgICAgIGNhbGxlZCBmcm9tIElEQiBjb2RlLgot
Ci0gICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5o
dG1sCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVl
KToKLSAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Ym9vbGVhblZhbHVl
KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaDoKLSAgICAg
ICAgKiBiaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpudWxsVmFsdWUpOgotICAgICAgICAoV2ViQ29y
ZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjp1bmRlZmluZWRWYWx1ZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmJvb2xlYW5WYWx1ZSk6Ci0gICAgICAgICogYmlu
ZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg6Ci0gICAgICAgICogc3RvcmFnZS9JREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw6OmRlbGV0ZUludGVybmFsKToKLQotMjAxMS0xMS0wMyAgQWRhbSBCYXJ0
aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEltcGxlbWVudCBhbGxvdy1wb3B1cHMg
Zm9yIGlmcmFtZUBzYW5kYm94Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NjUwNQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0g
ICAgICAgIFRoZXJlJ3MgYmVlbiBzb21lIGRpc2N1c3Npb24gaW4gdGhlIEhUTUwgd29ya2luZyBn
cm91cCBhYm91dCBhZGRpbmcgYW4KLSAgICAgICAgYWxsb3ctcG9wdXBzIGRpcmVjdGl2ZSB0byB0
aGUgaWZyYW1lIHNhbmRib3guICBNaWNyb3NvZnQgaGFzIGFkZGVkIGl0Ci0gICAgICAgIHRvIElF
MTAgcGxhdGZvcm0gcHJldmlldyBhbmQgaXMgZmFpcmx5IGFkYW1hbnQgYWJvdXQgdGhpcyBmZWF0
dXJlCi0gICAgICAgIGJlY2F1c2UgaXQncyBuZWVkZWQgYnkgb25lIG9yIHRoZWlyIHByb2R1Y3Rz
IHRoYXQncyBwbGFubmluZyB0byB1c2UKLSAgICAgICAgaWZyYW1lIHNhbmRib3guICBIaXhpZSBz
YXlzIGhlJ2xsIGFkZCBpdCB0byB0aGUgc3BlYyBvbmNlIHdlIGltcGxlbWVudAotICAgICAgICBp
dCwgc28gaGVyZSdzIG91ciBpbXBsZW1lbnRhdGlvbi4gIChTZWUgZGlzY3Vzc2lvbiBpbiB0aGUg
VzNDIGxpbmtlZCBpbgotICAgICAgICB0aGUgYnVnIGZvciBtb3JlIGRldGFpbHMuKQotCi0gICAg
ICAgIFRoaXMgcGF0Y2ggbGFuZHMgbW9zdCBvZiB0aGUgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoaXMg
ZmVhdHVyZSwgYnV0IGl0Ci0gICAgICAgIGRvZXNuJ3QgYWN0dWFsbHkgZW5hYmxlIHRoZSBmZWF0
dXJlLiAgSSdsbCBlbmFibGUgaXQgaW4gYSBmb2xsb3ctdXAKLSAgICAgICAgcGF0Y2guCi0KLSAg
ICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvcG9wdXAtYWxsb3dlZC1ieS1zYW5kYm94
LWlzLXNhbmRib3hlZC1jb250cm9sLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvcG9wdXAtYWxsb3dlZC1ieS1zYW5kYm94LWlzLXNhbmRib3hlZC5odG1sCi0gICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3BvcHVwLWFsbG93ZWQtYnktc2FuZGJveC13aGVu
LWFsbG93ZWQuaHRtbAotCi0gICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUp
OgotICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgotICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmZvcmNlU2FuZGJveEZsYWdzKToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXJUeXBlcy5oOgotICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgotICAgICAgICAo
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OnBhcnNlU2FuZGJveFBvbGljeSk6Ci0gICAgICAgICog
cGFnZS9TZWN1cml0eU9yaWdpbi5oOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46
OnNhbmRib3hGbGFncyk6Ci0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6Ci0KLTIwMTEtMTEtMDMgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0
dWFsaXplIEpTT2JqZWN0OjpjbGFzc05hbWUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDI4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5p
Zy4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgQWRkZWQgY2xhc3NOYW1lIHRv
IHRoZSBNZXRob2RUYWJsZSwgY2hhbmdlZCBhbGwgdGhlIHZpcnR1YWwgCi0gICAgICAgIGltcGxl
bWVudGF0aW9ucyBvZiBjbGFzc05hbWUgdG8gc3RhdGljIG9uZXMsIGFuZCByZXBsYWNlZCAKLSAg
ICAgICAgYWxsIGNhbGwgc2l0ZXMgd2l0aCBjb3JyZXNwb25kaW5nIGxvb2t1cHMgaW4gdGhlIE1l
dGhvZFRhYmxlLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpjbGFzc05hbWUpOgotICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaDoKLSAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0luamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0lu
amVjdGVkU2NyaXB0SG9zdDo6aW50ZXJuYWxDb25zdHJ1Y3Rvck5hbWUpOgotICAgICAgICAqIGJy
aWRnZS90ZXN0cXRiaW5kaW5ncy5jcHA6Ci0gICAgICAgIChHbG9iYWw6OmNsYXNzTmFtZSk6Ci0K
LTIwMTEtMTEtMDIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+Ci0KLSAgICAgICAg
QWRkIENsb2NrIGNsYXNzIGFuZCBwbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMuCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM0MQotCi0g
ICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzOyB0
aGVzZSBjbGFzc2VzIHdpbGwgYmUgdXNlZCBhbmQgdGVzdGVkIGJ5IHRoZSBNZWRpYUNvbnRyb2xs
ZXIgZmVhdHVyZS4KLQotICAgICAgICBBZGRzIGEgYWJzdHJhY3QgQ2xvY2sgY2xhc3MgYW5kIHR3
byBjb25jcmV0ZSwgcGxhdGZvcm0tc3BlY2lmaWMgc3ViY2xhc3Nlcy4KLQotICAgICAgICBDbG9j
ayBwcm92aWRlcyBhIGJhc2ljIGludGVyZmFjZSBmb3Igc3RhcnRpbmcsIHN0b3BwaW5nLCBhbmQg
cXVlcnlpbmcgYSBnZW5lcmljIHRpbWVsaW5lLgotICAgICAgICBQbGF0Zm9ybUNsb2NrQ0EgaW1w
bGVtZW50cyB0aGlzIGludGVyZmFjZSB1c2luZyBhIENvcmVBdWRpbyBDQUNsb2NrIG9iamVjdCwg
d2hpY2ggdXNlcwotICAgICAgICB0aGUgZGVmYXVsdCBhdWRpbyBkZXZpY2UncyBoYXJkd2FyZSBj
bG9jayBhcyBhIHRpbWluZyBzb3VyY2UuIFBsYXRmb3JtQ2xvY2tQT1NJWCAKLSAgICAgICAgaW1w
bGVtZW50cyB0aGlzIGludGVyZmFjZSB1c2luZyBnZXR0aW1lb2ZkYXkoKSBhcyBpdHMgdGltaW5n
IHNvdXJjZS4KLQotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
LSAgICAgICAgKiBwbGF0Zm9ybS9DbG9jay5jcHA6IEFkZGVkLgotICAgICAgICAoQ2xvY2s6OmNy
ZWF0ZSk6IENyZWF0ZXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBjbG9jay4KLSAgICAgICAgKiBwbGF0
Zm9ybS9DbG9jay5oOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkNsb2NrOjp+Q2xvY2spOgot
ICAgICAgICAoV2ViQ29yZTo6Q2xvY2s6OkNsb2NrKToKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
UGxhdGZvcm1DbG9ja0NBLmNwcDogQWRkZWQuCi0gICAgICAgIChQbGF0Zm9ybUNsb2NrQ0E6OlBs
YXRmb3JtQ2xvY2tDQSk6Ci0gICAgICAgIChQbGF0Zm9ybUNsb2NrQ0E6On5QbGF0Zm9ybUNsb2Nr
Q0EpOgotICAgICAgICAoUGxhdGZvcm1DbG9ja0NBOjpzZXRDdXJyZW50VGltZSk6Ci0gICAgICAg
IChQbGF0Zm9ybUNsb2NrQ0E6OmN1cnJlbnRUaW1lKToKLSAgICAgICAgKFBsYXRmb3JtQ2xvY2tD
QTo6c2V0UGxheVJhdGUpOgotICAgICAgICAoUGxhdGZvcm1DbG9ja0NBOjpQbGF0Zm9ybUNsb2Nr
Q0E6OnBsYXlSYXRlKToKLSAgICAgICAgKFBsYXRmb3JtQ2xvY2tDQTo6c3RhcnQpOgotICAgICAg
ICAoUGxhdGZvcm1DbG9ja0NBOjpzdG9wKToKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZv
cm1DbG9ja0NBLmg6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DbG9ja0NBOjpp
c1J1bm5pbmcpOgotICAgICAgICAqIHBsYXRmb3JtL3Bvc2l4L1BsYXRmb3JtQ2xvY2tQT1NJWC5j
cHA6IEFkZGVkLgotICAgICAgICAodGltZXZhbFRvRmxvYXQpOgotICAgICAgICAodGltZXZhbERl
bHRhKToKLSAgICAgICAgKFBsYXRmb3JtQ2xvY2tQT1NJWDo6UGxhdGZvcm1DbG9ja1BPU0lYKToK
LSAgICAgICAgKFBsYXRmb3JtQ2xvY2tQT1NJWDo6c2V0Q3VycmVudFRpbWUpOgotICAgICAgICAo
UGxhdGZvcm1DbG9ja1BPU0lYOjpjdXJyZW50VGltZSk6Ci0gICAgICAgIChQbGF0Zm9ybUNsb2Nr
UE9TSVg6OnNldFBsYXlSYXRlKToKLSAgICAgICAgKFBsYXRmb3JtQ2xvY2tQT1NJWDo6UGxhdGZv
cm1DbG9ja1BPU0lYOjpwbGF5UmF0ZSk6Ci0gICAgICAgIChQbGF0Zm9ybUNsb2NrUE9TSVg6OnN0
YXJ0KToKLSAgICAgICAgKFBsYXRmb3JtQ2xvY2tQT1NJWDo6c3RvcCk6Ci0gICAgICAgIChQbGF0
Zm9ybUNsb2NrUE9TSVg6Om5vdyk6Ci0gICAgICAgICogcGxhdGZvcm0vcG9zaXgvUGxhdGZvcm1D
bG9ja1BPU0lYLmg6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DbG9ja1BPU0lY
Ojppc1J1bm5pbmcpOgotCi0yMDExLTExLTAzICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgSW5kZXhlZERCOiBPYmplY3Qgc3RvcmVzIG5vdCBwZXJzaXN0aW5n
IGJldHdlZW4gc2Vzc2lvbnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxMzEzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KLQotICAg
ICAgICBMb2dpYyBmbGF3IGludHJvZHVjZWQgd2l0aCByOTg4MDYgc2tpcHBlZCB0aGUgbG9hZGlu
ZyBvZiBvYmplY3Qgc3RvcmVzCi0gICAgICAgIGR1cmluZyBzdWJzZXF1ZW50IHNlc3Npb25zLgot
Ci0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwp
OgotICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkludGVybmFs
KToKLQotMjAxMS0xMS0wMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0K
LSAgICAgICAgV2ViIEluc3BlY3RvcjogZml4IGhlYXAgcHJvZmlsZXIgcmVuZGVyaW5nIGFuZCBy
ZXNpemUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTQ4NAotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RldGFpbGVkSGVhcHNob3RWaWV3LmpzOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLkRldGFpbGVkSGVhcHNob3RWaWV3LnByb3RvdHlwZS53YXNTaG93bi5wcm9m
aWxlQ2FsbGJhY2syKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZXRhaWxlZEhlYXBzaG90Vmll
dy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRldGFpbGVkSGVh
cHNob3RWaWV3LnByb3RvdHlwZS5fY2hhbmdlVmlldyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
RGV0YWlsZWRIZWFwc2hvdFZpZXcucHJvdG90eXBlLl9zdGFydFJldGFpbmVyc0hlYWRlckRyYWdn
aW5nKToKLQotMjAxMS0xMS0wMyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0
Lm9yZz4KLQotICAgICAgICBTdG9wIGFidXNpbmcgUmVuZGVyVGFibGVTZWN0aW9uOjpuZWVkc1Jl
Y2FsY0NlbGxzIGxvZ2ljCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTQyMAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAg
ICAgIENoYW5nZSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzIGxpa2UgZmFzdC9yZXBhaW50L3Rh
YmxlLWV4dHJhLWJvdHRvbS1ncm93Lmh0bWwKLSAgICAgICAgYW5kIGZhc3QvdGFibGUvcm93LWhl
aWdodC1yZWNhbGMqIChhbW9uZyBvdGhlcnMpLgotCi0gICAgICAgIENlbGwgcmVjYWxjdWxhdGlv
biBpcyB2ZXJ5IGV4cGVuc2l2ZSBhbmQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIHNl
Y3Rpb24ncyBzdHJ1Y3R1cmUKLSAgICAgICAgY2hhbmdlZCBpbiBhIHdheSB0aGF0IHJlcXVpcmVz
IGEgc2FmZSB1cGRhdGUgdG8gaXRzIHN0cnVjdHVyZSAobGlrZSByZW1vdmluZyBhIHJvdyBhcyBv
dXIKLSAgICAgICAgY29sdW1uIHNwbGl0IG1heSBub3QgYmUgYXBwcm9wcmlhdGUgYW55bW9yZSku
Ci0KLSAgICAgICAgVGhlIGN1cnJlbnQgY29kZSB3b3VsZCBhYnVzZSBjZWxsIHJlY2FsY3VsYXRp
b24gdG8gYWN0dWFsbHkgcmVzZXQgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9uIHRoZQotICAgICAgICBS
b3dTdHJ1Y3QuIFRoaXMgY2hhbmdlIG1ha2VzIGl0IGRvIHRoZSByaWdodCB0aGluZy4KLQotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGFibGVSb3cuaDoKLSAgICAgICAgUmVtb3ZlZCBzdHlsZVdpbGxDaGFuZ2Ugb3ZlcnJp
ZGUgYXMgaXQgd2FzIHVubmVlZGVkLgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OnN0eWxlRGlkQ2hh
bmdlKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKLSAgICAgICAgTW92ZSB0
aGUgY29kZSBmcm9tIHN0eWxlV2lsbENoYW5nZSB0byBzdHlsZURpZENoYW5nZS4KLQotICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVTZWN0aW9uOjpyb3dMb2dpY2FsSGVpZ2h0Q2hhbmdlZCk6Ci0gICAgICAgIFRo
aXMgZnVuY3Rpb24ganVzdCByZXNldCB0aGUgaGVpZ2h0IG9uIHRoZSB8Um93U3RydWN0fCB3aGlj
aCBpcyB0aGUKLSAgICAgICAgb25seSBwYXJ0IG9mIHJlY2FsY0NlbGxzIHRoYXQgd2Ugd291bGQg
bmVlZC4KLQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpyb3dJbmRleEZv
clJlbmRlcmVyKToKLSAgICAgICAgQWRkZWQgdGhpcyBmdW5jdGlvbiB0byBmaW5kIG91dCB3aGlj
aCBpbmRleCBhIGNvbHVtbiBoYXMgKHN0cmFuZ2VseQotICAgICAgICBSZW5kZXJUYWJsZVJvdyBk
b2VzIG5vdCBoYXZlIHRoaXMgaW5mb3JtYXRpb24pLgotCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5oOiBBZGRlZCB0aGUgMiBwcmV2aW91cyBmdW5jdGlvbnMuCi0KLTIw
MTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENT
U1J1bGVMaXN0OiBNb3ZlIHJ1bGUgb3JwaGFuaW5nIGZyb20gZGVsZXRlUnVsZSgpIG91dCB0byBj
YWxsZXJzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE0NzAKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBS
dWxlIHBhcmVudGluZyBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIG93bmVyIHJ1bGUgKHRo
ZSBydWxlIGNvbnRhaW5pbmcKLSAgICAgICAgdGhlIHJ1bGUgbGlzdCksIHNvIG1vdmUgcGFyZW50
IGNsZWFyaW5nIG91dCBvZiBDU1NSdWxlTGlzdDo6ZGVsZXRlUnVsZSgpIGFuZAotICAgICAgICBp
bnRvIHRoZSAodHdvKSBjYWxsIHNpdGVzLgotCi0gICAgICAgICogY3NzL0NTU01lZGlhUnVsZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OmRlbGV0ZVJ1bGUpOgotICAgICAg
ICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlTGlzdDo6
ZGVsZXRlUnVsZSk6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6ZGVsZXRlUnVsZSk6Ci0K
LTIwMTEtMTEtMDMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGRvIG5vdCBtYXAgc2NyaXB0cyBnZW5lcmF0ZWQgd2l0aCBkb2N1
bWVudC53cml0ZSB0byB0aGUgZG9jdW1lbnQgcmVzb3VyY2VzLgotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTQKLQotICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWwucHJvdG90eXBlLl9hZGRTY3JpcHQpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9iaW5kU2NyaXB0VG9SYXdTb3Vy
Y2VDb2RlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LnByb3RvdHlwZS51aVNvdXJjZUNvZGVzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5zZXRGb3JtYXRTb3VyY2UpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9jb25zb2xl
Q2xlYXJlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUuX3Jhd1NvdXJjZUNvZGVGb3JTY3JpcHRXaXRoVVJMKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fcmF3U291cmNl
Q29kZUZvclNjcmlwdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5wcm90b3R5cGUuX3NjcmlwdEZvclJhd1NvdXJjZUNvZGUpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9kZWJ1Z2dlclJl
c2V0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxp
bmtpZmllci5wcm90b3R5cGUucmVzZXQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
UmF3U291cmNlQ29kZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLnBy
b3RvdHlwZS5fY3JlYXRlU291cmNlTWFwcGluZy5kaWRSZXF1ZXN0Q29udGVudC5kaWRGb3JtYXRD
b250ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLnByb3RvdHlwZS5f
Y3JlYXRlU291cmNlTWFwcGluZy5kaWRSZXF1ZXN0Q29udGVudCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUuX2NyZWF0ZVNvdXJjZU1hcHBpbmcpOgotICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdC5wcm90b3R5cGUuZWRpdFNvdXJjZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0LnByb3RvdHlwZS5pc0lubGluZVNjcmlwdCk6Ci0KLTIwMTEtMTEtMDMgIFNpbW9uIEhh
dXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgotCi0gICAgICAgIFtRdF0gUmVtb3Zl
IE1hZW1vIHNwZWNpZmljIGNvZGUgcGF0aHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDc2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgKiBXZWJDb3JlLnByaToKLSAgICAgICAgKiBm
ZWF0dXJlcy5wcmk6Ci0gICAgICAgICogcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmRldGVybWluZVF1aXJrcyk6Ci0gICAgICAgICog
cGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNl
dFZhbHVlKToKLSAgICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXcuaDoKLSAgICAgICAgKiBwbHVn
aW5zL3F0L1BsdWdpblZpZXdRdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp1
cGRhdGVQbHVnaW5XaWRnZXQpOgotICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGFpbnQp
OgotICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cGxhdGZvcm1HZXRWYWx1ZVN0YXRpYyk6
Ci0KLTIwMTEtMTEtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5m
b3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBt
b3JlIHRoYW4gdmlld3BvcnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwNjA5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4uCi0KLSAgICAgICAgT3BlcmF0aW9ucyBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1
dGVzIHRoYXQgYXJlIG5vdCBhIHBhcnQgb2YgdGhlIHNwZWM6IAotCi0gICAgICAgIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTEvV0QtY3NzLWRldmljZS1hZGFwdC0yMDExMDkxNS8jY29uc3RyYWlu
aW5nLXZpZXdwb3J0LXByb3BlcnR5LXZhbHVlcwotCi0gICAgICAgIHdlcmUgbW92ZWQgaW50byB0
aGUgZnVuY3Rpb25zIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUgYW5k
Ci0gICAgICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxh
YmxlLgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMpOgotICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdw
b3J0U2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFs
U2NhbGVJZk5vdFVzZXJTY2FsYWJsZSk6Ci0gICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRz
Lmg6Ci0KLTIwMTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0g
ICAgICAgIENTU1J1bGVMaXN0OiBNb3ZlIHJ1bGUgb3JwaGFuaW5nIGZyb20gZGVsZXRlUnVsZSgp
IG91dCB0byBjYWxsZXJzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE0NzAKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQot
ICAgICAgICBSdWxlIHBhcmVudGluZyBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIG93bmVy
IHJ1bGUgKHRoZSBydWxlIGNvbnRhaW5pbmcKLSAgICAgICAgdGhlIHJ1bGUgbGlzdCksIHNvIG1v
dmUgcGFyZW50IGNsZWFyaW5nIG91dCBvZiBDU1NSdWxlTGlzdDo6ZGVsZXRlUnVsZSgpIGFuZAot
ICAgICAgICBpbnRvIHRoZSAodHdvKSBjYWxsIHNpdGVzLgotCi0gICAgICAgICogY3NzL0NTU01l
ZGlhUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OmRlbGV0ZVJ1bGUp
OgotICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NS
dWxlTGlzdDo6ZGVsZXRlUnVsZSk6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6ZGVsZXRl
UnVsZSk6Ci0KLTIwMTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgot
Ci0gICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LCBzaWdoLgotCi0gICAgICAgICogY3NzL0NT
U0ZvbnRGYWNlUnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bi5oOgotCi0yMDExLTExLTAzICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQot
ICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCwgb3V0LW9mLWxpbmUgU3R5bGVTaGVldDo6cGFy
ZW50U3R5bGVTaGVldCgpCi0gICAgICAgIGFnYWluIHNpbmNlIHRoZXJlJ3MgYSBjeWNsZSBpbiB0
aGUgaW5jbHVkZXMgYmV0d2VlbiBDU1NSdWxlL1N0eWxlU2hlZXQuCi0KLSAgICAgICAgKiBjc3Mv
U3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0OjpwYXJlbnRTdHls
ZVNoZWV0KToKLSAgICAgICAgKiBjc3MvU3R5bGVTaGVldC5oOgotCi0yMDExLTExLTAzICBBbmRy
ZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBVbnJldmlld2VkIGJ1aWxk
IGZpeCBhZnRlciByOTkxODUsIHJlbW92aW5nIGZvcndhcmQtZGVjbGFyYXRpb24KLSAgICAgICAg
b2YgQ1NTUnVsZSBzaW5jZSBDU1NSdWxlLmggaXMgYWxyZWFkeSBpbmNsdWRlZC4KLQotICAgICAg
ICAqIGNzcy9TdHlsZVNoZWV0Lmg6Ci0KLTIwMTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcgIDxrbGlu
Z0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU09NOiBJbmxpbmUgc29tZSB0cml2aWFsIG1ldGhv
ZHMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ2
OAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgICogY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHA6Ci0gICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5oOgot
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VSdWxlOjpzZXREZWNsYXJhdGlvbik6Ci0gICAg
ICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5o
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpzZXREZWNsYXJhdGlvbik6Ci0gICAg
ICAgICogY3NzL0NTU1N0eWxlU2hlZXQuY3BwOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0
Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0Ojpvd25lclJ1bGUpOgotICAgICAg
ICAqIGNzcy9TdHlsZVNoZWV0LmNwcDoKLSAgICAgICAgKiBjc3MvU3R5bGVTaGVldC5oOgotICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6cGFyZW50U3R5bGVTaGVldCk6Ci0gICAgICAgICog
Y3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OjpuYW1lKToKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6Omxlbmd0
aCk6Ci0KLTIwMTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0g
ICAgICAgIERldmlydHVhbGl6ZSBNZWRpYUxpc3QuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ2NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRp
IEtvaXZpc3RvLgotCi0gICAgICAgICogY3NzL01lZGlhTGlzdC5oOiBNYWtlIHRoZSBkZXN0cnVj
dG9yIG5vbi12aXJ0dWFsLgotCi0yMDExLTExLTAzICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVn
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgT3B0aW1pemluZyBhcml0aG1ldGljIGNvbXBvc2l0ZSBm
aWx0ZXIgdG8gQVJNLW5lb24gU0lNRCBpbnN0cnVjdGlvbiBzZXQKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTIyCi0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgRGlyayBTY2h1bHplLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggY29udGludWVzIHRoZSB3b3Jr
IG9mIEZlbGljaWFuIE1hcnRvbi4KLQotICAgICAgICBUaGUgYXJpdGhtZXRpYyBvcGVyYXRpb24g
b2YgZmVDb21wb3NpdGUgU1ZHIGZpbHRlciBjYW4gYmUgZ3JlYXRseSBlbmhhbmNlZAotICAgICAg
ICBieSB0aGUgQVJNLU5FT04gaW5zdHJ1Y3Rpb24gc2V0IHNpbmNlIHdlIGFyZSBhYmxlIHRvIGNh
bGN1bGF0ZSB0aGUgcGl4ZWwgZGF0YQotICAgICAgICBmb3IgYWxsIGZvdXIgUkdCQSBjaGFubmVs
cyBhdCB0aGUgc2FtZSB0aW1lLgotCi0gICAgICAgIEl0IHdvbid0IGFmZmVjdCB0aGUgZ2VuZXJh
bCBiZWhhdmlvciBhbmQgZXhpc3RpbmcgdGVzdHMgd2lsbCBjb3ZlciB0aGUgY2hhbmdlcy4KLQot
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgotICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUucHJvOgotICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Y29tcHV0
ZUFyaXRobWV0aWNQaXhlbHMpOgotICAgICAgICAoV2ViQ29yZTo6YXJpdGhtZXRpY1NvZnR3YXJl
KToKLSAgICAgICAgKFdlYkNvcmU6OkZFQ29tcG9zaXRlOjpwbGF0Zm9ybUFyaXRobWV0aWNTb2Z0
d2FyZSk6Ci0gICAgICAgIChXZWJDb3JlOjpGRUNvbXBvc2l0ZTo6cGxhdGZvcm1BcHBseVNvZnR3
YXJlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmg6
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9hcm0vRkVDb21wb3NpdGVBcml0
aG1ldGljTkVPTi5jcHA6IEFkZGVkLgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvYXJtL0ZFQ29tcG9zaXRlQXJpdGhtZXRpY05FT04uaDogQWRkZWQuCi0gICAgICAgIChXZWJD
b3JlOjpGRUNvbXBvc2l0ZTo6cGxhdGZvcm1Bcml0aG1ldGljTmVvbik6Ci0KLTIwMTEtMTEtMDMg
IFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgotCi0gICAgICAgIFtR
dF0gQWRkIHBhZ2VTY2FsZUZhY3RvciB0byB0aGUgc2VyaWFsaXplZCBoaXN0b3J5IGl0ZW0KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDYzCi0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgVG9yIEFybmUgVmVzdGLDuC4KLQotICAgICAgICByNzU3NTggYWRk
ZWQgdGhlIHBhZ2VTY2FsZUZhY3RvciBtZW1iZXIsIHdoaWNoIHdlIG5lZWQgdG8KLSAgICAgICAg
c2VyaWFsaXplLgotCi0gICAgICAgICogaGlzdG9yeS9xdC9IaXN0b3J5SXRlbVF0LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpyZXN0b3JlU3RhdGUpOgotICAgICAgICAoV2Vi
Q29yZTo6SGlzdG9yeUl0ZW06OnNhdmVTdGF0ZSk6Ci0KLTIwMTEtMTEtMDMgIE1pa2UgTGF3dGhl
ciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KLQotICAgICAgICBVc2UgY3JlYXRlUHJpbWl0
aXZlTnVtZXJpY1ZhbHVlIGZ1bmN0aW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTQzMgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzIC0gbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHku
Ci0KLSAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VXcmFwU2hhcGVSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VXcmFwU2hhcGVDaXJjbGUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZVdyYXBTaGFwZUVsbGlwc2UpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVdy
YXBTaGFwZVBvbHlnb24pOgotCi0yMDExLTExLTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Z29vZ2xlLmNvbT4KLQotICAgICAgICBOb3QgcmV2aWV3ZWQ6IHdpbiBidWlsZCBmaXguIEFzc2ln
biBhdXRvRFBJIGF0IGFsbCBjYXNlcyAoYnJlYWthZ2UgaW50cm9kdWNlZCBpbiByOTkxNzMpLgot
Ci0gICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMpOgotCi0yMDExLTExLTAzICBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBEaWZmZXJlbnRp
YXRlIGltcGxpY2l0IHZpZXdwb3J0IGZyb20gdGhhdCBvZiB0aGUgbWV0YSB0YWcKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDUzCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAgVGhpcyBpcyBuZWVkZWQgYmVj
YXVzZSBvZiBEUEkgYWRqdXN0bWVudCB0YWtpbmcgcGxhY2Ugd2l0aCB0aGUgbWV0YQotICAgICAg
ICB0YWcuIFRoaXMgaXMgdG8gYmUgYXZvaWRlZCB3aGVuIG5vIHZpZXdwb3J0IG1ldGEgdGFnIGlz
IHByZXNlbnQuCi0KLSAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydCk6Ci0gICAgICAgICogZG9tL1ZpZXdwb3J0QXJn
dW1lbnRzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMp
OgotICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgotICAgICAgICAoV2ViQ29yZTo6
Vmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0QXJndW1lbnRzKToKLSAgICAgICAgKFdlYkNvcmU6
OlZpZXdwb3J0QXJndW1lbnRzOjpvcGVyYXRvcj09KToKLQotMjAxMS0xMS0wMyAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgRGV2aXJ0dWFsaXplIENTU1J1bGUu
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM4Mgot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIFJlbW92ZSB0
aGUgdmlydHVhbCBkZXN0cnVjdG9yIGZyb20gQ1NTUnVsZSwgYW5kIHJlaW1wbGVtZW50IFJlZkNv
dW50ZWQncyBkZXJlZigpCi0gICAgICAgIHRvIGludm9rZSBvcGVyYXRvciBkZWxldGUgb24gdGhl
IGFwcHJvcHJpYXRlIHN1YmNsYXNzIHR5cGUuCi0KLSAgICAgICAgVGhpcyByZW1vdmVzIHRoZSBD
U1NSdWxlIHZ0YWJsZSBhbmQgc2hyaW5rcyBlYWNoIGluc3RhbmNlIGJ5IG9uZSBDUFUgd29yZC4K
LQotICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NGb250
RmFjZVJ1bGUuaDoKLSAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmg6Ci0gICAgICAgICogY3Nz
L0NTU1BhZ2VSdWxlLmg6Ci0gICAgICAgICogY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5oOgotICAg
ICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKLSAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTUnVsZTo6ZGVyZWYpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6
fkNTU1J1bGUpOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuaDoKLSAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmg6Ci0KLSAgICAgICAgICAgIERldmlydHVhbGl6ZSEKLQot
ICAgICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmRl
c3Ryb3kpOgotCi0gICAgICAgICAgICBBZGRlZCwgaW52b2tlcyBvcGVyYXRvciBkZWxldGUgb24g
dGhlIHJpZ2h0IHN1YmNsYXNzIHR5cGUuCi0KLSAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpDU1NJbXBvcnRSdWxlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltcG9ydFJ1bGU6On5DU1NJbXBvcnRSdWxlKToKLSAgICAgICAg
KFdlYkNvcmU6OkNTU0ltcG9ydFJ1bGU6OnJlcXVlc3RTdHlsZVNoZWV0KToKLSAgICAgICAgKiBj
c3MvQ1NTSW1wb3J0UnVsZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6SW1w
b3J0ZWRTdHlsZVNoZWV0Q2xpZW50OjpJbXBvcnRlZFN0eWxlU2hlZXRDbGllbnQpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6SW1wb3J0ZWRTdHlsZVNoZWV0Q2xpZW50Ojp+SW1w
b3J0ZWRTdHlsZVNoZWV0Q2xpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltcG9ydFJ1bGU6
OkltcG9ydGVkU3R5bGVTaGVldENsaWVudDo6c2V0Q1NTU3R5bGVTaGVldCk6Ci0KLSAgICAgICAg
ICAgIEJyZWFrIG91dCB0aGUgaW5oZXJpdGFuY2UgZnJvbSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50
IGludG8gYSBtZW1iZXIgdmFyaWFibGUKLSAgICAgICAgICAgIHRoYXQgc2ltcGx5IHJlZGlyZWN0
cyB0aGUgc2V0Q1NTU3R5bGVTaGVldCgpIGNhbGxiYWNrIHRvIHRoZSBDU1NJbXBvcnRSdWxlLgot
Ci0yMDExLTEwLTMxICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgSW5kZXhlZERCOiBSZWN5Y2xlIGN1cnNvciBvYmplY3RzIHdoZW4gY2FsbGluZyBjb250aW51
ZSgpCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEx
NQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KLQotICAgICAgICBUaGUgSW5k
ZXhlZERCIHNwZWMgc2F5cyB0aGF0IGN1cnNvcnMgc2hvdWxkIGJlIHJlY3ljbGVkIHdoZW4gY2Fs
bGluZwotICAgICAgICBjb250aW51ZSgpLiBMZXQgdGhlIElEQlJlcXVlc3Qga2VlcCB0cmFjayBv
ZiB3aGljaCBjdXJzb3IgdG8gcmV0dXJuCi0gICAgICAgIHVwb24gc3VjY2VzcywgYW5kIGhhdmUg
dGhlIGN1cnNvciB1c2UgYSBuZXcgY2FsbGJhY2s6Ci0gICAgICAgIG9uU3VjY2Vzc1dpdGhDb250
aW51YXRpb24oKSB0byBzaWduYWwgdGhhdCB0aGUgY29udGludWUgd2FzIHN1Y2Nlc3NmdWwuCi0K
LSAgICAgICAgV2hlbiB3ZSBzdGFydCB1c2luZyB0aGUgbmV3IGNhbGxiYWNrLCB0aGUKLSAgICAg
ICAgc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbCBsYXlvdXQgdGVz
dCB3aWxsIHN0YXJ0Ci0gICAgICAgIHBhc3NpbmcuCi0KLSAgICAgICAgKiBzdG9yYWdlL0lEQkNh
bGxiYWNrcy5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb25J
bnRlcm5hbCk6Ci0gICAgICAgICogc3RvcmFnZS9JREJSZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OklEQlJlcXVlc3Q6OklEQlJlcXVlc3QpOgotICAgICAgICAoV2ViQ29yZTo6SURCUmVx
dWVzdDo6c2V0Q3Vyc29yKToKLSAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6Om9uU3VjY2Vz
cyk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpvblN1Y2Nlc3NXaXRoQ29udGludWF0
aW9uKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuaDoKLQotMjAxMS0xMS0wMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3Rv
cjogcHJlc2VydmUgc2NyaXB0IGxvY2F0aW9uIGZvciBpbmxpbmUgaGFuZGxlcnMuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM2NwotCi0gICAgICAg
IE1ha2VzIGV2ZW50SGFuZGxlciByZXBvcnQgcG9zaXRpb24sIG5vdCBsaW5lIG51bWJlcjsKLQot
ICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogYmluZGlu
Z3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyOjpDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcik6Ci0g
ICAgICAgICogYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU0xhenlFdmVudExpc3RlbmVyOjpKU0xhenlFdmVudExpc3RlbmVyKToKLSAgICAg
ICAgKFdlYkNvcmU6OkpTTGF6eUV2ZW50TGlzdGVuZXI6OmluaXRpYWxpemVKU0Z1bmN0aW9uKToK
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpKU0xhenlFdmVudExpc3RlbmVyOjpjcmVhdGUpOgotICAgICAgICAqIGJpbmRpbmdz
L2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJv
bGxlcjo6ZXZlbnRIYW5kbGVyUG9zaXRpb24pOgotICAgICAgICAqIGJpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuaDoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRFdmVudExpc3RlbmVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIpOgot
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFNvdXJjZVByb3ZpZGVyLmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRTb3VyY2VQcm92aWRlcjo6U2NyaXB0U291cmNlUHJvdmlkZXIpOgotICAg
ICAgICAqIGJpbmRpbmdzL2pzL1N0cmluZ1NvdXJjZVByb3ZpZGVyLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlN0
cmluZ1NvdXJjZVByb3ZpZGVyOjpTdHJpbmdTb3VyY2VQcm92aWRlcik6Ci0gICAgICAgIChXZWJD
b3JlOjptYWtlU291cmNlKToKLQotMjAxMS0xMS0wMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZs
b3ZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFtTdHlsZXNdIERvIG5v
dCBjaGVjayBpc0VkaXRpbmdBbnlGaWVsZCBpbiBTdHlsZXNTaWRlYmFyUGFuZS5fY3JlYXRlTmV3
UnVsZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEy
MTcKLQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuc2V0IF9jcmVhdGVOZXdSdWxlKToK
LQotMjAxMS0xMS0wMyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgW1F0XSBYMTEgcGx1Z2lucyBuZWVkIHRvIGJlIHJld29ya2VkIGZvciBRdDUKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDIzCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAgRGlzYWJsZSBYMTEgcGx1
Z2lucyB3aXRoIFF0NS4KLSAgICAgICAgKiBmZWF0dXJlcy5wcmk6Ci0KLTIwMTEtMTEtMDMgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgotCi0gICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI5OTEzOC4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvOTkxMzgKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxNDU1Ci0KLSAgICAgICAgSXQgbWFkZSAyMDArIHRlc3RzIGZsYWtleSBvbiBT
TCBhbmQgb24gUXQgKFJlcXVlc3RlZCBieSBPc3N5Ci0gICAgICAgIG9uICN3ZWJraXQpLgotCi0g
ICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpw
YXJzZVNhbmRib3hBdHRyaWJ1dGUpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTElGcmFtZUVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldE9wZW5lcik6Ci0gICAgICAg
IChXZWJDb3JlOjpjcmVhdGVXaW5kb3cpOgotICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5o
OgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldEZvcmNlZFNhbmRib3hGbGFncyk6
Ci0gICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaDoKLSAgICAgICAgKiBsb2FkZXIv
UG9saWN5Q2hlY2tlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQb2xpY3lDaGVja2VyOjpjaGVj
a05ld1dpbmRvd1BvbGljeSk6Ci0gICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5jcHA6Ci0g
ICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOgotICAgICAgICAqIHN2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgot
Ci0yMDExLTExLTAzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBGaXhlZCB3cm9uZyBpbXBsZW1lbnRhdGlvbiBvZiBkb3VibGVWYWx1ZSAlIDJeezY0fS4K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTgwCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0YS4KLQotICAgICAgICBmYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbCB3YXMgZmFpbGlu
ZwotICAgICAgICBiZWNhdXNlIG9mIHRoZSB3cm9uZyBpbXBsZW1lbnRhdGlvbiBvZiBjb252ZXJz
aW9uIGZyb20gYW4gRUNNQVNjcmlwdCB2YWx1ZQotICAgICAgICB0byBhbiBJREwgdW5zaWduZWQg
bG9uZyBsb25nIHZhbHVlIChTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9XZWJJREwvI2VzLXVu
c2lnbmVkLWxvbmctbG9uZykuCi0gICAgICAgIEluIHBhcnRpY3VsYXIsIHRoZSBjYWxjdWxhdGlv
biBvZiBkb3VibGVWYWx1ZSAlIDJeezY0fSB3YXMgd3JvbmcuCi0gICAgICAgIFRoaXMgcGF0Y2gg
aW1wbGVtZW50ZWQgaXQgY29ycmVjdGx5IGluIGRvdWJsZVRvSW50ZWdlcigpIGluIHd0Zi9NYXRo
RXh0cmFzLmguCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RpY3Rpb25hcnkuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6SlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUpOiBVc2VzIGRvdWJsZVRv
SW50ZWdlcigpLgotICAgICAgICAqIGJpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6Z2V0S2V5VmFsdWUpOiBEaXR0by4KLQotMjAx
MS0xMS0wMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEludHJvZHVjZSBTdWdnZXN0Qm94IGZvciBUZXh0UHJvbXB0Ci0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4OAotCi0g
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgRHJpdmUtYnkgZml4
IGZvciBhIHJlZ3Jlc3Npb24gd2hlcmUgY2xpY2tpbmcgaW4gdGhlIERhdGFiYXNlIHF1ZXJ5IHZp
ZXcgZGlkIG5vdCBmb2N1cyB0aGUgcHJvbXB0LgotCi0gICAgICAgICogV2ViQ29yZS5neXBpOgot
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29u
c29sZVZpZXcpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5j
b21wbGV0aW9ucyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBl
Ll9jb21wbGV0aW9ucy5yZWNlaXZlZFByb3BlcnR5TmFtZXMpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fY29tcGxldGlvbnMpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcmVwb3J0Q29tcGxldGlvbnMpOgotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanM6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRh
dGFiYXNlUXVlcnlWaWV3LnByb3RvdHlwZS5hZnRlclNob3cpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkRhdGFiYXNlUXVlcnlWaWV3LnByb3RvdHlwZS5jb21wbGV0aW9ucyk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcucHJvdG90eXBlLl9zZWxlY3RTdGFydC5tb3Zl
QmFja0lmT3V0c2lkZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcu
cHJvdG90eXBlLl9zZWxlY3RTdGFydCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VR
dWVyeVZpZXcucHJvdG90eXBlLl9hcHBlbmRWaWV3UXVlcnlSZXN1bHQpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3LnByb3RvdHlwZS5fYXBwZW5kRXJyb3JRdWVyeVJl
c3VsdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcucHJvdG90eXBl
Ll9hcHBlbmRRdWVyeVJlc3VsdCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVt
ZW50c1BhbmVsLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUG9wb3Zlci5qczoK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5Qb3BvdmVyKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Q
b3BvdmVyLnByb3RvdHlwZS5fcG9zaXRpb25FbGVtZW50KToKLSAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUpOgotICAgICAgICAoKToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRQcm9tcHQuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuVGV4dFByb21wdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5
cGUuc2V0U3VnZ2VzdEZvcmNlYWJsZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21w
dC5wcm90b3R5cGUuX2F0dGFjaEludGVybmFsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0
UHJvbXB0LnByb3RvdHlwZS5fcmVtb3ZlRnJvbUVsZW1lbnQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmRlZmF1bHRLZXlIYW5kbGVyKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5vbktleURvd24pOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmFjY2VwdEF1dG9Db21wbGV0ZSk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuYXV0b0NvbXBsZXRlU29vbik6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuY29tcGxldGUpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLl9jb21wbGV0aW9uc1Jl
YWR5KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5hcHBseVN1
Z2dlc3Rpb24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmFj
Y2VwdFN1Z2dlc3Rpb24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90
eXBlLmlzU3VnZ2VzdEJveFZpc2libGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9t
cHQucHJvdG90eXBlLm1vdmVDYXJldFRvRW5kT2ZQcm9tcHQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRQcm9tcHQucHJvdG90eXBlLnRhYktleVByZXNzZWQpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmVudGVyS2V5UHJlc3NlZCk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUudXBLZXlQcmVzc2VkKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5kb3duS2V5UHJlc3NlZCk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94Q29uZmlnKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3RvcnkpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRQcm9tcHRXaXRoSGlzdG9yeS5wcm90b3R5cGUucHVzaEhpc3RvcnlJdGVtKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3RvcnkucHJvdG90eXBlLmRlZmF1
bHRLZXlIYW5kbGVyKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RC
b3gpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5
cGUuZ2V0IHZpc2libGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2Vz
dEJveC5wcm90b3R5cGUuZ2V0IGhhc1NlbGVjdGlvbik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
VGV4dFByb21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5fb25zY3JvbGxyZXNpemUpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUuX3VwZGF0ZUJv
eFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gu
cHJvdG90eXBlLl9vbmJveG1vdXNlZG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFBy
b21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5oaWRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLnJlbW92ZUZyb21FbGVtZW50KToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLl9hcHBseVN1
Z2dlc3Rpb24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5w
cm90b3R5cGUuYWNjZXB0U3VnZ2VzdGlvbik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFBy
b21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5fb25OZXh0SXRlbSk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5fb25QcmV2aW91c0l0ZW0pOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUudXBk
YXRlU3VnZ2VzdGlvbnNTb29uKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1
Z2dlc3RCb3gucHJvdG90eXBlLnVwZGF0ZVN1Z2dlc3Rpb25zKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLl9vbkl0ZW1Nb3VzZURvd24pOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUuX2Ny
ZWF0ZUl0ZW1FbGVtZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dl
c3RCb3gucHJvdG90eXBlLl91cGRhdGVJdGVtcyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4
dFByb21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5fdXBkYXRlU2VsZWN0aW9uKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJvdG90eXBlLl9jb21wbGV0aW9u
c1JlYWR5KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LlN1Z2dlc3RCb3gucHJv
dG90eXBlLnVwS2V5UHJlc3NlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5T
dWdnZXN0Qm94LnByb3RvdHlwZS5kb3duS2V5UHJlc3NlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94LnByb3RvdHlwZS5lbnRlcktleVByZXNzZWQpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQuU3VnZ2VzdEJveC5wcm90b3R5cGUudGFiS2V5
UHJlc3NlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5TdWdnZXN0Qm94LnBy
b3RvdHlwZS5zcGFjZUtleVByZXNzZWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
V2ViS2l0LnFyYzoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6
Ci0gICAgICAgICguc2VhcmNoLXZpZXcgLnNlYXJjaC1wYW5lbCk6Ci0gICAgICAgICgjc2VhcmNo
LXJlc3VsdHMtcGFuZS1maWxlLWJhc2VkIC5zZWFyY2gtbWF0Y2ggLnNlYXJjaC1tYXRjaC1jb250
ZW50KToKLSAgICAgICAgKC5jdXN0b20tcG9wdXAtaG9yaXpvbnRhbC1zY3JvbGwgOjotd2Via2l0
LXNjcm9sbGJhciwgLmN1c3RvbS1wb3B1cC12ZXJ0aWNhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9s
bGJhcik6Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLWhvcml6b250YWwtc2Nyb2xsIDo6LXdlYmtp
dC1zY3JvbGxiYXItY29ybmVyLCAuY3VzdG9tLXBvcHVwLXZlcnRpY2FsLXNjcm9sbCA6Oi13ZWJr
aXQtc2Nyb2xsYmFyLWNvcm5lcik6Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLWhvcml6b250YWwt
c2Nyb2xsIDo6LXdlYmtpdC1yZXNpemVyLCAuY3VzdG9tLXBvcHVwLXZlcnRpY2FsLXNjcm9sbCA6
Oi13ZWJraXQtcmVzaXplcik6Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLWhvcml6b250YWwtc2Ny
b2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uLCAuY3VzdG9tLXBvcHVwLXZlcnRpY2FsLXNj
cm9sbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbik6Ci0gICAgICAgICguY3VzdG9tLXBvcHVw
LWhvcml6b250YWwtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXI6aG9yaXpvbnRhbDpjb3JuZXIt
cHJlc2VudCk6Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLWhvcml6b250YWwtc2Nyb2xsIDo6LXdl
YmtpdC1zY3JvbGxiYXItdGh1bWI6aG9yaXpvbnRhbCk6Ci0gICAgICAgICguY3VzdG9tLXBvcHVw
LWhvcml6b250YWwtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG9yaXpvbnRhbDpo
b3Zlcik6Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLWhvcml6b250YWwtc2Nyb2xsIDo6LXdlYmtp
dC1zY3JvbGxiYXItdGh1bWI6aG9yaXpvbnRhbDphY3RpdmUpOgotICAgICAgICAoLmN1c3RvbS1w
b3B1cC1ob3Jpem9udGFsLXNjcm9sbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlOmhv
cml6b250YWw6c3RhcnQpOgotICAgICAgICAoLmN1c3RvbS1wb3B1cC1ob3Jpem9udGFsLXNjcm9s
bCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlOmhvcml6b250YWw6ZW5kKToKLSAgICAg
ICAgKC5jdXN0b20tcG9wdXAtaG9yaXpvbnRhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10
cmFjay1waWVjZTpob3Jpem9udGFsOmVuZDpjb3JuZXItcHJlc2VudCk6Ci0gICAgICAgICguY3Vz
dG9tLXBvcHVwLWhvcml6b250YWwtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGll
Y2U6aG9yaXpvbnRhbDpkZWNyZW1lbnQpOgotICAgICAgICAoLmN1c3RvbS1wb3B1cC1ob3Jpem9u
dGFsLXNjcm9sbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlOmhvcml6b250YWw6aW5j
cmVtZW50KToKLSAgICAgICAgKC5jdXN0b20tcG9wdXAtdmVydGljYWwtc2Nyb2xsIDo6LXdlYmtp
dC1zY3JvbGxiYXI6dmVydGljYWw6Y29ybmVyLXByZXNlbnQpOgotICAgICAgICAoLmN1c3RvbS1w
b3B1cC12ZXJ0aWNhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp2ZXJ0aWNhbCk6
Ci0gICAgICAgICguY3VzdG9tLXBvcHVwLXZlcnRpY2FsLXNjcm9sbCA6Oi13ZWJraXQtc2Nyb2xs
YmFyLXRodW1iOnZlcnRpY2FsOmhvdmVyKToKLSAgICAgICAgKC5jdXN0b20tcG9wdXAtdmVydGlj
YWwtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6dmVydGljYWw6YWN0aXZlKToKLSAg
ICAgICAgKC5jdXN0b20tcG9wdXAtdmVydGljYWwtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXIt
dHJhY2stcGllY2U6dmVydGljYWw6c3RhcnQpOgotICAgICAgICAoLmN1c3RvbS1wb3B1cC12ZXJ0
aWNhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZTp2ZXJ0aWNhbDplbmQp
OgotICAgICAgICAoLmN1c3RvbS1wb3B1cC12ZXJ0aWNhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9s
bGJhci10cmFjay1waWVjZTp2ZXJ0aWNhbDplbmQ6Y29ybmVyLXByZXNlbnQpOgotICAgICAgICAo
LmN1c3RvbS1wb3B1cC12ZXJ0aWNhbC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1w
aWVjZTp2ZXJ0aWNhbDpkZWNyZW1lbnQpOgotICAgICAgICAoLmN1c3RvbS1wb3B1cC12ZXJ0aWNh
bC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZTp2ZXJ0aWNhbDppbmNyZW1l
bnQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvcG9wb3Zlci5jc3M6Ci0gICAgICAg
ICgucG9wb3Zlci5yaWdodC1ib3R0b20tYXJyb3cgLmFycm93KToKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL3RleHRQcm9tcHQuY3NzOiBBZGRlZC4KLSAgICAgICAgKC5zdWdnZXN0LWJv
eCk6Ci0gICAgICAgICguc3VnZ2VzdC1ib3gudmlzaWJsZSk6Ci0gICAgICAgICguc3VnZ2VzdC1i
b3ggLmNvbnRhaW5lcik6Ci0gICAgICAgICguc3VnZ2VzdC1ib3gtY29udGVudC1pdGVtKToKLSAg
ICAgICAgKC5zdWdnZXN0LWJveC1jb250ZW50LWl0ZW0gLnByZWZpeCk6Ci0gICAgICAgICguc3Vn
Z2VzdC1ib3gtY29udGVudC1pdGVtLnNlbGVjdGVkKToKLSAgICAgICAgKC5zdWdnZXN0LWJveC1j
b250ZW50LWl0ZW06aG92ZXI6bm90KC5zZWxlY3RlZCkpOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvdXRpbGl0aWVzLmpzOgotICAgICAgICAoc2V0dXBQcm90b3R5cGVVdGlsaXRpZXMu
RWxlbWVudC5wcm90b3R5cGUuYm94SW5XaW5kb3cpOgotCi0yMDExLTExLTAzICBEZXZkYXR0YSBE
ZXNocGFuZGUgIDx3ZWJraXQuZGV2ZGF0dGFAZ21haWwuY29tPgotCi0gICAgICAgIFJFR1JFU1NJ
T04gKHI5NDEzMik6IGJyb2tlIGZhc3QvbG9hZGVyL2xvY2F0aW9uLXBvcnQuaHRtbCBvbiBHVEsK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mjc3Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBJZiBwb3J0IGlzIDAs
IFNvdXBVUkkgZG9lcyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IHNwZWNpZmllZCBwb3J0LiBEdWUK
LSAgICAgICAgdG8gdGhpcyBwb3J0IHZhbHVlIGlzIGlnbm9yZWQgaW4gU291cFVSSS4gSGVuY2Us
IGFuIGV4dHJhIGNoZWNrIGlzCi0gICAgICAgIHJlcXVpcmVkIHRvIHJlc3RvcmUgdGhlIHBvcnQu
Ci0KLSAgICAgICAgVGVzdDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvbG9jYXRpb24tcG9ydC5o
dG1sCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291
cC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21Tb3Vw
TWVzc2FnZSk6Ci0KLTIwMTEtMTEtMDMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBBbGxvdyB0aGUgdG9vbGJhciBiYWNrZ3Jv
dW5kIHRvIGJlIHRyYW5zcGFyZW50IG9uIG1hYyBwbGF0Zm9ybXMgd2hlbiByZW1vdGUKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDM3Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmNzczoKLSAgICAgICAgKGJvZHkuZGV0YWNoZWQucGxhdGZvcm0t
bWFjLXNub3dsZW9wYXJkICN0b29sYmFyKToKLQotMjAxMS0xMS0wMiAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIENTUCBzaG91bGQgaGFuZGxlIGVtcHR5IFVSTHMg
YXMgYWdyZWVkIGF0IFRQQUMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxNDI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAg
ICAgICAgSXQgd2FzIHNvbWV3aGF0IHVuY2xlYXIgaG93IENTUCBzaG91bGQgdHJlYXQgcGx1Z2lu
cyB0aGF0IGxhY2tlZCBhIFVSTAotICAgICAgICBiZWNhdXNlIG1vc3Qgb2YgdGhlIENTUCBydWxl
cyBhcmUgVVJMLWJhc2VkLiAgQXQgVFBBQywgd2UgZGVjaWRlZCB0bwotICAgICAgICB0cmVhdCAi
ZW1wdHkiIFVSTHMgYXMgaWYgdGhlcmUgd2VyZSB0aGUgVVJMIG9mIHRoZSBkb2N1bWVudC4gIFRo
YXQKLSAgICAgICAgbWVhbnMgeW91IGNhbiB1c2UgcGx1Z2lucyB3aXRoIG5vIFVSTCBpZiB5b3Un
dmUgaW5jbHVkZWQgJ3NlbGYnIGluCi0gICAgICAgIG9iamVjdC1zcmMsIGJ1dCB5b3UgY2FuIGFs
c28gYmxvY2sgdGhlbSBieSB1c2luZyAnbm9uZScgYXMgeW91cgotICAgICAgICBvYmplY3Qtc3Jj
LgotCi0gICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9vYmplY3Qtc3JjLW5vLXVybC1hbGxvd2VkLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtbm8tdXJsLWJs
b2NrZWQuaHRtbAotICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1ub25lLWFsbG93ZWQuaHRtbAotICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1ub25l
LWJsb2NrZWQuaHRtbAotCi0gICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlOjpDU1BEaXJlY3RpdmUpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlOjphbGxvd3MpOgotICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5OjpjcmVhdGVDU1BEaXJlY3RpdmUpOgotCi0yMDExLTExLTAyICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgSW1wbGVtZW50IGFsbG93
LXBvcHVwcyBmb3IgaWZyYW1lQHNhbmRib3gKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2NTA1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlk
ZWwuCi0KLSAgICAgICAgVGhlcmUncyBiZWVuIHNvbWUgZGlzY3Vzc2lvbiBpbiB0aGUgSFRNTCB3
b3JraW5nIGdyb3VwIGFib3V0IGFkZGluZyBhbgotICAgICAgICBhbGxvdy1wb3B1cHMgZGlyZWN0
aXZlIHRvIHRoZSBpZnJhbWUgc2FuZGJveC4gIE1pY3Jvc29mdCBoYXMgYWRkZWQgaXQKLSAgICAg
ICAgdG8gSUUxMCBwbGF0Zm9ybSBwcmV2aWV3IGFuZCBpcyBmYWlybHkgYWRhbWFudCBhYm91dCB0
aGlzIGZlYXR1cmUKLSAgICAgICAgYmVjYXVzZSBpdCdzIG5lZWRlZCBieSBvbmUgb3IgdGhlaXIg
cHJvZHVjdHMgdGhhdCdzIHBsYW5uaW5nIHRvIHVzZQotICAgICAgICBpZnJhbWUgc2FuZGJveC4g
IEhpeGllIHNheXMgaGUnbGwgYWRkIGl0IHRvIHRoZSBzcGVjIG9uY2Ugd2UgaW1wbGVtZW50Ci0g
ICAgICAgIGl0LCBzbyBoZXJlJ3Mgb3VyIGltcGxlbWVudGF0aW9uLiAgKFNlZSBkaXNjdXNzaW9u
IGluIHRoZSBXM0MgbGlua2VkIGluCi0gICAgICAgIHRoZSBidWcgZm9yIG1vcmUgZGV0YWlscy4p
Ci0KLSAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvcG9wdXAtYWxsb3dlZC1ieS1z
YW5kYm94LWlzLXNhbmRib3hlZC1jb250cm9sLmh0bWwKLSAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvcG9wdXAtYWxsb3dlZC1ieS1zYW5kYm94LWlzLXNhbmRib3hlZC5odG1sCi0g
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3BvcHVwLWFsbG93ZWQtYnktc2FuZGJv
eC13aGVuLWFsbG93ZWQuaHRtbAotCi0gICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUpOgotICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6c2V0T3BlbmVyKToKLSAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdp
bmRvdyk6Ci0gICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6Zm9yY2VTYW5kYm94RmxhZ3MpOgotICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlclR5cGVzLmg6Ci0gICAgICAgICogbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOZXdXaW5kb3dQb2xpY3kpOgotICAg
ICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW46OnBhcnNlU2FuZGJveFBvbGljeSk6Ci0gICAgICAgICogcGFnZS9TZWN1cml0eU9y
aWdpbi5oOgotICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OnNhbmRib3hGbGFncyk6
Ci0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6Ci0KLTIwMTEtMTEtMDIgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KLQotICAgICAgICBSZW1vdmUgdGhlIGFiaWxpdHkgdG8gZ2VuZXJhdGUgY3Vz
dG9tIGxvb2t1cEdldHRlci9sb29rdXBTZXR0ZXIgZnVuY3Rpb25zLAotICAgICAgICBub3cgdGhh
dCB0aGV5IGNhbiBub3QgYmUgb3ZlcnJpZGRlbiAKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IFJvYmVuLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0KLTIwMTEtMTEtMDIgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KLQotICAgICAgICBGaXggY3Jhc2hpbmcgdGVzdHMgYWZ0ZXIgcjk5MTI2
IChjb21taXQgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTMw
NykKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgotCi0gICAgICAgICogYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRv
d1NoZWxsOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgU2luY2Ugd2UgYXJlIHByb3h5
aW5nIHRvIHRoZSB3aW5kb3csIHdlIG5lZWQgdG8gcGFzcyBpdCBhcyB0aGUgdGhpcyBvYmplY3Qs
Ci0gICAgICAgIG5vdCB0aGUgc2hlbGwuCi0KLTIwMTEtMTEtMDIgIEVyaWsgQXJ2aWRzc29uICA8
YXJ2QGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUgTGVnYWN5RGVmYXVsdE9wdGlvbmFs
QXJndW1lbnRzIGZsYWcgZnJvbSBzdG9yYWdlIElETCBmaWxlcwotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NDQKLQotICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgotCi0gICAgICAgIFRlc3Q6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2UvbWlzc2luZy1hcmd1bWVudHMuaHRtbAotCi0gICAgICAgICogc3RvcmFnZS9EYXRhYmFz
ZUNhbGxiYWNrLmlkbDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuaWRsOgotICAgICAg
ICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsOgotICAgICAgICAqIHN0b3JhZ2UvU1FMUmVz
dWx0U2V0Um93TGlzdC5pZGw6Ci0gICAgICAgICogc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFj
ay5pZGw6Ci0gICAgICAgICogc3RvcmFnZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmlkbDoK
LSAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmlkbDoKLSAgICAgICAgKiBzdG9yYWdl
L1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsOgotICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25FcnJvckNhbGxiYWNrLmlkbDoKLSAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9u
U3luYy5pZGw6Ci0gICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5p
ZGw6Ci0gICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmlkbDoKLSAgICAgICAgKiBzdG9yYWdlL1N0
b3JhZ2VJbmZvLmlkbDoKLSAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFj
ay5pZGw6Ci0gICAgICAgICogc3RvcmFnZS9TdG9yYWdlSW5mb1F1b3RhQ2FsbGJhY2suaWRsOgot
ICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmlkbDoKLQotMjAxMS0x
MS0wMiAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXBsYWNl
IHVzYWdlIG9mIFN0cmluZ0ltcGwgd2l0aCBTdHJpbmcgd2hlcmUgcG9zc2libGUgaW4gQ2hhcmFj
dGVyRGF0YSBhbmQgVGV4dAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEzODMKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAg
ICAgICBSeW9zdWtlIE5pd2EsIGluIGh0dHA6Ly93ZWJraXQub3JnL2IvNzA4NjIsIGFza2VkIG1l
IHRvIHJlcGxhY2UgdXNhZ2VzCi0gICAgICAgIG9mIFN0cmluZyB3aXRoIFN0cmluZ0ltcGwuIEkn
dmUgZG9uZSBtb3JlIHRoYW4gd2hhdCBoZSBhc2tlZCBpbiB0aGlzCi0gICAgICAgIHBhdGNoLCB0
aGUgYmlnZ2VzdCBjaGFuZ2UgYmVpbmcgdGhhdCBDaGFyYWN0ZXJEYXRhIG5vdyBob2xkcyBhIFN0
cmluZwotICAgICAgICBpbnN0ZWFkIG9mIGEgUmVmUHRyPFN0cmluZ0ltcGw+LgotCi0gICAgICAg
IE5vIG5ldyB0ZXN0cywgYXMgdGhpcyBzaG91bGQgaGF2ZSBubyBlZmZlY3Qgb24gYmVoYXZpb3Iu
Ci0KLSAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpD
aGFyYWN0ZXJEYXRhOjpzZXREYXRhKToKLSAgICAgICAgKFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6
OnN1YnN0cmluZ0RhdGEpOgotICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6cGFyc2Vy
QXBwZW5kRGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjphcHBlbmREYXRh
KToKLSAgICAgICAgKFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6Omluc2VydERhdGEpOgotICAgICAg
ICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6ZGVsZXRlRGF0YSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDaGFyYWN0ZXJEYXRhOjpyZXBsYWNlRGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGFyYWN0
ZXJEYXRhOjpjb250YWluc09ubHlXaGl0ZXNwYWNlKToKLSAgICAgICAgKFdlYkNvcmU6OkNoYXJh
Y3RlckRhdGE6OnNldERhdGFBbmRVcGRhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVy
RGF0YTo6dXBkYXRlUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6
ZGlzcGF0Y2hNb2RpZmllZEV2ZW50KToKLSAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgot
ICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6bGVuZ3RoKToKLSAgICAgICAgKFdlYkNv
cmU6OkNoYXJhY3RlckRhdGE6OmRhdGFJbXBsKToKLSAgICAgICAgKFdlYkNvcmU6OkNoYXJhY3Rl
ckRhdGE6OkNoYXJhY3RlckRhdGEpOgotICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6
c2V0RGF0YVdpdGhvdXRVcGRhdGUpOgotICAgICAgICAqIGRvbS9UZXh0LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlRleHQ6OnNwbGl0VGV4dCk6Ci0KLTIwMTEtMTEtMDIgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTMwNwotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICBBZGRlZCBnZXRPd25Qcm9wZXJ0
eU5hbWVzIHRvIHRoZSBNZXRob2RUYWJsZSwgY2hhbmdlZCBhbGwgdGhlIHZpcnR1YWwgCi0gICAg
ICAgIGltcGxlbWVudGF0aW9ucyBvZiBnZXRPd25Qcm9wZXJ0eU5hbWVzIHRvIHN0YXRpYyBvbmVz
LCBhbmQgcmVwbGFjZWQgCi0gICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVzcG9uZGlu
ZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NU3RyaW5nTWFwOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlOYW1lcyk6Ci0gICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1No
ZWxsOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1NoZWxsLmg6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkpTSGlzdG9yeTo6Z2V0T3duUHJvcGVydHlOYW1lcyk6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpKU0xvY2F0aW9uOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1N0b3JhZ2VDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNTdG9yYWdlOjpnZXRP
d25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRWYWx1ZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpqc1RvSW5zcGVjdG9yVmFsdWUpOgotICAgICAgICAqIGJpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDbG9u
ZVNlcmlhbGl6ZXI6OnNlcmlhbGl6ZSk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0gICAgICAgIChHZW5l
cmF0ZUltcGxlbWVudGF0aW9uKToKLSAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5jcHA6
Ci0gICAgICAgIChKU0M6OkJpbmRpbmdzOjpRdFJ1bnRpbWVNZXRhTWV0aG9kOjpnZXRPd25Qcm9w
ZXJ0eU5hbWVzKToKLSAgICAgICAgKEpTQzo6QmluZGluZ3M6OlF0UnVudGltZUNvbm5lY3Rpb25N
ZXRob2Q6OmdldE93blByb3BlcnR5TmFtZXMpOgotICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50
aW1lLmg6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgotICAgICAgICAoSlND
OjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5TmFtZXMpOgotICAgICAgICAqIGJyaWRnZS9y
dW50aW1lX2FycmF5Lmg6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKLSAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMp
OgotICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5oOgotCi0yMDExLTExLTAyICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgZm9yY2UgaW5saW5lIGZsZXhp
dGVtcyB0byBiZSB3cmFwcGVkIGluIGFub255bW91cyBibG9ja3MKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzE0Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgT2phbiBWYWZhaS4KLQotICAgICAgICBJZiB0aGVyZSBpcyBhIG1peCBvZiBpbmxpbmUgYW5k
IGJsb2NrIGl0ZW1zLCBhbGwgdGhlIGlubGluZSBpdGVtcyB3ZXJlIGFscmVhZHkgZ2V0dGluZyB3
cmFwcGVkCi0gICAgICAgIChzZWUgUmVuZGVyQmxvY2s6OmFkZENoaWxkSWdub3JpbmdBbm9ueW1v
dXNDb2x1bW5CbG9ja3MpLiAgSG93ZXZlciwgaWYgdGhlcmUgYXJlIG9ubHkgaW5saW5lIGl0ZW1z
LAotICAgICAgICB3ZSBuZWVkIHRvIGZvcmNlIHRoZW0gaW50byBhbiBhbm9ueW1vdXMgYmxvY2su
Ci0KLSAgICAgICAgVGhlcmUgYXJlIHN0aWxsIGxvdHMgb2YgYnVncyBiZWNhdXNlIHdlJ3JlIHRy
eWluZyB0byByZWFkIHN0eWxlIHZhbHVlcyBmcm9tIHRoZSBhbm9ueW1vdXMgYmxvY2ssCi0gICAg
ICAgIGJ1dCB0aGlzIGF0IGxlYXN0IGNhdXNlcyBsYXlvdXQgdG8gYmUgY2FsbGVkIG9uIGFsbCB0
aGUgcmVuZGVyIG9iamVjdHMuCi0KLSAgICAgICAgVGVzdHM6IGNzczMvZmxleGJveC9hbm9ueW1v
dXMtYmxvY2suaHRtbAotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpUcmVlT3JkZXJJdGVyYXRv
cjo6bmV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6RmxleE9yZGVy
SXRlcmF0b3I6Om5leHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OlJl
bmRlckZsZXhpYmxlQm94KTogZm9yY2UgY2hpbGRyZW4gaW50byBibG9ja3MKLQotMjAxMS0xMS0w
MiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+Ci0KLSAgICAgICAgQWRkIEVOQUJMRV9D
U1NfU0hBREVSUyBmbGFnCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTM5NAotCi0gICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0KLSAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKLQotMjAxMS0xMS0w
MiAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgU3dpdGNoIFJl
bmRlclRleHQgdG8gbmV3IGxheW91dCB0eXBlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzODkKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KLQotICAgICAgICBTd2l0Y2ggUmVuZGVyVGV4dCBtZXRob2RzIChhbmQgb3ZlcnJpZGVu
IG1ldGhvZHMgaW4gcmVsYXRlZCBjbGFzc2VzKSB0bwotICAgICAgICBMYXlvdXRSZWN0L0xheW91
dFVuaXQuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6YWJzb2x1dGVSZWN0
c0ZvclJhbmdlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmxpbmVzQm91bmRpbmdC
b3gpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bGluZXNWaXN1YWxPdmVyZmxvd0Jv
dW5kaW5nQm94KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgotICAgICAgICBD
aGFuZ2UgUmVuZGVyVGV4dCB0byBleHBvc2UgaXRzIGJvdW5kaW5nIGJveCwgc2VsZWN0aW9uIGFu
ZCBjYXJldCByZWN0cwotICAgICAgICBhcyBMYXlvdXRSZWN0cy4KLSAgICAgICAgCi0gICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR0lubGluZVRleHQ6OmxvY2FsQ2FyZXRSZWN0KToKLSAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaDoKLSAgICAgICAgQ2hhbmdlIGxvY2FsQ2Fy
ZXRSZWN0IHRvIHJldHVybiBhIExheW91dFJlY3QuCi0KLTIwMTEtMTEtMDIgIExldmkgV2VpbnRy
YXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEluZmluaXRlIHJlY3Vyc2lvbiBp
biBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6bWFya0FsbENsaWVudHNGb3JJbnZhbGlkYXRp
b24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzg0
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgQWRkaW5nIGEg
cmVlbnRyYW5jeSBndWFyZCB0byBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB0byBwcmV2ZW50
IGluZmluaXRlIHJlY3Vyc2lvbiB3aGVuCi0gICAgICAgIHJlc291cmNlcyByZWZlcmVuY2Ugb25l
IGFub3RoZXIgYW5kIHNoYXJlIGlkcy4KLQotICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL3Jlc291
cmNlLWludmFsaWRhdGlvbi1jcmFzaC5zdmcKLQotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjptYXJrQWxsQ2xpZW50c0Zvcklu
dmFsaWRhdGlvbik6Ci0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lci5oOgotCi0yMDExLTExLTAyICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KLQot
ICAgICAgICBFeHBhbmQgRHJhZ0NvbnRyb2xsZXIgdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9u
IGFib3V0IHRoZSBkcmFnZ2luZyBzZXNzaW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTMyNAotICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAzNzkx
NzU+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0gICAgICAgICogcGFnZS9EcmFnQ29udHJv
bGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWQp
OgotICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdVcGRhdGVkKToKLSAgICAg
ICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkcmFnRW50ZXJlZE9yVXBkYXRlZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6dHJ5RG9jdW1lbnREcmFnKTogSW4gYWRkaXRp
b24gdG8gZGV0ZXJtaW5pbmcgdGhlCi0gICAgICAgIGRyYWcgb3BlcmF0aW9uLCBEcmFnU2Vzc2lv
biBpcyB1cGRhdGVkIHdpdGggZGF0YSByZWdhcmRpbmcgd2hldGhlciB0aGUgbW91c2UKLSAgICAg
ICAgaXMgb3ZlciBhIGZpbGUgaW5wdXQsIGFuZCB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRoYXQgd291
bGQgYmUgYWNjZXB0ZWQgYmFzZWQgb24KLSAgICAgICAgdGhlIG1vdXNlJ3MgbG9jYXRpb24uCi0g
ICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5oOgotICAgICAgICAqIHBhZ2UvRHJhZ1Nlc3Np
b24uaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpEcmFnU2Vzc2lvbjo6RHJhZ1Nlc3Npb24p
OiBLZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3BlcmF0aW9uLCB3aGV0aGVyCi0gICAgICAgIHRoZSBt
b3VzZSBpcyBvdmVyIGEgZmlsZSBpbnB1dCBlbGVtZW50LCBhbmQgaG93IG1hbnkgZmlsZXMgd291
bGQgYmUgYWNjZXB0ZWQgaWYKLSAgICAgICAgZHJvcHBlZC4KLSAgICAgICAgKiBwbGF0Zm9ybS9E
cmFnRGF0YS5oOiBBZGRlZCBudW1iZXJPZkZpbGVzKCkKLSAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9EcmFnRGF0YUNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRyYWdEYXRhOjpu
dW1iZXJPZkZpbGVzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9lZmwvRHJhZ0RhdGFFZmwuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6Om51bWJlck9mRmlsZXMpOgotICAgICAgICAqIHBs
YXRmb3JtL2d0ay9EcmFnRGF0YUd0ay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6
bnVtYmVyT2ZGaWxlcyk6Ci0gICAgICAgICogcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tOgot
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6Om51bWJlck9mRmlsZXMpOgotICAgICAgICAqIHBs
YXRmb3JtL3F0L0RyYWdEYXRhUXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6Om51
bWJlck9mRmlsZXMpOgotICAgICAgICAqIHBsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6bnVtYmVyT2ZGaWxlcyk6Ci0gICAgICAgICogcGxh
dGZvcm0vd2luY2UvRHJhZ0RhdGFXaW5DRS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEcmFnRGF0
YTo6bnVtYmVyT2ZGaWxlcyk6Ci0gICAgICAgICogcGxhdGZvcm0vd3gvRHJhZ0RhdGFXeC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6bnVtYmVyT2ZGaWxlcyk6Ci0KLTIwMTEtMTEt
MDIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+Ci0KLSAgICAgICAgRW1lZGRl
ZCBQREZzIGNhbm5vdCBiZSBvcGVuZWQgZnJvbSBXZWIgYXJjaGl2ZXMKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTU0Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgT2xpdmVyIEh1bnQuCi0KLSAgICAgICAgQnVpbHRJblBERlBsdWdpbiBkb2Vzbid0IGhh
dmUgYWNjZXNzIHRvIG9yaWdpbmFsIFJlc291cmNlUmVzcG9uc2UgYW5kIGhhcyB0byByZS1jcmVh
dGUgaXQKLSAgICAgICAgSXQgZG9lc24ndCBzZWVtIHRvIGJlIHBvc3NpYmxlIHRvIGNyZWF0ZSBh
biBOU1VSTFJlc3BvbnNlIHdpdGggYSBub24tbnVsbCBIVFRQIHN0YXR1cyBjb2RlLAotICAgICAg
ICBhbmQgTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIgYmVjb21lcyB1bmhhcHB5LgotCi0gICAg
ICAgICogbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcDogKFdlYkNvcmU6Ok5l
dHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgotICAgICAgICBB
bGxvdyAwIHN0YXR1cyBjb2RlLCBpdCdzIG5vdCBhIHJlYWwgZXJyb3IgdG8gaGF2ZSBvbmUgaW4g
cmVzcG9uc2UuCi0KLTIwMTEtMTAtMzEgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIFtjaHJvbWl1bV0gU2xvdyBkb3duIGNvbW1pdCBhbmQgZHJhdyByYXRlIGJhc2Vk
IG9uIHZpc2liaWxpdHkgYW5kIGRyYXcgY29tcGxldGlvbgotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjcKLQotICAgICAgICBSZXZpZXdlZCBieSBK
YW1lcyBSb2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojp2
aXNpYmxlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjp2
aXNpYmxlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVk
dWxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6YmVnaW5GcmFtZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMpOgot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmg6Ci0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1h
Y2hpbmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6Om5l
eHRBY3Rpb24pOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OnVw
ZGF0ZVN0YXRlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZS5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94
eTo6dmlzaWJsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aHJlYWRQcm94eS5oOgotCi0yMDExLTExLTAyICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+Ci0KLSAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwMzM2NzAwPiBBZGQgQVBJIHRvIGdldCBy
ZW5kZXJlZCB0ZXh0IGltYWdlIHdpdGhvdXQgaGF2aW5nIHRvIHNlbGVjdCBpdAotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0MDcKLQotICAgICAgICBS
ZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCi0KLSAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9U
ZXN0cy9tYWMvUmVuZGVyZWRJbWFnZUZyb21ET01SYW5nZS5tbQotCi0gICAgICAgICogYmluZGlu
Z3Mvb2JqYy9ET00ubW06Ci0gICAgICAgICgtW0RPTVJhbmdlIHJlbmRlcmVkSW1hZ2VGb3JjaW5n
QmxhY2tUZXh0Ol0pOiBBZGRlZC4KLSAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUu
aDoKLSAgICAgICAgKiBwYWdlL0ZyYW1lLmg6Ci0gICAgICAgICogcGFnZS9tYWMvRnJhbWVNYWMu
bW06Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZTo6cmFuZ2VJbWFnZSk6IEFkZGVkLiBTZXRzIHRo
ZSBzZWxlY3Rpb24gaW4gdGhlIFJlbmRlclZpZXcgKG9ubHkpIGJhc2VkIG9uIHRoZQotICAgICAg
ICBnaXZlbiByYW5nZSBhbmQgZ2V0cyBhIHNlbGVjdGlvbi1vbmx5IHJlbmRlcmluZyBvZiB0aGUg
dmlldywgdGhlbiByZXN0b3JlcyB0aGUgc2VsZWN0aW9uLgotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNldFNlbGVjdGlv
bik6IFNraXAgYWxsIGludmFsaWRhdGlvbiBpZiB0aGUgcmVwYWludCBiZWhhdmlvciBpcyBSZXBh
aW50Tm90aGluZy4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmdldFNlbGVjdGlvbik6
IEFkZGVkIHRoaXMgZ2V0dGVyLgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6Ci0K
LTIwMTEtMTEtMDIgIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
WFNTQXVkaXRvciBpcyBzaWxlbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwOTczCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQot
ICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy13
aXRoLWNhbGxiYWNrcy5odG1sCi0KLSAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OlhTU0F1ZGl0b3IpOgotICAgICAgICAo
V2ViQ29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4pOgotICAgICAgICAqIGh0bWwvcGFyc2Vy
L1hTU0F1ZGl0b3IuaDoKLSAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6Ci0gICAgICAg
IChXZWJDb3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaWREZXRlY3RYU1MpOgotICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgotCi0yMDExLTExLTAyICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgotCi0gICAgICAgIEFzc2VydGlvbiBpbiBGb250
Q2FjaGU6OmdldENhY2hlZEZvbnREYXRhKCkgd2hlbiBwYWludGluZyBpbnRvIGNvbXBvc2l0ZWQg
bGF5ZXIKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
Mzc3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgotCi0gICAgICAgIEFk
ZCBvbmUgb2YgdGhlIG15c3RlcmlvdXMgRm9udENhY2hlUHVyZ2VQcmV2ZW50ZXJzIG9uIHRoZSBz
dGFjayB3aGVuIHBhaW50aW5nCi0gICAgICAgIGNvbXBvc2l0aW5nIGxheWVycywganVzdCBhcyBG
cmFtZVZpZXc6OnBhaW50Q29udGVudHMgZG9lcywgdG8gZml4IGFuIGFzc2VydGlvbgotICAgICAg
ICBzZWVuIG9uIHRoZSBib3RzIHdpdGggc29tZSBsYXlvdXQgdGVzdHMuCi0KLSAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6cGFpbnRJbnRvTGF5ZXIpOgotCi0yMDExLTExLTAyICBUb21teSBXaWRl
bmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgotCi0gICAgICAgIE1lZGlhU3RyZWFtUmVnaXN0
cnkgc2hvdWxkIGhvbGQgcmVmZXJlbmNlcyB0byBNZWRpYVN0cmVhbURlc2NyaXB0b3IgcmF0aGVy
IHRoYW4gTWVkaWFTdHJlYW0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwODk2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAg
ICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92aWRlZCBieSB0
aGUgYnVnIDU2NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5kZWQgY29kZS4KLQotICAgICAgICAqIG1l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0ZXJNZWRpYVN0cmVhbVVSTCk6Ci0gICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyTWVkaWFTdHJlYW1VUkwpOgotICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9va3VwTWVkaWFTdHJlYW1EZXNj
cmlwdG9yKToKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5Lmg6Ci0K
LTIwMTEtMTEtMDIgIFpvbHRhbiBIZXJjemVnICA8emhlcmN6ZWdAd2Via2l0Lm9yZz4KLQotICAg
ICAgICBNYXRjaCBhbGxvd2VkIENTUyBzdHJpbmcgY2hhcmFjdGVycyB0byBGaXJlZm94IGFuZCBP
cGVyYSBicm93c2VycwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEwMDAKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAg
ICBGaXJlZm94IGFuZCBPcGVyYSBhY2NlcHRzIGFueSBjaGFyYWN0ZXIgaW5zaWRlIGEgc3RyaW5n
IGV4Y2VwdAotICAgICAgICBuZXdsaW5lIGFuZCBzdGFydGluZyBxdW90ZSBjaGFyYWN0ZXIuIFRo
aXMgYmVoYXZpb3VyIG1hdGNoZXMgdG8KLSAgICAgICAgdGhlIENTUyAyLjEgZ3JhbW1hcjogaHR0
cDovL3d3dy53My5vcmcvVFIvQ1NTMi9ncmFtbWFyLmh0bWwKLSAgICAgICAgV2ViS2l0IHNob3Vs
ZCBmb2xsb3cgdGhlbS4KLQotICAgICAgICBUZXN0OiBmYXN0L2Nzcy9wYXJzaW5nLWNzcy1hbGxv
d2VkLXN0cmluZy1jaGFyYWN0ZXJzLmh0bWwKLQotICAgICAgICAqIGNzcy90b2tlbml6ZXIuZmxl
eDoKLQotMjAxMS0xMS0wMiAgRGV2ZGF0dGEgRGVzaHBhbmRlICA8cHdqZDczQG1vdG9yb2xhLmNv
bT4KLQotICAgICAgICBBc3NlcnQgaW4gTW92ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjc3Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgotCi0gICAgICAgIEEgTW92ZVNlbGVjdGlv
bkNvbW1hbmQgc2hvdWxkIGJlIGZpcmVkIG9ubHkgaWYgdGhlIHNlbGVjdGlvbiB0eXBlIGlzCi0g
ICAgICAgIFJhbmdlU2VsZWN0aW9uLCBzaW5jZSBub3RoaW5nIGlzIHNlbGVjdGVkIGluIG90aGVy
IGNhc2VzLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2RyYWctbGluay5odG1sCi0KLSAg
ICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRyYWdD
b250cm9sbGVyOjpkcmFnSXNNb3ZlKToKLQotMjAxMS0xMS0wMiAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+Ci0KLSAgICAgICAgPGlucHV0PWZpbGUgbXVsdGlwbGU+IGRlZmF1bHQgdGV4dCB1
c2VzIHNpbmd1bGFyIGluc3RlYWQgb2YgcGx1cmFsCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTMxOQotICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAz
NzkwMjE+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgQWRk
ZWQgYSBuZXcgbWV0aG9kIHRvIHJldHVybiB0aGUgbGFiZWwgdGV4dCBmb3IgYSBmaWxlIHVwbG9h
ZCBjb250cm9sIHRoYXQKLSAgICAgICAgYWxsb3dzIG11bHRpcGxlIGZpbGVzLiBOZWVkZWQgdG8g
ZXh0ZW5kIHRoZSBSZW5kZXJUaGVtZSBmdW5jdGlvbiB0byBwYXNzIGRvd24KLSAgICAgICAgYSBi
b29sZWFuIHJlcHJlc2VudGluZyB3aGV0aGVyIG11bHRpcGxlIGZpbGVzIGFyZSBhbGxvd2VkIGlu
IHRoZSBmaWxlIGxpc3QuCi0KLSAgICAgICAgKiBFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3M6Ci0gICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkZpbGVJbnB1dFR5cGU6OmRlZmF1bHRUb29sVGlwKToKLSAgICAgICAgKiBwbGF0Zm9ybS9E
ZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RGVmYXVs
dExvY2FsaXphdGlvblN0cmF0ZWd5OjpmaWxlQnV0dG9uTm9GaWxlc1NlbGVjdGVkTGFiZWwpOgot
ICAgICAgICAqIHBsYXRmb3JtL0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5oOgotICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXphdGlvblN0cmF0ZWd5Lmg6Ci0gICAgICAgICogcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpmaWxlQnV0dG9uTm9GaWxl
c1NlbGVjdGVkTGFiZWwpOgotICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoK
LSAgICAgICAgKiBwbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpmaWxlQnV0dG9uTm9GaWxlc1NlbGVjdGVkTGFiZWwpOgotICAgICAgICAqIHBs
YXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmZp
bGVCdXR0b25Ob0ZpbGVzU2VsZWN0ZWRMYWJlbCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3RrL1Jl
bmRlclRoZW1lR3RrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lR3RrOjpmaWxl
TGlzdE5hbWVGb3JXaWR0aCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpmaWxlTGlzdE5hbWVGb3JXaWR0aCk6Ci0gICAgICAgICog
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgotICAgICAgICAqIHBsYXRmb3JtL3d4L0xvY2Fs
aXplZFN0cmluZ3NXeC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpmaWxlQnV0dG9uTm9GaWxlc1Nl
bGVjdGVkTGFiZWwpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6ZmlsZVRl
eHRWYWx1ZSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lOjpmaWxlTGlzdE5hbWVGb3JXaWR0aCk6Ci0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmZpbGVMaXN0TmFtZUZvcldpZHRoKToKLQotMjAxMS0x
MS0wMiAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3NpQG5va2lhLmNvbT4KLQotICAgICAgICBb
UXRdIEZpeCB0aGUgYnVpbGQgd2l0aCBOT19MSVNUQk9YX1JFTkRFUklORwotCi0gICAgICAgIFVu
cmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHI5OTAzNS4KLQotICAgICAgICBQYXRjaCBieSBNaWNo
YWVsIEJydW5pbmcgPG1pY2hhZWwuYnJ1bmluZ0Bub2tpYS5jb20+Ci0KLSAgICAgICAgTm8gbmV3
IHRlc3RzIG5lZWRlZC4KLQotICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hTZWxlY3RJdGVtKToK
LQotMjAxMS0xMC0yOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KLQotICAgICAg
ICBkaXYgeyBkaXNwbGF5OiBub25lOyB9IG1ha2VzIHBhc3RpbmcgaW50byB0ZXh0IGZpZWxkcyBp
bXBvc3NpYmxlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNzY4MwotCi0gICAgICAgIFJldmlld2VkIGJ5IEVucmljYSBDYXN1Y2NpLgotCi0gICAgICAg
IFRoZSBidWcgd2FzIGNhdXNlZCBieSBpbnNlcnRGcmFnbWVudEZvclRlc3RSZW5kZXJpbmcncyBh
bHdheXMgaW5zZXJ0aW5nIGEgbm9kZSBmb3IgdGVzdCByZW5kZXJpbmcKLSAgICAgICAgaW50byBk
b2N1bWVudCdzIGJvZHkuCi0KLSAgICAgICAgRml4ZWQgdGhlIGJ1ZyBieSBpbnNlcnRpbmcgdGhl
IG5vZGUgZm9yIHRlc3QgcmVuZGVyaW5nIGludG8gdGhlIHJvb3QgZWRpdGFibGUgZWxlbWVudC4g
SW4gYWRkaXRpb24sCi0gICAgICAgIHJlbW92ZSB0aGUgbm9kZSBiZWZvcmUgZGlzcGF0Y2hpbmcg
YmVmb3JlVGV4dEluc2VydGVkIGV2ZW50IHRvIGF2b2lkIGV2ZW50IGxpc3RlbmVycywgaW4gcGFy
dGljdWxhcgotICAgICAgICBUZXh0RmllbGRJbnB1dFR5cGU6OmhhbmRsZUJlZm9yZVRleHRJbnNl
cnRlZEV2ZW50LCBmcm9tIHNlZWluZyB0aGUgdGVzdCBub2RlLgotCi0gICAgICAgIFRlc3Q6IGVk
aXRpbmcvcGFzdGVib2FyZC9pbnB1dC13aXRoLWRpc3BsYXktbm9uZS1kaXYuaHRtbAotCi0gICAg
ICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpSZXBsYWNlbWVudEZyYWdtZW50OjpSZXBsYWNlbWVudEZyYWdtZW50KToKLSAgICAgICAg
KFdlYkNvcmU6OlJlcGxhY2VtZW50RnJhZ21lbnQ6Omluc2VydEZyYWdtZW50Rm9yVGVzdFJlbmRl
cmluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZXBsYWNlbWVudEZyYWdtZW50OjpyZXN0b3JlQW5k
UmVtb3ZlVGVzdFJlbmRlcmluZ05vZGVzVG9GcmFnbWVudCk6Ci0KLTIwMTEtMTEtMDIgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUkVHUkVTU0lPTihyOTY4NzAp
OiBXZWJLaXQgZ2VuZXJhdGVzIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG9uIGJsb2dnZXIuY29t
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIwMwot
Ci0gICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCi0KLSAgICAgICAgUmVtb3ZlIHRoZSB0
cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gaW5saW5lIHN0eWxlIGRlY2xhcmF0aW9u
cyBpbiB0aGUgcGFzdGVkIGNvbnRlbnQuCi0gICAgICAgIEFsc28gZml4ZWQgYSBidWcgaW4gcmVt
b3ZlU3R5bGVGcm9tUnVsZXNBbmRDb250ZXh0IHRoYXQgaXQgcmVtb3ZlcyBwcm9wZXJ0aWVzIGlu
IGlubGluZSBzdHlsZQotICAgICAgICBkZWNsYXJhdGlvbnMgZXZlbiBpZiB0aG9zZSBwcm9wZXJ0
aWVzIHdlcmUgb3ZlcnJpZGRlbi4KLQotICAgICAgICBUZXN0czogZWRpdGluZy9kZWxldGluZy9t
ZXJnZS1wYXJhZ3JhcGhzLXdpdGgtdHJhbnNwYXJlbnQtYmFja2dyb3VuZC5odG1sCi0gICAgICAg
ICAgICAgICBlZGl0aW5nL2RlbGV0aW5nL3Bhc3RlLXdpdGgtdHJhbnNwYXJlbnQtYmFja2dyb3Vu
ZC1jb2xvci5odG1sCi0KLSAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpyZW1vdmVQcm9wZXJ0aWVzSW5TdHlsZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpFZGl0aW5nU3R5bGU6OnJlbW92ZVN0eWxlRnJvbVJ1bGVzQW5kQ29udGV4dCk6Ci0gICAgICAg
IChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OnJlbW92ZVByb3BlcnRpZXNJbkVsZW1lbnREZWZhdWx0
U3R5bGUpOgotCi0yMDExLTExLTAyICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4K
LQotICAgICAgICBDU1NTdHlsZVJ1bGU6IERldmlydHVhbGl6ZSBzZWxlY3RvclRleHQoKQotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNjQKLQotICAg
ICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBIYXZlIENTU1N0eWxl
UnVsZTo6c2VsZWN0b3JUZXh0KCkgcmVkaXJlY3QgdG8gQ1NTUGFnZVJ1bGU6OnBhZ2VTZWxlY3Rv
clRleHQoKQotICAgICAgICBpZiB0eXBlKCkgaXMgUEFHRV9SVUxFLgotCi0gICAgICAgICogY3Nz
L0NTU1BhZ2VSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpwYWdlU2Vs
ZWN0b3JUZXh0KToKLSAgICAgICAgKiBjc3MvQ1NTUGFnZVJ1bGUuaDoKLSAgICAgICAgKiBjc3Mv
Q1NTU3R5bGVSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlUnVsZTo6c2VsZWN0
b3JUZXh0KToKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6Ci0KLTIwMTEtMTEtMDIgIEFu
ZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIENTU1J1bGU6IERldmly
dHVhbGl6ZSBjc3NUZXh0KCkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxMjkyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0K
LSAgICAgICAgSGF2ZSBDU1NSdWxlOjpjc3NUZXh0KCkgcmVkaXJlY3QgdG8gdGhlIGFwcHJvcHJp
YXRlIHN1YmNsYXNzIGJhc2VkIG9uIHR5cGUoKS4KLSAgICAgICAgVGhpcyBpcyBvbmUgb2YgdGhl
IGxhc3Qgc3RlcHMgb2YgZGV2aXJ0dWFsaXppbmcgQ1NTUnVsZSBjb21wbGV0ZWx5LCB3aGljaCB3
aWxsCi0gICAgICAgIGFsbG93IHVzIHRvIGdldCByaWQgb2YgaXRzIHZ0YWJsZSwgYW5kIGVhY2gg
aW5zdGFuY2UncyBwb2ludGVyIHRoZXJldG8uCi0KLSAgICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1
bGUuaDoKLSAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6Ci0gICAgICAgICogY3NzL0NT
U0ltcG9ydFJ1bGUuaDoKLSAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmg6Ci0gICAgICAgICog
Y3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmNzc1RleHQpOgotICAgICAgICAqIGNzcy9DU1NSdWxl
Lmg6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5oOgotICAgICAgICAqIGNzcy9XZWJLaXRD
U1NLZXlmcmFtZVJ1bGUuaDoKLSAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5o
OgotCi0yMDExLTExLTAyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgot
Ci0gICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciAhRU5BQkxFKEZJTFRFUlMpIGFmdGVy
IHI5ODk4OS4KLQotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5n
ZWQpOgotCi0yMDExLTExLTAyICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogW1JFR1JFU1NJT05dIENsaWNraW5nIGluIGEg
Q1NTIHByb3BlcnR5L3ZhbHVlIGJlaW5nIGVkaXRlZCBjb21taXRzIHRoZSBlZGl0b3IKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzYwCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICBTZWxlY3RpbmcgYSBzZWxl
Y3RlZCBUcmVlRWxlbWVudCBzaG91bGQgYmUgYW4gaWRlbXBvdGVudCBvcGVyYXRpb24uCi0KLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3RyZWVvdXRsaW5lLmpzOgotICAgICAgICAoVHJl
ZUVsZW1lbnQucHJvdG90eXBlLnNlbGVjdCk6Ci0KLTIwMTEtMTEtMDIgIEJlbiBXZWxscyAgPGJl
bndlbGxzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBDYW52YXMgZmlsbGluZyBwYXRocyBvciBy
ZWN0cyBuZWVkIHRvIGJlIGludmFsaWRhdGUgbGFyZ2VyIHJlY3RzIGZvciBzb21lIGNvbXBvc2l0
aW5nIG1vZGVzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzAzNzkKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAg
ICBUZXN0OiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWZpbGwtcmVwYWludC5odG1sCi0K
LSAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsKToKLSAgICAgICAg
KFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbFJlY3QpOgotICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgotICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkaWREcmF3RW50aXJlQ2FudmFzKToK
LSAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKLQotMjAx
MS0xMS0wMSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
Rml4IHVzZXMgb2YgTGF5b3V0VW5pdCBpbiBGcmFtZS0sIFNjcm9sbC0sIGFuZCBSZW5kZXJWaWV3
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTMyMQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFVwZGF0aW5nIHRo
ZSB1c2FnZSBvZiBMYXlvdXRVbml0cyBpbiB0aGUgKlZpZXcgY2xhc3NlcyB0byBtaXJyb3IgdGhl
IHByb3BlciB1c2UKLSAgICAgICAgYXMgZGVyaXZlZCBpbiB0aGUgc3VicGl4ZWxsYXlvdXQgYnJh
bmNoLgotCi0gICAgICAgIFRoaXMgZW50YWlscyBzY3JvbGxpbmcgb25seSB3aXRoIGludGVnZXJz
IChhbmQgcm91bmRpbmcgb25jZSB3ZSd2ZSBtYWRlIHRoZSBzd2l0Y2gpCi0gICAgICAgIGFuZCB1
c2luZyBpbnRlZ2VycyBmb3Igd2luZG93IGNvb3JkaW5hdGVzLCB3aXRoIExheW91dFVuaXRzIGZv
ciBjb250ZW50IGNvb3JkaW5hdGVzLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBjaGFu
Z2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmludmFsaWRhdGVSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2V0RnJhbWVSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
em9vbUFuaW1hdG9yVHJhbnNmb3JtQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpzY3JvbGxDb250ZW50c1Nsb3dQYXRoKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2Nyb2xsRWxlbWVudFRvUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNj
cm9sbFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRl
bnRSZWN0YW5nbGUpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxUbyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZVNjcm9sbENvcm5lcik6Ci0gICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dHJhY2tl
ZFJlcGFpbnRSZWN0cyk6Ci0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp2aXNpYmxlQ29udGVudFJlY3QpOgotICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6bGF5b3V0V2lkdGgpOgotICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsVmlldzo6bGF5b3V0SGVpZ2h0KToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmZp
eGVkTGF5b3V0U2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRGaXhlZExh
eW91dFNpemUpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6Y29udGVudHNTaXplKToK
LSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldENvbnRlbnRzU2l6ZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpTY3JvbGxWaWV3OjpvdmVyaGFuZ0Ftb3VudCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFZpZXc6OnJlY3RUb0NvcHlPblNjcm9sbCk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzY3JvbGxDb250ZW50cyk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp3aW5kb3dU
b0NvbnRlbnRzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcmVlblRvQ29udGVu
dHMpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2Nyb2xsYmFyQXRQb2ludCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp3aGVlbEV2ZW50KToKLSAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxWaWV3Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp2aXNpYmxl
V2lkdGgpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6dmlzaWJsZUhlaWdodCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpjb250ZW50c1dpZHRoKToKLSAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbFZpZXc6OmNvbnRlbnRzSGVpZ2h0KToKLSAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbFZpZXc6OmFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UpOgotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnBh
aW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNob3VsZFJlcGFpbnQpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cmVwYWludFJlY3RhbmdsZUluVmlld0FuZENvbXBvc2l0
ZWRMYXllcnMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y29tcHV0ZVJlY3RGb3JS
ZXBhaW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNlbGVjdGlvbkJvdW5kcyk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojp2aWV3UmVjdCk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3Ojp1bnNjYWxlZERvY3VtZW50UmVjdCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJWaWV3Ojpkb2N1bWVudFJlY3QpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJW
aWV3Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpwcmludFJlY3QpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2V0UHJpbnRSZWN0KToKLQotMjAxMS0xMS0wMSAgQW5u
YSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgU21hbGwgZml4ZXMg
Zm9yIFdlYlZUVFBhcnNlci4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxMzM0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAg
ICAgICAgTm8gbmV3IHRlc3RzLiAgVGhpcyBpcyBuZWVkZWQgdG8gZW5hYmxlIG90aGVyIHRlc3Rz
LCBjb21pbmcgc29vbi4KLQotICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6Omhhc0xvbmdXZWJWVFRJZGVudGlmaWVyKTogY2hhbmdlZCB0byBy
ZXR1cm4gdHJ1ZSB3aGVuIGhlYWRlciBpcwotICAgICAgICAgICAgZXhhY3RseSAiV0VCVlRUIgot
ICAgICAgICAoV2ViQ29yZTo6V2ViVlRUUGFyc2VyOjpjb2xsZWN0VGltaW5nc0FuZFNldHRpbmdz
KTogZml4IHR5cG9zLCBwb3NpdGlvbiBzaG91bGQKLSAgICAgICAgICAgIG9ubHkgcHJvZ3Jlc3Mg
b25jZSB3aGVuIGNoZWNraW5nIHRoZSBjaGFyYWN0ZXIgYWZ0ZXIgYSB0aW1lc3RhbXAuCi0KLTIw
MTEtMTEtMDEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgotCi0gICAgICAgIENoYW5n
ZSBIVE1MU2VsZWN0RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleCB0byB1c2UgZW51bXMgaW5zdGVh
ZCBvZiBib29scwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzAxODQKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KLQotICAgICAgICBS
ZWZhY3RvcmluZyB0aGF0IGRvZXMgbm90IHJlcXVpcmUgbmV3IHRlc3RzLgotCi0gICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01IVE1MLm1tOgotICAgICAgICAoLVtET01IVE1MU2VsZWN0RWxlbWVu
dCBfYWN0aXZhdGVJdGVtQXRJbmRleDpdKTogUmVwbGFjZWQgc2V0U2VsZWN0ZWRJbmRleEJ5VXNl
cgotICAgICAgICBjYWxsIHdpdGggYSBjYWxsIHRvIHRoZSByZW5hbWVkIG9wdGlvblNlbGVjdGVk
QnlVc2VyLCBhbHNvIHJlbW92ZWQgb25lIGFyZ3VtZW50LgotICAgICAgICAoLVtET01IVE1MU2Vs
ZWN0RWxlbWVudCBfYWN0aXZhdGVJdGVtQXRJbmRleDphbGxvd011bHRpcGxlU2VsZWN0aW9uOl0p
OiBEaXR0by4KLQotICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OnNldFNlbGVjdGVkKTogUmVwbGFjZWQgc2V0
U2VsZWN0ZWRJbmRleCBjYWxsIHdpdGggYQotICAgICAgICBjYWxsIHRvIHRoZSBuZXcgb3B0aW9u
U2VsZWN0aW9uU3RhdGVDaGFuZ2VkIGZ1bmN0aW9uLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9w
dGlvbkVsZW1lbnQ6Omluc2VydGVkSW50b1RyZWUpOiBEaXR0by4KLQotICAgICAgICAqIGh0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OkhUTUxTZWxlY3RFbGVtZW50KTogVXBkYXRlZCBzaW5jZSBtX3VzZXJEcml2ZW5DaGFuZ2UK
LSAgICAgICAgd2FzIHJlbmFtZWQgdG8gbV9pc1Byb2Nlc3NpbmdVc2VyRHJpdmVuQ2hhbmdlLgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvblNlbGVjdGVkQnlVc2Vy
KTogUmVtb3ZlZCBkZXNlbGVjdCBhcmd1bWVudCwKLSAgICAgICAgd2hpY2ggd2FzIGFsd2F5cyB0
cnVlIGZvciBhbGwgY2FsbGVycy4gVXBkYXRlZCBjb21tZW50LgotICAgICAgICAoV2ViQ29yZTo6
SFRNTFNlbGVjdEVsZW1lbnQ6Omhhc1BsYWNlaG9sZGVyTGFiZWxPcHRpb24pOiBVcGRhdGVkIGNv
bW1lbnQuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2V0T3B0aW9uKTog
Q2FsbCB0aGUgbmV3IG9wdGlvblNlbGVjdGlvblN0YXRlQ2hhbmdlZAotICAgICAgICBmdW5jdGlv
bi4gVGhlIGNvZGUgdXNlZCB0byBleHBsaWNpdGx5IGFzayB0aGUgZnVuY3Rpb24gaXQgY2FsbHMg
dG8gZGVzZWxlY3QgYmFzZQotICAgICAgICBvbiB0aGUgdmFsdWUgb2YgbV9tdWx0aXBsZSwgYnV0
IHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCBiZWNhdXNlIHRoZSBzZWxlY3RPcHRpb24KLSAgICAg
ICAgZnVuY3Rpb24gaXRzZWxmIHRha2VzIGNhcmUgb2YgdGhhdCBjaGVjay4KLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpkaXNwYXRjaENoYW5nZUV2ZW50Rm9yTWVudUxpc3Qp
OiBSZW5hbWVkIHRoaXMgZnVuY3Rpb24uCi0gICAgICAgIEFsc28gdXBkYXRlZCBmb3IgbmFtZSBj
aGFuZ2UgdG8gbV9pc1Byb2Nlc3NpbmdVc2VyRHJpdmVuQ2hhbmdlLgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXgpOiBNb3ZlZCB0aGUgZm9ybWVy
bHktaW5saW5lZCBmdW5jdGlvbgotICAgICAgICBoZXJlIGZyb20gdGhlIGhlYWRlciBhbmQgY2hh
bmdlZCBpdCB0byBjYWxsIHRoZSByZW5hbWVkIHNlbGVjdE9wdGlvbiBmdW5jdGlvbi4KLSAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpvcHRpb25TZWxlY3Rpb25TdGF0ZUNoYW5n
ZWQpOiBBZGRlZCB0aGlzIGZ1bmN0aW9uLgotICAgICAgICBJdCBpcyB1c2VkIGJ5IGNhbGxlcnMg
dGhhdCB3ZXJlIHByZXZpb3VzbHkgdXNpbmcgc2V0U2VsZWN0ZWRJbmRleCBhbmQgcGFzc2luZwot
ICAgICAgICAiZmFsc2UiIGZvciB0aGUgZGVzZWxlY3QgYXJndW1lbnQuIEl0J3MgYmV0dGVyIG5v
dyB0aGF0IHNldFNlbGVjdGVkSW5kZXggaXMgbm93IGEKLSAgICAgICAgcHVyZSBET00gc2V0dGVy
IGZ1bmN0aW9uIHdpdGhvdXQgdGhlIG11bHRpcGxlIHB1cnBvc2VzIGl0IGhhZCBiZWZvcmUuIFRo
aXMgZnVuY3Rpb24KLSAgICAgICAgbm93IGhhcyB0aGUgbG9naWMgdGhhdCBoYW5kbGVzIHRoZSBz
cGVjaWFsIGhhbmRsaW5nIHdoZW4gZGVzZWxlY3RpbmcgYW4gb3B0aW9uLAotICAgICAgICB3aGlj
aCB1c2VkIHRvIGJlIGF0IHRoZSB0b3Agb2YgdGhlIG5leHQgZnVuY3Rpb24uCi0gICAgICAgIChX
ZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0T3B0aW9uKTogUmVuYW1lZCB0aGlzIGZy
b20gc2V0U2VsZWN0ZWRJbmRleC4KLSAgICAgICAgUmVwbGFjZWQgYm9vbGVhbiBhcmd1bWVudHMg
d2l0aCBmbGFncy4gUmVtb3ZlZCBjb2RlIHRvIGhhbmRsZSB0aGUgc3BlY2lhbCBjYXNlCi0gICAg
ICAgIHdoZW4gd2UgZGVzZWxlY3QgYW4gb3B0aW9uOyB0aGF0J3Mgbm93IGhhbmRsZWQgaW4gdGhl
IG9wdGlvblNlbGVjdGlvblN0YXRlQ2hhbmdlZAotICAgICAgICBmdW5jdGlvbi4gQWRkZWQgYW4g
YXNzZXJ0aW9uIHRvIHJlcGxhY2UgYSBjb21tZW50IGFuZCB1cGRhdGVkIGZvciBvdGhlciByZW5h
bWluZy4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpkaXNwYXRjaEJsdXJF
dmVudCk6IFVwZGF0ZWQgZm9yIG5hbWUgY2hhbmdlLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNl
bGVjdEVsZW1lbnQ6OnBsYXRmb3JtSGFuZGxlS2V5ZG93bkV2ZW50KTogRGl0dG8uCi0gICAgICAg
IChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVy
KTogQ2hhbmdlZCB0byBjYWxsIHRoZQotICAgICAgICBuZXcgc2VsZWN0T3B0aW9uIGZ1bmN0aW9u
IGFuZCBhbHNvIHVwZGF0ZWQgZm9yIG90aGVyIG5hbWUgY2hhbmdlcy4KLSAgICAgICAgKFdlYkNv
cmU6OkhUTUxTZWxlY3RFbGVtZW50Ojp0eXBlQWhlYWRGaW5kKTogRGl0dG8uCi0gICAgICAgIChX
ZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6YWNjZXNzS2V5U2V0U2VsZWN0ZWRJbmRleCk6IERp
dHRvLgotCi0gICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOiBDaGFuZ2VkIHRoZSBz
ZXRTZWxlY3RlZEluZGV4IHRvIGJlIGEgcHVyZSBzZXR0ZXIKLSAgICAgICAgZnVuY3Rpb24gZm9y
IHRoZSBzZWxlY3RlZEluZGV4IERPTSBwcm9wZXJ0eS4gQWRkZWQgYSBvcHRpb25TZWxlY3RlZEJ5
VXNlciBmdW5jdGlvbgotICAgICAgICBmb3IgdGhlIG90aGVyIHVzZSBvZiBzZXRTZWxlY3RlZElu
ZGV4LCBidXQgcmVtb3ZlZCB0aGUgYWx3YXlzIHRydWUgImRlc2VsZWN0IgotICAgICAgICBhcmd1
bWVudCBmcm9tIGl0LiBBZGRlZCBhIG9wdGlvblNlbGVjdGlvblN0YXRlQ2hhbmdlZCBmdW5jdGlv
biBmb3IgdXNlIGluIHRoZQotICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCBpbXBsZW1lbnRhdGlv
bi4gUmVuYW1lZCBtZW51TGlzdE9uQ2hhbmdlIHRvCi0gICAgICAgIGRpc3BhdGNoQ2hhbmdlRXZl
bnRGb3JNZW51TGlzdCBmb3IgY2xhcml0eS4gQWRkZWQgYSBTZWxlY3RPcHRpb25GbGFnIGFuZAot
ICAgICAgICBTZWxlY3RPcHRpb25GbGFncyB0eXBlIGZvciB0aGUgYXJndW1lbnRzIHRvIHRoZSBz
ZWxlY3RPcHRpb24gZnVuY3Rpb24sIGZvcm1lcmx5Ci0gICAgICAgIGltcGxlbWVudGVkIGFzIGFu
IG92ZXJsb2FkIG9mIHNldFNlbGVjdGVkSW5kZXggKGFuZCBjYWxsZWQgc2V0U2VsZWN0ZWRJbmRl
eEludGVybmFsCi0gICAgICAgIGJlZm9yZSB0aGF0KS4gUmVuYW1lZCBtX3VzZXJEcml2ZW5DaGFu
Z2UgdG8gbV9pc1Byb2Nlc3NpbmdVc2VyRHJpdmVuQ2hhbmdlLgotCi0gICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0
Ojp2YWx1ZUNoYW5nZWQpOiBSZXBsYWNlZCBzZXRTZWxlY3RlZEluZGV4QnlVc2VyCi0gICAgICAg
IGNhbGwgd2l0aCBhIGNhbGwgdG8gdGhlIHJlbmFtZWQgb3B0aW9uU2VsZWN0ZWRCeVVzZXIsIGFs
c28gcmVtb3ZlZCBvbmUgYXJndW1lbnQuCi0KLTIwMTEtMTEtMDEgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KLQotICAgICAgICBJbXBsZW1lbnQgX19sb29rdXBHZXR0ZXJfXy9fX2xvb2t1
cFNldHRlcl9fIGluIHRlcm1zIG9mIGdldFByb3BlcnR5RGVzY3JpcHRvcgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzMzYKLQotICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoK
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmg6Ci0gICAgICAgICogcGFn
ZS9ET01XaW5kb3cuaWRsOgotICAgICAgICBSZW1vdmUgb3ZlcnJpZGVzIG9mIGxvb2t1cEdldHRl
ci9sb29rdXBTZXR0ZXIsIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkCi0gICAgICAgIGR1ZSB0
byBpbXBsZW1lbnRpbmcgZ2V0UHJvcGVydHlEZXNjcmlwdG9yLgotCi0KLTIwMTEtMTEtMDEgIE5h
dCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gTW92ZSBy
ZXNvdXJjZS1yZWxlYXNpbmcgbG9naWMgaW50byBDQ1Byb3h5IGFuZCBjbGVhbnVwIHNldE5lZWRz
Q29tbWl0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTI2OQotCi0gICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhyZWFkKToK
LSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6c2V0Wm9vbUFuaW1hdG9yVHJhbnNm
b3JtKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6c2V0TmVlZHNDb21taXQp
OgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpzZXRWaWV3cG9ydCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNldFZpc2libGUpOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRvQ29tbWl0KToKLSAgICAgICAgKFdl
YkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OnNldE5lZWRzUmVkcmF3KToKLSAgICAgICAgKFdl
YkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OnNldFZpc2libGUpOgotICAgICAgICAoV2ViQ29y
ZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6cmVjcmVhdGVDb250ZXh0SWZOZWVkZWQpOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OnNldE5lZWRzUmVkcmF3T25JbXBs
VGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OnNldE5lZWRz
Q29tbWl0T25JbXBsVGhyZWFkKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6
OnNldE5lZWRzQ29tbWl0KToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNldE5l
ZWRzQW5pbWF0ZU9uSW1wbFRocmVhZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5
OjpzZXRWaXNpYmxlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1RocmVhZFByb3h5Lmg6Ci0KLTIwMTEtMTEtMDEgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hy
b21pdW0ub3JnPgotCi0gICAgICAgIE1ha2VzIFtSZWZsZWN0XSB3b3JrIGZvciBjb25zdGFudHMu
Ci0gICAgICAgIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIHBsYXRmb3JtLXNwZWNpZmljIGRlZmlu
ZSBjb25mbGljdHMsIHNwZWNpZmljYWxseQotICAgICAgICBUZXh0VHJhY2s6OkVSUk9SIGNvbmZs
aWN0cyB3aXRoIGEgd2luZG93cyBkZWZpbmUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgotCi0gICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50cy5odG1sCi0K
LSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06Ci0gICAgICAgIChH
ZW5lcmF0ZUNvbXBpbGVUaW1lQ2hlY2tGb3JFbnVtc0lmTmVlZGVkKToKLSAgICAgICAgICAgIENo
ZWNrIGZvciBbUmVmbGVjdF0gYW5kIGFzc2lnbiBuYW1lIGFjY29yZGluZ2x5LgotCi0gICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmg6ICBVcGRhdGUgdGVz
dCBmaWxlLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
OiAgVXBkYXRlIHRlc3QgZmlsZS4KLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iakNPTlNUX0pB
VkFTQ1JJUFQpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
aDogIFVwZGF0ZSB0ZXN0IGZpbGUuCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09i
akMvRE9NVGVzdE9iai5oOiAgVXBkYXRlIHRlc3QgZmlsZS4KLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6ICBVcGRhdGUgdGVzdCBmaWxlLgotICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOiAgVXBkYXRlIHRlc3QgZmlsZS4K
LQotICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOiBVc2UgbmV3IERPTSBjb25z
dCBuYW1lLgotICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRpbmdT
dGFydGVkKToKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5n
Q29tcGxldGVkKToKLSAgICAgICAgKiBodG1sL1RleHRUcmFjay5jcHA6ICBVc2UgbmV3IERPTSBj
b25zdCBuYW1lLgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpUZXh0VHJhY2spOgotICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpzZXRNb2RlKToKLSAgICAgICAgKiBodG1sL1RleHRU
cmFjay5oOiAgVXNlIG5ldyBET00gY29uc3QgbmFtZS4KLSAgICAgICAgKiBodG1sL1RleHRUcmFj
ay5pZGw6ICBVc2UgUmVmbGVjdCBmb3IgRVJST1IsIGJ1dCBsZWF2ZSBvdGhlciBET00gY29uc3Qg
bmFtZXMuCi0KLTIwMTEtMTEtMDEgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIEFtZW5kIG1pc3NpbmcgdXNlcyBvZiBMYXlvdXRVbml0IGluIFJlbmRlckJs
b2NrCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI1
NAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFN3aXRjaGlu
ZyByZWxldmFudCB1c2VzIG9mIGludGVnZXJzIGluIFJlbmRlckJsb2NrIHRvIExheW91dFVuaXRz
LgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBjaGFuZ2VzIGluIGJlaGF2aW9yLgotCi0g
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZvKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpsYXlvdXRCbG9jayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
YWRqdXN0RmxvYXRpbmdCbG9jayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2xl
YXJGbG9hdHNJZk5lZWRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0
QmxvY2tDaGlsZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRDb2x1bW5S
dWxlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRDb250ZW50cyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpjbGlwT3V0UG9zaXRpb25lZE9iamVjdHMpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OnJlbW92ZUZsb2F0aW5nT2JqZWN0KToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpuZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3cpOgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmdldENsZWFyRGVsdGEpOgotICAgICAgICAoV2ViQ29yZTo6
cG9zaXRpb25Gb3JQb2ludFJlc3BlY3RpbmdFZGl0aW5nQm91bmRhcmllcyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2FsY0NvbHVtbldpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpsYXlvdXRDb2x1bW5zKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjphZGp1c3RSZWN0Rm9yQ29sdW1ucyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6Z2V0
SGVpZ2h0Rm9yTGluZUNvdW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzZXRQ
YWdpbmF0aW9uU3RydXQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFwcGx5QmVm
b3JlQnJlYWspOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFwcGx5QWZ0ZXJCcmVh
ayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRqdXN0Rm9yVW5zcGxpdHRhYmxl
Q2hpbGQpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhZ2luYXRpb25TdHJ1dCk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6YXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yQ29udGVudCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRXaXRoUmVjdDo6RmxvYXRXaXRoUmVjdCk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6c2V0UG9zaXRpdmVN
YXJnaW4pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Ok1hcmdpbkluZm86OnNldE5l
Z2F0aXZlTWFyZ2luKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZv
OjpzZXRQb3NpdGl2ZU1hcmdpbklmTGFyZ2VyKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpNYXJnaW5JbmZvOjpzZXROZWdhdGl2ZU1hcmdpbklmTGFyZ2VyKToKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpzZXRNYXJnaW4pOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpGbG9hdEludGVy
dmFsU2VhcmNoQWRhcHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJ
bnRlcnZhbFNlYXJjaEFkYXB0ZXI6Omxvd1ZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjo6aGlnaFZhbHVlKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpSZW5kZXJCbG9ja1JhcmVEYXRhOjpwb3NpdGl2ZU1hcmdp
bkJlZm9yZURlZmF1bHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OlJlbmRlckJs
b2NrUmFyZURhdGE6Om5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdCk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6UmVuZGVyQmxvY2tSYXJlRGF0YTo6cG9zaXRpdmVNYXJnaW5BZnRl
ckRlZmF1bHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OlJlbmRlckJsb2NrUmFy
ZURhdGE6Om5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KToKLQotMjAxMS0xMS0wMSAgTHVrZSBN
YWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdJUDogQWRk
IENTUyBwcm9wZXJ0eSB0byBjb250cm9sIHByaW50aW5nIG9mIGJhY2tncm91bmRzIGZvciBpbmRp
dmlkdWFsIGVsZW1lbnRzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjQ1ODMKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAg
ICAgICBBZGRlZCB0ZXN0IExheW91dFRlc3RzL2Zhc3QvY3NzL3dlYmtpdC1jb2xvci1hZGp1c3Qu
aHRtbCwKLSAgICAgICAgVXBkYXRlZCB0ZXN0cyB1bmRlciBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlCi0gICAgICAgIFVwZGF0ZWQgdGVzdCB1bmRlciBMYXlvdXRUZXN0cy9z
dmcvY3NzCi0KLSAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVy
dHlDU1NWYWx1ZSk6Ci0gICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgotICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRG9jdW1lbnQpOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6Ci0gICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllckV4dGVuZGVkKToKLSAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
Ojppbml0aWFsRm9yY2VCYWNrZ3JvdW5kc1RvV2hpdGUpOgotCi0yMDExLTExLTAxICBEb21pbmlj
IENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1vdmUgaW5pdEVy
cm9yRXZlbnQgbWV0aG9kCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTMzOAotCi0gICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCi0KLSAgICAg
ICAgKiBkb20vRXJyb3JFdmVudC5jcHA6IENydXNoLgotICAgICAgICAqIGRvbS9FcnJvckV2ZW50
Lmg6IEtpbGwuCi0gICAgICAgICogZG9tL0Vycm9yRXZlbnQuaWRsOiBEZXN0cm95LgotCi0yMDEx
LTExLTAxICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgotCi0gICAg
ICAgIFBhY2sgUmVuZGVyVGFibGVDZWxsIGJpdHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTM1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCi0KLSAgICAgICAgVGVzdGVkIGJ5IFJlbmRlclRhYmxlQ2VsbFRlc3QgdW5pdCB0ZXN0
LgotICAgICAgICAodW5mb3J0dW5hdGVseSBDaHJvbWl1bSBzcGVjaWZpYy4uLikKLQotICAgICAg
ICBUaGlzIHNhdmVzIGFub3RoZXIgOCBieXRlcyBvbiBSZW5kZXJUYWJsZUNlbGwgb24geDg2LTY0
LgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OlJlbmRlclRhYmxlQ2VsbCk6Ci0gICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgotICAgICAgICBDaGFuZ2VkIHRoZSBmaWVsZCBvcmRl
ciB0byB1c2UgbW9yZSBzdHJpY3QgcGFja2luZy4KLQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVDZWxsOjpzZXRDb2wpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpz
ZXRSb3cpOgotICAgICAgICBBZGRlZCBvdmVyZmxvdyBjaGVja3MgdG8gdGhlIDIgcHJldmlvdXMg
bWV0aG9kcy4gV2UKLSAgICAgICAgQ1JBU0ggZXZlbiBpbiByZWxlYXNlIHRvIGF2b2lkIHBvdGVu
dGlhbCBiYWRuZXNzCi0gICAgICAgICh0aGUgbGltaXQgaXMgY3VycmVudGx5IGFib3ZlIDIgYmls
bGlvbnMgcm93cyBvciBjb2x1bW5zCi0gICAgICAgIHdoaWNoIGlzIGhpZ2ggZW5vdWdoIHRvIHBy
ZXZlbnQgaXQgYmVpbmcgaGl0IGJ5IGFjY2lkZW50KQotCi0yMDExLTExLTAxICBFbWlsIEEgRWts
dW5kICA8ZWFlQGNocm9taXVtLm9yZz4KLQotICAgICAgICBTd2l0Y2ggYmFja2dyb3VuZC9ib3Jk
ZXIgaW1hZ2UgYmFjayB0byBJbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMjQwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0K
LSAgICAgICAgU3dpdGNoIGJhY2tncm91bmQtIGFuZCBib3JkZXItaW1hZ2UgcmVuZGVyaW5nIGJh
Y2sgdG8gaW50IHRvIGFsaWduIHdpdGgKLSAgICAgICAgZGV2aWNlIHBpeGVscy4KLQotICAgICAg
ICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0
ZUltYWdlSW50cmluc2ljRGltZW5zaW9ucyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hN
b2RlbE9iamVjdDo6Y2FsY3VsYXRlRmlsbFRpbGVTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveE1vZGVsT2JqZWN0OjpCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeTo6dXNlRml4ZWRBdHRh
Y2htZW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpCYWNrZ3Jv
dW5kSW1hZ2VHZW9tZXRyeTo6Y2xpcCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6QmFja2dyb3VuZEltYWdlR2VvbWV0cnk6OnJlbGF0aXZlUGhhc2UpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0ZUJhY2tncm91bmRJbWFn
ZUdlb21ldHJ5KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWlu
dE5pbmVQaWVjZUltYWdlKToKLSAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZUFkanVzdGVkSW5u
ZXJCb3JkZXIpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OkJhY2tncm91bmRJbWFnZUdl
b21ldHJ5OjpkZXN0T3JpZ2luKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeTo6c2V0RGVzdE9yaWdpbik6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6QmFja2dyb3VuZEltYWdlR2VvbWV0cnk6OmRl
c3RSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpCYWNrZ3Jv
dW5kSW1hZ2VHZW9tZXRyeTo6c2V0RGVzdFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OkJhY2tncm91bmRJbWFnZUdlb21ldHJ5OjpwaGFzZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6QmFja2dyb3VuZEltYWdlR2VvbWV0cnk6
OnNldFBoYXNlKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpCYWNr
Z3JvdW5kSW1hZ2VHZW9tZXRyeTo6dGlsZVNpemUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OkJhY2tncm91bmRJbWFnZUdlb21ldHJ5OjpzZXRUaWxlU2l6ZSk6Ci0K
LTIwMTEtMTEtMDEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQot
ICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0OjpkZWZpbmVTZXR0ZXIKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzAzCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAg
IEFkZGVkIGRlZmluZVNldHRlciB0byB0aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQgYWxsIHRoZSB2
aXJ0dWFsIAotICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2YgZGVmaW5lU2V0dGVyIHRvIHN0YXRp
YyBvbmVzLCBhbmQgcmVwbGFjZWQgCi0gICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29ycmVz
cG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KLQotICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
OjpkZWZpbmVTZXR0ZXIpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6ZGVmaW5lU2V0dGVyKToK
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmg6Ci0gICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRl
cik6Ci0KLTIwMTEtMTEtMDEgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIFN3aXRjaCBQb3B1cE1lbnVDbGllbnQgdG8gbGF5b3V0IGFic3RyYWN0aW9uCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTMwOAotCi0gICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFN3aXRjaCBQb3B1cE1lbnVD
bGllbnQgYW5kIHJlbmRlcmluZyBjbGFzc2VzIGltcGxlbWVudGluZyBpdCB0byBsYXlvdXQKLSAg
ICAgICAgdHlwZSBhYnN0cmFjdGlvbi4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAg
ICAgKiBwbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpsaXN0SW5k
ZXhBdE9mZnNldCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYW5TY3JvbGwp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6c2Nyb2xsVG93YXJkKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNjcm9sbFNpemUpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6c2Nyb2xsUG9zaXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGlzdEJveDo6c2V0U2Nyb2xsT2Zmc2V0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxp
c3RCb3g6OnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgpOgotICAgICAgICBSZXZlcnQgc2Nyb2xsIHBv
c2l0aW9ucyBhbmQgc2Nyb2xsIG9mZnNldHMgdG8gaW50cyB0byBhbGlnbiB3aXRoIGRldmljZQot
ICAgICAgICBwaXhlbHMuCi0gICAgICAgIAotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0
Qm94Lmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjpzaG93UG9wdXApOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTWVudUxpc3Q6OmNsaWVudFBhZGRpbmdMZWZ0KToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1lbnVMaXN0OjpjbGllbnRQYWRkaW5nUmlnaHQpOgotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6aGl0SW5uZXJUZXh0RWxl
bWVudCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNsaWVu
dFBhZGRpbmdMZWZ0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZTo6Y2xpZW50UGFkZGluZ1JpZ2h0KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmg6Ci0KLTIwMTEtMTEtMDEgIE5hdGUgQ2hhcGluICA8amFwaGV0
QGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIEFzIG9mIHI5ODM4MCwgVGhyZWFk
YWJsZUxvYWRlckNsaWVudHMgYXJlIGhhdmluZyB0aGVpcgotICAgICAgICBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldFR5cGUgY2xvYmJlcmVkLiBUaGV5IHNldCB0aGVpciBvd24KLSAgICAgICAgdHlw
ZSwgYnV0IENhY2hlZFJlc291cmNlUmVxdWVzdCAodGhyb3VnaCB3aGljaCB0aGV5IG5vdyBmbG93
KQotICAgICAgICBzZXRzIGEgVGFyZ2V0VHlwZSB3aXRob3V0IGJvdGhlcmluZyB0byBzZWUgaWYg
b25lIGhhcyBhbHJlYWR5IGJlZW4gc2V0LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzIKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGlzIGNocm9taXVtLXNwZWNpZmljIGFu
ZCBvbmx5IGFmZmVjdHMKLSAgICAgICAgYmVoYXZpb3Igc2VlbiBpbiBmdWxsIGJ1aWxkcyBvZiBj
aHJvbWl1bS4KLQotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3Qu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKTpEb24n
dCBzZXRUYXJnZXRUeXBlKCkKLSAgICAgICAgICAgIGlmIHRoZSB2YWx1ZSBpcyBzb21ldGhpbmcg
b3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBhbHJlYWR5LgotICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0Lmg6IENoYW5nZSBkZWZhdWx0Ci0gICAgICAgICAg
ICBUYXJnZXRUeXBlIHRvIFRhcmdldElzVW5zcGVjaWZpZWQuCi0KLTIwMTEtMTEtMDEgIEVtaWwg
QSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFVzZSBJbnRQb2ludCBmb3Ig
c2NyZWVuIGNvb3JkaW5hdGVzIGluIE1vdXNlRXZlbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzI3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCi0KLSAgICAgICAgQ2hhbmdlIG1vdXNlIGV2ZW50cyB0byB1c2UgaW50L0ludFBv
aW50IGZvciBzY3JlZW4vd2luZG93IGNvb3JkaW5hdGVzIGFuZAotICAgICAgICBMYXlvdXRVbml0
L0xheW91dFBvaW50IGZvciBjb29yZGluYXRlcyBhZGp1c3RlZCBmb3Igem9vbWluZy4KLQotICAg
ICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBkb20vTW91c2VSZWxhdGVkRXZlbnQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6TW91c2VSZWxhdGVkRXZlbnQ6Ok1vdXNlUmVsYXRlZEV2ZW50
KToKLSAgICAgICAgKFdlYkNvcmU6Ok1vdXNlUmVsYXRlZEV2ZW50Ojpjb21wdXRlUmVsYXRpdmVQ
b3NpdGlvbik6Ci0gICAgICAgICogZG9tL01vdXNlUmVsYXRlZEV2ZW50Lmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6c2NyZWVuTG9jYXRpb24pOgotICAgICAgICBSZXZl
cnQgc2NyZWVuTG9jYXRpb24gYW5kIHdpbmRvd0xvY2F0aW9uIGJhY2sgdG8gaW50LgotCi0gICAg
ICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjplbGVtZW50
VW5kZXJNb3VzZSk6Ci0gICAgICAgIENoYW5nZSBlbGVtZW50VW5kZXJNb3VzZSB0byB1c2UgYSBM
YXlvdXRQb2ludCBmb3IgaGl0IHRlc3RpbmcuCi0KLSAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyKToKLSAgICAgICAg
KFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6Y3VycmVudE1vdXNlUG9zaXRpb24pOgotICAgICAgICAo
V2ViQ29yZTo6ZG9jdW1lbnRQb2ludEZvcldpbmRvd1BvaW50KToKLSAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6ZmFrZU1vdXNlTW92ZUV2ZW50VGltZXJGaXJlZCk6Ci0gICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuaDoKLSAgICAgICAgUmV2ZXJ0IG1fY3VycmVudE1vdXNlUG9zaXRp
b24gdG8gSW50UG9pbnQgYXMgaXQgcmVwcmVzZW50cyBhCi0gICAgICAgIHNjcmVlbiBjb29yZGlu
YXRlLgotCi0gICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2ZW50Lmg6Ci0gICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OnBvcyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OngpOgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb3Vz
ZUV2ZW50Ojp5KToKLSAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6Z2xvYmFs
WCk6Ci0gICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6Omdsb2JhbFkpOgotICAg
ICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybU1vdXNlRXZlbnRNYWMubW06Ci0gICAgICAgIChX
ZWJDb3JlOjpnbG9iYWxQb2ludCk6Ci0gICAgICAgIChXZWJDb3JlOjpwb2ludEZvckV2ZW50KToK
LSAgICAgICAgKFdlYkNvcmU6Omdsb2JhbFBvaW50Rm9yRXZlbnQpOgotICAgICAgICBSZXZlcnQg
UGxhdGZvcm1Nb3VzZUV2ZW50IHRvIGludC9JbnRQb2ludCBhcyBpdCByZXByZXNlbnRzIGEgc2Ny
ZWVuCi0gICAgICAgIGNvb3JkaW5hdGUuCi0KLTIwMTEtMTEtMDEgIFRvbnkgQ2hhbmcgIDx0b255
QGNocm9taXVtLm9yZz4KLQotICAgICAgICBSRUdSRVNTSU9OOiAtd2Via2l0LWZsZXgoKSBzaG91
bGQgYmUgYW4gaW52YWxpZCB2YWx1ZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzEzMjAKLQotICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgot
Ci0gICAgICAgIFRoaXMgcmVncmVzc2VkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0Lzk4NzczIC4KLQotICAgICAgICBObyBuZXcgdGVzdHMsIGNvdmVyZWQgYnkgY3NzMy9mbGV4
Ym94L2ZsZXgtcGFyc2luZy5odG1sLgotCi0gICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRmxleCk6Ci0KLTIwMTEtMTEtMDEgIERh
dmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEluZGV4ZWREQjog
Z2V0IEV2ZW50UXVldWUgZnJvbSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGluc3RlYWQgb2YgRG9j
dW1lbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTQ3Ci0KLSAgICAgICAgV2hlbiBJREIgaXMgdXNlZCBmcm9tIGEgd29ya2VyIHRocmVhZCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0IHdpbGwKLSAgICAgICAgYmUgYSBXb3JrZXJDb250ZXh0LCBub3Qg
YSBEb2N1bWVudC4gIFRoaXMgd2FzIHRoZSBpbXBldHVzIGJlaGluZAotICAgICAgICBtb3Zpbmcg
RXZlbnRRdWV1ZSBpbnRvIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgaW4gcjk4NjU2LgotCi0gICAg
ICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8g
bmV3IGZ1bmN0aW9uYWxpdHkgeWV0LgotCi0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6Y2xvc2UpOgotICAgICAgICAoV2Vi
Q29yZTo6SURCRGF0YWJhc2U6OmVucXVldWVFdmVudCk6Ci0gICAgICAgICogc3RvcmFnZS9JREJS
ZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmFib3J0KToKLSAgICAg
ICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmVucXVldWVFdmVudCk6Ci0gICAgICAgICogc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6
ZW5xdWV1ZUV2ZW50KToKLQotMjAxMS0xMS0wMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtp
dC5vcmc+Ci0KLSAgICAgICAgQ1NTOiBSZW1vdmUgdW51c2VkIHZpcnR1YWwgcGFyc2VTdHJpbmco
KSBpbiBzdHlsZSBhbmQga2V5ZnJhbWUgcnVsZXMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTMwMAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgotCi0gICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6Ci0gICAgICAgICogY3Nz
L0NTU1N0eWxlUnVsZS5oOgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3Bw
OgotICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaDoKLQotMjAxMS0xMS0wMSAg
RW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgU3dpdGNoIFJlbmRl
ck9iamVjdCB0byBsYXlvdXQgYWJzdHJhY3Rpb24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjQ5Ci0KLSAgICAgICAgU3dpdGNoIFJlbmRlck9iamVj
dCB0byBMYXlvdXRSZWN0L1NpemUvUG9pbnQgYWJzdHJhY3Rpb24uCi0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmpl
Y3Q6OmRyYXdMaW5lRm9yQm94U2lkZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6
OmFkZFBERlVSTFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjphYnNvbHV0
ZUJvdW5kaW5nQm94UmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlRm9jdXNSaW5nUXVhZHMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjphZGRB
YnNvbHV0ZVJlY3RGb3JMYXllcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnJl
cGFpbnRBZnRlckxheW91dElmTmVlZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVj
dDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVj
dDo6dmlld1JlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjptYXBMb2NhbFRv
Q29udGFpbmVyKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bG9jYWxDYXJldFJl
Y3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjphZGREYXNoYm9hcmRSZWdpb25z
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bWF4aW1hbE91dGxpbmVTaXplKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6YWRqdXN0UmVjdEZvck91dGxpbmVBbmRT
aGFkb3cpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RJZ25vcmluZ1RyYW5z
Zm9ybXMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjphYnNvbHV0ZUNsaXBwZWRP
dmVyZmxvd1JlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb21wdXRlQWJz
b2x1dGVSZXBhaW50UmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFic29s
dXRlT3V0bGluZUJvdW5kcyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om91dGxp
bmVCb3VuZHNGb3JSZXBhaW50KToKLSAgICAgICAgKFdlYkNvcmU6OmFkanVzdEZvckFic29sdXRl
Wm9vbSk6Ci0KLTIwMTEtMTEtMDEgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIFJlZmFjdG9yOiBjaGFuZ2UgU2Nyb2xsYWJsZTo6bV9zY3JvbGxPcmlnaW4gZnJvbSBw
cm90ZWN0ZWQgdG8gcHJpdmF0ZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMjM2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0K
LSAgICAgICAgT25seSByZWZhY3Rvciwgbm8gbmV3IHRlc3RzIG5lZWRlZC4KLQotICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xs
WEZvckZpeGVkUG9zaXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxZ
Rm9yRml4ZWRQb3NpdGlvbik6Ci0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjptYXhpbXVtU2Nyb2xsUG9zaXRpb24pOgotICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKToKLSAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldFNjcm9sbE9mZnNldCk6Ci0gICAgICAgIChXZWJD
b3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpvdmVyaGFuZ0Ftb3VudCk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OndoZWVsRXZl
bnQpOgotICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKLSAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnNl
dFNjcm9sbE9yaWdpbik6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0U2Ny
b2xsT3JpZ2luWCk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2V0U2Nyb2xs
T3JpZ2luWSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUbyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsUG9zaXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
Om1pbmltdW1TY3JvbGxQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
bWF4aW11bVNjcm9sbFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpj
b21wdXRlU2Nyb2xsRGltZW5zaW9ucyk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsWE9mZnNldCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsWU9mZnNldCk6Ci0KLTIwMTEtMTEtMDEg
IERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIGRpc3Bs
YXk6IHRhYmxlLWNlbGwgYW5kIGJveC1zaXppbmc6IGJvcmRlci1ib3ggY2FsY3VsYXRlcyBjb250
ZW50LWJveCBoZWlnaHQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY5NDI1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KLQotICAg
ICAgICBUZXN0OiBmYXN0L2JveC1zaXppbmcvdGFibGUtY2VsbC5odG1sCi0KLSAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQpOgotCi0yMDExLTExLTAxICBBbG9r
IFByaXlhZGFyc2hpICA8YWxva3BAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0g
QWRkIHRlc3RpbmcgZm9yIC0tZW5hYmxlLWFjY2VsZXJhdGVkLWRyYXdpbmcKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODIyCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtZHJhd2luZy9hbHBoYS5odG1sCi0KLSAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKLSAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6Ci0gICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0QWNjZWxl
cmF0ZWREcmF3aW5nRW5hYmxlZCk6Ci0gICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVk
KToKLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmlkbDoKLQotMjAxMS0xMS0wMSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KLQotICAgICAgICBTVkcgRmlsdGVyIG9uIGEgZ3JvdXAgZG9lc24ndCBpbnZhbGlk
YXRlIHdoZW4gY2hpbGRyZW4gYXJlIG1vdmVkCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0NAotICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAyODE1
MzA+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgotCi0gICAgICAg
IENhbGwgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudExheW91dENoYW5nZWQgd2hlbmV2ZXIgdGhl
IGVsZW1lbnQgb3IgaXRzIGNoaWxkcmVuIG5lZWQgbGF5b3V0LiBQcmV2aW91c2x5LAotICAgICAg
ICBpbnZhbGlkYXRpb24gd2FzIG9ubHkgcGVyZm9ybWVkIGlmIHRoZSBlbGVtZW50IGl0c2VsZiBu
ZWVkZWQgbGF5b3V0OyBub3cgd2UgYWxzbyBpbnZhbGlkYXRlIGlmIGFueSBjaGlsZAotICAgICAg
ICBuZWVkcyBsYXlvdXQgYW5kIHRoZXJlIGlzIGEgZmlsdGVyIGFwcGxpZWQsIGFzIHRoZSBjYWNo
ZWQgZmlsdGVyIHJlc3VsdCBjYW4gZGVwZW5kIG9uIHRoZSBsYXlvdXQgb2YgY2hpbGRyZW4uCi0K
LSAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvaW52YWxpZGF0ZS1vbi1jaGlsZC1sYXlvdXQuc3Zn
Ci0KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdDb250YWluZXI6OmxheW91dCk6Ci0gICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdS
ZXNvdXJjZXNDYWNoZTo6Y2xpZW50TGF5b3V0Q2hhbmdlZCk6Ci0KLTIwMTEtMTEtMDEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+Ci0KLSAgICAgICAgRm91ciBtZWRpYSB0ZXN0cyBm
YWlsaW5nIG9uIExpb24gZHVlIHRvIGluY29ycmVjdCBjYWNoZWQgdGltZXMuCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU3NAotCi0gICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KLQotICAgICAgICBEbyBub3QgaW52YWxpZGF0ZSB0aGUg
Y2FjaGVkIHRpbWUgd2hlbiByZWNlaXZpbmcgYSBtZWRpYVBsYXllclJhdGVDaGFuZ2VkIG5vdGlm
aWNhdGlvbgotICAgICAgICB3aGlsZSBwYXVzZWQuIEFWRm91bmRhdGlvbiBpbiBwYXJ0aWN1bGFy
IGNhbiByZXR1cm4gZGlmZmVyZW50IHJlc3VsdHMgZm9yIGN1cnJlbnRUaW1lKCkKLSAgICAgICAg
d2hlbiBhc2tlZCBhZnRlciBiZWluZyBwYXVzZWQsIGJyZWFraW5nIGxheW91dCB0ZXN0cy4KLQot
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJhdGVDaGFuZ2VkKToKLQotMjAxMS0xMS0wMSAg
R2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KLQotICAgICAgICBwcm9wZXJseSBl
bmQgcmVxdWVzdHMgd2hlbiBhIGJhZCBzdGF0dXMgY29kZSByZXR1cm4gaGFwcGVucwotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjIKLQotICAgICAg
ICBDYWxsaW5nIGVycm9yIHdpdGhvdXQgZW5kaW5nIHRoZSByZXF1ZXN0IHNldCB1cCB0aGUgQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0IHNvIHRoYXQgaXQgY291bGQKLSAgICAgICAgYWN0dWFsbHkgc2Vu
ZCBvdXQgdHdvIG5vdGlmeUZpbmlzaGVkKCkgZXZlbnRzLiAgVGhpcyBwcm9iYWJseSB3YXMgdGhl
IHJvb3QgY2F1c2Ugb2YKLSAgICAgICAgbG90cyBvZiBjcmFzaGluZyBpbnN0YWJpbGl0eTsgSSBr
bm93IGZyb20gY3JidWcuY29tLzc1NjA0IHRoYXQgdGhpcyBidWcgd2FzIGNhdXNpbmcgbG90cwot
ICAgICAgICBvZiBjcmFzaGVzIGluIFNjcmlwdFJ1bm5lci9TY3JpcHRFbGVtZW50IGZvciBpbnN0
YW5jZS4KLQotICAgICAgICBUaGUgZml4IGlzIGVhc3k6IGp1c3QgcHJvcGVybHkgZW5kIHRoZSBy
ZXF1ZXN0IGluc3RlYWQgb2YganVzdCBjYWxsaW5nIGVycm9yLCBhbmQgd2Ugd29uJ3QKLSAgICAg
ICAgcmUtbm90aWZ5LgotCi0gICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgotCi0gICAg
ICAgIE5vIG5ldyB0ZXN0cywgYXMgdGhlIHByb2JsZW0gd2Fzbid0IHZlcnkgYW1lbmFibGUgdG8g
bGF5b3V0IHRlc3RzLgotICAgICAgICBUaGVyZSBpcyBhIGNocm9taXVtIHRlc3QgZ29pbmcgdGhy
b3VnaCBjb2RlIHJldmlldyBhdCBodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvODQwNDAw
MS8KLQotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRSZWNlaXZlRGF0YSk6
Ci0KLTIwMTEtMTEtMDEgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBSZW1vdmUgTGVnYWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzIGZsYWcgZnJvbSBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MmQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY0NjI4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQot
ICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKLQotMjAxMS0xMS0wMSAgSnVsaWVuIENo
YWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KLQotICAgICAgICBSRUdSRVNTSU9OKDk4
NzM4KTogUmVuZGVyVGFibGVTZWN0aW9uOjpyZWNhbGNDZWxscyBkb2VzIG5vdCBwcm9wZXJseSBz
aHJpbmsgdGhlIFJvd1N0cnVjdCBncmlkCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTI0NgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgotCi0gICAgICAgIFRlc3RzOiBmYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tY2FsY0Jv
cmRlci5odG1sCi0gICAgICAgICAgICAgICBmYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24t
Zml4ZWQtbGF5b3V0LWNhbGNBcnJheS5odG1sCi0KLSAgICAgICAgVGhlIHJlZmFjdG9yaW5nIGlu
IHI5ODczOCBjaGFuZ2VkIHRoZSB3YXkgd2UgaGFuZGxlIHRoZSBzaXplIHRvIGF2b2lkIHRocm93
aW5nIG9mZgotICAgICAgICB0aGUgbWVtb3J5LiBUaGUgbmV3IGxvZ2ljIHdvdWxkIGVuZCB1cCBu
ZXZlciBzaHJpbmtpbmcgdGhlIGdyaWQncyBzaXplIChwcmlvciB0byB0aGF0Ci0gICAgICAgIHdl
IHdvdWxkIGdyb3cgdG8gdGhlIGFwcHJvcHJpYXRlIHNpemUgYW5kIHRocm93IHRoZSBleGNlc3Mg
Y2FwYWNpdHkgd2l0aCBzaHJpbmtUb0ZpdCkuCi0gICAgICAgIE5vdCBzaHJpbmtpbmcgd291bGQg
bWVhbiB0aGF0IHdlIHdvdWxkIHBvdGVudGlhbGx5IHJlYWQgUm93U3RydWN0IHdpdGggdGhlIGRl
ZmF1bHQgdmFsdWVzCi0gICAgICAgIChmb3IgaW5zdGFuY2Ugbm8gfHJvd1JlbmRlcmVyfCkuCi0K
LSAgICAgICAgYWRkQ2VsbCB3aWxsIHByb3Blcmx5IGdyb3cgdGhlIGdyaWQgYXMgbmVlZGVkIHRv
IGFjY29tb2RhdGUgdGhlIHJvd3MgYW5kIHRoZSBwcm90cnVkaW5nCi0gICAgICAgIGNlbGxzIHdp
dGggYSByb3dzcGFuIHNvIHdlIGludHJvZHVjZSBhIHZhcmlhYmxlIHRvIGtlZXAgdHJhY2sgb2Yg
dGhlIHNpemUgbmVlZGVkLiBBdCB0aGUKLSAgICAgICAgZW5kLCB3ZSBqdXN0IHNocmluayBpdCB0
byB0aGlzIHNpemUuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6cmVjYWxjQ2VsbHMpOgot
ICAgICAgICBJbnRyb2R1Y2UgYSB2YXJpYWJsZSB0byBrZWVwIHRoZSBncmlkIHNpemUgYW5kIHNo
cmluayB0byB0aGF0IHNpemUgdG8gbWF0Y2ggdGhlIG9sZCBjb2RlLgotCi0yMDExLTExLTAxICBB
bmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW0Nocm9taXVt
XSBTb21lIG1lZGlhL3ZpZGVvLSouaHRtbCBsYXlvdXQgdGVzdHMgb2NjYXNpb25hbGx5IGNyYXNo
IG9uIFdJTiBHUFUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMjc3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgotCi0gICAgICAg
IERpc2FibGVkIGFzc2VydCgpIGluIGhhc1Zpc2libGVEZXNjZW5kYW50KCkgdW50aWwgY2FsbGVy
cyBhcmUgZml4ZWQuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNWaXNpYmxlRGVzY2VuZGFudCk6Ci0KLTIwMTEt
MTEtMDEgIE1pa2UgUmVlZCAgPHJlZWRAZ29vZ2xlLmNvbT4KLQotICAgICAgICBbc2tpYV0gY2Fs
bCByZWFkUGl4ZWxzIG9uIGNhbnZhcyBpbnN0ZWFkIG9mIGRldmljZSAod2lsbCBiZSBwcml2YXRl
IG9uIGRldmljZSBzb29uKSBhbmQgY2hlY2sgZm9yIGVycm9yCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4NAotCi0gICAgICAgIFJldmlld2VkIGJ5
IFN0ZXBoZW4gV2hpdGUuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIGlzIHByZXBhcmlu
ZyBmb3IgYW4gQVBJIGNoYW5nZSB0byBTa2lhLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZUJ1ZmZlclNraWEuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Z2V0SW1hZ2VE
YXRhKToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpnZXRVbm11bHRpcGxpZWRJbWFn
ZURhdGEpOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmdldFByZW11bHRpcGxpZWRJ
bWFnZURhdGEpOgotCi0yMDExLTExLTAxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBDU1NTdHlsZVNoZWV0OiBPcGVyYXRlIGRpcmVjdGx5IG9uIHRoZSBydWxl
IHZlY3RvciBpbnRlcm5hbGx5LgotCi0gICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEFudHRpIEtv
aXZpc3RvLgotCi0gICAgICAgIFRoZXJlJ3Mgbm8gbmVlZCB0byBnbyB0aHJvdWdoIHRoZSBwdWJs
aWMsIHJhbmdlLWNoZWNraW5nIGl0ZW0oKSBtZXRob2QKLSAgICAgICAgd29ya2luZyBvbiBtX2No
aWxkcmVuLiBBbHNvIGNoYW5nZWQgbGVuZ3RoKCkgLT4gbV9jaGlsZHJlbi5zaXplKCkuCi0KLSAg
ICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHls
ZVNoZWV0Ojp+Q1NTU3R5bGVTaGVldCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0
OjppbnNlcnRSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OmFkZFJ1bGUp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6ZGVsZXRlUnVsZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0Ojppc0xvYWRpbmcpOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTU3R5bGVTaGVldDo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMpOgotCi0yMDExLTExLTAxICBB
bmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBDU1NSdWxlOiBEZXZp
cnR1YWxpemUgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoKQotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODUKLQotICAgICAgICBSZXZpZXdlZCBieSBB
bnR0aSBLb2l2aXN0by4KLQotICAgICAgICBNb3ZlIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKCkg
aW50byB0aGUgcnVsZXMgdGhhdCBhY3R1YWxseSBpbXBsZW1lbnQgaXQuCi0gICAgICAgIEFkZCB0
eXBlIGNoZWNrcyBhbmQgY2FzdHMgYXQgdGhlIChvbmx5KSBjYWxsIHNpdGUuCi0KLSAgICAgICAg
KiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6Ci0gICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuaDoK
LSAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuaDoK
LSAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNoZWV0OjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyk6Ci0KLTIwMTEtMTEtMDEgIENocmlz
IEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KLQotICAgICAgICBBWDogc29tZSBwb3B1
cCBidXR0b25zIG5vdCBhbm5vdW5jZWQgYnkgVm9pY2VPdmVyCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0MwotCi0gICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgotCi0gICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L2FyaWEtcG9wdXAtYnV0dG9ucy1vbi1uYXRpdmUtZWxlbWVudHMuaHRtbAotCi0gICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnN0cmluZ1ZhbHVlKToKLSAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRpdGxlKToKLSAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlS
b2xlKToKLQotMjAxMS0xMS0wMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0u
b3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFtTdHlsZXNdIFN0eWxlLWJhc2VkIENTUyBw
cm9wZXJ0aWVzIGFyZSBlZGl0YWJsZSBhbmQgdG9nZ2xlYWJsZQotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzUKLQotICAgICAgICBSZXZpZXdlZCBi
eSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNT
aWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0
aW9uLnByb3RvdHlwZS5vbnBvcHVsYXRlKToKLQotMjAxMS0xMS0wMSAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IHN3
aXRjaCBwYW5lbHMgb24gQ21kICsgLT4gIHdoaWxlIGluIGNvbnNvbGUuCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MQotCi0gICAgICAgIFJldmll
d2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvclZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmlldy5w
cm90b3R5cGUuX2tleURvd24pOgotCi0yMDExLTExLTAxICBaZW5vIEFsYmlzc2VyICA8emVuby5h
bGJpc3NlckBub2tpYS5jb20+Ci0KLSAgICAgICAgW1F0XSBiYWQgY29kZWdlbiwgcG9pbnRlciBk
aWZmIGluIEpTQzo6SlNDYWxsYmFja0NvbnN0cnVjdG9yOjpKU0NhbGxiYWNrQ29uc3RydWN0b3IK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwOTUxCi0K
LSAgICAgICAgQWRqdXN0IHN5bWJvbHMgdmlzaWJpbGl0eSBmb3IgV2ViQ29yZS4KLQotICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICAqIFdlYkNvcmUucHJvOgot
Ci0yMDExLTExLTAxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAg
ICAgICBOb3QgcmV2aWV3ZWQ6IGFkZCBJbnNwZWN0b3JWaWV3LmpzIGVudHJ5IGludG8gV2ViS2l0
LnFyYwotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOgotCi0yMDEx
LTExLTAxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IGludHJvZHVjZSBQYW5lbENvbnRhaW5lciBjbGFzcywgc3RhcnQgbW92
aW5nIHBhbmVsIG1hbmFnZW1lbnQgZnJvbSBpbnNwZWN0b3IuanMgdG8gdGhlIG5ldyBjbGFzcy4K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjcyCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAg
ICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2g6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9EcmF3ZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3Rv
dHlwZS5zaG93LmFuaW1hdGlvbkZpbmlzaGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3
ZXIucHJvdG90eXBlLnNob3cpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5
cGUuaGlkZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhdHVz
QmFyRHJhZ2dpbmcpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5l
bC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5zd2l0
Y2hUb0FuZEZvY3VzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3Rv
dHlwZS5yZXZlYWxBbmRTZWxlY3ROb2RlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0VsZW1lbnRzVHJlZU91dGxpbmUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNU
cmVlT3V0bGluZS5wcm90b3R5cGUuc2V0VmlzaWJsZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JWaWV3LmpzOiBBZGRlZC4KLSAgICAgICAgKFdlYkluc3BlY3Rvci5J
bnNwZWN0b3JWaWV3KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LnByb3Rv
dHlwZS5hZGRQYW5lbCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmlldy5wcm90
b3R5cGUuY3VycmVudFBhbmVsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5JbnNwZWN0b3JWaWV3
LnByb3RvdHlwZS5fa2V5RG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmll
dy5wcm90b3R5cGUuX2NhbkdvQmFja0luSGlzdG9yeSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
SW5zcGVjdG9yVmlldy5wcm90b3R5cGUuX2dvQmFja0luSGlzdG9yeSk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5zcGVjdG9yVmlldy5wcm90b3R5cGUuX2NhbkdvRm9yd2FyZEluSGlzdG9yeSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmlldy5wcm90b3R5cGUuX2dvRm9yd2Fy
ZEluSGlzdG9yeSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmlldy5wcm90b3R5
cGUuX3B1c2hUb0hpc3RvcnkpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvS2V5Ym9h
cmRTaG9ydGN1dC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LmV2
ZW50SGFzQ3RybE9yTWV0YSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fdG9nZ2xlQnJlYWtwb2ludHNDbGlja2VkKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanM6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUudXBkYXRlU2VhcmNo
TWF0Y2hlc0NvdW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnBy
b3RvdHlwZS51cGRhdGVDdXJyZW50TWF0Y2hJbmRleCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUudXBkYXRlU2VhcmNoTGFiZWwpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fcGVyZm9y
bVNlYXJjaCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29sYmFyLmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRvb2xiYXIuY3JlYXRlUGFuZWxUb29sYmFySXRlbS5vblRvb2xi
YXJJdGVtQ2xpY2tlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVG9vbGJhci5jcmVhdGVQYW5l
bFRvb2xiYXJJdGVtKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6
Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzOgotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuX2NyZWF0ZVBhbmVs
cyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuX3BhbmVsU2VsZWN0ZWQpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLmFkZFBhbmVsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci53aW5kb3dSZXNpemUp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuZG9jdW1lbnRDYW5Db3B5KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5kb2N1bWVu
dENvcHkpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLnNob3dQYW5lbCk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3Iuc3RhcnRVc2VySW5pdGlhdGVkRGVidWdnaW5nKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5pbnNwZWN0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5fc2hvd0FuY2hvckxvY2F0aW9u
SW5QYW5lbCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuX3Rvb2xiYXJJdGVtQ2xpY2tlZCk6Ci0g
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90cmVlb3V0bGluZS5qczoKLSAgICAgICAgKFRy
ZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3QpOgotCi0yMDExLTExLTAxICBTaW1vbiBIYXVzbWFu
biAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KLQotICAgICAgICBbV0syXSBBZGQgV2ViR2Vz
dHVyZUV2ZW50cyB0byB0aGUgUXQgYnVpbGQgYW5kIGVuYWJsZSBQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6VGFwVHlwZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEyNzQKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENocmlzdGlhbnNlbi4KLQot
ICAgICAgICAqIGZlYXR1cmVzLnByaTogRW5hYmxlIEdFU1RVUkVfRVZFTlRTLgotCi0yMDExLTEx
LTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg4NDcuCi0gICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0Lzk4ODQ3Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTI2OAotCi0gICAgICAgICJEZWJ1Z2dlciB0ZXN0IGZhaWx1cmVz
IG9uIG11bHRpcGxlIHBsYXRmb3JtcyIgKFJlcXVlc3RlZCBieQotICAgICAgICB5dXJ5cyBvbiAj
d2Via2l0KS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LnByb3RvdHlwZS5fYWRkU2NyaXB0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS51aVNvdXJjZUNvZGVzKToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5zZXRGb3JtYXRTb3Vy
Y2UpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJv
dG90eXBlLl9jb25zb2xlQ2xlYXJlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3Jhd1NvdXJjZUNvZGVGb3JTY3JpcHRXaXRoVVJM
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3Rv
dHlwZS5fcmF3U291cmNlQ29kZUZvclNjcmlwdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3NjcmlwdEZvclJhd1NvdXJjZUNvZGUp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlLl9jcmVhdGVSYXdTb3VyY2VDb2RlSWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9kZWJ1Z2dlclJlc2V0KToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5
cGUucmVzZXQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmF3U291cmNlQ29kZS5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLnByb3RvdHlwZS5fY3JlYXRl
U291cmNlTWFwcGluZy5kaWRSZXF1ZXN0Q29udGVudC5kaWRGb3JtYXRDb250ZW50KToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLnByb3RvdHlwZS5fY3JlYXRlU291cmNlTWFw
cGluZy5kaWRSZXF1ZXN0Q29udGVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291cmNl
Q29kZS5wcm90b3R5cGUuX2NyZWF0ZVNvdXJjZU1hcHBpbmcpOgotICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdC5wcm90
b3R5cGUuZWRpdFNvdXJjZSk6Ci0KLTIwMTEtMTAtMzAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KLQotICAgICAgICBUaGUgR0Mgc2hvdWxkIGJlIHBhcmFsbGVsCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk5NQotCi0gICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgotICAgICAgICAKLSAgICAgICAgQWRkZWQgcGFyYWxsZWwg
dHJhY2luZyB0byB0aGUgR0MuIFRoaXMgcmVxdWlyZWQgbG9vc2VuaW5nIHNvbWUgYXNzZXJ0aW9u
cywKLSAgICAgICAgc2luY2Ugc29tZSBjb2RlIG1heSBub3cgYmUgY2FsbGVkIGZyb20gb3V0c2lk
ZSB0aGUgbWFpbiB0aHJlYWQuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSBubyBiZWhh
dmlvciB3YXMgY2hhbmdlZC4KLQotICAgICAgICAqIHBsYXRmb3JtL1RyZWVTaGFyZWQuaDoKLSAg
ICAgICAgKFdlYkNvcmU6OlRyZWVTaGFyZWQ6OnBhcmVudCk6Ci0KLTIwMTEtMTAtMzEgIEFuZHkg
RXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgotCi0gICAgICAgIERvY3VtZW50IHBvaW50ZXIgbm90
IG51bGwtY2hlY2tlZCBpbiBGcmFtZVZpZXc6OmlzT25BY3RpdmVQYWdlKCkKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjY1Ci0gICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xMDM3NDQyNz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWlu
LgotCi0gICAgICAgIFJldHVybiBmYWxzZSBpbiBGcmFtZVZpZXc6OmlzT25BY3RpdmVQYWdlKCkg
aWYgbV9mcmFtZS0+ZG9jdW1lbnQoKSBpcwotICAgICAgICBudWxsLiBPdGhlciBjYWxscyB0byBt
X2ZyYW1lLT5kb2N1bWVudCgpIGluIEZyYW1lVmlldyBhbHNvIGhhdmUgYSBudWxsCi0gICAgICAg
IGNoZWNrLiBUaGUgZnJhbWUgY2FuIGhhdmUgYSBudWxsIGRvY3VtZW50IGlmIHRoZSBGcmFtZUxv
YWRlciBpcyBsb2FkaW5nCi0gICAgICAgIHRoZSBpbml0aWFsIGVtcHR5IGRvY3VtZW50LgotCi0g
ICAgICAgIE5vIHRlc3QgcG9zc2libGUgd2l0aG91dCB0cmlnZ2VyaW5nIGFzc2VydGlvbnMgaW4g
ZGVidWcgYnVpbGRzLiBUaGlzIGlzCi0gICAgICAgIHRyYWNrZWQgYnkgPGh0dHA6Ly93ZWJraXQu
b3JnL2IvNzEyNjQ+LgotCi0gICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3Ojppc09uQWN0aXZlUGFnZSk6Ci0KLTIwMTEtMTAtMzEgIEplcmVt
eSBBcHRob3JwICA8amVyZW15YUBnb29nbGUuY29tPgotCi0gICAgICAgIEZpeCBhIGNyYXNoIHJl
bGF0aW5nIHRvIGFub255bW91cyBibG9jayBtZXJnaW5nIGluCi0gICAgICAgIFJlbmRlckZ1bGxT
Y3JlZW46OnVud3JhcFJlbmRlcmVyLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA3MDUKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIu
Ci0KLSAgICAgICAgVGVzdDogZnVsbHNjcmVlbi9hbm9ueW1vdXMtYmxvY2stbWVyZ2UtY3Jhc2gu
aHRtbAotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uY3BwOgotICAgICAg
ICAoUmVuZGVyRnVsbFNjcmVlbjo6dW53cmFwUmVuZGVyZXIpOgotCi0yMDExLTEwLTMxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgVjhNZXNzYWdlRXZl
bnQ6OmRhdGFBY2Nlc3NvckdldHRlciBkb2VzIG5vdCByZXR1cm4gYSByZWZlcmVuY2UgdG8gaXRz
IGNhbGxlcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEyMjkKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL2Rpc3BhdGNoLW1lc3NhZ2Utc3RyaW5nLWRhdGEuaHRtbAotCi0gICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50OjpkYXRhQWNjZXNzb3JHZXR0ZXIpOgotCi0yMDExLTEw
LTMxICBSZW5hdGEgSG9kb3ZhbiAgPHJlbmlAd2Via2l0Lm9yZz4KLQotICAgICAgICBbUXRdIEJ1
aWxkIGZpeCBhZnRlciByOTg4NTMuCi0KLSAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgQW5kcmVh
cyBLbGluZy4KLQotICAgICAgICAqIHhtbC9YU0xJbXBvcnRSdWxlLmNwcDoKLSAgICAgICAgKiB4
bWwvWFNMSW1wb3J0UnVsZS5oOgotICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6cGFy
ZW50U3R5bGVTaGVldCk6Ci0KLTIwMTEtMTAtMzEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5i
ZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0OjpkZWZhdWx0
VmFsdWUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTQ2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBObyBuZXcg
dGVzdHMuCi0KLSAgICAgICAgQWRkZWQgZGVmYXVsdFZhbHVlIHRvIHRoZSBNZXRob2RUYWJsZS4g
IFJlcGxhY2VkIGFsbCB2aXJ0dWFsIHZlcnNpb25zIG9mIAotICAgICAgICBkZWZhdWx0VmFsdWUg
d2l0aCBzdGF0aWMgdmVyc2lvbnMuICBSZXBsYWNlZCBhbGwgY2FsbCBzaXRlcyB3aXRoIGxvb2t1
cHMgaW4gdGhlIAotICAgICAgICBNZXRob2RUYWJsZS4KLQotICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgotICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfcnVudGltZS5oOgotICAgICAgICAqIGJy
aWRnZS9vYmpjL29iamNfcnVudGltZS5tbToKLSAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iamNG
YWxsYmFja09iamVjdEltcDo6ZGVmYXVsdFZhbHVlKToKLSAgICAgICAgKiBicmlkZ2UvcnVudGlt
ZV9vYmplY3QuY3BwOgotICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGltZU9iamVjdDo6ZGVm
YXVsdFZhbHVlKToKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKLQotMjAxMS0x
MC0zMSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgU3dp
dGNoIFJvdW5kZWRSZWN0IGJhY2sgdG8gaW50ZWdlcnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCi0KLSAgICAgICAgQ2hhbmdpbmcgUm91bmRlZFJlY3QgYmFjayB0byBpbnRzIGZy
b20gTGF5b3V0VW5pdHMuIEFzIGZ1cnRoZXIgdGVzdGluZyBoYXMgc2hvd24sIHRoaXMgZ3JhcGhp
Y3MtCi0gICAgICAgIGZvY3VzZWQgY2xhc3Mgc2hvdWxkIG1haW50YWluIHZhbHVlcyBhbGlnbmVk
IHRvIHBpeGVsIGJvdW5kYXJpZXMsIGFuZCB0aGVyZWZvciBrZXB0IGFzIGludGVnZXJzLgotCi0g
ICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpS
b3VuZGVkUmVjdDo6UmFkaWk6OnNjYWxlKToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0
OjpSYWRpaTo6ZXhwYW5kKToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0OjppbmZsYXRl
V2l0aFJhZGlpKToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0OjpSYWRpaTo6ZXhjbHVk
ZUxvZ2ljYWxFZGdlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3VuZGVkUmVjdDo6Um91bmRlZFJl
Y3QpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0Lmg6Ci0gICAgICAg
IChXZWJDb3JlOjpSb3VuZGVkUmVjdDo6UmFkaWk6OlJhZGlpKToKLSAgICAgICAgKFdlYkNvcmU6
OlJvdW5kZWRSZWN0OjpSYWRpaTo6c2V0VG9wTGVmdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3Vu
ZGVkUmVjdDo6UmFkaWk6OnNldFRvcFJpZ2h0KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRS
ZWN0OjpSYWRpaTo6c2V0Qm90dG9tTGVmdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3VuZGVkUmVj
dDo6UmFkaWk6OnNldEJvdHRvbVJpZ2h0KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0
OjpSYWRpaTo6dG9wTGVmdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3VuZGVkUmVjdDo6UmFkaWk6
OnRvcFJpZ2h0KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0OjpSYWRpaTo6Ym90dG9t
TGVmdCk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3VuZGVkUmVjdDo6UmFkaWk6OmJvdHRvbVJpZ2h0
KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0OjpSYWRpaTo6ZXhwYW5kKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0OjpSYWRpaTo6c2hyaW5rKToKLSAgICAgICAgKFdlYkNv
cmU6OlJvdW5kZWRSZWN0OjpyZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0Ojpz
ZXRSZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0Ojptb3ZlKToKLSAgICAgICAg
KFdlYkNvcmU6OlJvdW5kZWRSZWN0OjppbmZsYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlJvdW5k
ZWRSZWN0OjpleHBhbmRSYWRpaSk6Ci0gICAgICAgIChXZWJDb3JlOjpSb3VuZGVkUmVjdDo6c2hy
aW5rUmFkaWkpOgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOiBB
ZGRpbmcgbWlzc2luZyBMYXlvdXRUeXBlcy5oIGluY2x1ZGUKLQotMjAxMS0xMC0zMSAgUGV0ZXIg
S2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjY2Ci0gICAgICAgIEJpdG1hcEltYWdlOjpkYXRh
Q2hhbmdlZCgpIG5lZWRzIHRvIGNsZWFyIGFsbCBpbmNvbXBsZXRlIGZyYW1lcy4KLQotICAgICAg
ICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBObyB0ZXN0cywgYXMgSSBk
b24ndCBrbm93IG9mIGEgd2F5IHRvIHNlbmQgYW4gaW1hZ2UgdG8gdGhlIHJlbmRlcmVyIGluCi0g
ICAgICAgIHNtYWxsIHBpZWNlcyAod2l0aCBzY3JpcHQgcnVuIGJldHdlZW4gcGllY2VzIG5vIGxl
c3MpLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmRhdGFDaGFuZ2VkKToKLQotMjAxMS0xMC0zMSAg
TGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQW1lbmQgbWlz
c2luZyB1c2VzIG9mIExheW91dFVuaXRzIGluIFJlbmRlckFwcGxldCwgQnV0dG9uLCBhbmQgRGVw
cmVjYXRlZEZsZXhpYmxlQm94Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTI0MwotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0g
ICAgICAgIFJlcGxhY2luZyByZW1haW5pbmcgaW50ZWdlciB1c2VzIHdpdGggTGF5b3V0VW5pdHMg
aW4gdGhlIGFmb3JlbWVudGlvbmVkIGNsYXNzZXMuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzIC0t
IG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBcHBs
ZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQXBwbGV0OjppbnRyaW5zaWNTaXplKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckFwcGxldDo6Y3JlYXRlV2lkZ2V0SWZOZWNlc3Nhcnkp
OgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBcHBsZXQuaDoKLSAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6Y29u
dHJvbENsaXBSZWN0KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmg6Ci0gICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjptYXJnaW5XaWR0aEZvckNoaWxkKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXRCbG9j
ayk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91
dEhvcml6b250YWxCb3gpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94OjphcHBseUxpbmVDbGFtcCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC5oOgotCi0yMDExLTEwLTMxICBUb21teSBXaWRlbmZseWNodCAgPHRv
bW15d0Bnb29nbGUuY29tPgotCi0gICAgICAgIFtDaHJvbWl1bV0gTWVkaWEgU3RyZWFtIEFQSTog
YWRkIHRoZSBDaHJvbWl1bSBXZWJLaXQgaW50ZXJmYWNlcwotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg1NTAKLQotICAgICAgICBDaGFuZ2VzIHRoZSBQ
ZWVySGFuZGxlciBwbGF0Zm9ybSBpbnRlcmZhY2Ugc28gdGhhdCBlbWJlZGRlcnMgY2FuIG1vcmUg
ZWFzaWx5IHVzZSBpdC4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCi0KLSAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgot
ICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgotICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbi5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6UGVlckNvbm5lY3Rpb24pOgotICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb246OmRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6ZGlkR2VuZXJhdGVTRFApOgotICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb246OmRpZFJlY2VpdmVEYXRhU3RyZWFtTWVzc2FnZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6ZGlkQWRkUmVtb3RlU3RyZWFtKToKLSAgICAgICAg
KFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpkaWRSZW1vdmVSZW1vdGVTdHJlYW0pOgotICAgICAg
ICAqIG1lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uLmg6Ci0gICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Lmg6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJIYW5kbGVyLmNwcC4KLSAgICAgICAg
KFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6flBlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudCk6Ci0gICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1BlZXJIYW5kbGVyLmguCi0gICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJIYW5kbGVyLmNwcC4KLSAgICAgICAg
KFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNv
cmU6OlBlZXJDb25uZWN0aW9uSGFuZGxlcjo6UGVlckNvbm5lY3Rpb25IYW5kbGVyKToKLSAgICAg
ICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uSGFuZGxlcjo6flBlZXJDb25uZWN0aW9uSGFuZGxl
cik6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2R1Y2VJbml0
aWFsT2ZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25IYW5kbGVyOjpoYW5k
bGVJbml0aWFsT2ZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25IYW5kbGVy
Ojpwcm9jZXNzU0RQKToKLSAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uSGFuZGxlcjo6
cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKToKLSAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9u
SGFuZGxlcjo6c2VuZERhdGFTdHJlYW1NZXNzYWdlKToKLSAgICAgICAgKFdlYkNvcmU6OlBlZXJD
b25uZWN0aW9uSGFuZGxlcjo6c3RvcCk6Ci0gICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Z3N0cmVhbWVyL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckhhbmRsZXIuaC4KLQotICAgICAgICBUZXN0
cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBwcm92aWRlZCBieSB0aGUgYnVnIDU2
NTg3LCBwZW5kaW5nIGVub3VnaCBsYW5kZWQgY29kZS4KLQotMjAxMS0xMC0zMSAgQWRhbSBSb2Jl
biAgPGFyb2JlbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgRml4IGxpbmtlciB3YXJuaW5ncyBvbiBX
aW5kb3dzCi0KLSAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajogRXhjbHVk
ZSBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmNwcCBhbmQKLSAgICAgICAgSlNSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFjay5jcHAgZnJvbSBhbGwgY29uZmlndXJhdGlvbnMuIFRoZXkgYXJl
IGFscmVhZHkgZ2V0dGluZwotICAgICAgICBjb21waWxlZCB2aWEgKkFsbEluT25lLmNwcCBmaWxl
cy4KLQotMjAxMS0xMC0zMSAgSm9uYXRob24gSm9uZ3NtYSAgPGpvbmF0aG9uLmpvbmdzbWFAY29s
bGFib3JhLmNvLnVrPgotCi0gICAgICAgIFtHU3RyZWFtZXJdIERvbid0IHVzZSBHT3duUHRyIGZv
ciByZWYtY291bnRlZCBvYmplY3RzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTA0MgotCi0gICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNv
bi4KLQotICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OgotICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUucHJv
OgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HT3duUHRyR1N0cmVhbWVy
LmNwcDogUmVtb3ZlZC4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR093
blB0ckdTdHJlYW1lci5oOiBSZW1vdmVkLgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HU3RyZWFtZXJHV29ybGQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVy
R1dvcmxkOjplbnRlckZ1bGxzY3JlZW4pOgotICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyR1dv
cmxkOjpleGl0RnVsbHNjcmVlbik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZUF1ZGlvU2luayk6Ci0gICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNvdXJjZUNoYW5nZWQpOgotCi0y
MDExLTEwLTI4ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hy
b21pdW1dIENvbm5lY3QgQ0NUaHJlYWRQcm94eSB0byBGcmFtZVJhdGVDb250cm9sbGVyIGFuZCBT
Y2hlZHVsZXJTdGF0ZU1hY2hpbmUgdmlhIENDU2NoZWR1bGVyCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMAotCi0gICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJh
c2VkVGltZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKToKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKLSAgICAgICAg
KFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdENsaWVudDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKToK
LSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1l
KToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlckZyYW1lUmF0ZUNvbnRyb2xsZXJDbGll
bnRBZGFwdGVyOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJGcmFtZVJh
dGVDb250cm9sbGVyQ2xpZW50QWRhcHRlcjo6fkNDU2NoZWR1bGVyRnJhbWVSYXRlQ29udHJvbGxl
ckNsaWVudEFkYXB0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJGcmFtZVJhdGVD
b250cm9sbGVyQ2xpZW50QWRhcHRlcjo6YmVnaW5GcmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
Q1NjaGVkdWxlckZyYW1lUmF0ZUNvbnRyb2xsZXJDbGllbnRBZGFwdGVyOjpDQ1NjaGVkdWxlckZy
YW1lUmF0ZUNvbnRyb2xsZXJDbGllbnRBZGFwdGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2No
ZWR1bGVyOjpDQ1NjaGVkdWxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6fkND
U2NoZWR1bGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyOjpzZXROZWVkc0FuaW1h
dGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXI6OnNldE5lZWRzQ29tbWl0KToKLSAg
ICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyOjpzZXROZWVkc1JlZHJhdyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ1NjaGVkdWxlcjo6YmVnaW5GcmFtZUNvbXBsZXRlKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDU2NoZWR1bGVyOjpkaWRTd2FwQnVmZmVyc0NvbXBsZXRlKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDU2NoZWR1bGVyOjpkaWRTd2FwQnVmZmVyc0Fib3J0KToKLSAgICAgICAgKFdlYkNvcmU6
OkNDU2NoZWR1bGVyOjpvbkJlZ2luRnJhbWUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVs
ZXI6OnByb2Nlc3NTY2hlZHVsZWRBY3Rpb25zKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVs
ZXI6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6Y29tbWl0UGVuZGlu
Zyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6cmVkcmF3UGVuZGluZyk6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hp
bmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkNDU2No
ZWR1bGVyU3RhdGVNYWNoaW5lKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVN
YWNoaW5lOjpuZXh0QWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVN
YWNoaW5lOjp1cGRhdGVTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRl
TWFjaGluZTo6YmVnaW5VcGRhdGVNb3JlUmVzb3VyY2VzQ29tcGxldGUpOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5lLmg6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6cmVkcmF3UGVuZGluZyk6
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQ
cm94eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpDQ1Npbmds
ZVRocmVhZFByb3h5KToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRv
Q29tbWl0KToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OmRvQ29tcG9z
aXRlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRo
cmVhZFByb3h5Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
ZXh0dXJlVXBkYXRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRhdGVyOjpo
YXNNb3JlVXBkYXRlcyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NUZXh0dXJlVXBkYXRlci5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGhyZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6
Q0NUaHJlYWRQcm94eSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5Ojpjb21wb3Np
dGVBbmRSZWFkYmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpyZXF1ZXN0
UmVhZGJhY2tPbkltcGxUaHJlYWQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6
c2V0TmVlZHNBbmltYXRlT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFk
UHJveHk6OnNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkND
VGhyZWFkUHJveHk6OnNldE5lZWRzUmVkcmF3T25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDVGhyZWFkUHJveHk6OmZpbmlzaEFsbFJlbmRlcmluZ09uSW1wbFRocmVhZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25CZWdpbkZyYW1lKToK
LSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQpOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6YmVnaW5GcmFtZUNvbXBsZXRlT25JbXBs
VGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6Omhhc01vcmVSZXNvdXJj
ZVVwZGF0ZXMpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0
aW9uVXBkYXRlTW9yZVJlc291cmNlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5
OjpzY2hlZHVsZWRBY3Rpb25Db21taXQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94
eTo6ZHJhd0xheWVyc0FuZFN3YXBPbkltcGxUaHJlYWQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NU
aHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKToKLSAgICAgICAgKFdlYkNvcmU6OkND
VGhyZWFkUHJveHk6OmluaXRpYWxpemVJbXBsT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDVGhyZWFkUHJveHk6OmxheWVyVHJlZUhvc3RDbG9zZWRPbkltcGxUaHJlYWQpOgotICAg
ICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXAp
OgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHku
aDoKLQotMjAxMS0xMC0zMSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIFJlbmFtZSB0aGUgcmVtYWluaW5nIHVzZXMgb2YgQ3VlIGluIFdlYkNvcmUvbG9hZGVy
LwotICAgICAgICB0byBUZXh0VHJhY2suCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTIzMQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KLQotICAgICAgICBObyBuZXcgdGVzdHMsIHN0cmljdGx5IGEgcmVuYW1pbmcuCi0KLSAgICAg
ICAgKiBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKLSAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2UuY3BwOgotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oOgotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6Ci0g
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6Ci0gICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHA6Ci0gICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFRleHRUcmFjay5jcHA6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaDoKLQotMjAxMS0xMC0yNyAgQWRhbSBLbGVpbiAgPGFk
YW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIFN1cHBvcnQg
Y2hhcmFjdGVyRGF0YU9sZFZhbHVlIGZvciBjaGFyYWN0ZXJEYXRhIG11dGF0aW9ucwotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjIKLQotICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0gICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6aGFzT2xkVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6
aXNPbGRWYWx1ZVJlcXVlc3RlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpk
aXNwYXRjaE1vZGlmaWVkRXZlbnQpOgotICAgICAgICAqIGRvbS9NdXRhdGlvblJlY29yZC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvblJlY29yZDo6Y3JlYXRlQ2hhcmFjdGVyRGF0YSk6
Ci0gICAgICAgICogZG9tL011dGF0aW9uUmVjb3JkLmg6Ci0KLTIwMTEtMTAtMzEgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KLQotICAgICAgICBSZW1vdmUgbmVlZCBmb3IgdmlydHVhbCBK
U09iamVjdDo6dW53cmFwcGVkT2JqZWN0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTAzNAotCi0gICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgotCi0gICAgICAgIE1vdmUgdGhlIG1lbWJlciBjb250YWluaW5nIHRoZSBnbG9iYWwgb2Jq
ZWN0IGZyb20gdGhlIEpTRE9NV2luZG93U2hlbGwKLSAgICAgICAgZG93biB0byB0aGUgSlNHbG9i
YWxUaGlzIGNsYXNzLCBhbmQgdXBkYXRlIEpTRE9NV2luZG93U2hlbGwgdG8gZ28gdGhyb3VnaAot
ICAgICAgICBhbiBpbmxpbmUgaGVscGVyICh3aGljaCBqdXN0IGNhc3RzKSB0byBnZXQgdGhlIHdp
bmRvdy4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6c2V0V2luZG93KToKLSAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmNsYXNzTmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpK
U0RPTVdpbmRvd1NoZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgotICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dTaGVsbDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKLSAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OnB1dCk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd1NoZWxsOjpwdXRXaXRoQXR0cmlidXRlcyk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd1NoZWxsOjpkZWZpbmVPd25Qcm9wZXJ0eSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd1NoZWxsOjpkZWxldGVQcm9wZXJ0eSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRv
d1NoZWxsOjpnZXRQcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
U2hlbGw6OmdldE93blByb3BlcnR5TmFtZXMpOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5k
b3dTaGVsbDo6ZGVmaW5lR2V0dGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hl
bGw6OmRlZmluZVNldHRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjps
b29rdXBHZXR0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6bG9va3Vw
U2V0dGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmltcGwpOgotICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaDoKLSAgICAgICAgKFdlYkNvcmU6
OkpTRE9NV2luZG93U2hlbGw6OndpbmRvdyk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRv
d1NoZWxsOjpzZXRXaW5kb3cpOgotICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6
Y3JlYXRlU3RydWN0dXJlKToKLQotMjAxMS0xMC0yOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KLQotICAgICAgICBXZWJLaXQgbmVzdHMgcHJlIG9uIGNvcHkgYW5kIHBhc3RlIHdo
ZW4gdGhlIHByZSBpcyB0aGUgcm9vdCBlZGl0YWJsZSBlbGVtZW50Ci0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgwMAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIEZpeGVkIHRoZSBidWcgYnkgcmVtb3ZpbmcgbmVz
dGVkIGJsb2NrIGVsZW1lbnRzIGluIHJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNw
YW5JbmxpbmUuCi0KLSAgICAgICAgVGVzdHM6IGVkaXRpbmcvcGFzdGVib2FyZC9jb250ZW50ZWRp
dGFibGUtcHJlLTIuaHRtbAotICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL2NvbnRl
bnRlZGl0YWJsZS1wcmUuaHRtbAotCi0gICAgICAgICogZWRpdGluZy9BcHBseVN0eWxlQ29tbWFu
ZC5jcHA6Ci0gICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50
U3R5bGVzQW5kS2VlcFN0eWxlU3BhbklubGluZSk6IFJlbW92ZSBibG9jawotICAgICAgICBlbGVt
ZW50cyBpZiBpdCdzIGlkZW50aWNhbCB0byBpdHMgcGFyZW50IGFuZCB0aGVyZSBhcmUgbm8gY29u
dGVudHMgYmV0d2VlbiB0aGUgdHdvLiBBbHNvIHJlbW92ZQotICAgICAgICBjb250ZW50ZWRpdGFi
bGUgYXR0cmlidXRlIGZyb20gYW4gZWxlbWVudCBpZiB0aGUgcGFyZW50IGlzIGFscmVhZHkgcmlj
aGx5IGVkaXRhYmxlLgotICAgICAgICAoV2ViQ29yZTo6UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6
OmRvQXBwbHkpOiBSZW1vdmUgcmVkdW5kYW50IHN0eWxlcyBhZnRlciByZW1vdmluZyB0aGUgcGxh
Y2Vob2xkZXIKLSAgICAgICAgYnIgc28gdGhhdCB0aGUgYWJvdmUgY2hlY2sgZG9lc24ndCBnZXQg
YWZmZWN0ZWQgYnkgdGhlIHBsYWNlaG9sZGVyLgotICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRp
bmcuY3BwOgotICAgICAgICAoV2ViQ29yZTo6YXJlSWRlbnRpY2FsRWxlbWVudHMpOiBNb3ZlZCBm
cm9tIEFwcGx5U3R5bGVDb21tYW5kLgotICAgICAgICAoV2ViQ29yZTo6aXNOb25UYWJsZUNlbGxI
VE1MQmxvY2tFbGVtZW50KTogTW92ZWQgZnJvbSBtYXJrdXAuY3BwLgotICAgICAgICAqIGVkaXRp
bmcvaHRtbGVkaXRpbmcuaDoKLSAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6Ci0KLTIwMTEt
MTAtMzEgIFZpbmVldCBDaGF1ZGhhcnkgIDx2aW5lZXQuY2hhdWRoYXJ5QG1vdG9yb2xhLmNvbT4K
LQotICAgICAgICB0ZXh0L3BsYWluIGZvcm0gZW5jb2RpbmcgaWdub3JlZCBhbmQgaW5jb3JyZWN0
bHkgc3BlY2lmaWVkIGluIHJlcXVlc3QgaGVhZGVyLgotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTUKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KLQotICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBiZWhhdmlvdXIgb2YgZm9y
bXMgd2hlcmUgZW5jdHlwZSBpcyBzZXQgdG8KLSAgICAgICAgdGV4dC9wbGFpbiwgZW5jb2Rpbmcg
aXMgYWxzbyB0ZXh0L3BsYWluLgotCi0gICAgICAgIFRlc3RzOiBmYXN0L2Zvcm1zL2Zvcm0tZ2V0
LXRleHRwbGFpbi5odG1sCi0gICAgICAgICAgICAgICBodHRwL3Rlc3RzL21pc2MvZm9ybS1wb3N0
LXRleHRwbGFpbi5odG1sCi0KLSAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6Ci0gICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6
Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkZvcm1EYXRhOjphcHBlbmRLZXlWYWx1ZVBhaXJJ
dGVtcyk6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oOgotICAgICAgICAo
V2ViQ29yZTo6Rm9ybURhdGE6OnBhcnNlRW5jb2RpbmdUeXBlKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGb3JtRGF0
YUJ1aWxkZXI6OmFkZEtleVZhbHVlUGFpckFzRm9ybURhdGEpOiBNb2RpZmllZCBlbmNvZGluZyBz
Y2hlbWUgZm9yIHRleHQvcGxhaW4uCi0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0
YUJ1aWxkZXIuaDoKLQotMjAxMS0xMC0zMSAgSm9obiBHcmVnZyAgPGpvaG5ueWdAZ29vZ2xlLmNv
bT4KLQotICAgICAgICBSZW5kZXJJbWFnZS5jcHAgY2FsbHMgU1ZHSW1hZ2UgZXZlbiBpZiBpdCdz
IG5vdCBkZWZpbmVkCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTI0NwotCi0gICAgICAgIFRoaXMgZml4ZXMgYSBjb21waWxlIGVycm9yIHdoZW4gRU5B
QkxFX1NWRz0wLgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjplbWJlZGRlZENvbnRlbnRCb3gpOgotCi0yMDExLTEw
LTMxICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFVwZGF0ZSBYTUxIdHRwUmVxdWVzdC5zZW5kIGlkbCBkZWNsYXJhdGlvbiB0byBtYXRjaCBpbXBs
ZW1lbnRhdGlvbi4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMTIxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICAq
IHhtbC9YTUxIdHRwUmVxdWVzdC5pZGw6Ci0KLTIwMTEtMTAtMzEgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KLQotICAgICAgICBNb3JlIHdvcmsgb24gbWFraW5nIHBsdWct
aW5zIHdvcmsgYmV0dGVyIHdpdGggdHJhbnNmb3JtcwotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNDEKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KLQotICAgICAgICBFeHBvcnQgc3ltYm9scyB1c2VkIGJ5IFdlYktpdDIuCi0KLSAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKLQotMjAxMS0xMC0zMSAgTWFyayBIYWhuZW5iZXJnICA8
bWhhaG5lbmJlcmdAYXBwbGUuY29tPgotCi0gICAgICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6
OmRlZmluZUdldHRlcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzExMzQKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAg
ICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgQWRkZWQgZGVmaW5lR2V0dGVyIHRvIHRoZSBNZXRo
b2RUYWJsZS4gIFJlcGxhY2VkIGFsbCB2aXJ0dWFsIHZlcnNpb25zIG9mIGRlZmluZUdldHRlcgot
ICAgICAgICB3aXRoIHN0YXRpYyB2ZXJzaW9ucy4gIFJlcGxhY2VkIGFsbCBjYWxsIHNpdGVzIHdp
dGggbG9va3VwcyBpbiB0aGUgTWV0aG9kVGFibGUuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZGVm
aW5lR2V0dGVyKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmRlZmluZUdldHRlcik6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgotICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTTG9jYXRpb25DdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6
ZGVmaW5lR2V0dGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkpTTG9jYXRpb25Qcm90b3R5cGU6OmRl
ZmluZUdldHRlcik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0KLTIwMTEtMTAtMzEgIEFya28gU2FoYSAg
PGFya29AbW90b3JvbGEuY29tPgotCi0gICAgICAgIE1pY3JvZGF0YTogU3VwcG9ydCBmb3IgaXRl
bWlkIGF0dHJpYnV0ZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMDA3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgotCi0gICAg
ICAgIGl0ZW1pZCBhdHRyaWJ1dGU6IFRvIGdpdmUgYSBnbG9iYWwgaWRlbnRpZmllciBmb3IgdGhl
IE1pY3JvZGF0YSBpdGVtcy4KLSAgICAgICAgVGhlIGl0ZW1pZCBhdHRyaWJ1dGUsIGlmIHNwZWNp
ZmllZCwgbXVzdCBoYXZlIGEgdmFsdWUgdGhhdCBpcyBhIHZhbGlkIFVSTCBwb3RlbnRpYWxseQot
ICAgICAgICBzdXJyb3VuZGVkIGJ5IHNwYWNlcy4KLSAgICAgICAgU3BlYzogaHR0cDovL3d3dy53
aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvbWljcm9kYXRh
Lmh0bWwjYXR0ci1pdGVtaWQKLQotICAgICAgICBUZXN0czogZmFzdC9kb20vTWljcm9EYXRhL2l0
ZW1pZC1hdHRyaWJ1dGUtdGVzdC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0Rh
dGEvaXRlbWlkLW11c3Qtc2VlLXJlc29sdmVkLXVybC5odG1sCi0KLSAgICAgICAgKiBodG1sL0hU
TUxFbGVtZW50LmlkbDoKLQotMjAxMS0xMC0zMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICB3aW5kb3cub25lcnJvciBkb2Vzbid0IHdvcmsgd2l0aCBp
bmxpbmUgKGF0dHJpYnV0ZSkgc2NyaXB0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA5OTEKLQotICAgICAgICBVbmNhdWdodCBzeW50YXggZXJyb3Jz
IGluIGlubGluZSBldmVudCBoYW5kbGVycyBhcmUgbm93IHJlcG9ydGVkIHRvCi0gICAgICAgIHdp
bmRvdy5vbmVycm9yIGhhbmRsZXIuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2Fy
ZW4uCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlv
bi1pbi1hdHRyLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
LXN5bnRheC1lcnJvci1pbi1hdHRyLmh0bWwKLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTGF6
eUV2ZW50TGlzdGVuZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNMYXp5RXZlbnRMaXN0ZW5l
cjo6aW5pdGlhbGl6ZUpTRnVuY3Rpb24pOiByZXBvcnQgZXhjZXB0aW9uIGFzIHVzdWFsCi0gICAg
ICAgIGlmIGl0IGhhcHBlbnMgZHVyaW5nIGV2ZW50IGhhbmRsZXIgY29tcGlsYXRpb24uCi0KLTIw
MTEtMTAtMzEgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIE92
ZXJyaWRkZW4gTGF5b3V0UmVjdCBtZXRob2Qgc3RpbGwgdXNlcyBJbnRSZWN0cwotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjYKLQotICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBDaGFuZ2UgYWxsIHZpcnR1YWwgY29u
dHJvbENsaXBSZWN0LCB3aW5kb3dSZXNpemVyUmVjdCwgd2luZG93Q2xpcFJlY3QsCi0gICAgICAg
IHZpc2libGVDb250ZW50UmVjdCwgc2Nyb2xsQ29ybmVyUmVjdCwgb3V0bGluZUJvdW5kc0ZvclJl
cGFpbnQgYW5kCi0gICAgICAgIGxvY2FsQ2FyZXRSZWN0IGZ1bmN0aW9ucyB0byBoYXZlIHRoZSBz
YW1lIHNpZ25hdHVyZS4KLQotICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6d2luZG93Q2xpcFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3Ojp3aW5kb3dDbGlwUmVjdEZvckxheWVyKToKLSAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6d2luZG93UmVzaXplclJlY3QpOgotICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
Ci0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxWaWV3Ojp3aGVlbEV2ZW50KToKLSAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6
Ci0gICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKLSAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQnV0dG9uLmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp2aXNpYmxlQ29udGVudFJlY3QpOgotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpsb2NhbENhcmV0
UmVjdCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0OjpvdXRsaW5lQm91bmRzRm9yUmVwYWludCk6Ci0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6
bG9jYWxDYXJldFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bGluZXNCb3Vu
ZGluZ0JveCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKLSAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6bG9jYWxDYXJldFJlY3QpOgotICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oOgotCi0yMDExLTEwLTMxICBEbWl0cnkgTG9tb3Yg
IDxkc2xvbW92QGdvb2dsZS5jb20+Ci0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwNjU4Ci0gICAgICAgIFtKU0NdIEltcGxlbWVudCBNZXNzYWdlUG9y
dCB0cmFuc2ZlciBpbiBKU0MgYmluZGluZ3MgaW1wbGVtZW50YXRpb24gb2Ygd2Via2l0UG9zdE1l
c3NhZ2UuCi0gICAgICAgIFRyYW5zZmVyIG9mIE1lc3NhZ2VQb3J0cyBpbXBsZW1lbnRlZC4KLQot
ICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KLQotICAgICAgICAqIGJpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlh
bGl6ZXI6OnNlcmlhbGl6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OkNs
b25lU2VyaWFsaXplcik6Ci0gICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OmR1bXBJ
ZlRlcm1pbmFsKToKLSAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpkZXNlcmlh
bGl6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6Q2xvbmVEZXNlcmlh
bGl6ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRUZXJtaW5h
bCk6Ci0gICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKLQot
MjAxMS0xMC0zMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAg
Q1NTUnVsZTogRGV2aXJ0dWFsaXplIGluc2VydGVkSW50b1BhcmVudCgpCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMwotCi0gICAgICAgIFJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIE1vdmVkIGluc2VydGVkSW50b1BhcmVu
dCgpIGRvd24gaW50byBDU1NJbXBvcnRSdWxlIGFuZCByZW5hbWVkIGl0IHRvCi0gICAgICAgIHJl
cXVlc3RTdHlsZVNoZWV0KCkuIENTU0ltcG9ydFJ1bGUgaXMgdGhlIG9ubHkgdXNlciBvZiB0aGlz
IGZ1bmN0aW9uLgotCi0gICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6cmVxdWVzdFN0eWxlU2hlZXQpOgotICAgICAgICAqIGNz
cy9DU1NJbXBvcnRSdWxlLmg6Ci0gICAgICAgICogY3NzL0NTU1J1bGUuaDoKLSAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0Ojph
cHBlbmQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6aW5zZXJ0UnVsZSk6Ci0K
LTIwMTEtMTAtMzEgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIEltcGxlbWVudCBsb2FkIG5vdGlmaWNhdGlvbiBhbmQgZXZlbnRzIGZvciA8dHJhY2s+Lgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNTQKLQot
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCi0KLSAgICAgICAgVGVzdHM6IG1lZGlh
L3RyYWNrL3RyYWNrLWxvYWQtZXJyb3ItcmVhZHlTdGF0ZS5odG1sCi0gICAgICAgICAgICAgICBt
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tZWxlbWVudC1yZWFkeVN0YXRlLmh0bWwKLSAgICAg
ICAgICAgICAgIG1lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1s
Ci0KLSAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6dHJhY2tXYXNBZGRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp0cmFja1dpbGxCZVJlbW92ZWQpOgotICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6dHJhY2tTb3VyY2VDaGFuZ2VkKToKLSAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKToKLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQpOgotICAgICAg
ICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5oOgotICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0
VHJhY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OmN1ZUxvYWRp
bmdDb21wbGV0ZWQpOgotCi0yMDExLTEwLTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0
Lm9yZz4KLQotICAgICAgICBDU1NSdWxlOiBEZXZpcnR1YWxpemUgdHlwZSgpIGFuZCBpc0Zvb1J1
bGUoKQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEy
MjEKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBTdG9y
ZSB0aGUgcnVsZSB0eXBlIGluIGEgQ1NTUnVsZSBtZW1iZXIgKHBhY2tlZCB3aXRoIHRoZSBwYXJl
bnQtaXMtcnVsZSBmbGFnKQotICAgICAgICBhbmQgbGV0IHRoZSBpc0Zvb1J1bGUoKSBmdW5jdGlv
bnMgcmV0dXJuIHR5cGUoKSA9PSBGT09fVFlQRS4KLQotICAgICAgICBDU1NQYWdlUnVsZSB3aWxs
IG5vIGxvbmdlciByZXR1cm4gdHJ1ZSBmb3IgaXNTdHlsZVJ1bGUoKSwgdHdlYWtlZCBjYWxsIHNp
dGVzCi0gICAgICAgIGFjY29yZGluZ2x5LgotCi0gICAgICAgICogY3NzL0NTU0NoYXJzZXRSdWxl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0NoYXJzZXRSdWxlOjpDU1NDaGFyc2V0UnVsZSk6
Ci0gICAgICAgICogY3NzL0NTU0NoYXJzZXRSdWxlLmg6Ci0gICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVJ1bGU6OkNTU0ZvbnRG
YWNlUnVsZSk6Ci0gICAgICAgICogY3NzL0NTU0ZvbnRGYWNlUnVsZS5oOgotICAgICAgICAqIGNz
cy9DU1NJbXBvcnRSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltcG9ydFJ1bGU6OkNT
U0ltcG9ydFJ1bGUpOgotICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmg6Ci0gICAgICAgICog
Y3NzL0NTU01lZGlhUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OkNT
U01lZGlhUnVsZSk6Ci0gICAgICAgICogY3NzL0NTU01lZGlhUnVsZS5oOgotICAgICAgICAqIGNz
cy9DU1NQYWdlUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Q1NTUGFn
ZVJ1bGUpOgotICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5oOgotICAgICAgICAqIGNzcy9DU1NS
ZWdpb25TdHlsZVJ1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUmVnaW9uU3R5bGVSdWxl
OjpDU1NSZWdpb25TdHlsZVJ1bGUpOgotICAgICAgICAqIGNzcy9DU1NSZWdpb25TdHlsZVJ1bGUu
aDoKLSAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6
dHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjppc0NoYXJzZXRSdWxlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGU6OmlzRm9udEZhY2VSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6
OkNTU1J1bGU6OmlzS2V5ZnJhbWVSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6Omlz
S2V5ZnJhbWVzUnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjppc01lZGlhUnVsZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjppc1BhZ2VSdWxlKToKLSAgICAgICAgKFdlYkNv
cmU6OkNTU1J1bGU6OmlzU3R5bGVSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6Omlz
UmVnaW9uU3R5bGVSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGU6OmlzSW1wb3J0UnVs
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpDU1NSdWxlKToKLSAgICAgICAgKiBjc3Mv
Q1NTU3R5bGVSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlUnVsZTo6Q1NTU3R5
bGVSdWxlKToKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6Ci0gICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkUGFnZVJ1
bGUpOgotICAgICAgICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQpOgotICAg
ICAgICAoV2ViQ29yZTo6UnVsZVNldDo6YWRkU3R5bGVSdWxlKToKLSAgICAgICAgKiBjc3MvQ1NT
VW5rbm93blJ1bGUuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1Vua25vd25SdWxlOjpDU1NVbmtu
b3duUnVsZSk6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OldlYktpdENTU0tleWZyYW1lUnVs
ZSk6Ci0gICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oOgotICAgICAgICAqIGNz
cy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdENT
U0tleWZyYW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1bGUpOgotICAgICAgICAqIGNzcy9X
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmg6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0
eWxlUnVsZSk6Ci0KLTIwMTEtMTAtMzEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUu
Y29tPgotCi0gICAgICAgIE5vdCByZXZpZXdlZDogcmVvcmRlciBpbnNwZWN0b3IganMgZmlsZXMg
dG8gZml4IHJlbW90ZSBtb2RlLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbDoKLQotMjAxMS0xMC0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFtyZWZhY3RvcmluZ10gVGV4dFBy
b21wdDogZW5zdXJlIGVuY2Fwc3VsYXRpb24sIGV4dHJhY3QgaGlzdG9yeSBtYW5hZ2VtZW50Ci0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzNgotCi0g
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3Lmpz
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3KToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5EYXRhYmFzZVF1ZXJ5Vmlldy5wcm90b3R5cGUuX2VudGVyS2V5UHJlc3NlZCk6
Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2F0dHJpYnV0
ZXNNb2RpZmllZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVt
ZW50LnByb3RvdHlwZS5zZWxlY3RFbGVtZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHls
ZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnNlbGVjdEVsZW1lbnQuY29udGV4dCk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5z
ZWxlY3RFbGVtZW50LmV2ZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5
VHJlZUVsZW1lbnQucHJvdG90eXBlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3Bl
cnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLmNvbnRleHQuZXZlbnQpOgotICAgICAgICAoKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRQcm9tcHQuanM6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dFByb21wdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5w
cm90b3R5cGUuZ2V0IHByb3h5RWxlbWVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFBy
b21wdC5wcm90b3R5cGUuYXR0YWNoKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0
LnByb3RvdHlwZS5hdHRhY2hBbmRTdGFydEVkaXRpbmcpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlRleHRQcm9tcHQucHJvdG90eXBlLl9hdHRhY2hJbnRlcm5hbCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuZGV0YWNoKToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5UZXh0UHJvbXB0LnByb3RvdHlwZS5nZXQgdGV4dCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
VGV4dFByb21wdC5wcm90b3R5cGUuc2V0IHRleHQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRl
eHRQcm9tcHQucHJvdG90eXBlLl9yZW1vdmVGcm9tRWxlbWVudCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuX3N0YXJ0RWRpdGluZyk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuX3N0b3BFZGl0aW5nKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5fc2VsZWN0U3RhcnQubW92ZUJhY2tJZk91
dHNpZGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLl9zZWxl
Y3RTdGFydCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5wcm90b3R5cGUuZGVm
YXVsdEtleUhhbmRsZXIpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90
eXBlLl9vbktleURvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90
eXBlLmNsZWFyQXV0b0NvbXBsZXRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0
LnByb3RvdHlwZS5jb21wbGV0ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdC5w
cm90b3R5cGUuX2NvbXBsZXRpb25zUmVhZHkpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQ
cm9tcHQucHJvdG90eXBlLmlzQ2FyZXRJbnNpZGVQcm9tcHQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmlzQ2FyZXRBdEVuZE9mUHJvbXB0KToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5pc0NhcmV0T25GaXJzdExpbmUpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLmlzQ2FyZXRPbkxhc3RM
aW5lKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZS5tb3ZlQ2Fy
ZXRUb0VuZE9mUHJvbXB0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3Rv
dHlwZS51cEtleVByZXNzZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJv
dG90eXBlLmRvd25LZXlQcmVzc2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0
LnByb3RvdHlwZS50YWJLZXlQcmVzc2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJv
bXB0Q29uZmlnKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3Rvcnkp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRQcm9tcHRXaXRoSGlzdG9yeS5wcm90b3R5cGUu
Z2V0IGhpc3RvcnlEYXRhKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhp
c3RvcnkucHJvdG90eXBlLnNldEhpc3RvcnlEYXRhKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0UHJvbXB0V2l0aEhpc3RvcnkucHJvdG90eXBlLnB1c2hIaXN0b3J5SXRlbSk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuVGV4dFByb21wdFdpdGhIaXN0b3J5LnByb3RvdHlwZS5fcHVzaEN1cnJl
bnRUZXh0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3RvcnkucHJv
dG90eXBlLl9wcmV2aW91cyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdFdpdGhI
aXN0b3J5LnByb3RvdHlwZS5fbmV4dCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21w
dFdpdGhIaXN0b3J5LnByb3RvdHlwZS5fY3VycmVudEhpc3RvcnlJdGVtKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3RvcnkucHJvdG90eXBlLmRlZmF1bHRLZXlIYW5k
bGVyKToKLQotMjAxMS0xMC0zMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+
Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogbW92ZSBsb2NhbGl6YXRpb24gc3VwcG9ydCBpbnRv
IFVJVXRpbC5qcywgcmVkdWNlIGV4dGVybnMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMAotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2Vt
aWtoYXRza3kuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2g6Ci0g
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZm9jdXMpOgotICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLmFmdGVyU2hvdyk6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanM6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Hb1RvTGluZURpYWxvZy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxv
Zy5wcm90b3R5cGUuX2hpZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSGVscFNj
cmVlbi5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5zaG93
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5oaWRlKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZS5fb25CbHVyKToKLSAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanM6Ci0g
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0LmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuX2tleU5hbWUpOgotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWwu
cHJvdG90eXBlLndhc1Nob3duKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJj
aENvbnRyb2xsZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX29uU2VhcmNoRmllbGRNYW51YWxGb2N1cyk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX29uS2V5RG93bik6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUZyYW1lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Rvb2xiYXIuanM6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuVG9vbGJhci5wcm90b3R5cGUuX3Rvb2xiYXJEcmFnU3RhcnQpOgotICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVUlVdGlscy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5z
dGFydEVkaXRpbmcuY2xlYW5VcEFmdGVyRWRpdGluZyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
c3RhcnRFZGl0aW5nLnZhcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5VSVN0cmluZyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
dXNlTG93ZXJDYXNlTWVudVRpdGxlcyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IucGxhdGZvcm0p
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLmlzTWFjKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5w
bGF0Zm9ybUZsYXZvcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IucG9ydCk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuaW5zdGFsbFBvcnRTdHlsZXMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLl93
aW5kb3dGb2N1c2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5fd2luZG93Qmx1cnJlZCk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IucHJldmlvdXNGb2N1c0VsZW1lbnQpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLl9m
b2N1c0NoYW5nZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLnNldEN1cnJlbnRGb2N1c0VsZW1l
bnQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qczoKLSAgICAgICAg
KEV2ZW50LnByb3RvdHlwZS5pbml0V2ViS2l0V2hlZWxFdmVudCk6Ci0gICAgICAgICh3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZSk6Ci0gICAgICAgIChJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVu
ZGluZ0Rpc3BhdGNoZXMpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuYWRkTWFpbkV2ZW50TGlzdGVuZXJzKToKLQotMjAxMS0xMC0zMSAgQW5kcmVh
cyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgS2lsbCBTdHlsZUJhc2UuCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxOAotCi0g
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIFJlbW92ZSB0aGUg
U3R5bGVCYXNlIGNsYXNzIGFuZCBtYWtlIGFsbCBzdWJjbGFzc2VzIHN0YW5kIGFsb25lLiBDU1NS
dWxlIGFuZCBTdHlsZVNoZWV0Ci0gICAgICAgIG5vdyBpbmhlcml0IGZyb20gUmVmQ291bnRlZDxU
PiBpbnN0ZWFkLCBhbmQgWFNMSW1wb3J0UnVsZSBkb2Vzbid0IGV2ZW4gbmVlZCB0aGF0LAotICAg
ICAgICBzbyBTdHlsZUJhc2UgaXMgcmVwbGFjZWQgYnkgbm90aGluZy4KLQotICAgICAgICAqIGNz
cy9TdHlsZUJhc2UuY3BwOgotICAgICAgICAqIGNzcy9TdHlsZUJhc2UuaDoKLQotICAgICAgICAg
ICAgUmVtb3ZlZC4KLQotICAgICAgICAqIGNzcy9DU1NSdWxlLmNwcDoKLSAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6fkNTU1J1bGUpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTUnVsZTo6dXNlU3RyaWN0UGFyc2luZyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NSdWxlOjpzZXRQYXJlbnRTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1J1
bGU6OnNldFBhcmVudFJ1bGUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6cGFyZW50U3R5
bGVTaGVldCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpwYXJlbnRSdWxlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGU6OmJhc2VVUkwpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUnVs
ZTo6Q1NTUnVsZSk6Ci0KLSAgICAgICAgICAgIENTU1J1bGUgbm93IGluaGVyaXRzIGRpcmVjdGx5
IGZyb20gUmVmQ291bnRlZCwgYW5kIGhhcyBlaXRoZXIgYSBDU1NSdWxlIG9yIGEKLSAgICAgICAg
ICAgIENTU1N0eWxlU2hlZXQgYXMgaXRzIHBhcmVudC4gTWFkZSB0aGVzZSBnZXR0ZXJzL3NldHRl
cnMgaW5saW5lIHNpbmNlIHRoZXkgYXJlCi0gICAgICAgICAgICB0cml2aWFsIG5vdy4KLQotICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgotICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Ci0g
ICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUucHJvOgotICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKLQotICAgICAgICAgICAgUHVyZ2UgU3R5bGVCYXNlLiogZnJv
bSB0aGUgYnVpbGQgc3lzdGVtcy4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oOgotICAgICAgICAoV2ViQ29yZTo6cm9vdCk6Ci0KLSAgICAgICAgICAgIE5ldyByb290KCkg
ZnVuY3Rpb25zIGZvciBDU1NSdWxlIGFuZCBTdHlsZVNoZWV0LgotCi0gICAgICAgICogYmluZGlu
Z3MvanMvSlNOb2RlQ3VzdG9tLmg6Ci0KLSAgICAgICAgICAgIFJlbW92ZSBTdHlsZUJhc2UuaCBp
bmNsdWRlLgotCi0gICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQuaDoKLSAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlU2hlZXQ6OnBhcmVudFN0eWxlU2hlZXQpOgotCi0gICAgICAgICAgICBBZGRl
ZCBDU1Mtc3BlY2lmaWMgcGFyZW50U3R5bGVTaGVldCgpIHNvIHdlIGRvbid0IGhhdmUgdG8gY2Fz
dCBpdCB0byBhCi0gICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBhdCB0aGUgY2FsbCBzaXRlcy4K
LQotICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxl
U2hlZXQ6OlN0eWxlU2hlZXQpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6cGFyZW50
U3R5bGVTaGVldCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0OjpiYXNlVVJMKToKLSAg
ICAgICAgKiBjc3MvU3R5bGVTaGVldC5oOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6
cGFyZW50UnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0OjpzZXRQYXJlbnRSdWxl
KToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXQ6OmlzQ1NTU3R5bGVTaGVldCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Ojppc1hTTFN0eWxlU2hlZXQpOgotCi0gICAgICAgICAg
ICBTdHlsZVNoZWV0IG5vdyBpbmhlcml0cyBkaXJlY3RseSBmcm9tIFJlZkNvdW50ZWQgYW5kIGFs
d2F5cyBoYXMgYSBwYXJlbnQgQ1NTUnVsZQotICAgICAgICAgICAgdGhvdWdoIGl0IGNhbiBiZSBu
dWxsLiBwYXJlbnRTdHlsZVNoZWV0KCkgcmV0dXJucyB0aGF0IHJ1bGUncyBwYXJlbnQgc3R5bGUg
c2hlZXQuCi0gICAgICAgICAgICBNb3ZlZCB0aGUgcmVsZXZhbnQgZ3V0cyBmcm9tIFN0eWxlQmFz
ZSBkb3duIGhlcmUuCi0KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU3R5bGVTaGVldENs
aWVudC5oOgotCi0gICAgICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQsIHdlIGdldCBpdCBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LgotCi0gICAgICAg
ICogeG1sL1hTTEltcG9ydFJ1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVs
ZTo6WFNMSW1wb3J0UnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjp+WFNM
SW1wb3J0UnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjpwYXJlbnRTdHls
ZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hl
ZXQpOgotICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KToKLSAgICAg
ICAgKiB4bWwvWFNMSW1wb3J0UnVsZS5oOgotICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVs
ZTo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6OnNldFBhcmVudFN0
eWxlU2hlZXQpOgotCi0gICAgICAgICAgICBSZW1vdmUgaW5oZXJpdGFuY2UgZnJvbSBTdHlsZUJh
c2UsIGFuZCBoYXZlIGNyZWF0ZSgpIHJldHVybiBhIFBhc3NPd25QdHIgaW5zdGVhZC4KLSAgICAg
ICAgICAgIFRoaXMgaXMgZmluZSwgc2luY2UgWFNMU3R5bGVTaGVldCBpcyB0aGUgb25seSBvYmpl
Y3QgdGhhdCBldmVyIG1hbmFnZXMgdGhlc2UgcnVsZXMuCi0KLSAgICAgICAgKiBzdmcvU1ZHRm9u
dEZhY2VFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6
aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6On5DU1NTdHlsZVNoZWV0KToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6Om93bmVyUnVsZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNoZWV0OjpkZWxldGVSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2hlZXQ6OmNoZWNrTG9hZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OmRv
Y3VtZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnN0eWxlU2hlZXRDaGFu
Z2VkKToKLSAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NJbXBvcnRSdWxlOjp+Q1NTSW1wb3J0UnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NJ
bXBvcnRSdWxlOjpzZXRDU1NTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0ltcG9y
dFJ1bGU6Omluc2VydGVkSW50b1BhcmVudCk6Ci0gICAgICAgICogY3NzL0NTU01lZGlhUnVsZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OkNTU01lZGlhUnVsZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6On5DU1NNZWRpYVJ1bGUpOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWVkaWFSdWxlOjphcHBlbmQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFS
dWxlOjppbnNlcnRSdWxlKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6ZGVsZXRl
UnVsZSk6Ci0gICAgICAgICogY3NzL0NTU1JlZ2lvblN0eWxlUnVsZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpDU1NSZWdpb25TdHlsZVJ1bGU6OkNTU1JlZ2lvblN0eWxlUnVsZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NSZWdpb25TdHlsZVJ1bGU6On5DU1NSZWdpb25TdHlsZVJ1bGUpOgotICAg
ICAgICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxlTGlz
dDo6ZGVsZXRlUnVsZSk6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaDoKLSAg
ICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjp+V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpzZXROYW1lKToKLSAgICAgICAg
KFdlYkNvcmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OmFwcGVuZCk6Ci0gICAgICAgICogZG9t
L1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb246OnBhcnNlU3R5bGVTaGVldCk6Ci0gICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckNTU0FnZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50Ojpw
YXJlbnRTdHlsZVNoZWV0KToKLSAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVldC5oOgotICAgICAg
ICAqIHhtbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpYU0xT
dHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OlhTTFN0eWxlU2hl
ZXQ6On5YU0xTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OlhTTFN0eWxlU2hlZXQ6OmNo
ZWNrTG9hZGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlhTTFN0eWxlU2hlZXQ6OmxvYWRDaGlsZFNo
ZWV0KToKLSAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVldFF0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0KToKLQotICAgICAgICAgICAgVXNlIHRo
ZSBuZXcsIG1vcmUgZXhwbGljaXQsIHBhcmVudGluZyBmdW5jdGlvbnMgb2YgU3R5bGVTaGVldC4K
LQotMjAxMS0xMC0zMSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4K
LQotICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJhY2tncm91bmQtaW50cmluc2ljLSoKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MTU2Ci0KLSAgICAg
ICAgU1ZHcyBkbyBub3Qgd29yayBhcyB0aWxlZCBiYWNrZ3JvdW5kIGltYWdlcwotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyODEKLQotICAgICAgICBB
cHBseSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIGFuZCBzeW50aGVzaXplIHZpZXdib3hlcyBpbiA8aW1n
PgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1MjEK
LQotICAgICAgICBTVkcgYmFja2dyb3VuZCBkb2Vzbid0IHJlc2l6ZSBwcm9wZXJseSB3aGVuIGRp
bWVuc2lvbnMgYXJlIGNoYW5nZWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQyOTQ0Ci0KLSAgICAgICAgSW1hZ2VzIHdpdGggcGVyY2VudCBoZWlnaHQg
aW5zaWRlIGEgZmxvYXRlZCBkaXYgc2hvdWxkIHVzZSBpbnRyaW5zaWMgaGVpZ2h0LgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU0MzkKLQotICAgICAg
ICBTVkcgaW1hZ2UgaW4gSFRNTCBjaGFuZ2VzIHNpemUgYXMgdGhlIHdpbmRvdyBpcyByZXNpemVk
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjA0NQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIEltcGxlbWVu
dCBpbnRyaW5zaWMgc2l6aW5nIHN1cHBvcnQgZm9yIFNWR0ltYWdlIChzdmcgZW1iZWRkZWQgdGhy
b3VnaCA8aHRtbDppbWc+Lzxzdmc6aW1hZ2U+L2JhY2tncm91bmQtaW1hZ2UvYm9yZGVyLWltYWdl
Ly4uLikuCi0gICAgICAgIFRoaXMgaXMgZGVtYW5kZWQgYnkgQ1NTIDIuMSwgYW5kIGNvdmVyZWQg
YnkgbmV3IGxheW91dCB0ZXN0cyBpbiBMYXlvdXRUZXN0cy9jc3MyLjEgYW5kIHNldmVyYWwgbmV3
IGN1c3RvbSB0ZXN0Y2FzZXMuCi0KLSAgICAgICAgVGVzdHM6IGNzczIuMS8yMDExMDMyMy9iYWNr
Z3JvdW5kLWludHJpbnNpYy0wMDEuaHRtCi0gICAgICAgICAgICAgICBjc3MyLjEvMjAxMTAzMjMv
YmFja2dyb3VuZC1pbnRyaW5zaWMtMDAyLmh0bQotICAgICAgICAgICAgICAgY3NzMi4xLzIwMTEw
MzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAwMy5odG0KLSAgICAgICAgICAgICAgIGNzczIuMS8y
MDExMDMyMy9iYWNrZ3JvdW5kLWludHJpbnNpYy0wMDQuaHRtCi0gICAgICAgICAgICAgICBjc3My
LjEvMjAxMTAzMjMvYmFja2dyb3VuZC1pbnRyaW5zaWMtMDA1Lmh0bQotICAgICAgICAgICAgICAg
Y3NzMi4xLzIwMTEwMzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAwNi5odG0KLSAgICAgICAgICAg
ICAgIGNzczIuMS8yMDExMDMyMy9iYWNrZ3JvdW5kLWludHJpbnNpYy0wMDcuaHRtCi0gICAgICAg
ICAgICAgICBjc3MyLjEvMjAxMTAzMjMvYmFja2dyb3VuZC1pbnRyaW5zaWMtMDA4Lmh0bQotICAg
ICAgICAgICAgICAgY3NzMi4xLzIwMTEwMzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAwOS5odG0K
LSAgICAgICAgICAgICAgIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL2JhY2tncm91bmQtaW1hZ2Ut
cHJlc2VydmVhc3BlY3RSYXRpby1zdXBwb3J0Lmh0bWwgKGFkYXB0ZWQgZnJvbSB0ZXN0Y2FzZSBm
cm9tIGJ1ZyAzNDUyMSkKLSAgICAgICAgICAgICAgIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL2Jh
Y2tncm91bmQtaW1hZ2UtdGlsZWQuaHRtbCAocmVkdWN0aW9uIGZyb20gYnVnIDE2MjgxKQotICAg
ICAgICAgICAgICAgc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc2FtZS1pbWFnZS10d28taW5zdGFu
Y2VzLWJhY2tncm91bmQtaW1hZ2UuaHRtbAotICAgICAgICAgICAgICAgc3ZnL2FzLWltYWdlL2lt
Zy1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sIChyZWR1Y3Rpb24gZnJvbSBidWcg
MzQ1MjEpCi0gICAgICAgICAgICAgICBzdmcvYXMtaW1hZ2Uvc2FtZS1pbWFnZS10d28taW5zdGFu
Y2VzLmh0bWwKLSAgICAgICAgICAgICAgIHN2Zy9hcy1pbWFnZS9zdmctYXMtcmVsYXRpdmUtaW1h
Z2Utd2l0aC1leHBsaWNpdC1zaXplLmh0bWwKLSAgICAgICAgICAgICAgIHN2Zy9hcy1pbWFnZS9z
dmctaW1hZ2UtY2hhbmdlLWNvbnRlbnQtc2l6ZS54aHRtbCAocmVkdWN0aW9uIGZyb20gYnVnIDQy
OTQ0KQotICAgICAgICAgICAgICAgc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2ZUFzcGVj
dFJhdGlvLXN1cHBvcnQtMS5odG1sCi0gICAgICAgICAgICAgICBzdmcvem9vbS9wYWdlL3pvb20t
c3ZnLWFzLWltYWdlLmh0bWwKLSAgICAgICAgICAgICAgIHN2Zy96b29tL3BhZ2Uvem9vbS1zdmct
YXMtcmVsYXRpdmUtaW1hZ2UuaHRtbAotCi0gICAgICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6YWRk
Q2xpZW50KTogUGFzcyBkZWZhdWx0IHpvb20gZmFjdG9yLgotICAgICAgICAoV2ViQ29yZTo6Q1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Z2V0SW1hZ2UpOiBEaXR0by4KLSAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkSW1hZ2UuY3BwOiBFbmFibGUgU1ZHSW1hZ2UgPC0+IEludFNpemUgY2FjaGUu
Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6bG9va3VwSW1hZ2VGb3JTaXplKTogVXNl
IHJlY2VudGx5IGludHJvZHVjZWQgSW1hZ2VCeVNpemVDYWNoZSwgdG8gbG9va3VwIGFuIGltYWdl
IGZvciBhIGNlcnRhaW4gc2l6ZS4KLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpsb29r
dXBPckNyZWF0ZUltYWdlRm9yUmVuZGVyZXIpOiBVc2UgcmVjZW50bHkgaW50cm9kdWNlZCBJbWFn
ZUJ5U2l6ZUNhY2hlLCB0byBkeW5hbWljYWxseSBjcmVhdGUgY29waWVzIG9mIG1faW1hZ2UgaWYg
bmVlZGVkLgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmltYWdlRm9yUmVuZGVyZXIp
OiBMb29rdXAgaW1hZ2UgYnkgcmVuZGVyZXIsIHdoaWNoIGZpcnN0IGxvb2tzIHVwIGEgc2l6ZSBm
b3IgYSByZW5kZXJlciwgdGhlbiB1c2VzIGxvb2t1cEltYWdlRm9yU2l6ZSgpLgotICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6IEZvciBT
VkdJbWFnZXMsIHBhc3Mgb24gY29udGFpbmVyIHNpemUgaGFuZGxpbmcgdG8gSW1hZ2VCeVNpemVD
YWNoZS4KLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjppbWFnZVNpemVGb3JSZW5kZXJl
cik6IEZpZ3VyZSBvdXQgdGhlIGltYWdlIHNpemUsIHJlc3BlY3RpbmcgcGVyLXJlbmRlcmVyIG92
ZXJyaWRlcywgZm9yIGEgY2VydGFpbiByZW5kZXJlci4KLSAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBS
ZW5kZXJPYmplY3QgcGFyYW1ldGVyLgotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFn
ZS5oOgotICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnQ6OmlzU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOiBVc2VkIHRvIGlkZW50aWZ5IHdo
ZXRoZXIgYSBSZW5kZXJTVkdSb290IGlzIGVtYmVkZGVkIHRocm91Z2ggYSBTVkdJbWFnZS4gUmV0
dXJucyBmYWxzZSwgYnkgZGVmYXVsdC4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZS5oOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OnNldEltYWdlT2JzZXJ2ZXIpOiBBZGQgaGVs
cGVyLgotICAgICAgICAqIHJlbmRlcmluZy9JbWFnZUJ5U2l6ZUNhY2hlLmNwcDogQ2xlYW51cCBj
b2RlLgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCeVNpemVDYWNoZTo6YWRkQ2xpZW50KTogQXNz
ZXJ0IHRoZSBwYXNzZWQgcmVuZGVyZXIgaXMgdmFsaWQuCi0gICAgICAgIChXZWJDb3JlOjpJbWFn
ZUJ5U2l6ZUNhY2hlOjpyZW1vdmVDbGllbnQpOiBEaXR0by4gQWxsb3cgcmVtb3ZlQ2xpZW50KCkg
dG8gYmUgY2FsbGVkIHcvbyBwcmlvIGFkZENsaWVudCgpIHVzYWdlLgotICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2VCeVNpemVDYWNoZTo6Z2V0SW1hZ2UpOiBBZGQgem9vbSBwYXJhbWV0ZXIuCi0gICAg
ICAgIChXZWJDb3JlOjpJbWFnZUJ5U2l6ZUNhY2hlOjpnZXRSZXF1ZXN0ZWRTaXplQW5kWm9vbSk6
IEFkZCB3YXkgdG8gZ2V0IHJlcXVlc3RlZCBzaXplIGZyb20gY2FjaGUsIGluc3RlYWQgb2YgYWN0
dWFsIGNhY2hlZCBzaXplcy4KLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnlTaXplQ2FjaGU6Omlt
YWdlRm9yU2l6ZSk6IFJlc3BlY3QgZW1wdHkgc2l6ZXMsIGp1c3QgcmV0dXJuIDAsIGluc3RlYWQg
b2YgYXNzZXJ0aW5nLgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCeVNpemVDYWNoZTo6aW1hZ2VG
b3JSZW5kZXJlcik6IEFkZGVkIGEgaGVscGVyIHRoYXQgcmV0cmlldmVzIGFuIGltYWdlIGZvciBh
IHJlbmRlcmVyLCBieSBsb29rdXAgdXAgaXRzIHNpemUgYW5kIHVzaW5nIGltYWdlRm9yU2l6ZSgp
LgotICAgICAgICAqIHJlbmRlcmluZy9JbWFnZUJ5U2l6ZUNhY2hlLmg6IENsZWF1cCBjb2RlLCBp
bnRyb2R1Y2Ugc3RydWN0IHRoYXQgcmVwbGFjZXMgdGhlIHN0ZDo6cGFpcjxJbnRTaXplLCBpbnQ+
LgotICAgICAgICAoV2ViQ29yZTo6U2l6ZVpvb21BbmRDb3VudDo6U2l6ZVpvb21BbmRDb3VudCk6
Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDogSW1wbGVtZW50
IENTUyAyLjEgaW50cmluc2ljIHNpemUgbmVnb3RpYXRpb24gZm9yIGltYWdlcy4KLSAgICAgICAg
KFdlYkNvcmU6OnJlc29sdmVXaWR0aEZvclJhdGlvKTogTmV3IGlubGluZSBoZWxwZXIgZnVuY3Rp
b24gdXNlZCBieSBjYWxjdWxhdGVJbWFnZUludHJpbnNpY0RpbWVuc2lvbnMuCi0gICAgICAgIChX
ZWJDb3JlOjpyZXNvbHZlSGVpZ2h0Rm9yUmF0aW8pOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6
OnJlc29sdmVBZ2FpbnN0SW50cmluc2ljV2lkdGhPckhlaWdodEFuZFJhdGlvKTogRGl0dG8uCi0g
ICAgICAgIChXZWJDb3JlOjpyZXNvbHZlQWdhaW5zdEludHJpbnNpY1JhdGlvKTogIERpdHRvLgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0ZUltYWdlSW50
cmluc2ljRGltZW5zaW9ucyk6IE5ldyBoZWxwZXIgZnVuY3Rpb24sIGNvbnRhaW5pbmcgdGhlIG1h
aW4gYWxnb3JpdGhtLCB3aGljaCBpcyBhIHB1cmUgdHJhbnNjcmlwdGlvbiBvZiB0aGUgc3BlYy4K
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVGaWxsVGls
ZVNpemUpOiBVc2UgbmV3IGNhbGN1bGF0ZUltYWdlSW50cmluc2ljRGltZW5zaW9ucygpIGhlbHBl
ciB0byBmaWd1cmUgb3V0IHRoZSBpbnRyaW5zaWMgc2l6ZS4KLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VHZW9tZXRyeSk6IFBy
b3BhZ2F0ZSBjYWxjdWxhdGVGaWxsVGlsZVNpemUoKSByZXN1bHQgdG8gdGhlIGltYWdlIHJlc291
cmNlLCB2aWEgc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKCkuCi0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnROaW5lUGllY2VJbWFnZSk6IFVzZSBuZXcgY2Fs
Y3VsYXRlSW1hZ2VJbnRyaW5zaWNEaW1lbnNpb25zKCkgaGVscGVyIHRvIGZpZ3VyZSBvdXQgdGhl
IGludHJpbnNpYyBzaXplLgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5oOiBDbGFyaWZ5IHNvbWUgdmFyaWFibGUgbmFtZXMsIGFkZGVkIGNhbGN1bGF0ZUltYWdlSW50
cmluc2ljRGltZW5zaW9ucygpLgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOiBVc2UgSW50U2l6
ZSgpLCBpbnN0ZWFkIG9mIEludFNpemUoMCwgMCkuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bWFnZTo6dXBkYXRlSW50cmluc2ljU2l6ZUlmTmVlZGVkKTogUmVmYWN0b3JlZCBmcm9tIGltYWdl
RGltZW5zaW9uc0NoYW5nZWQoKS4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbWFn
ZURpbWVuc2lvbnNDaGFuZ2VkKTogVXNlIHVwZGF0ZUludHJpbnNpY1NpemVJZk5lZWRlZCgpLgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aCk6IFVzZSBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKCkgZXhj
bHVzaXZlbHkuIEZvciB0aGlzIHRvIHdvcmssIHRoZSBpbnRyaW5zaWMgc2l6ZSBtdXN0IGJlIGNv
cnJlY3QuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1Jh
dGlvSW5mb3JtYXRpb24pOiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciBub24tU1ZHSW1hZ2Vz
LgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Om5lZWRzUHJlZmVycmVkV2lkdGhzUmVj
YWxjdWxhdGlvbik6IFJldHVybiB0cnVlLCBqdXN0IGxpa2UgUmVuZGVyUGFydCwgaWYgZW1iZWRk
ZWRDb250ZW50Qm94IGlzIG5vdCBudWxsLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6
OmVtYmVkZGVkQ29udGVudEJveCk6IFJldHVybnMgdGhlIFJlbmRlclNWR1Jvb3QqIHJlbmRlcmVy
IG9mIHRoZSBlbWJlZGRlZCBTVkcsIGlmIHBvc3NpYmxlLgotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJbWFnZS5oOiBSZW1vdmUgaXNMb2dpY2FsV2lkdGgvSGVpZ2h0U3BlY2lmaWVkKCkgLyBj
b21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkgLyBjYWxjQXNwZWN0UmF0aW9Mb2dpY2FsV2lk
dGgvSGVpZ2h0KCkuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZTo6c2V0Q29udGFpbmVyU2l6
ZUZvclJlbmRlcmVyKTogUGFzcyBhcm91bmQgbmV3ICJmbG9hdCBjb250YWluZXJab29tRmFjdG9y
IiBwYXJhbWV0ZXIuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHls
ZUltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUlt
YWdlOjppbWFnZSk6IGVtYmVkZGVkQ29udGVudEJveCgpIGlzIG5vdyBjYWxsaW5nIGltYWdlKCkg
ZWFybGllciB0aGFuIGJlZm9yZS4gV2Ugbm93IGhhdmUgdG8gaGFuZGxlIHRoZSBjYXNlIHRoYXQg
dGhlIGltYWdlIGlzIHBlbmRpbmcuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZVJlc291
cmNlU3R5bGVJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKTogUGFzcyB6b29tIGZh
Y3Rvci4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2Uu
aDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6
IFBhc3MgZWZmZWN0aXZlIHpvb20gdG8gc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKCkuCi0g
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRoKTogR2VuZXJhbGl6
ZWQgdGhpcyBjb2RlLCBhcyBSZW5kZXJJbWFnZSBpcyB1c2luZyBpdCBhcyB3ZWxsIG5vdy4gTWFy
Z2luYWwgY2hhbmdlcyBuZWVkZWQuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxIZWlnaHQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgpOiBEaXR0by4KLSAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpTdHlsZUNhY2hlZEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyk6IFN0
b3AgcGFzc2luZyBtX3JlbmRlcmVyIHRvIENhY2hlZEltYWdlLCBpdCdzIG5vIGxvbmdlciBuZWVk
ZWQuCi0gICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hlZEltYWdlOjpzZXRDb250YWluZXJTaXpl
Rm9yUmVuZGVyZXIpOiBBZGQgImZsb2F0IGNvbnRhaW5lclpvb21GYWN0b3IiIHBhcmFtZXRlci4K
LSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oOiBBZGQgImZsb2F0
IGNvbnRhaW5lclpvb21GYWN0b3IiIHBhcmFtZXRlciB0byBzZXRDb250YWluZXJTaXplRm9yUmVu
ZGVyZXIuCi0gICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2UuaDoK
LSAgICAgICAgKFdlYkNvcmU6OlN0eWxlR2VuZXJhdGVkSW1hZ2U6OnNldENvbnRhaW5lclNpemVG
b3JSZW5kZXJlcik6IERpdHRvLgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdl
Lmg6IERpdHRvLgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5o
OgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVQZW5kaW5nSW1hZ2U6OnNldENvbnRhaW5lclNpemVG
b3JSZW5kZXJlcik6IERpdHRvLgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1h
Z2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW1hZ2U6OmxheW91dCk6IEFsd2F5
cyBzdXBwbHkgYSBjb250YWluZXIgc2l6ZSB3aGVuIGVtYmVkZGluZyBTVkdzIGluIDxzdmc6aW1h
Z2U+LgotICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6IE1vdmUgIm92
ZXJyaWRlIGNvbnRhaW5lciBzaXplIiBmcm9tIFNWR1NWR0VsZW1lbnQgaW50byBSZW5kZXJTVkdS
b290LCB3aGVyZSBpdCBiZWxvbmdzLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6
aXNFbWJlZGRlZFRocm91Z2hJbWFnZUVsZW1lbnQpOiBBZGQgaGVscGVyIG1ldGhvZCB0byBkZXRl
cm1pbmUgd2hldGhlciB3ZSdyZSBsb2FkZWQgdGhyb3VnaCBTVkdJbWFnZS4KLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCk6IElmIHdl
IGhhdmUgYSB2YWxpZCBjb250YWluZXIgc2l6ZSwgaXQgaGFzIHByZWNlbmRlbmNlIChvbmx5IHN1
cHBsaWVkIHZpYSBleHRlcm5hbCBTVkdJbWFnZXMpLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUm9vdDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCk6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6bGF5b3V0KTogUmVtb3ZlIGNhbGNWaWV3cG9ydCgpIHVz
YWdlLCBubyBuZWVkIHRvIHRyYWNrL292ZXJyaWRlIHRoZSB2aWV3cG9ydCBzaXplIGFueW1vcmUs
IGFsbCBkb25lIGluIGNvcHV0ZVJlcGxhY2VkTG9naWNhbCogbm93LgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUm9vdDo6cGFpbnQpOiBVc2UgYm9yZGVyQm94UmVjdCgpIHdoaWNoIG5vdyBh
bHdheXMgbWF0Y2hlcyB0aGUgcHJldmlvdXNseSBjb21wdXRlZCBtX3ZpZXdwb3J0U2l6ZS4gCi0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOiBE
aXR0by4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaDogTW92ZSAib3Zl
cnJpZGUgY29udGFpbmVyIHNpemUiIGZyb20gU1ZHU1ZHRWxlbWVudCBpbnRvIFJlbmRlclNWR1Jv
b3QsIHdoZXJlIGl0IGJlbG9uZ3MuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpj
b250YWluZXJTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnNldENvbnRh
aW5lclNpemUpOgotICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGVuZ3RoOjpkZXRlcm1pbmVWaWV3cG9ydCk6IFJlc29sdmUgbGVuZ3RocyBhZ2FpbnN0
IG92ZXJyaWRlIGNvbnRhaW5lciBzaXplIGluIGRvY3VtZW50cyBlbWJlZGRlZCB0aHJvdWdoIFNW
R0ltYWdlLgotICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDogUmVtb3ZlICJvdmVycmlk
ZSBjb250YWluZXIgc2l6ZSIgaGFuZGxpbmcgZnJvbSBTVkdTVkdFbGVtZW50LgotICAgICAgICAo
V2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudCk6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6Y3VycmVudFZpZXdCb3hSZWN0KTogQWx3YXlzIHN5bnRo
ZXNpemUgYSB2aWV3Qm94LCBpZiB3ZSdyZSBlbWJlZGRlZCB0aHJvdWdoIFNWR0ltYWdlLCBhcyBk
ZW1hbmRlZCBieSBTVkcgMS4xIDJuZCBFZGl0aW9uLgotICAgICAgICAqIHN2Zy9TVkdTVkdFbGVt
ZW50Lmg6Ci0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlNWR0ltYWdlQ2hyb21lQ2xpZW50Ojppc1NWR0ltYWdlQ2hyb21lQ2xpZW50KTogUmV0
dXJuIHRydWUsIHVzZWQgdG8gaWRlbnRpZnkgd2hldGhlciBSZW5kZXJTVkdSb290IGlzIGVtYmVk
ZGVkIHRocm91Z2ggU1ZHSW1hZ2UuCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6Y3JlYXRl
V2l0aERhdGFBbmRTaXplKTogQWRkIG5ldyBoZWxwZXIgZnVuY3Rpb24uCi0gICAgICAgIChXZWJD
b3JlOjpTVkdJbWFnZTo6c2V0Q29udGFpbmVyWm9vbSk6IEZvcndhcmRlZCB0byBQYWdlOjpzZXRQ
YWdlWm9vbUZhY3Rvci4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpzZXRDb250YWluZXJT
aXplKTogQXNzZXJ0IHRoYXQgY29udGFpbmVyIHNpemUgaXMgbm90IGVtcHR5LiBXZSBzaG91bGQg
bmV2ZXIgcmVjZWl2ZSBhbiBlbXB0eSBjb250YWluZXIgc2l6ZS4KLSAgICAgICAgKFdlYkNvcmU6
OlNWR0ltYWdlOjp1c2VzQ29udGFpbmVyU2l6ZSk6IEFkYXB0IHRvIG92ZXJyaWRlIGNvbnRhaW5l
ciBzaXplIGNoYW5nZXMsIGl0IG5vdyBsaXZlcyBpbiBSZW5kZXJTVkdSb290IGluc3RlYWQgb2Yg
U1ZHU1ZHRWxlbWVudC4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpzaXplKTogTmV3IGFs
Z29yaXRobSB0byBmaWd1cmUgb3V0IHRoZSBzaXplIG9mIGFuIGVtYmVkZGVkIFNWRywgYXMgZGVt
YW5kZWQgYnkgdGhlIENTUy9TVkcgc3BlY3MuCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6
ZW1iZWRkZWRDb250ZW50Qm94KTogQWRkIGhlbHBlciB3aGljaCByZXR1cm5zIHRoZSBSZW5kZXJT
VkdSb290IG9mIHRoZSBkb2N1bWVudC4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpjb21w
dXRlSW50cmluc2ljRGltZW5zaW9ucyk6IEltcGxlbWVudCBpbnRyaW5zaWMgcmF0aW8gY2FsY3Vs
YXRpb24uIAotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKTogRm9yY2Ug
Y2FsbGluZyBGcmFtZVZpZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKGZhbHNlKSwgYXMgU1ZHIGlt
YWdlcyBub3cgYWx3YXlzIHN5bnRoZXNpemUgYSB2aWV3Qm94LCBhbmQgdGh1cyBuZXZlciByZWNl
aXZlIHNjcm9sbGJhcnMuCi0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmg6Ci0KLTIw
MTEtMTAtMzEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgVW5yZXZpZXdlZC4gQWRkIFJlc291cmNlUHJldmlld1ZpZXcuanMgdG8gdGhlIGxpc3Qgb2Yg
aW5zcGVjdG9yIGZyb250LWVuZAotICAgICAgICBmaWxlcyBvbiBRdC4KLQotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKLQotMjAxMS0xMC0zMSAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90
IG1hcCBzY3JpcHRzIGdlbmVyYXRlZCB3aXRoIGRvY3VtZW50LndyaXRlIHRvIHRoZSBkb2N1bWVu
dCByZXNvdXJjZXMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTExNAotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAg
ICAgICAgVGVzdDogaW5zcGVjdG9yL2RlYnVnZ2VyL2JpbmQtc2NyaXB0LXRvLXJlc291cmNlLmh0
bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3Rv
dHlwZS5fYWRkU2NyaXB0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLnByb3RvdHlwZS5fYmluZFNjcmlwdFRvUmF3U291cmNlQ29kZSk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3Jhd1Nv
dXJjZUNvZGVGb3JTY3JpcHRXaXRoVVJMKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fcmF3U291cmNlQ29kZUZvclNjcmlwdCk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUu
X3NjcmlwdEZvclJhd1NvdXJjZUNvZGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9kZWJ1Z2dlclJlc2V0KToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUuX2NyZWF0ZVNvdXJjZU1hcHBpbmcuZGlkUmVxdWVz
dENvbnRlbnQuZGlkRm9ybWF0Q29udGVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291
cmNlQ29kZS5wcm90b3R5cGUuX2NyZWF0ZVNvdXJjZU1hcHBpbmcuZGlkUmVxdWVzdENvbnRlbnQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUucHJvdG90eXBlLl9jcmVhdGVT
b3VyY2VNYXBwaW5nKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdC5qczoK
LQotMjAxMS0xMC0zMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+Ci0KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEyCi0gICAgICAg
IFVzZSBTdHJpbmdIYXNoZXIgdG8gZ2VuZXJhdGUgdGhlIG1hdGNoZWQgZGVjbGFyYXRpb24gY2Fj
aGUgaGFzaAotCi0gICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0KLSAgICAgICAgTWFr
ZSBzdXJlIHRoZSBNYXRjaGVkU3R5bGVEZWNsYXJhdGlvbnMgYXJlIGZ1bGx5IHplcm8taW5pdGlh
bGl6ZWQgYXMgd2UgY2FsY3VsYXRlIGEgaGFzaCBvdmVyIGEgcmF3IG1lbW9yeSBhcnJheSBvZiB0
aGVzZS4KLQotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Ok1hdGNoZWRTdHlsZURlY2xhcmF0aW9uOjpNYXRjaGVk
U3R5bGVEZWNsYXJhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjph
ZGRNYXRjaGVkRGVjbGFyYXRpb24pOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6
Ci0KLTIwMTEtMTAtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgotCi0gICAgICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRpc3RjaGVjayBidWlsZC4KLQotICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGQgSW5GaWxlc0NvbXBpbGVyLnBtIHRvIFNDUklQVFNf
QklORElOR1MgYW5kCi0gICAgICAgIEVYVFJBX0RJU1QuIEFsc28gcmVtb3ZlIGR1cGxpY2F0ZWQg
ZW50cmllcyBpbiBFWFRSQV9ESVNULgotCi0yMDExLTEwLTMxICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGZhY3RvciBvdXQg
UmVzb3VyY2VVdGlscywgY2xlYW4gdXAgZXh0ZXJucy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTkyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVy
eSBTZW1pa2hhdHNreS4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1m
cm9udC1lbmQuc2g6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2Fn
ZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBl
Ll9saW5raWZ5TG9jYXRpb24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1By
b2ZpbGVzUGFuZWwuanM6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5kaXNwbGF5TmFtZSk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qczoKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUuX2NyZWF0ZVJlc291cmNlKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanM6IEFkZGVkLgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5mb3JBbGxSZXNvdXJjZXMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1l
Rm9yVVJMKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudFdp
dGhDdXN0b21MaW5raWZpZXIpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLnJlZ2lzdGVyTGlua2lm
aWVyUGx1Z2luKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVu
dCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZSk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IubGlua2lmeVVSTCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuZm9ybWF0TGlu
a1RleHQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxGb3JSZWxhdGVkTm9kZS5jYWxsYmFjayk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxGb3JSZWxhdGVkTm9kZSk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IucG9wdWxhdGVIcmVmQ29udGV4dE1lbnUpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLmNvbXBsZXRlVVJMKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0
eWxlc1NpZGViYXJQYW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlU
cmVlRWxlbWVudC5wcm90b3R5cGUuc2VsZWN0RWxlbWVudCk6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9XZWJLaXQucXJjOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvZXh0
ZXJucy5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgot
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLm5ldHdvcmtSZXNvdXJjZUJ5SWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvdXRpbGl0aWVzLmpzOgotICAgICAgICAoc2V0dXBQcm90b3R5cGVVdGlsaXRpZXMuRWxl
bWVudC5wcm90b3R5cGUuc2VsZWN0aW9uTGVmdE9mZnNldCk6Ci0KLTIwMTEtMTAtMjggIEFsZXhh
bmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVj
dG9yOiBVc2luZyBrZXlib2FyZCB0byBpbmNyZW1lbnQvZGVjcmVtZW50IHVuaXRzIGlzIGluY29u
c2lzdGVudAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzExMTkKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIFRo
aXMgY2hhbmdlIG1ha2VzIHRoZSBiZWhhdmlvciBjb25zaXN0ZW50IHdpdGggdGhhdCBkZXNjcmli
ZWQgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy93aWtpL1dlYkluc3BlY3RvcgotCi0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5hbHRlcmVkRmxvYXROdW1iZXIpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS5fYXR0cmlidXRlc01v
ZGlmaWVkKToKLQotMjAxMS0xMC0yOSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+Ci0KLSAgICAgICAgW0dUS10gU3dpdGNoIHRvIGEgYmFja2luZyBzdG9yZSBhcHByb2Fj
aCBmb3IgcGFpbnRpbmcgV2ViS2l0V2ViVmlldwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTMKLQotICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGUgY2hhbmdlcyB0byBX
ZWJDb3JlIHNob3VsZCBub3QgY2hhbmdlCi0gICAgICAgIGJlaGF2aW9yLiBUaGUgY2hhbmdlcyBp
biBXZWJLaXQgYXJlIGNvdmVyZWQgYnkgZXhpc3RpbmcKLSAgICAgICAgdGVzdHMuCi0KLSAgICAg
ICAgKiBwbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaDoKLSAgICAgICAgKFdlYkNv
cmU6OldpZGdldEJhY2tpbmdTdG9yZTo6c2l6ZSk6IEFkZGVkIHRoaXMgZ2V0dGVyIGZvciB0aGUg
c2l6ZS4KLSAgICAgICAgKiBwbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmVDYWlyby5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpXaWRnZXRCYWNraW5nU3RvcmU6OldpZGdldEJhY2tpbmdT
dG9yZSk6IEluaXRpYWxpemUgc2l6ZS4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9DYWlyb1V0aWxpdGllcy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpjb3B5UmVjdEZyb21DYWly
b1N1cmZhY2VUb0NvbnRleHQpOiBBZGRlZCB0aGlzIG5ldyBoZWxwZXIuCi0gICAgICAgIChXZWJD
b3JlOjpjb3B5UmVjdEZyb21PbmVTdXJmYWNlVG9Bbm90aGVyKTogVXNlIHRoZSBuZXcgaGVscGVy
LgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmg6Ci0g
ICAgICAgICogcGxhdGZvcm0vZ3RrL0d0a1dpZGdldEJhY2tpbmdTdG9yZVgxMS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpXaWRnZXRCYWNraW5nU3RvcmU6OldpZGdldEJhY2tpbmdTdG9yZSk6IElu
aXRpYWxpemUgdGhlIHNpemUuCi0KLTIwMTEtMTAtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgotCi0gICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5
ODgwMy4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTg4MDMKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg2Ci0KLSAg
ICAgICAgQ2F1c2luZyB0ZXN0IGFuZCBhc3NlcnRpb24gZmFpbHVyZXMgb24gc29tZSBwbGF0Zm9y
bXMKLSAgICAgICAgKFJlcXVlc3RlZCBieSBhbnR0aWsgb24gI3dlYmtpdCkuCi0KLSAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjphcHBseU1hdGNoZWREZWNsYXJhdGlvbnMpOgotCi0yMDExLTEwLTI5ICBNYXJrIFJv
d2UgIDxtcm93ZUBhcHBsZS5jb20+Ci0KLSAgICAgICAgQnVpbGQgZml4LgotCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tOgotICAgICAgICAoZHJhd0xheWVyQ29u
dGVudHMpOgotCi0yMDExLTEwLTI5ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+Ci0KLSAg
ICAgICAgQnVpbGQgZml4LgotCi0gICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdUb1dvcmQpOgot
Ci0yMDExLTEwLTI5ICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIFJlbmFtZSBEYXRhVHJhbnNmZXJJdGVtcyB0byBEYXRhVHJhbnNmZXJJdGVtTGlzdAotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTEKLQotICAg
ICAgICBQZXIgZmVlZGJhY2sgdGhhdCBJdGVtcyBhbmQgSXRlbSBhcmUgaGFyZCB0byBkaXN0aW5n
dWlzaCBiZXR3ZWVuLCB0aGUgSFRNTDUgc3BlYyByZW5hbWVkCi0gICAgICAgIERhdGFUcmFuc2Zl
ckl0ZW1zIHRvIERhdGFUcmFuc2Zlckl0ZW1MaXN0OgotICAgICAgICBodHRwOi8vd3d3LndoYXR3
Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9kbmQuaHRtbCN0aGUt
ZGF0YXRyYW5zZmVyaXRlbWxpc3QtaW50ZXJmYWNlCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgVG9u
eSBDaGFuZy4KLQotICAgICAgICAqIENNYWtlTGlzdHMudHh0OgotICAgICAgICAqIENvZGVHZW5l
cmF0b3JzLnByaToKLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6Ci0gICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBXZWJDb3JlLnBybzoKLSAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6Ci0gICAgICAgICogZG9tL0NsaXBib2FyZC5oOgotICAgICAgICAqIGRv
bS9DbGlwYm9hcmQuaWRsOgotICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbXMuY3BwLgot
ICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVySXRlbUxpc3Q6OkRhdGFUcmFuc2Zlckl0ZW1M
aXN0KToKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlckl0ZW1MaXN0OjpsZW5ndGgpOgot
ICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVySXRlbUxpc3Q6Oml0ZW0pOgotICAgICAgICAo
V2ViQ29yZTo6RGF0YVRyYW5zZmVySXRlbUxpc3Q6OmRlbGV0ZUl0ZW0pOgotICAgICAgICAoV2Vi
Q29yZTo6RGF0YVRyYW5zZmVySXRlbUxpc3Q6OmNsZWFyKToKLSAgICAgICAgKFdlYkNvcmU6OkRh
dGFUcmFuc2Zlckl0ZW1MaXN0OjphZGQpOgotICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXJJdGVt
TGlzdC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1z
LmguCi0gICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtTGlzdDo6fkRhdGFUcmFuc2Zl
ckl0ZW1MaXN0KToKLSAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1zLmlkbC4KLSAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmRDaHJvbWl1bTo6aXRlbXMpOgotICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL0NsaXBib2FyZENocm9taXVtLmg6Ci0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
RGF0YVRyYW5zZmVySXRlbUxpc3RDaHJvbWl1bS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EYXRhVHJhbnNmZXJJdGVtc0Nocm9taXVtLmNwcC4KLSAg
ICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlckl0ZW1MaXN0Q2hyb21pdW06OmNyZWF0ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtTGlzdENocm9taXVtOjpEYXRhVHJhbnNm
ZXJJdGVtTGlzdENocm9taXVtKToKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlckl0ZW1M
aXN0Q2hyb21pdW06OmFkZFBhc3RlYm9hcmRJdGVtKToKLSAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9EYXRhVHJhbnNmZXJJdGVtTGlzdENocm9taXVtLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EYXRhVHJhbnNmZXJJdGVtc0Nocm9taXVtLmguCi0g
ICAgICAgICogcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
Q2xpcGJvYXJkUXQ6Oml0ZW1zKToKLSAgICAgICAgKiBwbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5o
OgotICAgICAgICAqIHBsYXRmb3JtL3F0L0RhdGFUcmFuc2Zlckl0ZW1MaXN0UXQuY3BwOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGF0YVRyYW5zZmVySXRlbXNRdC5j
cHAuCi0gICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtTGlzdFF0OjpjcmVhdGUpOgot
ICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVySXRlbUxpc3RRdDo6RGF0YVRyYW5zZmVySXRl
bUxpc3RRdCk6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtTGlzdFF0OjphZGRQ
YXN0ZWJvYXJkSXRlbSk6Ci0gICAgICAgICogcGxhdGZvcm0vcXQvRGF0YVRyYW5zZmVySXRlbUxp
c3RRdC5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGF0YVRyYW5z
ZmVySXRlbXNRdC5oLgotCi0yMDExLTEwLTAzICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0
Lm9yZz4KLQotICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJsb2NrLW5vbi1yZXBsYWNlZC13aWR0
aC0wMDguaHRtCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTI3OAotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpj
b21wdXRlTG9naWNhbFdpZHRoVXNpbmcpOgotICAgICAgICAgIEluY2x1ZGUgdGhlIG1hcmdpbnMg
aW4gdGhlIGNhbGN1bGF0aW9uIG9mIGxvZ2ljYWwgd2lkdGggZXZlbiB3aGVuIHRoZSBjb250YWlu
aW5nIGJsb2NrJ3MKLSAgICAgICAgICB3aWR0aCBpcyB6ZXJvLiBUaGlzIGlzIHJlcXVpcmVkIGJ5
IHNlY3Rpb24gJzEwLjMuMyBCbG9jay1sZXZlbCwgbm9uLXJlcGxhY2VkIGVsZW1lbnRzIGluCi0g
ICAgICAgICAgbm9ybWFsIGZsb3cnIGluIHRoZSBDU1MgMi4xIHNwZWMuIFRlc3RlZCBieSBibG9j
ay1ub24tcmVwbGFjZWQtd2lkdGgtMDA4Lmh0bSBpbiB0aGUgQ1NTCi0gICAgICAgICAgdGVzdCBz
dWl0ZS4KLQotMjAxMS0xMC0yOSAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+
Ci0KLSAgICAgICAgTWFrZSBzdXJlIFRleHRUcmFja3MgYXJlIGRlc3RydWN0ZWQgaWYgSFRNTE1l
ZGlhRWxlbWVudCBnb2VzIGF3YXkuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTE0OAotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4K
LQotICAgICAgICBUZXN0OiBtZWRpYS90cmFjay90cmFjay10ZXh0LXRyYWNrLWRlc3RydWN0b3It
Y3Jhc2guaHRtbAotCi0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6On5IVE1MTWVkaWFFbGVtZW50KToKLSAgICAg
ICAgICAgIERlc3Ryb3kgdGhlIGNsaWVudCAodGhpcykgb24gVGV4dFRyYWNrcy4KLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUZXh0VHJhY2tzKToKLSAgICAgICAgICAg
IE1vdmUgVGV4dFRyYWNrIGNyZWF0aW9uIHRvIGxvYWROZXh0VGV4dFRyYWNrLgotICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZE5leHRUZXh0VHJhY2spOgotICAgICAgICAg
ICAgS2VlcCB0cmFjayBvZiBuZXcgVGV4dFRyYWNrIGluIGEgbGlzdC4KLSAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZFRyYWNrKToKLSAgICAgICAgICAgIEtlZXAgdHJhY2sg
b2YgbmV3IFRleHRUcmFjayBpbiBhIGxpc3QuCi0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50Lmg6Ci0gICAgICAgICAgICBBZGQgbV90ZXh0VHJhY2tzIGFuZCBsb2FkTmV4dFRleHRUcmFj
aygpLgotCi0yMDExLTEwLTI5ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIEltcGxlbWVudCBJREJGYWN0b3J5LmRlbGV0ZURhdGFiYXNlCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjYyMgotCi0gICAgICAg
IFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAgICAgVGVzdHM6IHN0b3JhZ2UvaW5kZXhl
ZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLmh0bWwKLSAgICAgICAgICAg
ICAgIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbAotCi0gICAg
ICAgICogc3RvcmFnZS9JREJCYWNraW5nU3RvcmUuaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6UGVuZGluZ0RlbGV0ZUNhbGw6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpQZW5kaW5nRGVsZXRlQ2FsbDo6Y2FsbGJhY2tzKToKLSAg
ICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OlBlbmRpbmdEZWxldGVDYWxs
OjpQZW5kaW5nRGVsZXRlQ2FsbCk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tl
bmRJbXBsOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsKToKLSAgICAgICAgKFdlYkNvcmU6OklEQkRh
dGFiYXNlQmFja2VuZEltcGw6Om9wZW5JbnRlcm5hbCk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpwcm9jZXNzUGVuZGluZ0NhbGxzKToKLSAgICAgICAgKFdlYkNv
cmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6Om9wZW5Db25uZWN0aW9uKToKLSAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OmRlbGV0ZURhdGFiYXNlKToKLSAgICAgICAg
KiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaDoKLSAgICAgICAgKiBzdG9yYWdlL0lE
QkZhY3RvcnkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJh
c2UpOgotICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeS5oOgotICAgICAgICAqIHN0b3JhZ2Uv
SURCRmFjdG9yeS5pZGw6Ci0gICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpkZWxldGVEYXRh
YmFzZSk6Ci0gICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuaDoKLSAgICAg
ICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmg6Ci0gICAgICAgICogc3Rv
cmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmRlbGV0
ZVJhbmdlKToKLSAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmRlbGV0
ZURhdGFiYXNlKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJCYWNraW5nU3RvcmUuaDoK
LSAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURC
UmVxdWVzdDo6ZGlzcGF0Y2hFdmVudCk6Ci0KLTIwMTEtMTAtMjggIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgotCi0gICAgICAgIENTUyAyLjEgZmFpbHVyZTogZHluYW1pYy10b3At
Y2hhbmdlLTAwMSB0byAwMDQgZmFpbAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjgxNDkKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4K
LQotICAgICAgICBJbiB0aGVzZSB0ZXN0cyBhIGNoaWxkIGluaGVyaXRzIGl0cyB0b3AgdmFsdWUg
ZnJvbSBpdHMgcGFyZW50IGFuZCB0aGUgcGFyZW50J3MgdG9wIHZhbHVlCi0gICAgICAgIGlzIGxh
dGVyIHVwZGF0ZWQgYnkgYW4gb25sb2FkIGV2ZW50LiBUaGUgdXBkYXRlZCB2YWx1ZSBpcyBleHBl
Y3RlZCB0byBjYXNjYWRlIHRvIHRoZSBjaGlsZC4KLQotICAgICAgICBUaGUgdGVzdHMgd2VyZSBm
YWlsaW5nIGJlY2F1c2UgdXBkYXRpbmcgdGhlIHZhbHVlIGRpZCBub3QgY2FzY2FkZSBpbW1lZGlh
dGVseSB0byB0aGUgY2hpbGQgaW5oZXJpdGluZyBpdCwgdGhvdWdoCi0gICAgICAgIGl0IGNvdWxk
IGJlIGZvcmNlZCBldmVudHVhbGx5IHdpdGggYSBmdWxsIHJlY2FsY3VsYXRpb24gb2YgdGhlIFJl
bmRlclN0eWxlIGJ5IGNoYW5naW5nIHRoZSB6b29tIGZhY3RvcgotICAgICAgICBvciBvcGVuaW5n
IHRoZSBpbnNwZWN0b3IuCi0KLSAgICAgICAgVGhlIGZpeCBpcyB0byBsZXQgdGhlIHBhcmVudCBS
ZW5kZXJTdHlsZSBrbm93IHRoYXQgYSBjaGlsZCBpbmhlcml0cyBhIHByb3BlcnR5IGV4cGxpY2l0
bHkgYW5kCi0gICAgICAgIHJlY2FsY3VsYXRlIGNoaWxkcmVuJ3Mgc3R5bGUgaWYgdGhlIHBhcmVu
dCBldmVyIGNoYW5nZXMuIFRoaXMgb25seSBoYXBwZW5zIGlmIHRoZSBwcm9wZXJ0eSBpcyBpbmhl
cml0ZWQKLSAgICAgICAgZXhwbGljaXRseSwgaXQgZG9lcyBub3QgYXBwbHkgdG8gY2FzZXMgd2hl
cmUgdGhlIHByb3BlcnR5IGlzIGluaGVyaXRlZCBieSBkZWZhdWx0LgotCi0gICAgICAgICogY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6YXBwbHlQcm9wZXJ0eSk6Ci0gICAgICAgICogZG9tL05vZGUuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6ZGlmZik6Ci0gICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpSZW5kZXJTdHlsZSk6Ci0gICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpJ
bmhlcml0ZWRGbGFnczo6c2V0SGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMpOgotICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Omhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9w
ZXJ0aWVzKToKLQotMjAxMS0xMC0yOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
Ci0KLSAgICAgICAgVGlnaHRlbiBmb250IGNoYW5nZSBjb25kaXRpb25zIGluIG1hdGNoZWQgZGVj
bGFyYXRpb24gY2FjaGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMDI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAg
ICAgV2UgY3VycmVudGx5IHRlc3QgaWYgZm9udCBkZXNjcmlwdGlvbiBoYXMgY2hhbmdlZCB0byBz
ZWUgaWYgYWxsIHByb3BlcnRpZXMgbmVlZCB0byBiZSBhcHBsaWVkLiBIb3dldmVyCi0gICAgICAg
IG9ubHkgYSBmZXcgc2l6ZSByZWxhdGVkIG1ldHJpY3MgY2FuIGFjdHVhbGx5IGFmZmVjdCBvdGhl
ciBwcm9wZXJ0aWVzLiBXZSBjYW4ganVzdCB0ZXN0IHRob3NlLCBtYWtpbmcgCi0gICAgICAgIHRo
ZSBjYWNoZSBzb21ld2hhdCBtb3JlIGVmZmVjdGl2ZSB3aGlsZSBhbHNvIG1ha2luZyB0aGUgZXF1
YWxpdHkgdGVzdCBmYXN0ZXIuCi0gICAgICAgIAotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmZvbnREaWZmZXJlbmNlQWZmZWN0c05vbkluaGVy
aXRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseU1hdGNoZWRE
ZWNsYXJhdGlvbnMpOgotICAgIAotICAgICAgICAgICAgVGVzdCBmb3IgdGV4dCBjb21wdXRlZFNp
emUsIHhIZWlnaHQgYW5kIG9yaWVudGF0aW9uIG9ubHkuIE90aGVyIHRleHQgcHJvcGVydGllcyBk
b24ndCBhZmZlY3QgY29tcHV0ZWQKLSAgICAgICAgICAgIHZhbHVlcyBvZiBub24tdGV4dCBDU1Mg
cHJvcGVydGllcy4KLQotMjAxMS0xMC0yOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgotCi0gICAgICAgIERPTVVSTCBzaG91bGQga2VlcCBpdHMgb3duIHN0YXRlIHJhdGhlciB0aGFu
IHN0b3JpbmcgaXQgb24gU2NyaXB0RXhlY3V0aW9uQ29udGV4dAotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjkKLQotICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KLQotICAgICAgICBUaGlzIHBhdGNoIHVudHdpc3RzIHRoaXMgY29kZS4g
IEkgdGhpbmsgdGhpcyBjb2RlIHdhcyBvcmlnaW5hbGx5Ci0gICAgICAgIHR3aXN0ZWQgYmVjYXVz
ZSB0aGVzZSBBUElzIG1vdmVkIG9udG8gRE9NVVJMIGFmdGVyIHRoZXkgd2VyZSBmaXJzdAotICAg
ICAgICBpbXBsZW1lbnRlZC4KLQotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRF
eGVjdXRpb25Db250ZXh0KToKLSAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
OgotICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlci5oOgotICAgICAgICAqIGh0bWwvRE9NVVJM
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRPTVVSTDo6Y29udGV4dERlc3Ryb3llZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpET01VUkw6OmNyZWF0ZU9iamVjdFVSTCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpET01VUkw6OnJldm9rZU9iamVjdFVSTCk6Ci0gICAgICAgICogaHRtbC9ET01VUkwuaDoKLQot
MjAxMS0xMC0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0K
LSAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4Nzk1LgotICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85ODc5NQotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNzEKLQotICAgICAgICBDYXVzZXMgd29ya2VyIHRl
c3RzIHRvIGNyYXNoIChSZXF1ZXN0ZWQgYnkgYWJhcnRoIG9uICN3ZWJraXQpLgotCi0gICAgICAg
ICogZG9tL0FjdGl2ZURPTU9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlcjo6Y29udGV4dERlc3Ryb3llZCk6Ci0gICAgICAgICogZG9tL01lc3Nh
Z2VQb3J0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0OjpNZXNzYWdlUG9ydCk6
Ci0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6Y29udGV4dERlc3Ryb3llZCk6Ci0gICAg
ICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6Ci0gICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6Y2xvc2VNZXNzYWdlUG9ydHMpOgotCi0yMDExLTEwLTI4ICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgotCi0gICAgICAgIFBvdGVudGlhbCBjcmFzaCBpbiBSZXBsYWNl
Tm9kZVdpdGhTcGFuQ29tbWFuZAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzExNDUKLQotICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgotCi0g
ICAgICAgIEZpeCBhIHBvdGVudGlhbCBjcmFzaCB3aXRob3V0IHRlc3RzIGJlY2F1c2Ugd2UgZG9u
J3QgaGF2ZSBhIHJlZHVjdGlvbi4KLQotICAgICAgICAqIGVkaXRpbmcvUmVwbGFjZU5vZGVXaXRo
U3BhbkNvbW1hbmQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6c3dhcEluTm9kZVByZXNlcnZpbmdB
dHRyaWJ1dGVzQW5kQ2hpbGRyZW4pOgotCi0yMDExLTEwLTI4ICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgTWVzc2FnZVBvcnQgc2hvdWxkIGJlIGEgQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxMTY3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAg
ICAgICAgSSBjb3VsZG4ndCBxdWl0ZSBnZXQgcmlkIG9mIGFsbCB0aGUgdXNlcyBvZiB0aGUKLSAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bV9tZXNzYWdlUG9ydHMgaW4gdGhpcyBwYXRj
aC4gIEkgaG9wZSB0byBnZXQKLSAgICAgICAgcmlkIG9mIHRoZW0gaW4gdGhlIGZ1dHVyZSBhcyB0
aGUgImV4dHJhIGRhdGEiIGRlc2lnbiBmb3IKLSAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCBlbWVyZ2VzLgotCi0gICAgICAgICogZG9tL0FjdGl2ZURPTU9iamVjdC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6Y29udGV4dERlc3Ryb3llZCk6
Ci0gICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lc3Nh
Z2VQb3J0OjpNZXNzYWdlUG9ydCk6Ci0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6Y29u
dGV4dERlc3Ryb3llZCk6Ci0gICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6Ci0gICAgICAgICog
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgotICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y2xvc2VNZXNzYWdlUG9ydHMpOgotCi0yMDEx
LTEwLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgotCi0gICAgICAgIFRoZSBj
b3B5IGFuZCBwYXN0ZSByZXN1bHQgaW4gbmVzdGVkIHNjcm9sbGJhcnMgb24gaHR0cDovL2Rvam90
b29sa2l0Lm9yZy93aWRnZXRzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDc5OQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVucmljYSBDYXN1Y2NpLgot
Ci0gICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBXZWJLaXQncyB0cmVhdGluZyBhIGZ1bGx5
IHNlbGVjdGVkIHJvb3Qgd2l0aCBiYWNrZ3JvdW5kIHByb3BlcnR5IGFzIGEgc3BlY2lhbCBjb21t
b24gYW5jZXN0b3IuCi0gICAgICAgIEEgdmFyaWFudCBvZiB0aGlzIGJ1ZyB3YXMgY2F1c2VkIGJ5
IHRyZWF0aW5nIGFueSBlbGVtZW50IHdpdGggdGV4dC1kZWNvcmF0aW9uIHByb3BlcnR5IGFzIGEg
cHJlc2VudGF0aW9uYWwgZWxlbWVudC4KLQotICAgICAgICBGaXhlZCB0aGUgYWJvdmUgdHdvIGJ1
Z3MgYnkgbm90IHNlcmlhbGl6aW5nIHRoZSBzYWlkIG5vZGVzLiBUaGUgZWZmZWN0aXZlIGJhY2tn
cm91bmQgY29sb3Igd2FzIGFscmVhZHkgc2VyaWFsaXplZAotICAgICAgICBieSB3cmFwcGluZ1N0
eWxlRm9yU2VyaWFsaXphdGlvbiwgdGhlcmUgd2FzIG5vdGhpbmcgdG8gYmUgZG9uZSBiZXNpZGVz
IHN0b3AgaW5jbHVkaW5nIGl0IGluIGhpZ2hlc3RBbmNlc3RvclRvV3JhcE1hcmt1cC4KLQotICAg
ICAgICBGb3IgdGV4dC1kZWNvcmF0aW9uIHByb3BlcnR5LCBhZGRlZCB0aGUgbG9naWMgdG8gY29t
cHV0ZSB0aGUgZWZmZWN0aXZlIHZhbHVlIGluIEVkaXRpbmdTdHlsZTo6aW5pdC4gQWxzbyB0cmVh
dCBpdAotICAgICAgICBhcyBhIG5vbi1pbmhlcml0YWJsZSBlZGl0aW5nIHByb3BlcnR5IHNvIHRo
YXQgdGhlIHJlc3Qgb2YgRWRpdGluZ1N0eWxlIGp1c3Qgd29ya3MuCi0KLSAgICAgICAgVGVzdDog
ZWRpdGluZy9wYXN0ZWJvYXJkL2F2b2lkLWNvcHlpbmctYm9keS13aXRoLWJhY2tncm91bmQuaHRt
bAotCi0gICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOiBBZGRlZCBDU1NQcm9wZXJ0
eVRleHREZWNvcmF0aW9uIHRvIHRoZSBsaXN0IG9mIGVkaXRpbmcgcHJvcGVydGllcy4KLSAgICAg
ICAgKFdlYkNvcmU6OmNvcHlFZGl0aW5nUHJvcGVydGllcyk6Ci0gICAgICAgIChXZWJDb3JlOjpF
ZGl0aW5nU3R5bGU6OmluaXQpOiBDb21wdXRlIHRoZSBlZmZlY3RpdmUgdGV4dCBkZWNvcmF0aW9u
IHdoZW4gcHJvcGVydGllc1RvSW5jbHVkZSBpcwotICAgICAgICBFZGl0aW5nUHJvcGVydGllc0lu
RWZmZWN0LgotICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ1N0eWxlOjpwcmVwYXJlVG9BcHBseUF0
KToKLSAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHlsZTo6bWVyZ2VJbmxpbmVTdHlsZU9mRWxl
bWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OndyYXBwaW5nU3R5bGVGb3JT
ZXJpYWxpemF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHlsZTo6cmVtb3ZlU3R5
bGVGcm9tUnVsZXNBbmRDb250ZXh0KToKLSAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5o
OiBSZW5hbWVkIEVkaXRpbmdJbmhlcml0YWJsZVByb3BlcnRpZXNBbmRCYWNrZ3JvdW5kQ29sb3JJ
bkVmZmVjdCB0bwotICAgICAgICBFZGl0aW5nUHJvcGVydGllc0luRWZmZWN0LgotICAgICAgICAq
IGVkaXRpbmcvbWFya3VwLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlZE1hcmt1cEFjY3Vt
dWxhdG9yOjphcHBlbmRTdHlsZU5vZGVPcGVuVGFnKTogUmVtb3ZlZCBhbiBhc3NlcnRpb24gdGhh
dCdzIG5vIGxvbmdlciB2YWxpZC4KLSAgICAgICAgKFdlYkNvcmU6OmlzRWxlbWVudFByZXNlbnRh
dGlvbmFsKTogRG9uJ3QgY29uc2lkZXIgYW4gZWxlbWVudCB3aXRoIHRleHQtZGVjb3JhdGlvbiBh
cyBhIHByZXNlbnRhdGlvbmFsIGVsZW1lbnQuCi0gICAgICAgIChXZWJDb3JlOjpoaWdoZXN0QW5j
ZXN0b3JUb1dyYXBNYXJrdXApOiBEb24ndCBjb25zaWRlciBmdWxseSBzZWxlY3RlZCByb290IGFz
IGEgc3BlY2lhbCBjb21tb24gYW5jZXN0b3IgZXZlci4KLSAgICAgICAgQmFja2dyb3VuZCBjb2xv
ciBpcyBjb21wdXRlZCBwcm9wZXJ0eSB3aGVuIHdlIGNvbXB1dGUgdGhlIHdyYXBwaW5nIHN0eWxl
LgotICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTWFya3VwKToKLQotMjAxMS0xMC0yOCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIFJlbmFtZSBFeGNlcHRpb25Db2Rl
RGVzY3JpcHRpb24uaW4gdG8gRE9NRXhjZXB0aW9ucy5pbgotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTcKLQotICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KLQotICAgICAgICBUaGlzIGZpbGUgaXMgbm93IHVzZWQgZm9yIG1vcmUgdGhh
biBqdXN0IHRoZSBkZXNjcmlwdGlvbnMgb2YgdGhlIGV4Y2VwdGlvbnMuCi0KLSAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKLSAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6Ci0gICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAg
KiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9zY3JpcHRz
L2FjdGlvbl9tYWtlbmFtZXMucHk6Ci0gICAgICAgICogZG9tL0RPTUV4Y2VwdGlvbnMuaW46IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uaW4u
Ci0gICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5pbjogUmVtb3ZlZC4KLSAg
ICAgICAgKiBkb20vbWFrZV9kb21fZXhjZXB0aW9ucy5wbDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvZG9tL21ha2VfZXhjZXB0aW9uX2NvZGVfZGVzY3JpcHRpb24ucGwuCi0gICAgICAgICog
ZG9tL21ha2VfZXhjZXB0aW9uX2NvZGVfZGVzY3JpcHRpb24ucGw6IFJlbW92ZWQuCi0KLTIwMTEt
MTAtMjggIENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KLQotICAgICAgICBTaW5j
UmVzYW1wbGVyIG11c3QgYmUgYWJsZSB0byByZXNhbXBsZSBwcm9ncmVzc2l2ZWx5Ci0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMQotCi0gICAgICAg
IFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KLQotICAgICAgICBObyBuZXcgdGVzdHMuICBU
aGVyZSBpcyBub3QgeWV0IGFuIGltcGxlbWVudGF0aW9uIHVzaW5nIHByb2dyZXNzaXZlIHJlc2Ft
cGxpbmcgdG8gdGVzdC4KLQotICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1NpbmNSZXNhbXBsZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6U2luY1Jlc2FtcGxlcjo6U2luY1Jlc2FtcGxlcik6Ci0g
ICAgICAgIChXZWJDb3JlOjpTaW5jUmVzYW1wbGVyOjpjb25zdW1lU291cmNlKToKLSAgICAgICAg
KFdlYkNvcmU6OlNpbmNSZXNhbXBsZXI6OnByb2Nlc3MpOgotICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1NpbmNSZXNhbXBsZXIuaDoKLQotMjAxMS0xMC0yOCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIFN1cHBvcnQgYXR0cmli
dXRlT2xkVmFsdWUgZm9yIGF0dHJpYnV0ZSBtdXRhdGlvbnMKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
Unlvc3VrZSBOaXdhLgotCi0gICAgICAgIFJlc3BlY3QgJ2F0dHJpYnV0ZU9sZFZhbHVlJyB3aGVu
IHBhc3NlZCB0byBXZWJLaXRNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoKS4KLQotICAgICAgICBJ
ZiBtdWx0aXBsZSBvYnNlcnZlcnMgaGF2ZSBkaWZmZXJlbnQgYXR0cmlidXRlT2xkVmFsdWUgc2V0
dGluZ3MgaW4KLSAgICAgICAgdGhlaXIgcmVnaXN0cmF0aW9ucywgdHdvIGRpZmZlcmVudCBNdXRh
dGlvblJlY29yZHMgYXJlIGNyZWF0ZWQgKG9uZSBpcwotICAgICAgICBhIHdyYXBwZXIgYXJvdW5k
IHRoZSBvdGhlcikuCi0KLSAgICAgICAgSWYgYSBzaW5nbGUgb2JzZXJ2ZXIgaGFzIG11bHRpcGxl
IHJlZ2lzdHJhdGlvbnMgdGhhdCBhcHBseSB0byBhIHNpbmdsZQotICAgICAgICBtdXRhdGlvbiwg
YW5kIHRob3NlIHJlZ2lzdHJhdGlvbnMgaGF2ZSBkaWZmZXJlbnQgdmFsdWVzIGZvcgotICAgICAg
ICBhdHRyaWJ1dGVPbGRWYWx1ZSwgdGhlIG9ic2VydmVyIGlzIHBhc3NlZCB0aGUgb2xkVmFsdWUu
Ci0KLSAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpoYXNPbGRW
YWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjplbnF1ZXVlQXR0cmlidXRlc011dGF0aW9uUmVjb3Jk
KToKLSAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSk6Ci0gICAgICAgICog
ZG9tL011dGF0aW9uUmVjb3JkLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uUmVjb3Jk
OjpjcmVhdGVBdHRyaWJ1dGVzKToKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uUmVjb3JkOjpj
cmVhdGVXaXRoTnVsbE9sZFZhbHVlKToKLSAgICAgICAgKiBkb20vTXV0YXRpb25SZWNvcmQuaDoK
LSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uUmVjb3JkOjpvbGRWYWx1ZSk6Ci0KLTIwMTEtMTAt
MjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBEZWxldGUgRXhj
ZXB0aW9uQ29kZS5jcHAsIHdoaWNoIGlzIGVtcHR5Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE1OQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgotCi0gICAgICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBzdHJpcHBlZCBkb3duIHRvIG5v
dGhpbmcgYW5kIGNhbiBiZSByZW1vdmVkLgotCi0gICAgICAgICogQ01ha2VMaXN0cy50eHQ6Ci0g
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0g
ICAgICAgICogV2ViQ29yZS5wcm86Ci0gICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6Ci0gICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgotICAg
ICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6Ci0gICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUu
Y3BwOiBSZW1vdmVkLgotCi0yMDExLTEwLTI4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg3NzYu
Ci0gICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4Nzc2Ci0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2NAotCi0gICAgICAg
IGNhdXNlZCBsb3RzIG9mIHRlc3QgY3Jhc2hlcyAoUmVxdWVzdGVkIGJ5IHNtZnIgb24gI3dlYmtp
dCkuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVZpc2liaWxpdHlTdGF0dXMpOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OmRpcnR5Wk9yZGVyTGlzdHMpOgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbmFibGVD
b21wb3NpdGluZ01vZGUpOgotCi0yMDExLTEwLTI4ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5A
YXBwbGUuY29tPgotCi0gICAgICAgIEltcHJvdmVtZW50IHRvIHRoZSBmaXggZm9yOgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDIKLSAgICAgICAg
V2hldGhlciBiYWNrc3BhY2UgZ29lcyBCYWNrIHNob3VsZCBiZSBjb25maWd1cmFibGUKLQotICAg
ICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotCi0gICAgICAgICogcGFnZS9FdmVudEhh
bmRsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkZWZhdWx0QmFja3Nw
YWNlRXZlbnRIYW5kbGVyKToKLSAgICAgICAgRG8gdGhlIGZyYW1lLT5zZXR0aW5ncygpIGNoZWNr
IGFmdGVyIHRoZSAhcGFnZSBjaGVjaywgc2luY2UKLSAgICAgICAgYSBudWxsIHBhZ2UgbWVhbnMg
bnVsbCBzZXR0aW5ncy4KLQotMjAxMS0xMC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgotCi0gICAgICAgIE1ha2UgRE9NVVJMIGEgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgVGhpcyByZW1vdmVz
IGEgYnVuY2ggb2YgaGFuZC1yb2xsZWQgaWZkZWZlZCBjb2RlLgotCi0gICAgICAgICogZG9tL0Fj
dGl2ZURPTU9iamVjdC5oOgotICAgICAgICAgICAgLSBPbmUtYXJndW1lbnQgY29uc3RydWN0b3Jz
IHNob3VsZCBiZSBleHBsaWNpdC4KLSAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk6Ci0gICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKLSAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpET01VUkw6
OkRPTVVSTCk6Ci0gICAgICAgIChXZWJDb3JlOjpET01VUkw6On5ET01VUkwpOgotICAgICAgICAq
IGh0bWwvRE9NVVJMLmg6Ci0KLTIwMTEtMTAtMjggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KLQotICAgICAgICBGYWN0b3IgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgb3V0IG9m
IEFjdGl2ZURPTU9iamVjdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzExNTMKLQotICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAg
ICAgIFRoaXMgcGF0Y2ggcGF2ZXMgdGhlIHdheSB0byBtYWtlIG1vcmUgb2JqZWN0cyBvYnNlcnZl
IHRoZSBkZXN0cnVjdGlvbgotICAgICAgICBvZiBTY3JpcHRFeGVjdXRpb0NvbnRleHQgd2l0aG91
dCBuZWVkaW5nIHRvIGFkZCBpZmRlZnMgdG8KLSAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oL2NwcC4gIChBcyBhbiBleGFtcGxlLCBzZWUgRE9NVVJMLikKLQotICAgICAgICAqIGRvbS9B
Y3RpdmVET01PYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXI6OkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKToKLSAgICAgICAgKFdlYkNvcmU6
OkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjp+Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIp
OgotICAgICAgICAoV2ViQ29yZTo6Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6OmNvbnRleHRE
ZXN0cm95ZWQpOgotICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0OjpBY3RpdmVET01P
YmplY3QpOgotICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0Ojp+QWN0aXZlRE9NT2Jq
ZWN0KToKLSAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Ci0g
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgotICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ3JlYXRlQWN0aXZlRE9N
T2JqZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OndpbGxE
ZXN0cm95QWN0aXZlRE9NT2JqZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OmRpZENyZWF0ZURlc3Ry
dWN0aW9uT2JzZXJ2ZXIpOgotICAgICAgICAoV2ViQ29yZTo6d2lsbERlc3Ryb3lEZXN0cnVjdGlv
bk9ic2VydmVyKToKLSAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgotCi0y
MDExLTEwLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgotCi0gICAg
ICAgIE9uZSBtb3JlIHVucmV2aWV3ZWQgYnVpbGQgZml4IGR1ZSB0byByOTg3NzUuCi0KLSAgICAg
ICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2o6Ci0KLTIwMTEtMTAtMjggIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4K
LQotICAgICAgICBbY2hyb21pdW1dIFRyYWNrIHdoZWVsIGV2ZW50IGhhbmRsZXIgcmVnaXN0cmF0
aW9uIGFuZCBwYXNzIHRvIGlucHV0IGZpbHRlcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzgKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJ1c3NlbGwuCi0KLSAgICAgICAgVGhpcyBwcm9wYWdhdGVzIG1vdXNlIHdoZWVsIHJlZ2lzdHJh
dGlvbiBub3RpZmljYXRpb25zIHRvIHRoZSBjb21wb3NpdG9yIGlucHV0IGZpbHRlci4gSWYgdGhl
cmUgYXJlIGFueSBoYW5kbGVycwotICAgICAgICByZWdpc3RlcmVkLCB3aGljaCBpbmNsdWRlcyBK
UyBoYW5kbGVycyBhbmQgc2Nyb2xsYWJsZSBhcmVhcyBvdGhlciB0aGFuIHRoZSBtYWluIHZpZXcs
IHRoZSBpbnB1dCBmaWx0ZXIgd2lsbCBwYXNzCi0gICAgICAgIG1vdXNlIHdoZWVsIGV2ZW50cyB0
byB0aGUgd2lkZ2V0LiBPdGhlcndpc2Ugd2hlbiB0aHJlYWRlZCBjb21wb3NpdGluZyBpcyBlbmFi
bGVkIHRoZSBpbnB1dCBmaWx0ZXIgdHJhbnNsYXRlcwotICAgICAgICB3aGVlbCBldmVudHMgaW50
byByb290IGxheWVyIHNjcm9sbGluZy4KLQotICAgICAgICBPbmx5IGNoYW5nZXMgYmVoYXZpb3Ig
d2l0aCBhbiBvZmYtYnktZGVmYXVsdCBmbGFnIGVuYWJsZWQsIHNvIG5vIHRlc3RzLgotCi0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6Q0NMYXllclRyZWVIb3N0KToKLSAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZmluaXNoQ29tbWl0T25JbXBsVGhyZWFk
KToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6c2V0SGF2ZVdoZWVsRXZlbnRI
YW5kbGVycyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVl
SG9zdEltcGw6OmhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaDoKLSAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnNldEhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpOgotICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsQ29udHJvbGxlci5o
OgotCi0yMDExLTEwLTI4ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgot
Ci0gICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGR1ZSB0byByOTg3NzUuCi0KLSAgICAgICAg
Tm8gbmV3IHRlc3RzLgotCi0gICAgICAgICogQ01ha2VMaXN0cy50eHQ6Ci0gICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0gICAgICAgICogV2Vi
Q29yZS5wcm86Ci0KLTIwMTEtMTAtMjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+Ci0KLSAgICAgICAgSWYgdmlzaWJpbGl0eSBjaGFuZ2VzIHdoaWxlIGFuIGFjY2VsZXJh
dGVkIGFuaW1hdGlvbiBpcyBydW5uaW5nLCBlbGVtZW50IGp1bXBzIGFyb3VuZAotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk5ODQKLQotICAgICAgICBS
ZXZpZXdlZCBieSBDaHJpcyBNYXJyaW4uCi0gICAgICAgIAotICAgICAgICBDb21wb3NpdGluZyBu
b3cgYWZmZWN0cyB3aGV0aGVyIFJlbmRlckxheWVycyBmb3IgdmlzaWJpbGl0eTpoaWRkZW4gZWxl
bWVudHMKLSAgICAgICAgYXJlIGluY2x1ZGVkIGluIHotb3JkZXIgbGlzdHMuIFNvIHdlIGhhdmUg
dG8gZGlydHkgdGhvc2UgbGlzdHMgd2hlbiB3ZSBlbnRlcgotICAgICAgICBjb21wb3BzaXRpbmcg
bW9kZS4KLQotICAgICAgICBUZXN0OiBjb21wb3NpdGluZy92aXNpYmlsaXR5L2FuaW1hdGlvbi12
aXNpYmlsaXR5Lmh0bWwKLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlVmlzaWJpbGl0eVN0YXR1cyk6IFJl
bW92ZWQgdHJhaWxpbmcgd2hpdGVzcGFjZS4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpkaXJ0eVpPcmRlckxpc3RzKTogQ2FsbCBkaXJ0eVpPcmRlckxpc3RzSW50ZXJuYWwoKSwgd2hp
Y2ggZG9lc24ndCBoYXZlCi0gICAgICAgIHRvIHBpbmcgdGhlIGNvbXBvc2l0b3IuCi0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZGlydHlaT3JkZXJMaXN0c0ludGVybmFsKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpkaXJ0eVpPcmRlckxpc3RzSW5jbHVkaW5nRGVzY2Vu
ZGFudHMpOiBSZWN1cnNpdmVseSBkaXJ0eSB6LW9yZGVyCi0gICAgICAgIGxpc3RzLgotICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjplbmFibGVDb21wb3NpdGluZ01vZGUpOiBXaGVuIGdvaW5nIGludG8gY29tcG9zaXRpbmcg
bW9kZSwKLSAgICAgICAgZGlydHkgYWxsIHotb3JkZXIgbGlzdHMuCi0KLTIwMTEtMTAtMjggIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgSW1wbGVtZW50
IENTUzMgSW1hZ2VzIGNyb3NzLWZhZGUoKSBpbWFnZSBmdW5jdGlvbgotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIxNjIKLSAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzEwMjA5MjU0PgotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQot
ICAgICAgICBQYXJzZSAtd2Via2l0LWNyb3NzLWZhZGUgYWNjb3JkaW5nIHRvIHRoZSBDU1MzIElt
YWdlcyBWYWx1ZXMgc3BlY2lmaWNhdGlvbi4KLQotICAgICAgICBBbHNvLCBhZGp1c3Qgb3RoZXIg
Q1NTIHBhcnNpbmcgZnVuY3Rpb25zIHRvIHN1cHBvcnQgbmVzdGVkIGZ1bmN0aW9ucywgYnkgdXNp
bmcgYSBzcGVjaWZpYyBDU1MgdmFsdWUgbGlzdAotICAgICAgICBpbnN0ZWFkIG9mIHRoZSBnbG9i
YWwgb25lLiBUaGlzIGFsbG93cyAtIGZvciBleGFtcGxlIC0gY3Jvc3MtZmFkZSB0byBwYXNzIGVh
Y2ggb2YgaXRzIGFyZ3VtZW50cyBiYWNrIGludG8KLSAgICAgICAgcGFyc2VGaWxsSW1hZ2UgYW5k
IHRvIHN1Y2Nlc3NmdWxseSBwYXJzZSBpbWFnZSBmdW5jdGlvbnMgaW4gdGhpcyBmYXNoaW9uLgot
Ci0gICAgICAgIFRlc3Q6IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
Y3Jvc3MtZmFkZS5odG1sCi0KLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6Ci0gICAgICAgICogY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcDogQWRkZWQuCi0gICAg
ICAgIChXZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6fkNTU0Nyb3NzZmFkZVZhbHVlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpjc3NUZXh0KToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpmaXhlZFNpemUpOgotICAgICAgICAoV2ViQ29yZTo6
Q1NTQ3Jvc3NmYWRlVmFsdWU6OmltYWdlKToKLSAgICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFs
dWUuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6Y3JlYXRl
KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjppc0ZpeGVkU2l6ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6c2V0RnJvbUltYWdlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpzZXRUb0ltYWdlKToKLSAgICAgICAgKFdl
YkNvcmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpzZXRQZXJjZW50YWdlKToKLSAgICAgICAgKFdlYkNv
cmU6OkNTU0Nyb3NzZmFkZVZhbHVlOjpDU1NDcm9zc2ZhZGVWYWx1ZSk6Ci0gICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbnRlbnQpOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlRmlsbFByb3BlcnR5KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VCb3JkZXJJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
RGVwcmVjYXRlZEdyYWRpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VM
aW5lYXJHcmFkaWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlUmFkaWFs
R3JhZGllbnQpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppc0dlbmVyYXRlZEltYWdl
VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdlbmVyYXRlZEltYWdl
KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDcm9zc2ZhZGUpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNhbnZhcyk6Ci0gICAgICAgICogY3NzL0NTU1Bh
cnNlci5oOgotCi0yMDExLTEwLTI4ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+Ci0K
LSAgICAgICAgQXR0ZW1wdGVkIGJ1aWxkIGZpeCBhZnRlciByOTg3NjUuCi0KLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW06Ci0gICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1XaWR0aEZvckdseXBoKToKLQotMjAxMS0xMC0y
OCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgQ1NTIGdyYW1t
YXIgZG9lc24ndCBzdXBwb3J0IGZ1bmN0aW9ucyB3aXRoIG5vIHBhcmFtZXRlcnMKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTEwCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgotCi0gICAgICAgIEFkZCBydWxlIHRvIGdyYW1tYXIg
dG8gYWNjZXB0IGZ1bmN0aW9ucyB3aXRoIDAgYXJncyBhbmQgcmV0dXJuCi0gICAgICAgIHRoaXMg
Y2FzZSB3aXRoIGEgQ1NTUGFyc2VyVmFsdWVMaXN0IHdpdGggMCB2YWx1ZXMuIEFsc28gZml4ZWQK
LSAgICAgICAgZmlsdGVyIGNyZWF0aW9uIGZ1bmN0aW9uIHRvIHByb3Blcmx5IGhhbmRsZSBmaWx0
ZXJzIHdpdGggMAotICAgICAgICBhcmd1bWVudHMuCi0KLSAgICAgICAgKiBjc3MvQ1NTR3JhbW1h
ci55OgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNyZWF0ZUZpbHRlck9wZXJhdGlvbnMpOgotCi0yMDExLTEw
LTI4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg3NTcuCi0gICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0Lzk4NzU3Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTE1MAotCi0gICAgICAgIGNyYXNoZXMgd2Via2l0X3VuaXRfdGVz
dHMgb24gY2hyb21pdW0gd2luZG93cyAoUmVxdWVzdGVkIGJ5Ci0gICAgICAgIGpvaG5ueV9nIG9u
ICN3ZWJraXQpLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd0xheWVyc09udG9SZW5kZXJTdXJmYWNlcyk6Ci0gICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdDo6cGFpbnRMYXllckNvbnRlbnRzKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdDo6dXBkYXRlQ29tcG9zaXRvclJlc291cmNlcyk6Ci0gICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0
eUludGVybmFsKToKLQotMjAxMS0xMC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgotCi0gICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIEZp
eCBuYW1lc3BhY2UgaW5kZW50IGluIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaC4KLQotICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Ojppc0RvY3VtZW50KToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OmlzV29ya2VyQ29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpzZXRIYXNPcGVuRGF0YWJhc2VzKToKLSAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Omhhc09wZW5EYXRhYmFzZXMpOgotICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dXJsKToKLSAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNvbXBsZXRlVVJMKToKLSAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNlY3VyaXR5T3JpZ2luKToKLSAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNvbnRlbnRTZWN1cml0eVBvbGljeSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphY3RpdmVET01PYmplY3Rz
KToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnN1c3BlbmRTY3Jp
cHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MpOgotICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2Fs
bGJhY2tzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1lc3Nh
Z2VQb3J0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpkb21V
cmxzKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlZik6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkZXJlZik6Ci0gICAgICAg
IChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrOjpUYXNrKToKLSAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s6OmlzQ2xlYW51cFRhc2spOgot
Ci0yMDExLTEwLTI4ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgotCi0gICAg
ICAgIFdlYkNvcmUgcGFydCBvZjoKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxMTQyCi0gICAgICAgIFdoZXRoZXIgYmFja3NwYWNlIGdvZXMgQmFjayBz
aG91bGQgYmUgY29uZmlndXJhYmxlCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
LQotICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6ZGVmYXVsdEJhY2tzcGFjZUV2ZW50SGFuZGxlcik6Ci0gICAgICAgIEJhaWwg
b3V0IGlmIGJhY2tzcGFjZSBuYXZpZ2F0aW9uIGlzIG5vdCBlbmFibGVkLgotCi0gICAgICAgICog
cGFnZS9TZXR0aW5ncy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3Mp
OgotICAgICAgICBJbml0aWFsaXplIG1fYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgdG8g
dHJ1ZSB0byBtYXRjaCBjdXJyZW50IGJlaGF2aW9yLgotCi0gICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgotICAgICAgICBEZWNsYXJlZCBtX2JhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLgot
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFi
bGVkKToKLSAgICAgICAgTmV3IGZ1bmN0aW9uLCBzaW1wbGUgc2V0dGVyLgotICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OmJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkKToKLSAgICAgICAg
TmV3IGZ1bmN0aW9uLCBzaW1wbGUgZ2V0dGVyLgotCi0yMDExLTEwLTI4ICBFbWlsIEEgRWtsdW5k
ICA8ZWFlQGNocm9taXVtLm9yZz4KLQotICAgICAgICBPdmVycmlkZGVuIGNsaXBwZWRPdmVyZmxv
d1JlY3RGb3JSZXBhaW50KCkgc3RpbGwgdXNlcyBJbnRSZWN0cwotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNDYKLQotICAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBGcmFzZXIuCi0KLSAgICAgICAgQ2hhbmdlIGFsbCB2aXJ0dWFsIGNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50IGZ1bmN0aW9ucyB0byB1c2UgdGhlCi0gICAgICAgIHNhbWUgc2ln
bmF0dXJlLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpyZWN0V2l0
aE91dGxpbmVGb3JSZXBhaW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuaDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50
KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaDoKLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxl
Q2VsbDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDb2w6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaDoKLSAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKLSAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKLQotMjAx
MS0xMC0yOCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZW1v
dmUgdW51c2VkIHBhcnNlcnMgZm9yICdleGNlcHRpb24nIGFuZCAnYWxpYXMnIElETCBrZXl3b3Jk
cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDAK
LQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9JRExQYXJzZXIucG06Ci0gICAgICAgIChQYXJzZUludGVyZmFjZSk6Ci0gICAgICAg
IChEZXRlcm1pbmVQYXJzZU1vZGUpOgotICAgICAgICAoUHJvY2Vzc1NlY3Rpb24pOgotICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtOgotCi0yMDExLTEwLTI4ICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+Ci0KLSAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEw
Mjg4MDA2PiBFbW9qaSBjaGFyYWN0ZXJzIGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhlciBpbiBz
bWFsbCBmb250IHNpemUKLQotICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgotICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaCk6IElmIHRo
ZSBmb250IGlzIGEgY29sb3IgYml0bWFwIGZvbnQsIHVzZQotICAgICAgICAtW05TRm9udCBhZHZh
bmNlbWVudEZvckdseXBoOl0gaW5zdGVhZCBvZiB3a0dldEdseXBoVHJhbnNmb3JtZWRBZHZhbmNl
cygpLgotCi0yMDExLTEwLTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgUmVtb3ZlIHVudXNlZCBkZWZhdWx0IGNvbnN0cnVjdG9yCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzNgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIE5vIG9uZSBpcyBjYWxsaW5nIHRoaXMgY29uc3Ry
dWN0b3IgYW55bW9yZSBub3cgdGhhdCB3ZSd2ZSBmaXhlZCB0aGUKLSAgICAgICAgY2FsbGVycy4K
LQotICAgICAgICAqIGRvbS9tYWtlX2V4Y2VwdGlvbl9jb2RlX2Rlc2NyaXB0aW9uLnBsOgotICAg
ICAgICAoZ2VuZXJhdGVIZWFkZXIpOgotCi0yMDExLTEwLTI4ICBLZW4gQnVjaGFuYW4gPGtlbnJi
QGNocm9taXVtLm9yZz4KLQotICAgICAgICBDcmFzaCB3aGVuIHNwbGl0dGluZyBpbmxpbmUgZmxv
d3Mgd2l0aCBnZW5lcmF0ZWQgZmxvYXRzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDQ1OAotCi0gICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0
LgotCi0gICAgICAgIFdoZW4gbGluZUJveGVzIG9uIGEgUmVuZGVyQmxvY2sgYXJlIGJlaW5nIGRl
bGV0ZWQsIHdlIG5vdyBjaGVjayB0aGUgZmxvYXRpbmcgb2JqZWN0IGxpc3QgdG8KLSAgICAgICAg
ZW5zdXJlIHJlZmVyZW5jZXMgdG8gdGhlbSBhcmUgYmVpbmcgY2xlYXJlZC4KLQotICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6ZGVsZXRlTGluZUJveFRyZWUpOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBsaW5lQm94IHdoZW4g
ZGVsZXRpbmcgdGhlbQotCi0yMDExLTEwLTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgotCi0gICAgICAgIFJlbW92ZSBMZW9wYXJkLW9ubHkgY29kZSBmcm9tIEdyYXBo
aWNzTGF5ZXJDQQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzExNDEKLQotICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBNYXJyaW4uCi0KLSAgICAgICAg
UmVtb3ZlICFIQVZFX01PREVSTl9RVUFSVFpDT1JFIGNvZGUsIHdoaWNoIHdhcyBvbmx5Ci0gICAg
ICAgIHVzZWQgb24gTGVvcGFyZC4gdXBkYXRlQ29udGVudHNUcmFuc2Zvcm0oKSBiZWNhbWUgYSBu
by1vcCwKLSAgICAgICAgc28gY291bGQgYmUgcmVtb3ZlZC4KLQotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpnZXRW
YWx1ZUZ1bmN0aW9uTmFtZUZvclRyYW5zZm9ybU9wZXJhdGlvbik6Ci0gICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQ0E6OkdyYXBoaWNzTGF5ZXJDQSk6Ci0gICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ0E6OmFkZEFuaW1hdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQ0E6OnVwZGF0ZUdlb21ldHJ5KToKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJDQTo6c2V0VHJhbnNmb3JtQW5pbWF0aW9uRW5kcG9pbnRzKToKLSAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJDQTo6c2V0VHJhbnNmb3JtQW5pbWF0aW9uS2V5ZnJhbWVzKToKLSAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c3dhcEZyb21PclRvVGlsZWRMYXllcik6Ci0g
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmRlZmF1bHRDb250ZW50c09yaWVudGF0
aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlT3BhY2l0eU9u
TGF5ZXIpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5o
OgotCi0yMDExLTEwLTI4ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+Ci0KLSAg
ICAgICAgW2Nocm9taXVtXSBJbXBsaWNpdGx5IHNraXAgcmVuZGVyIHN1cmZhY2VzIHRoYXQgd29u
J3QgYmUgZHJhd24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMDM4Ci0KLSAgICAgICAgUmF0aGVyIHRoYW4gaGF2aW5nIHJlZHVuZGFudCBjaGVja3Mg
aW4gdGhyZWUgcGxhY2VzIGZvciBob3cgdG8gd2FsawotICAgICAgICB0aHJvdWdoIGEgcmVuZGVy
IHN1cmZhY2UgbGlzdCwgaW5zdGVhZCBkb24ndCBhZGQgcmVuZGVyIHN1cmZhY2VzIHRoYXQKLSAg
ICAgICAgZG9uJ3QgbmVlZCB0byBnZXQgcmVuZGVyZWQgdG8gdGhlIHJlbmRlciBzdXJmYWNlIGxp
c3QuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyBsYXlvdXQgdGVzdHMuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzT250b1JlbmRlclN1cmZhY2VzKToK
LSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3Qu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpwYWludExheWVyQ29udGVu
dHMpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojp1cGRhdGVDb21wb3NpdG9y
UmVzb3VyY2VzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3RDb21tb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1Ry
YW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwpOgotCi0yMDExLTEwLTI4ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQXV0b2dlbmVyYXRlIEV4Y2VwdGlvbi1k
b3duY2FzdCBjb2RlIGluIGJpbmRpbmdzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTEwOAotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgotCi0gICAgICAgIFRoaXMgcGF0Y2ggdXNlcyB0aGUgc2FtZSBnZW5lcmF0ZWQgY29kZSBzdHls
ZSBhcyB3ZSdyZSB1c2luZyBmb3IgRXZlbnRzCi0gICAgICAgIHRvIGdlbmVyYXRlIHRoZSBkb3du
Y2FzdHMgZm9yIHRoZSBFeGNlcHRpb24gdHlwZXMgaW4gdGhlIGJpbmRpbmdzLgotICAgICAgICBU
aGlzIGNhdXNlIG1lIHRvIHJlZmFjdG9yIG1vcmUgY29kZSBmcm9tIG1ha2VfZXZlbnRfZmFjdG9y
eS5wbCBpbnRvCi0gICAgICAgIEluRmlsZXNDb21waWxlci5wbS4KLQotICAgICAgICBBZnRlciB0
aGlzIHBhdGNoLCBzb21lIG9mIHRoZXNlIGZpbGVzIGFuZCBzY3JpcHRzIGFyZSBtaXNuYW1lZC4g
IEknbGwKLSAgICAgICAgcmVuYW1lIHRoZW0gaW4gYSBmb2xsb3d1cCBwYXRjaC4KLQotICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Ci0gICAgICAgICogR05VbWFrZWZpbGUuYW06Ci0gICAg
ICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cDoKLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6Ci0gICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpzZXRET01FeGNlcHRpb24pOgotICAgICAgICAqIGJpbmRpbmdzL29iamMvRXhjZXB0
aW9uSGFuZGxlcnMubW06Ci0gICAgICAgIChXZWJDb3JlOjpyYWlzZURPTUV4Y2VwdGlvbik6Ci0g
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG06Ci0gICAgICAgIChp
bml0aWFsaXplRnJvbUNvbW1hbmRMaW5lKToKLSAgICAgICAgKGNvbXBpbGUpOgotICAgICAgICAo
aW50ZXJmYWNlRm9ySXRlbSk6Ci0gICAgICAgICh0b01hY3JvU3R5bGUpOgotICAgICAgICAoZ2Vu
ZXJhdGVJbnRlcmZhY2VzSGVhZGVyKToKLSAgICAgICAgKGdlbmVyYXRlSGVhZGVyc0hlYWRlcik6
Ci0gICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpW
OFByb3h5OjpzZXRET01FeGNlcHRpb24pOgotICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2RlRGVz
Y3JpcHRpb24uaW46Ci0gICAgICAgICogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbDoKLSAgICAg
ICAgKGdlbmVyYXRlQ29kZSk6Ci0gICAgICAgIChnZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKLSAg
ICAgICAgKiBkb20vbWFrZV9leGNlcHRpb25fY29kZV9kZXNjcmlwdGlvbi5wbDoKLSAgICAgICAg
KGRlZmF1bHRJdGVtRmFjdG9yeSk6Ci0gICAgICAgIChnZW5lcmF0ZUNvZGUpOgotCi0yMDExLTEw
LTI4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgotCi0gICAgICAgIEZp
eCBidWlsZHMgd2hpY2ggaGF2ZSBBQ0NFTEVSQVRFRF9DT01QT1NJVElORyBkaXNhYmxlZC4KLQot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6dXBkYXRlWk9yZGVyTGlzdHMpOgotCi0yMDExLTEwLTI4ICBFcmlrIEFydmlk
c3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIExlZ2FjeURlZmF1bHRP
cHRpb25hbEFyZ3VtZW50cyBmbGFnIGZyb20gaW5zcGVjdG9yIElETHMKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzQ4Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgot
Ci0gICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGw6Ci0gICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6Ci0gICAgICAgICogaW5zcGVjdG9y
L0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsOgotCi0yMDExLTEwLTI4ICBKb3NodWEgQmVsbCAgPGpz
YmVsbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgSW5kZXhlZERCOiBEYXRhYmFzZSBtZXRhZGF0
YSBjaGFuZ2VzIHNob3VsZCBiZSB0aWVkIHRvIHRyYW5zYWN0aW9uCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3NAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAgICAgRGF0YWJhc2UgbWV0YWRhdGEgKHRoYXQgaXMsIHRo
ZSB2ZXJzaW9uIHN0cmluZykgd2FzIHJvbGxlZCBiYWNrCi0gICAgICAgIG9uIGFib3J0IGJ5IGFu
IGFib3J0IHRhc2suIElmIHRoZSBhYm9ydCB0YXNrIGRpZG4ndCBydW4gZS5nLgotICAgICAgICBk
dWUgdG8gYSBjcmFzaCwgdGhlIG1ldGFkYXRhIHdvdWxkIG5vdCBiZSByZXZlcnRlZC4gQWxsIG9m
IHRoZQotICAgICAgICBvdGhlciBzdG9yZS9pbmRleC9kYXRhIGNoYW5nZXMgd2VyZSB3cml0dGVu
IGludG8gdGhlIHRyYW5zYWN0aW9uCi0gICAgICAgIGl0c2VsZiwgc28gdGhlIG1ldGFkYXRhIG5v
dyBpcyB0b28uIFJlZmFjdG9yZWQgdGhlIG1ldGFkYXRhCi0gICAgICAgIGdldC9jcmVhdGUvdXBk
YXRlIG1ldGhvZHMgZm9yIGNsYXJpdHkgYXMgd2VsbC4KLQotICAgICAgICBOb3RlIHRoYXQgdGhl
IG5ldyB0ZXN0cyBkb24ndCBhY3R1YWxseSB2ZXJpZnkgdGhhdCB0aGUgY29kZSBoYW5kbGVzCi0g
ICAgICAgIHRoaXMgY2FzZTsgdGhhdCB3aWxsIG5lZWQgdG8gYmUgZG9uZSB3aXRoIHBlcnNpc3Rl
bmNlIHRlc3RzCi0gICAgICAgIHRoYXQgc3BhbiBtdWx0aXBsZSBydW5zIG9mIHRoZSBicm93c2Vy
IGFuZCBpbmR1Y2UgY3Jhc2hlcy4KLSAgICAgICAgVGhlIG5ldyB0ZXN0cyBkbyB2ZXJpZnkgdGhh
dCB0aGVzZSBjaGFuZ2VzIGRvbid0IGNhdXNlIHJlZ3Jlc3Npb25zCi0gICAgICAgIG5vdCBjYXVn
aHQgYnkgb3RoZXIgdGVzdHMuCi0KLSAgICAgICAgVGVzdHM6IHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tZHVyaW5nLXRyYW5zYWN0aW9uLmh0bWwKLSAgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhl
ZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwKLQotICAgICAgICAqIHN0b3JhZ2UvSURCQmFj
a2luZ1N0b3JlLmg6Ci0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNl
QmFja2VuZEltcGwpOgotICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
c2V0VmVyc2lvbkludGVybmFsKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJCYWNraW5n
U3RvcmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Z2V0
SURCRGF0YWJhc2VNZXRhRGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKToKLSAgICAgICAgKFdlYkNvcmU6OklE
QkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlEQkRhdGFiYXNlTWV0YURhdGEpOgotICAgICAg
ICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5oOgotCi0yMDExLTEwLTI4ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgVXNlIGVu
dW0gaW5zdGVhZCBvZiBib29sIHRvIHJlcHJlc2VudCAtd2Via2l0LWNvbHVtbi1zcGFuIHByb3Bl
cnR5LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4
NjcKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRp
dmVWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3Ig
Q29sdW1uU3Bhbik6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6Ci0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpjcmVhdGVBbm9ueW1vdXNDb2x1bW5TcGFuQmxvY2spOgotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpwcm9wYWdh
dGVTdHlsZVRvQW5vbnltb3VzQ2hpbGRyZW4pOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oOgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNvbHVtblNw
YW4pOgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldENvbHVtblNwYW4pOgot
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxDb2x1bW5TcGFuKToKLSAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKLSAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuaDoKLQotMjAxMS0xMC0yOCAgTWFy
ayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgotCi0gICAgICAgIERlLXZpcnR1
YWxpemUgaXNHbG9iYWxPYmplY3QsIGlzVmFyaWFibGVPYmplY3QsIGlzQWN0aXZhdGlvbk9iamVj
dCwgYW5kIGlzRXJyb3JJbnN0YW5jZSBpbiBKU09iamVjdAotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NjgKLQotICAgICAgICBSZXZpZXdlZCBieSBH
ZW9mZnJleSBHYXJlbi4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOiBDaGFuZ2VkIEpTVHlwZSBwcm92aWRlZCB0byBU
eXBlSW5mbyBpbiBjcmVhdGVTdHJ1Y3R1cmUgc2luY2UgdGhpcyAKLSAgICAgICAgY2xhc3MgaW5o
ZXJpdHMgZnJvbSBKU0dsb2JhbE9iamVjdC4gCi0gICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2Jh
bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuaDogRGl0dG8KLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6Y3Jl
YXRlU3RydWN0dXJlKToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNl
Lmg6IERpdHRvCi0gICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckNvbnRleHRCYXNlOjpjcmVhdGVT
dHJ1Y3R1cmUpOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
OiBBZGRlZCBleHRyYSBjaGVjayB0byBtYWtlIHN1cmUgc3ViY2xhc3NlcyBvZiBKU0dsb2JhbE9i
amVjdCwKLSAgICAgICAgbmFtZWx5IEpTRE9NV2luZG93IGFuZCBKU1dvcmtlckNvbnRleHQsIGdl
dCB0aGVpciBzcGVjaWFsIEpTVHlwZSBpbiB0aGVpciBjcmVhdGVTdHJ1Y3R1cmUgZnVuY3Rpb24u
Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0KLTIwMTEtMTAtMjggIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgotCi0gICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI5ODczNi4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
OTg3MzYKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTI1Ci0KLSAgICAgICAgVGhpcyBwYXRjaCBicm9rZSBwZXJmL2FycmF5LWJpbmFyeS1zZWFyY2gu
aHRtbCB0ZXN0IChSZXF1ZXN0ZWQKLSAgICAgICAgYnkgYW5uYWNjIG9uICN3ZWJraXQpLgotCi0g
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmxvYWRUZXh0VHJhY2tzKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmFkZFRyYWNrKToKLSAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKLSAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyYWNrRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJhY2tFbGVtZW50Ojp3aWxsUmVtb3ZlKToKLSAgICAgICAgKiBodG1sL0hUTUxUcmFj
a0VsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29tcGxldGVkKToKLQot
MjAxMS0xMC0yOCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KLQot
ICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb246OnJlY2FsY0NlbGxzIHNob3VsZCBub3QgZnJlZSBp
dHMgZ3JpZAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEwNTYKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBSZWZh
Y3RvcmluZyBvbmx5LCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgcjk4NjE0IGhh
ZCB0aGUgYmFkIHNpZGUgZWZmZWN0IG9mIGNsZWFyaW5nIHRoZSByb3cgdmVjdG9yIChtX2dyaWQp
IG9uCi0gICAgICAgIHRoZSBSZW5kZXJUYWJsZVNlY3Rpb24gd2hlbiBkb2luZyBhIHJlY2FsY0Nl
bGxzLiBUaGlzIGNoYW5nZSByZW1vdmVzIHRoZQotICAgICAgICB1bm5lZWRlZCBmcmVlIGFuZCBp
bmxpbmUgdGhlIHxyb3d8IGZpZWxkIGludG8gdGhlIFJvd1N0cnVjdCBhcyBpdCBtYWRlCi0gICAg
ICAgIG5vIHNlbnNlIHRvIGhhdmUgaXQgYXMgYSBwb2ludGVyLgotCi0gICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpzZXRSb3dMb2dp
Y2FsSGVpZ2h0VG9Sb3dTdHlsZUxvZ2ljYWxIZWlnaHRJZk5vdFJlbGF0aXZlKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6YWRkQ2hpbGQpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFdpZHRocyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0KToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Zmlyc3RMaW5lQm94QmFzZWxpbmUpOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjphcHBlbmRDb2x1bW4pOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpzcGxpdENvbHVtbik6Ci0gICAgICAg
IE1lY2hhbmljYWwgY2hhbmdlcyBub3cgdGhhdCB8cm93fCBpcyBhIG1lbWJlciBvZiBSb3dTdHJ1
Y3QuCi0KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6flJlbmRlclRhYmxl
U2VjdGlvbik6IENsZWFyIG91ciByb3cgdmVjdG9yLgotCi0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZVNlY3Rpb246OmVuc3VyZVJvd3MpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGVTZWN0aW9uOjpyZWNhbGNDZWxscyk6Ci0gICAgICAgIFRob3NlIDIgZnVuY3Rpb25zIHdlcmUg
cmVmYWN0b3JlZCB0byB1c2UgZmlsbFJvd3NXaXRoRGVmYXVsdFN0YXJ0aW5nQXRQb3NpdGlvbi4K
LQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpmaWxsUm93c1dpdGhEZWZh
dWx0U3RhcnRpbmdBdFBvc2l0aW9uKToKLSAgICAgICAgRmFjdG9yZWQgdGhlIGNvZGUgdG8gZmls
bCB0aGUgUm93U3RydWN0IHN0cnVjdHVyZSB3aXRoIGRlZmF1bHQgdmFsdWVzLgotCi0gICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGFibGVTZWN0aW9uOjpjZWxsQXQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpwcmltYXJ5Q2VsbEF0KToKLSAgICAgICAgTW9yZSBtZWNoYW5pY2FsIGNoYW5nZSBh
ZnRlciB0aGUgfHJvd3wgZmllbGQgY2hhbmdlLgotCi0yMDExLTEwLTI4ICBBbm5hIENhdmVuZGVy
ICA8YW5uYWNjQGNocm9taXVtLm9yZz4KLQotICAgICAgICBJbXBsZW1lbnQgbG9hZCBub3RpZmlj
YXRpb24gYW5kIGV2ZW50cyBmb3IgPHRyYWNrPi4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDU0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBD
YXJsc29uLgotCi0gICAgICAgIFRlc3RzOiBtZWRpYS90cmFjay90cmFjay1sb2FkLWVycm9yLXJl
YWR5U3RhdGUuaHRtbAotICAgICAgICAgICAgICAgbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9t
LWVsZW1lbnQtcmVhZHlTdGF0ZS5odG1sCi0gICAgICAgICAgICAgICBtZWRpYS90cmFjay90cmFj
ay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbAotCi0gICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRU
ZXh0VHJhY2tzKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWROZXh0
VGV4dFRyYWNrKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrV2Fz
QWRkZWQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dHJhY2tXaWxsQmVS
ZW1vdmVkKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRyYWNrU291cmNl
Q2hhbmdlZCk6Ci0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6Ci0gICAgICAgICog
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0Vs
ZW1lbnQ6Omluc2VydGVkSW50b1RyZWUpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxl
bWVudDo6d2lsbFJlbW92ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojpw
YXJzZU1hcHBlZEF0dHJpYnV0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
OjphdHRyaWJ1dGVDaGFuZ2VkKToKLSAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuaDoK
LSAgICAgICAgKiBodG1sL0xvYWRhYmxlVGV4dFRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkxvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5nQ29tcGxldGVkKToKLQotMjAxMS0xMC0yOCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KLQotICAgICAgICBUaGUgSFRN
TDUgdmlkZW8gZWxlbWVudCBpbiBTYWZhcmkgZG9lcyBub3QgcmVzcGVjdCAidmlzaWJpbGl0eTpo
aWRkZW4iIENTUyBwcm9wZXJ0eQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mzg4MjkKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4K
LSAgICAgICAgCi0gICAgICAgIE1ha2UgY29tcG9zaXRpbmcgYW5kIENTUyB2aXNpYmlsaXR5IHBs
YXkgbmljZWx5IHRvZ2V0aGVyLgotICAgICAgICAKLSAgICAgICAgVGhlIG1haW4gaXNzdWUgd2Fz
IHRoYXQgYW4gb2xkIG9wdGltaXphdGlvbiAoc2VlIGJ1ZyA0Mzc3KSBjYXVzZWQKLSAgICAgICAg
dmlzaWJpbGl0eTpoaWRkZW4gbGF5ZXJzIHRvIG5vdCBhcHBlYXIgaW4gdGhlIHotb3JkZXIgbGlz
dHMsIGJ1dCB0aG9zZQotICAgICAgICBsYXllcnMgY291bGQgc3RpbGwgYmVjb21lIGNvbXBvc2l0
ZWQsIGJ1dCB3b3VsZCByZW1haW4gZGV0YWNoZWQuIEluIGFkZGl0aW9uLAotICAgICAgICBjb21w
b3NpdGVkIGxheWVycyB3aGljaCB3ZXJlIHZpc2liaWxpdHk6aGlkZGVuIHdvdWxkIGJlY29tZSB2
aXNpYmxlIHNvbWV0aW1lcy4KLSAgICAgICAgCi0gICAgICAgIFdpdGggdGhpcyBmaXgsIHRoZSB6
LW9yZGVyIGxpc3RzIGFsd2F5cyBjb250YWluIGFsbCBsYXllcnMgd2hlbiB0aGUgcGFnZQotICAg
ICAgICBpcyBpbiBjb21wb3NpdGluZyBtb2RlLiBHcmFwaGljc0xheWVyIGlzIGNoYW5nZWQgdG8g
ZW5zdXJlIHRoYXQgdmlzaWJpbGl0eTpoaWRkZW4KLSAgICAgICAgbGF5ZXJzIHNob3cgbm8gY29u
dGVudCwgYW5kIHZpc2libGUgZGVzY2VuZGFudHMgb2YgaGlkZGVuIGxheWVycyB3b3JrIGNvcnJl
Y3RseS4KLQotICAgICAgICBUZXN0czogY29tcG9zaXRpbmcvdmlzaWJpbGl0eS92aXNpYmlsaXR5
LWNvbXBvc2l0ZWQtdHJhbnNmb3Jtcy5odG1sCi0gICAgICAgICAgICAgICBjb21wb3NpdGluZy92
aXNpYmlsaXR5L3Zpc2liaWxpdHktY29tcG9zaXRlZC5odG1sCi0gICAgICAgICAgICAgICBjb21w
b3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktaW1hZ2UtbGF5ZXJzLWR5bmFtaWMuaHRtbAot
ICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvdmlzaWJpbGl0eS92aXNpYmlsaXR5LWltYWdlLWxh
eWVycy5odG1sCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OkdyYXBoaWNzTGF5ZXIpOiBJbml0
IG1fY29udGVudHNWaXNpYmxlIHRvIHRydWUuCi0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpkdW1wUHJvcGVydGllcyk6IER1bXAgbV9jb250ZW50c1Zpc2libGUgaWYgbm90IHRydWUu
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgotICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Y29udGVudHNBcmVWaXNpYmxlKTogR2V0dGVyIGZvciBt
X2NvbnRlbnRzVmlzaWJsZS4KLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldENv
bnRlbnRzVmlzaWJsZSk6IFNldHRlciBmb3IgbV9jb250ZW50c1Zpc2libGUuCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNWaXNpYmxlKTogT3ZlcnJpZGUgc2V0Q29u
dGVudHNWaXNpYmxlLgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjb21taXRM
YXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMpOiBIYW5kbGUgQ29udGVudHNWaXNpYmlsaXR5Q2hh
bmdlZAotICAgICAgICBmbGFnCi0gICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnVw
ZGF0ZVN1YmxheWVyTGlzdCk6IE9ubHkgcGFyZW50IHRoZSBtX2NvbnRlbnRzTGF5ZXIgaWYgdGhl
IGxheWVyCi0gICAgICAgIGhhcyB2aXNpYmxlIGNvbnRlbnRzLgotICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c1Zpc2liaWxpdHkpOiBGb3IgYml0cyBwYWlu
dGVkIGludG8gdGhlIGxheWVyIGl0c2VsZiwKLSAgICAgICAgd2UgaGlkZSBpdCBieSBjbGVhcmlu
ZyB0aGUgYmFja2luZyBzdG9yZS4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuaDogUmVtb3ZlZCBvYnNvbGV0ZSBjb21tZW50IG9uIHRoZSBEcmF3c0NvbnRl
bnRDaGFuZ2VkIGZsYWcsCi0gICAgICAgIGFkZGVkIENvbnRlbnRzVmlzaWJpbGl0eUNoYW5nZWQg
ZmxhZy4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVpPcmRlckxpc3RzKTogSWYgd2UncmUgaW4gY29tcG9z
aXRpbmcgbW9kZSwgaW5jbHVkZSBhbGwgbGF5ZXJzCi0gICAgICAgIGluIHRoZSB6LW9yZGVyIGxp
c3RzLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNvbGxlY3RMYXllcnMpOiBOZXcg
cGFyYW0gdG8gc3BlY2lmeSB3aGV0aGVyIHdlIG5lZWQgdG8gY29sbGVjdCBhbGwgbGF5ZXJzLgot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6Omhhc1Zpc2libGVEZXNjZW5kYW50KTogQWRkIGNvbW1lbnQgYWJvdXQgdGhlIG5l
ZWQgZm9yIGFuIGFzc2VydGlvbiBpbiBoYXNWaXNpYmxlQ29udGVudCgpCi0gICAgICAgICwgYW5k
IGFzc2VydGlvbiBpbiBoYXNWaXNpYmxlRGVzY2VuZGFudCgpLgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOiBDYWxsIHNldENvbnRlbnRzVmlz
aWJsZSgpIG9uIHRoZSBHcmFwaGljc0xheWVyLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJCYWNraW5nOjppc1NpbXBsZUNvbnRhaW5lckNvbXBvc2l0aW5nTGF5ZXIpOiBXZSBjYW4gdXNl
IHNpbXBsZSBjb250YWluZXIgbGF5ZXJzIGluIGNhc2VzCi0gICAgICAgIHdoZXJlIHZpc2liaWxp
dHk6aGlkZGVuIGNhdXNlcyBsYXllciBjb250ZW50IHRvIG5vdCBiZSBkcmF3bi4KLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6aGFzVmlzaWJsZU5vbkNvbXBvc2l0aW5nRGVz
Y2VuZGFudHMpOiBSZW5hbWVkIGZyb20gaGFzTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cygpCi0g
ICAgICAgIGJlY2F1c2UgaXQgbm93IGFsc28gbG9va3MgYXQgdmlzaWJpbGl0eSB0byBkZWNpZGUg
d2hlbiB0aGluZ3MgYXJlIHZpc2libGUuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5oOiBoYXNOb25Db21wb3NpdGluZ0Rlc2NlbmRhbnRzKCkgcmVuYW1lZCB0byBoYXNW
aXNpYmxlTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cygpLgotCi0yMDExLTEwLTIyICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KLQotICAgICAgICBbR1RLXSBCdWlsZCBm
aXhlcyBmb3IgZ2xpYiAyLjMxIChjdXJyZW50IG1hc3RlcikKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjc5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
TWFydGluIFJvYmluc29uLgotCi0gICAgICAgIGdfY29uZF9uZXcgYW5kIGdfbXV0ZXhfbmV3IGhh
dmUgYmVlbiByZXBsYWNlZCBieSBfaW5pdAotICAgICAgICBmdW5jdGlvbnMuIFNhbWUgZm9yIF9m
cmVlLCByZXBsYWNlZCBieSBfY2xlYXIuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKLSAgICAgICAgKHdlYmtpdF92aWRlb19z
aW5rX2luaXQpOgotICAgICAgICAod2Via2l0X3ZpZGVvX3NpbmtfZGlzcG9zZSk6Ci0KLTIwMTEt
MTAtMjggIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
UmVuYW1lIGEgbnVtYmVyIG9mIG1ldGhvZHMgbWVudGlvbmluZyBKYXZhU2NyaXB0IHRvIGp1c3Qg
U2NyaXB0IGluc3RlYWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMTA1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOgotICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJC
YXNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVT
Y3JpcHRzKToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlY4UHJveHk6OmhhbmRsZU91dE9mTWVtb3J5KToKLSAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50Ojph
bGxvd1NjcmlwdCk6Ci0gICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0
KToKLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNldHRp
bmdzOjpTZXR0aW5ncyk6Ci0gICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2NyaXB0RW5h
YmxlZCk6Ci0gICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgotICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OmlzU2NyaXB0RW5hYmxlZCk6Ci0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6Ci0KLTIwMTEt
MTAtMjggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIFJl
c2V0IGxpbmUgbnVtYmVycyBmb3Igc2NyaXB0cyBnZW5lcmF0ZWQgd2l0aCBkb2N1bWVudC53cml0
ZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDk5
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAgICBUZXN0
OiBodHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2RvY3VtZW50LXdyaXRlLmh0bWwKLQotICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzSW5E
b2N1bWVudFdyaXRlKToKLSAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpwcmVwYXJlU2NyaXB0KToKLQotMjAxMS0xMC0yOCAg
QWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgTWFjIGJ1aWxkIGZpeCBh
ZnRlciByOTg3MTEKLQotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogTWFyayBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uaCBwcml2YXRlIHNvIFdlYktpdCBjYW4K
LSAgICAgICAgZmluZCBpdC4KLQotMjAxMS0xMC0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+Ci0KLSAgICAgICAgW0Nocm9taXVtXSBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5n
cy1yZW5kZXJpbmcuaHRtbCBoYXMgaW5jb3JyZWN0IGltYWdlIHJlc3VsdCBhZnRlciByOTg1NDIK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDE5Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KLSAgICAgICAgCi0gICAgICAgIFRo
ZXNlIHByb3BlcnRpZXMgbmVlZCB0byBiZSBtYXJrZWQgaW5oZXJpdGVkIHRvby4KLSAgICAgICAg
Ci0gICAgICAgIE5vdGUgdGhhdCB0aGUgbmV3IHRlc3QgY2FzZSBkb2Vzbid0IGZhaWwgZXZlbiB3
aXRob3V0IHRoZSBwYXRjaC4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseQotICAgICAgICB0aGUg
aW1hZ2UgdGVzdCBpbiB0aGUgdGl0bGUgaXMgcHJldHR5IG11Y2ggdGhlIG9ubHkgd2F5IHRvIHNl
ZSB0aGlzLiBIb3dldmVyIHRoZQotICAgICAgICBuZXcgdGVzdCBpbXByb3ZlcyBjb2RlIGNvdmVy
YWdlIGFuZCBwcm90ZWN0cyBhZ2FpbnN0IGZ1dHVyZSByZWdyZXNzaW9ucy4KLQotICAgICAgICBU
ZXN0OiBmYXN0L2Nzcy9pbmhlcml0ZWQtcHJvcGVydGllcy1yYXJlLXRleHQuaHRtbAotCi0gICAg
ICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
Ojppc0luaGVyaXRlZFByb3BlcnR5KToKLQotMjAxMS0xMC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgotCi0gICAgICAgIFJlbW92ZSBnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRp
b24oKQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEx
MDMKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBUaGlzIGZ1
bmN0aW9uIHNlcnZlcyBubyBwdXJwb3NlLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlvbik6Ci0gICAgICAg
ICogYmluZGluZ3Mvb2JqYy9FeGNlcHRpb25IYW5kbGVycy5tbToKLSAgICAgICAgKFdlYkNvcmU6
OnJhaXNlRE9NRXhjZXB0aW9uKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JHT2JqZWN0LnBtOgotICAgICAgICAoKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKLSAgICAgICAgKHdlYmtpdF9kb21f
dGVzdF9vYmpfbWV0aG9kX3RoYXRfcmVxdWlyZXNfYWxsX2FyZ3NfYW5kX3Rocm93cyk6Ci0gICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4Y2VwdGlvbik6Ci0gICAgICAg
ICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9uKToK
LSAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqX2V4Y2Vw
dGlvbik6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZ2V0dGVy
X2V4Y2VwdGlvbik6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhf
Z2V0dGVyX2V4Y2VwdGlvbik6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRy
X3dpdGhfc2V0dGVyX2V4Y2VwdGlvbik6Ci0gICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF9zdHJpbmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24pOgotICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKToKLSAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbik6Ci0gICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuY3BwOgotICAg
ICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmg6Ci0KLTIwMTEtMTAtMTkgIEFsZXhhbmRlciBQYXZs
b3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBDU1Mg
YmFja2dyb3VuZC1pbWFnZSBhcHBsaWVkIGlubGluZSBzaG93cyBhIHdhcm5pbmcsIGJ1dCBzdGls
bCB3b3Jrcy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMzI1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAg
VGhpcyBjaGFuZ2UgZWxpbWluYXRlcyB0aGUgIm5vbi1wYXJzZWQgcHJvcGVydHkiIHdhcm5pbmcg
ZGlzcGxheWVkIG5leHQgdG8gYW55Ci0gICAgICAgICJiYWNrZ3JvdW5kLWltYWdlIiBwcm9wZXJ0
eSBvZiBhbiBlbGVtZW50J3MgaW5saW5lIHN0eWxlLgotCi0gICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb24pOgot
ICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVTaGVldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHlsZTo6c2V0UHJv
cGVydHlUZXh0KToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxp
bmVTdHlsZTo6Z2V0U3R5bGVBdHRyaWJ1dGVSYW5nZXMpOgotCi0yMDExLTEwLTI4ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQXR0ZW1wdCB0byBmaXhlbmF0ZSBR
dC4KLQotICAgICAgICAqIENvZGVHZW5lcmF0b3JzLnByaToKLSAgICAgICAgKiBkb20vbWFrZV9l
dmVudF9mYWN0b3J5LnBsOgotICAgICAgICAodG9NYWNyb1N0eWxlKToKLQotMjAxMS0xMC0yOCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEV4Y2VwdGlvbkNvZGUu
Y3BwIHNob3VsZG4ndCBuZWVkIHRvIGtub3cgYWJvdXQgZXZlcnkgZmVhdHVyZSB0aGF0IHRocm93
cyBleGNlcHRpb25zCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MDg5MAotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAg
IEdlbmVyYXRlIHRoZSBmZWF0dXJlLXNwZWNpZmljIHBhcnRzIG9mIEV4Y2VwdGlvbkNvZGUuY3Bw
IGZyb20gYSAiLmluIgotICAgICAgICBmaWxlLiAgVGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzdGVw
IHRvd2FyZHMgaW5saW5pbmcKLSAgICAgICAgZ2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uIGlu
dG8gaXRzIGNhbGxlcnMgYW5kIHJlcGxhY2luZyB0aGUgc3dpdGNoCi0gICAgICAgIHN0YXRlbWVu
dHMgYXQgdGhvc2UgbG9jYXRpb25zIHdpdGggYXV0b2dlbmVyYXRlZCBjb2RlLgotCi0gICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6Ci0gICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgotICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Ci0gICAgICAgICogR05VbWFrZWZpbGUuYW06Ci0gICAg
ICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cDoKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9tYWtlbmFtZXMucHk6
Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6c2V0RE9NRXhjZXB0aW9uKToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnNldERPTUV4Y2VwdGlvbik6Ci0gICAgICAgICog
ZG9tL0RPTUNvcmVFeGNlcHRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6RE9NQ29yZUV4Y2Vw
dGlvbjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKLSAgICAgICAgKiBkb20vRXhjZXB0aW9uQ29k
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24pOgot
ICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmg6Ci0gICAgICAgICogZG9tL0V4Y2VwdGlvbkNv
ZGVEZXNjcmlwdGlvbi5pbjogQWRkZWQuCi0gICAgICAgICogZG9tL21ha2VfZXhjZXB0aW9uX2Nv
ZGVfZGVzY3JpcHRpb24ucGw6IEFkZGVkLgotICAgICAgICAoZGVmYXVsdEl0ZW1GYWN0b3J5KToK
LSAgICAgICAgKGdlbmVyYXRlQ29kZSk6Ci0gICAgICAgIChnZW5lcmF0ZUhlYWRlcik6Ci0gICAg
ICAgIChnZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKLQotMjAxMS0xMC0yOCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYWxs
U3RhY2tTaWRlYmFyUGFuZSBzaG91bGQgcmVtb3ZlIGRpc2NhcmRlZCBQbGFjYXJkcyBmcm9tIFJh
d1NvdXJjZUNvZGUgbGlzdGVuZXJzIGxpc3QKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwOTk2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KLQotICAgICAgICBUZXN0OiBpbnNwZWN0b3IvZGVidWdnZXIvY2FsbHN0YWNrLXBsYWNh
cmRzLWRpc2NhcmRlZC5odG1sCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxT
dGFja1NpZGViYXJQYW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGVi
YXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5jcmVhdGVQbGFjYXJkKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkNhbGxGcmFtZVBsYWNhcmQp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuQ2FsbEZy
YW1lUGxhY2FyZC5wcm90b3R5cGUuZGlzY2FyZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5DYWxsRnJhbWVQbGFjYXJkLnByb3RvdHlwZS5fdXBkYXRl
KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1BsYWNhcmQuanM6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuUGxhY2FyZC5wcm90b3R5cGUudG9nZ2xlU2VsZWN0ZWQpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlBsYWNhcmQucHJvdG90eXBlLmRpc2NhcmQpOgotCi0yMDExLTEwLTI4ICBK
b2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEFkZCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UgY2FsbGJhY2sgdG8gRnJhbWVMb2FkZXJDbGllbnQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDEzCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgotCi0gICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9t
aXVtL3Blcm1pc3Npb25jbGllbnQvc2NyaXB0LXBlcm1pc3Npb25zLmh0bWwKLQotICAgICAgICAq
IGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnQ6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSk6Ci0gICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKLQotMjAxMS0xMC0yNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgotCi0gICAgICAgIFJlZmFjdG9yIG1ha2VfZXZlbnRfZmFjdG9yeS5wbCB0
byB1c2UgSW5GaWxlc0NvbXBpbGVyLnBtCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTA5NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgotCi0gICAgICAgIFRoaXMgcmVmYWN0b3JpbmcgaGVscHMgc2hhcmUgY29kZSB3aXRoCi0gICAg
ICAgIG1ha2VfZXhjZXB0aW9uX2NvZGVfZGVzY3JpcHRpb25zLnBsLCB3aGljaCBpcyBjb21pbmcg
aW4gYSBmdXR1cmUgcGF0Y2guCi0gICAgICAgIEkgaGF2ZSBhIGRyZWFtIG9mIHJlZmFjdG9yaW5n
IG1ha2VfbmFtZXMucGwgdG8gdXNlIHRoaXMgbW9kdWxlIGFzIHdlbGwuCi0KLSAgICAgICAgKiBD
b2RlR2VuZXJhdG9ycy5wcmk6Ci0gICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKLSAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlv
bl9tYWtlbmFtZXMucHk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGls
ZXIucG06IEFkZGVkLgotICAgICAgICAoaXRlbUhhbmRsZXIpOgotICAgICAgICAocGFyYW1ldGVy
SGFuZGxlcik6Ci0gICAgICAgIChuZXcpOgotICAgICAgICAoY29tcGlsZSk6Ci0gICAgICAgIChs
aWNlbnNlKToKLSAgICAgICAgKiBkb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsOgotICAgICAgICAo
ZGVmYXVsdEl0ZW1GYWN0b3J5KToKLSAgICAgICAgKGludGVyZmFjZUZvckV2ZW50KToKLSAgICAg
ICAgKGdlbmVyYXRlQ29kZSk6Ci0gICAgICAgIChwcmludEZhY3RvcnlGaWxlKToKLSAgICAgICAg
KHByaW50TWFjcm9GaWxlKToKLSAgICAgICAgKHByaW50SGVhZGVyc0ZpbGUpOgotCi0yMDExLTEw
LTI2ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1d
IEltcGxlbWVudCBmcmFtZSByYXRlIGNvbnRyb2wgcG9ydGlvbnMgb2YgQ0NTY2hlZHVsZXIKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzEzCi0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5
cGk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGlt
ZVNvdXJjZTo6c2V0QWN0aXZlKToKLSAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVT
b3VyY2U6OnBvc3RUaWNrVGFzayk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1l
U291cmNlOjpvblRpY2spOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpDQ0Rl
bGF5QmFzZWRUaW1lU291cmNlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6On5DQ0RlbGF5QmFzZWRUaW1lU291cmNlKToK
LSAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OnNldENsaWVudCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RnJhbWVSYXRlQ29udHJvbGxlci5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6Q0NGcmFt
ZVJhdGVDb250cm9sbGVyVGltZVNvdXJjZUFkYXB0ZXI6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUaW1lU291cmNlQWRhcHRlcjo6fkNDRnJhbWVSYXRl
Q29udHJvbGxlclRpbWVTb3VyY2VBZGFwdGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNDRnJhbWVS
YXRlQ29udHJvbGxlclRpbWVTb3VyY2VBZGFwdGVyOjpvblRpbWVyVGljayk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXJUaW1lU291cmNlQWRhcHRlcjo6Q0NGcmFtZVJh
dGVDb250cm9sbGVyVGltZVNvdXJjZUFkYXB0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q0NGcmFt
ZVJhdGVDb250cm9sbGVyOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIpOgotICAgICAgICAoV2ViQ29y
ZTo6Q0NGcmFtZVJhdGVDb250cm9sbGVyOjp+Q0NGcmFtZVJhdGVDb250cm9sbGVyKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6b25UaW1lclRpY2spOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NGcmFtZVJhdGVDb250cm9sbGVyOjpkaWRCZWdpbkZyYW1lKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNDRnJhbWVSYXRlQ29udHJvbGxlcjo6ZGlkRmluaXNoRnJhbWUpOgotICAg
ICAgICAoV2ViQ29yZTo6Q0NGcmFtZVJhdGVDb250cm9sbGVyOjpkaWRBYm9ydEFsbFBlbmRpbmdG
cmFtZXMpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVS
YXRlQ29udHJvbGxlci5oOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkNDRnJhbWVSYXRlQ29u
dHJvbGxlckNsaWVudDo6fkNDRnJhbWVSYXRlQ29udHJvbGxlckNsaWVudCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI6OnNldENsaWVudCk6Ci0gICAgICAgIChXZWJD
b3JlOjpDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI6OnNldEFjdGl2ZSk6Ci0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaW1lU291cmNlLmg6IEFkZGVkLgotICAgICAgICAo
V2ViQ29yZTo6Q0NUaW1lU291cmNlQ2xpZW50Ojp+Q0NUaW1lU291cmNlQ2xpZW50KToKLSAgICAg
ICAgKFdlYkNvcmU6OkNDVGltZVNvdXJjZTo6fkNDVGltZVNvdXJjZSk6Ci0KLTIwMTEtMTAtMjcg
IEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIERlcHJlY2F0
ZSBbVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01XcmFwcGVyXSBJREwKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg4Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBJIGludHJvZHVjZWQgW1Y4Q29uc3RydWN0b3JT
ZXRzQWN0aXZlRE9NV3JhcHBlcl0gSURMIGluIGJ1ZyA2NjUzNiwKLSAgICAgICAgYnV0IEkgZm91
bmQgdGhhdCBpdCBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyBbQWN0aXZlRE9NT2JqZWN0XSBJREwu
Ci0gICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBbVjhDb25zdHJ1Y3RvclNldHNBY3RpdmVET01X
cmFwcGVyXSBJREwuCi0KLSAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgotCi0gICAgICAg
IFRlc3RzOiBmYXN0L2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKLSAgICAgICAgICAgICAg
IGZhc3QvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtY29uc3RydWN0b3IuaHRtbAotICAgICAgICAg
ICAgICAgZmFzdC9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1hdHRyaWJ1dGUtbGlzdGVuZXJzLmh0
bWwKLSAgICAgICAgICAgICAgIGZhc3QvZmlsZXMvYmxvYi1zbGljZS10ZXN0Lmh0bWwKLSAgICAg
ICAgICAgICAgIGZhc3QvZmlsZXMvZmlsZS1yZWFkZXItYWJvcnQuaHRtbAotICAgICAgICAgICAg
ICAgdWlfdGVzdHM6V29ya2VyVGVzdC5GTEFLWV9TaGFyZWRXb3JrZXJGYXN0Q29uc3RydWN0b3IK
LSAgICAgICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfU2hhcmVkV29ya2VyRmFz
dE5hbWUKLSAgICAgICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfV29ya2VyQ29u
c3RydWN0b3IKLSAgICAgICAgICAgICAgIHVpX3Rlc3RzOldvcmtlclRlc3QuRkxBS1lfV29ya2Vy
RXZlbnRMaXN0ZW5lcgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG06IFJlcGxhY2VkICJWOENvbnN0cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXIiIHdpdGgg
IkFjdGl2ZURPTU9iamVjdCIuCi0gICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yQ2FsbGJhY2sp
OgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbDogRGl0
dG8uCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5j
cHA6IFVwZGF0ZWQgYSB0ZXN0IHJlc3VsdC4KLSAgICAgICAgKFdlYkNvcmU6OmlzT2JzZXJ2YWJs
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VPd25lcjo6aXNSZWFjaGFibGVG
cm9tT3BhcXVlUm9vdHMpOgotICAgICAgICAoV2ViQ29yZTo6SlNUZXN0SW50ZXJmYWNlT3duZXI6
OmZpbmFsaXplKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmg6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6d3JhcHBlck93bmVyKToKLSAgICAg
ICAgKFdlYkNvcmU6OndyYXBwZXJDb250ZXh0KToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6IERpdHRvLgotICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Lmg6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
Y3BwOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
Lmg6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOiBEaXR0by4KLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6
IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZh
Y2UuY3BwOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6dG9BY3Rp
dmVET01PYmplY3QpOgotICAgICAgICAoV2ViQ29yZTo6VjhUZXN0SW50ZXJmYWNlOjp3cmFwU2xv
dyk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5o
OiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6ZXhpc3RpbmdXcmFw
cGVyKToKLSAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRsOiBSZW1vdmVkIFtWOENvbnN0
cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXJdIElETC4KLSAgICAgICAgKiBtZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbi5pZGw6IERpdHRvLgotICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaWRs
OiBEaXR0by4KLSAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlci5pZGw6IERpdHRvLgotICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDogRGl0dG8uCi0KLTIwMTEtMTAtMjggIFl1dGEgS2l0
YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmFjZSBjb25kaXRpb24gaW4g
U29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQgd2hlbiBQQUMgc2NyaXB0IGlzIHVzZWQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODk0Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KLQotICAgICAgICBQYXNzIGNhbGxiYWNr
IGZ1bmN0aW9ucyB0aGF0IGNhbGwgcmVmKCkgb3IgZGVyZWYoKSBhcyByZXRhaW4vcmVsZWFzZSBt
ZW1iZXIKLSAgICAgICAgb2YgQ0ZTdHJlYW1DbGllbnRDb250ZXh0LgotCi0gICAgICAgIE5vIG5l
dyB0ZXN0cywgYXMgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHdyaXRlIGEgdGVzdCB3aXRoIFBBQyBz
Y3JpcHQgZW5hYmxlZC4KLQotICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3Ry
ZWFtSGFuZGxlLmg6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1I
YW5kbGVDRk5ldC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnNj
aGVkdWxlU3RyZWFtcyk6Ci0gICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJl
dGFpblNvY2tldFN0cmVhbUhhbmRsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1I
YW5kbGU6OnJlbGVhc2VTb2NrZXRTdHJlYW1IYW5kbGUpOgotICAgICAgICAoV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlOjpwYWNFeGVjdXRpb25DYWxsYmFja01haW5UaHJlYWQpOgotICAgICAg
ICBUaGlzIGNhbGxiYWNrIG1heSBiZSBjYWxsZWQgYWZ0ZXIgcGxhdGZvcm1DbG9zZSgpIGlzIGFs
cmVhZHkgY2FsbGVkLiBXZSBzaG91bGQKLSAgICAgICAgbm90IGNyZWF0ZSBuZXcgc3RyZWFtcyBp
biB0aGlzIGNhc2UuCi0gICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmV4ZWN1
dGVQQUNGaWxlVVJMKToKLSAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cmVh
ZFN0cmVhbUNhbGxiYWNrKToKLSAgICAgICAgVGhpcyBtYW51YWwgcmVmL2RlcmVmIGNhbiBiZSBz
YWZlbHkgcmVtb3ZlZCBhcyBtX3JlYWRTdHJlYW0gaG9sZHMgdGhlIHJlZmVyZW5jZS4KLSAgICAg
ICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6d3JpdGVTdHJlYW1DYWxsYmFjayk6Ci0g
ICAgICAgIERpdHRvLgotCi0yMDExLTEwLTI3ICBBcnRodXIgSHN1ICA8YXJ0aHVyaHN1QGNocm9t
aXVtLm9yZz4KLQotICAgICAgICBSZWxhbmQgcGF0Y2ggZW5zdXJlIGZvbnQgbG9hZCBiZWZvcmUg
Y2FsbGluZyBTa2lhIGR1cmluZyBwcmludGluZwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzOTAKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJv
bWl1bVdpbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhzKToKLSAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250V2luLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OnBhaW50U2tpYVRleHQpOgotCi0yMDExLTEwLTI3ICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIFF0IGJ1aWxkLgotCi0g
ICAgICAgICogV2ViQ29yZS5wcm86Ci0KLTIwMTEtMTAtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgYmluZGluZyB0ZXN0IHJlYmFzZWxpbmUgYWZ0ZXIgcjk4
Njc5LgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29u
c3RydWN0SlNUZXN0SW50ZXJmYWNlKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpq
c1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QpOgotICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgotICAgICAgICAo
V2ViQ29yZTo6c2V0SlNUZXN0T2JqU3RyaW5nQXR0cik6Ci0gICAgICAgIChXZWJDb3JlOjpzZXRK
U1Rlc3RPYmpTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbik6Ci0gICAgICAgIChXZWJDb3Jl
OjpzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbik6Ci0gICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RXaXRoQXJncyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkludE1ldGhvZFdpdGhB
cmdzKToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT2JqTWV0
aG9kV2l0aEFyZ3MpOgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25NZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzKToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRocm93cyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblNlcmlhbGl6ZWRWYWx1
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbklkYktleSk6
Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk9wdGlvbnNPYmpl
Y3QpOgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25DdXN0b21B
cmdzQW5kRXhjZXB0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uV2l0aER5bmFtaWNGcmFtZUFuZEFyZyk6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5hbWljRnJhbWVBbmRPcHRpb25hbEFyZyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhEeW5hbWljRnJhbWVB
bmRVc2VyR2VzdHVyZSk6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbldpdGhEeW5hbWljRnJhbWVBbmRVc2VyR2VzdHVyZUFTQUQpOgotICAgICAgICAoV2ViQ29y
ZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxBcmcpOgotICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoTm9uT3B0
aW9uYWxBcmdBbmRPcHRpb25hbEFyZyk6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJncyk6
Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhO
b25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEpOgotICAgICAgICAoV2ViQ29yZTo6
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kMik6Ci0gICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2QzKToKLSAg
ICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhv
ZDQpOgotICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9h
ZGVkTWV0aG9kNik6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk92ZXJsb2FkZWRNZXRob2Q3KToKLSAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uQ2xhc3NNZXRob2RXaXRoT3B0aW9uYWwpOgotCi0yMDExLTEwLTI3ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgTW92ZSB0eXBlLXNwZWNpZmljIGV4
Y2VwdGlvbiBkZXNjcmlwdGlvbnMgaW50byB0aGUgaW1wbGVtZW50YXRpb24gZmlsZXMgZm9yIGVh
Y2ggdHlwZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEwODEKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBUaGVy
ZSdzIG5vIHJlYXNvbiB0byBjZW50cmFsaXplIHRoaXMgaW5mb3JtYXRpb24uICBJdCBiZWxvbmdz
IHdpdGggZWFjaAotICAgICAgICBleGNlcHRpb24gdHlwZS4gIFRoaXMgcGF0Y2ggaXMgaW4gcHJl
cGFyYXRpb24gZm9yIGF1dG9nZW5lcmF0aW5nIHRoZSBjZW50cmFsIGZpbGUuCi0KLSAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0gICAgICAgICogZG9tL0RPTUNv
cmVFeGNlcHRpb24uY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkRPTUNvcmVFeGNlcHRp
b246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6Ci0gICAgICAgICogZG9tL0RPTUNvcmVFeGNlcHRp
b24uaDoKLSAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaC4KLSAgICAgICAgKFdlYkNv
cmU6OkV2ZW50RXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24pOgotICAgICAgICAqIGRv
bS9FdmVudEV4Y2VwdGlvbi5oOgotICAgICAgICAqIGRvbS9FeGNlcHRpb25CYXNlLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNlOjpjb2RlKToKLSAgICAgICAgKFdlYkNvcmU6OkV4
Y2VwdGlvbkJhc2U6Om5hbWUpOgotICAgICAgICAoV2ViQ29yZTo6RXhjZXB0aW9uQmFzZTo6bWVz
c2FnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpFeGNlcHRpb25CYXNlOjpkZXNjcmlwdGlvbik6Ci0g
ICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Z2V0RXhj
ZXB0aW9uQ29kZURlc2NyaXB0aW9uKToKLSAgICAgICAgKiBkb20vUmFuZ2VFeGNlcHRpb24uY3Bw
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaC4KLSAgICAg
ICAgKFdlYkNvcmU6OlJhbmdlRXhjZXB0aW9uOjppbml0aWFsaXplRGVzY3JpcHRpb24pOgotICAg
ICAgICAqIGRvbS9SYW5nZUV4Y2VwdGlvbi5oOgotICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2Vw
dGlvbi5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6RmlsZUV4Y2VwdGlvbjo6aW5pdGlh
bGl6ZURlc2NyaXB0aW9uKToKLSAgICAgICAgKiBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaDoKLSAg
ICAgICAgKiBmaWxlYXBpL09wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb24uY3BwOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaC4KLSAgICAg
ICAgKFdlYkNvcmU6Ok9wZXJhdGlvbk5vdEFsbG93ZWRFeGNlcHRpb246OmluaXRpYWxpemVEZXNj
cmlwdGlvbik6Ci0gICAgICAgICogZmlsZWFwaS9PcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0aW9u
Lmg6Ci0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHA6IEFkZGVkLgot
ICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlw
dGlvbik6Ci0gICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUV4Y2VwdGlvbi5oOgotICAgICAg
ICAqIHN0b3JhZ2UvU1FMRXhjZXB0aW9uLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpT
UUxFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6Ci0gICAgICAgICogc3RvcmFnZS9T
UUxFeGNlcHRpb24uaDoKLSAgICAgICAgKiBzdmcvU1ZHRXhjZXB0aW9uLmNwcDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmguCi0gICAgICAgIChXZWJDb3Jl
OjpTVkdFeGNlcHRpb246OmluaXRpYWxpemVEZXNjcmlwdGlvbik6Ci0gICAgICAgICogc3ZnL1NW
R0V4Y2VwdGlvbi5oOgotICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5o
LgotICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RFeGNlcHRpb246OmluaXRpYWxpemVE
ZXNjcmlwdGlvbik6Ci0gICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmg6Ci0g
ICAgICAgICogeG1sL1hQYXRoRXhjZXB0aW9uLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmguCi0gICAgICAgIChXZWJDb3JlOjpYUGF0aEV4Y2VwdGlv
bjo6aW5pdGlhbGl6ZURlc2NyaXB0aW9uKToKLSAgICAgICAgKiB4bWwvWFBhdGhFeGNlcHRpb24u
aDoKLQotMjAxMS0xMC0yNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgR2VuZXJhdGUgV2ViS2l0Q1NTTWF0cml4IGNvbnN0cnVjdG9yIGZvciBKU0MgYnkg
W0NvbnN0cnVjdG9yXSBJREwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwMjE1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAg
ICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgW09wdGlvbmFsPUNhbGxXaXRoTnVsbFZhbHVlXSBJ
REwgZm9yIEpTQy4KLSAgICAgICAgV2hpbGUgYSBwYXJhbWV0ZXIgc3BlY2lmaWVkIGFzIFtPcHRp
b25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gaXMKLSAgICAgICAgaGFuZGxlZCBhcyBhIHN0cmlu
ZyAidW5kZWZpbmVkIiwgYSBwYXJhbWV0ZXIgc3BlY2lmaWVkIGFzCi0gICAgICAgIFtPcHRpb25h
bD1DYWxsV2l0aE51bGxWYWx1ZV0gaXMgaGFuZGxlZCBhcyBhIG51bGwgc3RyaW5nLgotICAgICAg
ICAoTm90ZTogbm90IGEgc3RyaW5nICJudWxsIiwgYnV0IGEgbnVsbCBzdHJpbmcpLgotCi0gICAg
ICAgIGMuZi4gW09wdGlvbmFsPUNhbGxXaXRoTnVsbFZhbHVlXSBpcyBpbXBsZW1lbnRlZCBpbiBW
OCBpbiBidWcgNjc0NTguCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvZG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMuaHRtbAotICAgICAgICAgICAgICAgdHJhbnNmb3Jtcy9zdmctdnMtY3NzLnhodG1sCi0g
ICAgICAgICAgICAgICB0cmFuc2Zvcm1zL2Nzc21hdHJpeC0yZC1pbnRlcmZhY2UueGh0bWwKLSAg
ICAgICAgICAgICAgIHRyYW5zZm9ybXMvY3NzbWF0cml4LTNkLWludGVyZmFjZS54aHRtbAotCi0g
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogUmVtb3ZlZCBKU1dlYktpdENTU01hdHJpeEN1
c3RvbS5jcHAuCi0gICAgICAgICogVXNlSlNDLmNtYWtlOiBEaXR0by4KLSAgICAgICAgKiBXZWJD
b3JlLmd5cGk6IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KLSAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgotICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6IERpdHRvLgotICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oOiBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihleGVjLCBpbmRl
eCwgcG9saWN5KSByZXR1cm5zIHRoZSBpbmRleC10aCBwYXJhbWV0ZXIsIGlmIHRoZSBwYXJhbWV0
ZXIgZXhpc3RzLiBJdCByZXR1cm5zIGFuIHVuZGVmaW5lZCB2YWx1ZSwgaWYgdGhlIGluZGV4LXRo
IHBhcmFtZXRlciBpcyBtaXNzaW5nIGFuZCB0aGUgcG9saWN5IGlzIE1pc3NpbmdJc1VuZGVmaW5l
ZC4gSXQgcmV0dXJucyBhbiBlbXB0eSB2YWx1ZSwgb3RoZXJ3aXNlIChpLmUuIGlmIHRoZSBpbmRl
eC10aCBwYXJhbWV0ZXIgaXMgbWlzc2luZyBhbmQgdGhlIHBvbGljeSBpcyBNaXNzaW5nSXNFbXB0
eSkuCi0gICAgICAgICogYmluZGluZ3MvanMvSlNXZWJLaXRDU1NNYXRyaXhDdXN0b20uY3BwOiBS
ZW1vdmVkLgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgot
ICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2spOiBTdXBwb3J0ZWQgW09wdGlvbmFsPUNh
bGxXaXRoTnVsbFZhbHVlXS4KLSAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9u
KTogU3VwcG9ydGVkIFtPcHRpb25hbD1DYWxsV2l0aE51bGxWYWx1ZV0uCi0gICAgICAgICogY3Nz
L1dlYktpdENTU01hdHJpeC5pZGw6IFJlbW92ZWQgW0pTQ3VzdG9tQ29uc3RydWN0b3JdLgotCi0y
MDExLTEwLTI3ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgotCi0g
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCBtX3JvdyBhbmQgbV9jb2x1bW4gc2hvdWxkIG5vdCBiZSBz
aWduZWQgdmFsdWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MDM2OQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAg
IE5vIG5ldyB0ZXN0cywgcmVmYWN0b3Jpbmcgb25seS4KLQotICAgICAgICBUaGUgZ2lzdCBvZiB0
aGUgY2hhbmdlIGlzIHRvIHVwZGF0ZSByb3cgLyBjb2x1bW4gaGFuZGxpbmcgaW4gdGhlIHRhYmxl
J3MKLSAgICAgICAgcmVuZGVyaW5nIGNvZGUgdG8gdXNlIHVuc2lnbmVkIHZhbHVlcy4gTm90IGFs
bCB0aGUgY29kZSBpcyBzd2l0Y2hlZCBvdmVyCi0gICAgICAgIHRvIHVuc2lnbmVkIGJ1dCB0aGlz
IGlzIGEgZ29vZCBzdGFydC4KLQotICAgICAgICBVc2luZyB1bnNpZ25lZCBtYWtlcyBhIGxvdCBt
b3JlIHNlbnNlIHRoYXQgYWxsb3dpbmcgc29tZSBuZWdhdGl2ZSBpbmRleGVzCi0gICAgICAgIHRv
IGNyZWVwIGluIHRoZSBhbGdvcml0aG1zLiBBbHNvIGl0IGVuYWJsZXMgdXMgdG8gImZyZWUiIHRo
ZSB1bnVzZWQgc2lnbmVkCi0gICAgICAgIGJpdCBvbiB0aGUgMiBSZW5kZXJUYWJsZUNlbGwgZmll
bGRzIHRoYXQgY2FuIGJlIHVzZWQgdG8gcGFjayAyIGJpdHMgaW4gYQotICAgICAgICBmb2xsb3ct
dXAgcGF0Y2guCi0KLSAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGU6OmNlbGxGb3JDb2x1bW5B
bmRSb3cpOgotICAgICAgICBSZW1vdmVkIDIgY2FzdHMgdG8gaW50IGFzIHRoZSBsZWZ0IHNpZGUg
bm93IGNvbXB1dGVzIHRvIGFuIHVuc2lnbmVkIHRvby4KLSAgICAgICAgQWRkZWQgc29tZSBBU1NF
UlQgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGdldCBuZWdhdGl2ZSB2YWx1ZXMgKGNvbFNwYW4gLyBy
b3dTcGFuCi0gICAgICAgIGFyZSBhbHdheXMgPj0gMSBieSBkZWZpbml0aW9uIGJ1dCBiZXR0ZXIg
dG8gYmUgc2FmZSkuCi0KLSAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZUNvbHVtbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW46
OmhlYWRlck9iamVjdEZvclNlY3Rpb24pOgotICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlQ29sdW1uLmg6Ci0gICAgICAgIFN3aXRjaGVkIG1fY29sdW1uSW5kZXggdG8g
dW5zaWduZWQgdG8gcmVtb3ZlIGFueSBzaWduZWQgLyB1bnNpZ25lZCBjb21wYXJpc29ucy4KLQot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUYWJsZTo6c3BsaXRDb2x1bW4pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6
OmNhbGNCb3JkZXJFbmQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OmNlbGxBYm92
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y2VsbEJlbG93KToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpjZWxsQmVmb3JlKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRhYmxlOjpjZWxsQWZ0ZXIpOgotICAgICAgICBNb3N0bHkgbWVjaGFuaWNhbCBjaGFuZ2Vz
IHRvIGF2b2lkIHNpZ25lZCAvIHVuc2lnbmVkIGNvbXBhcmlzb25zIG9yIGNhc3RzLgotCi0gICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
YWJsZTo6bnVtRWZmQ29scyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29sVG9F
ZmZDb2wpOgotICAgICAgICBVcGRhdGVkIGEgY291cGxlIG9mIGZ1bmN0aW9ucyB0byB1c2UgYW4g
dW5zaWduZWQuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6UmVuZGVyVGFibGVDZWxsKToKLSAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZUNlbGw6OmNvbCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OnNl
dENvbCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OnJvdyk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OnNldFJvdyk6Ci0gICAgICAgIFVwZGF0ZWQgYWZ0
ZXIgc3dpdGNoaW5nIHRoZSBmaWVsZHMgdG8gdW5zaWduZWQuIEFsc28gYWRkZWQgMiBjb25zdGFu
dHMKLSAgICAgICAgdG8gY292ZXIgdGhlIG5vdC1pbml0aWFsaXplZC15ZXQgdmFsdWUgZm9yIHJv
dyBhbmQgY29sdW1uIGluZGV4ZXMuCi0gICAgICAgIE5vdGU6IHdlIGRvbid0IGVuZm9yY2UgdGhh
dCB5b3UgY2FuJ3QgcmVhY2ggdGhvc2UgaW5kZXhlcyBidXQgbmVpdGhlcgotICAgICAgICBkaWQg
dGhlIHByZXZpb3VzIGNvZGUhCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6UmVuZGVyVGFi
bGVTZWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6YWRkQ2hp
bGQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjplbnN1cmVSb3dzKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6c2V0Q2VsbExvZ2ljYWxXaWR0
aHMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNh
bEhlaWdodCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJv
d3MpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3Jk
ZXJTdGFydCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRl
ckJvcmRlckVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnJlY2Fs
Y0NlbGxzKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2xlYXJHcmlk
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bnVtQ29sdW1ucyk6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFwcGVuZENvbHVtbik6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnNwbGl0Q29sdW1uKToKLSAgICAgICAg
TG90cyBvZiBtZWNoYW5pY2FsOiBzaWduZWQgLT4gdW5zaWduZWQgY2hhbmdlcy4gSG93ZXZlciB3
ZSBoYWQKLSAgICAgICAgdG8gY2hhbmdlIHRoZSBsb2dpYyBhIGJpdCBhcyBpdCBhc3N1bWVkIHRo
YXQgbV9jUm93IHN0YXJ0ZWQgYXQKLSAgICAgICAgLTEgYW5kIGluY3JlYXNlZCBmcm9tIHRoZXJl
LiBUaGUgbmV3IG1lYW5pbmcgb2YgbV9jUm93IGlzIHRoZQotICAgICAgICBudW1iZXIgb2Ygcm93
cyBzZWVuIGFuZCBtX2NSb3cgLSAxIGlzIHdoZXJlIHRvIGluc2VydCB5b3VyIG5ldwotICAgICAg
ICBjZWxscy4KLQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjphZGRDZWxs
KToKLSAgICAgICAgQ2hlY2tlZCB0aGUgY2FsbGVycyBhbmQgYWxsIGluY3JlYXNlIG1fY1JvdyBi
ZWZvcmUgY2FsbGluZyB0aGUgZnVuY3Rpb24uCi0gICAgICAgIEFkZGVkIGFuIEFTU0VSVCB0byBj
YXRjaCB1cCB3cm9uZyB1c2FnZSBpbiB0aGUgZnV0dXJlLgotCi0gICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5oOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0
aW9uOjpudW1Sb3dzKTogU3dpdGNoZWQgdG8gdW5zaWduZWQuCi0KLTIwMTEtMTAtMjcgIERhbiBC
ZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KLQotICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAo
bV90ZXh0KSBpbiBSZW5kZXJUZXh0OjpSZW5kZXJUZXh0KCkgYXQgaWNhbmhhc2NoZWV6YnVyZ2Vy
LmNvbQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEw
ODUKLQotICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgotCi0gICAgICAgIFRlc3Q6
IGZhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50L2F0dHItbWlzc2luZy5odG1sCi0KLSAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjphcHBseVByb3BlcnR5KTogSWYgdGhlIGVsZW1lbnQgZG9lcyBub3QgaGF2ZSB0aGUg
YXR0cmlidXRlIHNwZWNpZmllZAotICAgICAgICBpbiB0aGUgYXR0cigpIGZ1bmN0aW9uIGluIHRo
ZSBjb250ZW50IHByb3BlcnR5LCBzZXQgdGhlIGNvbnRlbnQgdG8gdGhlIGVtcHR5IHN0cmluZywg
cGVyCi0gICAgICAgIDxodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9nZW5lcmF0ZS5odG1sI2Nv
bnRlbnQ+LgotCi0yMDExLTEwLTI3ICBIZWxkZXIgQ29ycmVpYSAgPGhlbGRlci5jb3JyZWlhQHBh
bG0uY29tPgotCi0gICAgICAgIFtRdF0gRmFpbHVyZSB0byBidWlsZCB3aGVuIFFUX05PX0NVUlNP
UiBkZWZpbmVkCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTA2MAotCi0gICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgotCi0gICAgICAg
IFBsYXRmb3JtVmlkZW9XaW5kb3dRdCBuZWVkcyB0byB3cmFwIHNvbWUgY29kZSBhcm91bmQgI2lm
bmRlZgotICAgICAgICBRVF9OT19DVVJTT1IgaW4gb3JkZXIgdG8gYnVpbGQgUXRXZWJLaXQgd2hl
biBRVF9OT19DVVJTT1IgaXMgZGVmaW5lZC4KLQotICAgICAgICBCdWlsZCBmaXgsIG5vIG5ldyB0
ZXN0cy4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0Zm9ybVZp
ZGVvV2luZG93UXQuY3BwOgotICAgICAgICAoRnVsbFNjcmVlblZpZGVvV2luZG93OjpGdWxsU2Ny
ZWVuVmlkZW9XaW5kb3cpOgotICAgICAgICAoRnVsbFNjcmVlblZpZGVvV2luZG93OjpjbG9zZUV2
ZW50KToKLSAgICAgICAgKEZ1bGxTY3JlZW5WaWRlb1dpbmRvdzo6aGlkZUN1cnNvcik6Ci0gICAg
ICAgIChGdWxsU2NyZWVuVmlkZW9XaW5kb3c6OnNob3dDdXJzb3IpOgotCi0yMDExLTEwLTI3ICBT
aGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1
bV0gVHJhY2sgd2hlbiBDQ0xheWVySW1wbCBwcm9wZXJ0aWVzIGhhdmUgY2hhbmdlZC4KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgVG8gZGV0ZXJtaW5lIGEg
Z29vZCBzY2lzc29yIHJlY3QsIHdlIG11c3QgZGV0ZXJtaW5lIHdoYXQKLSAgICAgICAgd2lsbCBj
aGFuZ2Ugb24gdGhlIHNjcmVlbiBvbiB0aGUgbmV4dCByZWRyYXcuICBUaGlzIHBhdGNoCi0gICAg
ICAgIHRyYWNrcyB0aGUgbmVjZXNzYXJ5IGluZm9ybWF0aW9uIG9uIENDTGF5ZXJJbXBsIGFuZCBt
YXJrcwotICAgICAgICBhIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgbGF5ZXIgd2lsbCAi
ZGFtYWdlIiB0aGUgc2NyZWVuLgotICAgICAgICBUaGUgb3RoZXIgcG9ydGlvbiBvZiAiY2hhbmdl
IiwgdGhlIHVwZGF0ZVJlY3QsIHdhcyBhbHJlYWR5Ci0gICAgICAgIGxhbmRlZCBpbiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0NDEuCi0KLSAgICAgICAgTmV3IHVu
aXQgdGVzdCBhZGRlZCB0byBDQ0xheWVySW1wbFRlc3QgdG8gdGVzdCB0aGlzIHBhdGNoLgotCi0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OkNDTGF5ZXJJbXBsKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpzY3JvbGxCeSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
SW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yU3VidHJlZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpDQ0xheWVySW1wbDo6bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkRm9yRGVzY2VuZGFudHMp
OgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldEJvdW5kcyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0TWFza0xheWVyKToKLSAgICAgICAgKFdlYkNvcmU6OkND
TGF5ZXJJbXBsOjpzZXRSZXBsaWNhTGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllcklt
cGw6OnNldERyYXdzQ29udGVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0
QW5jaG9yUG9pbnQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldEFuY2hvclBv
aW50Wik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0TWFza3NUb0JvdW5kcyk6
Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhcXVlKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRPcGFjaXR5KToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5
ZXJJbXBsOjpzZXRQb3NpdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0
UHJlc2VydmVzM0QpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldFN1YmxheWVy
VHJhbnNmb3JtKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRUcmFuc2Zvcm0p
OgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldERlYnVnQm9yZGVyQ29sb3IpOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldERlYnVnQm9yZGVyV2lkdGgpOgotICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnNldENvbnRlbnRCb3VuZHMpOgotICAgICAgICAo
V2ViQ29yZTo6Q0NMYXllckltcGw6OnNldFNjcm9sbFBvc2l0aW9uKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJJbXBsOjpzZXRTY3JvbGxEZWx0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVySW1wbDo6c2V0RG91YmxlU2lkZWQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6
bGF5ZXJQcm9wZXJ0eUNoYW5nZWQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllckltcGw6OnJl
c2V0TGF5ZXJQcm9wZXJ0eUNoYW5nZWQpOgotCi0yMDExLTEwLTI3ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+Ci0KLSAgICAgICAgQWRkIGEgUGx1Z2luOjpnZW9tZXRyeURp
ZENoYW5nZSB0aGF0IHdpbGwgd29yayB3aXRoIHRyYW5zZm9ybXMKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDcyCi0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgotCi0gICAgICAgIEV4cG9ydCBzeW1ib2xzIG5lZWRlZCBieSBXZWJL
aXQyLgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0KLTIwMTEtMTAtMjcgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBFeGNlcHRpb24gc3VidHlwZXMgaGF2
ZSBpbmNvcnJlY3QgbmFtZXNwYWNlIGluZGVudGF0aW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NQotCi0gICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggaXMgaW4gcHJlcGFyYXRpb24gZm9yIGVk
aXRpbmcgdGhlc2UgaGVhZGVycy4gIFdlIGRlY2lkZWQgdG8KLSAgICAgICAgbm90IGluZGVudCBu
YW1lc3BhY2VzIGluIGhlYWRlcnMgYW5kIHVwZGF0ZSB0aGUgaGVhZGVycyBhcyB3ZSBlZGl0ZWQK
LSAgICAgICAgdGhlbS4KLQotICAgICAgICAqIGRvbS9ET01Db3JlRXhjZXB0aW9uLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpET01Db3JlRXhjZXB0aW9uOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29y
ZTo6RE9NQ29yZUV4Y2VwdGlvbjo6RE9NQ29yZUV4Y2VwdGlvbik6Ci0gICAgICAgICogZG9tL0V2
ZW50RXhjZXB0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudEV4Y2VwdGlvbjo6Y3JlYXRl
KToKLSAgICAgICAgKFdlYkNvcmU6OkV2ZW50RXhjZXB0aW9uOjpFdmVudEV4Y2VwdGlvbik6Ci0g
ICAgICAgICogZG9tL1JhbmdlRXhjZXB0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSYW5nZUV4
Y2VwdGlvbjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlJhbmdlRXhjZXB0aW9uOjpSYW5n
ZUV4Y2VwdGlvbik6Ci0gICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmg6Ci0g
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbjo6Y3JlYXRlKToKLSAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uOjpYTUxIdHRwUmVxdWVzdEV4Y2Vw
dGlvbik6Ci0gICAgICAgICogeG1sL1hQYXRoRXhjZXB0aW9uLmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpYUGF0aEV4Y2VwdGlvbjo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlhQYXRoRXhjZXB0
aW9uOjpYUGF0aEV4Y2VwdGlvbik6Ci0KLTIwMTEtMTAtMjcgIEtlbm5ldGggUnVzc2VsbCAgPGti
ckBnb29nbGUuY29tPgotCi0gICAgICAgIEltcGxlbWVudCBuZXcgcmVzdHJpY3Rpb25zIG9uIHVu
aWZvcm0gYW5kIGF0dHJpYnV0ZSBsb2NhdGlvbiBsZW5ndGhzCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk4MQotCi0gICAgICAgIFJldmlld2VkIGJ5
IENocmlzIE1hcnJpbi4KLQotICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvd2ViZ2wvYXR0cmli
LWxvY2F0aW9uLWxlbmd0aC1saW1pdHMuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9jYW52YXMv
d2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWwKLQotICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJpbmRBdHRyaWJMb2NhdGlvbik6Ci0gICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEF0dHJpYkxvY2F0aW9uKToKLSAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9ybUxvY2F0aW9uKToKLSAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVMb2NhdGlvbkxl
bmd0aCk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6Ci0K
LTIwMTEtMTAtMjcgIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIEltcGxlbWVudCBzdWJ0cmVlIG9ic2VydmF0aW9u
IG9mIHRyYW5zaWVudGx5IGRpc2Nvbm5lY3RlZCBub2RlcwotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3ODgKLQotICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCi0KLSAgICAgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIG9ic2Vy
dmluZyBhbGwgZGVzY2VuZGFudCBub2RlcyByZWFjaGFibGUgZnJvbSBhIHN1YnRyZWUKLSAgICAg
ICAgb2JzZXJ2YXRpb24gdW50aWwgZGVsaXZlcnkgb2YgbXV0YXRpb25zIC0tIGV2ZW4gaWYgdGhl
eSBiZWNvbWUgZGV0YWNoZWQuIFdlIGRvIHRoaXMgYnkKLSAgICAgICAgaW50cm9kdWNpbmcgYSAi
dHJhbnNpZW50IHJlZ2lzdHJhdGlvbiIgd2hpY2ggY2FuIGV4aXN0IGZvciBhIHNob3J0IHRpbWUg
YWxvbmcgc2lkZQotICAgICAgICBub3JtYWwgcmVnaXN0cmF0aW9ucyBvbiBOb2RlLiBUcmFuc2ll
bnQgcmVnaXN0cmF0aW9ucyBoYXZlIGEgcmVmZXJlbmNlIHRvIHRoZSBub2RlCi0gICAgICAgIHdo
aWNoICJvd25zIiB0aGUgc3VidHJlZSBvYnNlcnZhdGlvbiByZWdpc3RyYXRpb24gKHRoZSAicmVn
aXN0cmF0aW9uTm9kZSIpLiBUcmFuc2llbnQKLSAgICAgICAgcmVnaXN0cmF0aW9ucyBhcmUgY2xl
YXJlZCBpbW1lZGlhdGVseSBiZWZvcmUgbXV0YXRpb25zIGFyZSBkZWxpdmVyZWQgdG8gYW4gb2Jz
ZXJ2ZXIsCi0gICAgICAgIG9yIHdoZW4gdGhlIG9ic2VydmVyIHJlLW9ic2VydmVzIGF0IHRoZSBy
ZWdpc3RyYXRpb25Ob2RlLCBpbi1lZmZlY3QgcmVzZXR0aW5nIHRoZQotICAgICAgICBvYnNlcnZh
dGlvbi4KLQotICAgICAgICBOZXcgdGVzdHMgYWRkZWQgdG8gZmFzdC9tdXRhdGlvbi9vYnNlcnZl
LXN1YnRyZWUuaHRtbC4KLQotICAgICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6OmRpc3BhdGNoTW9kaWZpZWRFdmVudCk6Ci0gICAg
ICAgICogZG9tL0NoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6OkNoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6
OkNoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3IpOgotICAgICAgICAoV2ViQ29yZTo6TXV0YXRp
b25BY2N1bXVsYXRpb25Sb3V0ZXI6OkNoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6OmVucXVl
dWVNdXRhdGlvblJlY29yZCk6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbkFjY3VtdWxhdGlv
blJvdXRlcjo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6OmluY3JlbWVudFNjb3BpbmdMZXZl
bCk6Ci0gICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
ZGlzcGF0Y2hDaGlsZFJlbW92YWxFdmVudHMpOgotICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OmVucXVldWVBdHRyaWJ1dGVzTXV0YXRpb25SZWNvcmQpOgotICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmFkZE1hdGNoaW5nT2JzZXJ2
ZXJzKToKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmdldFJlZ2lzdGVyZWRNdXRhdGlvbk9ic2Vy
dmVyc09mVHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2Jz
ZXJ2ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6dW5yZWdpc3Rlck11dGF0aW9uT2JzZXJ2
ZXIpOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bm90aWZ5U3VidHJlZU9ic2VydmVyc09mRGlz
Y29ubmVjdGlvbik6Ci0gICAgICAgICogZG9tL05vZGUuaDoKLSAgICAgICAgKiBkb20vTm9kZVJh
cmVEYXRhLmg6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyRW50cnk6Ok11dGF0
aW9uT2JzZXJ2ZXJFbnRyeSk6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyRW50
cnk6Om9wZXJhdG9yPT0pOgotICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmUpOgot
ICAgICAgICAoV2ViQ29yZTo6dW5yZWdpc3RlclRyYW5zaWVudEVudHJpZXMpOgotICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlZE5vZGVEZXN0cnVjdGVkKToK
LSAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmVkU3VidHJl
ZVdpbGxEaXNjb25uZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2
ZXI6OmNsZWFyVHJhbnNpZW50RW50cmllcyk6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRh
dGlvbk9ic2VydmVyOjpkZWxpdmVyKToKLSAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oOgotCi0yMDExLTEwLTI3ICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNv
bT4KLQotICAgICAgICBBc2sgQ0cgdG8gbm90IHBhcnNlIGltYWdlIG1ldGFkYXRhCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAyOQotCi0gICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBXZSBkb24ndCBuZWVkIENHIHRv
IHBhcnNlIHRoZSBpbWFnZSBtZXRhZGF0YSBzaW5jZSBXZWJDb3JlIG5ldmVyIHVzZXMgaXQuIFBh
c3NpbmcgdGhpcwotICAgICAgICBvcHRpb24gc2hhdmVzIG9mZiB0aW1lIHNwZW50IHVuZGVyIENH
SW1hZ2VTb3VyY2VDb3B5UHJvcGVydGllc0F0SW5kZXguIFVuZGVyIEluc3RydW1lbnRzIEkKLSAg
ICAgICAgc2F3IHRoZSB0aW1lIGRyb3AgZnJvbSB+NzVtcyB0byB+MjVtcyB3aGVuIGxvYWRpbmcg
aHR0cDovL2Jvc3Rvbi5jb20vYmlncGljdHVyZSBhbmQgdGhlCi0gICAgICAgIGZpcnN0IGxpbmsg
b24gdGhhdCBwYWdlLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSBp
biBmdW5jdGlvbmFsaXR5LgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3Vy
Y2UuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OmltYWdlU291cmNlT3B0aW9ucyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpJbWFnZVNvdXJjZTo6aXNTaXplQXZhaWxhYmxlKToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdl
U291cmNlOjpmcmFtZVNpemVBdEluZGV4KToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNl
OjpnZXRIb3RTcG90KToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpyZXBldGl0aW9u
Q291bnQpOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmNyZWF0ZUZyYW1lQXRJbmRl
eCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJhbWVEdXJhdGlvbkF0SW5kZXgp
OgotCi0yMDExLTEwLTI3ICBEYXZpZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBNb3ZlIGV2ZW50cXVldWUgZnJvbSBEb2N1bWVudCB0byBTY3JpcHRFeGVjdXRpb25D
b250ZXh0IHNvIHRoYXQgaXQgY2FuIGJlIGFjY2Vzc2VkIGZyb20gd29ya2VycwotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3ODkKLQotICAgICAgICBF
eHRyYWN0IGludGVyZmFjZSBmcm9tIEV2ZW50UXVldWUgYW5kIGNyZWF0ZSB0d28gbmV3IHN1YmNs
YXNzZXM6Ci0gICAgICAgIERvY3VtZW50RXZlbnRRdWV1ZSBhbmQgV29ya2VyRXZlbnRRdWV1ZS4g
IERvY3VtZW50RXZlbnRRdWV1ZSBpcyB0aGUKLSAgICAgICAgb2xkIEV2ZW50UXVldWUgaW1wbGVt
ZW50YXRpb24gdGhhdCB1c2VzIERPTVRpbWVyKDApIHRvIHBvc3QgYXN5bmMKLSAgICAgICAgZXZl
bnRzLiAgV29ya2VyRXZlbnRRdWV1ZSBwb3N0cyBldmVudHMgdG8gaXRzIHRocmVhZCdzIG1lc3Nh
Z2UgbG9vcC4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KLQotICAgICAgICBO
byBuZXcgdGVzdHMgLSBJbmRleGVkREIgd2lsbCB1c2UgdGhpcyBidXQgaXNuJ3QgcmVhZHkgeWV0
LiAgSSBkb24ndAotICAgICAgICBrbm93IG9mIGFueSBvdGhlciBBUEkgYXZhaWxhYmxlIGluIHdv
cmtlcnMgdGhhdCBJIGNhbiB0ZXN0IHRoaXMgd2l0aC4KLQotICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06Ci0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUucHJv
OgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAgICAg
KiBkb20vRE9NQWxsSW5PbmUuY3BwOgotICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgotICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmV2ZW50UXVldWUpOgotICAgICAgICAq
IGRvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50UXVldWUuY3BwLgotICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRGlzcGF0Y2hTY3Jv
bGxFdmVudFN5bmNocm9ub3VzbHkpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVudFF1
ZXVlVGltZXI6OkRvY3VtZW50RXZlbnRRdWV1ZVRpbWVyKToKLSAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50RXZlbnRRdWV1ZVRpbWVyOjpmaXJlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dEV2ZW50UXVldWU6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEV2ZW50UXVl
dWU6OkRvY3VtZW50RXZlbnRRdWV1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEV2ZW50
UXVldWU6On5Eb2N1bWVudEV2ZW50UXVldWUpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRF
dmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVu
dFF1ZXVlOjplbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50RXZlbnRRdWV1ZTo6Y2FuY2VsRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRFdmVudFF1ZXVlOjpjbG9zZSk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEV2ZW50
UXVldWU6OnBlbmRpbmdFdmVudFRpbWVyRmlyZWQpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRFdmVudFF1ZXVlOjpkaXNwYXRjaEV2ZW50KToKLSAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVu
dFF1ZXVlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmguCi0g
ICAgICAgICogZG9tL0V2ZW50UXVldWUuaDoKLSAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oOgotICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDogQ2hhbmdlIEV2ZW50
UXVldWUgdG8gRG9jdW1lbnRFdmVudFF1ZXVlLgotICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpzZW5kU2Nyb2xsRXZlbnQpOiBDaGFuZ2UgRXZlbnRRdWV1ZSB0byBEb2N1bWVudEV2ZW50
UXVldWUuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxUbyk6IENoYW5nZSBFdmVudFF1ZXVlIHRvIERvY3Vt
ZW50RXZlbnRRdWV1ZS4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzY3JvbGxUbyk6IENoYW5nZSBFdmVudFF1
ZXVlIHRvIERvY3VtZW50RXZlbnRRdWV1ZS4KLSAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNl
LmNwcDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQlJlcXVlc3QuY3BwOgotICAgICAgICAqIHN0b3Jh
Z2UvSURCVHJhbnNhY3Rpb24uY3BwOgotICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjpldmVudFF1ZXVlKToKLSAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKLSAgICAgICAgKiB3b3JrZXJzL1dvcmtlckV2
ZW50UXVldWUuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OldvcmtlckV2ZW50UXVldWU6
OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFdmVudFF1ZXVlOjpXb3JrZXJFdmVu
dFF1ZXVlKToKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlckV2ZW50UXVldWU6On5Xb3JrZXJFdmVu
dFF1ZXVlKToKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlckV2ZW50UXVldWU6OkV2ZW50RGlzcGF0
Y2hlclRhc2s6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFdmVudFF1ZXVlOjpF
dmVudERpc3BhdGNoZXJUYXNrOjpkaXNwYXRjaEV2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6Oldv
cmtlckV2ZW50UXVldWU6OkV2ZW50RGlzcGF0Y2hlclRhc2s6OnBlcmZvcm1UYXNrKToKLSAgICAg
ICAgKFdlYkNvcmU6OldvcmtlckV2ZW50UXVldWU6OkV2ZW50RGlzcGF0Y2hlclRhc2s6OmNhbmNl
bCk6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFdmVudFF1ZXVlOjpFdmVudERpc3BhdGNoZXJU
YXNrOjpFdmVudERpc3BhdGNoZXJUYXNrKToKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlckV2ZW50
UXVldWU6OnJlbW92ZUV2ZW50KToKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlckV2ZW50UXVldWU6
OmVucXVldWVFdmVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFdmVudFF1ZXVlOjpjYW5j
ZWxFdmVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFdmVudFF1ZXVlOjpjbG9zZSk6Ci0g
ICAgICAgICogd29ya2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFF1ZXVlLmguCi0KLTIwMTEtMTAtMjcgIEpvbmF0aG9uIEpvbmdzbWEg
IDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KLQotICAgICAgICBbR1N0cmVhbWVy
XSBQcmV2ZW50IG1lbW9yeSBsZWFrIHdoZW4gZnVsbHNjcmVlbmluZyBhIHZpZGVvCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MwotCi0gICAgICAg
IFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KLQotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJHV29ybGQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6R1N0cmVhbWVyR1dvcmxkOjpHU3RyZWFtZXJHV29ybGQpOgotICAgICAgICAoV2ViQ29yZTo6
R1N0cmVhbWVyR1dvcmxkOjplbnRlckZ1bGxzY3JlZW4pOgotICAgICAgICAoV2ViQ29yZTo6R1N0
cmVhbWVyR1dvcmxkOjpleGl0RnVsbHNjcmVlbik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dTdHJlYW1lckdXb3JsZC5oOgotCi0yMDExLTEwLTI3ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQg
S2lsemVyLgotCi0gICAgICAgIE1ha2UgRmVhdHVyZURlZmluZXMgSWRlbnRpY2FsIEFjcm9zcyBP
UyBYIFByb2plY3RzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTA1MQotCi0gICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6Ci0KLTIwMTEtMTAtMjcgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KLQotICAgICAgICBDb3JyZWN0bHkgR3VhcmQgRXhwb3J0ZWQgUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUgU3ltYm9scwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEwNDcKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCi0KLSAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKLQotMjAxMS0xMC0yNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjk4NjI2LgotICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85ODYyNgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjYKLQot
ICAgICAgICBEb2VzIG5vdCBjb21waWxlIG9uIGNyLXdpbiAoUmVxdWVzdGVkIGJ5IGphbWVzcl8g
b24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250
Q2hyb21pdW1XaW4uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6Ci0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpwYWludFNraWFUZXh0KToKLQotMjAxMS0xMC0yNyAgVG9ueSBDaGFuZyAgPHRv
bnlAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgY2F1Z2h0
IGJ5IGdjYyA0LjYuMS4gTmVlZCB0byByZXR1cm4gc29tZXRoaW5nLgotCi0gICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmUuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6Om5leHRBY3Rpb24pOgot
Ci0yMDExLTEwLTI3ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkdmFuY2VkIHNlYXJjaCBzdHlsZSBmaXhlcy4KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDM2Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaFZpZXcpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3N0YXR1
c2JhckJ1dHRvbkdseXBocy5wbmc6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzOgotICAgICAgICAoLnNlYXJjaC12aWV3IC5zZWFyY2gtcGFuZWwpOgotICAgICAg
ICAoLnNlYXJjaC12aWV3IC5zZWFyY2gtcGFuZWwgaW5wdXRbdHlwZT0ic2VhcmNoIl0uc2VhcmNo
LWNvbmZpZy1zZWFyY2gpOgotICAgICAgICAoLnNlYXJjaC12aWV3IC5zZWFyY2gtcGFuZWwgaW5w
dXRbdHlwZT0iY2hlY2tib3giXS5zZWFyY2gtY29uZmlnLWNoZWNrYm94KToKLSAgICAgICAgKGJv
ZHk6bm90KC5wbGF0Zm9ybS1tYWMpIC5zZWFyY2gtdmlldyAuc2VhcmNoLXBhbmVsIGlucHV0W3R5
cGU9ImNoZWNrYm94Il0uc2VhcmNoLWNvbmZpZy1jaGVja2JveCk6Ci0gICAgICAgIChib2R5LnBs
YXRmb3JtLW1hYyAuc2VhcmNoLXZpZXcgLnNlYXJjaC1wYW5lbCBpbnB1dFt0eXBlPSJjaGVja2Jv
eCJdLnNlYXJjaC1jb25maWctY2hlY2tib3gpOgotICAgICAgICAoI2RyYXdlci1zdGF0dXMtYmFy
IC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6Ci0gICAgICAgIChib2R5Om5vdCgucGxhdGZv
cm0tbWFjKSAjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToK
LSAgICAgICAgKGJvZHkucGxhdGZvcm0tbWFjICNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0
YXR1cy1iYXItcHJvZ3Jlc3MpOgotCi0yMDExLTEwLTI3ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFw
cGxlLmNvbT4KLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEwNjEKLSAgICAgICAgCi0gICAgICAgIFtDU1MgTGluZSBHcmlkXSBBZGQgc3VwcG9ydCBm
b3IgcGFyc2luZyB0aGUgbGluZS1ncmlkIHByb3BlcnR5LgotCi0gICAgICAgIE5ldyB0ZXN0cyBp
biBmYXN0L2xpbmUtZ3JpZC4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgot
Ci0gICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFs
dWUpOgotICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgotICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVy
dHkpOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgotICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmxpbmVHcmlkKToKLSAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjpzZXRMaW5lR3JpZCk6Ci0gICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRG
bGFnczo6aW5pdGlhbExpbmVHcmlkKToKLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgotICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6Ci0KLTIwMTEtMTAtMjcgIEZhZHkgU2FtdWVsICA8
ZnNhbXVlbEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgaWZyYW1lcyBzZWVtIHRvIG9jY2FzaW9u
YWxseSBkb3VibHkgc2NhbGUgb3Igc2NhbGUgaW5jb3JyZWN0bHkgd2hlbiBwYWdlU2NhbGVGYWN0
b3IgIT0gMS4wCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDU1MgotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBU
ZXN0OiBmYXN0L2ZyYW1lcy9pZnJhbWUtZG91YmxlLXNjYWxlLWNvbnRlbnRzLmh0bWwKLQotICAg
ICAgICBUaGUgaWZyYW1lJ3MgZG9jdW1lbnQgc3R5bGUgd2FzIHVzaW5nIHRoZSBwYWdlJ3Mgc2Nh
bGUgZmFjdG9yLCByYXRoZXIgdGhhbiB0aGUgZnJhbWUncyAoMS4wKS4KLSAgICAgICAgSWYgdGhl
IHBhZ2Ugc2NhbGUgZmFjdG9yIHdhcyBzZXQgYWZ0ZXIgbGF5b3V0IHdhcyBjb21wbGV0ZSwgdGhl
biB0aGlzIHdvdWxkIGhhdmUgbm8gaW1wYWN0IGJlY2F1c2UgdGhlIGlmcmFtZSdzIGRvY3VtZW50
IHN0eWxlIGFuZCBsYXlvdXQgaXMgbm90IHJlY29tcHV0ZWQsIAotICAgICAgICBidXQgaWYgdGhl
IHBhZ2Ugc2NhbGUgZmFjdG9yIGlzIHNldCBwcmlvciB0byBjcmVhdGluZyBhbmQgbGF5aW5nIG91
dCB0aGUgaWZyYW1lLCB0aGUgaWZyYW1lJ3MgY29udGVudCB3b3VsZCBiZSBkb3VibHkgc2NhbGVk
LgotCi0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JEb2N1bWVudCk6Ci0KLTIwMTEtMTAtMjcgIE5h
dCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFVucmV2aWV3ZWQsIGZpeCBD
Q1NjaGVkdWxlclN0YXRlTWFjaGluZSBidWlsZCBlcnJvcnMuCi0KLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZS5jcHA6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hp
bmUuaDoKLQotMjAxMS0xMC0yNyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIGZpeCBzaXppbmcgb2YgYXV0byBzaXplZCBmbGV4Ym94Ci0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgzOQotCi0gICAgICAgIFJldmlld2Vk
IGJ5IERhdmlkIEh5YXR0LgotCi0gICAgICAgIENvcnJlY3RseSBzZXQgdGhlIGhlaWdodCBvZiB0
aGUgZmxleGJveCB3aGVuIHdlIGhhdmUgYSBjb2x1bW4gZmxvdwotICAgICAgICBhbmQgdGhlIGhl
aWdodCBpcyBhdXRvLgotCi0gICAgICAgIFRlc3RzOiBjc3MzL2ZsZXhib3gvY29sdW1ucy1hdXRv
LXNpemUuaHRtbAotICAgICAgICAgICAgICAgY3NzMy9mbGV4Ym94L2ZsZXgtZmxvdy1tYXJnaW5z
LWF1dG8tc2l6ZS5odG1sCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEJsb2NrKTog
QWx3YXlzIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCkgYWZ0ZXIgd2UncmUgZG9uZSBwbGFjaW5nIGNo
aWxkcmVuLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEFuZFBs
YWNlQ2hpbGRyZW5JbmxpbmVEaXJlY3Rpb24pOiBTZXQgdGhlIGhlaWdodCBhcyB3ZSBwbGFjZSBj
aGlsZHJlbi4KLQotMjAxMS0xMC0yNSAgVmFuZ2VsaXMgS29ra2V2aXMgIDx2YW5nZWxpc0BjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW5nIGNvbXBvc2l0aW5n
IGxheWVycyBmb3IgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMuCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc5NgotCi0gICAgICAgIHBvc2l0aW9uOmZp
eGVkIGVsZW1lbnRzIHdpbGwgZ2V0IGEgY29tcG9zaXRpbmcgbGF5ZXIgaWY6Ci0gICAgICAgIDEu
IFNldHRpbmdzOmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCgp
IHJldHVybnMgdHJ1ZSwgCi0gICAgICAgIDIuIFRoZSBlbGVtZW50IGhhcyBpdHMgb3duIHN0YWNr
aW5nIGNvbnRleHQgKGUuZy4gaGFzIGEgei1pbmRleCksIGFuZAotICAgICAgICAzLiBUaGUgZWxl
bWVudCdzIGNvbnRhaW5lciBpcyB0aGUgUmVuZGVyVmlldyAoZS5nLiBub3QgYSBkZXNjZW5kYW50
IG9mIGEgdHJhbnNmb3JtZWQgZWxlbWVudCkKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBG
cmFzZXIuCi0KLQotICAgICAgICBUZXN0OiBjb21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3Np
dGlvbi1jb21wb3NpdGVkLXN3aXRjaC5odG1sCi0KLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6Ci0gICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOgotICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKToK
LSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRp
bmdMYXllcnMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1
aXJlc0NvbXBvc2l0aW5nTGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24pOgotICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldEVuYWJsZUNvbXBvc2l0aW5n
Rm9yRml4ZWRQb3NpdGlvbik6Ci0gICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKLSAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Ci0KLTIwMTEtMTAtMjcgIEFydGh1ciBIc3UgIDxh
cnRodXJoc3VAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDM5MAotICAgICAgICBFbnN1cmUgZm9udCBsb2FkIGZvciBTa2lh
IGJhY2tlbmQgZHVyaW5nIHByaW50aW5nLgotCi0gICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJv
Ymluc29uLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9t
aXVtV2luLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdHbHlwaHMpOgotICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6cGFpbnRTa2lhVGV4dCk6Ci0KLTIwMTEtMTAtMjcgIE1pY2hhZWwgU2Fib2ZmICA8bXNh
Ym9mZkBhcHBsZS5jb20+Ci0KLSAgICAgICAgSW52ZXN0aWdhdGUgc3RvcmluZyBzdHJpbmdzIGlu
IDgtYml0IGJ1ZmZlcnMgd2hlbiBwb3NzaWJsZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjEKLQotICAgICAgICBDaGFuZ2VzIHRvIHN1cHBvcnQg
OCBiaXQgU3RyaW5nSW1wbCBjaGFuZ2VzLgotICAgICAgICAKLSAgICAgICAgUmV2aWV3ZWQgYnkg
R2VvZmZyZXkgR2FyZW4uCi0gICAgICAgIAotICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9y
ZWQgU3RyaW5nSW1wbCBmb3IgOCBiaXQgc3RyaW5ncy4KLQotICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvY2YvU3RyaW5nSW1wbENGLmNwcDoKLSAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y3JlYXRl
Q0ZTdHJpbmcpOgotCi0yMDExLTEwLTI3ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4K
LQotICAgICAgICBbY2hyb21pdW1dIEVuY2Fwc3VsYXRlIHN0YXRlIG1hY2hpbmUgcGFydHMgb2Yg
c2NoZWR1bGluZyBpbiBDQ1NjaGVkdWxlclN0YXRlTWFjaGluZQotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MTQKLQotICAgICAgICBSZWxhbmQgb2Yg
aWxsLWZhdGVkIHI5ODYxMi4KLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4K
LQotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZS5jcHA6IEFkZGVkLgotICAgICAgICAo
V2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6Om5leHRBY3Rpb24pOgotICAgICAgICAo
V2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OnVwZGF0ZVN0YXRlKToKLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZS5o
OiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpDQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRl
TWFjaGluZTo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVN
YWNoaW5lOjpjb21taXRQZW5kaW5nKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3Rh
dGVNYWNoaW5lOjpzZXROZWVkc1JlZHJhdyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxl
clN0YXRlTWFjaGluZTo6c2V0TmVlZHNDb21taXQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hl
ZHVsZXJTdGF0ZU1hY2hpbmU6OmJlZ2luRnJhbWVDb21wbGV0ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6dXBkYXRlUmVzb3VyY2VzQ29tcGxldGUpOgotCi0y
MDExLTEwLTI3ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIEdldCByaWQgb2Ygb3B0aW9uYWwgcGFyYW1ldGVycyBpbiB0aGUgbWlkZGxlIGluIElE
THMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgx
NgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgT3B0aW9uYWwg
cGFyYW1ldGVycyBpbiB0aGUgbWlkZGxlIGFyZSBwcm9oaWJpdGVkIGJ5IFdlYklETCBzcGVjLgot
Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20u
Y3BwOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgotICAg
ICAgICAoR2VuZXJhdGVIZWFkZXIpOgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6
Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06Ci0gICAgICAg
IChHZW5lcmF0ZUhlYWRlcik6Ci0gICAgICAgIChHZW5lcmF0ZUFyZ3VtZW50c0NvdW50Q2hlY2sp
OgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6Ci0gICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFs
QXJncyk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgotICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgotICAgICAgICAo
V2ViQ29yZTo6VGVzdE9iakludGVybmFsOjptZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29P
cHRpb25hbEFyZ3NDYWxsYmFjayk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbDoKLSAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6Ci0KLTIwMTEt
MTAtMjcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgotCi0gICAgICAgIFJFR1JF
U1NJT04ocjk4NTQyKTogdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcx
NDAwNy0yLmh0bWwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMDMyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KLQotICAgICAgICBJ
ZiB3ZSBhcHBseSBhbiBleHBsaWNpdGx5IGluaGVyaXRlZCBwcm9wZXJ0eSwgd2UgbmVlZCB0byBh
cHBseSBhbnkgZnVydGhlcgotICAgICAgICBub24taW5oZXJpdGVkIHByb3BlcnRpZXMgYXMgdGhl
IHByb3BlcnR5IG1pZ2h0IGdldCBvdmVycmlkZGVuIGFnYWluLgotCi0gICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
c3R5bGVGb3JLZXlmcmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpz
dHlsZUZvclBhZ2UpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlE
ZWNsYXJhdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseURl
Y2xhcmF0aW9ucyk6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKLQotMjAxMS0x
MC0yNyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KLQotICAgICAg
ICBSZW1vdmUgUmVuZGVyVGFibGVTZWN0aW9uOjptX2dyaWRSb3dzCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU3MAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0LCByZWZhY3RvcmluZyBvbmx5
LgotCi0gICAgICAgIEp1c3QgbnVrZSB0aGUgb2xkIGZpZWxkIHRoYXQgd2FzIGR1cGxpY2F0aW5n
Ci0gICAgICAgIG1fZ3JpZC5zaXplKCkuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246Om51bVJv
d3MpOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpSZW5kZXJUYWJsZVNlY3Rpb24pOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjplbnN1cmVSb3dzKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6c2V0Q2VsbExvZ2ljYWxXaWR0aHMpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJCZWZvcmUp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJB
ZnRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJv
cmRlclN0YXJ0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091
dGVyQm9yZGVyRW5kKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Zmly
c3RMaW5lQm94QmFzZWxpbmUpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9u
OjpwYWludCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2Jq
ZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2xlYXJHcmlkKToK
LSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bnVtQ29sdW1ucyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFwcGVuZENvbHVtbik6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnNwbGl0Q29sdW1uKToKLSAgICAgICAgcy9t
X2dyaWRSb3dzL21fZ3JpZC5zaXplKCkvLgotICAgICAgICBBbHNvIHVwZGF0ZWQgdGhlIGNvZGUg
YXMgbV9ncmlkLnNpemUoKSBpcyB1bnNpZ25lZC4KLQotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVTZWN0aW9uOjpyZWNhbGNDZWxscyk6Ci0gICAgICAgIFRoZSBvbGQgY29kZSB3b3VsZCBr
ZWVwIHRoZSBncmlkJ3MgbWVtb3J5IGJ1dCB3ZSBoYXZlIHRvIGNsZWFyIGl0IHRvIHByb3Blcmx5
Ci0gICAgICAgIGNvdW50IHRoZSBlbGVtZW50cy4gVG8gYXZvaWQgbG90cyBvZiBzbWFsbCByZWFs
bG9jYXRpb25zLCB3ZSByZWFsbG9jYXRlIHRoZQotICAgICAgICBidWZmZXIgYXQgdGhlIG9sZCBj
YXBhY2l0eSB1cGZyb250LgotCi0yMDExLTEwLTI3ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVt
Lm9yZz4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg2MTIuCi0gICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4NjEyCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcxNAotCi0gICAgICAgIEJyb2tlIGJ1
aWxkCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmUuY3BwOiBSZW1vdmVkLgotICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNo
aW5lLmg6IFJlbW92ZWQuCi0KLTIwMTEtMTAtMjQgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0u
b3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gRW5jYXBzdWxhdGUgc3RhdGUgbWFjaGluZSBwYXJ0
cyBvZiBzY2hlZHVsaW5nIGluIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcxNAotCi0gICAgICAgIFJldmll
d2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5l
LmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6
bmV4dEFjdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6
dXBkYXRlU3RhdGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2NoZWR1bGVyU3RhdGVNYWNoaW5lLmg6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hl
ZHVsZXJTdGF0ZU1hY2hpbmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpvcGVyYXRvcj0pOgotICAgICAgICAoV2Vi
Q29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OmNvbW1pdFBlbmRpbmcpOgotICAgICAgICAo
V2ViQ29yZTo6Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OnNldE5lZWRzUmVkcmF3KToKLSAgICAg
ICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpzZXROZWVkc0NvbW1pdCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6YmVnaW5GcmFtZUNvbXBs
ZXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjp1cGRhdGVS
ZXNvdXJjZXNDb21wbGV0ZSk6Ci0KLTIwMTEtMTAtMjcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KLQotICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAyNjIyMDU+IEFsbG93IGNvbHVt
biBwcm9ncmVzc2lvbiB0byBiZSBpbmRlcGVuZGVudCBvZiB3cml0aW5nIG1vZGUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDI4Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0KLSAgICAgICAgVGVzdHM6IGZhc3QvbXVsdGljb2wv
YmxvY2stYXhpcy1ob3Jpem9udGFsLWJ0Lmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvbXVsdGlj
b2wvYmxvY2stYXhpcy1ob3Jpem9udGFsLXRiLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvbXVs
dGljb2wvYmxvY2stYXhpcy12ZXJ0aWNhbC1sci5odG1sCi0gICAgICAgICAgICAgICBmYXN0L211
bHRpY29sL2Jsb2NrLWF4aXMtdmVydGljYWwtcmwuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9t
dWx0aWNvbC9mbGlwcGVkLWJsb2Nrcy1oaXQtdGVzdC5odG1sCi0KLSAgICAgICAgQWxsb3cg4oCc
Y29sdW1uc+KAnSB0byBiZSBzdGFja2VkIGFsb25nIHRoZSBibG9jayBheGlzIHJhdGhlciB0aGFu
IHRoZSBpbmxpbmUgYXhpcy4gVGhpcyBjYW4gZmFjaWxpdGF0ZQotICAgICAgICBwYWdpbmF0ZWQg
aW50ZXJmYWNlcy4gQSBjb2x1bW4tYXhpcyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBvcmRlciB0byBl
bmFibGUgdGhpcyBtb2RlLgotCi0gICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246
OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBIYW5kbGUgdGhlIGNvbHVtbi1heGlzIHByb3BlcnR5Lgot
ICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKTogRGl0dG8uCi0gICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRp
dmVWYWx1ZSk6IE1hcCBDb2x1bW5BeGlzIHZhbHVlcyB0byBpZGVudGlmaWVycy4KLSAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDb2x1bW5BeGlzKTogTWFwIGlk
ZW50aWZpZXJzIHRvIENvbHVtbkF4aXMgdmFsdWVzLgotICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0
eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0
eSk6IFVwZGF0ZWQgdG8gcmV0dXJuIGZhbHNlIGZvciB0aGUgY29sdW1uLWF4aXMgcHJvcGVydHku
Ci0gICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IEFkZGVkIC13ZWJraXQtY29sdW1u
LWF4aXMuCi0gICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6IEhhbmRsZSBjb2x1bW4tYXhp
cy4KLSAgICAgICAgKiByZW5kZXJpbmcvQ29sdW1uSW5mby5oOgotICAgICAgICAoV2ViQ29yZTo6
Q29sdW1uSW5mbzo6Q29sdW1uSW5mbyk6IEFkZGVkIG1fcHJvZ3Jlc3Npb25BeGlzIHRvIHRoZSBp
bml0aWFsaXphdGlvbiBsaXN0LgotICAgICAgICAoV2ViQ29yZTo6Q29sdW1uSW5mbzo6cHJvZ3Jl
c3Npb25BeGlzKTogQWRkZWQgdGhpcyBnZXR0ZXIuCi0gICAgICAgIChXZWJDb3JlOjpDb2x1bW5J
bmZvOjpzZXRQcm9ncmVzc2lvbkF4aXMpOiBBZGRlZCB0aGlzIHNldHRlci4KLSAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKTogU2ltcGxpZmllZCwgYW5kIHRodXMgYWxzbyBtYWRl
IHRoaXMgZnVuY3Rpb24gd29yawotICAgICAgICB3aXRoIGJsb2NrLWF4aXMgY29sdW1uIHByb2dy
ZXNzaW9uLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29sdW1uUnVsZXMp
OiBBZGRlZCBjb2RlIHRvIHBhaW50IHJ1bGVzIGJldHdlZW4gY29sdW1ucyB3aXRoIGJsb2NrLWF4
aXMKLSAgICAgICAgcHJvZ3Jlc3Npb24uCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
cGFpbnRDb2x1bW5Db250ZW50cyk6IEFkanVzdGVkIHRoZSBwYWludGluZyBvZmZzZXQgZm9yIHRo
ZSBibG9jay1heGlzCi0gICAgICAgIGNvbHVtbiBwcm9ncmVzc2lvbiBjYXNlLgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KTogRml4ZWQgaGl0LXRlc3RpbmcgaW4g
ZmxpcHBlZC1ibG9ja3Mgd3JpdGluZyBtb2Rlcy4gVGhpcyBpcwotICAgICAgICBjb3ZlcmVkIGJ5
IGZsaXBwZWQtYmxvY2tzLWhpdC10ZXN0Lmh0bWwuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6aGl0VGVzdENvbHVtbnMpOiBBZGp1c3RlZCB0aGUgb2Zmc2V0IGZvciB0aGUgYmxvY2st
YXhpcyBjb2x1bW4gcHJvZ3Jlc3Npb24KLSAgICAgICAgY2FzZS4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpjYWxjQ29sdW1uV2lkdGgpOiBTZXQgdGhlIGNvbHVtbiB3aWR0aCB0byB0
aGUgY29udGVudCBsb2dpY2FsIHdpZHRoIGluCi0gICAgICAgIHRoZSBibG9jay1heGlzIGNvbHVt
biBwcm9ncmVzc2lvbiBjYXNlLiBUaGUgY29sdW1uLXdpZHRoIGFuZCBjb2x1bW4tY291bnQgcHJv
cGVydGllcyBhcmUgaWdub3JlZC4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzZXRE
ZXNpcmVkQ29sdW1uQ291bnRBbmRXaWR0aCk6IFNldCB0aGUgY29sdW1uIHByb2dyZXNzaW9uIGF4
aXMgYmFzZWQgb24KLSAgICAgICAgdGhlIHN0eWxlLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmNvbHVtbkNvdW50KTogQnJva2UgdXAgYW4gYXNzZXJ0aW9uIGludG8gdHdvLgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbHVtblJlY3RBdCk6IFVwZGF0ZWQgZm9yIGJs
b2NrLWF4aXMgY29sdW1uIHByb2dyZXNzaW9uLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OmFkanVzdFBvaW50VG9Db2x1bW5Db250ZW50cyk6IERpdHRvLgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmFkanVzdFJlY3RGb3JDb2x1bW5zKTogRGl0dG8uCi0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRqdXN0Rm9yQ29sdW1ucyk6IERpdHRvLgotICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6cGFpbnRDaGlsZExheWVySW50b0NvbHVtbnMpOiBBZGp1c3RlZCB0aGUgb2Zmc2VyIGZvciB0
aGUgYmxvY2stYXhpcyBjb2x1bW4KLSAgICAgICAgcHJvZ3Jlc3Npb24gY2FzZS4KLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0Q2hpbGRMYXllckNvbHVtbnMpOiBEaXR0by4K
LSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKLSAgICAgICAgKFdlYkNv
cmU6OkluaGVyaXRlZEZsYWdzOjpjb2x1bW5BeGlzKTogQWRkZWQgdGhpcyBnZXR0ZXIuCi0gICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aGFzSW5saW5lQ29sdW1uQXhpcyk6IEFkZGVk
LiBDaGVja3MgdGhlIGNvbHVtbiBheGlzIGFnYWluc3QgdGhlIHdyaXRpbmcKLSAgICAgICAgbW9k
ZS4KLSAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzcGVjaWZpZXNDb2x1bW5zKTog
Q2hhbmdlZCB0byByZXR1cm4gdHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIGNvbHVtbiBheGlzCi0gICAg
ICAgIGlzIHRoZSBibG9jayBheGlzLgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6
OnNldENvbHVtbkF4aXMpOiBBZGRlZCB0aGlzIHNldHRlci4KLSAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjppbml0aWFsQ29sdW1uQXhpcyk6IEFkZGVkLiBSZXR1cm5zIEF1dG9Db2x1
bW5BeGlzLgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
OiBBZGRlZCBhIENvbHVtbkF4aXMgZW51bS4KLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5
bGVNdWx0aUNvbERhdGEuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVNdWx0aUNvbERhdGE6
OlN0eWxlTXVsdGlDb2xEYXRhKTogQWRkZWQgbV9heGlzIHRvIHRoZSBpbml0aWFsaXphdGlvbiBs
aXN0LgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVNdWx0aUNvbERhdGE6Om9wZXJhdG9yPT0pOiBD
b21wYXJlIG1fYXhpcy4KLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERh
dGEuaDogQWRkZWQgbV9heGlzIG1lbWJlciB2YXJpYWJsZS4KLQotMjAxMS0xMC0yNyAgTWlobmVh
IE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KLQotICAgICAgICBbQ1NTUmVnaW9uc11GbGFn
IHJlZ2lvbnMgd2l0aCBjdXN0b20gc3R5bGluZwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzMKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBI
eWF0dC4KLQotICAgICAgICBSZWdpb24gZWxlbWVudHMgdGhhdCBoYXZlIGN1c3RvbSByZWdpb24g
c3R5bGluZyBhcmUgbm93IG1hcmtlZCBhY2NvcmRpbmdseS4KLQotICAgICAgICBUZXN0OiBmYXN0
L3JlZ2lvbnMvcmVuZGVyLXJlZ2lvbi1jdXN0b20tc3R5bGUtbWFyay5odG1sCi0KLSAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjpjaGVja1JlZ2lvblN0eWxlKToKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5oOgotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUmVnaW9uOjpSZW5kZXJSZWdpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUmVnaW9uOjpzdHlsZURpZENoYW5nZSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5oOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpoYXNDdXN0b21SZWdpb25T
dHlsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OnNldEhhc0N1c3RvbVJlZ2lv
blN0eWxlKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjp3cml0ZVJlbmRlckZsb3dUaHJlYWRzKToKLQotMjAxMS0xMC0yNyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjk4NTU2LgotICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC85ODU1NgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzEwMzEKLQotICAgICAgICBUaGUgdGVzdCBhZGRlZCBieSB0aGUgcGF0Y2ggZG9l
c24ndCBwYXNzIG9uIFNub3cgTGVvcGFyZAotICAgICAgICAoUmVxdWVzdGVkIGJ5IHJuaXdhIG9u
ICN3ZWJraXQpLgotCi0gICAgICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Y2hlY2tUZXh0T2ZQYXJhZ3JhcGgpOgotICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmNwcDoKLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKLQotMjAxMS0xMC0yNyAgTWlrZSBSZWVkICA8cmVl
ZEBnb29nbGUuY29tPgotCi0gICAgICAgIFtza2lhXSByZXBsYWNlIG9mZnNjcmVlbiB0ZWNobmlx
dWUgd2l0aCBuYXRpdmUgc3VwcG9ydCBmb3IgYW50aWFsaWFzZWQgY2xpcHBpbmcKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQ4Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgU3RlcGhlbiBXaGl0ZS4KLQotICAgICAgICB+MTAwIGxheW91dCB0ZXN0cyBu
ZWVkIHRvIGJlIHJlYmFzZWxpbmVkLCBhcyB0aGUgbmF0aXZlIGFhLWNsaXBwaW5nIGRpZmZlcnMg
c29tZXRpbWVzIGluIHRoZSBsb3cKLSAgICAgICAgYml0cyBvZiB0aGUgcmVzdWx0LiBPdGhlciB0
aGFuIHRoYXQsIHRoZSByZXN1bHRzIHNob3VsZCBiZSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgbm93
IHRoZSBkcmF3aW5nCi0gICAgICAgIGNhbiBnbyBkaXJlY3RseSB0byB0aGUgY2FudmFzLCByYXRo
ZXIgdGhhbiBiZWluZyBkaXJlY3Qgb2Zmc2NyZWVuIGFuZCB0aGVuIGhhdmUgdGhhdCByZXN1bHQK
LSAgICAgICAgImNsaXBwZWQiIGR1cmluZyB0aGUgcmVzdG9yZS4gVGhpcyBoYXMgdGhlIGVmZmVj
dCBvZiBhbGxvd2luZyBMQ0QgdGV4dCB0byBiZSBkcmF3aW5nIGluc2lkZSBhCi0gICAgICAgIGFu
dGlhbGlhc2VkIGNsaXAgYXJlYS4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEv
UGxhdGZvcm1Db250ZXh0U2tpYS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNvbnRl
eHRTa2lhOjpTdGF0ZTo6U3RhdGUpOgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0
U2tpYTo6U3RhdGU6OmNsb25lSW5oZXJpdGVkUHJvcGVydGllcyk6Ci0gICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybUNvbnRleHRTa2lhOjpjbGlwUGF0aEFudGlBbGlhc2VkKToKLSAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtQ29udGV4dFNraWE6OnJlc3RvcmUpOgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oOgotCi0yMDExLTEwLTI3ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgdXNlIG1haW4vY3Jvc3MgaW5z
dGVhZCBvZiBsb2dpY2FsIHdpZHRoL2hlaWdodCB3aGVuIHRhbGtpbmcgYWJvdXQgZmxvdyBkaXJl
Y3Rpb24KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcw
OTc3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLQotICAgICAgICBGbGV4Ym94
IGNvZGUgdXNlcyBsb2dpY2FsIGluIGZ1bmN0aW9uIG5hbWVzIHRvIHJlZmVyIHRvIHRoZSBmbG93
Ci0gICAgICAgIGRpcmVjdGlvbi4gVGhpcyBpcyBjb25mdXNpbmcgYmVjYXVzZSB3cml0aW5nIG1v
ZGUgYWxzbyB1c2VzIGxvZ2ljYWwsCi0gICAgICAgIGJ1dCB0aGlzIGlzIGEgZGlmZmVudCB1c2Fn
ZS4gVG8gYXZvaWQgY29uZnVzaW9uLCBiZSBleHBsaWNpdCBhYm91dAotICAgICAgICBtYWluIHZz
IGNyb3NzIGF4aXMuIEV4dGVudCBpcyB1c2VkIGluc3RlYWQgb2Ygd2lkdGgvaGVpZ2h0LgotCi0g
ICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBhIHJlZmFjdG9yaW5nLgotCi0gICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
ZXhpYmxlQm94OjptYWluQXhpc0xlbmd0aEZvckNoaWxkKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNMZW5ndGgpOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxleGlibGVCb3g6OnNldENyb3NzRXh0ZW50KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0V4dGVudEZvckNoaWxkKToKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsZXhpYmxlQm94OjptYWluRXh0ZW50Rm9yQ2hpbGQpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc0V4dGVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNFeHRlbnQpOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc0NvbnRlbnRFeHRlbnQpOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQ29udGVudEV4dGVudCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVu
dCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzTWFyZ2lu
RXh0ZW50Rm9yQ2hpbGQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZs
b3dBd2FyZUxvY2F0aW9uRm9yQ2hpbGQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGli
bGVCb3g6OnNldEZsb3dBd2FyZUxvY2F0aW9uRm9yQ2hpbGQpOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxk
KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc1Njcm9sbGJh
ckV4dGVudEZvckNoaWxkKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpw
cmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JGbGV4SXRlbSk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0SW5saW5lRGlyZWN0aW9uKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpwb3NpdGl2ZUZsZXhGb3JDaGlsZCk6IFNpbmNl
IGZsZXggb25seQotICAgICAgICAgICAgbWF0dGVycyBpbiB0aGUgbWFpbiBheGlzLCB0aGVyZSdz
IG5vIHJlYXNvbiB0byBkZWFtYmlndWF0ZSBpdCBoZXJlLgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxleGlibGVCb3g6Om5lZ2F0aXZlRmxleEZvckNoaWxkKTogRGl0dG8uCi0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGls
ZCk6IEFsaWdubWVudCBpcyBhbHdheXMKLSAgICAgICAgICAgIGluIHRoZSBjcm9zcyBheGlzIGRp
cmVjdGlvbiwgc28gZG9uJ3QgaW5jbHVkZSB0aGF0IGluIHRoZSBtZXRob2QgbmFtZS4KLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjptYXJnaW5Cb3hBc2NlbnQpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVQcmVmZXJyZWRNYWluQXhpc0V4
dGVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cnVuRnJlZVNwYWNl
QWxsb2NhdGlvbkFsZ29yaXRobUlubGluZURpcmVjdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbklubGluZURpcmVjdGlvbik6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0QWxpZ25tZW50Rm9y
Q2hpbGQpOiAgQWxpZ25tZW50IGlzIGFsd2F5cwotICAgICAgICAgICAgaW4gdGhlIGNyb3NzIGF4
aXMgZGlyZWN0aW9uLCBzbyBkb24ndCBpbmNsdWRlIHRoYXQgaW4gdGhlIG1ldGhvZCBuYW1lLgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmFsaWduQ2hpbGRyZW5CbG9ja0Rp
cmVjdGlvbik6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94Lmg6Ci0KLTIw
MTEtMTAtMjcgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAg
ICAgICBEZS12aXJ0dWFsaXplIEpTQ2VsbDo6dG9UaGlzT2JqZWN0Ci0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1OAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEdlb2ZmcmV5IEdhcmVuLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICBD
b252ZXJ0ZWQgYWxsIGluc3RhbmNlcyBvZiB0b1RoaXNPYmplY3QgdG8gc3RhdGljIGZ1bmN0aW9u
cywgCi0gICAgICAgIGFkZGVkIHRvVGhpc09iamVjdCB0byB0aGUgTWV0aG9kVGFibGUsIGFuZCBy
ZXBsYWNlZCBhbGwgY2FsbCBzaXRlcwotICAgICAgICB3aXRoIGEgY29ycmVzcG9uZGluZyBsb29r
dXAgaW4gdGhlIE1ldGhvZFRhYmxlLgotCi0gICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6dG9UaGlzT2Jq
ZWN0KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKLSAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU0Vy
cm9ySGFuZGxlcjo6aGFuZGxlRXZlbnQpOgotICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5j
cHA6Ci0gICAgICAgIChfTlBOX0ludm9rZSk6Ci0gICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRp
bWUuY3BwOgotICAgICAgICAoSlNDOjpCaW5kaW5nczo6UXRSdW50aW1lQ29ubmVjdGlvbk1ldGhv
ZDo6Y2FsbCk6Ci0KLTIwMTEtMTAtMjcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgot
Ci0gICAgICAgIFdpbmRvd3MgYnVpbGQgZml4IGFmdGVyIHI5ODUxMgotCi0gICAgICAgICogaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcDogTW92ZWQgYSBXZWIgQXVkaW8tcmVsYXRlZCAjaW5jbHVk
ZSBpbnNpZGUgYW4gYXBwcm9wcmlhdGUgRU5BQkxFCi0gICAgICAgIGd1YXJkLgotCi0yMDExLTEw
LTI3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KLQotICAgICAgICBSZWdlbmVyYXRl
IFdlYkNvcmUncyBMb2NhbGl6YWJsZS5zdHJpbmdzIGZpbGUKLQotICAgICAgICBBbGwgSSBkaWQg
d2FzIHJ1biB1cGRhdGUtd2Via2l0LWxvY2FsaXphYmxlLXN0cmluZ3MuIEEgZmV3IGxvY2FsaXpl
ciBjb21tZW50cyBjaGFuZ2VkLCBhbmQKLSAgICAgICAgc29tZSBzdHJpbmdzICh3aGljaCBtdXN0
IGhhdmUgYmVlbiBoYW5kLWFkZGVkKSBnb3QgbW92ZWQgdG8gYSBkaWZmZXJlbnQgcGFydCBvZiB0
aGUgZmlsZS4KLQotICAgICAgICAqIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoK
LQotMjAxMS0xMC0yNyAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBDbGVhbiB1cCBNaWNyb0RhdGFJdGVtVmFsdWUgdG8gdXNlIGNvbnN0IFN0cmluZyYgaW5z
dGVhZCBvZiBTdHJpbmcKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwOTc4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KLQotICAgICAg
ICAqIGh0bWwvTWljcm9EYXRhSXRlbVZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1pY3Jv
RGF0YUl0ZW1WYWx1ZTo6TWljcm9EYXRhSXRlbVZhbHVlKToKLSAgICAgICAgKiBodG1sL01pY3Jv
RGF0YUl0ZW1WYWx1ZS5oOgotCi0yMDExLTEwLTI3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KLQotICAgICAgICBVc2UgU3RyaW5nSGFzaGVyIHRvIGdlbmVyYXRlIHRoZSBtYXRj
aGVkIGRlY2xhcmF0aW9uIGNhY2hlIGhhc2gKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMDEyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4gYW5kIEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAgSXQgaXMgZmFz
dGVyIGFuZCBiZXR0ZXIgdGhhbiB0aGUgY3VycmVudCBjdXN0b20gZnVuY3Rpb24uCi0KLSAgICAg
ICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHls
ZVNlbGVjdG9yOjpjb21wdXRlRGVjbGFyYXRpb25IYXNoKToKLQotMjAxMS0xMC0yNyAgS2VudGFy
byBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmVmYWN0b3IgT3B0aW9u
c09iamVjdC5jcHAKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwNTcyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBG
b3IgZXhhbXBsZSwgT3B0aW9uc09iamVjdDo6Z2V0S2V5Qm9vbCgpIGlzIGFuIGFsaWFzIG9mCi0g
ICAgICAgIE9wdGlvbnNPYmplY3Q6OmdldEtleVZhbHVlKGNvbnN0IFN0cmluZyYga2V5LCBib29s
JiB2YWx1ZSkuCi0gICAgICAgIFdlIHNob3VsZCByZW1vdmUgT3B0aW9uc09iamVjdDo6Z2V0S2V5
WFhYWCgpIChYWFhYIGlzIHNvbWUgc3BlY2lmaWMgdHlwZSkKLSAgICAgICAgYW5kIHVuaWZ5IHRo
ZW0gaW50byBPcHRpb25zT2JqZWN0OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFhYWFgmIHZhbHVl
KS4KLSAgICAgICAgYy5mLiBDb3JyZXNwb25kaW5nIEpTQyBtZXRob2RzIGFyZSB1bmlmaWVkIGlu
dG8KLSAgICAgICAgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTVmFsdWUsIFhYWFgmKS4KLQotICAgICAgICBUaGUgcmVzdWx0IG9mIGdpdCBkaWZmIGlz
IHdlaXJkLCBidXQgdGhpcyBwYXRjaCBpcyBtYWtpbmcganVzdCB0aGUgZm9sbG93aW5nIGNoYW5n
ZXM6Ci0gICAgICAgIC0gUmVwbGFjZWQgZ2V0S2V5Qm9vbCgpLCBnZXRLZXlJbnQzMigpLCBnZXRL
ZXlEb3VibGUoKSBhbmQgZ2V0S2V5U3RyaW5nKCkgd2l0aCBnZXQoKS4KLSAgICAgICAgLSBSZW5h
bWVkIGdldEtleVN0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjaygpIHRvIGdldFdpdGhVbmRl
ZmluZWRPck51bGxDaGVjaygpLgotICAgICAgICAtIFJlbW92ZWQgZ2V0S2V5RE9NU3RyaW5nTGlz
dCgpIGFuZCBnZXRLZXlLZXlSYW5nZSgpLCBzaW5jZSB0aGVzZSBhcmUgbm90IHVzZWQuCi0gICAg
ICAgIC0gTW92ZSBkZWZpbml0aW9ucyBvZiBnZXQoKSBmcm9tIC5oIHRvIC5jcHAuCi0KLSAgICAg
ICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCi0KLSAgICAgICAgKiBiaW5k
aW5ncy92OC9PcHRpb25zT2JqZWN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbnNPYmpl
Y3Q6OmdldCk6IFJlbmFtZWQgZnJvbSBnZXRLZXlWYWx1ZSgpLgotICAgICAgICAoV2ViQ29yZTo6
T3B0aW9uc09iamVjdDo6Z2V0S2V5KTogTm8gY2hhbmdlIHRvIHRoaXMgbWV0aG9kLiBnaXQgZGlm
ZiBzZWVtcyB0byBtaXN1bmRlcnN0YW5kIGFzIGlmIGl0IGlzIG1vZGlmaWVkLgotICAgICAgICAo
V2ViQ29yZTo6T3B0aW9uc09iamVjdDo6Z2V0S2V5RE9NU3RyaW5nTGlzdCk6IFJlbW92ZWQsIHNp
bmNlIG5vIG9uZSBpcyB1c2luZyBpdC4KLSAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbnNPYmplY3Q6
OmdldEtleUtleVJhbmdlKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpPcHRpb25zT2JqZWN0
OjpnZXRXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2spOiBObyBjaGFuZ2UgdG8gdGhpcyBtZXRob2Qu
IGdpdCBkaWZmIHNlZW1zIHRvIG1pc3VuZGVyc3RhbmQgYXMgaWYgaXQgaXMgbW9kaWZpZWQuCi0g
ICAgICAgICogYmluZGluZ3MvdjgvT3B0aW9uc09iamVjdC5oOiBNb3ZlZCBkZWZpbml0aW9ucyBv
ZiBnZXQoKSB0byBPcHRpb25zT2JqZWN0LmNwcAotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEV2ZW50Q29uc3RydWN0b3JzLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlY4
V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNrKTogUmVwbGFjZWQgZ2V0S2V5
WFhYWCgpIHRvIGdldCgpOwotICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKTogRGl0dG8uCi0g
ICAgICAgICogc3RvcmFnZS9JREJPYmplY3RTdG9yZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgpOiBEaXR0by4KLQotMjAxMS0xMC0yNyAgQW5kcmVh
cyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgU3R5bGVTaGVldC5wYXJlbnRT
dHlsZVNoZWV0IGRvZXMgbm90IHdvcmsuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDk1NgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZp
c3RvLgotCi0gICAgICAgIFNpbmNlIFN0eWxlU2hlZXQgaXMgb25seSBldmVyIHBhcmVudGVkIGJ5
IGEgQ1NTUnVsZSwgd2UgbmVlZAotICAgICAgICB0byBnbyB0aHJvdWdoIHRoYXQgcnVsZSB3aGVu
IHJlc29sdmluZyB0aGUgU3R5bGVTaGVldCdzIHBhcmVudC4KLQotICAgICAgICBUZXN0OiBmYXN0
L2Nzcy9zdHlsZXNoZWV0LXBhcmVudFN0eWxlU2hlZXQuaHRtbAotCi0gICAgICAgICogY3NzL1N0
eWxlU2hlZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6cGFyZW50U3R5bGVT
aGVldCk6Ci0KLTIwMTEtMTAtMjcgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIERpc2FibGUgYmxlbmRpbmcgd2hlbiBkcmF3aW5nIG9wYXF1ZSBsYXllcnMK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg1Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgQ292ZXJlZCBi
eSBjb21wb3NpdGluZy8gdGVzdHMsIGFzIHdlbGwgYXMgYSBuZXcgdW5pdCB0ZXN0OgotICAgICAg
ICBDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5ibGVuZGluZ09mZldoZW5EcmF3aW5nT3BhcXVlTGF5
ZXJzCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVt
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OkxheWVyQ2hyb21pdW0pOgot
ICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyKToK
LSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6Q0NMYXllckltcGwpOgotICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVySW1wbDo6c2V0T3BhcXVlKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5
ZXJJbXBsOjpvcGFxdWUpOgotCi0yMDExLTEwLTI3ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgSW5kZXhlZERCOiBQYXNzaW5nIGVtcHR5IGFycmF5IHRvIElE
QkRhdGFiYXNlLnRyYW5zYWN0aW9uIHNob3VsZCByYWlzZSBleGNlcHRpb24KLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjUxCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBJREJEYXRhYmFzZS50cmFuc2FjdGlvbigp
IHN1cHBvcnRlZCBiZWluZyBjYWxsZWQgd2l0aCBhbiBlbXB0eSBhcnJheSB0bwotICAgICAgICBs
b2NrIGFsbCBvYmplY3Qgc3RvcmVzLiBTdXBwb3J0IGZvciB0aGlzIHdhcyByZWplY3RlZCBmcm9t
IGluY2x1c2lvbiBpbgotICAgICAgICB0aGUgSURCIHNwZWMgZHVlIHRvIHBlcmZvcm1hbmNlIGNv
bmNlcm5zLiBUaGlzIHBhdGNoIHJlbW92ZXMgdGhhdAotICAgICAgICBmdW5jdGlvbmFsaXR5Lgot
Ci0gICAgICAgIEEgc3BlY2lhbCBjYXNlIGluIHRoZSBzcGVjIChwYXNzaW5nIGEgc3RyaW5nIGlu
c3RlYWQgb2YgYW4gYXJyYXkpIHdvcmtlZAotICAgICAgICBpbiBXZWJLaXQgYWNjaWRlbnRhbGx5
LCBieSByZXNvbHZpbmcgdGhlIHN0cmluZyB0byBhbiBlbXB0eSBhcnJheS4gVGhpcwotICAgICAg
ICBuZWVkZWQgZXhwbGljaXQgc3VwcG9ydC4gU3VwcG9ydCBmb3IgRE9NU3RyaW5nW10gaXMgYWRk
ZWQgdG8gdGhlIGJpbmRpbmcKLSAgICAgICAgY29kZSBnZW5lcmF0b3JzIChyZWxpYW50IG9uIERP
TVN0cmluZ0xpc3QpIHRvIGVuc3VyZSBKUyBhcnJheXMgYXJlIG5vdAotICAgICAgICBjb2VyY2Vk
IHRvIERPTVN0cmluZ3MuIFRoaXMgbWF0Y2hlcyB0aGUgcHJvcG9zZWQgSURMLgotCi0gICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06Ci0gICAgICAgIChHZW5lcmF0
ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24pOgotICAgICAgICAoR2V0TmF0aXZlVHlwZSk6Ci0g
ICAgICAgIChKU1ZhbHVlVG9OYXRpdmUpOgotICAgICAgICAoSXNBcnJheVR5cGUpOgotICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtOgotICAgICAgICAqIHN0b3JhZ2Uv
SURCRGF0YWJhc2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0
aW9uKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgotICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJh
c2UuaWRsOgotICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbXBsKToKLSAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw6Om9iamVjdFN0b3JlKToKLQotMjAxMS0xMC0yNyAgS2VuIEJ1Y2hhbmFuIDxrZW5yYkBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgQ3Jhc2ggZHVlIHRvIG5lc3RlZCBmaXJzdC1sZXR0ZXIg
c2VsZWN0b3JzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDQ1NwotCi0gICAgICAgIE5vdyBvbmx5IHRoZSBsb3dlc3QtbGV2ZWwgZmlyc3QtbGV0dGVy
IHBzZXVkb3N0eWxlIHdpbGwgYmUgYXBwbGllZCB0bwotICAgICAgICBhIGdpdmVuIHBpZWNlIG9m
IHRleHQuIFByZXZpb3VzbHkgdGhlIGxhc3QgcmVuZGVyZXIgdG8gaGF2ZSBsYXlvdXQKLSAgICAg
ICAgZG9uZSB3b3VsZCBoYXZlIGl0cyBwc2V1ZG9zdHlsZSBhcHBsaWVkLCBubyBtYXR0ZXIgd2hl
cmUgaXQgd2FzIGluIHRoZQotICAgICAgICB0cmVlLgotCi0gICAgICAgIFJldmlld2VkIGJ5IERh
dmlkIEh5YXR0LgotCi0gICAgICAgICogcmVuZGVyZXIvUmVuZGVyQmxvY2suY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnVwZGF0ZUZpcnN0TGV0dGVyKTogVXNlIHRoZSBwc2V1
ZG9zdHlsZSBmcm9tCi0gICAgICAgIHRoZSBsb3dlc3QgbGV2ZWwgbm9kZSB0byBoYXZlIG9uZQot
Ci0yMDExLTEwLTI3ICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAbm9raWEuY29tPgotCi0g
ICAgICAgIEZpeCB0aGUgYnVpbGQgaWYgTk9fTElTVEJPWF9SRU5ERVJJTkcgaXMgZW5hYmxlZAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMDkKLQot
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KLQotICAgICAg
ICBJZiBOT19MSVNUQk9YX1JFTkRFUklORyBpcyBlbmFibGVkIFJlbmRlck1lbnVMaXN0OjpsaXN0
Qm94U2VsZWN0SXRlbSB1c2VzIHRoZQotICAgICAgICBIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJv
eFNlbGVjdEl0ZW0gZnVuY3Rpb24gd2hpY2ggd2FzIGFjY2lkZW50YWxseSByZW1vdmVkIGluIHI5
NzUzMy4KLSAgICAgICAgUmVpbnRyb2R1Y2UgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hTZWxl
Y3RJdGVtIHdpdGggYSBOT19MSVNUQk9YX1JFTkRFUklORyBndWFyZCB0byB1bmJyZWFrIHRoaXMg
c2V0dXAuCi0KLSAgICAgICAgVGhpcyBpcyBjb3ZlcmVkIGJ5OgotICAgICAgICBTb3VyY2UvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvbm8tbGlzdGJveC1yZW5kZXJpbmcuaHRtbAotCi0gICAgICAgICog
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0
RWxlbWVudDo6bGlzdEJveFNlbGVjdEl0ZW0pOiBSZWludHJvZHVjZS4KLSAgICAgICAgKiBodG1s
L0hUTUxTZWxlY3RFbGVtZW50Lmg6Ci0KLTIwMTEtMTAtMjcgIFNoaW55YSBLYXdhbmFrYSAgPHNo
aW55YWtAZ29vZ2xlLmNvbT4KLQotICAgICAgICBJbXBsZW1lbnQgbGVnYWN5IHRleHQgY2hlY2sg
ZW11bGF0aW9uIGluIHVuaWZpZWQgdGV4dCBjaGVjayBpbnRlcmZhY2UuCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI5OQotCi0gICAgICAgIFJldmll
d2VkIGJ5IEhhamltZSBNb3JpdGEuCi0KLSAgICAgICAgV2hlbiBVTklGSUVEX1RFWFRfQ0hFQ0tJ
TkcgaXMgb2ZmLCBXZWJDb3JlOjpjaGVja1RleHRPZlBhcmFncmFwaCgpIGVtdWxhdGVzCi0gICAg
ICAgIFRleHRDaGVja2VyQ2xpZW50OjpjaGVja1RleHRPZlBhcmFncmFwaCgpIHVzaW5nIGNoZWNr
U3BlbGxpbmdPZlN0cmluZyBhbmQgY2hlY2tHcmFtbWFyT2ZTdHJpbmcuCi0KLSAgICAgICAgVGhp
cyBlbXVsYXRpb24gY2FuIGJlIHVzZWQgYnkgc2V0dGluZyB0aGUgZmxhZyBvbi4KLSAgICAgICAg
VGhpcyBjYW4gYmUgZG9uZSBieSBXZWJDb3JlOjpJbnRlcm5hbHM6OnNldFVuaWZpZWRUZXh0Q2hl
Y2tpbmdFbmFibGVkLgotCi0gICAgICAgIFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
dW5pZmllZC1lbXVsYXRpb24uaHRtbAotCi0gICAgICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdI
ZWxwZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6ZmluZEJhZEdyYW1tYXJzKTogQWRkZWQuCi0g
ICAgICAgIChXZWJDb3JlOjpmaW5kTWlzc3BlbGxpbmdzKTogQWRkZWQuCi0gICAgICAgIChXZWJD
b3JlOjpjaGVja1RleHRPZlBhcmFncmFwaCk6Ci0gICAgICAgICAgRW11bGF0ZXMgVGV4dENoZWNr
ZXJDbGllbnRzOjpjaGVja1RleHRPZlBhcmFncmFwaCBpZiBVTklGSUVEX1RFWFRfQ0hFQ0tJTkcg
aXMgb2ZmLgotICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQpOiBmbGFnIHNldHRl
ci4KLSAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dW5pZmllZFRleHRDaGVja2luZ0VuYWJs
ZWQpOiBmbGFnIGdldHRlci4KLSAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgotICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKLQotMjAxMS0xMC0yNyAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcmVtb3ZlIHRo
b3NlIHVuLW5lZWRlZCBmaWxlcyBjb21taXR0ZWQgYnkgZXJyb3IgaW4KLSAgICAgICAgcjk4NTU0
LgotCi0gICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyLyNBdWRpb0ZpbGVSZWFkZXJH
U3RyZWFtZXIuaCM6IFJlbW92ZWQuCi0gICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVy
Ly4jQXVkaW9GaWxlUmVhZGVyR1N0cmVhbWVyLmg6IFJlbW92ZWQuCi0KLTIwMTEtMTAtMjcgIFBo
aWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPiBhbmQgWmFuIERvYmVyc2VrICA8
emFuZG9iZXJzZWtAZ21haWwuY29tPgotCi0gICAgICAgIFtHU3RyZWFtZXJdIFdlYkF1ZGlvIEF1
ZGlvRmlsZVJlYWRlciBpbXBsZW1lbnRhdGlvbgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MzQKLQotICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4g
Um9iaW5zb24uCi0KLSAgICAgICAgQmFzaWMgRmlsZVJlYWRlciBpbXBsZW1lbnRhdGlvbiwgc3Vw
cG9ydGluZyBvbmUgb3IgMiBhdWRpbwotICAgICAgICBjaGFubmVscy4gQW4gZW1wdHkgQXVkaW9E
ZXN0aW5hdGlvbiBpcyBhbHNvIHByb3ZpZGVkLCBpdHMgY29tcGxldGUKLSAgICAgICAgaW1wbGVt
ZW50YXRpb24gaXMgaGFuZGxlZCBpbiBidWcgNjk4MzUuCi0KLSAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcDogQWRkZWQuCi0g
ICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uOjpjcmVhdGUpOgotICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9EZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1wbGVSYXRlKToKLSAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFt
ZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcjo6fkF1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlv
bkdTdHJlYW1lcjo6c3RhcnQpOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbkdT
dHJlYW1lcjo6c3RvcCk6Ci0gICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpBdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyOjppc1BsYXlpbmcpOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9E
ZXN0aW5hdGlvbkdTdHJlYW1lcjo6c2FtcGxlUmF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBdWRp
b0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpzb3VyY2VQcm92aWRlcik6Ci0gICAgICAgICogcGxhdGZv
cm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRmlsZVJlYWRlckdTdHJlYW1lci5jcHA6IEFkZGVkLgot
ICAgICAgICAoV2ViQ29yZTo6Z2V0R1N0cmVhbWVyQXVkaW9DYXBzKToKLSAgICAgICAgKFdlYkNv
cmU6OmdldEZsb2F0RnJvbUJ5dGVSZWFkZXIpOgotICAgICAgICAoV2ViQ29yZTo6Y29weUdzdHJl
YW1lckJ1ZmZlcnNUb0F1ZGlvQ2hhbm5lbCk6Ci0gICAgICAgIChXZWJDb3JlOjpvbkFwcHNpbmtO
ZXdCdWZmZXJDYWxsYmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjptZXNzYWdlQ2FsbGJhY2spOgot
ICAgICAgICAoV2ViQ29yZTo6b25HU3RyZWFtZXJEZWludGVybGVhdmVQYWRBZGRlZENhbGxiYWNr
KToKLSAgICAgICAgKFdlYkNvcmU6Om9uR1N0cmVhbWVyRGVpbnRlcmxlYXZlUmVhZHlDYWxsYmFj
ayk6Ci0gICAgICAgIChXZWJDb3JlOjpvbkdTdHJlYW1lckRlY29kZWJpblBhZEFkZGVkQ2FsbGJh
Y2spOgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjpBdWRpb0ZpbGVSZWFkZXIp
OgotICAgICAgICAoV2ViQ29yZTo6QXVkaW9GaWxlUmVhZGVyOjp+QXVkaW9GaWxlUmVhZGVyKToK
LSAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6aGFuZGxlQnVmZmVyKToKLSAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6aGFuZGxlTWVzc2FnZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmhhbmRsZU5ld0RlaW50ZXJsZWF2ZVBhZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmRlaW50ZXJsZWF2ZVBhZHNDb25maWd1cmVk
KToKLSAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRmlsZVJlYWRlcjo6cGx1Z0RlaW50ZXJsZWF2ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpBdWRpb0ZpbGVSZWFkZXI6OmNyZWF0ZUJ1cyk6Ci0gICAgICAg
IChXZWJDb3JlOjpjcmVhdGVCdXNGcm9tQXVkaW9GaWxlKToKLSAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZUJ1c0Zyb21Jbk1lbW9yeUF1ZGlvRmlsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Z3RrL0F1ZGlvQnVzR3RrLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpBdWRpb0J1czo6
bG9hZFBsYXRmb3JtUmVzb3VyY2UpOgotCi0yMDExLTEwLTI3ICBQaGlsaXBwZSBOb3JtYW5kICA8
cG5vcm1hbmRAaWdhbGlhLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByZWJhc2VsaW5lIG9m
IHRoZSBiaW5kaW5ncyB0ZXN0cyBhZnRlciByOTg1MDEgd2hpY2gKLSAgICAgICAgcmVtb3ZlZCBn
ZXRPd25Qcm9wZXJ0eVNsb3RWaXJ0dWFsLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKLSAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOgotICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgotICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaDoKLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoK
LSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmg6Ci0KLTIwMTEtMTAtMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYkluc3BlY3RvcjogVmlldyB0aHJvdWdocyB0
aGUgZXhjZXB0aW9uIHdoZW4gYSBjaGlsZCB2aWV3IGFyZSByZW1vdmVkIGJ5IHJlbW92ZUNoaWxk
cmVuIGNhbGwuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTAwMgotCi0gICAgICAgIEFub3RoZXIgZm9sbG93dXAgZml4IGFmdGVyIHI5ODIyNS4KLQot
ICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9EYXRhYmFzZVRhYmxlVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5E
YXRhYmFzZVRhYmxlVmlldy5wcm90b3R5cGUuX3F1ZXJ5RmluaXNoZWQpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRhdGFiYXNlVGFibGVWaWV3LnByb3RvdHlwZS5fcXVlcnlFcnJvcik6Ci0KLTIw
MTEtMTAtMjcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgV2ViIEluc3BlY3RvcjogRXhlY3V0aW9uIGxpbmUgaW4gc2VsZWN0ZWQgY2FsbCBmcmFtZSBz
aG91bGQga2VlcCBzaG93aW5nIGFmdGVyIHRvZ2dsaW5nIGZvcm1hdCBzb3VyY2UuCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwNgotCi0gICAgICAg
IFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAgICAgICAgVGVzdDogaW5zcGVjdG9y
L2RlYnVnZ2VyL3NlbGVjdGVkLWNhbGwtZnJhbWUtYWZ0ZXItZm9ybWF0dGluZy1zb3VyY2UuaHRt
bAotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
cHJvdG90eXBlLnNldEZvcm1hdFNvdXJjZSk6Ci0KLTIwMTEtMTAtMjcgIFN0ZXZlIEJsb2NrICA8
c3RldmVibG9ja0Bnb29nbGUuY29tPgotCi0gICAgICAgIE51bWVyb3VzIGRlYnVnIGJ1aWxkIGZp
eGVzCi0KLSAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCi0KLSAgICAgICAgTm8gbmV3IHRl
c3RzLCBidXVsZCBmaXggb25seS4KLQotICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHA6IHVybEZvckxvZ2dpbmcoKSBpcyB1c2VkIGJ5IGJvdGggTE9HKCkgYW5kIExPR19FUlJP
UigpCi0gICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmg6IGRhdGFiYXNlRGVidWdO
YW1lKCkgaXMgdXNlZCBieSBib3RoIExPRygpIGFuZCBMT0dfRVJST1IoKQotICAgICAgICAqIHN0
b3JhZ2UvRGF0YWJhc2VUYXNrLmNwcDogbV9jb21wbGV0ZSBpcyBvbmx5IGF2YWlsYWJsZSB3aGVu
ICFMT0dfRElTQUJMRUQKLQotMjAxMS0xMC0yNyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNo
cm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZWZhY3RvciBTY3JpcHRzUGFu
ZWwgc28gdGhhdCBDb25zb2xlVmlldyBkb2VzIG5vdCBkZXBlbmQgb24gaXQuCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg5OQotCi0gICAgICAgIE1v
dmVkIG1ldGhvZHMgdXNlZCBpbiBjb25zb2xlIHZpZXcgdG8gRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC4KLSAgICAgICAgQ2hhbmdlZCBkZWJ1Z2dlclBhdXNlZCBoYW5kbGVyIGxvZ2ljIHNvIHRo
YXQgc2VsZWN0ZWRDYWxsRnJhbWUgaXMgbmV2ZXIgbnVsbCB3aGVuIGRlYnVnZ2VyIGlzIHBhdXNl
ZC4KLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2RlYnVnZ2VyUGF1c2VkKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlw
ZS5zZXQgc2VsZWN0ZWRDYWxsRnJhbWUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFtZSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5
cGUuZ2V0U2VsZWN0ZWRDYWxsRnJhbWVWYXJpYWJsZXMucHJvcGVydGllc0NvbGxlY3RlZCk6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUu
Z2V0U2VsZWN0ZWRDYWxsRnJhbWVWYXJpYWJsZXMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9kaXNwYXRjaEV4ZWN1dGlvbkxpbmVD
aGFuZ2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LnByb3RvdHlwZS5nZXQgZXhlY3V0aW9uTGluZUxvY2F0aW9uKToKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLl9jb25zb2xlQ29tbWFuZEV2YWx1YXRlZEluU2VsZWN0ZWRDYWxs
RnJhbWUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2V4
ZWN1dGlvbkxpbmVDaGFuZ2VkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwu
cHJvdG90eXBlLl91cGRhdGVFeGVjdXRpb25MaW5lKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlLl9jYWxsRnJhbWVTZWxlY3RlZCk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fdXBkYXRlQ2FsbEZyYW1lKToKLQotMjAx
MS0xMC0yNyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KLQotICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBBZGQgc3VwcG9ydCBmb3IgYWR2YW5jZWQgc2VhcmNoIGluIGNvbnRl
bnQgc2NyaXB0cy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwOTIzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAg
ICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKLSAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFyY2hTY29wZS5qczoKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNl
dHRpbmdzU2NyZWVuKToKLQotMjAxMS0xMC0yNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCBvbmUgbGluZSBmaXggZm9yIERPTVN0
b3JhZ2VJdGVtc1ZpZXcuCi0gICAgICAgIEl0IGhhdmUgdG8gdXNlIHRoaXMuZGV0YWNoQ2hpbGRW
aWV3cyBpbnN0ZWFkIG9mIHRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZHJlbiBhZnRlciByOTgyMjUu
Ci0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanM6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUudXBk
YXRlKToKLQotMjAxMS0xMC0yNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+Ci0K
LSAgICAgICAgTWF0Y2hlZCBkZWNsYXJhdGlvbiBjYWNoZQotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzEKLQotICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KLQotICAgICAgICBTZXRzIG9mIHN0eWxlIGRlY2xhcmF0aW9ucyBhcmUgYXBw
bGllZCByZXBlYXRlZGx5IGZvciBkaWZmZXJlbnQgZWxlbWVudHMgd2hlbiBjYWxjdWxhdGluZyB0
aGUgZG9jdW1lbnQgc3R5bGUuCi0gICAgICAgIFRoZSBzYW1lIHNldCBvZiBhcHBsaWVkIGRlY2xh
cmF0aW9ucyByZXN1bHRzIGluIHRoZSBzYW1lIG5vbi1pbmhlcml0ZWQgc3R5bGUsIGluZGVwZW5k
ZW50IG9mIHRoZSBlbGVtZW50IGFuZCAKLSAgICAgICAgaXRzIGNvbnRleHQuIFdlIGNhbiB1c2Ug
dGhpcyB0byBidWlsZCBhIGNhY2hlIHRvIHNwZWVkIHVwIHN0eWxlIGFwcGx5aW5nIGFuZCB0byBz
aGFyZSBtb3JlIHN0eWxlIGRhdGEgZm9yCi0gICAgICAgIHJlZHVjZWQgbWVtb3J5IHVzYWdlLgot
ICAgICAgICAKLSAgICAgICAgVGhlIHBhdGNoIHJlZHVjZXMgUmVuZGVyU3R5bGUgbWVtb3J5IHVz
ZSB+NDAlIGFuZCB0b3RhbCBtZW1vcnkgdXNlIGJ5IH43JSBvdmVyIEhUTUw1IHNwZWMgbG9hZC4K
LSAgICAgICAgSXQgaXMgYWxzbyB+MTAlIHByb2dyZXNzaW9uIGluIFBlcmZvcm1hbmNlVGVzdHMv
UGFyc2VyL2h0bWw1LWZ1bGwtcmVuZGVyLmh0bWwuCi0KLSAgICAgICAgKiBjc3MvQ1NTUHJvcGVy
dHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVy
dHkpOgotICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHk6OkNTU1Byb3BlcnR5KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojpp
c0luaGVyaXRlZCk6Ci0gICAgICAgIAotICAgICAgICAgICAgV2UgbmVlZCB0byBrbm93IHdoaWNo
IHByb3BlcnRpZXMgYXJlIGluaGVyaXRlZCwgc29tZXRoaW5nIHdlIGRpZG4ndCBoYXZlIGF2YWls
YWJsZSBzbyBmYXIuCi0gICAgICAgIAotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoQWxsUnVsZXMpOgot
ICAgICAgICAKLSAgICAgICAgICAgIEEgc2V0IG9mIGRlY2xhcmF0aW9ucyBpcyBvbmx5IGNhY2hl
YWJsZSBpZiBpdCBjb250YWlucyBubyBlbGVtZW50IHNwZWNpZmljIHN0eWxlLiBUaGlzIHdheSB3
ZQotICAgICAgICAgICAgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBjYWNoZSBpbnZhbGlkYXRp
b24uIFRoZSB3aG9sZSBzdHlsZSBzZWxlY3RvciBpcyByZWNvbnN0cnVjdGVkIGlmIHRoZQotICAg
ICAgICAgICAgc3R5bGVzaGVldHMgY2hhbmdlLCBpbnZhbGlkYXRpbmcgdGhlIGNhY2hlIHRvby4K
LSAgICAKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRWxlbWVu
dCk6Ci0gICAgICAgIAotICAgICAgICAgICAgVHJpZ2dlciBpbWFnZSBsb2FkcyBiaXQgZWFybGll
ciBzbyBjYWNoZWQgc3R5bGUgd2lsbCBoYXZlIHRoZW0gdG9vLgotICAgICAgICAKLSAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5RGVjbGFyYXRpb24pOgotICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlEZWNsYXJhdGlvbnMpOgotICAgICAgICAK
LSAgICAgICAgICAgIEFsbG93IHNraXBwaW5nIG92ZXIgbm9uLWluaGVyaXRlZCBwcm9wZXJ0aWVz
LgotICAgICAgICAKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbXB1dGVE
ZWNsYXJhdGlvbkhhc2gpOgotICAgICAgICAKLSAgICAgICAgICAgIEhhc2ggZnVuY3Rpb24gZm9y
IGRlY2xhcnRpb24gY2FjaGUgbG9va3Vwcy4KLSAgICAgICAgCi0gICAgICAgIChXZWJDb3JlOjpv
cGVyYXRvcj09KToKLSAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yIT0pOgotICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6ZmluZEZyb21NYXRjaGVkRGVjbGFyYXRpb25DYWNoZSk6
Ci0gICAgICAgIAotICAgICAgICAgICAgTG9va3VwIGZyb20gY2FjaGUuCi0gICAgICAgIAotICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YWRkVG9NYXRjaGVkRGVjbGFyYXRpb25D
YWNoZSk6Ci0gICAgICAgIAotICAgICAgICAgICAgQWRkIHRvIGNhY2hlLgotICAgICAgICAKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5TWF0Y2hlZERlY2xhcmF0aW9u
cyk6Ci0gICAgICAgIAotICAgICAgICAgICAgSWYgY2FjaGVkIHN0eWxlIGlzIGZvdW5kLCBjb3B5
IHRoZSBub24taW5oZXJpdGVkIHByb3BlcnRpZXMgZnJvbSB0aGUgY2FjaGUgYW5kIGFwcGx5IHRo
ZSBpbmhlcml0ZWQgcHJvcGVydGllcyAoaWYgYW55KSBvbmx5LgotICAgICAgICAKLSAgICAgICAg
ICAgIEZvbnQgYW5kIHpvb20gY2hhbmdlcyBmb3JjZSBmdWxsIGFwcGx5aW5nIGFzIHRoZXkgY2Fu
IGFmZmVjdCB2YWx1ZXMgb2Ygb3RoZXIgcHJvcGVydGllcyAodGhpcyBjYW4gYmUgcmVsYXhlZCBs
YXRlcikuCi0gICAgICAgIAotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpNYXRjaFJlc3VsdDo6TWF0Y2hSZXN1bHQp
OgotICAgICAgICAKLSAgICAgICAgICAgIENhY2hlYWJpbGl0eSBiaXQuCi0gICAgICAgIAotICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6Y29weU5vbkluaGVyaXRlZEZyb20pOgotICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6Y29weU5vbklu
aGVyaXRlZEZyb20pOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5o
OgotICAgICAgICAKLSAgICAgICAgICAgIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBSZW5kZXJT
dHlsZSBmcm9tIG5vbi1pbmhlcml0ZWQgcGFydHMgb2YgdGhlIGNhY2hlZCBzdHlsZS4KLQotMjAx
MS0xMC0yNyAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IFtFeHRlbnNpb25zIEFQSV0gYWRkIGlnbm9yZUNhY2hlIGZsYWcgdG8g
b3B0aW9ucyBvZiBpbnNwZWN0ZWRXaW5kb3cucmVsb2FkKCkKLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
UGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zLWlnbm9yZS1jYWNoZS5odG1sCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0V4dGVuc2lvblNlcnZlci5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2
ZXIucHJvdG90eXBlLl9vblJlbG9hZCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9l
eHRlcm5zLmpzOgotICAgICAgICAoKToKLQotMjAxMS0xMC0yNiAgU3RldmUgRmFsa2VuYnVyZyAg
PHNmYWxrZW5AYXBwbGUuY29tPgotCi0gICAgICAgIFJlc291cmNlRXJyb3IgZG9lc24ndCBzdXBw
b3J0IGN1c3RvbSBkb21haW5zIG9uIFdpbmRvd3MKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTgzCi0gICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDM1
MjE0NT4KLQotICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KLQotICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VFcnJvckNGLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtTGF6eUluaXQpOiBBZGQgZmFsbGJhY2sgY2FzZSBmb3Ig
dW5rbm93biBlcnJvciB0eXBlcy4KLQotMjAxMS0xMC0yNiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgotCi0gICAgICAgIEZpeCBhIHNsaWRlciB0aHVtYiByZW5kZXJpbmcgcmVncmVz
c2lvbiBpbiBDaHJvbWl1bSBvbiBPUyBYIGluIHI5ODUyMC4KLQotICAgICAgICBSZXZpZXdlZCBi
eSBBbmRlcnMgQ2FybHNzb24uCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW06Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRTbGlkZXJUaHVtYik6
IFJldmVydGVkIHRoZSBjaGFuZ2VzIHRvIHRoZSBDaHJvbWl1bSBjb2RlIHBhdGguCi0KLTIwMTEt
MTAtMjYgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+Ci0KLSAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4NDg2LgotICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC85ODQ4NgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NDgKLQotICAgICAgICBCcm9rZSBDaHJvbWl1bSdzIHRlc3Rf
ZXhwZWN0YXRpb24udHh0Ci0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRm
b3JtQ29udGV4dFNraWEuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0U2tp
YTo6U3RhdGU6OlN0YXRlKToKLSAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29udGV4dFNraWE6
OlN0YXRlOjpjbG9uZUluaGVyaXRlZFByb3BlcnRpZXMpOgotICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1Db250ZXh0U2tpYTo6Y2xpcFBhdGhBbnRpQWxpYXNlZCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybUNvbnRleHRTa2lhOjpyZXN0b3JlKToKLSAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ29udGV4dFNraWE6OmFwcGx5QW50aUFsaWFzZWRDbGlwUGF0aHMpOgotICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oOgotCi0yMDExLTEwLTI2
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+Ci0KLSAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwMzUwNzc1PiBSRUdSRVNTSU9OIChyOTcwMzIpOiBTbGlkZXIgdGh1bWIgaXMgbm90IGRy
YXduCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg5
MQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KLQotICAgICAgICAqIHBs
YXRmb3JtL21hYy9UaGVtZU1hYy5tbToKLSAgICAgICAgKFdlYkNvcmU6OlRoZW1lTWFjOjplbnN1
cmVkVmlldyk6IFNldCB0aGUgV2ViQ29yZUZsaXBwZWRWaWV34oCZcyBzaXplLCBiZWNhdXNlIE5T
U2xpZGVyQ2VsbAotICAgICAgICBhbHdheXMgc2hyaW5rcyB0aGUgc2xpZGVyIHRodW1iIHRvIGZp
dCBpbiB0aGUgY29udHJvbCB2aWV34oCZcyBib3VuZHMuCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50
U2xpZGVyVGh1bWIpOiBSZW1vdmVkIHdvcmthcm91bmQgY29kZSBubyBsb25nZXIgbmVlZGVkIGFm
dGVyCi0gICAgICAgIHI5NzAzMi4KLQotMjAxMS0xMC0yNiAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vy
c0Bnb29nbGUuY29tPgotCi0gICAgICAgIEFkZCBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50IGFu
ZCBzZXRGb3JtYXQoKSBtZXRob2Qgc28gd2UgY2FuIGtub3cgYXVkaW8gc3RyZWFtIGZvcm1hdAot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTUKLQot
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCi0KLSAgICAgICAgTm8gbmV3IHRlc3Rz
LiAgVGhlcmUgaXNuJ3QgeWV0IGFuIGltcGxlbWVudGF0aW9uIHRvIHRlc3QuCi0KLSAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6c2V0QXVkaW9Tb3VyY2VOb2RlKToKLSAgICAgICAgTGV0IE1lZGlhUGxheWVyIGtu
b3cgYWJvdXQgdGhlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSBzbyBpdCBjYW4gY2FsbGJh
Y2sgd2l0aCBhdWRpbyBzdHJlYW0gZm9ybWF0IGluZm9ybWF0aW9uLgotICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU291cmNlUHJvdmlkZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
U291cmNlUHJvdmlkZXI6OnNldENsaWVudCk6Ci0gICAgICAgIEFkZCBhYnN0cmFjdCBzZXRDbGll
bnQoKSBtZXRob2Qgc28gYSBjbGllbnQgbWF5IGtub3cgYWJvdXQgc3RyZWFtIGZvcm1hdCBpbmZv
cm1hdGlvbiB3aGVuIGl0IGJlY29tZXMgYXZhaWxhYmxlLgotICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL0F1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmguCi0gICAgICAgIChXZWJD
b3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50Ojp+QXVkaW9Tb3VyY2VQcm92aWRlckNsaWVu
dCk6Ci0gICAgICAgIEFkZCBhYnN0cmFjdCBjbGFzcyBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50
IHdoaWNoIGltcGxlbWVudHMgc2V0Rm9ybWF0KCkgdG8gcmVjZWl2ZSBhdWRpbyBzdHJlYW0gZm9y
bWF0IGluZm9ybWF0aW9uLgotICAgICAgICAqIHdlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGU6OnNldEZvcm1hdCk6Ci0gICAgICAgIENvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIHNldEZv
cm1hdCgpIHNvIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSBjYW4gY3JlYXRlIG5lY2Vzc2Fy
eSBhdWRpbyBjb252ZXJ0ZXJzLgotICAgICAgICAqIHdlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5oOgotICAgICAgICBNYWtlIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSBp
bXBsZW1lbnQgQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudCBzbyBpdCBjYW4gZ2V0IGF1ZGlvIHN0
cmVhbSBmb3JtYXQgaW5mb3JtYXRpb24KLSAgICAgICAgd2hlbiBpdHMgc2V0Rm9ybWF0KCkgbWV0
aG9kIGlzIGNhbGxlZC4KLQotMjAxMS0xMC0yNiAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJh
aXhAd2Via2l0Lm9yZz4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg0ODMu
Ci0gICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4NDgzCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE1NgotCi0gICAgICAg
IENoYW5nZSBpcyBjYXVzaW5nIHNvbWUgY3Jhc2hlcyBhbmQgQVNTRVJUcy4KLQotICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJ
bWFnZTo6bG9va3VwSW1hZ2VGb3JTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdl
Ojpsb29rdXBJbWFnZUZvclJlbmRlcmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdl
Ojpsb29rdXBPckNyZWF0ZUltYWdlRm9yUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkSW1hZ2U6OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6Ci0gICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRJbWFnZTo6aW1hZ2VTaXplRm9yUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkSW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKToKLSAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6Ci0gICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZEltYWdlLmg6Ci0gICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKLSAgICAgICAgKiBy
ZW5kZXJpbmcvSW1hZ2VCeVNpemVDYWNoZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ5
U2l6ZUNhY2hlOjphZGRDbGllbnQpOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCeVNpemVDYWNo
ZTo6cmVtb3ZlQ2xpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnlTaXplQ2FjaGU6Omlt
YWdlRm9yU2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ5U2l6ZUNhY2hlOjpzaXplRm9y
Q2xpZW50KToKLSAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VCeVNpemVDYWNoZS5oOgotICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlRmlsbFRpbGVTaXplKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNrZ3JvdW5kSW1hZ2VH
ZW9tZXRyeSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRO
aW5lUGllY2VJbWFnZSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
Lmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckltYWdlOjpSZW5kZXJJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bWFnZTo6aW1hZ2VEaW1lbnNpb25zQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bWFnZTo6aXNMb2dpY2FsV2lkdGhTcGVjaWZpZWQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2U6OmlzTG9naWNhbEhlaWdodFNwZWNpZmllZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbWFnZTo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckltYWdlOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KToKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckltYWdlOjpjYWxjQXNwZWN0UmF0aW9Mb2dpY2FsV2lkdGgpOgotICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNhbGNBc3BlY3RSYXRpb0xvZ2ljYWxIZWlnaHQpOgot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgotICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlUmVz
b3VyY2U6OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6Ci0gICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmNwcDoKLSAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckltYWdlUmVzb3VyY2VTdHlsZUltYWdlOjppbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKToK
LSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6Ci0g
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRoKToKLSAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljTG9naWNhbEhlaWdodCk6
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoKToKLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hlZEltYWdlOjpjb21wdXRlSW50cmluc2ljRGlt
ZW5zaW9ucyk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZUNhY2hlZEltYWdlOjpzZXRDb250YWlu
ZXJTaXplRm9yUmVuZGVyZXIpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVDYWNoZWRJbWFnZTo6
YWRkQ2xpZW50KToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ2FjaGVkSW1hZ2U6OnJlbW92ZUNs
aWVudCk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaDoKLSAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5oOgotICAgICAgICAo
V2ViQ29yZTo6U3R5bGVHZW5lcmF0ZWRJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVy
KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oOgotICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oOgotICAgICAgICAoV2ViQ29yZTo6U3R5
bGVQZW5kaW5nSW1hZ2U6OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6Ci0gICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdJbWFnZTo6bGF5b3V0KToKLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNp
Y1dpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5z
aWNIZWlnaHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlcGxh
Y2VkTG9naWNhbFdpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9v
dDo6bGF5b3V0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnBhaW50KToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNhbGNWaWV3cG9ydCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgotICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oOgotICAgICAgICAqIHN2Zy9TVkdMZW5ndGgu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpkZXRlcm1pbmVWaWV3cG9ydCk6Ci0g
ICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZH
RWxlbWVudDo6U1ZHU1ZHRWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50
OjpyZWxhdGl2ZVdpZHRoVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6
cmVsYXRpdmVIZWlnaHRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50Ojpj
dXJyZW50Vmlld0JveFJlY3QpOgotICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzZXRDb250YWluZXJTaXplKToKLSAgICAgICAg
KFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OmNvbnRhaW5lclNpemUpOgotICAgICAgICAoV2ViQ29y
ZTo6U1ZHU1ZHRWxlbWVudDo6aGFzU2V0Q29udGFpbmVyU2l6ZSk6Ci0gICAgICAgICogc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpzZXRDb250
YWluZXJTaXplKToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjp1c2VzQ29udGFpbmVyU2l6
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6c2l6ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpTVkdJbWFnZTo6aGFzUmVsYXRpdmVXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFn
ZTo6aGFzUmVsYXRpdmVIZWlnaHQpOgotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRyYXcp
OgotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNEaW1lbnNpb25z
KToKLSAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6Ci0gICAgICAgICog
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmg6Ci0KLTIwMTEtMTAtMjYgIEVyaWMgQ2FybHNvbiAgPGVy
aWMuY2FybHNvbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgQ29uc3RydWN0b3JzIGZvciBhbGwgVGV4
dFRyYWNrIGludGVyZmFjZXMgc2hvdWxkIGJlIGF2YWlsYWJsZSBvbiBET01XaW5kb3cKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLSAgICAgICAgCi0gICAgICAgIHdpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dCBhbmQgZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQg
dXBkYXRlZCBmb3IgdGhpcyBjaGFuZ2UuCi0KLSAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
IEFkZCBIVE1MVHJhY2tFbGVtZW50LCBUZXh0VHJhY2ssIGFuZCBUZXh0VHJhY2tDdWVMaXN0Lgot
Ci0yMDExLTEwLTI1ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KLQotICAgICAgICBS
RUdSRVNTSU9OIChyOTMxMDgpOiBTaGFkb3cgRE9NIG1lZGlhIGNvbnRyb2xzIGNyZWF0ZWQgZm9y
IHBsdWctaW4gYmFja2VkIG1lZGlhIGVsZW1lbnRzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NzIKLQotICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IENhcmxzb24uCi0KLSAgICAgICAgcjkzMTA4IGFkZGVkIGEgY2FsbCB0byBIVE1MTWVkaWFFbGVt
ZW50Ojpjb25maWd1cmVNZWRpYUNvbnRyb2xzKCkgaW4KLSAgICAgICAgSFRNTE1lZGlhRWxlbWVu
dDo6cHJlcGFyZUZvckxvYWQoKSwgd2hpY2ggY3JlYXRlcyBzaGFkb3cgRE9NIG1lZGlhCi0gICAg
ICAgIGNvbnRyb2xzIGFuZCBpcyBvbmx5IGFwcHJvcHJpYXRlIHRvIGNhbGwgd2hlbiBtZWRpYSBl
bGVtZW50cyBhcmUgbm90Ci0gICAgICAgIGJhY2tlZCBieSBwbHVnLWluIHByb3hpZXMuCi0KLSAg
ICAgICAgUmVzb2x2ZSB0aGlzIGJ5IHJlZmFjdG9yaW5nIGNvbmZpZ3VyZU1lZGlhQ29udHJvbHMo
KSB0byBkbyB0aGUgcmlnaHQKLSAgICAgICAgdGhpbmcgZm9yIHRoZSBwbHVnLWluIHByb3h5IGNh
c2UgYnkgY2FsbGluZyBNZWRpYVBsYXllcjo6c2V0Q29udHJvbHMoKS4KLQotICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogQ2FsbAotICAgICAgICBjb25maWd1cmVNZWRpYUNvbnRy
b2xzKCkgZGlyZWN0bHkgYW5kIHJlbW92ZSB0aGUgcHJlcHJvY2Vzc29yCi0gICAgICAgIGNvbmRp
dGlvbmFsLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlTWVk
aWFDb250cm9scyk6IENhbGwKLSAgICAgICAgTWVkaWFQbGF5ZXI6OnNldENvbnRyb2xzKCkgaWYg
UExVR0lOX1BST1hZX0ZPUl9WSURFTyBpcyBlbmFibGVkLgotCi0yMDExLTEwLTI2ICBKb24gTGVl
ICA8am9ubGVlQGFwcGxlLmNvbT4KLQotICAgICAgICBzZWxlY3RlZEluZGV4IGdldHMgc2V0IGZy
b20gLTEgdG8gMCB3aGVuIG1vZGlmeWluZyBvcHRpb25zCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NwotICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODM4ODg1Nj4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBD
aGFuZ2luZyB0aGUgdGV4dCBjYXVzZXMgYSByZWNhbGN1bGF0aW9uIG9mIHRoZSBsaXN0IGl0ZW1z
LCB3aGljaCBpbiB0aGUgbWVudSBsaXN0IGNhc2UKLSAgICAgICAgZm9yY2VzIHRoZSBmaXJzdCBl
bGVtZW50IHRvIGJlIHNlbGVjdGVkLiBXZSBjaGVjayB0aGUgdmFsdWUgb2YgdGhlIHNlbGVjdGVk
IG9wdGlvbiBwcmlvciwKLSAgICAgICAgYW5kIHJlc3RvcmUgaXQgaWYgaXQgZGlmZmVycy4KLQot
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3RlZC1pbmRleC1w
cmVzZXJ2ZWQtd2hlbi1vcHRpb24tdGV4dC1jaGFuZ2VzLmh0bWwKLQotICAgICAgICAqIGh0bWwv
SFRNTE9wdGlvbkVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1l
bnQ6OnNldFRleHQpOgotICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDogcHJvbW90
ZSB1c2VzTWVudUxpc3QoKSBmcm9tIHByaXZhdGUgdG8gcHVibGljIGZvciB1c2UgYnkgSFRNTE9w
dGlvbkVsZW1lbnQKLQotMjAxMS0xMC0yNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KLQotICAgICAgICBFbWJlZGRlZCBQREZzIHNob3VsZCBiZSBrbm93biB0byBEb2N1bWVu
dExvYWRlcgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzA4NjQKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICAqIFdl
YkNvcmUuZXhwLmluOiBBZGRlZCBleHBvcnRzLgotCi0yMDExLTEwLTI2ICBNYXJrIEhhaG5lbmJl
cmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+Ci0KLSAgICAgICAgUmVtb3ZlIGdldE93blByb3Bl
cnR5U2xvdFZpcnR1YWwKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNzQxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCi0KLSAg
ICAgICAgTm8gbmV3IHRlc3RzLgotCi0gICAgICAgIFJlbW92ZWQgYWxsIGRlY2xhcmF0aW9ucyBh
bmQgZGVmaW5pdGlvbnMgb2YgZ2V0T3duUHJvcGVydHlTbG90VmlydHVhbC4KLSAgICAgICAgQWxz
byByZXBsYWNlZCBhbGwgY2FsbCBzaXRlcyB0byBnZXRPd25Qcm9wZXJ0eVZpcnR1YWxWaXJ0dWFs
IHdpdGggYSAKLSAgICAgICAgY29ycmVzcG9uZGluZyBsb29rdXAgaW4gdGhlIE1ldGhvZFRhYmxl
LgotCi0gICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6RGlhbG9nSGFuZGxlcjo6cmV0
dXJuVmFsdWUpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Z2V0T3duUHJvcGVydHlTbG90KToK
LSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmg6Ci0gICAgICAgICogYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNs
b25lU2VyaWFsaXplcjo6Z2V0U3BhcnNlSW5kZXgpOgotICAgICAgICAoV2ViQ29yZTo6Q2xvbmVT
ZXJpYWxpemVyOjpnZXRQcm9wZXJ0eSk6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0gICAgICAgIChHZW5l
cmF0ZUltcGxlbWVudGF0aW9uKToKLSAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJh
dGlvbik6Ci0gICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6Ci0gICAgICAg
ICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6Ci0gICAgICAgICogYnJpZGdlL29iamMvb2Jq
Y19ydW50aW1lLm1tOgotICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKLSAgICAg
ICAgKiBicmlkZ2UvcXQvcXRfcnVudGltZS5oOgotICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2Fy
cmF5LmNwcDoKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgotICAgICAgICAqIGJy
aWRnZS9ydW50aW1lX21ldGhvZC5jcHA6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9k
Lmg6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKLSAgICAgICAgKiBicmlk
Z2UvcnVudGltZV9vYmplY3QuaDoKLQotMjAxMS0xMC0yNiAgQWxlamFuZHJvIEcuIENhc3RybyAg
PGFsZXhAaWdhbGlhLmNvbT4KLQotICAgICAgICBbR1RLXSBGaXggZGlzdGNoZWNrIGNvbXBpbGF0
aW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDky
MQotCi0gICAgICAgIEFkZCBFdmVudFRhcmdldEZhY3RvcnkuaW4gdG8gdGhlIGRpc3QgZmlsZXMs
IHJlcXVpcmVkIGFmdGVyCi0gICAgICAgIHI5ODM4OC4KLQotICAgICAgICBSZXZpZXdlZCBieSBN
YXJ0aW4gUm9iaW5zb24uCi0KLSAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLQotMjAxMS0xMC0y
NiAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KLQotICAgICAgICBJbmNyZWFz
ZSBTdHJpbmdJbXBsIEZsYWcgQml0cyBmb3IgOCBiaXQgU3RyaW5ncwotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzcKLQotICAgICAgICBJbmNyZWFz
ZWQgdGhlIG51bWJlciBvZiBiaXRzIHVzZWQgZm9yIGZsYWdzIGluIFN0cmluZ0ltcGwKLSAgICAg
ICAgZnJvbSA2IHRvIDggYml0cy4gVGhpcyBmcmVlcyB1cCAyIGZsYWcgYml0cyB0aGF0IHdpbGwg
YmUKLSAgICAgICAgdXNlZCBmb3IgOC1iaXQgc3RyaW5nIHN1cHBvcnQuIFVwZGF0ZWQgaGFzaCBt
ZXRob2RzIGFjY29yZGluZ2x5LgotICAgICAgICBDaGFuZ2VkIGhhc2ggdmFsdWUgbWFza2luZyBm
cm9tIHRoZSBsb3cgYml0cyB0byB0aGUgaGlnaAotICAgICAgICBiaXRzLgotCi0gICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhhc2hWYWx1ZSk6Ci0KLTIwMTEtMTAt
MjYgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KLQotICAgICAgICBS
RUdSRVNTSU9OIChyOTQ4ODcpOiBTY3JvbGxpbmcgdGhlIEhUTUwgc3BlYyBpcyBtb3JlIGplcmt5
IG5vdyB0aGFuIGl0IHdhcyAocmVncmVzc2lvbikKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODU3Ci0KLSAgICAgICAgUmV2ZXJ0IHI5NDg4NywgYmVj
YXVzZSBpdCByZWdyZXNzZWQgcGVyZm9ybWFuY2UuCi0KLSAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjYW5TaGFyZVN0eWxlV2l0aEVs
ZW1lbnQpOgotICAgICAgICAoV2ViQ29yZTo6cGFyZW50U3R5bGVQcmV2ZW50c1NoYXJpbmcpOgot
ICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKToKLSAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZWNhbGNTdHlsZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpjaGVja0ZvclNpYmxpbmdTdHlsZUNoYW5nZXMpOgotICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6UmVu
ZGVyU3R5bGUpOgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgotICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNoaWxkcmVuQWZmZWN0ZWRCeURpcmVjdEFk
amFjZW50UnVsZXMpOgotICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldENoaWxk
cmVuQWZmZWN0ZWRCeURpcmVjdEFkamFjZW50UnVsZXMpOgotCi0yMDExLTEwLTI2ICBBbGV4YW5k
ZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3Rv
cjogTmVlZCB3b3JrYXJvdW5kIGZvciB0aGUgcmVkIGNyb3NzZWQgY2lyY2xlIGluIHRoZSBzdGF0
dXMgYmFyIG5vdCBicmluZ2luZyB1cCB0aGUgY29uc29sZSB3aGVuIGNsaWNrZWQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI4Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmNzczoKLSAgICAgICAgKCNlcnJvci1jb3VudC1pbWcpOgotICAgICAgICAo
I2Vycm9yLWNvdW50ICsgI3dhcm5pbmctY291bnQtaW1nKToKLSAgICAgICAgKCN3YXJuaW5nLWNv
dW50LWltZyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuX3VwZGF0ZUVycm9yQW5kV2FybmluZ0NvdW50cyk6Ci0KLTIw
MTEtMTAtMjYgIE1pa2UgUmVlZCAgPHJlZWRAZ29vZ2xlLmNvbT4KLQotICAgICAgICBbc2tpYV0g
cmVwbGFjZSBvZmZzY3JlZW4gdGVjaG5pcXVlIHdpdGggbmF0aXZlIHN1cHBvcnQgZm9yIGFudGlh
bGlhc2VkIGNsaXBwaW5nCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDc0OAotCi0gICAgICAgIFJldmlld2VkIGJ5IFN0ZXBoZW4gV2hpdGUuCi0KLSAg
ICAgICAgfjEwMCBsYXlvdXQgdGVzdHMgbmVlZCB0byBiZSByZWJhc2VsaW5lZCwgYXMgdGhlIG5h
dGl2ZSBhYS1jbGlwcGluZyBkaWZmZXJzIHNvbWV0aW1lcyBpbiB0aGUgbG93Ci0gICAgICAgIGJp
dHMgb2YgdGhlIHJlc3VsdC4gT3RoZXIgdGhhbiB0aGF0LCB0aGUgcmVzdWx0cyBzaG91bGQgYmUg
dGhlIHNhbWUsIGV4Y2VwdCB0aGF0IG5vdyB0aGUgZHJhd2luZwotICAgICAgICBjYW4gZ28gZGly
ZWN0bHkgdG8gdGhlIGNhbnZhcywgcmF0aGVyIHRoYW4gYmVpbmcgZGlyZWN0IG9mZnNjcmVlbiBh
bmQgdGhlbiBoYXZlIHRoYXQgcmVzdWx0Ci0gICAgICAgICJjbGlwcGVkIiBkdXJpbmcgdGhlIHJl
c3RvcmUuIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgYWxsb3dpbmcgTENEIHRleHQgdG8gYmUgZHJh
d2luZyBpbnNpZGUgYQotICAgICAgICBhbnRpYWxpYXNlZCBjbGlwIGFyZWEuCi0KLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0U2tpYTo6U3RhdGU6OlN0YXRlKToKLSAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjpjbG9uZUluaGVyaXRlZFByb3Bl
cnRpZXMpOgotICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0U2tpYTo6Y2xpcFBhdGhB
bnRpQWxpYXNlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNvbnRleHRTa2lhOjpyZXN0
b3JlKToKLQotMjAxMS0xMC0yNiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5Acmlt
LmNvbT4KLQotICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJhY2tncm91bmQtaW50cmluc2ljLSoK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MTU2Ci0K
LSAgICAgICAgU1ZHcyBkbyBub3Qgd29yayBhcyB0aWxlZCBiYWNrZ3JvdW5kIGltYWdlcwotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyODEKLQotICAg
ICAgICBBcHBseSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIGFuZCBzeW50aGVzaXplIHZpZXdib3hlcyBp
biA8aW1nPgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzQ1MjEKLQotICAgICAgICBTVkcgYmFja2dyb3VuZCBkb2Vzbid0IHJlc2l6ZSBwcm9wZXJseSB3
aGVuIGRpbWVuc2lvbnMgYXJlIGNoYW5nZWQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQyOTQ0Ci0KLSAgICAgICAgSW1hZ2VzIHdpdGggcGVyY2VudCBo
ZWlnaHQgaW5zaWRlIGEgZmxvYXRlZCBkaXYgc2hvdWxkIHVzZSBpbnRyaW5zaWMgaGVpZ2h0Lgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU0MzkKLQot
ICAgICAgICBTVkcgaW1hZ2UgaW4gSFRNTCBjaGFuZ2VzIHNpemUgYXMgdGhlIHdpbmRvdyBpcyBy
ZXNpemVkCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjA0NQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgotCi0gICAgICAgIElt
cGxlbWVudCBpbnRyaW5zaWMgc2l6aW5nIHN1cHBvcnQgZm9yIFNWR0ltYWdlIChzdmcgZW1iZWRk
ZWQgdGhyb3VnaCA8aHRtbDppbWc+Lzxzdmc6aW1hZ2U+L2JhY2tncm91bmQtaW1hZ2UvYm9yZGVy
LWltYWdlLy4uLikuCi0gICAgICAgIFRoaXMgaXMgZGVtYW5kZWQgYnkgQ1NTIDIuMSwgYW5kIGNv
dmVyZWQgYnkgbmV3IGxheW91dCB0ZXN0cyBpbiBMYXlvdXRUZXN0cy9jc3MyLjEgYW5kIHNldmVy
YWwgbmV3IGN1c3RvbSB0ZXN0Y2FzZXMuCi0KLSAgICAgICAgVGVzdHM6IGNzczIuMS8yMDExMDMy
My9iYWNrZ3JvdW5kLWludHJpbnNpYy0wMDEuaHRtCi0gICAgICAgICAgICAgICBjc3MyLjEvMjAx
MTAzMjMvYmFja2dyb3VuZC1pbnRyaW5zaWMtMDAyLmh0bQotICAgICAgICAgICAgICAgY3NzMi4x
LzIwMTEwMzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAwMy5odG0KLSAgICAgICAgICAgICAgIGNz
czIuMS8yMDExMDMyMy9iYWNrZ3JvdW5kLWludHJpbnNpYy0wMDQuaHRtCi0gICAgICAgICAgICAg
ICBjc3MyLjEvMjAxMTAzMjMvYmFja2dyb3VuZC1pbnRyaW5zaWMtMDA1Lmh0bQotICAgICAgICAg
ICAgICAgY3NzMi4xLzIwMTEwMzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAwNi5odG0KLSAgICAg
ICAgICAgICAgIGNzczIuMS8yMDExMDMyMy9iYWNrZ3JvdW5kLWludHJpbnNpYy0wMDcuaHRtCi0g
ICAgICAgICAgICAgICBjc3MyLjEvMjAxMTAzMjMvYmFja2dyb3VuZC1pbnRyaW5zaWMtMDA4Lmh0
bQotICAgICAgICAgICAgICAgY3NzMi4xLzIwMTEwMzIzL2JhY2tncm91bmQtaW50cmluc2ljLTAw
OS5odG0KLSAgICAgICAgICAgICAgIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL2JhY2tncm91bmQt
aW1hZ2UtcHJlc2VydmVhc3BlY3RSYXRpby1zdXBwb3J0Lmh0bWwgKGFkYXB0ZWQgZnJvbSB0ZXN0
Y2FzZSBmcm9tIGJ1ZyAzNDUyMSkKLSAgICAgICAgICAgICAgIHN2Zy9hcy1iYWNrZ3JvdW5kLWlt
YWdlL2JhY2tncm91bmQtaW1hZ2UtdGlsZWQuaHRtbCAocmVkdWN0aW9uIGZyb20gYnVnIDE2Mjgx
KQotICAgICAgICAgICAgICAgc3ZnL2FzLWJhY2tncm91bmQtaW1hZ2Uvc2FtZS1pbWFnZS10d28t
aW5zdGFuY2VzLWJhY2tncm91bmQtaW1hZ2UuaHRtbAotICAgICAgICAgICAgICAgc3ZnL2FzLWlt
YWdlL2ltZy1wcmVzZXJ2ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sIChyZWR1Y3Rpb24gZnJv
bSBidWcgMzQ1MjEpCi0gICAgICAgICAgICAgICBzdmcvYXMtaW1hZ2Uvc2FtZS1pbWFnZS10d28t
aW5zdGFuY2VzLmh0bWwKLSAgICAgICAgICAgICAgIHN2Zy9hcy1pbWFnZS9zdmctYXMtcmVsYXRp
dmUtaW1hZ2Utd2l0aC1leHBsaWNpdC1zaXplLmh0bWwKLSAgICAgICAgICAgICAgIHN2Zy9hcy1p
bWFnZS9zdmctaW1hZ2UtY2hhbmdlLWNvbnRlbnQtc2l6ZS54aHRtbCAocmVkdWN0aW9uIGZyb20g
YnVnIDQyOTQ0KQotICAgICAgICAgICAgICAgc3ZnL3pvb20vcGFnZS96b29tLWltZy1wcmVzZXJ2
ZUFzcGVjdFJhdGlvLXN1cHBvcnQtMS5odG1sCi0KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkSW1hZ2UuY3BwOiBFbmFibGUgU1ZHSW1hZ2UgPC0+IEludFNpemUgY2FjaGUuCi0gICAgICAg
IChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6bG9va3VwSW1hZ2VGb3JTaXplKTogVXNlIHJlY2VudGx5
IGludHJvZHVjZWQgSW1hZ2VCeVNpemVDYWNoZSwgdG8gbG9va3VwIGFuIGltYWdlIGZvciBhIGNl
cnRhaW4gc2l6ZS4KLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjpsb29rdXBJbWFnZUZv
clJlbmRlcmVyKTogTG9va3VwIGltYWdlIGJ5IHJlbmRlcmVyLCB3aGljaCBmaXJzdCBsb29rcyB1
cCBhIHNpemUgZm9yIGEgcmVuZGVyZXIsIHRoZW4gdXNlcyBsb29rdXBJbWFnZUZvclNpemUoKS4K
LSAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVNWR0ltYWdlKTogUmVmYWN0b3JlZCBmcm9tIGNyZWF0
ZUltYWdlKCksIGNvbnRhaW5zIHRoZSBTVkdJbWFnZSBjcmVhdGlvbiBwYXJ0IG9ubHkuCi0gICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6bG9va3VwT3JDcmVhdGVJbWFnZUZvclJlbmRlcmVy
KTogVXNlIHJlY2VudGx5IGludHJvZHVjZWQgSW1hZ2VCeVNpemVDYWNoZSwgdG8gZHluYW1pY2Fs
bHkgY3JlYXRlIGNvcGllcyBvZiBtX2ltYWdlIGlmIG5lZWRlZC4KLSAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9yUmVuZGVyZXIpOiBGb3IgU1ZHSW1hZ2Vz
LCBwYXNzIG9uIGNvbnRhaW5lciBzaXplIGhhbmRsaW5nIHRvIEltYWdlQnlTaXplQ2FjaGUuCi0g
ICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6aW1hZ2VTaXplRm9yUmVuZGVyZXIpOiBGaWd1
cmUgb3V0IHRoZSBpbWFnZSBzaXplLCByZXNwZWN0aW5nIHBlci1yZW5kZXJlciBvdmVycmlkZXMs
IGZvciBhIGNlcnRhaW4gcmVuZGVyZXIuCi0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6
Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMpOiBSZW1vdmUgdW5uZWNlc3NhcnkgUmVuZGVyT2Jq
ZWN0IHBhcmFtZXRlci4KLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEltYWdlOjphZGRDbGllbnRG
b3JSZW5kZXJlcik6IFNwZWNpYWwgdmFyaWFudCBvZiBhZGRDbGllbnQoKSwgb3ZlcnJpZGluZyB0
aGUgZXhpc3RpbmcgaW4gQ2FjaGVkUmVzb3VyY2UuCi0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRJ
bWFnZTo6cmVtb3ZlQ2xpZW50Rm9yUmVuZGVyZXIpOiBTcGVjaWFsIHZhcmlhbnQgb2YgcmVtb3Zl
Q2xpZW50KCksIHRoYXQgYWxzbyBjbGVhcnMgdGhlIGltYWdlIGluIHRoZSBJbWFnZUJ5U2l6ZUNh
Y2hlLgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmNyZWF0ZUltYWdlKTogUmVmYWN0
b3IgU1ZHSW1hZ2UgY3JlYXRpb24gaW50byBjcmVhdGVTVkdJbWFnZSgpIGZyZWUgZnVuY3Rpb24s
IHRvIGJlIHVzZWFibGUgZnJvbSBsb29rdXBPckNyZWF0ZUltYWdlRm9yUmVuZGVyZXIoKS4KLSAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaDogRXhwb3NlIHJlbW92ZUNsaWVudEZv
clJlbmRlcmVyKCkuCi0gICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKLSAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudDo6aXNTVkdJbWFnZUNocm9tZUNsaWVudCk6IFVzZWQgdG8gaWRl
bnRpZnkgd2hldGhlciBhIFJlbmRlclNWR1Jvb3QgaXMgZW1iZWRkZWQgdGhyb3VnaCBhIFNWR0lt
YWdlLiBSZXR1cm5zIGZhbHNlLCBieSBkZWZhdWx0LgotICAgICAgICAqIHJlbmRlcmluZy9JbWFn
ZUJ5U2l6ZUNhY2hlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnlTaXplQ2FjaGU6OmFk
ZENsaWVudCk6IEFzc2VydCB0aGUgcGFzc2VkIHJlbmRlcmVyIGlzIHZhbGlkLgotICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VCeVNpemVDYWNoZTo6cmVtb3ZlQ2xpZW50KTogRGl0dG8uIEFsbG93IHJl
bW92ZUNsaWVudCgpIHRvIGJlIGNhbGxlZCB3L28gcHJpbyBhZGRDbGllbnQoKSB1c2FnZS4KLSAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQnlTaXplQ2FjaGU6OnNldENsaWVudCk6IE5ldyBoZWxwZXIg
ZnVuY3Rpb24sIHRoYXQgY29tYmluZXMgdGhlIHVzYWdlIG9mIGFkZENsaWVudC9yZW1vdmVDbGll
bnQsIGZvciB0aGUgdXNlIGluIENhY2hlZEltYWdlLgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VC
eVNpemVDYWNoZTo6aW1hZ2VGb3JTaXplKTogUmVzcGVjdCBlbXB0eSBzaXplcywganVzdCByZXR1
cm4gMCwgaW5zdGVhZCBvZiBhc3NlcnRpbmcuCi0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ5U2l6
ZUNhY2hlOjppbWFnZUZvclJlbmRlcmVyKTogQWRkZWQgYSBoZWxwZXIgdGhhdCByZXRyaWV2ZXMg
YW4gaW1hZ2UgZm9yIGEgcmVuZGVyZXIsIGJ5IGxvb2t1cCB1cCBpdHMgc2l6ZSBhbmQgdXNpbmcg
aW1hZ2VGb3JTaXplKCkuCi0gICAgICAgICogcmVuZGVyaW5nL0ltYWdlQnlTaXplQ2FjaGUuaDog
RXhwb3NlIHNldENsaWVudCgpICYgaW1hZ2VGb3JSZW5kZXJlcigpLgotICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6IEltcGxlbWVudCBDU1MgMi4xIGludHJpbnNp
YyBzaXplIG5lZ290aWF0aW9uIGZvciBpbWFnZXMuCi0gICAgICAgIChXZWJDb3JlOjpyZXNvbHZl
V2lkdGhGb3JSYXRpbyk6IE5ldyBpbmxpbmUgaGVscGVyIGZ1bmN0aW9uIHVzZWQgYnogY2FsY3Vs
YXRlSW1hZ2VJbnRyaW5zaWNEaW1lbnNpb25zLgotICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZUhl
aWdodEZvclJhdGlvKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpyZXNvbHZlQWdhaW5zdElu
dHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6
cmVzb2x2ZUFnYWluc3RJbnRyaW5zaWNSYXRpbyk6ICBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVJbWFnZUludHJpbnNpY0RpbWVuc2lvbnMp
OiBOZXcgaGVscGVyIGZ1bmN0aW9uLCBjb250YWluaW5nIHRoZSBtYWluIGFsZ29yaXRobSwgd2hp
Y2ggaXMgYSBwdXJlIHRyYW5zY3JpcHRpb24gb2YgdGhlIHNwZWMuCi0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlRmlsbFRpbGVTaXplKTogVXNlIG5ldyBj
YWxjdWxhdGVJbWFnZUludHJpbnNpY0RpbWVuc2lvbnMoKSBoZWxwZXIgdG8gZmlndXJlIG91dCB0
aGUgaW50cmluc2ljIHNpemUuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVj
dDo6Y2FsY3VsYXRlQmFja2dyb3VuZEltYWdlR2VvbWV0cnkpOiBQcm9wYWdhdGUgY2FsY3VsYXRl
RmlsbFRpbGVTaXplKCkgcmVzdWx0IHRvIHRoZSBpbWFnZSByZXNvdXJjZSwgdmlhIHNldENvbnRh
aW5lclNpemVGb3JSZW5kZXJlcigpLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxP
YmplY3Q6OnBhaW50TmluZVBpZWNlSW1hZ2UpOiBVc2UgbmV3IGNhbGN1bGF0ZUltYWdlSW50cmlu
c2ljRGltZW5zaW9ucygpIGhlbHBlciB0byBmaWd1cmUgb3V0IHRoZSBpbnRyaW5zaWMgc2l6ZS4K
LSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaDogQ2xhcmlmeSBzb21l
IHZhcmlhYmxlIG5hbWVzLCBhZGRlZCBjYWxjdWxhdGVJbWFnZUludHJpbnNpY0RpbWVuc2lvbnMo
KS4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKTogVXNlIEludFNpemUoKSwgaW5zdGVhZCBvZiBJ
bnRTaXplKDAsIDApLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnVwZGF0ZUludHJp
bnNpY1NpemVJZk5lZWRlZCk6IFJlZmFjdG9yZWQgZnJvbSBpbWFnZURpbWVuc2lvbnNDaGFuZ2Vk
KCkuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aW1hZ2VEaW1lbnNpb25zQ2hhbmdl
ZCk6IFVzZSB1cGRhdGVJbnRyaW5zaWNTaXplSWZOZWVkZWQoKS4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckltYWdlOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgpOiBVc2UgUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCgpIGV4Y2x1c2l2ZWx5LiBGb3IgdGhp
cyB0byB3b3JrLCB0aGUgaW50cmluc2ljIHNpemUgbXVzdCBiZSBjb3JyZWN0LgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKTog
RGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3Igbm9uLVNWR0ltYWdlcy4KLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckltYWdlOjpuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24pOiBSZXR1
cm4gdHJ1ZSwganVzdCBsaWtlIFJlbmRlclBhcnQsIGlmIGVtYmVkZGVkQ29udGVudEJveCBpcyBu
b3QgbnVsbC4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjplbWJlZGRlZENvbnRlbnRC
b3gpOiBSZXR1cm5zIHRoZSBSZW5kZXJTVkdSb290KiByZW5kZXJlciBvZiB0aGUgZW1iZWRkZWQg
U1ZHLCBpZiBwb3NzaWJsZS4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDogUmVt
b3ZlIGlzTG9naWNhbFdpZHRoL0hlaWdodFNwZWNpZmllZCgpIC8gY29tcHV0ZVJlcGxhY2VkTG9n
aWNhbEhlaWdodCgpIC8gY2FsY0FzcGVjdFJhdGlvTG9naWNhbFdpZHRoL0hlaWdodCgpLgotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckltYWdlUmVzb3VyY2U6OnNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6IFBh
c3MgYXJvdW5kIG5ldyAiZmxvYXQgY29udGFpbmVyWm9vbUZhY3RvciIgcGFyYW1ldGVyLgotICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZTo6aW1hZ2UpOiBlbWJl
ZGRlZENvbnRlbnRCb3goKSBpcyBub3cgY2FsbGluZyBpbWFnZSgpIGVhcmxpZXIgdGhhbiBiZWZv
cmUuIFdlIG5vdyBoYXZlIHRvIGhhbmRsZSB0aGUgY2FzZSB0aGF0IHRoZSBpbWFnZSBpcyBwZW5k
aW5nLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2U6OnNl
dENvbnRhaW5lclNpemVGb3JSZW5kZXJlcik6IFBhc3Mgem9vbSBmYWN0b3IuCi0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmg6Ci0gICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlz
dE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOiBQYXNzIGVmZmVjdGl2ZSB6
b29tIHRvIHNldENvbnRhaW5lclNpemVGb3JSZW5kZXJlcigpLgotICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aCk6IEdlbmVyYWxpemVkIHRoaXMgY29kZSwgYXMg
UmVuZGVySW1hZ2UgaXMgdXNpbmcgaXQgYXMgd2VsbCBub3cuIE1hcmdpbmFsIGNoYW5nZXMgbmVl
ZGVkLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNM
b2dpY2FsSGVpZ2h0KTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6
Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKTogRGl0dG8uCi0gICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVDYWNo
ZWRJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVuc2lvbnMpOiBTdG9wIHBhc3NpbmcgbV9yZW5k
ZXJlciB0byBDYWNoZWRJbWFnZSwgaXQncyBubyBsb25nZXIgbmVlZGVkLgotICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVDYWNoZWRJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKTogQWRk
ICJmbG9hdCBjb250YWluZXJab29tRmFjdG9yIiBwYXJhbWV0ZXIuCi0gICAgICAgIChXZWJDb3Jl
OjpTdHlsZUNhY2hlZEltYWdlOjphZGRDbGllbnQpOiBGb3J3YXJkIHRvIG5ldyBhZGRDbGllbnRG
b3JSZW5kZXJlcigpLgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVDYWNoZWRJbWFnZTo6cmVtb3Zl
Q2xpZW50KTogQ2FsbCBuZXcgcmVtb3ZlQ2xpZW50Rm9yUmVuZGVyZXIoKSBpbnN0ZWFkIG9mIHJl
bW92ZUNsaWVudCgpLCBzbyB0aGUgSW1hZ2VCeVNpemVDYWNoZSBpcyBhbHNvIHVwZGF0ZWQuCi0g
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaDogQWRkICJmbG9hdCBj
b250YWluZXJab29tRmFjdG9yIiBwYXJhbWV0ZXIgdG8gc2V0Q29udGFpbmVyU2l6ZUZvclJlbmRl
cmVyLgotICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmg6Ci0g
ICAgICAgIChXZWJDb3JlOjpTdHlsZUdlbmVyYXRlZEltYWdlOjpzZXRDb250YWluZXJTaXplRm9y
UmVuZGVyZXIpOiBEaXR0by4KLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5o
OiBEaXR0by4KLSAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaDoK
LSAgICAgICAgKFdlYkNvcmU6OlN0eWxlUGVuZGluZ0ltYWdlOjpzZXRDb250YWluZXJTaXplRm9y
UmVuZGVyZXIpOiBEaXR0by4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0ltYWdlOjpsYXlvdXQpOiBBbHdheXMg
c3VwcGx5IGEgY29udGFpbmVyIHNpemUgd2hlbiBlbWJlZGRpbmcgU1ZHcyBpbiA8c3ZnOmltYWdl
Pi4KLSAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOiBNb3ZlICJvdmVy
cmlkZSBjb250YWluZXIgc2l6ZSIgZnJvbSBTVkdTVkdFbGVtZW50IGludG8gUmVuZGVyU1ZHUm9v
dCwgd2hlcmUgaXQgYmVsb25ncy4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6Omlz
RW1iZWRkZWRUaHJvdWdoSW1hZ2VFbGVtZW50KTogQWRkIGhlbHBlciBtZXRob2QgdG8gZGV0ZXJt
aW5lIHdoZXRoZXIgd2UncmUgbG9hZGVkIHRocm91Z2ggU1ZHSW1hZ2UuCi0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGgpOiBJZiB3ZSBo
YXZlIGEgdmFsaWQgY29udGFpbmVyIHNpemUsIGl0IGhhcyBwcmVjZW5kZW5jZSAob25seSBzdXBw
bGllZCB2aWEgZXh0ZXJuYWwgU1ZHSW1hZ2VzKS4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQpOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmxheW91dCk6IFJlbW92ZSBjYWxjVmlld3BvcnQoKSB1c2Fn
ZSwgbm8gbmVlZCB0byB0cmFjay9vdmVycmlkZSB0aGUgdmlld3BvcnQgc2l6ZSBhbnltb3JlLCBh
bGwgZG9uZSBpbiBjb3B1dGVSZXBsYWNlZExvZ2ljYWwqIG5vdy4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jvb3Q6OnBhaW50KTogVXNlIGJvcmRlckJveFJlY3QoKSB3aGljaCBub3cgYWx3
YXlzIG1hdGNoZXMgdGhlIHByZXZpb3VzbHkgY29tcHV0ZWQgbV92aWV3cG9ydFNpemUuIAotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KTogRGl0
dG8uCi0gICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6IE1vdmUgIm92ZXJy
aWRlIGNvbnRhaW5lciBzaXplIiBmcm9tIFNWR1NWR0VsZW1lbnQgaW50byBSZW5kZXJTVkdSb290
LCB3aGVyZSBpdCBiZWxvbmdzLgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29u
dGFpbmVyU2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpzZXRDb250YWlu
ZXJTaXplKToKLSAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlNWR0xlbmd0aDo6ZGV0ZXJtaW5lVmlld3BvcnQpOiBSZXNvbHZlIGxlbmd0aHMgYWdhaW5zdCBv
dmVycmlkZSBjb250YWluZXIgc2l6ZSBpbiBkb2N1bWVudHMgZW1iZWRkZWQgdGhyb3VnaCBTVkdJ
bWFnZS4KLSAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6IFJlbW92ZSAib3ZlcnJpZGUg
Y29udGFpbmVyIHNpemUiIGhhbmRsaW5nIGZyb20gU1ZHU1ZHRWxlbWVudC4KLSAgICAgICAgKFdl
YkNvcmU6OlNWR1NWR0VsZW1lbnQ6OlNWR1NWR0VsZW1lbnQpOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OlNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3Qm94UmVjdCk6IEFsd2F5cyBzeW50aGVz
aXplIGEgdmlld0JveCwgaWYgd2UncmUgZW1iZWRkZWQgdGhyb3VnaCBTVkdJbWFnZSwgYXMgZGVt
YW5kZWQgYnkgU1ZHIDEuMSAybmQgRWRpdGlvbi4KLSAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVu
dC5oOgotICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpTVkdJbWFnZUNocm9tZUNsaWVudDo6c2V0T2JzZXJ2ZXIpOiBIZWxwZXIgZnVuY3Rpb24u
Ci0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZUNocm9tZUNsaWVudDo6aXNTVkdJbWFnZUNocm9t
ZUNsaWVudCk6IFJldHVybiB0cnVlLCB1c2VkIHRvIGlkZW50aWZ5IHdoZXRoZXIgUmVuZGVyU1ZH
Um9vdCBpcyBlbWJlZGRlZCB0aHJvdWdoIFNWR0ltYWdlLgotICAgICAgICAoV2ViQ29yZTo6U1ZH
SW1hZ2U6OnNldENvbnRhaW5lclpvb20pOiBGb3J3YXJkZWQgdG8gUGFnZTo6c2V0UGFnZVpvb21G
YWN0b3IuCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6c2V0Q29udGFpbmVyU2l6ZSk6IEFz
c2VydCB0aGF0IGNvbnRhaW5lciBzaXplIGlzIG5vdCBlbXB0eS4gV2Ugc2hvdWxkIG5ldmVyIHJl
Y2VpdmUgYW4gZW1wdHkgY29udGFpbmVyIHNpemUuCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFn
ZTo6dXNlc0NvbnRhaW5lclNpemUpOiBBZGFwdCB0byBvdmVycmlkZSBjb250YWluZXIgc2l6ZSBj
aGFuZ2VzLCBpdCBub3cgbGl2ZXMgaW4gUmVuZGVyU1ZHUm9vdCBpbnN0ZWFkIG9mIFNWR1NWR0Vs
ZW1lbnQuCi0gICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6c2l6ZSk6IE5ldyBhbGdvcml0aG0g
dG8gZmlndXJlIG91dCB0aGUgc2l6ZSBvZiBhbiBlbWJlZGRlZCBTVkcsIGFzIGRlbWFuZGVkIGJ5
IHRoZSBDU1MvU1ZHIHNwZWNzLgotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRyYXcpOiBT
dG9wIGNhbGxpbmcgbGF5b3V0KCkgd2hpbGUgcGFpbnRpbmchCi0gICAgICAgIChXZWJDb3JlOjpT
VkdJbWFnZTo6ZW1iZWRkZWRDb250ZW50Qm94KTogQWRkIGhlbHBlciB3aGljaCByZXR1cm5zIHRo
ZSBSZW5kZXJTVkdSb290IG9mIHRoZSBkb2N1bWVudC4KLSAgICAgICAgKFdlYkNvcmU6OlNWR0lt
YWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyk6IEltcGxlbWVudCBpbnRyaW5zaWMgcmF0
aW8gY2FsY3VsYXRpb24uIAotICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2Vk
KTogRm9yY2UgY2FsbGluZyBGcmFtZVZpZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKGZhbHNlKSwg
YXMgU1ZHIGltYWdlcyBub3cgYWx3YXlzIHN5bnRoZXNpemUgYSB2aWV3Qm94LCBhbmQgdGh1cyBu
ZXZlciByZWNlaXZlIHNjcm9sbGJhcnMuCi0gICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
Lmg6Ci0KLTIwMTEtMTAtMjYgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3
ZWJraXQub3JnPgotCi0gICAgICAgIFByb3Blcmx5IHN1c3BlbmQvcmVzdW1lIEdlb2xvY2F0aW9u
L0RldmljZU1vdGlvbi9EZXZpY2VPcmllbnRhdGlvbiBvYmplY3RzCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMyOAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEhhdXNtYW5uLgotCi0gICAgICAgIEFsc28gcmVtb3ZlIGNoZWNrcyBmb3IgbV9j
bGllbnQgaW4gRGV2aWNlTW90aW9uQ29udHJvbGxlciBhcyBpdCBjYW4gbmV2ZXIgYmUgbnVsbC4K
LQotICAgICAgICBObyBuZXcgdGVzdHMsIGFzIHRoZSBzdXNwZW5kL3Jlc3VtZSBmdW5jdGlvbmFs
aXR5IGlzIG5vdCBmdWxseSB3b3JraW5nIHlldC4KLQotICAgICAgICAqIGRvbS9EZXZpY2VNb3Rp
b25Db250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xs
ZXI6OnRpbWVyRmlyZWQpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxl
cjo6YWRkTGlzdGVuZXIpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxl
cjo6cmVtb3ZlTGlzdGVuZXIpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJv
bGxlcjo6cmVtb3ZlQWxsTGlzdGVuZXJzKToKLSAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlv
bkNvbnRyb2xsZXI6OnN1c3BlbmQpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29u
dHJvbGxlcjo6cmVzdW1lKToKLSAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5o
OgotICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpzdXNwZW5kKToKLSAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVzdW1lKToKLSAgICAg
ICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmg6Ci0gICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kQWN0aXZlRE9N
T2JqZWN0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1lQWN0aXZlRE9NT2Jq
ZWN0cyk6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3RvcEFjdGl2ZURPTU9iamVjdHMp
OgotICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0Lmg6Ci0gICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyOjpHZW9sb2NhdGlvbkNvbnRy
b2xsZXIpOgotICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyOjpyZW1vdmVP
YnNlcnZlcik6Ci0gICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OnN1c3Bl
bmQpOgotICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyOjpyZXN1bWUpOgot
ICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmg6Ci0KLTIwMTEtMTAtMjYgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIE5vdCByZXZpZXdl
ZDogZm9sbG93IHVwIHRvIDk4MjM2IC0gbW92ZWQgaW5zcGVjdG9yIHNldHRpbmdzIGluaXRpYWxp
emF0aW9uIGVhcmxpZXIgdG8gdW5icmVhayBzZXR0aW5ncyBwYW5lbC4KLQotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNb2RlbCk6Ci0KLTIwMTEtMTAtMjYgIFphbGFuIEJ1anRhcyAgPHpidWp0
YXNAZ21haWwuY29tPgotCi0gICAgICAgIE5hbWUgdmlld3BvcnQgY2hhbmdlIGV2ZW50IGNvbnNp
c3RlbnRseS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwOTAxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
Ci0KLSAgICAgICAgVXNlIFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZSB0ZXJtIGNvbnNpc3Rl
bnRseSB0aHJvdWdob3V0IFdlYktpdC4KLQotICAgICAgICBObyB0ZXN0cyBuZWVkZWQgYXMgdGhl
IGNoYW5nZSBpcyBvbmx5IG1ldGhvZCByZW5hbWluZy4KLQotICAgICAgICAqIHBhZ2UvQ2hyb21l
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRp
ZXNEaWRDaGFuZ2UpOgotICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6Ci0gICAgICAgICogcGFnZS9D
aHJvbWVDbGllbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UpOgotICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVWaWV3cG9ydEFyZ3VtZW50cyk6Ci0KLTIwMTEt
MTAtMjUgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAg
ICAgW2Nocm9taXVtXSBDYW52YXMyRCBzaG91bGQgcmF0ZS1saW1pdCBkcmF3aW5nIHRvIHByZXZl
bnQgc3dhbXBpbmcgdGhlIEdQVSBwcm9jZXNzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjcKLQotICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KLQotICAgICAgICBTYWRseSwgd2UgZG9uJ3QgaGF2ZSBpbmZyYXN0cnVjdHVyZSB0
byB0ZXN0IHRoaXMga2luZCBvZiBHUFUgc3dhbXBpbmcKLSAgICAgICAgeWV0LgotCi0gICAgICAg
ICogV2ViQ29yZS5neXBpOgotICAgICAgICBBZGQgUmF0ZUxpbWl0ZXIuKiB0byB0aGUgQ2hyb21p
dW0gYnVpbGQuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRM
YXllckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhczJETGF5ZXJDaHJvbWl1
bTo6Y29udGVudENoYW5nZWQpOgotICAgICAgICBXaGVuIHRoZSBsYXllciBpcyBub3RpZmllZCB0
aGF0IHRoZSBjb250ZW50cyBoYXZlIGNoYW5nZWQsIHBpbmcgdGhlCi0gICAgICAgIHJhdGUgbGlt
aXRlci4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVy
Q2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGlj
c0xheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9t
aXVtOjpzZXRDb250ZW50c05lZWRzRGlzcGxheSk6Ci0gICAgICAgIENhbGwgKG5ldykgdmlydHVh
bCBjb250ZW50Q2hhbmdlZCgpIG9uIGEgbGF5ZXIgd2hlbiBpdHMgY29udGVudHMgaGF2ZQotICAg
ICAgICBiZWVuIGNoYW5nZWQgKGUuZy4sIGJ5IGEgZHJhd2luZyBjYWxsKS4KLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpMYXllckNocm9taXVtOjpjb250ZW50Q2hhbmdlZCk6Ci0gICAgICAgIE5ldyB2aXJ0dWFs
IGNvbnRlbnRDaGFuZ2VkKCkuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
UmF0ZUxpbWl0ZXIuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYkNvcmU6OlJhdGVMaW1pdGVyOjpj
cmVhdGUpOgotICAgICAgICBSYXRlIGxpbWl0ZXIgZmFjdG9yeSBmdW5jdGlvbi4KLSAgICAgICAg
KFdlYkNvcmU6OlJhdGVMaW1pdGVyOjpSYXRlTGltaXRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpS
YXRlTGltaXRlcjo6c3RhcnQpOgotICAgICAgICBQdWJsaWMgQVBJIHRvIHN0YXJ0IHJhdGUgbGlt
aXRpbmcgYSBjb250ZXh0LgotICAgICAgICAoV2ViQ29yZTo6UmF0ZUxpbWl0ZXI6OnN0b3ApOgot
ICAgICAgICBQdWJsaWMgQVBJIHRvIHN0b3AgcmF0ZSBsaW1pdGluZyBhIGNvbnRleHQuCi0gICAg
ICAgIChXZWJDb3JlOjpSYXRlTGltaXRlcjo6cmF0ZUxpbWl0Q29udGV4dCk6Ci0gICAgICAgIElu
dGVybmFsIHRpbWVyIGNhbGxiYWNrIHdoZW4gYSBjb250ZXh0IHNob3VsZCBiZSByYXRlIGxpbWl0
ZWQuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmF0ZUxpbWl0ZXIuaDog
QWRkZWQuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNo
cm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bTo6V2ViR0xM
YXllckNocm9taXVtKToKLSAgICAgICAgUmVtb3ZlIHJhdGUgbGltaXRpbmcgdGltZXIgYW5kIGV4
dGVuc2lvbiBjaGVjayAobW92ZWQgdG8gUmF0ZUxpbWl0ZXIpLgotICAgICAgICAoV2ViQ29yZTo6
V2ViR0xMYXllckNocm9taXVtOjpjb250ZW50Q2hhbmdlZCk6Ci0gICAgICAgIFRoZSBmdW5jdGlv
biBmb3JtZXJseSBrbm93biBhcyBzZXRUZXh0dXJlVXBkYXRlZCgpLCBub3cgcmVuYW1lZCB0bwot
ICAgICAgICBtYXRjaCB0aGUgYmFzZSBjbGFzcyB2aXJ0dWFsIGNvbnRlbnRDaGFuZ2VkKCkuICBD
YWxsIHJhdGUgbGltaXRlciBpbgotICAgICAgICBDQ0xheWVyVHJlZUhvc3QgKGxvY2FsIGltcGxl
bWVudGF0aW9uIHJlbW92ZWQpLgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVt
OjpzZXRDb250ZXh0KToKLSAgICAgICAgV2hlbiB0aGUgY29udGV4dCBpcyBjaGFuZ2VkLCBzdG9w
IHRoZSBwZW5kaW5nIHJhdGUgbGltaXRlciBvbiB0aGUgb2xkCi0gICAgICAgIGNvbnRleHQuICBS
ZW1vdmUgZXh0ZW5zaW9uIGNoZWNrIChtb3ZlZCB0byBSYXRlTGltaXRlcikuCi0gICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmg6Ci0gICAgICAg
IFJlbW92ZSByYXRlIGxpbWl0aW5nIHRpbWVyIGFuZCBleHRlbnNpb24gY2hlY2sgKG1vdmVkIHRv
IFJhdGVMaW1pdGVyKS4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojpz
dGFydFJhdGVMaW1pdGVyKToKLSAgICAgICAgUHVibGljIEFQSSBmb3Igc3RhcnRpbmcgcGVyLWNv
bnRleHQgcmF0ZSBsaW1pdGVyLgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojpz
dG9wUmF0ZUxpbWl0ZXIpOgotICAgICAgICBQdWJsaWMgQVBJIGZvciBzdG9wcGluZyBwZXItY29u
dGV4dCByYXRlIGxpbWl0ZXIuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0Lmg6Ci0gICAgICAgIEltcGxlbWVudGF0aW9uIG9mIHBlci1HcmFw
aGljc0NvbnRleHQzRCBSYXRlTGltaXRlci4KLQotCi0yMDExLTEwLTI2ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIE5vdCByZXZpZXdlZDogZml4aW5n
IGluc3BlY3RvciBleHRlbnNpb25zIHRlc3RzLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlTWVzc2FnZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVz
c2FnZUltcGwpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVy
LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX29u
QWRkQ29uc29sZU1lc3NhZ2UpOgotCi0yMDExLTEwLTI2ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxh
enNAd2Via2l0Lm9yZz4KLQotICAgICAgICBQYXJhbGxlbEpvYnMgcGF0aCBvZiBGRUNvbnZvbHZl
TWF0cml4IGlzIGVycm9uZW91cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzA0MDkKLQotICAgICAgICBSZXZpZXdlZCBieSBab2x0YW4gSGVyY3plZy4K
LQotICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0gICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkZFQ29udm9sdmVNYXRyaXg6OmZhc3RTZXRJbnRlcmlvclBpeGVscyk6Ci0gICAgICAgIFJl
amVjdCB0aGUgc2lsbHkgaWRlYSB0aGF0IGJ5dGVzIHBlciBwaXhlbCByYXRpbyBpcyAzIGluIHBy
ZXNlcnZlQWxwaGFWYWx1ZXMgbW9kZS4KLSAgICAgICAgVGhlIGJ1ZyB3YXMgaGlkZGVuIHNvIGZh
ciBiZWNhdXNlIHRoYXQgY29tcHV0YXRpb24gaGFzIG5vIGVmZmVjdCB3aGVuIHdlIGFyZSBnb2lu
ZwotICAgICAgICB3aXRoIHRoZSBmdWxsIGluZmVyaW9yIGFyZWEgaW4gb25lIHJvdW5kIChpbiB0
aGF0IGNhc2UgY2xpcEJvdHRvbSBhbmQgeUVuZCBhcmUgZXF1YWxzCi0gICAgICAgIGFuZCB0aGUg
dmFsdWUgb2YgdGhlIGV4cHJlc3Npb24gaXMgYWx3YXlzIDApLiBXaXRoIFBhcmFsbGVsSm9icyB3
ZSBwcm9jZXNzIHN1Yi1hcmVhcwotICAgICAgICBvbiBlYWNoIHRocmVhZCB3aGljaCBoYXMgdHJp
Z2dlcmVkIHRoZSBpc3N1ZS4KLQotMjAxMS0xMC0yNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4
MzkzLgotICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85ODM5MwotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4OTIKLQotICAg
ICAgICAiQ29tcGlsYXRpb24gaXMgYnJva2VuIG9uIENocm9taXVtIFdlYmtpdCBNYWMgQnVpbGRl
ciAoZGJnKSAiCi0gICAgICAgIChSZXF1ZXN0ZWQgYnkgeXVyeXMgb24gI3dlYmtpdCkuCi0KLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6Ci0gICAg
ICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpzZXRNYXNrc1RvQm91bmRzKToKLSAgICAgICAg
KFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNldE1hc2tMYXllcik6Ci0KLTIwMTEtMTAtMjYgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0
b3I6IG9yZGVyIGNvbnNvbGUgbWVzc2FnZSBwYXJhbWV0ZXJzIGZvciBiZXR0ZXIgb3B0aW9uYWwg
cGFyYW1ldGVycyBoYW5kbGluZy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwODA5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNr
eS4KLQotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKLSAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVNZXNzYWdlSW1wbCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3Nh
Z2VJbXBsLnByb3RvdHlwZS5fZm9ybWF0TWVzc2FnZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9Db25zb2xlTW9kZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1v
ZGVsLnByb3RvdHlwZS5fbWVzc2FnZVJlcGVhdENvdW50VXBkYXRlZCk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25zb2xlRGlzcGF0Y2hlci5wcm90b3R5cGUubWVzc2FnZUFkZGVkKToKLSAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bnNvbGVDb21tYW5kUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5jcmVhdGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVy
LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX29u
QWRkQ29uc29sZU1lc3NhZ2UpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a01hbmFnZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJv
dG90eXBlLl91cGRhdGVSZXNvdXJjZVdpdGhSZXNwb25zZSk6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IubG9nLmxvZ01l
c3NhZ2UpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLmxvZyk6Ci0KLTIwMTEtMTAtMjYgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3Rv
cjogRGVidWdnZXIgZmFpbHMgd2hlbiB0aGVyZSBpcyBhbiBpbnZhbGlkIHdhdGNoIGV4cHJlc3Np
b24uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcx
OAotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgVGVzdDog
aW5zcGVjdG9yL2RlYnVnZ2VyL3dhdGNoLWV4cHJlc3Npb25zLXBhbmVsLXN3aXRjaC5odG1sCi0K
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmV2YWx1YXRlSW5TZWxlY3RlZENh
bGxGcmFtZSk6Ci0KLTIwMTEtMTAtMjYgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5v
cmc+Ci0KLSAgICAgICAgUGFnZSBTY2FsZSBGYWN0b3IgYnJva2VuIHdoZW4gbmF2aWdhdGluZyBo
aXN0b3J5IG9uIHBhZ2VzIHdpdGggY2hpbGQgZnJhbWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1OQotCi0gICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEZpc2hlci4KLQotICAgICAgICBXaXRoIGZyYW1lU2NhbGVGYWN0b3Igbm93IGFsd2F5cyBy
ZXR1cm5pbmcgMS4wIGZvciBzdWJmcmFtZXMgYW5kIHBhZ2VTY2FsZUZhY3RvciBmb3IgdGhlIG1h
aW5GcmFtZSwKLSAgICAgICAgYW5kIHRoZXJlIGJlaW5nIG9ubHkgYSBzaW5nbGUgcGFnZVNjYWxl
RmFjdG9yLCBoaXN0b3J5IGZvciBzY2FsaW5nIGlzIGJyb2tlbi4gU2NhbGluZyBoaXN0b3J5IGlz
Ci0gICAgICAgIHNhdmVkIG9uIGEgcGVyIGZyYW1lIGJhc2lzIGJ1dCByZXN0b3JlZCwgb3ZlcnJp
ZGluZyB0aGUgcGVyLXBhZ2UgcGFnZVNjYWxlRmFjdG9yIG11bHRpcGxlIHRpbWVzLgotICAgICAg
ICBBcyBhIHJlc3VsdCwgc29tZXRpbWVzIHBhZ2VzIHRoYXQgaGF2ZSBzdWJmcmFtZXMgZW5kIHVw
IGdldHRpbmcgYSBzY2FsZSBmYWN0b3Igb2YgMS4wIGluc3RlYWQKLSAgICAgICAgb2YgdGhlIGNv
cnJlY3Qgc2NhbGUgZmFjdG9yIHRoYXQgd2FzIGFzc2lnbmVkIHRvIHRoZSBtYWluIGZyYW1lLgot
Ci0gICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIEkgZG9uJ3Qga25vdyBob3cgdG8gdGVzdCB0
aGlzLgotCi0gICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpyZXN0b3JlU2Nyb2xsUG9zaXRpb25BbmRWaWV3
U3RhdGUpOgotCi0yMDExLTEwLTI2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTg0MjkuCi0gICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4NDI5Ci0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4MQotCi0gICAgICAgICJ3ZWJr
aXRfZ3B1X3Rlc3RzIGZhaWwgaW4gQ2hyb21pdW0iIChSZXF1ZXN0ZWQgYnkgeXVyeXMgb24KLSAg
ICAgICAgI3dlYmtpdCkuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJl
ckNocm9taXVtOjppbml0aWFsaXplKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXll
ckNocm9taXVtOjpsYXllclJlbmRlcmVyQ29udGV4dCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFkc1VwRGlzcGxheS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpDQ0hlYWRzVXBEaXNwbGF5OjplbmFibGVkKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllclRyZWVIb3N0Ojppbml0aWFsaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVl
SG9zdDo6Y29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNldE5l
ZWRzQW5pbWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNldE5lZWRz
Q29tbWl0VGhlblJlZHJhdyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnNl
dE5lZWRzUmVkcmF3KToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6Y29tcG9z
aXRlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3QuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNDU2V0dGluZ3M6OkNDU2V0dGluZ3MpOgotICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2V0VGhyZWFkKToKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5Lmg6Ci0KLTIwMTEtMTAt
MjYgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBDYW52YXMg
ZHJhd0ltYWdlIHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGlu
YXRpb25BdG9wIGFuZCBDb3B5IGhhdmUgZXJyb3JzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkyMAotCi0gICAgICAgIFJldmlld2VkIGJ5IEphbWVz
IFJvYmluc29uLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUt
aW1hZ2UuaHRtbAotCi0gICAgICAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFu
ZGxlIGNvbXBvc2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRoYXQgd2lsbCBhZmZlY3QgdGhlIHdob2xl
Ci0gICAgICAgIGNhbnZhcy4gVG8gZG8gdGhpcyBjb2RlIHVzZWQgd2hlbiBkb2luZyBmaWxscyBo
YXMgYmVlbiBmYWN0b3JlZCBpbnRvIHNlcGVyYXRlIGZ1bmN0aW9ucyBhbmQKLSAgICAgICAgdXNl
ZCBieSBkcmF3SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVzZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Yg
b3BlcmF0aW9ucyBoYXZlIGFsc28gYmVlbiByZW5hbWVkLgotCi0gICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmlzRnVs
bENhbnZhc0NvbXBvc2l0ZU1vZGUpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpmaWxsKToKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6ZmlsbFJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpkcmF3SW1hZ2UpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgotICAgICAgICAoV2ViQ29yZTo6
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcik6Ci0gICAg
ICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6
Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXND
b21wb3NpdGVkRHJhd0ltYWdlKToKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKToKLSAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKLQotMjAxMS0xMC0yNSAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjk4Mzc5LgotICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC85ODM3OQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzA4NzUKLQotICAgICAgICBEaWQgbm90IHBhc3Mgb24gSlNDIHBvcnRzIChSZXF1ZXN0ZWQgYnkg
YWJhcnRoIG9uICN3ZWJraXQpLgotCi0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0gICAgICAgIChHZW5lcmF0
ZUltcGxlbWVudGF0aW9uKToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbToKLSAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKLSAgICAgICAgKEdlbmVyYXRlQXJn
dW1lbnRzQ291bnRDaGVjayk6Ci0gICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKLSAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsOgotICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKLQotMjAxMS0xMC0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjk4MzQ2LgotICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85ODM0
NgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NzQK
LQotICAgICAgICBCcmVha3MgSlNDLWJhc2VkIGJvdHMuIChSZXF1ZXN0ZWQgYnkgcGZlbGRtYW4g
b24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmV2YWx1
YXRlSW5TZWxlY3RlZENhbGxGcmFtZSk6Ci0KLTIwMTEtMTAtMjUgIE5hdCBEdWNhICA8bmR1Y2FA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gRW5hYmxlIHRocmVhZGVkIGNvbXBv
c2l0aW5nIHZpYSBDQ1RocmVhZFByb3h5OjpoYXNUaHJlYWQgb25seQotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MzgKLQotICAgICAgICBSZXZpZXdl
ZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW06OmluaXRpYWxpemUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJH
TExheWVyQ2hyb21pdW06OmxheWVyUmVuZGVyZXJDb250ZXh0KToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OkNDSGVhZHNVcERpc3BsYXk6OmVuYWJsZWQpOgotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpDQ0xheWVyVHJlZUhvc3Q6OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXll
clRyZWVIb3N0Ojpjb250ZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6
c2V0TmVlZHNBbmltYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6c2V0
TmVlZHNDb21taXRUaGVuUmVkcmF3KToKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9z
dDo6c2V0TmVlZHNSZWRyYXcpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojpj
b21wb3NpdGUpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdC5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NTZXR0aW5nczo6Q0NTZXR0aW5ncyk6
Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpoYXNUaHJlYWQpOgotICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaDoKLQotMjAx
MS0xMC0yNSAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgLS13ZWJr
aXQtdmlzdWFsLXdvcmQgZG9lcyBub3Qgd29yayBpbiBtdWx0aS1saW5lCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM0NAotCi0gICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KLQotICAgICAgICBHZXQgbmV4dCBvciBwcmV2aW91cyByb290
IGlubGluZSBib3ggKHdoaWNoIGlzIG5vdCBpbiB0aGUgc2FtZQotICAgICAgICByZW5kZXIgb2Jq
ZWN0IGFzIHRoZSBjdXJyZW50IHJvb3QgaW5saW5lIGJveCkgYnkgdHJhdmVyc2luZyBET00gbm9k
ZS4KLQotICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9tb3ZlLWJ5LXdvcmQtdmlzdWFs
bHktaW5saW5lLWJsb2NrLXBvc2l0aW9uZWQtZWxlbWVudC5odG1sCi0KLSAgICAgICAgKiBlZGl0
aW5nL3Zpc2libGVfdW5pdHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNSb290SW5s
aW5lQm94KToKLSAgICAgICAgKFdlYkNvcmU6Om5leHRSb290SW5saW5lQm94KToKLSAgICAgICAg
KFdlYkNvcmU6OmxlZnRJbmxpbmVCb3gpOgotICAgICAgICAoV2ViQ29yZTo6cmlnaHRJbmxpbmVC
b3gpOgotCi0yMDExLTEwLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAg
ICAgICAgSlNFdmVudFRhcmdldC5jcHAgaGFzIGEgYnVuY2ggb2YgdW5uZXNzYXJ5IGluY2x1ZGVz
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2NQot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgotCi0gICAgICAgIEluIHRoZSBwcm9j
ZXNzIG9mIHJlbW92aW5nIHRoZXNlIGluY2x1ZGVzLCBJIG5vdGljZWQgd2UgaGFkIGEgYnVuY2gg
b2YKLSAgICAgICAgbm9uLWF1dG9nZW5lcmF0ZWQgY29kZSBpbiB0aGlzIGZpbGUsIHdoaWNoIEkn
dmUgbm93IGF1dG9nZW5lcmF0ZWQuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFy
Z2V0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvRXZlbnRUYXJnZXQpOgotICAgICAgICAgICAg
LSBPbmUgc3VidGx5IGhlcmUgaXMgdGhlIG91dHRlciBzdGF0aWNfY2FzdCwgd2hpY2ggaXMgY2F1
c2VkIGJ5IGFuCi0gICAgICAgICAgICAgIGluaGVyaXRhbmNlIGluZmVsaWNpdHkgaW4gSmF2YVNj
cmlwdEF1ZGlvTm9kZSwgd2hpY2ggSSd2ZSBub3RlZAotICAgICAgICAgICAgICB3aXRoIGEgRklY
TUUuICBJbiBhbnkgY2FzZSwgdGhlIGV4dHJhIHN0YXRpY19jYXN0IHNob3VsZG4ndCBjYXVzZQot
ICAgICAgICAgICAgICBhbnkgdHJvdWJsZS4KLSAgICAgICAgKiB3ZWJhdWRpby9KYXZhU2NyaXB0
QXVkaW9Ob2RlLmg6Ci0KLTIwMTEtMTAtMjUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBWOERPTVdyYXBwZXIuY3BwIGhhcyB1bm5lZWRlZCBoZWFkZXIgaW5jbHVk
ZXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYz
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgKiBiaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuY3BwOgotCi0yMDExLTEwLTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxt
aGFobmVuYmVyZ0BhcHBsZS5jb20+Ci0KLSAgICAgICAgUmVzZXR0aW5nIGJhc2VsaW5lIGZvciB0
ZXN0IGJpbmRpbmdzCi0KLSAgICAgICAgVW5yZXZpZXdlZCBwcmVlbXB0aXZlIGJ1aWxkIGZpeAot
Ci0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouaDoKLQotMjAxMS0xMC0yNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdA
YXBwbGUuY29tPgotCi0gICAgICAgIFJlbW92ZSBkZWxldGVQcm9wZXJ0eVZpcnR1YWwKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM4Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLgot
Ci0gICAgICAgIFJlbW92ZWQgYWxsIGRlY2xhcmF0aW9ucyBhbmQgZGVmaW5pdGlvbnMgb2YgZGVs
ZXRlUHJvcGVydHlWaXJ0dWFsLgotICAgICAgICBBbHNvIHJlcGxhY2VkIGFsbCBjYWxsIHNpdGVz
IHRvIGRlbGV0ZVByb3BlcnR5VmlydHVhbCB3aXRoIGEgCi0gICAgICAgIGNvcnJlc3BvbmRpbmcg
bG9va3VwIGluIHRoZSBNZXRob2RUYWJsZS4KLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgot
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkpTRE9NU3RyaW5nTWFwOjpkZWxldGVQcm9wZXJ0eSk6Ci0gICAgICAgICogYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNET01X
aW5kb3c6OmRlbGV0ZVByb3BlcnR5KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1NoZWxsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmRlbGV0ZVBy
b3BlcnR5KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmg6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkpTSGlzdG9yeTo6ZGVsZXRlUHJvcGVydHkpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTG9j
YXRpb25DdXN0b20uY3BwOgotICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6ZGVsZXRlUHJv
cGVydHkpOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3RvcmFnZUN1c3RvbS5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpKU1N0b3JhZ2U6OmRlbGV0ZVByb3BlcnR5KToKLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFs
T2JqZWN0OjpyZW1vdmUpOgotICAgICAgICAqIGJpbmRpbmdzL29iamMvV2ViU2NyaXB0T2JqZWN0
Lm1tOgotICAgICAgICAoLVtXZWJTY3JpcHRPYmplY3QgcmVtb3ZlV2ViU2NyaXB0S2V5Ol0pOgot
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgotICAgICAgICAo
R2VuZXJhdGVIZWFkZXIpOgotICAgICAgICAqIGJyaWRnZS9OUF9qc29iamVjdC5jcHA6Ci0gICAg
ICAgIChfTlBOX1JlbW92ZVByb3BlcnR5KToKLSAgICAgICAgKiBicmlkZ2Uvam5pL2puaV9qc29i
amVjdC5tbToKLSAgICAgICAgKEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKToKLSAgICAgICAg
KiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoKLSAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpj
X3J1bnRpbWUubW06Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuY3BwOgotICAgICAg
ICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2Jq
ZWN0LmNwcDoKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3QuaDoKLQotMjAxMS0xMC0y
NSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgotCi0gICAgICAgIEFYOiBX
ZWJLaXQgZG9lcyBub3QgZXhwb3NlIEhUTUwgbGFiZWwgZm9yIHNsaWRlciBlbGVtZW50cwotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTYKLQotICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBUZXN0OiBwbGF0Zm9ybS9t
YWMvYWNjZXNzaWJpbGl0eS9zbGlkZXItYWxsb3dzLXRpdGxlLXVpLWVsZW1lbnQuaHRtbAotCi0g
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2xpZGVyOjppc0NvbnRyb2wpOgotICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tOgotICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFt
ZXNdKToKLQotMjAxMS0xMC0yNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUu
Y29tPgotCi0gICAgICAgIFJlbW92ZSBwdXRWaXJ0dWFsCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0MAotCi0gICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmcmV5IEdhcmVuLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICBSZW1vdmVk
IGFsbCBkZWNsYXJhdGlvbnMgYW5kIGRlZmluaXRpb25zIG9mIHB1dFZpcnR1YWwuCi0gICAgICAg
IEFsc28gcmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgdG8gcHV0VmlydHVhbCB3aXRoIGEgCi0gICAg
ICAgIGNvcnJlc3BvbmRpbmcgbG9va3VwIGluIHRoZSBNZXRob2RUYWJsZS4KLQotICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OnB1dCk6Ci0gICAgICAgICogYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5oOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxl
bWVudEZ1bmN0aW9ucy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpydW50aW1lT2JqZWN0Q3VzdG9t
UHV0KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnB1dFByb3BlcnR5KToKLSAgICAg
ICAgKiBiaW5kaW5ncy9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKLSAgICAgICAgKC1bV2ViU2Ny
aXB0T2JqZWN0IHNldFZhbHVlOmZvcktleTpdKToKLSAgICAgICAgKC1bV2ViU2NyaXB0T2JqZWN0
IHNldFdlYlNjcmlwdFZhbHVlQXRJbmRleDp2YWx1ZTpdKToKLSAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKLSAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKLSAg
ICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgotICAgICAgICAqIGJyaWRnZS9OUF9qc29i
amVjdC5jcHA6Ci0gICAgICAgIChfTlBOX1NldFByb3BlcnR5KToKLSAgICAgICAgKiBicmlkZ2Uv
am5pL2puaV9qc29iamVjdC5tbToKLSAgICAgICAgKEphdmFKU09iamVjdDo6c2V0TWVtYmVyKToK
LSAgICAgICAgKEphdmFKU09iamVjdDo6c2V0U2xvdCk6Ci0gICAgICAgICogYnJpZGdlL29iamMv
b2JqY19ydW50aW1lLmg6Ci0gICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tOgot
ICAgICAgICAqIGJyaWRnZS9xdC9xdF9ydW50aW1lLmNwcDoKLSAgICAgICAgKEpTQzo6QmluZGlu
Z3M6OmNvbnZlcnRRVmFyaWFudFRvVmFsdWUpOgotICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2Fy
cmF5LmNwcDoKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgotICAgICAgICAqIGJy
aWRnZS9ydW50aW1lX29iamVjdC5jcHA6Ci0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0
Lmg6Ci0gICAgICAgICogYnJpZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcDoKLSAgICAgICAgKG1haW4p
OgotCi0yMDExLTEwLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAg
ICAgRXZlbnRUYXJnZXRGYWN0b3J5LmluIGlzIG5vdCBzb3J0ZWQKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwODU1Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgVGhpcyBwYXRjaCBzb3J0cyB0aGUgZmlsZS4gIEkg
d2FzIG5vdCBhYmxlIHRvIG1lYXN1cmUgYSBwZXJmb3JtYW5jZQotICAgICAgICBkaWZmZXJlbmNl
IHVzaW5nIHRoZSBtaWNyb2JlbmNobWFyayBpbmNsdWRlZCB3aXRoIHRoaXMgcGF0Y2guCi0KLSAg
ICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgotCi0yMDExLTEwLTI1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIFdp
bmRvd3MgYnVpbGQuICBXaW5kb3dzIG1hc2hlcyBhbGwgdGhlc2UgZmlsZXMgaW50bwotICAgICAg
ICBvbmUsIHdoaWNoIGRvZXNuJ3QgcmVzcGVjdCB0aGUgY29tcGlsYXRpb24gdW5pdCBydWxlcyBv
ZiBDKysuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKLSAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0LmNwcDoKLQotMjAxMS0xMC0yNSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KLQotICAgICAgICBNb3ZpbmcgdG8gdGhlIHN0YXJ0
IG9mIGxpbmUgc2hvdWxkIG5vdCBwbGFjZSB0aGUgY2FyZXQgb3V0c2lkZSBvZiB0aGUgdGFibGUK
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzU3Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQ2hhbmcgU2h1LgotCi0gICAgICAgIFRoZSBidWcgd2FzIGNh
dXNlZCBieSBwb3NpdGlvbkF2b2lkaW5nRmlyc3RQb3NpdGlvbkluVGFibGUuIEdldCByaWQgb2Yg
dGhlIGZ1bmN0aW9uLgotCi0gICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL3RhYmxlLWxp
bmVib3VuZGFyeS5odG1sCi0KLSAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6c3RhcnRQb3NpdGlvbkZvckxpbmUpOgotCi0yMDExLTEwLTI1ICBC
ZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KLQotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTIKLSAgICAgICAgU2V0dGluZyB1cCBhIEhpRFBJ
IGJhc2UtbGV2ZWwgR3JhcGhpY3NDb250ZXh0IHNob3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2Fy
ZCBmb3IgCi0gICAgICAgIFdlYktpdDIKLQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0
ZWluLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIGNnLW9ubHkgR3JhcGhp
Y3NDb250ZXh0OjpzZXRCYXNlQ1RNKCkgYXBpLCBhbmQgYWRkcyAKLSAgICAgICAgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgR3JhcGhpY3NDb250ZXh0OjphcHBseURldmljZVNjYWxlRmFjdG9yKCkuCi0g
ICAgICAgICogV2ViQ29yZS5leHAuaW46Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxh
dGZvcm1BcHBseURldmljZVNjYWxlRmFjdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6YXBwbHlEZXZpY2VTY2FsZUZhY3Rvcik6Ci0gICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
R3JhcGhpY3NDb250ZXh0Q0cuY3BwOgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
OjpwbGF0Zm9ybUFwcGx5RGV2aWNlU2NhbGVGYWN0b3IpOgotCi0gICAgICAgIFNpbmNlIHRoaXMg
cGF0Y2ggcmVtb3ZlcyBHcmFwaGljc0NvbnRleHQ6OnNldEJhc2VDVE0oKSwgdGhpcyBjb2RlIGhh
cyBiZWVuIAotICAgICAgICByZXZlcnRlZCB0byBkbyB3aGF0IGl0IHVzZWQgdG8gZG8gYmVmb3Jl
IHRoYXQgd2FzIGFkZGVkOyBpdCBqdXN0IGNhbGxzIGludG8gCi0gICAgICAgIFdlYkNvcmVTeXN0
ZW1JbnRlcmZhY2UgZGlyZWN0bHkuCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VDRy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgotCi0yMDEx
LTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+Ci0KLSAgICAgICAg
UGx1Zy1pbnMgaGF2ZSB0byB1c2UgSmF2YVNjcmlwdCB0byBmaW5kIG91dCB0aGUgY3VycmVudCBk
ZXZpY2Ugc2NhbGUgZmFjdG9yCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NzIyNQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0g
ICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy13azIvcGx1Z2lucy9jb250ZW50cy1zY2FsZS1mYWN0
b3IuaHRtbAotCi0gICAgICAgIEFkZCBOUE5WY29udGVudHNTY2FsZUZhY3RvciwgYXMgcGVyIGh0
dHBzOi8vd2lraS5tb3ppbGxhLm9yZy9OUEFQSTpDb250ZW50c1NjYWxlRmFjdG9yLgotCi0gICAg
ICAgICogcGx1Z2lucy9ucGFwaS5oOgotCi0yMDExLTEwLTI1ICBBZGFtIEtsZWluICA8YWRhbWtA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIEZvcndhcmQgZGVjbGFyZSBNdXRhdGlvbk9ic2VydmVy
RW50cnkgYXMgYSBzdHJ1Y3QgdG8gZml4IGNsYW5nIGJ1aWxkCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MwotCi0gICAgICAgIFJldmlld2VkIGJ5
IFJ5b3N1a2UgTml3YS4KLQotICAgICAgICBOb2RlLmggZm9yd2FyZCBkZWNsYXJlZCBNdXRhdGlv
bk9ic2VydmVyRW50cnkgYXMgYSBjbGFzcywgYW5kIGNsYW5nCi0gICAgICAgIGNvbXBsYWlucyBp
ZiB0aGUgdHdvIGRlY2xhcmF0aW9ucyBkb24ndCBtYXRjaC4KLQotICAgICAgICAqIGRvbS9Ob2Rl
Lmg6Ci0KLTIwMTEtMTAtMjUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KLQotICAg
ICAgICBDYXJldCBjYW4gYmUgcG9zaXRpb25lZCBvciByZXBhaW50ZWQgaW5jb3JyZWN0bHkgaW4g
ZmxpcHBlZC1ibG9ja3MgbXVsdGktY29sdW1uIGJsb2NrcwotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTEKLQotICAgICAgICBSZXZpZXdlZCBieSBE
YXZlIEh5YXR0LgotCi0gICAgICAgICogbWFudWFsLXRlc3RzL2NhcmV0LWluLWNvbHVtbnMtZmxp
cHBlZC5odG1sOiBBZGRlZC4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkanVzdEZvckNvbHVtbnMpOiBSZW1vdmVk
IGZsaXBwZWQtYmxvY2tzIHdyaXRpbmcgbW9kZSBjb25zaWRlcmF0aW9ucwotICAgICAgICBmcm9t
IHRoaXMgZnVuY3Rpb24sIHNpbmNlIG5vdCBhbGwgY2FsbGVycyB3ZXJlIGV4cGVjdGluZyBpdCB0
byBhY2NvdW50IGZvciBmbGlwcGVkbmVzcy4gVGhpcyBtYWtlcwotICAgICAgICBpdCBzaW1pbGFy
IHRvIGFkanVzdFJlY3RGb3JDb2x1bW5zKCkgaW4gbm90IGFkanVzdGluZyBmb3IgZmxpcHBlZG5l
c3MuCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6Om9mZnNldEZyb21Db250YWluZXIpOiBJbiB0aGUgY29sdW1ucyBjYXNlLCBh
Y2NvdW50IGZvciBmbGlwcGVkLWJsb2NrcyBtb2RlcwotICAgICAgICBieSBmaXJzdCBtYXBwaW5n
IHRoZSBwb2ludCBhbmQgdGhlIG9mZnNldCB0byBub24tZmxpcHBlZCwgbm9uLWNvbHVtbnMgc3Bh
Y2UsIHRoZW4gYWRqdXN0aW5nIGZvcgotICAgICAgICBjb2x1bW5zLCB0aGVuIGZsaXBwaW5nLgot
Ci0yMDExLTEwLTI1ICBNaWNoYWwgTW9jbnkgIDxtbW9jbnlAZ29vZ2xlLmNvbT4KLQotICAgICAg
ICBMYXllclJlbmRlcmVyQ2hyb21pdW06OnNldFZpc2libGUgY2FsbGVkIG5lZWRsZXNzbHkgd2l0
aG91dCBhIHZpc2liaWxpdHkgY2hhbmdlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDc2NgotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVz
c2VsbC4KLQotICAgICAgICBDaGVjayB0aGF0IHZpc2liaWxpdHkgaGFzIGFjdHVhbGx5IGNoYW5n
ZWQgYmVmb3JlIGNhbGxpbmcgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpzZXRWaXNpYmxlCi0KLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OkNDTGF5ZXJUcmVl
SG9zdEltcGwpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0Vmlz
aWJsZSk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5oOgotCi0yMDExLTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+Ci0KLSAgICAgICAgUkVHUkVTU0lPTig5NzgyMSk6IEhpc3RvcnlDb250cm9sbGVy
OjppdGVtc0FyZUNsb25lcyBjcmFzaGVzIGEgbG90Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgyNwotICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAz
NDI5MjU+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KLQotICAgICAgICBDaGVj
ayB0aGF0IG1fY3VycmVudEl0ZW0gaXMgbm9uLW51bGwgYmVmb3JlIHBhc3NpbmcgaXQgdG8gaXRl
bXNBcmVDbG9uZXMuIFdoaWxlIEkgd2Fzbid0Ci0gICAgICAgIGFibGUgdG8gbWFrZSBhIHRlc3Qg
Y2FzZSB0aGF0IHdvdWxkIHJlcHJvZHVjZSB0aGlzIGNyYXNoLCB3ZSBkbyBjaGVjayBtX2N1cnJl
bnRJdGVtIGZvciBudWxsCi0gICAgICAgIGV2ZXJ5d2hlcmUgZWxzZSwgYW5kIHRoZSBjcmFzaCBs
b2cgaW5kaWNhdGVzIHRoYXQgdGhpcyB3b3VsZCBmaXggdGhlIGNyYXNoLgotCi0gICAgICAgICog
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlD
b250cm9sbGVyOjpyZWN1cnNpdmVVcGRhdGVGb3JDb21taXQpOgotCi0yMDExLTEwLTI1ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgRXZlbnRUYXJnZXQuaCBzaG91
bGRuJ3QgbmVlZCB0byBrbm93IGFib3V0IGV2ZXJ5IGZlYXR1cmUgYW5kIGlmZGVmCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1OQotCi0gICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggZm9sbG93cyB0
aGUgYXBwcm9hY2ggb2YgRXZlbnQuaCBhbmQgaW50cm9kdWNlcyBhbgotICAgICAgICBpbnRlcmZh
Y2VOYW1lIHZpcnR1YWwgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBET00K
LSAgICAgICAgaW50ZXJmYWNlIGZvciB0aGUgY29uY3JldGUgdHlwZSBvZiB0aGUgb2JqZWN0LiAg
VGhpcyBmdW5jdGlvbiBsZXRzIHVzCi0gICAgICAgIHJlbW92ZSBhIGxhcmdlIG51bWJlciBvZiBm
YWtlIGR5bmFtaWMgY2FzdHMuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAgICAgICAg
KiBDb2RlR2VuZXJhdG9ycy5wcmk6Ci0gICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKLSAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cDoKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9tYWtlbmFtZXMucHk6Ci0g
ICAgICAgICAgICAtIFRlYWNoIGFjdGlvbl9tYWtlbmFtZXMgaG93IHRvIGhhbmRsZSB0aGUgbmV3
ICJpbiIgZmlsZS4KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Ci0gICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6dG9KUyk6Ci0gICAgICAgICAgICAtIFVzZSB0aGUgbmV3IGF1dG9nZW5l
cmF0ZWQgbWFjcm8gdG8gcmVtb3ZlIGEgbGFyZ2UgYW1vdW50IG9mCi0gICAgICAgICAgICAgIGZl
YXR1cmUtc3BlY2lmaWMgY29kZS4KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRD
b250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6
OmluaXRTY3JpcHQpOgotICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NLm1tOgotICAgICAgICAo
a2l0KToKLSAgICAgICAgICAgIC0gVGhlIFNWR0VsZW1lbnRJbnN0YW5jZSBicmFuY2ggd2FzIG5l
dmVyIHRha2VuIHByZXZpb3VzbHkgYmVjYXVzZQotICAgICAgICAgICAgICBTVkdFbGVtZW50SW5z
dGFuY2U6OnRvTm9kZSByZXR1cm5zIGEgbm9uLU5VTEwgdmFsdWUuIFRoaXMgY29kZQotICAgICAg
ICAgICAgICB3YXMgaW50cm9kdWNlZCBpbiBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC80MjYxOCBhbmQKLSAgICAgICAgICAgICAgZG9lc24ndCBhcHBlYXIgdG8gaGF2ZSBldmVyIHdv
cmtlZCBhcyB0aGUgYXV0aG9yIGludGVuZGVkLgotICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9N
V3JhcHBlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6OmNvbnZlcnRFdmVu
dFRhcmdldFRvVjhPYmplY3QpOgotICAgICAgICAgICAgLSBVc2UgdGhlIG5ldyBhdXRvZ2VuZXJh
dGVkIG1hY3JvIHRvIHJlbW92ZSBhIGxhcmdlIGFtb3VudCBvZgotICAgICAgICAgICAgICBmZWF0
dXJlLXNwZWNpZmljIGNvZGUuCi0gICAgICAgICogZG9tL0V2ZW50TmFtZXMuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RXZlbnROYW1lczo6RXZlbnROYW1lcyk6Ci0gICAgICAgICogZG9tL0V2ZW50
TmFtZXMuaDoKLSAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuY3BwOgotICAgICAgICAqIGRvbS9F
dmVudFRhcmdldC5oOgotICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46IEFkZGVk
LgotICAgICAgICAgICAgLSBBZGQgYSBuZXcgImluIiBmaWxlIHRoYXQgbGlzdHMgYWxsIHRoZSBF
dmVudFRhcmdldHMuCi0gICAgICAgICogZG9tL0xvY2FsTWVkaWFTdHJlYW0uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6TG9jYWxNZWRpYVN0cmVhbTo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICog
ZG9tL0xvY2FsTWVkaWFTdHJlYW0uaDoKLSAgICAgICAgKiBkb20vTWVkaWFTdHJlYW0uY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmludGVyZmFjZU5hbWUpOgotICAgICAgICAq
IGRvbS9NZWRpYVN0cmVhbS5oOgotICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9t
L01lc3NhZ2VQb3J0Lmg6Ci0gICAgICAgICogZG9tL05vZGUuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6dG9Ob2RlKToKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmludGVyZmFjZU5hbWUp
OgotICAgICAgICAqIGRvbS9Ob2RlLmg6Ci0gICAgICAgICogZG9tL21ha2VfZXZlbnRfZmFjdG9y
eS5wbDoKLSAgICAgICAgICAgIC0gR2VuZXJhbGl6ZSBtYWtlX2V2ZW50X2ZhY3RvcnkucGwgdG8g
YmUgYWJsZSB0byBnZW5lcmF0ZQotICAgICAgICAgICAgICBpbnRlcmZhY2VzIGZvciBkaWZmZXJl
bnQgbmFtZXNwYWNlcy4KLSAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZmlsZWFw
aS9GaWxlUmVhZGVyLmg6Ci0gICAgICAgICogZmlsZWFwaS9GaWxlV3JpdGVyLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIGZpbGVh
cGkvRmlsZVdyaXRlci5oOgotICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlv
bkNhY2hlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRPTUFwcGxpY2F0aW9uQ2FjaGU6OmludGVy
ZmFjZU5hbWUpOgotICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hl
Lmg6Ci0gICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgotICAgICAgICAo
V2ViQ29yZTo6Tm90aWZpY2F0aW9uOjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5oOgotICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KToKLSAgICAgICAgKiBwMnAvUGVlckNvbm5lY3Rpb24uY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OmludGVyZmFjZU5hbWUpOgotICAg
ICAgICAqIHAycC9QZWVyQ29ubmVjdGlvbi5oOgotICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6OnRvRE9NV2luZG93KToKLSAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5oOgotICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRTb3VyY2U6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHBhZ2UvRXZlbnRTb3Vy
Y2UuaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OklEQkRhdGFiYXNlOjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQkRh
dGFiYXNlLmg6Ci0gICAgICAgICogc3RvcmFnZS9JREJSZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OklEQlJlcXVlc3Q6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHN0b3JhZ2UvSURC
UmVxdWVzdC5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHN0
b3JhZ2UvSURCVHJhbnNhY3Rpb24uaDoKLSAgICAgICAgKiBzdG9yYWdlL0lEQlZlcnNpb25DaGFu
Z2VSZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0
OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQlZlcnNpb25DaGFuZ2VSZXF1
ZXN0Lmg6Ci0gICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHN2
Zy9TVkdFbGVtZW50SW5zdGFuY2UuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0
YW5jZTo6dG9Ob2RlKToKLSAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ29udGV4dDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Ci0gICAgICAgICog
d2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6Ci0gICAgICAgICogd2ViYXVkaW8vSmF2YVNjcmlwdEF1
ZGlvTm9kZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKYXZhU2NyaXB0QXVkaW9Ob2RlOjppbnRl
cmZhY2VOYW1lKToKLSAgICAgICAgKiB3ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmg6Ci0g
ICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldC5o
OgotICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJDb250ZXh0OjppbnRlcmZhY2VOYW1lKToKLSAgICAg
ICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaDoKLSAgICAgICAgKiB3b3JrZXJz
L0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNo
YXJlZFdvcmtlckNvbm5lY3RUYXNrOjpwZXJmb3JtVGFzayk6Ci0gICAgICAgICogd29ya2Vycy9T
aGFyZWRXb3JrZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2VyOjppbnRlcmZh
Y2VOYW1lKToKLSAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlci5oOgotICAgICAgICAqIHdv
cmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTaGFyZWRX
b3JrZXJDb250ZXh0OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdv
cmtlckNvbnRleHQuaDoKLSAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpXb3JrZXI6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Lmg6Ci0gICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlhNTEh0dHBSZXF1ZXN0OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiB4bWwvWE1MSHR0cFJl
cXVlc3QuaDoKLSAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RVcGxvYWQ6OmludGVyZmFjZU5hbWUpOgotICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oOgotCi0yMDExLTEwLTI1ICBQYXZlbCBQb2Rp
dmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEZpeCBzZXZlcmFsIG1p
bm9yIHByb2JsZW1zIGluIGlkbHMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDgxMQotCi0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0K
LSAgICAgICAgVGhpcyBwYXRjaCBkb2VzIG5vdCBoYXZlIGFueSBlZmZlY3Qgb24gZ2VuZXJhdGVk
IGJpbmRpbmdzLgotCi0gICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW1zLmlkbDoKLSAgICAg
ICAgKiBwYWdlL0hpc3RvcnkuaWRsOgotICAgICAgICAqIHN0b3JhZ2UvSURCSW5kZXguaWRsOgot
ICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5pZGw6Ci0KLTIwMTEtMTAtMjUgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KLQotICAgICAgICBNYWtlIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlciBhIENhY2hlZFJlc291cmNlQ2xpZW50LgotICAgICAgICBUaGlzIHdpbGwgYWxs
b3cgdXMgdG8gY2FjaGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudHMgYXMKLSAgICAgICAgYXBwcm9w
cmlhdGUgaW4gYSBsYXRlciBwYXRjaC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYxMjI1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlz
dG8uCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBmdW5jdGlvbmFsaXR5IGNoYW5nZSBpbnRl
bmRlZC4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQpOiBDYWNoZWRSZXNvdXJjZUNsaWVudHMgZG9uJ3Qg
c2VuZCBzZXBhcmF0ZSBjYWxsYmFja3MKLSAgICAgICAgICAgIGZvciBkaWRGYWlsKCkgYW5kIGRp
ZEZpbmlzaExvYWRpbmcoKSwgc28gd2UgbmVlZCB0byBkaWZmZXJlbnRpYXRlIGhlcmUuCi0gICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXF1ZXN0KTogQ2Fs
bCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJhd1Jlc291cmNlKCkKLSAgICAgICAgICAg
IGluc3RlYWQgb2YgUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVN1YnJlc291cmNlTG9h
ZCgpLgotICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaDoKLSAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OmRhdGEpOiBIYW5kbGUgdGhlIGNvbXBsZXhpdHkgb2Ygc29t
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50cyBzZXR0aW5nCi0gICAgICAgICAgICBEb05vdEJ1ZmZl
ckRhdGEgaW4gUmVzb3VyZUxvYWRlck9wdGlvbnMuIElmIHRoZSBEYXRhQnVmZmVyaW5nUG9saWN5
IGlzIEJ1ZmZlckRhdGEsIHRoZW4gdGhlCi0gICAgICAgICAgICAnZGF0YScgaW5wdXQgcGFyYW1l
dGVyIHdpbGwgY29udGFpbiBhbGwgZGF0YSByZWNlaXZlZCBzbyBmYXIsIGFuZCB3ZSBuZWVkIHRv
IGRldGVybWluZSB0aGUKLSAgICAgICAgICAgIGluY3JlbWVudGFsIGRhdGEgdG8gZm9yd2FyZCB0
byB0aGUgY2xpZW50cy4gSWYgdGhlIHBvbGljeSBpcyBEb05vdEJ1ZmZlckRhdGEsICdkYXRhJyBp
cyBqdXN0Ci0gICAgICAgICAgICB0aGUgaW5jcmVtZW50YWwgZGF0YS4KLSAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaDoKLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5o
OgotICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnByZWxvYWRSZXN1bHQpOgotICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRpZFNlbmREYXRhKToKLSAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpkaWREb3dubG9hZERhdGEpOgotICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OnNldExvYWRGaW5pc2hUaW1lKToKLSAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlOjpsb2FkRmluaXNoVGltZSk6Ci0gICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50Lmg6IEFkZCBzZXZlcmFsIG5ldyBjYWxsYmFja3MgbmVlZGVk
IGJ5IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlci4KLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
UmVxdWVzdDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKTogQ2FjaGVkUmVzb3VyY2U6OnNldFJlc3BvbnNl
KCkgY2FuIG5vdyBjYW5jZWwKLSAgICAgICAgICAgIHRoZSByZXF1ZXN0LCBzbyBwcm90ZWN0IGFw
cHJvcHJpYXRlbHkuCi0gICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVz
dC5oOgotICAgICAgICAqIGxvYWRlci9jaHJvbWl1bS9DYWNoZWRSYXdSZXNvdXJjZUNocm9taXVt
LmNwcDogQWRkZWQgKHBsdW1iIGRpZERvd25sb2FkRGF0YSgpIHRvIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcikuCi0gICAgICAgICogbG9hZGVyL2Nocm9taXVtL0NhY2hlZFJlc291cmNlUmVxdWVz
dENocm9taXVtLmNwcDogQWRkZWQgKHBsdW1iIGRpZERvd25sb2FkRGF0YSgpIHRvIERvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcikuCi0gICAgICAgICogbG9hZGVyL2Nocm9taXVtL0RvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlckNocm9taXVtLmNwcDoKLSAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Js
b2JSZXNvdXJjZUhhbmRsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpCbG9iUmVzb3VyY2VIYW5k
bGU6Om5vdGlmeVJlc3BvbnNlKTogUHJvdGVjdCBiZWZvcmUgc2V0dGluZyByZXNwb25zZSwgc2lu
Y2UgaXQgbWlnaHQga2lsbCB1cy4KLQotMjAxMS0xMC0yNSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9k
aXZpbG92QGNocm9taXVtLm9yZz4KLQotICAgICAgICBHZXQgcmlkIG9mIG9wdGlvbmFsIHBhcmFt
ZXRlcnMgaW4gdGhlIG1pZGRsZSBpbiBJRExzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTYKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgotCi0gICAgICAgIE9wdGlvbmFsIHBhcmFtZXRlcnMgaW4gdGhlIG1pZGRsZSBhcmUgcHJv
aGliaXRlZCBieSBXZWJJREwgc3BlYy4KLQotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgotICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgotICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbik6Ci0gICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG06Ci0gICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Ci0gICAgICAgIChHZW5lcmF0
ZUFyZ3VtZW50c0NvdW50Q2hlY2spOgotICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6
Ci0gICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKLSAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6Ci0KLTIwMTEtMTAtMjUgIENocmlzIEV2YW5zICA8
Y2V2YW5zQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgTWFuYWdlIHRoZSBDU1MgcHJvcGVydHkgYXJy
YXkgbGVuZ3RoIGNvcnJlY3RseQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzA3ODMKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgotCi0g
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OmFkZFByb3BlcnR5KTogZG9uJ3QgYWxsb3cgbWF4IGxlbmd0aCB0byBnZXQgb3V0IG9mIHN5bmMg
d2l0aCB0aGUgYnVmZmVyLgotCi0yMDExLTEwLTI1ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgYXZvaWQgdW5uZWNlc3NhcnkgbGF5b3V0cyBvZiBmbGV4IGl0ZW1z
IGR1cmluZyB0aGUgZmxleCBwYXNzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDU1NwotCi0gICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCi0K
LSAgICAgICAgSWYgdGhlIHByZWZlcnJlZCBzaXplIG9mIGEgZmxleCBpdGVtIGlzIHByb3ZpZGVk
LCB3ZSBkb24ndCBuZWVkIHRvCi0gICAgICAgIGxheW91dCB0aGUgZmxleCBpdGVtIHdoZW4gY29t
cHV0aW5nIHRoZSBwcmVmZXJyZWQgc2l6ZS4gIFRoaXMgYWxsb3dzCi0gICAgICAgIHVzIHRvIG9u
bHkgY2FsbCBsYXlvdXQgb24gZWFjaCBmbGV4IGl0ZW0gb25jZSBpbiB0aGUgY29tbW9uIGNhc2Uu
Ci0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgotCi0g
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsZXhpYmxlQm94OjpmbG93QXdhcmVMb2dpY2FsV2lkdGhMZW5ndGhGb3JDaGls
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cHJlZmVycmVkTG9naWNh
bENvbnRlbnRXaWR0aEZvckZsZXhJdGVtKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRoKToKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFjZUNoaWxkcmVuSW5saW5lRGlyZWN0aW9u
KToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaDoKLQotMjAxMS0xMC0y
NSAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KLQotICAgICAgICBDcmFzaCBp
biBXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmFkZENoaWxkIGR1ZSB0byBhc3NlcnQgZmFp
bHVyZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2
NzgKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KLQotICAgICAgICBUZXN0czog
ZmFzdC90YWJsZS90YWJsZS1hbm9ueW1vdXMtY2VsbC1idWcuaHRtbAotICAgICAgICAgICAgICAg
ZmFzdC90YWJsZS90YWJsZS1hbm9ueW1vdXMtcm93LWJ1Zy5odG1sCi0gICAgICAgICAgICAgICBm
YXN0L3RhYmxlL3RhYmxlLWFub255bW91cy1zZWN0aW9uLWJ1Zy5odG1sCi0KLSAgICAgICAgSWYg
dGhlIGNoaWxkIGJlaW5nIGFkZGVkIGlzIG5vdCBhIFNlY3Rpb24vUm93L0NlbGwsIGFuZCB0aGUg
cHJldmlvdXMgc2libGluZyBpcyBub3QgYW5vbnltb3VzLCAKLSAgICAgICAgd2UgbmVlZCB0byBj
cmVhdGUgYSBuZXcgYW5vbnltb3VzIFNlY3Rpb24vUm93L0NlbGwgcmVzcGVjdGl2ZWx5LCBpbnN0
ZWFkIG9mIGZhaWxpbmcgYW4KLSAgICAgICAgYXNzZXJ0LgotCi0gICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjphZGRDaGls
ZCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRhYmxlUm93OjphZGRDaGlsZCk6Ci0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rp
b246OmFkZENoaWxkKToKLQotMjAxMS0xMC0yNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJl
cmdAYXBwbGUuY29tPgotCi0gICAgICAgIEFkZCBnZXRPd25Qcm9wZXJ0eVNsb3QgdG8gTWV0aG9k
VGFibGUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5
ODA3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCi0KLSAgICAgICAgTm8gbmV3
IHRlc3RzLgotCi0gICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6IENoYW5nZWQgZ2V0
T3duUHJvcGVydHlTbG90IHRvIGJlIHByb3RlY3RlZCBzbyAKLSAgICAgICAgc3ViY2xhc3NlcyBj
YW4gcmVmZXJlbmNlIGl0IGluIHRoZWlyIE1ldGhvZFRhYmxlcy4KLQotMjAxMS0xMC0yNSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KLQotICAgICAgICBSRUdSRVNTSU9O
IChyODg1ODApOiBDdXJzb3IgZmFpbHMgdG8gY2hhbmdlIHRvIHBvaW50ZXIgb24gZW1iZWRkZWQg
R29vZ2xlIG1hcHMgcG9wdXBzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02Mjc5NwotCi0gICAgICAgIFJldmlld2VkIGJ5IENocmlzIE1hcnJpbi4KLSAg
ICAgICAgCi0gICAgICAgIFdoZW4gaGl0IHRlc3RpbmcgdGhyb3VnaCB0cmFuc2Zvcm1lZCBsYXll
cnMsIFJlbmRlckxheWVyIHdvdWxkIHNpbXBseSB1c2UKLSAgICAgICAgdGhlIGNvbXBvc2l0ZWQg
Ym91bmRzIG9mIHRoZSBsYXllciBhcyB0aGUgbG9jYWxIaXRUZXN0UmVjdCBmb3IgaGl0IHRlc3Rp
bmcgc3VibGF5ZXJzLgotICAgICAgICBIb3dldmVyLCB0aGlzIGJyb2tlIGhpdCB0ZXN0aW5nIG9u
IHBhZ2VzIHRoYXQgaGF2ZSBhIGNvbXBvc2l0ZWQsIG5vbi10cmFuc2Zvcm1lZCBsYXllcgotICAg
ICAgICB3aGljaCBmYWxscyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgaXRzIHBhcmVudCwgY29tcG9z
aXRlZC10cmFuc2Zvcm1lZCBsYXllciwgbGlrZSBHb29nbGUKLSAgICAgICAgTWFwcy4KLSAgICAg
ICAgCi0gICAgICAgIEZpeCBieSBtYXBwaW5nIHRoZSBoaXRUZXN0UmVjdCB0aHJvdWdoIHRyYW5z
Zm9ybXMuIEhvd2V2ZXIgdGhpcyBpcyB0cmlja3ksIGJlY2F1c2UKLSAgICAgICAgbWFwcGluZyBh
IHJlY3QgaW50byB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgYSBsYXllciBjYW4gcmVzdWx0IGlu
IGludmFsaWQgcmVjdGFuZ2xlcwotICAgICAgICB3aGVuIHBvaW50IHByb2plY3Rpb24gcmVzdWx0
cyBpbiBhIG5lZ2F0aXZlIHcgY29tcG9uZW50LiBGaXggVHJhbnNmb3JtYXRpb25NYXRyaXg6OnBy
b2plY3RQb2ludCgpCi0gICAgICAgIHRvIGRldGVjdCB0aGlzIGNhc2UgYW5kIHJlcGxhY2UgWCBh
bmQgWSB3aXRoIGxhcmdlIHZhbHVlcywgYW5kIGFkZCBib3VuZHNPZlByb2plY3RlZFF1YWQoKSwg
d2hpY2ggCi0gICAgICAgIG1hcHMgcmVjdGFuZ2xlcyB3aXRoIHBvc3NpYmx5LWluZmluaXRlIGxv
Y2F0aW9uIG9yIGJvdW5kcyBpbnRvIHJlY3RzIHdoaWNoIGFyZSByZXByZXNlbnRhYmxlCi0gICAg
ICAgIGluIGFuIEludFJlY3QuCi0KLSAgICAgICAgVGVzdHM6IHRyYW5zZm9ybXMvM2QvaGl0LXRl
c3RpbmcvY29tcG9zaXRlZC1oaXQtdGVzdC5odG1sCi0gICAgICAgICAgICAgICB0cmFuc2Zvcm1z
LzNkL2hpdC10ZXN0aW5nL3JvdGF0ZWQtaGl0LXRlc3Qtd2l0aC1jaGlsZC5odG1sCi0gICAgICAg
ICAgICAgICB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL3JvdGF0ZWQtaGl0LXRlc3QyLmh0bWwK
LQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25N
YXRyaXguY3BwOgotICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg6OnByb2pl
Y3RQb2ludCk6Ci0gICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cHJvamVj
dFF1YWQpOgotICAgICAgICAoV2ViQ29yZTo6Y2xhbXBFZGdlVmFsdWUpOgotICAgICAgICAoV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg6OmJvdW5kc09mUHJvamVjdGVkUXVhZCk6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
OgotICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlOjpib3VuZHNPZk1hcHBlZFF1
YWQpOgotICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaDoKLSAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmhpdFRlc3RMYXllcik6Ci0KLTIwMTEtMTAtMjUgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KLQotICAgICAgICBbY2hyb21pdW1dIEJhdGNoIHVwIHRleHR1cmUg
dXBsb2FkcyBzbyB0aGF0IHRoZXkgY2FuIGJlIHVwZGF0ZWQgaW5jcmVtZW50YWxseQotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTQKLQotICAgICAg
ICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBCZWNhdXNlIHRleHR1cmUg
dXBsb2FkcyBjYW4gc29tZXRpbWVzIHRha2UgbW9yZSB0aGFuIGEgZnJhbWUgdG8KLSAgICAgICAg
Y29tcGxldGUsIGNvbGxlY3QgYWxsIHRoZSB1cGxvYWRzIHRoYXQgbmVlZCB0byBvY2N1ciBpbiBh
Ci0gICAgICAgIENDVGV4dHVyZVVwZGF0ZXIgc28gdGhhdCB3ZSBjYW4gZWFzaWx5IGluY3JlbWVu
dGFsbHkgdXBsb2FkIHNvbWUgb2YKLSAgICAgICAgdGhlbSwgaW50ZXJsZWF2aW5nIGlucHV0IGFu
ZCBkcmF3aW5nIHNvIHRoYXQgdGhlIGNvbXBvc2l0b3IgdGhyZWFkCi0gICAgICAgIGNvbnRpbnVl
cyB0byBhcHBlYXIgcmVzcG9uc2l2ZSBkdXJpbmcgYSBjb21taXQuCi0KLSAgICAgICAgVGhpcyBj
aGFuZ2UgZG9lc24ndCBhY3R1YWxseSBpbnRlcmxlYXZlIHRoZSBjb21taXRzLCBpdCBqdXN0IHB1
c2hlcwotICAgICAgICB0aGUgaW5mcmFzdHJ1Y3R1cmUgZm9yIGRvaW5nIHNvIHVwIHRvIHRoZSBD
Q1Byb3h5IGxldmVsIHNvIHRoYXQgYQotICAgICAgICBmdXR1cmUgc2NoZWR1bGVyIGNhbiBtYWtl
IHRoaXMgZGVjaXNpb24uCi0KLSAgICAgICAgVmlkZW9MYXllckNocm9taXVtIGlzIHRoZSBvbmx5
IGxheWVyIHR5cGUgdG8gbm90IHVzZSB0aGlzIHN5c3RlbS4gSXQKLSAgICAgICAgbmVlZHMgdG8g
YmUgY29udmVydGVkIHRvIHVzZSBhIHRleHR1cmUgdXBkYXRlciBmaXJzdCBhbmQgaXQgaXMgbGVz
cyBvZgotICAgICAgICBhIHByaW9yaXR5IHRoYW4gdGhlIHRpbGVkIGxheWVycy4KLQotICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9D
YW52YXMyRExheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzMkRMYXll
ckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzKToKLSAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3Vy
Y2VzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hy
b21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVy
Q2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllckNocm9taXVtOjp1cGRh
dGVDb21wb3NpdG9yUmVzb3VyY2VzKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViR0xM
YXllckNocm9taXVtOjp1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzKToKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpiZWdpbkNvbW1pdE9uSW1wbFRocmVhZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmZpbmlzaENvbW1pdE9uSW1wbFRocmVh
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0ZUNvbXBvc2l0b3JS
ZXNvdXJjZXMpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdC5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2luZ2xlVGhyZWFkUHJveHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQ
cm94eTo6c2V0TmVlZHNDb21taXQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQ
cm94eTo6ZG9Db21taXQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6
Y29tbWl0SWZOZWVkZWQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2luZ2xlVGhyZWFkUHJveHkuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVyLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpD
Q1RleHR1cmVVcGRhdGVyOjpDQ1RleHR1cmVVcGRhdGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkND
VGV4dHVyZVVwZGF0ZXI6On5DQ1RleHR1cmVVcGRhdGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkND
VGV4dHVyZVVwZGF0ZXI6OmFwcGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRh
dGVyOjp1cGRhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUZXh0dXJlVXBkYXRlcjo6Y2xlYXIp
OgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4dHVyZVVwZGF0
ZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRhdGVyOjphbGxvY2F0
b3IpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJv
eHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6Y29tbWl0T25JbXBsVGhy
ZWFkKToKLQotMjAxMS0xMC0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KLQot
ICAgICAgICBjb21wb3NpdGluZy92aWRlbyB0ZXN0cyB0aW1lIG91dCBvbiBMaW9uCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0OAotCi0gICAgICAg
IFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KLQotICAgICAgICBBVkZvdW5kYXRpb24gd2lsbCBu
b3QgYmVnaW4gbG9hZGluZyBvciBkZWNvZGluZyBtZWRpYSB1bnRpbCBhIGNvbnN1bWVyIGZvciB0
aGF0IG1lZGlhIGlzIHByZXNlbnQuCi0gICAgICAgIEZvciB2aWRlby1vbmx5IG1lZGlhLCB0aGlz
IG1lYW5zIHRoYXQgYW4gQVZQbGF5ZXJMYXllciBtdXN0IGJlIGNyZWF0ZWQgYW5kIGF0dGFjaGVk
IHRvIHRoZSAKLSAgICAgICAgQVZQbGF5ZXIgYmVmb3JlIHRoZSBsb2FkIHN0YXRlIHdpbGwgZXZl
ciByZWFjaCAiY2FuUGxheVRocm91Z2giLiBPbmNlIHRoZSBtZXRhZGF0YSBmb3IgYSBtZWRpYQot
ICAgICAgICBpcyBsb2FkZWQsIGNyZWF0ZSBhIEFWUGxheWVyTGF5ZXIgaWYgdGhlIG1lZGlhIGhh
cyBhIHZpZGVvIHRyYWNrLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnVwZGF0ZVN0YXRlcyk6Ci0KLTIwMTEt
MTAtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgTWVyZ2Ug
ZW5kT2ZMaW5lIHdpdGggbG9naWNhbEVuZE9mTGluZSBhbmQgc3RhcnRPZkxpbmUgd2l0aCBsb2dp
Y2FsU3RhcnRPZkxpbmUKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNzU1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQ2hhbmcgU2h1LgotCi0gICAgICAg
IE1lcmdlZCBlbmRPZkxpbmUgd2l0aCBsb2dpY2FsRW5kT2ZMaW5lLCBhbmQgc3RhcnRPZkxpbmUg
d2l0aCBsb2dpY2FsU3RhcnRPZkxpbmUKLSAgICAgICAgdG8gcmVkdWNlIHRoZSBjb2RlIGR1cGxp
Y2F0aW9uLgotCi0gICAgICAgICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OnN0YXJ0UG9zaXRpb25Gb3JMaW5lKToKLSAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
T2ZMaW5lKToKLSAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxTdGFydE9mTGluZSk6Ci0gICAgICAg
IChXZWJDb3JlOjplbmRQb3NpdGlvbkZvckxpbmUpOgotICAgICAgICAoV2ViQ29yZTo6aW5TYW1l
TG9naWNhbExpbmUpOgotICAgICAgICAoV2ViQ29yZTo6ZW5kT2ZMaW5lKToKLSAgICAgICAgKFdl
YkNvcmU6OmxvZ2ljYWxFbmRPZkxpbmUpOgotICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0
cy5oOgotCi0yMDExLTEwLTI1ICBBcmtvIFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KLQotICAg
ICAgICBNaWNyb2RhdGE6IGl0ZW10eXBlIGF0dHJpYnV0ZSBzaG91bGQgYmUgc3BhY2Utc2VwYXJh
dGVkIGxpc3QgdG8gYWxsb3cgbXVsdGlwbGUgdHlwZXMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMQotCi0gICAgICAgIFJldmlld2VkIGJ5IFJ5
b3N1a2UgTml3YS4KLQotICAgICAgICBUZXN0czogZmFzdC9kb20vTWljcm9EYXRhL2dldGl0ZW1z
LW11bHRpcGxlLWl0ZW10eXBlcy5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0Rh
dGEvaXRlbXR5cGUtYWRkLXJlbW92ZS10b2tlbnMuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9k
b20vTWljcm9EYXRhL2l0ZW10eXBlLWF0dHJpYnV0ZS10ZXN0Lmh0bWwKLQotICAgICAgICAqIGRv
bS9NaWNyb0RhdGFJdGVtTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNaWNyb0RhdGFJdGVt
TGlzdDo6bm9kZU1hdGNoZXMpOgotICAgICAgICAqIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3Qu
aDoKLSAgICAgICAgKFdlYkNvcmU6OkRPTVNldHRhYmxlVG9rZW5MaXN0Ojp0b2tlbnMpOgotICAg
ICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50
OjpzZXRJdGVtVmFsdWVUZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjppdGVt
VHlwZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6c2V0SXRlbVR5cGUpOgotICAg
ICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmlk
bDoKLQotMjAxMS0xMC0yNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgotCi0gICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMzNzAzMz4gRE9NUmFuZ2VPZlN0cmluZzpyZWxhdGl2ZVRv
Om9wdGlvbnMgaGFzIHByb2JsZW1zIHdpdGggLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQotCi0g
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCi0KLSAgICAgICAgVGVzdDogYWRkZWQgdG8g
VGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRE9NUmFuZ2VPZlN0cmluZy5tbQotCi0gICAgICAgICog
cGFnZS9QYWdlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnJhbmdlT2ZTdHJpbmcpOiBU
aGlzIGZ1bmN0aW9uIHdhcyBpbmNvcnJlY3RseSBhZGRpbmcgdGhlIFN0YXJ0SW5TZWxlY3Rpb24g
b3B0aW9uIHRvCi0gICAgICAgIHRoZSBpbml0aWFsIHNlYXJjaC4KLQotMjAxMS0xMC0yNSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVj
dG9yOiByZWRlc2lnbiB3b3JrZXJzIHNpZGViYXIgcGFuZQotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTUKLQotICAgICAgICBDaGFuZ2VkIHdvcmtl
cnMgc2lkZWJhciBwYW5lIGRlc2lnbi4KLQotICAgICAgICBOb3cgdGhlcmUgaXMgYSBsaW5rIHRv
IHdvcmtlciBpbnNwZWN0b3IgZm9yIGVhY2ggZGVkaWNhdGVkIHdvcmtlciBjcmVhdGVkCi0gICAg
ICAgIGJ5IGluc3BlY3RlZCBwYWdlLiBUaGUgc2lkZWJhciBkaXNwbGF5IGEgbGluayB0byBhIHBh
Z2Ugd2l0aCBsaXN0IG9mIGFsbAotICAgICAgICBzaGFyZWQgd29ya2VycyBpZiB0aGVyZSBvbmUg
aXMgc3VwcG9ydGVkIGJ5IHRoZSBXZWJLaXQgcG9ydC4gQWxzbyB0aGVyZQotICAgICAgICBpcyBh
IGNoZWNrYm94IHRoYXQgYWxsb3dzIHBhdXNlIGFsbCBuZXcgd29ya2VycyBvbiBmaXJzdCBzdGF0
ZW1lbnRzLgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU3R5
bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLl9yZWJ1aWxkU2VjdGlvbnNGb3JTdHlsZVJ1bGVzKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanM6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUub3Blbldvcmtlckluc3BlY3Rv
cik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUuX3dvcmtl
ckluc3BlY3RvckNsb3NpbmcpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2Vy
c1NpZGViYXJQYW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFy
UGFuZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTGlzdFNpZGViYXJQYW5lLnByb3Rv
dHlwZS5fd29ya2VyUmVtb3ZlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTGlzdFNp
ZGViYXJQYW5lLnByb3RvdHlwZS5fd29ya2Vyc0NsZWFyZWQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLldvcmtlckxpc3RTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2FkZFdvcmtlcik6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuV29ya2VyTGlzdFNpZGViYXJQYW5lLnByb3RvdHlwZS5fd29ya2VySXRl
bUNsaWNrZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX2F1dG9hdHRhY2hUb1dvcmtlcnNDbGlja2VkKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Xb3JrZXJMaXN0U2lkZWJhclBhbmUucHJvdG90eXBlLl9jcmVhdGVTaGFyZWRXb3JrZXJz
TGluay5saW5rLm9uY2xpY2spOgotICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX2NyZWF0ZVNoYXJlZFdvcmtlcnNMaW5rKToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgotICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yQ29tbW9uLmNzczoKLSAgICAgICAgKC5zaWRlYmFyLXNlcGFy
YXRvcik6Ci0gICAgICAgICguc2lkZWJhci1sYWJlbCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9zY3JpcHRzUGFuZWwuY3NzOgotICAgICAgICAoLmRlZGljYXRlZC13b3JrZXItaXRl
bSk6Ci0gICAgICAgICgjc2hhcmVkLXdvcmtlcnMtbGlzdCk6Ci0gICAgICAgICgjcGF1c2Utd29y
a2Vycy1jaGVja2JveCA+IGlucHV0KToKLQotMjAxMS0xMC0yNSAgTmljbyBXZWJlciAgPHRoYWtp
c0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtL21hY10gRml4IGFuIE9EUiB2aW9s
YXRpb24uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MDc1MwotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KLQotICAgICAgICBC
b3RoIFNjcm9sbEFuaW1hdG9yTm9uZSBhbmQgU2Nyb2xsQW5pbWF0b3JNYWMgZGVmaW5lIFNjcm9s
bEFuaW1hdG9yOjpjcmVhdGUoKSBvbiBPUyBYLgotICAgICAgICBSZW1vdmUgdGhlIHVudXNlZCBv
bmUuCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKLQotMjAxMS0xMC0yNSAg
VnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5z
cGVjdG9yOiBEZWJ1Z2dlciBmYWlscyB3aGVuIHRoZXJlIGlzIGFuIGludmFsaWQgd2F0Y2ggZXhw
cmVzc2lvbi4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwNzE4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICBU
ZXN0OiBpbnNwZWN0b3IvZGVidWdnZXIvd2F0Y2gtZXhwcmVzc2lvbnMtcGFuZWwtc3dpdGNoLmh0
bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuZXZhbHVhdGVJblNlbGVj
dGVkQ2FsbEZyYW1lKToKLQotMjAxMS0xMC0yNCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92
QGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBmaXggZW1wdHkgbGluZSBo
YW5kbGluZyBpbiBzb3VyY2UgbWFwcy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwNzI2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hh
dHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBw
aW5nLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBp
bmcucHJvdG90eXBlLl9wYXJzZU1hcHBpbmdzKToKLQotMjAxMS0xMC0yNSAgSnVzdGluIFNjaHVo
ICA8anNjaHVoQGNocm9taXVtLm9yZz4KLQotICAgICAgICBDaGVjayBmb3IgZW1wdHkgc3RyaW5n
IGluIHBhcnNlQXJjRmxhZwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzA3NjMKLQotICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUuCi0KLSAg
ICAgICAgVGVzdDogc3ZnL3BhdGgtaW52YWxpZC5odG1sCi0KLSAgICAgICAgKiBzdmcvU1ZHUGFy
c2VyVXRpbGl0aWVzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnBhcnNlQXJjRmxhZyk6Ci0KLTIw
MTEtMTAtMjQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgV2ViIEluc3BlY3Rvcjoga2VlcCBvbGQgc291cmNlIG1hcHBpbmcgd2hlbiBuZXcgb25l
IGNvdWxkIG5vdCBiZSBsb2FkZWQuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDcyOQotCi0gICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanM6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUuX3VwZGF0ZVNvdXJj
ZU1hcHBpbmcuZGlkQ3JlYXRlU291cmNlTWFwcGluZyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
UmF3U291cmNlQ29kZS5wcm90b3R5cGUuX3VwZGF0ZVNvdXJjZU1hcHBpbmcpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUucHJvdG90eXBlLl9jcmVhdGVTb3VyY2VNYXBwaW5n
LmRpZExvYWRTb3VyY2VNYXBwaW5nKToKLQotMjAxMS0xMC0yNSAgU2FjaGluIFB1cmFuaWsgIDxz
YWNoaW4ucHVyYW5pa0Btb3Rvcm9sYS5jb20+Ci0KLSAgICAgICAgRG91YmxlIG51bWJlciBzdGVw
PS41IHNob3VsZCBiZSBjb25zaWRlcmVkIHZhbGlkIGluIDxpbnB1dCB0eXBlPSJudW1iZXIiIHN0
ZXA9Ii41Ij4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMzIwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCi0KLSAgICAgICAgVGVz
dDogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwLWFzLWRvdWJsZS5odG1sCi0KLSAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnBhcnNlVG9E
b3VibGVGb3JOdW1iZXJUeXBlKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gY29uc2lkZXIKLSAg
ICAgICAgc3RlcCBhcyB2YWxpZCBldmVuIGlmIGl0IHN0YXJ0cyB3aXRoICIuIgotCi0yMDExLTEw
LTI1ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
V2ViIEluc3BlY3RvcjogW0Nocm9taXVtXSBBdWRpdHMgcGFuZWwgY29udGV4dCBtZW51IGZvciBs
aW5rcyBub3Qgd29ya2luZyBwcm9wZXJseQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTMKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJlc3VsdFZpZXcuanM6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSZXN1bHRWaWV3KToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5BdWRpdFJlc3VsdFZpZXcucHJvdG90eXBlLl9jb250ZXh0TWVudUV2ZW50RmlyZWQp
OgotCi0yMDExLTEwLTI1ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlc291cmNlcyBwYW5lbDogZGlzcGxheSB0aGUgY3Vy
cmVudCBzZWFyY2ggbWF0Y2ggaW5kZXggaW4gdGhlIHRvb2xiYXIuCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MAotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
c2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXguaHRtbAotCi0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUucGVyZm9ybVNlYXJjaC5jYWxsYmFjayk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fc2hvd1Nl
YXJjaFJlc3VsdC5jYWxsYmFjayk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlLl9zaG93U2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5C
YXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZS5nZXQgc2VhcmNoTWF0Y2hlc0NvdW50KToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyKToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5uZXh0
U2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS5wcmV2aW91c1NlYXJjaFJlc3VsdCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3NlYXJjaFJlc3VsdCk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNl
ci5wcm90b3R5cGUubmV4dCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1Ry
ZWVFbGVtZW50c1RyYXZlcnNlci5wcm90b3R5cGUucHJldmlvdXMpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlNlYXJjaFJlc3VsdHNUcmVlRWxlbWVudHNUcmF2ZXJzZXIucHJvdG90eXBlLm1hdGNo
SW5kZXgpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNUcmVlRWxlbWVudHNU
cmF2ZXJzZXIucHJvdG90eXBlLl9lbGVtZW50U2VhcmNoTWF0Y2hlc0NvdW50KToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlw
ZS5fdHJhdmVyc2VOZXh0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJl
ZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlwZS5fdHJhdmVyc2VQcmV2aW91cyk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC90cmVlb3V0bGluZS5qczoKLQotMjAxMS0xMC0yNSAgQW5k
cmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0
b3I6IEpTIGV4Y2VwdGlvbiBpbiBKYXZhU2NyaXB0U291cmNlRnJhbWUub25TaG93UG9wb3Zlci9z
aG93T2JqZWN0UG9wb3ZlcigpCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDgxMgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0K
LSAgICAgICAgQ2hlY2sgaWYgaGlnaGxpZ2h0ZWQgZWxlbWVudCBpcyBwcmVzZW50IHdoaWxlIGRp
c3BsYXlpbmcgb2JqZWN0IHBvcG92ZXIuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0phdmFTY3JpcHRTb3VyY2VGcmFtZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2Ny
aXB0U291cmNlRnJhbWUucHJvdG90eXBlLm9uU2hvd1BvcG92ZXIuc2hvd09iamVjdFBvcG92ZXIp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUu
b25TaG93UG9wb3Zlcik6Ci0KLTIwMTEtMTAtMjEgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0u
b3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gUm91dGUgQ29uc29sZTo6dGltZSBhbmQgQ29uc29s
ZTo6dGltZUVuZCB0byB0cmFjZV9ldmVudAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MjAKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgotCi0gICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNv
bnNvbGU6OnRpbWUpOgotICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6dGltZUVuZCk6Ci0KLTIw
MTEtMTAtMjEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KLQotICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5zaW9ucyBBUEldIGFsbG93IGV4dGVuc2lvbnMgdG8gc3Bl
Y2lmeSBzY3JpcHQgdG8gYmUgaW5qZWN0ZWQgb24gcmVsb2FkCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwMAotCi0gICAgICAgIFJldmlld2VkIGJ5
IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgLSBjaGFuZ2Ugd2ViSW5zcGVjdG9yLmluc3BlY3Rl
ZFBhZ2UucmVsb2FkKCkgdG8gYWNjZXB0IG11bHRpcGxlIG9wdGlvbnMgaW4gYW4gb2JqZWN0Ci0g
ICAgICAgIC0gYWRkIGFuIGFiaWxpdHkgdG8gaW5qZWN0IGEgc2NyaXB0IHVwb24gYSBwYWdlIHJl
bG9hZAotICAgICAgICAtIHJldHVybiBzY3JpcHQgaWQgaW4gYWRkU2NyaXB0VG9FdmFsdWF0ZU9u
TG9hZCgpCi0gICAgICAgIC0gcHJvdmlkZSByZW1vdmVTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKCkK
LSAgICAgICAgLSBzdG9yZSBzY3JpcHRzIHRvIGV2YWx1YXRlIG9uIGxvYWQgaW4gaW5zcGVjdG9y
IHN0YXRlIGNvb2tpZQotCi0gICAgICAgIFRlc3Q6IGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVu
c2lvbnMtcmVsb2FkLmh0bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoK
LSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6SW5zcGVjdG9yUGFnZUFnZW50KToKLSAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6cmVzdG9yZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmFkZFNjcmlwdFRvRXZhbHVhdGVPbkxvYWQpOgotICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpyZW1vdmVTY3JpcHRUb0V2YWx1YXRlT25M
b2FkKToKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6cmVtb3ZlQWxsU2Ny
aXB0c1RvRXZhbHVhdGVPbkxvYWQpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFn
ZW50OjpkaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQpOgotICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUGFnZUFnZW50OjpmcmFtZU5hdmlnYXRlZCk6Ci0gICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5oOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uQVBJLmpzOgotICAgICAgICAoaW5qZWN0ZWRFeHRlbnNpb25BUEkuSW5zcGVjdGVkV2luZG93
LnByb3RvdHlwZS5yZWxvYWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uU2VydmVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90
b3R5cGUuX29uUmVsb2FkKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlcnNT
aWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJzU2lkZWJhclBhbmUu
cHJvdG90eXBlLnNldEluc3RydW1lbnRhdGlvbi5jYWxsYmFjayk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lLnByb3RvdHlwZS5zZXRJbnN0cnVtZW50YXRpb24pOgot
Ci0yMDExLTEwLTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBwcmludCBleHBpcmVkIG1lc3NhZ2UgY291bnQgYmVmb3JlIHJl
bWFpbmluZyBtZXNzYWdlcy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwNzM2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4K
LQotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3ItMC4xLmpzb246Ci0gICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uOgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50Ojpl
bmFibGUpOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpyZXN0b3Jl
KToKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTW9kZWwuanM6Ci0KLTIwMTEtMTAtMjUgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgotCi0gICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI5ODMwOS4KLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvOTgzMDkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwODAxCi0KLSAgICAgICAgVGVzdCBmYWlscyBvbiBtYWMgKFJlcXVlc3RlZCBi
eSBiZW53ZWxscyBvbiAjd2Via2l0KS4KLQotICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmZpbGwpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpmaWxsUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmRyYXdJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OnNob3VsZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUpOgotICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVs
c2V3aGVyZSk6Ci0gICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
Lmg6Ci0KLTIwMTEtMTAtMjQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KLQot
ICAgICAgICBDaHJvbWl1bSBidWlsZCBmaXg6ICNpbmNsdWRlIHdpbmRvdy5oIGZvciBIQU5ETEUu
Ci0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZVV0aWxpdGll
cy5oOgotCi0yMDExLTEwLTI0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgotCi0g
ICAgICAgIEluY2x1ZGUgVGhyZWFkU2FmZVJlZkNvdW50ZWQuaCBzaW5jZSB0aGUgY2xhc3MgZGVj
bGFyZWQgaW4gdGhpcyBoZWFkZXIgZmlsZQotICAgICAgICBpbmhlcml0cyBmcm9tIFRocmVhZFNh
ZmVSZWZDb3VudGVkLgotCi0gICAgICAgICogc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbnRlcmZh
Y2UuaDoKLQotMjAxMS0xMC0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KLQot
ICAgICAgICBGaXggYSB0eXBvLgotCi0gICAgICAgICogYmluZGluZ3MvdjgvSmF2YVNjcmlwdENh
bGxGcmFtZS5oOgotCi0yMDExLTEwLTI0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+Ci0KLSAgICAgICAgUmVtb3ZlZCBTaGFyZWRVQ2hhciBhbmQgdGlnaHRlbmVkIGxhbmd1YWdl
IGFyb3VuZCBpdHMgcHJldmlvdXMgdXNlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTgKLQotICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZp
bi4KLQotICAgICAgICAtIFJlbmFtZWQgInRocmVhZFNhZmVDb3B5IiBhbmQgImNyb3NzVGhyZWFk
Q29weSIgdG8gImlzb2xhdGVkQ29weSIgYmVjYXVzZQotICAgICAgICB0aGUgZm9ybWVyIG5hbWVz
IGdhdmUgdGhlIGRhbmdlcm91cyBtaXNpbXByZXNzaW9uIHRoYXQgdGhlIHJlc3VsdGluZyBvYmpl
Y3QKLSAgICAgICAgd2FzIHRocmVhZC1zYWZlLCB3aGljaCBpcyBub3QgdHJ1ZS4KLSAgICAgICAg
Ci0gICAgICAgIC0gVXBkYXRlZCBhIGJ1bmNoIG9mIGZpbGVzIGZvciBoZWFkZXIgZGVwZW5kZW5j
eSBjaGFuZ2VzLCBub3cgdGhhdAotICAgICAgICBDcm9zc1RocmVhZFJlZkNvdW50ZWQgaXMgZ29u
ZS4KLQotICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50
ZWQuaDogUmVtb3ZlZC4KLSAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRIZWFwU25hcHNob3QuaDoKLSAgICAgICAgKiBiaW5kaW5ncy92OC9TZXJp
YWxpemVkU2NyaXB0VmFsdWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpyZWxlYXNlKToKLSAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKToKLSAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlTb3Vy
Y2VEYXRhLmg6Ci0gICAgICAgICogY3NzL0NTU1ZhbHVlLmg6Ci0gICAgICAgICogY3NzL1N0eWxl
TWVkaWEuaDoKLSAgICAgICAgKiBjc3MvV2ViS2l0Q1NTTWF0cml4Lmg6Ci0gICAgICAgICogZG9t
L1F1YWxpZmllZE5hbWUuaDoKLSAgICAgICAgKiBmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oOgot
ICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpTeXN0ZW1CYXNlUGF0aDo6b3BlcmF0
b3IgU3RyaW5nKToKLSAgICAgICAgKiBoaXN0b3J5L0NhY2hlZEZyYW1lLmg6Ci0gICAgICAgICog
aGlzdG9yeS9DYWNoZWRQYWdlLmg6Ci0gICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5oOgot
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmg6Ci0gICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKLSAgICAgICAgKiBsb2FkZXIvRm9ybVN0YXRlLmg6
Ci0gICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKLSAgICAgICAgKiBsb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhyZWFkQnJpZGdlKToKLSAg
ICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
SWNvbkRhdGFiYXNlOjpvcGVuKToKLSAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3lu
Y2hyb25vdXNJY29uRm9yUGFnZVVSTCk6Ci0gICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6
OnN5bmNocm9ub3VzSWNvblVSTEZvclBhZ2VVUkwpOgotICAgICAgICAoV2ViQ29yZTo6SWNvbkRh
dGFiYXNlOjpyZXRhaW5JY29uRm9yUGFnZVVSTCk6Ci0gICAgICAgIChXZWJDb3JlOjpJY29uRGF0
YWJhc2U6OnJlbGVhc2VJY29uRm9yUGFnZVVSTCk6Ci0gICAgICAgIChXZWJDb3JlOjpJY29uRGF0
YWJhc2U6OnNldEljb25EYXRhRm9ySWNvblVSTCk6Ci0gICAgICAgIChXZWJDb3JlOjpJY29uRGF0
YWJhc2U6OnNldEljb25VUkxGb3JQYWdlVVJMKToKLSAgICAgICAgKFdlYkNvcmU6Okljb25EYXRh
YmFzZTo6ZGF0YWJhc2VQYXRoKToKLSAgICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6ZGVm
YXVsdERhdGFiYXNlRmlsZW5hbWUpOgotICAgICAgICAoV2ViQ29yZTo6SW1wb3J0ZWRJY29uVVJM
Rm9yUGFnZVVSTFdvcmtJdGVtOjpJbXBvcnRlZEljb25VUkxGb3JQYWdlVVJMV29ya0l0ZW0pOgot
ICAgICAgICAoV2ViQ29yZTo6SW1wb3J0ZWRJY29uRGF0YUZvclBhZ2VVUkxXb3JrSXRlbTo6SW1w
b3J0ZWRJY29uRGF0YUZvclBhZ2VVUkxXb3JrSXRlbSk6Ci0gICAgICAgICogcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaDoKLSAgICAgICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmg6Ci0gICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlczo6aXNvbGF0ZWRDb3B5KToKLSAgICAgICAgKiBwYWdlL0dl
b3Bvc2l0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6aXNvbGF0ZWRDb3B5
KToKLSAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luOjpTZWN1cml0eU9yaWdpbik6Ci0gICAgICAgIChXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbjo6aXNvbGF0ZWRDb3B5KToKLSAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2lu
Lmg6Ci0gICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oOgotICAgICAgICAq
IHBsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ojo6Y29w
eSk6Ci0gICAgICAgICogcGxhdGZvcm0vRmlsZUNob29zZXIuaDoKLSAgICAgICAgKiBwbGF0Zm9y
bS9LVVJMLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OktVUkw6OmNvcHkpOgotICAgICAgICAqIHBs
YXRmb3JtL2NmL1NjaGVkdWxlUGFpci5oOgotICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxv
YkRhdGEuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmxvYkRhdGFJdGVtOjpkZXRhY2hGcm9tQ3Vy
cmVudFRocmVhZCk6Ci0gICAgICAgIChXZWJDb3JlOjpCbG9iRGF0YTo6ZGV0YWNoRnJvbUN1cnJl
bnRUaHJlYWQpOgotICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck1hcC5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpIVFRQSGVhZGVyTWFwOjpjb3B5RGF0YSk6Ci0gICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9NSU1FSGVhZGVyLmg6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUVycm9yQmFzZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9y
QmFzZTo6Y29weSk6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUxvYWRJbmZv
Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmNvcHlEYXRhKToKLSAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpjb3B5RGF0YSk6Ci0gICAgICAgICogcGxh
dGZvcm0vc3FsL1NRTFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNRTFZhbHVlOjpTUUxW
YWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTUUxWYWx1ZTo6c3RyaW5nKToKLSAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUXVvdGVzRGF0YS5oOgotICAgICAgICAqIHN0b3JhZ2UvQWJzdHJhY3RE
YXRhYmFzZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjp1cGRhdGVHdWlkVmVyc2lvbk1hcCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNlOjpBYnN0cmFjdERhdGFiYXNlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OnBlcmZvcm1PcGVuQW5kVmVyaWZ5KToK
LSAgICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OnN0cmluZ0lkZW50aWZpZXIpOgot
ICAgICAgICAoV2ViQ29yZTo6QWJzdHJhY3REYXRhYmFzZTo6ZGlzcGxheU5hbWUpOgotICAgICAg
ICAoV2ViQ29yZTo6QWJzdHJhY3REYXRhYmFzZTo6ZmlsZU5hbWUpOgotICAgICAgICAoV2ViQ29y
ZTo6QWJzdHJhY3REYXRhYmFzZTo6c2V0RXhwZWN0ZWRWZXJzaW9uKToKLSAgICAgICAgKFdlYkNv
cmU6OkFic3RyYWN0RGF0YWJhc2U6OmdldENhY2hlZFZlcnNpb24pOgotICAgICAgICAqIHN0b3Jh
Z2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlVmVy
c2lvbldyYXBwZXI6OkNoYW5nZVZlcnNpb25XcmFwcGVyKToKLSAgICAgICAgKiBzdG9yYWdlL0Rh
dGFiYXNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6dGFibGVOYW1lcyk6Ci0gICAgICAgICogc3RvcmFnZS9E
YXRhYmFzZURldGFpbHMuaDoKLSAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnNldERhdGFiYXNlRGlyZWN0b3J5
UGF0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OmRhdGFiYXNlRGlyZWN0
b3J5UGF0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXJEYXRh
YmFzZVBhdGgpOgotICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpjYW5Fc3RhYmxp
c2hEYXRhYmFzZSk6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6Om9yaWdpblBh
dGgpOgotICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpmdWxsUGF0aEZvckRhdGFi
YXNlKToKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6cG9wdWxhdGVPcmlnaW5z
KToKLSAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6ZGF0YWJhc2VOYW1lc0Zvck9y
aWdpbik6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OmFkZE9wZW5EYXRhYmFz
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnNldFF1b3RhKToKLSAgICAg
ICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6cmVjb3JkQ3JlYXRpbmdEYXRhYmFzZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnJlY29yZERlbGV0aW5nRGF0YWJhc2Up
OgotICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpyZWNvcmREZWxldGluZ09yaWdp
bik6Ci0gICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnNjaGVkdWxlTm90aWZ5RGF0
YWJhc2VDaGFuZ2VkKToKLSAgICAgICAgKiBzdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpPcmlnaW5RdW90YU1hbmFnZXI6OnRyYWNrT3JpZ2luKToKLSAg
ICAgICAgKFdlYkNvcmU6Ok9yaWdpblF1b3RhTWFuYWdlcjo6YWRkRGF0YWJhc2UpOgotICAgICAg
ICAqIHN0b3JhZ2UvU1FMRXJyb3IuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNRTEVycm9yOjptZXNz
YWdlKToKLSAgICAgICAgKFdlYkNvcmU6OlNRTEVycm9yOjpTUUxFcnJvcik6Ci0gICAgICAgICog
c3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0Lmg6Ci0gICAgICAgICogc3RvcmFnZS9TUUxTdGF0
ZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U1FMU3RhdGVtZW50OjpTUUxTdGF0ZW1lbnQp
OgotICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlN0b3JhZ2VBcmVhU3luYzo6U3RvcmFnZUFyZWFTeW5jKToKLSAgICAgICAgKFdlYkNvcmU6
OlN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQpOgotICAgICAgICAqIHN0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmg6Ci0gICAgICAgICogc3RvcmFnZS9TdG9yYWdlTWFwLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlN0b3JhZ2VNYXA6OmltcG9ydEl0ZW0pOgotICAgICAgICAqIHN0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZU5hbWVz
cGFjZUltcGw6OlN0b3JhZ2VOYW1lc3BhY2VJbXBsKToKLSAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VTeW5jTWFuYWdlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXI6
OlN0b3JhZ2VTeW5jTWFuYWdlcik6Ci0gICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIpOgot
ICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OnN5bmNJbXBvcnRPcmlnaW5JZGVudGlm
aWVycyk6Ci0gICAgICAgIChXZWJDb3JlOjpTdG9yYWdlVHJhY2tlcjo6c3luY0ZpbGVTeXN0ZW1B
bmRUcmFja2VyRGF0YWJhc2UpOgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OnNl
dE9yaWdpbkRldGFpbHMpOgotICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OndpbGxE
ZWxldGVBbGxPcmlnaW5zKToKLSAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZy5oOgotICAgICAgICAq
IHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6U2hhcmVkV29ya2VyUHJveHk6OnVybCk6Ci0gICAgICAgIChXZWJDb3JlOjpTaGFyZWRX
b3JrZXJQcm94eTo6bmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6
U2hhcmVkV29ya2VyUHJveHkpOgotICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnk6OmdldFByb3h5KToKLSAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlclRo
cmVhZC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWQ6OlNoYXJlZFdv
cmtlclRocmVhZCk6Ci0gICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpXb3JrZXJFeGNlcHRpb25UYXNrOjpXb3JrZXJFeGNlcHRpb25U
YXNrKToKLSAgICAgICAgKFdlYkNvcmU6OlBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yVGFzazo6
UG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3JUYXNrKToKLSAgICAgICAgKiB3b3JrZXJzL1dvcmtl
clJ1bkxvb3AuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cG9zdFRhc2tG
b3JNb2RlKToKLSAgICAgICAgKFdlYkNvcmU6OldvcmtlclJ1bkxvb3A6OlRhc2s6OlRhc2spOgot
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk6Ci0KLTIwMTEt
MTAtMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZW1vdmUg
ZW1wdHkgZGlyZWN0b3J5LgotCi0gICAgICAgICogcDJwOiBSZW1vdmVkLgotCi0yMDExLTEwLTI0
ICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJv
bWl1bV0gUmVmYWN0b3IgcGFpbnRpbmcvdXBkYXRpbmcvZHJhd2luZyBjb2RlLgotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTcKLQotICAgICAgICBS
ZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICBUaGlzIHJlZmFjdG9yaW5nIHNl
cGFyYXRlcyB0aGUgImVhcmx5IGV4aXRzIiBmcm9tIHRoZSBhY3R1YWwgbG9vcAotICAgICAgICB0
aGF0IGRyYXdzIGxheWVycy4gQXMgcGFydCBvZiB0aGlzLCBpdCB3YXMgYWxzbyBhcHByb3ByaWF0
ZSB0bwotICAgICAgICBjbGVhbiB1cCB0aGUgd2F5IHRoYXQgbWFza3MgYW5kIHJlcGxpY2FzIGFy
ZSBkZWFsdCB3aXRoIHdoZW4KLSAgICAgICAgcGFpbnRpbmcgYW5kIHVwZGF0aW5nLiBUaGUgcHVy
cG9zZSBvZiBhbGwgdGhpcyBpcyB0byBtYWtlIHRoaW5ncwotICAgICAgICBlYXNpZXIgdG8gdGVz
dCwgYW5kIGZvciBhIHNjaXNzb3Jpbmcgb3B0aW1pemF0aW9uIHRoYXQgbmVlZHMgdG8KLSAgICAg
ICAga25vdyBleGF0bHkgd2hhdCBnZXRzIGRyYXduLiBFeGlzdGluZyBsYXlvdXQgdGVzdHMgd2Vy
ZSBhYmxlIHRvCi0gICAgICAgIHZlcmlmeSB0aGUgcmVmYWN0b3JpbmcgZGlkIG5vdCBjaGFuZ2Ug
YmVoYXZpb3IuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3TGF5ZXJzT250b1JlbmRlclN1cmZhY2VzKToKLSAgICAgICAgKFdlYkNvcmU6Okxh
eWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyc0ludGVybmFsKToKLSAgICAgICAgKFdlYkNv
cmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVyKToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpwYWludE1hc2tBbmRSZXBsaWNhRm9yUmVuZGVy
U3VyZmFjZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnBhaW50TGF5ZXJD
b250ZW50cyk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OnVwZGF0ZUNvbXBv
c2l0b3JSZXNvdXJjZXMpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdC5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpsYXllclNo
b3VsZEJlQXBwZW5kZWQpOgotICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9y
bXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5oOgotICAgICAgICAoV2ViQ29yZTo6Q0NM
YXllclRyZWVIb3N0Q29tbW9uOjpjYWxjdWxhdGVWaXNpYmxlTGF5ZXJSZWN0KToKLQotMjAxMS0x
MC0yNCAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIFJFR1JFU1NJT04oODA4OTMpOiBIVE1MNSBzcGVjIHRha2VzIDJzIGxvbmdlciB0byBsb2Fk
IGR1ZSB0byB0aW1lIHNwZW50IGluIENTU1N0eWxlU2VsZWN0b3IKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ0Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzIC8gQ292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KLQotICAgICAgICBSZW1vdmVzIGFsbCB2aXJ0dWFsIGRpc3BhdGNoIGZy
b20gQ1NTU3R5bGVBcHBseVByb3BlcnR5IGJ5IGNvbnZlcnRpbmcgdG8gdXNlIHN0YXRpYyBmdW5j
dGlvbiBwb2ludGVycyBmb3IgZGlzcGF0Y2guCi0gICAgICAgIFVzZXMgY2xhc3MgdGVtcGxhdGVz
IGluc3RlYWQgb2YgZnVuY3Rpb24gdGVtcGxhdGVzIHRvIGFsbG93IGRlZmF1bHQgcGFyYW1ldGVy
cyBhbmQgYWxzbyB0byBzaGFyZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb25zIGFjcm9zcyBzdGF0aWMg
ZnVuY3Rpb25zLgotICAgICAgICBBbGwgY29uc3RydWN0b3IgcGFyYW1ldGVycyBiZWNvbWUgdGVt
cGxhdGUgcGFyYW1ldGVycy4gVGhpcyBpbXByb3ZlcyB0aGUgbGV2ZWwgb2YgY29tcGlsZXIgb3B0
aW1pemF0aW9uIHRoYXQgY2FuIGJlIGFjaGlldmVkLgotICAgICAgICBPdmVyYWxsIHRoaXMgYWNo
aWV2ZWQgYSB+MiUgb3ZlcmFsbCBzcGVlZHVwIG9uIHJ1bi1zYWZhcmkgUGVyZm9ybWFuY2VUZXN0
cy9QYXJzZXIvaHRtbDUtZnVsbC1yZW5kZXIuaHRtbCwKLSAgICAgICAgYW5kIHByb2ZpbGluZyBz
aG93ZWQgYSByZWR1Y3Rpb24gaW4gdGhlIHRpbWUgc3BlbnQgaW5zaWRlIENTU1N0eWxlU2VsZWN0
b3I6OmFwcGx5UHJvcGVydHkoKS4KLQotICAgICAgICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVy
dHkuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUV4cGFuZGluZzo6YXBwbHlJ
bmhlcml0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUV4cGFuZGluZzo6
YXBwbHlJbml0aWFsVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUV4cGFu
ZGluZzo6YXBwbHlWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RXhwYW5k
aW5nOjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlEZWZh
dWx0QmFzZTo6c2V0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eURlZmF1
bHRCYXNlOjp2YWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RGVmYXVsdEJh
c2U6OmluaXRpYWwpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNl
OjphcHBseUluaGVyaXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RGVm
YXVsdEJhc2U6OmFwcGx5SW5pdGlhbFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlEZWZhdWx0QmFzZTo6YXBwbHlWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5RGVmYXVsdEJhc2U6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBw
bHlQcm9wZXJ0eURlZmF1bHQ6OnNldFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlEZWZhdWx0OjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlEZWZhdWx0OjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlTdHlsZUltYWdlOjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlTdHlsZUltYWdlOjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlBdXRvOjpzZXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0
bzo6dmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86Omhhc0F1dG8p
OgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OnNldEF1dG8pOgotICAgICAg
ICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OmFwcGx5SW5oZXJpdFZhbHVlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBdXRvOjphcHBseUluaXRpYWxWYWx1ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6YXBwbHlWYWx1ZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6Y3JlYXRlSGFuZGxlcik6Ci0gICAgICAgIChXZWJD
b3JlOjpkZWZhdWx0SW5pdGlhbENvbG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlDb2xvcjo6YXBwbHlJbmhlcml0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUNvbG9yOjphcHBseUluaXRpYWxWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5Q29sb3I6OmFwcGx5VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0
eUNvbG9yOjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlE
aXJlY3Rpb246OmFwcGx5VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eURp
cmVjdGlvbjo6Y3JlYXRlSGFuZGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5
TGVuZ3RoOjpzZXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5TGVuZ3Ro
OjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlMZW5ndGg6OmNy
ZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVN0cmluZzo6c2V0
VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVN0cmluZzo6YXBwbHlWYWx1
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5U3RyaW5nOjpjcmVhdGVIYW5kbGVy
KToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlCb3JkZXJSYWRpdXM6OnNldFZhbHVl
KToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlCb3JkZXJSYWRpdXM6OmFwcGx5VmFs
dWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUJvcmRlclJhZGl1czo6Y3JlYXRl
SGFuZGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RmlsbExheWVyOjphcHBs
eUluaGVyaXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RmlsbExheWVy
OjphcHBseUluaXRpYWxWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rmls
bExheWVyOjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlGaWxs
TGF5ZXI6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUNv
bXB1dGVMZW5ndGg6OnNldFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlD
b21wdXRlTGVuZ3RoOjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlDb21wdXRlTGVuZ3RoOjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5
UHJvcGVydHlGb250OjphcHBseUluaGVyaXRWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBs
eVByb3BlcnR5Rm9udDo6YXBwbHlJbml0aWFsVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBw
bHlQcm9wZXJ0eUZvbnQ6OmFwcGx5VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUZvbnQ6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0
eUZvbnRXZWlnaHQ6OmFwcGx5VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0
eUZvbnRXZWlnaHQ6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUNvdW50ZXI6OmVtcHR5RnVuY3Rpb24pOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUNvdW50ZXI6OmFwcGx5VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0
eUNvdW50ZXI6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0
eUN1cnNvcjo6YXBwbHlJbmhlcml0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUN1cnNvcjo6YXBwbHlJbml0aWFsVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eUN1cnNvcjo6YXBwbHlWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3Bl
cnR5Q3Vyc29yOjpjcmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlUZXh0RW1waGFzaXNTdHlsZTo6YXBwbHlJbmhlcml0VmFsdWUpOgotICAgICAgICAoV2ViQ29y
ZTo6QXBwbHlQcm9wZXJ0eVRleHRFbXBoYXNpc1N0eWxlOjphcHBseUluaXRpYWxWYWx1ZSk6Ci0g
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VGV4dEVtcGhhc2lzU3R5bGU6OmFwcGx5VmFs
dWUpOgotICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVRleHRFbXBoYXNpc1N0eWxlOjpj
cmVhdGVIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246
OnNldFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246OnZh
bHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246OnRlc3QpOgot
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUFuaW1hdGlvbjo6Y2xlYXIpOgotICAgICAg
ICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUFuaW1hdGlvbjo6aW5pdGlhbCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpBcHBseVByb3BlcnR5QW5pbWF0aW9uOjptYXApOgotICAgICAgICAoV2ViQ29yZTo6
QXBwbHlQcm9wZXJ0eUFuaW1hdGlvbjo6YWNjZXNzQW5pbWF0aW9ucyk6Ci0gICAgICAgIChXZWJD
b3JlOjpBcHBseVByb3BlcnR5QW5pbWF0aW9uOjphbmltYXRpb25zKToKLSAgICAgICAgKFdlYkNv
cmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246OmFwcGx5SW5oZXJpdFZhbHVlKToKLSAgICAgICAg
KFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246OmFwcGx5SW5pdGlhbFZhbHVlKToKLSAg
ICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBbmltYXRpb246OmFwcGx5VmFsdWUpOgotICAg
ICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUFuaW1hdGlvbjo6Y3JlYXRlSGFuZGxlcik6Ci0g
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5T3V0bGluZVN0eWxlOjphcHBseUluaGVyaXRW
YWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5T3V0bGluZVN0eWxlOjphcHBs
eUluaXRpYWxWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5T3V0bGluZVN0
eWxlOjphcHBseVZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlPdXRsaW5l
U3R5bGU6OmNyZWF0ZUhhbmRsZXIpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVBcHBseVBy
b3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkpOgotICAgICAgICAqIGNzcy9DU1NTdHlsZUFw
cGx5UHJvcGVydHkuaDoKLSAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5SGFuZGxlcjo6UHJvcGVy
dHlIYW5kbGVyKToKLSAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5SGFuZGxlcjo6YXBwbHlJbmhl
cml0VmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlIYW5kbGVyOjphcHBseUluaXRp
YWxWYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eUhhbmRsZXI6OmFwcGx5VmFsdWUp
OgotICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlIYW5kbGVyOjppc1ZhbGlkKToKLSAgICAgICAg
KFdlYkNvcmU6OlByb3BlcnR5SGFuZGxlcjo6aW5oZXJpdEZ1bmN0aW9uKToKLSAgICAgICAgKFdl
YkNvcmU6OlByb3BlcnR5SGFuZGxlcjo6aW5pdGlhbEZ1bmN0aW9uKToKLSAgICAgICAgKFdlYkNv
cmU6OlByb3BlcnR5SGFuZGxlcjo6YXBwbHlGdW5jdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZUFwcGx5UHJvcGVydHk6OnByb3BlcnR5SGFuZGxlcik6Ci0gICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZUFwcGx5UHJvcGVydHk6OnNldFByb3BlcnR5SGFuZGxlcik6Ci0gICAgICAgICog
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQcm9wZXJ0eSk6Ci0gICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmg6Ci0gICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW52YWxpZENvbG9yKToK
LQotMjAxMS0xMC0yNCAgQmVuIFdlbGxzICA8YmVud2VsbHNAY2hyb21pdW0ub3JnPgotCi0gICAg
ICAgIENhbnZhcyBkcmF3SW1hZ2Ugd2l0aCBTb3VyY2VJbiwgRGVzdGluYXRpb25JbiwgU291cmNl
T3V0LCBEZXN0aW5hdGlvbkF0b3AgYW5kIENvcHkgaGF2ZSBlcnJvcnMKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTIwCi0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFz
LWNvbXBvc2l0ZS1pbWFnZS5odG1sCi0KLSAgICAgICAgVXNlIHRoZSBzYW1lIG1ldGhvZCBhcyBm
aWxscyB0byBoYW5kbGUgY29tcG9zaXRlZCBkcmF3SW1hZ2UgY2FsbHMgdGhhdCB3aWxsIGFmZmVj
dCB0aGUgd2hvbGUKLSAgICAgICAgY2FudmFzLiBUbyBkbyB0aGlzIGNvZGUgdXNlZCB3aGVuIGRv
aW5nIGZpbGxzIGhhcyBiZWVuIGZhY3RvcmVkIGludG8gc2VwZXJhdGUgZnVuY3Rpb25zIGFuZAot
ICAgICAgICB1c2VkIGJ5IGRyYXdJbWFnZS4gU29tZSBmdW5jdGlvbnMgdXNlZCB0byBkbyB0aGVz
ZSB0eXBlcyBvZiBvcGVyYXRpb25zIGhhdmUgYWxzbyBiZWVuIHJlbmFtZWQuCi0KLSAgICAgICAg
KiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6aXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGwpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpmaWxsUmVjdCk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdCk6Ci0gICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZUNvbXBvc2l0aW5nQnVm
ZmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y29tcG9z
aXRlQnVmZmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2UpOgotICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwpOgotICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oOgotCi0yMDExLTEwLTI0ICBT
aGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByOTgyOTQgYW5kIHI5ODMwNi4KLSAgICAgICAgaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTgyOTQKLSAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvOTgzMDYKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwNzkwCi0KLSAgICAgICAgdGhlIGZpcnN0IHBhdGNoIGJyb2tlIGNocm9t
aXVtLW1hYyBhbmQgdGhlIHNlY29uZCBnY2xpZW50Ci0gICAgICAgIChSZXF1ZXN0ZWQgYnkgamNo
YWZmcmFpeCBvbiAjd2Via2l0KS4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
OgotCi0yMDExLTEwLTI0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgotCi0gICAg
ICAgIEJ1aWxkIGZpeCBhZnRlciByOTgzMDAuCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5cGk6Ci0g
ICAgICAgICogV2ViQ29yZS5wcm86Ci0KLTIwMTEtMTAtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KLQotICAgICAgICBJdCBzaG91bGQgYmUgcG9zc2libGUgZm9yIFdp
ZGdldCBzdWJjbGFzc2VzIHRvIGNvbnRyb2wgd2hldGhlciB0cmFuc2Zvcm1zIGFmZmVjdCB0aGUg
ZnJhbWUgcmVjdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzA3ODcKLQotICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAgICAgIEN1
cnJlbnRseSBSZW5kZXJXaWRnZXQgc2V0cyB0aGUgZnJhbWUgcmVjdCBvZiBpdCdzIGhvc3RlZCB3
aWRnZXQgdG8gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgdHJhbnNmb3JtZWQKLSAgICAgICAgY29u
dGVudCBib3ggcmVjdCAodW5sZXNzIHRoZSBXaWRnZXQgaXMgYSBmcmFtZSB2aWV3KS4gSXQgc2hv
dWxkIGJlIHBvc3NpYmxlIGZvciBXaWRnZXQgc3ViY2xhc3NlcyB0byBvdmVycmlkZQotICAgICAg
ICB0aGlzIGJlaGF2aW9yIGFuZCBoYXZlIHRoZSBmcmFtZSByZWN0IHNldCB0byB0aGUgYWJzb2x1
dGUgY29udGVudCBib3ggd2l0aG91dCBhbnkgdHJhbnNmb3JtcyBhcHBsaWVkLgotCi0gICAgICAg
ICogcGxhdGZvcm0vV2lkZ2V0Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnRyYW5zZm9y
bXNBZmZlY3RGcmFtZVJlY3QpOgotICAgICAgICBBZGQgbmV3IG1lbWJlciBmdW5jdGlvbi4KLQot
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyV2lkZ2V0Ojp1cGRhdGVXaWRnZXRHZW9tZXRyeSk6Ci0gICAgICAgIE1vdmUgc2hhcmVk
IGNvZGUgZnJvbSBzZXRXaWRnZXQgYW5kIHVwZGF0ZVdpZGdldFBvc2l0aW9uIG91dCBpbnRvIGEg
bmV3IGZ1bmN0aW9uLiBJZiB0cmFuc2Zvcm1zQWZmZWN0RnJhbWVSZWN0IHJldHVybnMgCi0gICAg
ICAgIGZhbHNlLCBqdXN0IHNldCB0aGUgZnJhbWUgcmVjdCB0byB0aGUgYWJzb2x1dGUgY29udGVu
dCBib3guCi0KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6c2V0V2lkZ2V0KToKLSAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6dXBkYXRlV2lkZ2V0UG9zaXRpb24pOgotICAg
ICAgICBDYWxsIHVwZGF0ZVdpZGdldEdlb21ldHJ5LgotCi0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlcldpZGdldC5oOgotCi0yMDExLTEwLTI0ICBBcmtvIFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNv
bT4KLQotICAgICAgICBNaWNyb2RhdGE6IEFkZCBpdGVtcHJvcCwgaXRlbXJlZiwgaXRlbXZhbHVl
IGF0dHJpYnV0ZXMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02OTgzOQotCi0gICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KLQotICAgICAg
ICBUZXN0czogZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1wcm9wLWFkZC1yZW1vdmUtdG9rZW5zLmh0
bWwKLSAgICAgICAgICAgICAgIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtcHJvcC1mb3ItYW4tZWxl
bWVudC1tdXN0LWJlLWNvcnJlY3QuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9E
YXRhL2l0ZW1wcm9wLW11c3QtYmUtcmVhZC1vbmx5Lmh0bWwKLSAgICAgICAgICAgICAgIGZhc3Qv
ZG9tL01pY3JvRGF0YS9pdGVtcHJvcC1yZWZsZWN0ZWQtYnktaXRlbVByb3AtcHJvcGVydHkuaHRt
bAotICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1yZWYtYWRkLXJlbW92ZS10
b2tlbnMuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW1yZWYtYXR0
cmlidXRlLXJlZmxlY3RlZC1ieS1pdGVtUmVmLXByb3BlcnR5Lmh0bWwKLSAgICAgICAgICAgICAg
IGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtcmVmLWZvci1hbi1lbGVtZW50LW11c3QtYmUtY29ycmVj
dC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXJlZi1tdXN0LWJl
LXJlYWQtb25seS5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXZh
bHVlLXJlZmxlY3RzLWRhdGEtYXR0ci1vbi1vYmplY3QtZWxlbWVudC5odG1sCi0gICAgICAgICAg
ICAgICBmYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXZhbHVlLXJlZmxlY3RzLWhyZWYtYXR0ci5odG1s
Ci0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXZhbHVlLXJlZmxlY3RzLXNy
Yy1hdHRyaWJ1dGUtb24taW1nLWVsZW1lbnQuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9kb20v
TWljcm9EYXRhL2l0ZW12YWx1ZS1yZWZsZWN0cy10aGUtY29udGVudC1hdHRyLW9uLW1ldGEtZWxl
bWVudC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXZhbHVlLXJl
ZmxlY3RzLXRoZS1zcmMtYXR0ci5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2RvbS9NaWNyb0Rh
dGEvaXRlbXZhbHVlLXJldHVybnMtZWxlbWVudC1pdHNlbGYuaHRtbAotICAgICAgICAgICAgICAg
ZmFzdC9kb20vTWljcm9EYXRhL2l0ZW12YWx1ZS1yZXR1cm5zLW51bGwuaHRtbAotICAgICAgICAg
ICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW12YWx1ZS10aHJvd3MtZXhjcGV0aW9uLW9uc2V0
dGluZy0wMDEuaHRtbAotICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW12YWx1
ZS10aHJvd3MtZXhjcGV0aW9uLW9uc2V0dGluZy0wMDIuaHRtbAotCi0gICAgICAgICogQ01ha2VM
aXN0cy50eHQ6Ci0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJD
b3JlLmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS5wcm86Ci0gICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudEN1
c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjp0b0pTKToKLSAgICAgICAgKFdlYkNvcmU6OkpT
SFRNTEVsZW1lbnQ6Oml0ZW1WYWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpKU0hUTUxFbGVtZW50
OjpzZXRJdGVtVmFsdWUpOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVt
ZW50Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvVjhPYmplY3QpOgotICAgICAgICAo
V2ViQ29yZTo6VjhIVE1MRWxlbWVudDo6aXRlbVZhbHVlQWNjZXNzb3JHZXR0ZXIpOgotICAgICAg
ICAoV2ViQ29yZTo6VjhIVE1MRWxlbWVudDo6aXRlbVZhbHVlQWNjZXNzb3JTZXR0ZXIpOgotICAg
ICAgICAqIGRvbS9NaWNyb0RhdGFJdGVtTGlzdC5jcHA6Ci0gICAgICAgICogaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXRl
bVZhbHVlVGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6c2V0SXRl
bVZhbHVlVGV4dCk6Ci0gICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oOgotICAgICAg
ICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxBcmVh
RWxlbWVudDo6aXRlbVZhbHVlVGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MQXJlYUVsZW1l
bnQ6OnNldEl0ZW1WYWx1ZVRleHQpOgotICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50Lmg6
Ci0gICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46Ci0gICAgICAgICogaHRtbC9I
VE1MRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6Oml0ZW1Qcm9wKTog
UmV0dXJucyBlbGVtZW50J3MgaXRlbXByb3AgY29udGVudCBhdHRyaWJ1dGUuCi0gICAgICAgIChX
ZWJDb3JlOjpIVE1MRWxlbWVudDo6c2V0SXRlbVByb3ApOiBTZXRzIGl0ZW1wcm9wIHZhbHVlIG9u
IGNoYW5naW5nIGVsZW1ldCdzCi0gICAgICAgIGl0ZW1wcm9wIGF0dHJpYnV0ZS4KLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxFbGVtZW50OjppdGVtUmVmKTogUmV0dXJucyBlbGVtZW50J3MgaXRlbXJl
ZiBjb250ZW50IGF0dHJpYnV0ZS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpzZXRJ
dGVtUmVmKTogU2V0cyBpdGVtcmVmIHZhbHVlIG9uIGNoYW5naW5nIGVsZW1ldCdzCi0gICAgICAg
IGl0ZW1yZWYgYXR0cmlidXRlLgotICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNldEl0
ZW1WYWx1ZSk6IFNldHMgZWxlbWVudCdzIGl0ZW12YWx1ZS4gSWYgdGhlIGVsZW1lbnQgaGFzIG5v
Ci0gICAgICAgIGl0ZW1wcm9wIGF0dHJpYnV0ZSBvciBpZiBlbGVtZW50IGhhcyBhbiBpdGVtc2Nv
cGUgYXR0cmlidXRlLCBpdCB0aHJvd3MgSU5WQUxJRF9BQ0NFU1NfRVJSCi0gICAgICAgIGV4Y2Vw
dGlvbi4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjppdGVtVmFsdWUpOiBSZXR1cm5z
IHRoZSBlbGVtZW50cyBpdGVtdmFsdWUuCi0KLSAgICAgICAgSWYgdGhlIGVsZW1lbnQgaGFzIG5v
IGl0ZW1wcm9wIGF0dHJpYnV0ZSBpdCByZXR1cm5zIG51bGwuCi0gICAgICAgIElmIHRoZSBlbGVt
ZW50IGhhcyBhbiBpdGVtc2NvcGUgYXR0cmlidXRlLCBpdCByZXR1cm5zIHRoZSBlbGVtZW50IGl0
c2VsZi4KLSAgICAgICAgSWYgdGhlIGVsZW1lbnQgaXMgYSBtZXRhIGVsZW1lbnQ6IEl0IGFjdHMg
YXMgaXQgd291bGQgaWYgaXQgd2FzIHJlZmxlY3RpbmcgdGhlIGVsZW1lbnQncwotICAgICAgICBj
b250ZW50IGNvbnRlbnQgYXR0cmlidXRlLgotICAgICAgICBJZiB0aGUgZWxlbWVudCBpcyBhbiBh
dWRpbywgZW1iZWQsIGlmcmFtZSwgaW1nLCBzb3VyY2UsIHRyYWNrLCBvciB2aWRlbyBlbGVtZW50
OiBJdCBhY3RzCi0gICAgICAgIGFzIGl0IHdvdWxkIGlmIGl0IHdhcyByZWZsZWN0aW5nIHRoZSBl
bGVtZW50J3Mgc3JjIGNvbnRlbnQgYXR0cmlidXRlLgotICAgICAgICBJZiB0aGUgZWxlbWVudCBp
cyBhbiBhLCBhcmVhLCBvciBsaW5rIGVsZW1lbnQ6IEl0IGFjdCBhcyBpdCB3b3VsZCBpZiBpdCB3
YXMgcmVmbGVjdGluZyB0aGUKLSAgICAgICAgaHJlZiBjb250ZW50IGF0dHJpYnV0ZS4KLSAgICAg
ICAgSWYgdGhlIGVsZW1lbnQgaXMgYW4gb2JqZWN0IGVsZW1lbnQ6IEl0IGFjdHMgYXMgIGl0IHdv
dWxkIGlmIGl0IHdhcyByZWZsZWN0aW5nIHRoZSBlbGVtZW50J3MKLSAgICAgICAgZGF0YSBjb250
ZW50IGF0dHJpYnV0ZS4KLQotICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6Oml0ZW1WYWx1
ZVRleHQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNldEl0ZW1WYWx1ZVRleHQp
OgotICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxFbGVt
ZW50LmlkbDoKLSAgICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6aXRlbVZhbHVlVGV4dCk6Ci0gICAgICAgIChXZWJD
b3JlOjpIVE1MRW1iZWRFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KToKLSAgICAgICAgKiBodG1s
L0hUTUxFbWJlZEVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjppdGVtVmFsdWVUZXh0KToK
LSAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KToK
LSAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmg6Ci0gICAgICAgICogaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Oml0
ZW1WYWx1ZVRleHQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6c2V0SXRl
bVZhbHVlVGV4dCk6Ci0gICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6Ci0gICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtF
bGVtZW50OjppdGVtVmFsdWVUZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxMaW5rRWxlbWVu
dDo6c2V0SXRlbVZhbHVlVGV4dCk6Ci0gICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaDoK
LSAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6aXRlbVZhbHVlVGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KToKLSAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpIVE1MTWV0YUVsZW1lbnQ6Oml0ZW1WYWx1ZVRleHQpOgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1ldGFFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KToKLSAgICAgICAgKiBodG1s
L0hUTUxNZXRhRWxlbWVudC5oOgotICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6Oml0ZW1WYWx1ZVRleHQpOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnNldEl0ZW1WYWx1ZVRleHQpOgot
ICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaDoKLSAgICAgICAgKiBodG1sL0hUTUxT
b3VyY2VFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50Ojpp
dGVtVmFsdWVUZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzZXRJ
dGVtVmFsdWVUZXh0KToKLSAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50Lmg6Ci0gICAg
ICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmFja0VsZW1lbnQ6Oml0ZW1WYWx1ZVRleHQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNr
RWxlbWVudDo6c2V0SXRlbVZhbHVlVGV4dCk6Ci0gICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVt
ZW50Lmg6Ci0gICAgICAgICogaHRtbC9NaWNyb0RhdGFJdGVtVmFsdWUuY3BwOiBBZGRlZC4KLSAg
ICAgICAgKFdlYkNvcmU6Ok1pY3JvRGF0YUl0ZW1WYWx1ZTo6TWljcm9EYXRhSXRlbVZhbHVlKToK
LSAgICAgICAgKFdlYkNvcmU6Ok1pY3JvRGF0YUl0ZW1WYWx1ZTo6Y3JlYXRlRnJvbVN0cmluZyk6
Ci0gICAgICAgIChXZWJDb3JlOjpNaWNyb0RhdGFJdGVtVmFsdWU6OmNyZWF0ZUZyb21Ob2RlKToK
LSAgICAgICAgKiBodG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5oOiBBZGRlZC4KLSAgICAgICAgKFdl
YkNvcmU6Ok1pY3JvRGF0YUl0ZW1WYWx1ZTo6aXNOb2RlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1p
Y3JvRGF0YUl0ZW1WYWx1ZTo6Z2V0Tm9kZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNaWNyb0RhdGFJ
dGVtVmFsdWU6OmdldFN0cmluZyk6Ci0KLTIwMTEtMTAtMjQgIEpvc2VwaCBQZWNvcmFybyAgPGpv
ZXBlY2tAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZW1vdmUgdW51c2VkIGluc3RhbmNlIHZhcmlh
YmxlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1
MAotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oOgotCi0yMDExLTEwLTI0ICBOaWNvIFdlYmVyICA8
dGhha2lzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW0vbWFjXSBGaXggYW4gT0RS
IHZpb2xhdGlvbi4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwNzUzCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgotCi0gICAg
ICAgIEJvdGggU2Nyb2xsQW5pbWF0b3JOb25lIGFuZCBTY3JvbGxBbmltYXRvck1hYyBkZWZpbmUg
U2Nyb2xsQW5pbWF0b3I6OmNyZWF0ZSgpIG9uIE9TIFguCi0gICAgICAgIFJlbW92ZSB0aGUgdW51
c2VkIG9uZS4KLQotICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgotCi0yMDExLTEw
LTI0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgotCi0gICAgICAgIGZl
Q29sb3JNYXRyaXggZG9lc24ndCB1c2UgdGhlIGNvcnJlY3QgZGVmYXVsdCAibWF0cml4IiB0eXBl
IHdoZW4gbm8gdHlwZSBhdHRyaWJ1dGUgaXMgc3BlY2lmaWVkCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzNQotICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTAyODAxNzc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgot
Ci0gICAgICAgIE1ha2UgZmVDb2xvck1hdHJpeCdzIHR5cGUgYXR0cmlidXRlIGJlICJtYXRyaXgi
IGJ5IGRlZmF1bHQuCi0KLSAgICAgICAgVGVzdDogc3ZnL2ZpbHRlcnMvZmVDb2xvck1hdHJpeC1k
ZWZhdWx0LXR5cGUuc3ZnCi0KLSAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OlNWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50KToKLQotMjAxMS0xMC0yNCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hy
b21pdW0ub3JnPgotCi0gICAgICAgIFVuYnJlYWsgYmluZGluZyBnZW5lcmF0aW9uIHRlc3RzCi0g
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2OAotCi0g
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFVwZGF0ZSB0aGUgZXhw
ZWN0ZWQgb3V0cHV0IG9mIFY4IGJpbmRpbmcgdGVzdHMgdG8gbWF0Y2gKLSAgICAgICAgcmVzdWx0
cyBjL28gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDY1Ci0KLSAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6aWRiS2V5Q2FsbGJhY2spOgotCi0yMDExLTEwLTIx
ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIEFk
ZCBpc1RyYWNlRXZlbnRFbmFibGVkIHRvIFBsYXRmb3JtU3VwcG9ydC4KLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjE4Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gRmlzaGVyLgotCi0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZv
cm1TdXBwb3J0Lmg6Ci0KLTIwMTEtMTAtMjQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9i
ZS5jb20+Ci0KLSAgICAgICAgVXNlIFN0cmluZ0J1aWxkZXIgaW4gQ1NTUnVsZUxpc3Q6OnJ1bGVz
VGV4dCgpL0NTU1NlbGVjdG9yTGlzdDo6c2VsZWN0b3JzVGV4dCgpCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0NgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KLQot
ICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NSdWxl
TGlzdDo6cnVsZXNUZXh0KToKLSAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yTGlzdDo6c2VsZWN0b3JzVGV4dCk6Ci0gICAgICAg
ICogY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZTo6Y3NzVGV4dCk6IFVzZSBDU1NSdWxlTGlzdDo6cnVsZXNUZXh0
KCkgbWV0aG9kIGluc3RlYWQgb2YgZXhwbGljaXQgbG9vcC4KLQotMjAxMS0xMC0yNCAgTWljaGFl
bCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KLQotICAgICAgICBXZWJLaXQgZG9lc24ndCBi
dWlsZCB3aXRoIHJlY2VudCBjaGFuZ2VzIHRvIGxpYmRpc3BhdGNoCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNwotCi0gICAgICAgIEFkZGVkIGlu
aXRpYWxpemF0aW9uIGZvciBuZXcgV2ViS2l0U3lzdGVtSW50ZXJmYWNlIGZ1bmN0aW9uIAotICAg
ICAgICBDcmVhdGVWTVByZXNzdXJlRGlzcGF0Y2hPbk1haW5RdWV1ZS4gIENoYW5nZWQgTWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsCi0gICAgICAgIHRvIHVzZSBuZXcgZnVuY3Rpb24uCi0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCi0KLSAgICAgICAgTm8gbmV3IHRl
c3RzLiAgTW92ZWQgZnVuY3Rpb25hbGl0eSB0byBXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuCi0KLSAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyTWFjLm1tOgotICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5k
bGVyOjppbnN0YWxsKToKLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVy
ZmFjZS5oOgotICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1t
OgotCi0yMDExLTEwLTI0ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgSW5kZXhlZERCOiBUaHJvdyBEQVRBX0VSUiBvbiBpbnZhbGlkIGtleXMsIHJlbW92ZSBu
dWxsIGtleSBzdXBwb3J0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDA2NQotCi0gICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCi0KLSAgICAg
ICAgUGFydCAxIG9mIGEgdHdvLXNpZGVkIGNvbW1pdC4gUmVuYW1lcyBJREJLZXk6Ok51bGxUeXBl
IHRvCi0gICAgICAgIElEQktleTo6SW52YWxpZFR5cGUuIEpTIGJpbmRpbmcgeWllbGRzIHRoaXMg
dHlwZSByYXRoZXIKLSAgICAgICAgdGhhbiB0aHJvd2luZyBpbW1lZGlhdGVseSBzbyB0aGUgY29y
cmVjdCBleGNlcHRpb24gdHlwZSBjYW4KLSAgICAgICAgYmUgcmFpc2VkLiBDaGVja3MgZm9yIGlu
dmFsaWQga2V5cyBhZGRlZCB0byBmcm9udC1lbmQgY2xhc3Nlcy4KLQotICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgotICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgotICAgICAgICAoVHlw
ZUNhbkZhaWxDb252ZXJzaW9uKToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9JREJCaW5kaW5nVXRp
bGl0aWVzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUlEQktleUZyb21WYWx1ZSk6Ci0g
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OnRvVjgpOgotICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OklEQkN1cnNvcjo6Y29udGludWVGdW5jdGlvbik6Ci0gICAgICAgICogc3Rv
cmFnZS9JREJGYWN0b3J5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmNtcCk6
Ci0gICAgICAgICogc3RvcmFnZS9JREJJbmRleC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJREJJ
bmRleDo6Z2V0KToKLSAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4OjpnZXRLZXkpOgotICAgICAg
ICAqIHN0b3JhZ2UvSURCS2V5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OklEQktleTo6SURCS2V5
KToKLSAgICAgICAgKFdlYkNvcmU6OklEQktleTo6Y29tcGFyZSk6Ci0gICAgICAgICogc3RvcmFn
ZS9JREJLZXkuaDoKLSAgICAgICAgKFdlYkNvcmU6OklEQktleTo6Y3JlYXRlSW52YWxpZCk6Ci0g
ICAgICAgICogc3RvcmFnZS9JREJLZXlSYW5nZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpJREJL
ZXlSYW5nZTo6b25seSk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6bG93ZXJCb3Vu
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6dXBwZXJCb3VuZCk6Ci0gICAgICAg
IChXZWJDb3JlOjpJREJLZXlSYW5nZTo6Ym91bmQpOgotICAgICAgICAqIHN0b3JhZ2UvSURCS2V5
UmFuZ2UuaDoKLSAgICAgICAgKFdlYkNvcmU6OklEQktleVJhbmdlOjpsb3dlckJvdW5kKToKLSAg
ICAgICAgKFdlYkNvcmU6OklEQktleVJhbmdlOjp1cHBlckJvdW5kKToKLSAgICAgICAgKFdlYkNv
cmU6OklEQktleVJhbmdlOjpib3VuZCk6Ci0gICAgICAgICogc3RvcmFnZS9JREJLZXlSYW5nZS5p
ZGw6Ci0gICAgICAgICogc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29kZUlEQktleSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJLZXkpOgotICAgICAgICAqIHN0b3JhZ2UvSURC
T2JqZWN0U3RvcmUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmdldCk6
Ci0gICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6YWRkKToKLSAgICAgICAgKFdlYkNv
cmU6OklEQk9iamVjdFN0b3JlOjpwdXQpOgotICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3Rv
cmU6OmRlbGV0ZUZ1bmN0aW9uKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGwuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bDo6cHV0KToKLSAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1
dEludGVybmFsKToKLSAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
OmRlbGV0ZUZ1bmN0aW9uKToKLSAgICAgICAgKiBzdG9yYWdlL0lEQlNRTGl0ZUJhY2tpbmdTdG9y
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjp3aGVyZVN5bnRheEZvcktleSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpiaW5kS2V5VG9RdWVyeSk6Ci0gICAgICAgIChXZWJDb3JlOjpsb3dlckN1cnNvcldo
ZXJlRnJhZ21lbnQpOgotICAgICAgICAoV2ViQ29yZTo6dXBwZXJDdXJzb3JXaGVyZUZyYWdtZW50
KToKLSAgICAgICAgKFdlYkNvcmU6OmJpbmRLZXlUb1F1ZXJ5V2l0aE51bGxzKToKLSAgICAgICAg
KFdlYkNvcmU6OmtleUZyb21RdWVyeSk6Ci0KLTIwMTEtMTAtMjQgIEFsb2sgUHJpeWFkYXJzaGkg
IDxhbG9rcEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVtXSBNYWtlIGFjY2VsZXJh
dGVkIGRyYXdpbmcgd29yayB3aXRoIHRocmVhZGVkIGNvbXBvc2l0aW5nCi0gICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1NgotCi0gICAgICAgIFJldmll
d2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0gICAgICAgIE1ha2Ugc3VyZSB0aGF0IHRoZSBjb21w
b3NpdG9yIGNvbnRleHQgaXMgbm90IHVzZWQgb3V0c2lkZSBMYXllclRleHR1cmVVcGRhdGVyOjp1
cGRhdGVUZXh0dXJlUmVjdCgpLgotICAgICAgICBDcmVhdGVkIGEgRnJhbWVCdWZmZXIgY2xhc3Mg
dGhhdCB3cmFwcyBza2lhIGdwdSBjYW52YXMgYW5kIG1hbmFnZXMgR0wgcmVzb3VyY2VzLgotCi0g
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0u
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW06OmNyZWF0ZVRleHR1
cmVVcGRhdGVyKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRl
eHR1cmVVcGRhdGVyQ2FudmFzLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lQnVmZmVyOjpG
cmFtZUJ1ZmZlcjo6RnJhbWVCdWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZmZXI6
OkZyYW1lQnVmZmVyOjp+RnJhbWVCdWZmZXIpOgotICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZm
ZXI6OkZyYW1lQnVmZmVyOjppbml0aWFsaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyVGV4
dHVyZVVwZGF0ZXJTa1BpY3R1cmU6OkxheWVyVGV4dHVyZVVwZGF0ZXJTa1BpY3R1cmUpOgotICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJUZXh0dXJlVXBkYXRlclNrUGljdHVyZTo6fkxheWVyVGV4dHVy
ZVVwZGF0ZXJTa1BpY3R1cmUpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJUZXh0dXJlVXBkYXRl
clNrUGljdHVyZTo6cHJlcGFyZVRvVXBkYXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyVGV4
dHVyZVVwZGF0ZXJTa1BpY3R1cmU6OnVwZGF0ZVRleHR1cmVSZWN0KToKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmVVcGRhdGVyQ2FudmFzLmg6Ci0gICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6aW5pdGlhbGl6ZSk6Ci0KLTIwMTEt
MTAtMjQgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgT3B0aW1p
emUgTm9kZTo6aXNJblNoYWRvd1RyZWUgdG8gZXhlY3V0ZSBpbiBjb25zdGFudC10aW1lCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY4NgotCi0gICAg
ICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBObyBleHBlY3RlZCBj
aGFuZ2UgaW4gYmVoYXZpb3IsIHNvIG5vIG5ldyB0ZXN0cy4KLQotICAgICAgICAqIGRvbS9Ob2Rl
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzSW5TaGFkb3dUcmVlKToKLQotMjAxMS0x
MC0yNCAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW2Nocm9taXVt
XSBFeHBvc2UgV2ViVGhyZWFkOjpwb3N0RGVsYXllZFRhc2sgdG8gQ0NUaHJlYWQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzEyCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZC5oOgotCi0yMDExLTEwLTI0ICBMZXZpIFdlaW50cmF1YiAg
PGxldml3QGNocm9taXVtLm9yZz4KLQotICAgICAgICA8c3ZnPiBmYWlscyB0byB1c2UgZXhwbGlj
aXQgd2lkdGggYW5kIGhlaWdodCBpbnNpZGUgPGh0bWw+IGluc2lkZSBJRlJBTUUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODIzCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgotCi0gICAgICAgIENoZWNraW5nIHRoYXQg
ZW1iZWRkZWQgU1ZHIGlzIGluIGFuIFNWRyBkb2N1bWVudCBiZWZvcmUgbmVnb3RpYXRpbmcgc2l6
ZQotICAgICAgICB3aXRoIHRoZSBob3N0IGRvY3VtZW50LgotCi0gICAgICAgIFRlc3Q6IHN2Zy9h
cy1vYmplY3Qvc3ZnLWVtYmVkZGVkLWluLWh0bWwtaW4taWZyYW1lLmh0bWwKLQotICAgICAgICAq
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjppc0Vt
YmVkZGVkVGhyb3VnaEZyYW1lQ29udGFpbmluZ1NWR0RvY3VtZW50KToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCk6Ci0gICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KToK
LQotMjAxMS0xMC0yNCAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIE5vZGU6OnJlZ2lzdGVyZWRNdXRhdGlvbk9ic2VydmVyc09mVHlwZSBzaG91bGQg
YmUgcHJlZml4ZWQgYnkgImdldCIKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwMzU5Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLQot
ICAgICAgICBUaGlzIGNoYW5nZSByZW5hbWVzIE5vZGU6OnJlZ2lzdGVyZWRNdXRhdGlvbk9ic2Vy
dmVyc09mVHlwZSB0bwotICAgICAgICBOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZl
cnNPZlR5cGUgcGVyIHRoZSBXZWJLaXQgc3R5bGUgZ3VpZGUuCi0KLSAgICAgICAgTm8gdGVzdHMg
bmVlZGVkIGFzIHRoZSBjaGFuZ2UgaXMgb25seSBtZXRob2QgcmVuYW1pbmcuCi0KLSAgICAgICAg
KiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRh
OjpkaXNwYXRjaE1vZGlmaWVkRXZlbnQpOgotICAgICAgICAqIGRvbS9DaGlsZExpc3RNdXRhdGlv
blNjb3BlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVy
OjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6aW5jcmVtZW50U2NvcGluZ0xldmVsKToKLSAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjplbnF1ZXVlQXR0cmli
dXRlc011dGF0aW9uUmVjb3JkKToKLSAgICAgICAgKiBkb20vTm9kZS5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUpOgotICAg
ICAgICAqIGRvbS9Ob2RlLmg6Ci0KLTIwMTEtMTAtMjQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhu
ZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBSZW5hbWUgc3RhdGljIGdldE93blByb3BlcnR5
U2xvdCB0byBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4Ci0gICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MQotCi0gICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4KLQotICAgICAgICBSZW5hbWluZyB2
ZXJzaW9ucyBvZiBnZXRPd25Qcm9wZXJ0eVNsb3QgdGhhdCB1c2UgYW4gdW5zaWduZWQgYXMgdGhl
IHByb3BlcnR5Ci0gICAgICAgIG5hbWUgdG8gImdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgiIGlu
IHByZXBhcmF0aW9uIGZvciBhZGRpbmcgdGhlbSB0byB0aGUgCi0gICAgICAgIE1ldGhvZFRhYmxl
LCB3aGljaCByZXF1aXJlcyB1bmlxdWUgbmFtZXMgZm9yIGVhY2ggbWV0aG9kLgotCi0gICAgICAg
ICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OkNsb25lU2VyaWFsaXplcjo6Z2V0U3BhcnNlSW5kZXgpOgotICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgotICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgot
ICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6Ci0gICAgICAgICogYnJpZGdlL3J1bnRp
bWVfYXJyYXkuY3BwOgotICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5
U2xvdFZpcnR1YWwpOgotICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmdldE93blByb3BlcnR5
U2xvdEJ5SW5kZXgpOgotICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6Ci0KLTIwMTEt
MTAtMjQgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KLQotICAgICAgICBJbmRl
eGVkREIgYWRkIHNob3VsZCBmYWlsIGFkZGluZyBhbiBpbmxpbmUgYW5kIHBhc3NlZCBrZXkgc2lt
dWx0YW5lb3VzbHkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU4NTk4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KLQotICAgICAgICBU
ZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtaW5saW5lLWFu
ZC1wYXNzZWQuaHRtbAotCi0gICAgICAgIEltcGxlbWVudCB0aGUgc3BlYyBjbGF1c2U6IHBhc3Np
bmcgYSBrZXkgaW50byBhZGQoKSBvciBwdXQoKSB3aGVuCi0gICAgICAgIHRoZSBvYmplY3Qgc3Rv
cmUgaGFzIGEga2V5IHBhdGggKCJpbmxpbmUga2V5IikgaXMgYW4gZXJyb3IuCi0KLSAgICAgICAg
KiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KToKLQotMjAxMS0xMC0yNCAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KLQotICAgICAgICBJbXByb3ZlIGRlYnVn
IGNvbXBvc2l0aW5nIGJvcmRlciBjb2xvcnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwNzQyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNr
c29uLgotCi0gICAgICAgIEltcHJvdmUgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGRlYnVnIGJvcmRl
cnMgdXNlZCB0byBpbmRpY2F0ZSBjb21wb3NpdGluZzoKLSAgICAgICAgMS4gVXNlIGdyZWVuIGZv
ciBub3JtYWwgbGF5ZXJzLCBvcmFuZ2UgZm9yIHRpbGVkIGxheWVycwotICAgICAgICAyLiBNYWtl
IHRoZSByZXBhaW50IGNvdW50ZXIgdHJhbnNsdWNlbnQKLSAgICAgICAgMy4gQ2hhbmdlIHRoZSBj
b2xvciBvZiB0aGUgcmVwYWludCBjb3VudGVyIHRvIHNob3cgd2hlbiBhY2NlbGVyYXRlZCBkcmF3
aW5nIGlzIGVuYWJsZWQuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnVwZGF0ZURlYnVnSW5k
aWNhdG9ycyk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tOgot
ICAgICAgICAoZHJhd0xheWVyQ29udGVudHMpOgotCi0yMDExLTEwLTI0ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KLQotICAgICAgICBbR1RLXSBGaXggbWFrZSBk
aXN0Y2hlY2sgYnVpbGQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY5NzQ1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgotCi0g
ICAgICAgICogR05VbWFrZWZpbGUuYW06Ci0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
LQotMjAxMS0xMC0yNCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFtTdHlsZXNdIEFkZGluZyBhIG5ldyBzdHlsZSBydWxl
IGJyZWFrcyB0aGluZ3MKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNzIxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAg
ICAgICBXZSBoYWQgdXNlZCB0byBzd2FwIEJsYW5rU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbiBwcm90
b3R5cGUgYW5kIHJlY2VudGx5IGdvdCByaWQgb2YgdGhpcyBoYWNrLAotICAgICAgICBidXQgc3Rp
bGwgaGFkIGRlcGVuZGVuY2llcyBvbiB0aGUgb2xkIGJlaGF2aW9yLgotCi0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX3JlZnJlc2hTdHlsZVJ1bGVzKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db21wdXRlZFN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90
eXBlLnJlYnVpbGRDb21wdXRlZFRyYWNlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5CbGFua1N0
eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLmdldCBpc0JsYW5rKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5CbGFua1N0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLmV4cGFuZCk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQmxhbmtTdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3Rv
dHlwZS5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQuc3VjY2Vzc0NhbGxiYWNrKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5CbGFua1N0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLmVkaXRp
bmdTZWxlY3RvckNvbW1pdHRlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQmxhbmtTdHlsZVBy
b3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0aW5nU2VsZWN0b3JDYW5jZWxsZWQpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkJsYW5rU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUu
bWFrZU5vcm1hbCk6Ci0KLTIwMTEtMTAtMjQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29n
bGUuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvIG5vdCBmb3JjZSBkb2N1bWVudCBs
b2FkaW5nIG9uIHJlbG9hZCAoc2hvdWxkIGhhcHBlbiBvbiBkZW1hbmQpLgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQKLQotICAgICAgICBSZXZp
ZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlTWVzc2FnZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZUltcGwucHJvdG90eXBlLl9mb3JtYXRQYXJhbWV0ZXJBc05vZGUpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLl9kb2N1bWVudFVwZGF0ZWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRWxlbWVudHNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1Bh
bmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9F
bGVtZW50c1RyZWVPdXRsaW5lLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJl
ZU91dGxpbmUucHJvdG90eXBlLnNldFZpc2libGUpOgotCi0yMDExLTEwLTI0ICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgotCi0gICAgICAgIERyb3AgTXV0YWJsZVRleHRU
cmFjayBhbmQgbWFrZSBUZXh0VHJhY2sgYWx3YXlzIG11dGFibGUKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODkwCi0KLSAgICAgICAgVGhlIE11dGFi
bGVUZXh0VHJhY2sgdHlwZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBzcGVjLCBhbGwgdGV4dCB0cmFj
a3MgYXJlIG5vdyBtdXRhYmxlLgotCi0gICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCi0K
LSAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZCwgdGhlIGNoYW5nZXMganVzdCByZWZhY3RvciBl
eGlzdGluZyBjb2RlLgotCi0gICAgICAgICogQ01ha2VMaXN0cy50eHQ6IFJlbW92ZSBhbGwgdHJh
Y2VzIG9mIE11dGFibGVUZXh0VHJhY2suCi0gICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOiBE
aXR0by4KLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgotICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgotICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCi0gICAgICAgICogV2ViQ29y
ZS5wcm86IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbTogRGl0
dG8uCi0gICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJG
YWN0b3J5LmNwcDogRGl0dG8uCi0gICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbElu
T25lLmNwcDogRGl0dG8uCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1RleHRUcmFja0N1c3Rv
bS5jcHA6IFJlbW92ZWQuCi0KLSAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YWRkVHJhY2spOiBSZXR1cm4gYSBU
ZXh0VHJhY2sgaW5zdGVhZCBvZiBhIE11dGFibGVUZXh0VHJhY2suCi0gICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6Ci0gICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
LQotICAgICAgICAqIGh0bWwvTG9hZGFibGVUZXh0VHJhY2suY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6TG9hZGFibGVUZXh0VHJhY2s6OkxvYWRhYmxlVGV4dFRyYWNrKTogUmV0dXJuIGEgVGV4dFRy
YWNrIGluc3RlYWQgb2YgYSBNdXRhYmxlVGV4dFRyYWNrLgotCi0gICAgICAgICogaHRtbC9NdXRh
YmxlVGV4dFRyYWNrLmNwcDogUmVtb3ZlZC4KLSAgICAgICAgKiBodG1sL011dGFibGVUZXh0VHJh
Y2suaDogUmVtb3ZlZC4KLSAgICAgICAgKiBodG1sL011dGFibGVUZXh0VHJhY2suaWRsOiBSZW1v
dmVkLgotCi0gICAgICAgICogaHRtbC9UZXh0VHJhY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrOjpUZXh0VHJhY2spOiBSZW1vdmUgVHlwZSBwYXJhbWV0ZXIuCi0gICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2s6OmFkZEN1ZSk6IE5ldywgbW92ZWQgZnJvbSBNdXRhYmxlVGV4dFRy
YWNrLgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpyZW1vdmVDdWUpOiBEaXR0by4KLSAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6bmV3Q3Vlc0xvYWRlZCk6IERpdHRvLgotICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpmZXRjaE5ld2VzdEN1ZXMpOiBEaXR0by4KLSAgICAgICAg
KiBodG1sL1RleHRUcmFjay5oOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpjcmVhdGUp
OiBSZW1vdmUgVHlwZSBwYXJhbWV0ZXIKLSAgICAgICAgKiBodG1sL1RleHRUcmFjay5pZGw6IEFk
ZCBhZGRDdWUgYW5kIHJlbW92ZUN1ZS4KLQotMjAxMS0xMC0yNCAgWXVyeSBTZW1pa2hhdHNreSAg
PHl1cnlzQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBkZWJ1
Z2dpbmcgZGVkaWNhdGVkIHdvcmtlciBpbml0aWFsaXphdGlvbgotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjMKLQotICAgICAgICBOb3cgaXQgaXMg
cG9zc2libGUgdG8gcGF1c2UgZWFjaCBuZXcgZGVkaWNhdGVkIHdvcmtlciBvbiBzdGFydC4gVGhl
IHVzZXIKLSAgICAgICAgbmVlZHMgdG8gc2VsZWN0IGEgY2hlY2tib3ggYW5kIHRoZW4gZWFjaCBu
ZXdseSBjcmVhdGVkIGRlZGljYXRlZCB3b3JrZXIKLSAgICAgICAgd2lsbCBiZSBwYXVzZWQgb24g
dGhlIGZpcnN0IHN0YXRlbWVudCB1bnRpbCB0aGUgdXNlciByZXN1bWVzIGl0IGV4cGxpY2l0ZWx5
LgotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCi0KLSAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246IHJlc3VtZSBjb21tYW5kIGlzIGFkZGVkLiBJdCBpcyBzaW1p
bGFyIHRvIEdEQidzIHJ1bgotICAgICAgICBjb21tYW5kLCBpLmUuIHdvcmtlciBleGVjdXRpb24g
d2lsbCBiZSBwYXVzZWQgdW50aWwgZXhwbGljaXQgInJlc3VtZSIgY29tbWFuZCBpcwotICAgICAg
ICByZWNlaXZlZC4KLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2hvdWxk
UGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1wbCk6Ci0gICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQpOgotICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUnVudGltZUFnZW50OjpyZXN1bWUpOgotICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUnVudGltZUFnZW50OjpwYXVzZVdvcmtlckNvbnRleHQpOgotICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaDoKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdl
bnQ6OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCk6IHJldHVybnMgdHJ1ZQotICAg
ICAgICBpZiB0aGUgdXNlciBjaG9zZSB0byBhdXRvbWF0aWNhbGx5IHBhdXNlIGFsbCBuZXcgd29y
a2Vycy4KLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaDoKLSAgICAg
ICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN1bWUpOgotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5Xb3JrZXJNYW5hZ2VyLmxvYWRlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTWFu
YWdlci5sb2FkQ29tcGxldGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2Vy
LnByb3RvdHlwZS5fd29ya2VyQ3JlYXRlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2Vy
TWFuYWdlci5wcm90b3R5cGUub3Blbldvcmtlckluc3BlY3Rvcik6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUuX29wZW5JbnNwZWN0b3JXaW5kb3cpOgotICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLmxvYWRlZCk6Ci0gICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6Ci0gICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0UHJveHkuaDoKLSAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckNvbnRleHQpOiBhZGRpdGlvbmFsIGZsYWcgc3BlY2lmeWluZwotICAgICAgICB3b3JrZXIgaW5p
dGlhbCBzdGF0ZShwYXVzZWQvbm90IHBhdXNlZCkgaXMgYWRkZWQgdG8gdGhlIGZhY3RvcnkgbWV0
aG9kLiBUaGUgZmxhZwotICAgICAgICB3aWxsIGJlIGNhcnJpZWQgdG8gdGhlIGNvcnJlc3BvbmRp
bmcgV29ya2VyVGhyZWFkLgotICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6
OmNvbm5lY3RUb0luc3BlY3Rvcik6Ci0gICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oOgotCi0yMDExLTEwLTIxICBOaWtpdGEgVmFzaWx5ZXYgIDxtZUBlbHYxcy5ydT4KLQot
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIGluZGVudCBjb25maWd1cmFibGUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTg2Ci0KLSAgICAgICAg
QWRkIGEgc2V0dGluZyB0byBjaG9vc2UgYW4gaW5kZW50IGZyb20gIjggc3BhY2VzIiwgIjQgc3Bh
Y2VzIiAoZGVmYXVsdCksICIyIHNwYWNlcyIsIG9yICJUYWIgY2hhcmFjdGVyIi4KLQotICAgICAg
ICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2V0dGlu
Z3NTY3JlZW4uanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4pOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNldHRpbmdzU2NyZWVuLnByb3RvdHlwZS5fY3JlYXRlU2VsZWN0
U2V0dGluZy5nZXQgcCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NTY3JlZW4ucHJv
dG90eXBlLl9jcmVhdGVTZWxlY3RTZXR0aW5nLmNoYW5nZUxpc3RlbmVyKToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UZXh0RWRpdG9yTW9kZWwpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4
dFZpZXdlci5qczoKLQotMjAxMS0xMC0xNyAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21p
dW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCAiQWRkIHRvIFdhdGNoIiBvcHRp
b24gdG8gY29udGV4dCBtZW51IG9uIHNlbGVjdGlvbiBpbiBzb3VyY2UgZnJhbWUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTI0Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAtIGFkZGVkICdBZGQgdG8gV2F0
Y2gnIGNvbnRleHQgbWVudSBpdGVtIGluIHNjcmlwdHMgcGFuZWw7Ci0gICAgICAgIC0gaW5jbHVk
ZSBib3RoIGRlZmF1bHQgYW5kIGN1c3RvbSBpdGVtcyBpbnRvIGEgY29udGV4dCBtZW51IGlmIHNl
bGVjdGlvbiBpcyBwcmVzZW50OwotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWVEZWxlZ2F0ZUZv
clNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc3VnZ2VzdGVkRmlsZU5hbWUpOgotICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNvdXJjZUZyYW1lRGVsZWdhdGVGb3JTY3JpcHRzUGFuZWwucHJvdG90eXBlLmFk
ZFRvV2F0Y2gpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlU2Vs
ZWN0aW9uQ29udGV4dE1lbnUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxl
Z2F0ZUZvclNvdXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZVNlbGVjdGlvbkNvbnRleHRNZW51
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlLnByb3RvdHlwZS5z
dWdnZXN0ZWRGaWxlTmFtZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWVEZWxl
Z2F0ZS5wcm90b3R5cGUuYWRkVG9XYXRjaCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9UZXh0Vmlld2VyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXIucHJvdG90
eXBlLl9jb250ZXh0TWVudSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVn
YXRlLnByb3RvdHlwZS5wb3B1bGF0ZVNlbGVjdGlvbkNvbnRleHRNZW51KToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qczoKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUucHJvdG90eXBlLmFk
ZEV4cHJlc3Npb24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX2FkZEJ1dHRvbkNsaWNrZWQpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZS5hZGRFeHByZXNzaW9uKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Npb25zU2VjdGlvbi5wcm90b3R5cGUuYWRk
TmV3RXhwcmVzc2lvbkFuZEVkaXQpOgotICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0Nv
bnRleHRNZW51KToKLQotMjAxMS0xMC0yMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0cyBoYW5nIG9uIHBhZ2Vz
IHdpdGhvdXQgaW1nW3NyY10gZWxlbWVudHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwNjA0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KLQotICAgICAgICBUZXN0OiBpbnNwZWN0b3IvYXVkaXRzL2F1ZGl0cy1wYW5lbC1ub2lt
YWdlcy1mdW5jdGlvbmFsLmh0bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVk
aXRSdWxlcy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkltYWdlRGltZW5z
aW9uc1J1bGUucHJvdG90eXBlLmRvUnVuLmdldFN0eWxlcyk6Ci0KLTIwMTEtMTAtMjQgIERlZXBh
ayBTaGVydmVnaGFyICA8YnB3djY0QG1vdG9yb2xhLmNvbT4KLQotICAgICAgICBbUXRdIGZhc3Qv
ZXZlbnRzL21lZGlhLWZvY3VzLWluLXN0YW5kYWxvbmUtbWVkaWEtZG9jdW1lbnQuaHRtbCBmYWls
cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTAK
LQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICBFeHRlbnNp
b25NYXAgc2hvdWxkIGFsc28gaW5jbHVkZSBtZWRpYSBmaWxlcyBtYXBwaW5nLgotCi0gICAgICAg
ICogcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcDogQWRkZWQgbWVkaWEgZmlsZXMg
bWFwcGluZy4KLQotMjAxMS0xMC0yNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5j
b20+Ci0KLSAgICAgICAgTm90IHJldmlld2VkOiBbY2hyb21pdW1dIGZvbGxvdyB1cCB0byA5ODIy
OCAtIGFkZGVkIG1pc3NpbmcgY3NzLgotCi0gICAgICAgICogV2ViQ29yZS5neXBpOgotCi0yMDEx
LTEwLTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAg
IFdlYiBJbnNwZWN0b3I6IE1ha2UgQ1NTIGZpbGVzIGxvYWQgdXBvbiBWaWV3IGRlbWFuZDsgc3Bs
aXQgaW5zcGVjdG9yLmNzcyBpbnRvIHZpZXdzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTQKLQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNl
bWlraGF0c2t5LgotCi0gICAgICAgICogV2ViQ29yZS5neXBpOgotICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVk
aXRzUGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRzUGFuZWwpOgotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRGF0YUdyaWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5l
bC5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldyk6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvUHJvZmlsZXNQYW5lbC5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
c291cmNlVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcpOgotICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6Ci0gICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9XZWxjb21lVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5X
ZWxjb21lVmlldyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9hdWRpdHNQYW5lbC5j
c3M6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2F1ZGl0
cy5jc3MuCi0KLTIwMTEtMTAtMjQgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5v
cmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogbWFrZSB2aWV3IGxvYWQgQ1NTIGZpbGVzIHVw
b24gc2hvdy4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwNjk2Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQotICAgICAg
ICBUZXN0OiBpbnNwZWN0b3Ivdmlldy1jc3MuaHRtbAotCi0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9WaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9jYWxsT25WaXNpYmxlQ2hpbGRyZW4pOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9wcm9jZXNzV2lsbFNob3cpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9wcm9jZXNzV2FzU2hvd24pOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9wcm9jZXNzV2lsbEhpZGUpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9wcm9jZXNzV2FzSGlkZGVuKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5fcHJvY2Vzc09uUmVzaXplKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5zaG93KToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5WaWV3LnByb3RvdHlwZS5kZXRhY2gpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZp
ZXcucHJvdG90eXBlLnJlZ2lzdGVyUmVxdWlyZWRDU1MpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlZpZXcucHJvdG90eXBlLl9sb2FkQ1NTSWZOZWVkZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlZpZXcucHJvdG90eXBlLl9kb0xvYWRDU1MpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcu
cHJvdG90eXBlLl9kaXNhYmxlQ1NTSWZOZWVkZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZp
ZXcucHJvdG90eXBlLl9kb1VubG9hZENTUyk6Ci0KLTIwMTEtMTAtMjQgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogbWFrZSBE
YXRhR3JpZCBhIHZpZXcKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNjk1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KLQot
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LnByb3Rv
dHlwZS5fY3JlYXRlRGF0YUdyaWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29v
a2llSXRlbXNWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZUl0ZW1zVmlldy5w
cm90b3R5cGUuX3VwZGF0ZVdpdGhDb29raWVzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TaW1w
bGVDb29raWVzVGFibGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNpbXBsZUNvb2tpZXNUYWJs
ZS5wcm90b3R5cGUuc2V0Q29va2llcyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9D
b29raWVzVGFibGUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanM6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUuX3Nob3dET01T
dG9yYWdlRW50cmllcyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRGF0YUdyaWQucHJvdG90eXBlLm9uUmVzaXplKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFi
YXNlUXVlcnlWaWV3LnByb3RvdHlwZS5fcXVlcnlGaW5pc2hlZCk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcucHJvdG90eXBlLl9xdWVyeUVycm9yKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5EYXRhYmFzZVF1ZXJ5Vmlldy5wcm90b3R5cGUuX2FwcGVuZFZpZXdRdWVy
eVJlc3VsdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcucHJvdG90
eXBlLl9hcHBlbmRFcnJvclF1ZXJ5UmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRh
YmFzZVF1ZXJ5Vmlldy5wcm90b3R5cGUuX2FwcGVuZFF1ZXJ5UmVzdWx0KToKLSAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlVGFibGVWaWV3LmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLkRhdGFiYXNlVGFibGVWaWV3LnByb3RvdHlwZS5fcXVlcnlGaW5pc2hlZCk6Ci0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZXRhaWxlZEhlYXBzaG90Vmlldy5qczoKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5EZXRhaWxlZEhlYXBzaG90Vmlldy5wcm90b3R5cGUud2FzU2hvd24u
cHJvZmlsZUNhbGxiYWNrMik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGV0YWlsZWRIZWFwc2hv
dFZpZXcucHJvdG90eXBlLndhc1Nob3duKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZXRhaWxl
ZEhlYXBzaG90Vmlldy5wcm90b3R5cGUub25SZXNpemUpOgotICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZS5vblJlc2l6ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a0xvZ1ZpZXcucHJvdG90eXBlLl9jcmVhdGVUYWJsZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9Qcm9maWxlVmlldy5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
c291cmNlQ29va2llc1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb29r
aWVzVmlldy5wcm90b3R5cGUuX2J1aWxkQ29va2llc1RhYmxlKToKLSAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZVZpZXcpOgotCi0yMDExLTEwLTI0ICBZb3NpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVt
Lm9yZz4KLQotICAgICAgICBbRm9ybXNdIFNldHRpbmcgZGVmYXVsdFZhbHVlIHNob3VsZCBoaWRl
IGFuIGlucHV0IHBsYWNlaG9sZGVyLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA1ODYKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4K
LQotICAgICAgICBUZXN0czogZmFzdC9mb3Jtcy9wbGFjZWhvbGRlci1hbmQtZGVmYXVsdC12YWx1
ZS1leHBlY3RlZC5odG1sCi0gICAgICAgICAgICAgICBmYXN0L2Zvcm1zL3BsYWNlaG9sZGVyLWFu
ZC1kZWZhdWx0LXZhbHVlLmh0bWwKLQotICAgICAgICBXaGVuIGlucHV0IGVsZW1lbnQgaGFzIGRl
ZmF1bHQgdmFsdWUsIHdlIHNob3VsZCBub3QgZGlzcGxheQotICAgICAgICBwbGFjZWhvbGRlci4g
Q2hhbmdpbmcgZGVmYXVsdCB2YWx1ZSBzaG91bGQgdGVsbCByZW5kZXJpbmcgZW5naW5lIGFib3V0
Ci0gICAgICAgIGNoYW5naW5nIGRpc3BsYXkgb2YgaW5wdXQgZWxlbWVudC4KLQotICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6IENhbGxzIHVwZGF0ZVBsYWNlaG9sZGVyVmlz
aWJpbGl0eSBmb3IgdmFsdWVBdHRyIGlmIGl0IGRvZXNuJ3QgaGF2ZSBkaXJ0eSB2YWx1ZS4KLQot
MjAxMS0xMC0yMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgRWxp
bWluYXRlIE9wdGlvbkVsZW1lbnQgKHNlY29uZCBhbmQgZmluYWwgcGFydCkKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzEwCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgS2VudCBUYW11cmEuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogUmVtb3Zl
ZCBPcHRpb25FbGVtZW50LmggYW5kIE9wdGlvbkVsZW1lbnQuY3BwLgotICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCi0g
ICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgotICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOiBEaXR0by4KLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6IERpdHRvLgotICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6IERpdHRvLgot
Ci0gICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOiBSZW1vdmVkLgotICAgICAgICAqIGRv
bS9PcHRpb25FbGVtZW50Lmg6IFJlbW92ZWQuCi0KLSAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzYXZlTGFz
dFNlbGVjdGlvbik6IEVsaW1pbmF0ZSB1c2Ugb2YgdGhlCi0gICAgICAgIHRvT3B0aW9uRWxlbWVu
dCBmdW5jdGlvbi4gVXNlIGhhc1RhZ05hbWUgYW5kIHRvSFRNTE9wdGlvbkVsZW1lbnQgaW5zdGVh
ZC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxlY3Rp
b25BbmNob3JJbmRleCk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94T25DaGFuZ2UpOiBEaXR0by4KLSAgICAgICAgKFdlYkNv
cmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXMpOiBEaXR0by4KLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZEluZGV4KTogRGl0dG8uCi0gICAg
ICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleCk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmRlc2VsZWN0SXRlbXNXaXRo
b3V0VmFsaWRhdGlvbik6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnNhdmVGb3JtQ29udHJvbFN0YXRlKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1M
U2VsZWN0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUpOiBEaXR0by4KLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6IERpdHRvLgotICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnJlc2V0KTogRGl0dG8uCi0gICAgICAg
IChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6dXBkYXRlU2VsZWN0ZWRTdGF0ZSk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxhc3RTZWxlY3RlZExpc3RJ
bmRleCk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnR5cGVB
aGVhZEZpbmQpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojph
Y2Nlc3NLZXlTZXRTZWxlY3RlZEluZGV4KTogRGl0dG8uCi0KLSAgICAgICAgKiBodG1sL0hUTUxT
ZWxlY3RFbGVtZW50Lmg6IENoYW5nZWQgdGhlIGFyZ3VtZW50IHR5cGUgb2YgdGhlCi0gICAgICAg
IGRlc2VsZWN0SXRlbXNXaXRob3V0VmFsaWRhdGlvbiBmdW5jdGlvbiB0byBIVE1MRWxlbWVudCog
c2luY2UgdGhhdCdzCi0gICAgICAgIHRoZSB0eXBlIG9mIGFuIGl0ZW0gaW4gb3VyIGl0ZW1zIHZl
Y3RvciBub3cuCi0KLTIwMTEtMTAtMjMgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgotCi0gICAgICAgIFtjaHJvbWl1bV0gQXR0ZW1wdCB0byBmaXggY29tcGlsYXRpb24gZXJyb3Ig
Zm9yIENocm9taXVtIE9TLgotCi0gICAgICAgIFVucmV2aWV3ZWQuCi0KLSAgICAgICAgKiBtZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmtpbmQpOgotCi0yMDExLTEwLTIzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+Ci0KLSAgICAgICAgPGltZyBjcm9zc29yaWdpbj4gc2hvdWxkIGZhaWwgdG8gbG9hZCB3
aGVuIENPUlMgY2hlY2sgZmFpbHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY5NzMyCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0K
LSAgICAgICAgV2hlbiBsb2FkaW5nIGFuIGltYWdlIHdpdGggdGhlIGNyb3Nzb3JpZ2luIGF0dHJp
YnV0ZSwgdGhlIHNwZWMgc2F5cwotICAgICAgICB0aGF0IHdlJ3JlIG5vdCBzdXBwb3NlZCB0byBs
b2FkIHRoZSBpbWFnZSBpZiB0aGUgQ09SUyBjaGVjayBmYWlscy4KLSAgICAgICAgVGhpcyAiZmFp
bHMgZmFzdCIgYmVoYXZpb3IgaXMgaW50ZW5kZWQgdG8gaGVscCBkZXZlbG9wZXJzIHVuZGVyc3Rh
bmQKLSAgICAgICAgd2hldGhlciB0aGV5J3ZlIGNvbmZpZ3VyZWQgQ09SUyBjb3JyZWN0bHkgKGlu
c3RlYWQgb2Ygb25seSBjYXRjaGluZyB0aGUKLSAgICAgICAgZXJyb3IgbGF0ZXIgd2hlbiB0cnlp
bmcgdG8gcmVhZCBiYWNrIHRoZSBjYW52YXMpLgotCi0gICAgICAgIE91ciBuZXcgYmVoYXZpb3Ig
bWF0Y2hlcyB0aGUgc3BlYyBhbmQgRmlyZWZveC4KLQotICAgICAgICBUZXN0OiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2ltZy13aXRoLWZhaWxlZC1jb3JzLWNoZWNrLWZhaWxzLXRvLWxvYWQuaHRtbAot
Ci0gICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Oklt
YWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6Ci0KLTIwMTEtMTAtMjMgIE5vZWwgR29yZG9uICA8
bm9lbC5nb3Jkb25AZ21haWwuY29tPgotCi0gICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIEdlb2xv
Y2F0aW9uU2VydmljZUd0ay57aCxjcHB9IGZyb20gdGhlIGd5cCBwcm9qZWN0cwotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDIKLQotICAgICAgICBS
ZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KLQotICAgICAgICBwbGF0Zm9ybS9ndGsvR2VvbG9jYXRp
b25TZXJ2aWNlR3RrLntoLGNwcH0gd2VyZSByZW1vdmVkIGluIHI5Nzc0Niwgc28KLSAgICAgICAg
cmVtb3ZlIHJlZmVyZW5jZXMgdG8gdGhlc2UgZmlsZXMgZnJvbSB0aGUgZ3lwIGZpbGVzLgotCi0g
ICAgICAgICogV2ViQ29yZS5neXBpOgotCi0yMDExLTEwLTIzICBBbmRyZWFzIEtsaW5nICA8a2xp
bmdAd2Via2l0Lm9yZz4KLQotICAgICAgICBNb3ZlIFN0eWxlU2hlZXQ6OmFkZFN1YnJlc291cmNl
U3R5bGVVUkxzKCkgdG8gQ1NTU3R5bGVTaGVldC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjkwCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkg
S29pdmlzdG8uCi0KLSAgICAgICAgVGhpcyBtZXRob2QgaXNuJ3QgcGFydCBvZiB0aGUgU3R5bGVT
aGVldCBET00gaW50ZXJmYWNlLCBub3IgaXMgaXQgdXNlZCBieQotICAgICAgICBYU0xTdHlsZVNo
ZWV0LCBzbyBtb3ZlIGl0IGRvd24gdG8gQ1NTU3R5bGVTaGVldCBhbmQgbWFrZSBpdCBub24tdmly
dHVhbC4KLSAgICAgICAgQWxzbyByZW1vdmUgc29tZSBuZWFyYnkgdW5uZWVkZWQgY2FzdHMgZnJv
bSBDU1NTdHlsZVNoZWV0KiB0byBTdHlsZVNoZWV0Ki4KLQotICAgICAgICAqIGNzcy9DU1NTdHls
ZVNoZWV0Lmg6Ci0gICAgICAgICogY3NzL1N0eWxlU2hlZXQuaDoKLSAgICAgICAgKiBodG1sL0hU
TUxMaW5rRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6Omlz
TG9hZGluZyk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OmFkZFN1YnJlc291
cmNlQXR0cmlidXRlVVJMcyk6Ci0gICAgICAgICogaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OkhUTUxTdHlsZUVsZW1lbnQ6OmFkZFN1YnJlc291cmNlQXR0cmli
dXRlVVJMcyk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjpkaXNhYmxlZCk6
Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjpzZXREaXNhYmxlZCk6Ci0KLTIw
MTEtMTAtMjMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIFJl
bW92ZSBzdHlsZSBzaGVldCBjb25zdHJ1Y3RvcnMgdGhhdCB0YWtlIGEgc3R5bGUgc2hlZXQgcGFy
ZW50LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2
OTIKLQotICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICBTdHls
ZSBzaGVldHMgYXJlIG5ldmVyIGRpcmVjdGx5IHBhcmVudGVkIGJ5IG90aGVyIHN0eWxlIHNoZWV0
cywgdGhleSBhbHdheXMKLSAgICAgICAgZ28gdmlhIGEgcnVsZSAoc3VjaCBhcyBAaW1wb3J0LikK
LQotICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKLSAgICAgICAgKiBjc3MvQ1NTU3R5
bGVTaGVldC5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6Y3JlYXRlKToKLSAg
ICAgICAgKiBjc3MvU3R5bGVTaGVldC5jcHA6Ci0gICAgICAgICogY3NzL1N0eWxlU2hlZXQuaDoK
LQotMjAxMS0xMC0yMyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgot
Ci0gICAgICAgIEFkZCBkZWxldGVQcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTYyCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKLQotMjAxMS0xMC0yMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgotCi0gICAgICAgIFVwZGF0ZSBiYXNlbGluZXMgZm9yIHJ1bi1iaW5kaW5ncy10
ZXN0cy4KLQotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2UuY3BwOgotICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZh
Y2UuaDoKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoK
LQotMjAxMS0xMC0yMyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgot
Ci0gICAgICAgIFJlbW92ZSBnZXRDb25zdHJ1Y3REYXRhVmlydHVhbAotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MzgKLQotICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgUmVt
b3ZlZCBhbGwgZGVjbGFyYXRpb25zIGFuZCBkZWZpbml0aW9ucyBvZiBnZXRDb25zdHJ1Y3REYXRh
VmlydHVhbC4KLSAgICAgICAgQWxzbyByZXBsYWNlZCBhbGwgY2FsbCBzaXRlcyB0byBnZXRDb25z
dHJ1Y3REYXRhVmlydHVhbCB3aXRoIGEgCi0gICAgICAgIGNvcnJlc3BvbmRpbmcgbG9va3VwIGlu
IHRoZSBNZXRob2RUYWJsZS4KLQotICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgotICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHA6Ci0gICAgICAgICogYmluZGluZ3Mv
anMvSlNBdWRpb0NvbnN0cnVjdG9yLmg6Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNJbWFnZUNv
bnN0cnVjdG9yLmNwcDoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3Iu
aDoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmNwcDoKLSAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVjdG9yLmg6Ci0gICAgICAgICogYmluZGlu
Z3MvanMvU2NyaXB0RnVuY3Rpb25DYWxsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEZ1
bmN0aW9uQ2FsbDo6Y29uc3RydWN0KToKLSAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKLSAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJhdGlvbik6
Ci0gICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6Ci0gICAgICAgICogYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9vYmplY3Qu
aDoKLQotMjAxMS0xMC0yMiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgotCi0g
ICAgICAgIFNlcGFyYXRlZCBzdHJpbmcgbGlmZXRpbWUgYml0cyBmcm9tIGNoYXJhY3RlciBidWZm
ZXIgc3RhdGUgYml0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzA2NzMKLQotICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCi0KLSAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKLSAgICAgICAgKEdl
bmVyYXRlSGFzaFZhbHVlKTogVXBkYXRlZCBmb3Igc3RyaW5nIGhhc2hpbmcgY2hhbmdlcyBpbiBK
YXZhU2NyaXB0Q29yZS4KLQotMjAxMS0xMC0yMiAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBh
cHBsZS5jb20+Ci0KLSAgICAgICAgSFRUUEJvZHlTdHJlYW0gaW4gTlNVUkxSZXF1ZXN0IGdldHMg
bG9zdCB3aGVuIHVzaW5nIENGTmV0d29yayBsb2FkZXIKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTgzCi0gICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MDI4MTIyNz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBD
YWxsIFdlYkNvcmU6OnNldEhUVFBCb2R5KCkgb25seSBpZiB3ZSBhY3R1YWxseSBoYXZlIGEgRm9y
bURhdGEuIFVuY29uZGl0aW9uYWxseSBjYWxsaW5nIGl0Ci0gICAgICAgIHJlc3VsdHMgaW4gdXMg
cGFzc2luZyAwIHRvIHdrQ0ZVUkxSZXF1ZXN0U2V0SFRUUFJlcXVlc3RCb2R5UGFydHMoKSB3aGlj
aCByZXNldHMgYW55IGlucHV0Ci0gICAgICAgIHN0cmVhbSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIg
b24gdGhlIE5TVVJMUmVxdWVzdC4gVGhpcyBjb2RlIG1hdGNoZXMgdGhlIGJlaGF2aW9yIGluIHRo
ZQotICAgICAgICBGb3VuZGF0aW9uIHZlcnNpb24gb2YgZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3Qo
KS4KLQotICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3Jt
UmVxdWVzdCk6Ci0KLTIwMTEtMTAtMjIgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RA
ZXJpY3Nzb24uY29tPgotCi0gICAgICAgIE1vdmUgYWxsIE1lZGlhU3RyZWFtIGFuZCBQZWVyQ29u
bmVjdGlvbiByZWxhdGVkIG5vbi1wbGF0Zm9ybSBmaWxlcyB0byBXZWJDb3JlL21lZGlhc3RyZWFt
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIzMwot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCi0KLSAgICAgICAgUmVtb3ZlZCBhZmZl
Y3RlZCBmaWxlcyBmcm9tIGJ1aWxkIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIGEgTUVESUFfU1RS
RUFNIGJ1aWxkIGZsYWcuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHdlJ3JlIGp1c3Qg
bW92aW5nIGZpbGVzLgotCi0gICAgICAgICogQ01ha2VMaXN0cy50eHQ6Ci0gICAgICAgICogQ29k
ZUdlbmVyYXRvcnMucHJpOgotICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKLSAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgotICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgotICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Ci0gICAgICAgICogVXNlSlNDLmNtYWtlOgotICAgICAg
ICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgotICAgICAgICAqIFdlYkNvcmUuZ3lwaToKLSAg
ICAgICAgKiBXZWJDb3JlLnBybzoKLSAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcDoKLSAgICAgICAgKiBkb20v
RE9NQWxsSW5PbmUuY3BwOgotICAgICAgICAqIGRvbS9EaXNwYXRjaFRhc2suaDogUmVtb3ZlZCB1
bnVzZWQgZmlsZS4KLSAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6Ci0g
ICAgICAgICogbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9kb20vTG9jYWxNZWRpYVN0cmVhbS5jcHAuCi0gICAgICAgIChXZWJDb3Jl
OjpMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6TG9jYWxNZWRp
YVN0cmVhbTo6TG9jYWxNZWRpYVN0cmVhbSk6Ci0gICAgICAgIChXZWJDb3JlOjpMb2NhbE1lZGlh
U3RyZWFtOjpzdG9wKToKLSAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OnN0b3BU
aW1lckZpcmVkKToKLSAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06On5Mb2NhbE1l
ZGlhU3RyZWFtKToKLSAgICAgICAgKFdlYkNvcmU6OkxvY2FsTWVkaWFTdHJlYW06OnRvTG9jYWxN
ZWRpYVN0cmVhbSk6Ci0gICAgICAgICogbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5oOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0xvY2FsTWVkaWFTdHJlYW0uaC4KLSAgICAg
ICAgKiBtZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbC4KLSAgICAgICAgKiBtZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFT
dHJlYW0uY3BwLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmNyZWF0ZSk6Ci0gICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgotICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW06On5NZWRpYVN0cmVhbSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6cmVhZHlTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6dG9NZWRp
YVN0cmVhbSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6c3RyZWFtRW5kZWQpOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmV2ZW50VGFyZ2V0RGF0YSk6Ci0gICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKToKLSAgICAgICAg
KiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
ZG9tL01lZGlhU3RyZWFtLmguCi0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6bGFiZWwp
OgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnRyYWNrcyk6Ci0gICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbTo6ZGVzY3JpcHRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6cmVmRXZlbnRUYXJnZXQpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmRl
cmVmRXZlbnRUYXJnZXQpOgotICAgICAgICAqIG1lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbS5pZGwuCi0gICAgICAg
ICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DbGllbnQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1DbGllbnQuaC4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U3RyZWFtQ2xpZW50Ojp+TWVkaWFTdHJlYW1DbGllbnQpOgotICAgICAgICAqIG1lZGlhc3RyZWFt
L01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
YWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAuCi0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbUNvbnRyb2xsZXI6OlJlcXVlc3Q6OlJlcXVlc3QpOgotICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1Db250cm9sbGVyOjpSZXF1ZXN0Ojpsb2NhbElkKToKLSAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6UmVxdWVzdDo6ZnJhbWVDb250cm9sbGVyKToKLSAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6TWVkaWFTdHJlYW1Db250cm9sbGVy
KToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6fk1lZGlhU3RyZWFt
Q29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUNvbnRyb2xsZXI6Omlz
Q2xpZW50QXZhaWxhYmxlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQ29udHJvbGxl
cjo6dW5yZWdpc3RlckZyYW1lQ29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbUNvbnRyb2xsZXI6OnJlZ2lzdGVyUmVxdWVzdCk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbUNvbnRyb2xsZXI6OmdlbmVyYXRlU3RyZWFtKToKLSAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKLSAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGlvbkZhaWxlZCk6Ci0gICAgICAg
ICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db250cm9sbGVyLmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtQ29udHJvbGxlci5oLgotICAgICAgICAqIG1lZGlh
c3RyZWFtL01lZGlhU3RyZWFtRXZlbnQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
cDJwL01lZGlhU3RyZWFtRXZlbnQuY3BwLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1F
dmVudDo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRXZlbnQ6Ok1lZGlh
U3RyZWFtRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6fk1lZGlh
U3RyZWFtRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6aW5pdE1l
ZGlhU3RyZWFtRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1FdmVudDo6c3Ry
ZWFtKToKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50Lmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9wMnAvTWVkaWFTdHJlYW1FdmVudC5oLgotICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1FdmVudDo6aXNNZWRpYVN0cmVhbUV2ZW50KToKLSAgICAgICAgKiBt
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL3AycC9NZWRpYVN0cmVhbUV2ZW50LmlkbC4KLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
YWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcC4KLSAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpSZXF1ZXN0Ojp+UmVxdWVzdCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6UmVxdWVzdDo6c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cjo6UmVxdWVzdDo6aXNHZW5lcmF0ZVN0cmVhbVJlcXVlc3QpOgotICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OlJlcXVlc3Q6OlJlcXVlc3QpOgotICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVz
dDo6Y3JlYXRlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVy
OjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6On5HZW5lcmF0ZVN0cmVhbVJlcXVlc3QpOgotICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVx
dWVzdDo6aXNHZW5lcmF0ZVN0cmVhbVJlcXVlc3QpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFtUmVxdWVzdDo6YWJvcnQpOgotICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3RyZWFt
UmVxdWVzdDo6c3VjY2Vzc0NhbGxiYWNrKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyOjpHZW5lcmF0ZVN0cmVhbVJlcXVlc3Q6OmVycm9yQ2FsbGJhY2spOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OkdlbmVyYXRlU3Ry
ZWFtUmVxdWVzdDo6R2VuZXJhdGVTdHJlYW1SZXF1ZXN0KToKLSAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpSZXF1ZXN0TWFwOjphYm9ydCk6Ci0gICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6UmVxdWVzdE1hcDo6YWJvcnRBbGwp
OgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6Ok1lZGlhU3Ry
ZWFtRnJhbWVDb250cm9sbGVyKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyOjp+TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIpOgotICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnNlY3VyaXR5T3JpZ2luKToKLSAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpwYWdl
Q29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cjo6ZW50ZXJEZXRhY2hlZFN0YXRlKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJh
bWVDb250cm9sbGVyOjppc0NsaWVudEF2YWlsYWJsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6ZGlzY29ubmVjdFBhZ2UpOgotICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcmFtZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dHJhbnNmZXJUb05ld1BhZ2Up
OgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OnBhcnNlR2Vu
ZXJhdGVTdHJlYW1PcHRpb25zKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyOjpnZW5lcmF0ZVN0cmVhbSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKLSAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyOjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKToKLSAgICAg
ICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5oLgotICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OklkR2VuZXJhdG9yOjpJ
ZEdlbmVyYXRvcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxl
cjo6SWRHZW5lcmF0b3I6OmdldE5leHRJZCk6Ci0gICAgICAgICogbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1MaXN0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVh
bUxpc3QuY3BwLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1MaXN0OjpjcmVhdGUpOgot
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1MaXN0OjpNZWRpYVN0cmVhbUxpc3QpOgotICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1MaXN0Ojp+TWVkaWFTdHJlYW1MaXN0KToKLSAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtTGlzdDo6bGVuZ3RoKToKLSAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtTGlzdDo6aXRlbSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUxp
c3Q6OmFwcGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUxpc3Q6OnJlbW92ZSk6
Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUxpc3Q6OmNvbnRhaW5zKToKLSAgICAgICAg
KiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUxpc3QuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2RvbS9NZWRpYVN0cmVhbUxpc3QuaC4KLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbUxpc3QuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFt
TGlzdC5pZGwuCi0gICAgICAgICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lzdHJ5
LmNwcC4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KToK
LSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTdHJl
YW1VUkwpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1SZWdpc3RyeTo6dW5yZWdpc3Rl
ck1lZGlhU3RyZWFtVVJMKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVnaXN0cnk6
Om1lZGlhU3RyZWFtKToKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVN0cmVhbVJlZ2lz
dHJ5LmguCi0gICAgICAgICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFjay5jcHAuCi0gICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1UcmFjazo6TWVkaWFTdHJlYW1UcmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjpN
ZWRpYVN0cmVhbVRyYWNrOjp+TWVkaWFTdHJlYW1UcmFjayk6Ci0gICAgICAgIChXZWJDb3JlOjpN
ZWRpYVN0cmVhbVRyYWNrOjpraW5kKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJh
Y2s6OmxhYmVsKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmVuYWJsZWQp
OgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6c2V0RW5hYmxlZCk6Ci0gICAg
ICAgICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2suaC4KLSAgICAgICAgKiBtZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9NZWRp
YVN0cmVhbVRyYWNrLmlkbC4KLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
TGlzdC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vTWVkaWFTdHJlYW1UcmFj
a0xpc3QuY3BwLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6OmNyZWF0
ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlzdDo6TWVkaWFTdHJlYW1U
cmFja0xpc3QpOgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja0xpc3Q6On5NZWRp
YVN0cmVhbVRyYWNrTGlzdCk6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrTGlz
dDo6bGVuZ3RoKToKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tMaXN0OjppdGVt
KToKLSAgICAgICAgKiBtZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrTGlzdC5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmguCi0gICAgICAg
ICogbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja0xpc3QuaWRsOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvZG9tL01lZGlhU3RyZWFtVHJhY2tMaXN0LmlkbC4KLSAgICAgICAgKiBtZWRp
YXN0cmVhbS9QZWVyQ29ubmVjdGlvbi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
MnAvUGVlckNvbm5lY3Rpb24uY3BwLgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246
OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6UGVlckNvbm5lY3Rp
b24pOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246On5QZWVyQ29ubmVjdGlvbik6
Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc1NpZ25hbGluZ01lc3Nh
Z2UpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OnJlYWR5U3RhdGUpOgotICAg
ICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OnNlbmQpOgotICAgICAgICAoV2ViQ29yZTo6
UGVlckNvbm5lY3Rpb246OmFkZFN0cmVhbSk6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjo6cmVtb3ZlU3RyZWFtKToKLSAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjps
b2NhbFN0cmVhbXMpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OnJlbW90ZVN0
cmVhbXMpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OmNsb3NlKToKLSAgICAg
ICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjppY2VQcm9jZXNzaW5nQ29tcGxldGVkKToKLSAg
ICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpzZHBHZW5lcmF0ZWQpOgotICAgICAgICAo
V2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OmRhdGFTdHJlYW1NZXNzYWdlUmVjZWl2ZWQpOgotICAg
ICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OnJlbW90ZVN0cmVhbUFkZGVkKToKLSAgICAg
ICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpyZW1vdGVTdHJlYW1SZW1vdmVkKToKLSAgICAg
ICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjp0b1BlZXJDb25uZWN0aW9uKToKLSAgICAgICAg
KFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKLSAgICAg
ICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpzdG9wKToKLSAgICAgICAgKFdlYkNvcmU6OlBl
ZXJDb25uZWN0aW9uOjpldmVudFRhcmdldERhdGEpOgotICAgICAgICAoV2ViQ29yZTo6UGVlckNv
bm5lY3Rpb246OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSk6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjo6c2NoZWR1bGVJbml0aWFsTmVnb3RpYXRpb24pOgotICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb246OmluaXRpYWxOZWdvdGlhdGlvblRpbWVyRmlyZWQpOgotICAgICAg
ICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OmVuc3VyZVN0cmVhbUNoYW5nZVNjaGVkdWxlZCk6
Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6c3RyZWFtQ2hhbmdlVGltZXJGaXJl
ZCk6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6c2NoZWR1bGVSZWFkeVN0YXRl
Q2hhbmdlKToKLSAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uOjpyZWFkeVN0YXRlQ2hh
bmdlVGltZXJGaXJlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjo6Y2hhbmdl
UmVhZHlTdGF0ZSk6Ci0gICAgICAgICogbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24uaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3AycC9QZWVyQ29ubmVjdGlvbi5oLgotICAgICAgICAo
V2ViQ29yZTo6UGVlckNvbm5lY3Rpb246OnJlZkV2ZW50VGFyZ2V0KToKLSAgICAgICAgKFdlYkNv
cmU6OlBlZXJDb25uZWN0aW9uOjpkZXJlZkV2ZW50VGFyZ2V0KToKLSAgICAgICAgKiBtZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbi5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wMnAv
UGVlckNvbm5lY3Rpb24uaWRsLgotICAgICAgICAqIG1lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxi
YWNrLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wMnAvU2lnbmFsaW5nQ2FsbGJhY2su
aC4KLSAgICAgICAgKFdlYkNvcmU6OlNpZ25hbGluZ0NhbGxiYWNrOjp+U2lnbmFsaW5nQ2FsbGJh
Y2spOgotICAgICAgICAqIG1lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3AycC9TaWduYWxpbmdDYWxsYmFjay5pZGwuCi0gICAgICAg
ICogcGFnZS9GcmFtZS5jcHA6Ci0gICAgICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgotICAgICAg
ICAqIHBhZ2UvUGFnZS5jcHA6Ci0KLTIwMTEtMTAtMjAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBnb29nbGUuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGdldCByaWQgb2YgVmlldzo6
aGlkZSwgVmlldzo6c2V0IHZpc2libGUsIFZpZXc6OmF0dGFjaCwKLSAgICAgICAgVmlldzo6c2V0
IHZpc2libGUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDUyMwotCi0gICAgICAgIFRoaXMgY2hhbmdlIGFsc28gaW50cm9kdWNlcyBhc3NldGlvbnMg
dGhhdCBmb3JjZXMgdmlldyBhdHRhY2ggLyBkZXRhY2ggb3BlcmF0aW9ucwotICAgICAgICB0byBi
ZSBwZXJmb3JtZWQgZXhwbGljaXRseS4KLQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlr
aGF0c2t5LgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hl
SXRlbXNWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVt
c1ZpZXcucHJvdG90eXBlLndhc1Nob3duKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNh
dGlvbkNhY2hlSXRlbXNWaWV3LnByb3RvdHlwZS53aWxsSGlkZSk6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUuX3VwZGF0ZUNhbGxiYWNr
KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlUGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29uc29sZVBhbmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29uc29sZVBhbmVsLnByb3RvdHlwZS53aWxsSGlkZSk6Ci0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25z
b2xlVmlldy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvQ29va2llSXRlbXNWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZUl0ZW1z
Vmlldy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tpZUl0
ZW1zVmlldy5wcm90b3R5cGUud2lsbEhpZGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvb2tp
ZUl0ZW1zVmlldy5wcm90b3R5cGUuX3VwZGF0ZVdpdGhDb29raWVzKToKLSAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VJdGVtc1ZpZXcucHJvdG90eXBlLndpbGxIaWRlKToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzOgotICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VUYWJsZVZpZXcuanM6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuRGF0YWJhc2VUYWJsZVZpZXcucHJvdG90eXBlLndhc1Nob3duKToKLSAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RldGFpbGVkSGVhcHNob3RWaWV3LmpzOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRldGFpbGVkSGVhcHNob3RWaWV3LnByb3RvdHlwZS53aWxsSGlkZSk6
Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGV0YWlsZWRIZWFwc2hvdFZpZXcucHJvdG90eXBlLl9j
aGFuZ2VWaWV3KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUpOgotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUud2lsbEhpZGUpOgotICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvRW1wdHlWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkVtcHR5Vmll
dy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRm9u
dFZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRm9udFZpZXcucHJvdG90eXBlLndhc1No
b3duKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lGcmFtZVZpZXcuanM6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuSUZyYW1lVmlldyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSW1hZ2VWaWV3LnByb3Rv
dHlwZS53YXNTaG93bik6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrSXRl
bVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0l0ZW1WaWV3LnByb3RvdHlw
ZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5w
cm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlw
ZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlLndpbGxIaWRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90
eXBlLndhc1Nob3duKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5l
bC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBl
Lndhc1Nob3duKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhp
ZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5qczoK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3LnByb3RvdHlwZS53aWxsSGlkZSk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLndhc1Nob3duKToKLSAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5fYWRkUHJvZmlsZUhlYWRlcik6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZUludGVyZmFj
ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuX2VuYWJs
ZURldGFpbGVkSGVhcFByb2ZpbGVzKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
c291cmNlQ29va2llc1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb29r
aWVzVmlldy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VIVE1MVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZUhU
TUxWaWV3LnByb3RvdHlwZS53YXNTaG93bik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VIVE1MVmlldy5wcm90b3R5cGUud2lsbEhpZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VKU09OVmlldy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZUpTT05WaWV3LnBhcnNlSlNPTi5XZWJJbnNwZWN0b3IuUmVzb3VyY2VKU09OVmlldy5wcm90b3R5
cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUaW1p
bmdWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVGltaW5nVmlldy5wcm90
b3R5cGUud2FzU2hvd24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2Vz
UGFuZWwuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBl
Lndhc1Nob3duKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5q
czoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLndhc1Nob3du
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl91cGRhdGVE
ZWJ1Z2dlckJ1dHRvbnMpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJh
bWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLndhc1No
b3duKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVmlldyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZ2V0IHZp
c2libGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLnNldEhpZGVPbkRl
dGFjaCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuX3dhc1Nob3duKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5fd2lsbEhpZGUpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9vblJlc2l6ZSk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuVmlldy5wcm90b3R5cGUud2FzU2hvd24pOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlZpZXcucHJvdG90eXBlLndpbGxIaWRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnBy
b3RvdHlwZS5vblJlc2l6ZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUu
c2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZGV0YWNoKToKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5kb1Jlc2l6ZSk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZGlzcGF0Y2hUb1NlbGZBbmRDaGlsZHJlbik6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZGlzcGF0Y2hUb0NoaWxkcmVuKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5faGFuZGxlSW5zZXJ0ZWRJbnRv
RG9jdW1lbnQpOgotCi0yMDExLTEwLTIyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KLQotICAgICAgICBSRUdSRVNTSU9OKHI5MjQ4MCk6IFBhc3NpbmcgdW5pbml0aWFsaXplZCB2
YXJpYWJsZSBpbiBIVE1MRWxlbWVudDo6Y2FsY3VsYXRlQW5kQWRqdXN0RGlyZWN0aW9uYWxpdHko
KQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1ODIK
LQotICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KLQotICAgICAgICBObyBuZXcgdGVz
dHMuIEl0J3MgdmVyeSBoYXJkIHRvIG1ha2UgYSByZWxpYWJsZSB0ZXN0LgotCi0gICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6ZGly
ZWN0aW9uYWxpdHkpOgotICAgICAgICBDbGVhciAqc3Ryb25nRGlyZWN0aW9uYWxpdHlUZXh0Tm9k
ZSBldmVuIGlmIGhhc1N0cm9uZ0RpcmVjdGlvbmFsaXR5IGlzIGZhbHNlLgotCi0yMDExLTEwLTIx
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+Ci0KLSAgICAgICAgQ2FyZXQgaXMgZHJh
d24gaW4gdGhlIHdyb25nIHBsYWNlIGluIG11bHRpLWNvbHVtbiBibG9ja3MKLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjYyCi0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCi0KLSAgICAgICAgKiBtYW51YWwtdGVzdHMvY2Fy
ZXQtaW4tY29sdW1ucy5odG1sOiBBZGRlZC4KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q2FyZXQpOiBSZW1v
dmVkIHRoZSBjYWxsIHRvIG9mZnNldEZvckNvbnRlbnRzKCkuIFRoYXQgZnVuY3Rpb24gdGFrZXMK
LSAgICAgICAgYSBwb2ludCBpbiBsb2NhbCBjb29yZGluYXRlcywgd2hlcmVhcyB0aGlzIGZ1bmN0
aW9uIHdhcyBhcHBseWluZyBpdCB0byBhIHBvaW50IGluIHBhaW50aW5nIHJvb3QKLSAgICAgICAg
Y29vcmRpbmF0ZXMuIFRoZSBkZXNpcmVkIGVmZmVjdCB3YXMgb25seSB0byB1bmRvIHRoZSBzY3Jv
bGwgYWRqdXN0bWVudCBkb25lIGJ5IHRoZSBjYWxsZXIsCi0gICAgICAgIHBhaW50T2JqZWN0KCku
Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QpOiBQYXNzIHRoZSBv
cmlnaW5hbCwgcmF0aGVyIHRoYW4gc2Nyb2xsLWFkanVzdGVkLCBwYWludCBvZmZzZXQKLSAgICAg
ICAgdG8gcGFpbnRDYXJldCgpLgotCi0yMDExLTEwLTIxICBOYXQgRHVjYSAgPG5kdWNhQGNocm9t
aXVtLm9yZz4KLQotICAgICAgICBbY2hyb21pdW1dIE1ha2Ugc2V0VmlzaWJpbGl0eSBleHRlbnNp
b24tIGFuZCB0aHJlYWQtY29ycmVjdAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA2MzUKLQotICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3Nl
bGwuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RD
aHJvbWl1bS5oOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21p
dW06OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVt
OjpzZXRWaXNpYmxlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJD
YXBhYmlsaXRpZXM6OkxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMpOgotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2V0VmlzaWJsZSk6Ci0KLTIwMTEtMTAt
MjEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgotCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY0NwotICAgICAgICBDb21tb24gYnV0IHVu
cmVwcm9kdWNpYmxlIGNyYXNoIHVuZGVyIFtTY3JvbGxiYXJQYXJ0QW5pbWF0aW9uIHNldEN1cnJl
bnRQcm9ncmVzczpdCi0gICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KLSAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzk1NDIwMTg+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KLQot
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdHdvIHNwZWN1bGF0aXZlIGZpeGVzIGZvciB0
aGlzIGNyYXNoLgotCi0gICAgICAgIEZpcnN0LCBibG9jayBleGNlcHRpb25zIGFyb3VuZCBhbGwg
b2YgdGhlIGNvZGUgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcgCi0gICAgICAgIHN0b3BBbmltYXRp
b24uIElmIHRoYXQgY29kZSB0aHJvd3MgYW55IGV4Y2VwdGlvbnMsIHdlIHdhbnQgdG8gbWFrZSBz
dXJlIHRoZSBvdGhlciAKLSAgICAgICAgYW5pbWF0aW9ucyBhcmUgc3RpbGwgc3RvcHBlZC4KLSAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06Ci0gICAgICAgICgtW1dl
YlNjcm9sbGJhclBhcnRBbmltYXRpb24gc2Nyb2xsQW5pbWF0b3JEZXN0cm95ZWRdKToKLSAgICAg
ICAgKC1bV2ViU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlIHNjcm9sbEFuaW1hdG9yRGVzdHJveWVk
XSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6flNjcm9sbEFuaW1hdG9y
TWFjKToKLQotICAgICAgICBPbmx5IHNlbmQgQXBwS2l0IHRoZXNlIG5vdGlmaWNhdGlvbnMgZm9y
IGFjdGl2ZSBwYWdlcy4gSSBvcmlnaW5hbGx5IG1hZGUgdGhlc2UgCi0gICAgICAgIGFzc2VydGlv
bnMsIGFuZCBJIGZvdW5kIHRoYXQgdGhleSB3ZXJlIGhpdCBhIHN1cnByaXNpbmcgbnVtYmVyIG9m
IHRpbWVzLiBJZiB3ZSAKLSAgICAgICAgb25seSBzZW5kIG5vdGlmaWNhdGlvbnMgZm9yIGFjdGl2
ZSBwYWdlcywgdGhlbiB3ZSBzaG91bGQgZ3JlYXRseSByZWR1Y2UgYW5kIAotICAgICAgICBwb3Nz
aWJseSBlbGltaW5hdGUgb3VyIGNoYW5jZXMgb2YgaGl0dGluZyB0aGlzIGNyYXNoLgotICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6Om5vdGlmeVBvc2l0aW9uQ2hhbmdlZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6Y29udGVudEFyZWFXaWxsUGFpbnQp
OgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJlZENvbnRl
bnRBcmVhKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjptb3VzZUV4aXRl
ZENvbnRlbnRBcmVhKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjptb3Vz
ZU1vdmVkSW5Db250ZW50QXJlYSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6d2lsbFN0YXJ0TGl2ZVJlc2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRv
ck1hYzo6Y29udGVudHNSZXNpemVkKToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
TWFjOjp3aWxsRW5kTGl2ZVJlc2l6ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRv
ck1hYzo6Y29udGVudEFyZWFEaWRTaG93KToKLSAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yTWFjOjpjb250ZW50QXJlYURpZEhpZGUpOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JNYWM6OmRpZEJlZ2luU2Nyb2xsR2VzdHVyZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6ZGlkRW5kU2Nyb2xsR2VzdHVyZSk6Ci0KLTIwMTEtMTAtMjEgIE1hcmsg
SGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KLQotICAgICAgICBBZGQgcHV0IHRv
IHRoZSBNZXRob2RUYWJsZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzA0MzkKLQotICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KLQotICAg
ICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKLSAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6IEFkZGVkIHN0YXRpYyBwdXQgc2lu
Y2UgaXQgd2FzIG92ZXJsb29rZWQgaW4gCi0gICAgICAgIHByZXZpb3VzIHBhdGNoZXMuCi0gICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6cHV0VmlydHVhbCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpKU0RPTVdpbmRvdzo6cHV0KToKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1No
ZWxsLmNwcDogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpwdXRW
aXJ0dWFsKToKLSAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OnB1dCk6Ci0gICAg
ICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgotCi0yMDExLTEwLTIxICBEbWl0
cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+Ci0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTgwCi0gICAgICAgIFtDaHJvbWl1bV0gSW1wbGVt
ZW50IE1lc3NhZ2VQb3J0IHRyYW5zZmVyIGluIGNocm9taXVtIHBvcnQgb2Ygd2Via2l0LgotCi0g
ICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgotCi0gICAgICAgICogYmluZGluZ3Mvdjgv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlY4T2JqZWN0TWFw
OjpXcml0ZXI6OndyaXRlVHJhbnNmZXJyZWRNZXNzYWdlUG9ydCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpWOE9iamVjdE1hcDo6U2VyaWFsaXplcjo6U2VyaWFsaXplcik6Ci0gICAgICAgIChXZWJDb3Jl
OjpWOE9iamVjdE1hcDo6U2VyaWFsaXplcjo6ZG9TZXJpYWxpemUpOgotICAgICAgICAoV2ViQ29y
ZTo6VjhPYmplY3RNYXA6OlJlYWRlcjo6cmVhZCk6Ci0gICAgICAgIChXZWJDb3JlOjpWOE9iamVj
dE1hcDo6RGVzZXJpYWxpemVyOjpEZXNlcmlhbGl6ZXIpOgotICAgICAgICAoV2ViQ29yZTo6VjhP
YmplY3RNYXA6OkRlc2VyaWFsaXplcjo6dHJ5R2V0VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFs
aXplKToKLQotMjAxMS0xMC0yMSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgotCi0g
ICAgICAgIHI5NzY5MyBjYXVzZWQgNDIgZmFpbHVyZXMgb24gdGhlIGNocm9taXVtIG1hYyBib3Rz
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMwMAot
Ci0gICAgICAgIENhbid0IHRlc3QgdGhpcyB1bnRpbCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA2NjAKLSAgICAgICAgaXMgZml4ZWQuIFRoZSBmaXggZm9yIHRoYXQg
YnVnIHdpbGwgdGVzdCB0aGlzIGNvZGVwYXRoIGFzIHdlbGwgdGhvdWdoLgotCi0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Ojpjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKLQotMjAxMS0xMC0yMSAgVmlu
ZWV0IENoYXVkaGFyeSAgPHZpbmVldC5jaGF1ZGhhcnlAbW90b3JvbGEuY29tPgotCi0gICAgICAg
IFNldHRpbmcgZm9ybS5lbmN0eXBlIHJlZmxlY3RlZCBhdHRyaWJ1dGUgYmVoYXZlcyBzdHJhbmdl
bHkuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg3
OQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0gICAgICAgIFRoZSBzcGVj
IHNheXMgZm9ybS5lbmN0eXBlIHNob3VsZCBiZSBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVu
Y29kZWQsCi0gICAgICAgIFNvIGFzICJ0ZXh0IiwgInBsYWluIiwgIm11bHRpcGFydCIgb3IgImZv
cm0tZGF0YSIgdGhlc2UgYXJlIG5vdCBhIHZhbGlkIHZhbHVlIHNvIG11c3QgYmUgaWdub3JlZC4K
LQotICAgICAgICAqIGxvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpGb3JtU3VibWlzc2lvbjo6QXR0cmlidXRlczo6cGFyc2VFbmNvZGluZ1R5cGUpOgotCi0yMDEx
LTEwLTIxICBNYXR0aGV3IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+Ci0KLSAgICAgICAg
RW5zdXJlIHBlcmlvZGljIGZsdXNoaW5nIG9mIGNhbnZhcyBkcmF3aW5nIGNvbnRleHQKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjQ2Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8g
Y3VycmVudCB3YXkgdG8gdHJhY2sgdGVzdHMgdGhhdCBjYXVzZSBoYW5ncyBvcgotICAgICAgICBu
b24tZGV0ZXJtaW5pc3RpYyBkcm9wcyBpbiBwZXJmb3JtYW5jZS4KLQotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyRGF0YUNHLmg6IEFkZHMgYSB0aW1lc3RhbXAgb2Yg
bGFzdCB0cmFja2VkIGZsdXNoLgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
QnVmZmVyQ0cuY3BwOiBFbnN1cmVzIHBlcmlvZGljIGZsdXNoZXMgb24gdGhlIGRyYXdpbmcgY29u
dGV4dC4KLSAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6Ci0gICAg
ICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6Y29udGV4dCk6IEZsdXNoZXMgY29udGV4dCBpZiB3
ZSdyZSBiZXlvbmQgZmx1c2ggaW50ZXJ2YWwuCi0gICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZl
cjo6Y29weU5hdGl2ZUltYWdlKTogVXBkYXRlcyBsYXN0IGZsdXNoIHRpbWVzdGFtcC4KLSAgICAg
ICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpnZXRVbm11bHRpcGxpZWRJbWFnZURhdGEpOiBVcGRh
dGVzIGxhc3QgZmx1c2ggdGltZXN0YW1wLgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6
OmdldFByZW11bHRpcGxpZWRJbWFnZURhdGEpOiBVcGRhdGVzIGxhc3QgZmx1c2ggdGltZXN0YW1w
LgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnB1dFVubXVsdGlwbGllZEltYWdlRGF0
YSk6IFVwZGF0ZXMgbGFzdCBmbHVzaCB0aW1lc3RhbXAuCi0gICAgICAgIChXZWJDb3JlOjpJbWFn
ZUJ1ZmZlcjo6cHV0UHJlbXVsdGlwbGllZEltYWdlRGF0YSk6IFVwZGF0ZXMgbGFzdCBmbHVzaCB0
aW1lc3RhbXAuCi0KLTIwMTEtMTAtMjEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
LQotICAgICAgICBJbnRyb2R1Y2UgRXZlbnQ6Omhhc0ludGVyZmFjZSB0byBtYWtlIHVzZXMgb2Yg
aW50ZXJmYWNlTmFtZSBtb3JlIHJlYWRhYmxlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1MgotCi0gICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgotCi0gICAgICAgIEVyaWMgZmVsdCB0aGF0IHRoaXMgYXBwcm9hY2ggd291bGQgYmUgbW9y
ZSByZWFkYWJsZSBiZWNhdXNlIGl0IHJlcXVpcmVzCi0gICAgICAgIGxlc3Mgc3ludGF4IGF0IGVh
Y2ggY2FsbHNpdGUuCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpKU0Vycm9ySGFuZGxlcjo6aGFuZGxlRXZlbnQpOgotICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1tOgotICAgICAgICAoa2l0Q2xhc3MpOgotICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OlY4V2luZG93RXJyb3JIYW5kbGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbik6Ci0gICAg
ICAgICogYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OlY4V29ya2VyQ29udGV4dEVycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVu
Y3Rpb24pOgotICAgICAgICAqIGRvbS9FdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVu
dDo6aGFzSW50ZXJmYWNlKToKLSAgICAgICAgKiBkb20vRXZlbnQuaDoKLSAgICAgICAgKiBkb20v
RXZlbnREaXNwYXRjaGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6
ZGV0ZXJtaW5lRGlzcGF0Y2hCZWhhdmlvcik6Ci0gICAgICAgICogZG9tL05vZGUuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6Ci0gICAgICAgICogaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgotICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxl
bWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKLSAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6Ci0g
ICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmZvcndhcmRFdmVudCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnNob3VsZFN1Ym1pdEltcGxpY2l0bHkp
OgotICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpoYW5kbGVFdmVu
dCk6Ci0KLTIwMTEtMTAtMjEgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBJbXBsZW1lbnQgYmFzaWMgc3VidHJlZSBvYnNlcnZh
dGlvbgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0
MzYKLQotICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCi0KLSAgICAgICAgTm90ZSB0
aGF0IHRoaXMgcGF0Y2ggb25seSBpbXBsZW1lbnRzICJiYXNpYyIgc3VidHJlZSBzZW1hbnRpY3Ms
Ci0gICAgICAgIG5vdCB0aGUgZnVsbHkgcm9idXN0IHNlbWFudGljcyBkZXNjcmliZWQgaW4KLSAg
ICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLXdlYmFwcHMv
MjAxMUp1bFNlcC8xNjIyLmh0bWwuCi0gICAgICAgIE1vc3QgaW1wb3J0YW50bHksIHRoaXMgY2hh
bmdlIGRvZXMgbm90IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBtdXRhdGlvbnMKLSAgICAgICAgb2Nj
dXIgaW4gYSB0ZW1wb3JhcmlseSBkZXRhY2hlZCBzdWJ0cmVlLgotCi0gICAgICAgIFRoZSBwbGFu
IGlzIHRvIGltcGxlbWVudCB0aG9zZSBzZW1hbnRpY3MgaW4gYSBmb2xsb3d1cCB0byBhdm9pZAot
ICAgICAgICBibG9ja2luZyBvdGhlciBwYXJ0cyBvZiB0aGUgTXV0YXRpb25PYnNlcnZlciBzcGVj
IHRoYXQgcmVseSBvbgotICAgICAgICB0aGUgZXhpc3RlbmNlIG9mIHN1YnRyZWUgb2JzZXJ2YXRp
b24gYnV0IG5vdCBpdHMgc3BlY2lmaWMKLSAgICAgICAgaW1wbGVtZW50YXRpb24uCi0KLSAgICAg
ICAgVGVzdDogZmFzdC9tdXRhdGlvbi9vYnNlcnZlLXN1YnRyZWUuaHRtbAotCi0gICAgICAgICog
ZG9tL05vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6YWRkTWF0Y2hpbmdPYnNlcnZlcnMpOiBT
dGF0aWMgaGVscGVyIG1ldGhvZCBmb3IgcmVnaXN0ZXJlZE11dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBl
KCkuCi0gICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNP
ZlR5cGUpOiBXYWxrIHVwIHRoZSB0cmVlIGxvb2tpbmcgZm9yIG9ic2VydmVycy4KLSAgICAgICAg
KiBkb20vTm9kZVJhcmVEYXRhLmg6Ci0gICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
RW50cnk6Omhhc0FsbE9wdGlvbnMpOiBBIHN0cmljdGVyLCByZW5hbWVkIGZyb20gbWF0Y2hlcygp
LgotCi0yMDExLTEwLTIxICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgSW5kZXhlZERCOiBvYmplY3RTdG9yZS50cmFuc2FjdGlvbiBwcm9wZXJ0eSBzaG91bGQg
YmUgcmVhZG9ubHkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYyMzk1Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KLQotICAgICAgICBJ
bXBsZW1lbnQgdGhlIElEQk9iamVjdFN0b3JlLnRyYW5zYWN0aW9uIHByb3BlcnR5IGRlZmluZWQg
YnkgdGhlIHNwZWMuCi0KLSAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHkt
cHJvcGVydGllcy5odG1sCi0KLSAgICAgICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjp0cmFuc2FjdGlvbik6Ci0gICAgICAg
ICogc3RvcmFnZS9JREJPYmplY3RTdG9yZS5oOgotICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0
U3RvcmUuaWRsOgotCi0yMDExLTEwLTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
Ci0KLSAgICAgICAgRXZlbnQuaCBoYXMgdG9vIG1hbnkgdmlydHVhbCBpc011bWJsZUV2ZW50KCkg
ZnVuY3Rpb25zCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDYzNgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAg
ICBXZSBzaG91bGQgdXNlIHRoZSBuZXcgaW50ZXJmYWNlTmFtZSgpIHdheSBvZiBkb2luZyBydW4t
dGltZSB0eXBlIGluZmVyZW5jZS4KLQotICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXJyb3JIYW5k
bGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkpTRXJyb3JIYW5kbGVyOjpoYW5kbGVFdmVudCk6
Ci0gICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpKU0V2ZW50OjpjbGlwYm9hcmREYXRhKToKLSAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RP
TUV2ZW50cy5tbToKLSAgICAgICAgKGtpdENsYXNzKToKLSAgICAgICAgKiBiaW5kaW5ncy92OC9W
OFdpbmRvd0Vycm9ySGFuZGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOFdpbmRvd0Vycm9y
SGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24pOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
V29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOFdvcmtl
ckNvbnRleHRFcnJvckhhbmRsZXI6OmNhbGxMaXN0ZW5lckZ1bmN0aW9uKToKLSAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpW
OEV2ZW50OjpjbGlwYm9hcmREYXRhQWNjZXNzb3JHZXR0ZXIpOgotICAgICAgICAqIGRvbS9CZWZv
cmVMb2FkRXZlbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkJlZm9yZUxvYWRFdmVudDo6aW50ZXJm
YWNlTmFtZSk6Ci0gICAgICAgICogZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmg6Ci0gICAg
ICAgICogZG9tL0NsaXBib2FyZEV2ZW50LmNwcDoKLSAgICAgICAgKiBkb20vQ2xpcGJvYXJkRXZl
bnQuaDoKLSAgICAgICAgKiBkb20vQ29tcG9zaXRpb25FdmVudC5jcHA6Ci0gICAgICAgICogZG9t
L0NvbXBvc2l0aW9uRXZlbnQuaDoKLSAgICAgICAgKiBkb20vRXJyb3JFdmVudC5jcHA6Ci0gICAg
ICAgICogZG9tL0Vycm9yRXZlbnQuaDoKLSAgICAgICAgKiBkb20vRXZlbnQuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RXZlbnQ6OnN0b3Jlc1Jlc3VsdEFzU3RyaW5nKToKLSAgICAgICAgKFdlYkNv
cmU6OkV2ZW50OjpzdG9yZVJlc3VsdCk6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudDo6Y2xpcGJv
YXJkRGF0YSk6Ci0gICAgICAgICogZG9tL0V2ZW50Lmg6Ci0gICAgICAgICogZG9tL0V2ZW50Lmlk
bDoKLSAgICAgICAgICAgIC0gUmVtb3ZlIHRoaXMgaW50ZXJmYWNlIGZyb20gdGhlIENQUCBiaW5k
aW5ncyBiZWNhdXNlIHRoaXMgZnVuY3Rpb24KLSAgICAgICAgICAgICAgbm8gbG9uZ2VyIGV4aXN0
cy4gIEl0J3MgdW5jbGVhciB0byBtZSBob3cgc3Ryb25nIG91ciBBUEkKLSAgICAgICAgICAgICAg
Y29tbWl0bWVudHMgYXJlIGluIHRoZSBDUFAgYmluZGluZ3MuCi0gICAgICAgICogZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRldGVy
bWluZURpc3BhdGNoQmVoYXZpb3IpOgotICAgICAgICAqIGRvbS9NZXNzYWdlRXZlbnQuY3BwOgot
ICAgICAgICAqIGRvbS9NZXNzYWdlRXZlbnQuaDoKLSAgICAgICAgKiBkb20vTXV0YXRpb25FdmVu
dC5jcHA6Ci0gICAgICAgICogZG9tL011dGF0aW9uRXZlbnQuaDoKLSAgICAgICAgKiBkb20vTm9k
ZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKLSAg
ICAgICAgKiBkb20vT3ZlcmZsb3dFdmVudC5jcHA6Ci0gICAgICAgICogZG9tL092ZXJmbG93RXZl
bnQuaDoKLSAgICAgICAgKiBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5oOgotICAgICAgICAqIGRv
bS9Qcm9ncmVzc0V2ZW50Lmg6Ci0gICAgICAgICogZG9tL1RleHRFdmVudC5jcHA6Ci0gICAgICAg
ICogZG9tL1RleHRFdmVudC5oOgotICAgICAgICAqIGRvbS9XaGVlbEV2ZW50LmNwcDoKLSAgICAg
ICAgKiBkb20vV2hlZWxFdmVudC5oOgotICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKToKLSAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6Ci0gICAg
ICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6VGV4
dEZpZWxkSW5wdXRUeXBlOjpmb3J3YXJkRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dEZp
ZWxkSW5wdXRUeXBlOjpzaG91bGRTdWJtaXRJbXBsaWNpdGx5KToKLSAgICAgICAgKiBodG1sL3No
YWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6VGV4
dENvbnRyb2xJbm5lclRleHRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKLSAgICAgICAg
KiBzdmcvU1ZHWm9vbUV2ZW50LmNwcDoKLSAgICAgICAgKiBzdmcvU1ZHWm9vbUV2ZW50Lmg6Ci0K
LTIwMTEtMTAtMjEgIFJheW1vbmQgVG95ICA8cnRveUBnb29nbGUuY29tPgotCi0gICAgICAgIEZs
dXNoIGRlbm9ybWFscyBpbiBCaXF1YWQsIFplcm9Qb2xlLCBhbmQgRHluYW1pY3NDb21wcmVzc29y
LgotCi0gICAgICAgIFdlIG9ubHkgZmx1c2ggd2hlbiBzYXZpbmcgdGhlIHN0YXRlIHZhcmlhYmxl
cyBpbnN0ZWFkIG9mIGluIHRoZQotICAgICAgICBsb29wcyBzbyB0aGF0IHdlIGRvbid0IGltcGFj
dCBwZXJmb3JtYW5jZSB0b28gbXVjaCB3aGVuIHRoZXJlIGFyZQotICAgICAgICBubyBkZW5vcm1h
bHMuICBUaGlzIHdpbGwgYXQgbGVhc3Qgbm90IHByb3BhZ2F0ZSB0aGUgZGVub3JtYWxzIGFueQot
ICAgICAgICBmdXJ0aGVyIHdpdGhpbiB0aGUgY2xhc3MuCi0gICAgICAgIAotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MjYKLQotICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9CaXF1
YWQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6QmlxdWFkOjpwcm9jZXNzKToKLSAgICAgICAgRmx1
c2ggZGVub3JtYWxzIHdoZW4gc3RvcmluZyB0aGUgZmlsdGVyIHN0YXRlIGJhY2sgaW4gdG8gY2xh
c3MKLSAgICAgICAgZmlsdGVyIHN0YXRlLiAgCi0gICAgICAgICogcGxhdGZvcm0vYXVkaW8vRHlu
YW1pY3NDb21wcmVzc29yS2VybmVsLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkR5bmFtaWNzQ29t
cHJlc3Nvcktlcm5lbDo6cHJvY2Vzcyk6Ci0gICAgICAgIERpdHRvLgotICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL1plcm9Qb2xlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Olplcm9Qb2xlOjpwcm9j
ZXNzKToKLSAgICAgICAgRGl0dG8uCi0KLTIwMTEtMTAtMjEgIFZzZXZvbG9kIFZsYXNvdiAgPHZz
ZXZpa0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2Vh
cmNoIHJlc3VsdHMgc2hvdWxkIGJlIGNsZWFyZWQgb24gbmF2aWdhdGlvbi4KLSAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI3Ci0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
QWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFkdmFu
Y2VkU2VhcmNoQ29udHJvbGxlcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFy
Y2hDb250cm9sbGVyLnByb3RvdHlwZS5fZnJhbWVOYXZpZ2F0ZWQpOgotCi0yMDExLTEwLTIxICBS
YWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgW011dGF0
aW9uT2JzZXJ2ZXJzXSBJbXBsZW1lbnQgV2ViS2l0TXV0YXRpb25PYnNlcnZlci5vYnNlcnZlIGZv
ciBjaGlsZExpc3QgY2hhbmdlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg5NTUKLQotICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCi0K
LSAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBvYmplY3Qg
d2hpY2ggbWFuYWdlcyB0aGUgY29hbGVzY2luZyBvZgotICAgICAgICBtdWx0aXBsZSBjaGlsZCBy
ZW1vdmFscyBhbmQgYWRkaXRpb25zIHdpdGhpbiBET00gb3BlcmF0aW9ucyBpbnRvIHNpbmdsZSBj
aGlsZExpc3QKLSAgICAgICAgbXV0YXRpb24gcmVjb3Jkcy4KLQotICAgICAgICBOb3RlIHRoYXQg
dGhpcyBwYXRjaCBkb2Vzbid0IGNvdmVyIGFsbCB0aGUgY2FzZXMgd2hpY2ggY2FuIGJlIGNvYWxl
c2NlZCAoaXQgb25seQotICAgICAgICBjb3ZlcnMgQ29udGFpbmVyTm9kZS4qLCBhbmQgTm9kZS5p
bm5lckhUTUwvaW5uZXJUZXh0KS4gQSBzZXBhcmF0ZSBidWcsCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM4NSwgaGFzIGJlZW4gb3BlbmVkIHRvIHRy
YWNrIHRoZQotICAgICAgICByZW1haW5pbmcgY2FzZXMuCi0KLSAgICAgICAgVGVzdDogZmFzdC9t
dXRhdGlvbi9vYnNlcnZlLWNoaWxkTGlzdC5odG1sCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgotICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKLSAgICAgICAgKiBXZWJDb3JlLnBybzoKLSAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajoKLSAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
Ci0gICAgICAgICogZG9tL0NoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwOiBBZGRlZC4KLSAgICAg
ICAgKFdlYkNvcmU6OkNoaWxkTGlzdEFjY3VtdWxhdGlvbjo6Q2hpbGRMaXN0QWNjdW11bGF0aW9u
OjpDaGlsZExpc3RBY2N1bXVsYXRpb24pOgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0QWNj
dW11bGF0aW9uOjpDaGlsZExpc3RBY2N1bXVsYXRpb246On5DaGlsZExpc3RBY2N1bXVsYXRpb24p
OgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0QWNjdW11bGF0aW9uOjpDaGlsZExpc3RBY2N1
bXVsYXRpb246OmNoaWxkQWRkZWQpOgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0QWNjdW11
bGF0aW9uOjpDaGlsZExpc3RBY2N1bXVsYXRpb246OndpbGxSZW1vdmVDaGlsZCk6Ci0gICAgICAg
IChXZWJDb3JlOjpDaGlsZExpc3RBY2N1bXVsYXRpb246OkNoaWxkTGlzdEFjY3VtdWxhdGlvbjo6
ZGlzcGF0Y2gpOgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0QWNjdW11bGF0aW9uOjpDaGls
ZExpc3RBY2N1bXVsYXRpb246OmNsZWFyKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdEFj
Y3VtdWxhdGlvbjo6Q2hpbGRMaXN0QWNjdW11bGF0aW9uOjppc0VtcHR5KToKLSAgICAgICAgKFdl
YkNvcmU6OkNoaWxkTGlzdEFjY3VtdWxhdGlvbjo6Q2hpbGRMaXN0QWNjdW11bGF0b3I6OkNoaWxk
TGlzdEFjY3VtdWxhdG9yKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdEFjY3VtdWxhdGlv
bjo6Q2hpbGRMaXN0QWNjdW11bGF0b3I6On5DaGlsZExpc3RBY2N1bXVsYXRvcik6Ci0gICAgICAg
IChXZWJDb3JlOjpDaGlsZExpc3RBY2N1bXVsYXRpb246OkNoaWxkTGlzdEFjY3VtdWxhdG9yOjpp
bml0aWFsaXplKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdEFjY3VtdWxhdGlvbjo6Q2hp
bGRMaXN0QWNjdW11bGF0b3I6Omluc3RhbmNlKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlz
dEFjY3VtdWxhdGlvbjo6Q2hpbGRMaXN0QWNjdW11bGF0b3I6OmNoaWxkQWRkZWQpOgotICAgICAg
ICAoV2ViQ29yZTo6Q2hpbGRMaXN0QWNjdW11bGF0aW9uOjpDaGlsZExpc3RBY2N1bXVsYXRvcjo6
d2lsbFJlbW92ZUNoaWxkKToKLSAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdEFjY3VtdWxhdGlv
bjo6Q2hpbGRMaXN0QWNjdW11bGF0b3I6OmluY3JlbWVudFNjb3BpbmdMZXZlbCk6Ci0gICAgICAg
IChXZWJDb3JlOjpDaGlsZExpc3RBY2N1bXVsYXRpb246OkNoaWxkTGlzdEFjY3VtdWxhdG9yOjpk
ZWNyZW1lbnRTY29waW5nTGV2ZWwpOgotICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRp
b25TY29wZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDaGls
ZExpc3RNdXRhdGlvblNjb3BlOjp+Q2hpbGRMaXN0TXV0YXRpb25TY29wZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpjaGlsZEFkZGVkKToKLSAgICAgICAgKFdl
YkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6OndpbGxSZW1vdmVDaGlsZCk6Ci0gICAgICAg
ICogZG9tL0NoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDogQWRkZWQuCi0gICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6aW5zZXJ0
QmVmb3JlKToKLSAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcGxhY2VDaGlsZCk6
Ci0gICAgICAgIChXZWJDb3JlOjp3aWxsUmVtb3ZlQ2hpbGRyZW4pOgotICAgICAgICAoV2ViQ29y
ZTo6ZGlzcGF0Y2hDaGlsZEluc2VydGlvbkV2ZW50cyk6Ci0gICAgICAgIChXZWJDb3JlOjpkaXNw
YXRjaENoaWxkUmVtb3ZhbEV2ZW50cyk6Ci0gICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6ZW5xdWV1ZUF0dHJpYnV0ZXNNdXRhdGlvblJlY29yZCk6Ci0gICAgICAg
ICogZG9tL05vZGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0VGV4dENvbnRlbnQp
OgotICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVnaXN0ZXJlZE11dGF0aW9uT2JzZXJ2ZXJzT2ZU
eXBlKToKLSAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KToKLSAgICAgICAg
KiBodG1sL0hUTUxFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnJlcGxhY2VDaGlsZHJl
bldpdGhGcmFnbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpyZXBsYWNlQ2hpbGRyZW5XaXRoVGV4
dCk6Ci0KLTIwMTEtMTAtMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgotCi0gICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5ODA3OS4KLSAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTgwNzkKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI0Ci0KLSAgICAgICAgVGhlIGV4dGVu
c2lvbnMgdGVzdHMgZW5hYmxlZCBhcmUgZmFpbGluZyBvbiB0aGUgQ2hyb21pdW0gV2luCi0gICAg
ICAgIERiZyBib3QgKFJlcXVlc3RlZCBieSBqY2hhZmZyYWl4IG9uICN3ZWJraXQpLgotCi0gICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanM6Ci0gICAgICAgIChidWls
ZEV4dGVuc2lvbkFQSUluamVjdGVkU2NyaXB0KToKLQotMjAxMS0xMC0yMSAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgotCi0gICAgICAgIENvbHVtbiBydWxlcyBwb3NpdGlvbmVkIGlu
Y29ycmVjdGx5IGluIHZlcnRpY2FsLXJsIGJsb2NrIHdpdGggaG9yaXpvbnRhbCBib3JkZXIgb3Ig
cGFkZGluZwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzA2MjIKLQotICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgotCi0gICAgICAgIFRlc3Rz
OiBmYXN0L211bHRpY29sL3ZlcnRpY2FsLWxyL3J1bGVzLXdpdGgtYm9yZGVyLWJlZm9yZS5odG1s
Ci0gICAgICAgICAgICAgICBmYXN0L211bHRpY29sL3ZlcnRpY2FsLXJsL3J1bGVzLXdpdGgtYm9y
ZGVyLWJlZm9yZS5odG1sCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29sdW1uUnVsZXMpOiBDaGFuZ2Vk
IHRvIHVzZSB0aGUgcGh5c2ljYWwgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmcgZm9yIHRoZQotICAg
ICAgICBsZWZ0IGVkZ2Ugb2YgdGhlIGhvcml6b250YWwgY29sdW1uIHJ1bGUuCi0KLTIwMTEtMTAt
MjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+Ci0KLSAgICAgICAgRml4
IFdpbmRvd3MgYnVpbGQuCi0KLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6aGFzQW55
QWRkaXRpb25hbENvbXBvc2l0ZWRMYXllcnMpOgotCi0yMDExLTEwLTIxICBEZXZkYXR0YSBEZXNo
cGFuZGUgIDxwd2pkNzNAbW90b3JvbGEuY29tPgotCi0gICAgICAgIFtHdGtdIG1vdXNlbW92ZSBl
dmVudCBhbHdheXMgaGFzIG1ldGFLZXkgPT0gdHJ1ZQotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUyOTkKLQotICAgICAgICBSZXZpZXdlZCBieSBNYXJ0
aW4gUm9iaW5zb24uCi0KLSAgICAgICAgR0RLX01PRDJfTUFTSyBkb2Vzbid0IGFsd2F5cyBtZWFu
IG1ldGEgc28gd2UgY2FuJ3QgdXNlIGl0IHRvIGlkZW50aWZ5Ci0gICAgICAgIHRoZSBtZXRhIGtl
eSBzdGF0ZS4gVXNlIEdES19NRVRBX01BU0sgaW5zdGVhZC4KLQotICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9ndGsvZmFzdC9ldmVudHMvZXZlbnQtc2VuZGVyLW1ldGFrZXkuaHRtbAotCi0gICAgICAg
ICogcGxhdGZvcm0vZ3RrL1BsYXRmb3JtTW91c2VFdmVudEd0ay5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6Ci0KLTIwMTEtMTAt
MjEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIFN0eWxlIGFu
ZCBMaW5rIGVsZW1lbnRzJyBzaGVldCgpIHNob3VsZCByZXR1cm4gQ1NTU3R5bGVTaGVldC4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA4Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgUmV0dXJuIGEgQ1NT
U3R5bGVTaGVldCogaW5zdGVhZCBvZiBhIFN0eWxlU2hlZXQqIGluIHRoZXNlIGZ1bmN0aW9ucwot
ICAgICAgICBzaW5jZSB3ZSBrbm93IHRoZXkgYXJlIGFsd2F5cyBDU1NTdHlsZVNoZWV0cy4KLSAg
ICAgICAgQWxzbyByZW1vdmUgc29tZSBub3ctdW5uZWNlc3NhcnkgaXNDU1NTdHlsZVNoZWV0KCkg
Y2hlY2tzLgotCi0gICAgICAgICogZG9tL1N0eWxlRWxlbWVudC5oOgotICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVFbGVtZW50OjpzaGVldCk6Ci0gICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQu
Y3BwOgotICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MTGlua0VsZW1lbnQ6OnNoZWV0KToKLSAgICAgICAgKiBwYWdlL1BhZ2VTZXJpYWxpemVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVyOjpzZXJpYWxpemVGcmFtZSk6
Ci0KLTIwMTEtMTAtMjEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+Ci0K
LSAgICAgICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2VhcmNoIGlzIHdvcmtpbmcgdmVyeSBz
bG93bHkgYW5kIGRvZXMgbm90IHNob3cgc2VhcmNoaW5nIHByb2dyZXNzLgotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MTEKLQotICAgICAgICBTZWFy
Y2ggaW1wbGVtZW50YXRpb24gY2hhbmdlZCBzbyB0aGF0IHdlIGRvIG5vdCBzdGFydCBzZWFyY2hp
bmcgaW4gdGhlIG5leHQgZmlsZSB1bmxlc3MKLSAgICAgICAgdGhlIHByZXZpb3VzIG9uZSB3YXMg
YWxyZWFkeSBzZWFyY2hlZC4gVGhpcyBhbGxvd3MgdG8gaW50ZXJydXB0IHNlYXJjaC4KLSAgICAg
ICAgTm90IGFsbCBzZWFyY2ggbWF0Y2hlcyBhcmUgYWRkZWQgb24gVUkgYnkgZGVmYXVsdCBub3cs
IG9ubHkgZmlyc3QgMjAgZm9yIGVhY2ggZmlsZS4KLSAgICAgICAgU2VhcmNoIHByb2dyZXNzIGlu
Zm9ybWF0aW9uIGFuZCBzZWFyY2ggc3RvcCBidXR0b24gd2VyZSBhZGRlZCB0byBkcmF3ZXIgc3Rh
dHVzIGJhci4KLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAg
ICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgotICAgICAgICAqIGluc3BlY3Rv
ci9Db250ZW50U2VhcmNoVXRpbHMuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlYXJj
aFV0aWxzOjpnZXRSZWd1bGFyRXhwcmVzc2lvbk1hdGNoZXNCeUxpbmVzKToKLSAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWFyY2hVdGlsczo6Y291bnRSZWd1bGFyRXhwcmVzc2lvbk1hdGNoZXMp
OgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5jZWRTZWFyY2hDb250cm9sbGVy
LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5wcm90
b3R5cGUuX29uU2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNl
YXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9vblNlYXJjaEZpbmlzaGVkKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnN0YXJ0U2VhcmNo
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLnJlc2V0U2VhcmNoKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLnN0b3BTZWFyY2gpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNl
YXJjaFZpZXcpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlLmdl
dCBzdGF0dXNCYXJJdGVtcyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90
b3R5cGUuZ2V0IGNvdW50ZXJFbGVtZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hW
aWV3LnByb3RvdHlwZS5zZXQgcmVzdWx0c1BhbmUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNl
YXJjaFZpZXcucHJvdG90eXBlLnNlYXJjaFN0YXJ0ZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaFZpZXcucHJvdG90eXBlLl91cGRhdGVTZWFyY2hSZXN1bHRzTWVzc2FnZSk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuX3VwZGF0ZVNlYXJjaFByb2dy
ZXNzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3LnByb3RvdHlwZS5yZXNldFJl
c3VsdHMpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlLl9yZXNl
dENvdW50ZXJzKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3LnByb3RvdHlwZS5u
b3RoaW5nRm91bmQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBl
LmFkZFNlYXJjaFJlc3VsdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90
b3R5cGUuc2VhcmNoRmluaXNoZWQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcu
cHJvdG90eXBlLl9zZWFyY2hTdG9wQnV0dG9uUHJlc3NlZCk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuU2VhcmNoUmVzdWx0c1BhbmUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNl
YXJjaFJlc3VsdHNQYW5lKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hS
ZXN1bHRzUGFuZS5wcm90b3R5cGUuYWRkU2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX2ZpbGVUcmVlRWxlbWVu
dEV4cGFuZGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRz
UGFuZS5wcm90b3R5cGUuX2FwcGVuZFNlYXJjaE1hdGNoZXMpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5fYXBwZW5kU2hvd01vcmVN
YXRjaGVzRWxlbWVudCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZUJhc2VkU2VhcmNoUmVz
dWx0c1BhbmUucHJvdG90eXBlLl9zaG93TW9yZU1hdGNoZXNFbGVtZW50U2VsZWN0ZWQpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5f
YWRkRmlsZVRyZWVFbGVtZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFy
Y2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX3JlZ2V4TWF0Y2hSYW5nZXMpOgotICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdl
ci5wcm90b3R5cGUuaGlkZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c3RhdHVzYmFyQnV0dG9uR2x5cGhzLnBuZzoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNTZWFyY2hTY29wZS5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzU2Vh
cmNoU2NvcGUpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZS5wcm90
b3R5cGUucGVyZm9ybVNlYXJjaC5maWx0ZXJPdXRDb250ZW50U2NyaXB0cyk6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuU2NyaXB0c1NlYXJjaFNjb3BlLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoLmNv
bnRpbnVlU2VhcmNoKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoU2NvcGUu
cHJvdG90eXBlLnBlcmZvcm1TZWFyY2guc2VhcmNoQ2FsbGJhY2tXcmFwcGVyKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoU2NvcGUucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZS5wcm90b3R5cGUuc3Rv
cFNlYXJjaCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLl9yZWdpc3Rl
clNob3J0Y3V0cyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
OgotICAgICAgICAoI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1pdGVtKToK
LSAgICAgICAgKCNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSk6
Ci0gICAgICAgICgjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNz
KToKLSAgICAgICAgKCNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItc3RvcC1i
dXR0b24taXRlbSk6Ci0gICAgICAgICgjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMt
YmFyLXN0b3AtYnV0dG9uIC5nbHlwaCk6Ci0gICAgICAgICgjZHJhd2VyLXN0YXR1cy1iYXIgLnNl
YXJjaC1yZXN1bHRzLXN0YXR1cy1iYXItbWVzc2FnZSk6Ci0gICAgICAgICguc2VhcmNoLXZpZXcg
LnNlYXJjaC1yZXN1bHRzKToKLSAgICAgICAgKCNzZWFyY2gtcmVzdWx0cy1wYW5lLWZpbGUtYmFz
ZWQgLnNlYXJjaC1yZXN1bHRzLW91dGxpbmUtZGlzY2xvc3VyZSk6Ci0gICAgICAgICgjc2VhcmNo
LXJlc3VsdHMtcGFuZS1maWxlLWJhc2VkIC5zZWFyY2gtcmVzdWx0KToKLSAgICAgICAgKCNzZWFy
Y2gtcmVzdWx0cy1wYW5lLWZpbGUtYmFzZWQgLnNlYXJjaC1yZXN1bHQ6aG92ZXIpOgotICAgICAg
ICAoI3NlYXJjaC1yZXN1bHRzLXBhbmUtZmlsZS1iYXNlZCAuc2hvdy1tb3JlLW1hdGNoZXMpOgot
ICAgICAgICAoI3NlYXJjaC1yZXN1bHRzLXBhbmUtZmlsZS1iYXNlZCAuc2hvdy1tb3JlLW1hdGNo
ZXM6aG92ZXIpOgotICAgICAgICAoI3NlYXJjaC1yZXN1bHRzLXBhbmUtZmlsZS1iYXNlZCAuc2Vh
cmNoLW1hdGNoOmhvdmVyKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGll
cy5qczoKLSAgICAgICAgKCk6Ci0KLTIwMTEtMTAtMjAgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xl
LmNvbT4KLQotICAgICAgICBJbXBsZW1lbnQgbWVjaGFuaXNtIHRvIGVuYWJsZSBwcml2aWxlZ2Vk
IHdlYmdsIGV4dGVuc2lvbnMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwNTM4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgotCi0g
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6YWxsb3dQcml2aWxlZ2VkRXh0ZW5zaW9u
cyk6IGNoZWNrIHBhZ2UvU2V0dGluZ3MgZmxhZy4KLSAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNw
cDogQWRkIHRoZSBmbGFnLgotICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToK
LSAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRQcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25z
RW5hYmxlZCk6Ci0gICAgICAgICogcGFnZS9TZXR0aW5ncy5oOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OlNldHRpbmdzOjpwcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCk6Ci0KLTIw
MTEtMTAtMjAgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgV2ViIEluc3BlY3RvcjogZmlyc3QgbGluZSBpbiBmaWxlIGlzIG5vdCBoaWdobGlnaHRl
ZC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTA0
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291
cmNlRnJhbWUucHJvdG90eXBlLl9pbml0aWFsaXplVGV4dFZpZXdlcik6Ci0KLTIwMTEtMTAtMjEg
IEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgotCi0gICAgICAgIFNpbXBsaWZ5IENT
U1N0eWxlUnVsZTo6c2V0U2VsZWN0b3JUZXh0KCkuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwNwotCi0gICAgICAgIFJldmlld2VkIGJ5IEFudHRp
IEtvaXZpc3RvLgotCi0gICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBpc0NTU1N0eWxlU2hlZXQo
KSBjaGVjayBhbmQgcmVkdW5kYW50IERvY3VtZW50IGZpbmRpbmcKLSAgICAgICAgbG9naWMgKENT
U1N0eWxlU2hlZXQ6OmRvY3VtZW50KCkgd2lsbCByZXR1cm4gdGhlIG93bmVyIG5vZGUncyBEb2N1
bWVudCBqdXN0Ci0gICAgICAgIGxpa2UgdGhpcyBjb2RlIHdvdWxkLikKLQotICAgICAgICAqIGNz
cy9DU1NTdHlsZVJ1bGUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpzZXRT
ZWxlY3RvclRleHQpOgotCi0yMDExLTEwLTIxICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBp
Z2FsaWEuY29tPgotCi0gICAgICAgIFtjYWlyb10gRm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBHcmFw
aGljc0NvbnRleHRTdGF0ZSB1c2VzIGNsYXNzIGluc3RlYWQgb2Ygc3RydWN0Ci0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUyMgotCi0gICAgICAgIFRo
ZSB0eXBlIGlzIGEgc3RydWN0IG5vdCBhIGNsYXNzLCByZXBsYWNlIHRoZSBkZWZpbml0aW9uIGlu
IHRoZQotICAgICAgICBmb3J3YXJkIGRlY2xhcmF0aW9uLgotCi0gICAgICAgIFJldmlld2VkIGJ5
IE1hcnRpbiBSb2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Bs
YXRmb3JtQ29udGV4dENhaXJvLmg6Ci0KLTIwMTEtMTAtMjAgIEFuZHJleSBLb3N5YWtvdiAgPGNh
c2VxQGNocm9taXVtLm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBtYWtlIGV4dGVuc2lv
biB0ZXN0cyBwYXNzIG9uIGNocm9taXVtCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDMzNAotCi0gICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qczoKLSAg
ICAgICAgKGJ1aWxkRXh0ZW5zaW9uQVBJSW5qZWN0ZWRTY3JpcHQpOgotCi0yMDExLTEwLTIwICBQ
ZXRlciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVj
dG9yOiByZWltcGxlbWVudCBwcm90b2NvbCBiYWNrZW5kL2Zyb250ZW5kIHNvdXJjZSBnZW5lcmF0
b3IKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjk1
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICBPbGQgMi1z
dGFnZSBweXRob24rcGVyZiBnZW5lcmF0b3IgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBJREwgb3V0
cHV0IGlzCi0gICAgICAgIGJlaW5nIHJlcGxhY2VkIHdpdGggYSBzb2xpZCBweXRob24gc2NyaXB0
LiBUaGlzIGlzIGZvciBzaW1wbGljaXR5IGFuZAotICAgICAgICBhcyBhIGJhc2UgZm9yIHRoZSBm
dXR1cmUgSlNPTiB2YWxpZGF0b3IuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKLSAgICAg
ICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6Ci0gICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
LSAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cDoKLSAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbTogUmVt
b3ZlZC4KLSAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weTogQWRk
ZWQuCi0gICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgotICAgICAgICAqIGluc3Bl
Y3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsOiBSZW1vdmVkLgotCi0yMDExLTEwLTIwICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQXR0ZW1wIHRvIGZpeCBhIGJ1
bmNoIG9mIHRlc3RzIFBMQVRGT1JNKE1BQykuICBXZSBjYW4ndCB1c2UgYSBzdGF0aWMKLSAgICAg
ICAgbWFwIGJlY2F1c2UgdGhhdCdzIHNoYXJlZCBiZXR3ZWVuIHRocmVhZHMgKGFuZCBldmVudHMg
ZXhpc3QgaW4gd29ya2VyCi0gICAgICAgIHRocmVhZHMpLiAgSXQgbWlnaCBiZSBiZXR0ZXIgdG8g
YWRkIGEgdGhyZWFkLXNwZWNpZmljIG1hcCwgYnV0IHdlIGNhbgotICAgICAgICBkbyB0aGF0IGlu
IGFub3RoZXIgcGF0Y2guCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEV2ZW50Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgotCi0yMDExLTEw
LTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgotCi0gICAgICAgIEhp
ZGRlbiBjb21wb3NpdGVkIGlmcmFtZXMgY2F1c2UgaW5maW5pdGUgbG9vcAotICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI2NTUKLQotICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KLSAgICAgICAgCi0gICAgICAgIHZpc2liaWxpdHk6aGlkZGVu
IGlzIHByb2JsZW1hdGljIGZvciBjb21wb3NpdGluZywgYmVjYXVzZSBpdCBjYXVzZXMKLSAgICAg
ICAgUmVuZGVyTGF5ZXJzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgei1vcmRlciBsYXllciB0cmVl
LiBUaGlzIGNvbmZ1c2VzCi0gICAgICAgIFJlbmRlckxheWVyQ29tcG9zaXRvciBpbiBzZXZlcmFs
IHdheXM7IGl0IG5ldmVyIHNlZXMgdGhlc2UgbGF5ZXJzCi0gICAgICAgIHdoZW4gdHJhdmVyc2lu
ZyB0aGUgdHJlZSBhcyBpdCBjb21wdXRlcyBjb21wb3NpdGluZyByZXF1aXJlbWVudHMsIG9yCi0g
ICAgICAgIHJlYnVpbGRzIHRoZSBsYXllciB0cmVlLgotICAgICAgICAKLSAgICAgICAgVGhpcyBp
cyBhIHBhcnRpY3VsYXIgcHJvYmxlbSB3aXRoIGNvbXBvc2l0ZWQgaWZyYW1lcy4gV2hlbiBhbiBp
ZnJhbWUKLSAgICAgICAgYmVjb21lcyBjb21wb3NpdGVkLCBzY2hlZHVsZVNldE5lZWRzU3R5bGVS
ZWNhbGMoKSBpcyBjYWxsZWQgb24gdGhhdAotICAgICAgICBpZnJhbWUncyBvd25lckVsZW1lbnQg
aW4gdGhlIHBhcmVudCBkb2N1bWVudC4gSWYgdGhpcyBoYXBwZW5zIGluc2lkZQotICAgICAgICBE
b2N1bWVudDo6dXBkYXRlU3R5bGVGb3JBbGxEb2N1bWVudHMoKSwgd2UgZ2V0IGludG8gYW4gaW5m
aW5pdGUgbG9vcAotICAgICAgICBiZWNhdXNlIG5vdGlmeUlGcmFtZXNPZkNvbXBvc2l0aW5nQ2hh
bmdlKCkgcXVldWVzIHVwIHN0eWxlIHVwZGF0ZSBhcyB3ZQotICAgICAgICBib3VuY2UgaW4gYW5k
IG91dCBvZiBjb21wb3NpdGluZyBtb2RlLCBzbyBkb2N1bWVudHNUaGF0TmVlZFN0eWxlUmVjYWxj
Ci0gICAgICAgIG5ldmVyIGVtcHRpZXMgb3V0LgotICAgICAgICAKLSAgICAgICAgVGhpcyBpcyBh
biBpbml0aWFsLCBjb25zZXJ2YXRpdmUgZml4IHRoYXQgZG9lc24ndCBhdHRlbXB0IHRvIGZpeCBh
bGwKLSAgICAgICAgdGhlIGlzc3VlcyB3aXRoIHZpc2liaWxpdHkuIEl0IGNoYW5nZXMgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yIHRvIGNvdW50Ci0gICAgICAgIHRoZSBudW1iZXIgb2YgY29tcG9zaXRp
bmcgUmVuZGVyTGF5ZXJzLCBhbmQgdG8gbm90IGxlYXZlIGNvbXBvc2l0aW5nCi0gICAgICAgIG1v
ZGUgaWYgdGhlcmUgYXJlIGFueSAoZXZlbiBpZiB0aGV5IGFyZSBoaWRkZW4sIHNvIG5vdCBoaXQg
d2hpbGUKLSAgICAgICAgdHJhdmVyc2luZyB0aGUgei1vcmRlciB0cmVlKS4gVGhpcyBhdm9pZHMg
dGhlIGluZmluaXRlIGxvb3AuCi0KLSAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvdmlzaWJpbGl0
eS9oaWRkZW4taWZyYW1lLmh0bWwKLQotICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZW5zdXJlQmFja2luZyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2xlYXJCYWNraW5nKToKLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yKToKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6aGFzQW55QWRkaXRpb25hbENvbXBvc2l0ZWRMYXll
cnMpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21w
b3NpdGluZ0xheWVycyk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6Ci0gICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpsYXllckJlY2FtZUNvbXBvc2l0ZWQpOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpsYXllckJlY2FtZU5vbkNvbXBvc2l0ZWQpOgotCi0yMDExLTEwLTIw
ICBBbnRvaW5lIExhYm91ciAgPHBpbWFuQGNocm9taXVtLm9yZz4KLQotICAgICAgICBNYWtlIFdl
YkNvcmUgZGVwZW5kIG9uIHRyYW5zbGF0b3JfZ2xzbCBpbnN0ZWFkIG9mIHRyYW5zbGF0b3JfY29t
bW9uCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0
OAotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KLQotICAgICAgICBUaGlz
IGlzIGEgYnVpbGQtb25seSBmaXguIFRlc3RlZCBieSBjaGVja2luZyBXZWJLaXQgc3RpbGwgY29t
cGlsZXMgYW5kCi0gICAgICAgIGxpbmsuCi0KLSAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cDoKLQotMjAxMS0xMC0yMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4K
LQotICAgICAgICBbQ2hyb21pdW1dIEZpeCBvcGFxdWUgZmxhZyBkZWZhdWx0IGFuZCBmb3IgSW1h
Z2VMYXllckNocm9taXVtCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDU1NAotCi0gICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgotCi0g
ICAgICAgIENvdmVyZWQgYnkgbGF5b3V0IHRlc3RzLgotCi0gICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkltYWdlTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHMpOiBTZXQgb3BhcXVlIGZsYWcgYmFzZWQg
b24gaWYgdGhlIGltYWdlIGNsYWltcyB0byBoYXZlIGFscGhhLgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6
TGF5ZXJDaHJvbWl1bTo6TGF5ZXJDaHJvbWl1bSk6IE1hdGNoIHRoZSBkZWZhdWx0IG9wYXF1ZSB2
YWx1ZSBpbiBHcmFwaGljc0xheWVyQ2hyb21pdW0uCi0KLTIwMTEtMTAtMjAgIFlvc2lmdW1pIElu
b3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtGb3Jtc11bRmlsZV0gQWRkIHRv
b2x0aXAgdG8gIk5vIGZpbGUgc2VsZWN0ZWQiIHRleHQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDc0Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
dCBUYW11cmEuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLiBFeGlzdGluZyB0ZXN0cyBjb3ZlciBh
bGwgY2hhbmdlcy4KLQotICAgICAgICBUaGlzIHBhdGNoIHByb3ZpZGVzIHRvb2x0aXAgZm9yIHRl
eHQgcG9ydGlvbiBvZiB1cGxvYWQgZmlsZSBjb250cm9sCi0gICAgICAgIHRlbGwgdXNlcnMgdG8g
a25vdyBhY3R1YWwgdGV4dCBvZiB0cnVuY2F0ZWQgdGV4dCBvZiBmaWxlIG5hbWUgYW5kCi0gICAg
ICAgICJObyBmaWxlIHNlbGVjdGVkIiB0ZXh0LiBUb29sdGlwIGlzIGFsd2F5cyBkaXNwbGF5ZWQg
ZXZlbiBpZiB1c2VyCi0gICAgICAgIHNlbGVjdCBvbmx5IG9uZSBmaWxlIGZvciB0cnVuY2F0ZWQg
ZGlzcGxheWVkIGZpbGUgbmFtZS4KLQotICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpkZWZhdWx0VG9vbFRpcCk6IEltcGxl
bWVudCBkZWZhdWx0IHRvb2x0aXAgbG9naWMuCi0gICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBl
Lmg6IGRlY2xhcmF0aW9uIG9mIG5ldyBtZXRob2QgZGVmYXVsdFRvb2xUaXAuCi0gICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmRlZmF1bHRUb29sVGlwKTogSW1wZWxlbWVudCBuZXcgbWV0aG9kIGRlZmF1bHRUb29s
VGlwLgotICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOiBkZWNsYXJhdGlvbiBvZiBu
ZXcgbWV0aG9kIGRlZmF1bHRUb29sVGlwLgotICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoK
LSAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6ZGVmYXVsdFRvb2xUaXApOiBJbXBsZW1lbnQg
ZGVmYXVsdCBtZXRob2Qgb2YgZGVmYXVsdFRvb2xUaXAgbWV0aG9kLgotICAgICAgICAqIGh0bWwv
SW5wdXRUeXBlLmg6IGRlY2xhcmF0aW9uIG9mIG5ldyBtZXRob2QgZGVmYXVsdFRvb2xUaXAuCi0g
ICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzZXRU
b29sVGlwKTogVXNlIG5ldyBtZXRob2QgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdFRvb2xUaXAg
YW5kIG1vdmUgZGVmYXVsdCB0b29sdGlwIGxvZ2ljIHRvIEZpbGVJbnB1dFR5cGU6OmRlZmF1bHRU
b29sVGlwIG1ldGhvZC4KLQotMjAxMS0xMC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+Ci0KLSAgICAgICAgUmVtb3ZlIE9wdGlvbkVsZW1lbnQgKGZpcnN0IGhhbGYpCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3NgotCi0gICAgICAg
IFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgotCi0gICAgICAgIFJlZmFjdG9yaW5nIHRoYXQgZG9l
cyBub3QgcmVxdWlyZSBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rv
cik6IFVzZSBoYXNUYWdOYW1lCi0gICAgICAgIGFuZCB0b0hUTUxPcHRpb25FbGVtZW50IGluc3Rl
YWQgb2YgdG9PcHRpb25FbGVtZW50LgotCi0gICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3Bw
OiBEZWxldGVkIGNvbnRlbnRzLiBSZW1vdmUgZmlsZSBsYXRlci4KLSAgICAgICAgKiBkb20vT3B0
aW9uRWxlbWVudC5oOiBEaXR0by4KLQotICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OkhUTUxPcHRpb25FbGVt
ZW50KTogSW5pdGlhbGl6ZSBtX2lzU2VsZWN0ZWQuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0
aW9uRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcik6IEluaXRpYWxpemUgdGhlCi0gICAg
ICAgIHNlbGVjdGVkIGF0dHJpYnV0ZSByYXRoZXIgdGhhbiBjYWxsaW5nIHNldERlZmF1bHRTZWxl
Y3RlZC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50Ojp0ZXh0KTogTW92ZWQg
dGhlIGNvZGUgaGVyZSBmcm9tCi0gICAgICAgIE9wdGlvbkVsZW1lbnQ6OmNvbGxlY3RPcHRpb25M
YWJlbE9yVGV4dC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjppbmRleCk6
IE1vdmVkIHRoZSBjb2RlIGhlcmUgZnJvbQotICAgICAgICBPcHRpb25FbGVtZW50OjpvcHRpb25J
bmRleC4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZSk6IFJlbW92ZWQgdW5uZWVkZWQKLSAgICAgICAgY29kZSB0byBjYWxsIHNldFZhbHVl
IGFuZCBzZXRMYWJlbC4gQ2hhbmdlZCB0aGUgY29kZSB0aGF0IGNhbGxlZAotICAgICAgICBzZXRT
ZWxlY3RlZCB0byBpbnN0ZWFkIHNldCBtX2lzU2VsZWN0ZWQgYW5kIGFkZGVkIGEgRklYTUUgYWJv
dXQgd2h5Ci0gICAgICAgIHRoYXQncyBwcm9iYWJseSB3cm9uZywgYnV0IHNhbWUgYmVoYXZpb3Ig
YXMgYmVmb3JlLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OnZhbHVlKTog
TW92ZWQgdGhlIGNvZGUgaGVyZSBmcm9tCi0gICAgICAgIE9wdGlvbkVsZW1lbnQ6OmNvbGxlY3RP
cHRpb25WYWx1ZS4gQWRkZWQgYSBGSVhNRSBhYm91dCBpbmNvcnJlY3QKLSAgICAgICAgd2hpdGVz
cGFjZSBzdHJpcHBpbmcuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6c2Vs
ZWN0ZWQpOiBVc2UgbV9pc1NlbGVjdGVkLgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVs
ZW1lbnQ6OnNldFNlbGVjdGVkKTogVXNlIG1faXNTZWxlY3RlZCBhbmQKLSAgICAgICAgY2FsbCBz
ZXRTZWxlY3RlZFN0YXRlIGluc3RlYWQgb2YgT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0
ZS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRl
KTogTW92ZWQgdGhlIGNvZGUKLSAgICAgICAgaGVyZSBmcm9tIE9wdGlvbkVsZW1lbnQ6OnNldFNl
bGVjdGVkU3RhdGUuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwp
OiBTdHJlYW1saW5lZCB0aGUgY29kZS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVt
ZW50Ojp0ZXh0SW5kZW50ZWRUb1Jlc3BlY3RHcm91cExhYmVsKToKLSAgICAgICAgTW92ZWQgdGhl
IGNvZGUgaGVyZSBmcm9tIE9wdGlvbkVsZW1lbnQ6OmNvbGxlY3RPcHRpb25UZXh0UmVzcGVjdGlu
Z0dyb3VwTGFiZWwuCi0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6aW5zZXJ0
ZWRJbnRvVHJlZSk6IFVzZSBtX2lzU2VsZWN0ZWQKLSAgICAgICAgYW5kIHJld3JvdGUgY29tbWVu
dCBmb3IgY2xhcml0eS4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50Ojpjb2xs
ZWN0T3B0aW9uSW5uZXJUZXh0KTogTW92ZWQgdGhpcwotICAgICAgICBoZXJlIGZyb20gT3B0aW9u
RWxlbWVudCwgYW5kIGNoYW5nZWQgdG8gdXNlIFN0cmluZ0J1aWxkZXIuCi0gICAgICAgIChXZWJD
b3JlOjp0b0hUTUxPcHRpb25FbGVtZW50KTogQWRkZWQuCi0KLSAgICAgICAgKiBodG1sL0hUTUxP
cHRpb25FbGVtZW50Lmg6IFJlbW92ZWQgT3B0aW9uRWxlbWVudC5oIGluY2x1ZGUuCi0gICAgICAg
IFJlbW92ZWQgT3B0aW9uRWxlbWVudCBiYXNlIGNsYXNzLiBSZW1vdmVkIHVubmVlZGVkIGZyaWVu
ZCBkZWNsYXJhdGlvbnMuCi0gICAgICAgIE1hZGUgdmFsdWUgYW5kIHNlbGVjdGVkIGZ1bmN0aW9u
cyBub24tdmlydHVhbC4gUmVtb3ZlZCB1bm5lZWRlZAotICAgICAgICBkZWZhdWx0U2VsZWN0ZWQg
YW5kIHNldERlZmF1bHRTZWxlY3RlZCBmdW5jdGlvbnMuIE1hZGUgdGhlCi0gICAgICAgIHRleHRJ
bmRlbnRlZFRvUmVzcGVjdEdyb3VwTGFiZWwgYW5kIHNldFNlbGVjdGVkU3RhdGUgZnVuY3Rpb25z
Ci0gICAgICAgIGJlIG5vbi12aXJ0dWFsIGFuZCBwdWJsaWMuIEFkZGVkIGEgY29sbGVjdE9wdGlv
bklubmVyVGV4dCBmdW5jdGlvbi4KLSAgICAgICAgUmVwbGFjZWQgbV9kYXRhIHdpdGggbV92YWx1
ZSwgbV9sYWJlbCwgYW5kIG1fc2VsZWN0ZWQuCi0KLSAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvT3B0aW9uRWxlbWVudCk6IEFkZGVkLiBI
ZWxwZXIgdG8ga2VlcCBleGlzdGluZyBjb2RlCi0gICAgICAgIGNsb3NlIHRvIHRoZSBzYW1lLgot
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRWYWxpZEluZGV4KTogVXNl
IGhhc1RhZ05hbWUKLSAgICAgICAgaW5zdGVhZCBvZiBpc09wdGlvbkVsZW1lbnQuCi0gICAgICAg
IChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2F2ZUxhc3RTZWxlY3Rpb24pOiBVc2UgSFRN
TE9wdGlvbkVsZW1lbnQKLSAgICAgICAgdHlwZSBpbnN0ZWFkIG9mIE9wdGlvbkVsZW1lbnQuCi0g
ICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2V0QWN0aXZlU2VsZWN0aW9uQW5j
aG9ySW5kZXgpOiBEaXR0by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojp1
cGRhdGVMaXN0Qm94U2VsZWN0aW9uKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2Vs
ZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6cmVjYWxjTGlzdEl0ZW1zKTogRGl0dG8uCi0gICAgICAgIChXZWJD
b3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRJbmRleCk6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXgpOiBEaXR0by4KLSAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpvcHRpb25Ub0xpc3RJbmRleCk6IERp
dHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RUb09wdGlvbklu
ZGV4KTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6ZGVzZWxl
Y3RJdGVtc1dpdGhvdXRWYWxpZGF0aW9uKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1M
U2VsZWN0RWxlbWVudDo6c2F2ZUZvcm1Db250cm9sU3RhdGUpOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSk6IERpdHRv
LgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKTog
RGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVzZXQpOiBEaXR0
by4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojp1cGRhdGVTZWxlY3RlZFN0
YXRlKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGFzdFNl
bGVjdGVkTGlzdEluZGV4KTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxl
bWVudDo6dHlwZUFoZWFkRmluZCk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OmFjY2Vzc0tleVNldFNlbGVjdGVkSW5kZXgpOiBEaXR0by4KLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpsZW5ndGgpOiBEaXR0by4KLQotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RC
b3g6OnVwZGF0ZUZyb21FbGVtZW50KTogVXNlIEhUTUxPcHRpb25FbGVtZW50LAotICAgICAgICBo
YXNUYWdOYW1lLCBhbmQgdG9IVE1MT3B0aW9uRWxlbWVudC4KLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxpc3RCb3g6OmFkZEZvY3VzUmluZ1JlY3RzKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKTogRGl0dG8uCi0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1CYWNrZ3JvdW5kKTogRGl0dG8uCi0gICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgpOiBEaXR0by4KLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1lbnVMaXN0OjpzZXRUZXh0RnJvbU9wdGlvbik6IERpdHRvLgotICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6Oml0ZW1UZXh0KTogRGl0dG8uCi0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNZW51TGlzdDo6aXRlbUlzU2VsZWN0ZWQpOiBEaXR0by4KLQotMjAxMS0xMC0y
MCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEF0dGVtcHQgdG8g
Zml4IGNyYXNoIGZvciBpbmZpbml0ZSByZWN1cnNpb24uCi0KLSAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhFdmVudEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjp0b1Y4KToKLQot
MjAxMS0xMC0yMCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KLQotICAgICAg
ICBTdGlsbCBsb3RzIG9mIGNyYXNoZXMgaW4gdGhlIGNocm9taXVtIGRlYnVnIGJvdHMuCi0KLSAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk3OTgyLgotICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC85Nzk4MgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMjgKLQotICAgICAgICBjcmFzaGluZyBpbiBhc3NlcnRz
IGluIGNocm9taXVtIGRlYnVnIGJ1aWxkcwotCi0gICAgICAgICogZG9tL0RldmljZU1vdGlvbkNv
bnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6
dGltZXJGaXJlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjph
ZGRMaXN0ZW5lcik6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpy
ZW1vdmVMaXN0ZW5lcik6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVy
OjpyZW1vdmVBbGxMaXN0ZW5lcnMpOgotICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25Db250cm9s
bGVyLmg6Ci0gICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHA6Ci0g
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oOgotICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6Ci0gICAgICAgICogZG9tL0RvY3VtZW50Lmg6Ci0gICAgICAgICogZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKLSAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ29u
dHJvbGxlci5jcHA6Ci0gICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaDoKLQot
MjAxMS0xMC0yMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEF0
dGVtcHQgdG8gZml4IHRoZSBHVEsgYnVpbGQuCi0KLSAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToK
LQotMjAxMS0xMC0yMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAg
IENsb3NlRXZlbnQuaWRsIGlzbid0IGNvbmRpdGlvbmFsIG9uIFdlYlNvY2tldHMuCi0KLSAgICAg
ICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgotCi0yMDExLTEwLTIwICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgRXZlbnQuaCBzaG91bGRuJ3QgbmVlZCB0byBrbm93
IGFib3V0IGV2ZXJ5IGlmZGVmIGFuZCBmZWF0dXJlIHRoYXQgdXNlcyBldmVudHMKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDgzCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCi0KLSAgICAgICAgVGhpcyBwYXRjaCBleHBhbmRzIG1h
a2VfZXZlbnRfZmFjdG9yeS5wbCB0byBjcmVhdGUgYQotICAgICAgICBET01fRVZFTlRfSU5URVJG
QUNFU19GT1JfRUFDSCBtYWNybyB0aGF0IHdlIGNhbiB1c2UgdG8gZ2VuZXJhdGUgY29kZQotICAg
ICAgICBmb3IgZWFjaCBFdmVudCBpbnRlcmZhY2UuICBXZSB0aGVuIGFwcGx5IHRoYXQgbWFjcm8g
dG8gcmVtb3ZpbmcgYSBsYXJnZQotICAgICAgICBudW1iZXIgb2YgdmlydHVhbCBmdW5jdGlvbnMg
b24gRXZlbnQuICBJbnN0ZWFkIG9mIGhhdmluZyBhIEJvb2xlYW4KLSAgICAgICAgdmlydHVhbCBm
dW5jdGlvbiBmb3IgZWFjaCBzdWJjbGFzcyBvZiBFdmVudCwgd2UgaGF2ZSBhIHNpbmdsZSB2aXJ0
dWFsCi0gICAgICAgIGludGVyZmFjZU5hbWUgZnVuY3Rpb24sIHdoaWNoIHJldHVybnMgYW4gQXRv
bWljU3RyaW5nLiAgV2UgdGhlbiB1c2UgdGhlCi0gICAgICAgIEF0b21pY1N0cmluZyB0byBqdW1w
IHRocm91Z2ggYSBIYXNoTWFwIHRvIGZpbmQgdGhlIGFwcHJvcHJpYXRlCi0gICAgICAgIEphdmFT
Y3JpcHQgd3JhcHBlciB0eXBlLgotCi0gICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBub3QgcmVtb3Zl
IGFsbCBvZiB0aGUgQm9vbGVhbiB2aXJ0dWFsIGZ1bmN0aW9ucyBiZWNhdXNlCi0gICAgICAgIEkg
Z290IGV4aGF1c3RlZCBtYWtpbmcgYWxsIG9mIHRoZXNlIGVkaXRzLCBidXQgSSBkaWQgcmVtb3Zl
IGFsbCB0aGUKLSAgICAgICAgb25lcyB0aGF0IGludm9sdmUgaWZkZWZzLiAgQSBmdXR1cmUgcGF0
Y2ggd2lsbCByZW1vdmUgbW9yZS4KLQotICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKLSAg
ICAgICAgKFdlYkNvcmU6OnRvSlMpOgotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2
ZW50Q3VzdG9tLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgotICAgICAgICAqIGRvbS9C
ZWZvcmVMb2FkRXZlbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkJlZm9yZUxvYWRFdmVudDo6aW50
ZXJmYWNlTmFtZSk6Ci0gICAgICAgIChXZWJDb3JlOjpCZWZvcmVMb2FkRXZlbnQ6OmlzQmVmb3Jl
TG9hZEV2ZW50KToKLSAgICAgICAgKiBkb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6QmVmb3JlVGV4dEluc2VydGVkRXZlbnQ6OmludGVyZmFjZU5hbWUp
OgotICAgICAgICAqIGRvbS9CZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOgotICAgICAgICAqIGRv
bS9DbGlwYm9hcmRFdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRFdmVudDo6
aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL0NsaXBib2FyZEV2ZW50Lmg6Ci0gICAgICAg
ICogZG9tL0NvbXBvc2l0aW9uRXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRp
b25FdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL0NvbXBvc2l0aW9uRXZlbnQu
aDoKLSAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q3Vz
dG9tRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5oOgot
ICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL0RldmljZU1v
dGlvbkV2ZW50Lmg6Ci0gICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW50ZXJmYWNlTmFtZSk6
Ci0gICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaDoKLSAgICAgICAgKiBkb20v
RXJyb3JFdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpFcnJvckV2ZW50OjppbnRlcmZhY2VO
YW1lKToKLSAgICAgICAgKiBkb20vRXJyb3JFdmVudC5oOgotICAgICAgICAqIGRvbS9FdmVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICog
ZG9tL0V2ZW50Lmg6Ci0gICAgICAgICogZG9tL0V2ZW50TmFtZXMuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6RXZlbnROYW1lczo6RXZlbnROYW1lcyk6Ci0gICAgICAgICogZG9tL0V2ZW50TmFtZXMu
aDoKLSAgICAgICAgKiBkb20vSGFzaENoYW5nZUV2ZW50Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpI
YXNoQ2hhbmdlRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIGRvbS9LZXlib2FyZEV2
ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OktleWJvYXJkRXZlbnQ6OmludGVyZmFjZU5hbWUp
OgotICAgICAgICAqIGRvbS9LZXlib2FyZEV2ZW50Lmg6Ci0gICAgICAgICogZG9tL01lc3NhZ2VF
dmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlRXZlbnQ6OmludGVyZmFjZU5hbWUp
OgotICAgICAgICAqIGRvbS9NZXNzYWdlRXZlbnQuaDoKLSAgICAgICAgKiBkb20vTW91c2VFdmVu
dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNb3VzZUV2ZW50OjppbnRlcmZhY2VOYW1lKToKLSAg
ICAgICAgKiBkb20vTW91c2VFdmVudC5oOgotICAgICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50LmNw
cDoKLSAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAg
ICAgICAqIGRvbS9NdXRhdGlvbkV2ZW50Lmg6Ci0gICAgICAgICogZG9tL092ZXJmbG93RXZlbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6T3ZlcmZsb3dFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0g
ICAgICAgICogZG9tL092ZXJmbG93RXZlbnQuaDoKLSAgICAgICAgKiBkb20vUGFnZVRyYW5zaXRp
b25FdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpQYWdlVHJhbnNpdGlvbkV2ZW50OjppbnRl
cmZhY2VOYW1lKToKLSAgICAgICAgKiBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5oOgotICAgICAg
ICAqIGRvbS9Qb3BTdGF0ZUV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlBvcFN0YXRlRXZl
bnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50Lmg6Ci0gICAg
ICAgICogZG9tL1Byb2dyZXNzRXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NF
dmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL1Byb2dyZXNzRXZlbnQuaDoKLSAg
ICAgICAgKiBkb20vVGV4dEV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRleHRFdmVudDo6
aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL1RleHRFdmVudC5oOgotICAgICAgICAqIGRv
bS9Ub3VjaEV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlRvdWNoRXZlbnQ6OmludGVyZmFj
ZU5hbWUpOgotICAgICAgICAqIGRvbS9Ub3VjaEV2ZW50Lmg6Ci0gICAgICAgICogZG9tL1VJRXZl
bnQuaDoKLSAgICAgICAgKiBkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0QW5pbWF0aW9uRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAq
IGRvbS9XZWJLaXRBbmltYXRpb25FdmVudC5oOgotICAgICAgICAqIGRvbS9XZWJLaXRUcmFuc2l0
aW9uRXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2ViS2l0VHJhbnNpdGlvbkV2ZW50Ojpp
bnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmg6Ci0g
ICAgICAgICogZG9tL1doZWVsRXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVu
dDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogZG9tL1doZWVsRXZlbnQuaDoKLSAgICAgICAg
KiBkb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsOgotICAgICAgICAocHJpbnRGYWN0b3J5RmlsZSk6
Ci0gICAgICAgIChwcmludE1hY3JvRmlsZSk6Ci0gICAgICAgIChwcmludEhlYWRlcnNGaWxlKToK
LSAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHA6Ci0gICAgICAgIChX
ZWJDb3JlOjpXZWJHTENvbnRleHRFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaDoKLSAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZTo6aGFuZGxlRXZlbnQpOgotICAgICAgICAqIHAycC9NZWRpYVN0cmVh
bUV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtRXZlbnQ6OmludGVyZmFj
ZU5hbWUpOgotICAgICAgICAqIHAycC9NZWRpYVN0cmVhbUV2ZW50Lmg6Ci0gICAgICAgICogcGFn
ZS9TcGVlY2hJbnB1dEV2ZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlNwZWVjaElucHV0RXZl
bnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHBhZ2UvU3BlZWNoSW5wdXRFdmVudC5oOgot
ICAgICAgICAqIHN0b3JhZ2UvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcDoKLSAgICAgICAgKFdl
YkNvcmU6OklEQlZlcnNpb25DaGFuZ2VFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICog
c3RvcmFnZS9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuaDoKLSAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VFdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTdG9yYWdlRXZlbnQ6OmludGVyZmFjZU5h
bWUpOgotICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50Lmg6Ci0gICAgICAgICogc3ZnL1NW
R1pvb21FdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTVkdab29tRXZlbnQ6OmludGVyZmFj
ZU5hbWUpOgotICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuaDoKLSAgICAgICAgKiB3ZWJhdWRp
by9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nl
c3NpbmdFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0gICAgICAgICogd2ViYXVkaW8vQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQuaDoKLSAgICAgICAgKiB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9u
RXZlbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50
OjppbnRlcmZhY2VOYW1lKToKLSAgICAgICAgKiB3ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0
aW9uRXZlbnQuaDoKLSAgICAgICAgKiB3ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaDoKLSAgICAgICAg
KFdlYkNvcmU6OkNsb3NlRXZlbnQ6OmludGVyZmFjZU5hbWUpOgotICAgICAgICAqIHhtbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudDo6aW50ZXJmYWNlTmFtZSk6Ci0KLTIwMTEtMTAtMjAgIE5hdCBEdWNh
ICA8bmR1Y2FAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1bV0gUm91dGUgb25Td2Fw
QnVmZmVyc0NvbXBsZXRlIGZyb20gTGF5ZXJSZW5kZXJlciB0byBDQ1NjaGVkdWxlci4KLQotICAg
ICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KLQotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpMYXllclJlbmRlcmVyU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjo6Y3Jl
YXRlKToKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJTd2FwQnVmZmVyc0NvbXBsZXRl
Q2FsbGJhY2tBZGFwdGVyOjp+TGF5ZXJSZW5kZXJlclN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFj
a0FkYXB0ZXIpOgotICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlclN3YXBCdWZmZXJzQ29t
cGxldGVDYWxsYmFja0FkYXB0ZXI6Om9uU3dhcEJ1ZmZlcnNDb21wbGV0ZSk6Ci0gICAgICAgIChX
ZWJDb3JlOjpMYXllclJlbmRlcmVyU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjo6
TGF5ZXJSZW5kZXJlclN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0FkYXB0ZXIpOgotICAgICAg
ICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjppbml0aWFsaXplKToKLSAgICAgICAg
KFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6fkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6
Ci0gICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBCdWZmZXJzKToK
LSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6b25Td2FwQnVmZmVyc0Nv
bXBsZXRlKToKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0hlYWRzVXBEaXNwbGF5LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNDSGVhZHNVcERpc3BsYXk6
Om9uU3dhcEJ1ZmZlcnMpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDSGVhZHNVcERpc3BsYXkuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKLSAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJD
YXBhYmlsaXRpZXM6OkxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMpOgotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c3dhcEJ1ZmZlcnMpOgotICAgICAgICAo
V2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6b25Td2FwQnVmZmVyc0NvbXBsZXRlKToKLSAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXI6OnJlcXVlc3RSZWRyYXcpOgotICAg
ICAgICAoV2ViQ29yZTo6Q0NTY2hlZHVsZXI6OmRpZERyYXdBbmRTd2FwKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDU2NoZWR1bGVyOjpkaWRTd2FwQnVmZmVyc0NvbXBsZXRlKToKLSAgICAgICAgKFdl
YkNvcmU6OkNDU2NoZWR1bGVyOjpkaWRTd2FwQnVmZmVyc0Fib3J0KToKLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5oOgotICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6Y29tcG9zaXRlSW1tZWRpYXRlbHkpOgot
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJv
eHkuaDoKLSAgICAgICAgKFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6Om9uU3dhcEJ1ZmZl
cnNDb21wbGV0ZU9uSW1wbFRocmVhZCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFBy
b3h5U2NoZWR1bGVyQ2xpZW50OjpzY2hlZHVsZURyYXdBbmRTd2FwKToKLSAgICAgICAgKFdlYkNv
cmU6OkNDVGhyZWFkUHJveHk6OmRyYXdMYXllcnNBbmRSZWFkYmFja09uSW1wbFRocmVhZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpvblN3YXBCdWZmZXJzQ29tcGxldGVPbklt
cGxUaHJlYWQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6ZmluaXNoQWxsUmVu
ZGVyaW5nT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmRy
YXdMYXllcnNBbmRTd2FwT25JbXBsVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFk
UHJveHk6OmRyYXdMYXllcnNPbkltcGxUaHJlYWQpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaDoKLQotMjAxMS0xMC0yMCAgSnVsaWVuIENo
YWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3ggZG9lcyBub3QgY2FsbCBpdHMgY2hpbGRyZW4ncyBsYXlvdXQgbWV0aG9k
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg0Mgot
Ci0gICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0LgotCi0gICAgICAgIFRlc3RzOiBmYXN0
L2ZsZXhib3gvMDIxLXZlcnRpY2FsLmh0bWwKLSAgICAgICAgICAgICAgIGZhc3QvZmxleGJveC9j
cmFzaC1mbGV4Ym94LW5vLWxheW91dC1jaGlsZC5odG1sCi0KLSAgICAgICAgVGhlIEZsZXhCb3hJ
dGVyYXRvciB3b3VsZCBza2lwIGFueSBjaGlsZCB3aXRoIHZpc2liaWxpdHk6IGNvbGxhcHNlZC4g
SG93ZXZlciB0aG9zZSBjaGlsZAotICAgICAgICB3b3VsZCBuZWVkIGxheW91dCBidXQgdGhlaXIg
bGF5b3V0KCkgZnVuY3Rpb24gd291bGQgbmV2ZXIgYmUgY2FsbGVkLgotCi0gICAgICAgIFRoaXMg
Y2hhbmdlIHJlZmFjdG9ycyB0aGUgd2F5IGZsZXhpYmxlIGJveCBoYW5kbGVzIHZpc2liaWxpdHk6
IGNvbGxhcHNlZCBjaGlsZCBhbmQgbWFyayBzdXJlCi0gICAgICAgIHRoZWlyIGxheW91dCgpIGZ1
bmN0aW9uIGlzIGNhbGxlZCBidXQgbWFrZXMgc3VyZSB0aGF0IHRoZXkgZG9uJ3QgcGFydGljaXBh
dGUgaW4gdGhlIGZsZXggYm94Ci0gICAgICAgIGRpbWVuc2lvbnMuCi0KLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OkZsZXhCb3hJdGVyYXRvcjo6bmV4dCk6IERvIG5vdCBza2lwIHZpc2liaWxpdHk6IGNvbGxhcHNl
ZCBjaGlsZC4KLSAgICAgICAgKFdlYkNvcmU6OmNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4
aW5nKTogSGVscGVyIGZ1bmN0aW9uLgotCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3g6OmNhbGNIb3Jpem9udGFsUHJlZldpZHRocyk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNhbGNWZXJ0aWNhbFByZWZXaWR0aHMp
OgotICAgICAgICAoV2ViQ29yZTo6Z2F0aGVyRmxleENoaWxkcmVuSW5mbyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91dEhvcml6b250YWxCb3gp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXRW
ZXJ0aWNhbEJveCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGlibGVC
b3g6OmFwcGx5TGluZUNsYW1wKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveDo6YWxsb3dlZENoaWxkRmxleCk6Ci0gICAgICAgIFVwZGF0ZWQgdG8gc2tpcCB0
aGUgbm93IHNlZW4gdmlzaWJpbGl0eTogY29sbGFwc2VkIGNoaWxkIGR1cmluZyB0aGUKLSAgICAg
ICAgaXRlcmF0aW9uLgotCi0yMDExLTEwLTIwICBSYXltb25kIFRveSAgPHJ0b3lAZ29vZ2xlLmNv
bT4KLQotICAgICAgICBJbXBsZW1lbnQgU1NFIGRlbm9ybWFsIGRpc2FibGVyIGZvciB3aW5kb3dz
LgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUx
NwotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KLQotICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaDoKLSAgICAgICAgKFdlYkNvcmU6OkRlbm9y
bWFsRGlzYWJsZXI6OkRlbm9ybWFsRGlzYWJsZXIpOgotICAgICAgICBBZGQgaW1wbGVtZW50YXRp
b24gZm9yIFdpbmRvd3MuCi0gICAgICAgIChXZWJDb3JlOjpEZW5vcm1hbERpc2FibGVyOjp+RGVu
b3JtYWxEaXNhYmxlcik6Ci0gICAgICAgIERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6RGVub3Jt
YWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKToKLSAgICAgICAgVW5pZnkgV2lu
ZG93cyB3aXRoIG1hYy9saW51eC4KLSAgICAgICAgKFdlYkNvcmU6OkRlbm9ybWFsRGlzYWJsZXI6
OmdldENTUik6Ci0gICAgICAgIERlZmluZSBvbmx5IGlmIHdlJ3JlIG5vdCBvbiBXaW5kb3dzLgot
ICAgICAgICAoV2ViQ29yZTo6RGVub3JtYWxEaXNhYmxlcjo6c2V0Q1NSKToKLSAgICAgICAgRGl0
dG8uCi0KLTIwMTEtMTAtMjAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+Ci0K
LSAgICAgICAgUkVHUkVTU0lPTiAocjk2ODIzKTogQ29udGV4dHVhbCBtZW51IGNsb3NlcyBpbW1l
ZGlhdGVseSB3aGVuIGNvbnRyb2wtY2xpY2tpbmcgaW4gRmxhc2ggcGx1Zy1pbgotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzQKLSAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwMzA4ODI3PgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgotCi0gICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDogKFdlYkNvcmU6OlBsdWdpblZp
ZXc6OmhhbmRsZUV2ZW50KTogUmV0dXJuIHRydWUgZm9yIGNvbnRleHRtZW51Ci0gICAgICAgIGV2
ZW50LCBzbyB0aGF0IHBsdWctaW5zIHdvbid0IGdldCBhIGRlZmF1bHQgV2ViS2l0IGNvbnRleHQg
bWVudS4gV2UgY2FuJ3Qga25vdyBpZiB0aGUKLSAgICAgICAgcGx1Zy1pbiBpcyBoYW5kbGluZyBt
b3VzZWRvd24gKG9yIGV2ZW4gbW91c2V1cCkgYnkgZGlzcGxheWluZyBhIG1lbnUuCi0KLTIwMTEt
MTAtMTcgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFtjaHJvbWl1
bV0gQWxsb3cgQ0NMYXllclRyZWVIb3N0SW1wbCB0byBjYWxsIGJhY2sgdG8gcHJveHkgdmlhIEND
TGF5ZXJUcmVlSG9zdEltcGxDbGllbnQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwMjkxCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5z
b24uCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpjcmVhdGVMYXll
clRyZWVIb3N0SW1wbCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0Lmg6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpjcmVhdGUpOgotICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1w
bDo6Q0NMYXllclRyZWVIb3N0SW1wbCk6Ci0gICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhv
c3RJbXBsOjpzY3JvbGxSb290TGF5ZXIpOgotICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaDoKLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbENvbnRyb2xsZXIuaDoKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcDoKLSAgICAgICAg
KFdlYkNvcmU6OkNDU2luZ2xlVGhyZWFkUHJveHk6OnN0YXJ0KToKLSAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5Lmg6Ci0gICAgICAgIChX
ZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpzZXROZWVkc1JlZHJhd09uSW1wbFRocmVhZCk6
Ci0gICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5OjpzZXROZWVkc0NvbW1pdE9u
SW1wbFRocmVhZCk6Ci0gICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aHJlYWRQcm94eS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzY3JvbGxS
b290TGF5ZXJPbkltcGxUaHJlYWQpOgotICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6
aW5pdGlhbGl6ZUltcGxPbkNDVGhyZWFkKToKLSAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJv
eHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyT25DQ1RocmVhZCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25DQ1RocmVhZCk6Ci0gICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgotICAgICAg
ICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2V0TmVlZHNSZWRyYXdPbkltcGxUaHJlYWQpOgot
ICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6c2V0TmVlZHNDb21taXRPbkltcGxUaHJl
YWQpOgotCi0yMDExLTEwLTIwICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgZml4IHJlcGFpbnQgYnVncyBpbiBuZXcgZmxleGJveAotICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTAKLQotICAgICAgICBSZXZpZXdlZCBi
eSBEYXZpZCBIeWF0dC4KLQotICAgICAgICBUZXN0OiBjc3MzL2ZsZXhib3gvcmVwYWludC5odG1s
Ci0gICAgICAgICAgICAgIGNzczMvZmxleGJveC9yZXBhaW50LXJ0bC1jb2x1bW4uaHRtbAotCi0g
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9jayk6IFVzZSBMYXlvdXRSZXBhaW50ZXIg
YW5kIExheW91dFN0YXRlTWFpbnRhaW5lcgotICAgICAgICAgICAgdG8gcmVwYWludCB0aGUgZmxl
eGJveC4KLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRBbmRQbGFj
ZUNoaWxkcmVuSW5saW5lRGlyZWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94OjphZGp1c3RMb2NhdGlvbkxvZ2ljYWxUb3BGb3JDaGlsZCk6IFVzZSByZXBhaW50RHVy
aW5nTGF5b3V0SWZNb3ZlZAotICAgICAgICAgICAgd2hlbiBjaGFuZ2luZyB0aGUgYWxpZ25tZW50
IG9mIGEgY2hpbGQgdG8gaGFuZGxlIHRoZSBjaGlsZCBtb3ZpbmcuCi0KLTIwMTEtMTAtMjAgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KLQotICAgICAgICBGbGlwcGVkLWJsb2NrcyB3
cml0aW5nIG1vZGUgYmxvY2tzIGRvIG5vdCBoaXQgdGVzdCB0aGVpciBvdmVyZmxvdwotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDYKLQotICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgotCi0gICAgICAgIFRlc3Q6IGZhc3Qvd3JpdGluZy1t
b2RlL2ZsaXBwZWQtYmxvY2tzLWhpdC10ZXN0LW92ZXJmbG93Lmh0bWwKLQotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
bm9kZUF0UG9pbnQpOiBGbGlwIHRoZSBvdmVyZmxvdyByZWN0IGlmIG5lY2Vzc2FyeS4KLQotMjAx
MS0xMC0yMCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+Ci0KLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM5Ci0gICAgICAgIAotICAgICAg
ICBNYWtlIHRoZSAnY2xpcCcgcHJvcGVydHkgd29yayBpbiB2YXJpYWJsZSB3aWR0aCByZWdpb25z
LgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCi0KLSAgICAgICAgQWRkZWQg
bmV3IHRlc3QgaW4gZmFzdC9yZWdpb25zLgotCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNsaXBSZWN0KToKLSAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMp
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKToKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXBhaW50QmxvY2tTZWxlY3Rpb25HYXBzKToKLSAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKLSAgICAgICAgKFdlYkNv
cmU6OmNsaXBCb3gpOgotCi0yMDExLTEwLTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgotCi0gICAgICAgIEZpeCBidWlsZCBicmVha2FnZSBvbiBzb21lIHBsYXRmb3Jt
cyBhZnRlciByOTgwMDguCi0KLSAgICAgICAgKiBwYWdlL0ZyYW1lVHJlZS5jcHA6Ci0KLTIwMTEt
MTAtMjAgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVtLm9yZz4KLQotICAgICAgICBN
b3VzZUxvY2sgY29tcGlsZSBhbmQgcnVuIHRpbWUgZmxhZ3MuCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMAotCi0gICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEZpc2hlci4KLQotICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgKiBiaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgotICAgICAgICAqIGJpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgotICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0TW91c2VMb2NrQVBJRW5hYmxlZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRXZWJraXRNb3VzZUxvY2tB
UElFbmFibGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Ondl
YmtpdExvY2tNb3VzZUVuYWJsZWQpOgotICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6d2Via2l0VW5sb2NrTW91c2VFbmFibGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdE1vdXNlTG9ja2VkRW5hYmxlZCk6Ci0gICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGlu
Z3MpOgotICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKLSAgICAgICAgKFdlYkNvcmU6OlNldHRp
bmdzOjpzZXRNb3VzZUxvY2tFbmFibGVkKToKLSAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpt
b3VzZUxvY2tFbmFibGVkKToKLQotMjAxMS0xMC0yMCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21p
dW0ub3JnPgotCi0gICAgICAgIEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgaW4gTWVkaWFTdHJlYW1U
cmFjay5jcHA6Ci0gICAgICAgIC4uLy4uL3RoaXJkX3BhcnR5L1dlYktpdC9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVkaWFTdHJlYW1UcmFjay5jcHA6IEluIG1lbWJlciBmdW5jdGlvbiAnV1RGOjpTdHJp
bmcgV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6a2luZCgpIGNvbnN0JzoKLSAgICAgICAgLi4v
Li4vdGhpcmRfcGFydHkvV2ViS2l0L1NvdXJjZS9XZWJDb3JlL2RvbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDo2MToxOiBlcnJvcjogY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlv
biBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KLQotICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4K
LQotICAgICAgICAqIGRvbS9NZWRpYVN0cmVhbVRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6OmtpbmQpOgotCi0yMDExLTEwLTIwICBHdXN0YXZvIE5vcm9uaGEg
U2lsdmEgIDxnbnNAZ25vbWUub3JnPgotCi0gICAgICAgIE9uZSBtb3JlIEdUSysgYnVpbGQgZml4
LiBSZW1vdmUgQ3VlTG9hZGVyIGZpbGVzIGZyb20gdGhlIGJ1aWxkLgotCi0gICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKLQotMjAxMS0xMC0yMCAgS2VuIEJ1Y2hhbmFuIDxrZW5yYkBjaHJv
bWl1bS5vcmc+Ci0KLSAgICAgICAgQ3Jhc2ggaW4gdXBkYXRlRmlyc3RMZXR0ZXIgb24gOmFmdGVy
IGdlbmVyYXRlZCBjb250ZW50Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDAzMQotCi0gICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0LgotCi0g
ICAgICAgIFByZXZlbnRpbmcgZmluZEJlZm9yZUFmdGVyUGFyZW50KCkgZnJvbSByZXR1cm5pbmcg
YSBmaXJzdC1sZXR0ZXIgYmxvY2sgYW5kIG92ZXJ3cml0aW5nIGl0cyBzdHlsZS4KLSAgICAgICAg
SW5zdGVhZCwgaXQgcmV0dXJucyB0aGUgYmxvY2sncyBwYXJlbnQuCi0KLSAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnVw
ZGF0ZUZpcnN0TGV0dGVyKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRM
aXN0LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OmZpbmRCZWZvcmVBZnRlclBhcmVudCkKLSAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdENoaWxkTGlzdDo6dXBkYXRlQmVmb3JlQWZ0ZXJDb250
ZW50KTogRmlyc3QtbGV0dGVyIHNpYmxpbmdzIG5vdyBhbHJlYWR5IGhhdmUgc3R5bGUgYXBwbGll
ZCwgc28gdGhpcyBjbGF1c2UgaXMgcmVkdW5kYW50Ci0KLTIwMTEtMTAtMjAgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+Ci0KLSAgICAgICAgQWRkIGEgd2F5IHRvIHByaW50
IHRoZSBGcmFtZSB0cmVlIGZyb20gdGhlIGRlYnVnZ2VyLgotCi0gICAgICAgIFJldmlld2VkIGJ5
IFNhbSBXZWluaWcuCi0gICAgICAgIAotICAgICAgICBBZGQgYSBzaG93RnJhbWVUcmVlKGZyYW1l
KSBtZXRob2QsIGNhbGxhYmxlIGZyb20gZ2RiLAotICAgICAgICB3aGljaCBkdW1wcyB0aGUgRnJh
bWUgdHJlZSwgaW5jbHVkaW5nIHRoZSBmcmFtZSdzIHZpZXcsCi0gICAgICAgIGRvY3VtZW50LCBv
d25lciBlbGVtZW50IGFuZCBVUkkuCi0KLSAgICAgICAgKiBwYWdlL0ZyYW1lVHJlZS5jcHA6Ci0g
ICAgICAgIChwcmludEluZGVudCk6Ci0gICAgICAgIChwcmludEZyYW1lcyk6Ci0gICAgICAgIChz
aG93RnJhbWVUcmVlKToKLSAgICAgICAgKiBwYWdlL0ZyYW1lVHJlZS5oOgotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
dXBkYXRlQ2xpcFJlY3RzKToKLSAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWly
ZXNDb21wb3NpdGluZ0ZvckZyYW1lKToKLQotMjAxMS0xMC0yMCAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUmVtb3ZlIFN0eWxlQmFzZTo6Y3NzVGV4dCgpLgot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MjEKLQot
ICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KLQotICAgICAgICAqIGNzcy9TdHls
ZUJhc2UuY3BwOgotICAgICAgICAqIGNzcy9TdHlsZUJhc2UuaDoKLQotMjAxMS0xMC0yMCAgRXVn
ZW5lIE5hbGltb3YgIDxlbmFsQGNocm9taXVtLm9yZz4KLQotICAgICAgICBQbGF5aW5nIEhUTUxB
dWRpb0VsZW1lbnQgY2FuIGJlIGdhcmJhZ2UgY29sbGVjdGVkCi0gICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3OAotCi0gICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCi0KLSAgICAgICAgTWFrZSBIVE1MQXVkaW9FbGVtZW50IGFuICdhY3RpdmUn
IG9uZSwgbWVhbmluZyB0aGF0IGl0IGNhbm5vdCBiZQotICAgICAgICBnYXJiYWdlIGNvbGxlY3Rl
ZCBpZiBpdCBoYXMgcGFuZGluZyBhY3Rpdml0eS4gSGFkIHRvIG1ha2UKLSAgICAgICAgSFRNTE1l
ZGlhRWxlbWVudDo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgYW5kCi0gICAgICAgIEhUTUxBdWRpb0Vs
ZW1lbnQ6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIHB1YmxpYywgb3RoZXJ3aXNlIGF1dG9tYXRpY2Fs
bHkKLSAgICAgICAgZ2VuZXJhdGVkIGNvZGUgd291bGQgbm90IGNvbXBpbGUuIAotCi0gICAgICAg
IFRlc3Q6IG5vIHRlc3QsIGFzIGF1dG9tYXRpYyB0ZXN0IGlzIGJsb2NrZWQgYnkKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDIxCi0gICAgICAgIFlv
dSBkb24ndCB3YW50IHRvIHNpdCBkb3duIGFuZCBsaXN0ZW4gaWYgYXVkaW8gc3RyZWFtIHBsYXll
ZCBjb21wbGV0ZWx5LAotICAgICAgICBhbmQgY2Fubm90IHJlbHkgb24gJ2VuZGVkJyBldmVudCBi
ZWNhdXNlIGV2ZW50cyBhcmUgbG9zdCB3aGVuIGV2ZW50cwotICAgICAgICBsaXN0ZW5lciBpcyBj
b2xsZWN0ZWQuIAotCi0gICAgICAgICogaHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbDoKLSAgICAg
ICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaDoKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxBdWRp
b0VsZW1lbnQ6Omhhc1BlbmRpbmdBY3Rpdml0eSk6Ci0gICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50Lmg6Ci0KLTIwMTEtMTAtMjAgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KLQotICAgICAgICBSZW5hbWUgc3RhdGljIGRlbGV0ZVByb3BlcnR5IHRvIGRlbGV0
ZVByb3BlcnR5QnlJbmRleAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzAyNTcKLQotICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KLQot
ICAgICAgICBObyBuZXcgdGVzdHMuCi0KLSAgICAgICAgUmVuYW1pbmcgdmVyc2lvbnMgb2YgZGVs
ZXRlUHJvcGVydHkgdGhhdCB1c2UgYW4gdW5zaWduZWQgYXMgdGhlIHByb3BlcnR5Ci0gICAgICAg
IG5hbWUgdG8gImRlbGV0ZVByb3BlcnR5QnlJbmRleCIgaW4gcHJlcGFyYXRpb24gZm9yIGFkZGlu
ZyB0aGVtIHRvIHRoZSAKLSAgICAgICAgTWV0aG9kVGFibGUsIHdoaWNoIHJlcXVpcmVzIHVuaXF1
ZSBuYW1lcyBmb3IgZWFjaCBtZXRob2QuCi0KLSAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJh
eS5jcHA6Ci0gICAgICAgIChKU0M6OlJ1bnRpbWVBcnJheTo6ZGVsZXRlUHJvcGVydHlWaXJ0dWFs
KToKLSAgICAgICAgKEpTQzo6UnVudGltZUFycmF5OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgpOgot
ICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5Lmg6Ci0KLTIwMTEtMTAtMjAgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+Ci0KLSAgICAgICAgUmVuYW1lIHNvbWUgQ3Vl
IGNsYXNzZXMgdG8gVGV4dFRyYWNrCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDM0NgotCi0gICAgICAgIFJlbmFtZSBDdWVMb2FkZXIgLT4gVGV4dFRy
YWNrTG9hZGVyLCBDYWNoZWRDdWVzIC0+IENhY2hlZFRleHRUcmFjaywgYW5kIEN1ZUluZGV4IC0+
IFRleHRUcmFja0luZGV4LgotCi0gICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgotCi0g
ICAgICAgIE5vIG5ldyB0ZXN0cywgcmVuYW1lcyBvbmx5LgotCi0gICAgICAgICogQ01ha2VMaXN0
cy50eHQ6Ci0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKLSAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6Ci0gICAgICAgICogV2ViQ29yZS5wcm86Ci0gICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgotICAgICAgICAqIGh0bWwvQ3VlSW5kZXguY3BwOiBSZW1vdmVk
LgotICAgICAgICAqIGh0bWwvQ3VlSW5kZXguaDogUmVtb3ZlZC4KLSAgICAgICAgKiBodG1sL0xv
YWRhYmxlVGV4dFRyYWNrLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNr
Ojpsb2FkKToKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpuZXdDdWVzQXZh
aWxhYmxlKToKLSAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpjdWVMb2FkaW5n
U3RhcnRlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6Y3VlTG9hZGlu
Z0NvbXBsZXRlZCk6Ci0gICAgICAgICogaHRtbC9Mb2FkYWJsZVRleHRUcmFjay5oOgotICAgICAg
ICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNob3VsZExvYWRDdWVzKToKLSAgICAgICAg
KiBodG1sL011dGFibGVUZXh0VHJhY2suaDoKLSAgICAgICAgKiBodG1sL1RleHRUcmFja0luZGV4
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9DdWVJbmRleC5jcHAuCi0gICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVTZXQ6OmRpZmZlcmVuY2UpOgotICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrQ3VlU2V0Ojp1bmlvblNldCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tDdWVTZXQ6OmFkZCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVTZXQ6OmNv
bnRhaW5zKToKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZVNldDo6cmVtb3ZlKToKLSAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZVNldDo6aXNFbXB0eSk6Ci0gICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tDdWVTZXQ6OnNpemUpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
SW5kZXg6OmZldGNoTmV3Q3Vlc0Zyb21Mb2FkZXIpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRy
YWNrSW5kZXg6OnJlbW92ZUN1ZXNGcm9tSW5kZXgpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRy
YWNrSW5kZXg6OnZpc2libGVDdWVzQXRUaW1lKToKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a0luZGV4OjphZGQpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrSW5kZXg6OnJlbW92ZSk6
Ci0gICAgICAgICogaHRtbC9UZXh0VHJhY2tJbmRleC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0N1ZUluZGV4LmguCi0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVTZXQ6
OlRleHRUcmFja0N1ZVNldCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVTZXQ6On5U
ZXh0VHJhY2tDdWVTZXQpOgotICAgICAgICAqIGxvYWRlci9DdWVMb2FkZXIuY3BwOiBSZW1vdmVk
LgotICAgICAgICAqIGxvYWRlci9DdWVMb2FkZXIuaDogUmVtb3ZlZC4KLSAgICAgICAgKiBsb2Fk
ZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvbG9hZGVy
L0N1ZUxvYWRlci5jcHAuCi0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OlRleHRU
cmFja0xvYWRlcik6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6On5UZXh0VHJh
Y2tMb2FkZXIpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpjdWVMb2FkVGlt
ZXJGaXJlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OnByb2Nlc3NOZXdD
dWVEYXRhKToKLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6ZGlkUmVjZWl2ZURh
dGEpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6
Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmxvYWQpOgotICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKToKLSAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0xvYWRlcjo6Z2V0TmV3Q3Vlcyk6Ci0gICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3VlTG9hZGVyLmgu
Ci0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXJDbGllbnQ6On5UZXh0VHJhY2tMb2Fk
ZXJDbGllbnQpOgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpjcmVhdGUpOgot
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRDdWVzLmNwcDogUmVtb3ZlZC4KLSAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkQ3Vlcy5oOiBSZW1vdmVkLgotICAgICAgICAqIGxvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpjcmVhdGVS
ZXNvdXJjZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dEN1ZXMpOgotICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgot
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRUZXh0VHJhY2suY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ3Vlcy5jcHAuCi0gICAgICAgIChXZWJD
b3JlOjpDYWNoZWRUZXh0VHJhY2s6OkNhY2hlZFRleHRUcmFjayk6Ci0gICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRUZXh0VHJhY2s6On5DYWNoZWRUZXh0VHJhY2spOgotICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkVGV4dFRyYWNrOjpkYXRhKToKLSAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkVGV4
dFRyYWNrLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRD
dWVzLmguCi0KLTIwMTEtMTAtMjAgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9y
Zz4KLQotICAgICAgICBSZW1vdmUgTm93IFVudXNlZCBGaWxlQ2hvb3NlclNldHRpbmdzLmRlcHJl
Y2F0ZWRBY2NlcHRUeXBlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzA0NzMKLQotICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgotCi0g
ICAgICAgICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZpbGVJ
bnB1dFR5cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQpOgotICAgICAgICAoV2ViQ29yZTo6Rmls
ZUlucHV0VHlwZTo6cmVjZWl2ZURyb3BGb3JEaXJlY3RvcnlVcGxvYWQpOgotICAgICAgICAqIHBs
YXRmb3JtL0ZpbGVDaG9vc2VyLmg6Ci0KLTIwMTEtMTAtMjAgIEFuZHJlYXMgS2xpbmcgIDxrbGlu
Z0B3ZWJraXQub3JnPgotCi0gICAgICAgIFNpbXBsaWZ5IENTU1BhcnNlcjo6ZG9jdW1lbnQoKS4K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE4Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgV2UgZG9uJ3Qg
bmVlZCB0byBjbGltYiB1cCB0aGUgZW50aXJlIHBhcmVudCBjaGFpbiBoZXJlIHRvIGZpbmQgdGhl
Ci0gICAgICAgIERvY3VtZW50LCBqdXN0IGdyYWIgaXQgZnJvbSBtX3N0eWxlU2hlZXQgKHdoaWNo
IHdpbGwgZG8gdGhlIGNsaW1iaW5nCi0gICAgICAgIGZvciB1cyBpZiBuZWNlc3NhcnkuKQotCi0g
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OmRvY3VtZW50KToKLQotMjAxMS0xMC0yMCAgUGllcnJlIFJvc3NpICA8cGllcnJlLnJvc3NpQGdt
YWlsLmNvbT4KLQotICAgICAgICBbUXRdIEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0
YSgpIGlzIGJyb2tlbiwgYSBkZWZhdWx0IGZvbnQgaXMgcmV0dXJuZWQKLSAgICAgICAgZXZlbiBp
ZiB0aGUgZmFtaWx5IGRvZXMgbm90IG1hdGNoLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwMzYKLQotICAgICAgICBUaGUgcHJvYmxlbSBoZXJlIHdh
cyB0aGF0IGEgRm9udFBsYXRmb3JtRGF0YQotICAgICAgICBvYmplY3QgaXMgYWx3YXlzIGNyZWF0
ZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgotICAgICAgICB0aGUgcmVxdWVzdCBmb3IgYSBnaXZl
biBmb250IGZhbWlseSBjYW4gYmUKLSAgICAgICAgc2F0aXNmaWVkIG9yIG5vdC4KLQotICAgICAg
ICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotCi0gICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q2FjaGVRdC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEp
OgotCi0yMDExLTEwLTIwICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Vi
a2l0Lm9yZz4KLQotICAgICAgICBXaGVuIHVzZXIgaXMgcGFubmluZyB3aXRoIHRoZSB0aWxlZCBi
YWNraW5nIHN0b3JlLCB0aGUgcGFnZQotICAgICAgICBpc24ndCBub3RpZmllZCBhYm91dCB0aGUg
c2Nyb2xsIHBvc2l0aW9uIGNoYW5nZQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzA0OTUKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFu
bi4KLQotICAgICAgICBXaGVuIHVzaW5nIHRoZSB0aWxlZCBiYWNraW5nIHN0b3JlIHRoZSBVSSBo
YW5kbGVzIHNjcm9sbGluZywKLSAgICAgICAgYW5kIHNlbmRzIHNldEZpeGVkVmlzaWJsZUNvbnRl
bnRSZWN0IGFmdGVyIHBhbm5pbmcvc2NhbGUgZW5kcy4KLQotICAgICAgICBJZiB3ZSBhY3R1YWxs
eSBjaGFuZ2VkIHBvc2l0aW9uIHdlIG5lZWQgdG8gc2VuZCB0aGUgc2Nyb2xsIERPTSBldmVudC4K
LQotICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLCB0aG91Z2ggd2UgYXJlIG5vdCB0
ZXN0aW5nIHRoZSB0aWxlZCBiYWNraW5nIHN0b3JlIHlldC4KLQotICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0Rml4ZWRWaXNpYmxl
Q29udGVudFJlY3QpOgotICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6Ci0gICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsVmlldy5oOgotICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0Rml4
ZWRWaXNpYmxlQ29udGVudFJlY3QpOgotCi0yMDExLTEwLTIwICBKb2huIEtub3R0ZW5iZWx0ICA8
amtub3R0ZW5AY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFRvdWNoIGV2ZW50cyBzaG91bGQgdGFr
ZSBwYWdlIHNjYWxlIGludG8gYWNjb3VudAotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njk3OTgKLQotICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgotCi0gICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3RvdWNoL3BhZ2Utc2NhbGVkLXRvdWNoLWdl
c3R1cmUtY2xpY2suaHRtbAotCi0gICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KToKLQotMjAxMS0x
MC0yMCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb246IFNpbXBsaWZ5IHNldE5lZWRzU3R5bGVSZWNhbGMoKS4KLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTA5Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAgV2UgZG9uJ3QgbmVl
ZCB0byBjbGltYiB1cCB0aGUgZW50aXJlIHBhcmVudCBjaGFpbiBoZXJlIHRvIGZpbmQgdGhlCi0g
ICAgICAgIERvY3VtZW50LCBqdXN0IGdyYWIgaXQgZnJvbSB0aGUgcGFyZW50U3R5bGVTaGVldCgp
ICh3aGljaCB3aWxsIGRvCi0gICAgICAgIHRoZSBjbGltYmluZyBmb3IgdXMgaWYgbmVjZXNzYXJ5
LikKLQotICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6c2V0TmVlZHNTdHlsZVJl
Y2FsYyk6Ci0KLTIwMTEtMTAtMjAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgot
Ci0gICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb246IFJlbW92ZSBpbmhlcml0YW5jZSBmcm9tIFN0
eWxlQmFzZS4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwNDExCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCi0KLSAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKLSAgICAgICAgKFdlYkNvcmU6OnJvb3QpOgot
Ci0gICAgICAgICAgICBTcGVjaWFsaXplZCByb290KCkgZm9yIENTU1N0eWxlRGVjbGFyYXRpb24g
YW5kIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLgotCi0gICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uOjpzZXROZWVkc1N0eWxlUmVjYWxjKToKLQotICAgICAgICAgICAgU3RhcnQg
dGhlIHBhcmVudCBjaGFpbiB0cmF2ZXJzYWwgZnJvbSB0aGUgcGFyZW50U3R5bGVTaGVldCgpLgot
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVz
b3VyY2VTdHlsZVVSTHMpOgotICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgotICAgICAgICAo
V2ViQ29yZTo6cGFyc2VDb2xvclZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2ltcGxl
TGVuZ3RoVmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xvcik6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb24pOgotCi0gICAgICAgICAgICBSZW1vdmUg
bm93LXVubmVjZXNzYXJ5IGFzc2VydGlvbnMgYW5kIGNhc3RzLgotCi0gICAgICAgICogY3NzL0NT
U1N0eWxlRGVjbGFyYXRpb24uY3BwOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJh
dGlvbjo6Q1NTU3R5bGVEZWNsYXJhdGlvbik6Ci0gICAgICAgICogY3NzL0NTU1N0eWxlRGVjbGFy
YXRpb24uaDoKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246On5DU1NTdHls
ZURlY2xhcmF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnBh
cmVudFJ1bGUpOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6c2V0UGFy
ZW50UnVsZSk6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9uOjpzZXRQYXJl
bnRTdHlsZVNoZWV0KToKLSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnBh
cmVudFN0eWxlU2hlZXQpOgotCi0gICAgICAgICAgICBNYWtlIENTU1N0eWxlRGVjbGFyYXRpb24g
aW5oZXJpdCBkaXJlY3RseSBmcm9tIFJlZkNvdW50ZWQsIGFuZCBoYXZlIGVpdGhlcgotICAgICAg
ICAgICAgYSBDU1NSdWxlIG9yIENTU1N0eWxlU2hlZXQgcGFyZW50LiBFdmVudHVhbGx5IGl0IHNo
b3VsZCBvbmx5IG5lZWQgdG8gaGF2ZQotICAgICAgICAgICAgcnVsZXMgYXMgcGFyZW50cywgYnV0
IENTU1BhcnNlciBkZXBlbmRzIG9uIGhhdmluZyBzdHlsZSBzaGVldCBwYXJlbnRzIGZvcgotICAg
ICAgICAgICAgVVJMIGNvbXBsZXRpb24gYW5kIHByaW1pdGl2ZSB2YWx1ZSBjYWNoZS4KLQotICAg
ICAgICAqIGNzcy9TdHlsZUJhc2UuaDoKLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlv
bi5oOgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6aXNNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbik6Ci0KLSAgICAgICAgICAgIE1vdmVkIGZyb20gU3R5bGVCYXNlIGRvd24g
dG8gQ1NTU3R5bGVEZWNsYXJhdGlvbi4KLQotICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjp+Q1NTU3R5bGVSdWxlKToKLSAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlUnVsZTo6c2V0U2VsZWN0b3JUZXh0KToKLSAgICAgICAgKiBj
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OldlYktpdENT
U0tleWZyYW1lUnVsZTo6fldlYktpdENTU0tleWZyYW1lUnVsZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnNldERlY2xhcmF0aW9uKToKLSAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlOjp+V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjphcHBlbmQpOgotICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZTo6ZGVsZXRlUnVsZSk6Ci0gICAgICAgICogZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y3JlYXRlSW5saW5l
U3R5bGVEZWNsKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmRlc3Ryb3lJbmxp
bmVTdHlsZURlY2wpOgotICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6YXR0cmlidXRl
Q2hhbmdlZCk6Ci0gICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjcmVhdGVNYXBwZWRE
ZWNsKToKLSAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmRpZE1vdmVUb05ld093bmVy
RG9jdW1lbnQpOgotICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHA6Ci0gICAgICAg
IChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRpdGlvbmFsQXR0cmlidXRlU3R5bGVEZWNs
cyk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRDZWxsQm9y
ZGVyc0RlY2wpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRkU2hhcmVk
Q2VsbFBhZGRpbmdEZWNsKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQ6OmFk
ZFNoYXJlZEdyb3VwRGVjbHMpOgotICAgICAgICAqIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwOgot
ICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnJldHJpZXZlUmVzb3VyY2VzRm9yQ1NT
RGVjbGFyYXRpb24pOgotICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwOgotICAg
ICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50OjpTVkdGb250RmFjZUVsZW1lbnQpOgot
Ci0gICAgICAgICAgICBVc2UgdGhlIG5ldyBwYXJlbnRpbmcgbWV0aG9kcyBvZiBDU1NTdHlsZURl
Y2xhcmF0aW9uLgotCi0gICAgICAgICogY3NzL1N0eWxlQmFzZS5jcHA6Ci0gICAgICAgIChXZWJD
b3JlOjpTdHlsZUJhc2U6Om5vZGUpOgotCi0gICAgICAgICAgICBSZW1vdmUgdGhlIGlzTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24oKSBjb2RlIHBhdGguCi0KLTIwMTEtMTAtMjAgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IGRldGFj
aCBzaG91bGQgY2FsbCBoaWRlIHNvIHRoYXQgb3ZlcnJpZGVzIGFyZSBwcm9jZXNzZWQuCi0gICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMwotCi0gICAg
ICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCi0KLSAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xl
UGFuZWwucHJvdG90eXBlLmhpZGUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVmll
dy5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3KToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5WaWV3LnByb3RvdHlwZS5oaWRlKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3Rv
dHlwZS5kZXRhY2gpOgotCi0yMDExLTEwLTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+Ci0KLSAgICAgICAgW1F0XSBSb2xsLWJhY2sgcjk3OTY0LCByOTc5NzIgYW5kIGZp
eCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMjguCi0KLSAg
ICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjp0aW1lckZpcmVkKToKLSAgICAgICAgKFdlYkNvcmU6
OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OmFkZExpc3RlbmVyKToKLSAgICAgICAgKFdlYkNvcmU6
OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUxpc3RlbmVyKToKLSAgICAgICAgKFdlYkNv
cmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUFsbExpc3RlbmVycyk6Ci0gICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXNwZW5kKToKLSAgICAgICAgKFdl
YkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSk6Ci0gICAgICAgICogZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuaDoKLSAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcjo6c3VzcGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI6OnJlc3VtZSk6Ci0gICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oOgotICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMpOgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnN0b3BBY3RpdmVET01PYmplY3RzKToKLSAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKLSAgICAg
ICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgotICAgICAgICAqIHBhZ2UvR2VvbG9j
YXRpb25Db250cm9sbGVyLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJv
bGxlcjo6c3VzcGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNvbnRyb2xsZXI6
OnJlc3VtZSk6Ci0gICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaDoKLQotMjAx
MS0xMC0yMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+Ci0KLSAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk3OTY0IGFuZCByOTc5NzIuCi0gICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk3OTY0Ci0gICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk3OTcyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMgotCi0gICAgICAgIFRoZXkgYnJva2UgYWxsIGdl
b2xvY2F0aW9uIHRlc3RzIGluIGRlYnVnIG1vZGUgKFJlcXVlc3RlZCBieQotICAgICAgICBPc3N5
IG9uICN3ZWJraXQpLgotCi0gICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZCk6
Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjphZGRMaXN0ZW5lcik6
Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVMaXN0ZW5l
cik6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVBbGxM
aXN0ZW5lcnMpOgotICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmg6Ci0gICAg
ICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHA6Ci0gICAgICAgICogZG9t
L0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oOgotICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6Ci0gICAgICAgICogZG9tL0RvY3VtZW50Lmg6Ci0gICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaDoKLSAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHA6
Ci0gICAgICAgICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaDoKLQotMjAxMS0xMC0yMCAg
SWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgVW5yZXZp
ZXdlZCBmaXggZm9yIERhdGUucHJvdG90eXBlLnRvSVNPODYwMUNvbXBhY3QuCi0gICAgICAgIEl0
IHdhcyBnZW5lcmF0ZWQgd3Jvbmcgc3RyaW5nIGZvciB0aGUgZGF0ZXMgd2l0aCBubyBsZWFkaW5n
IHplcm9zIGxpa2UgMjAxMS4xMS4xMS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
dXRpbGl0aWVzLmpzOgotCi0yMDExLTEwLTIwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29v
Z2xlLmNvbT4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBtaW5vciBDUFUgcHJvZmlsaW5nIFVY
IGltcHJvdmVtZW50cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzA0OTkKLQotICAgICAgICBTdG9yZSBwcm9maWxlIHR5cGUuIFN0b3JlIHRpbWUgcGVy
Y2VudGFnZSB0b2dnbGUgc3RhdGUuCi0KLSAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hh
dHNreS4KLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZURhdGFHcmlkVHJl
ZS5qczoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3LnByb2ZpbGVDYWxsYmFjayk6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcucHJvdG90eXBlLl9jaGFuZ2VWaWV3LnNl
dCBlbHNlKToKLQotMjAxMS0xMC0yMCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVt
Lm9yZz4KLQotICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZHZhbmNlZCBzZWFyY2ggcmVzdWx0cyBz
aG91bGQga2VlcCB3b3JraW5nIGFmdGVyIHByZXR0eSBwcmludCB0b2dnbGVkLgotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDcKLQotICAgICAgICBS
ZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoU2NvcGUucHJvdG90eXBlLmNyZWF0ZVNlYXJjaFJlc3VsdHNQYW5lKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuY3JlYXRlQW5j
aG9yKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5w
cm90b3R5cGUuYWRkU2VhcmNoUmVzdWx0KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQmFz
ZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX3JlZ2V4TWF0Y2hSYW5nZXMpOgotICAgICAg
ICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5fY3Jl
YXRlQ29udGVudFNwYW4pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2lu
dE1hbmFnZXIuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJv
dG90eXBlLl9tYXRlcmlhbGl6ZUJyZWFrcG9pbnQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUuc291cmNlTG9jYXRpb25Ub0NvbXBpbGVkTG9j
YXRpb24pOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZS5jcmVhdGVMaW5raWZpZXIpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmNvbnRpbnVlVG9MaW5lKToKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllckZvcm1h
dHRlcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5M
aW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlLmZvcm1hdFJhd1NvdXJjZUNvZGVBbmNob3IpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRGVmYXVsdExp
bmtpZmllckZvcm1hdHRlcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5EZWZhdWx0TGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZS5mb3JtYXRSYXdT
b3VyY2VDb2RlQW5jaG9yKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLkxpbmtpZmllcik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlLmxpbmtpZnlMb2NhdGlvbik6Ci0gICAg
ICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJv
dG90eXBlLmxpbmtpZnlSZXNvdXJjZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlLmxpbmtpZnlSYXdTb3VyY2VDb2Rl
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtp
Zmllci5wcm90b3R5cGUuX3VwZGF0ZUFuY2hvcik6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9SYXdTb3VyY2VDb2RlLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNv
ZGUuU291cmNlTWFwcGluZy5wcm90b3R5cGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24pOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUuUGxhaW5Tb3VyY2VNYXBwaW5nLnByb3Rv
dHlwZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmF3
U291cmNlQ29kZS5Gb3JtYXR0ZWRTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbik6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5Db21waWxl
clNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKToKLSAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNTZWFyY2hTY29wZS5qczoKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUpOgotICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuY3JlYXRlQW5jaG9yKToK
LSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1BhbmUuTGlua2lmaWVy
Rm9ybWF0dGVyKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzU2VhcmNoUmVzdWx0c1Bh
bmUuTGlua2lmaWVyRm9ybWF0dGVyLnByb3RvdHlwZS5mb3JtYXRSYXdTb3VyY2VDb2RlQW5jaG9y
KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgotCi0yMDEx
LTEwLTIwICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4K
LQotICAgICAgICBtX2NsaWVudCBpbiBEZXZpY2VNb3Rpb25Db250cm9sbGVyIGNhbiBuZXZlciBi
ZSAwLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciBpdAotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTAKLQotICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBIYXVzbWFubi4KLQotICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UsIHRodXMgbm8gbmV3IHRl
c3RzLgotCi0gICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOgotICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZCk6Ci0gICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjphZGRMaXN0ZW5lcik6Ci0gICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVMaXN0ZW5lcik6Ci0gICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZW1vdmVBbGxMaXN0ZW5lcnMp
OgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6c3VzcGVuZCk6Ci0g
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZXN1bWUpOgotCi0yMDEx
LTEwLTIwICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+Ci0KLSAgICAgICAgW0No
cm9taXVtIFNraWEgb24gTWFjXSBJbXByb3ZlIGZvY3VzIHJpbmcKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTI0Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KLSAgICAgICAgCi0gICAgICAgIFRoZSBmb2N1cyByaW5nIGNvZGUgZm9y
bWVybHkgb3V0c2V0IHRoZSBib3VuZHMgb2YKLSAgICAgICAgdGhlIGNvbXBvbmVudCByZWN0YW5n
bGVzIGJ5IGZyYWN0aW9uYWwgYW1vdW50cy4gQmVjYXVzZQotICAgICAgICB0aGUgcmVjdGFuZ2xl
cyBhcmUgU2tJUmVjdCAoaW50ZWdlciBiYXNlZCksIHRoZSBmcmFjdGlvbmFsCi0gICAgICAgIG91
dHNldCBoYWQgbm8gZWZmZWN0LgotCi0gICAgICAgIFRoZSBlcXVpdmFsZW50IGNvZGUgaW4gR3Jh
cGhpY3NDb250ZXh0TWFjLm1tIGNvbXB1dGVzCi0gICAgICAgIHRoZSBjdXJ2ZSByYWRpdXMgYW5k
IHJlY3RhbmdsZSBvdXRzZXQgd2l0aCBpbnRlZ2Vycywgc28KLSAgICAgICAgdGhlIHVzZSBvZiBm
bG9hdHMgaW4gU2tpYSdzIGNhc2UsIGJlc2lkZXMgbm90IHdvcmtpbmcsCi0gICAgICAgIGlzIHVu
bmVjZXNzYXJ5LgotCi0gICAgICAgIFRoZSBTa2lhIGNvZGUgYWxzbyBmYWlsZWQgdG8gdGFrZSB0
aGUgb2Zmc2V0IGludG8gYWNjb3VudC4KLSAgICAgICAgSW4gTGF5b3V0VGVzdHMsIHRoZSBmb2N1
cyByaW5ncyBlaXRoZXIgaGF2ZSBhbiBvZmZzZXQgb2YKLSAgICAgICAgMCBvciAyLiBUaGUgQ29y
ZUdyYXBoaWNzIGNvZGUgaW5jcmVhc2VzIHRoZSByaW5nJ3MgcmVjdGFuZ2xlcwotICAgICAgICBi
eSB0aGUgb2Zmc2V0LCB0aGVuIHBhc3NlcyB0aGUgcmVzdWx0IHRvIHdrRHJhd0ZvY3VzUmluZy4K
LQotICAgICAgICBJIGRpZCBub3QgZmluZCBhbnkgZG9jdW1lbnRhdGlvbiBhYm91dCBob3cgd2tE
cmF3Rm9jdXNSaW5nCi0gICAgICAgIGZ1cnRoZXIgaW5mbGF0ZXMgdGhlIGZvY3VzIHJpbmcsIGJ1
dCBlbXBpcmljYWxseSBJIGRldGVybWluZWQKLSAgICAgICAgdGhhdCBhZGRpbmcgMiB0byB0aGUg
b2Zmc2V0IGdlbmVyYXRlZCByaW5ncyB3aXRoIGlkZW50aWNhbAotICAgICAgICBvdXRlciBkaWFt
ZXRlcnMuCi0gCi0gICAgICAgIFdpdGggdGhlc2UgYWRqdXN0bWVudHMsIHRoZSBsYXlvdXQgdGVz
dHMgZ2VuZXJhdGUgZm9jdXMgcmluZ3MKLSAgICAgICAgaW4gdGhlIFNraWEgb24gTWFjIGNhc2Ug
dGhhdCBtYXRjaCB0aGUgY292ZXJhZ2Ugb2YgdGhlCi0gICAgICAgIENocm9taXVtIENHLWJhc2Vk
IHBsYXRmb3JtLCBpbiBwYXJ0aWN1bGFyLCBtYXRjaGluZzoKLSAgICAgICAgCi0gICAgICAgIGVk
aXRpbmcvaW5zZXJ0aW5nL2VkaXRhYmxlLWlubGluZS1lbGVtZW50Lmh0bWwKLSAgICAgICAgZWRp
dGluZy9zZWxlY3Rpb24vMzY5MDcwMy0yLmh0bWwKLQotICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpnZXRG
b2N1c1JpbmdPdXRzZXQpOgotICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3
Rm9jdXNSaW5nKToKLQotMjAxMS0xMC0yMCAgWm9sdGFuIEhlcmN6ZWcgIDx6aGVyY3plZ0B3ZWJr
aXQub3JnPgotCi0gICAgICAgIEltcHJvdmUgTkVPTiBiYXNlZCBHYXVzc2lhbkJsdXIKLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDkzCi0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgotCi0gICAgICAgIHZtb3YgaW5zdHJ1
Y3Rpb24gaXMgbGVzcyBjb21wbGV4IHRoYW4gdnRibC4KLQotICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvYXJtL0ZFR2F1c3NpYW5CbHVyTkVPTi5jcHA6Ci0KLTIwMTEtMTAtMjAg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgotCi0gICAgICAgIE5vdCByZXZp
ZXdlZDogZm9sbG93IHVwIHRvIDk3OTYxIC0gZGlzcGF0Y2hpbmcgb2YgaGlkZSBvbiBkZXRhY2gg
d2FzIG1pc3NpbmcuCi0KLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVs
LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZS5zaG93KToK
LSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGUuZGV0YWNoKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL3V0aWxpdGllcy5qczoKLQotMjAxMS0xMC0yMCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUHJvcGVybHkgc3VzcGVuZC9yZXN1
bWUgR2VvbG9jYXRpb24vRGV2aWNlTW90aW9uL0RldmljZU9yaWVudGF0aW9uIG9iamVjdHMKLSAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzI4Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAgQmFzZWQgb24gY29k
ZSBmcm9tIGlPUyBhbmQgdGhlIE45LgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cywgYXMgdGhlIHN1
c3BlbmQvcmVzdW1lIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGZ1bGx5IHdvcmtpbmcgeWV0LgotCi0g
ICAgICAgICogZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6c3VzcGVuZCk6Ci0gICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VNb3Rpb25Db250cm9sbGVyOjpyZXN1bWUpOgotICAgICAgICAqIGRvbS9EZXZpY2VNb3Rp
b25Db250cm9sbGVyLmg6Ci0gICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmFk
ZExpc3RlbmVyKToKLSAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
cjo6cmVtb3ZlTGlzdGVuZXIpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyOjpyZW1vdmVBbGxMaXN0ZW5lcnMpOgotICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyOjpzdXNwZW5kKToKLSAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cmVzdW1lKToKLSAgICAgICAgKiBkb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmg6Ci0gICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKLSAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyk6Ci0gICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyk6Ci0gICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6c3RvcEFjdGl2ZURPTU9iamVjdHMpOgotICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgotICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6Ci0gICAg
ICAgICogcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKToKLSAgICAgICAgKFdlYkNvcmU6Okdlb2xv
Y2F0aW9uQ29udHJvbGxlcjo6cmVzdW1lKToKLSAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ29u
dHJvbGxlci5oOgotCi0yMDExLTEwLTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KLQotICAgICAgICBNb3ZlIHJ1bGUgbWF0Y2hpbmcgYW5kIGFwcGx5aW5nIHRvIHNlcGFyYXRl
IGZ1bmN0aW9ucyBmcm9tIENTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRWxlbWVudAotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDgKLQotICAgICAg
ICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotCi0gICAgICAgIC0gTW92ZSBtYXRjaGluZyBj
b2RlIHRvIG1hdGNoQWxsUnVsZXMgYW5kIGFwcGx5aW5nIHRvIGFwcGx5TWF0Y2hlZERlY2xhcmF0
aW9ucy4KLSAgICAgICAgLSBFbmNhcHN1bGF0ZSB0aGUgbWF0Y2hpbmcgcmVzdWx0cyBpbnRvIGEg
c3RydWN0LCB1c2UgZXZlcnl3aGVyZS4KLSAgICAgICAgLSBNb3ZlIGZpcnN0LWxpbmUgc3R5bGUg
YWRqdXN0bWVudCB0byBhZGp1c3RSZW5kZXJTdHlsZSgpLgotICAgICAgICAtIFJlbW92ZSB1bm5l
Y2Vzc2FyeSB0ZXN0cyBmb3IgcmVzb2x2ZUZvclJvb3REZWZhdWx0IHdoZW4gYXBwbHlpbmcgdGhl
IHN0eWxlCi0gICAgICAgIC0gVXNlIGFwcGx5TWF0Y2hlZERlY2xhcmF0aW9ucyBhbHNvIGZyb20g
cHNldWRvU3R5bGVGb3JFbGVtZW50Ci0KLSAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXRjaEFsbFJ1bGVzKToK
LSAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoVUFSdWxlcyk6Ci0gICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpzdHlsZUZvckVsZW1lbnQpOgotICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6cHNldWRvU3R5bGVGb3JFbGVtZW50KToKLSAg
ICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yUGFnZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphZGp1c3RSZW5kZXJTdHlsZSk6Ci0gICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpwc2V1ZG9TdHlsZVJ1bGVzRm9yRWxlbWVudCk6
Ci0gICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseU1hdGNoZWREZWNsYXJh
dGlvbnMpOgotICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6Ci0gICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpNYXRjaFJlc3VsdDo6TWF0Y2hSZXN1bHQpOgotCi0yMDEx
LTEwLTE5ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KLQotICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBnZXQgcmlkIG9mIG1hbnVhbCB2aWV3IGhpZXJhcmNoeSBtYW5hZ2VtZW50
LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTcK
LQotICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgotCi0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5B
dWRpdHNQYW5lbC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRz
UGFuZWwucHJvdG90eXBlLl9jbGVhckJ1dHRvbkNsaWNrZWQpOgotICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQ29uc29sZVBhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNv
bGVQYW5lbC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVBh
bmVsLnByb3RvdHlwZS5oaWRlKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RldGFp
bGVkSGVhcHNob3RHcmlkTm9kZXMuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90R2VuZXJpY09iamVjdE5vZGUucHJvdG90eXBlLnF1ZXJ5T2JqZWN0Q29udGVudC5lbHNlLmZv
cm1hdFJlc3VsdCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90R2VuZXJpY09i
amVjdE5vZGUucHJvdG90eXBlLnF1ZXJ5T2JqZWN0Q29udGVudCk6Ci0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9EZXRhaWxlZEhlYXBzaG90Vmlldy5qczoKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EZXRhaWxlZEhlYXBzaG90Vmlldy5wcm90b3R5cGUuc2hvdy5wcm9maWxlQ2FsbGJhY2sy
KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5EZXRhaWxlZEhlYXBzaG90Vmlldy5wcm90b3R5cGUu
c2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuRGV0YWlsZWRIZWFwc2hvdFZpZXcucHJvdG90
eXBlLl9jaGFuZ2VWaWV3KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lGcmFtZVZp
ZXcuanM6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6Ci0g
ICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcpOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faW5pdGlhbGl6ZVZpZXcpOgotICAgICAgICAo
V2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgIChXZWJJ
bnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5fc2hvd1Jlc291cmNlKToKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLl9jbG9zZVZpc2libGVSZXNvdXJj
ZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3Iu
UGFuZWwucHJvdG90eXBlLmRldGFjaCk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Q
cm9maWxlc1BhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJv
dG90eXBlLl9yZXNldCk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90
b3R5cGUuY2xvc2VWaXNpYmxlVmlldyk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZW1vdGVPYmplY3QuanM6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVBy
ZXZpZXdWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlUHJldmlld1ZpZXcu
cHJvdG90eXBlLmNvbnRlbnRMb2FkZWQpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VSZXNwb25zZVZpZXcuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VS
ZXNwb25zZVZpZXcucHJvdG90eXBlLmNvbnRlbnRMb2FkZWQpOgotICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VUaW1pbmdWaWV3LmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlc291cmNlVGltaW5nVmlldy5wcm90b3R5cGUuc2hvdyk6Ci0gICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKLSAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZXNQYW5lbC5wcm90b3R5cGUucmVzZXQpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291
cmNlc1BhbmVsLnByb3RvdHlwZS5faW5uZXJTaG93Vmlldyk6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuRnJhbWVSZXNvdXJjZVRyZWVFbGVtZW50LnByb3RvdHlwZS5fcmVjcmVhdGVTb3VyY2VWaWV3
KToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl91aVNvdXJjZUNvZGVSZW1v
dmVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9jcmVh
dGVTb3VyY2VGcmFtZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3Rv
dHlwZS5fcmVtb3ZlU291cmNlRnJhbWUpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlRnJhbWUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5zaG93KToKLSAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanM6Ci0gICAgICAgIChXZWJJbnNwZWN0
b3IuVGFiYmVkUGFuZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5
cGUuYXBwZW5kVGFiKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlw
ZS5faGlkZVRhYik6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9WaWV3LmpzOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpZXcpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJv
dG90eXBlLnNob3cpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLmhpZGUp
OgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLmF0dGFjaCk6Ci0gICAgICAg
IChXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuZGV0YWNoKToKLSAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZS5fYWRkQ2hpbGRWaWV3KToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5WaWV3LnByb3RvdHlwZS5fcmVtb3ZlQ2hpbGRWaWV3KToKLSAgICAgICAgKFdlYkluc3BlY3Rv
ci5WaWV3LnByb3RvdHlwZS5kaXNwYXRjaFRvVmlzaWJsZUNoaWxkcmVuKToKLSAgICAgICAgKFdl
Ykluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5faGFuZGxlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9oYW5kbGVSZW1vdmVkRnJvbURv
Y3VtZW50KToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5wcmludFZpZXdI
aWVyYXJjaHkpOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLl9jb2xsZWN0
Vmlld0hpZXJhcmNoeSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKLQotMjAx
MS0xMC0yMCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KLQotICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBFbmFibGUgc3VwcG9ydCBmb3IgYWR2YW5jZWQgc2VhcmNoIGluIHNj
cmlwdCdzIHN0YXRpYyBjb250ZW50IHByb3ZpZGVyLgotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTQKLQotICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgotCi0gICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9z
ZWFyY2gtaW4tc3RhdGljLmh0bWwKLQotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWR2
YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVCYXNl
ZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5hZGRTZWFyY2hSZXN1bHQpOgotICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVBhbmVsLmpzOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLkNvbnNvbGVQYW5lbC5wcm90b3R5cGUucGVyZm9ybVNlYXJjaCk6Ci0gICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzOgotICAgICAgICAoV2ViSW5zcGVj
dG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUuc2VhcmNoSW5Db250ZW50KToKLSAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6Ci0gICAg
ICAgICgpOgotICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgot
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2Vh
cmNoKToKLSAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKLSAg
ICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zaG93U291cmNlTGlu
ZSk6Ci0gICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczoKLSAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5jcmVhdGVTZWFyY2hSZWdleCk6Ci0gICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanM6Ci0gICAgICAgICgpOgotCi0yMDEx
LTEwLTIwICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgotCi0g
ICAgICAgIFtFRkxdIERvIG5vdCBtYW51YWxseSBzZXQgdGhlIGZyYW1lUmVjdCBpbiBkaWZmZXJl
bnQgcGxhY2VzIGluIFNjcm9sbGJhckVmbC4KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwNDI3Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgVGhpcyBjb21taXQgaXMgcmVsYXRlZCB0byB0
aGUgZWZmb3J0IHRvd2FyZHMgaGF2aW5nIGEgZGlmZmVyZW50Ci0gICAgICAgIHNjcm9sbGJhciAo
d2l0aCBhIHNpemUgPiAwKSBmb3IgRHVtcFJlbmRlclRyZWUuCi0KLSAgICAgICAgU2Nyb2xsYmFy
OjpTY3JvbGxiYXIoKSBhbHJlYWR5IGNhbGxzIHNldEZyYW1lUmVjdCgpIHdpdGggdGhlIHNpemUK
LSAgICAgICAgb2J0YWluZWQgZnJvbSBTY3JvbGxiYXJUaGVtZTo6c2Nyb2xsYmFyVGhpY2tuZXNz
KCksIHdoaWNoIGlzIGN1cnJlbnRseQotICAgICAgICBhbHdheXMgMCBmb3IgdXMsIHNvIHRoZSBj
YWxsIHRvIHNldEZyYW1lUmVjdCgpIGluIFNjcm9sbGJhckVmbCdzCi0gICAgICAgIGNvbnN0cnVj
dG9yIGlzIG5vdCBuZWVkZWQgYW5kIHdvdWxkIGJyZWFrIHRoaW5ncyBpZiBzY3JvbGxiYXJUaGlj
a25lc3MKLSAgICAgICAgaXMgY2hhbmdlZCB0byByZXR1cm4gYW5vdGhlciB2YWx1ZS4KLQotICAg
ICAgICBUaGUgZnJhbWVSZWN0IGlzIGFsc28gbm90IGNoYW5nZWQgaW4gU2Nyb2xsYmFyRWZsOjpz
ZXRQYXJlbnQoKSBhbnltb3JlLAotICAgICAgICBhcyBpdCBhbHNvIGRvZXMgbm90IHRha2Ugc2Ny
b2xsYmFyVGhpY2tuZXNzKCkgaW50byBhY2NvdW50IGFuZCB0aHVzCi0gICAgICAgIGJyZWFrcyB1
c2luZyBvdGhlciB0aGVtZXMgc3VjaCBhcyBTY3JvbGxiYXJUaGVtZU1vY2sgaW4gRHVtcFJlbmRl
clRyZWUuCi0gICAgICAgIFJpZ2h0IG5vdywgaXQgaXMgYWx3YXlzIGdvaW5nIHRvIGJlIDAgYW55
d2F5LgotCi0gICAgICAgIEl0IGlzIHN0aWxsIHdvcmsgaW4gcHJvZ3Jlc3MsIHRob3VnaCAtLSBp
dCdkIGJlIGdvb2QgdG8gc29tZWhvdyBtb3ZlIHRoZQotICAgICAgICB0aGVtaW5nIGNvZGUgdG8g
U2Nyb2xsYmFyVGhlbWVFZmwsIGFzIHJpZ2h0IG5vdyBzY3JvbGxiYXIgRURDcyB3aXRoIGEKLSAg
ICAgICAgbm9uLXplcm8gbWluIHNpemUgd2lsbCBub3QgY2F1c2UgdGhlIHNjcm9sbGJhcnMgdG8g
aGF2ZSBub24temVybyBzaXplLgotCi0gICAgICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBtYWNo
aW5lcnkgbmVlZGVkIHRvIHJ1biB0aGUgY3VycmVudCB0ZXN0cy4KLQotICAgICAgICAqIHBsYXRm
b3JtL2VmbC9TY3JvbGxiYXJFZmwuY3BwOgotICAgICAgICAoU2Nyb2xsYmFyRWZsOjpTY3JvbGxi
YXJFZmwpOgotICAgICAgICAoU2Nyb2xsYmFyRWZsOjpzZXRQYXJlbnQpOgotCi0yMDExLTEwLTIw
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KLQotICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTc5NTQuCi0gICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0Lzk3OTU0Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDQ4NgotCi0gICAgICAgIGNsZWFuIGJ1aWxkIGZhaWxlZCBvbiBjaHJv
bWl1bS5tYWM6IEZpbGUKLSAgICAgICAgIi4uL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVj
dG9yLnB5IiwgbGluZSAzNCwgaW4gPG1vZHVsZT4KLSAgICAgICAgaW1wb3J0IGpzb24gKFJlcXVl
c3RlZCBieSBsb2lzbG8gb24gI3dlYmtpdCkuCi0KLSAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
LSAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6Ci0gICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKLSAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKLSAgICAgICAgKiBXZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cDoKLSAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5w
bTogQWRkZWQuCi0gICAgICAgIChuZXcpOgotICAgICAgICAoR2VuZXJhdGVNb2R1bGUpOgotICAg
ICAgICAoR2VuZXJhdGVJbnRlcmZhY2UpOgotICAgICAgICAoZ2VuZXJhdGVBZ2VudERlY2xhcmF0
aW9uKToKLSAgICAgICAgKGdlbmVyYXRlRnJvbnRlbmRDb25zdHJ1Y3RvckltcGwpOgotICAgICAg
ICAoZ2VuZXJhdGVGdW5jdGlvbnMpOgotICAgICAgICAoZ2VuZXJhdGVGcm9udGVuZEZ1bmN0aW9u
KToKLSAgICAgICAgKGNhbWVsQ2FzZSk6Ci0gICAgICAgIChnZW5lcmF0ZUJhY2tlbmRGdW5jdGlv
bik6Ci0gICAgICAgIChnZW5lcmF0ZUJhY2tlbmRTZW5kUmVzcG9uc2UpOgotICAgICAgICAoZ2Vu
ZXJhdGVCYWNrZW5kUmVwb3J0UHJvdG9jb2xFcnJvcik6Ci0gICAgICAgIChnZW5lcmF0ZUFyZ3Vt
ZW50R2V0dGVycyk6Ci0gICAgICAgIChnZW5lcmF0ZUJhY2tlbmREaXNwYXRjaGVyKToKLSAgICAg
ICAgKGdlbmVyYXRlQmFja2VuZE1lc3NhZ2VQYXJzZXIpOgotICAgICAgICAoY29sbGVjdEJhY2tl
bmRKU1N0dWJGdW5jdGlvbnMpOgotICAgICAgICAoY29sbGVjdEJhY2tlbmRKU1N0dWJFdmVudHMp
OgotICAgICAgICAoZ2VuZXJhdGVCYWNrZW5kU3R1YkpTKToKLSAgICAgICAgKGdlbmVyYXRlSGVh
ZGVyKToKLSAgICAgICAgKGdlbmVyYXRlU291cmNlKToKLSAgICAgICAgKHR5cGVUcmFpdHMpOgot
ICAgICAgICAocGFyYW1UeXBlVHJhaXRzKToKLSAgICAgICAgKGdlbmVyYXRlQmFja2VuZEFnZW50
RmllbGRzQW5kQ29uc3RydWN0b3IpOgotICAgICAgICAoZmluaXNoKToKLSAgICAgICAgKiBpbnNw
ZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weTogUmVtb3ZlZC4KLSAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246Ci0gICAgICAgICogaW5zcGVjdG9yL2dlbmVyYXRlLWluc3Bl
Y3Rvci1pZGw6IEFkZGVkLgotCi0yMDExLTEwLTIwICBBZGVuaWxzb24gQ2F2YWxjYW50aSAgPGFk
ZW5pbHNvbi5zaWx2YUBvcGVuYm9zc2Eub3JnPgotCi0gICAgICAgIEVuYWJsZSBnZW9sb2NhdGlv
biBjbGllbnQgYmFzZWQgZmxhZyBmb3IgUXQ1Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzMAotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGgg
Um9oZGUgQ2hyaXN0aWFuc2VuLgotCi0gICAgICAgIFRoaXMgd2lsbCBlbmFibGUgY2xpZW50IGJh
c2VkIGdlb2xvY2F0aW9uIGZvciBRdDUuCi0KLSAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGVu
YWJsZXMgZmxhZ3MgZm9yIFF0NS4KLQotICAgICAgICAqIGZlYXR1cmVzLnByaToKLQotMjAxMS0x
MC0yMCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgSW1w
bGVtZW50IGEgTWVzc2FnZUV2ZW50IGNvbnN0cnVjdG9yIGZvciBWOAotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyOTYKLQotICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgotCi0gICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy9tZXNzYWdlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKLQotICAgICAgICAqIGJpbmRpbmdzL3Y4
L09wdGlvbnNPYmplY3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9uc09iamVjdDo6Z2V0
S2V5VmFsdWUpOiBSZXR1cm5zIFJlZlB0cjxET01XaW5kb3c+IGNvcnJlc3BvbmRpbmcgdG8gYSBn
aXZlbiBrZXkuCi0gICAgICAgIChXZWJDb3JlOjpPcHRpb25zT2JqZWN0OjpnZXRLZXlWYWx1ZSk6
IFJldHVybnMgTWVzc2FnZVBvcnRBcnJheSBjb3JyZXNwb25kaW5nIHRvIGEgZ2l2ZW4ga2V5Lgot
ICAgICAgICAqIGJpbmRpbmdzL3Y4L09wdGlvbnNPYmplY3QuaDoKLSAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhFdmVudENvbnN0cnVjdG9ycy5jcHA6IEFkZGVkIGEgTWVzc2FnZUV2ZW50
IGNvbnN0cnVjdG9yLgotICAgICAgICAqIGRvbS9NZXNzYWdlRXZlbnQuaWRsOiBNYWtlcyBNZXNz
YWdlRXZlbnQgY29uc3RydWN0aWJsZSBmb3IgVjguCi0KLTIwMTEtMTAtMjAgIFBldGVyIFJ5Ymlu
ICA8cGV0ZXIucnliaW5AZ21haWwuY29tPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlaW1w
bGVtZW50IHByb3RvY29sIGJhY2tlbmQvZnJvbnRlbmQgc291cmNlIGdlbmVyYXRvcgotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTUKLQotICAgICAg
ICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgIE9sZCAyLXN0YWdlIHB5dGhv
bitwZXJmIGdlbmVyYXRvciB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIElETCBvdXRwdXQgaXMKLSAg
ICAgICAgYmVpbmcgcmVwbGFjZWQgd2l0aCBhIHNvbGlkIHB5dGhvbiBzY3JpcHQuIFRoaXMgaXMg
Zm9yIHNpbXBsaWNpdHkgYW5kCi0gICAgICAgIGFzIGEgYmFzZSBmb3IgdGhlIGZ1dHVyZSBKU09O
IHZhbGlkYXRvci4KLQotICAgICAgICAqIENNYWtlTGlzdHMudHh0OgotICAgICAgICAqIENvZGVH
ZW5lcmF0b3JzLnByaToKLSAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgotICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOgotICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgotICAg
ICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtOiBSZW1vdmVkLgotICAg
ICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OiBBZGRlZC4KLSAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246Ci0gICAgICAgICogaW5zcGVjdG9yL2dlbmVy
YXRlLWluc3BlY3Rvci1pZGw6IFJlbW92ZWQuCi0KLTIwMTEtMTAtMTggIFBhdmVsIFBvZGl2aWxv
diAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgV2ViIEluc3BlY3RvcjogZW5j
b2RlIHNvdXJjZSBtYXAgdXJsIGFzIHNvdXJjZSBtYXAgcGFnZSB1cmwgcXVlcnkgcGFyYW1ldGVy
LgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMjcK
LQotICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgotCi0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlci5qczoKLSAgICAgICAg
KFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdQcm92aWRlcik6Ci0gICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLmxvYWRT
b3VyY2VNYXBwaW5nLmZyYW1lTG9hZGVkKToKLSAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxl
clNvdXJjZU1hcHBpbmdQcm92aWRlci5wcm90b3R5cGUubG9hZFNvdXJjZU1hcHBpbmcpOgotICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLnByb3RvdHlw
ZS5sb2FkU291cmNlQ29kZSk6Ci0gICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VN
YXBwaW5nUHJvdmlkZXIucHJvdG90eXBlLl9zZW5kUmVxdWVzdCk6Ci0gICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9SYXdTb3VyY2VDb2RlLmpzOgotICAgICAgICAoV2ViSW5zcGVjdG9yLlJh
d1NvdXJjZUNvZGUuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS51aVNvdXJjZUNvZGVM
aXN0KToKLQotMjAxMS0xMC0xOSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0u
b3JnPgotCi0gICAgICAgIFdlYiBJbnNwZWN0b3I6IFRoZSAieCIgaW4gIjk4MHB4IHggMzZweCIg
bG9va3Mgd2VpcmQgaW4gdGhlIGluc3BlY3RvciBub2RlIGNhbGxvdXQKLSAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODU3Ci0KLSAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KLQotICAgICAgICAqIGluc3BlY3Rvci9ET01Ob2RlSGlnaGxp
Z2h0ZXIuY3BwOgotCi0yMDExLTEwLTIwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KLQotICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTc5MTcuCi0g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk3OTE3Ci0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ3NQotCi0gICAgICAgIG51
bWJlciBvZiBjcmFzaGVzIG9uIFNub3cgTGVvcGFyZC9MaW9uIHRlc3RzIGJvdHMKLSAgICAgICAg
aHR0cDovL2J1aWxkLndlYmtpdC5vcmcvcmVzdWx0cy9MaW9uJTIwSW50ZWwlMjBSZWxlYXNlJTIw
KFRlc3RzKS9yOTc5MTclMjAoMjAyMCkvaHR0cC90ZXN0cy9pbnNwZWN0b3IKLSAgICAgICAgL2V4
dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC1jcmFzaC1sb2cudHh0IChSZXF1ZXN0ZWQgYnkKLSAg
ICAgICAgbG9pc2xvIG9uICN3ZWJraXQpLgotCi0gICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tl
ci5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0
b3IpOgotICAgICAgICAqIGRvbS9PcHRpb25FbGVtZW50LmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
Ok9wdGlvbkVsZW1lbnQ6OnNldFNlbGVjdGVkU3RhdGUpOgotICAgICAgICAoV2ViQ29yZTo6T3B0
aW9uRWxlbWVudDo6b3B0aW9uSW5kZXgpOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVu
dDo6Y29sbGVjdE9wdGlvbkxhYmVsT3JUZXh0KToKLSAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbkVs
ZW1lbnQ6OmNvbGxlY3RPcHRpb25Jbm5lclRleHQpOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9u
RWxlbWVudDo6bm9ybWFsaXplVGV4dCk6Ci0gICAgICAgIChXZWJDb3JlOjpPcHRpb25FbGVtZW50
Ojpjb2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVsKToKLSAgICAgICAgKFdlYkNv
cmU6Ok9wdGlvbkVsZW1lbnREYXRhOjpPcHRpb25FbGVtZW50RGF0YSk6Ci0gICAgICAgIChXZWJD
b3JlOjpPcHRpb25FbGVtZW50RGF0YTo6fk9wdGlvbkVsZW1lbnREYXRhKToKLSAgICAgICAgKFdl
YkNvcmU6OnRvT3B0aW9uRWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjppc09wdGlvbkVsZW1l
bnQpOgotICAgICAgICAqIGRvbS9PcHRpb25FbGVtZW50Lmg6Ci0gICAgICAgIChXZWJDb3JlOjpP
cHRpb25FbGVtZW50Ojp+T3B0aW9uRWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3JlOjpPcHRpb25F
bGVtZW50RGF0YTo6dmFsdWUpOgotICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudERhdGE6
OnNldFZhbHVlKToKLSAgICAgICAgKFdlYkNvcmU6Ok9wdGlvbkVsZW1lbnREYXRhOjpsYWJlbCk6
Ci0gICAgICAgIChXZWJDb3JlOjpPcHRpb25FbGVtZW50RGF0YTo6c2V0TGFiZWwpOgotICAgICAg
ICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudERhdGE6OnNlbGVjdGVkKToKLSAgICAgICAgKFdlYkNv
cmU6Ok9wdGlvbkVsZW1lbnREYXRhOjpzZXRTZWxlY3RlZCk6Ci0gICAgICAgICogaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6
SFRNTE9wdGlvbkVsZW1lbnQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6
OmNyZWF0ZUZvckpTQ29uc3RydWN0b3IpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVs
ZW1lbnQ6OnRleHQpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OmluZGV4
KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6dmFsdWUpOgotICAg
ICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OnNlbGVjdGVkKToKLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6ZGVmYXVsdFNlbGVjdGVkKToKLSAgICAgICAgKFdlYkNvcmU6
OkhUTUxPcHRpb25FbGVtZW50OjpzZXREZWZhdWx0U2VsZWN0ZWQpOgotICAgICAgICAoV2ViQ29y
ZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OmxhYmVsKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRp
b25FbGVtZW50Ojp0ZXh0SW5kZW50ZWRUb1Jlc3BlY3RHcm91cExhYmVsKToKLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjppbnNlcnRlZEludG9UcmVlKToKLSAgICAgICAgKiBo
dG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6Ci0gICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bmV4dFZhbGlkSW5k
ZXgpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNhdmVMYXN0U2VsZWN0
aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZXRBY3RpdmVTZWxl
Y3Rpb25BbmNob3JJbmRleCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6
dXBkYXRlTGlzdEJveFNlbGVjdGlvbik6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxl
bWVudDo6bGlzdEJveE9uQ2hhbmdlKToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVt
ZW50OjpyZWNhbGNMaXN0SXRlbXMpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnNlbGVjdGVkSW5kZXgpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
OnNldFNlbGVjdGVkSW5kZXgpOgotICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
Om9wdGlvblRvTGlzdEluZGV4KToKLSAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0VG9PcHRpb25JbmRleCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVu
dDo6ZGVzZWxlY3RJdGVtc1dpdGhvdXRWYWxpZGF0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OkhU
TUxTZWxlY3RFbGVtZW50OjpzYXZlRm9ybUNvbnRyb2xTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudDo6cmVzdG9yZUZvcm1Db250cm9sU3RhdGUpOgotICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKToKLSAgICAgICAgKFdl
YkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZXNldCk6Ci0gICAgICAgIChXZWJDb3JlOjpIVE1M
U2VsZWN0RWxlbWVudDo6dXBkYXRlU2VsZWN0ZWRTdGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6bGFzdFNlbGVjdGVkTGlzdEluZGV4KToKLSAgICAgICAgKFdlYkNv
cmU6OkhUTUxTZWxlY3RFbGVtZW50Ojp0eXBlQWhlYWRGaW5kKToKLSAgICAgICAgKFdlYkNvcmU6
OkhUTUxTZWxlY3RFbGVtZW50OjphY2Nlc3NLZXlTZXRTZWxlY3RlZEluZGV4KToKLSAgICAgICAg
KFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpsZW5ndGgpOgotICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwOgotICAgICAgICAoV2ViQ29yZTo6SW1hZ2VC
dWZmZXI6OmNvcHlJbWFnZSk6Ci0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
OgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQpOgot
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6YWRkRm9jdXNSaW5nUmVjdHMpOgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6Ci0gICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1CYWNrZ3JvdW5kKToKLSAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNZW51TGlzdDo6c2V0VGV4dEZyb21PcHRpb24pOgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWVudUxpc3Q6Oml0ZW1UZXh0KToKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojpp
dGVtSXNTZWxlY3RlZCk6Ci0KLTIwMTEtMTAtMjAgIENhcm9sIFN6YWJvICA8Y2Fyb2xAd2Via2l0
Lm9yZz4KLQotICAgICAgICBUaWxlZCBCYWNraW5nIFN0b3JlIGRvZXMgbm90IHJlZ2VuZXJhdGUg
dGlsZXMgd2hlbiBpdCBzaG91bGQKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU3Nzk4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCi0K
LSAgICAgICAgQ2hhbmdlZCBUaWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0VmlzaWJsZVJlY3QgdG8g
dGFrZSBpbnRvIGFjY291bnQKLSAgICAgICAgY29udGVudHNTaXplLCB0aGUgc2FtZSB3YXkgYXMg
aXQgaXMgZG9uZSB3aGVuIHRpbGVzIGFyZSBnZW5lcmF0ZWQuCi0KLSAgICAgICAgVGhpcyBpcyBh
biBpc3N1ZSB0aGF0IHJlcXVpcmVzIGEgY2VydGFpbiBzZXF1ZW5jZSBvZiBBUEkgY2FsbHMgd2hp
Y2gKLSAgICAgICAgbWF5IG5vdCBiZSBlYXNpbHkgc2ltdWxhdGVkIGZyb20gRHVtcFJlbmRlclRy
ZWUsIGJ1dCB3aGljaCBpcyAKLSAgICAgICAgZWFzaWx5IHJlcHJvZHVjZWQgd2l0aCBRdFRlc3Qu
IFRoaXMgaXMgd2h5IEkgaGF2ZSBwcm92aWRlZCBvbmx5Ci0gICAgICAgIGEgUXQgc3BlY2lmaWMg
dGVzdCBkZXNwaXRlIHRoaXMgYmVpbmcgYSBnZW5lcmljIHByb2JsZW0uCi0KLSAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHA6Ci0gICAgICAgIChXZWJDb3Jl
OjpUaWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0VmlzaWJsZVJlY3QpOgotICAgICAgICBDaGFuZ2Vk
IHRvIHRha2UgaW50byBhY2NvdW50IENvbnRlbnRzU2l6ZS4KLSAgICAgICAgKFdlYkNvcmU6OlRp
bGVkQmFja2luZ1N0b3JlOjp2aXNpYmxlQ29udGVudHNSZWN0KToKLSAgICAgICAgQWRkZWQgdG8g
cmV0dXJuIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIHZpZXdwb3J0J3MgdmlzaWJsZSByZWN0IHdp
dGgKLSAgICAgICAgdGhlIENvbnRlbnRzUmVjdC4KLSAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFj
a2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6Ci0gICAgICAgIENoYW5nZWQgdG8gdGFrZSBpbnRvIGFj
Y291bnQgdGhlIENvbnRlbnRzU2l6ZSB3aGVuIGNhbGN1bGF0aW5nIHRoZQotICAgICAgICBwcmV2
aW91c2x5IHZpc2libGUgcmVjdC4KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJh
Y2tpbmdTdG9yZS5oOgotCi0yMDExLTEwLTE5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgotCi0gICAgICAgIGNvbXBvc2l0aW5nL3ZpZGVvIHRlc3RzIHRpbWUgb3V0IG9uIExpb24K
LSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQ4Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgotCi0gICAgICAgIENvdmVyZWQgYnkg
ZXhpc3RpbmcgdGVzdHMuCi0KLSAgICAgICAgQVZGb3VuZGF0aW9uIHdpbGwgb2NjYXNpb25hbGx5
IGZpbGwgaXQncyBwbGF5YmFjayBidWZmZXJzIGJlZm9yZSBjb2xsZWN0aW5nIGVub3VnaAotICAg
ICAgICBzdGF0aXN0aWNhbCBpbmZvcm1hdGlvbiB0byBhbnN3ZXIgWUVTIHRvIGlzTGlrZWx5VG9L
ZWVwVXAuICBJbiB0aGlzIHNpdHVhdGlvbiwgc2V0IHRoZQotICAgICAgICByZWFkeSBzdGF0ZSB0
byBIQVZFX0VOT1VHSF9EQVRBLCBvbiB0aGUgcHJlc3VtcHRpb24gdGhhdCBpZiB0aGUgcGxheWJh
Y2sgYnVmZmVycyBhcmUKLSAgICAgICAgZnVsbCwgcGxheWJhY2sgd2lsbCBwcm9iYWJseSBub3Qg
c3RhbGwuCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6dXBkYXRlU3RhdGVzKToKLQotMjAxMS0xMC0xOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgTWVzc2FnZUV2ZW50
LmRhdGEgY2FuIGJlIHN0b3JlZCBhcyBTY3JpcHRWYWx1ZS4KLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTc4Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkg
SGFqaW1lIE1vcml0YS4KLQotICAgICAgICBDdXJyZW50bHksIHRoZSBmb2xsb3dpbmcgdGVzdCBj
YXNlcyBmYWlsIG9yIGNyYXNoOgotCi0gICAgICAgIC0gc2hvdWxkQmUoIm5ldyBNZXNzYWdlRXZl
bnQoJ2V2ZW50VHlwZScsIHsgZGF0YTogdGVzdF9vYmplY3QgfSkuZGF0YSIsICJ0ZXN0X29iamVj
dCIpIC0+IEZBSUwKLSAgICAgICAgLSBuZXcgTWVzc2FnZUV2ZW50KCdldmVudFR5cGUnLCB7IGRh
dGE6IGRvY3VtZW50IH0pLmRhdGEgLT4gQ1JBU0gKLQotICAgICAgICBUaGlzIGlzIGJlY2F1c2Ug
TWVzc2FnZUV2ZW50LmRhdGEgaXMgaW1wbGVtZW50ZWQganVzdCBhcyBTZXJpYWxpemVkU2NyaXB0
VmFsdWUKLSAgICAgICAgYW5kIGl0IGNhbm5vdCBrZWVwIFNjcmlwdFZhbHVlIHBhc3NlZCBieSBK
YXZhU2NyaXB0LiBUaGlzIHBhdGNoIG1ha2VzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKLQotICAg
ICAgICAtIElmIE1lc3NhZ2VFdmVudCBpcyBjb25zdHJ1Y3RlZCB3aXRoIFNjcmlwdFZhbHVlLCBp
dCBpcyBzdG9yZWQgYXMgU2NyaXB0VmFsdWUgaW50ZXJuYWxseS4KLSAgICAgICAgV2hlbiBNZXNz
YWdlRXZlbnQuZGF0YSBpcyBjYWxsZWQsIHRoZSBTY3JpcHRWYWx1ZSBpcyByZXR1cm5lZC4KLSAg
ICAgICAgLSBJZiBNZXNzYWdlRXZlbnQgaXMgY29uc3RydWN0ZWQgd2l0aCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUsIGl0IGlzIHN0b3JlZCBhcwotICAgICAgICBTZXJpYWxpemVkU2NyaXB0VmFsdWUg
aW50ZXJuYWxseSAoc2luY2Ugd2UgY2Fubm90IGRlc2VyaWFsaXplIGl0IGludG8gU2NyaXB0VmFs
dWUKLSAgICAgICAgYXQgdGhpcyBwb2ludCBiZWNhdXNlIG9mIGxhY2sgb2YgRXhlY1N0YXRlKS4g
V2hlbiBNZXNzYWdlRXZlbnQuZGF0YSBpcyBjYWxsZWQsCi0gICAgICAgIHRoZSBTZXJpYWxpemVk
U2NyaXB0VmFsdWUgaXMgZGVzZXJpYWxpemVkIGludG8gdGhlIGNvcnJlc3BvbmRpbmcgU2NyaXB0
VmFsdWUsCi0gICAgICAgIGFuZCB0aGUgU2NyaXB0VmFsdWUgaXMgcmV0dXJuZWQuCi0KLSAgICAg
ICAgVGhpcyBwYXRjaCBkb2VzIG5vdCBtYWtlIGEgZml4IGZvciBPYmpDIGJpbmRpbmdzIGNvZGUs
IHNpbmNlIHdlIG5lZWQgdG8gZmlyc3QgZml4Ci0gICAgICAgIHRoZSBidWcgMjg3NzQsIGFzIGNv
bW1lbnRlZCBpbiBkb20vTWVzc2FnZUV2ZW50LmggYW5kIGRvbS9NZXNzYWdlRXZlbnQuY3BwLgot
Ci0gICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZXNzYWdlLWV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKLSAgICAgICAgICAgICAgZmFzdC9kb20vbWVzc2FnZS1wb3J0LWRlbGV0
ZWQtYnktYWNjZXNzb3IuaHRtbAotICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9pbml0LWV2ZW50
cy5odG1sCi0gICAgICAgICAgICAgIGZhc3QvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtYXR0cmli
dXRlLWxpc3RlbmVycy5odG1sCi0KLSAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVu
dEN1c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VFdmVudDo6ZGF0YSk6IEN1
c3RvbSBnZXR0ZXIgZm9yIE1lc3NhZ2VFdmVudC5kYXRhLiBTdXBwb3J0ZWQgU2NyaXB0VmFsdWUu
Ci0gICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VFdmVudDo6aGFuZGxlSW5pdE1lc3NhZ2VFdmVu
dCk6IENoYW5nZWQgU2VyaWFsaXplZFNjcmlwdFZhbHVlIHRvIFNjcmlwdFZhbHVlLiBSZW1vdmVk
IGEgJ2RvVHJhbnNmZXInIHBhcmFtZXRlci4KLSAgICAgICAgKFdlYkNvcmU6OkpTTWVzc2FnZUV2
ZW50Ojppbml0TWVzc2FnZUV2ZW50KTogUmVtb3ZlZCBhICdkb1RyYW5zZmVyJyBwYXJhbWV0ZXIu
Ci0gICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VFdmVudDo6d2Via2l0SW5pdE1lc3NhZ2VFdmVu
dCk6IERpdHRvLgotICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1
c3RvbS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpWOE1lc3NhZ2VFdmVudDo6ZGF0YUFjY2Vzc29y
R2V0dGVyKTogQ3VzdG9tIGdldHRlciBmb3IgTWVzc2FnZUV2ZW50LmRhdGEuIFN1cHBvcnRlZCBT
Y3JpcHRWYWx1ZS4KLSAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50Ojpwb3J0c0FjY2Vz
c29yR2V0dGVyKTogUmVtb3ZlZCBleHRyYSBzcGFjZXMuCi0gICAgICAgIChXZWJDb3JlOjpWOE1l
c3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudENhbGxiYWNrKTogQ2hhbmdlZCBTZXJpYWxpemVk
U2NyaXB0VmFsdWUgdG8gU2NyaXB0VmFsdWUuCi0gICAgICAgICogZG9tL01lc3NhZ2VFdmVudC5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlRXZlbnQ6Ok1lc3NhZ2VFdmVudCk6IFN1cHBv
cnRlZCBTY3JpcHRWYWx1ZS4KLSAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6aW5pdE1l
c3NhZ2VFdmVudCk6IFN1cHBvcnRlZCBTY3JpcHRWYWx1ZS4KLSAgICAgICAgKFdlYkNvcmU6Ok1l
c3NhZ2VFdmVudDo6aXNNZXNzYWdlRXZlbnQpOiBSZW1vdmVkIGV4dHJhIHNwYWNlcy4KLSAgICAg
ICAgKiBkb20vTWVzc2FnZUV2ZW50Lmg6IEFkZGVkIERhdGFUeXBlOjpEYXRhVHlwZVNjcmlwdFZh
bHVlLgotICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50OjpjcmVhdGUpOiBTdXBwb3J0ZWQg
U2NyaXB0VmFsdWUuCi0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlRXZlbnQ6OmRhdGFBc1Njcmlw
dFZhbHVlKTogR2V0dGVyIGZvciBkYXRhLiBJbnNlcnQgQVNTRVJUKCkgdG8gZ3VhcmFudGVlIHRo
YXQgdGhpcyBhY2Nlc3NvciBpcyBub3QgY2FsbGVkIGZvciB1bmludGVuZGVkIHR5cGUgb2YgZGF0
YS4KLSAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6ZGF0YUFzU2VyaWFsaXplZFNjcmlw
dFZhbHVlKTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlRXZlbnQ6OmRhdGFBc1N0
cmluZyk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50OjpkYXRhQXNCbG9i
KTogRGl0dG8uCi0gICAgICAgIChXZWJDb3JlOjpNZXNzYWdlRXZlbnQ6OmRhdGFBc0FycmF5QnVm
ZmVyKTogRGl0dG8uCi0gICAgICAgICogZG9tL01lc3NhZ2VFdmVudC5pZGw6IENoYW5nZWQgU2Vy
aWFsaXplZFNjcmlwdFZhbHVlIHRvIERPTU9iamVjdCAoaS5lLiBTY3JpcHRWYWx1ZSkuIFRoaXMg
cGF0Y2ggZG9lcyBub3QgdG91Y2ggYW4gT2JqQyBwYXJ0LiBSZW1vdmVkIFtDYWNoZWRBdHRyaWJ1
dGVdIGZyb20gTWVzc2FnZUV2ZW50LmRhdGEsIHNpbmNlIGl0IGlzIG5vdyBhIERPTU9iamVjdCBh
bmQgbmVlZHMgbm90IHRvIGJlIGNhY2hlZC4KLQotMjAxMS0xMC0xOSAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgotCi0gICAgICAgIEF0dGVtcHQgdG8gZml4IEdUSyBidWlsZC4KLQot
ICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgotCi09PSBSb2xsZWQgb3ZlciB0byBDaGFuZ2VMb2ct
MjAxMS0xMC0xOSA9PQorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlT3AKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA4
ZDM5ZDI0MjNhMDliZGYyZTAzNDhmMTliY2FkMTkxYjY0YjFmYzYuLmMwYjJiYWI1NWYyYjY0N2Qz
ZTMxOWVjMjA2ZGFlMThmNDhmODMwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNjYyLDUgKzY2MiwyNyBAQCB2b2lkIEFYT2JqZWN0
Q2FjaGU6OnRleHRNYXJrZXJEYXRhRm9yVmlzaWJsZVBvc2l0aW9uKFRleHRNYXJrZXJEYXRhJiB0
ZXh0TWFya2VyRAogICAgIAogICAgIGNhY2hlLT5zZXROb2RlSW5Vc2UoZG9tTm9kZSk7CiB9Ci0g
ICAgCisKK2NvbnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVu
dChjb25zdCBOb2RlKiBub2RlKQoreworICAgIGNvbnN0IEVsZW1lbnQqIHJlc3VsdCA9IG5vZGUt
PnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKKyAgICBjb25zdCBFbGVtZW50KiBlbGVtZW50ID0gbm9k
ZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpIDogbm9kZS0+cGFyZW50RWxlbWVu
dCgpOworCisgICAgZm9yICg7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVt
ZW50KCkpIHsKKyAgICAgICAgaWYgKG5vZGVJc1RleHRDb250cm9sKGVsZW1lbnQpKQorICAgICAg
ICAgICAgcmVzdWx0ID0gZWxlbWVudDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Citib29sIEFYT2JqZWN0Q2FjaGU6Om5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqIG5vZGUp
Cit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25zdCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVjdCA9IGdldE9yQ3JlYXRlKG5vZGUtPnJlbmRlcmVy
KCkpOworICAgIHJldHVybiBheE9iamVjdCAmJiBheE9iamVjdC0+aXNUZXh0Q29udHJvbCgpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDU2MGUwZjM0YjE2MTc1NzYxMmMwODJhMmViYzZhYjI3
YzhlOTg5YmEuLjdkYmU1NmQ0MDZjZjcxZmQyODc4M2YzYjQ4Zjg1ZmI5OGJhYTUzMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xMDYsNiAr
MTA2LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVtb3ZlQVhJRChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Kik7CiAgICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJ
blVzZS5jb250YWlucyhpZCk7IH0KKworICAgIEVsZW1lbnQqIHJvb3RBWEVkaXRhYmxlRWxlbWVu
dChOb2RlKik7CisgICAgY29uc3QgRWxlbWVudCogcm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0
IE5vZGUqKTsKKyAgICBib29sIG5vZGVJc1RleHRDb250cm9sKGNvbnN0IE5vZGUqKTsKKwogICAg
IEFYSUQgcGxhdGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYmplY3RGcm9tQVhJRChBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX29iamVjdHMuZ2V0
KGlkKS5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBmNjA1ZmZmZTVjZjY1YmI4Nzk3M2FkZGMyZGUy
NzkwZTcyMGU1YzVkLi4yZGIwMjIyZTE3YmM0OTY5ZGM3NjIzYjJmM2U0ZGQxNmEwMTI1YTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKQEAgLTEwNDAsNyArMTA0MCw3IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojps
aW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlUG9zKSBjb25zCiAg
ICAgLy8gdG9wIGRvY3VtZW50LgogICAgIGRvIHsKICAgICAgICAgc2F2ZWRWaXNpYmxlUG9zID0g
Y3VycmVudFZpc2libGVQb3M7Ci0gICAgICAgIFZpc2libGVQb3NpdGlvbiBwcmV2VmlzaWJsZVBv
cyA9IHByZXZpb3VzTGluZVBvc2l0aW9uKGN1cnJlbnRWaXNpYmxlUG9zLCAwKTsKKyAgICAgICAg
VmlzaWJsZVBvc2l0aW9uIHByZXZWaXNpYmxlUG9zID0gcHJldmlvdXNMaW5lUG9zaXRpb24oY3Vy
cmVudFZpc2libGVQb3MsIDAsIEhhc0VkaXRhYmxlQVhSb2xlKTsKICAgICAgICAgY3VycmVudFZp
c2libGVQb3MgPSBwcmV2VmlzaWJsZVBvczsKICAgICAgICAgKytsaW5lQ291bnQ7CiAgICAgfSAg
d2hpbGUgKGN1cnJlbnRWaXNpYmxlUG9zLmlzTm90TnVsbCgpICYmICEoaW5TYW1lTGluZShjdXJy
ZW50VmlzaWJsZVBvcywgc2F2ZWRWaXNpYmxlUG9zKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5k
ZXggZDNhM2M0YzYwOWE5NTg0OTA4MzcxMmRkZjg5ZDU4YWMxOTE4ZmVhNy4uNzMwYzExYzNhNGYz
ZGRiZDNhOWM2MjRlODcwMzY3NGExYjVjZTlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0y
NTQ1LDcgKzI1NDUsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JW
aXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogICAgICAgICByZXR1cm4g
MDsKICAgICAKICAgICBQb3NpdGlvbiBpbmRleFBvc2l0aW9uID0gcG9zLmRlZXBFcXVpdmFsZW50
KCk7Ci0gICAgaWYgKGluZGV4UG9zaXRpb24uaXNOdWxsKCkgfHwgcm9vdEVkaXRhYmxlRWxlbWVu
dEZvclBvc2l0aW9uKGluZGV4UG9zaXRpb24pICE9IG5vZGUpCisgICAgaWYgKGluZGV4UG9zaXRp
b24uaXNOdWxsKCkgfHwgaGlnaGVzdEVkaXRhYmxlUm9vdChpbmRleFBvc2l0aW9uLCBIYXNFZGl0
YWJsZUFYUm9sZSkgIT0gbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggOWU2ZGQ1ZmFjNmZkZWUwZmUwYzZj
YzNhN2QyNDlhMmE1ZmE5NmM0OS4uMDU3YTEyYjQ2MGU3ZDk1YmYyOTM3MmU2NzNmMzdhMzRmYmZm
YjE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtNzg4LDYgKzc4OCwyNSBAQCBib29sIE5vZGU6OnJl
bmRlcmVySXNFZGl0YWJsZShFZGl0YWJsZUxldmVsIGVkaXRhYmxlTGV2ZWwpIGNvbnN0CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIE5vZGU6OmlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHko
RWRpdGFibGVMZXZlbCBlZGl0YWJsZUxldmVsKSBjb25zdAoreworICAgIGlmIChyZW5kZXJlcklz
RWRpdGFibGUoZWRpdGFibGVMZXZlbCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8g
RklYTUU6IFJlc3BlY3QgZWRpdGFibGVMZXZlbCBmb3IgQVJJQSBlZGl0YWJsZSBlbGVtZW50cy4K
KyAgICBpZiAoZWRpdGFibGVMZXZlbCA9PSBSaWNobHlFZGl0YWJsZSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgQVNTRVJUKGRvY3VtZW50KCkpOworICAgIEFTU0VSVChBWE9iamVjdENh
Y2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+YXhP
YmplY3RDYWNoZUV4aXN0cygpKTsKKworICAgIGlmIChkb2N1bWVudCgpICYmIEFYT2JqZWN0Q2Fj
aGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZUV4
aXN0cygpKQorICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5yb290
QVhFZGl0YWJsZUVsZW1lbnQodGhpcyk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wg
Tm9kZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKQogewogICAgIHJldHVybiBpc0NvbnRlbnRFZGl0
YWJsZSgpOwpAQCAtMTYxNCw2ICsxNjMzLDE0IEBAIEVsZW1lbnQgKk5vZGU6OmVuY2xvc2luZ0Js
b2NrRmxvd0VsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitFbGVtZW50KiBOb2Rl
Ojpyb290RWRpdGFibGVFbGVtZW50KEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpIGNvbnN0Cit7
CisgICAgaWYgKGVkaXRhYmxlVHlwZSA9PSBIYXNFZGl0YWJsZUFYUm9sZSkKKyAgICAgICAgcmV0
dXJuIGNvbnN0X2Nhc3Q8RWxlbWVudCo+KGRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cm9v
dEFYRWRpdGFibGVFbGVtZW50KHRoaXMpKTsKKworICAgIHJldHVybiByb290RWRpdGFibGVFbGVt
ZW50KCk7Cit9CisKIEVsZW1lbnQqIE5vZGU6OnJvb3RFZGl0YWJsZUVsZW1lbnQoKSBjb25zdAog
ewogICAgIEVsZW1lbnQqIHJlc3VsdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBmYTY5Yjc1OTQwYjNk
NDE4N2JjOTc0NTM1NjNkYTljYWJkMWI1OTZmLi43NWVmNmI5ZDM5ZDY4YzZhMmM3YTM3NjZjOTVh
NWYwNzJmNjBlMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpZm5kZWYgTm9k
ZV9oCiAjZGVmaW5lIE5vZGVfaAogCisjaW5jbHVkZSAiRWRpdGluZ0JvdW5kYXJ5LmgiCiAjaW5j
bHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxh
eW91dFR5cGVzLmgiCkBAIC0yNzYsNyArMjc3LDggQEAgcHVibGljOgogICAgIEVsZW1lbnQqIGVu
Y2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoKSBjb25zdDsKICAgICAKICAgICBFbGVtZW50KiByb290
RWRpdGFibGVFbGVtZW50KCkgY29uc3Q7Ci0gICAgCisgICAgRWxlbWVudCogcm9vdEVkaXRhYmxl
RWxlbWVudChFZGl0YWJsZVR5cGUpIGNvbnN0OworCiAgICAgYm9vbCBpblNhbWVDb250YWluaW5n
QmxvY2tGbG93RWxlbWVudChOb2RlKik7CiAKICAgICAvLyBDYWxsZWQgYnkgdGhlIHBhcnNlciB3
aGVuIHRoaXMgZWxlbWVudCdzIGNsb3NlIHRhZyBpcyByZWFjaGVkLApAQCAtMzUzLDggKzM1NSwz
MCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpOwogICAgIGJvb2wgaXND
b250ZW50UmljaGx5RWRpdGFibGUoKTsKIAotICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKCkg
Y29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsgfQotICAgIGJvb2wg
cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXJJc0VkaXRh
YmxlKFJpY2hseUVkaXRhYmxlKTsgfQorICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRh
YmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0YWJsZSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHN3aXRjaCAoZWRpdGFibGVUeXBlKSB7CisgICAgICAgIGNhc2UgQ29udGVudElzRWRp
dGFibGU6CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlKTsK
KyAgICAgICAgY2FzZSBIYXNFZGl0YWJsZUFYUm9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0Vk
aXRhYmxlVG9BY2Nlc3NpYmlsaXR5KEVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGJv
b2wgcmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUgPSBD
b250ZW50SXNFZGl0YWJsZSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAoZWRpdGFibGVU
eXBlKSB7CisgICAgICAgIGNhc2UgQ29udGVudElzRWRpdGFibGU6CisgICAgICAgICAgICByZXR1
cm4gcmVuZGVyZXJJc0VkaXRhYmxlKFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgY2FzZSBIYXNF
ZGl0YWJsZUFYUm9sZToKKyAgICAgICAgICAgIHJldHVybiBpc0VkaXRhYmxlVG9BY2Nlc3NpYmls
aXR5KFJpY2hseUVkaXRhYmxlKTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRVc2VJbnB1dE1ldGhvZCgpOwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBnZXRSZWN0KCkg
Y29uc3Q7CiAgICAgTGF5b3V0UmVjdCByZW5kZXJSZWN0KGJvb2wqIGlzUmVwbGFjZWQpOwpAQCAt
NzA1LDYgKzcyOSw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0
YWJsZSwgUmljaGx5RWRpdGFibGUgfTsKICAgICBib29sIHJlbmRlcmVySXNFZGl0YWJsZShFZGl0
YWJsZUxldmVsKSBjb25zdDsKKyAgICBib29sIGlzRWRpdGFibGVUb0FjY2Vzc2liaWxpdHkoRWRp
dGFibGVMZXZlbCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFN0eWxlQ2hhbmdlKFN0eWxlQ2hhbmdl
VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JvdW5k
YXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCb3VuZGFyeS5oCmluZGV4IGY4
YWMxY2IwNDU2ODVmMmViNGRkZTI5NjRiYThkZmEwYzBlZDVhODQuLmVjZTdlMDM2ZGE1YmFmZjFi
MWQxNTZjYWI2ZGFkN2U4M2VjYzA0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ0JvdW5kYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5n
Qm91bmRhcnkuaApAQCAtMzQsNiArMzQsMTEgQEAgZW51bSBFZGl0aW5nQm91bmRhcnlDcm9zc2lu
Z1J1bGUgewogICAgIENhblNraXBPdmVyRWRpdGluZ0JvdW5kYXJ5CiB9OwogCitlbnVtIEVkaXRh
YmxlVHlwZSB7CisgICAgQ29udGVudElzRWRpdGFibGUsCisgICAgSGFzRWRpdGFibGVBWFJvbGUK
K307CisKIH0KIAogI2VuZGlmIC8vIEVkaXRpbmdCb3VuZGFyeV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4IDZmNDBhYmJlOWI2ZDJhYzJlMTczNGE4Y2VjM2RiMGRh
NzhlMTRiMzkuLjRlNmQ1MjgxNDRiYzJkOThmY2FhMTFiZjM1ZGNhNTRiNGRkZTRmZTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKIAorI2luY2x1ZGUgIkFY
T2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRpbmdU
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgpAQCAtNDYsNiArNDcsNyBAQAogI2lu
Y2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2lu
Y2x1ZGUgInZpc2libGVfdW5pdHMuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0
ZXJOYW1lcy5oPgogCkBAIC0xMDQsMTkgKzEwNiwxOSBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhj
b25zdCBWaXNpYmxlUG9zaXRpb24mIGEsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYikKICAgICBy
ZXR1cm4gY29tcGFyZVBvc2l0aW9ucyhhLmRlZXBFcXVpdmFsZW50KCksIGIuZGVlcEVxdWl2YWxl
bnQoKSk7CiB9CiAKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mIHBv
c2l0aW9uKQorTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYgcG9zaXRp
b24sIEVkaXRhYmxlVHlwZSBlZGl0YWJsZVR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IHBvc2l0
aW9uLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgCi0gICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlv
bihwb3NpdGlvbik7CisgICAgTm9kZSogaGlnaGVzdFJvb3QgPSBlZGl0YWJsZVJvb3RGb3JQb3Np
dGlvbihwb3NpdGlvbiwgZWRpdGFibGVUeXBlKTsKICAgICBpZiAoIWhpZ2hlc3RSb290KQogICAg
ICAgICByZXR1cm4gMDsKICAgICAKICAgICBub2RlID0gaGlnaGVzdFJvb3Q7CiAgICAgd2hpbGUg
KG5vZGUpIHsKLSAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAg
ICBpZiAobm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAg
ICBoaWdoZXN0Um9vdCA9IG5vZGU7CiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGJvZHlU
YWcpKQogICAgICAgICAgICAgYnJlYWs7CkBAIC0xNDMsNyArMTQ1LDcgQEAgTm9kZSogbG93ZXN0
RWRpdGFibGVBbmNlc3RvcihOb2RlKiBub2RlKQogICAgIHJldHVybiBsb3dlc3RSb290OwogfQog
Ci1ib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKK2Jvb2wgaXNFZGl0
YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBFZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBl
KQogewogICAgIE5vZGUqIG5vZGUgPSBwLmRlcHJlY2F0ZWROb2RlKCk7CiAgICAgaWYgKCFub2Rl
KQpAQCAtMTUyLDcgKzE1NCw3IEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5vZGUtPnJlbmRlcmVyKCktPmlz
VGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICAKLSAgICBy
ZXR1cm4gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgcmV0dXJuIG5vZGUtPnJlbmRl
cmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogfQogCiBib29sIGlzQXRVbnNwbGl0dGFibGVF
bGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCkBAIC0xNjIsNyArMTY0LDcgQEAgYm9vbCBpc0F0
VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQogfQogICAgIAogICAgIAot
Ym9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCitib29sIGlz
UmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCwgRWRpdGFibGVUeXBlIGVk
aXRhYmxlVHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gcC5kZXByZWNhdGVkTm9kZSgpOwogICAg
IGlmICghbm9kZSkKQEAgLTE3MSwxMCArMTczLDEwIEBAIGJvb2wgaXNSaWNobHlFZGl0YWJsZVBv
c2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwKQogICAgIGlmIChub2RlLT5yZW5kZXJlcigpICYmIG5v
ZGUtPnJlbmRlcmVyKCktPmlzVGFibGUoKSkKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5v
ZGUoKTsKICAgICAKLSAgICByZXR1cm4gbm9kZS0+cmVuZGVyZXJJc1JpY2hseUVkaXRhYmxlKCk7
CisgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVySXNSaWNobHlFZGl0YWJsZShlZGl0YWJsZVR5cGUp
OwogfQogCi1FbGVtZW50KiBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYg
cCkKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiBwLCBF
ZGl0YWJsZVR5cGUgZWRpdGFibGVUeXBlKQogewogICAgIE5vZGUqIG5vZGUgPSBwLmNvbnRhaW5l
ck5vZGUoKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xODMsNyArMTg1LDcgQEAgRWxlbWVudCogZWRp
dGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIHApCiAgICAgaWYgKG5vZGUtPnJl
bmRlcmVyKCkgJiYgbm9kZS0+cmVuZGVyZXIoKS0+aXNUYWJsZSgpKQogICAgICAgICBub2RlID0g
bm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIAotICAgIHJldHVybiBub2RlLT5yb290RWRpdGFibGVF
bGVtZW50KCk7CisgICAgcmV0dXJuIG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQoZWRpdGFibGVU
eXBlKTsKIH0KIAogLy8gRmluZHMgdGhlIGVuY2xvc2luZyBlbGVtZW50IHVudGlsIHdoaWNoIHRo
ZSB0cmVlIGNhbiBiZSBzcGxpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAppbmRl
eCBjNmI2ZGQ3YTFlMmZlODU2ZDMyOTg5Y2IzNTVkODY3MjA3Nzc0ZDUzLi4wZjJkMWJkYzBkNTg3
YWE5MzVmOTZkNzBmMDU0NGEyNWYwYWE2ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5oCkBAIC01NCw3ICs1NCw4IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAvLyBGdW5j
dGlvbnMgcmV0dXJuaW5nIE5vZGUKIAogTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKLU5v
ZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RF
ZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5cGUgPSBDb250ZW50SXNFZGl0
YWJsZSk7CisKIE5vZGUqIGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9u
JiwgYm9vbCAoKm5vZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLAogICAgIEVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSA9IENhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5LCBOb2RlKiBzdGF5V2l0
aGluID0gMCk7CiBOb2RlKiBoaWdoZXN0Tm9kZVRvUmVtb3ZlSW5QcnVuaW5nKE5vZGUqKTsKQEAg
LTE1MSw4ICsxNTIsOCBAQCBpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNv
bnN0IFBvc2l0aW9uJik7CiAKIC8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCiAgICAg
Ci1ib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBpc1JpY2hs
eUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNFZGl0YWJsZVBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElzRWRpdGFibGUpOwor
Ym9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mLCBFZGl0YWJsZVR5
cGUgPSBDb250ZW50SXNFZGl0YWJsZSk7CiBib29sIGlzRmlyc3RWaXNpYmxlUG9zaXRpb25JblNw
ZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CiBib29sIGlzTGFzdFZpc2libGVQb3NpdGlv
bkluU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKIGJvb2wgbGluZUJyZWFrRXhpc3Rz
QXRQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwpAQCAtMjIxLDcgKzIyMiw3IEBAIFBhc3NSZWZQ
dHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5v
ZGU+IHRhYlRleHROb2RlCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVRhYlNwYW5FbGVtZW50
KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB0YWJUZXh0KTsKIFBhc3NSZWZQdHI8RWxlbWVudD4g
Y3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotRWxlbWVudCogZWRp
dGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxl
Um9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiwgRWRpdGFibGVUeXBlID0gQ29udGVudElz
RWRpdGFibGUpOwogRWxlbWVudCogdW5zcGxpdHRhYmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJik7CiAKIC8vIEJvb2xlYW4gZnVuY3Rpb25zIG9uIEVsZW1lbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCmluZGV4IGM5MTczY2I2NWE2MzgwYThlNzgy
OTZlNTFmODIyYzM0MzRmYjllZmEuLjMzODEyNzgwMTRjMTQ5ZDY4MzY4YzVmYTY0NzIzZDViNGY1
N2M4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtNTE4
LDEyICs1MTgsMTIgQEAgYm9vbCBpc0VuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJnAp
CiB9CiAKIC8vIFRoZSBmaXJzdCBsZWFmIGJlZm9yZSBub2RlIHRoYXQgaGFzIHRoZSBzYW1lIGVk
aXRhYmlsaXR5IGFzIG5vZGUuCi1zdGF0aWMgTm9kZSogcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0
YWJpbGl0eShOb2RlKiBub2RlKQorc3RhdGljIE5vZGUqIHByZXZpb3VzTGVhZldpdGhTYW1lRWRp
dGFiaWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKLSAgICBi
b29sIGVkaXRhYmxlID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CisgICAgYm9vbCBlZGl0
YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZShlZGl0YWJsZVR5cGUpOwogICAgIE5vZGUq
IG4gPSBub2RlLT5wcmV2aW91c0xlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAg
aWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBpZiAoZWRp
dGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAgICAgICAg
ICByZXR1cm4gbjsKICAgICAgICAgbiA9IG4tPnByZXZpb3VzTGVhZk5vZGUoKTsKICAgICB9CkBA
IC01NTMsMTEgKzU1MywxMiBAQCBzdGF0aWMgaW5saW5lIEludFBvaW50IGFic29sdXRlTGluZURp
cmVjdGlvblBvaW50VG9Mb2NhbFBvaW50SW5CbG9jayhSb290SW5saW5lQgogICAgIHJldHVybiBJ
bnRQb2ludChyb290LT5zZWxlY3Rpb25Ub3AoKSwgbGluZURpcmVjdGlvblBvaW50IC0gYWJzb2x1
dGVCbG9ja1BvaW50LnkoKSk7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJl
Y3Rpb25Qb2ludCkKK1Zpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQb3NpdGlvbihjb25zdCBW
aXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwg
RWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBv
c2l0aW9uLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5v
ZGUoKTsKLSAgICBOb2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7Cisg
ICAgTm9kZSogaGlnaGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlw
ZSk7CisKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
ICAgICAKQEAgLTU4NCwxMSArNTg1LDExIEBAIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c0xpbmVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50CiAgICAg
ICAgIC8vIE5lZWQgdG8gbW92ZSBiYWNrIHRvIHByZXZpb3VzIGNvbnRhaW5pbmcgZWRpdGFibGUg
YmxvY2sgaW4gdGhpcyByb290IGVkaXRhYmxlCiAgICAgICAgIC8vIGJsb2NrIGFuZCBmaW5kIHRo
ZSBsYXN0IHJvb3QgbGluZSBib3ggaW4gdGhhdCBibG9jay4KICAgICAgICAgTm9kZSogc3RhcnRC
bG9jayA9IGVuY2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobm9kZSk7Ci0gICAgICAg
IE5vZGUqIG4gPSBwcmV2aW91c0xlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG5vZGUpOworICAgICAg
ICBOb2RlKiBuID0gcHJldmlvdXNMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBlZGl0YWJs
ZVR5cGUpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVuY2xvc2luZ05vZGVX
aXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gcHJldmlvdXNMZWFmV2l0
aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBwcmV2aW91c0xlYWZXaXRoU2Ft
ZUVkaXRhYmlsaXR5KG4sIGVkaXRhYmxlVHlwZSk7CiAgICAgICAgIHdoaWxlIChuKSB7Ci0gICAg
ICAgICAgICBpZiAoaGlnaGVzdEVkaXRhYmxlUm9vdChmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5v
ZGUobikpICE9IGhpZ2hlc3RSb290KQorICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJv
b3QoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG4pLCBlZGl0YWJsZVR5cGUpICE9IGhpZ2hl
c3RSb290KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgUG9zaXRpb24gcG9z
ID0gbi0+aGFzVGFnTmFtZShiclRhZykgPyBwb3NpdGlvbkJlZm9yZU5vZGUobikgOiBjcmVhdGVM
ZWdhY3lFZGl0aW5nUG9zaXRpb24obiwgY2FyZXRNYXhPZmZzZXQobikpOwogICAgICAgICAgICAg
aWYgKHBvcy5pc0NhbmRpZGF0ZSgpKSB7CkBAIC02MDEsNyArNjAyLDcgQEAgVmlzaWJsZVBvc2l0
aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmdmlzaWJsZVBv
c2l0aW9uLCBpbnQKIAogICAgICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9z
LCBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBwcmV2aW91c0xl
YWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IHByZXZpb3VzTGVhZldp
dGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAgIH0KICAg
ICAKQEAgLTYxOCw3ICs2MTksNyBAQCBWaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludAogICAgIC8vIENv
dWxkIG5vdCBmaW5kIGEgcHJldmlvdXMgbGluZS4gVGhpcyBtZWFucyB3ZSBtdXN0IGFscmVhZHkg
YmUgb24gdGhlIGZpcnN0IGxpbmUuCiAgICAgLy8gTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGNv
bnRlbnQgaW4gdGhpcyBibG9jaywgd2hpY2ggZWZmZWN0aXZlbHkgbW92ZXMgdXMKICAgICAvLyB0
byB0aGUgc3RhcnQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1l
bnQgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1l
bnQoKSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQq
IHJvb3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBu
b2RlLT5yb290RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgp
LT5kb2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1
cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBv
c2l0aW9uSW5Ob2RlKHJvb3RFbGVtZW50KSwgRE9XTlNUUkVBTSk7CkBAIC02MzgsMjYgKzYzOSwy
NyBAQCBzdGF0aWMgTm9kZSogbmV4dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KE5vZGUqIG5vZGUs
IGludCBvZmZzZXQpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBOb2RlKiBuZXh0TGVhZldp
dGhTYW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSkKK3N0YXRpYyBOb2RlKiBuZXh0TGVhZldpdGhT
YW1lRWRpdGFiaWxpdHkoTm9kZSogbm9kZSwgRWRpdGFibGVUeXBlIGVkaXRhYmxlVHlwZSA9IENv
bnRlbnRJc0VkaXRhYmxlKQogewogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgCi0gICAgYm9vbCBlZGl0YWJsZSA9IG5vZGUtPnJlbmRlcmVySXNFZGl0YWJsZSgpOworICAg
IGJvb2wgZWRpdGFibGUgPSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoZWRpdGFibGVUeXBlKTsK
ICAgICBOb2RlKiBuID0gbm9kZS0+bmV4dExlYWZOb2RlKCk7CiAgICAgd2hpbGUgKG4pIHsKLSAg
ICAgICAgaWYgKGVkaXRhYmxlID09IG4tPnJlbmRlcmVySXNFZGl0YWJsZSgpKQorICAgICAgICBp
ZiAoZWRpdGFibGUgPT0gbi0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkpCiAgICAg
ICAgICAgICByZXR1cm4gbjsKICAgICAgICAgbiA9IG4tPm5leHRMZWFmTm9kZSgpOwogICAgIH0K
ICAgICByZXR1cm4gMDsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5lUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxlUG9zaXRpb24sIGludCBsaW5lRGlyZWN0aW9uUG9p
bnQpCitWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbmVEaXJlY3Rpb25Qb2ludCwgRWRpdGFibGVUeXBl
IGVkaXRhYmxlVHlwZSkKIHsKICAgICBQb3NpdGlvbiBwID0gdmlzaWJsZVBvc2l0aW9uLmRlZXBF
cXVpdmFsZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IHAuZGVwcmVjYXRlZE5vZGUoKTsKLSAgICBO
b2RlKiBoaWdoZXN0Um9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QocCk7CisgICAgTm9kZSogaGln
aGVzdFJvb3QgPSBoaWdoZXN0RWRpdGFibGVSb290KHAsIGVkaXRhYmxlVHlwZSk7CisKICAgICBp
ZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKQEAgLTY4
Niw5ICs2ODgsOSBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNp
YmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAgICAgICBOb2RlKiBzdGFy
dEJsb2NrID0gZW5jbG9zaW5nTm9kZVdpdGhOb25JbmxpbmVSZW5kZXJlcihub2RlKTsKICAgICAg
ICAgTm9kZSogbiA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShub2RlLCBwLmRlcHJlY2F0
ZWRFZGl0aW5nT2Zmc2V0KCkpOwogICAgICAgICB3aGlsZSAobiAmJiBzdGFydEJsb2NrID09IGVu
Y2xvc2luZ05vZGVXaXRoTm9uSW5saW5lUmVuZGVyZXIobikpCi0gICAgICAgICAgICBuID0gbmV4
dExlYWZXaXRoU2FtZUVkaXRhYmlsaXR5KG4pOworICAgICAgICAgICAgbiA9IG5leHRMZWFmV2l0
aFNhbWVFZGl0YWJpbGl0eShuLCBlZGl0YWJsZVR5cGUpOwogICAgICAgICB3aGlsZSAobikgewot
ICAgICAgICAgICAgaWYgKGhpZ2hlc3RFZGl0YWJsZVJvb3QoZmlyc3RQb3NpdGlvbkluT3JCZWZv
cmVOb2RlKG4pKSAhPSBoaWdoZXN0Um9vdCkKKyAgICAgICAgICAgIGlmIChoaWdoZXN0RWRpdGFi
bGVSb290KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShuKSwgZWRpdGFibGVUeXBlKSAhPSBo
aWdoZXN0Um9vdCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIFBvc2l0aW9u
IHBvcyA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihuLCBjYXJldE1pbk9mZnNldChuKSk7
CiAgICAgICAgICAgICBpZiAocG9zLmlzQ2FuZGlkYXRlKCkpIHsKQEAgLTcwMiw3ICs3MDQsNyBA
QCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24g
JnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogCiAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2li
bGVQb3NpdGlvbihwb3MsIERPV05TVFJFQU0pOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
biA9IG5leHRMZWFmV2l0aFNhbWVFZGl0YWJpbGl0eShuKTsKKyAgICAgICAgICAgIG4gPSBuZXh0
TGVhZldpdGhTYW1lRWRpdGFiaWxpdHkobiwgZWRpdGFibGVUeXBlKTsKICAgICAgICAgfQogICAg
IH0KICAgICAKQEAgLTcxOSw3ICs3MjEsNyBAQCBWaXNpYmxlUG9zaXRpb24gbmV4dExpbmVQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnZpc2libGVQb3NpdGlvbiwgaW50IGxpbgogICAg
IC8vIENvdWxkIG5vdCBmaW5kIGEgbmV4dCBsaW5lLiBUaGlzIG1lYW5zIHdlIG11c3QgYWxyZWFk
eSBiZSBvbiB0aGUgbGFzdCBsaW5lLgogICAgIC8vIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgY29u
dGVudCBpbiB0aGlzIGJsb2NrLCB3aGljaCBlZmZlY3RpdmVseSBtb3ZlcyB1cwogICAgIC8vIHRv
IHRoZSBlbmQgb2YgdGhlIGxpbmUgd2UncmUgb24uCi0gICAgRWxlbWVudCogcm9vdEVsZW1lbnQg
PSBub2RlLT5yZW5kZXJlcklzRWRpdGFibGUoKSA/IG5vZGUtPnJvb3RFZGl0YWJsZUVsZW1lbnQo
KSA6IG5vZGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpOworICAgIEVsZW1lbnQqIHJv
b3RFbGVtZW50ID0gbm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKGVkaXRhYmxlVHlwZSkgPyBub2Rl
LT5yb290RWRpdGFibGVFbGVtZW50KGVkaXRhYmxlVHlwZSkgOiBub2RlLT5kb2N1bWVudCgpLT5k
b2N1bWVudEVsZW1lbnQoKTsKICAgICBpZiAoIXJvb3RFbGVtZW50KQogICAgICAgICByZXR1cm4g
VmlzaWJsZVBvc2l0aW9uKCk7CiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihsYXN0UG9zaXRp
b25Jbk5vZGUocm9vdEVsZW1lbnQpLCBET1dOU1RSRUFNKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy92
aXNpYmxlX3VuaXRzLmgKaW5kZXggNGQ4ZTA4MzE1MTFkYmYwNDNhMDQ1NjY0OWMzMzhlOGU4ZjQ4
ODAxMy4uM2NhNGNkYWFjM2RiYTJhMTMzNzg0Zjg1NzI1ZGE0YTZkZTg1NDk5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTU0LDggKzU0LDggQEAgVmlzaWJsZVBv
c2l0aW9uIG5leHRTZW50ZW5jZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIC8v
IGxpbmVzCiBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICYpOwogVmlzaWJsZVBvc2l0aW9uIGVuZE9mTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
Ci1WaXNpYmxlUG9zaXRpb24gcHJldmlvdXNMaW5lUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQpOwotVmlzaWJsZVBvc2l0aW9uIG5leHRMaW5l
UG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQp
OworVmlzaWJsZVBvc2l0aW9uIHByZXZpb3VzTGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJc0Vk
aXRhYmxlKTsKK1Zpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYsIGludCBsaW5lRGlyZWN0aW9uUG9pbnQsIEVkaXRhYmxlVHlwZSA9IENvbnRlbnRJ
c0VkaXRhYmxlKTsKIGJvb2wgaW5TYW1lTGluZShjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgY29u
c3QgVmlzaWJsZVBvc2l0aW9uICYpOwogYm9vbCBpc1N0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmKTsKIGJvb2wgaXNFbmRPZkxpbmUoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGNkMTM5YjQ1OGFlYTFlZThhNDdhNDRmYWVjYTJkNTJmYzg4ODBiYTIuLmFmZjZhZTg0
NTg5YWVlOWMyZDc3MzAyMTgyYjNkNjkyM2U5M2Y2YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0xMi0yMCAgQWxpY2UgQm94aGFsbCAgPGFib3hoYWxsQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXBvcnQgY29ycmVjdCBsaW5lIG51bWJlciBmb3Igbm9uLW5hdGl2ZSBlZGl0YWJsZSB0
ZXh0IGVsZW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEyNjMKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJvbGUtcmVw
b3J0cy1saW5lLW51bWJlci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMS0wMyAgQWRyaWVubmUgV2Fs
a2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gU3VwcG9ydCBSVEwg
cGFnZXMgYW5kIGVsZW1lbnRzIGluIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMt
bGluZS1udW1iZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTJjMjQ3N2UwYTUzNDcxZmU0
MjJmMzdhNzI5YmI5MDQ3ZTM4NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRzLWxpbmUtbnVtYmVyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitTb21lIHRleHQgaW4gYSB0ZXh0Ym94CitTb21lIHRleHQgaW4gYQor
bXVsdGlsaW5lIHRleHRib3guCitUaGlzIHRlc3RzIHRoYXQgdGhlIEFYU2VsZWN0aW9uIHByb3Bl
cnR5IGlzIGNvcnJlY3RseSByZXBvcnRlZCBmb3Igbm9uLW5hdGl2ZSB0ZXh0IGJveGVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
c2V0QmFzZUFuZEV4dGVudChhcmlhVGV4dEJveC5jaGlsZE5vZGVzWzBdLCAwLCBhcmlhVGV4dEJv
eC5jaGlsZE5vZGVzWzBdLCAwKTsgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciBp
cyAwCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGlu
ZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMF0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxk
Tm9kZXNbMF0sIDEpOyBheEVsZW1lbnQuaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyIGlzIDAKK1BB
U1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRl
eHRCb3guY2hpbGROb2Rlc1sxXSwgMSwgbXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1sx
XSwgMSk7IGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIgaXMgMQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGluZS1udW1iZXIu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dGJveC1yb2xlLXJlcG9ydHMtbGlu
ZS1udW1iZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhkZTNiZGQwNTMxOGQyY2E4ZmIxOTc0MWE5Y2My
ZWMzNzVhYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90
ZXh0Ym94LXJvbGUtcmVwb3J0cy1saW5lLW51bWJlci5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8ZGl2IHJvbGU9InRleHRib3giIGlk
PSJhcmlhVGV4dEJveCIgYXJpYS1tdWx0aWxpbmU9ImZhbHNlIiB0YWJpbmRleD0iMCI+U29tZSB0
ZXh0IGluIGEgdGV4dGJveDwvZGl2PgorPGRpdiByb2xlPSJ0ZXh0Ym94IiBpZD0ibXVsdGlsaW5l
QXJpYVRleHRCb3giIGFyaWEtbXVsdGlsaW5lPSJ0cnVlIiB0YWJpbmRleD0iMCI+PGRpdj5Tb21l
IHRleHQgaW4gYTwvZGl2PjxkaXY+bXVsdGlsaW5lIHRleHRib3guPC9kaXY+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0
aGF0IHRoZSBBWFNlbGVjdGlvbiBwcm9wZXJ0eSBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQgZm9yIG5v
bi1uYXRpdmUgdGV4dCBib3hlcy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ciAmJiB3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgdmFyIGFyaWFUZXh0Qm94ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyaWFUZXh0Qm94Iik7CisgICAgYXJpYVRleHRCb3guZm9j
dXMoKTsKKyAgICB2YXIgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VB
bmRFeHRlbnQoYXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMCwgYXJpYVRleHRCb3guY2hpbGRO
b2Rlc1swXSwgMCk7IgorICAgICAgICArICIgYXhFbGVtZW50Lmluc2VydGlvblBvaW50TGluZU51
bWJlciIsICIwIik7CisKKworICAgIHZhciBtdWx0aWxpbmVBcmlhVGV4dEJveCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtdWx0aWxpbmVBcmlhVGV4dEJveCIpOworICAgIG11bHRpbGluZUFy
aWFUZXh0Qm94LmZvY3VzKCk7CisgICAgYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICBzaG91bGRCZSgid2luZG93LmdldFNlbGVjdGlvbigp
LnNldEJhc2VBbmRFeHRlbnQobXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSwg
bXVsdGlsaW5lQXJpYVRleHRCb3guY2hpbGROb2Rlc1swXSwgMSk7IgorICAgICAgICArICIgYXhF
bGVtZW50Lmluc2VydGlvblBvaW50TGluZU51bWJlciIsICIwIik7CisgICAgc2hvdWxkQmUoIndp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KG11bHRpbGluZUFyaWFUZXh0Qm94
LmNoaWxkTm9kZXNbMV0sIDEsIG11bHRpbGluZUFyaWFUZXh0Qm94LmNoaWxkTm9kZXNbMV0sIDEp
OyIKKyAgICAgICAgKyAiIGF4RWxlbWVudC5pbnNlcnRpb25Qb2ludExpbmVOdW1iZXIiLCAiMSIp
OworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>