<?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>38713</bug_id>
          
          <creation_ts>2010-05-06 18:51:01 -0700</creation_ts>
          <short_desc>Support the labels attribute in labelable form controls</short_desc>
          <delta_ts>2010-05-26 06:15:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>38688</dependson>
          <blocked>19264</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>222112</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-06 18:51:01 -0700</bug_when>
    <thetext>The elements specified http://dev.w3.org/html5/spec/Overview.html#category-label should support the labels attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227647</commentid>
    <comment_count>1</comment_count>
      <attachid>56449</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-18 20:45:20 -0700</bug_when>
    <thetext>Created attachment 56449
Patch.

This patch adds a new cache type to NodeRareData. The cache is used for the labels list for each form control and is created on demand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228268</commentid>
    <comment_count>2</comment_count>
      <attachid>56449</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-20 01:23:48 -0700</bug_when>
    <thetext>Comment on attachment 56449
Patch.

WebCore/dom/Node.cpp:900
 +  void Node::notifyLocalNodeListsLabelChanged()
The content of this function is identical to notifyLocalNodeListsChildrenChanged().
Don&apos;t you want to invalidate just NodeListsNodeData::m_labelsNodeListCache?



WebCore/dom/Node.cpp:2532
 +          markDOMObjectWrapper(markStack, globalData, nodeLists-&gt;m_labelsNodeListCache.get());
No tests for this behavior. 


WebCore/html/HTMLLabelElement.cpp:177
 +          document()-&gt;notifyLocalNodeListsLabelChanged();
This part should be moved to parseMappedAttribute(). because we need to call it for &quot;for&quot; HTML attribute change too.
We need to have tests for label.setAttribute(&quot;for&quot;, ...) and label.removeAttribute(&quot;for&quot;).


LayoutTests/ChangeLog:8
 +          * fast/form-controls: Added.
Why you need to have new directory?  Isn&apos;t fast/forms enough?


LayoutTests/ChangeLog:20
 +          * fast/form-controls/labels-remove-parent-label.html: Added.
It seems we can write these tests in script-tests format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229089</commentid>
    <comment_count>3</comment_count>
      <attachid>56745</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-21 14:13:37 -0700</bug_when>
    <thetext>Created attachment 56745
Patch addressing issues found in comment #2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229094</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-21 14:17:45 -0700</bug_when>
    <thetext>Attachment 56745 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/dom/Node.cpp:903:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/dom/Node.cpp:904:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 2 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229099</commentid>
    <comment_count>5</comment_count>
      <attachid>56747</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-21 14:27:51 -0700</bug_when>
    <thetext>Created attachment 56747
Remove tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229274</commentid>
    <comment_count>6</comment_count>
      <attachid>56747</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-22 09:57:06 -0700</bug_when>
    <thetext>Comment on attachment 56747
Remove tabs.

WebCore/html/HTMLLabelElement.cpp:178
 +      if (attribute-&gt;name() == forAttr || attribute-&gt;name() == &quot;htmlFor&quot;) {
You don&apos;t need to handle &quot;htmlFor&quot;.  HTML5 doesn&apos;t define such HTML attribute.


Other parts look ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229291</commentid>
    <comment_count>7</comment_count>
      <attachid>56783</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-22 11:59:56 -0700</bug_when>
    <thetext>Created attachment 56783
Patch, remove &quot;htmlFor&quot; from parseMappedAttribute. (Comment #6)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229321</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-22 14:26:59 -0700</bug_when>
    <thetext>Attachment 56783 did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/2371041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229389</commentid>
    <comment_count>9</comment_count>
      <attachid>56805</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-22 19:20:49 -0700</bug_when>
    <thetext>Created attachment 56805
Update Visual Studio project file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229461</commentid>
    <comment_count>10</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-23 05:28:01 -0700</bug_when>
    <thetext>I have no idea why WebCore.vcproj did not apply cleanly. Is applied and the patch did build on my windows machine.
Is it possible to get the rej file from that machine?
In the meantime, I am just going to try again :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229462</commentid>
    <comment_count>11</comment_count>
      <attachid>56819</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-23 05:30:45 -0700</bug_when>
    <thetext>Created attachment 56819
Patch, try again on the windows bot

No changes from previous patch, other than updaing my environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229536</commentid>
    <comment_count>12</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-23 17:11:33 -0700</bug_when>
    <thetext>This might be already known, but the windows bot is rejecting every patch that modifies WebCore.vcproj, not only this patch.

For example these have the same problem:
https://bugs.webkit.org/show_bug.cgi?id=39574
https://bugs.webkit.org/show_bug.cgi?id=39557</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229539</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-23 17:51:02 -0700</bug_when>
    <thetext>Sounds like a bug in the EWS bot.  Or possibly svn-apply, but probably something is just funny about our win-ews configuration if &quot;webkit-patch apply-attachment 56819&quot; works fine off the bot (I have not tested).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229581</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-23 20:14:35 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Sounds like a bug in the EWS bot.  Or possibly svn-apply, but probably something is just funny about our win-ews configuration if &quot;webkit-patch apply-attachment 56819 [details]&quot; works fine off the bot (I have not tested).

Might this have something to do with .vcproj files using carriage returns?

See this report, for instance:

https://bugs.webkit.org/show_bug.cgi?id=38149

Maybe carriage returns are getting deleted somewhere along the line, causing the patch not to apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229696</commentid>
    <comment_count>15</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-24 04:30:01 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Sounds like a bug in the EWS bot.  Or possibly svn-apply, but probably something is just funny about our win-ews configuration if &quot;webkit-patch apply-attachment 56819 [details] [details]&quot; works fine off the bot (I have not tested).
&gt; 
&gt; Might this have something to do with .vcproj files using carriage returns?
&gt; 
&gt; See this report, for instance:
&gt; 
&gt; https://bugs.webkit.org/show_bug.cgi?id=38149
&gt; 
&gt; Maybe carriage returns are getting deleted somewhere along the line, causing the patch not to apply.

It probably is a carriage return issue. But there is probably also a SVN configuration issue on that machine. 
I am saying that because the patch did apply on my windows machine (inside a cygwin shell).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229804</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 10:42:59 -0700</bug_when>
    <thetext>The EWS machines use Git, they apply patches via svn-apply.  If we believe this is an SVN or EWS bug we should get a bug on file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229827</commentid>
    <comment_count>17</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-24 11:28:54 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; The EWS machines use Git, they apply patches via svn-apply.  If we believe this is an SVN or EWS bug we should get a bug on file.

Filed https://bugs.webkit.org/show_bug.cgi?id=39607</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230186</commentid>
    <comment_count>18</comment_count>
      <attachid>56819</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-25 02:41:23 -0700</bug_when>
    <thetext>Comment on attachment 56819
Patch, try again on the windows bot

WebCore/dom/Node.cpp:940
 +  void Node::removeCachedLabelsNodeList(DynamicNodeList* list, Node* /*node*/)
The Node* parameter is not used. We have no reason to keep it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230526</commentid>
    <comment_count>19</comment_count>
      <attachid>57054</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-25 16:59:25 -0700</bug_when>
    <thetext>Created attachment 57054
Remove un-needed argument</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230638</commentid>
    <comment_count>20</comment_count>
      <attachid>57054</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-26 03:24:57 -0700</bug_when>
    <thetext>Comment on attachment 57054
Remove un-needed argument

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230688</commentid>
    <comment_count>21</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-26 06:15:12 -0700</bug_when>
    <thetext>Committed r60232. &lt;http://trac.webkit.org/changeset/60232&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56449</attachid>
            <date>2010-05-18 20:45:20 -0700</date>
            <delta_ts>2010-05-21 14:13:37 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>35600</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTczNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTYgQEAKKzIwMTAtMDUtMTggIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0
dHJpYnV0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0
ZW0taW5kZXguaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1y
ZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Zvcm0tY29udHJv
bHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlOjpub3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdlZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlOjpyZW1vdmVDYWNoZWRMYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlTGlzdHNOb2RlRGF0YTo6aW52YWxpZGF0ZUNhY2hlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlTGlzdHNOb2RlRGF0YTo6aW52YWxpZGF0ZUNhY2hlc1RoYXREZXBlbmRPbkF0dHJpYnV0
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RzTm9kZURhdGE6OmlzRW1wdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6bWFya0NhY2hlZE5vZGVMaXN0c1Nsb3cpOgorICAgICAgICAq
IGRvbS9Ob2RlLmg6CisgICAgICAgICogZG9tL05vZGVSYXJlRGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZUxpc3RzTm9kZURhdGE6Ok5vZGVMaXN0c05vZGVEYXRhKToKKyAgICAgICAgKiBo
dG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6
aXNMYWJlbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6
bGFiZWxzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVs
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50OjpzZXRIdG1s
Rm9yKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGFiZWxz
Tm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2Rl
TGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxzTm9kZUxpc3QuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3JlYXRlKToKKwogMjAxMC0w
NS0xOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA1OTczNSkKKysrIFdlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTk2NSw2ICs5NjUsNyBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcAogICAgIGh0bWwvSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKICAgICBodG1sL0ltYWdlRGF0YS5jcHAKKyAgICBodG1s
L0xhYmVsc05vZGVMaXN0LmNwcAogICAgIGh0bWwvUHJlbG9hZFNjYW5uZXIuY3BwCiAgICAgaHRt
bC9TdGVwUmFuZ2UuY3BwCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNwcApJbmRleDogV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShy
ZXZpc2lvbiA1OTczNSkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTEyNDAsNiArMTI0MCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1s
L0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5jcHAg
XAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuaCBcCisJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVM
aXN0LmNwcCBcCisJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAogCVdlYkNvcmUvaHRt
bC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9QcmVsb2FkU2Nhbm5lci5jcHAgXAogCVdl
YkNvcmUvaHRtbC9QcmVsb2FkU2Nhbm5lci5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBp
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1OTczNSkKKysr
IFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNjM5LDYgKzE2MzksOCBA
QAogICAgICAgICAgICAgJ2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oJywKICAgICAgICAg
ICAgICdodG1sL0ltYWdlRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmgn
LAorICAgICAgICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwJywKKyAgICAgICAgICAgICdo
dG1sL0xhYmVsc05vZGVMaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFFcnJvci5oJywK
ICAgICAgICAgICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9QcmVsb2FkU2Nhbm5lci5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTk3MzUpCisrKyBXZWJDb3JlL1dl
YkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC02OTAsNiArNjkwLDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MVmlld1NvdXJj
ZURvY3VtZW50LmNwcCBcCiAgICAgaHRtbC9JbWFnZURhdGEuY3BwIFwKKyAgICBodG1sL0xhYmVs
c05vZGVMaXN0LmNwcCBcCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5lci5jcHAgXAogICAgIGh0bWwv
U3RlcFJhbmdlLmNwcCBcCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBcCkBAIC0xNDE3LDYg
KzE0MTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBcCiAg
ICAgaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogICAgIGh0bWwvSW1hZ2VEYXRhLmgg
XAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5lci5o
IFwKICAgICBodG1sL1N0ZXBSYW5nZS5oIFwKICAgICBodG1sL1RpbWVSYW5nZXMuaCBcCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTk3
MzUpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMjU4MCw2ICsyNTgwLDggQEAKIAkJQTQ1NDQyNEIxMTlCMzY2MTAwOUJFOTEy
IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE0NTQ0MjQ5MTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50
LmggKi87IH07CiAJCUE0NTQ0MjRFMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDU0NDI0QzEx
OUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwICovOyB9OwogCQlBNDU0NDI0RjExOUIz
Njg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjREMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRl
ci5oICovOyB9OworCQlBNDYyNkJGNzExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ2MjZC
RjUxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLzsgfTsKKwkJQTQ2MjZC
RjgxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIgLyog
TGFiZWxzTm9kZUxpc3QuaCAqLzsgfTsKIAkJQTUxM0IzRDcxMTRCMTY2NjAwMUM0MjlCIC8qIEtl
eUV2ZW50Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1Qzk3NENGMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLmggKi87IH07CiAJ
CUE1MTNCM0Q4MTE0QjE2NkEwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0RDAxMTQ4NUZGMTAwNjZG
MkFCIC8qIEtleUV2ZW50Q29jb2EubW0gKi87IH07CiAJCUE1OUUzQzFFMTE1ODBGNTEwMDcyOTI4
RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rl
c0lQaG9uZS5oICovOyB9OwpAQCAtODEzMSw2ICs4MTMzLDggQEAKIAkJQTQ1NDQyNDkxMTlCMzY2
MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNDU0NDI0QzExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ2MjZCRjUxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVs
c05vZGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExhYmVs
c05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ2MjZCRjYxMUEz
OEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExhYmVsc05vZGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEtleUV2ZW50Q29kZXNJUGhvbmUuaDsgcGF0aCA9
IGlwaG9uZS9LZXlFdmVudENvZGVzSVBob25lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1OUUzQzFEMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudElQaG9uZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEtleUV2ZW50SVBob25lLm1tOyBwYXRo
ID0gaXBob25lL0tleUV2ZW50SVBob25lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNUFGQjM0RDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0ZXBSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMzU3MSw2ICsxMzU3NSw4IEBACiAJCQkJQTc3OTc5MTMwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5
IC8qIEltYWdlRGF0YS5oICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFn
ZURhdGEuaWRsICovLAorCQkJCUE0NjI2QkY1MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2Rl
TGlzdC5jcHAgKi8sCisJCQkJQTQ2MjZCRjYxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVM
aXN0LmggKi8sCiAJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCAq
LywKIAkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5pZGwgKi8sCiAJ
CQkJRTRENEFCRTAwRDc1NDJGMDAwRjk2ODY5IC8qIFByZWxvYWRTY2FubmVyLmNwcCAqLywKQEAg
LTE5MjY5LDYgKzE5Mjc1LDcgQEAKIAkJCQk5N0U4QjNDMzExQTI4OTA4MDAxNjk0MDkgLyogSFRN
TDVUb2tlbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MTAzOEIxMUEyOTQ3MDAwREJENTBFIC8q
IEhUTUw1VG9rZW5pemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTMyN0Q2MDExQTMzQTJCMDA0
RjlENjUgLyogU2lua0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNDYyNkJGODExQTM4
QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjE1NTEs
NiArMjE1NTgsNyBAQAogCQkJCTk3RThCMzU2MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzEwMzhBMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1M
NVRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlE
NjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NjI2QkY3MTFBMzhC
QkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdl
YkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShy
ZXZpc2lvbiA1OTczNSkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRl
ICJMYWJlbHNOb2RlTGlzdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNYXBw
ZWRBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCkBAIC04OTYsNiArODk3LDI2
IEBAIHZvaWQgTm9kZTo6bm90aWZ5Tm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2UKICAgICAgICAgbi0+
bm90aWZ5TG9jYWxOb2RlTGlzdHNDaGlsZHJlbkNoYW5nZWQoKTsKIH0KIAordm9pZCBOb2RlOjpu
b3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdlZCgpCit7CisgICAgaWYgKCFoYXNSYXJlRGF0
YSgpKQorICAgICAgICByZXR1cm47CisgICAgTm9kZVJhcmVEYXRhKiBkYXRhID0gcmFyZURhdGEo
KTsKKyAgICBpZiAoIWRhdGEtPm5vZGVMaXN0cygpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgZGF0YS0+bm9kZUxpc3RzKCktPmludmFsaWRhdGVDYWNoZXMoKTsKKyAgICAKKyAgICBOb2Rl
TGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RTZXQ6Oml0ZXJhdG9yIGVuZCA9IGRhdGEtPm5vZGVMaXN0
cygpLT5tX2xpc3RzV2l0aENhY2hlcy5lbmQoKTsKKyAgICBmb3IgKE5vZGVMaXN0c05vZGVEYXRh
OjpOb2RlTGlzdFNldDo6aXRlcmF0b3IgaSA9IGRhdGEtPm5vZGVMaXN0cygpLT5tX2xpc3RzV2l0
aENhY2hlcy5iZWdpbigpOyBpICE9IGVuZDsgKytpKQorICAgICAgICAoKmkpLT5pbnZhbGlkYXRl
Q2FjaGUoKTsKKyAgICAKKyAgICBpZiAoZGF0YS0+bm9kZUxpc3RzKCktPmlzRW1wdHkoKSkgewor
ICAgICAgICBkYXRhLT5jbGVhck5vZGVMaXN0cygpOworICAgICAgICBkb2N1bWVudCgpLT5yZW1v
dmVOb2RlTGlzdENhY2hlKCk7CisgICAgfQorfQorCiB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZENs
YXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCogbGlzdCwgY29uc3QgU3RyaW5nJiBjbGFzc05hbWUp
CiB7CiAgICAgQVNTRVJUKHJhcmVEYXRhKCkpOwpAQCAtOTI5LDYgKzk1MCwxNiBAQCB2b2lkIE5v
ZGU6OnJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05vCiAgICAgZGF0YS0+bV90YWdOb2RlTGlz
dENhY2hlLnJlbW92ZShuYW1lLmltcGwoKSk7CiB9CiAKK3ZvaWQgTm9kZTo6cmVtb3ZlQ2FjaGVk
TGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiBsaXN0LCBOb2RlKiAvKm5vZGUqLykKK3sK
KyAgICBBU1NFUlQocmFyZURhdGEoKSk7CisgICAgQVNTRVJUKHJhcmVEYXRhKCktPm5vZGVMaXN0
cygpKTsKKyAgICBBU1NFUlRfVU5VU0VEKGxpc3QsIGxpc3QtPmhhc093bkNhY2hlcygpKTsKKyAg
ICAKKyAgICBOb2RlTGlzdHNOb2RlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCktPm5vZGVMaXN0cygp
OworICAgIGRhdGEtPm1fbGFiZWxzTm9kZUxpc3RDYWNoZSA9IDA7Cit9CisKIE5vZGUgKk5vZGU6
OnRyYXZlcnNlTmV4dE5vZGUoY29uc3QgTm9kZSAqc3RheVdpdGhpbikgY29uc3QKIHsKICAgICBp
ZiAoZmlyc3RDaGlsZCgpKQpAQCAtMjIwNiw2ICsyMjM3LDkgQEAgdm9pZCBOb2RlOjpmb3JtYXRG
b3JEZWJ1Z2dlcihjaGFyKiBidWZmZQogdm9pZCBOb2RlTGlzdHNOb2RlRGF0YTo6aW52YWxpZGF0
ZUNhY2hlcygpCiB7CiAgICAgbV9jaGlsZE5vZGVMaXN0Q2FjaGVzLT5yZXNldCgpOworCisgICAg
aWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAgICAgbV9sYWJlbHNOb2RlTGlzdENhY2hl
LT5pbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBUYWdOb2RlTGlzdENhY2hlOjpjb25zdF9pdGVyYXRv
ciB0YWdDYWNoZUVuZCA9IG1fdGFnTm9kZUxpc3RDYWNoZS5lbmQoKTsKICAgICBmb3IgKFRhZ05v
ZGVMaXN0Q2FjaGU6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV90YWdOb2RlTGlzdENhY2hlLmJlZ2lu
KCk7IGl0ICE9IHRhZ0NhY2hlRW5kOyArK2l0KQogICAgICAgICBpdC0+c2Vjb25kLT5pbnZhbGlk
YXRlQ2FjaGUoKTsKQEAgLTIyMjEsNiArMjI1NSw4IEBAIHZvaWQgTm9kZUxpc3RzTm9kZURhdGE6
OmludmFsaWRhdGVDYWNoZXMKICAgICBOYW1lTm9kZUxpc3RDYWNoZTo6aXRlcmF0b3IgbmFtZUNh
Y2hlRW5kID0gbV9uYW1lTm9kZUxpc3RDYWNoZS5lbmQoKTsKICAgICBmb3IgKE5hbWVOb2RlTGlz
dENhY2hlOjppdGVyYXRvciBpdCA9IG1fbmFtZU5vZGVMaXN0Q2FjaGUuYmVnaW4oKTsgaXQgIT0g
bmFtZUNhY2hlRW5kOyArK2l0KQogICAgICAgICBpdC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUo
KTsKKyAgICBpZiAobV9sYWJlbHNOb2RlTGlzdENhY2hlKQorICAgICAgICBtX2xhYmVsc05vZGVM
aXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOwogfQogCiBib29sIE5vZGVMaXN0c05vZGVEYXRh
Ojppc0VtcHR5KCkgY29uc3QKQEAgLTIyNDksNiArMjI4NSw5IEBAIGJvb2wgTm9kZUxpc3RzTm9k
ZURhdGE6OmlzRW1wdHkoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAorICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIHJldHVybiB0cnVlOwor
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTI0ODksNiArMjUyOCw4IEBAIHZvaWQgTm9kZTo6
bWFya0NhY2hlZE5vZGVMaXN0c1Nsb3coSlNDOjoKICAgICBtYXJrTm9kZUxpc3RzKG5vZGVMaXN0
cy0+bV9jbGFzc05vZGVMaXN0Q2FjaGUsIG1hcmtTdGFjaywgZ2xvYmFsRGF0YSk7CiAgICAgbWFy
a05vZGVMaXN0cyhub2RlTGlzdHMtPm1fbmFtZU5vZGVMaXN0Q2FjaGUsIG1hcmtTdGFjaywgZ2xv
YmFsRGF0YSk7CiAgICAgbWFya05vZGVMaXN0cyhub2RlTGlzdHMtPm1fdGFnTm9kZUxpc3RDYWNo
ZSwgbWFya1N0YWNrLCBnbG9iYWxEYXRhKTsKKyAgICBpZiAobm9kZUxpc3RzLT5tX2xhYmVsc05v
ZGVMaXN0Q2FjaGUpCisgICAgICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xv
YmFsRGF0YSwgbm9kZUxpc3RzLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUuZ2V0KCkpOwogfQogCiAj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Ob2RlLmgJKHJldmlzaW9uIDU5NzM1KQorKysgV2ViQ29yZS9kb20vTm9kZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01MjcsOSArNTI3LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIG5vdGlmeUxvY2Fs
Tm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiAgICAgdm9pZCBub3RpZnlOb2RlTGlzdHNBdHRy
aWJ1dGVDaGFuZ2VkKCk7CiAgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0c0F0dHJpYnV0ZUNo
YW5nZWQoKTsKKyAgICB2b2lkIG5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKCk7CiAg
ICAgdm9pZCByZW1vdmVDYWNoZWRDbGFzc05vZGVMaXN0KENsYXNzTm9kZUxpc3QqLCBjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlZE5hbWVOb2RlTGlzdChOYW1lTm9kZUxpc3Qq
LCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05v
ZGVMaXN0KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgcmVtb3ZlQ2FjaGVkTGFi
ZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiwgTm9kZSopOwogICAgIAogICAgIFBhc3NSZWZQ
dHI8Tm9kZUxpc3Q+IGdldEVsZW1lbnRzQnlUYWdOYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIFBh
c3NSZWZQdHI8Tm9kZUxpc3Q+IGdldEVsZW1lbnRzQnlUYWdOYW1lTlMoY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKTsKSW5kZXg6IFdlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oCShyZXZpc2lvbiA1OTczNSkKKysrIFdlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCSh3
b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw4IEBAIHN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6
IE5vbmNvcHlhYmxlIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFF1YWxpZmllZE5hbWU6
OlF1YWxpZmllZE5hbWVJbXBsPiwgVGFnTm9kZUxpc3QqPiBUYWdOb2RlTGlzdENhY2hlOwogICAg
IFRhZ05vZGVMaXN0Q2FjaGUgbV90YWdOb2RlTGlzdENhY2hlOwogCisgICAgUmVmUHRyPER5bmFt
aWNOb2RlTGlzdD4gbV9sYWJlbHNOb2RlTGlzdENhY2hlOworICAgIAogICAgIHN0YXRpYyBQYXNz
T3duUHRyPE5vZGVMaXN0c05vZGVEYXRhPiBjcmVhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IG5ldyBOb2RlTGlzdHNOb2RlRGF0YTsKQEAgLTYyLDcgKzY0LDcgQEAgc3RydWN0IE5vZGVMaXN0
c05vZGVEYXRhIDogTm9uY29weWFibGUgewogCiBwcml2YXRlOgogICAgIE5vZGVMaXN0c05vZGVE
YXRhKCkKLSAgICAgICAgOiBtX2NoaWxkTm9kZUxpc3RDYWNoZXMoRHluYW1pY05vZGVMaXN0OjpD
YWNoZXM6OmNyZWF0ZSgpKQorICAgICAgICA6IG1fY2hpbGROb2RlTGlzdENhY2hlcyhEeW5hbWlj
Tm9kZUxpc3Q6OkNhY2hlczo6Y3JlYXRlKCkpLCBtX2xhYmVsc05vZGVMaXN0Q2FjaGUoMCkKICAg
ICB7CiAgICAgfQogfTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkocmV2aXNp
b24gNTk3MzUpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYm9vbGVhbiAg
Y2hlY2tWYWxpZGl0eSgpOwogICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGluIFtDb252
ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZXJyb3IpOwogICAgICAg
ICB2b2lkIGNsaWNrKCk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgTm9kZUxpc3QgICAg
ICAgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1OTczNSkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFJhcmVEYXRhLmgiCiAjaW5jbHVkZSAiRXZl
bnQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRN
TFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKKyNpbmNsdWRlICJMYWJlbHNO
b2RlTGlzdC5oIgogI2luY2x1ZGUgIk1hcHBlZEF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKQEAgLTQwNiwxMSArNDA4LDMwIEBAIGJvb2wgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6aXNMYWJlbGFibGUKIHsKICAgICAvLyBGSVhNRTogQWRkIG1l
dGVyVGFnIGFuZCBvdXRwdXRUYWcgdG8gdGhlIGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCiAg
ICAgcmV0dXJuIGhhc1RhZ05hbWUoYnV0dG9uVGFnKSB8fCBoYXNUYWdOYW1lKGlucHV0VGFnKSB8
fCBoYXNUYWdOYW1lKGtleWdlblRhZykKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB8
fCBoYXNUYWdOYW1lKG1ldGVyVGFnKQorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykK
ICAgICAgICAgfHwgaGFzVGFnTmFtZShwcm9ncmVzc1RhZykKICNlbmRpZgogICAgICAgICB8fCBo
YXNUYWdOYW1lKHNlbGVjdFRhZykgfHwgaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZyk7CiB9CisKK1Bh
c3NSZWZQdHI8Tm9kZUxpc3Q+IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmxhYmVscygpCit7Cisg
ICAgaWYgKCFpc0xhYmVsYWJsZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIWRvY3Vt
ZW50KCkpCisgICAgICAgIHJldHVybiAwOworICAgIAorICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9
IE5vZGU6OmVuc3VyZVJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkgewor
ICAgICAgICBkYXRhLT5zZXROb2RlTGlzdHMoTm9kZUxpc3RzTm9kZURhdGE6OmNyZWF0ZSgpKTsK
KyAgICAgICAgZG9jdW1lbnQoKS0+YWRkTm9kZUxpc3RDYWNoZSgpOworICAgIH0KKyAgICAKKyAg
ICByZXR1cm4gTGFiZWxzTm9kZUxpc3Q6OmNyZWF0ZSh0aGlzKTsKK30KICAgICAKIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYywgSFRNTEZvcm1FbGVt
ZW50KiBmKQogICAgIDogSFRNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MsIGYpCklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgJKHJldmlzaW9uIDU5NzM1KQor
KysgV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTIzLDYgKzEyMyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVy
RXZlbnQoKTsKIAogICAgIGJvb2wgaXNMYWJlbGFibGUoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRy
PE5vZGVMaXN0PiBsYWJlbHMoKTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIHJlbW92ZUZy
b21Gb3JtKCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiA1OTcz
NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtOTUsNiArOTUsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKIAogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRmlsZUxpc3QgZmlsZXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAg
Tm9kZUxpc3QgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MTGFiZWxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVs
RWxlbWVudC5jcHAJKHJldmlzaW9uIDU5NzM1KQorKysgV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDEwIEBAIFN0cmluZyBIVE1M
TGFiZWxFbGVtZW50OjpodG1sRm9yKCkgY29uc3QKIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6c2V0
SHRtbEZvcihjb25zdCBTdHJpbmcgJnZhbHVlKQogewogICAgIHNldEF0dHJpYnV0ZShmb3JBdHRy
LCB2YWx1ZSk7CisgICAgLy8gaHRtbEZvciBhdHRyaWJ1dGUgY2hhbmdlIGFmZmVjdHMgb3RoZXIg
bm9kZXMgdGhhbiB0aGlzLgorICAgIC8vIENsZWFyIHRoZSBjYWNoZXMgdG8gZW5zdXJlIHRoYXQg
dGhlIGxhYmVscyBjYWNoZXMgYXJlIGNsZWFyZWQuCisgICAgaWYgKGRvY3VtZW50KCkpCisgICAg
ICAgIGRvY3VtZW50KCktPm5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCShyZXZpc2lv
biA1OTczNSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNSArMzQsNiBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBkb3VibGUgb3B0aW11bQogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNl
cyhET01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVt
ZW50IGZvcm07CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiAg
ICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGwJKHJldmlzaW9u
IDU5NzM1KQorKysgV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAgICAg
ICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlICBkb3VibGUgICAgICAgICAgICAgICAgcG9zaXRpb247CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSAgSFRNTEZvcm1FbGVtZW50ICAgICAgIGZvcm07CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSAgTm9kZUxpc3QgICAgICAgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJKHJldmlzaW9uIDU5NzM1KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgs
NyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIC8vICJUaGUgY29udGFpbmVkIG9wdGlvbnMgY2Fu
IGJlIGRpcmVjdGx5IGFjY2Vzc2VkIHRocm91Z2ggdGhlIHNlbGVjdCBlbGVtZW50IGFzIGEgY29s
bGVjdGlvbi4iCiAgICAgICAgIE5vZGUgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBp
bmRleCk7CiAgICAgICAgIE5vZGUgbmFtZWRJdGVtKGluIERPTVN0cmluZyBuYW1lKTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0ICAgICAgICBsYWJlbHM7CiAgICAgfTsKIAog
fQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkocmV2aXNpb24gNTk3MzUp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTUwLDYgKzUwLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgbG9uZyBzZWxlY3Rpb25TdGFydDsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcg
c2VsZWN0aW9uRW5kOwogICAgICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGluIGxvbmcgc3Rh
cnQsIGluIGxvbmcgZW5kKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAg
ICAgICAgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9MYWJl
bHNOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qKgorICogQ29weXJpZ2h0IChDKSAxOTk5IExh
cnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29p
dmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBNdWVs
bGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDcsIDIwMDgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5v
a2lhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkxhYmVsc05vZGVMaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTExhYmVsRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK0xhYmVsc05vZGVMaXN0
OjpMYWJlbHNOb2RlTGlzdChQYXNzUmVmUHRyPE5vZGU+IGZvck5vZGUgKQorICAgIDogRHluYW1p
Y05vZGVMaXN0KGZvck5vZGUtPmRvY3VtZW50KCkpICwgbV9mb3JOb2RlKGZvck5vZGUpCit7Cit9
CisKK0xhYmVsc05vZGVMaXN0Ojp+TGFiZWxzTm9kZUxpc3QoKQoreworICAgIG1fZm9yTm9kZS0+
cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QodGhpcywgbV9mb3JOb2RlLmdldCgpKTsKK30gCisg
ICAgCitib29sIExhYmVsc05vZGVMaXN0Ojpub2RlTWF0Y2hlcyhFbGVtZW50KiB0ZXN0Tm9kZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdGVzdE5vZGUtPmhhc1RhZ05hbWUobGFiZWxUYWcpICYmIHN0
YXRpY19jYXN0PEhUTUxMYWJlbEVsZW1lbnQqPih0ZXN0Tm9kZSktPmNvbnRyb2woKSA9PSBtX2Zv
ck5vZGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvaHRtbC9M
YWJlbHNOb2RlTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlz
dC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBL
bm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0
byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIg
KG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBMYWJlbHNOb2RlTGlzdF9oCisjZGVmaW5l
IExhYmVsc05vZGVMaXN0X2gKKworI2luY2x1ZGUgIkR5bmFtaWNOb2RlTGlzdC5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGFi
ZWxzTm9kZUxpc3QgOiBwdWJsaWMgRHluYW1pY05vZGVMaXN0IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxMYWJlbHNOb2RlTGlzdD4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gZm9y
Tm9kZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTGFiZWxzTm9kZUxpc3Qo
Zm9yTm9kZSkpOworICAgIH0KKyAgICB+TGFiZWxzTm9kZUxpc3QoKTsKKworcHJvdGVjdGVkOgor
ICAgIExhYmVsc05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSk7CisKKyAgICB2aXJ0
dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCopIGNvbnN0OworCitwcml2YXRlOgorICAgIFJl
ZlB0cjxOb2RlPiBtX2Zvck5vZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBMYWJlbHNOb2RlTGlzdF9oCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTczNykKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEw
LTA1LTE4ICB5YWVsIGFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHRoZSBsYWJlbHMg
YXR0cmlidXRlIGluIGxhYmVsYWJsZSBmb3JtIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODcxMworCisgICAgICAgICogZmFzdC9mb3Jt
LWNvbnRyb2xzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFk
ZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
LWNvbnRyb2xzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1wYXJlbnQt
bGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1j
aGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0ZW0taW5kZXgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0
ZW0taW5kZXguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybS1jb250cm9scy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVs
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVs
cy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA1LTE4ICBKYW1lcyBS
b2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFi
ZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250
cm9scy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJl
bC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0cyB0
aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRh
dGVkIHdoZW4gYWRkaW5nIGEgbGFiZWwgd2hvc2UgaHRtbEZvciBwb2ludHMgdG8gdGhhdCBjb250
cm9sLiBJZiB0aGUgdGVzdCBpcyBzdWNjZXNzZnVsLCB0aGUgdGV4dCAiU1VDQ0VTUyIgc2hvdWxk
IHNob3cgYmVsb3cuCisKK1NVQ0NFU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250
cm9scy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1o
dG1sRm9yLWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBmb3IgKGkgPSAxOyBpIDwgNTsgaSsrKSB7CisgICAgICAgIGxhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZCIgKyBpKS5sYWJlbHM7CisgICAgICAgIGlmIChs
YWJlbHMubGVuZ3RoICE9IDApCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxhYmVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKKyAgICAgICAgbGFiZWwuaHRtbEZvciA9
ICJpZCIgKyBpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVu
ZENoaWxkKGxhYmVsKTsKKyAgICAgICAgaWYgKGxhYmVscy5sZW5ndGggIT0gMSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0
JykuaW5uZXJIVE1MID0gJ1NVQ0NFU1MnOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2Yg
YSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxhYmVs
IHdob3NlIGh0bWxGb3IgcG9pbnRzIHRvIHRoYXQgY29udHJvbC4KKworSWYgdGhlIHRlc3QgaXMg
c3VjY2Vzc2Z1bCwgdGhlIHRleHQgIlNVQ0NFU1MiIHNob3VsZCBzaG93IGJlbG93Ljxicj4KKwor
PGRpdiBpZD0iZGl2MSI+PC9kaXY+Cis8ZGl2IGlkPSJkaXYyIj4KKzxidXR0b24gaWQ9ImlkMSI+
PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRh
cmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+Cis8L2Rpdj4KKworPGRpdiBpZD0icmVzdWx0Ij5GQUlM
VVJFPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3JtLWNvbnRyb2xzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWFkZC1wYXJlbnQt
bGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
LWNvbnRyb2xzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEg
Zm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBh
cyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBjb250cm9sLiBJZiB0aGUgdGVzdCBpcyBzdWNjZXNzZnVs
LCB0aGUgdGV4dCAiU1VDQ0VTUyIgc2hvdWxkIHNob3cgYmVsb3cuCisKK1NVQ0NFU1MKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMt
YWRkLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3JtLWNvbnRyb2xzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBmb3IgKGkgPSAxOyBpIDwgNTsg
aSsrKSB7CisgICAgICAgIGxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZCIgKyBp
KS5sYWJlbHM7CisgICAgICAgIGlmIChsYWJlbHMubGVuZ3RoICE9IDApCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJl
bCk7CisgICAgICAgIGxhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZCIgKyBpKSk7CisgICAgICAgIGlmIChsYWJlbHMubGVuZ3RoICE9IDEpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlu
bmVySFRNTCA9ICdTVUNDRVNTJzsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9y
bSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBhcyBw
YXJlbnQgZm9yIHRoYXQgZm9ybSBjb250cm9sLgorCitJZiB0aGUgdGVzdCBpcyBzdWNjZXNzZnVs
LCB0aGUgdGV4dCAiU1VDQ0VTUyIgc2hvdWxkIHNob3cgYmVsb3cuPGJyPgorCis8ZGl2IGlkPSJk
aXYxIj48L2Rpdj4KKzxkaXYgaWQ9ImRpdjIiPgorPGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48
aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9Imlk
NCI+PC90ZXh0YXJlYT4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJv
bHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1jaGFuZ2UtaHRtbEZv
ci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3JtLWNvbnRyb2xzL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgbGFi
ZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRo
ZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBj
b250cm9sLiBJZiB0aGUgdGVzdCBpcyBzdWNjZXNzZnVsLCB0aGUgdGV4dCAiU1VDQ0VTUyIgc2hv
dWxkIHNob3cgYmVsb3cuCisgCitTVUNDRVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0t
Y29udHJvbHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtY2hhbmdlLWh0bWxGb3It
YXR0cmlidXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29u
dHJvbHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgZm9yIChpID0gMTsgaSA8IDU7
IGkrKykgeworICAgIGxhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsK
KyAgICAgICAgbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkIiArIGkpLmxhYmVs
czsKKyAgICAgICAgaWYgKGxhYmVscy5sZW5ndGggIT0gMCkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgbGFiZWwuaHRtbEZvciA9ICJpZCIgKyBpOworICAgICAgICBpZiAobGFiZWxzLmxl
bmd0aCAhPSAxKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0
IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVk
IHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0
byB0aGF0IGNvbnRyb2wuCisKK0lmIHRoZSB0ZXN0IGlzIHN1Y2Nlc3NmdWwsIHRoZSB0ZXh0ICJT
VUNDRVNTIiBzaG91bGQgc2hvdyBiZWxvdy48YnI+CisKKzxkaXYgaWQ9ImRpdjEiPjwvZGl2Pgor
PGRpdiBpZD0iZGl2MiI+PGxhYmVsIGlkPSJsYWJlbElkIj48L2xhYmVsPgorPGJ1dHRvbiBpZD0i
aWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48
dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHQi
PkZBSUxVUkU8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtaXRlbS1pbmRleC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJv
bHMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDMgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wg
aXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxhYmVsIHdob3NlIGh0bWxGb3Ig
cG9pbnRzIHRvIHRoYXQgY29udHJvbC4gSWYgdGhlIHRlc3QgaXMgc3VjY2Vzc2Z1bCwgdGhlIHRl
eHQgIlNVQ0NFU1MiIHNob3VsZCBzaG93IGJlbG93LgorCitTVUNDRVNTCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0ZW0taW5kZXguaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLWl0ZW0taW5kZXguaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMt
aXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQyIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgZm9yIChpID0gMTsgaSA8IDU7IGkrKykgeworICAgICAgICBsYWJlbHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQiICsgaSkubGFiZWxzOworICAgICAgICBpZiAobGFi
ZWxzLml0ZW0oMSkuaWQgIT0gImwxIiArIGkpCisgICAgICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdTVUND
RVNTJzsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
CitUaGlzIHRlc3RzIHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5
bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCB3aG9zZSBodG1sRm9yIHBvaW50
cyB0byB0aGF0IGNvbnRyb2wuCisKK0lmIHRoZSB0ZXN0IGlzIHN1Y2Nlc3NmdWwsIHRoZSB0ZXh0
ICJTVUNDRVNTIiBzaG91bGQgc2hvdyBiZWxvdy48YnI+CisKKzxkaXYgaWQ9ImRpdjEiPjwvZGl2
PgorPGRpdiBpZD0iZGl2MiI+Cis8YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0i
aWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRh
cmVhPgorPC9kaXY+Cis8bGFiZWwgaWQ9ImwxIiBmb3I9ImlkMSI+PC9sYWJlbD4KKzxsYWJlbCBp
ZD0ibDIiIGZvcj0iaWQyIj48L2xhYmVsPgorPGxhYmVsIGlkPSJsMyIgZm9yPSJpZDMiPjwvbGFi
ZWw+Cis8bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD4KKworPGxhYmVsIGlkPSJsMTEi
IGZvcj0iaWQxIj48L2xhYmVsPgorPGxhYmVsIGlkPSJsMTIiIGZvcj0iaWQyIj48L2xhYmVsPgor
PGxhYmVsIGlkPSJsMTMiIGZvcj0iaWQzIj48L2xhYmVsPgorPGxhYmVsIGlkPSJsMTQiIGZvcj0i
aWQ0Ij48L2xhYmVsPgorCis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKworPC9ib2R5
PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxz
LXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9s
YWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNv
bnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxhYmVsIGFzIHBhcmVu
dCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuIElmIHRoZSB0ZXN0IGlzIHN1Y2Nlc3NmdWwsIHRoZSB0
ZXh0ICJTVUNDRVNTIiBzaG91bGQgc2hvdyBiZWxvdy4KKworU1VDQ0VTUwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9scy9sYWJlbHMtcmVt
b3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybS1jb250cm9scy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGZvciAoaSA9IDE7IGkg
PCA1OyBpKyspIHsKKyAgICAgICAgbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
IiArIGkpLmxhYmVsczsKKyAgICAgICAgaWYgKGxhYmVscy5sZW5ndGggIT0gMSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwiICsgaSkuaHRt
bEZvciA9ICIiOworICAgICAgICBpZiAobGFiZWxzLmxlbmd0aCAhPSAwKQorICAgICAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5p
bm5lckhUTUwgPSAnU1VDQ0VTUyc7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZv
cm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEgbGFiZWwgYXMg
cGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4KKworSWYgdGhlIHRlc3QgaXMgc3VjY2Vzc2Z1
bCwgdGhlIHRleHQgIlNVQ0NFU1MiIHNob3VsZCBzaG93IGJlbG93Ljxicj4KKworPGRpdiBpZD0i
ZGl2MSI+PC9kaXY+Cis8ZGl2IGlkPSJkaXYyIj4KKzxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+
PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJp
ZDQiPjwvdGV4dGFyZWE+Cis8L2Rpdj4KKzxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVs
PgorPGxhYmVsIGlkPSJsMiIgZm9yPSJpZDIiPjwvbGFiZWw+Cis8bGFiZWwgaWQ9ImwzIiBmb3I9
ImlkMyI+PC9sYWJlbD4KKzxsYWJlbCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPgorCis8ZGl2
IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybS1jb250cm9s
cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFi
ZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMg
dGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBk
YXRlZCB3aGVuIGFkZGluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wu
IElmIHRoZSB0ZXN0IGlzIHN1Y2Nlc3NmdWwsIHRoZSB0ZXh0ICJTVUNDRVNTIiBzaG91bGQgc2hv
dyBiZWxvdy4KKworU1VDQ0VTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3JtLWNvbnRyb2xz
L2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3JtLWNvbnRyb2xzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm0tY29udHJvbHMvbGFiZWxzLXJlbW92
ZS1wYXJlbnQtbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgIGZvciAoaSA9IDE7IGkgPCA1OyBpKyspIHsKKyAgICAgICAgbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkIiArIGkpLmxhYmVsczsKKyAgICAgICAgaWYg
KGxhYmVscy5sZW5ndGggIT0gMSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWQiICsgaSkpOworICAgICAgICBpZiAobGFiZWxzLmxlbmd0aCAhPSAwKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1
bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IHRoZSBsYWJlbHMgbGlzdCBv
ZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEgbGFi
ZWwgYXMgcGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4KKworSWYgdGhlIHRlc3QgaXMgc3Vj
Y2Vzc2Z1bCwgdGhlIHRleHQgIlNVQ0NFU1MiIHNob3VsZCBzaG93IGJlbG93Ljxicj4KKworPGRp
diBpZD0iZGl2MSI+PC9kaXY+Cis8ZGl2IGlkPSJkaXYyIj4KKzxsYWJlbD48YnV0dG9uIGlkPSJp
ZDEiPjwvYnV0dG9uPjwvbGFiZWw+PGxhYmVsPjxpbnB1dCBpZD0iaWQyIj48L2xhYmVsPjxsYWJl
bD48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0PjwvbGFiZWw+PGxhYmVsPjx0ZXh0YXJlYSBpZD0i
aWQ0Ij48L3RleHRhcmVhPjwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdiBpZD0icmVzdWx0Ij5GQUlM
VVJFPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>
<flag name="review"
          id="40865"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56745</attachid>
            <date>2010-05-21 14:13:37 -0700</date>
            <delta_ts>2010-05-21 14:27:51 -0700</delta_ts>
            <desc>Patch addressing issues found in comment #2.</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>51585</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTk1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTggQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
VGhhdERlcGVuZE9uQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2Rl
RGF0YTo6aXNFbXB0eSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9k
ZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxp
c3RzTm9kZURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxMYWJlbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYWJlbHNOb2RlTGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxz
Tm9kZUxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3Jl
YXRlKToKKwogMjAxMC0wNS0yMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDU5OTQ0
KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTY5LDYgKzk2
OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3Bw
CiAgICAgaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAogICAgIGh0bWwvSW1hZ2VEYXRh
LmNwcAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5l
ci5jcHAKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMTI0OCw2ICsxMjQ4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlXZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKIAlXZWJDb3JlL2h0bWwv
SW1hZ2VEYXRhLmNwcCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5oIFwKKwlXZWJDb3JlL2h0
bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaCBc
CiAJV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2Fu
bmVyLmNwcCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmggXApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlz
aW9uIDU5OTQ0KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTE2
NDcsNiArMTY0Nyw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50
LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLAor
ICAgICAgICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9N
ZWRpYUVycm9yLmgnLAogICAgICAgICAgICAgJ2h0bWwvUHJlbG9hZFNjYW5uZXIuY3BwJywKICAg
ICAgICAgICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
LnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1OTk0NCkK
KysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY5Myw2ICs2OTMsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwIFwKICAgICBodG1s
L0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIFwKICAgICBodG1sL0ltYWdlRGF0YS5jcHAgXAor
ICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmNw
cCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuY3BwIFwKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
IFwKQEAgLTE0MjIsNiArMTQyMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVv
RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRt
bC9JbWFnZURhdGEuaCBcCisgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwKICAgICBodG1sL1By
ZWxvYWRTY2FubmVyLmggXAogICAgIGh0bWwvU3RlcFJhbmdlLmggXAogICAgIGh0bWwvVGltZVJh
bmdlcy5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTg4LDYgKzI1ODgsOCBAQAogCQlBNDU0NDI0QjEx
OUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhU
TUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKIAkJQTQ1NDQyNEUxMTlCMzY4NzAwOUJFOTEyIC8qIFJl
bmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi87IH07CiAJ
CUE0NTQ0MjRGMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEy
IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0NjI2QkY3MTFBMzhCQkMwMDI2NjZCQiAvKiBM
YWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNDYyNkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICov
OyB9OworCQlBNDYyNkJGODExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NjI2QkY2MTFBMzhC
QkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oICovOyB9OwogCQlBNTEzQjNENzExNEIxNjY2
MDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29j
b2EuaCAqLzsgfTsKIAkJQTUxM0IzRDgxMTRCMTY2QTAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2Eu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRE
MDExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAqLzsgfTsKIAkJQTU5RTNDMUUx
MTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAv
KiBLZXlFdmVudENvZGVzSVBob25lLmggKi87IH07CkBAIC04MTQ4LDYgKzgxNTAsOCBAQAogCQlB
NDU0NDI0OTExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNZXRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTQ0MjREMTE5QjM2ODcwMDlCRTkxMiAv
KiBSZW5kZXJNZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJN
ZXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDYyNkJGNTExQTM4QkJDMDAy
NjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJ
UGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQ
aG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBo
b25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJ
UGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTg2LDYgKzEzNTkwLDggQEAKIAkJCQlBNzc5
NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5NzkxNDBE
NkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQTQ2MjZCRjUxMUEzOEJCQzAwMjY2NkJC
IC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLywKKwkJCQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIg
LyogTGFiZWxzTm9kZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURBNzUgLyog
TWVkaWFFcnJvci5oICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVy
cm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogUHJlbG9hZFNjYW5u
ZXIuY3BwICovLApAQCAtMTkyOTIsNiArMTkyOTgsNyBAQAogCQkJCTk3RThCM0MzMTFBMjg5MDgw
MDE2OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4QjExQTI5
NDcwMDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3
RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE0NjI2QkY4MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFM0ZBQTA5MTFBMzZC
RjEwMDU3NjYyNCAvKiBDcm9zc1RocmVhZFRhc2suaCBpbiBIZWFkZXJzICovLApAQCAtMjE1ODAs
NiArMjE1ODcsNyBAQAogCQkJCTk3RThCMzU2MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzEwMzhBMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1M
NVRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlE
NjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NjI2QkY3MTFBMzhC
QkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4
NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUv
ZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biA1OTk0NCkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2
ICs1Myw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMYWJl
bHNOb2RlTGlzdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50
LmgiCiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgpAQCAtODkxLDYgKzg5MiwxOCBAQCB2b2lk
IE5vZGU6Om5vdGlmeU5vZGVMaXN0c0NoaWxkcmVuQ2hhbmdlCiAgICAgICAgIG4tPm5vdGlmeUxv
Y2FsTm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTm9kZTo6bm90aWZ5TG9j
YWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKQoreworICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7CisgICAg
aWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisJaWYgKGRhdGEtPm5v
ZGVMaXN0cygpLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisJICAgIGRhdGEtPm5vZGVMaXN0cygp
LT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOworfQorCiB2b2lkIE5v
ZGU6OnJlbW92ZUNhY2hlZENsYXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCogbGlzdCwgY29uc3Qg
U3RyaW5nJiBjbGFzc05hbWUpCiB7CiAgICAgQVNTRVJUKHJhcmVEYXRhKCkpOwpAQCAtOTI0LDYg
KzkzNywxNiBAQCB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05vCiAgICAg
ZGF0YS0+bV90YWdOb2RlTGlzdENhY2hlLnJlbW92ZShuYW1lLmltcGwoKSk7CiB9CiAKK3ZvaWQg
Tm9kZTo6cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiBsaXN0LCBO
b2RlKiAvKm5vZGUqLykKK3sKKyAgICBBU1NFUlQocmFyZURhdGEoKSk7CisgICAgQVNTRVJUKHJh
cmVEYXRhKCktPm5vZGVMaXN0cygpKTsKKyAgICBBU1NFUlRfVU5VU0VEKGxpc3QsIGxpc3QtPmhh
c093bkNhY2hlcygpKTsKKyAgICAKKyAgICBOb2RlTGlzdHNOb2RlRGF0YSogZGF0YSA9IHJhcmVE
YXRhKCktPm5vZGVMaXN0cygpOworICAgIGRhdGEtPm1fbGFiZWxzTm9kZUxpc3RDYWNoZSA9IDA7
Cit9CisKIE5vZGUgKk5vZGU6OnRyYXZlcnNlTmV4dE5vZGUoY29uc3QgTm9kZSAqc3RheVdpdGhp
bikgY29uc3QKIHsKICAgICBpZiAoZmlyc3RDaGlsZCgpKQpAQCAtMjIwMSw2ICsyMjI0LDkgQEAg
dm9pZCBOb2RlOjpmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZQogdm9pZCBOb2RlTGlzdHNO
b2RlRGF0YTo6aW52YWxpZGF0ZUNhY2hlcygpCiB7CiAgICAgbV9jaGlsZE5vZGVMaXN0Q2FjaGVz
LT5yZXNldCgpOworCisgICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAgICAgbV9s
YWJlbHNOb2RlTGlzdENhY2hlLT5pbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBUYWdOb2RlTGlzdENh
Y2hlOjpjb25zdF9pdGVyYXRvciB0YWdDYWNoZUVuZCA9IG1fdGFnTm9kZUxpc3RDYWNoZS5lbmQo
KTsKICAgICBmb3IgKFRhZ05vZGVMaXN0Q2FjaGU6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV90YWdO
b2RlTGlzdENhY2hlLmJlZ2luKCk7IGl0ICE9IHRhZ0NhY2hlRW5kOyArK2l0KQogICAgICAgICBp
dC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKQEAgLTIyMTYsNiArMjI0Miw4IEBAIHZvaWQg
Tm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMKICAgICBOYW1lTm9kZUxpc3RDYWNo
ZTo6aXRlcmF0b3IgbmFtZUNhY2hlRW5kID0gbV9uYW1lTm9kZUxpc3RDYWNoZS5lbmQoKTsKICAg
ICBmb3IgKE5hbWVOb2RlTGlzdENhY2hlOjppdGVyYXRvciBpdCA9IG1fbmFtZU5vZGVMaXN0Q2Fj
aGUuYmVnaW4oKTsgaXQgIT0gbmFtZUNhY2hlRW5kOyArK2l0KQogICAgICAgICBpdC0+c2Vjb25k
LT5pbnZhbGlkYXRlQ2FjaGUoKTsKKyAgICBpZiAobV9sYWJlbHNOb2RlTGlzdENhY2hlKQorICAg
ICAgICBtX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOwogfQogCiBib29s
IE5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KCkgY29uc3QKQEAgLTIyNDQsNiArMjI3Miw5IEBA
IGJvb2wgTm9kZUxpc3RzTm9kZURhdGE6OmlzRW1wdHkoKSBjb25zdAogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBXZWJDb3Jl
L2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZS5oCShyZXZpc2lvbiA1
OTk0NCkKKysrIFdlYkNvcmUvZG9tL05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTI3LDkgKzUy
NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0c0NoaWxkcmVuQ2hh
bmdlZCgpOwogICAgIHZvaWQgbm90aWZ5Tm9kZUxpc3RzQXR0cmlidXRlQ2hhbmdlZCgpOwogICAg
IHZvaWQgbm90aWZ5TG9jYWxOb2RlTGlzdHNBdHRyaWJ1dGVDaGFuZ2VkKCk7CisgICAgdm9pZCBu
b3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdlZCgpOwogICAgIHZvaWQgcmVtb3ZlQ2FjaGVk
Q2xhc3NOb2RlTGlzdChDbGFzc05vZGVMaXN0KiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBy
ZW1vdmVDYWNoZWROYW1lTm9kZUxpc3QoTmFtZU5vZGVMaXN0KiwgY29uc3QgU3RyaW5nJik7CiAg
ICAgdm9pZCByZW1vdmVDYWNoZWRUYWdOb2RlTGlzdChUYWdOb2RlTGlzdCosIGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKKyAgICB2b2lkIHJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KER5bmFtaWNO
b2RlTGlzdCosIE5vZGUqKTsKICAgICAKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXRFbGVt
ZW50c0J5VGFnTmFtZShjb25zdCBTdHJpbmcmKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBn
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBj
b25zdCBTdHJpbmcmIGxvY2FsTmFtZSk7CkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAkocmV2aXNpb24gNTk5
NDQpCisrKyBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNTEs
NiArNTEsOCBAQCBzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5YWJsZSB7CiAgICAg
dHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbD4s
IFRhZ05vZGVMaXN0Kj4gVGFnTm9kZUxpc3RDYWNoZTsKICAgICBUYWdOb2RlTGlzdENhY2hlIG1f
dGFnTm9kZUxpc3RDYWNoZTsKIAorICAgIFJlZlB0cjxEeW5hbWljTm9kZUxpc3Q+IG1fbGFiZWxz
Tm9kZUxpc3RDYWNoZTsKKyAgICAKICAgICBzdGF0aWMgUGFzc093blB0cjxOb2RlTGlzdHNOb2Rl
RGF0YT4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgTm9kZUxpc3RzTm9kZURh
dGE7CkBAIC02Miw3ICs2NCw3IEBAIHN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlh
YmxlIHsKIAogcHJpdmF0ZToKICAgICBOb2RlTGlzdHNOb2RlRGF0YSgpCi0gICAgICAgIDogbV9j
aGlsZE5vZGVMaXN0Q2FjaGVzKER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpjcmVhdGUoKSkKKyAg
ICAgICAgOiBtX2NoaWxkTm9kZUxpc3RDYWNoZXMoRHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OmNy
ZWF0ZSgpKSwgbV9sYWJlbHNOb2RlTGlzdENhY2hlKDApCiAgICAgewogICAgIH0KIH07CkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUs
NyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHkoKTsKICAg
ICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRv
TnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKICAgICAgICAgdm9pZCBjbGljaygpOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJlbHM7CiAg
ICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAko
cmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIK
ICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIkVsZW1lbnRSYXJlRGF0YS5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzksNiArNDAsNyBAQAog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXIuaCIKICNpbmNsdWRl
ICJIVE1MVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3QuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENv
bnRyb2wuaCIKQEAgLTQwNiwxMSArNDA4LDMwIEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6aXNMYWJlbGFibGUKIHsKICAgICAvLyBGSVhNRTogQWRkIG1ldGVyVGFnIGFuZCBvdXRwdXRU
YWcgdG8gdGhlIGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCiAgICAgcmV0dXJuIGhhc1RhZ05h
bWUoYnV0dG9uVGFnKSB8fCBoYXNUYWdOYW1lKGlucHV0VGFnKSB8fCBoYXNUYWdOYW1lKGtleWdl
blRhZykKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB8fCBoYXNUYWdOYW1lKG1ldGVy
VGFnKQorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgfHwgaGFzVGFn
TmFtZShwcm9ncmVzc1RhZykKICNlbmRpZgogICAgICAgICB8fCBoYXNUYWdOYW1lKHNlbGVjdFRh
ZykgfHwgaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZyk7CiB9CisKK1Bhc3NSZWZQdHI8Tm9kZUxpc3Q+
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmxhYmVscygpCit7CisgICAgaWYgKCFpc0xhYmVsYWJs
ZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIWRvY3VtZW50KCkpCisgICAgICAgIHJl
dHVybiAwOworICAgIAorICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IE5vZGU6OmVuc3VyZVJhcmVE
YXRhKCk7CisgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkgeworICAgICAgICBkYXRhLT5zZXRO
b2RlTGlzdHMoTm9kZUxpc3RzTm9kZURhdGE6OmNyZWF0ZSgpKTsKKyAgICAgICAgZG9jdW1lbnQo
KS0+YWRkTm9kZUxpc3RDYWNoZSgpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gTGFiZWxzTm9k
ZUxpc3Q6OmNyZWF0ZSh0aGlzKTsKK30KICAgICAKIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRo
U3RhdGU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYywgSFRNTEZvcm1FbGVtZW50KiBmKQogICAgIDogSFRN
TEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MsIGYpCkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmgJKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDYgKzEyMyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoKTsKIAogICAgIGJv
b2wgaXNMYWJlbGFibGUoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBsYWJlbHMo
KTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIHJlbW92ZUZyb21Gb3JtKCk7CkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBt
b2R1bGUgaHRtbCB7CiAjZW5kaWYKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmlsZUxp
c3QgZmlsZXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgTm9kZUxpc3QgICAgICAgbGFi
ZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHJldmlz
aW9uIDU5OTQ0KQorKysgV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzMsNCArMTczLDE1IEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6c2V0SHRt
bEZvcihjb25zdCAKICAgICBzZXRBdHRyaWJ1dGUoZm9yQXR0ciwgdmFsdWUpOwogfQogCit2b2lk
IEhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cmli
dXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUtPm5hbWUoKSA9PSBmb3JBdHRyIHx8IGF0dHJpYnV0
ZS0+bmFtZSgpID09ICJodG1sRm9yIikgeworICAgICAgICAvLyBodG1sRm9yIGF0dHJpYnV0ZSBj
aGFuZ2UgYWZmZWN0cyBvdGhlciBub2RlcyB0aGFuIHRoaXMuCisgICAgICAgIC8vIENsZWFyIHRo
ZSBjYWNoZXMgdG8gZW5zdXJlIHRoYXQgdGhlIGxhYmVscyBjYWNoZXMgYXJlIGNsZWFyZWQuCisg
ICAgICAgIGlmIChkb2N1bWVudCgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+bm90aWZ5TG9j
YWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgSFRNTEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisgICAgICAgICAgICAgICAg
CiB9IC8vIG5hbWVzcGFjZQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCShyZXZpc2lvbiA1
OTk0NCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDEzICs1MSwxNSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgYWNjZXNzS2V5KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRBY2Nlc3NLZXkoY29uc3QgU3RyaW5nJik7Ci0KKyAgICAKICAgICBT
dHJpbmcgaHRtbEZvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0SHRtbEZvcihjb25zdCBTdHJpbmcm
KTsKIAogICAgIHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gPSB0cnVl
KTsKIAogIHByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0
dHJpYnV0ZSopOworCiAgICAgU3RyaW5nIG1fZm9ybUVsZW1lbnRJRDsKIH07CiAKSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9odG1s
L0hUTUxNZXRlckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw1ICszNCw2IEBAIG1v
ZHVsZSBodG1sIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBvcHRpbXVtCiAg
ICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9o
dG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MUHJvZ3Jlc3NFbGVtZW50LmlkbAkocmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3JlL2h0bWwv
SFRNTFByb2dyZXNzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAg
bW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIGRvdWJsZSAgICAgICAgICAgICAg
ICBwb3NpdGlvbjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQg
ICAgICAgZm9ybTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAg
ICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmlkbAkocmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAg
ICAgLy8gIlRoZSBjb250YWluZWQgb3B0aW9ucyBjYW4gYmUgZGlyZWN0bHkgYWNjZXNzZWQgdGhy
b3VnaCB0aGUgc2VsZWN0IGVsZW1lbnQgYXMgYSBjb2xsZWN0aW9uLiIKICAgICAgICAgTm9kZSBp
dGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICAgICAgTm9kZSBuYW1l
ZEl0ZW0oaW4gRE9NU3RyaW5nIG5hbWUpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9k
ZUxpc3QgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBtb2R1bGUg
aHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0YXJ0Owog
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25FbmQ7CiAgICAgICAgIHZv
aWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW4gbG9uZyBzdGFydCwgaW4gbG9uZyBlbmQpOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJlbHM7CiAgICAg
fTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCShyZXZpc2lvbiAwKQorKysgV2Vi
Q29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBA
QAorLyoqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykK
KyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykK
KyAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3QuaCIKKwor
I2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTGFiZWxFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKKworTGFiZWxzTm9kZUxpc3Q6OkxhYmVsc05vZGVMaXN0KFBhc3NSZWZQ
dHI8Tm9kZT4gZm9yTm9kZSApCisgICAgOiBEeW5hbWljTm9kZUxpc3QoZm9yTm9kZS0+ZG9jdW1l
bnQoKSkgLCBtX2Zvck5vZGUoZm9yTm9kZSkKK3sKK30KKworTGFiZWxzTm9kZUxpc3Q6On5MYWJl
bHNOb2RlTGlzdCgpCit7CisgICAgbV9mb3JOb2RlLT5yZW1vdmVDYWNoZWRMYWJlbHNOb2RlTGlz
dCh0aGlzLCBtX2Zvck5vZGUuZ2V0KCkpOworfSAKKyAgICAKK2Jvb2wgTGFiZWxzTm9kZUxpc3Q6
Om5vZGVNYXRjaGVzKEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdAoreworICAgIHJldHVybiB0ZXN0
Tm9kZS0+aGFzVGFnTmFtZShsYWJlbFRhZykgJiYgc3RhdGljX2Nhc3Q8SFRNTExhYmVsRWxlbWVu
dCo+KHRlc3ROb2RlKS0+Y29udHJvbCgpID09IG1fZm9yTm9kZTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICog
ICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICog
ICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisj
aWZuZGVmIExhYmVsc05vZGVMaXN0X2gKKyNkZWZpbmUgTGFiZWxzTm9kZUxpc3RfaAorCisjaW5j
bHVkZSAiRHluYW1pY05vZGVMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMYWJlbHNOb2RlTGlzdCA6IHB1YmxpYyBEeW5h
bWljTm9kZUxpc3QgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPExhYmVsc05vZGVM
aXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBmb3JOb2RlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBMYWJlbHNOb2RlTGlzdChmb3JOb2RlKSk7CisgICAgfQorICAgIH5M
YWJlbHNOb2RlTGlzdCgpOworCitwcm90ZWN0ZWQ6CisgICAgTGFiZWxzTm9kZUxpc3QoUGFzc1Jl
ZlB0cjxOb2RlPiBmb3JOb2RlKTsKKworICAgIHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hlcyhFbGVt
ZW50KikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPE5vZGU+IG1fZm9yTm9kZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExhYmVsc05vZGVMaXN0X2gK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU5OTUzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFl
bC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZv
cm0gY29udHJvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM4NzEzCisKKyAgICAgICAgVXBkYXRlIHJlc3VsdCBmb3IgSFRNTFNlbGVjdEVsZW1lbnQs
IHNpbmNlIGl0IG5vdyBpbmNsdWRlcyB0aGUgbmV3IGF0dHJpYnV0ZSAibGFiZWxzIgorICAgICAg
ICAqIGZhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qczoKKworICAgICAgICAq
IGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFi
ZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxG
b3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9s
YWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZv
ci1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxz
LXJlbW92ZS1odG1sRm9yLWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJp
YnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtYWRkLWh0bWxGb3ItbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtaXRlbS1p
bmRleC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxz
LXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJl
bC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRkZWQuCisKIDIwMTAtMDUtMjEgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUg
UXQgc3BlY2lmaWMgZXhwZWN0ZWQgZmlsZSBhZnRlciByNTk5NDEuCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDU5OTQ0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9u
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBQQVNTIHJlc3Vs
dEFycmF5WzJdLmkgaXMgJzInCiBQQVNTIHJlc3VsdEFycmF5WzJdLml0ZW0gaXMgZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzJdCiAKIFtvYmplY3QgSFRNTFNlbGVjdEVs
ZW1lbnRdCi1QQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxNDEKK1BBU1MgcmVzdWx0QXJyYXku
bGVuZ3RoIGlzIDE0MgogUEFTUyByZXN1bHRBcnJheVswXS5pIGlzICcwJwogUEFTUyByZXN1bHRB
cnJheVswXS5pdGVtIGlzIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdvcHRpb24nKVsw
XQogUEFTUyByZXN1bHRBcnJheVsxXS5pIGlzICcxJwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCShyZXZp
c2lvbiA1OTk0NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0
RW51bWVyYXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsNyBAQCBzaG91bGRC
ZSgicmVzdWx0QXJyYXlbMl0uaXRlbSIsICJkb2N1bWVuCiAvLyBIVE1MU2VsZWN0RWxlbWVudAog
dmFyIGh0bWxTZWxlY3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3Nl
bGVjdCcpWzBdOwogcmVzdWx0QXJyYXkgPSBpdGVyYXRlTGlzdChodG1sU2VsZWN0RWxlbWVudCk7
Ci1zaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwgIjE0MSIpOworc2hvdWxkQmUoInJlc3Vs
dEFycmF5Lmxlbmd0aCIsICIxNDIiKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVswXS5pIiwgIicw
JyIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLml0ZW0iLCAiZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ29wdGlvbicpWzBdIik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlbMV0uaSIs
ICInMSciKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9y
LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxp
c3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBh
IGxhYmVsIHdob3NlIGh0bWxGb3IgcG9pbnRzIHRvIHRoYXQgY29udHJvbC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVs
cy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0
aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEK
K1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1s
Rm9yLWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQt
bGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qg
b2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxh
YmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVs
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1h
ZGQtcGFyZW50LWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmli
dXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xh
YmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHRo
ZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdo
ZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0
aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVs
cy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0
aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAK
K1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBs
YWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2Ut
aHRtbEZvci1hdHRyaWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtY2hh
bmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRleC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRl
bS1pbmRleC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhYmVscy1pdGVtLWluZGV4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorVGVzdCB0aGF0IHRoZSBpdGVtcyBvZiBhIGxhYmVscyBsaXN0IGNhbiBiZSBhY2Nl
c3NlZCBpbmRpdmlkdWFsbHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTEiCitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJs
MTIiCitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTMiCitQQVNTIGxhYmVscy5pdGVtKDEp
LmlkIGlzICJsMTQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1p
bmRleC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
aXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9sYWJlbHMtaXRlbS1pbmRleC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0
dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJp
YnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhh
dCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRl
ZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGlzIHJlbW92ZWQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFT
UyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVs
cy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0
aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmli
dXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1s
Rm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0g
Y29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhlIGh0bWxGb3Ig
YXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0byB0aGF0IGZvcm0gY29udHJvbC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVs
cy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0
aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAK
K1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1s
YWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
cmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJl
bHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFy
ZW50LWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGVz
dCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1
cGRhdGVkIHdoZW4gcmVtb3ZpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBjb250
cm9sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50
LWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
cmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmli
dXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRy
b2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBh
IGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlz
IDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFT
UyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRl
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQt
aHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtYWRkLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKK2Rl
c2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlz
IGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCB3aG9zZSBodG1sRm9yIHBv
aW50cyB0byB0aGF0IGNvbnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9k
aXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48YnV0dG9uPjxpbnB1dCBpZD0iaWQy
Ij48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVh
PjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwi
KTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYx
IikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwor
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDIiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMyI7Citkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIp
LmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0IjsKK2RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFy
ZW50LWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuanMJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhl
IGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hl
biBhZGRpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBjb250cm9sLiAnKTsKKwor
dmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9
ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+
PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwor
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChs
YWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikp
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRD
aGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEi
KS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaWQ0IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdl
LWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFi
ZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRo
ZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBj
b250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRp
djIiPjxsYWJlbCBpZD0ibGFiZWxJZCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9u
PjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0i
aWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFy
ZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFi
ZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVs
czsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQy
IjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVs
Lmh0bWxGb3IgPSAiaWQzIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFi
ZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0IjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVt
LWluZGV4LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAK
K2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGl0ZW1zIG9mIGEgbGFiZWxzIGxpc3QgY2FuIGJl
IGFjY2Vzc2VkIGluZGl2aWR1YWxseS4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48
L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0i
aWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRh
cmVhPjwvZGl2PjxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBpZD0ibDIi
IGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibDMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJl
bCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPjxsYWJlbCBpZD0ibDExIiBmb3I9ImlkMSI+PC9s
YWJlbD48bGFiZWwgaWQ9ImwxMiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTMiIGZv
cj0iaWQzIj48L2xhYmVsPjxsYWJlbCBpZD0ibDE0IiBmb3I9ImlkNCI+PC9sYWJlbD4nOworCitk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0oMSkuaWQn
LCAnImwxMSInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxh
YmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEyIicpOworCitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5pdGVtKDEpLmlkJywgJyJsMTMiJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0oMSkuaWQnLCAnImwxNCIn
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRl
LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0
IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVk
IHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgaXMgcmVtb3ZlZC4nKTsKKwor
dmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxsYWJlbCBpZD0i
bGFiZWwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsMiIgZm9yPSJpZDIiPjwv
bGFiZWw+PGxhYmVsIGlkPSJsYWJlbDMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFi
ZWw0IiBmb3I9ImlkNCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBp
ZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3Rl
eHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKwor
bGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWwxIik7CitsYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFi
ZWwyIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJm
b3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibGFiZWwzIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFi
ZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAn
KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWw0Iik7CitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1v
dmUtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0
bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAKK2Rlc2NyaXB0aW9u
KCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNh
bGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgdGhhdCBwb2lu
dGVkIHRvIHRoYXQgZm9ybSBjb250cm9sLicpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+
PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9
ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0
YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9Imwy
IiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFi
ZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD4nOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibDEiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bDIiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xh
YmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgn
bGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibDMiKS5odG1s
Rm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibDQiKS5odG1sRm9yID0gIiI7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVt
b3ZlLXBhcmVudC1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAorZGVzY3Jp
cHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHlu
YW1pY2FsbHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIGEgbGFiZWwgYXMgcGFyZW50IGZvciB0aGF0
IGZvcm0gY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2
IGlkPSJkaXYyIj48bGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48L2xhYmVsPjxsYWJl
bD48aW5wdXQgaWQ9ImlkMiI+PC9sYWJlbD48bGFiZWw+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVj
dD48L2xhYmVsPjxsYWJlbD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2xhYmVsPjwv
ZGl2Pic7CisKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRD
aGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQy
IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikpOworc2hv
dWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1z
ZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1zZXQt
aHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKK2Rlc2Ny
aXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5
bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBj
aGFuZ2VzIHRvIHBvaW50IHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsSWQiPjwvbGFiZWw+
PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQz
Ij48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRB
dHRyaWJ1dGUoImZvciIsICJpZDEiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsK
KworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMiIpOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmli
dXRlKCJmb3IiLCAiaWQzIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xh
YmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0
aCcsICcwJyk7CitsYWJlbC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDQiKTsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56747</attachid>
            <date>2010-05-21 14:27:51 -0700</date>
            <delta_ts>2010-05-22 11:59:56 -0700</delta_ts>
            <desc>Remove tabs.</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>51591</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTk1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTggQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
VGhhdERlcGVuZE9uQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2Rl
RGF0YTo6aXNFbXB0eSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9k
ZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxp
c3RzTm9kZURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxMYWJlbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYWJlbHNOb2RlTGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxz
Tm9kZUxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3Jl
YXRlKToKKwogMjAxMC0wNS0yMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDU5OTQ0
KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTY5LDYgKzk2
OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3Bw
CiAgICAgaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAogICAgIGh0bWwvSW1hZ2VEYXRh
LmNwcAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5l
ci5jcHAKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMTI0OCw2ICsxMjQ4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlXZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKIAlXZWJDb3JlL2h0bWwv
SW1hZ2VEYXRhLmNwcCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5oIFwKKwlXZWJDb3JlL2h0
bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaCBc
CiAJV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2Fu
bmVyLmNwcCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmggXApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlz
aW9uIDU5OTQ0KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTE2
NDcsNiArMTY0Nyw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50
LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLAor
ICAgICAgICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9N
ZWRpYUVycm9yLmgnLAogICAgICAgICAgICAgJ2h0bWwvUHJlbG9hZFNjYW5uZXIuY3BwJywKICAg
ICAgICAgICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
LnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1OTk0NCkK
KysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY5Myw2ICs2OTMsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwIFwKICAgICBodG1s
L0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIFwKICAgICBodG1sL0ltYWdlRGF0YS5jcHAgXAor
ICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmNw
cCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuY3BwIFwKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3Bw
IFwKQEAgLTE0MjIsNiArMTQyMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVv
RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRt
bC9JbWFnZURhdGEuaCBcCisgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwKICAgICBodG1sL1By
ZWxvYWRTY2FubmVyLmggXAogICAgIGh0bWwvU3RlcFJhbmdlLmggXAogICAgIGh0bWwvVGltZVJh
bmdlcy5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTg4LDYgKzI1ODgsOCBAQAogCQlBNDU0NDI0QjEx
OUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhU
TUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKIAkJQTQ1NDQyNEUxMTlCMzY4NzAwOUJFOTEyIC8qIFJl
bmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi87IH07CiAJ
CUE0NTQ0MjRGMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEy
IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0NjI2QkY3MTFBMzhCQkMwMDI2NjZCQiAvKiBM
YWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNDYyNkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICov
OyB9OworCQlBNDYyNkJGODExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NjI2QkY2MTFBMzhC
QkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oICovOyB9OwogCQlBNTEzQjNENzExNEIxNjY2
MDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29j
b2EuaCAqLzsgfTsKIAkJQTUxM0IzRDgxMTRCMTY2QTAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2Eu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRE
MDExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAqLzsgfTsKIAkJQTU5RTNDMUUx
MTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAv
KiBLZXlFdmVudENvZGVzSVBob25lLmggKi87IH07CkBAIC04MTQ4LDYgKzgxNTAsOCBAQAogCQlB
NDU0NDI0OTExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNZXRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTQ0MjREMTE5QjM2ODcwMDlCRTkxMiAv
KiBSZW5kZXJNZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJN
ZXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDYyNkJGNTExQTM4QkJDMDAy
NjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJ
UGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQ
aG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBo
b25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJ
UGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTg2LDYgKzEzNTkwLDggQEAKIAkJCQlBNzc5
NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5NzkxNDBE
NkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQTQ2MjZCRjUxMUEzOEJCQzAwMjY2NkJC
IC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLywKKwkJCQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIg
LyogTGFiZWxzTm9kZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURBNzUgLyog
TWVkaWFFcnJvci5oICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVy
cm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogUHJlbG9hZFNjYW5u
ZXIuY3BwICovLApAQCAtMTkyOTIsNiArMTkyOTgsNyBAQAogCQkJCTk3RThCM0MzMTFBMjg5MDgw
MDE2OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4QjExQTI5
NDcwMDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3
RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE0NjI2QkY4MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFM0ZBQTA5MTFBMzZC
RjEwMDU3NjYyNCAvKiBDcm9zc1RocmVhZFRhc2suaCBpbiBIZWFkZXJzICovLApAQCAtMjE1ODAs
NiArMjE1ODcsNyBAQAogCQkJCTk3RThCMzU2MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzEwMzhBMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1M
NVRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlE
NjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NjI2QkY3MTFBMzhC
QkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4
NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUv
ZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biA1OTk0NCkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2
ICs1Myw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMYWJl
bHNOb2RlTGlzdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50
LmgiCiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgpAQCAtODkxLDYgKzg5MiwxOCBAQCB2b2lk
IE5vZGU6Om5vdGlmeU5vZGVMaXN0c0NoaWxkcmVuQ2hhbmdlCiAgICAgICAgIG4tPm5vdGlmeUxv
Y2FsTm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTm9kZTo6bm90aWZ5TG9j
YWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKQoreworICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7CisgICAg
aWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRhdGEt
Pm5vZGVMaXN0cygpLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIGRhdGEtPm5vZGVM
aXN0cygpLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOworfQorCiB2
b2lkIE5vZGU6OnJlbW92ZUNhY2hlZENsYXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCogbGlzdCwg
Y29uc3QgU3RyaW5nJiBjbGFzc05hbWUpCiB7CiAgICAgQVNTRVJUKHJhcmVEYXRhKCkpOwpAQCAt
OTI0LDYgKzkzNywxNiBAQCB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05v
CiAgICAgZGF0YS0+bV90YWdOb2RlTGlzdENhY2hlLnJlbW92ZShuYW1lLmltcGwoKSk7CiB9CiAK
K3ZvaWQgTm9kZTo6cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiBs
aXN0LCBOb2RlKiAvKm5vZGUqLykKK3sKKyAgICBBU1NFUlQocmFyZURhdGEoKSk7CisgICAgQVNT
RVJUKHJhcmVEYXRhKCktPm5vZGVMaXN0cygpKTsKKyAgICBBU1NFUlRfVU5VU0VEKGxpc3QsIGxp
c3QtPmhhc093bkNhY2hlcygpKTsKKyAgICAKKyAgICBOb2RlTGlzdHNOb2RlRGF0YSogZGF0YSA9
IHJhcmVEYXRhKCktPm5vZGVMaXN0cygpOworICAgIGRhdGEtPm1fbGFiZWxzTm9kZUxpc3RDYWNo
ZSA9IDA7Cit9CisKIE5vZGUgKk5vZGU6OnRyYXZlcnNlTmV4dE5vZGUoY29uc3QgTm9kZSAqc3Rh
eVdpdGhpbikgY29uc3QKIHsKICAgICBpZiAoZmlyc3RDaGlsZCgpKQpAQCAtMjIwMSw2ICsyMjI0
LDkgQEAgdm9pZCBOb2RlOjpmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZQogdm9pZCBOb2Rl
TGlzdHNOb2RlRGF0YTo6aW52YWxpZGF0ZUNhY2hlcygpCiB7CiAgICAgbV9jaGlsZE5vZGVMaXN0
Q2FjaGVzLT5yZXNldCgpOworCisgICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAg
ICAgbV9sYWJlbHNOb2RlTGlzdENhY2hlLT5pbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBUYWdOb2Rl
TGlzdENhY2hlOjpjb25zdF9pdGVyYXRvciB0YWdDYWNoZUVuZCA9IG1fdGFnTm9kZUxpc3RDYWNo
ZS5lbmQoKTsKICAgICBmb3IgKFRhZ05vZGVMaXN0Q2FjaGU6OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
bV90YWdOb2RlTGlzdENhY2hlLmJlZ2luKCk7IGl0ICE9IHRhZ0NhY2hlRW5kOyArK2l0KQogICAg
ICAgICBpdC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKQEAgLTIyMTYsNiArMjI0Miw4IEBA
IHZvaWQgTm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMKICAgICBOYW1lTm9kZUxp
c3RDYWNoZTo6aXRlcmF0b3IgbmFtZUNhY2hlRW5kID0gbV9uYW1lTm9kZUxpc3RDYWNoZS5lbmQo
KTsKICAgICBmb3IgKE5hbWVOb2RlTGlzdENhY2hlOjppdGVyYXRvciBpdCA9IG1fbmFtZU5vZGVM
aXN0Q2FjaGUuYmVnaW4oKTsgaXQgIT0gbmFtZUNhY2hlRW5kOyArK2l0KQogICAgICAgICBpdC0+
c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKKyAgICBpZiAobV9sYWJlbHNOb2RlTGlzdENhY2hl
KQorICAgICAgICBtX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOwogfQog
CiBib29sIE5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KCkgY29uc3QKQEAgLTIyNDQsNiArMjI3
Miw5IEBAIGJvb2wgTm9kZUxpc3RzTm9kZURhdGE6OmlzRW1wdHkoKSBjb25zdAogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBX
ZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZS5oCShyZXZp
c2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvZG9tL05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTI3
LDkgKzUyNywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0c0NoaWxk
cmVuQ2hhbmdlZCgpOwogICAgIHZvaWQgbm90aWZ5Tm9kZUxpc3RzQXR0cmlidXRlQ2hhbmdlZCgp
OwogICAgIHZvaWQgbm90aWZ5TG9jYWxOb2RlTGlzdHNBdHRyaWJ1dGVDaGFuZ2VkKCk7CisgICAg
dm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdlZCgpOwogICAgIHZvaWQgcmVtb3Zl
Q2FjaGVkQ2xhc3NOb2RlTGlzdChDbGFzc05vZGVMaXN0KiwgY29uc3QgU3RyaW5nJik7CiAgICAg
dm9pZCByZW1vdmVDYWNoZWROYW1lTm9kZUxpc3QoTmFtZU5vZGVMaXN0KiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCByZW1vdmVDYWNoZWRUYWdOb2RlTGlzdChUYWdOb2RlTGlzdCosIGNvbnN0
IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2b2lkIHJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KER5
bmFtaWNOb2RlTGlzdCosIE5vZGUqKTsKICAgICAKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBn
ZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBTdHJpbmcmKTsKICAgICBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNl
VVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSk7CkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlUmFy
ZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAkocmV2aXNp
b24gNTk5NDQpCisrKyBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpA
QCAtNTEsNiArNTEsOCBAQCBzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5YWJsZSB7
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1l
SW1wbD4sIFRhZ05vZGVMaXN0Kj4gVGFnTm9kZUxpc3RDYWNoZTsKICAgICBUYWdOb2RlTGlzdENh
Y2hlIG1fdGFnTm9kZUxpc3RDYWNoZTsKIAorICAgIFJlZlB0cjxEeW5hbWljTm9kZUxpc3Q+IG1f
bGFiZWxzTm9kZUxpc3RDYWNoZTsKKyAgICAKICAgICBzdGF0aWMgUGFzc093blB0cjxOb2RlTGlz
dHNOb2RlRGF0YT4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgTm9kZUxpc3Rz
Tm9kZURhdGE7CkBAIC02Miw3ICs2NCw3IEBAIHN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5v
bmNvcHlhYmxlIHsKIAogcHJpdmF0ZToKICAgICBOb2RlTGlzdHNOb2RlRGF0YSgpCi0gICAgICAg
IDogbV9jaGlsZE5vZGVMaXN0Q2FjaGVzKER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpjcmVhdGUo
KSkKKyAgICAgICAgOiBtX2NoaWxkTm9kZUxpc3RDYWNoZXMoRHluYW1pY05vZGVMaXN0OjpDYWNo
ZXM6OmNyZWF0ZSgpKSwgbV9sYWJlbHNOb2RlTGlzdENhY2hlKDApCiAgICAgewogICAgIH0KIH07
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDU5OTQ0KQorKysg
V2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NiArMzUsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHko
KTsKICAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9y
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKICAgICAgICAgdm9pZCBjbGljaygp
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJl
bHM7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmNwcAkocmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDaHJv
bWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgor
I2luY2x1ZGUgIkVsZW1lbnRSYXJlRGF0YS5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzksNiArNDAs
NyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXIuaCIKICNp
bmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3QuaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVy
VGV4dENvbnRyb2wuaCIKQEAgLTQwNiwxMSArNDA4LDMwIEBAIGJvb2wgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6aXNMYWJlbGFibGUKIHsKICAgICAvLyBGSVhNRTogQWRkIG1ldGVyVGFnIGFuZCBv
dXRwdXRUYWcgdG8gdGhlIGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCiAgICAgcmV0dXJuIGhh
c1RhZ05hbWUoYnV0dG9uVGFnKSB8fCBoYXNUYWdOYW1lKGlucHV0VGFnKSB8fCBoYXNUYWdOYW1l
KGtleWdlblRhZykKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB8fCBoYXNUYWdOYW1l
KG1ldGVyVGFnKQorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgfHwg
aGFzVGFnTmFtZShwcm9ncmVzc1RhZykKICNlbmRpZgogICAgICAgICB8fCBoYXNUYWdOYW1lKHNl
bGVjdFRhZykgfHwgaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZyk7CiB9CisKK1Bhc3NSZWZQdHI8Tm9k
ZUxpc3Q+IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmxhYmVscygpCit7CisgICAgaWYgKCFpc0xh
YmVsYWJsZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIWRvY3VtZW50KCkpCisgICAg
ICAgIHJldHVybiAwOworICAgIAorICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IE5vZGU6OmVuc3Vy
ZVJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkgeworICAgICAgICBkYXRh
LT5zZXROb2RlTGlzdHMoTm9kZUxpc3RzTm9kZURhdGE6OmNyZWF0ZSgpKTsKKyAgICAgICAgZG9j
dW1lbnQoKS0+YWRkTm9kZUxpc3RDYWNoZSgpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gTGFi
ZWxzTm9kZUxpc3Q6OmNyZWF0ZSh0aGlzKTsKK30KICAgICAKIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYywgSFRNTEZvcm1FbGVtZW50KiBmKQogICAg
IDogSFRNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MsIGYpCkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgJKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDYgKzEy
Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQoKTsKIAog
ICAgIGJvb2wgaXNMYWJlbGFibGUoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBs
YWJlbHMoKTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIHJlbW92ZUZyb21Gb3JtKCk7Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUs
NyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RmlsZUxpc3QgZmlsZXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgTm9kZUxpc3QgICAg
ICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzMsNCArMTczLDE1IEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6
c2V0SHRtbEZvcihjb25zdCAKICAgICBzZXRBdHRyaWJ1dGUoZm9yQXR0ciwgdmFsdWUpOwogfQog
Cit2b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSog
YXR0cmlidXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUtPm5hbWUoKSA9PSBmb3JBdHRyIHx8IGF0
dHJpYnV0ZS0+bmFtZSgpID09ICJodG1sRm9yIikgeworICAgICAgICAvLyBodG1sRm9yIGF0dHJp
YnV0ZSBjaGFuZ2UgYWZmZWN0cyBvdGhlciBub2RlcyB0aGFuIHRoaXMuCisgICAgICAgIC8vIENs
ZWFyIHRoZSBjYWNoZXMgdG8gZW5zdXJlIHRoYXQgdGhlIGxhYmVscyBjYWNoZXMgYXJlIGNsZWFy
ZWQuCisgICAgICAgIGlmIChkb2N1bWVudCgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+bm90
aWZ5TG9jYWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgSFRN
TEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisgICAgICAgICAg
ICAgICAgCiB9IC8vIG5hbWVzcGFjZQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCShyZXZp
c2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUxLDEzICs1MSwxNSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgYWNjZXNzS2V5
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY2Nlc3NLZXkoY29uc3QgU3RyaW5nJik7Ci0KKyAgICAK
ICAgICBTdHJpbmcgaHRtbEZvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0SHRtbEZvcihjb25zdCBT
dHJpbmcmKTsKIAogICAgIHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24g
PSB0cnVlKTsKIAogIHByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmli
dXRlKEF0dHJpYnV0ZSopOworCiAgICAgU3RyaW5nIG1fZm9ybUVsZW1lbnRJRDsKIH07CiAKSW5k
ZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDU5OTQ0KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw1ICszNCw2
IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBvcHRp
bXVtCiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKICAgICB9OwogfQpJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbAkocmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3Jl
L2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3
LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIGRvdWJsZSAgICAgICAg
ICAgICAgICBwb3NpdGlvbjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBIVE1MRm9ybUVs
ZW1lbnQgICAgICAgZm9ybTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAg
ICAgICAgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmlkbAkocmV2aXNpb24gNTk5NDQpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgLy8gIlRoZSBjb250YWluZWQgb3B0aW9ucyBjYW4gYmUgZGlyZWN0bHkgYWNjZXNz
ZWQgdGhyb3VnaCB0aGUgc2VsZWN0IGVsZW1lbnQgYXMgYSBjb2xsZWN0aW9uLiIKICAgICAgICAg
Tm9kZSBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICAgICAgTm9k
ZSBuYW1lZEl0ZW0oaW4gRE9NU3RyaW5nIG5hbWUpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgTm9kZUxpc3QgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiA1OTk0NCkKKysrIFdlYkNvcmUvaHRtbC9I
VE1MVGV4dEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0
YXJ0OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25FbmQ7CiAgICAg
ICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW4gbG9uZyBzdGFydCwgaW4gbG9uZyBlbmQpOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJlbHM7
CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1MCBAQAorLyoqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2Rl
Lm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9y
ZykKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3Qu
aCIKKworI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTGFiZWxFbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKKworTGFiZWxzTm9kZUxpc3Q6OkxhYmVsc05vZGVMaXN0KFBh
c3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSApCisgICAgOiBEeW5hbWljTm9kZUxpc3QoZm9yTm9kZS0+
ZG9jdW1lbnQoKSkgLCBtX2Zvck5vZGUoZm9yTm9kZSkKK3sKK30KKworTGFiZWxzTm9kZUxpc3Q6
On5MYWJlbHNOb2RlTGlzdCgpCit7CisgICAgbV9mb3JOb2RlLT5yZW1vdmVDYWNoZWRMYWJlbHNO
b2RlTGlzdCh0aGlzLCBtX2Zvck5vZGUuZ2V0KCkpOworfSAKKyAgICAKK2Jvb2wgTGFiZWxzTm9k
ZUxpc3Q6Om5vZGVNYXRjaGVzKEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdAoreworICAgIHJldHVy
biB0ZXN0Tm9kZS0+aGFzVGFnTmFtZShsYWJlbFRhZykgJiYgc3RhdGljX2Nhc3Q8SFRNTExhYmVs
RWxlbWVudCo+KHRlc3ROb2RlKS0+Y29udHJvbCgpID09IG1fZm9yTm9kZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3Jn
KQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3Jn
KQorICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQor
ICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAq
LworCisjaWZuZGVmIExhYmVsc05vZGVMaXN0X2gKKyNkZWZpbmUgTGFiZWxzTm9kZUxpc3RfaAor
CisjaW5jbHVkZSAiRHluYW1pY05vZGVMaXN0LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMYWJlbHNOb2RlTGlzdCA6IHB1Ymxp
YyBEeW5hbWljTm9kZUxpc3QgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPExhYmVs
c05vZGVMaXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBmb3JOb2RlKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBMYWJlbHNOb2RlTGlzdChmb3JOb2RlKSk7CisgICAgfQor
ICAgIH5MYWJlbHNOb2RlTGlzdCgpOworCitwcm90ZWN0ZWQ6CisgICAgTGFiZWxzTm9kZUxpc3Qo
UGFzc1JlZlB0cjxOb2RlPiBmb3JOb2RlKTsKKworICAgIHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hl
cyhFbGVtZW50KikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPE5vZGU+IG1fZm9yTm9k
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExhYmVsc05vZGVM
aXN0X2gKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU5OTUzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9u
ICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxh
YmxlIGZvcm0gY29udHJvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM4NzEzCisKKyAgICAgICAgVXBkYXRlIHJlc3VsdCBmb3IgSFRNTFNlbGVjdEVs
ZW1lbnQsIHNpbmNlIGl0IG5vdyBpbmNsdWRlcyB0aGUgbmV3IGF0dHJpYnV0ZSAibGFiZWxzIgor
ICAgICAgICAqIGZhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qczoKKworICAg
ICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJl
bnQtbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdl
LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0
dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9y
LWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmli
dXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMt
aXRlbS1pbmRleC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
bGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVu
dC1sYWJlbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRkZWQuCisKIDIwMTAtMDUtMjEgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBV
cGRhdGUgUXQgc3BlY2lmaWMgZXhwZWN0ZWQgZmlsZSBhZnRlciByNTk5NDEuCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDU5OTQ0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1l
cmF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBQQVNT
IHJlc3VsdEFycmF5WzJdLmkgaXMgJzInCiBQQVNTIHJlc3VsdEFycmF5WzJdLml0ZW0gaXMgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzJdCiAKIFtvYmplY3QgSFRNTFNl
bGVjdEVsZW1lbnRdCi1QQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxNDEKK1BBU1MgcmVzdWx0
QXJyYXkubGVuZ3RoIGlzIDE0MgogUEFTUyByZXN1bHRBcnJheVswXS5pIGlzICcwJwogUEFTUyBy
ZXN1bHRBcnJheVswXS5pdGVtIGlzIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdvcHRp
b24nKVswXQogUEFTUyByZXN1bHRBcnJheVsxXS5pIGlzICcxJwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpz
CShyZXZpc2lvbiA1OTk0NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9k
b21MaXN0RW51bWVyYXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsNyBAQCBz
aG91bGRCZSgicmVzdWx0QXJyYXlbMl0uaXRlbSIsICJkb2N1bWVuCiAvLyBIVE1MU2VsZWN0RWxl
bWVudAogdmFyIGh0bWxTZWxlY3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ3NlbGVjdCcpWzBdOwogcmVzdWx0QXJyYXkgPSBpdGVyYXRlTGlzdChodG1sU2VsZWN0RWxl
bWVudCk7Ci1zaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwgIjE0MSIpOworc2hvdWxkQmUo
InJlc3VsdEFycmF5Lmxlbmd0aCIsICIxNDIiKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVswXS5p
IiwgIicwJyIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLml0ZW0iLCAiZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ29wdGlvbicpWzBdIik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlb
MV0uaSIsICInMSciKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1o
dG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFi
ZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFk
ZGluZyBhIGxhYmVsIHdob3NlIGh0bWxGb3IgcG9pbnRzIHRvIHRoYXQgY29udHJvbC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFi
ZWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFk
ZC1odG1sRm9yLWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1w
YXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxz
IGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGlu
ZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMu
bGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50
LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xh
YmVscy1hZGQtcGFyZW50LWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3It
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0
cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0
aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRh
dGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2lu
dCB0byB0aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1j
aGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJp
YnV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJl
bHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRl
eC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJl
bHMtaXRlbS1pbmRleC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGF0IHRoZSBpdGVtcyBvZiBhIGxhYmVscyBsaXN0IGNhbiBi
ZSBhY2Nlc3NlZCBpbmRpdmlkdWFsbHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTEiCitQQVNTIGxhYmVscy5pdGVtKDEpLmlk
IGlzICJsMTIiCitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTMiCitQQVNTIGxhYmVscy5p
dGVtKDEpLmlkIGlzICJsMTQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVt
LWluZGV4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
aXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtaXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1s
Rm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9y
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rl
c3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkg
dXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGlzIHJlbW92ZWQu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRy
aWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1y
ZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3It
YXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBh
IGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhlIGh0
bWxGb3IgYXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0byB0aGF0IGZvcm0gY29udHJvbC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRt
bEZvci1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1v
dmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBA
QAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWlj
YWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9y
bSBjb250cm9sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMu
bGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
cGFyZW50LWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJl
bC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3It
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3Jt
IGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0
ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0
cmlidXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFi
ZWwuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcg
QEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250
cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCB3aG9zZSBodG1s
Rm9yIHBvaW50cyB0byB0aGF0IGNvbnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2
MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48YnV0dG9uPjxpbnB1dCBp
ZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3Rl
eHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKwor
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDIiOworZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMyI7Citkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0IjsK
K2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hv
dWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1h
ZGQtcGFyZW50LWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFi
ZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRo
YXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0
ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBjb250cm9sLiAn
KTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJl
bnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0
b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9z
ZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFi
ZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRD
aGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWQyIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5h
cHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWQ0IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMt
Y2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0
aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3
aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8g
dGhhdCBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYg
aWQ9ImRpdjIiPjxsYWJlbCBpZD0ibGFiZWxJZCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwv
YnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJl
YSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocGFyZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIp
OworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIp
LmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3Ig
PSAiaWQyIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsK
K2xhYmVsLmh0bWxGb3IgPSAiaWQzIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsK
KworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0IjsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1pdGVtLWluZGV4LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjEgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGl0ZW1zIG9mIGEgbGFiZWxzIGxpc3Qg
Y2FuIGJlIGFjY2Vzc2VkIGluZGl2aWR1YWxseS4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJk
aXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1
dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48
L3RleHRhcmVhPjwvZGl2PjxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBp
ZD0ibDIiIGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibDMiIGZvcj0iaWQzIj48L2xhYmVs
PjxsYWJlbCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPjxsYWJlbCBpZD0ibDExIiBmb3I9Imlk
MSI+PC9sYWJlbD48bGFiZWwgaWQ9ImwxMiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJs
MTMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJlbCBpZD0ibDE0IiBmb3I9ImlkNCI+PC9sYWJlbD4n
OworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0o
MSkuaWQnLCAnImwxMSInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEyIicpOworCits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTMiJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0oMSkuaWQnLCAn
ImwxNCInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmli
dXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0
cmlidXRlLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbignVGVz
dCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1
cGRhdGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgaXMgcmVtb3ZlZC4n
KTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJl
bnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxsYWJl
bCBpZD0ibGFiZWwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsMiIgZm9yPSJp
ZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsYWJlbDMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJlbCBp
ZD0ibGFiZWw0IiBmb3I9ImlkNCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxp
bnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0
Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50
KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWwxIik7CitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibGFiZWwyIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFi
ZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmli
dXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWwzIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWw0Iik7Cits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVt
b3ZlLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAKK2Rlc2Ny
aXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5
bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgdGhh
dCBwb2ludGVkIHRvIHRoYXQgZm9ybSBjb250cm9sLicpOworCit2YXIgcGFyZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0i
ZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5w
dXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+
PC90ZXh0YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFiZWwg
aWQ9ImwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwzIiBmb3I9ImlkMyI+PC9sYWJl
bD48bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD4nOworCitkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibDEiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0
aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJl
bHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibDIiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7
CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibDMi
KS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibDQiKS5odG1sRm9y
ID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBAQAor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wg
aXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIGEgbGFiZWwgYXMgcGFyZW50IGZv
ciB0aGF0IGZvcm0gY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rp
dj48ZGl2IGlkPSJkaXYyIj48bGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48L2xhYmVs
PjxsYWJlbD48aW5wdXQgaWQ9ImlkMiI+PC9sYWJlbD48bGFiZWw+PHNlbGVjdCBpZD0iaWQzIj48
L3NlbGVjdD48L2xhYmVsPjxsYWJlbD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2xh
YmVsPjwvZGl2Pic7CisKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5h
cHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQyIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGls
ZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFi
ZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iikp
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcwko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAK
K2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9s
IGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBs
YWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8
ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsSWQiPjwv
bGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBp
ZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOwor
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJl
bC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDEiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFi
ZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMiIpOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0
QXR0cmlidXRlKCJmb3IiLCAiaWQzIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7
CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDQiKTsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisK
</data>
<flag name="review"
          id="41227"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56783</attachid>
            <date>2010-05-22 11:59:56 -0700</date>
            <delta_ts>2010-05-22 19:20:49 -0700</delta_ts>
            <desc>Patch, remove &quot;htmlFor&quot; from parseMappedAttribute. (Comment #6)</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>51537</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDAwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTggQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVz
VGhhdERlcGVuZE9uQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2Rl
RGF0YTo6aXNFbXB0eSk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9k
ZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxp
c3RzTm9kZURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxMYWJlbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYWJlbHNOb2RlTGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxz
Tm9kZUxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3Jl
YXRlKToKKwogMjAxMC0wNS0yMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA2MDAw
NykKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTk2OSw2ICs5
NjksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNw
cAogICAgIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKICAgICBodG1sL0ltYWdlRGF0
YS5jcHAKKyAgICBodG1sL0xhYmVsc05vZGVMaXN0LmNwcAogICAgIGh0bWwvUHJlbG9hZFNjYW5u
ZXIuY3BwCiAgICAgaHRtbC9TdGVwUmFuZ2UuY3BwCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNw
cApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCShyZXZpc2lvbiA2MDAwNykKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTEyNDgsNiArMTI0OCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAJV2ViQ29yZS9odG1s
L0ltYWdlRGF0YS5jcHAgXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuaCBcCisJV2ViQ29yZS9o
dG1sL0xhYmVsc05vZGVMaXN0LmNwcCBcCisJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0Lmgg
XAogCVdlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9QcmVsb2FkU2Nh
bm5lci5jcHAgXAogCVdlYkNvcmUvaHRtbC9QcmVsb2FkU2Nhbm5lci5oIFwKSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZp
c2lvbiA2MDAwNykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjQ3LDYgKzE2NDcsOCBAQAogICAgICAgICAgICAgJ2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVu
dC5oJywKICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2h0
bWwvSW1hZ2VEYXRhLmgnLAorICAgICAgICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwJywK
KyAgICAgICAgICAgICdodG1sL0xhYmVsc05vZGVMaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwv
TWVkaWFFcnJvci5oJywKICAgICAgICAgICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9QcmVsb2FkU2Nhbm5lci5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjAwMDcp
CisrKyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC02OTMsNiArNjkzLDcg
QEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBcCiAgICAgaHRtbC9JbWFnZURhdGEuY3BwIFwK
KyAgICBodG1sL0xhYmVsc05vZGVMaXN0LmNwcCBcCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5lci5j
cHAgXAogICAgIGh0bWwvU3RlcFJhbmdlLmNwcCBcCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNw
cCBcCkBAIC0xNDIyLDYgKzE0MjMsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0hUTUxWaWRl
b0VsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogICAgIGh0
bWwvSW1hZ2VEYXRhLmggXAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9Q
cmVsb2FkU2Nhbm5lci5oIFwKICAgICBodG1sL1N0ZXBSYW5nZS5oIFwKICAgICBodG1sL1RpbWVS
YW5nZXMuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gNjAwMDcpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU4OCw2ICsyNTg4LDggQEAKIAkJQTQ1NDQyNEIx
MTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjQ5MTE5QjM2NjEwMDlCRTkxMiAvKiBI
VE1MTWV0ZXJFbGVtZW50LmggKi87IH07CiAJCUE0NTQ0MjRFMTE5QjM2ODcwMDlCRTkxMiAvKiBS
ZW5kZXJNZXRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNDU0NDI0QzExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwICovOyB9Owog
CQlBNDU0NDI0RjExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjREMTE5QjM2ODcwMDlCRTkx
MiAvKiBSZW5kZXJNZXRlci5oICovOyB9OworCQlBNDYyNkJGNzExQTM4QkJDMDAyNjY2QkIgLyog
TGFiZWxzTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTQ2MjZCRjUxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmNwcCAq
LzsgfTsKKwkJQTQ2MjZCRjgxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDYyNkJGNjExQTM4
QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLzsgfTsKIAkJQTUxM0IzRDcxMTRCMTY2
NjAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NENGMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENv
Y29hLmggKi87IH07CiAJCUE1MTNCM0Q4MTE0QjE2NkEwMDFDNDI5QiAvKiBLZXlFdmVudENvY29h
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0
RDAxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EubW0gKi87IH07CiAJCUE1OUUzQzFF
MTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUg
LyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oICovOyB9OwpAQCAtODE0OCw2ICs4MTUwLDggQEAKIAkJ
QTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNDU0NDI0QzExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIg
LyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
TWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ2MjZCRjUxMUEzOEJCQzAw
MjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExhYmVsc05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTQ2MjZCRjYxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhYmVsc05vZGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVz
SVBob25lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEtleUV2ZW50Q29kZXNJ
UGhvbmUuaDsgcGF0aCA9IGlwaG9uZS9LZXlFdmVudENvZGVzSVBob25lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE1OUUzQzFEMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudElQ
aG9uZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IEtleUV2ZW50
SVBob25lLm1tOyBwYXRoID0gaXBob25lL0tleUV2ZW50SVBob25lLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBNUFGQjM0RDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0ZXBSYW5nZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzU4Niw2ICsxMzU5MCw4IEBACiAJCQkJQTc3
OTc5MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5MTQw
RDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovLAorCQkJCUE0NjI2QkY1MTFBMzhCQkMwMDI2NjZC
QiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgKi8sCisJCQkJQTQ2MjZCRjYxMUEzOEJCQzAwMjY2NkJC
IC8qIExhYmVsc05vZGVMaXN0LmggKi8sCiAJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8q
IE1lZGlhRXJyb3IuaCAqLywKIAkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFF
cnJvci5pZGwgKi8sCiAJCQkJRTRENEFCRTAwRDc1NDJGMDAwRjk2ODY5IC8qIFByZWxvYWRTY2Fu
bmVyLmNwcCAqLywKQEAgLTE5MjkyLDYgKzE5Mjk4LDcgQEAKIAkJCQk5N0U4QjNDMzExQTI4OTA4
MDAxNjk0MDkgLyogSFRNTDVUb2tlbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MTAzOEIxMUEy
OTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTMy
N0Q2MDExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBNDYyNkJGODExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTU5QTg1RUE0MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4NjAwODExOURBRkExMDBERUYxRUYgLyogSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTNGQUEwOTExQTM2
QkYxMDA1NzY2MjQgLyogQ3Jvc3NUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIxNTgw
LDYgKzIxNTg3LDcgQEAKIAkJCQk5N0U4QjM1NjExQTIzQ0UyMDAxNjk0MDkgLyogSFRNTDVMZXhl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxMDM4QTExQTI5NDcwMDBEQkQ1MEUgLyogSFRN
TDVUb2tlbml6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5
RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNDYyNkJGNzExQTM4
QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTlB
ODVFQTIxMTlENjhEOTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTlBODYwMDYxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4RjFENDExQTY5NTA4MDAxQUMz
NEEgLyogRGV2aWNlT3JpZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBXZWJDb3Jl
L2RvbS9Ob2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNp
b24gNjAwMDcpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMs
NiArNTMsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTGFi
ZWxzTm9kZUxpc3QuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQuaCIKQEAgLTg5MSw2ICs4OTIsMTggQEAgdm9p
ZCBOb2RlOjpub3RpZnlOb2RlTGlzdHNDaGlsZHJlbkNoYW5nZQogICAgICAgICBuLT5ub3RpZnlM
b2NhbE5vZGVMaXN0c0NoaWxkcmVuQ2hhbmdlZCgpOwogfQogCit2b2lkIE5vZGU6Om5vdGlmeUxv
Y2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKCkKK3sKKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBOb2RlUmFyZURhdGEqIGRhdGEgPSByYXJlRGF0YSgpOworICAg
IGlmICghZGF0YS0+bm9kZUxpc3RzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChkYXRh
LT5ub2RlTGlzdHMoKS0+bV9sYWJlbHNOb2RlTGlzdENhY2hlKQorICAgICAgICBkYXRhLT5ub2Rl
TGlzdHMoKS0+bV9sYWJlbHNOb2RlTGlzdENhY2hlLT5pbnZhbGlkYXRlQ2FjaGUoKTsKK30KKwog
dm9pZCBOb2RlOjpyZW1vdmVDYWNoZWRDbGFzc05vZGVMaXN0KENsYXNzTm9kZUxpc3QqIGxpc3Qs
IGNvbnN0IFN0cmluZyYgY2xhc3NOYW1lKQogewogICAgIEFTU0VSVChyYXJlRGF0YSgpKTsKQEAg
LTkyNCw2ICs5MzcsMTYgQEAgdm9pZCBOb2RlOjpyZW1vdmVDYWNoZWRUYWdOb2RlTGlzdChUYWdO
bwogICAgIGRhdGEtPm1fdGFnTm9kZUxpc3RDYWNoZS5yZW1vdmUobmFtZS5pbXBsKCkpOwogfQog
Cit2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KER5bmFtaWNOb2RlTGlzdCog
bGlzdCwgTm9kZSogLypub2RlKi8pCit7CisgICAgQVNTRVJUKHJhcmVEYXRhKCkpOworICAgIEFT
U0VSVChyYXJlRGF0YSgpLT5ub2RlTGlzdHMoKSk7CisgICAgQVNTRVJUX1VOVVNFRChsaXN0LCBs
aXN0LT5oYXNPd25DYWNoZXMoKSk7CisgICAgCisgICAgTm9kZUxpc3RzTm9kZURhdGEqIGRhdGEg
PSByYXJlRGF0YSgpLT5ub2RlTGlzdHMoKTsKKyAgICBkYXRhLT5tX2xhYmVsc05vZGVMaXN0Q2Fj
aGUgPSAwOworfQorCiBOb2RlICpOb2RlOjp0cmF2ZXJzZU5leHROb2RlKGNvbnN0IE5vZGUgKnN0
YXlXaXRoaW4pIGNvbnN0CiB7CiAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKQEAgLTIyMDEsNiArMjIy
NCw5IEBAIHZvaWQgTm9kZTo6Zm9ybWF0Rm9yRGVidWdnZXIoY2hhciogYnVmZmUKIHZvaWQgTm9k
ZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMoKQogewogICAgIG1fY2hpbGROb2RlTGlz
dENhY2hlcy0+cmVzZXQoKTsKKworICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAg
ICAgIG1fbGFiZWxzTm9kZUxpc3RDYWNoZS0+aW52YWxpZGF0ZUNhY2hlKCk7CiAgICAgVGFnTm9k
ZUxpc3RDYWNoZTo6Y29uc3RfaXRlcmF0b3IgdGFnQ2FjaGVFbmQgPSBtX3RhZ05vZGVMaXN0Q2Fj
aGUuZW5kKCk7CiAgICAgZm9yIChUYWdOb2RlTGlzdENhY2hlOjpjb25zdF9pdGVyYXRvciBpdCA9
IG1fdGFnTm9kZUxpc3RDYWNoZS5iZWdpbigpOyBpdCAhPSB0YWdDYWNoZUVuZDsgKytpdCkKICAg
ICAgICAgaXQtPnNlY29uZC0+aW52YWxpZGF0ZUNhY2hlKCk7CkBAIC0yMjE2LDYgKzIyNDIsOCBA
QCB2b2lkIE5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzCiAgICAgTmFtZU5vZGVM
aXN0Q2FjaGU6Oml0ZXJhdG9yIG5hbWVDYWNoZUVuZCA9IG1fbmFtZU5vZGVMaXN0Q2FjaGUuZW5k
KCk7CiAgICAgZm9yIChOYW1lTm9kZUxpc3RDYWNoZTo6aXRlcmF0b3IgaXQgPSBtX25hbWVOb2Rl
TGlzdENhY2hlLmJlZ2luKCk7IGl0ICE9IG5hbWVDYWNoZUVuZDsgKytpdCkKICAgICAgICAgaXQt
PnNlY29uZC0+aW52YWxpZGF0ZUNhY2hlKCk7CisgICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNo
ZSkKKyAgICAgICAgbV9sYWJlbHNOb2RlTGlzdENhY2hlLT5pbnZhbGlkYXRlQ2FjaGUoKTsKIH0K
IAogYm9vbCBOb2RlTGlzdHNOb2RlRGF0YTo6aXNFbXB0eSgpIGNvbnN0CkBAIC0yMjQ0LDYgKzIy
NzIsOSBAQCBib29sIE5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KCkgY29uc3QKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBpZiAobV9sYWJlbHNOb2RlTGlzdENhY2hl
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDog
V2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuaAkocmV2
aXNpb24gNjAwMDcpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUy
Nyw5ICs1MjcsMTEgQEAgcHVibGljOgogICAgIHZvaWQgbm90aWZ5TG9jYWxOb2RlTGlzdHNDaGls
ZHJlbkNoYW5nZWQoKTsKICAgICB2b2lkIG5vdGlmeU5vZGVMaXN0c0F0dHJpYnV0ZUNoYW5nZWQo
KTsKICAgICB2b2lkIG5vdGlmeUxvY2FsTm9kZUxpc3RzQXR0cmlidXRlQ2hhbmdlZCgpOworICAg
IHZvaWQgbm90aWZ5TG9jYWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKTsKICAgICB2b2lkIHJlbW92
ZUNhY2hlZENsYXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCosIGNvbnN0IFN0cmluZyYpOwogICAg
IHZvaWQgcmVtb3ZlQ2FjaGVkTmFtZU5vZGVMaXN0KE5hbWVOb2RlTGlzdCosIGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgcmVtb3ZlQ2FjaGVkVGFnTm9kZUxpc3QoVGFnTm9kZUxpc3QqLCBjb25z
dCBRdWFsaWZpZWROYW1lJik7CisgICAgdm9pZCByZW1vdmVDYWNoZWRMYWJlbHNOb2RlTGlzdChE
eW5hbWljTm9kZUxpc3QqLCBOb2RlKik7CiAgICAgCiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4g
Z2V0RWxlbWVudHNCeVRhZ05hbWUoY29uc3QgU3RyaW5nJik7CiAgICAgUGFzc1JlZlB0cjxOb2Rl
TGlzdD4gZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFj
ZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5hbWUpOwpJbmRleDogV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgJKHJldmlz
aW9uIDYwMDA3KQorKysgV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDYgKzUxLDggQEAgc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUg
ewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8UXVhbGlmaWVkTmFtZTo6UXVhbGlmaWVkTmFt
ZUltcGw+LCBUYWdOb2RlTGlzdCo+IFRhZ05vZGVMaXN0Q2FjaGU7CiAgICAgVGFnTm9kZUxpc3RD
YWNoZSBtX3RhZ05vZGVMaXN0Q2FjaGU7CiAKKyAgICBSZWZQdHI8RHluYW1pY05vZGVMaXN0PiBt
X2xhYmVsc05vZGVMaXN0Q2FjaGU7CisgICAgCiAgICAgc3RhdGljIFBhc3NPd25QdHI8Tm9kZUxp
c3RzTm9kZURhdGE+IGNyZWF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbmV3IE5vZGVMaXN0
c05vZGVEYXRhOwpAQCAtNjIsNyArNjQsNyBAQCBzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBO
b25jb3B5YWJsZSB7CiAKIHByaXZhdGU6CiAgICAgTm9kZUxpc3RzTm9kZURhdGEoKQotICAgICAg
ICA6IG1fY2hpbGROb2RlTGlzdENhY2hlcyhEeW5hbWljTm9kZUxpc3Q6OkNhY2hlczo6Y3JlYXRl
KCkpCisgICAgICAgIDogbV9jaGlsZE5vZGVMaXN0Q2FjaGVzKER5bmFtaWNOb2RlTGlzdDo6Q2Fj
aGVzOjpjcmVhdGUoKSksIG1fbGFiZWxzTm9kZUxpc3RDYWNoZSgwKQogICAgIHsKICAgICB9CiB9
OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiA2MDAwNykKKysr
IFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDYgKzM1LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBib29sZWFuICBjaGVja1ZhbGlkaXR5
KCk7CiAgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRlZmluZWRP
ck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAgICAgICAgIHZvaWQgY2xpY2so
KTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAgICAgICAgbGFi
ZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDYwMDA3KQorKysgV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ2hy
b21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJFbGVtZW50UmFyZURhdGEuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1
ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKQEAgLTM5LDYgKzQw
LDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VyLmgiCiAj
aW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgorI2luY2x1ZGUgIkxhYmVsc05vZGVMaXN0LmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlJlbmRl
clRleHRDb250cm9sLmgiCkBAIC00MDYsMTEgKzQwOCwzMCBAQCBib29sIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ6OmlzTGFiZWxhYmxlCiB7CiAgICAgLy8gRklYTUU6IEFkZCBtZXRlclRhZyBhbmQg
b3V0cHV0VGFnIHRvIHRoZSBsaXN0IG9uY2Ugd2Ugc3VwcG9ydCB0aGVtLgogICAgIHJldHVybiBo
YXNUYWdOYW1lKGJ1dHRvblRhZykgfHwgaGFzVGFnTmFtZShpbnB1dFRhZykgfHwgaGFzVGFnTmFt
ZShrZXlnZW5UYWcpCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAgICAgfHwgaGFzVGFnTmFt
ZShtZXRlclRhZykKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIHx8
IGhhc1RhZ05hbWUocHJvZ3Jlc3NUYWcpCiAjZW5kaWYKICAgICAgICAgfHwgaGFzVGFnTmFtZShz
ZWxlY3RUYWcpIHx8IGhhc1RhZ05hbWUodGV4dGFyZWFUYWcpOwogfQorCitQYXNzUmVmUHRyPE5v
ZGVMaXN0PiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpsYWJlbHMoKQoreworICAgIGlmICghaXNM
YWJlbGFibGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFkb2N1bWVudCgpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICAKKyAgICBOb2RlUmFyZURhdGEqIGRhdGEgPSBOb2RlOjplbnN1
cmVSYXJlRGF0YSgpOworICAgIGlmICghZGF0YS0+bm9kZUxpc3RzKCkpIHsKKyAgICAgICAgZGF0
YS0+c2V0Tm9kZUxpc3RzKE5vZGVMaXN0c05vZGVEYXRhOjpjcmVhdGUoKSk7CisgICAgICAgIGRv
Y3VtZW50KCktPmFkZE5vZGVMaXN0Q2FjaGUoKTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIExh
YmVsc05vZGVMaXN0OjpjcmVhdGUodGhpcyk7Cit9CiAgICAgCiBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50V2l0aFN0YXRlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MsIEhUTUxGb3JtRWxlbWVudCogZikKICAg
ICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jLCBmKQpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCShyZXZpc2lvbiA2MDAwNykKKysrIFdlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsx
MjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50KCk7CiAK
ICAgICBib29sIGlzTGFiZWxhYmxlKCkgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4g
bGFiZWxzKCk7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCByZW1vdmVGcm9tRm9ybSgpOwpJ
bmRleDogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkocmV2aXNpb24gNjAwMDcpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTk1LDYgKzk1
LDcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEZpbGVMaXN0IGZpbGVzOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAg
ICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA2MDAwNykKKysrIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTczLDQgKzE3MywxNSBAQCB2b2lkIEhUTUxMYWJlbEVsZW1lbnQ6
OnNldEh0bWxGb3IoY29uc3QgCiAgICAgc2V0QXR0cmlidXRlKGZvckF0dHIsIHZhbHVlKTsKIH0K
IAordm9pZCBIVE1MTGFiZWxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHJpYnV0ZSkKK3sKKyAgICBpZiAoYXR0cmlidXRlLT5uYW1lKCkgPT0gZm9yQXR0cikgewor
ICAgICAgICAvLyBodG1sRm9yIGF0dHJpYnV0ZSBjaGFuZ2UgYWZmZWN0cyBvdGhlciBub2RlcyB0
aGFuIHRoaXMuCisgICAgICAgIC8vIENsZWFyIHRoZSBjYWNoZXMgdG8gZW5zdXJlIHRoYXQgdGhl
IGxhYmVscyBjYWNoZXMgYXJlIGNsZWFyZWQuCisgICAgICAgIGlmIChkb2N1bWVudCgpKQorICAg
ICAgICAgICAgZG9jdW1lbnQoKS0+bm90aWZ5TG9jYWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHJpYnV0ZSk7Cit9CisgICAgICAgICAgICAgICAgCiB9IC8vIG5hbWVzcGFjZQpJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTExhYmVsRWxlbWVudC5oCShyZXZpc2lvbiA2MDAwNykKKysrIFdlYkNvcmUvaHRtbC9IVE1M
TGFiZWxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDEzICs1MSwxNSBAQCBwdWJsaWM6
CiAKICAgICBTdHJpbmcgYWNjZXNzS2V5KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY2Nlc3NLZXko
Y29uc3QgU3RyaW5nJik7Ci0KKyAgICAKICAgICBTdHJpbmcgaHRtbEZvcigpIGNvbnN0OwogICAg
IHZvaWQgc2V0SHRtbEZvcihjb25zdCBTdHJpbmcmKTsKIAogICAgIHZvaWQgZm9jdXMoYm9vbCBy
ZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gPSB0cnVlKTsKIAogIHByaXZhdGU6CisgICAgdmlydHVh
bCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOworCiAgICAgU3RyaW5nIG1f
Zm9ybUVsZW1lbnRJRDsKIH07CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDYwMDA3KQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw1ICszNCw2IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGRvdWJsZSBvcHRpbXVtCiAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9y
bUVsZW1lbnQgZm9ybTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVs
czsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbAkocmV2
aXNpb24gNjAwMDcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAg
ICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgIGRvdWJsZSAgICAgICAgICAgICAgICBwb3NpdGlvbjsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQgICAgICAgZm9ybTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0K
SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAkocmV2aXNpb24gNjAwMDcpCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2
ICs2OCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgLy8gIlRoZSBjb250YWluZWQgb3B0aW9u
cyBjYW4gYmUgZGlyZWN0bHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgc2VsZWN0IGVsZW1lbnQgYXMg
YSBjb2xsZWN0aW9uLiIKICAgICAgICAgTm9kZSBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBs
b25nIGluZGV4KTsKICAgICAgICAgTm9kZSBuYW1lZEl0ZW0oaW4gRE9NU3RyaW5nIG5hbWUpOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgICAgICAgIGxhYmVsczsKICAgICB9
OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiA2
MDAwNykKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNiArNTAsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0YXJ0OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
bG9uZyBzZWxlY3Rpb25FbmQ7CiAgICAgICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW4gbG9u
ZyBzdGFydCwgaW4gbG9uZyBlbmQpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVM
aXN0ICAgICAgICAgICAgICBsYWJlbHM7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1s
L0xhYmVsc05vZGVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvTGFiZWxzTm9k
ZUxpc3QuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNw
cAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoqCisgKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0
aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJr
IE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNywg
MjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTGFiZWxzTm9kZUxpc3QuaCIKKworI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTGFiZWxFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworTGFiZWxzTm9k
ZUxpc3Q6OkxhYmVsc05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSApCisgICAgOiBE
eW5hbWljTm9kZUxpc3QoZm9yTm9kZS0+ZG9jdW1lbnQoKSkgLCBtX2Zvck5vZGUoZm9yTm9kZSkK
K3sKK30KKworTGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCgpCit7CisgICAgbV9mb3JO
b2RlLT5yZW1vdmVDYWNoZWRMYWJlbHNOb2RlTGlzdCh0aGlzLCBtX2Zvck5vZGUuZ2V0KCkpOwor
fSAKKyAgICAKK2Jvb2wgTGFiZWxzTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKEVsZW1lbnQqIHRlc3RO
b2RlKSBjb25zdAoreworICAgIHJldHVybiB0ZXN0Tm9kZS0+aGFzVGFnTmFtZShsYWJlbFRhZykg
JiYgc3RhdGljX2Nhc3Q8SFRNTExhYmVsRWxlbWVudCo+KHRlc3ROb2RlKS0+Y29udHJvbCgpID09
IG1fZm9yTm9kZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9o
dG1sL0xhYmVsc05vZGVMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0xhYmVsc05v
ZGVMaXN0LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtv
aXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVl
bGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIExhYmVsc05vZGVMaXN0X2gKKyNk
ZWZpbmUgTGFiZWxzTm9kZUxpc3RfaAorCisjaW5jbHVkZSAiRHluYW1pY05vZGVMaXN0LmgiCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBMYWJlbHNOb2RlTGlzdCA6IHB1YmxpYyBEeW5hbWljTm9kZUxpc3QgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPExhYmVsc05vZGVMaXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2Rl
PiBmb3JOb2RlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBMYWJlbHNOb2Rl
TGlzdChmb3JOb2RlKSk7CisgICAgfQorICAgIH5MYWJlbHNOb2RlTGlzdCgpOworCitwcm90ZWN0
ZWQ6CisgICAgTGFiZWxzTm9kZUxpc3QoUGFzc1JlZlB0cjxOb2RlPiBmb3JOb2RlKTsKKworICAg
IHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KikgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgUmVmUHRyPE5vZGU+IG1fZm9yTm9kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIExhYmVsc05vZGVMaXN0X2gKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDYwMDA3KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQgdGhlIGxh
YmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisKKyAgICAgICAgVXBkYXRl
IHJlc3VsdCBmb3IgSFRNTFNlbGVjdEVsZW1lbnQsIHNpbmNlIGl0IG5vdyBpbmNsdWRlcyB0aGUg
bmV3IGF0dHJpYnV0ZSAibGFiZWxzIgorICAgICAgICAqIGZhc3QvZG9tL2RvbUxpc3RFbnVtZXJh
dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxp
c3RFbnVtZXJhdGlvbi5qczoKKworICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1s
Rm9yLWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJl
bHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9s
YWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmli
dXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWlu
ZGV4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1s
Rm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
cGFyZW50LWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50
LWxhYmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5q
czogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWxhYmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRk
ZWQuCisKIDIwMTAtMDUtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIHRlc3QgcmVzdWx0cyBmb3IgTWFjOyBubyByZXZpZXcuCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDYwMDA3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVu
dW1lcmF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBQ
QVNTIHJlc3VsdEFycmF5WzJdLmkgaXMgJzInCiBQQVNTIHJlc3VsdEFycmF5WzJdLml0ZW0gaXMg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzJdCiAKIFtvYmplY3QgSFRN
TFNlbGVjdEVsZW1lbnRdCi1QQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxNDEKK1BBU1MgcmVz
dWx0QXJyYXkubGVuZ3RoIGlzIDE0MgogUEFTUyByZXN1bHRBcnJheVswXS5pIGlzICcwJwogUEFT
UyByZXN1bHRBcnJheVswXS5pdGVtIGlzIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdv
cHRpb24nKVswXQogUEFTUyByZXN1bHRBcnJheVsxXS5pIGlzICcxJwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9u
LmpzCShyZXZpc2lvbiA2MDAwNykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0
cy9kb21MaXN0RW51bWVyYXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsNyBA
QCBzaG91bGRCZSgicmVzdWx0QXJyYXlbMl0uaXRlbSIsICJkb2N1bWVuCiAvLyBIVE1MU2VsZWN0
RWxlbWVudAogdmFyIGh0bWxTZWxlY3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoJ3NlbGVjdCcpWzBdOwogcmVzdWx0QXJyYXkgPSBpdGVyYXRlTGlzdChodG1sU2VsZWN0
RWxlbWVudCk7Ci1zaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwgIjE0MSIpOworc2hvdWxk
QmUoInJlc3VsdEFycmF5Lmxlbmd0aCIsICIxNDIiKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVsw
XS5pIiwgIicwJyIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLml0ZW0iLCAiZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ29wdGlvbicpWzBdIik7CiBzaG91bGRCZSgicmVzdWx0QXJy
YXlbMV0uaSIsICInMSciKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFk
ZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUg
bGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVu
IGFkZGluZyBhIGxhYmVsIHdob3NlIGh0bWxGb3IgcG9pbnRzIHRvIHRoYXQgY29udHJvbC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3It
bGFiZWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxz
LWFkZC1odG1sRm9yLWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFk
ZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhhdCB0aGUgbGFi
ZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFk
ZGluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJl
bHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5n
dGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAx
CitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFy
ZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxG
b3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3It
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVz
dCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1
cGRhdGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBw
b2ludCB0byB0aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0
dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9s
YWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1p
bmRleC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtaXRlbS1pbmRleC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNCBAQAorVGVzdCB0aGF0IHRoZSBpdGVtcyBvZiBhIGxhYmVscyBsaXN0IGNh
biBiZSBhY2Nlc3NlZCBpbmRpdmlkdWFsbHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTEiCitQQVNTIGxhYmVscy5pdGVtKDEp
LmlkIGlzICJsMTIiCitQQVNTIGxhYmVscy5pdGVtKDEpLmlkIGlzICJsMTMiCitQQVNTIGxhYmVs
cy5pdGVtKDEpLmlkIGlzICJsMTQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1p
dGVtLWluZGV4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJl
bHMtaXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtaXRlbS1pbmRleC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1o
dG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1s
Rm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAK
K1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2Fs
bHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGlzIHJlbW92
ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1h
dHRyaWJ1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxG
b3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJl
bW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBv
ZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhl
IGh0bWxGb3IgYXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0byB0aGF0IGZvcm0gY29udHJvbC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1y
ZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
OCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5h
bWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQg
Zm9ybSBjb250cm9sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJl
bHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5n
dGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAx
CitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mg
bGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1v
dmUtcGFyZW50LWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1s
YWJlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxG
b3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBm
b3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJp
YnV0ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1Mg
bGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMu
bGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3It
YXR0cmlidXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xh
YmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3It
bGFiZWwuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzcgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBj
b250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCB3aG9zZSBo
dG1sRm9yIHBvaW50cyB0byB0aGF0IGNvbnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0i
ZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48YnV0dG9uPjxpbnB1
dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48
L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsK
KworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK2RvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxz
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDIiOworZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMi
KS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMyI7Citkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVs
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0
IjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1hZGQtcGFyZW50LWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQt
bGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0
IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVw
ZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBjb250cm9s
LiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitw
YXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxi
dXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+
PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOwor
bGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxz
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBl
bmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQyIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOwor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJl
bC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQ0IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0
ZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhh
dCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRl
ZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQg
dG8gdGhhdCBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2Pjxk
aXYgaWQ9ImRpdjIiPjxsYWJlbCBpZD0ibGFiZWxJZCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEi
PjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0
YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocGFyZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJ
ZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQxIjsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxG
b3IgPSAiaWQyIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWwgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAn
KTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQzIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEn
KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQ0IjsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1pdGVtLWluZGV4LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjEgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGl0ZW1zIG9mIGEgbGFiZWxzIGxp
c3QgY2FuIGJlIGFjY2Vzc2VkIGluZGl2aWR1YWxseS4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxp
bnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0
Ij48L3RleHRhcmVhPjwvZGl2PjxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJl
bCBpZD0ibDIiIGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibDMiIGZvcj0iaWQzIj48L2xh
YmVsPjxsYWJlbCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPjxsYWJlbCBpZD0ibDExIiBmb3I9
ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImwxMiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlk
PSJsMTMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJlbCBpZD0ibDE0IiBmb3I9ImlkNCI+PC9sYWJl
bD4nOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0
ZW0oMSkuaWQnLCAnImwxMSInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEyIicpOwor
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTMiJyk7CisKK2xhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0oMSkuaWQn
LCAnImwxNCInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0
cmlidXRlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3It
YXR0cmlidXRlLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbign
VGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxs
eSB1cGRhdGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgaXMgcmVtb3Zl
ZC4nKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitw
YXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxs
YWJlbCBpZD0ibGFiZWwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsMiIgZm9y
PSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsYWJlbDMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJl
bCBpZD0ibGFiZWw0IiBmb3I9ImlkNCI+PC9sYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9u
PjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0i
aWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFy
ZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWwxIik7CitsYWJl
bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGFiZWwyIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0
cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWwg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWwzIik7CitsYWJlbHMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzAnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWw0Iik7
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworbGFiZWwucmVtb3ZlQXR0cmlidXRlKCJmb3IiKTsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMt
cmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAKK2Rl
c2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlz
IGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyB0aGUgaHRtbEZvciBhdHRyaWJ1dGUg
dGhhdCBwb2ludGVkIHRvIHRoYXQgZm9ybSBjb250cm9sLicpOworCit2YXIgcGFyZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBp
ZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48
aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9Imlk
NCI+PC90ZXh0YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9ImlkMSI+PC9sYWJlbD48bGFi
ZWwgaWQ9ImwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwzIiBmb3I9ImlkMyI+PC9s
YWJlbD48bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD4nOworCitkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibDEiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibDIiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bDMiKS5odG1sRm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xh
YmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgn
bGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibDQiKS5odG1s
Rm9yID0gIiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwu
anMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9s
YWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMCBA
QAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRy
b2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIGEgbGFiZWwgYXMgcGFyZW50
IGZvciB0aGF0IGZvcm0gY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48
L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48L2xh
YmVsPjxsYWJlbD48aW5wdXQgaWQ9ImlkMiI+PC9sYWJlbD48bGFiZWw+PHNlbGVjdCBpZD0iaWQz
Ij48L3NlbGVjdD48L2xhYmVsPjxsYWJlbD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48
L2xhYmVsPjwvZGl2Pic7CisKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwor
CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEi
KS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWQyIikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRD
aGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQzIikpOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0
IikpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQg
QEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250
cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2Yg
YSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJl
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9
ICc8ZGl2IGlkPSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsSWQi
PjwvbGFiZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVj
dCBpZD0iaWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4n
OworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7Cits
YWJlbC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDEiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOwor
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMiIp
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwu
c2V0QXR0cmlidXRlKCJmb3IiLCAiaWQzIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcx
Jyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRBdHRyaWJ1dGUoImZvciIsICJpZDQiKTsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56805</attachid>
            <date>2010-05-22 19:20:49 -0700</date>
            <delta_ts>2010-05-23 05:30:45 -0700</delta_ts>
            <desc>Update Visual Studio project file.</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>52069</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDAyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTkgQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzVGhhdERlcGVuZE9uQXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6aXNFbXB0eSk6
CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9kZVJhcmVEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RzTm9kZURhdGEpOgor
ICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMYWJlbEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGFiZWxz
Tm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2Rl
TGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxzTm9kZUxpc3QuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3JlYXRlKToKKwogMjAxMC0w
NS0yMiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsgUm93ZS4KSW5kZXg6IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05ODIsNiArOTgyLDcgQEAgU0VUKFdl
YkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHAKICAgICBodG1sL0hU
TUxWaWV3U291cmNlRG9jdW1lbnQuY3BwCiAgICAgaHRtbC9JbWFnZURhdGEuY3BwCisgICAgaHRt
bC9MYWJlbHNOb2RlTGlzdC5jcHAKICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmNwcAogICAgIGh0
bWwvU3RlcFJhbmdlLmNwcAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKSW5kZXg6IFdlYkNv
cmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
cmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjQ4LDYgKzEyNDgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRt
bC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuY3Bw
IFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9MYWJlbHNOb2Rl
TGlzdC5jcHAgXAorCVdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwKIAlXZWJDb3JlL2h0
bWwvTWVkaWFFcnJvci5oIFwKIAlXZWJDb3JlL2h0bWwvUHJlbG9hZFNjYW5uZXIuY3BwIFwKIAlX
ZWJDb3JlL2h0bWwvUHJlbG9hZFNjYW5uZXIuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjAwMjYpCisr
KyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMTY0Nyw2ICsxNjQ3LDgg
QEAKICAgICAgICAgICAgICdodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCcsCiAgICAgICAg
ICAgICAnaHRtbC9JbWFnZURhdGEuY3BwJywKICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5o
JywKKyAgICAgICAgICAgICdodG1sL0xhYmVsc05vZGVMaXN0LmNwcCcsCisgICAgICAgICAgICAn
aHRtbC9MYWJlbHNOb2RlTGlzdC5oJywKICAgICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaCcs
CiAgICAgICAgICAgICAnaHRtbC9QcmVsb2FkU2Nhbm5lci5jcHAnLAogICAgICAgICAgICAgJ2h0
bWwvUHJlbG9hZFNjYW5uZXIuaCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDYwMDI2KQorKysgV2ViQ29yZS9X
ZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtNjkzLDYgKzY5Myw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudC5jcHAgXAogICAgIGh0bWwvSW1hZ2VEYXRhLmNwcCBcCisgICAgaHRtbC9MYWJl
bHNOb2RlTGlzdC5jcHAgXAogICAgIGh0bWwvUHJlbG9hZFNjYW5uZXIuY3BwIFwKICAgICBodG1s
L1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgXApAQCAtMTQyMiw2
ICsxNDIzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggXAog
ICAgIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKICAgICBodG1sL0ltYWdlRGF0YS5o
IFwKKyAgICBodG1sL0xhYmVsc05vZGVMaXN0LmggXAogICAgIGh0bWwvUHJlbG9hZFNjYW5uZXIu
aCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXApJbmRl
eDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA2MDAyNikKKysr
IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAg
LTM1MTMzLDYgKzM1MTMzLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcTGFiZWxzTm9kZUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxMYWJlbHNOb2Rl
TGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxNZWRpYUVycm9yLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDYwMDI2KQor
KysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTI1ODgsNiArMjU4OCw4IEBACiAJCUE0NTQ0MjRCMTE5QjM2NjEwMDlCRTkxMiAvKiBI
VE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNDU0NDI0OTExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oICov
OyB9OwogCQlBNDU0NDI0RTExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEMxMTlCMzY4
NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCAqLzsgfTsKIAkJQTQ1NDQyNEYxMTlCMzY4NzAw
OUJFOTEyIC8qIFJlbmRlck1ldGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCAq
LzsgfTsKKwkJQTQ2MjZCRjcxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NjI2QkY1MTFB
MzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgKi87IH07CisJCUE0NjI2QkY4MTFB
MzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ2MjZCRjYxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVs
c05vZGVMaXN0LmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVu
dENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEz
QjNEODExNEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAv
KiBLZXlFdmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyog
S2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhv
bmUuaCAqLzsgfTsKQEAgLTgxNDgsNiArODE1MCw4IEBACiAJCUE0NTQ0MjQ5MTE5QjM2NjEwMDlC
RTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhUTUxNZXRlckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTQ1
NDQyNEMxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1ldGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1ldGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE0NjI2QkY1MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2Rl
TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbHNOb2Rl
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0NjI2QkY2MTFBMzhCQkMw
MDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMYWJlbHNOb2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTlF
M0MxQzExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBLZXlFdmVudENvZGVzSVBob25lLmg7IHBhdGggPSBpcGhv
bmUvS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
NTlFM0MxRDExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRJUGhvbmUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBLZXlFdmVudElQaG9uZS5tbTsgcGF0aCA9IGlw
aG9uZS9LZXlFdmVudElQaG9uZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVB
RkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTdGVwUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTM1ODYsNiArMTM1OTAsOCBAQAogCQkJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFC
OSAvKiBJbWFnZURhdGEuY3BwICovLAogCQkJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJ
bWFnZURhdGEuaCAqLywKIAkJCQlBNzc5NzkxNTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRh
LmlkbCAqLywKKwkJCQlBNDYyNkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3Qu
Y3BwICovLAorCQkJCUE0NjI2QkY2MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5o
ICovLAogCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi8sCiAJ
CQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaWRsICovLAogCQkJCUU0
RDRBQkUwMEQ3NTQyRjAwMEY5Njg2OSAvKiBQcmVsb2FkU2Nhbm5lci5jcHAgKi8sCkBAIC0xOTI5
Miw2ICsxOTI5OCw3IEBACiAJCQkJOTdFOEIzQzMxMUEyODkwODAwMTY5NDA5IC8qIEhUTUw1VG9r
ZW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzEwMzhCMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1M
NVRva2VuaXplci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEzMjdENjAxMUEzM0EyQjAwNEY5RDY1
IC8qIFNpbmtEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ2MjZCRjgxMUEzOEJCQzAw
MjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4NUVBNDEx
OUQ2OEVDMDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTlBODYwMDgxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzRkFBMDkxMUEzNkJGMTAwNTc2NjI0IC8qIENyb3Nz
VGhyZWFkVGFzay5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTU4MCw2ICsyMTU4Nyw3IEBACiAJCQkJ
OTdFOEIzNTYxMUEyM0NFMjAwMTY5NDA5IC8qIEhUTUw1TGV4ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTg3MTAzOEExMUEyOTQ3MDAwREJENTBFIC8qIEhUTUw1VG9rZW5pemVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMzI3RDYxMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTQ2MjZCRjcxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVs
c05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5QTg1RUEyMTE5RDY4RDkwMERFRjFF
RiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5QTg2
MDA2MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTlBOEYxRDQxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0
aW9uLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9kb20vTm9kZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDYwMDI2KQorKysgV2ViQ29y
ZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkxhYmVsc05vZGVMaXN0LmgiCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJNdXRh
dGlvbkV2ZW50LmgiCkBAIC04OTEsNiArODkyLDE4IEBAIHZvaWQgTm9kZTo6bm90aWZ5Tm9kZUxp
c3RzQ2hpbGRyZW5DaGFuZ2UKICAgICAgICAgbi0+bm90aWZ5TG9jYWxOb2RlTGlzdHNDaGlsZHJl
bkNoYW5nZWQoKTsKIH0KIAordm9pZCBOb2RlOjpub3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hh
bmdlZCgpCit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm47CisgICAg
Tm9kZVJhcmVEYXRhKiBkYXRhID0gcmFyZURhdGEoKTsKKyAgICBpZiAoIWRhdGEtPm5vZGVMaXN0
cygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZGF0YS0+bm9kZUxpc3RzKCktPm1fbGFi
ZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAgICAgZGF0YS0+bm9kZUxpc3RzKCktPm1fbGFiZWxzTm9k
ZUxpc3RDYWNoZS0+aW52YWxpZGF0ZUNhY2hlKCk7Cit9CisKIHZvaWQgTm9kZTo6cmVtb3ZlQ2Fj
aGVkQ2xhc3NOb2RlTGlzdChDbGFzc05vZGVMaXN0KiBsaXN0LCBjb25zdCBTdHJpbmcmIGNsYXNz
TmFtZSkKIHsKICAgICBBU1NFUlQocmFyZURhdGEoKSk7CkBAIC05MjQsNiArOTM3LDE2IEBAIHZv
aWQgTm9kZTo6cmVtb3ZlQ2FjaGVkVGFnTm9kZUxpc3QoVGFnTm8KICAgICBkYXRhLT5tX3RhZ05v
ZGVMaXN0Q2FjaGUucmVtb3ZlKG5hbWUuaW1wbCgpKTsKIH0KIAordm9pZCBOb2RlOjpyZW1vdmVD
YWNoZWRMYWJlbHNOb2RlTGlzdChEeW5hbWljTm9kZUxpc3QqIGxpc3QsIE5vZGUqIC8qbm9kZSov
KQoreworICAgIEFTU0VSVChyYXJlRGF0YSgpKTsKKyAgICBBU1NFUlQocmFyZURhdGEoKS0+bm9k
ZUxpc3RzKCkpOworICAgIEFTU0VSVF9VTlVTRUQobGlzdCwgbGlzdC0+aGFzT3duQ2FjaGVzKCkp
OworICAgIAorICAgIE5vZGVMaXN0c05vZGVEYXRhKiBkYXRhID0gcmFyZURhdGEoKS0+bm9kZUxp
c3RzKCk7CisgICAgZGF0YS0+bV9sYWJlbHNOb2RlTGlzdENhY2hlID0gMDsKK30KKwogTm9kZSAq
Tm9kZTo6dHJhdmVyc2VOZXh0Tm9kZShjb25zdCBOb2RlICpzdGF5V2l0aGluKSBjb25zdAogewog
ICAgIGlmIChmaXJzdENoaWxkKCkpCkBAIC0yMjAxLDYgKzIyMjQsOSBAQCB2b2lkIE5vZGU6OmZv
cm1hdEZvckRlYnVnZ2VyKGNoYXIqIGJ1ZmZlCiB2b2lkIE5vZGVMaXN0c05vZGVEYXRhOjppbnZh
bGlkYXRlQ2FjaGVzKCkKIHsKICAgICBtX2NoaWxkTm9kZUxpc3RDYWNoZXMtPnJlc2V0KCk7CisK
KyAgICBpZiAobV9sYWJlbHNOb2RlTGlzdENhY2hlKQorICAgICAgICBtX2xhYmVsc05vZGVMaXN0
Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOwogICAgIFRhZ05vZGVMaXN0Q2FjaGU6OmNvbnN0X2l0
ZXJhdG9yIHRhZ0NhY2hlRW5kID0gbV90YWdOb2RlTGlzdENhY2hlLmVuZCgpOwogICAgIGZvciAo
VGFnTm9kZUxpc3RDYWNoZTo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3RhZ05vZGVMaXN0Q2FjaGUu
YmVnaW4oKTsgaXQgIT0gdGFnQ2FjaGVFbmQ7ICsraXQpCiAgICAgICAgIGl0LT5zZWNvbmQtPmlu
dmFsaWRhdGVDYWNoZSgpOwpAQCAtMjIxNiw2ICsyMjQyLDggQEAgdm9pZCBOb2RlTGlzdHNOb2Rl
RGF0YTo6aW52YWxpZGF0ZUNhY2hlcwogICAgIE5hbWVOb2RlTGlzdENhY2hlOjppdGVyYXRvciBu
YW1lQ2FjaGVFbmQgPSBtX25hbWVOb2RlTGlzdENhY2hlLmVuZCgpOwogICAgIGZvciAoTmFtZU5v
ZGVMaXN0Q2FjaGU6Oml0ZXJhdG9yIGl0ID0gbV9uYW1lTm9kZUxpc3RDYWNoZS5iZWdpbigpOyBp
dCAhPSBuYW1lQ2FjaGVFbmQ7ICsraXQpCiAgICAgICAgIGl0LT5zZWNvbmQtPmludmFsaWRhdGVD
YWNoZSgpOworICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIG1fbGFiZWxz
Tm9kZUxpc3RDYWNoZS0+aW52YWxpZGF0ZUNhY2hlKCk7CiB9CiAKIGJvb2wgTm9kZUxpc3RzTm9k
ZURhdGE6OmlzRW1wdHkoKSBjb25zdApAQCAtMjI0NCw2ICsyMjcyLDkgQEAgYm9vbCBOb2RlTGlz
dHNOb2RlRGF0YTo6aXNFbXB0eSgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCisgICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDYwMDI2KQorKysgV2Vi
Q29yZS9kb20vTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MjcsOSArNTI3LDExIEBAIHB1Ymxp
YzoKICAgICB2b2lkIG5vdGlmeUxvY2FsTm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiAgICAg
dm9pZCBub3RpZnlOb2RlTGlzdHNBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdm9pZCBub3RpZnlM
b2NhbE5vZGVMaXN0c0F0dHJpYnV0ZUNoYW5nZWQoKTsKKyAgICB2b2lkIG5vdGlmeUxvY2FsTm9k
ZUxpc3RzTGFiZWxDaGFuZ2VkKCk7CiAgICAgdm9pZCByZW1vdmVDYWNoZWRDbGFzc05vZGVMaXN0
KENsYXNzTm9kZUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlZE5h
bWVOb2RlTGlzdChOYW1lTm9kZUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlbW92
ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05vZGVMaXN0KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwor
ICAgIHZvaWQgcmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiwgTm9k
ZSopOwogICAgIAogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldEVsZW1lbnRzQnlUYWdOYW1l
KGNvbnN0IFN0cmluZyYpOwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYg
bG9jYWxOYW1lKTsKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCShyZXZpc2lvbiA2MDAyNikKKysrIFdlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw4IEBAIHN0
cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsPiwgVGFnTm9kZUxpc3Qq
PiBUYWdOb2RlTGlzdENhY2hlOwogICAgIFRhZ05vZGVMaXN0Q2FjaGUgbV90YWdOb2RlTGlzdENh
Y2hlOwogCisgICAgUmVmUHRyPER5bmFtaWNOb2RlTGlzdD4gbV9sYWJlbHNOb2RlTGlzdENhY2hl
OworICAgIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE5vZGVMaXN0c05vZGVEYXRhPiBjcmVhdGUo
KQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBOb2RlTGlzdHNOb2RlRGF0YTsKQEAgLTYyLDcg
KzY0LDcgQEAgc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgewogCiBwcml2
YXRlOgogICAgIE5vZGVMaXN0c05vZGVEYXRhKCkKLSAgICAgICAgOiBtX2NoaWxkTm9kZUxpc3RD
YWNoZXMoRHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OmNyZWF0ZSgpKQorICAgICAgICA6IG1fY2hp
bGROb2RlTGlzdENhY2hlcyhEeW5hbWljTm9kZUxpc3Q6OkNhY2hlczo6Y3JlYXRlKCkpLCBtX2xh
YmVsc05vZGVMaXN0Q2FjaGUoMCkKICAgICB7CiAgICAgfQogfTsKSW5kZXg6IFdlYkNvcmUvaHRt
bC9IVE1MQnV0dG9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxC
dXR0b25FbGVtZW50LmlkbAkocmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBAIG1vZHVsZSBo
dG1sIHsKICAgICAgICAgYm9vbGVhbiAgY2hlY2tWYWxpZGl0eSgpOwogICAgICAgICB2b2lkIHNl
dEN1c3RvbVZhbGlkaXR5KGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBE
T01TdHJpbmcgZXJyb3IpOwogICAgICAgICB2b2lkIGNsaWNrKCk7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSAgTm9kZUxpc3QgICAgICAgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2MDAy
NikKKysrIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNo
cm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFJh
cmVEYXRhLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCkBAIC0zOSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6
ZXIuaCIKKyNpbmNsdWRlICJMYWJlbHNOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgpAQCAt
NDA2LDExICs0MDgsMzAgQEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc0xhYmVsYWJs
ZQogewogICAgIC8vIEZJWE1FOiBBZGQgbWV0ZXJUYWcgYW5kIG91dHB1dFRhZyB0byB0aGUgbGlz
dCBvbmNlIHdlIHN1cHBvcnQgdGhlbS4KICAgICByZXR1cm4gaGFzVGFnTmFtZShidXR0b25UYWcp
IHx8IGhhc1RhZ05hbWUoaW5wdXRUYWcpIHx8IGhhc1RhZ05hbWUoa2V5Z2VuVGFnKQorI2lmIEVO
QUJMRShNRVRFUl9UQUcpCisgICAgICAgIHx8IGhhc1RhZ05hbWUobWV0ZXJUYWcpCisjZW5kaWYK
ICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgICAgICB8fCBoYXNUYWdOYW1lKHByb2dyZXNz
VGFnKQogI2VuZGlmCiAgICAgICAgIHx8IGhhc1RhZ05hbWUoc2VsZWN0VGFnKSB8fCBoYXNUYWdO
YW1lKHRleHRhcmVhVGFnKTsKIH0KKworUGFzc1JlZlB0cjxOb2RlTGlzdD4gSFRNTEZvcm1Db250
cm9sRWxlbWVudDo6bGFiZWxzKCkKK3sKKyAgICBpZiAoIWlzTGFiZWxhYmxlKCkpCisgICAgICAg
IHJldHVybiAwOworICAgIGlmICghZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
CisgICAgTm9kZVJhcmVEYXRhKiBkYXRhID0gTm9kZTo6ZW5zdXJlUmFyZURhdGEoKTsKKyAgICBp
ZiAoIWRhdGEtPm5vZGVMaXN0cygpKSB7CisgICAgICAgIGRhdGEtPnNldE5vZGVMaXN0cyhOb2Rl
TGlzdHNOb2RlRGF0YTo6Y3JlYXRlKCkpOworICAgICAgICBkb2N1bWVudCgpLT5hZGROb2RlTGlz
dENhY2hlKCk7CisgICAgfQorICAgIAorICAgIHJldHVybiBMYWJlbHNOb2RlTGlzdDo6Y3JlYXRl
KHRoaXMpOworfQogICAgIAogSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jLCBIVE1MRm9ybUVsZW1lbnQqIGYpCiAgICAgOiBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50KHRhZ05hbWUsIGRvYywgZikKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaAkocmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIzLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaEJsdXJFdmVudCgpOwogCiAgICAgYm9vbCBpc0xhYmVsYWJs
ZSgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGxhYmVscygpOwogICAgIAogcHJv
dGVjdGVkOgogICAgIHZvaWQgcmVtb3ZlRnJvbUZvcm0oKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5pZGwJKHJldmlzaW9uIDYwMDI2KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIG1vZHVsZSBodG1sIHsK
ICNlbmRpZgogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxlTGlzdCBmaWxlczsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICBsYWJlbHM7CiAgICAgfTsK
IAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAkocmV2aXNpb24gNjAwMjYpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3
Myw0ICsxNzMsMTUgQEAgdm9pZCBIVE1MTGFiZWxFbGVtZW50OjpzZXRIdG1sRm9yKGNvbnN0IAog
ICAgIHNldEF0dHJpYnV0ZShmb3JBdHRyLCB2YWx1ZSk7CiB9CiAKK3ZvaWQgSFRNTExhYmVsRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyaWJ1dGUpCit7CisgICAg
aWYgKGF0dHJpYnV0ZS0+bmFtZSgpID09IGZvckF0dHIpIHsKKyAgICAgICAgLy8gaHRtbEZvciBh
dHRyaWJ1dGUgY2hhbmdlIGFmZmVjdHMgb3RoZXIgbm9kZXMgdGhhbiB0aGlzLgorICAgICAgICAv
LyBDbGVhciB0aGUgY2FjaGVzIHRvIGVuc3VyZSB0aGF0IHRoZSBsYWJlbHMgY2FjaGVzIGFyZSBj
bGVhcmVkLgorICAgICAgICBpZiAoZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGRvY3VtZW50KCkt
Pm5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKCk7CisgICAgfSBlbHNlCisgICAgICAg
IEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyaWJ1dGUpOworfQorICAgICAg
ICAgICAgICAgIAogfSAvLyBuYW1lc3BhY2UKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAko
cmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MSwxMyArNTEsMTUgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGFjY2Vz
c0tleSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QWNjZXNzS2V5KGNvbnN0IFN0cmluZyYpOwotCisg
ICAgCiAgICAgU3RyaW5nIGh0bWxGb3IoKSBjb25zdDsKICAgICB2b2lkIHNldEh0bWxGb3IoY29u
c3QgU3RyaW5nJik7CiAKICAgICB2b2lkIGZvY3VzKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0
aW9uID0gdHJ1ZSk7CiAKICBwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0
dHJpYnV0ZShBdHRyaWJ1dGUqKTsKKwogICAgIFN0cmluZyBtX2Zvcm1FbGVtZW50SUQ7CiB9Owog
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCShyZXZpc2lvbiA2MDAyNikKKysrIFdl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzQsNSAr
MzQsNiBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUg
b3B0aW11bQogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24p
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiAgICAgfTsKIH0KSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGwJKHJldmlzaW9uIDYwMDI2KQorKysgV2Vi
Q29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBkb3VibGUgICAg
ICAgICAgICAgICAgcG9zaXRpb247CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgSFRNTEZv
cm1FbGVtZW50ICAgICAgIGZvcm07CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgTm9kZUxp
c3QgICAgICAgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5pZGwJKHJldmlzaW9uIDYwMDI2KQorKysgV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgsNyBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgICAgIC8vICJUaGUgY29udGFpbmVkIG9wdGlvbnMgY2FuIGJlIGRpcmVjdGx5IGFj
Y2Vzc2VkIHRocm91Z2ggdGhlIHNlbGVjdCBlbGVtZW50IGFzIGEgY29sbGVjdGlvbi4iCiAgICAg
ICAgIE5vZGUgaXRlbShpbiBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgICAg
IE5vZGUgbmFtZWRJdGVtKGluIERPTVN0cmluZyBuYW1lKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIE5vZGVMaXN0ICAgICAgICBsYWJlbHM7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkocmV2aXNpb24gNjAwMjYpCisrKyBXZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcg
QEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rp
b25TdGFydDsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uRW5kOwog
ICAgICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGluIGxvbmcgc3RhcnQsIGluIGxvbmcgZW5k
KTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAgICAgICAgbGFi
ZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAkocmV2aXNpb24g
MCkKKysrIFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNTAgQEAKKy8qKgorICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3Rv
QGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxhYmVsc05vZGVM
aXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTExhYmVsRWxlbWVu
dC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Vz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK0xhYmVsc05vZGVMaXN0OjpMYWJlbHNOb2RlTGlz
dChQYXNzUmVmUHRyPE5vZGU+IGZvck5vZGUgKQorICAgIDogRHluYW1pY05vZGVMaXN0KGZvck5v
ZGUtPmRvY3VtZW50KCkpICwgbV9mb3JOb2RlKGZvck5vZGUpCit7Cit9CisKK0xhYmVsc05vZGVM
aXN0Ojp+TGFiZWxzTm9kZUxpc3QoKQoreworICAgIG1fZm9yTm9kZS0+cmVtb3ZlQ2FjaGVkTGFi
ZWxzTm9kZUxpc3QodGhpcywgbV9mb3JOb2RlLmdldCgpKTsKK30gCisgICAgCitib29sIExhYmVs
c05vZGVMaXN0Ojpub2RlTWF0Y2hlcyhFbGVtZW50KiB0ZXN0Tm9kZSkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdGVzdE5vZGUtPmhhc1RhZ05hbWUobGFiZWxUYWcpICYmIHN0YXRpY19jYXN0PEhUTUxM
YWJlbEVsZW1lbnQqPih0ZXN0Tm9kZSktPmNvbnRyb2woKSA9PSBtX2Zvck5vZGU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5oCShyZXZpc2lvbiAw
KQorKysgV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2Rl
Lm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9y
ZykKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
CisgKi8KKworI2lmbmRlZiBMYWJlbHNOb2RlTGlzdF9oCisjZGVmaW5lIExhYmVsc05vZGVMaXN0
X2gKKworI2luY2x1ZGUgIkR5bmFtaWNOb2RlTGlzdC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGFiZWxzTm9kZUxpc3QgOiBw
dWJsaWMgRHluYW1pY05vZGVMaXN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxM
YWJlbHNOb2RlTGlzdD4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTGFiZWxzTm9kZUxpc3QoZm9yTm9kZSkpOworICAg
IH0KKyAgICB+TGFiZWxzTm9kZUxpc3QoKTsKKworcHJvdGVjdGVkOgorICAgIExhYmVsc05vZGVM
aXN0KFBhc3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSk7CisKKyAgICB2aXJ0dWFsIGJvb2wgbm9kZU1h
dGNoZXMoRWxlbWVudCopIGNvbnN0OworCitwcml2YXRlOgorICAgIFJlZlB0cjxOb2RlPiBtX2Zv
ck5vZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMYWJlbHNO
b2RlTGlzdF9oCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MDAyNikKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEwLTA1LTIxICB5YWVsIGFo
YXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHRoZSBsYWJlbHMgYXR0cmlidXRlIGluIGxh
YmVsYWJsZSBmb3JtIGNvbnRyb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zODcxMworCisgICAgICAgIFVwZGF0ZSByZXN1bHQgZm9yIEhUTUxTZWxl
Y3RFbGVtZW50LCBzaW5jZSBpdCBub3cgaW5jbHVkZXMgdGhlIG5ldyBhdHRyaWJ1dGUgImxhYmVs
cyIKKyAgICAgICAgKiBmYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVyYXRpb24uanM6CisK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFi
ZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1hZGQt
cGFyZW50LWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWNo
YW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRleC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZv
ci1hdHRyaWJ1dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVt
b3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRt
bEZvci1hdHRyaWJ1dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0
dHJpYnV0ZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLWl0ZW0taW5kZXguanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qczog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1w
YXJlbnQtbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanM6IEFkZGVkLgorCiAyMDEwLTA1LTIyICBN
YWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
TWFyayBSb3dlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0
RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MDAyNikKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQxLDcgKzQxLDcgQEAgUEFTUyByZXN1bHRBcnJheVsyXS5pIGlzICcyJwogUEFTUyByZXN1
bHRBcnJheVsyXS5pdGVtIGlzIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3Qn
KVsyXQogCiBbb2JqZWN0IEhUTUxTZWxlY3RFbGVtZW50XQotUEFTUyByZXN1bHRBcnJheS5sZW5n
dGggaXMgMTQxCitQQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxNDIKIFBBU1MgcmVzdWx0QXJy
YXlbMF0uaSBpcyAnMCcKIFBBU1MgcmVzdWx0QXJyYXlbMF0uaXRlbSBpcyBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgnb3B0aW9uJylbMF0KIFBBU1MgcmVzdWx0QXJyYXlbMV0uaSBpcyAn
MScKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVy
YXRpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3Rz
L2RvbUxpc3RFbnVtZXJhdGlvbi5qcwkocmV2aXNpb24gNjAwMjYpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDEsNyArMTQxLDcgQEAgc2hvdWxkQmUoInJlc3VsdEFycmF5WzJdLml0ZW0iLCAiZG9j
dW1lbgogLy8gSFRNTFNlbGVjdEVsZW1lbnQKIHZhciBodG1sU2VsZWN0RWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKIHJlc3VsdEFycmF5ID0gaXRl
cmF0ZUxpc3QoaHRtbFNlbGVjdEVsZW1lbnQpOwotc2hvdWxkQmUoInJlc3VsdEFycmF5Lmxlbmd0
aCIsICIxNDEiKTsKK3Nob3VsZEJlKCJyZXN1bHRBcnJheS5sZW5ndGgiLCAiMTQyIik7CiBzaG91
bGRCZSgicmVzdWx0QXJyYXlbMF0uaSIsICInMCciKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVsw
XS5pdGVtIiwgImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdvcHRpb24nKVswXSIpOwog
c2hvdWxkQmUoInJlc3VsdEFycmF5WzFdLmkiLCAiJzEnIik7CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
YWRkLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3
IEBACitUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFt
aWNhbGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCB3aG9zZSBodG1sRm9yIHBvaW50cyB0
byB0aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlz
IDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFT
UyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQt
aHRtbEZvci1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFk
ZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBA
CitUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNh
bGx5IHVwZGF0ZWQgd2hlbiBhZGRpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQgZm9ybSBj
b250cm9sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50
LWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMt
YWRkLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFi
ZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTcgQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRy
b2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBh
IGxhYmVsIGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlz
IDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFT
UyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0
cmlidXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRleC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgdGhhdCB0aGUgaXRlbXMg
b2YgYSBsYWJlbHMgbGlzdCBjYW4gYmUgYWNjZXNzZWQgaW5kaXZpZHVhbGx5LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMuaXRlbSgxKS5pZCBpcyAibDExIgor
UEFTUyBsYWJlbHMuaXRlbSgxKS5pZCBpcyAibDEyIgorUEFTUyBsYWJlbHMuaXRlbSgxKS5pZCBp
cyAibDEzIgorUEFTUyBsYWJlbHMuaXRlbSgxKS5pZCBpcyAibDE0IgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1pbmRleC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXguaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXguaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJp
YnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE3IEBACitUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBj
b250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUg
b2YgYSBsYWJlbCBpcyByZW1vdmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlz
IDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJl
bHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1h
dHRyaWJ1dGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
bGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1s
YWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhh
dCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRl
ZCB3aGVuIHJlbW92aW5nIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSB0aGF0IHBvaW50ZWQgdG8gdGhh
dCBmb3JtIGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxl
bmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlz
IDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFT
UyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJl
bW92ZS1odG1sRm9yLWxhYmVsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRt
bEZvci1sYWJlbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBm
b3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIGEgbGFiZWwg
YXMgcGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQt
bGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFi
ZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1h
dHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitUZXN0IHRoYXQgdGhl
IGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hl
biB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRo
YXQgY29udHJvbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1s
Rm9yLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1zZXQtaHRtbEZvci1h
dHRyaWJ1dGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFi
ZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
bGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM3IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJl
bHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRk
aW5nIGEgbGFiZWwgd2hvc2UgaHRtbEZvciBwb2ludHMgdG8gdGhhdCBjb250cm9sLiAnKTsKKwor
dmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5u
ZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9
ImlkMSI+PGJ1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48
dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMSI7Citk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xh
YmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAi
aWQyIjsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwp
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRt
bEZvciA9ICJpZDMiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGls
ZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Cits
YWJlbC5odG1sRm9yID0gImlkNCI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFw
cGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJl
bC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBA
CitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJv
bCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEgbGFiZWwgYXMgcGFyZW50IGZv
ciB0aGF0IGZvcm0gY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rp
dj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQy
Ij48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVh
PjwvZGl2Pic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJl
bHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwi
KTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOwor
bGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpKTsKK3Nob3Vs
ZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xh
YmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2RvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworbGFiZWwuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibGFiZWwiKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5k
Q2hpbGQobGFiZWwpOworbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlkMyIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFiZWxzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKK2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworbGFiZWwu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpKTsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1jaGFuZ2Ut
aHRtbEZvci1hdHRyaWJ1dGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1jaGFu
Z2UtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKK2Rl
c2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlz
IGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJl
bCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2
IGlkPSJkaXYxIj48L2Rpdj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsSWQiPjwvbGFi
ZWw+PGJ1dHRvbiBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0i
aWQzIj48L3NlbGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5o
dG1sRm9yID0gImlkMSI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVs
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcwJyk7CitsYWJlbC5odG1sRm9yID0gImlkMiI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsSWQiKTsKK2xh
YmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgn
bGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5odG1sRm9yID0gImlkMyI7CitzaG91bGRCZSgn
bGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJl
bHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5odG1sRm9yID0gImlk
NCI7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9sYWJlbHMtaXRlbS1pbmRleC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qcwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4LmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBp
dGVtcyBvZiBhIGxhYmVscyBsaXN0IGNhbiBiZSBhY2Nlc3NlZCBpbmRpdmlkdWFsbHkuICcpOwor
Cit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBp
ZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVj
dD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj48bGFiZWwgaWQ9ImwxIiBmb3I9
ImlkMSI+PC9sYWJlbD48bGFiZWwgaWQ9ImwyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9
ImwzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9Imw0IiBmb3I9ImlkNCI+PC9sYWJlbD48
bGFiZWwgaWQ9ImwxMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTIiIGZvcj0iaWQy
Ij48L2xhYmVsPjxsYWJlbCBpZD0ibDEzIiBmb3I9ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9Imwx
NCIgZm9yPSJpZDQiPjwvbGFiZWw+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJl
bnQpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOwor
c2hvdWxkQmUoJ2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTEiJyk7CisKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLml0ZW0o
MSkuaWQnLCAnImwxMiInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDEzIicpOworCits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTQiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxz
LXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmpz
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
NCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNv
bnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBv
ZiBhIGxhYmVsIGlzIHJlbW92ZWQuJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rp
dj48ZGl2IGlkPSJkaXYyIj48bGFiZWwgaWQ9ImxhYmVsMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxh
YmVsIGlkPSJsYWJlbDIiIGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFiZWwzIiBmb3I9
ImlkMyI+PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsNCIgZm9yPSJpZDQiPjwvbGFiZWw+PGJ1dHRv
biBpZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3Nl
bGVjdD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxhYmVsMSIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxh
YmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2xhYmVsLnJlbW92ZUF0dHJp
YnV0ZSgiZm9yIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsMiIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEn
KTsKK2xhYmVsLnJlbW92ZUF0dHJpYnV0ZSgiZm9yIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0
aCcsICcwJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxhYmVsMyIpOwor
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2xhYmVsLnJlbW92ZUF0dHJpYnV0ZSgiZm9yIik7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxhYmVsNCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
NCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2xhYmVsLnJlbW92
ZUF0dHJpYnV0ZSgiZm9yIik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1o
dG1sRm9yLWxhYmVsLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLmpzCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI5IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBv
ZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgdGhl
IGh0bWxGb3IgYXR0cmlidXRlIHRoYXQgcG9pbnRlZCB0byB0aGF0IGZvcm0gY29udHJvbC4nKTsK
KwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQu
aW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24g
aWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxl
Y3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+PGxhYmVsIGlkPSJsMSIgZm9y
PSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlk
PSJsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsNCIgZm9yPSJpZDQiPjwvbGFiZWw+
JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwxIikuaHRtbEZvciA9ICIiOwor
c2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImwyIikuaHRtbEZvciA9ICIiOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImwzIikuaHRtbEZvciA9ICIiOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImw0IikuaHRtbEZvciA9ICIiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1y
ZW1vdmUtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanMJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMzAgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGxhYmVscyBs
aXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmlu
ZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuICcpOworCit2YXIgcGFy
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5lckhUTUwg
PSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGxhYmVsPjxidXR0b24gaWQ9
ImlkMSI+PC9idXR0b24+PC9sYWJlbD48bGFiZWw+PGlucHV0IGlkPSJpZDIiPjwvbGFiZWw+PGxh
YmVsPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PC9sYWJlbD48bGFiZWw+PHRleHRhcmVhIGlk
PSJpZDQiPjwvdGV4dGFyZWE+PC9sYWJlbD48L2Rpdj4nOworCisKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlkMSIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVs
czsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpKTsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEn
KTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlkNCIpKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1zZXQt
aHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMg
bGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gdGhlIGh0
bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0aGF0IGNvbnRy
b2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisK
K3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+
PGxhYmVsIGlkPSJsYWJlbElkIj48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlu
cHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQi
PjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQp
OworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLCAiaWQxIik7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIi
KS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRBdHRy
aWJ1dGUoImZvciIsICJpZDIiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKwor
bGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkMyIpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFi
ZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmlidXRl
KCJmb3IiLCAiaWQ0Iik7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56819</attachid>
            <date>2010-05-23 05:30:45 -0700</date>
            <delta_ts>2010-05-25 16:59:25 -0700</delta_ts>
            <desc>Patch, try again on the windows bot</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>52097</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTkgQEAKKzIwMTAtMDUtMjEgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzVGhhdERlcGVuZE9uQXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6aXNFbXB0eSk6
CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9kZVJhcmVEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RzTm9kZURhdGEpOgor
ICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMYWJlbEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGFiZWxz
Tm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2Rl
TGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxzTm9kZUxpc3QuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3JlYXRlKToKKwogMjAxMC0w
NS0yMyAgTm9hbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3Jl
L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJl
dmlzaW9uIDYwMDQwKQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtOTgyLDYgKzk4Miw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0hUTUxVTGlz
dEVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAogICAgIGh0
bWwvSW1hZ2VEYXRhLmNwcAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9Q
cmVsb2FkU2Nhbm5lci5jcHAKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1ZhbGlk
aXR5U3RhdGUuY3BwCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDYwMDQwKQorKysgV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTI0OCw2ICsxMjQ4LDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKIAlX
ZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5oIFwK
KwlXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvTGFiZWxz
Tm9kZUxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBcCiAJV2ViQ29yZS9odG1s
L1ByZWxvYWRTY2FubmVyLmNwcCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmggXApJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHJldmlzaW9uIDYwMDQwKQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcg
Y29weSkKQEAgLTE2NDYsNiArMTY0Niw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1Nv
dXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9MYWJlbHNOb2Rl
TGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuaCcsCiAgICAgICAg
ICAgICAnaHRtbC9NZWRpYUVycm9yLmgnLAogICAgICAgICAgICAgJ2h0bWwvUHJlbG9hZFNjYW5u
ZXIuY3BwJywKICAgICAgICAgICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmgnLApJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZp
c2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY5
Myw2ICs2OTMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3Bw
IFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIFwKICAgICBodG1sL0ltYWdl
RGF0YS5jcHAgXAorICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKICAgICBodG1sL1ByZWxv
YWRTY2FubmVyLmNwcCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuY3BwIFwKICAgICBodG1sL1ZhbGlk
aXR5U3RhdGUuY3BwIFwKQEAgLTE0MjIsNiArMTQyMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0
bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQu
aCBcCiAgICAgaHRtbC9JbWFnZURhdGEuaCBcCisgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwK
ICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmggXAogICAgIGh0bWwvU3RlcFJhbmdlLmggXAogICAg
IGh0bWwvVGltZVJhbmdlcy5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagkocmV2aXNpb24gNjAwNDApCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNTEzMyw2ICszNTEzMywxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXExhYmVsc05v
ZGVMaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcTGFiZWxzTm9kZUxpc3QuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcTWVkaWFFcnJvci5oIg0KIAkJCQk+
DQogCQkJPC9GaWxlPg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTg4LDYgKzI1ODgsOCBAQAogCQlBNDU0
NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEy
IC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKIAkJQTQ1NDQyNEUxMTlCMzY4NzAwOUJFOTEy
IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi87
IH07CiAJCUE0NTQ0MjRGMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQxMTlCMzY4NzAw
OUJFOTEyIC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0NjI2QkY3MTFBMzhCQkMwMDI2NjZC
QiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNDYyNkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3Qu
Y3BwICovOyB9OworCQlBNDYyNkJGODExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NjI2QkY2
MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oICovOyB9OwogCQlBNTEzQjNENzEx
NEIxNjY2MDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2
ZW50Q29jb2EuaCAqLzsgfTsKIAkJQTUxM0IzRDgxMTRCMTY2QTAwMUM0MjlCIC8qIEtleUV2ZW50
Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NUM5NzREMDExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAqLzsgfTsKIAkJQTU5
RTNDMUUxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFDMTE1ODBGNTEwMDcy
OTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggKi87IH07CkBAIC04MTQ4LDYgKzgxNTAsOCBA
QAogCQlBNDU0NDI0OTExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJN
ZXRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNZXRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTQ0MjREMTE5QjM2ODcwMDlC
RTkxMiAvKiBSZW5kZXJNZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW5kZXJNZXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDYyNkJGNTExQTM4
QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50
Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRD
b2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2
ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5
RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFu
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTg2LDYgKzEzNTkwLDggQEAKIAkJ
CQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5
NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUwRDZC
OUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQTQ2MjZCRjUxMUEzOEJCQzAw
MjY2NkJCIC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLywKKwkJCQlBNDYyNkJGNjExQTM4QkJDMDAy
NjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURB
NzUgLyogTWVkaWFFcnJvci5oICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogUHJlbG9h
ZFNjYW5uZXIuY3BwICovLApAQCAtMTkyOTIsNiArMTkyOTgsNyBAQAogCQkJCTk3RThCM0MzMTFB
Mjg5MDgwMDE2OTQwOSAvKiBIVE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4
QjExQTI5NDcwMDBEQkQ1MEUgLyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMzI3RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUE0NjI2QkY4MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAv
KiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFM0ZBQTA5
MTFBMzZCRjEwMDU3NjYyNCAvKiBDcm9zc1RocmVhZFRhc2suaCBpbiBIZWFkZXJzICovLApAQCAt
MjE1ODAsNiArMjE1ODcsNyBAQAogCQkJCTk3RThCMzU2MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1M
NUxleGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzEwMzhBMTFBMjk0NzAwMERCRDUwRSAv
KiBIVE1MNVRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTExQTMzQTJC
MDA0RjlENjUgLyogU2lua0RvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NjI2QkY3
MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1OUE4NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5QThGMUQ0MTFBNjk1MDgw
MDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdl
YkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShy
ZXZpc2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRl
ICJMYWJlbHNOb2RlTGlzdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNb3Vz
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgpAQCAtODkxLDYgKzg5MiwxOCBA
QCB2b2lkIE5vZGU6Om5vdGlmeU5vZGVMaXN0c0NoaWxkcmVuQ2hhbmdlCiAgICAgICAgIG4tPm5v
dGlmeUxvY2FsTm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTm9kZTo6bm90
aWZ5TG9jYWxOb2RlTGlzdHNMYWJlbENoYW5nZWQoKQoreworICAgIGlmICghaGFzUmFyZURhdGEo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7
CisgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KGRhdGEtPm5vZGVMaXN0cygpLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIGRhdGEt
Pm5vZGVMaXN0cygpLT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOwor
fQorCiB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZENsYXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCog
bGlzdCwgY29uc3QgU3RyaW5nJiBjbGFzc05hbWUpCiB7CiAgICAgQVNTRVJUKHJhcmVEYXRhKCkp
OwpAQCAtOTI0LDYgKzkzNywxNiBAQCB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0
KFRhZ05vCiAgICAgZGF0YS0+bV90YWdOb2RlTGlzdENhY2hlLnJlbW92ZShuYW1lLmltcGwoKSk7
CiB9CiAKK3ZvaWQgTm9kZTo6cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVM
aXN0KiBsaXN0LCBOb2RlKiAvKm5vZGUqLykKK3sKKyAgICBBU1NFUlQocmFyZURhdGEoKSk7Cisg
ICAgQVNTRVJUKHJhcmVEYXRhKCktPm5vZGVMaXN0cygpKTsKKyAgICBBU1NFUlRfVU5VU0VEKGxp
c3QsIGxpc3QtPmhhc093bkNhY2hlcygpKTsKKyAgICAKKyAgICBOb2RlTGlzdHNOb2RlRGF0YSog
ZGF0YSA9IHJhcmVEYXRhKCktPm5vZGVMaXN0cygpOworICAgIGRhdGEtPm1fbGFiZWxzTm9kZUxp
c3RDYWNoZSA9IDA7Cit9CisKIE5vZGUgKk5vZGU6OnRyYXZlcnNlTmV4dE5vZGUoY29uc3QgTm9k
ZSAqc3RheVdpdGhpbikgY29uc3QKIHsKICAgICBpZiAoZmlyc3RDaGlsZCgpKQpAQCAtMjIwMSw2
ICsyMjI0LDkgQEAgdm9pZCBOb2RlOjpmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZQogdm9p
ZCBOb2RlTGlzdHNOb2RlRGF0YTo6aW52YWxpZGF0ZUNhY2hlcygpCiB7CiAgICAgbV9jaGlsZE5v
ZGVMaXN0Q2FjaGVzLT5yZXNldCgpOworCisgICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkK
KyAgICAgICAgbV9sYWJlbHNOb2RlTGlzdENhY2hlLT5pbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBU
YWdOb2RlTGlzdENhY2hlOjpjb25zdF9pdGVyYXRvciB0YWdDYWNoZUVuZCA9IG1fdGFnTm9kZUxp
c3RDYWNoZS5lbmQoKTsKICAgICBmb3IgKFRhZ05vZGVMaXN0Q2FjaGU6OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV90YWdOb2RlTGlzdENhY2hlLmJlZ2luKCk7IGl0ICE9IHRhZ0NhY2hlRW5kOyArK2l0
KQogICAgICAgICBpdC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKQEAgLTIyMTYsNiArMjI0
Miw4IEBAIHZvaWQgTm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMKICAgICBOYW1l
Tm9kZUxpc3RDYWNoZTo6aXRlcmF0b3IgbmFtZUNhY2hlRW5kID0gbV9uYW1lTm9kZUxpc3RDYWNo
ZS5lbmQoKTsKICAgICBmb3IgKE5hbWVOb2RlTGlzdENhY2hlOjppdGVyYXRvciBpdCA9IG1fbmFt
ZU5vZGVMaXN0Q2FjaGUuYmVnaW4oKTsgaXQgIT0gbmFtZUNhY2hlRW5kOyArK2l0KQogICAgICAg
ICBpdC0+c2Vjb25kLT5pbnZhbGlkYXRlQ2FjaGUoKTsKKyAgICBpZiAobV9sYWJlbHNOb2RlTGlz
dENhY2hlKQorICAgICAgICBtX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgp
OwogfQogCiBib29sIE5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KCkgY29uc3QKQEAgLTIyNDQs
NiArMjI3Miw5IEBAIGJvb2wgTm9kZUxpc3RzTm9kZURhdGE6OmlzRW1wdHkoKSBjb25zdAogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChtX2xhYmVsc05vZGVMaXN0
Q2FjaGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCklu
ZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9kZS5o
CShyZXZpc2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvZG9tL05vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNTI3LDkgKzUyNywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0
c0NoaWxkcmVuQ2hhbmdlZCgpOwogICAgIHZvaWQgbm90aWZ5Tm9kZUxpc3RzQXR0cmlidXRlQ2hh
bmdlZCgpOwogICAgIHZvaWQgbm90aWZ5TG9jYWxOb2RlTGlzdHNBdHRyaWJ1dGVDaGFuZ2VkKCk7
CisgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdlZCgpOwogICAgIHZvaWQg
cmVtb3ZlQ2FjaGVkQ2xhc3NOb2RlTGlzdChDbGFzc05vZGVMaXN0KiwgY29uc3QgU3RyaW5nJik7
CiAgICAgdm9pZCByZW1vdmVDYWNoZWROYW1lTm9kZUxpc3QoTmFtZU5vZGVMaXN0KiwgY29uc3Qg
U3RyaW5nJik7CiAgICAgdm9pZCByZW1vdmVDYWNoZWRUYWdOb2RlTGlzdChUYWdOb2RlTGlzdCos
IGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2b2lkIHJlbW92ZUNhY2hlZExhYmVsc05vZGVM
aXN0KER5bmFtaWNOb2RlTGlzdCosIE5vZGUqKTsKICAgICAKICAgICBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBTdHJpbmcmKTsKICAgICBQYXNzUmVmUHRy
PE5vZGVMaXN0PiBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSk7CkluZGV4OiBXZWJDb3JlL2RvbS9O
b2RlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAko
cmV2aXNpb24gNjAwNDApCisrKyBXZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAkod29ya2luZyBj
b3B5KQpAQCAtNTEsNiArNTEsOCBAQCBzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5
YWJsZSB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxRdWFsaWZpZWROYW1lOjpRdWFsaWZp
ZWROYW1lSW1wbD4sIFRhZ05vZGVMaXN0Kj4gVGFnTm9kZUxpc3RDYWNoZTsKICAgICBUYWdOb2Rl
TGlzdENhY2hlIG1fdGFnTm9kZUxpc3RDYWNoZTsKIAorICAgIFJlZlB0cjxEeW5hbWljTm9kZUxp
c3Q+IG1fbGFiZWxzTm9kZUxpc3RDYWNoZTsKKyAgICAKICAgICBzdGF0aWMgUGFzc093blB0cjxO
b2RlTGlzdHNOb2RlRGF0YT4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgTm9k
ZUxpc3RzTm9kZURhdGE7CkBAIC02Miw3ICs2NCw3IEBAIHN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSA6IE5vbmNvcHlhYmxlIHsKIAogcHJpdmF0ZToKICAgICBOb2RlTGlzdHNOb2RlRGF0YSgpCi0g
ICAgICAgIDogbV9jaGlsZE5vZGVMaXN0Q2FjaGVzKER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpj
cmVhdGUoKSkKKyAgICAgICAgOiBtX2NoaWxkTm9kZUxpc3RDYWNoZXMoRHluYW1pY05vZGVMaXN0
OjpDYWNoZXM6OmNyZWF0ZSgpKSwgbV9sYWJlbHNOb2RlTGlzdENhY2hlKDApCiAgICAgewogICAg
IH0KIH07CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDYwMDQw
KQorKysgV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzUsNiArMzUsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIGJvb2xlYW4gIGNoZWNrVmFs
aWRpdHkoKTsKICAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVm
aW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKICAgICAgICAgdm9pZCBj
bGljaygpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAg
ICBsYWJlbHM7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAkocmV2aXNpb24gNjAwNDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkVsZW1lbnRSYXJlRGF0YS5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAj
aW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzks
NiArNDAsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXIu
aCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3Qu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVGV4dENvbnRyb2wuaCIKQEAgLTQwNiwxMSArNDA4LDMwIEBAIGJvb2wgSFRNTEZvcm1D
b250cm9sRWxlbWVudDo6aXNMYWJlbGFibGUKIHsKICAgICAvLyBGSVhNRTogQWRkIG1ldGVyVGFn
IGFuZCBvdXRwdXRUYWcgdG8gdGhlIGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCiAgICAgcmV0
dXJuIGhhc1RhZ05hbWUoYnV0dG9uVGFnKSB8fCBoYXNUYWdOYW1lKGlucHV0VGFnKSB8fCBoYXNU
YWdOYW1lKGtleWdlblRhZykKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB8fCBoYXNU
YWdOYW1lKG1ldGVyVGFnKQorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAg
ICAgfHwgaGFzVGFnTmFtZShwcm9ncmVzc1RhZykKICNlbmRpZgogICAgICAgICB8fCBoYXNUYWdO
YW1lKHNlbGVjdFRhZykgfHwgaGFzVGFnTmFtZSh0ZXh0YXJlYVRhZyk7CiB9CisKK1Bhc3NSZWZQ
dHI8Tm9kZUxpc3Q+IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmxhYmVscygpCit7CisgICAgaWYg
KCFpc0xhYmVsYWJsZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIWRvY3VtZW50KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIAorICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IE5vZGU6
OmVuc3VyZVJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLT5ub2RlTGlzdHMoKSkgeworICAgICAg
ICBkYXRhLT5zZXROb2RlTGlzdHMoTm9kZUxpc3RzTm9kZURhdGE6OmNyZWF0ZSgpKTsKKyAgICAg
ICAgZG9jdW1lbnQoKS0+YWRkTm9kZUxpc3RDYWNoZSgpOworICAgIH0KKyAgICAKKyAgICByZXR1
cm4gTGFiZWxzTm9kZUxpc3Q6OmNyZWF0ZSh0aGlzKTsKK30KICAgICAKIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYywgSFRNTEZvcm1FbGVtZW50KiBm
KQogICAgIDogSFRNTEZvcm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2MsIGYpCkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgJKHJldmlzaW9uIDYwMDQwKQorKysgV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTIz
LDYgKzEyMyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hCbHVyRXZlbnQo
KTsKIAogICAgIGJvb2wgaXNMYWJlbGFibGUoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBsYWJlbHMoKTsKICAgICAKIHByb3RlY3RlZDoKICAgICB2b2lkIHJlbW92ZUZyb21Gb3Jt
KCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZpc2lvbiA2MDA0MCkKKysr
IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtOTUs
NiArOTUsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKIAogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRmlsZUxpc3QgZmlsZXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgTm9kZUxp
c3QgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDYwMDQwKQorKysgV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNCArMTczLDE1IEBAIHZvaWQgSFRNTExhYmVsRWxl
bWVudDo6c2V0SHRtbEZvcihjb25zdCAKICAgICBzZXRBdHRyaWJ1dGUoZm9yQXR0ciwgdmFsdWUp
OwogfQogCit2b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJp
YnV0ZSogYXR0cmlidXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUtPm5hbWUoKSA9PSBmb3JBdHRy
KSB7CisgICAgICAgIC8vIGh0bWxGb3IgYXR0cmlidXRlIGNoYW5nZSBhZmZlY3RzIG90aGVyIG5v
ZGVzIHRoYW4gdGhpcy4KKyAgICAgICAgLy8gQ2xlYXIgdGhlIGNhY2hlcyB0byBlbnN1cmUgdGhh
dCB0aGUgbGFiZWxzIGNhY2hlcyBhcmUgY2xlYXJlZC4KKyAgICAgICAgaWYgKGRvY3VtZW50KCkp
CisgICAgICAgICAgICBkb2N1bWVudCgpLT5ub3RpZnlMb2NhbE5vZGVMaXN0c0xhYmVsQ2hhbmdl
ZCgpOworICAgIH0gZWxzZQorICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cmlidXRlKTsKK30KKyAgICAgICAgICAgICAgICAKIH0gLy8gbmFtZXNwYWNlCkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHJldmlzaW9uIDYwMDQwKQorKysgV2ViQ29yZS9odG1s
L0hUTUxMYWJlbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTMgKzUxLDE1IEBAIHB1
YmxpYzoKIAogICAgIFN0cmluZyBhY2Nlc3NLZXkoKSBjb25zdDsKICAgICB2b2lkIHNldEFjY2Vz
c0tleShjb25zdCBTdHJpbmcmKTsKLQorICAgIAogICAgIFN0cmluZyBodG1sRm9yKCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRIdG1sRm9yKGNvbnN0IFN0cmluZyYpOwogCiAgICAgdm9pZCBmb2N1cyhi
b29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpOwogCiAgcHJpdmF0ZToKKyAgICB2
aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CisKICAgICBTdHJp
bmcgbV9mb3JtRWxlbWVudElEOwogfTsKIApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50Lmlk
bAkocmV2aXNpb24gNjAwNDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDUgKzM0LDYgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIG9wdGltdW0KICAgICAgICAgICAgICAgICAgICAgIHNl
dHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhU
TUxGb3JtRWxlbWVudCBmb3JtOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3Qg
bGFiZWxzOwogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRs
CShyZXZpc2lvbiA2MDA0MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAg
ICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSAgZG91YmxlICAgICAgICAgICAgICAgIHBvc2l0aW9uOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgIEhUTUxGb3JtRWxlbWVudCAgICAgICBmb3JtOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJlbHM7CiAgICAgfTsK
IAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCShyZXZpc2lvbiA2MDA0MCkK
KysrIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTY4LDYgKzY4LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAvLyAiVGhlIGNvbnRhaW5lZCBv
cHRpb25zIGNhbiBiZSBkaXJlY3RseSBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBzZWxlY3QgZWxlbWVu
dCBhcyBhIGNvbGxlY3Rpb24uIgogICAgICAgICBOb2RlIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwogICAgICAgICBOb2RlIG5hbWVkSXRlbShpbiBET01TdHJpbmcgbmFt
ZSk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCAgICAgICAgbGFiZWxzOwog
ICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwJKHJldmlz
aW9uIDYwMDQwKQorKysgV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uU3RhcnQ7CiAgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBsb25nIHNlbGVjdGlvbkVuZDsKICAgICAgICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShp
biBsb25nIHN0YXJ0LCBpbiBsb25nIGVuZCk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAg
Tm9kZUxpc3QgICAgICAgICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3Jl
L2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9MYWJl
bHNOb2RlTGlzdC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxp
c3QuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisvKioKKyAqIENvcHlyaWdodCAo
QykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5
IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDAx
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJMYWJlbHNOb2RlTGlzdC5oIgorCisjaW5jbHVkZSAiRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxMYWJlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitMYWJl
bHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QoUGFzc1JlZlB0cjxOb2RlPiBmb3JOb2RlICkKKyAg
ICA6IER5bmFtaWNOb2RlTGlzdChmb3JOb2RlLT5kb2N1bWVudCgpKSAsIG1fZm9yTm9kZShmb3JO
b2RlKQoreworfQorCitMYWJlbHNOb2RlTGlzdDo6fkxhYmVsc05vZGVMaXN0KCkKK3sKKyAgICBt
X2Zvck5vZGUtPnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KHRoaXMsIG1fZm9yTm9kZS5nZXQo
KSk7Cit9IAorICAgIAorYm9vbCBMYWJlbHNOb2RlTGlzdDo6bm9kZU1hdGNoZXMoRWxlbWVudCog
dGVzdE5vZGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRlc3ROb2RlLT5oYXNUYWdOYW1lKGxhYmVs
VGFnKSAmJiBzdGF0aWNfY2FzdDxIVE1MTGFiZWxFbGVtZW50Kj4odGVzdE5vZGUpLT5jb250cm9s
KCkgPT0gbV9mb3JOb2RlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJD
b3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvTGFi
ZWxzTm9kZUxpc3QuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlz
dC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAx
OTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50
dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgRGly
ayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5v
a2lhIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgTGFiZWxzTm9kZUxpc3Rf
aAorI2RlZmluZSBMYWJlbHNOb2RlTGlzdF9oCisKKyNpbmNsdWRlICJEeW5hbWljTm9kZUxpc3Qu
aCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIExhYmVsc05vZGVMaXN0IDogcHVibGljIER5bmFtaWNOb2RlTGlzdCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TGFiZWxzTm9kZUxpc3Q+IGNyZWF0ZShQYXNzUmVmUHRy
PE5vZGU+IGZvck5vZGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IExhYmVs
c05vZGVMaXN0KGZvck5vZGUpKTsKKyAgICB9CisgICAgfkxhYmVsc05vZGVMaXN0KCk7CisKK3By
b3RlY3RlZDoKKyAgICBMYWJlbHNOb2RlTGlzdChQYXNzUmVmUHRyPE5vZGU+IGZvck5vZGUpOwor
CisgICAgdmlydHVhbCBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBSZWZQdHI8Tm9kZT4gbV9mb3JOb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gTGFiZWxzTm9kZUxpc3RfaApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjAw
NDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
OSBAQAorMjAxMC0wNS0yMSAgeWFlbCBhaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydCB0
aGUgbGFiZWxzIGF0dHJpYnV0ZSBpbiBsYWJlbGFibGUgZm9ybSBjb250cm9scworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg3MTMKKworICAgICAgICBV
cGRhdGUgcmVzdWx0IGZvciBIVE1MU2VsZWN0RWxlbWVudCwgc2luY2UgaXQgbm93IGluY2x1ZGVz
IHRoZSBuZXcgYXR0cmlidXRlICJsYWJlbHMiCisgICAgICAgICogZmFzdC9kb20vZG9tTGlzdEVu
dW1lcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMv
ZG9tTGlzdEVudW1lcmF0aW9uLmpzOgorCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRk
LWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1h
dHRyaWJ1dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtaXRlbS1p
bmRleC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWl0
ZW0taW5kZXguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3Zl
LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9m
b3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1s
YWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLXJl
bW92ZS1wYXJlbnQtbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJl
bHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5q
czogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1w
YXJlbnQtbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1pdGVtLWluZGV4LmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmli
dXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMt
cmVtb3ZlLWh0bWxGb3ItbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpz
OiBBZGRlZC4KKwogMjAxMC0wNS0yMyAgSnVzdGluIFNjaHVoICA8anNjaHVoQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNjAwNDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24t
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFBBU1MgcmVzdWx0
QXJyYXlbMl0uaSBpcyAnMicKIFBBU1MgcmVzdWx0QXJyYXlbMl0uaXRlbSBpcyBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMl0KIAogW29iamVjdCBIVE1MU2VsZWN0RWxl
bWVudF0KLVBBU1MgcmVzdWx0QXJyYXkubGVuZ3RoIGlzIDE0MQorUEFTUyByZXN1bHRBcnJheS5s
ZW5ndGggaXMgMTQyCiBQQVNTIHJlc3VsdEFycmF5WzBdLmkgaXMgJzAnCiBQQVNTIHJlc3VsdEFy
cmF5WzBdLml0ZW0gaXMgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ29wdGlvbicpWzBd
CiBQQVNTIHJlc3VsdEFycmF5WzFdLmkgaXMgJzEnCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVyYXRpb24uanMJKHJldmlz
aW9uIDYwMDQwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RF
bnVtZXJhdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3IEBAIHNob3VsZEJl
KCJyZXN1bHRBcnJheVsyXS5pdGVtIiwgImRvY3VtZW4KIC8vIEhUTUxTZWxlY3RFbGVtZW50CiB2
YXIgaHRtbFNlbGVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2Vs
ZWN0JylbMF07CiByZXN1bHRBcnJheSA9IGl0ZXJhdGVMaXN0KGh0bWxTZWxlY3RFbGVtZW50KTsK
LXNob3VsZEJlKCJyZXN1bHRBcnJheS5sZW5ndGgiLCAiMTQxIik7CitzaG91bGRCZSgicmVzdWx0
QXJyYXkubGVuZ3RoIiwgIjE0MiIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLmkiLCAiJzAn
Iik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlbMF0uaXRlbSIsICJkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnb3B0aW9uJylbMF0iKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVsxXS5pIiwg
IicxJyIpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3It
bGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlz
dCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEg
bGFiZWwgd2hvc2UgaHRtbEZvciBwb2ludHMgdG8gdGhhdCBjb250cm9sLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxG
b3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
bGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1s
YWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBv
ZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEgbGFi
ZWwgYXMgcGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxzLWFk
ZC1wYXJlbnQtbGFiZWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFi
ZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitUZXN0IHRoYXQgdGhl
IGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hl
biB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRvIHRo
YXQgY29udHJvbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxh
YmVscy5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1o
dG1sRm9yLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1jaGFu
Z2UtaHRtbEZvci1hdHRyaWJ1dGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVt
LWluZGV4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE0IEBACitUZXN0IHRoYXQgdGhlIGl0ZW1zIG9mIGEgbGFiZWxzIGxpc3QgY2FuIGJlIGFjY2Vz
c2VkIGluZGl2aWR1YWxseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bGFiZWxzLml0ZW0oMSkuaWQgaXMgImwxMSIKK1BBU1MgbGFiZWxzLml0ZW0oMSkuaWQgaXMgImwx
MiIKK1BBU1MgbGFiZWxzLml0ZW0oMSkuaWQgaXMgImwxMyIKK1BBU1MgbGFiZWxzLml0ZW0oMSku
aWQgaXMgImwxNCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWlu
ZGV4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1p
dGVtLWluZGV4Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2xhYmVscy1pdGVtLWluZGV4LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0
cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmli
dXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0
IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVk
IHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgaXMgcmVtb3ZlZC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1o
dG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1
dGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxG
b3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE4IEBACitUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBj
b250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyB0aGUgaHRtbEZvciBh
dHRyaWJ1dGUgdGhhdCBwb2ludGVkIHRvIHRoYXQgZm9ybSBjb250cm9sLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxz
Lmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3Ro
IGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAor
UEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWxh
YmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1y
ZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJl
bnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACitUZXN0
IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVw
ZGF0ZWQgd2hlbiByZW1vdmluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRy
b2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJlbnQt
bGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1y
ZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9s
YWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJv
bCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEg
bGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNldC1o
dG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcwko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVs
cy1hZGQtaHRtbEZvci1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorZGVz
Y3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMg
ZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxhYmVsIHdob3NlIGh0bWxGb3IgcG9p
bnRzIHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48L2Rp
dj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjxidXR0b24+PGlucHV0IGlkPSJpZDIi
PjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFyZWE+
PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIp
OworbGFiZWwuaHRtbEZvciA9ICJpZDEiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEi
KS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisK
K2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRC
ZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMiI7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQzIjsKK2RvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0Iiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDQiOworZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgn
bGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJl
bnQtbGFiZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5qcwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUg
bGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVu
IGFkZGluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuICcpOworCit2
YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5l
ckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBpZD0i
aWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVjdD48
dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDEiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisK
K2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91bGRC
ZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxh
YmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKSk7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVuZENo
aWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIp
LmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDQiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1jaGFuZ2Ut
aHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJl
bHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gdGhl
IGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0aGF0IGNv
bnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2
MiI+PGxhYmVsIGlkPSJsYWJlbElkIj48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+
PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJp
ZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJl
bnQpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJl
bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJpZDEiOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxz
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJpZDIi
Oworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwu
aHRtbEZvciA9ICJpZDMiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJl
bCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJpZDQiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgn
LCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0t
aW5kZXguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgaXRlbXMgb2YgYSBsYWJlbHMgbGlzdCBjYW4gYmUg
YWNjZXNzZWQgaW5kaXZpZHVhbGx5LiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwv
ZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlkPSJp
ZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFy
ZWE+PC9kaXY+PGxhYmVsIGlkPSJsMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMiIg
Zm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVs
IGlkPSJsNCIgZm9yPSJpZDQiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTEiIGZvcj0iaWQxIj48L2xh
YmVsPjxsYWJlbCBpZD0ibDEyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwxMyIgZm9y
PSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTQiIGZvcj0iaWQ0Ij48L2xhYmVsPic7CisKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcs
ICcibDExIicpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFi
ZWxzOworc2hvdWxkQmUoJ2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTIiJyk7CisKK2xhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxz
Lml0ZW0oMSkuaWQnLCAnImwxMyInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDE0Iicp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxz
LXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUu
anMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQg
dGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQg
d2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBpcyByZW1vdmVkLicpOworCit2
YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5pbm5l
ckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGxhYmVsIGlkPSJs
YWJlbDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFiZWwyIiBmb3I9ImlkMiI+PC9s
YWJlbD48bGFiZWwgaWQ9ImxhYmVsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsYWJl
bDQiIGZvcj0iaWQ0Ij48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlk
PSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4
dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCits
YWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDEiKTsKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0
aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJl
bDIiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZv
ciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsYWJlbDMiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CitsYWJl
bC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcp
OworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDQiKTsKK2xhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qcwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRt
bEZvci1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorZGVzY3JpcHRpb24o
J1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2Fs
bHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSB0aGF0IHBvaW50
ZWQgdG8gdGhhdCBmb3JtIGNvbnRyb2wuJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48
L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0i
aWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRh
cmVhPjwvZGl2PjxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBpZD0ibDIi
IGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibDMiIGZvcj0iaWQzIj48L2xhYmVsPjxsYWJl
bCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIpLmxh
YmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJsMSIpLmh0bWxGb3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAn
KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsKK3No
b3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
MiIpLmh0bWxGb3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFi
ZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJlKCds
YWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsMyIpLmh0bWxG
b3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsNCIpLmh0bWxGb3IgPSAiIjsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJl
bHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1v
dmUtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACitkZXNjcmlw
dGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5h
bWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRoYXQg
Zm9ybSBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2PjxkaXYg
aWQ9ImRpdjIiPjxsYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjwvbGFiZWw+PGxhYmVs
PjxpbnB1dCBpZD0iaWQyIj48L2xhYmVsPjxsYWJlbD48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0
PjwvbGFiZWw+PGxhYmVsPjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvbGFiZWw+PC9k
aXY+JzsKKworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENo
aWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIi
KSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcw
Jyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZGl2MSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKSk7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNldC1o
dG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorZGVzY3Jp
cHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHlu
YW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVsIGNo
YW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9
ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxsYWJlbCBpZD0ibGFiZWxJZCI+PC9sYWJlbD48
YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMi
Pjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlk
MSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNldEF0
dHJpYnV0ZSgiZm9yIiwgImlkMSIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOwor
CitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5s
ZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLCAiaWQyIik7CitzaG91bGRC
ZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5s
YWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRBdHRyaWJ1
dGUoImZvciIsICJpZDMiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKworbGFi
ZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkNCIpOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwo=
</data>
<flag name="review"
          id="41300"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57054</attachid>
            <date>2010-05-25 16:59:25 -0700</date>
            <delta_ts>2010-05-26 03:24:57 -0700</delta_ts>
            <desc>Remove un-needed argument</desc>
            <filename>38713.patch</filename>
            <type>text/plain</type>
            <size>52043</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDE5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTkgQEAKKzIwMTAtMDUtMjUgIHlhZWwgYWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgdGhlIGxhYmVscyBhdHRyaWJ1dGUgaW4gbGFiZWxhYmxlIGZvcm0gY29udHJvbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NzEzCisK
KyAgICAgICAgQWRkZWQgYSBuZXcgY2FjaGUgdHlwZSBpbiBOb2RlUmFyZURhdGEgdG8gc3RvcmUg
dGhlIG5ldyBjYWNoZSB0eXBlLgorICAgICAgICBUaGlzIGNhY2hlIGlzIGNyZWF0ZWQgb24gZGVt
YW5kLgorCisgICAgICAgIEFkZGVkIHRoZSAibGFiZWxzIiBhdHRyaWJ1dGUgdG8gYWxsIGZvcm0g
Y29udHJvbHMgdGhhdCBzdXBwb3J0IHRoaXMgYXR0cmlidXRlLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZm9ybXMvbGFiZWxzLXNldC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6Om5vdGlmeUxvY2FsTm9kZUxpc3RzTGFiZWxDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUNhY2hlZExhYmVsc05vZGVMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzVGhhdERlcGVuZE9uQXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6aXNFbXB0eSk6
CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9kZVJhcmVEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0YTo6Tm9kZUxpc3RzTm9kZURhdGEpOgor
ICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50Ojppc0xhYmVsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpsYWJlbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MTGFiZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMYWJlbEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTFByb2dyZXNzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0xhYmVsc05vZGVMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
YWJlbHNOb2RlTGlzdDo6TGFiZWxzTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGFiZWxz
Tm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2Rl
TGlzdDo6bm9kZU1hdGNoZXMpOgorICAgICAgICAqIGh0bWwvTGFiZWxzTm9kZUxpc3QuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYWJlbHNOb2RlTGlzdDo6Y3JlYXRlKToKKwogMjAxMC0w
NS0yNSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYwMTkzKQorKysg
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTg2LDYgKzk4Niw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwCiAgICAg
aHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAogICAgIGh0bWwvSW1hZ2VEYXRhLmNwcAor
ICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9QcmVsb2FkU2Nhbm5lci5jcHAK
ICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwCkluZGV4
OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZp
bGUuYW0JKHJldmlzaW9uIDYwMTkzKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTI1Miw2ICsxMjUyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJD
b3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VE
YXRhLmNwcCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5oIFwKKwlXZWJDb3JlL2h0bWwvTGFi
ZWxzTm9kZUxpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAJV2Vi
Q29yZS9odG1sL01lZGlhRXJyb3IuaCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmNw
cCBcCiAJV2ViQ29yZS9odG1sL1ByZWxvYWRTY2FubmVyLmggXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDYw
MTkzKQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTE2NDksNiAr
MTY0OSw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFn
ZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLAorICAgICAg
ICAgICAgJ2h0bWwvTGFiZWxzTm9kZUxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUVy
cm9yLmgnLAogICAgICAgICAgICAgJ2h0bWwvUHJlbG9hZFNjYW5uZXIuY3BwJywKICAgICAgICAg
ICAgICdodG1sL1ByZWxvYWRTY2FubmVyLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA2MDE5MykKKysrIFdl
YkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY5NSw2ICs2OTUsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxW
aWV3U291cmNlRG9jdW1lbnQuY3BwIFwKICAgICBodG1sL0ltYWdlRGF0YS5jcHAgXAorICAgIGh0
bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKICAgICBodG1sL1ByZWxvYWRTY2FubmVyLmNwcCBcCiAg
ICAgaHRtbC9TdGVwUmFuZ2UuY3BwIFwKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwIFwKQEAg
LTE0MjUsNiArMTQyNiw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFn
ZURhdGEuaCBcCisgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwKICAgICBodG1sL1ByZWxvYWRT
Y2FubmVyLmggXAogICAgIGh0bWwvU3RlcFJhbmdlLmggXAogICAgIGh0bWwvVGltZVJhbmdlcy5o
IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNjAx
OTMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0zNTIzMyw2ICszNTIzMywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXExhYmVsc05vZGVMaXN0LmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcTGFi
ZWxzTm9kZUxpc3QuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcTWVkaWFFcnJvci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2
MDE5MykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNTg5LDYgKzI1ODksOCBAQAogCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5
MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1l
bnQuaCAqLzsgfTsKIAkJQTQ1NDQyNEUxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjRD
MTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi87IH07CiAJCUE0NTQ0MjRGMTE5
QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1l
dGVyLmggKi87IH07CisJCUE0NjI2QkY3MTFBMzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDYy
NkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuY3BwICovOyB9OworCQlBNDYy
NkJGODExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NjI2QkY2MTFBMzhCQkMwMDI2NjZCQiAv
KiBMYWJlbHNOb2RlTGlzdC5oICovOyB9OwogCQlBNTEzQjNENzExNEIxNjY2MDAxQzQyOUIgLyog
S2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTVDOTc0Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLzsgfTsK
IAkJQTUxM0IzRDgxMTRCMTY2QTAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2EubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzREMDExNDg1RkYxMDA2
NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAqLzsgfTsKIAkJQTU5RTNDMUUxMTU4MEY1MTAwNzI5
MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENv
ZGVzSVBob25lLmggKi87IH07CkBAIC04MTU2LDYgKzgxNTgsOCBAQAogCQlBNDU0NDI0OTExOUIz
NjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNZXRlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE0NTQ0MjREMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNZXRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDYyNkJGNTExQTM4QkJDMDAyNjY2QkIgLyogTGFi
ZWxzTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGFi
ZWxzTm9kZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDYyNkJGNjEx
QTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRo
ID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBh
dGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEzNjA0LDYgKzEzNjA4LDggQEAKIAkJCQlBNzc5NzkxMzBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5NzkxNDBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUwRDZCOUQwQzAwMzg1MUI5IC8qIElt
YWdlRGF0YS5pZGwgKi8sCisJCQkJQTQ2MjZCRjUxMUEzOEJCQzAwMjY2NkJCIC8qIExhYmVsc05v
ZGVMaXN0LmNwcCAqLywKKwkJCQlBNDYyNkJGNjExQTM4QkJDMDAyNjY2QkIgLyogTGFiZWxzTm9k
ZUxpc3QuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5o
ICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmlkbCAqLywK
IAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogUHJlbG9hZFNjYW5uZXIuY3BwICovLApA
QCAtMTkzMjEsNiArMTkzMjcsNyBAQAogCQkJCTk3RThCM0MzMTFBMjg5MDgwMDE2OTQwOSAvKiBI
VE1MNVRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxMDM4QjExQTI5NDcwMDBEQkQ1MEUg
LyogSFRNTDVUb2tlbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzI3RDYwMTFBMzNBMkIw
MDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE0NjI2QkY4MTFB
MzhCQkMwMDI2NjZCQiAvKiBMYWJlbHNOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlB
ODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFM0ZBQTA5MTFBMzZCRjEwMDU3NjYyNCAv
KiBDcm9zc1RocmVhZFRhc2suaCBpbiBIZWFkZXJzICovLApAQCAtMjE2MTMsNiArMjE2MjAsNyBA
QAogCQkJCTk3RThCMzU2MTFBMjNDRTIwMDE2OTQwOSAvKiBIVE1MNUxleGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4NzEwMzhBMTFBMjk0NzAwMERCRDUwRSAvKiBIVE1MNVRva2VuaXplci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlENjUgLyogU2lua0Rv
Y3VtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NjI2QkY3MTFBMzhCQkMwMDI2NjZCQiAv
KiBMYWJlbHNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4NUVBMjExOUQ2OEQ5
MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lvbiA2MDE5MykKKysr
IFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBACiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJMYWJlbHNOb2RlTGlzdC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVk
ZSAiTXV0YXRpb25FdmVudC5oIgpAQCAtODkxLDYgKzg5MiwxOCBAQCB2b2lkIE5vZGU6Om5vdGlm
eU5vZGVMaXN0c0NoaWxkcmVuQ2hhbmdlCiAgICAgICAgIG4tPm5vdGlmeUxvY2FsTm9kZUxpc3Rz
Q2hpbGRyZW5DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTm9kZTo6bm90aWZ5TG9jYWxOb2RlTGlzdHNM
YWJlbENoYW5nZWQoKQoreworICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLT5u
b2RlTGlzdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRhdGEtPm5vZGVMaXN0cygp
LT5tX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIGRhdGEtPm5vZGVMaXN0cygpLT5tX2xh
YmVsc05vZGVMaXN0Q2FjaGUtPmludmFsaWRhdGVDYWNoZSgpOworfQorCiB2b2lkIE5vZGU6OnJl
bW92ZUNhY2hlZENsYXNzTm9kZUxpc3QoQ2xhc3NOb2RlTGlzdCogbGlzdCwgY29uc3QgU3RyaW5n
JiBjbGFzc05hbWUpCiB7CiAgICAgQVNTRVJUKHJhcmVEYXRhKCkpOwpAQCAtOTI0LDYgKzkzNywx
NiBAQCB2b2lkIE5vZGU6OnJlbW92ZUNhY2hlZFRhZ05vZGVMaXN0KFRhZ05vCiAgICAgZGF0YS0+
bV90YWdOb2RlTGlzdENhY2hlLnJlbW92ZShuYW1lLmltcGwoKSk7CiB9CiAKK3ZvaWQgTm9kZTo6
cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0KiBsaXN0KQoreworICAg
IEFTU0VSVChyYXJlRGF0YSgpKTsKKyAgICBBU1NFUlQocmFyZURhdGEoKS0+bm9kZUxpc3RzKCkp
OworICAgIEFTU0VSVF9VTlVTRUQobGlzdCwgbGlzdC0+aGFzT3duQ2FjaGVzKCkpOworICAgIAor
ICAgIE5vZGVMaXN0c05vZGVEYXRhKiBkYXRhID0gcmFyZURhdGEoKS0+bm9kZUxpc3RzKCk7Cisg
ICAgZGF0YS0+bV9sYWJlbHNOb2RlTGlzdENhY2hlID0gMDsKK30KKwogTm9kZSAqTm9kZTo6dHJh
dmVyc2VOZXh0Tm9kZShjb25zdCBOb2RlICpzdGF5V2l0aGluKSBjb25zdAogewogICAgIGlmIChm
aXJzdENoaWxkKCkpCkBAIC0yMjAxLDYgKzIyMjQsOSBAQCB2b2lkIE5vZGU6OmZvcm1hdEZvckRl
YnVnZ2VyKGNoYXIqIGJ1ZmZlCiB2b2lkIE5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2Fj
aGVzKCkKIHsKICAgICBtX2NoaWxkTm9kZUxpc3RDYWNoZXMtPnJlc2V0KCk7CisKKyAgICBpZiAo
bV9sYWJlbHNOb2RlTGlzdENhY2hlKQorICAgICAgICBtX2xhYmVsc05vZGVMaXN0Q2FjaGUtPmlu
dmFsaWRhdGVDYWNoZSgpOwogICAgIFRhZ05vZGVMaXN0Q2FjaGU6OmNvbnN0X2l0ZXJhdG9yIHRh
Z0NhY2hlRW5kID0gbV90YWdOb2RlTGlzdENhY2hlLmVuZCgpOwogICAgIGZvciAoVGFnTm9kZUxp
c3RDYWNoZTo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3RhZ05vZGVMaXN0Q2FjaGUuYmVnaW4oKTsg
aXQgIT0gdGFnQ2FjaGVFbmQ7ICsraXQpCiAgICAgICAgIGl0LT5zZWNvbmQtPmludmFsaWRhdGVD
YWNoZSgpOwpAQCAtMjIxNiw2ICsyMjQyLDggQEAgdm9pZCBOb2RlTGlzdHNOb2RlRGF0YTo6aW52
YWxpZGF0ZUNhY2hlcwogICAgIE5hbWVOb2RlTGlzdENhY2hlOjppdGVyYXRvciBuYW1lQ2FjaGVF
bmQgPSBtX25hbWVOb2RlTGlzdENhY2hlLmVuZCgpOwogICAgIGZvciAoTmFtZU5vZGVMaXN0Q2Fj
aGU6Oml0ZXJhdG9yIGl0ID0gbV9uYW1lTm9kZUxpc3RDYWNoZS5iZWdpbigpOyBpdCAhPSBuYW1l
Q2FjaGVFbmQ7ICsraXQpCiAgICAgICAgIGl0LT5zZWNvbmQtPmludmFsaWRhdGVDYWNoZSgpOwor
ICAgIGlmIChtX2xhYmVsc05vZGVMaXN0Q2FjaGUpCisgICAgICAgIG1fbGFiZWxzTm9kZUxpc3RD
YWNoZS0+aW52YWxpZGF0ZUNhY2hlKCk7CiB9CiAKIGJvb2wgTm9kZUxpc3RzTm9kZURhdGE6Omlz
RW1wdHkoKSBjb25zdApAQCAtMjI0NCw2ICsyMjcyLDkgQEAgYm9vbCBOb2RlTGlzdHNOb2RlRGF0
YTo6aXNFbXB0eSgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisg
ICAgaWYgKG1fbGFiZWxzTm9kZUxpc3RDYWNoZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDYwMTkzKQorKysgV2ViQ29yZS9kb20v
Tm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MjcsOSArNTI3LDExIEBAIHB1YmxpYzoKICAgICB2
b2lkIG5vdGlmeUxvY2FsTm9kZUxpc3RzQ2hpbGRyZW5DaGFuZ2VkKCk7CiAgICAgdm9pZCBub3Rp
ZnlOb2RlTGlzdHNBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdm9pZCBub3RpZnlMb2NhbE5vZGVM
aXN0c0F0dHJpYnV0ZUNoYW5nZWQoKTsKKyAgICB2b2lkIG5vdGlmeUxvY2FsTm9kZUxpc3RzTGFi
ZWxDaGFuZ2VkKCk7CiAgICAgdm9pZCByZW1vdmVDYWNoZWRDbGFzc05vZGVMaXN0KENsYXNzTm9k
ZUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlZE5hbWVOb2RlTGlz
dChOYW1lTm9kZUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlZFRh
Z05vZGVMaXN0KFRhZ05vZGVMaXN0KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQg
cmVtb3ZlQ2FjaGVkTGFiZWxzTm9kZUxpc3QoRHluYW1pY05vZGVMaXN0Kik7CiAgICAgCiAgICAg
UGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RWxlbWVudHNCeVRhZ05hbWUoY29uc3QgU3RyaW5nJik7
CiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5hbWUpOwpJbmRl
eDogV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
Tm9kZVJhcmVEYXRhLmgJKHJldmlzaW9uIDYwMTkzKQorKysgV2ViQ29yZS9kb20vTm9kZVJhcmVE
YXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAgc3RydWN0IE5vZGVMaXN0c05v
ZGVEYXRhIDogTm9uY29weWFibGUgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8UXVhbGlm
aWVkTmFtZTo6UXVhbGlmaWVkTmFtZUltcGw+LCBUYWdOb2RlTGlzdCo+IFRhZ05vZGVMaXN0Q2Fj
aGU7CiAgICAgVGFnTm9kZUxpc3RDYWNoZSBtX3RhZ05vZGVMaXN0Q2FjaGU7CiAKKyAgICBSZWZQ
dHI8RHluYW1pY05vZGVMaXN0PiBtX2xhYmVsc05vZGVMaXN0Q2FjaGU7CisgICAgCiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8Tm9kZUxpc3RzTm9kZURhdGE+IGNyZWF0ZSgpCiAgICAgewogICAgICAg
ICByZXR1cm4gbmV3IE5vZGVMaXN0c05vZGVEYXRhOwpAQCAtNjIsNyArNjQsNyBAQCBzdHJ1Y3Qg
Tm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5YWJsZSB7CiAKIHByaXZhdGU6CiAgICAgTm9kZUxp
c3RzTm9kZURhdGEoKQotICAgICAgICA6IG1fY2hpbGROb2RlTGlzdENhY2hlcyhEeW5hbWljTm9k
ZUxpc3Q6OkNhY2hlczo6Y3JlYXRlKCkpCisgICAgICAgIDogbV9jaGlsZE5vZGVMaXN0Q2FjaGVz
KER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpjcmVhdGUoKSksIG1fbGFiZWxzTm9kZUxpc3RDYWNo
ZSgwKQogICAgIHsKICAgICB9CiB9OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRs
CShyZXZpc2lvbiA2MDE5MykKKysrIFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBi
b29sZWFuICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
aW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7
CiAgICAgICAgIHZvaWQgY2xpY2soKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2Rl
TGlzdCAgICAgICAgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDYwMTkzKQorKysgV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50UmFyZURhdGEuaCIKICNpbmNs
dWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgorI2luY2x1ZGUg
IkxhYmVsc05vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckJv
eC5oIgogI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sLmgiCkBAIC00MDYsMTEgKzQwOCwzMCBA
QCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzTGFiZWxhYmxlCiB7CiAgICAgLy8gRklY
TUU6IEFkZCBtZXRlclRhZyBhbmQgb3V0cHV0VGFnIHRvIHRoZSBsaXN0IG9uY2Ugd2Ugc3VwcG9y
dCB0aGVtLgogICAgIHJldHVybiBoYXNUYWdOYW1lKGJ1dHRvblRhZykgfHwgaGFzVGFnTmFtZShp
bnB1dFRhZykgfHwgaGFzVGFnTmFtZShrZXlnZW5UYWcpCisjaWYgRU5BQkxFKE1FVEVSX1RBRykK
KyAgICAgICAgfHwgaGFzVGFnTmFtZShtZXRlclRhZykKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9H
UkVTU19UQUcpCiAgICAgICAgIHx8IGhhc1RhZ05hbWUocHJvZ3Jlc3NUYWcpCiAjZW5kaWYKICAg
ICAgICAgfHwgaGFzVGFnTmFtZShzZWxlY3RUYWcpIHx8IGhhc1RhZ05hbWUodGV4dGFyZWFUYWcp
OwogfQorCitQYXNzUmVmUHRyPE5vZGVMaXN0PiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpsYWJl
bHMoKQoreworICAgIGlmICghaXNMYWJlbGFibGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
aWYgKCFkb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICAKKyAgICBOb2RlUmFyZURh
dGEqIGRhdGEgPSBOb2RlOjplbnN1cmVSYXJlRGF0YSgpOworICAgIGlmICghZGF0YS0+bm9kZUxp
c3RzKCkpIHsKKyAgICAgICAgZGF0YS0+c2V0Tm9kZUxpc3RzKE5vZGVMaXN0c05vZGVEYXRhOjpj
cmVhdGUoKSk7CisgICAgICAgIGRvY3VtZW50KCktPmFkZE5vZGVMaXN0Q2FjaGUoKTsKKyAgICB9
CisgICAgCisgICAgcmV0dXJuIExhYmVsc05vZGVMaXN0OjpjcmVhdGUodGhpcyk7Cit9CiAgICAg
CiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50
V2l0aFN0YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MsIEhU
TUxGb3JtRWxlbWVudCogZikKICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwg
ZG9jLCBmKQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCShyZXZpc2lv
biA2MDE5MykKKysrIFdlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoQmx1ckV2ZW50KCk7CiAKICAgICBib29sIGlzTGFiZWxhYmxlKCkgY29uc3Q7CisgICAg
UGFzc1JlZlB0cjxOb2RlTGlzdD4gbGFiZWxzKCk7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCByZW1vdmVGcm9tRm9ybSgpOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkocmV2
aXNpb24gNjAxOTMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTk1LDYgKzk1LDcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEZpbGVMaXN0IGZpbGVzOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJD
b3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxMYWJlbEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2MDE5MykKKysrIFdlYkNvcmUvaHRtbC9I
VE1MTGFiZWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczLDQgKzE3MywxNSBAQCB2
b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OnNldEh0bWxGb3IoY29uc3QgCiAgICAgc2V0QXR0cmlidXRl
KGZvckF0dHIsIHZhbHVlKTsKIH0KIAordm9pZCBIVE1MTGFiZWxFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHJpYnV0ZSkKK3sKKyAgICBpZiAoYXR0cmlidXRlLT5u
YW1lKCkgPT0gZm9yQXR0cikgeworICAgICAgICAvLyBodG1sRm9yIGF0dHJpYnV0ZSBjaGFuZ2Ug
YWZmZWN0cyBvdGhlciBub2RlcyB0aGFuIHRoaXMuCisgICAgICAgIC8vIENsZWFyIHRoZSBjYWNo
ZXMgdG8gZW5zdXJlIHRoYXQgdGhlIGxhYmVscyBjYWNoZXMgYXJlIGNsZWFyZWQuCisgICAgICAg
IGlmIChkb2N1bWVudCgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+bm90aWZ5TG9jYWxOb2Rl
TGlzdHNMYWJlbENoYW5nZWQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgSFRNTEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisgICAgICAgICAgICAgICAgCiB9IC8v
IG5hbWVzcGFjZQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCShyZXZpc2lvbiA2MDE5MykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUx
LDEzICs1MSwxNSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgYWNjZXNzS2V5KCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRBY2Nlc3NLZXkoY29uc3QgU3RyaW5nJik7Ci0KKyAgICAKICAgICBTdHJpbmcg
aHRtbEZvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0SHRtbEZvcihjb25zdCBTdHJpbmcmKTsKIAog
ICAgIHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gPSB0cnVlKTsKIAog
IHByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0
ZSopOworCiAgICAgU3RyaW5nIG1fZm9ybUVsZW1lbnRJRDsKIH07CiAKSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRN
TE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDYwMTkzKQorKysgV2ViQ29yZS9odG1sL0hUTUxN
ZXRlckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw1ICszNCw2IEBAIG1vZHVsZSBo
dG1sIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBvcHRpbXVtCiAgICAgICAg
ICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIE5vZGVMaXN0IGxhYmVsczsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL0hU
TUxQcm9ncmVzc0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MUHJv
Z3Jlc3NFbGVtZW50LmlkbAkocmV2aXNpb24gNjAxOTMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBy
b2dyZXNzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24p
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIGRvdWJsZSAgICAgICAgICAgICAgICBwb3Np
dGlvbjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQgICAgICAg
Zm9ybTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAgICAgICAg
bGFiZWxzOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAko
cmV2aXNpb24gNjAxOTMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgLy8g
IlRoZSBjb250YWluZWQgb3B0aW9ucyBjYW4gYmUgZGlyZWN0bHkgYWNjZXNzZWQgdGhyb3VnaCB0
aGUgc2VsZWN0IGVsZW1lbnQgYXMgYSBjb2xsZWN0aW9uLiIKICAgICAgICAgTm9kZSBpdGVtKGlu
IFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICAgICAgTm9kZSBuYW1lZEl0ZW0o
aW4gRE9NU3RyaW5nIG5hbWUpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3Qg
ICAgICAgIGxhYmVsczsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaWRsCShyZXZpc2lvbiA2MDE5MykKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBtb2R1bGUgaHRtbCB7
CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0YXJ0OwogICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25FbmQ7CiAgICAgICAgIHZvaWQgc2V0
U2VsZWN0aW9uUmFuZ2UoaW4gbG9uZyBzdGFydCwgaW4gbG9uZyBlbmQpOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0ICAgICAgICAgICAgICBsYWJlbHM7CiAgICAgfTsKIAog
fQpJbmRleDogV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9o
dG1sL0xhYmVsc05vZGVMaXN0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBAQAorLyoq
CisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAg
ICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAg
ICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGFiZWxzTm9kZUxpc3QuaCIKKworI2luY2x1
ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTGFiZWxFbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKKworTGFiZWxzTm9kZUxpc3Q6OkxhYmVsc05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9k
ZT4gZm9yTm9kZSApCisgICAgOiBEeW5hbWljTm9kZUxpc3QoZm9yTm9kZS0+ZG9jdW1lbnQoKSkg
LCBtX2Zvck5vZGUoZm9yTm9kZSkKK3sKK30KKworTGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2Rl
TGlzdCgpCit7CisgICAgbV9mb3JOb2RlLT5yZW1vdmVDYWNoZWRMYWJlbHNOb2RlTGlzdCh0aGlz
KTsKK30gCisgICAgCitib29sIExhYmVsc05vZGVMaXN0Ojpub2RlTWF0Y2hlcyhFbGVtZW50KiB0
ZXN0Tm9kZSkgY29uc3QKK3sKKyAgICByZXR1cm4gdGVzdE5vZGUtPmhhc1RhZ05hbWUobGFiZWxU
YWcpICYmIHN0YXRpY19jYXN0PEhUTUxMYWJlbEVsZW1lbnQqPih0ZXN0Tm9kZSktPmNvbnRyb2wo
KSA9PSBtX2Zvck5vZGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9MYWJl
bHNOb2RlTGlzdC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0
aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBEaXJr
IE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9r
aWEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBMYWJlbHNOb2RlTGlzdF9o
CisjZGVmaW5lIExhYmVsc05vZGVMaXN0X2gKKworI2luY2x1ZGUgIkR5bmFtaWNOb2RlTGlzdC5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgTGFiZWxzTm9kZUxpc3QgOiBwdWJsaWMgRHluYW1pY05vZGVMaXN0IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYWJlbHNOb2RlTGlzdD4gY3JlYXRlKFBhc3NSZWZQdHI8
Tm9kZT4gZm9yTm9kZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTGFiZWxz
Tm9kZUxpc3QoZm9yTm9kZSkpOworICAgIH0KKyAgICB+TGFiZWxzTm9kZUxpc3QoKTsKKworcHJv
dGVjdGVkOgorICAgIExhYmVsc05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4gZm9yTm9kZSk7CisK
KyAgICB2aXJ0dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCopIGNvbnN0OworCitwcml2YXRl
OgorICAgIFJlZlB0cjxOb2RlPiBtX2Zvck5vZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBMYWJlbHNOb2RlTGlzdF9oCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MDE5
MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5
IEBACisyMDEwLTA1LTI1ICB5YWVsIGFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHRo
ZSBsYWJlbHMgYXR0cmlidXRlIGluIGxhYmVsYWJsZSBmb3JtIGNvbnRyb2xzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODcxMworCisgICAgICAgIFVw
ZGF0ZSByZXN1bHQgZm9yIEhUTUxTZWxlY3RFbGVtZW50LCBzaW5jZSBpdCBub3cgaW5jbHVkZXMg
dGhlIG5ldyBhdHRyaWJ1dGUgImxhYmVscyIKKyAgICAgICAgKiBmYXN0L2RvbS9kb21MaXN0RW51
bWVyYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10ZXN0cy9k
b21MaXN0RW51bWVyYXRpb24uanM6CisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1hZGQt
aHRtbEZvci1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
bGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0
dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWlu
ZGV4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtaXRl
bS1pbmRleC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxh
YmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9sYWJlbHMtcmVt
b3ZlLXBhcmVudC1sYWJlbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2xhYmVs
cy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBh
cmVudC1sYWJlbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMv
bGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanM6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1
dGUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1y
ZW1vdmUtaHRtbEZvci1sYWJlbC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvbGFiZWxzLXJlbW92ZS1wYXJlbnQtbGFiZWwuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuanM6
IEFkZGVkLgorCiAyMDEwLTA1LTI1ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNjAxOTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRp
b24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFBBU1MgcmVz
dWx0QXJyYXlbMl0uaSBpcyAnMicKIFBBU1MgcmVzdWx0QXJyYXlbMl0uaXRlbSBpcyBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMl0KIAogW29iamVjdCBIVE1MU2VsZWN0
RWxlbWVudF0KLVBBU1MgcmVzdWx0QXJyYXkubGVuZ3RoIGlzIDE0MQorUEFTUyByZXN1bHRBcnJh
eS5sZW5ndGggaXMgMTQyCiBQQVNTIHJlc3VsdEFycmF5WzBdLmkgaXMgJzAnCiBQQVNTIHJlc3Vs
dEFycmF5WzBdLml0ZW0gaXMgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ29wdGlvbicp
WzBdCiBQQVNTIHJlc3VsdEFycmF5WzFdLmkgaXMgJzEnCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVyYXRpb24uanMJKHJl
dmlzaW9uIDYwMTkzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxp
c3RFbnVtZXJhdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3IEBAIHNob3Vs
ZEJlKCJyZXN1bHRBcnJheVsyXS5pdGVtIiwgImRvY3VtZW4KIC8vIEhUTUxTZWxlY3RFbGVtZW50
CiB2YXIgaHRtbFNlbGVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
c2VsZWN0JylbMF07CiByZXN1bHRBcnJheSA9IGl0ZXJhdGVMaXN0KGh0bWxTZWxlY3RFbGVtZW50
KTsKLXNob3VsZEJlKCJyZXN1bHRBcnJheS5sZW5ndGgiLCAiMTQxIik7CitzaG91bGRCZSgicmVz
dWx0QXJyYXkubGVuZ3RoIiwgIjE0MiIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzBdLmkiLCAi
JzAnIik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlbMF0uaXRlbSIsICJkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnb3B0aW9uJylbMF0iKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVsxXS5p
IiwgIicxJyIpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxG
b3ItbGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMg
bGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5n
IGEgbGFiZWwgd2hvc2UgaHRtbEZvciBwb2ludHMgdG8gdGhhdCBjb250cm9sLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0bWxGb3ItbGFiZWwuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLWh0
bWxGb3ItbGFiZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVu
dC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1hZGQtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlz
dCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gYWRkaW5nIGEg
bGFiZWwgYXMgcGFyZW50IGZvciB0aGF0IGZvcm0gY29udHJvbC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5n
dGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAx
CitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mg
bGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWFkZC1wYXJlbnQtbGFi
ZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbGFiZWxz
LWFkZC1wYXJlbnQtbGFiZWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRy
aWJ1dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1jaGFuZ2UtaHRtbEZvci1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitUZXN0IHRoYXQg
dGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQg
d2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBjaGFuZ2VzIHRvIHBvaW50IHRv
IHRoYXQgY29udHJvbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNT
IGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWNoYW5n
ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLWNoYW5nZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRl
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1j
aGFuZ2UtaHRtbEZvci1hdHRyaWJ1dGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVtLWluZGV4LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1p
dGVtLWluZGV4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbGFiZWxzLWl0ZW0taW5kZXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE0IEBACitUZXN0IHRoYXQgdGhlIGl0ZW1zIG9mIGEgbGFiZWxzIGxpc3QgY2FuIGJlIGFj
Y2Vzc2VkIGluZGl2aWR1YWxseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbGFiZWxzLml0ZW0oMSkuaWQgaXMgImwxMSIKK1BBU1MgbGFiZWxzLml0ZW0oMSkuaWQgaXMg
ImwxMiIKK1BBU1MgbGFiZWxzLml0ZW0oMSkuaWQgaXMgImwxMyIKK1BBU1MgbGFiZWxzLml0ZW0o
MSkuaWQgaXMgImwxNCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLWl0ZW0taW5k
ZXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1pdGVt
LWluZGV4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1pdGVtLWluZGV4Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2xhYmVscy1pdGVtLWluZGV4LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3It
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0
cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0
aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRh
dGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgaXMgcmVtb3ZlZC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92
ZS1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItYXR0cmlidXRlLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRy
aWJ1dGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0
bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE4IEBACitUZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9y
bSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiByZW1vdmluZyB0aGUgaHRtbEZv
ciBhdHRyaWJ1dGUgdGhhdCBwb2ludGVkIHRvIHRoYXQgZm9ybSBjb250cm9sLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFi
ZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMubGVu
Z3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQQVNTIGxhYmVscy5sZW5ndGggaXMg
MAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1odG1sRm9y
LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtaHRtbEZvci1sYWJlbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLWh0bWxGb3ItbGFiZWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xh
YmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1w
YXJlbnQtbGFiZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACitU
ZXN0IHRoYXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5
IHVwZGF0ZWQgd2hlbiByZW1vdmluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNv
bnRyb2wuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5n
dGggaXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAx
CitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mg
bGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMQorUEFTUyBsYWJlbHMu
bGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXJlbW92ZS1wYXJl
bnQtbGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVs
cy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtcGFyZW50LWxhYmVsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRy
aWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29u
dHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gdGhlIGh0bWxGb3IgYXR0cmlidXRlIG9m
IGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0aGF0IGNvbnRyb2wuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMu
bGVuZ3RoIGlzIDEKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAwCitQQVNTIGxhYmVscy5sZW5ndGgg
aXMgMQorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDAKK1BBU1MgbGFiZWxzLmxlbmd0aCBpcyAxCitQ
QVNTIGxhYmVscy5sZW5ndGggaXMgMAorUEFTUyBsYWJlbHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1dGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2xhYmVscy1zZXQtaHRtbEZvci1hdHRyaWJ1
dGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvbGFiZWxzLWFkZC1odG1sRm9yLWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1hZGQtaHRtbEZvci1sYWJlbC5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xh
YmVscy1hZGQtaHRtbEZvci1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wg
aXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGFkZGluZyBhIGxhYmVsIHdob3NlIGh0bWxGb3Ig
cG9pbnRzIHRvIHRoYXQgY29udHJvbC4gJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYxIj48
L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjxidXR0b24+PGlucHV0IGlkPSJp
ZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4dGFy
ZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOworCitsYWJl
bHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJl
bCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDEiOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRp
djEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7
CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxhYmVsIik7CitsYWJlbC5odG1sRm9yID0gImlkMiI7Citkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3Ro
JywgJzEnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVs
czsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibGFiZWwiKTsKK2xhYmVsLmh0bWxGb3IgPSAiaWQzIjsKK2RvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJkaXYxIikuYXBwZW5kQ2hpbGQobGFiZWwpOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMScpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0
IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworbGFiZWwuaHRtbEZvciA9ICJpZDQiOworZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdjEiKS5hcHBlbmRDaGlsZChsYWJlbCk7CitzaG91bGRC
ZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWFkZC1w
YXJlbnQtbGFiZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvbGFiZWxzLWFkZC1wYXJlbnQtbGFiZWwuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtYWRkLXBhcmVudC1sYWJlbC5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0
aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1pY2FsbHkgdXBkYXRlZCB3
aGVuIGFkZGluZyBhIGxhYmVsIGFzIHBhcmVudCBmb3IgdGhhdCBmb3JtIGNvbnRyb2wuICcpOwor
Cit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGJ1dHRvbiBp
ZD0iaWQxIj48L2J1dHRvbj48aW5wdXQgaWQ9ImlkMiI+PHNlbGVjdCBpZD0iaWQzIj48L3NlbGVj
dD48dGV4dGFyZWEgaWQ9ImlkNCI+PC90ZXh0YXJlYT48L2Rpdj4nOworCitkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpZDEiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7
CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxk
KGxhYmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIi
KSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcwJyk7CitsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKSk7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcxJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQi
KS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2
MSIpLmFwcGVuZENoaWxkKGxhYmVsKTsKK2xhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpZDQiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1jaGFu
Z2UtaHRtbEZvci1hdHRyaWJ1dGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtY2hhbmdlLWh0bWxGb3ItYXR0cmlidXRlLmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACitkZXNjcmlwdGlvbignVGVzdCB0aGF0IHRoZSBs
YWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4g
dGhlIGh0bWxGb3IgYXR0cmlidXRlIG9mIGEgbGFiZWwgY2hhbmdlcyB0byBwb2ludCB0byB0aGF0
IGNvbnRyb2wuICcpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisKK3BhcmVudC5pbm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0i
ZGl2MiI+PGxhYmVsIGlkPSJsYWJlbElkIj48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0
b24+PGlucHV0IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlk
PSJpZDQiPjwvdGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChw
YXJlbnQpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7Cits
YWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQxIikubGFiZWxzOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJpZDEiOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFi
ZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJp
ZDIiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCitsYWJlbCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWQzIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworbGFi
ZWwuaHRtbEZvciA9ICJpZDMiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScpOworCits
YWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaWQ0IikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMCcpOworbGFiZWwuaHRtbEZvciA9ICJpZDQiOworc2hvdWxkQmUoJ2xhYmVscy5sZW5n
dGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0ZW0taW5kZXguanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLWl0
ZW0taW5kZXguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9sYWJlbHMtaXRlbS1pbmRleC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBA
QAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgaXRlbXMgb2YgYSBsYWJlbHMgbGlzdCBjYW4g
YmUgYWNjZXNzZWQgaW5kaXZpZHVhbGx5LiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEi
PjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0IGlk
PSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwvdGV4
dGFyZWE+PC9kaXY+PGxhYmVsIGlkPSJsMSIgZm9yPSJpZDEiPjwvbGFiZWw+PGxhYmVsIGlkPSJs
MiIgZm9yPSJpZDIiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxh
YmVsIGlkPSJsNCIgZm9yPSJpZDQiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTEiIGZvcj0iaWQxIj48
L2xhYmVsPjxsYWJlbCBpZD0ibDEyIiBmb3I9ImlkMiI+PC9sYWJlbD48bGFiZWwgaWQ9ImwxMyIg
Zm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJsMTQiIGZvcj0iaWQ0Ij48L2xhYmVsPic7CisK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5p
ZCcsICcibDExIicpOworCitsYWJlbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIiku
bGFiZWxzOworc2hvdWxkQmUoJ2xhYmVscy5pdGVtKDEpLmlkJywgJyJsMTIiJyk7CisKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLml0ZW0oMSkuaWQnLCAnImwxMyInKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMuaXRlbSgxKS5pZCcsICcibDE0
IicpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1dGUu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFi
ZWxzLXJlbW92ZS1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1hdHRyaWJ1
dGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRo
YXQgdGhlIGxhYmVscyBsaXN0IG9mIGEgZm9ybSBjb250cm9sIGlzIGR5bmFtaWNhbGx5IHVwZGF0
ZWQgd2hlbiB0aGUgaHRtbEZvciBhdHRyaWJ1dGUgb2YgYSBsYWJlbCBpcyByZW1vdmVkLicpOwor
Cit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKK3BhcmVudC5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iZGl2MSI+PC9kaXY+PGRpdiBpZD0iZGl2MiI+PGxhYmVsIGlk
PSJsYWJlbDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBpZD0ibGFiZWwyIiBmb3I9ImlkMiI+
PC9sYWJlbD48bGFiZWwgaWQ9ImxhYmVsMyIgZm9yPSJpZDMiPjwvbGFiZWw+PGxhYmVsIGlkPSJs
YWJlbDQiIGZvcj0iaWQ0Ij48L2xhYmVsPjxidXR0b24gaWQ9ImlkMSI+PC9idXR0b24+PGlucHV0
IGlkPSJpZDIiPjxzZWxlY3QgaWQ9ImlkMyI+PC9zZWxlY3Q+PHRleHRhcmVhIGlkPSJpZDQiPjwv
dGV4dGFyZWE+PC9kaXY+JzsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQpOwor
CitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDEiKTsKK2xhYmVscyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxl
bmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xh
YmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YWJlbDIiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIiKS5sYWJlbHM7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUo
ImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCitsYWJlbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDMiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Cits
YWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAn
MCcpOworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbDQiKTsKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7CitsYWJlbC5yZW1vdmVBdHRyaWJ1dGUoImZvciIpOworc2hvdWxk
QmUoJ2xhYmVscy5sZW5ndGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXJl
bW92ZS1odG1sRm9yLWxhYmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUtaHRtbEZvci1sYWJlbC5qcwkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1yZW1vdmUt
aHRtbEZvci1sYWJlbC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorZGVzY3JpcHRp
b24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMgZHluYW1p
Y2FsbHkgdXBkYXRlZCB3aGVuIHJlbW92aW5nIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSB0aGF0IHBv
aW50ZWQgdG8gdGhhdCBmb3JtIGNvbnRyb2wuJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKworcGFyZW50LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJkaXYx
Ij48L2Rpdj48ZGl2IGlkPSJkaXYyIj48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBp
ZD0iaWQyIj48c2VsZWN0IGlkPSJpZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3Rl
eHRhcmVhPjwvZGl2PjxsYWJlbCBpZD0ibDEiIGZvcj0iaWQxIj48L2xhYmVsPjxsYWJlbCBpZD0i
bDIiIGZvcj0iaWQyIj48L2xhYmVsPjxsYWJlbCBpZD0ibDMiIGZvcj0iaWQzIj48L2xhYmVsPjxs
YWJlbCBpZD0ibDQiIGZvcj0iaWQ0Ij48L2xhYmVsPic7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocGFyZW50KTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMSIp
LmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsMSIpLmh0bWxGb3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywg
JzAnKTsKKworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMiIpLmxhYmVsczsK
K3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsMiIpLmh0bWxGb3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwor
bGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkMyIpLmxhYmVsczsKK3Nob3VsZEJl
KCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsMyIpLmh0
bWxGb3IgPSAiIjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKworbGFiZWxzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMu
bGVuZ3RoJywgJzEnKTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsNCIpLmh0bWxGb3IgPSAi
IjsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9s
YWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtcmVtb3ZlLXBhcmVudC1sYWJlbC5qcwkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2xhYmVscy1y
ZW1vdmUtcGFyZW50LWxhYmVsLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACitkZXNj
cmlwdGlvbignVGVzdCB0aGF0IHRoZSBsYWJlbHMgbGlzdCBvZiBhIGZvcm0gY29udHJvbCBpcyBk
eW5hbWljYWxseSB1cGRhdGVkIHdoZW4gcmVtb3ZpbmcgYSBsYWJlbCBhcyBwYXJlbnQgZm9yIHRo
YXQgZm9ybSBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImRpdjEiPjwvZGl2Pjxk
aXYgaWQ9ImRpdjIiPjxsYWJlbD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjwvbGFiZWw+PGxh
YmVsPjxpbnB1dCBpZD0iaWQyIj48L2xhYmVsPjxsYWJlbD48c2VsZWN0IGlkPSJpZDMiPjwvc2Vs
ZWN0PjwvbGFiZWw+PGxhYmVsPjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvbGFiZWw+
PC9kaXY+JzsKKworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisKK2xhYmVs
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFi
ZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDEiKSk7CitzaG91bGRCZSgnbGFiZWxz
Lmxlbmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDIi
KS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZDIiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK2xhYmVscyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0
aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2MSIpLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMiKSk7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcs
ICcwJyk7CisKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKS5sYWJlbHM7
CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGl2MSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDQiKSk7Citz
aG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxz
LXNldC1odG1sRm9yLWF0dHJpYnV0ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9sYWJlbHMtc2V0LWh0bWxGb3ItYXR0cmlidXRlLmpzCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvbGFiZWxzLXNl
dC1odG1sRm9yLWF0dHJpYnV0ZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorZGVz
Y3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgbGFiZWxzIGxpc3Qgb2YgYSBmb3JtIGNvbnRyb2wgaXMg
ZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIHRoZSBodG1sRm9yIGF0dHJpYnV0ZSBvZiBhIGxhYmVs
IGNoYW5nZXMgdG8gcG9pbnQgdG8gdGhhdCBjb250cm9sLiAnKTsKKwordmFyIHBhcmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworCitwYXJlbnQuaW5uZXJIVE1MID0gJzxkaXYg
aWQ9ImRpdjEiPjwvZGl2PjxkaXYgaWQ9ImRpdjIiPjxsYWJlbCBpZD0ibGFiZWxJZCI+PC9sYWJl
bD48YnV0dG9uIGlkPSJpZDEiPjwvYnV0dG9uPjxpbnB1dCBpZD0iaWQyIj48c2VsZWN0IGlkPSJp
ZDMiPjwvc2VsZWN0Pjx0ZXh0YXJlYSBpZD0iaWQ0Ij48L3RleHRhcmVhPjwvZGl2Pic7CisKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKKworbGFiZWwgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImlkMSIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzAnKTsKK2xhYmVsLnNl
dEF0dHJpYnV0ZSgiZm9yIiwgImlkMSIpOworc2hvdWxkQmUoJ2xhYmVscy5sZW5ndGgnLCAnMScp
OworCitsYWJlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYWJlbElkIik7CitsYWJlbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWQyIikubGFiZWxzOworc2hvdWxkQmUoJ2xhYmVs
cy5sZW5ndGgnLCAnMCcpOworbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLCAiaWQyIik7CitzaG91
bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcxJyk7CisKK2xhYmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxhYmVsSWQiKTsKK2xhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZDMi
KS5sYWJlbHM7CitzaG91bGRCZSgnbGFiZWxzLmxlbmd0aCcsICcwJyk7CitsYWJlbC5zZXRBdHRy
aWJ1dGUoImZvciIsICJpZDMiKTsKK3Nob3VsZEJlKCdsYWJlbHMubGVuZ3RoJywgJzEnKTsKKwor
bGFiZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFiZWxJZCIpOworbGFiZWxzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkNCIpLmxhYmVsczsKK3Nob3VsZEJlKCdsYWJlbHMubGVu
Z3RoJywgJzAnKTsKK2xhYmVsLnNldEF0dHJpYnV0ZSgiZm9yIiwgImlkNCIpOworc2hvdWxkQmUo
J2xhYmVscy5sZW5ndGgnLCAnMScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kwo=
</data>
<flag name="review"
          id="41569"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>