<?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>127990</bug_id>
          
          <creation_ts>2014-01-31 02:50:30 -0800</creation_ts>
          <short_desc>[CSS Grid Layout] Rename named areas property</short_desc>
          <delta_ts>2014-02-19 06:56:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127987</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego</cc>
    
    <cc>sergio</cc>
    
    <cc>svillar</cc>
    
    <cc>syoichi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>974260</commentid>
    <comment_count>0</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-01-31 02:50:30 -0800</bug_when>
    <thetext>The property has been renamed from grid-template to grid-template-areas in the last two versions of the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977599</commentid>
    <comment_count>1</comment_count>
      <attachid>223401</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-06 16:22:23 -0800</bug_when>
    <thetext>Created attachment 223401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977600</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 16:23:25 -0800</bug_when>
    <thetext>Attachment 223401 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5138:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 26 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>977752</commentid>
    <comment_count>3</comment_count>
      <attachid>223401</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-02-07 01:20:21 -0800</bug_when>
    <thetext>Comment on attachment 223401
Patch

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

Looks good, added some nits.

&gt; Source/WebCore/css/CSSGridTemplateAreasValue.cpp:3
&gt; + * Copyright (C) 2013 Igalia S.L.

You might want to add 2014 here

&gt; Source/WebCore/css/CSSGridTemplateAreasValue.h:3
&gt; + * Copyright (C) 2013 Igalia S.L.

ditto.

&gt; LayoutTests/fast/css-grid-layout/grid-item-area-get-set.html:12
&gt;                             &quot;thirdArea thirdArea&quot;;

Add spaces here to align both strings

&gt; LayoutTests/fast/css-grid-layout/grid-item-column-row-get-set.html:12
&gt;                             &quot;thirdArea thirdArea&quot;;

ditto.

&gt; LayoutTests/fast/css-grid-layout/grid-item-named-grid-area-resolution.html:16
&gt; +    -webkit-grid-template-areas: &quot;first second third&quot;

ditto

&gt; LayoutTests/fast/css-grid-layout/grid-item-named-grid-area-resolution.html:22
&gt;                             &quot;fourth fourth third&quot;;

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977815</commentid>
    <comment_count>4</comment_count>
      <attachid>223453</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-07 06:53:37 -0800</bug_when>
    <thetext>Created attachment 223453
Patch rebased and added suggested changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977817</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-07 06:56:33 -0800</bug_when>
    <thetext>Attachment 223453 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5138:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 26 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>978800</commentid>
    <comment_count>6</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-10 02:54:15 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Attachment 223453 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/css/CSSParser.cpp:5138:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
&gt; Total errors found: 1 in 26 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

It&apos;s a bug in the check-webkit-style. I think the root cause is the ifdef clause immediately above, but still not able to reproduce it with a simpler case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979005</commentid>
    <comment_count>7</comment_count>
      <attachid>223734</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-10 12:37:25 -0800</bug_when>
    <thetext>Created attachment 223734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979006</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 12:39:45 -0800</bug_when>
    <thetext>Attachment 223734 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5133:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 26 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>980268</commentid>
    <comment_count>9</comment_count>
      <attachid>223734</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-02-13 05:10:24 -0800</bug_when>
    <thetext>Comment on attachment 223734
Patch

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

Thanks for keeping this up to date !

&gt; Source/WebCore/css/CSSGridTemplateAreasValue.cpp:4
&gt; + * Copyright (C) 2014 Igalia S.L.

Use a single line for these two, something like 

Copyright (C) 2013, 2014 Igalia S.L.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980279</commentid>
    <comment_count>10</comment_count>
      <attachid>224063</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-13 06:04:32 -0800</bug_when>
    <thetext>Created attachment 224063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980298</commentid>
    <comment_count>11</comment_count>
      <attachid>224063</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 07:56:26 -0800</bug_when>
    <thetext>Comment on attachment 224063
Patch

Rejecting attachment 224063 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 224063, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
s-grid-layout/grid-item-end-after-get-set.html
patching file LayoutTests/fast/css-grid-layout/grid-item-named-grid-area-resolution.html
patching file LayoutTests/fast/css-grid-layout/grid-item-start-before-get-set.html
patching file LayoutTests/fast/css-grid-layout/grid-template-get-set-expected.txt
patching file LayoutTests/fast/css-grid-layout/grid-template-get-set.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/4816108091604992</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980318</commentid>
    <comment_count>12</comment_count>
      <attachid>224077</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-13 09:19:37 -0800</bug_when>
    <thetext>Created attachment 224077
Patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980322</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 09:22:24 -0800</bug_when>
    <thetext>Attachment 224077 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5133:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 26 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>980327</commentid>
    <comment_count>14</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-02-13 09:29:59 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Attachment 224077 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/css/CSSParser.cpp:5133:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
&gt; Total errors found: 1 in 26 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

BTW file a bug for this issue please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980342</commentid>
    <comment_count>15</comment_count>
      <attachid>224077</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 10:02:00 -0800</bug_when>
    <thetext>Comment on attachment 224077
Patch rebased.

Clearing flags on attachment: 224077

Committed r164035: &lt;http://trac.webkit.org/changeset/164035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980343</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 10:02:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980374</commentid>
    <comment_count>17</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-13 11:34:02 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Attachment 224077 [details] [details] did not pass style-queue:
&gt; &gt; 
&gt; &gt; 
&gt; &gt; ERROR: Source/WebCore/css/CSSParser.cpp:5133:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
&gt; &gt; Total errors found: 1 in 26 files
&gt; &gt; 
&gt; &gt; 
&gt; &gt; If any of these errors are false positives, please file a bug against check-webkit-style.
&gt; 
&gt; BTW file a bug for this issue please.

See bug #128751for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223401</attachid>
            <date>2014-02-06 16:22:23 -0800</date>
            <delta_ts>2014-02-07 06:53:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127990-20140207012221.patch</filename>
            <type>text/plain</type>
            <size>53051</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVlZWU0MjllZTVkM2Zk
NmFlZDliZDVhODZjNmMzNzI3NGUyYTg5Zi4uOTBhMjMzMjIyZDAwNGM2YTc4MDJkY2Y5M2ZkZDI1
OWEwYzlkZmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAyLTA2ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdncmlkLXRlbXBsYXRl
JyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJworICAgICAgICBpbiB0
aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUpOgorICAgICAgICAq
IGNzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpD
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OnN0cmluZ0ZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9D
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlOjp+Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpncmlkQXJlYU1hcCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpyb3dDb3VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjb2x1bW5Db3VudCk6CisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZUFy
ZWFzKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1Rl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNz
cy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzR3JpZFRlbXBsYXRl
QXJlYXNWYWx1ZSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisKIDIwMTQtMDItMDYgIEzD
oXN6bMOzIExhbmfDsyAgPGxsYW5nby51LXN6ZWdlZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAg
ICAgICAgIENyZWF0ZSBhIEhUTUxVbmtub3duRWxlbWVudCB3aGVuIHVzaW5nIGNyZWF0ZUVsZW1l
bnQoJ2ltYWdlJykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGIyYjMzMzM2NDBmOGRkOWEz
NGJjZjVmMTFlMTdkNmFlYjE3YWRiM2UuLjQyNGJmMTg0NDk2NGI3MTZkZDRjNjQ4ZTFhMjk3N2E5
ZjYxNzY5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0
LTAyLTA2ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdn
cmlkLXRlbXBsYXRlJyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJwor
ICAgICAgICBpbiB0aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAg
KiBUb29scy9QcmV0dHlQcmludGluZy9jc3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9F
eHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qczoKKwogMjAxNC0wMi0wNSAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgcHJvYmUgbWFuYWdl
ciBhbmQgbW9kZWwgb2JqZWN0cyB0byB0aGUgZnJvbnRlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggODA0Yzg0NTZiYjFiYzYwNjFiOGRlMGViMThhNTRlMWE5NTBlNDg5OS4uZjM2YTZiODc5Zjhk
MzNiNjk0Nzc2ZjI4OGM0ZmI1YmFiMTk5YWRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEw
MzcsNyArMTAzNyw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTRm9udFZhbHVl
LmNwcAogICAgIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NHcmFkaWVudFZh
bHVlLmNwcAotICAgIGNzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTR3Jp
ZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAogICAg
IGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVl
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWRiZWE4MjU0ODZjOTc1MzVh
ZGJiNzFlMTY1M2E0MWMzZjU1MWM3Ny4uMzZiZjI1NDAyZDFjYTFkZjcyZTRmM2U1NDU1Yzg1OWQ1
YmMwNGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNTU1LDggKzI1NTUs
OCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlv
blZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaCBcCi0JU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
aWRUZW1wbGF0ZVZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVB
cmVhc1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0hlbHBlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qCmluZGV4IGU0ZGIzYzdhOGJlNTUyYmRlMTQ2ZTE2ZDExMzJlYjQ5NjEwYWY4Njgu
LjU5ZWZkNDgxNTNmMDlmMzJlYzljYmE4NTIyNWVkYjg0YmE3MjhkYTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtOTAwMyw3ICs5MDAz
LDcgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NT
R3JpZFRlbXBsYXRlVmFsdWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3Nz
XENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0dyb3VwaW5nUnVsZS5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk2NTEsNyArMTk2NTEsNyBAQAogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0ZvbnRWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cY3NzXENTU0Z1bmN0aW9uVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGNzc1xDU1NHcmFkaWVudFZhbHVlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JvdXBpbmdSdWxlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxjc3NcQ1NTSGVscGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGMwYTA2
MTE5NmYzODViZDU3ODUzYjBmZGM4M2Y1NjE5NTY1OGQwMDguLjJmODM0MjEyM2MxYmU3NmIzMWEy
YWQ3ODZmMDQyOGQ0YzUyNTM4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY5NzYsNyArNjk3Niw3IEBA
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGluZUxheW91dEZ1
bmN0aW9ucy5jcHAiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVW
YWx1ZS5jcHAiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4ZWRkYlxJREJD
dXJzb3JCYWNrZW5kLmNwcCI+CkBAIC0xNDc3MCw3ICsxNDc3MCw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oIj4KICAg
ICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCI+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIj4KICAg
ICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4ZWRkYlxJREJEYXRhYmFzZUJhY2tlbmQuaCI+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNjUzZTIyYzFlNTExYjllOWY0ZWQxMmFlMWQzZDBhNjViNjIzMjlmYy4uMWM3Yjc2YzkzN2Y0
ZDdiZjJjNTAwYTA4YWI4YWQ5MmNiN2E3NGExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ1Nyw4ICs1NDU3LDggQEAKIAkJ
Q0QzQTQ5NjQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUIxN0E5RDAxQjAw
Mjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwICovOyB9OwogCQlDRDNBNDk2NTE3QTlEMDFC
MDAyNzRFNDIgLyogU291cmNlQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUMxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1
ZmZlckxpc3QuaCAqLzsgfTsKIAkJQ0QzRTI1MUMxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29y
ZGluYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZENvb3JkaW5hdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDRDNFMjUyMzE4MDQ2QkNEMDBF
MjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dy
aWRUZW1wbGF0ZVZhbHVlLmNwcCAqLzsgfTsKLQkJQ0QzRTI1MjQxODA0NkJDRDAwRTI3RjU2IC8q
IENTU0dyaWRUZW1wbGF0ZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRl
VmFsdWUuaCAqLzsgfTsKKwkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUuY3BwICovOyB9OworCQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUuaCAqLzsgfTsKIAkJQ0Q0N0IzRkMxNkNDMzRGODAwQTIxRUM4IC8qIENETVByaXZhdGVB
VkZvdW5kYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDQ3QjNGQTE2Q0MzNEY4MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5t
bSAqLzsgfTsKIAkJQ0Q0QUM1MkExNDk2QUU5QTAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgaW4g
Q29weSBBdWRpbyBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q0QUM1MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi87IH07CiAJCUNENTM5
M0QzMTc1RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzRDExNzVFMDE4NjAwQzA3MTIzIC8q
IEpTTWVtb3J5SW5mby5jcHAgKi87IH07CkBAIC0xMjY5MCw4ICsxMjY5MCw4IEBACiAJCUNEM0E0
OTVDMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0QzQTQ5NUQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3Qu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZENv
b3JkaW5hdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3JpZENvb3JkaW5h
dGUuaDsgcGF0aCA9IHN0eWxlL0dyaWRDb29yZGluYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUNEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NHcmlkVGVtcGxh
dGVWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEM0UyNTIyMTgwNDZC
Q0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Qz
RTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ3QjNGOTE2Q0MzNEY4MDBBMjFFQzgg
LyogQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNENDdCM0ZBMTZDQzM0RjgwMEEyMUVDOCAvKiBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RNUHJpdmF0ZUFWRm91
bmRhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0QUM1MjgxNDk2QUUy
RjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUgPSBDb21wb3NpdGUud2F2OyBwYXRo
ID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0NvbXBvc2l0ZS53YXY7IHNvdXJjZVRyZWUgPSBT
T1VSQ0VfUk9PVDsgfTsKQEAgLTIxMzA3LDggKzIxMzA3LDggQEAKIAkJRjUyM0QxODQwMkRFNDJF
ODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVl
LmNwcCAqLywKLQkJCQlDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRl
VmFsdWUuaCAqLywKKwkJCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZS5jcHAgKi8sCisJCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLywKIAkJCQk5M0NBNEM5QzA5REY5M0ZBMDBERjg2
NzcgLyogbWFrZXRva2VuaXplciAqLywKIAkJCQlGQkQ2QUY4NDE1RUYyMUQ0MDA4QjcxMTAgLyog
QmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJRkJENkFGODUxNUVGMjFENDAwOEI3MTEw
IC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCAqLywKQEAgLTI1OTY2LDcgKzI1OTY2LDcgQEAKIAkJ
CQlCRTE2QzU5NTE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcxMDA1RTI2MjYgLyogUmVuZGVyQmxvY2tG
bG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdGNTYgLyogR3Jp
ZENvb3JkaW5hdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEM0UyNTI0MTgwNDZCQ0QwMEUyN0Y1
NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRTI1MjQx
ODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3RoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREU3RkM0NTE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8qIFRyYWNrUHJp
dmF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjkxNDEsNyArMjkxNDEsNyBAQAogCQkJCUJF
MTZDNTkyMTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRHZW5lcmljVGV4dFRyYWNrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRXZWJWVFRU
ZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMEQ3NjcxN0Q4RUU2RTAwNUUyNjI2
IC8qIFJlbmRlckJsb2NrRmxvdy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDNFMjUyMzE4MDQ2
QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFN0ZDNDQxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVy
SXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDRkYzM1Y2ZlOTljMzMzZDViMjdmMWNjODcx
MTM5MmI5ZWJiMDQwOWMuLjY0OTgzMzEwZmExZjM0NzMxYTMzMDA0NTUxZjZlODhjM2JkOTdiYmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUu
aCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0dyaWRU
ZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFpblZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIK
QEAgLTIwNzUsMTMgKzIwNzUsMTMgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHls
ZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6CiAgICAgICAgICAgICByZXR1cm4gZ2V0Q1NT
UHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtpdEdyaWRSb3dTaG9ydGhhbmQoKSk7
CiAKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZToKKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzOgogICAgICAgICAgICAgaWYg
KCFzdHlsZS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCkpIHsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIXN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUp
OwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlVmFs
dWU6OmNyZWF0ZShzdHlsZS0+bmFtZWRHcmlkQXJlYSgpLCBzdHlsZS0+bmFtZWRHcmlkQXJlYVJv
d0NvdW50KCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CisgICAgICAgICAg
ICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5uYW1lZEdy
aWRBcmVhKCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhUm93Q291bnQoKSwgc3R5bGUtPm5hbWVkR3Jp
ZEFyZWFDb2x1bW5Db3VudCgpKTsKIAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0Ogog
ICAgICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI2NzVkYTI1YTFmMDg3NTE2
NDMxZjRlNDM1MjIwYjE2ZDlmNTkwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcApAQCAtMCwwICsxLDg2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgorCisjaW5jbHVkZSAiR3JpZENvb3JkaW5h
dGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Q1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZShjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvd0Nv
dW50LCBzaXplX3QgY29sdW1uQ291bnQpCisgICAgOiBDU1NWYWx1ZShHcmlkVGVtcGxhdGVBcmVh
c0NsYXNzKQorICAgICwgbV9ncmlkQXJlYU1hcChncmlkQXJlYU1hcCkKKyAgICAsIG1fcm93Q291
bnQocm93Q291bnQpCisgICAgLCBtX2NvbHVtbkNvdW50KGNvbHVtbkNvdW50KQoreworICAgIEFT
U0VSVChtX3Jvd0NvdW50KTsKKyAgICBBU1NFUlQobV9jb2x1bW5Db3VudCk7Cit9CisKK3N0YXRp
YyBTdHJpbmcgc3RyaW5nRm9yUG9zaXRpb24oY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFy
ZWFNYXAsIHNpemVfdCByb3csIHNpemVfdCBjb2x1bW4pCit7CisgICAgVmVjdG9yPFN0cmluZz4g
Y2FuZGlkYXRlczsKKworICAgIGZvciAoYXV0byBpdCA9IGdyaWRBcmVhTWFwLmJlZ2luKCksIGVu
ZCA9IGdyaWRBcmVhTWFwLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgY29uc3Qg
R3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBpdC0+dmFsdWU7CisgICAgICAgIGlmIChyb3cg
Pj0gY29vcmRpbmF0ZS5yb3dzLmluaXRpYWxQb3NpdGlvbkluZGV4ICYmIHJvdyA8PSBjb29yZGlu
YXRlLnJvd3MuZmluYWxQb3NpdGlvbkluZGV4KQorICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBl
bmQoaXQtPmtleSk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFyZWFNYXAuYmVn
aW4oKSwgZW5kID0gZ3JpZEFyZWFNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAg
ICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsKKyAgICAgICAg
aWYgKGNvbHVtbiA+PSBjb29yZGluYXRlLmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYg
Y29sdW1uIDw9IGNvb3JkaW5hdGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5kZXggJiYgY2FuZGlk
YXRlcy5jb250YWlucyhpdC0+a2V5KSkKKyAgICAgICAgICAgIHJldHVybiBpdC0+a2V5OworICAg
IH0KKworICAgIHJldHVybiAiLiI7Cit9CisKK1N0cmluZyBDU1NHcmlkVGVtcGxhdGVBcmVhc1Zh
bHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7
CisgICAgZm9yIChzaXplX3Qgcm93ID0gMDsgcm93IDwgbV9yb3dDb3VudDsgKytyb3cpIHsKKyAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7CisgICAgICAgIGZvciAoc2l6ZV90IGNvbHVtbiA9
IDA7IGNvbHVtbiA8IG1fY29sdW1uQ291bnQ7ICsrY29sdW1uKSB7CisgICAgICAgICAgICBidWls
ZGVyLmFwcGVuZChzdHJpbmdGb3JQb3NpdGlvbihtX2dyaWRBcmVhTWFwLCByb3csIGNvbHVtbikp
OworICAgICAgICAgICAgaWYgKGNvbHVtbiAhPSBtX2NvbHVtbkNvdW50IC0gMSkKKyAgICAgICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICB9CisgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKCdcIicpOworICAgICAgICBpZiAocm93ICE9IG1fcm93Q291bnQgLSAxKQorICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICB9CisgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc0YjczNTBhOTc0
ZDFlMTM3MDNhZGEyNDEyNDg5YjAwM2ZkZjg3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgKQEAgLTAsMCArMSw2NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NHcmlkVGVtcGxhdGVB
cmVhc1ZhbHVlX2gKKyNkZWZpbmUgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZV9oCisKKyNpbmNs
dWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSA6IHB1YmxpYyBD
U1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWY8Q1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZT4gY3JlYXRlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXpl
X3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoZ3JpZEFyZWFNYXAsIHJvd0Nv
dW50LCBjb2x1bW5Db3VudCkpOworICAgIH0KKworICAgIH5DU1NHcmlkVGVtcGxhdGVBcmVhc1Zh
bHVlKCkgeyB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgY29u
c3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAoKSBjb25zdCB7IHJldHVybiBtX2dyaWRB
cmVhTWFwOyB9CisgICAgc2l6ZV90IHJvd0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9yb3dDb3Vu
dDsgfQorICAgIHNpemVfdCBjb2x1bW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29sdW1uQ291
bnQ7IH0KKworcHJpdmF0ZToKKyAgICBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKGNvbnN0IE5h
bWVkR3JpZEFyZWFNYXAmLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCk7CisK
KyAgICBOYW1lZEdyaWRBcmVhTWFwIG1fZ3JpZEFyZWFNYXA7CisgICAgc2l6ZV90IG1fcm93Q291
bnQ7CisgICAgc2l6ZV90IG1fY29sdW1uQ291bnQ7Cit9OworCitDU1NfVkFMVUVfVFlQRV9DQVNU
UyhDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoKSkK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRl
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZhOGVmNTIzY2VkZjYxMGE1NTE5MzI1YWEw
NDE4YmNmNzE1YmMzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsODYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBT
LkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiCi0K
LSNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1DU1NHcmlkVGVtcGxhdGVWYWx1ZTo6
Q1NTR3JpZFRlbXBsYXRlVmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAs
IHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNvbHVtbkNvdW50KQotICAgIDogQ1NTVmFsdWUoR3Jp
ZFRlbXBsYXRlQ2xhc3MpCi0gICAgLCBtX2dyaWRBcmVhTWFwKGdyaWRBcmVhTWFwKQotICAgICwg
bV9yb3dDb3VudChyb3dDb3VudCkKLSAgICAsIG1fY29sdW1uQ291bnQoY29sdW1uQ291bnQpCi17
Ci0gICAgQVNTRVJUKG1fcm93Q291bnQpOwotICAgIEFTU0VSVChtX2NvbHVtbkNvdW50KTsKLX0K
LQotc3RhdGljIFN0cmluZyBzdHJpbmdGb3JQb3NpdGlvbihjb25zdCBOYW1lZEdyaWRBcmVhTWFw
JiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvdywgc2l6ZV90IGNvbHVtbikKLXsKLSAgICBWZWN0b3I8
U3RyaW5nPiBjYW5kaWRhdGVzOwotCi0gICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFyZWFNYXAuYmVn
aW4oKSwgZW5kID0gZ3JpZEFyZWFNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsKLSAgICAgICAg
aWYgKHJvdyA+PSBjb29yZGluYXRlLnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYgcm93IDw9
IGNvb3JkaW5hdGUucm93cy5maW5hbFBvc2l0aW9uSW5kZXgpCi0gICAgICAgICAgICBjYW5kaWRh
dGVzLmFwcGVuZChpdC0+a2V5KTsKLSAgICB9Ci0KLSAgICBmb3IgKGF1dG8gaXQgPSBncmlkQXJl
YU1hcC5iZWdpbigpLCBlbmQgPSBncmlkQXJlYU1hcC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gaXQtPnZhbHVlOwot
ICAgICAgICBpZiAoY29sdW1uID49IGNvb3JkaW5hdGUuY29sdW1ucy5pbml0aWFsUG9zaXRpb25J
bmRleCAmJiBjb2x1bW4gPD0gY29vcmRpbmF0ZS5jb2x1bW5zLmZpbmFsUG9zaXRpb25JbmRleCAm
JiBjYW5kaWRhdGVzLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgcmV0dXJuIGl0LT5r
ZXk7Ci0gICAgfQotCi0gICAgcmV0dXJuICIuIjsKLX0KLQotU3RyaW5nIENTU0dyaWRUZW1wbGF0
ZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKLXsKLSAgICBTdHJpbmdCdWlsZGVyIGJ1aWxk
ZXI7Ci0gICAgZm9yIChzaXplX3Qgcm93ID0gMDsgcm93IDwgbV9yb3dDb3VudDsgKytyb3cpIHsK
LSAgICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGNvbHVt
biA9IDA7IGNvbHVtbiA8IG1fY29sdW1uQ291bnQ7ICsrY29sdW1uKSB7Ci0gICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZChzdHJpbmdGb3JQb3NpdGlvbihtX2dyaWRBcmVhTWFwLCByb3csIGNvbHVt
bikpOwotICAgICAgICAgICAgaWYgKGNvbHVtbiAhPSBtX2NvbHVtbkNvdW50IC0gMSkKLSAgICAg
ICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICB9Ci0gICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCdcIicpOwotICAgICAgICBpZiAocm93ICE9IG1fcm93Q291bnQgLSAxKQotICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICB9Ci0gICAgcmV0dXJuIGJ1aWxkZXIu
dG9TdHJpbmcoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZWZhZTAxYzQ4NTZmNzM0YjI5NzNkOWJhMTI2OGE0OTc2NGE3Nzc4NC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ1NTR3JpZFRlbXBsYXRlVmFsdWVfaAot
I2RlZmluZSBDU1NHcmlkVGVtcGxhdGVWYWx1ZV9oCi0KLSNpbmNsdWRlICJDU1NWYWx1ZS5oIgot
I2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgQ1NTR3JpZFRlbXBsYXRlVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewotcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmPENTU0dyaWRUZW1wbGF0ZVZhbHVlPiBjcmVhdGUoY29uc3QgTmFtZWRH
cmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNvbHVtbkNv
dW50KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTR3JpZFRlbXBsYXRl
VmFsdWUoZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpOwotICAgIH0KLQotICAg
IH5DU1NHcmlkVGVtcGxhdGVWYWx1ZSgpIHsgfQotCi0gICAgU3RyaW5nIGN1c3RvbUNTU1RleHQo
KSBjb25zdDsKLQotICAgIGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwKCkgY29u
c3QgeyByZXR1cm4gbV9ncmlkQXJlYU1hcDsgfQotICAgIHNpemVfdCByb3dDb3VudCgpIGNvbnN0
IHsgcmV0dXJuIG1fcm93Q291bnQ7IH0KLSAgICBzaXplX3QgY29sdW1uQ291bnQoKSBjb25zdCB7
IHJldHVybiBtX2NvbHVtbkNvdW50OyB9Ci0KLXByaXZhdGU6Ci0gICAgQ1NTR3JpZFRlbXBsYXRl
VmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNv
bHVtbkNvdW50KTsKLQotICAgIE5hbWVkR3JpZEFyZWFNYXAgbV9ncmlkQXJlYU1hcDsKLSAgICBz
aXplX3QgbV9yb3dDb3VudDsKLSAgICBzaXplX3QgbV9jb2x1bW5Db3VudDsKLX07Ci0KLUNTU19W
QUxVRV9UWVBFX0NBU1RTKENTU0dyaWRUZW1wbGF0ZVZhbHVlLCBpc0dyaWRUZW1wbGF0ZVZhbHVl
KCkpCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENTU0dyaWRUZW1wbGF0
ZVZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMzlhYTAzMzYwMWY1Njg1Mzc0
NTQ2YzUyNGRmMTY2MmU1Y2VmMWU5NC4uMzc3YTZjYjAwODJiY2QyZDg1Nzk2OGUzMWIxODQ1NTYx
ZWU3NzVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKICNp
bmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGdW5jdGlvblZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZVZh
bHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbmhlcml0ZWRWYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgpAQCAtMjU5NywxMSArMjU5NywxMSBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHJldHVybiBwYXJzZUdyaWRBcmVhU2hv
cnRoYW5kKGltcG9ydGFudCk7CiAKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBs
YXRlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVhczoKICAgICAg
ICAgaWYgKCFjc3NHcmlkTGF5b3V0RW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VHcmlkVGVtcGxhdGUoKTsKKyAgICAgICAg
cGFyc2VkVmFsdWUgPSBwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCk7CiAgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcmdpbkNvbGxhcHNlOiB7CkBAIC01MTM1LDcg
KzUxMzUsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VEYXNoYm9hcmRSZWdpb25zKENTU1Byb3Bl
cnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIAogI2VuZGlmIC8qIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkgKi8KIAotUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUdy
aWRUZW1wbGF0ZSgpCitQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlR3JpZFRl
bXBsYXRlQXJlYXMoKQogewogICAgIE5hbWVkR3JpZEFyZWFNYXAgZ3JpZEFyZWFNYXA7CiAgICAg
c2l6ZV90IHJvd0NvdW50ID0gMDsKQEAgLTUyMDcsNyArNTIwNyw3IEBAIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGUoKQogICAgIGlmICghcm93Q291bnQg
fHwgIWNvbHVtbkNvdW50KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBDU1NHcmlk
VGVtcGxhdGVWYWx1ZTo6Y3JlYXRlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQp
OworICAgIHJldHVybiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjcmVhdGUoZ3JpZEFyZWFN
YXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCk7CiB9CiAKIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U1BhcnNlcjo6cGFyc2VDb3VudGVyQ29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MsIGJv
b2wgY291bnRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMmM2ZWY1OGFkYzYxYTE3N2Rm
Yjg2MDcyN2Q1MDEwN2JjMDBjN2Y4Ny4uNzc5NGZlY2MyYTAyZDVhMWM2ODg1NDE0MTY2MjU1YTgz
ZWUyN2FmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTYxLDcgKzE2MSw3IEBAIHB1Ymxp
YzoKICAgICBib29sIHBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0Jik7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVHJhY2tTaXplKENTU1BhcnNlclZh
bHVlTGlzdCYgaW5wdXRMaXN0KTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBw
YXJzZUdyaWRCcmVhZHRoKENTU1BhcnNlclZhbHVlKik7Ci0gICAgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gcGFyc2VHcmlkVGVtcGxhdGUoKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUdy
aWRUZW1wbGF0ZUFyZWFzKCk7CiAgICAgdm9pZCBwYXJzZUdyaWRUcmFja05hbWVzKENTU1BhcnNl
clZhbHVlTGlzdCYgaW5wdXRMaXN0LCBDU1NWYWx1ZUxpc3QmIHZhbHVlcyk7CiAKICAgICBib29s
IHBhcnNlRGFzaGJvYXJkUmVnaW9ucyhDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDQwY2JjMDg0NzcwMDBkMzdj
NjI2Zjk4MzAwNTg2YjIwNTZjZTUyMWMuLjM5M2M0ZmZiZGZjNjc2MThiMDA0M2Q1ZTdjMTAzM2M2
NDhmYzg3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zMTAs
NyArMzEwLDcgQEAgei1pbmRleAogLXdlYmtpdC1ncmlkLXJvdy1zdGFydAogLXdlYmtpdC1ncmlk
LWNvbHVtbgogLXdlYmtpdC1ncmlkLXJvdwotLXdlYmtpdC1ncmlkLXRlbXBsYXRlCistd2Via2l0
LWdyaWQtdGVtcGxhdGUtYXJlYXMKIC13ZWJraXQtZ3JpZC1hdXRvLWZsb3cKIC13ZWJraXQtaGln
aGxpZ2h0IFtJbmhlcml0ZWRdCiAtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIgW0luaGVyaXRl
ZF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDgyZTFjNjgyZDY1MjJiNTBiZTU1YmYyODVl
M2VlMzQ3OTcwOWIxZjAuLjZmMjA2MzRmYmIwMmY1NzY4NTk4NzhmNjE5NGJhNmYyZTQxYWE0NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtNDAsNyArNDAsNyBAQAogI2luY2x1ZGUgIkNT
U0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NHcmFkaWVudFZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIKKyNp
bmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VT
ZXRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbmhl
cml0ZWRWYWx1ZS5oIgpAQCAtMTg5LDggKzE4OSw4IEBAIGJvb2wgQ1NTVmFsdWU6OmVxdWFscyhj
b25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNT
U1ZhbHVlczxDU1NJbmhlcml0ZWRWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBJ
bml0aWFsQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NJbml0
aWFsVmFsdWU+KCp0aGlzLCBvdGhlcik7Ci0gICAgICAgIGNhc2UgR3JpZFRlbXBsYXRlQ2xhc3M6
Ci0gICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NHcmlkVGVtcGxhdGVWYWx1
ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOgor
ICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTR3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBQcmltaXRpdmVDbGFzczoKICAgICAg
ICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU1ByaW1pdGl2ZVZhbHVlPigqdGhpcywg
b3RoZXIpOwogICAgICAgICBjYXNlIFJlZmxlY3RDbGFzczoKQEAgLTI3NSw4ICsyNzUsOCBAQCBT
dHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gdG9DU1NJbmhl
cml0ZWRWYWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgSW5pdGlhbENsYXNz
OgogICAgICAgICByZXR1cm4gdG9DU1NJbml0aWFsVmFsdWUodGhpcyktPmN1c3RvbUNTU1RleHQo
KTsKLSAgICBjYXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICByZXR1cm4gdG9DU1NHcmlk
VGVtcGxhdGVWYWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2UgR3JpZFRlbXBs
YXRlQXJlYXNDbGFzczoKKyAgICAgICAgcmV0dXJuIHRvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1
ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgUHJpbWl0aXZlQ2xhc3M6CiAgICAg
ICAgIHJldHVybiB0b0NTU1ByaW1pdGl2ZVZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAg
ICAgY2FzZSBSZWZsZWN0Q2xhc3M6CkBAIC0zNjYsOCArMzY2LDggQEAgdm9pZCBDU1NWYWx1ZTo6
ZGVzdHJveSgpCiAgICAgY2FzZSBJbml0aWFsQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSB0b0NTU0lu
aXRpYWxWYWx1ZSh0aGlzKTsKICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgR3JpZFRlbXBsYXRl
Q2xhc3M6Ci0gICAgICAgIGRlbGV0ZSB0b0NTU0dyaWRUZW1wbGF0ZVZhbHVlKHRoaXMpOworICAg
IGNhc2UgR3JpZFRlbXBsYXRlQXJlYXNDbGFzczoKKyAgICAgICAgZGVsZXRlIHRvQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZSh0aGlzKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgUHJpbWl0
aXZlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSB0b0NTU1ByaW1pdGl2ZVZhbHVlKHRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuaAppbmRleCAzZDQ2ZjZkNjY1YTljOGI5NTdiZDUzNWJkZjJlN2FlOTA1Y2Q1
NDE1Li5jMDI0ZGFiMWFmZWRhMDVmZTJjNjJlZjkyZmY5ZDdlNmIyNGMzNDYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZpbHRlcklt
YWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGaWx0ZXJJbWFnZUNsYXNz
OyB9CiAgICAgYm9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9j
bGFzc1R5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KICNlbmRpZiAvLyBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCi0gICAgYm9vbCBpc0dyaWRUZW1wbGF0ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gR3JpZFRlbXBsYXRlQ2xhc3M7IH0KKyAgICBib29sIGlzR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEdyaWRUZW1wbGF0
ZUFyZWFzQ2xhc3M7IH0KICAgICBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBTVkdDb2xvckNsYXNzIHx8IG1fY2xhc3NUeXBlID09IFNWR1BhaW50Q2xhc3M7
IH0KICAgICBib29sIGlzU1ZHUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBT
VkdQYWludENsYXNzOyB9CiAgICAgYm9vbCBpc1VuaWNvZGVSYW5nZVZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gVW5pY29kZVJhbmdlQ2xhc3M7IH0KQEAgLTE1Nyw3ICsxNTcs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFVuaWNvZGVSYW5nZUNsYXNzLAogICAgICAgICBMaW5l
Qm94Q29udGFpbkNsYXNzLAogICAgICAgICBDYWxjdWxhdGlvbkNsYXNzLAotICAgICAgICBHcmlk
VGVtcGxhdGVDbGFzcywKKyAgICAgICAgR3JpZFRlbXBsYXRlQXJlYXNDbGFzcywKICAgICAgICAg
U1ZHQ29sb3JDbGFzcywKICAgICAgICAgU1ZHUGFpbnRDbGFzcywKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDI1ZDAxNDBmYTBjMTY5YmJhMTVhMmM1NWZmZTMxZmE0MzEw
Y2VlNzEuLmRkOGYyZGRjZjYzNzhmZGE3MmZlNzU3ODIzZGZmYWViZWU2Y2YyZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKICNpbmNsdWRlICJD
U1NGb250U2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJD
U1NGdW5jdGlvblZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIKKyNp
bmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJv
eENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
UGFyc2VyLmgiCkBAIC0yNzMxLDcgKzI3MzEsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5
UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICBzdGF0
ZS5zdHlsZSgpLT5zZXRHcmlkSXRlbVJvd0VuZChyb3dFbmRQb3NpdGlvbik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZTogewor
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVhczogewogICAgICAgICBp
ZiAoaXNJbmhlcml0KSB7CiAgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRB
cmVhKHN0YXRlLnBhcmVudFN0eWxlKCktPm5hbWVkR3JpZEFyZWEoKSk7CiAgICAgICAgICAgICBz
dGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoc3RhdGUucGFyZW50U3R5bGUo
KS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCkpOwpAQCAtMjc1MCw3ICsyNzUwLDcgQEAgdm9pZCBT
dHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2
YWx1ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIENTU0dyaWRU
ZW1wbGF0ZVZhbHVlKiBncmlkVGVtcGxhdGVWYWx1ZSA9IHRvQ1NTR3JpZFRlbXBsYXRlVmFsdWUo
dmFsdWUpOworICAgICAgICBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKiBncmlkVGVtcGxhdGVW
YWx1ZSA9IHRvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHN0YXRl
LnN0eWxlKCktPnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRlbXBsYXRlVmFsdWUtPmdyaWRBcmVhTWFw
KCkpOwogICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoZ3Jp
ZFRlbXBsYXRlVmFsdWUtPnJvd0NvdW50KCkpOwogICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRO
YW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoZ3JpZFRlbXBsYXRlVmFsdWUtPmNvbHVtbkNvdW50KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5n
L2Nzcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3Mu
anMKaW5kZXggZDhjMzBjZjMzZDZmZTFiNWI0NTJmMzllNmZhYTBhYWU5YTM2MWFmNC4uNzk5ZWEx
NmE4YzJmMGE2NzlkYjE1NGEzNjExODM4ZDAwMTIwYmIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzCkBAIC0zNzcsNyArMzc3LDcg
QEAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKCJjc3MiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNv
bmZpZykgewogICAgICJmb250LXdlaWdodCIsICJncmlkLWNlbGwiLCAiZ3JpZC1jb2x1bW4iLCAi
Z3JpZC1jb2x1bW4tYWxpZ24iLAogICAgICJncmlkLWNvbHVtbi1zaXppbmciLCAiZ3JpZC1jb2x1
bW4tc3BhbiIsICJncmlkLWNvbHVtbnMiLCAiZ3JpZC1mbG93IiwKICAgICAiZ3JpZC1yb3ciLCAi
Z3JpZC1yb3ctYWxpZ24iLCAiZ3JpZC1yb3ctc2l6aW5nIiwgImdyaWQtcm93LXNwYW4iLAotICAg
ICJncmlkLXJvd3MiLCAiZ3JpZC10ZW1wbGF0ZSIsICJoYW5naW5nLXB1bmN0dWF0aW9uIiwgImhl
aWdodCIsICJoeXBoZW5zIiwKKyAgICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxhdGUtYXJlYXMi
LCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJoZWlnaHQiLCAiaHlwaGVucyIsCiAgICAgImljb24i
LCAiaW1hZ2Utb3JpZW50YXRpb24iLCAiaW1hZ2UtcmVuZGVyaW5nIiwgImltYWdlLXJlc29sdXRp
b24iLAogICAgICJpbmxpbmUtYm94LWFsaWduIiwgImp1c3RpZnktY29udGVudCIsICJsZWZ0Iiwg
ImxldHRlci1zcGFjaW5nIiwKICAgICAibGluZS1icmVhayIsICJsaW5lLWhlaWdodCIsICJsaW5l
LXN0YWNraW5nIiwgImxpbmUtc3RhY2tpbmctcnVieSIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvY3Nz
LmpzCmluZGV4IGQ4YzMwY2YzM2Q2ZmUxYjViNDUyZjM5ZTZmYWEwYWFlOWEzNjFhZjQuLjc5OWVh
MTZhOGMyZjBhNjc5ZGIxNTRhMzYxMTgzOGQwMDEyMGJiMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvY3NzLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJy
b3IvY3NzLmpzCkBAIC0zNzcsNyArMzc3LDcgQEAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKCJjc3Mi
LCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykgewogICAgICJmb250LXdlaWdodCIsICJn
cmlkLWNlbGwiLCAiZ3JpZC1jb2x1bW4iLCAiZ3JpZC1jb2x1bW4tYWxpZ24iLAogICAgICJncmlk
LWNvbHVtbi1zaXppbmciLCAiZ3JpZC1jb2x1bW4tc3BhbiIsICJncmlkLWNvbHVtbnMiLCAiZ3Jp
ZC1mbG93IiwKICAgICAiZ3JpZC1yb3ciLCAiZ3JpZC1yb3ctYWxpZ24iLCAiZ3JpZC1yb3ctc2l6
aW5nIiwgImdyaWQtcm93LXNwYW4iLAotICAgICJncmlkLXJvd3MiLCAiZ3JpZC10ZW1wbGF0ZSIs
ICJoYW5naW5nLXB1bmN0dWF0aW9uIiwgImhlaWdodCIsICJoeXBoZW5zIiwKKyAgICAiZ3JpZC1y
b3dzIiwgImdyaWQtdGVtcGxhdGUtYXJlYXMiLCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJoZWln
aHQiLCAiaHlwaGVucyIsCiAgICAgImljb24iLCAiaW1hZ2Utb3JpZW50YXRpb24iLCAiaW1hZ2Ut
cmVuZGVyaW5nIiwgImltYWdlLXJlc29sdXRpb24iLAogICAgICJpbmxpbmUtYm94LWFsaWduIiwg
Imp1c3RpZnktY29udGVudCIsICJsZWZ0IiwgImxldHRlci1zcGFjaW5nIiwKICAgICAibGluZS1i
cmVhayIsICJsaW5lLWhlaWdodCIsICJsaW5lLXN0YWNraW5nIiwgImxpbmUtc3RhY2tpbmctcnVi
eSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMGI5ZjMzNjhmOWFmYTRlNWI1ZGQyYjcyOGU3NGZjMDA1MWY1ODEzNi4uZGU3
OWYzMzM2Mzc4OTZiMTJlODNiMTFiMWI0MTM1NjAwZTZhY2Q4NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE0LTAyLTA2ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHBy
b3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRl
LWFyZWFzJworICAgICAgICBpbiB0aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisK
KyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0
bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ct
Z2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1l
bmQtYWZ0ZXItZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sOgorICAg
ICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQt
c2V0Lmh0bWw6CisKIDIwMTQtMDItMDYgIEzDoXN6bMOzIExhbmfDsyAgPGxsYW5nby51LXN6ZWdl
ZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAgICAgICAgIENyZWF0ZSBhIEhUTUxVbmtub3duRWxl
bWVudCB3aGVuIHVzaW5nIGNyZWF0ZUVsZW1lbnQoJ2ltYWdlJykKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hcmVhLWdldC1zZXQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hcmVhLWdldC1zZXQu
aHRtbAppbmRleCA4OTI1NzJlM2YxNGUyMzk0NzcwOTdhODcyYzM5OGY0ODk0M2FmOGNjLi42MTEx
YjYzNTRjNDFjOWY2MzkzY2VlNDk1OTI5MmUyNjM5YTQ4NDdhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFyZWEtZ2V0LXNl
dC5odG1sCkBAIC04LDcgKzgsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8bGluayBocmVm
PSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiA8c3R5bGU+CiAuZ3JpZCB7
Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCisgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CiB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4t
cm93LWdldC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
aXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbAppbmRleCA3NTc0NTZkYWUwOWM4MDBmNDNmOWEw
MTQwMzAyZTI0NTk0YzYzYzlkLi5kYTRmY2VkYzI1NGJiYmNhMDZhMjBlOWJlYzQzYzQ5YzRhN2U0
NWNmIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0
ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sCkBAIC04LDcgKzgsNyBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8L3NjcmlwdD4KIDxzdHlsZT4KIC5ncmlkIHsKLSAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsKIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWVuZC1hZnRlci1n
ZXQtc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0t
ZW5kLWFmdGVyLWdldC1zZXQuaHRtbAppbmRleCBkYjg4MzY3Zjg5ZDExODZmMzZjMDI5NzMxYTZm
ODExNTk0M2M4NWQwLi42N2M4Nzk1MzIxODlkZWU3ZDQwN2MwZDgzYzA3NjhhNTA5ZDk3OTM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5k
LWFmdGVyLWdldC1zZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbApAQCAtOCw3ICs4LDcgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0
eWxlc2hlZXQiPgogPHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
ImZpcnN0QXJlYSBzZWNvbmRBcmVhIgorICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczog
ImZpcnN0QXJlYSBzZWNvbmRBcmVhIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJk
QXJlYSB0aGlyZEFyZWEiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEt
cmVzb2x1dGlvbi5odG1sCmluZGV4IDg3ZDQ4ZGM1MjI0MGYzYWIyOGNkMmM4ZTZkM2VhNDg4ZGFh
NjA4MDMuLmM1Zjg4NzVmNzBjZmQ1YTk2ZDY1M2QzMGFkMWUzZWVkOGQ3ODBiZjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlk
LWFyZWEtcmVzb2x1dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sCkBAIC0xMywxMiAr
MTMsMTIgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogfQogCiAuZ3JpZFdpdGhvdXRSZXBlYXQg
ewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0IHNlY29uZCB0aGlyZCIKKyAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCBzZWNvbmQgdGhpcmQiCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZpZnRoIHNpeHRoIjsKIH0KIAogLmdyaWRXaXRo
UmVwZWF0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdCAgc2Vjb25kIHRoaXJk
IgorICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0ICBzZWNvbmQgdGhpcmQi
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZvdXJ0aCB0aGlyZCI7CiB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1z
dGFydC1iZWZvcmUtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwKaW5kZXggZDhmM2NkMGViOGMw
NjcxYzQ4OGYzNDMwZmM5Njg2ZjU4MzRmY2RiZC4uM2M4MzI4NTcwZDU0MGYxNGVmMzUwOGNmOWYy
MzZlZDkxODRhMTkwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwK
QEAgLTgsNyArOCw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIDxsaW5rIGhyZWY9InJlc291
cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDxzdHlsZT4KIC5ncmlkIHsKLSAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKKyAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxh
dGUtZ2V0LXNldC1leHBlY3RlZC50eHQKaW5kZXggNTgwNWI3YTBiOGQzYWUzZTc2NmNiYzJkNzYw
NjNlMDdkMDU3Njk4Yi4uNGJhMGIxMWMzZDRiNmQ0OTNmYjNmMGY0YzIwNzFhZDNkOGU2NWQ5ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0
ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQtZXhwZWN0ZWQudHh0CkBAIC0xLDMwICsxLDMwIEBA
Ci1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10ZW1wbGF0ZSBpcyBwcm9wZXJseSBwYXJzZWQu
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBpcyBwcm9wZXJseSBw
YXJzZWQuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1UZXN0IGdldHRpbmcgZ3Jp
ZC10ZW1wbGF0ZSBzZXQgdGhyb3VnaCBDU1MuCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdp
dGhEZWZhdWx0VGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoU2luZ2xlU3RyaW5n
VGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJc
ImFyZWFcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0
ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZmlyc3Qg
c2Vjb25kXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImZpcnN0XCIg
XCJzZWNvbmRcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNwYW5uaW5nQ29sdW1u
c1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAi
XCJzcGFuIHNwYW5cIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNwYW5uaW5nUm93
c0RvdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBp
cyAiXCJzcGFuXCIgXCIuXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhEb3RDb2x1
bW4pLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImhlYWRl
ciAuXCIgXCJmb290ZXIgLlwiIgotVGVzdCBncmlkLXRlbXBsYXRlOiBpbml0aWFsCi1QQVNTIGdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlJykgaXMgIlwiZm9vYmFyXCIiCi1UZXN0IGdyaWQtdGVtcGxhdGU6IGluaGVyaXQKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJmb28gYmFyXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMg
IlwiZm9vIGJhclwiIgotVGVzdCBpbnZhbGlkIGdyaWQtdGVtcGxhdGUgdmFsdWVzLgotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZScpIGlzICJub25lIgorVGVzdCBnZXR0aW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgc2V0IHRocm91
Z2ggQ1NTLgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRGVmYXVsdFRlbXBsYXRlKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNpbmdsZVN0cmluZ1RlbXBsYXRlKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJhcmVhXCIi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhUd29Db2x1bW5zVGVtcGxhdGUpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZpcnN0IHNl
Y29uZFwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoVHdvUm93c1RlbXBsYXRlKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJmaXJz
dFwiIFwic2Vjb25kXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTcGFubmluZ0Nv
bHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFy
ZWFzJykgaXMgIlwic3BhbiBzcGFuXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhT
cGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWFyZWFzJykgaXMgIlwic3BhblwiIFwiLlwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGdyaWRXaXRoRG90Q29sdW1uKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAiXCJoZWFkZXIgLlwiIFwiZm9vdGVyIC5cIiIKK1Rlc3QgZ3JpZC10ZW1w
bGF0ZS1hcmVhczogaW5pdGlhbAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZvb2Jhclwi
IgorVGVzdCBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbmhlcml0CitQQVNTIGdldENvbXB1dGVkU3R5
bGUocGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWFyZWFzJykgaXMgIlwiZm9vIGJhclwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZv
byBiYXJcIiIKK1Rlc3QgaW52YWxpZCBncmlkLXRlbXBsYXRlLWFyZWFzIHZhbHVlcy4KK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9u
ZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKIAogRklYTUU6IFdl
IGN1cnJlbnRseSBkb24ndCB2YWxpZGF0ZSB0aGF0IHRoZSBuYW1lZCBncmlkIGFyZWFzIGFyZSA8
aW5kZW50Pi4KLUZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBzaG91bGQgYmUgbm9uZS4gV2FzICJuYXYtdXAiLgor
RkFJTCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIHNob3VsZCBiZSBub25lLiBXYXMgIm5hdi11cCIuCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQt
c2V0Lmh0bWwKaW5kZXggNmQ0MmQzZDRjMTY4MDE1NGRhNWNlZDY1NWI1ZjQxMjg2MTVjMmIxYy4u
NGUwODAyMjlhZjI4YTQxZDgyODQ4NzZkOWEyZGVlMDY0ZTg4MjE3NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQt
c2V0Lmh0bWwKQEAgLTgsMjkgKzgsMjkgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGxpbmsg
aHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogPHN0eWxlPgogI2dy
aWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
ImFyZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImFyZWEiOwogfQogCiAj
Z3JpZFdpdGhUd29Db2x1bW5zVGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
ImZpcnN0IHNlY29uZCI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3Qg
c2Vjb25kIjsKIH0KIAogI2dyaWRXaXRoVHdvUm93c1RlbXBsYXRlIHsKLSAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGU6ICJmaXJzdCIKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJm
aXJzdCIKICAgICAgICAgICAgICAgICAgICAic2Vjb25kIjsKIH0KIAogI2dyaWRXaXRoU3Bhbm5p
bmdDb2x1bW5zVGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogInNwYW4gc3Bh
biI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAic3BhbiBzcGFuIjsKIH0KIAog
I2dyaWRXaXRoU3Bhbm5pbmdSb3dzRG90VGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZTogInNwYW4iCisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAic3BhbiIKICAg
ICAgICAgICAgICAgICAgICAiLiI7CiB9CiAKICNncmlkV2l0aERvdENvbHVtbiB7Ci0gICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlOiAiaGVhZGVyIC4iCisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWFyZWFzOiAiaGVhZGVyIC4iCiAgICAgICAgICAgICAgICAgICAgImZvb3RlciAuIjsKIH0KIDwv
c3R5bGU+CkBAIC00NSw3NSArNDUsNzUgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGRpdiBj
bGFzcz0iZ3JpZCIgaWQ9ImdyaWRXaXRoU3Bhbm5pbmdSb3dzRG90VGVtcGxhdGUiPjwvZGl2Pgog
PGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRXaXRoRG90Q29sdW1uIj48L2Rpdj4KIDxzY3JpcHQ+
Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBncmlkLXRlbXBsYXRlIGlz
IHByb3Blcmx5IHBhcnNlZC4iKTsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGdyaWQtdGVtcGxhdGUtYXJlYXMgaXMgcHJvcGVybHkgcGFyc2VkLiIpOwogCi0gICAgZnVu
Y3Rpb24gdGVzdEdyaWRUZW1wbGF0ZShncmlkSXRlbUlELCBleHBlY3RlZFJlc3VsdCkgewotICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUoIiArIGdyaWRJdGVt
SUQgKyAiKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSIsIGV4cGVj
dGVkUmVzdWx0KTsKKyAgICBmdW5jdGlvbiB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoZ3JpZEl0ZW1J
RCwgZXhwZWN0ZWRSZXN1bHQpIHsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRD
b21wdXRlZFN0eWxlKCIgKyBncmlkSXRlbUlEICsgIikuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWFyZWFzJykiLCBleHBlY3RlZFJlc3VsdCk7CiAgICAgfQogCi0gICAg
ZnVuY3Rpb24gdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsIGV4cGVjdGVkUmVzdWx0KSB7Cisg
ICAgZnVuY3Rpb24gdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgZXhwZWN0ZWRSZXN1
bHQpIHsKICAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIiwgZXhwZWN0ZWRSZXN1bHQpOworICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykiLCBleHBlY3RlZFJlc3VsdCk7CiAg
ICAgfQogCi0gICAgZGVidWcoIlRlc3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlIHNldCB0aHJvdWdo
IENTUy4iKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aERlZmF1bHRUZW1wbGF0ZSIs
ICJub25lIik7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhTaW5nbGVTdHJpbmdUZW1w
bGF0ZSIsICciYXJlYSInKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aFR3b0NvbHVt
bnNUZW1wbGF0ZSIsICciZmlyc3Qgc2Vjb25kIicpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdy
aWRXaXRoVHdvUm93c1RlbXBsYXRlIiwgJyJmaXJzdCIgInNlY29uZCInKTsKLSAgICB0ZXN0R3Jp
ZFRlbXBsYXRlKCJncmlkV2l0aFNwYW5uaW5nQ29sdW1uc1RlbXBsYXRlIiwgJyJzcGFuIHNwYW4i
Jyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0
ZSIsICcic3BhbiIgIi4iJyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhEb3RDb2x1
bW4iLCAnImhlYWRlciAuIiAiZm9vdGVyIC4iJyk7CisgICAgZGVidWcoIlRlc3QgZ2V0dGluZyBn
cmlkLXRlbXBsYXRlLWFyZWFzIHNldCB0aHJvdWdoIENTUy4iKTsKKyAgICB0ZXN0R3JpZFRlbXBs
YXRlQXJlYXMoImdyaWRXaXRoRGVmYXVsdFRlbXBsYXRlIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3Jp
ZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUiLCAnImFyZWEiJyk7
CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSIs
ICciZmlyc3Qgc2Vjb25kIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhU
d29Sb3dzVGVtcGxhdGUiLCAnImZpcnN0IiAic2Vjb25kIicpOworICAgIHRlc3RHcmlkVGVtcGxh
dGVBcmVhcygiZ3JpZFdpdGhTcGFubmluZ0NvbHVtbnNUZW1wbGF0ZSIsICcic3BhbiBzcGFuIicp
OworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1w
bGF0ZSIsICcic3BhbiIgIi4iJyk7CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0
aERvdENvbHVtbiIsICciaGVhZGVyIC4iICJmb290ZXIgLiInKTsKIAotICAgIGRlYnVnKCJUZXN0
IGdyaWQtdGVtcGxhdGU6IGluaXRpYWwiKTsKKyAgICBkZWJ1ZygiVGVzdCBncmlkLXRlbXBsYXRl
LWFyZWFzOiBpbml0aWFsIik7CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAg
IGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIidmb29iYXInIjsKLSAgICB0ZXN0
SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgJyJmb29iYXIiJyk7Ci0gICAgZWxlbWVudC5zdHlsZS53
ZWJraXRHcmlkVGVtcGxhdGUgPSAiaW5pdGlhbCI7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRH
cmlkVGVtcGxhdGVBcmVhcyA9ICInZm9vYmFyJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJl
YXMoZWxlbWVudCwgJyJmb29iYXIiJyk7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVt
cGxhdGVBcmVhcyA9ICJpbml0aWFsIjsKICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVs
ZW1lbnQpOwogCi0gICAgZGVidWcoIlRlc3QgZ3JpZC10ZW1wbGF0ZTogaW5oZXJpdCIpOworICAg
IGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGUtYXJlYXM6IGluaGVyaXQiKTsKICAgICB2YXIgcGFy
ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50RWxlbWVudCk7Ci0gICAgcGFyZW50RWxlbWVudC5zdHls
ZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ2ZvbyBiYXInIjsKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlJykiLCAnImZvbyBiYXIiJyk7CisgICAgcGFyZW50RWxlbWVu
dC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInZm9vIGJhciciOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50KS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSIsICciZm9vIGJhciInKTsK
IAogICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAg
cGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBlbGVtZW50LnN0eWxlLndl
YmtpdEdyaWRUZW1wbGF0ZSA9ICJpbmhlcml0IjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxl
bWVudCwgJyJmb28gYmFyIicpOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
QXJlYXMgPSAiaW5oZXJpdCI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwg
JyJmb28gYmFyIicpOwogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocGFyZW50RWxlbWVu
dCk7CiAKLSAgICBkZWJ1ZygiVGVzdCBpbnZhbGlkIGdyaWQtdGVtcGxhdGUgdmFsdWVzLiIpOwor
ICAgIGRlYnVnKCJUZXN0IGludmFsaWQgZ3JpZC10ZW1wbGF0ZS1hcmVhcyB2YWx1ZXMuIik7CiAg
ICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogCiAgICAgLy8gJ25hdicgaXMgbm90IGEg
cmVjdGFuZ3VsYXIgZGVmaW5pdGlvbi4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1w
bGF0ZSA9ICInbmF2IGhlYWQnICduYXYgbmF2JyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVs
ZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVh
cyA9ICInbmF2IGhlYWQnICduYXYgbmF2JyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMo
ZWxlbWVudCwgIm5vbmUiKTsKIAogICAgIC8vICduYXYnIGlzIG5vdCBjb250aWd1b3VzIGluIHRo
ZSBjb2x1bW4gZGlyZWN0aW9uLgotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
ID0gIiduYXYgaGVhZCBuYXYnIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5v
bmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYg
aGVhZCBuYXYnIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIp
OwogCiAgICAgLy8gJ25hdicgaXMgbm90IGNvbnRpZ3VvdXMgaW4gdGhlIHJvdyBkaXJlY3Rpb24u
Ci0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkJyAnbWlk
ZGxlIG1pZGRsZScgJ25hdiBmb290ZXInIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVu
dCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0g
IiduYXYgaGVhZCcgJ21pZGRsZSBtaWRkbGUnICduYXYgZm9vdGVyJyI7CisgICAgdGVzdEpTR3Jp
ZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIAogICAgIC8vIFRoZSByb3dzIGRvbid0
IGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIGNvbHVtbnMuCi0gICAgZWxlbWVudC5zdHlsZS53ZWJr
aXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkJyAnZm9vdCciOwotICAgIHRlc3RKU0dyaWRUZW1w
bGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBs
YXRlQXJlYXMgPSAiJ25hdiBoZWFkJyAnZm9vdCciOworICAgIHRlc3RKU0dyaWRUZW1wbGF0ZUFy
ZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICAvLyBFbXB0eSByb3dzLgotICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIicnICcnIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxh
dGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0
ZUFyZWFzID0gIicnICcnIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAi
bm9uZSIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJGSVhNRTogV2UgY3VycmVudGx5
IGRvbid0IHZhbGlkYXRlIHRoYXQgdGhlIG5hbWVkIGdyaWQgYXJlYXMgYXJlICZsdDtpbmRlbnQm
Z3Q7LiIpOwogICAgIC8vIDxpZGVudD4gb25seSBhbGxvd3MgYSBsZWFkaW5nICctJy4KLSAgICBl
bGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInbmF2LXVwJyI7Ci0gICAgdGVzdEpT
R3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRH
cmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2LXVwJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJl
YXMoZWxlbWVudCwgIm5vbmUiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223453</attachid>
            <date>2014-02-07 06:53:37 -0800</date>
            <delta_ts>2014-02-10 12:37:17 -0800</delta_ts>
            <desc>Patch rebased and added suggested changes.</desc>
            <filename>bug-127990-20140207155335.patch</filename>
            <type>text/plain</type>
            <size>53426</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYzYzU5MDE3ODJiYTcy
NTYyYmQ4NWFlNmU1NDhlYTJiNTg3ODdiNi4uYWMwMzBjN2FiMmFlNDU5MjhjMjZmN2ZiNDQ4MzRj
ZjcyMGIzMjUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAyLTA3ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdv
QGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMg
YmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJworICAgICAgICBpbiB0aGUgbGFz
dCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUpOgorICAg
ICAgICAqIGNzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZ0ZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAq
IGNzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlOjp+Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpncmlkQXJlYU1hcCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpyb3dDb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjb2x1bW5Db3VudCk6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1w
bGF0ZUFyZWFzKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisKIDIwMTQtMDIt
MDcgIExhc3psbyBWaWRhY3MgIDxsdmlkYWNzLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgUmVuYW1pbmcgaXNUYWJsZUVsZW1lbnQoKSB0byBpc1JlbmRlcmVkVGFibGUo
KSBhcyBwZXIgdGhlIEZJWE1FIGNvbW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDEy
OTM2NjczYmI2Nzc1YWM2OGYzMzM4YTExZGQwNzIyMzc3MmU2NjEuLjdkOTY5YzUzODAxZmYxZWNm
NzFmMGQzYzcwZWI1NmQzZjRiODUyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDE0LTAyLTA3ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBw
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHBy
b3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRl
LWFyZWFzJworICAgICAgICBpbiB0aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisK
KyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9jc3MuanM6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qczoKKwogMjAxNC0wMi0wNiAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggODQ1ODQwY2E4MmM5OWE1YzM0YjEyNDJiYjE2OWU4NGEyMzNjMjQ2YS4uOTll
NGEwN2NiYmE1YTMwOGFiMDBiMzNiYWE3OTg5ZDc0NTc1YzNiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEwMzYsNyArMTAzNiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NT
Rm9udFZhbHVlLmNwcAogICAgIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NH
cmFkaWVudFZhbHVlLmNwcAotICAgIGNzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAKKyAgICBj
c3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxl
LmNwcAogICAgIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFn
ZVNldFZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjg3N2RkZjM3
MmFkZmQ5YzM3NmI0YjFhYzI2Y2IxZmZjYmQzZDQzMi4uOTU1MjE4NWEzNTM3NzYyODM3MDE1YjA1
ZGY1YzIxMjFmMWU5N2Y4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNTUz
LDggKzI1NTMsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaCBcCi0JU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0hlbHBlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDZhMjE2YzUwY2VjNTg1MGYyNWExNmEwMzQ3ZmRjNzdk
YWZlNjQxNzEuLmNmYmExY2Y4YzdiODQ2ZDMyZTRlMWVjNzRlM2MzNWMyZmMwZWQyNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtOTAw
Myw3ICs5MDAzLDcgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyb3VwaW5nUnVsZS5jcHAiPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk2MDcsNyArMTk2MDcsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0ZvbnRWYWx1ZS5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0Z1bmN0aW9uVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmFkaWVudFZhbHVlLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JvdXBpbmdSdWxlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTSGVscGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIiAvPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IGI3MTVkODdhYWU0MjU1YmNlYWE3N2NmNzdhMDA0NTRmODgwZDI3NjIuLmQ4M2VlZmU2ODJh
NjU0ZDg4YTMzZThhY2U0MmU2OTA4NjAxNjgzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY5NjEsNyAr
Njk2MSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGlu
ZUxheW91dEZ1bmN0aW9ucy5jcHAiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlk
VGVtcGxhdGVWYWx1ZS5jcHAiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAg
ICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4
ZWRkYlxJREJDdXJzb3JCYWNrZW5kLmNwcCI+CkBAIC0xNDc2NCw3ICsxNDc2NCw3IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGluZUxheW91dEZ1bmN0aW9u
cy5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCI+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1
ZS5oIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4ZWRkYlxJREJEYXRhYmFzZUJhY2tl
bmQuaCI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMzI1YzYyOWJiNjdiNTcwZjNkODY3MjM3MWU5Y2FjM2Y4NWYzZGU4Yy4uZDgw
MDkxODNiZDVmM2MzMGFmZWUyMDdmNDRlMGQyZTFmMWJjM2NiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ1MSw4ICs1NDUx
LDggQEAKIAkJQ0QzQTQ5NjQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUIx
N0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwICovOyB9OwogCQlDRDNBNDk2
NTE3QTlEMDFCMDAyNzRFNDIgLyogU291cmNlQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUMxN0E5RDAxQjAwMjc0RTQyIC8q
IFNvdXJjZUJ1ZmZlckxpc3QuaCAqLzsgfTsKIAkJQ0QzRTI1MUMxODA0NkIwNjAwRTI3RjU2IC8q
IEdyaWRDb29yZGluYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZENvb3JkaW5hdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDRDNFMjUyMzE4
MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2
IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCAqLzsgfTsKLQkJQ0QzRTI1MjQxODA0NkJDRDAw
RTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaCAqLzsgfTsKKwkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuY3BwICovOyB9OworCQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyog
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKIAkJQ0Q0N0IzRkMxNkNDMzRGODAwQTIxRUM4IC8qIENE
TVByaXZhdGVBVkZvdW5kYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDQ3QjNGQTE2Q0MzNEY4MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91
bmRhdGlvbi5tbSAqLzsgfTsKIAkJQ0Q0QUM1MkExNDk2QUU5QTAwODdDNEVGIC8qIENvbXBvc2l0
ZS53YXYgaW4gQ29weSBBdWRpbyBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q0QUM1MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi87IH07
CiAJCUNENTM5M0QzMTc1RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzRDExNzVFMDE4NjAw
QzA3MTIzIC8qIEpTTWVtb3J5SW5mby5jcHAgKi87IH07CkBAIC0xMjY3Miw4ICsxMjY3Miw4IEBA
CiAJCUNEM0E0OTVDMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzQTQ5NUQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1
ZmZlckxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYg
LyogR3JpZENvb3JkaW5hdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3Jp
ZENvb3JkaW5hdGUuaDsgcGF0aCA9IHN0eWxlL0dyaWRDb29yZGluYXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUNEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVt
cGxhdGVWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NH
cmlkVGVtcGxhdGVWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEM0Uy
NTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ3QjNGOTE2Q0MzNEY4
MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENDdCM0ZBMTZDQzM0RjgwMEEyMUVDOCAvKiBDRE1Qcml2YXRlQVZGb3Vu
ZGF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RNUHJp
dmF0ZUFWRm91bmRhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0QUM1
MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUgPSBDb21wb3NpdGUu
d2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0NvbXBvc2l0ZS53YXY7IHNvdXJj
ZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKQEAgLTIxMjcxLDggKzIxMjcxLDggQEAKIAkJRjUyM0Qx
ODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCi0JCQkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZVZhbHVlLmNwcCAqLywKLQkJCQlDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaCAqLywKKwkJCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NT
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgKi8sCisJCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3
RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLywKIAkJCQk5M0NBNEM5QzA5REY5
M0ZBMDBERjg2NzcgLyogbWFrZXRva2VuaXplciAqLywKIAkJCQlGQkQ2QUY4NDE1RUYyMUQ0MDA4
QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJRkJENkFGODUxNUVGMjFE
NDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCAqLywKQEAgLTI1OTIzLDcgKzI1OTIz
LDcgQEAKIAkJCQlCRTE2QzU5NTE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRy
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcxMDA1RTI2MjYgLyogUmVu
ZGVyQmxvY2tGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdG
NTYgLyogR3JpZENvb3JkaW5hdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEM0UyNTI0MTgwNDZC
Q0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0QzRTI1MjQxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3Ro
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREU3RkM0NTE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJ
dGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8q
IFRyYWNrUHJpdmF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjkwOTMsNyArMjkwOTMsNyBA
QAogCQkJCUJFMTZDNTkyMTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRHZW5lcmljVGV4dFRyYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJh
bmRXZWJWVFRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMEQ3NjcxN0Q4RUU2
RTAwNUUyNjI2IC8qIFJlbmRlckJsb2NrRmxvdy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDNF
MjUyMzE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFN0ZDNDQxODE5MDRCMTAwMkJCQjc3
IC8qIE9yZGVySXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQ3NzI4MjhjMGNlNThhYjRm
MzhlN2I0ZmVjODc3MWFmY2FkODI1N2UuLmZlODA0ZDcyNmY5YThkZTYzMGM5YjcxODhmODc1MTk5
YjRjZDAyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0
aW9uVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgorI2luY2x1ZGUg
IkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFp
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKQEAgLTIxMDEsMTMgKzIxMDEsMTMgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29t
cHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQK
ICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6CiAgICAgICAgICAgICByZXR1
cm4gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtpdEdyaWRSb3dTaG9y
dGhhbmQoKSk7CiAKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZToK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzOgogICAgICAg
ICAgICAgaWYgKCFzdHlsZS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCkpIHsKICAgICAgICAgICAg
ICAgICBBU1NFUlQoIXN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NW
YWx1ZU5vbmUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICByZXR1cm4gQ1NTR3JpZFRl
bXBsYXRlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bmFtZWRHcmlkQXJlYSgpLCBzdHlsZS0+bmFtZWRH
cmlkQXJlYVJvd0NvdW50KCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7Cisg
ICAgICAgICAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKHN0eWxl
LT5uYW1lZEdyaWRBcmVhKCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhUm93Q291bnQoKSwgc3R5bGUt
Pm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudCgpKTsKIAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
SGVpZ2h0OgogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU0N2IxMzk4
NzI5ODI2M2VjZWYzOWE3N2EyYjJhYTJlN2VkYzM2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcApAQCAtMCwwICsxLDg2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgorCisjaW5jbHVkZSAiR3Jp
ZENvb3JkaW5hdGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Q1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZShjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6
ZV90IHJvd0NvdW50LCBzaXplX3QgY29sdW1uQ291bnQpCisgICAgOiBDU1NWYWx1ZShHcmlkVGVt
cGxhdGVBcmVhc0NsYXNzKQorICAgICwgbV9ncmlkQXJlYU1hcChncmlkQXJlYU1hcCkKKyAgICAs
IG1fcm93Q291bnQocm93Q291bnQpCisgICAgLCBtX2NvbHVtbkNvdW50KGNvbHVtbkNvdW50KQor
eworICAgIEFTU0VSVChtX3Jvd0NvdW50KTsKKyAgICBBU1NFUlQobV9jb2x1bW5Db3VudCk7Cit9
CisKK3N0YXRpYyBTdHJpbmcgc3RyaW5nRm9yUG9zaXRpb24oY29uc3QgTmFtZWRHcmlkQXJlYU1h
cCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3csIHNpemVfdCBjb2x1bW4pCit7CisgICAgVmVjdG9y
PFN0cmluZz4gY2FuZGlkYXRlczsKKworICAgIGZvciAoYXV0byBpdCA9IGdyaWRBcmVhTWFwLmJl
Z2luKCksIGVuZCA9IGdyaWRBcmVhTWFwLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAg
ICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBpdC0+dmFsdWU7CisgICAgICAg
IGlmIChyb3cgPj0gY29vcmRpbmF0ZS5yb3dzLmluaXRpYWxQb3NpdGlvbkluZGV4ICYmIHJvdyA8
PSBjb29yZGluYXRlLnJvd3MuZmluYWxQb3NpdGlvbkluZGV4KQorICAgICAgICAgICAgY2FuZGlk
YXRlcy5hcHBlbmQoaXQtPmtleSk7CisgICAgfQorCisgICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFy
ZWFNYXAuYmVnaW4oKSwgZW5kID0gZ3JpZEFyZWFNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkg
eworICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsK
KyAgICAgICAgaWYgKGNvbHVtbiA+PSBjb29yZGluYXRlLmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9u
SW5kZXggJiYgY29sdW1uIDw9IGNvb3JkaW5hdGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5kZXgg
JiYgY2FuZGlkYXRlcy5jb250YWlucyhpdC0+a2V5KSkKKyAgICAgICAgICAgIHJldHVybiBpdC0+
a2V5OworICAgIH0KKworICAgIHJldHVybiAiLiI7Cit9CisKK1N0cmluZyBDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVy
IGJ1aWxkZXI7CisgICAgZm9yIChzaXplX3Qgcm93ID0gMDsgcm93IDwgbV9yb3dDb3VudDsgKyty
b3cpIHsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7CisgICAgICAgIGZvciAoc2l6ZV90
IGNvbHVtbiA9IDA7IGNvbHVtbiA8IG1fY29sdW1uQ291bnQ7ICsrY29sdW1uKSB7CisgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZChzdHJpbmdGb3JQb3NpdGlvbihtX2dyaWRBcmVhTWFwLCByb3cs
IGNvbHVtbikpOworICAgICAgICAgICAgaWYgKGNvbHVtbiAhPSBtX2NvbHVtbkNvdW50IC0gMSkK
KyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAgICAgICB9CisgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCdcIicpOworICAgICAgICBpZiAocm93ICE9IG1fcm93Q291bnQgLSAx
KQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICB9CisgICAgcmV0dXJuIGJ1
aWxkZXIudG9TdHJpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYz
MGJhODNiY2QwODI3OTVkZWEyNmIxZmZlNTlmYjI1ZTEwMjQyYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgKQEAgLTAsMCAr
MSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlX2gKKyNkZWZpbmUgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZV9o
CisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSA6
IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWY8Q1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZT4gY3JlYXRlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVh
TWFwLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoZ3JpZEFyZWFN
YXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpOworICAgIH0KKworICAgIH5DU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlKCkgeyB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0Owor
CisgICAgY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAoKSBjb25zdCB7IHJldHVy
biBtX2dyaWRBcmVhTWFwOyB9CisgICAgc2l6ZV90IHJvd0NvdW50KCkgY29uc3QgeyByZXR1cm4g
bV9yb3dDb3VudDsgfQorICAgIHNpemVfdCBjb2x1bW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y29sdW1uQ291bnQ7IH0KKworcHJpdmF0ZToKKyAgICBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
KGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5D
b3VudCk7CisKKyAgICBOYW1lZEdyaWRBcmVhTWFwIG1fZ3JpZEFyZWFNYXA7CisgICAgc2l6ZV90
IG1fcm93Q291bnQ7CisgICAgc2l6ZV90IG1fY29sdW1uQ291bnQ7Cit9OworCitDU1NfVkFMVUVf
VFlQRV9DQVNUUyhDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLCBpc0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUoKSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZh
bHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZhOGVmNTIzY2VkZjYxMGE1
NTE5MzI1YWEwNDE4YmNmNzE1YmMzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEz
IElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6
Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
LSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZVZh
bHVlLmgiCi0KLSNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1DU1NHcmlkVGVtcGxh
dGVWYWx1ZTo6Q1NTR3JpZFRlbXBsYXRlVmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3Jp
ZEFyZWFNYXAsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNvbHVtbkNvdW50KQotICAgIDogQ1NT
VmFsdWUoR3JpZFRlbXBsYXRlQ2xhc3MpCi0gICAgLCBtX2dyaWRBcmVhTWFwKGdyaWRBcmVhTWFw
KQotICAgICwgbV9yb3dDb3VudChyb3dDb3VudCkKLSAgICAsIG1fY29sdW1uQ291bnQoY29sdW1u
Q291bnQpCi17Ci0gICAgQVNTRVJUKG1fcm93Q291bnQpOwotICAgIEFTU0VSVChtX2NvbHVtbkNv
dW50KTsKLX0KLQotc3RhdGljIFN0cmluZyBzdHJpbmdGb3JQb3NpdGlvbihjb25zdCBOYW1lZEdy
aWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvdywgc2l6ZV90IGNvbHVtbikKLXsKLSAg
ICBWZWN0b3I8U3RyaW5nPiBjYW5kaWRhdGVzOwotCi0gICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFy
ZWFNYXAuYmVnaW4oKSwgZW5kID0gZ3JpZEFyZWFNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkg
ewotICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsK
LSAgICAgICAgaWYgKHJvdyA+PSBjb29yZGluYXRlLnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXgg
JiYgcm93IDw9IGNvb3JkaW5hdGUucm93cy5maW5hbFBvc2l0aW9uSW5kZXgpCi0gICAgICAgICAg
ICBjYW5kaWRhdGVzLmFwcGVuZChpdC0+a2V5KTsKLSAgICB9Ci0KLSAgICBmb3IgKGF1dG8gaXQg
PSBncmlkQXJlYU1hcC5iZWdpbigpLCBlbmQgPSBncmlkQXJlYU1hcC5lbmQoKTsgaXQgIT0gZW5k
OyArK2l0KSB7Ci0gICAgICAgIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gaXQt
PnZhbHVlOwotICAgICAgICBpZiAoY29sdW1uID49IGNvb3JkaW5hdGUuY29sdW1ucy5pbml0aWFs
UG9zaXRpb25JbmRleCAmJiBjb2x1bW4gPD0gY29vcmRpbmF0ZS5jb2x1bW5zLmZpbmFsUG9zaXRp
b25JbmRleCAmJiBjYW5kaWRhdGVzLmNvbnRhaW5zKGl0LT5rZXkpKQotICAgICAgICAgICAgcmV0
dXJuIGl0LT5rZXk7Ci0gICAgfQotCi0gICAgcmV0dXJuICIuIjsKLX0KLQotU3RyaW5nIENTU0dy
aWRUZW1wbGF0ZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKLXsKLSAgICBTdHJpbmdCdWls
ZGVyIGJ1aWxkZXI7Ci0gICAgZm9yIChzaXplX3Qgcm93ID0gMDsgcm93IDwgbV9yb3dDb3VudDsg
Kytyb3cpIHsKLSAgICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGNvbHVtbiA9IDA7IGNvbHVtbiA8IG1fY29sdW1uQ291bnQ7ICsrY29sdW1uKSB7Ci0gICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZChzdHJpbmdGb3JQb3NpdGlvbihtX2dyaWRBcmVhTWFwLCBy
b3csIGNvbHVtbikpOwotICAgICAgICAgICAgaWYgKGNvbHVtbiAhPSBtX2NvbHVtbkNvdW50IC0g
MSkKLSAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICB9Ci0gICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKCdcIicpOwotICAgICAgICBpZiAocm93ICE9IG1fcm93Q291bnQg
LSAxKQotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAgICB9Ci0gICAgcmV0dXJu
IGJ1aWxkZXIudG9TdHJpbmcoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZWZhZTAxYzQ4NTZmNzM0YjI5NzNkOWJhMTI2OGE0OTc2NGE3Nzc4NC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
Ci0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ1NTR3JpZFRlbXBsYXRl
VmFsdWVfaAotI2RlZmluZSBDU1NHcmlkVGVtcGxhdGVWYWx1ZV9oCi0KLSNpbmNsdWRlICJDU1NW
YWx1ZS5oIgotI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgQ1NTR3JpZFRlbXBsYXRlVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmPENTU0dyaWRUZW1wbGF0ZVZhbHVlPiBjcmVhdGUoY29u
c3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90
IGNvbHVtbkNvdW50KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUoZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpOwotICAg
IH0KLQotICAgIH5DU1NHcmlkVGVtcGxhdGVWYWx1ZSgpIHsgfQotCi0gICAgU3RyaW5nIGN1c3Rv
bUNTU1RleHQoKSBjb25zdDsKLQotICAgIGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVh
TWFwKCkgY29uc3QgeyByZXR1cm4gbV9ncmlkQXJlYU1hcDsgfQotICAgIHNpemVfdCByb3dDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcm93Q291bnQ7IH0KLSAgICBzaXplX3QgY29sdW1uQ291bnQo
KSBjb25zdCB7IHJldHVybiBtX2NvbHVtbkNvdW50OyB9Ci0KLXByaXZhdGU6Ci0gICAgQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYsIHNpemVfdCByb3dDb3VudCwg
c2l6ZV90IGNvbHVtbkNvdW50KTsKLQotICAgIE5hbWVkR3JpZEFyZWFNYXAgbV9ncmlkQXJlYU1h
cDsKLSAgICBzaXplX3QgbV9yb3dDb3VudDsKLSAgICBzaXplX3QgbV9jb2x1bW5Db3VudDsKLX07
Ci0KLUNTU19WQUxVRV9UWVBFX0NBU1RTKENTU0dyaWRUZW1wbGF0ZVZhbHVlLCBpc0dyaWRUZW1w
bGF0ZVZhbHVlKCkpCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENTU0dy
aWRUZW1wbGF0ZVZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZDIxYzQzZWZj
NDgyZTBhMWI0ODFjMzYwNzRkMDkxMjBlN2Y0Y2RkYi4uOThkMWJlYjE4YzU2OGFmNjg1ZmU4YjYz
ZDdkNDk2ZTdkMTY4Y2JmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTQwLDcgKzQw
LDcgQEAKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGdW5jdGlvblZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU0dyaWRU
ZW1wbGF0ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbmhlcml0ZWRWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgpAQCAtMjU5NywxMSArMjU5NywxMSBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHJldHVybiBwYXJzZUdy
aWRBcmVhU2hvcnRoYW5kKGltcG9ydGFudCk7CiAKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
R3JpZFRlbXBsYXRlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVh
czoKICAgICAgICAgaWYgKCFjc3NHcmlkTGF5b3V0RW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VHcmlkVGVtcGxhdGUoKTsK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCk7CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcmdpbkNvbGxhcHNlOiB7CkBA
IC01MTM1LDcgKzUxMzUsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VEYXNoYm9hcmRSZWdpb25z
KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIAogI2VuZGlmIC8qIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkgKi8KIAotUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2Vy
OjpwYXJzZUdyaWRUZW1wbGF0ZSgpCitQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBh
cnNlR3JpZFRlbXBsYXRlQXJlYXMoKQogewogICAgIE5hbWVkR3JpZEFyZWFNYXAgZ3JpZEFyZWFN
YXA7CiAgICAgc2l6ZV90IHJvd0NvdW50ID0gMDsKQEAgLTUyMDcsNyArNTIwNyw3IEBAIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGUoKQogICAgIGlmICgh
cm93Q291bnQgfHwgIWNvbHVtbkNvdW50KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVy
biBDU1NHcmlkVGVtcGxhdGVWYWx1ZTo6Y3JlYXRlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29s
dW1uQ291bnQpOworICAgIHJldHVybiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjcmVhdGUo
Z3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCk7CiB9CiAKIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IENTU1BhcnNlcjo6cGFyc2VDb3VudGVyQ29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3Qq
IGFyZ3MsIGJvb2wgY291bnRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMmM2ZWY1OGFk
YzYxYTE3N2RmYjg2MDcyN2Q1MDEwN2JjMDBjN2Y4Ny4uNzc5NGZlY2MyYTAyZDVhMWM2ODg1NDE0
MTY2MjU1YTgzZWUyN2FmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTYxLDcgKzE2MSw3
IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFs
dWVMaXN0Jik7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVHJhY2tTaXplKENT
U1BhcnNlclZhbHVlTGlzdCYgaW5wdXRMaXN0KTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBwYXJzZUdyaWRCcmVhZHRoKENTU1BhcnNlclZhbHVlKik7Ci0gICAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVGVtcGxhdGUoKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCk7CiAgICAgdm9pZCBwYXJzZUdyaWRUcmFja05hbWVz
KENTU1BhcnNlclZhbHVlTGlzdCYgaW5wdXRMaXN0LCBDU1NWYWx1ZUxpc3QmIHZhbHVlcyk7CiAK
ICAgICBib29sIHBhcnNlRGFzaGJvYXJkUmVnaW9ucyhDU1NQcm9wZXJ0eUlELCBib29sIGltcG9y
dGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDQwY2JjMDg0
NzcwMDBkMzdjNjI2Zjk4MzAwNTg2YjIwNTZjZTUyMWMuLjM5M2M0ZmZiZGZjNjc2MThiMDA0M2Q1
ZTdjMTAzM2M2NDhmYzg3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CkBAIC0zMTAsNyArMzEwLDcgQEAgei1pbmRleAogLXdlYmtpdC1ncmlkLXJvdy1zdGFydAogLXdl
YmtpdC1ncmlkLWNvbHVtbgogLXdlYmtpdC1ncmlkLXJvdwotLXdlYmtpdC1ncmlkLXRlbXBsYXRl
Cistd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMKIC13ZWJraXQtZ3JpZC1hdXRvLWZsb3cKIC13
ZWJraXQtaGlnaGxpZ2h0IFtJbmhlcml0ZWRdCiAtd2Via2l0LWh5cGhlbmF0ZS1jaGFyYWN0ZXIg
W0luaGVyaXRlZF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDgyZTFjNjgyZDY1MjJiNTBi
ZTU1YmYyODVlM2VlMzQ3OTcwOWIxZjAuLjZmMjA2MzRmYmIwMmY1NzY4NTk4NzhmNjE5NGJhNmYy
ZTQxYWE0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtNDAsNyArNDAsNyBAQAogI2lu
Y2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFs
dWUuaCIKKyNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTSW1hZ2VTZXRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NJbmhlcml0ZWRWYWx1ZS5oIgpAQCAtMTg5LDggKzE4OSw4IEBAIGJvb2wgQ1NTVmFsdWU6
OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4g
Y29tcGFyZUNTU1ZhbHVlczxDU1NJbmhlcml0ZWRWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAg
ICAgY2FzZSBJbml0aWFsQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVl
czxDU1NJbml0aWFsVmFsdWU+KCp0aGlzLCBvdGhlcik7Ci0gICAgICAgIGNhc2UgR3JpZFRlbXBs
YXRlQ2xhc3M6Ci0gICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NHcmlkVGVt
cGxhdGVWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBHcmlkVGVtcGxhdGVBcmVh
c0NsYXNzOgorICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBQcmltaXRpdmVDbGFz
czoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU1ByaW1pdGl2ZVZhbHVl
PigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIFJlZmxlY3RDbGFzczoKQEAgLTI3NSw4ICsy
NzUsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4g
dG9DU1NJbmhlcml0ZWRWYWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgSW5p
dGlhbENsYXNzOgogICAgICAgICByZXR1cm4gdG9DU1NJbml0aWFsVmFsdWUodGhpcyktPmN1c3Rv
bUNTU1RleHQoKTsKLSAgICBjYXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICByZXR1cm4g
dG9DU1NHcmlkVGVtcGxhdGVWYWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2Ug
R3JpZFRlbXBsYXRlQXJlYXNDbGFzczoKKyAgICAgICAgcmV0dXJuIHRvQ1NTR3JpZFRlbXBsYXRl
QXJlYXNWYWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgUHJpbWl0aXZlQ2xh
c3M6CiAgICAgICAgIHJldHVybiB0b0NTU1ByaW1pdGl2ZVZhbHVlKHRoaXMpLT5jdXN0b21DU1NU
ZXh0KCk7CiAgICAgY2FzZSBSZWZsZWN0Q2xhc3M6CkBAIC0zNjYsOCArMzY2LDggQEAgdm9pZCBD
U1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBJbml0aWFsQ2xhc3M6CiAgICAgICAgIGRlbGV0
ZSB0b0NTU0luaXRpYWxWYWx1ZSh0aGlzKTsKICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgR3Jp
ZFRlbXBsYXRlQ2xhc3M6Ci0gICAgICAgIGRlbGV0ZSB0b0NTU0dyaWRUZW1wbGF0ZVZhbHVlKHRo
aXMpOworICAgIGNhc2UgR3JpZFRlbXBsYXRlQXJlYXNDbGFzczoKKyAgICAgICAgZGVsZXRlIHRv
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSh0aGlzKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNh
c2UgUHJpbWl0aXZlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSB0b0NTU1ByaW1pdGl2ZVZhbHVlKHRo
aXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAzZDQ2ZjZkNjY1YTljOGI5NTdiZDUzNWJkZjJl
N2FlOTA1Y2Q1NDE1Li5jMDI0ZGFiMWFmZWRhMDVmZTJjNjJlZjkyZmY5ZDdlNmIyNGMzNDYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0ZpbHRlckltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGaWx0ZXJJ
bWFnZUNsYXNzOyB9CiAgICAgYm9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KICNlbmRpZiAvLyBF
TkFCTEUoQ1NTX0ZJTFRFUlMpCi0gICAgYm9vbCBpc0dyaWRUZW1wbGF0ZVZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gR3JpZFRlbXBsYXRlQ2xhc3M7IH0KKyAgICBib29sIGlz
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEdy
aWRUZW1wbGF0ZUFyZWFzQ2xhc3M7IH0KICAgICBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzVHlwZSA9PSBTVkdDb2xvckNsYXNzIHx8IG1fY2xhc3NUeXBlID09IFNWR1Bh
aW50Q2xhc3M7IH0KICAgICBib29sIGlzU1ZHUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2NsYXNz
VHlwZSA9PSBTVkdQYWludENsYXNzOyB9CiAgICAgYm9vbCBpc1VuaWNvZGVSYW5nZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gVW5pY29kZVJhbmdlQ2xhc3M7IH0KQEAgLTE1
Nyw3ICsxNTcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIFVuaWNvZGVSYW5nZUNsYXNzLAogICAg
ICAgICBMaW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBDYWxjdWxhdGlvbkNsYXNzLAotICAg
ICAgICBHcmlkVGVtcGxhdGVDbGFzcywKKyAgICAgICAgR3JpZFRlbXBsYXRlQXJlYXNDbGFzcywK
ICAgICAgICAgU1ZHQ29sb3JDbGFzcywKICAgICAgICAgU1ZHUGFpbnRDbGFzcywKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDBjYWZkMTg3OTY2MmFmNmJmYTNhNTk4ZWQ0
OGY2NDNlZGI0MjRmNGYuLjE3NjgzYzY3NjkyMzI4ZmUwZjNkNTlmMjIxMjIxN2VkMWYwYmI5Yzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKICNp
bmNsdWRlICJDU1NGb250U2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGdW5jdGlvblZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFs
dWUuaCIKKyNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyLmgiCkBAIC0yNzI3LDcgKzI3MjcsNyBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAg
ICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRHcmlkSXRlbVJvd0VuZChyb3dFbmRQb3NpdGlvbik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1w
bGF0ZTogeworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVhczogewog
ICAgICAgICBpZiAoaXNJbmhlcml0KSB7CiAgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRO
YW1lZEdyaWRBcmVhKHN0YXRlLnBhcmVudFN0eWxlKCktPm5hbWVkR3JpZEFyZWEoKSk7CiAgICAg
ICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoc3RhdGUucGFy
ZW50U3R5bGUoKS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCkpOwpAQCAtMjc0Niw3ICsyNzQ2LDcg
QEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENT
U1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IENTU0dyaWRUZW1wbGF0ZVZhbHVlKiBncmlkVGVtcGxhdGVWYWx1ZSA9IHRvQ1NTR3JpZFRlbXBs
YXRlVmFsdWUodmFsdWUpOworICAgICAgICBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKiBncmlk
VGVtcGxhdGVWYWx1ZSA9IHRvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSh2YWx1ZSk7CiAgICAg
ICAgIHN0YXRlLnN0eWxlKCktPnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRlbXBsYXRlVmFsdWUtPmdy
aWRBcmVhTWFwKCkpOwogICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVhUm93
Q291bnQoZ3JpZFRlbXBsYXRlVmFsdWUtPnJvd0NvdW50KCkpOwogICAgICAgICBzdGF0ZS5zdHls
ZSgpLT5zZXROYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoZ3JpZFRlbXBsYXRlVmFsdWUtPmNvbHVt
bkNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0
eVByaW50aW5nL2Nzcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmlu
dGluZy9jc3MuanMKaW5kZXggZDhjMzBjZjMzZDZmZTFiNWI0NTJmMzllNmZhYTBhYWU5YTM2MWFm
NC4uNzk5ZWExNmE4YzJmMGE2NzlkYjE1NGEzNjExODM4ZDAwMTIwYmIxMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzCkBAIC0zNzcs
NyArMzc3LDcgQEAgQ29kZU1pcnJvci5kZWZpbmVNb2RlKCJjc3MiLCBmdW5jdGlvbihjb25maWcs
IHBhcnNlckNvbmZpZykgewogICAgICJmb250LXdlaWdodCIsICJncmlkLWNlbGwiLCAiZ3JpZC1j
b2x1bW4iLCAiZ3JpZC1jb2x1bW4tYWxpZ24iLAogICAgICJncmlkLWNvbHVtbi1zaXppbmciLCAi
Z3JpZC1jb2x1bW4tc3BhbiIsICJncmlkLWNvbHVtbnMiLCAiZ3JpZC1mbG93IiwKICAgICAiZ3Jp
ZC1yb3ciLCAiZ3JpZC1yb3ctYWxpZ24iLCAiZ3JpZC1yb3ctc2l6aW5nIiwgImdyaWQtcm93LXNw
YW4iLAotICAgICJncmlkLXJvd3MiLCAiZ3JpZC10ZW1wbGF0ZSIsICJoYW5naW5nLXB1bmN0dWF0
aW9uIiwgImhlaWdodCIsICJoeXBoZW5zIiwKKyAgICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxh
dGUtYXJlYXMiLCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJoZWlnaHQiLCAiaHlwaGVucyIsCiAg
ICAgImljb24iLCAiaW1hZ2Utb3JpZW50YXRpb24iLCAiaW1hZ2UtcmVuZGVyaW5nIiwgImltYWdl
LXJlc29sdXRpb24iLAogICAgICJpbmxpbmUtYm94LWFsaWduIiwgImp1c3RpZnktY29udGVudCIs
ICJsZWZ0IiwgImxldHRlci1zcGFjaW5nIiwKICAgICAibGluZS1icmVhayIsICJsaW5lLWhlaWdo
dCIsICJsaW5lLXN0YWNraW5nIiwgImxpbmUtc3RhY2tpbmctcnVieSIsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nz
cy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVN
aXJyb3IvY3NzLmpzCmluZGV4IDc3NTQ1ZGY1NWQxMmU3MmQ2NWVlMDg5MTI0MjE3YTcxNWQzYzU5
ODQuLjVkZGVmNjhmNTNjZDQ4MWMzYmNmODNhM2Q2YTZmOGI2MmMzOTEwZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3Iv
Y3NzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFs
L0NvZGVNaXJyb3IvY3NzLmpzCkBAIC0zNzcsNyArMzc3LDcgQEAgQ29kZU1pcnJvci5kZWZpbmVN
b2RlKCJjc3MiLCBmdW5jdGlvbihjb25maWcsIHBhcnNlckNvbmZpZykgewogICAgICJmb250LXdl
aWdodCIsICJncmlkLWNlbGwiLCAiZ3JpZC1jb2x1bW4iLCAiZ3JpZC1jb2x1bW4tYWxpZ24iLAog
ICAgICJncmlkLWNvbHVtbi1zaXppbmciLCAiZ3JpZC1jb2x1bW4tc3BhbiIsICJncmlkLWNvbHVt
bnMiLCAiZ3JpZC1mbG93IiwKICAgICAiZ3JpZC1yb3ciLCAiZ3JpZC1yb3ctYWxpZ24iLCAiZ3Jp
ZC1yb3ctc2l6aW5nIiwgImdyaWQtcm93LXNwYW4iLAotICAgICJncmlkLXJvd3MiLCAiZ3JpZC10
ZW1wbGF0ZSIsICJoYW5naW5nLXB1bmN0dWF0aW9uIiwgImhlaWdodCIsICJoeXBoZW5zIiwKKyAg
ICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxhdGUtYXJlYXMiLCAiaGFuZ2luZy1wdW5jdHVhdGlv
biIsICJoZWlnaHQiLCAiaHlwaGVucyIsCiAgICAgImljb24iLCAiaW1hZ2Utb3JpZW50YXRpb24i
LCAiaW1hZ2UtcmVuZGVyaW5nIiwgImltYWdlLXJlc29sdXRpb24iLAogICAgICJpbmxpbmUtYm94
LWFsaWduIiwgImp1c3RpZnktY29udGVudCIsICJsZWZ0IiwgImxldHRlci1zcGFjaW5nIiwKICAg
ICAibGluZS1icmVhayIsICJsaW5lLWhlaWdodCIsICJsaW5lLXN0YWNraW5nIiwgImxpbmUtc3Rh
Y2tpbmctcnVieSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDliN2VkMWFiYzBhYzdkN2QxNjk5ZTIzNjkwNjcyODVlYzI3
MTZjNS4uM2FiOWI3NmRkMWYxOGMxYTc5NmZmYzBmMjRjYWFhMWYzNTQ1NzI0NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE0LTAyLTA3ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVh
cyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhl
IHByb3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBs
YXRlLWFyZWFzJworICAgICAgICBpbiB0aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMu
CisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0
Lmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1y
b3ctZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1lbmQtYWZ0ZXItZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sOgorICAgICAgICAqIGZh
c3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sOgor
ICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1n
ZXQtc2V0Lmh0bWw6CisKIDIwMTQtMDItMDcgIENoYW5nU2VvayBPaCAgPGNoYW5nc2Vvay5vaEBj
b2xsYWJvcmEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIHBvcnQgZ2FyZGVuaW5nCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJl
YS1nZXQtc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0
ZW0tYXJlYS1nZXQtc2V0Lmh0bWwKaW5kZXggODkyNTcyZTNmMTRlMjM5NDc3MDk3YTg3MmMzOThm
NDg5NDNhZjhjYy4uMzhhYTVhODg3MDU5NzM0ZGZjM2Q3MWU0M2JmNTUxY2Q4ZjVkZDMxMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFyZWEt
Z2V0LXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
aXRlbS1hcmVhLWdldC1zZXQuaHRtbApAQCAtOCw4ICs4LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgog
PHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0QXJlYSBz
ZWNvbmRBcmVhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFy
ZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0QXJlYSBzZWNvbmRB
cmVhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFy
ZWEiOwogfQogCiAjb25lVmFsdWVHcmlkQXJlYSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQt
c2V0Lmh0bWwKaW5kZXggNzU3NDU2ZGFlMDljODAwZjQzZjlhMDE0MDMwMmUyNDU5NGM2M2M5ZC4u
YTA1YmY5ZDA4MTMwMWM4ZGJmOWQyMTZhYTQ0MDYwMmM1ZmE4OWU2YSAxMDA3NTUKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNl
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1j
b2x1bW4tcm93LWdldC1zZXQuaHRtbApAQCAtOCw4ICs4LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogPC9zY3JpcHQ+CiA8c3R5bGU+CiAuZ3JpZCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBs
YXRlOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGhpcmRBcmVhIHRoaXJkQXJlYSI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAi
Zmlyc3RBcmVhIHNlY29uZEFyZWEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGhpcmRBcmVhIHRoaXJkQXJlYSI7CiB9CiAKIC5ncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVt
LWVuZC1hZnRlci1nZXQtc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbAppbmRleCBkYjg4MzY3Zjg5ZDExODZm
MzZjMDI5NzMxYTZmODExNTk0M2M4NWQwLi42N2M4Nzk1MzIxODlkZWU3ZDQwN2MwZDgzYzA3Njhh
NTA5ZDk3OTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbApAQCAtOCw3ICs4
LDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQu
Y3NzIiByZWw9InN0eWxlc2hlZXQiPgogPHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZTogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgorICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhczogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1l
ZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sCmluZGV4IDg3ZDQ4ZGM1MjI0MGYzYWIyOGNkMmM4
ZTZkM2VhNDg4ZGFhNjA4MDMuLjlhOTA4MTdhNDBhNDFkNDRiNDIxNGE4NzM0OWY1OGI3MTNlN2Nl
MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1s
CkBAIC0xMywxMyArMTMsMTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogfQogCiAuZ3JpZFdp
dGhvdXRSZXBlYXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0IHNlY29uZCB0
aGlyZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZmlmdGggc2l4dGgiOwor
ICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0IHNlY29uZCB0aGlyZCIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZmlmdGggc2l4dGgiOwogfQog
CiAuZ3JpZFdpdGhSZXBlYXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0ICBz
ZWNvbmQgdGhpcmQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZvdXJ0aCB0
aGlyZCI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3QgIHNlY29uZCB0
aGlyZCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZm91cnRoIHRo
aXJkIjsKIH0KIAogLmdyaWRJdGVtRmlyc3RBcmVhIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9y
ZS1nZXQtc2V0Lmh0bWwKaW5kZXggZDhmM2NkMGViOGMwNjcxYzQ4OGYzNDMwZmM5Njg2ZjU4MzRm
Y2RiZC4uM2M4MzI4NTcwZDU0MGYxNGVmMzUwOGNmOWYyMzZlZDkxODRhMTkwMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9y
ZS1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwKQEAgLTgsNyArOCw3IEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKIDxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHls
ZXNoZWV0Ij4KIDxzdHlsZT4KIC5ncmlkIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJm
aXJzdEFyZWEgc2Vjb25kQXJlYSIKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJm
aXJzdEFyZWEgc2Vjb25kQXJlYSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlyZEFy
ZWEgdGhpcmRBcmVhIjsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3RlZC50eHQK
aW5kZXggNTgwNWI3YTBiOGQzYWUzZTc2NmNiYzJkNzYwNjNlMDdkMDU3Njk4Yi4uNGJhMGIxMWMz
ZDRiNmQ0OTNmYjNmMGY0YzIwNzFhZDNkOGU2NWQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1z
ZXQtZXhwZWN0ZWQudHh0CkBAIC0xLDMwICsxLDMwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Z3JpZC10ZW1wbGF0ZSBpcyBwcm9wZXJseSBwYXJzZWQuCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Z3JpZC10ZW1wbGF0ZS1hcmVhcyBpcyBwcm9wZXJseSBwYXJzZWQuCiAKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KIAogCi1UZXN0IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZSBzZXQgdGhyb3VnaCBD
U1MuCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhEZWZhdWx0VGVtcGxhdGUpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGdyaWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImFyZWFcIiIKLVBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZmlyc3Qgc2Vjb25kXCIiCi1QQVNTIGdldENvbXB1
dGVkU3R5bGUoZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImZpcnN0XCIgXCJzZWNvbmRcIiIKLVBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShncmlkV2l0aFNwYW5uaW5nQ29sdW1uc1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJzcGFuIHNwYW5cIiIKLVBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNwYW5uaW5nUm93c0RvdFRlbXBsYXRlKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJzcGFuXCIgXCIuXCIiCi1QQVNT
IGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhEb3RDb2x1bW4pLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImhlYWRlciAuXCIgXCJmb290ZXIgLlwiIgotVGVz
dCBncmlkLXRlbXBsYXRlOiBpbml0aWFsCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZm9vYmFyXCIi
Ci1UZXN0IGdyaWQtdGVtcGxhdGU6IGluaGVyaXQKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwYXJl
bnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAi
XCJmb28gYmFyXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZm9vIGJhclwiIgotVGVzdCBpbnZh
bGlkIGdyaWQtdGVtcGxhdGUgdmFsdWVzLgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgorVGVzdCBnZXR0
aW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgc2V0IHRocm91Z2ggQ1NTLgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRXaXRoRGVmYXVsdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkV2l0aFNpbmdsZVN0cmluZ1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJhcmVhXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
Z3JpZFdpdGhUd29Db2x1bW5zVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZpcnN0IHNlY29uZFwiIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRXaXRoVHdvUm93c1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJmaXJzdFwiIFwic2Vjb25kXCIiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTcGFubmluZ0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwic3BhbiBzcGFuXCIi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwic3Bh
blwiIFwiLlwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRG90Q29sdW1uKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJoZWFkZXIg
LlwiIFwiZm9vdGVyIC5cIiIKK1Rlc3QgZ3JpZC10ZW1wbGF0ZS1hcmVhczogaW5pdGlhbAorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZvb2JhclwiIgorVGVzdCBncmlkLXRlbXBsYXRlLWFy
ZWFzOiBpbmhlcml0CitQQVNTIGdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCkuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiZm9vIGJhclwi
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZvbyBiYXJcIiIKK1Rlc3QgaW52YWxpZCBn
cmlkLXRlbXBsYXRlLWFyZWFzIHZhbHVlcy4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9u
ZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAibm9uZSIKIAogRklYTUU6IFdlIGN1cnJlbnRseSBkb24ndCB2YWxpZGF0
ZSB0aGF0IHRoZSBuYW1lZCBncmlkIGFyZWFzIGFyZSA8aW5kZW50Pi4KLUZBSUwgZ2V0Q29tcHV0
ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUn
KSBzaG91bGQgYmUgbm9uZS4gV2FzICJuYXYtdXAiLgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIHNo
b3VsZCBiZSBub25lLiBXYXMgIm5hdi11cCIuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwKaW5kZXggNmQ0MmQzZDRj
MTY4MDE1NGRhNWNlZDY1NWI1ZjQxMjg2MTVjMmIxYy4uNGUwODAyMjlhZjI4YTQxZDgyODQ4NzZk
OWEyZGVlMDY0ZTg4MjE3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwKQEAgLTgsMjkgKzgsMjkg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3Nz
IiByZWw9InN0eWxlc2hlZXQiPgogPHN0eWxlPgogI2dyaWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxh
dGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImFyZWEiOworICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhczogImFyZWEiOwogfQogCiAjZ3JpZFdpdGhUd29Db2x1bW5zVGVtcGxh
dGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0IHNlY29uZCI7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3Qgc2Vjb25kIjsKIH0KIAogI2dyaWRXaXRo
VHdvUm93c1RlbXBsYXRlIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdCIKKyAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCIKICAgICAgICAgICAgICAgICAg
ICAic2Vjb25kIjsKIH0KIAogI2dyaWRXaXRoU3Bhbm5pbmdDb2x1bW5zVGVtcGxhdGUgewotICAg
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogInNwYW4gc3BhbiI7CisgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWFyZWFzOiAic3BhbiBzcGFuIjsKIH0KIAogI2dyaWRXaXRoU3Bhbm5pbmdSb3dzRG90
VGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogInNwYW4iCisgICAgLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAic3BhbiIKICAgICAgICAgICAgICAgICAgICAiLiI7CiB9
CiAKICNncmlkV2l0aERvdENvbHVtbiB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiaGVh
ZGVyIC4iCisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiaGVhZGVyIC4iCiAgICAg
ICAgICAgICAgICAgICAgImZvb3RlciAuIjsKIH0KIDwvc3R5bGU+CkBAIC00NSw3NSArNDUsNzUg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRXaXRo
U3Bhbm5pbmdSb3dzRG90VGVtcGxhdGUiPjwvZGl2PgogPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9Imdy
aWRXaXRoRG90Q29sdW1uIj48L2Rpdj4KIDxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBncmlkLXRlbXBsYXRlIGlzIHByb3Blcmx5IHBhcnNlZC4iKTsKKyAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdyaWQtdGVtcGxhdGUtYXJlYXMg
aXMgcHJvcGVybHkgcGFyc2VkLiIpOwogCi0gICAgZnVuY3Rpb24gdGVzdEdyaWRUZW1wbGF0ZShn
cmlkSXRlbUlELCBleHBlY3RlZFJlc3VsdCkgewotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImdldENvbXB1dGVkU3R5bGUoIiArIGdyaWRJdGVtSUQgKyAiKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSIsIGV4cGVjdGVkUmVzdWx0KTsKKyAgICBmdW5jdGlv
biB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoZ3JpZEl0ZW1JRCwgZXhwZWN0ZWRSZXN1bHQpIHsKKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKCIgKyBncmlkSXRl
bUlEICsgIikuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJyki
LCBleHBlY3RlZFJlc3VsdCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gdGVzdEpTR3JpZFRlbXBs
YXRlKGVsZW1lbnQsIGV4cGVjdGVkUmVzdWx0KSB7CisgICAgZnVuY3Rpb24gdGVzdEpTR3JpZFRl
bXBsYXRlQXJlYXMoZWxlbWVudCwgZXhwZWN0ZWRSZXN1bHQpIHsKICAgICAgICAgdGhpcy5lbGVt
ZW50ID0gZWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScp
IiwgZXhwZWN0ZWRSZXN1bHQpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLWFyZWFzJykiLCBleHBlY3RlZFJlc3VsdCk7CiAgICAgfQogCi0gICAgZGVidWcoIlRlc3Qg
Z2V0dGluZyBncmlkLXRlbXBsYXRlIHNldCB0aHJvdWdoIENTUy4iKTsKLSAgICB0ZXN0R3JpZFRl
bXBsYXRlKCJncmlkV2l0aERlZmF1bHRUZW1wbGF0ZSIsICJub25lIik7Ci0gICAgdGVzdEdyaWRU
ZW1wbGF0ZSgiZ3JpZFdpdGhTaW5nbGVTdHJpbmdUZW1wbGF0ZSIsICciYXJlYSInKTsKLSAgICB0
ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSIsICciZmlyc3Qgc2Vj
b25kIicpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoVHdvUm93c1RlbXBsYXRlIiwg
JyJmaXJzdCIgInNlY29uZCInKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aFNwYW5u
aW5nQ29sdW1uc1RlbXBsYXRlIiwgJyJzcGFuIHNwYW4iJyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0
ZSgiZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSIsICcic3BhbiIgIi4iJyk7Ci0gICAg
dGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhEb3RDb2x1bW4iLCAnImhlYWRlciAuIiAiZm9vdGVy
IC4iJyk7CisgICAgZGVidWcoIlRlc3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlLWFyZWFzIHNldCB0
aHJvdWdoIENTUy4iKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoRGVmYXVs
dFRlbXBsYXRlIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRo
U2luZ2xlU3RyaW5nVGVtcGxhdGUiLCAnImFyZWEiJyk7CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFy
ZWFzKCJncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSIsICciZmlyc3Qgc2Vjb25kIicpOworICAg
IHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUiLCAnImZpcnN0
IiAic2Vjb25kIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhTcGFubmlu
Z0NvbHVtbnNUZW1wbGF0ZSIsICcic3BhbiBzcGFuIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVB
cmVhcygiZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSIsICcic3BhbiIgIi4iJyk7Cisg
ICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aERvdENvbHVtbiIsICciaGVhZGVyIC4i
ICJmb290ZXIgLiInKTsKIAotICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGU6IGluaXRpYWwi
KTsKKyAgICBkZWJ1ZygiVGVzdCBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbml0aWFsIik7CiAgICAg
dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3Jp
ZFRlbXBsYXRlID0gIidmb29iYXInIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwg
JyJmb29iYXIiJyk7Ci0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiaW5p
dGlhbCI7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInZm9v
YmFyJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgJyJmb29iYXIiJyk7
CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICJpbml0aWFsIjsK
ICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpOwogCi0gICAgZGVidWcoIlRl
c3QgZ3JpZC10ZW1wbGF0ZTogaW5oZXJpdCIpOworICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxh
dGUtYXJlYXM6IGluaGVyaXQiKTsKICAgICB2YXIgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50
RWxlbWVudCk7Ci0gICAgcGFyZW50RWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAi
J2ZvbyBiYXInIjsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUo
cGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJyki
LCAnImZvbyBiYXIiJyk7CisgICAgcGFyZW50RWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxh
dGVBcmVhcyA9ICInZm9vIGJhciciOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtYXJlYXMnKSIsICciZm9vIGJhciInKTsKIAogICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGls
ZChlbGVtZW50KTsKLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICJpbmhl
cml0IjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgJyJmb28gYmFyIicpOworICAg
IGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiaW5oZXJpdCI7CisgICAg
dGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgJyJmb28gYmFyIicpOwogICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQocGFyZW50RWxlbWVudCk7CiAKLSAgICBkZWJ1ZygiVGVzdCBp
bnZhbGlkIGdyaWQtdGVtcGxhdGUgdmFsdWVzLiIpOworICAgIGRlYnVnKCJUZXN0IGludmFsaWQg
Z3JpZC10ZW1wbGF0ZS1hcmVhcyB2YWx1ZXMuIik7CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVs
ZW1lbnQpOwogCiAgICAgLy8gJ25hdicgaXMgbm90IGEgcmVjdGFuZ3VsYXIgZGVmaW5pdGlvbi4K
LSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInbmF2IGhlYWQnICduYXYg
bmF2JyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7CisgICAgZWxl
bWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2IGhlYWQnICduYXYgbmF2
JyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIAogICAg
IC8vICduYXYnIGlzIG5vdCBjb250aWd1b3VzIGluIHRoZSBjb2x1bW4gZGlyZWN0aW9uLgotICAg
IGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIiduYXYgaGVhZCBuYXYnIjsKLSAg
ICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxl
LndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCBuYXYnIjsKKyAgICB0ZXN0SlNH
cmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAgLy8gJ25hdicgaXMgbm90
IGNvbnRpZ3VvdXMgaW4gdGhlIHJvdyBkaXJlY3Rpb24uCi0gICAgZWxlbWVudC5zdHlsZS53ZWJr
aXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkJyAnbWlkZGxlIG1pZGRsZScgJ25hdiBmb290ZXIn
IjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50
LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCcgJ21pZGRsZSBtaWRk
bGUnICduYXYgZm9vdGVyJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwg
Im5vbmUiKTsKIAogICAgIC8vIFRoZSByb3dzIGRvbid0IGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9m
IGNvbHVtbnMuCi0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBo
ZWFkJyAnZm9vdCciOwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOwor
ICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ25hdiBoZWFkJyAn
Zm9vdCciOworICAgIHRlc3RKU0dyaWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAK
ICAgICAvLyBFbXB0eSByb3dzLgotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
ID0gIicnICcnIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAg
ICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIicnICcnIjsKKyAgICB0
ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAgZGVidWcoIiIp
OwogICAgIGRlYnVnKCJGSVhNRTogV2UgY3VycmVudGx5IGRvbid0IHZhbGlkYXRlIHRoYXQgdGhl
IG5hbWVkIGdyaWQgYXJlYXMgYXJlICZsdDtpbmRlbnQmZ3Q7LiIpOwogICAgIC8vIDxpZGVudD4g
b25seSBhbGxvd3MgYSBsZWFkaW5nICctJy4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRU
ZW1wbGF0ZSA9ICInbmF2LXVwJyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICJu
b25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2
LXVwJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223734</attachid>
            <date>2014-02-10 12:37:25 -0800</date>
            <delta_ts>2014-02-13 06:04:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127990-20140210213723.patch</filename>
            <type>text/plain</type>
            <size>53859</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYzYzU5MDE3ODJiYTcy
NTYyYmQ4NWFlNmU1NDhlYTJiNTg3ODdiNi4uYWMwMzBjN2FiMmFlNDU5MjhjMjZmN2ZiNDQ4MzRj
ZjcyMGIzMjUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAyLTA3ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdv
QGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMg
YmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJworICAgICAgICBpbiB0aGUgbGFz
dCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUpOgorICAg
ICAgICAqIGNzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmluZ0ZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAq
IGNzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlOjp+Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpncmlkQXJlYU1hcCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpyb3dDb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjb2x1bW5Db3VudCk6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1w
bGF0ZUFyZWFzKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisKIDIwMTQtMDIt
MDcgIExhc3psbyBWaWRhY3MgIDxsdmlkYWNzLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgUmVuYW1pbmcgaXNUYWJsZUVsZW1lbnQoKSB0byBpc1JlbmRlcmVkVGFibGUo
KSBhcyBwZXIgdGhlIEZJWE1FIGNvbW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDEy
OTM2NjczYmI2Nzc1YWM2OGYzMzM4YTExZGQwNzIyMzc3MmU2NjEuLjdkOTY5YzUzODAxZmYxZWNm
NzFmMGQzYzcwZWI1NmQzZjRiODUyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDE0LTAyLTA3ICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBw
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHBy
b3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRl
LWFyZWFzJworICAgICAgICBpbiB0aGUgbGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisK
KyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9jc3MuanM6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qczoKKwogMjAxNC0wMi0wNiAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBDb25zb2xlIHN1cHBvcnQgdG8gSlNDb250ZXh0IEluc3BlY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggODQ1ODQwY2E4MmM5OWE1YzM0YjEyNDJiYjE2OWU4NGEyMzNjMjQ2YS4uOTll
NGEwN2NiYmE1YTMwOGFiMDBiMzNiYWE3OTg5ZDc0NTc1YzNiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTEwMzYsNyArMTAzNiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NT
Rm9udFZhbHVlLmNwcAogICAgIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NH
cmFkaWVudFZhbHVlLmNwcAotICAgIGNzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAKKyAgICBj
c3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxl
LmNwcAogICAgIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFn
ZVNldFZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjg3N2RkZjM3
MmFkZmQ5YzM3NmI0YjFhYzI2Y2IxZmZjYmQzZDQzMi4uOTU1MjE4NWEzNTM3NzYyODM3MDE1YjA1
ZGY1YzIxMjFmMWU5N2Y4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNTUz
LDggKzI1NTMsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaCBcCi0JU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0hlbHBlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDZhMjE2YzUwY2VjNTg1MGYyNWExNmEwMzQ3ZmRjNzdk
YWZlNjQxNzEuLmNmYmExY2Y4YzdiODQ2ZDMyZTRlMWVjNzRlM2MzNWMyZmMwZWQyNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtOTAw
Myw3ICs5MDAzLDcgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyb3VwaW5nUnVsZS5jcHAiPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk2MDcsNyArMTk2MDcsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0ZvbnRWYWx1ZS5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0Z1bmN0aW9uVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmFkaWVudFZhbHVlLmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JvdXBpbmdSdWxlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTSGVscGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIiAvPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmlu
ZGV4IGI3MTVkODdhYWU0MjU1YmNlYWE3N2NmNzdhMDA0NTRmODgwZDI3NjIuLmQ4M2VlZmU2ODJh
NjU0ZDg4YTMzZThhY2U0MmU2OTA4NjAxNjgzNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY5NjEsNyAr
Njk2MSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGlu
ZUxheW91dEZ1bmN0aW9ucy5jcHAiPgogICAgICAgPEZpbHRlcj5yZW5kZXJpbmc8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlk
VGVtcGxhdGVWYWx1ZS5jcHAiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAg
ICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4
ZWRkYlxJREJDdXJzb3JCYWNrZW5kLmNwcCI+CkBAIC0xNDc2NCw3ICsxNDc2NCw3IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcU2ltcGxlTGluZUxheW91dEZ1bmN0aW9u
cy5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCI+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1
ZS5oIj4KICAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGluZGV4ZWRkYlxJREJEYXRhYmFzZUJhY2tl
bmQuaCI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMzI1YzYyOWJiNjdiNTcwZjNkODY3MjM3MWU5Y2FjM2Y4NWYzZGU4Yy4uZDgw
MDkxODNiZDVmM2MzMGFmZWUyMDdmNDRlMGQyZTFmMWJjM2NiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ1MSw4ICs1NDUx
LDggQEAKIAkJQ0QzQTQ5NjQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUIx
N0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuY3BwICovOyB9OwogCQlDRDNBNDk2
NTE3QTlEMDFCMDAyNzRFNDIgLyogU291cmNlQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzQTQ5NUMxN0E5RDAxQjAwMjc0RTQyIC8q
IFNvdXJjZUJ1ZmZlckxpc3QuaCAqLzsgfTsKIAkJQ0QzRTI1MUMxODA0NkIwNjAwRTI3RjU2IC8q
IEdyaWRDb29yZGluYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZENvb3JkaW5hdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDRDNFMjUyMzE4
MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2
IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCAqLzsgfTsKLQkJQ0QzRTI1MjQxODA0NkJDRDAw
RTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaCAqLzsgfTsKKwkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuY3BwICovOyB9OworCQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyog
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuaCAqLzsgfTsKIAkJQ0Q0N0IzRkMxNkNDMzRGODAwQTIxRUM4IC8qIENE
TVByaXZhdGVBVkZvdW5kYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDQ3QjNGQTE2Q0MzNEY4MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91
bmRhdGlvbi5tbSAqLzsgfTsKIAkJQ0Q0QUM1MkExNDk2QUU5QTAwODdDNEVGIC8qIENvbXBvc2l0
ZS53YXYgaW4gQ29weSBBdWRpbyBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q0QUM1MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi87IH07
CiAJCUNENTM5M0QzMTc1RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzRDExNzVFMDE4NjAw
QzA3MTIzIC8qIEpTTWVtb3J5SW5mby5jcHAgKi87IH07CkBAIC0xMjY3Miw4ICsxMjY3Miw4IEBA
CiAJCUNEM0E0OTVDMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzQTQ5NUQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1
ZmZlckxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlckxpc3QuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDNFMjUxQjE4MDQ2QjA2MDBFMjdGNTYg
LyogR3JpZENvb3JkaW5hdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR3Jp
ZENvb3JkaW5hdGUuaDsgcGF0aCA9IHN0eWxlL0dyaWRDb29yZGluYXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUNEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVt
cGxhdGVWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NH
cmlkVGVtcGxhdGVWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEM0Uy
NTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ3QjNGOTE2Q0MzNEY4
MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNENDdCM0ZBMTZDQzM0RjgwMEEyMUVDOCAvKiBDRE1Qcml2YXRlQVZGb3Vu
ZGF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ0RNUHJp
dmF0ZUFWRm91bmRhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0QUM1
MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUgPSBDb21wb3NpdGUu
d2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0NvbXBvc2l0ZS53YXY7IHNvdXJj
ZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKQEAgLTIxMjcxLDggKzIxMjcxLDggQEAKIAkJRjUyM0Qx
ODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCi0JCQkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1w
bGF0ZVZhbHVlLmNwcCAqLywKLQkJCQlDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaCAqLywKKwkJCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NT
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgKi8sCisJCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3
RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLywKIAkJCQk5M0NBNEM5QzA5REY5
M0ZBMDBERjg2NzcgLyogbWFrZXRva2VuaXplciAqLywKIAkJCQlGQkQ2QUY4NDE1RUYyMUQ0MDA4
QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJRkJENkFGODUxNUVGMjFE
NDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuaCAqLywKQEAgLTI1OTIzLDcgKzI1OTIz
LDcgQEAKIAkJCQlCRTE2QzU5NTE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRy
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEwRDc2ODE3RDhFRTcxMDA1RTI2MjYgLyogUmVu
ZGVyQmxvY2tGbG93LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdG
NTYgLyogR3JpZENvb3JkaW5hdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCUNEM0UyNTI0MTgwNDZC
Q0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0QzRTI1MjQxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUNERUY0RkQ3MTdFODVDOEYwMEFFRTI0QiAvKiBHcmlkTGVuZ3Ro
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREU3RkM0NTE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJ
dGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkU5MTNEODAxODFFRjkyNDAwRENCMDlFIC8q
IFRyYWNrUHJpdmF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjkwOTMsNyArMjkwOTMsNyBA
QAogCQkJCUJFMTZDNTkyMTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRHZW5lcmljVGV4dFRyYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJh
bmRXZWJWVFRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMEQ3NjcxN0Q4RUU2
RTAwNUUyNjI2IC8qIFJlbmRlckJsb2NrRmxvdy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDNF
MjUyMzE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFN0ZDNDQxODE5MDRCMTAwMkJCQjc3
IC8qIE9yZGVySXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQ3NzI4MjhjMGNlNThhYjRm
MzhlN2I0ZmVjODc3MWFmY2FkODI1N2UuLmZlODA0ZDcyNmY5YThkZTYzMGM5YjcxODhmODc1MTk5
YjRjZDAyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0
aW9uVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgorI2luY2x1ZGUg
IkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFp
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKQEAgLTIxMDEsMTMgKzIxMDEsMTMgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29t
cHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQK
ICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6CiAgICAgICAgICAgICByZXR1
cm4gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtpdEdyaWRSb3dTaG9y
dGhhbmQoKSk7CiAKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZToK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzOgogICAgICAg
ICAgICAgaWYgKCFzdHlsZS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCkpIHsKICAgICAgICAgICAg
ICAgICBBU1NFUlQoIXN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NW
YWx1ZU5vbmUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICByZXR1cm4gQ1NTR3JpZFRl
bXBsYXRlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bmFtZWRHcmlkQXJlYSgpLCBzdHlsZS0+bmFtZWRH
cmlkQXJlYVJvd0NvdW50KCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7Cisg
ICAgICAgICAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKHN0eWxl
LT5uYW1lZEdyaWRBcmVhKCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhUm93Q291bnQoKSwgc3R5bGUt
Pm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudCgpKTsKIAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
SGVpZ2h0OgogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ1ZjExNzZm
MTdjMDVlY2ViZDdkMGRlMDI0NThiMjNlYzBiNTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcApAQCAtMCwwICsxLDg3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NHcmlkVGVt
cGxhdGVBcmVhc1ZhbHVlLmgiCisKKyNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitD
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKGNvbnN0
IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBj
b2x1bW5Db3VudCkKKyAgICA6IENTU1ZhbHVlKEdyaWRUZW1wbGF0ZUFyZWFzQ2xhc3MpCisgICAg
LCBtX2dyaWRBcmVhTWFwKGdyaWRBcmVhTWFwKQorICAgICwgbV9yb3dDb3VudChyb3dDb3VudCkK
KyAgICAsIG1fY29sdW1uQ291bnQoY29sdW1uQ291bnQpCit7CisgICAgQVNTRVJUKG1fcm93Q291
bnQpOworICAgIEFTU0VSVChtX2NvbHVtbkNvdW50KTsKK30KKworc3RhdGljIFN0cmluZyBzdHJp
bmdGb3JQb3NpdGlvbihjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90
IHJvdywgc2l6ZV90IGNvbHVtbikKK3sKKyAgICBWZWN0b3I8U3RyaW5nPiBjYW5kaWRhdGVzOwor
CisgICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFyZWFNYXAuYmVnaW4oKSwgZW5kID0gZ3JpZEFyZWFN
YXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0
ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsKKyAgICAgICAgaWYgKHJvdyA+PSBjb29yZGluYXRl
LnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYgcm93IDw9IGNvb3JkaW5hdGUucm93cy5maW5h
bFBvc2l0aW9uSW5kZXgpCisgICAgICAgICAgICBjYW5kaWRhdGVzLmFwcGVuZChpdC0+a2V5KTsK
KyAgICB9CisKKyAgICBmb3IgKGF1dG8gaXQgPSBncmlkQXJlYU1hcC5iZWdpbigpLCBlbmQgPSBn
cmlkQXJlYU1hcC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIGNvbnN0IEdyaWRD
b29yZGluYXRlJiBjb29yZGluYXRlID0gaXQtPnZhbHVlOworICAgICAgICBpZiAoY29sdW1uID49
IGNvb3JkaW5hdGUuY29sdW1ucy5pbml0aWFsUG9zaXRpb25JbmRleCAmJiBjb2x1bW4gPD0gY29v
cmRpbmF0ZS5jb2x1bW5zLmZpbmFsUG9zaXRpb25JbmRleCAmJiBjYW5kaWRhdGVzLmNvbnRhaW5z
KGl0LT5rZXkpKQorICAgICAgICAgICAgcmV0dXJuIGl0LT5rZXk7CisgICAgfQorCisgICAgcmV0
dXJuICIuIjsKK30KKworU3RyaW5nIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmN1c3RvbUNT
U1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICBmb3IgKHNp
emVfdCByb3cgPSAwOyByb3cgPCBtX3Jvd0NvdW50OyArK3JvdykgeworICAgICAgICBidWlsZGVy
LmFwcGVuZCgnXCInKTsKKyAgICAgICAgZm9yIChzaXplX3QgY29sdW1uID0gMDsgY29sdW1uIDwg
bV9jb2x1bW5Db3VudDsgKytjb2x1bW4pIHsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHN0
cmluZ0ZvclBvc2l0aW9uKG1fZ3JpZEFyZWFNYXAsIHJvdywgY29sdW1uKSk7CisgICAgICAgICAg
ICBpZiAoY29sdW1uICE9IG1fY29sdW1uQ291bnQgLSAxKQorICAgICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7CisgICAgICAgIH0KKyAgICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7
CisgICAgICAgIGlmIChyb3cgIT0gbV9yb3dDb3VudCAtIDEpCisgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgnICcpOworICAgIH0KKyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRU
ZW1wbGF0ZUFyZWFzVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTU0NmZhYmVlZWIyNDI2ZDJjYTgyMThh
N2RiNDBkMDUwNTBjY2RmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZV9oCisjZGVmaW5lIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlICJHcmlkQ29v
cmRpbmF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmPENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU+IGNyZWF0ZShjb25zdCBOYW1lZEdyaWRBcmVh
TWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvd0NvdW50LCBzaXplX3QgY29sdW1uQ291bnQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NHcmlkVGVtcGxhdGVBcmVhc1Zh
bHVlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQpKTsKKyAgICB9CisKKyAgICB+
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSgpIHsgfQorCisgICAgU3RyaW5nIGN1c3RvbUNTU1Rl
eHQoKSBjb25zdDsKKworICAgIGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwKCkg
Y29uc3QgeyByZXR1cm4gbV9ncmlkQXJlYU1hcDsgfQorICAgIHNpemVfdCByb3dDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fcm93Q291bnQ7IH0KKyAgICBzaXplX3QgY29sdW1uQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX2NvbHVtbkNvdW50OyB9CisKK3ByaXZhdGU6CisgICAgQ1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZShjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiwgc2l6ZV90IHJvd0NvdW50LCBz
aXplX3QgY29sdW1uQ291bnQpOworCisgICAgTmFtZWRHcmlkQXJlYU1hcCBtX2dyaWRBcmVhTWFw
OworICAgIHNpemVfdCBtX3Jvd0NvdW50OworICAgIHNpemVfdCBtX2NvbHVtbkNvdW50OworfTsK
KworQ1NTX1ZBTFVFX1RZUEVfQ0FTVFMoQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSwgaXNHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlKCkpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NH
cmlkVGVtcGxhdGVWYWx1ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmYThl
ZjUyM2NlZGY2MTBhNTUxOTMyNWFhMDQxOGJjZjcxNWJjMzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1w
bGF0ZVZhbHVlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
Ci0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDU1NH
cmlkVGVtcGxhdGVWYWx1ZS5oIgotCi0jaW5jbHVkZSAiR3JpZENvb3JkaW5hdGUuaCIKLSNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Q1NTR3JpZFRlbXBsYXRlVmFsdWU6OkNTU0dyaWRUZW1wbGF0ZVZhbHVlKGNvbnN0IE5hbWVkR3Jp
ZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3Vu
dCkKLSAgICA6IENTU1ZhbHVlKEdyaWRUZW1wbGF0ZUNsYXNzKQotICAgICwgbV9ncmlkQXJlYU1h
cChncmlkQXJlYU1hcCkKLSAgICAsIG1fcm93Q291bnQocm93Q291bnQpCi0gICAgLCBtX2NvbHVt
bkNvdW50KGNvbHVtbkNvdW50KQotewotICAgIEFTU0VSVChtX3Jvd0NvdW50KTsKLSAgICBBU1NF
UlQobV9jb2x1bW5Db3VudCk7Ci19Ci0KLXN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yUG9zaXRpb24o
Y29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3csIHNpemVfdCBj
b2x1bW4pCi17Ci0gICAgVmVjdG9yPFN0cmluZz4gY2FuZGlkYXRlczsKLQotICAgIGZvciAoYXV0
byBpdCA9IGdyaWRBcmVhTWFwLmJlZ2luKCksIGVuZCA9IGdyaWRBcmVhTWFwLmVuZCgpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUg
PSBpdC0+dmFsdWU7Ci0gICAgICAgIGlmIChyb3cgPj0gY29vcmRpbmF0ZS5yb3dzLmluaXRpYWxQ
b3NpdGlvbkluZGV4ICYmIHJvdyA8PSBjb29yZGluYXRlLnJvd3MuZmluYWxQb3NpdGlvbkluZGV4
KQotICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBlbmQoaXQtPmtleSk7Ci0gICAgfQotCi0gICAg
Zm9yIChhdXRvIGl0ID0gZ3JpZEFyZWFNYXAuYmVnaW4oKSwgZW5kID0gZ3JpZEFyZWFNYXAuZW5k
KCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29v
cmRpbmF0ZSA9IGl0LT52YWx1ZTsKLSAgICAgICAgaWYgKGNvbHVtbiA+PSBjb29yZGluYXRlLmNv
bHVtbnMuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYgY29sdW1uIDw9IGNvb3JkaW5hdGUuY29sdW1u
cy5maW5hbFBvc2l0aW9uSW5kZXggJiYgY2FuZGlkYXRlcy5jb250YWlucyhpdC0+a2V5KSkKLSAg
ICAgICAgICAgIHJldHVybiBpdC0+a2V5OwotICAgIH0KLQotICAgIHJldHVybiAiLiI7Ci19Ci0K
LVN0cmluZyBDU1NHcmlkVGVtcGxhdGVWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Ci17Ci0g
ICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgIGZvciAoc2l6ZV90IHJvdyA9IDA7IHJvdyA8
IG1fcm93Q291bnQ7ICsrcm93KSB7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdcIicpOwotICAg
ICAgICBmb3IgKHNpemVfdCBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtX2NvbHVtbkNvdW50OyArK2Nv
bHVtbikgewotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nRm9yUG9zaXRpb24obV9n
cmlkQXJlYU1hcCwgcm93LCBjb2x1bW4pKTsKLSAgICAgICAgICAgIGlmIChjb2x1bW4gIT0gbV9j
b2x1bW5Db3VudCAtIDEpCi0gICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLSAg
ICAgICAgfQotICAgICAgICBidWlsZGVyLmFwcGVuZCgnXCInKTsKLSAgICAgICAgaWYgKHJvdyAh
PSBtX3Jvd0NvdW50IC0gMSkKLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAg
fQotICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYWUwMWM0ODU2ZjczNGIyOTczZDliYTEyNjhhNDk3NjRh
Nzc3ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJp
YnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENT
U0dyaWRUZW1wbGF0ZVZhbHVlX2gKLSNkZWZpbmUgQ1NTR3JpZFRlbXBsYXRlVmFsdWVfaAotCi0j
aW5jbHVkZSAiQ1NTVmFsdWUuaCIKLSNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENTU0dyaWRUZW1wbGF0ZVZhbHVlIDogcHVibGljIENT
U1ZhbHVlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZjxDU1NHcmlkVGVtcGxhdGVWYWx1
ZT4gY3JlYXRlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93
Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENTU0dyaWRUZW1wbGF0ZVZhbHVlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1u
Q291bnQpKTsKLSAgICB9Ci0KLSAgICB+Q1NTR3JpZFRlbXBsYXRlVmFsdWUoKSB7IH0KLQotICAg
IFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7Ci0KLSAgICBjb25zdCBOYW1lZEdyaWRBcmVh
TWFwJiBncmlkQXJlYU1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JpZEFyZWFNYXA7IH0KLSAgICBz
aXplX3Qgcm93Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3Jvd0NvdW50OyB9Ci0gICAgc2l6ZV90
IGNvbHVtbkNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5Db3VudDsgfQotCi1wcml2YXRl
OgotICAgIENTU0dyaWRUZW1wbGF0ZVZhbHVlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmLCBzaXpl
X3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCk7Ci0KLSAgICBOYW1lZEdyaWRBcmVhTWFw
IG1fZ3JpZEFyZWFNYXA7Ci0gICAgc2l6ZV90IG1fcm93Q291bnQ7Ci0gICAgc2l6ZV90IG1fY29s
dW1uQ291bnQ7Ci19OwotCi1DU1NfVkFMVUVfVFlQRV9DQVNUUyhDU1NHcmlkVGVtcGxhdGVWYWx1
ZSwgaXNHcmlkVGVtcGxhdGVWYWx1ZSgpKQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBDU1NHcmlkVGVtcGxhdGVWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmlu
ZGV4IGQyMWM0M2VmYzQ4MmUwYTFiNDgxYzM2MDc0ZDA5MTIwZTdmNGNkZGIuLjk4ZDFiZWIxOGM1
NjhhZjY4NWZlOGI2M2Q3ZDQ5NmU3ZDE2OGNiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKLSNpbmNs
dWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW5o
ZXJpdGVkVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKQEAgLTI1OTcsMTEg
KzI1OTcsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBy
ZXR1cm4gcGFyc2VHcmlkQXJlYVNob3J0aGFuZChpbXBvcnRhbnQpOwogCi0gICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3Jp
ZFRlbXBsYXRlQXJlYXM6CiAgICAgICAgIGlmICghY3NzR3JpZExheW91dEVuYWJsZWQoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlR3Jp
ZFRlbXBsYXRlKCk7CisgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VHcmlkVGVtcGxhdGVBcmVh
cygpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5D
b2xsYXBzZTogewpAQCAtNTEzNSw3ICs1MTM1LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRGFz
aGJvYXJkUmVnaW9ucyhDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAKICNl
bmRpZiAvKiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpICovCiAKLVBhc3NSZWZQdHI8Q1NTVmFs
dWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGUoKQorUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCkKIHsKICAgICBOYW1lZEdyaWRBcmVh
TWFwIGdyaWRBcmVhTWFwOwogICAgIHNpemVfdCByb3dDb3VudCA9IDA7CkBAIC01MjA3LDcgKzUy
MDcsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlR3JpZFRlbXBsYXRl
KCkKICAgICBpZiAoIXJvd0NvdW50IHx8ICFjb2x1bW5Db3VudCkKICAgICAgICAgcmV0dXJuIDA7
CiAKLSAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlVmFsdWU6OmNyZWF0ZShncmlkQXJlYU1hcCwg
cm93Q291bnQsIGNvbHVtbkNvdW50KTsKKyAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZTo6Y3JlYXRlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQpOwogfQogCiBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlQ291bnRlckNvbnRlbnQoQ1NTUGFy
c2VyVmFsdWVMaXN0KiBhcmdzLCBib29sIGNvdW50ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmlu
ZGV4IDJjNmVmNThhZGM2MWExNzdkZmI4NjA3MjdkNTAxMDdiYzAwYzdmODcuLjc3OTRmZWNjMmEw
MmQ1YTFjNjg4NTQxNDE2NjI1NWE4M2VlMjdhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAg
LTE2MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUdyaWRUcmFja1JlcGVhdEZ1
bmN0aW9uKENTU1ZhbHVlTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3Jp
ZFRyYWNrU2l6ZShDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCk7CiAgICAgUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gcGFyc2VHcmlkQnJlYWR0aChDU1NQYXJzZXJWYWx1ZSopOwot
ICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFRlbXBsYXRlKCk7CisgICAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVGVtcGxhdGVBcmVhcygpOwogICAgIHZvaWQgcGFyc2VH
cmlkVHJhY2tOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCwgQ1NTVmFsdWVMaXN0
JiB2YWx1ZXMpOwogCiAgICAgYm9vbCBwYXJzZURhc2hib2FyZFJlZ2lvbnMoQ1NTUHJvcGVydHlJ
RCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpp
bmRleCA0MGNiYzA4NDc3MDAwZDM3YzYyNmY5ODMwMDU4NmIyMDU2Y2U1MjFjLi4zOTNjNGZmYmRm
YzY3NjE4YjAwNDNkNWU3YzEwMzNjNjQ4ZmM4N2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbgpAQCAtMzEwLDcgKzMxMCw3IEBAIHotaW5kZXgKIC13ZWJraXQtZ3JpZC1y
b3ctc3RhcnQKIC13ZWJraXQtZ3JpZC1jb2x1bW4KIC13ZWJraXQtZ3JpZC1yb3cKLS13ZWJraXQt
Z3JpZC10ZW1wbGF0ZQorLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzCiAtd2Via2l0LWdyaWQt
YXV0by1mbG93CiAtd2Via2l0LWhpZ2hsaWdodCBbSW5oZXJpdGVkXQogLXdlYmtpdC1oeXBoZW5h
dGUtY2hhcmFjdGVyIFtJbmhlcml0ZWRdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA4MmUx
YzY4MmQ2NTIyYjUwYmU1NWJmMjg1ZTNlZTM0Nzk3MDliMWYwLi42ZjIwNjM0ZmJiMDJmNTc2ODU5
ODc4ZjYxOTRiYTZmMmU0MWFhNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTQwLDcg
KzQwLDcgQEAKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGdW5jdGlv
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU0dy
aWRUZW1wbGF0ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0ltYWdlU2V0VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFsdWUuaCIKQEAgLTE4OSw4ICsxODksOCBAQCBi
b29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90aGVyKSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTSW5oZXJpdGVkVmFsdWU+KCp0aGlzLCBv
dGhlcik7CiAgICAgICAgIGNhc2UgSW5pdGlhbENsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNv
bXBhcmVDU1NWYWx1ZXM8Q1NTSW5pdGlhbFZhbHVlPigqdGhpcywgb3RoZXIpOwotICAgICAgICBj
YXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1
ZXM8Q1NTR3JpZFRlbXBsYXRlVmFsdWU+KCp0aGlzLCBvdGhlcik7CisgICAgICAgIGNhc2UgR3Jp
ZFRlbXBsYXRlQXJlYXNDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2Ug
UHJpbWl0aXZlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NQ
cmltaXRpdmVWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBSZWZsZWN0Q2xhc3M6
CkBAIC0yNzUsOCArMjc1LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIHRvQ1NTSW5oZXJpdGVkVmFsdWUodGhpcyktPmN1c3RvbUNTU1RleHQoKTsK
ICAgICBjYXNlIEluaXRpYWxDbGFzczoKICAgICAgICAgcmV0dXJuIHRvQ1NTSW5pdGlhbFZhbHVl
KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7Ci0gICAgY2FzZSBHcmlkVGVtcGxhdGVDbGFzczoKLSAg
ICAgICAgcmV0dXJuIHRvQ1NTR3JpZFRlbXBsYXRlVmFsdWUodGhpcyktPmN1c3RvbUNTU1RleHQo
KTsKKyAgICBjYXNlIEdyaWRUZW1wbGF0ZUFyZWFzQ2xhc3M6CisgICAgICAgIHJldHVybiB0b0NT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUodGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNl
IFByaW1pdGl2ZUNsYXNzOgogICAgICAgICByZXR1cm4gdG9DU1NQcmltaXRpdmVWYWx1ZSh0aGlz
KS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgUmVmbGVjdENsYXNzOgpAQCAtMzY2LDggKzM2
Niw4IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgSW5pdGlhbENsYXNzOgog
ICAgICAgICBkZWxldGUgdG9DU1NJbml0aWFsVmFsdWUodGhpcyk7CiAgICAgICAgIHJldHVybjsK
LSAgICBjYXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICBkZWxldGUgdG9DU1NHcmlkVGVt
cGxhdGVWYWx1ZSh0aGlzKTsKKyAgICBjYXNlIEdyaWRUZW1wbGF0ZUFyZWFzQ2xhc3M6CisgICAg
ICAgIGRlbGV0ZSB0b0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUodGhpcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgogICAgICAgICBkZWxldGUgdG9DU1NQcmlt
aXRpdmVWYWx1ZSh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggM2Q0NmY2ZDY2NWE5Yzhi
OTU3YmQ1MzViZGYyZTdhZTkwNWNkNTQxNS4uYzAyNGRhYjFhZmVkYTA1ZmUyYzYyZWY5MmZmOWQ3
ZTZiMjRjMzQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNGaWx0ZXJJbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5
cGUgPT0gRmlsdGVySW1hZ2VDbGFzczsgfQogICAgIGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9
CiAjZW5kaWYgLy8gRU5BQkxFKENTU19GSUxURVJTKQotICAgIGJvb2wgaXNHcmlkVGVtcGxhdGVW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEdyaWRUZW1wbGF0ZUNsYXNzOyB9
CisgICAgYm9vbCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOyB9CiAgICAgYm9vbCBpc1NWR0NvbG9y
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZHQ29sb3JDbGFzcyB8fCBtX2NsYXNz
VHlwZSA9PSBTVkdQYWludENsYXNzOyB9CiAgICAgYm9vbCBpc1NWR1BhaW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsgfQogICAgIGJvb2wgaXNVbmljb2Rl
UmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFVuaWNvZGVSYW5nZUNs
YXNzOyB9CkBAIC0xNTcsNyArMTU3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBVbmljb2RlUmFu
Z2VDbGFzcywKICAgICAgICAgTGluZUJveENvbnRhaW5DbGFzcywKICAgICAgICAgQ2FsY3VsYXRp
b25DbGFzcywKLSAgICAgICAgR3JpZFRlbXBsYXRlQ2xhc3MsCisgICAgICAgIEdyaWRUZW1wbGF0
ZUFyZWFzQ2xhc3MsCiAgICAgICAgIFNWR0NvbG9yQ2xhc3MsCiAgICAgICAgIFNWR1BhaW50Q2xh
c3MsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAwY2FmZDE4Nzk2NjJh
ZjZiZmEzYTU5OGVkNDhmNjQzZWRiNDI0ZjRmLi4xNzY4M2M2NzY5MjMyOGZlMGYzZDU5ZjIyMTIy
MTdlZDFmMGJiOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00MCw3
ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTRm9u
dFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRnVuY3Rpb25WYWx1ZS5oIgotI2luY2x1ZGUgIkNTU0dy
aWRUZW1wbGF0ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYWdl
UnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgpAQCAtMjcyNyw3ICsyNzI3LDcgQEAgdm9p
ZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVl
KiB2YWx1ZSkKICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0R3JpZEl0ZW1Sb3dFbmQocm93RW5k
UG9zaXRpb24pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRHcmlkVGVtcGxhdGU6IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBs
YXRlQXJlYXM6IHsKICAgICAgICAgaWYgKGlzSW5oZXJpdCkgewogICAgICAgICAgICAgc3RhdGUu
c3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYShzdGF0ZS5wYXJlbnRTdHlsZSgpLT5uYW1lZEdyaWRB
cmVhKCkpOwogICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYVJvd0Nv
dW50KHN0YXRlLnBhcmVudFN0eWxlKCktPm5hbWVkR3JpZEFyZWFSb3dDb3VudCgpKTsKQEAgLTI3
NDYsNyArMjc0Niw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICBDU1NHcmlkVGVtcGxhdGVWYWx1ZSogZ3JpZFRlbXBsYXRlVmFsdWUgPSB0
b0NTU0dyaWRUZW1wbGF0ZVZhbHVlKHZhbHVlKTsKKyAgICAgICAgQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZSogZ3JpZFRlbXBsYXRlVmFsdWUgPSB0b0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUo
dmFsdWUpOwogICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVhKGdyaWRUZW1w
bGF0ZVZhbHVlLT5ncmlkQXJlYU1hcCgpKTsKICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFt
ZWRHcmlkQXJlYVJvd0NvdW50KGdyaWRUZW1wbGF0ZVZhbHVlLT5yb3dDb3VudCgpKTsKICAgICAg
ICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KGdyaWRUZW1wbGF0
ZVZhbHVlLT5jb2x1bW5Db3VudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Ub29scy9QcmV0dHlQcmludGluZy9jc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9v
bHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzCmluZGV4IGQ4YzMwY2YzM2Q2ZmUxYjViNDUyZjM5ZTZm
YWEwYWFlOWEzNjFhZjQuLjc5OWVhMTZhOGMyZjBhNjc5ZGIxNTRhMzYxMTgzOGQwMDEyMGJiMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9j
c3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nz
cy5qcwpAQCAtMzc3LDcgKzM3Nyw3IEBAIENvZGVNaXJyb3IuZGVmaW5lTW9kZSgiY3NzIiwgZnVu
Y3Rpb24oY29uZmlnLCBwYXJzZXJDb25maWcpIHsKICAgICAiZm9udC13ZWlnaHQiLCAiZ3JpZC1j
ZWxsIiwgImdyaWQtY29sdW1uIiwgImdyaWQtY29sdW1uLWFsaWduIiwKICAgICAiZ3JpZC1jb2x1
bW4tc2l6aW5nIiwgImdyaWQtY29sdW1uLXNwYW4iLCAiZ3JpZC1jb2x1bW5zIiwgImdyaWQtZmxv
dyIsCiAgICAgImdyaWQtcm93IiwgImdyaWQtcm93LWFsaWduIiwgImdyaWQtcm93LXNpemluZyIs
ICJncmlkLXJvdy1zcGFuIiwKLSAgICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxhdGUiLCAiaGFu
Z2luZy1wdW5jdHVhdGlvbiIsICJoZWlnaHQiLCAiaHlwaGVucyIsCisgICAgImdyaWQtcm93cyIs
ICJncmlkLXRlbXBsYXRlLWFyZWFzIiwgImhhbmdpbmctcHVuY3R1YXRpb24iLCAiaGVpZ2h0Iiwg
Imh5cGhlbnMiLAogICAgICJpY29uIiwgImltYWdlLW9yaWVudGF0aW9uIiwgImltYWdlLXJlbmRl
cmluZyIsICJpbWFnZS1yZXNvbHV0aW9uIiwKICAgICAiaW5saW5lLWJveC1hbGlnbiIsICJqdXN0
aWZ5LWNvbnRlbnQiLCAibGVmdCIsICJsZXR0ZXItc3BhY2luZyIsCiAgICAgImxpbmUtYnJlYWsi
LCAibGluZS1oZWlnaHQiLCAibGluZS1zdGFja2luZyIsICJsaW5lLXN0YWNraW5nLXJ1YnkiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwv
Q29kZU1pcnJvci9jc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9F
eHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcwppbmRleCA3NzU0NWRmNTVkMTJlNzJkNjVlZTA4OTEy
NDIxN2E3MTVkM2M1OTg0Li41ZGRlZjY4ZjUzY2Q0ODFjM2JjZjgzYTNkNmE2ZjhiNjJjMzkxMGQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5h
bC9Db2RlTWlycm9yL2Nzcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcwpAQCAtMzc3LDcgKzM3Nyw3IEBAIENvZGVN
aXJyb3IuZGVmaW5lTW9kZSgiY3NzIiwgZnVuY3Rpb24oY29uZmlnLCBwYXJzZXJDb25maWcpIHsK
ICAgICAiZm9udC13ZWlnaHQiLCAiZ3JpZC1jZWxsIiwgImdyaWQtY29sdW1uIiwgImdyaWQtY29s
dW1uLWFsaWduIiwKICAgICAiZ3JpZC1jb2x1bW4tc2l6aW5nIiwgImdyaWQtY29sdW1uLXNwYW4i
LCAiZ3JpZC1jb2x1bW5zIiwgImdyaWQtZmxvdyIsCiAgICAgImdyaWQtcm93IiwgImdyaWQtcm93
LWFsaWduIiwgImdyaWQtcm93LXNpemluZyIsICJncmlkLXJvdy1zcGFuIiwKLSAgICAiZ3JpZC1y
b3dzIiwgImdyaWQtdGVtcGxhdGUiLCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJoZWlnaHQiLCAi
aHlwaGVucyIsCisgICAgImdyaWQtcm93cyIsICJncmlkLXRlbXBsYXRlLWFyZWFzIiwgImhhbmdp
bmctcHVuY3R1YXRpb24iLCAiaGVpZ2h0IiwgImh5cGhlbnMiLAogICAgICJpY29uIiwgImltYWdl
LW9yaWVudGF0aW9uIiwgImltYWdlLXJlbmRlcmluZyIsICJpbWFnZS1yZXNvbHV0aW9uIiwKICAg
ICAiaW5saW5lLWJveC1hbGlnbiIsICJqdXN0aWZ5LWNvbnRlbnQiLCAibGVmdCIsICJsZXR0ZXIt
c3BhY2luZyIsCiAgICAgImxpbmUtYnJlYWsiLCAibGluZS1oZWlnaHQiLCAibGluZS1zdGFja2lu
ZyIsICJsaW5lLXN0YWNraW5nLXJ1YnkiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5YjdlZDFhYmMwYWM3ZDdkMTY5OWUy
MzY5MDY3Mjg1ZWMyNzE2YzUuLjNhYjliNzZkZDFmMThjMWE3OTZmZmMwZjI0Y2FhYTFmMzU0NTcy
NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNC0wMi0wNyAgSmF2aWVyIEZlcm5hbmRleiAg
PGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBSZW5h
bWUgbmFtZWQgYXJlYXMgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNzk5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEZyb20gQmxpbmsgcjE2NTg5MSBieSA8cmVnb0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFRoZSBwcm9wZXJ0eSAnZ3JpZC10ZW1wbGF0ZScgaGFzIGJlZW4gcmVuYW1lZCB0
byAnZ3JpZC10ZW1wbGF0ZS1hcmVhcycKKyAgICAgICAgaW4gdGhlIGxhc3QgdHdvIHZlcnNpb25z
IG9mIHRoZSBzcGVjLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVt
LWFyZWEtZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
aXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nz
cy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdl
dC1zZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRl
LWdldC1zZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtdGVtcGxhdGUtZ2V0LXNldC5odG1sOgorCiAyMDE0LTAyLTA3ICBDaGFuZ1Nlb2sgT2ggIDxj
aGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBwb3J0
IGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC1pdGVtLWFyZWEtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1pdGVtLWFyZWEtZ2V0LXNldC5odG1sCmluZGV4IDg5MjU3MmUzZjE0ZTIzOTQ3
NzA5N2E4NzJjMzk4ZjQ4OTQzYWY4Y2MuLjM4YWE1YTg4NzA1OTczNGRmYzNkNzFlNDNiZjU1MWNk
OGY1ZGQzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtaXRlbS1hcmVhLWdldC1zZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWwKQEAgLTgsOCArOCw4IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKIDxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJz
dHlsZXNoZWV0Ij4KIDxzdHlsZT4KIC5ncmlkIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6
ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGly
ZEFyZWEgdGhpcmRBcmVhIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJz
dEFyZWEgc2Vjb25kQXJlYSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGly
ZEFyZWEgdGhpcmRBcmVhIjsKIH0KIAogI29uZVZhbHVlR3JpZEFyZWEgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0
LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNv
bHVtbi1yb3ctZ2V0LXNldC5odG1sCmluZGV4IDc1NzQ1NmRhZTA5YzgwMGY0M2Y5YTAxNDAzMDJl
MjQ1OTRjNjNjOWQuLmEwNWJmOWQwODEzMDFjOGRiZjlkMjE2YWE0NDA2MDJjNWZhODllNmEgMTAw
NzU1Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1
bW4tcm93LWdldC1zZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwKQEAgLTgsOCArOCw4IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKIDwvc2NyaXB0PgogPHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhczogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOwogfQogCiAuZ3JpZEl0ZW1XaXRoUG9z
aXRpdmVJbnRlZ2VyIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2dyaWQtaXRlbS1lbmQtYWZ0ZXItZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWVuZC1hZnRlci1nZXQtc2V0Lmh0bWwKaW5kZXggZGI4
ODM2N2Y4OWQxMTg2ZjM2YzAyOTczMWE2ZjgxMTU5NDNjODVkMC4uMmMxNWY1NGNiZWI4NDZjNzc2
ZmI3NGI4Nzc1ZjUxNTRmMTYyMzk4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWVuZC1hZnRlci1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWVuZC1hZnRlci1nZXQtc2V0Lmh0
bWwKQEAgLTgsOCArOCw4IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIDxsaW5rIGhyZWY9InJl
c291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDxzdHlsZT4KIC5ncmlkIHsKLSAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsKKyAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsKIH0KIAogLmdyaWRJdGVt
V2l0aFBvc2l0aXZlSW50ZWdlciB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEt
cmVzb2x1dGlvbi5odG1sCmluZGV4IDg3ZDQ4ZGM1MjI0MGYzYWIyOGNkMmM4ZTZkM2VhNDg4ZGFh
NjA4MDMuLjlhOTA4MTdhNDBhNDFkNDRiNDIxNGE4NzM0OWY1OGI3MTNlN2NlMDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlk
LWFyZWEtcmVzb2x1dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1dGlvbi5odG1sCkBAIC0xMywxMyAr
MTMsMTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogfQogCiAuZ3JpZFdpdGhvdXRSZXBlYXQg
ewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0IHNlY29uZCB0aGlyZCIKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZmlmdGggc2l4dGgiOworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0IHNlY29uZCB0aGlyZCIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJmb3VydGggZmlmdGggc2l4dGgiOwogfQogCiAuZ3JpZFdpdGhS
ZXBlYXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0ICBzZWNvbmQgdGhpcmQi
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZvdXJ0aCB0aGlyZCI7CisgICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3QgIHNlY29uZCB0aGlyZCIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZm91cnRoIHRoaXJkIjsKIH0KIAog
LmdyaWRJdGVtRmlyc3RBcmVhIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0
bWwKaW5kZXggZDhmM2NkMGViOGMwNjcxYzQ4OGYzNDMwZmM5Njg2ZjU4MzRmY2RiZC4uNGFkMTY3
YzY5NTkwN2UyM2FjYTIzNzQ1MGJkMTI2ZDRjYWI1MmI0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0
LWJlZm9yZS1nZXQtc2V0Lmh0bWwKQEAgLTgsOCArOCw4IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKIDxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDxz
dHlsZT4KIC5ncmlkIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdEFyZWEgc2Vj
b25kQXJlYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVh
IjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdEFyZWEgc2Vjb25kQXJl
YSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVh
IjsKIH0KIAogLmdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1n
ZXQtc2V0LWV4cGVjdGVkLnR4dAppbmRleCA1ODA1YjdhMGI4ZDNhZTNlNzY2Y2JjMmQ3NjA2M2Uw
N2QwNTc2OThiLi40YmEwYjExYzNkNGI2ZDQ5M2ZiM2YwZjRjMjA3MWFkM2Q4ZTY1ZDlmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdl
dC1zZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3RlZC50eHQKQEAgLTEsMzAgKzEsMzAgQEAKLVRo
aXMgdGVzdCBjaGVja3MgdGhhdCBncmlkLXRlbXBsYXRlIGlzIHByb3Blcmx5IHBhcnNlZC4KK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBncmlkLXRlbXBsYXRlLWFyZWFzIGlzIHByb3Blcmx5IHBhcnNl
ZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVRlc3QgZ2V0dGluZyBncmlkLXRl
bXBsYXRlIHNldCB0aHJvdWdoIENTUy4KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aERl
ZmF1bHRUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykg
aXMgIm5vbmUiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTaW5nbGVTdHJpbmdUZW1w
bGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiYXJl
YVwiIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoVHdvQ29sdW1uc1RlbXBsYXRlKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJmaXJzdCBzZWNv
bmRcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFR3b1Jvd3NUZW1wbGF0ZSkuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZmlyc3RcIiBcInNl
Y29uZFwiIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoU3Bhbm5pbmdDb2x1bW5zVGVt
cGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcInNw
YW4gc3BhblwiIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoU3Bhbm5pbmdSb3dzRG90
VGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJc
InNwYW5cIiBcIi5cIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aERvdENvbHVtbiku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiaGVhZGVyIC5c
IiBcImZvb3RlciAuXCIiCi1UZXN0IGdyaWQtdGVtcGxhdGU6IGluaXRpYWwKLVBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUnKSBpcyAiXCJmb29iYXJcIiIKLVRlc3QgZ3JpZC10ZW1wbGF0ZTogaW5oZXJpdAotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHBhcmVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZScpIGlzICJcImZvbyBiYXJcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShl
bGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJm
b28gYmFyXCIiCi1UZXN0IGludmFsaWQgZ3JpZC10ZW1wbGF0ZSB2YWx1ZXMuCi1QQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBs
YXRlJykgaXMgIm5vbmUiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIm5vbmUiCi1QQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
JykgaXMgIm5vbmUiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIm5vbmUiCi1QQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykg
aXMgIm5vbmUiCitUZXN0IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBzZXQgdGhyb3VnaCBD
U1MuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhEZWZhdWx0VGVtcGxhdGUpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImFyZWFcIiIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiZmlyc3Qgc2Vjb25k
XCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZpcnN0XCIg
XCJzZWNvbmRcIiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNwYW5uaW5nQ29sdW1u
c1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAiXCJzcGFuIHNwYW5cIiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNwYW5u
aW5nUm93c0RvdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAiXCJzcGFuXCIgXCIuXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3Jp
ZFdpdGhEb3RDb2x1bW4pLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1h
cmVhcycpIGlzICJcImhlYWRlciAuXCIgXCJmb290ZXIgLlwiIgorVGVzdCBncmlkLXRlbXBsYXRl
LWFyZWFzOiBpbml0aWFsCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiZm9vYmFyXCIiCitU
ZXN0IGdyaWQtdGVtcGxhdGUtYXJlYXM6IGluaGVyaXQKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShw
YXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJl
YXMnKSBpcyAiXCJmb28gYmFyXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiZm9vIGJh
clwiIgorVGVzdCBpbnZhbGlkIGdyaWQtdGVtcGxhdGUtYXJlYXMgdmFsdWVzLgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlz
ICJub25lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgogCiBGSVhNRTogV2UgY3Vy
cmVudGx5IGRvbid0IHZhbGlkYXRlIHRoYXQgdGhlIG5hbWVkIGdyaWQgYXJlYXMgYXJlIDxpbmRl
bnQ+LgotRkFJTCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIHNob3VsZCBiZSBub25lLiBXYXMgIm5hdi11cCIuCitGQUlM
IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzJykgc2hvdWxkIGJlIG5vbmUuIFdhcyAibmF2LXVwIi4KIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQu
aHRtbAppbmRleCA2ZDQyZDNkNGMxNjgwMTU0ZGE1Y2VkNjU1YjVmNDEyODYxNWMyYjFjLi43MDgx
NDI1MTMxODViNzA0Mzg0NDI4ODBmM2JlZWFhYjYzNGQ5MDIxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQu
aHRtbApAQCAtOCwzMCArOCwzMCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8bGluayBocmVm
PSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiA8c3R5bGU+CiAjZ3JpZFdp
dGhTaW5nbGVTdHJpbmdUZW1wbGF0ZSB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiYXJl
YSI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiYXJlYSI7CiB9CiAKICNncmlk
V2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmly
c3Qgc2Vjb25kIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCBzZWNv
bmQiOwogfQogCiAjZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10
ZW1wbGF0ZTogImZpcnN0IgotICAgICAgICAgICAgICAgICAgICJzZWNvbmQiOworICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0IgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInNlY29uZCI7CiB9CiAKICNncmlkV2l0aFNwYW5uaW5nQ29sdW1uc1RlbXBsYXRl
IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJzcGFuIHNwYW4iOworICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhczogInNwYW4gc3BhbiI7CiB9CiAKICNncmlkV2l0aFNwYW5uaW5n
Um93c0RvdFRlbXBsYXRlIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJzcGFuIgotICAg
ICAgICAgICAgICAgICAgICIuIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJz
cGFuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi4iOwogfQogCiAjZ3JpZFdp
dGhEb3RDb2x1bW4gewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImhlYWRlciAuIgotICAg
ICAgICAgICAgICAgICAgICJmb290ZXIgLiI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFy
ZWFzOiAiaGVhZGVyIC4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9vdGVy
IC4iOwogfQogPC9zdHlsZT4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgpAQCAtNDUsNzUgKzQ1LDc1IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKIDxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkV2l0aFNwYW5uaW5nUm93c0RvdFRlbXBsYXRl
Ij48L2Rpdj4KIDxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkV2l0aERvdENvbHVtbiI+PC9kaXY+
CiA8c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10
ZW1wbGF0ZSBpcyBwcm9wZXJseSBwYXJzZWQuIik7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBncmlkLXRlbXBsYXRlLWFyZWFzIGlzIHByb3Blcmx5IHBhcnNlZC4iKTsK
IAotICAgIGZ1bmN0aW9uIHRlc3RHcmlkVGVtcGxhdGUoZ3JpZEl0ZW1JRCwgZXhwZWN0ZWRSZXN1
bHQpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKCIg
KyBncmlkSXRlbUlEICsgIikuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
JykiLCBleHBlY3RlZFJlc3VsdCk7CisgICAgZnVuY3Rpb24gdGVzdEdyaWRUZW1wbGF0ZUFyZWFz
KGdyaWRJdGVtSUQsIGV4cGVjdGVkUmVzdWx0KSB7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSgiICsgZ3JpZEl0ZW1JRCArICIpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIiwgZXhwZWN0ZWRSZXN1bHQpOwogICAg
IH0KIAotICAgIGZ1bmN0aW9uIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCBleHBlY3RlZFJl
c3VsdCkgeworICAgIGZ1bmN0aW9uIHRlc3RKU0dyaWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsIGV4
cGVjdGVkUmVzdWx0KSB7CiAgICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSIsIGV4cGVjdGVkUmVzdWx0KTsKKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIiwgZXhwZWN0ZWRS
ZXN1bHQpOwogICAgIH0KIAotICAgIGRlYnVnKCJUZXN0IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZSBz
ZXQgdGhyb3VnaCBDU1MuIik7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhEZWZhdWx0
VGVtcGxhdGUiLCAibm9uZSIpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoU2luZ2xl
U3RyaW5nVGVtcGxhdGUiLCAnImFyZWEiJyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdp
dGhUd29Db2x1bW5zVGVtcGxhdGUiLCAnImZpcnN0IHNlY29uZCInKTsKLSAgICB0ZXN0R3JpZFRl
bXBsYXRlKCJncmlkV2l0aFR3b1Jvd3NUZW1wbGF0ZSIsICciZmlyc3QiICJzZWNvbmQiJyk7Ci0g
ICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhTcGFubmluZ0NvbHVtbnNUZW1wbGF0ZSIsICci
c3BhbiBzcGFuIicpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoU3Bhbm5pbmdSb3dz
RG90VGVtcGxhdGUiLCAnInNwYW4iICIuIicpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRX
aXRoRG90Q29sdW1uIiwgJyJoZWFkZXIgLiIgImZvb3RlciAuIicpOworICAgIGRlYnVnKCJUZXN0
IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBzZXQgdGhyb3VnaCBDU1MuIik7CisgICAgdGVz
dEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aERlZmF1bHRUZW1wbGF0ZSIsICJub25lIik7Cisg
ICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aFNpbmdsZVN0cmluZ1RlbXBsYXRlIiwg
JyJhcmVhIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhUd29Db2x1bW5z
VGVtcGxhdGUiLCAnImZpcnN0IHNlY29uZCInKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMo
ImdyaWRXaXRoVHdvUm93c1RlbXBsYXRlIiwgJyJmaXJzdCIgInNlY29uZCInKTsKKyAgICB0ZXN0
R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoU3Bhbm5pbmdDb2x1bW5zVGVtcGxhdGUiLCAnInNw
YW4gc3BhbiInKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoU3Bhbm5pbmdS
b3dzRG90VGVtcGxhdGUiLCAnInNwYW4iICIuIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVh
cygiZ3JpZFdpdGhEb3RDb2x1bW4iLCAnImhlYWRlciAuIiAiZm9vdGVyIC4iJyk7CiAKLSAgICBk
ZWJ1ZygiVGVzdCBncmlkLXRlbXBsYXRlOiBpbml0aWFsIik7CisgICAgZGVidWcoIlRlc3QgZ3Jp
ZC10ZW1wbGF0ZS1hcmVhczogaW5pdGlhbCIpOwogICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVt
ZW50KTsKLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInZm9vYmFyJyI7
Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICciZm9vYmFyIicpOwotICAgIGVsZW1l
bnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gImluaXRpYWwiOworICAgIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ2Zvb2JhciciOworICAgIHRlc3RKU0dyaWRU
ZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICciZm9vYmFyIicpOworICAgIGVsZW1lbnQuc3R5bGUud2Vi
a2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiaW5pdGlhbCI7CiAgICAgZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChlbGVtZW50KTsKIAotICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGU6IGluaGVy
aXQiKTsKKyAgICBkZWJ1ZygiVGVzdCBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbmhlcml0Iik7CiAg
ICAgdmFyIHBhcmVudEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudEVsZW1lbnQpOwotICAgIHBhcmVudEVs
ZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIidmb28gYmFyJyI7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHBhcmVudEVsZW1lbnQpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIiwgJyJmb28gYmFyIicpOworICAgIHBh
cmVudEVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ2ZvbyBiYXInIjsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVu
dCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykiLCAnImZv
byBiYXIiJyk7CiAKICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgZWxlbWVu
dC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiaW5oZXJpdCI7Ci0gICAgdGVzdEpTR3JpZFRl
bXBsYXRlKGVsZW1lbnQsICciZm9vIGJhciInKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdy
aWRUZW1wbGF0ZUFyZWFzID0gImluaGVyaXQiOworICAgIHRlc3RKU0dyaWRUZW1wbGF0ZUFyZWFz
KGVsZW1lbnQsICciZm9vIGJhciInKTsKICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBh
cmVudEVsZW1lbnQpOwogCi0gICAgZGVidWcoIlRlc3QgaW52YWxpZCBncmlkLXRlbXBsYXRlIHZh
bHVlcy4iKTsKKyAgICBkZWJ1ZygiVGVzdCBpbnZhbGlkIGdyaWQtdGVtcGxhdGUtYXJlYXMgdmFs
dWVzLiIpOwogICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKIAogICAgIC8vICduYXYn
IGlzIG5vdCBhIHJlY3Rhbmd1bGFyIGRlZmluaXRpb24uCi0gICAgZWxlbWVudC5zdHlsZS53ZWJr
aXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkJyAnbmF2IG5hdiciOwotICAgIHRlc3RKU0dyaWRU
ZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRl
bXBsYXRlQXJlYXMgPSAiJ25hdiBoZWFkJyAnbmF2IG5hdiciOworICAgIHRlc3RKU0dyaWRUZW1w
bGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICAvLyAnbmF2JyBpcyBub3QgY29udGln
dW91cyBpbiB0aGUgY29sdW1uIGRpcmVjdGlvbi4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdy
aWRUZW1wbGF0ZSA9ICInbmF2IGhlYWQgbmF2JyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVs
ZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVh
cyA9ICInbmF2IGhlYWQgbmF2JyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVu
dCwgIm5vbmUiKTsKIAogICAgIC8vICduYXYnIGlzIG5vdCBjb250aWd1b3VzIGluIHRoZSByb3cg
ZGlyZWN0aW9uLgotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIiduYXYg
aGVhZCcgJ21pZGRsZSBtaWRkbGUnICduYXYgZm9vdGVyJyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBs
YXRlKGVsZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxh
dGVBcmVhcyA9ICInbmF2IGhlYWQnICdtaWRkbGUgbWlkZGxlJyAnbmF2IGZvb3RlciciOworICAg
IHRlc3RKU0dyaWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICAvLyBUaGUg
cm93cyBkb24ndCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBjb2x1bW5zLgotICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIiduYXYgaGVhZCcgJ2Zvb3QnIjsKLSAgICB0ZXN0
SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCcgJ2Zvb3QnIjsKKyAgICB0ZXN0SlNHcmlk
VGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAgLy8gRW1wdHkgcm93cy4KLSAg
ICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInJyAnJyI7Ci0gICAgdGVzdEpT
R3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRH
cmlkVGVtcGxhdGVBcmVhcyA9ICInJyAnJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMo
ZWxlbWVudCwgIm5vbmUiKTsKIAogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiRklYTUU6IFdl
IGN1cnJlbnRseSBkb24ndCB2YWxpZGF0ZSB0aGF0IHRoZSBuYW1lZCBncmlkIGFyZWFzIGFyZSAm
bHQ7aW5kZW50Jmd0Oy4iKTsKICAgICAvLyA8aWRlbnQ+IG9ubHkgYWxsb3dzIGEgbGVhZGluZyAn
LScuCi0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ25hdi11cCciOwot
ICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ25hdi11cCciOworICAgIHRlc3RKU0dyaWRU
ZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224063</attachid>
            <date>2014-02-13 06:04:32 -0800</date>
            <delta_ts>2014-02-13 09:19:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127990-20140213150430.patch</filename>
            <type>text/plain</type>
            <size>53816</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYzYzU5MDE3ODJiYTcy
NTYyYmQ4NWFlNmU1NDhlYTJiNTg3ODdiNi4uN2E2NjQyZDFiMjhjNzc2NGNiMzBhNDcyYTkxY2Y3
MGRiNzIzNjI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAyLTA3ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2VyZ2lvIFZpbGxhciBTZW5pbi4KKworICAgICAgICBGcm9tIEJsaW5rIHIxNjU4OTEgYnkg
PHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBUaGUgcHJvcGVydHkgJ2dyaWQtdGVtcGxhdGUn
IGhhcyBiZWVuIHJlbmFtZWQgdG8gJ2dyaWQtdGVtcGxhdGUtYXJlYXMnCisgICAgICAgIGluIHRo
ZSBsYXN0IHR3byB2ZXJzaW9ucyBvZiB0aGUgc3BlYy4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAg
ICAgICogY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5oLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6On5DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmdyaWRBcmVhTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OnJvd0NvdW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNvbHVtbkNvdW50
KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3Jp
ZFRlbXBsYXRlQXJlYXMpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFscyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6Cisg
ICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKwogMjAx
NC0wMi0wNyAgTGFzemxvIFZpZGFjcyAgPGx2aWRhY3MudS1zemVnZWRAcGFydG5lci5zYW1zdW5n
LmNvbT4KIAogICAgICAgICBSZW5hbWluZyBpc1RhYmxlRWxlbWVudCgpIHRvIGlzUmVuZGVyZWRU
YWJsZSgpIGFzIHBlciB0aGUgRklYTUUgY29tbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5k
ZXggMTI5MzY2NzNiYjY3NzVhYzY4ZjMzMzhhMTFkZDA3MjIzNzcyZTY2MS4uMTAzMDI4MDNlNzI3
MDZhNDkwNWNmODMyNGNiMTgzNjIxMTQxZjJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTQtMDItMDcgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gUmVuYW1lIG5hbWVkIGFy
ZWFzIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjc5OTAKKworICAgICAgICBSZXZpZXdlZCBieSBTZXJnaW8gVmlsbGFyIFNlbmluLgor
CisgICAgICAgIEZyb20gQmxpbmsgcjE2NTg5MSBieSA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFRoZSBwcm9wZXJ0eSAnZ3JpZC10ZW1wbGF0ZScgaGFzIGJlZW4gcmVuYW1lZCB0byAnZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcycKKyAgICAgICAgaW4gdGhlIGxhc3QgdHdvIHZlcnNpb25zIG9mIHRo
ZSBzcGVjLgorCisgICAgICAgICogVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci9jc3MuanM6CisKIDIwMTQtMDIt
MDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgQ29uc29sZSBzdXBwb3J0IHRvIEpTQ29udGV4dCBJbnNwZWN0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDg0NTg0MGNhODJjOTlhNWMzNGIxMjQyYmIxNjllODRhMjMz
YzI0NmEuLjk5ZTRhMDdjYmJhNWEzMDhhYjAwYjMzYmFhNzk4OWQ3NDU3NWMzYjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0xMDM2LDcgKzEwMzYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgY3NzL0NTU0ZvbnRWYWx1ZS5jcHAKICAgICBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKICAg
ICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKLSAgICBjc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUu
Y3BwCisgICAgY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dy
b3VwaW5nUnVsZS5jcHAKICAgICBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKICAgICBj
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDI4NzdkZGYzNzJhZGZkOWMzNzZiNGIxYWMyNmNiMWZmY2JkM2Q0MzIuLjk1NTIxODVhMzUzNzc2
MjgzNzAxNWIwNWRmNWMyMTIxZjFlOTdmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMjU1Myw4ICsyNTUzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgg
XAotCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAgXAotCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91
cGluZ1J1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmggXAog
CVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIZWxwZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA2YTIxNmM1MGNlYzU4NTBmMjVhMTZh
MDM0N2ZkYzc3ZGFmZTY0MTcxLi5jZmJhMWNmOGM3Yjg0NmQzMmU0ZTFlYzc0ZTNjMzVjMmZjMGVk
MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTkwMDMsNyArOTAwMyw3IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcm91cGluZ1J1bGUuY3BwIj4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE5NjA3LDcgKzE5NjA3
LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NGb250VmFsdWUuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NGdW5jdGlvblZhbHVlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JhZGllbnRWYWx1ZS5oIiAvPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyb3VwaW5nUnVsZS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0hlbHBlci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCBiNzE1ZDg3YWFlNDI1NWJjZWFhNzdjZjc3YTAwNDU0Zjg4MGQyNzYyLi5k
ODNlZWZlNjgyYTY1NGQ4OGEzM2U4YWNlNDJlNjkwODYwMTY4MzZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC02OTYxLDcgKzY5NjEsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5n
XFNpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxj
c3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCI+CiAgICAgICA8RmlsdGVyPmNzczwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9k
dWxlc1xpbmRleGVkZGJcSURCQ3Vyc29yQmFja2VuZC5jcHAiPgpAQCAtMTQ3NjQsNyArMTQ3NjQs
NyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXFNpbXBsZUxpbmVMYXlv
dXRGdW5jdGlvbnMuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0
ZVZhbHVlLmgiPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuaCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xpbmRleGVkZGJcSURCRGF0
YWJhc2VCYWNrZW5kLmgiPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDMyNWM2MjliYjY3YjU3MGYzZDg2NzIzNzFlOWNhYzNmODVm
M2RlOGMuLmQ4MDA5MTgzYmQ1ZjNjMzBhZmVlMjA3ZjQ0ZTBkMmUxZjFiYzNjYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0
NTEsOCArNTQ1MSw4IEBACiAJCUNEM0E0OTY0MTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZm
ZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEM0E0OTVCMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmNwcCAqLzsgfTsK
IAkJQ0QzQTQ5NjUxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0E0OTVDMTdBOUQwMUIw
MDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmggKi87IH07CiAJCUNEM0UyNTFDMTgwNDZCMDYw
MEUyN0Y1NiAvKiBHcmlkQ29vcmRpbmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MUIxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29yZGlu
YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
Q0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIxMTgwNDZC
Q0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAgKi87IH07Ci0JCUNEM0UyNTI0
MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2
IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmggKi87IH07CisJCUNEM0UyNTIzMTgwNDZCQ0QwMEUy
N0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBD
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCAqLzsgfTsKKwkJQ0QzRTI1MjQxODA0NkJDRDAw
RTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBD
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggKi87IH07CiAJCUNENDdCM0ZDMTZDQzM0RjgwMEEy
MUVDOCAvKiBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0N0IzRkExNkNDMzRGODAwQTIxRUM4IC8qIENETVBy
aXZhdGVBVkZvdW5kYXRpb24ubW0gKi87IH07CiAJCUNENEFDNTJBMTQ5NkFFOUEwMDg3QzRFRiAv
KiBDb21wb3NpdGUud2F2IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUu
d2F2ICovOyB9OwogCQlDRDUzOTNEMzE3NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTM5M0Qx
MTc1RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uY3BwICovOyB9OwpAQCAtMTI2NzIsOCAr
MTI2NzIsOCBAQAogCQlDRDNBNDk1QzE3QTlEMDFCMDAyNzRFNDIgLyogU291cmNlQnVmZmVyTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEM0E0OTVEMTdBOUQwMUIwMDI3NEU0MiAv
KiBTb3VyY2VCdWZmZXJMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZm
ZXJMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzRTI1MUIxODA0NkIw
NjAwRTI3RjU2IC8qIEdyaWRDb29yZGluYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEdyaWRDb29yZGluYXRlLmg7IHBhdGggPSBzdHlsZS9HcmlkQ29vcmRpbmF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyog
Q1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlDRDNFMjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8q
IENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0dyaWRU
ZW1wbGF0ZUFyZWFzVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0N0Iz
RjkxNkNDMzRGODAwQTIxRUM4IC8qIENETVByaXZhdGVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRDQ3QjNGQTE2Q0MzNEY4MDBBMjFFQzggLyogQ0RNUHJp
dmF0ZUFWRm91bmRhdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IENETVByaXZhdGVBVkZvdW5kYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNENEFDNTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2ICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXVkaW8ud2F2OyBuYW1lID0g
Q29tcG9zaXRlLndhdjsgcGF0aCA9IHBsYXRmb3JtL2F1ZGlvL3Jlc291cmNlcy9Db21wb3NpdGUu
d2F2OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0yMTI3MSw4ICsyMTI3MSw4IEBA
CiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUNEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBD
U1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAgKi8sCi0JCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2
IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmggKi8sCisJCQkJQ0QzRTI1MjExODA0NkJDRDAwRTI3
RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwICovLAorCQkJCUNEM0UyNTIyMTgw
NDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggKi8sCiAJCQkJOTND
QTRDOUMwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V0b2tlbml6ZXIgKi8sCiAJCQkJRkJENkFGODQx
NUVGMjFENDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVGdW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZB
Rjg1MTVFRjIxRDQwMDhCNzExMCAvKiBCYXNpY1NoYXBlRnVuY3Rpb25zLmggKi8sCkBAIC0yNTky
Myw3ICsyNTkyMyw3IEBACiAJCQkJQkUxNkM1OTUxN0NGRTE3MjAwODUyQzA0IC8qIEluYmFuZFdl
YlZUVFRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMEQ3NjgxN0Q4RUU3MTAwNUUy
NjI2IC8qIFJlbmRlckJsb2NrRmxvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTI1MUMxODA0
NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29yZGluYXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRDNF
MjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNEM0UyNTI0MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVh
c1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREVGNEZENzE3RTg1QzhGMDBBRUUyNEIgLyog
R3JpZExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RFN0ZDNDUxODE5MDRCMTAwMkJCQjc3
IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJFOTEzRDgwMTgxRUY5MjQw
MERDQjA5RSAvKiBUcmFja1ByaXZhdGVCYXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI5MDkzLDcg
KzI5MDkzLDcgQEAKIAkJCQlCRTE2QzU5MjE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kR2VuZXJp
Y1RleHRUcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCRTE2QzU5NDE3Q0ZFMTcyMDA4NTJD
MDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTBE
NzY3MTdEOEVFNkUwMDVFMjYyNiAvKiBSZW5kZXJCbG9ja0Zsb3cuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUNEM0UyNTIzMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERTdGQzQ0MTgxOTA0
QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBkNzcyODI4
YzBjZTU4YWI0ZjM4ZTdiNGZlYzg3NzFhZmNhZDgyNTdlLi5mZTgwNGQ3MjZmOWE4ZGU2MzBjOWI3
MTg4Zjg3NTE5OWI0Y2QwMmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkNT
U0ZvbnRGZWF0dXJlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NGdW5jdGlvblZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTGlu
ZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNT
U1ByaW1pdGl2ZVZhbHVlLmgiCkBAIC0yMTAxLDEzICsyMTAxLDEzIEBAIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJ
RCBwcm9wZXJ0CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93OgogICAgICAg
ICAgICAgcmV0dXJuIGdldENTU1Byb3BlcnR5VmFsdWVzRm9yR3JpZFNob3J0aGFuZCh3ZWJraXRH
cmlkUm93U2hvcnRoYW5kKCkpOwogCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlk
VGVtcGxhdGU6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVh
czoKICAgICAgICAgICAgIGlmICghc3R5bGUtPm5hbWVkR3JpZEFyZWFSb3dDb3VudCgpKSB7CiAg
ICAgICAgICAgICAgICAgQVNTRVJUKCFzdHlsZS0+bmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkp
OwogICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVOb25lKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgcmV0dXJu
IENTU0dyaWRUZW1wbGF0ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm5hbWVkR3JpZEFyZWEoKSwgc3R5
bGUtPm5hbWVkR3JpZEFyZWFSb3dDb3VudCgpLCBzdHlsZS0+bmFtZWRHcmlkQXJlYUNvbHVtbkNv
dW50KCkpOworICAgICAgICAgICAgcmV0dXJuIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+bmFtZWRHcmlkQXJlYSgpLCBzdHlsZS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50
KCksIHN0eWxlLT5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CiAKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eUhlaWdodDoKICAgICAgICAgICAgIGlmIChyZW5kZXJlcikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzNTM1MGUxZjMwYWQ3ZTU3YzIxNGYxMDNjY2NkNTZkNDQ5ZWM1OGQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKQEAg
LTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIK
KworI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
QnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYg
Z3JpZEFyZWFNYXAsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNvbHVtbkNvdW50KQorICAgIDog
Q1NTVmFsdWUoR3JpZFRlbXBsYXRlQXJlYXNDbGFzcykKKyAgICAsIG1fZ3JpZEFyZWFNYXAoZ3Jp
ZEFyZWFNYXApCisgICAgLCBtX3Jvd0NvdW50KHJvd0NvdW50KQorICAgICwgbV9jb2x1bW5Db3Vu
dChjb2x1bW5Db3VudCkKK3sKKyAgICBBU1NFUlQobV9yb3dDb3VudCk7CisgICAgQVNTRVJUKG1f
Y29sdW1uQ291bnQpOworfQorCitzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclBvc2l0aW9uKGNvbnN0
IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93LCBzaXplX3QgY29sdW1u
KQoreworICAgIFZlY3RvcjxTdHJpbmc+IGNhbmRpZGF0ZXM7CisKKyAgICBmb3IgKGF1dG8gaXQg
PSBncmlkQXJlYU1hcC5iZWdpbigpLCBlbmQgPSBncmlkQXJlYU1hcC5lbmQoKTsgaXQgIT0gZW5k
OyArK2l0KSB7CisgICAgICAgIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gaXQt
PnZhbHVlOworICAgICAgICBpZiAocm93ID49IGNvb3JkaW5hdGUucm93cy5pbml0aWFsUG9zaXRp
b25JbmRleCAmJiByb3cgPD0gY29vcmRpbmF0ZS5yb3dzLmZpbmFsUG9zaXRpb25JbmRleCkKKyAg
ICAgICAgICAgIGNhbmRpZGF0ZXMuYXBwZW5kKGl0LT5rZXkpOworICAgIH0KKworICAgIGZvciAo
YXV0byBpdCA9IGdyaWRBcmVhTWFwLmJlZ2luKCksIGVuZCA9IGdyaWRBcmVhTWFwLmVuZCgpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5h
dGUgPSBpdC0+dmFsdWU7CisgICAgICAgIGlmIChjb2x1bW4gPj0gY29vcmRpbmF0ZS5jb2x1bW5z
LmluaXRpYWxQb3NpdGlvbkluZGV4ICYmIGNvbHVtbiA8PSBjb29yZGluYXRlLmNvbHVtbnMuZmlu
YWxQb3NpdGlvbkluZGV4ICYmIGNhbmRpZGF0ZXMuY29udGFpbnMoaXQtPmtleSkpCisgICAgICAg
ICAgICByZXR1cm4gaXQtPmtleTsKKyAgICB9CisKKyAgICByZXR1cm4gIi4iOworfQorCitTdHJp
bmcgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Cit7Cisg
ICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgIGZvciAoc2l6ZV90IHJvdyA9IDA7IHJvdyA8
IG1fcm93Q291bnQ7ICsrcm93KSB7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdcIicpOworICAg
ICAgICBmb3IgKHNpemVfdCBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtX2NvbHVtbkNvdW50OyArK2Nv
bHVtbikgeworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nRm9yUG9zaXRpb24obV9n
cmlkQXJlYU1hcCwgcm93LCBjb2x1bW4pKTsKKyAgICAgICAgICAgIGlmIChjb2x1bW4gIT0gbV9j
b2x1bW5Db3VudCAtIDEpCisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAg
ICAgICAgfQorICAgICAgICBidWlsZGVyLmFwcGVuZCgnXCInKTsKKyAgICAgICAgaWYgKHJvdyAh
PSBtX3Jvd0NvdW50IC0gMSkKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAg
fQorICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVh
c1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIyNjFkZjBhNTQ3ODgyZDgxZTE1YjBhMjFlMGVhMTczYzQ5MTBiNWUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZV9oCisjZGVmaW5lIENTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRl
ICJHcmlkQ29vcmRpbmF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU0dy
aWRUZW1wbGF0ZUFyZWFzVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmPENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU+IGNyZWF0ZShjb25zdCBOYW1l
ZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvd0NvdW50LCBzaXplX3QgY29sdW1u
Q291bnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQpKTsKKyAgICB9
CisKKyAgICB+Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSgpIHsgfQorCisgICAgU3RyaW5nIGN1
c3RvbUNTU1RleHQoKSBjb25zdDsKKworICAgIGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRB
cmVhTWFwKCkgY29uc3QgeyByZXR1cm4gbV9ncmlkQXJlYU1hcDsgfQorICAgIHNpemVfdCByb3dD
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcm93Q291bnQ7IH0KKyAgICBzaXplX3QgY29sdW1uQ291
bnQoKSBjb25zdCB7IHJldHVybiBtX2NvbHVtbkNvdW50OyB9CisKK3ByaXZhdGU6CisgICAgQ1NT
R3JpZFRlbXBsYXRlQXJlYXNWYWx1ZShjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiwgc2l6ZV90IHJv
d0NvdW50LCBzaXplX3QgY29sdW1uQ291bnQpOworCisgICAgTmFtZWRHcmlkQXJlYU1hcCBtX2dy
aWRBcmVhTWFwOworICAgIHNpemVfdCBtX3Jvd0NvdW50OworICAgIHNpemVfdCBtX2NvbHVtbkNv
dW50OworfTsKKworQ1NTX1ZBTFVFX1RZUEVfQ0FTVFMoQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1
ZSwgaXNHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKCkpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDVmYThlZjUyM2NlZGY2MTBhNTUxOTMyNWFhMDQxOGJjZjcxNWJjMzcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyaWRUZW1wbGF0ZVZhbHVlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0g
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgotCi0jaW5jbHVkZSAiR3JpZENvb3JkaW5hdGUu
aCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotQ1NTR3JpZFRlbXBsYXRlVmFsdWU6OkNTU0dyaWRUZW1wbGF0ZVZhbHVlKGNvbnN0
IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBj
b2x1bW5Db3VudCkKLSAgICA6IENTU1ZhbHVlKEdyaWRUZW1wbGF0ZUNsYXNzKQotICAgICwgbV9n
cmlkQXJlYU1hcChncmlkQXJlYU1hcCkKLSAgICAsIG1fcm93Q291bnQocm93Q291bnQpCi0gICAg
LCBtX2NvbHVtbkNvdW50KGNvbHVtbkNvdW50KQotewotICAgIEFTU0VSVChtX3Jvd0NvdW50KTsK
LSAgICBBU1NFUlQobV9jb2x1bW5Db3VudCk7Ci19Ci0KLXN0YXRpYyBTdHJpbmcgc3RyaW5nRm9y
UG9zaXRpb24oY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3cs
IHNpemVfdCBjb2x1bW4pCi17Ci0gICAgVmVjdG9yPFN0cmluZz4gY2FuZGlkYXRlczsKLQotICAg
IGZvciAoYXV0byBpdCA9IGdyaWRBcmVhTWFwLmJlZ2luKCksIGVuZCA9IGdyaWRBcmVhTWFwLmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNv
b3JkaW5hdGUgPSBpdC0+dmFsdWU7Ci0gICAgICAgIGlmIChyb3cgPj0gY29vcmRpbmF0ZS5yb3dz
LmluaXRpYWxQb3NpdGlvbkluZGV4ICYmIHJvdyA8PSBjb29yZGluYXRlLnJvd3MuZmluYWxQb3Np
dGlvbkluZGV4KQotICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBlbmQoaXQtPmtleSk7Ci0gICAg
fQotCi0gICAgZm9yIChhdXRvIGl0ID0gZ3JpZEFyZWFNYXAuYmVnaW4oKSwgZW5kID0gZ3JpZEFy
ZWFNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBjb25zdCBHcmlkQ29vcmRp
bmF0ZSYgY29vcmRpbmF0ZSA9IGl0LT52YWx1ZTsKLSAgICAgICAgaWYgKGNvbHVtbiA+PSBjb29y
ZGluYXRlLmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYgY29sdW1uIDw9IGNvb3JkaW5h
dGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5kZXggJiYgY2FuZGlkYXRlcy5jb250YWlucyhpdC0+
a2V5KSkKLSAgICAgICAgICAgIHJldHVybiBpdC0+a2V5OwotICAgIH0KLQotICAgIHJldHVybiAi
LiI7Ci19Ci0KLVN0cmluZyBDU1NHcmlkVGVtcGxhdGVWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNv
bnN0Ci17Ci0gICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgIGZvciAoc2l6ZV90IHJvdyA9
IDA7IHJvdyA8IG1fcm93Q291bnQ7ICsrcm93KSB7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdc
IicpOwotICAgICAgICBmb3IgKHNpemVfdCBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtX2NvbHVtbkNv
dW50OyArK2NvbHVtbikgewotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nRm9yUG9z
aXRpb24obV9ncmlkQXJlYU1hcCwgcm93LCBjb2x1bW4pKTsKLSAgICAgICAgICAgIGlmIChjb2x1
bW4gIT0gbV9jb2x1bW5Db3VudCAtIDEpCi0gICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
JyAnKTsKLSAgICAgICAgfQotICAgICAgICBidWlsZGVyLmFwcGVuZCgnXCInKTsKLSAgICAgICAg
aWYgKHJvdyAhPSBtX3Jvd0NvdW50IC0gMSkKLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcg
Jyk7Ci0gICAgfQotICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVt
cGxhdGVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYWUwMWM0ODU2ZjczNGIyOTczZDliYTEy
NjhhNDk3NjRhNzc3ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMu
TC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQot
ICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIENTU0dyaWRUZW1wbGF0ZVZhbHVlX2gKLSNkZWZpbmUgQ1NTR3JpZFRlbXBsYXRlVmFs
dWVfaAotCi0jaW5jbHVkZSAiQ1NTVmFsdWUuaCIKLSNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENTU0dyaWRUZW1wbGF0ZVZhbHVlIDog
cHVibGljIENTU1ZhbHVlIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZjxDU1NHcmlkVGVt
cGxhdGVWYWx1ZT4gY3JlYXRlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBz
aXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IENTU0dyaWRUZW1wbGF0ZVZhbHVlKGdyaWRBcmVhTWFwLCByb3dDb3Vu
dCwgY29sdW1uQ291bnQpKTsKLSAgICB9Ci0KLSAgICB+Q1NTR3JpZFRlbXBsYXRlVmFsdWUoKSB7
IH0KLQotICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7Ci0KLSAgICBjb25zdCBOYW1l
ZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JpZEFyZWFNYXA7
IH0KLSAgICBzaXplX3Qgcm93Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3Jvd0NvdW50OyB9Ci0g
ICAgc2l6ZV90IGNvbHVtbkNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5Db3VudDsgfQot
Ci1wcml2YXRlOgotICAgIENTU0dyaWRUZW1wbGF0ZVZhbHVlKGNvbnN0IE5hbWVkR3JpZEFyZWFN
YXAmLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCk7Ci0KLSAgICBOYW1lZEdy
aWRBcmVhTWFwIG1fZ3JpZEFyZWFNYXA7Ci0gICAgc2l6ZV90IG1fcm93Q291bnQ7Ci0gICAgc2l6
ZV90IG1fY29sdW1uQ291bnQ7Ci19OwotCi1DU1NfVkFMVUVfVFlQRV9DQVNUUyhDU1NHcmlkVGVt
cGxhdGVWYWx1ZSwgaXNHcmlkVGVtcGxhdGVWYWx1ZSgpKQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBDU1NHcmlkVGVtcGxhdGVWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCmluZGV4IGQyMWM0M2VmYzQ4MmUwYTFiNDgxYzM2MDc0ZDA5MTIwZTdmNGNkZGIuLjk4
ZDFiZWIxOGM1NjhhZjY4NWZlOGI2M2Q3ZDQ5NmU3ZDE2OGNiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUu
aCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0dyaWRU
ZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTSW5oZXJpdGVkVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKQEAg
LTI1OTcsMTEgKzI1OTcsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVy
dHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICByZXR1cm4gcGFyc2VHcmlkQXJlYVNob3J0aGFuZChpbXBvcnRhbnQpOwogCi0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlQXJlYXM6CiAgICAgICAgIGlmICghY3NzR3JpZExheW91dEVuYWJs
ZWQoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBwYXJzZWRWYWx1ZSA9
IHBhcnNlR3JpZFRlbXBsYXRlKCk7CisgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VHcmlkVGVt
cGxhdGVBcmVhcygpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRNYXJnaW5Db2xsYXBzZTogewpAQCAtNTEzNSw3ICs1MTM1LDcgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlRGFzaGJvYXJkUmVnaW9ucyhDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAKICNlbmRpZiAvKiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpICovCiAKLVBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGUoKQorUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCkKIHsKICAgICBOYW1l
ZEdyaWRBcmVhTWFwIGdyaWRBcmVhTWFwOwogICAgIHNpemVfdCByb3dDb3VudCA9IDA7CkBAIC01
MjA3LDcgKzUyMDcsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlR3Jp
ZFRlbXBsYXRlKCkKICAgICBpZiAoIXJvd0NvdW50IHx8ICFjb2x1bW5Db3VudCkKICAgICAgICAg
cmV0dXJuIDA7CiAKLSAgICByZXR1cm4gQ1NTR3JpZFRlbXBsYXRlVmFsdWU6OmNyZWF0ZShncmlk
QXJlYU1hcCwgcm93Q291bnQsIGNvbHVtbkNvdW50KTsKKyAgICByZXR1cm4gQ1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQp
OwogfQogCiBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlQ291bnRlckNvbnRl
bnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzLCBib29sIGNvdW50ZXJzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IDJjNmVmNThhZGM2MWExNzdkZmI4NjA3MjdkNTAxMDdiYzAwYzdmODcuLjc3
OTRmZWNjMmEwMmQ1YTFjNjg4NTQxNDE2NjI1NWE4M2VlMjdhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUdyaWRUcmFj
a1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlR3JpZFRyYWNrU2l6ZShDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCk7CiAgICAg
UGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcGFyc2VHcmlkQnJlYWR0aChDU1NQYXJzZXJW
YWx1ZSopOwotICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFRlbXBsYXRlKCk7Cisg
ICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVGVtcGxhdGVBcmVhcygpOwogICAgIHZv
aWQgcGFyc2VHcmlkVHJhY2tOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCwgQ1NT
VmFsdWVMaXN0JiB2YWx1ZXMpOwogCiAgICAgYm9vbCBwYXJzZURhc2hib2FyZFJlZ2lvbnMoQ1NT
UHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgppbmRleCA0MGNiYzA4NDc3MDAwZDM3YzYyNmY5ODMwMDU4NmIyMDU2Y2U1MjFjLi4z
OTNjNGZmYmRmYzY3NjE4YjAwNDNkNWU3YzEwMzNjNjQ4ZmM4N2JkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMzEwLDcgKzMxMCw3IEBAIHotaW5kZXgKIC13ZWJr
aXQtZ3JpZC1yb3ctc3RhcnQKIC13ZWJraXQtZ3JpZC1jb2x1bW4KIC13ZWJraXQtZ3JpZC1yb3cK
LS13ZWJraXQtZ3JpZC10ZW1wbGF0ZQorLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzCiAtd2Vi
a2l0LWdyaWQtYXV0by1mbG93CiAtd2Via2l0LWhpZ2hsaWdodCBbSW5oZXJpdGVkXQogLXdlYmtp
dC1oeXBoZW5hdGUtY2hhcmFjdGVyIFtJbmhlcml0ZWRdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApp
bmRleCA4MmUxYzY4MmQ2NTIyYjUwYmU1NWJmMjg1ZTNlZTM0Nzk3MDliMWYwLi42ZjIwNjM0ZmJi
MDJmNTc2ODU5ODc4ZjYxOTRiYTZmMmU0MWFhNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAK
QEAgLTQwLDcgKzQwLDcgQEAKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJD
U1NGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgotI2luY2x1
ZGUgIkNTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlU2V0VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJ
bWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFsdWUuaCIKQEAgLTE4OSw4ICsx
ODksOCBAQCBib29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90aGVyKSBjb25z
dAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTSW5oZXJpdGVkVmFsdWU+
KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgSW5pdGlhbENsYXNzOgogICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTSW5pdGlhbFZhbHVlPigqdGhpcywgb3RoZXIpOwot
ICAgICAgICBjYXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICAgICAgcmV0dXJuIGNvbXBh
cmVDU1NWYWx1ZXM8Q1NTR3JpZFRlbXBsYXRlVmFsdWU+KCp0aGlzLCBvdGhlcik7CisgICAgICAg
IGNhc2UgR3JpZFRlbXBsYXRlQXJlYXNDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJl
Q1NTVmFsdWVzPENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAg
ICAgIGNhc2UgUHJpbWl0aXZlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1Zh
bHVlczxDU1NQcmltaXRpdmVWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBSZWZs
ZWN0Q2xhc3M6CkBAIC0yNzUsOCArMjc1LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIHRvQ1NTSW5oZXJpdGVkVmFsdWUodGhpcyktPmN1c3RvbUNT
U1RleHQoKTsKICAgICBjYXNlIEluaXRpYWxDbGFzczoKICAgICAgICAgcmV0dXJuIHRvQ1NTSW5p
dGlhbFZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7Ci0gICAgY2FzZSBHcmlkVGVtcGxhdGVD
bGFzczoKLSAgICAgICAgcmV0dXJuIHRvQ1NTR3JpZFRlbXBsYXRlVmFsdWUodGhpcyktPmN1c3Rv
bUNTU1RleHQoKTsKKyAgICBjYXNlIEdyaWRUZW1wbGF0ZUFyZWFzQ2xhc3M6CisgICAgICAgIHJl
dHVybiB0b0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUodGhpcyktPmN1c3RvbUNTU1RleHQoKTsK
ICAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgogICAgICAgICByZXR1cm4gdG9DU1NQcmltaXRpdmVW
YWx1ZSh0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgUmVmbGVjdENsYXNzOgpAQCAt
MzY2LDggKzM2Niw4IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgSW5pdGlh
bENsYXNzOgogICAgICAgICBkZWxldGUgdG9DU1NJbml0aWFsVmFsdWUodGhpcyk7CiAgICAgICAg
IHJldHVybjsKLSAgICBjYXNlIEdyaWRUZW1wbGF0ZUNsYXNzOgotICAgICAgICBkZWxldGUgdG9D
U1NHcmlkVGVtcGxhdGVWYWx1ZSh0aGlzKTsKKyAgICBjYXNlIEdyaWRUZW1wbGF0ZUFyZWFzQ2xh
c3M6CisgICAgICAgIGRlbGV0ZSB0b0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUodGhpcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgogICAgICAgICBkZWxldGUg
dG9DU1NQcmltaXRpdmVWYWx1ZSh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggM2Q0NmY2
ZDY2NWE5YzhiOTU3YmQ1MzViZGYyZTdhZTkwNWNkNTQxNS4uYzAyNGRhYjFhZmVkYTA1ZmUyYzYy
ZWY5MmZmOWQ3ZTZiMjRjMzQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTk3LDcgKzk3LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNGaWx0ZXJJbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRmlsdGVySW1hZ2VDbGFzczsgfQogICAgIGJvb2wgaXNXZWJLaXRDU1NG
aWx0ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRl
ckNsYXNzOyB9CiAjZW5kaWYgLy8gRU5BQkxFKENTU19GSUxURVJTKQotICAgIGJvb2wgaXNHcmlk
VGVtcGxhdGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEdyaWRUZW1wbGF0
ZUNsYXNzOyB9CisgICAgYm9vbCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOyB9CiAgICAgYm9vbCBp
c1NWR0NvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZHQ29sb3JDbGFzcyB8
fCBtX2NsYXNzVHlwZSA9PSBTVkdQYWludENsYXNzOyB9CiAgICAgYm9vbCBpc1NWR1BhaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsgfQogICAgIGJvb2wg
aXNVbmljb2RlUmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFVuaWNv
ZGVSYW5nZUNsYXNzOyB9CkBAIC0xNTcsNyArMTU3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBV
bmljb2RlUmFuZ2VDbGFzcywKICAgICAgICAgTGluZUJveENvbnRhaW5DbGFzcywKICAgICAgICAg
Q2FsY3VsYXRpb25DbGFzcywKLSAgICAgICAgR3JpZFRlbXBsYXRlQ2xhc3MsCisgICAgICAgIEdy
aWRUZW1wbGF0ZUFyZWFzQ2xhc3MsCiAgICAgICAgIFNWR0NvbG9yQ2xhc3MsCiAgICAgICAgIFNW
R1BhaW50Q2xhc3MsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAwY2Fm
ZDE4Nzk2NjJhZjZiZmEzYTU5OGVkNDhmNjQzZWRiNDI0ZjRmLi4xNzY4M2M2NzY5MjMyOGZlMGYz
ZDU5ZjIyMTIyMTdlZDFmMGJiOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRnVuY3Rpb25WYWx1ZS5oIgotI2luY2x1
ZGUgIkNTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NQYWdlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgpAQCAtMjcyNyw3ICsyNzI3
LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQs
IENTU1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0R3JpZEl0ZW1Sb3dF
bmQocm93RW5kUG9zaXRpb24pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGU6IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
R3JpZFRlbXBsYXRlQXJlYXM6IHsKICAgICAgICAgaWYgKGlzSW5oZXJpdCkgewogICAgICAgICAg
ICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYShzdGF0ZS5wYXJlbnRTdHlsZSgpLT5u
YW1lZEdyaWRBcmVhKCkpOwogICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlk
QXJlYVJvd0NvdW50KHN0YXRlLnBhcmVudFN0eWxlKCktPm5hbWVkR3JpZEFyZWFSb3dDb3VudCgp
KTsKQEAgLTI3NDYsNyArMjc0Niw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KIAotICAgICAgICBDU1NHcmlkVGVtcGxhdGVWYWx1ZSogZ3JpZFRlbXBsYXRl
VmFsdWUgPSB0b0NTU0dyaWRUZW1wbGF0ZVZhbHVlKHZhbHVlKTsKKyAgICAgICAgQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZSogZ3JpZFRlbXBsYXRlVmFsdWUgPSB0b0NTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUodmFsdWUpOwogICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXROYW1lZEdyaWRBcmVh
KGdyaWRUZW1wbGF0ZVZhbHVlLT5ncmlkQXJlYU1hcCgpKTsKICAgICAgICAgc3RhdGUuc3R5bGUo
KS0+c2V0TmFtZWRHcmlkQXJlYVJvd0NvdW50KGdyaWRUZW1wbGF0ZVZhbHVlLT5yb3dDb3VudCgp
KTsKICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KGdy
aWRUZW1wbGF0ZVZhbHVlLT5jb2x1bW5Db3VudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzCmluZGV4IGQ4YzMwY2YzM2Q2ZmUxYjVi
NDUyZjM5ZTZmYWEwYWFlOWEzNjFhZjQuLjc5OWVhMTZhOGMyZjBhNjc5ZGIxNTRhMzYxMTgzOGQw
MDEyMGJiMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQ
cmludGluZy9jc3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVBy
aW50aW5nL2Nzcy5qcwpAQCAtMzc3LDcgKzM3Nyw3IEBAIENvZGVNaXJyb3IuZGVmaW5lTW9kZSgi
Y3NzIiwgZnVuY3Rpb24oY29uZmlnLCBwYXJzZXJDb25maWcpIHsKICAgICAiZm9udC13ZWlnaHQi
LCAiZ3JpZC1jZWxsIiwgImdyaWQtY29sdW1uIiwgImdyaWQtY29sdW1uLWFsaWduIiwKICAgICAi
Z3JpZC1jb2x1bW4tc2l6aW5nIiwgImdyaWQtY29sdW1uLXNwYW4iLCAiZ3JpZC1jb2x1bW5zIiwg
ImdyaWQtZmxvdyIsCiAgICAgImdyaWQtcm93IiwgImdyaWQtcm93LWFsaWduIiwgImdyaWQtcm93
LXNpemluZyIsICJncmlkLXJvdy1zcGFuIiwKLSAgICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxh
dGUiLCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJoZWlnaHQiLCAiaHlwaGVucyIsCisgICAgImdy
aWQtcm93cyIsICJncmlkLXRlbXBsYXRlLWFyZWFzIiwgImhhbmdpbmctcHVuY3R1YXRpb24iLCAi
aGVpZ2h0IiwgImh5cGhlbnMiLAogICAgICJpY29uIiwgImltYWdlLW9yaWVudGF0aW9uIiwgImlt
YWdlLXJlbmRlcmluZyIsICJpbWFnZS1yZXNvbHV0aW9uIiwKICAgICAiaW5saW5lLWJveC1hbGln
biIsICJqdXN0aWZ5LWNvbnRlbnQiLCAibGVmdCIsICJsZXR0ZXItc3BhY2luZyIsCiAgICAgImxp
bmUtYnJlYWsiLCAibGluZS1oZWlnaHQiLCAibGluZS1zdGFja2luZyIsICJsaW5lLXN0YWNraW5n
LXJ1YnkiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvQ29kZU1pcnJvci9jc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcwppbmRleCA3NzU0NWRmNTVkMTJlNzJk
NjVlZTA4OTEyNDIxN2E3MTVkM2M1OTg0Li41ZGRlZjY4ZjUzY2Q0ODFjM2JjZjgzYTNkNmE2Zjhi
NjJjMzkxMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yL2Nzcy5qcwpAQCAtMzc3LDcgKzM3Nyw3
IEBAIENvZGVNaXJyb3IuZGVmaW5lTW9kZSgiY3NzIiwgZnVuY3Rpb24oY29uZmlnLCBwYXJzZXJD
b25maWcpIHsKICAgICAiZm9udC13ZWlnaHQiLCAiZ3JpZC1jZWxsIiwgImdyaWQtY29sdW1uIiwg
ImdyaWQtY29sdW1uLWFsaWduIiwKICAgICAiZ3JpZC1jb2x1bW4tc2l6aW5nIiwgImdyaWQtY29s
dW1uLXNwYW4iLCAiZ3JpZC1jb2x1bW5zIiwgImdyaWQtZmxvdyIsCiAgICAgImdyaWQtcm93Iiwg
ImdyaWQtcm93LWFsaWduIiwgImdyaWQtcm93LXNpemluZyIsICJncmlkLXJvdy1zcGFuIiwKLSAg
ICAiZ3JpZC1yb3dzIiwgImdyaWQtdGVtcGxhdGUiLCAiaGFuZ2luZy1wdW5jdHVhdGlvbiIsICJo
ZWlnaHQiLCAiaHlwaGVucyIsCisgICAgImdyaWQtcm93cyIsICJncmlkLXRlbXBsYXRlLWFyZWFz
IiwgImhhbmdpbmctcHVuY3R1YXRpb24iLCAiaGVpZ2h0IiwgImh5cGhlbnMiLAogICAgICJpY29u
IiwgImltYWdlLW9yaWVudGF0aW9uIiwgImltYWdlLXJlbmRlcmluZyIsICJpbWFnZS1yZXNvbHV0
aW9uIiwKICAgICAiaW5saW5lLWJveC1hbGlnbiIsICJqdXN0aWZ5LWNvbnRlbnQiLCAibGVmdCIs
ICJsZXR0ZXItc3BhY2luZyIsCiAgICAgImxpbmUtYnJlYWsiLCAibGluZS1oZWlnaHQiLCAibGlu
ZS1zdGFja2luZyIsICJsaW5lLXN0YWNraW5nLXJ1YnkiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5YjdlZDFhYmMwYWM3
ZDdkMTY5OWUyMzY5MDY3Mjg1ZWMyNzE2YzUuLjE3NjI1MTk4Y2QxYWVhYjg5NTUxY2RiYmQ5MTRm
ZmI2ZTUzNDRjZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNC0wMi0wNyAgSmF2aWVyIEZl
cm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5
b3V0XSBSZW5hbWUgbmFtZWQgYXJlYXMgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk5MAorCisgICAgICAgIFJldmlld2VkIGJ5IFNl
cmdpbyBWaWxsYXIgU2VuaW4uCisKKyAgICAgICAgRnJvbSBCbGluayByMTY1ODkxIGJ5IDxyZWdv
QGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdncmlkLXRlbXBsYXRlJyBoYXMg
YmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJworICAgICAgICBpbiB0aGUgbGFz
dCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZh
c3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1lbmQtYWZ0ZXItZ2V0LXNldC5odG1sOgorICAg
ICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVz
b2x1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1z
dGFydC1iZWZvcmUtZ2V0LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWw6CisKIDIwMTQtMDItMDcgIENo
YW5nU2VvayBPaCAgPGNoYW5nc2Vvay5vaEBjb2xsYWJvcmEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgR1RLIHBvcnQgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWwKaW5kZXggODky
NTcyZTNmMTRlMjM5NDc3MDk3YTg3MmMzOThmNDg5NDNhZjhjYy4uMzhhYTVhODg3MDU5NzM0ZGZj
M2Q3MWU0M2JmNTUxY2Q4ZjVkZDMxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFyZWEtZ2V0LXNldC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hcmVhLWdldC1zZXQuaHRtbApAQCAtOCw4
ICs4LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dy
aWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogPHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZTogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1hcmVhczogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOwogfQogCiAjb25lVmFsdWVHcmlkQXJlYSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0t
Y29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwKaW5kZXggNzU3NDU2ZGFlMDljODAw
ZjQzZjlhMDE0MDMwMmUyNDU5NGM2M2M5ZC4uYTA1YmY5ZDA4MTMwMWM4ZGJmOWQyMTZhYTQ0MDYw
MmM1ZmE4OWU2YSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbApAQCAtOCw4
ICs4LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogPC9zY3JpcHQ+CiA8c3R5bGU+CiAuZ3Jp
ZCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CiB9CiAKIC5n
cmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWVuZC1hZnRlci1nZXQtc2V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQu
aHRtbAppbmRleCBkYjg4MzY3Zjg5ZDExODZmMzZjMDI5NzMxYTZmODExNTk0M2M4NWQwLi4yYzE1
ZjU0Y2JlYjg0NmM3NzZmYjc0Yjg3NzVmNTE1NGYxNjIzOTgwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5kLWFm
dGVyLWdldC1zZXQuaHRtbApAQCAtOCw4ICs4LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
PGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogPHN0eWxl
PgogLmdyaWQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0QXJlYSBzZWNvbmRB
cmVhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOwor
ICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0QXJlYSBzZWNvbmRBcmVhIgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJkQXJlYSB0aGlyZEFyZWEiOwog
fQogCiAuZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1uYW1lZC1ncmlkLWFyZWEtcmVzb2x1
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLW5h
bWVkLWdyaWQtYXJlYS1yZXNvbHV0aW9uLmh0bWwKaW5kZXggODdkNDhkYzUyMjQwZjNhYjI4Y2Qy
YzhlNmQzZWE0ODhkYWE2MDgwMy4uOWE5MDgxN2E0MGE0MWQ0NGI0MjE0YTg3MzQ5ZjU4YjcxM2U3
Y2UwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1p
dGVtLW5hbWVkLWdyaWQtYXJlYS1yZXNvbHV0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLW5hbWVkLWdyaWQtYXJlYS1yZXNvbHV0aW9uLmh0
bWwKQEAgLTEzLDEzICsxMywxMyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiB9CiAKIC5ncmlk
V2l0aG91dFJlcGVhdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3Qgc2Vjb25k
IHRoaXJkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJ0aCBmaWZ0aCBzaXh0aCI7
CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3Qgc2Vjb25kIHRoaXJkIgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJ0aCBmaWZ0aCBzaXh0aCI7CiB9
CiAKIC5ncmlkV2l0aFJlcGVhdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3Qg
IHNlY29uZCB0aGlyZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VydGggZm91cnRo
IHRoaXJkIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCAgc2Vjb25k
IHRoaXJkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJ0aCBmb3VydGgg
dGhpcmQiOwogfQogCiAuZ3JpZEl0ZW1GaXJzdEFyZWEgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVm
b3JlLWdldC1zZXQuaHRtbAppbmRleCBkOGYzY2QwZWI4YzA2NzFjNDg4ZjM0MzBmYzk2ODZmNTgz
NGZjZGJkLi40YWQxNjdjNjk1OTA3ZTIzYWNhMjM3NDUwYmQxMjZkNGNhYjUyYjQ5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVm
b3JlLWdldC1zZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdldC1zZXQuaHRtbApAQCAtOCw4ICs4LDggQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0
eWxlc2hlZXQiPgogPHN0eWxlPgogLmdyaWQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
ImZpcnN0QXJlYSBzZWNvbmRBcmVhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJk
QXJlYSB0aGlyZEFyZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0
QXJlYSBzZWNvbmRBcmVhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoaXJk
QXJlYSB0aGlyZEFyZWEiOwogfQogCiAuZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUt
Z2V0LXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLXRlbXBsYXRlLWdldC1zZXQtZXhwZWN0ZWQudHh0CmluZGV4IDU4MDViN2EwYjhkM2FlM2U3
NjZjYmMyZDc2MDYzZTA3ZDA1NzY5OGIuLjRiYTBiMTFjM2Q0YjZkNDkzZmIzZjBmNGMyMDcxYWQz
ZDhlNjVkOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dApAQCAtMSwz
MCArMSwzMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdyaWQtdGVtcGxhdGUgaXMgcHJvcGVy
bHkgcGFyc2VkLgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdyaWQtdGVtcGxhdGUtYXJlYXMgaXMg
cHJvcGVybHkgcGFyc2VkLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotVGVzdCBn
ZXR0aW5nIGdyaWQtdGVtcGxhdGUgc2V0IHRocm91Z2ggQ1NTLgotUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGdyaWRXaXRoRGVmYXVsdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUnKSBpcyAibm9uZSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNp
bmdsZVN0cmluZ1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUnKSBpcyAiXCJhcmVhXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhUd29Db2x1
bW5zVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlz
ICJcImZpcnN0IHNlY29uZFwiIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoVHdvUm93
c1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAi
XCJmaXJzdFwiIFwic2Vjb25kXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTcGFu
bmluZ0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBs
YXRlJykgaXMgIlwic3BhbiBzcGFuXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhT
cGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlJykgaXMgIlwic3BhblwiIFwiLlwiIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRX
aXRoRG90Q29sdW1uKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBp
cyAiXCJoZWFkZXIgLlwiIFwiZm9vdGVyIC5cIiIKLVRlc3QgZ3JpZC10ZW1wbGF0ZTogaW5pdGlh
bAotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJcImZvb2JhclwiIgotVGVzdCBncmlkLXRlbXBsYXRlOiBp
bmhlcml0Ci1QQVNTIGdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZm9vIGJhclwiIgotUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZScpIGlzICJcImZvbyBiYXJcIiIKLVRlc3QgaW52YWxpZCBncmlkLXRlbXBsYXRlIHZhbHVl
cy4KLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAibm9uZSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVt
ZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAibm9uZSIK
LVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUnKSBpcyAibm9uZSIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAibm9uZSIKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUnKSBpcyAibm9uZSIKK1Rlc3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlLWFyZWFz
IHNldCB0aHJvdWdoIENTUy4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aERlZmF1bHRU
ZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykg
aXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhTaW5nbGVTdHJpbmdUZW1w
bGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMg
IlwiYXJlYVwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoVHdvQ29sdW1uc1RlbXBs
YXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
XCJmaXJzdCBzZWNvbmRcIiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFR3b1Jvd3NU
ZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykg
aXMgIlwiZmlyc3RcIiBcInNlY29uZFwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRo
U3Bhbm5pbmdDb2x1bW5zVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1hcmVhcycpIGlzICJcInNwYW4gc3BhblwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGdyaWRXaXRoU3Bhbm5pbmdSb3dzRG90VGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcInNwYW5cIiBcIi5cIiIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShncmlkV2l0aERvdENvbHVtbikuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiaGVhZGVyIC5cIiBcImZvb3RlciAuXCIiCitUZXN0
IGdyaWQtdGVtcGxhdGUtYXJlYXM6IGluaXRpYWwKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVt
ZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
XCJmb29iYXJcIiIKK1Rlc3QgZ3JpZC10ZW1wbGF0ZS1hcmVhczogaW5oZXJpdAorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHBhcmVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImZvbyBiYXJcIiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAiXCJmb28gYmFyXCIiCitUZXN0IGludmFsaWQgZ3JpZC10ZW1wbGF0ZS1hcmVhcyB2YWx1
ZXMuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
JykgaXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCiAK
IEZJWE1FOiBXZSBjdXJyZW50bHkgZG9uJ3QgdmFsaWRhdGUgdGhhdCB0aGUgbmFtZWQgZ3JpZCBh
cmVhcyBhcmUgPGluZGVudD4uCi1GQUlMIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgc2hvdWxkIGJlIG5vbmUuIFdhcyAi
bmF2LXVwIi4KK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBzaG91bGQgYmUgbm9uZS4gV2FzICJuYXYt
dXAiLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRl
LWdldC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVt
cGxhdGUtZ2V0LXNldC5odG1sCmluZGV4IDZkNDJkM2Q0YzE2ODAxNTRkYTVjZWQ2NTViNWY0MTI4
NjE1YzJiMWMuLjcwODE0MjUxMzE4NWI3MDQzODQ0Mjg4MGYzYmVlYWFiNjM0ZDkwMjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0
LXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVt
cGxhdGUtZ2V0LXNldC5odG1sCkBAIC04LDMwICs4LDMwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKIDxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDxz
dHlsZT4KICNncmlkV2l0aFNpbmdsZVN0cmluZ1RlbXBsYXRlIHsKLSAgICAtd2Via2l0LWdyaWQt
dGVtcGxhdGU6ICJhcmVhIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJhcmVh
IjsKIH0KIAogI2dyaWRXaXRoVHdvQ29sdW1uc1RlbXBsYXRlIHsKLSAgICAtd2Via2l0LWdyaWQt
dGVtcGxhdGU6ICJmaXJzdCBzZWNvbmQiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVh
czogImZpcnN0IHNlY29uZCI7CiB9CiAKICNncmlkV2l0aFR3b1Jvd3NUZW1wbGF0ZSB7Ci0gICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3QiCi0gICAgICAgICAgICAgICAgICAgInNlY29u
ZCI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3QiCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic2Vjb25kIjsKIH0KIAogI2dyaWRXaXRoU3Bhbm5pbmdD
b2x1bW5zVGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogInNwYW4gc3BhbiI7
CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAic3BhbiBzcGFuIjsKIH0KIAogI2dy
aWRXaXRoU3Bhbm5pbmdSb3dzRG90VGVtcGxhdGUgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZTogInNwYW4iCi0gICAgICAgICAgICAgICAgICAgIi4iOworICAgIC13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhczogInNwYW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiI7
CiB9CiAKICNncmlkV2l0aERvdENvbHVtbiB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAi
aGVhZGVyIC4iCi0gICAgICAgICAgICAgICAgICAgImZvb3RlciAuIjsKKyAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXM6ICJoZWFkZXIgLiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJmb290ZXIgLiI7CiB9CiA8L3N0eWxlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC00NSw3NSArNDUsNzUgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRXaXRoU3Bhbm5pbmdS
b3dzRG90VGVtcGxhdGUiPjwvZGl2PgogPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRXaXRoRG90
Q29sdW1uIj48L2Rpdj4KIDxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBncmlkLXRlbXBsYXRlIGlzIHByb3Blcmx5IHBhcnNlZC4iKTsKKyAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGdyaWQtdGVtcGxhdGUtYXJlYXMgaXMgcHJvcGVy
bHkgcGFyc2VkLiIpOwogCi0gICAgZnVuY3Rpb24gdGVzdEdyaWRUZW1wbGF0ZShncmlkSXRlbUlE
LCBleHBlY3RlZFJlc3VsdCkgewotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENv
bXB1dGVkU3R5bGUoIiArIGdyaWRJdGVtSUQgKyAiKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUnKSIsIGV4cGVjdGVkUmVzdWx0KTsKKyAgICBmdW5jdGlvbiB0ZXN0R3Jp
ZFRlbXBsYXRlQXJlYXMoZ3JpZEl0ZW1JRCwgZXhwZWN0ZWRSZXN1bHQpIHsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKCIgKyBncmlkSXRlbUlEICsgIiku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykiLCBleHBlY3Rl
ZFJlc3VsdCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1l
bnQsIGV4cGVjdGVkUmVzdWx0KSB7CisgICAgZnVuY3Rpb24gdGVzdEpTR3JpZFRlbXBsYXRlQXJl
YXMoZWxlbWVudCwgZXhwZWN0ZWRSZXN1bHQpIHsKICAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxl
bWVudDsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIiwgZXhwZWN0
ZWRSZXN1bHQpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
JykiLCBleHBlY3RlZFJlc3VsdCk7CiAgICAgfQogCi0gICAgZGVidWcoIlRlc3QgZ2V0dGluZyBn
cmlkLXRlbXBsYXRlIHNldCB0aHJvdWdoIENTUy4iKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRlKCJn
cmlkV2l0aERlZmF1bHRUZW1wbGF0ZSIsICJub25lIik7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgi
Z3JpZFdpdGhTaW5nbGVTdHJpbmdUZW1wbGF0ZSIsICciYXJlYSInKTsKLSAgICB0ZXN0R3JpZFRl
bXBsYXRlKCJncmlkV2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSIsICciZmlyc3Qgc2Vjb25kIicpOwot
ICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoVHdvUm93c1RlbXBsYXRlIiwgJyJmaXJzdCIg
InNlY29uZCInKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aFNwYW5uaW5nQ29sdW1u
c1RlbXBsYXRlIiwgJyJzcGFuIHNwYW4iJyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdp
dGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSIsICcic3BhbiIgIi4iJyk7Ci0gICAgdGVzdEdyaWRU
ZW1wbGF0ZSgiZ3JpZFdpdGhEb3RDb2x1bW4iLCAnImhlYWRlciAuIiAiZm9vdGVyIC4iJyk7Cisg
ICAgZGVidWcoIlRlc3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlLWFyZWFzIHNldCB0aHJvdWdoIENT
Uy4iKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoRGVmYXVsdFRlbXBsYXRl
IiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoU2luZ2xlU3Ry
aW5nVGVtcGxhdGUiLCAnImFyZWEiJyk7CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlk
V2l0aFR3b0NvbHVtbnNUZW1wbGF0ZSIsICciZmlyc3Qgc2Vjb25kIicpOworICAgIHRlc3RHcmlk
VGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUiLCAnImZpcnN0IiAic2Vjb25k
IicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhTcGFubmluZ0NvbHVtbnNU
ZW1wbGF0ZSIsICcic3BhbiBzcGFuIicpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3Jp
ZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSIsICcic3BhbiIgIi4iJyk7CisgICAgdGVzdEdy
aWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aERvdENvbHVtbiIsICciaGVhZGVyIC4iICJmb290ZXIg
LiInKTsKIAotICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGU6IGluaXRpYWwiKTsKKyAgICBk
ZWJ1ZygiVGVzdCBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbml0aWFsIik7CiAgICAgdmFyIGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGVsZW1lbnQpOwotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
ID0gIidmb29iYXInIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgJyJmb29iYXIi
Jyk7Ci0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiaW5pdGlhbCI7Cisg
ICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInZm9vYmFyJyI7Cisg
ICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgJyJmb29iYXIiJyk7CisgICAgZWxl
bWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICJpbml0aWFsIjsKICAgICBkb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpOwogCi0gICAgZGVidWcoIlRlc3QgZ3JpZC10
ZW1wbGF0ZTogaW5oZXJpdCIpOworICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGUtYXJlYXM6
IGluaGVyaXQiKTsKICAgICB2YXIgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50RWxlbWVudCk7
Ci0gICAgcGFyZW50RWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ2ZvbyBiYXIn
IjsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUocGFyZW50RWxl
bWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykiLCAnImZvbyBi
YXIiJyk7CisgICAgcGFyZW50RWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9
ICInZm9vIGJhciciOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHls
ZShwYXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSIsICciZm9vIGJhciInKTsKIAogICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50
KTsKLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICJpbmhlcml0IjsKLSAg
ICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgJyJmb28gYmFyIicpOworICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiaW5oZXJpdCI7CisgICAgdGVzdEpTR3Jp
ZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgJyJmb28gYmFyIicpOwogICAgIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQocGFyZW50RWxlbWVudCk7CiAKLSAgICBkZWJ1ZygiVGVzdCBpbnZhbGlkIGdy
aWQtdGVtcGxhdGUgdmFsdWVzLiIpOworICAgIGRlYnVnKCJUZXN0IGludmFsaWQgZ3JpZC10ZW1w
bGF0ZS1hcmVhcyB2YWx1ZXMuIik7CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwog
CiAgICAgLy8gJ25hdicgaXMgbm90IGEgcmVjdGFuZ3VsYXIgZGVmaW5pdGlvbi4KLSAgICBlbGVt
ZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInbmF2IGhlYWQnICduYXYgbmF2JyI7Ci0g
ICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7CisgICAgZWxlbWVudC5zdHls
ZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2IGhlYWQnICduYXYgbmF2JyI7CisgICAg
dGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIAogICAgIC8vICduYXYn
IGlzIG5vdCBjb250aWd1b3VzIGluIHRoZSBjb2x1bW4gZGlyZWN0aW9uLgotICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIiduYXYgaGVhZCBuYXYnIjsKLSAgICB0ZXN0SlNH
cmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdy
aWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCBuYXYnIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxh
dGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAgLy8gJ25hdicgaXMgbm90IGNvbnRpZ3Vv
dXMgaW4gdGhlIHJvdyBkaXJlY3Rpb24uCi0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVt
cGxhdGUgPSAiJ25hdiBoZWFkJyAnbWlkZGxlIG1pZGRsZScgJ25hdiBmb290ZXInIjsKLSAgICB0
ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndl
YmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCcgJ21pZGRsZSBtaWRkbGUnICduYXYg
Zm9vdGVyJyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsK
IAogICAgIC8vIFRoZSByb3dzIGRvbid0IGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIGNvbHVtbnMu
Ci0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkJyAnZm9v
dCciOwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1l
bnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ25hdiBoZWFkJyAnZm9vdCciOwor
ICAgIHRlc3RKU0dyaWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICAvLyBF
bXB0eSByb3dzLgotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIicnICcn
IjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVtZW50
LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIicnICcnIjsKKyAgICB0ZXN0SlNHcmlk
VGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRl
YnVnKCJGSVhNRTogV2UgY3VycmVudGx5IGRvbid0IHZhbGlkYXRlIHRoYXQgdGhlIG5hbWVkIGdy
aWQgYXJlYXMgYXJlICZsdDtpbmRlbnQmZ3Q7LiIpOwogICAgIC8vIDxpZGVudD4gb25seSBhbGxv
d3MgYSBsZWFkaW5nICctJy4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9
ICInbmF2LXVwJyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7Cisg
ICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2LXVwJyI7Cisg
ICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIDwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224077</attachid>
            <date>2014-02-13 09:19:37 -0800</date>
            <delta_ts>2014-02-13 10:02:00 -0800</delta_ts>
            <desc>Patch rebased.</desc>
            <filename>bug-127990-20140213181935.patch</filename>
            <type>text/plain</type>
            <size>53653</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMyYWRjZmY2Njk3OTNk
NmYxMzRlYmQ1Y2JhNTQyODg4M2I0OTZkYS4uZDcxZDRjYTYzYjY5MzhmNGM3MmZmMGYzNmU2ODZj
Y2EwYWVjZDUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAyLTA3ICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbmFtZSBuYW1lZCBhcmVhcyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3OTkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2VyZ2lvIFZpbGxhciBTZW5pbi4KKworICAgICAgICBGcm9tIEJsaW5rIHIxNjU4OTEgYnkg
PHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBUaGUgcHJvcGVydHkgJ2dyaWQtdGVtcGxhdGUn
IGhhcyBiZWVuIHJlbmFtZWQgdG8gJ2dyaWQtdGVtcGxhdGUtYXJlYXMnCisgICAgICAgIGluIHRo
ZSBsYXN0IHR3byB2ZXJzaW9ucyBvZiB0aGUgc3BlYy4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAg
ICAgICogY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVWYWx1ZS5oLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6On5DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmdyaWRBcmVhTWFwKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OnJvd0NvdW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNvbHVtbkNvdW50
KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3Jp
ZFRlbXBsYXRlQXJlYXMpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFscyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6Cisg
ICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKwogMjAx
NC0wMi0xMyAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9rLm9oQGNvbGxhYm9yYS5jb20+CiAKICAg
ICAgICAgU3VwcG9ydCBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIGZvciBHTEVTIGJhY2tlbmQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAwNzI0Y2IwMmUwYTMwM2Q0NmY3NGZkZmJlYTJjZjFl
ZjcxY2NlNzNhLi40MWRhODMwN2Y2NGVjZTg3MmVmNzFmN2JkNTc0ZTQ2ZWFiNWZmNDVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0wNyAgSmF2aWVy
IEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQg
TGF5b3V0XSBSZW5hbWUgbmFtZWQgYXJlYXMgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzk5MAorCisgICAgICAgIFJldmlld2VkIGJ5
IFNlcmdpbyBWaWxsYXIgU2VuaW4uCisKKyAgICAgICAgRnJvbSBCbGluayByMTY1ODkxIGJ5IDxy
ZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgVGhlIHByb3BlcnR5ICdncmlkLXRlbXBsYXRlJyBo
YXMgYmVlbiByZW5hbWVkIHRvICdncmlkLXRlbXBsYXRlLWFyZWFzJworICAgICAgICBpbiB0aGUg
bGFzdCB0d28gdmVyc2lvbnMgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgKiBUb29scy9QcmV0dHlQ
cmludGluZy9jc3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWly
cm9yL2Nzcy5qczoKKwogMjAxNC0wMi0xMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBET01TdG9yYWdlVmlldyBzaG91bGQgbGlzdGVuIGZv
ciBldmVudHMgZnJvbSBET01TdG9yYWdlT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY2
NzUzNTdmODIwMDc0ZjRkYTFiZGIzYzQxMTBhNDE0ZTY5YTA3ZWMuLjU2YjM2MDhkNDFlOTM1MTUx
OWQ3YWMzYmI0ZDQ5MzI2OGRmYzlmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMDQxLDcg
KzEwNDEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0ZvbnRWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAKLSAgICBjc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwCisgICAgY3NzL0NTU0dyaWRUZW1w
bGF0ZUFyZWFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHAKICAgICBjc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKICAgICBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDMzYzE2OGMyNjJiNTYyNWIwNWJmOTEy
YzQ1MzNmYzI3NTY2NjI5MTMuLmJiYzYzYjI0NGUxMGRlN2FlNzg1MzNiNTFhYmU5N2E2YTQyYTI5
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjU2Niw4ICsyNTY2LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmggXAotCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVt
cGxhdGVWYWx1ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
LmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NI
ZWxwZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagppbmRleCBkNmM1Y2JhOWY0NGYzYmYyOWU4YzFkMzI1MDRiN2E5MzNhZTc1NDQ5Li43Yjc0
OTg1NzYzMTVlNjY3ZDlmZGQyYWI4NDQ1NTdhYWE0NmQ4ZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTkwMDMsNyArOTAwMyw3IEBA
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgog
ICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRU
ZW1wbGF0ZVZhbHVlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGNzc1xDU1NHcm91cGluZ1J1bGUuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KQEAgLTE5NjA5LDcgKzE5NjA5LDcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGNzc1xDU1NGb250VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGNzc1xDU1NGdW5jdGlvblZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTR3JhZGllbnRWYWx1ZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Y3NzXENTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cY3NzXENTU0dyb3VwaW5nUnVsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cY3NzXENTU0hlbHBlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3Nz
XENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBjNzljMWIyODdm
MGRhNzVjOTQ5MDE1MzZjY2Q2ZWMyMzNkMmI2M2IxLi43OWEyY2Y1MjRiNmRkODhmMTIwYzRkOTA4
ZjgyNDYxMjY4YzU2ZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC02OTY3LDcgKzY5NjcsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXFNpbXBsZUxpbmVMYXlvdXRGdW5jdGlv
bnMuY3BwIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBp
bGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcQ1NTR3JpZFRlbXBsYXRlVmFsdWUu
Y3BwIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xDU1NHcmlkVGVtcGxhdGVBcmVh
c1ZhbHVlLmNwcCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxl
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xpbmRleGVkZGJcSURCQ3Vyc29y
QmFja2VuZC5jcHAiPgpAQCAtMTQ3NzksNyArMTQ3NzksNyBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccmVuZGVyaW5nXFNpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaCI+CiAgICAgICA8
RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cY3NzXENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCI+CiAgICAgICA8
RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cTW9kdWxlc1xpbmRleGVkZGJcSURCRGF0YWJhc2VCYWNrZW5kLmgiPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdi
YzFmZDc1MzhiM2IwZDgzYjk2OTQxNzM3N2FkN2VmZWM1NWRlN2QuLjg1Y2UxNGQyYmE0ZjJiZmJm
MTdkNzZlNjYyMDgyMzNjMzIzMTdiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NjAsOCArNTQ2MCw4IEBACiAJCUNEM0E0
OTY0MTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0E0OTVCMTdBOUQwMUIwMDI3NEU0
MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmNwcCAqLzsgfTsKIAkJQ0QzQTQ5NjUxN0E5RDAxQjAwMjc0
RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEM0E0OTVDMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJM
aXN0LmggKi87IH07CiAJCUNEM0UyNTFDMTgwNDZCMDYwMEUyN0Y1NiAvKiBHcmlkQ29vcmRpbmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QzRTI1
MUIxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29yZGluYXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2
IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVt
cGxhdGVWYWx1ZS5jcHAgKi87IH07Ci0JCUNEM0UyNTI0MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NH
cmlkVGVtcGxhdGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVl
LmggKi87IH07CisJCUNEM0UyNTIzMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVB
cmVhc1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
LmNwcCAqLzsgfTsKKwkJQ0QzRTI1MjQxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
LmggKi87IH07CiAJCUNENDdCM0ZDMTZDQzM0RjgwMEEyMUVDOCAvKiBDRE1Qcml2YXRlQVZGb3Vu
ZGF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q0N0IzRkExNkNDMzRGODAwQTIxRUM4IC8qIENETVByaXZhdGVBVkZvdW5kYXRpb24ubW0gKi87
IH07CiAJCUNENEFDNTJBMTQ5NkFFOUEwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2IGluIENvcHkg
QXVkaW8gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENEFD
NTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2ICovOyB9OwogCQlDRDUzOTNEMzE3
NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTM5M0QxMTc1RTAxODYwMEMwNzEyMyAvKiBKU01l
bW9yeUluZm8uY3BwICovOyB9OwpAQCAtMTI2OTMsOCArMTI2OTMsOCBAQAogCQlDRDNBNDk1QzE3
QTlEMDFCMDAyNzRFNDIgLyogU291cmNlQnVmZmVyTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNEM0E0OTVEMTdBOUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZmZXJMaXN0LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzRTI1MUIxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29yZGlu
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEdyaWRDb29yZGluYXRlLmg7
IHBhdGggPSBzdHlsZS9HcmlkQ29vcmRpbmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlDRDNFMjUyMTE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlVmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDRDNFMjUyMjE4MDQ2QkNEMDBF
MjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFs
dWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0UyNTIy
MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0N0IzRjkxNkNDMzRGODAwQTIxRUM4IC8qIENE
TVByaXZhdGVBVkZvdW5kYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDQ3QjNGQTE2Q0MzNEY4MDBBMjFFQzggLyogQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENETVByaXZhdGVBVkZvdW5kYXRp
b24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENEFDNTI4MTQ5NkFFMkYwMDg3
QzRFRiAvKiBDb21wb3NpdGUud2F2ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gYXVkaW8ud2F2OyBuYW1lID0gQ29tcG9zaXRlLndhdjsgcGF0aCA9IHBs
YXRmb3JtL2F1ZGlvL3Jlc291cmNlcy9Db21wb3NpdGUud2F2OyBzb3VyY2VUcmVlID0gU09VUkNF
X1JPT1Q7IH07CkBAIC0yMTMwNCw4ICsyMTMwNCw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2
MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAot
CQkJCUNEM0UyNTIxMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVWYWx1ZS5jcHAg
Ki8sCi0JCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVl
LmggKi8sCisJCQkJQ0QzRTI1MjExODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUuY3BwICovLAorCQkJCUNEM0UyNTIyMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlk
VGVtcGxhdGVBcmVhc1ZhbHVlLmggKi8sCiAJCQkJOTNDQTRDOUMwOURGOTNGQTAwREY4Njc3IC8q
IG1ha2V0b2tlbml6ZXIgKi8sCiAJCQkJRkJENkFGODQxNUVGMjFENDAwOEI3MTEwIC8qIEJhc2lj
U2hhcGVGdW5jdGlvbnMuY3BwICovLAogCQkJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBC
YXNpY1NoYXBlRnVuY3Rpb25zLmggKi8sCkBAIC0yNTk2Myw3ICsyNTk2Myw3IEBACiAJCQkJQkUx
NkM1OTUxN0NGRTE3MjAwODUyQzA0IC8qIEluYmFuZFdlYlZUVFRleHRUcmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxMEQ3NjgxN0Q4RUU3MTAwNUUyNjI2IC8qIFJlbmRlckJsb2NrRmxvdy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTI1MUMxODA0NkIwNjAwRTI3RjU2IC8qIEdyaWRDb29y
ZGluYXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyog
Q1NTR3JpZFRlbXBsYXRlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0UyNTI0MTgwNDZC
Q0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREVGNEZENzE3RTg1QzhGMDBBRUUyNEIgLyogR3JpZExlbmd0aC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0RFN0ZDNDUxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJFOTEzRDgwMTgxRUY5MjQwMERDQjA5RSAvKiBUcmFja1ByaXZhdGVC
YXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI5MTM3LDcgKzI5MTM3LDcgQEAKIAkJCQlCRTE2QzU5
MjE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kR2VuZXJpY1RleHRUcmFjay5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCRTE2QzU5NDE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRy
YWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTBENzY3MTdEOEVFNkUwMDVFMjYyNiAvKiBS
ZW5kZXJCbG9ja0Zsb3cuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0QzRTI1MjMxODA0NkJDRDAw
RTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
M0UyNTIzMTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUNERTdGQzQ0MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJh
dG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAxOGEwYWIxNDdmMWQ0NWYwYjQ3YWViM2VmNzU2MmQ5
MjE5MTliMWFjLi4zZjU5NDMyYjBmMTRiNzAzNzJiNTM2NmQ5Nzk5OGY5ZjQ1YzcxYTQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGb250VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGdW5jdGlvblZhbHVlLmgiCi0j
aW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCkBAIC0y
MTAwLDEzICsyMTAwLDEzIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRy
YWN0b3I6OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRHcmlkUm93OgogICAgICAgICAgICAgcmV0dXJuIGdldENTU1Byb3Bl
cnR5VmFsdWVzRm9yR3JpZFNob3J0aGFuZCh3ZWJraXRHcmlkUm93U2hvcnRoYW5kKCkpOwogCi0g
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGU6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVBcmVhczoKICAgICAgICAgICAgIGlmICghc3R5
bGUtPm5hbWVkR3JpZEFyZWFSb3dDb3VudCgpKSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKCFz
dHlsZS0+bmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkpOwogICAgICAgICAgICAgICAgIHJldHVy
biBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKTsKICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgcmV0dXJuIENTU0dyaWRUZW1wbGF0ZVZhbHVlOjpj
cmVhdGUoc3R5bGUtPm5hbWVkR3JpZEFyZWEoKSwgc3R5bGUtPm5hbWVkR3JpZEFyZWFSb3dDb3Vu
dCgpLCBzdHlsZS0+bmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkpOworICAgICAgICAgICAgcmV0
dXJuIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNyZWF0ZShzdHlsZS0+bmFtZWRHcmlkQXJl
YSgpLCBzdHlsZS0+bmFtZWRHcmlkQXJlYVJvd0NvdW50KCksIHN0eWxlLT5uYW1lZEdyaWRBcmVh
Q29sdW1uQ291bnQoKSk7CiAKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdodDoKICAgICAg
ICAgICAgIGlmIChyZW5kZXJlcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRU
ZW1wbGF0ZUFyZWFzVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5NGM0MDdhZjNjZGIwODRjMWM1MGZl
ZWVkNjNjZDk2YTJmOGYxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzLCAyMDE0IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIKKworI2luY2x1ZGUgIkdyaWRDb29yZGlu
YXRlLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0NTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OkNTU0dyaWRUZW1wbGF0ZUFy
ZWFzVmFsdWUoY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3dD
b3VudCwgc2l6ZV90IGNvbHVtbkNvdW50KQorICAgIDogQ1NTVmFsdWUoR3JpZFRlbXBsYXRlQXJl
YXNDbGFzcykKKyAgICAsIG1fZ3JpZEFyZWFNYXAoZ3JpZEFyZWFNYXApCisgICAgLCBtX3Jvd0Nv
dW50KHJvd0NvdW50KQorICAgICwgbV9jb2x1bW5Db3VudChjb2x1bW5Db3VudCkKK3sKKyAgICBB
U1NFUlQobV9yb3dDb3VudCk7CisgICAgQVNTRVJUKG1fY29sdW1uQ291bnQpOworfQorCitzdGF0
aWMgU3RyaW5nIHN0cmluZ0ZvclBvc2l0aW9uKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRB
cmVhTWFwLCBzaXplX3Qgcm93LCBzaXplX3QgY29sdW1uKQoreworICAgIFZlY3RvcjxTdHJpbmc+
IGNhbmRpZGF0ZXM7CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGl0IDogZ3JpZEFyZWFNYXApIHsK
KyAgICAgICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBpdC52YWx1ZTsKKyAg
ICAgICAgaWYgKHJvdyA+PSBjb29yZGluYXRlLnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXggJiYg
cm93IDw9IGNvb3JkaW5hdGUucm93cy5maW5hbFBvc2l0aW9uSW5kZXgpCisgICAgICAgICAgICBj
YW5kaWRhdGVzLmFwcGVuZChpdC5rZXkpOworICAgIH0KKworICAgIGZvciAoY29uc3QgYXV0byYg
aXQgOiBncmlkQXJlYU1hcCkgeworICAgICAgICBjb25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRp
bmF0ZSA9IGl0LnZhbHVlOworICAgICAgICBpZiAoY29sdW1uID49IGNvb3JkaW5hdGUuY29sdW1u
cy5pbml0aWFsUG9zaXRpb25JbmRleCAmJiBjb2x1bW4gPD0gY29vcmRpbmF0ZS5jb2x1bW5zLmZp
bmFsUG9zaXRpb25JbmRleCAmJiBjYW5kaWRhdGVzLmNvbnRhaW5zKGl0LmtleSkpCisgICAgICAg
ICAgICByZXR1cm4gaXQua2V5OworICAgIH0KKworICAgIHJldHVybiAiLiI7Cit9CisKK1N0cmlu
ZyBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAg
ICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgZm9yIChzaXplX3Qgcm93ID0gMDsgcm93IDwg
bV9yb3dDb3VudDsgKytyb3cpIHsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoJ1wiJyk7CisgICAg
ICAgIGZvciAoc2l6ZV90IGNvbHVtbiA9IDA7IGNvbHVtbiA8IG1fY29sdW1uQ291bnQ7ICsrY29s
dW1uKSB7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChzdHJpbmdGb3JQb3NpdGlvbihtX2dy
aWRBcmVhTWFwLCByb3csIGNvbHVtbikpOworICAgICAgICAgICAgaWYgKGNvbHVtbiAhPSBtX2Nv
bHVtbkNvdW50IC0gMSkKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOworICAg
ICAgICB9CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCdcIicpOworICAgICAgICBpZiAocm93ICE9
IG1fcm93Q291bnQgLSAxKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICB9
CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyaWRUZW1wbGF0ZUFyZWFz
VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjI2MWRmMGE1NDc4ODJkODFlMTViMGEyMWUwZWExNzNjNDkxMGI1ZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVtcGxhdGVBcmVhc1Zh
bHVlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlX2gKKyNkZWZpbmUgQ1NTR3Jp
ZFRlbXBsYXRlQXJlYXNWYWx1ZV9oCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUg
IkdyaWRDb29yZGluYXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTR3Jp
ZFRlbXBsYXRlQXJlYXNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWY8Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZT4gY3JlYXRlKGNvbnN0IE5hbWVk
R3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBzaXplX3Qgcm93Q291bnQsIHNpemVfdCBjb2x1bW5D
b3VudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUoZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpOworICAgIH0K
KworICAgIH5DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKCkgeyB9CisKKyAgICBTdHJpbmcgY3Vz
dG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFy
ZWFNYXAoKSBjb25zdCB7IHJldHVybiBtX2dyaWRBcmVhTWFwOyB9CisgICAgc2l6ZV90IHJvd0Nv
dW50KCkgY29uc3QgeyByZXR1cm4gbV9yb3dDb3VudDsgfQorICAgIHNpemVfdCBjb2x1bW5Db3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29sdW1uQ291bnQ7IH0KKworcHJpdmF0ZToKKyAgICBDU1NH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmLCBzaXplX3Qgcm93
Q291bnQsIHNpemVfdCBjb2x1bW5Db3VudCk7CisKKyAgICBOYW1lZEdyaWRBcmVhTWFwIG1fZ3Jp
ZEFyZWFNYXA7CisgICAgc2l6ZV90IG1fcm93Q291bnQ7CisgICAgc2l6ZV90IG1fY29sdW1uQ291
bnQ7Cit9OworCitDU1NfVkFMVUVfVFlQRV9DQVNUUyhDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVl
LCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoKSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyaWRUZW1wbGF0ZVZhbHVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMGYyZTFhYzg1ZGZlYWI5YWFiNTAwOGQ2YTJiMTM1NDAyNWJmNGJkYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JpZFRlbXBsYXRlVmFsdWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkNTU0dyaWRUZW1wbGF0ZVZhbHVlLmgiCi0KLSNpbmNsdWRlICJHcmlkQ29vcmRpbmF0ZS5o
IgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1DU1NHcmlkVGVtcGxhdGVWYWx1ZTo6Q1NTR3JpZFRlbXBsYXRlVmFsdWUoY29uc3Qg
TmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAsIHNpemVfdCByb3dDb3VudCwgc2l6ZV90IGNv
bHVtbkNvdW50KQotICAgIDogQ1NTVmFsdWUoR3JpZFRlbXBsYXRlQ2xhc3MpCi0gICAgLCBtX2dy
aWRBcmVhTWFwKGdyaWRBcmVhTWFwKQotICAgICwgbV9yb3dDb3VudChyb3dDb3VudCkKLSAgICAs
IG1fY29sdW1uQ291bnQoY29sdW1uQ291bnQpCi17Ci0gICAgQVNTRVJUKG1fcm93Q291bnQpOwot
ICAgIEFTU0VSVChtX2NvbHVtbkNvdW50KTsKLX0KLQotc3RhdGljIFN0cmluZyBzdHJpbmdGb3JQ
b3NpdGlvbihjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvdywg
c2l6ZV90IGNvbHVtbikKLXsKLSAgICBWZWN0b3I8U3RyaW5nPiBjYW5kaWRhdGVzOwotCi0gICAg
Zm9yIChjb25zdCBhdXRvJiBpdCA6IGdyaWRBcmVhTWFwKSB7Ci0gICAgICAgIGNvbnN0IEdyaWRD
b29yZGluYXRlJiBjb29yZGluYXRlID0gaXQudmFsdWU7Ci0gICAgICAgIGlmIChyb3cgPj0gY29v
cmRpbmF0ZS5yb3dzLmluaXRpYWxQb3NpdGlvbkluZGV4ICYmIHJvdyA8PSBjb29yZGluYXRlLnJv
d3MuZmluYWxQb3NpdGlvbkluZGV4KQotICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBlbmQoaXQu
a2V5KTsKLSAgICB9Ci0KLSAgICBmb3IgKGNvbnN0IGF1dG8mIGl0IDogZ3JpZEFyZWFNYXApIHsK
LSAgICAgICAgY29uc3QgR3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBpdC52YWx1ZTsKLSAg
ICAgICAgaWYgKGNvbHVtbiA+PSBjb29yZGluYXRlLmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9uSW5k
ZXggJiYgY29sdW1uIDw9IGNvb3JkaW5hdGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5kZXggJiYg
Y2FuZGlkYXRlcy5jb250YWlucyhpdC5rZXkpKQotICAgICAgICAgICAgcmV0dXJuIGl0LmtleTsK
LSAgICB9Ci0KLSAgICByZXR1cm4gIi4iOwotfQotCi1TdHJpbmcgQ1NTR3JpZFRlbXBsYXRlVmFs
dWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAotewotICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsK
LSAgICBmb3IgKHNpemVfdCByb3cgPSAwOyByb3cgPCBtX3Jvd0NvdW50OyArK3JvdykgewotICAg
ICAgICBidWlsZGVyLmFwcGVuZCgnXCInKTsKLSAgICAgICAgZm9yIChzaXplX3QgY29sdW1uID0g
MDsgY29sdW1uIDwgbV9jb2x1bW5Db3VudDsgKytjb2x1bW4pIHsKLSAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKHN0cmluZ0ZvclBvc2l0aW9uKG1fZ3JpZEFyZWFNYXAsIHJvdywgY29sdW1uKSk7
Ci0gICAgICAgICAgICBpZiAoY29sdW1uICE9IG1fY29sdW1uQ291bnQgLSAxKQotICAgICAgICAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIH0KLSAgICAgICAgYnVpbGRlci5h
cHBlbmQoJ1wiJyk7Ci0gICAgICAgIGlmIChyb3cgIT0gbV9yb3dDb3VudCAtIDEpCi0gICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgIH0KLSAgICByZXR1cm4gYnVpbGRlci50b1N0
cmluZygpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JpZFRlbXBsYXRlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmlkVGVtcGxhdGVWYWx1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZmFl
MDFjNDg1NmY3MzRiMjk3M2Q5YmExMjY4YTQ5NzY0YTc3Nzg0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmlkVGVt
cGxhdGVWYWx1ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDEzIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDU1NHcmlkVGVtcGxhdGVWYWx1ZV9oCi0jZGVm
aW5lIENTU0dyaWRUZW1wbGF0ZVZhbHVlX2gKLQotI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCi0jaW5j
bHVkZSAiR3JpZENvb3JkaW5hdGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBD
U1NHcmlkVGVtcGxhdGVWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWY8Q1NTR3JpZFRlbXBsYXRlVmFsdWU+IGNyZWF0ZShjb25zdCBOYW1lZEdyaWRB
cmVhTWFwJiBncmlkQXJlYU1hcCwgc2l6ZV90IHJvd0NvdW50LCBzaXplX3QgY29sdW1uQ291bnQp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NHcmlkVGVtcGxhdGVWYWx1
ZShncmlkQXJlYU1hcCwgcm93Q291bnQsIGNvbHVtbkNvdW50KSk7Ci0gICAgfQotCi0gICAgfkNT
U0dyaWRUZW1wbGF0ZVZhbHVlKCkgeyB9Ci0KLSAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNv
bnN0OwotCi0gICAgY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgZ3JpZEFyZWFNYXAoKSBjb25zdCB7
IHJldHVybiBtX2dyaWRBcmVhTWFwOyB9Ci0gICAgc2l6ZV90IHJvd0NvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9yb3dDb3VudDsgfQotICAgIHNpemVfdCBjb2x1bW5Db3VudCgpIGNvbnN0IHsgcmV0
dXJuIG1fY29sdW1uQ291bnQ7IH0KLQotcHJpdmF0ZToKLSAgICBDU1NHcmlkVGVtcGxhdGVWYWx1
ZShjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiwgc2l6ZV90IHJvd0NvdW50LCBzaXplX3QgY29sdW1u
Q291bnQpOwotCi0gICAgTmFtZWRHcmlkQXJlYU1hcCBtX2dyaWRBcmVhTWFwOwotICAgIHNpemVf
dCBtX3Jvd0NvdW50OwotICAgIHNpemVfdCBtX2NvbHVtbkNvdW50OwotfTsKLQotQ1NTX1ZBTFVF
X1RZUEVfQ0FTVFMoQ1NTR3JpZFRlbXBsYXRlVmFsdWUsIGlzR3JpZFRlbXBsYXRlVmFsdWUoKSkK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQ1NTR3JpZFRlbXBsYXRlVmFs
dWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5MjVlZjBmODIzNjBkMTEzNjhkZTdk
MmZhMDA5ODdkZTNlYjcwYmE1Li5hMDI5NWM4MTRhYzJmYWIxNzFmM2MzOGQ3ZWM3MmE3YWU2NTUx
OTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQAogI2luY2x1
ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlVmFsdWUu
aCIKKyNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
SW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0luaGVyaXRlZFZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTSW5pdGlhbFZhbHVlLmgiCkBAIC0yNTk3LDExICsyNTk3LDExIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlR3JpZEFyZWFTaG9ydGhh
bmQoaW1wb3J0YW50KTsKIAotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGU6
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzOgogICAgICAgICBp
ZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUdyaWRUZW1wbGF0ZSgpOworICAgICAgICBwYXJz
ZWRWYWx1ZSA9IHBhcnNlR3JpZFRlbXBsYXRlQXJlYXMoKTsKICAgICAgICAgYnJlYWs7CiAKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFyZ2luQ29sbGFwc2U6IHsKQEAgLTUxMzAsNyArNTEz
MCw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZURhc2hib2FyZFJlZ2lvbnMoQ1NTUHJvcGVydHlJ
RCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogCiAjZW5kaWYgLyogRU5BQkxFKERBU0hCT0FSRF9T
VVBQT1JUKSAqLwogCi1QYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlR3JpZFRl
bXBsYXRlKCkKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxh
dGVBcmVhcygpCiB7CiAgICAgTmFtZWRHcmlkQXJlYU1hcCBncmlkQXJlYU1hcDsKICAgICBzaXpl
X3Qgcm93Q291bnQgPSAwOwpAQCAtNTIwMiw3ICs1MjAyLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZSgpCiAgICAgaWYgKCFyb3dDb3VudCB8fCAh
Y29sdW1uQ291bnQpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIENTU0dyaWRUZW1w
bGF0ZVZhbHVlOjpjcmVhdGUoZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCk7Cisg
ICAgcmV0dXJuIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWU6OmNyZWF0ZShncmlkQXJlYU1hcCwg
cm93Q291bnQsIGNvbHVtbkNvdW50KTsKIH0KIAogUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFy
c2VyOjpwYXJzZUNvdW50ZXJDb250ZW50KENTU1BhcnNlclZhbHVlTGlzdCogYXJncywgYm9vbCBj
b3VudGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBlNmQ3MmUyODQ3NjY5MDFjYjRiY2Rl
MzI5Mjc3ZDYxMzQwNGZlODRiLi5mZDA3NzE5Mzc5ZmUzMTE3ZDUwNGVkZTVhYTRlNTNjOGZhYzg4
NDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHVibGljOgog
ICAgIGJvb2wgcGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmKTsKICAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUdyaWRUcmFja1NpemUoQ1NTUGFyc2VyVmFsdWVM
aXN0JiBpbnB1dExpc3QpOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHBhcnNl
R3JpZEJyZWFkdGgoQ1NTUGFyc2VyVmFsdWUqKTsKLSAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBw
YXJzZUdyaWRUZW1wbGF0ZSgpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFRl
bXBsYXRlQXJlYXMoKTsKICAgICB2b2lkIHBhcnNlR3JpZFRyYWNrTmFtZXMoQ1NTUGFyc2VyVmFs
dWVMaXN0JiBpbnB1dExpc3QsIENTU1ZhbHVlTGlzdCYgdmFsdWVzKTsKIAogICAgIGJvb2wgcGFy
c2VEYXNoYm9hcmRSZWdpb25zKENTU1Byb3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggNzg5YWY0MDYyZGNkY2UxZWRhYjQ3
NzNiYzdhNWQzYzY4OTAwYjZkNS4uM2VmMDUyNDQxNWY5YmNmNGFlZjM3YWM0NWRmMDg3M2U5ZjU2
MzcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTMxMCw3ICsz
MTAsNyBAQCB6LWluZGV4CiAtd2Via2l0LWdyaWQtcm93LXN0YXJ0CiAtd2Via2l0LWdyaWQtY29s
dW1uCiAtd2Via2l0LWdyaWQtcm93Ci0td2Via2l0LWdyaWQtdGVtcGxhdGUKKy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcwogLXdlYmtpdC1ncmlkLWF1dG8tZmxvdwogLXdlYmtpdC1oeXBoZW5h
dGUtY2hhcmFjdGVyIFtJbmhlcml0ZWRdCiAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlciBb
SW5oZXJpdGVkXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggODJlMWM2ODJkNjUyMmI1MGJl
NTViZjI4NWUzZWUzNDc5NzA5YjFmMC4uNmYyMDYzNGZiYjAyZjU3Njg1OTg3OGY2MTk0YmE2ZjJl
NDFhYTQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAjaW5j
bHVkZSAiQ1NTRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRnVuY3Rpb25WYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1
ZS5oIgorI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NJbWFnZVNldFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0luaGVyaXRlZFZhbHVlLmgiCkBAIC0xODksOCArMTg5LDggQEAgYm9vbCBDU1NWYWx1ZTo6
ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBj
b21wYXJlQ1NTVmFsdWVzPENTU0luaGVyaXRlZFZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAg
ICBjYXNlIEluaXRpYWxDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU0luaXRpYWxWYWx1ZT4oKnRoaXMsIG90aGVyKTsKLSAgICAgICAgY2FzZSBHcmlkVGVtcGxh
dGVDbGFzczoKLSAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0dyaWRUZW1w
bGF0ZVZhbHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBjYXNlIEdyaWRUZW1wbGF0ZUFyZWFz
Q2xhc3M6CisgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NHcmlkVGVtcGxh
dGVBcmVhc1ZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIFByaW1pdGl2ZUNsYXNz
OgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTUHJpbWl0aXZlVmFsdWU+
KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgUmVmbGVjdENsYXNzOgpAQCAtMjc1LDggKzI3
NSw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiB0
b0NTU0luaGVyaXRlZFZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBJbml0
aWFsQ2xhc3M6CiAgICAgICAgIHJldHVybiB0b0NTU0luaXRpYWxWYWx1ZSh0aGlzKS0+Y3VzdG9t
Q1NTVGV4dCgpOwotICAgIGNhc2UgR3JpZFRlbXBsYXRlQ2xhc3M6Ci0gICAgICAgIHJldHVybiB0
b0NTU0dyaWRUZW1wbGF0ZVZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBH
cmlkVGVtcGxhdGVBcmVhc0NsYXNzOgorICAgICAgICByZXR1cm4gdG9DU1NHcmlkVGVtcGxhdGVB
cmVhc1ZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBQcmltaXRpdmVDbGFz
czoKICAgICAgICAgcmV0dXJuIHRvQ1NTUHJpbWl0aXZlVmFsdWUodGhpcyktPmN1c3RvbUNTU1Rl
eHQoKTsKICAgICBjYXNlIFJlZmxlY3RDbGFzczoKQEAgLTM2Niw4ICszNjYsOCBAQCB2b2lkIENT
U1ZhbHVlOjpkZXN0cm95KCkKICAgICBjYXNlIEluaXRpYWxDbGFzczoKICAgICAgICAgZGVsZXRl
IHRvQ1NTSW5pdGlhbFZhbHVlKHRoaXMpOwogICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBHcmlk
VGVtcGxhdGVDbGFzczoKLSAgICAgICAgZGVsZXRlIHRvQ1NTR3JpZFRlbXBsYXRlVmFsdWUodGhp
cyk7CisgICAgY2FzZSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOgorICAgICAgICBkZWxldGUgdG9D
U1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKHRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgY2Fz
ZSBQcmltaXRpdmVDbGFzczoKICAgICAgICAgZGVsZXRlIHRvQ1NTUHJpbWl0aXZlVmFsdWUodGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IDNkNDZmNmQ2NjVhOWM4Yjk1N2JkNTM1YmRmMmU3
YWU5MDVjZDU0MTUuLmMwMjRkYWIxYWZlZGEwNWZlMmM2MmVmOTJmZjlkN2U2YjI0YzM0NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
RmlsdGVySW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZpbHRlcklt
YWdlQ2xhc3M7IH0KICAgICBib29sIGlzV2ViS2l0Q1NTRmlsdGVyVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzVHlwZSA9PSBXZWJLaXRDU1NGaWx0ZXJDbGFzczsgfQogI2VuZGlmIC8vIEVO
QUJMRShDU1NfRklMVEVSUykKLSAgICBib29sIGlzR3JpZFRlbXBsYXRlVmFsdWUoKSBjb25zdCB7
IHJldHVybiBtX2NsYXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVDbGFzczsgfQorICAgIGJvb2wgaXNH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gR3Jp
ZFRlbXBsYXRlQXJlYXNDbGFzczsgfQogICAgIGJvb2wgaXNTVkdDb2xvcigpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IFNWR0NvbG9yQ2xhc3MgfHwgbV9jbGFzc1R5cGUgPT0gU1ZHUGFp
bnRDbGFzczsgfQogICAgIGJvb2wgaXNTVkdQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IFNWR1BhaW50Q2xhc3M7IH0KICAgICBib29sIGlzVW5pY29kZVJhbmdlVmFsdWUoKSBj
b25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBVbmljb2RlUmFuZ2VDbGFzczsgfQpAQCAtMTU3
LDcgKzE1Nyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgVW5pY29kZVJhbmdlQ2xhc3MsCiAgICAg
ICAgIExpbmVCb3hDb250YWluQ2xhc3MsCiAgICAgICAgIENhbGN1bGF0aW9uQ2xhc3MsCi0gICAg
ICAgIEdyaWRUZW1wbGF0ZUNsYXNzLAorICAgICAgICBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzLAog
ICAgICAgICBTVkdDb2xvckNsYXNzLAogICAgICAgICBTVkdQYWludENsYXNzLAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMDE5MDBlMzc4ZjU1NWQyZTFjYmFhYmJhYzM3
MjJkMDI5ZDM4NzRjYS4uYmU2Y2ZiOWM0MjEwNDljN2M1OTQzYzE0Y2ZhYmY2MTk0YTY5YjE1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNDAsNyArNDAsNyBAQAogI2lu
Y2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVWYWx1
ZS5oIgorI2luY2x1ZGUgIkNTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NMaW5lQm94Q29udGFpblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKQEAgLTI3MjcsNyArMjcyNyw3IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAg
ICAgIHN0YXRlLnN0eWxlKCktPnNldEdyaWRJdGVtUm93RW5kKHJvd0VuZFBvc2l0aW9uKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBs
YXRlOiB7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzOiB7CiAg
ICAgICAgIGlmIChpc0luaGVyaXQpIHsKICAgICAgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldE5h
bWVkR3JpZEFyZWEoc3RhdGUucGFyZW50U3R5bGUoKS0+bmFtZWRHcmlkQXJlYSgpKTsKICAgICAg
ICAgICAgIHN0YXRlLnN0eWxlKCktPnNldE5hbWVkR3JpZEFyZWFSb3dDb3VudChzdGF0ZS5wYXJl
bnRTdHlsZSgpLT5uYW1lZEdyaWRBcmVhUm93Q291bnQoKSk7CkBAIC0yNzQ2LDcgKzI3NDYsNyBA
QCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NT
VmFsdWUqIHZhbHVlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
Q1NTR3JpZFRlbXBsYXRlVmFsdWUqIGdyaWRUZW1wbGF0ZVZhbHVlID0gdG9DU1NHcmlkVGVtcGxh
dGVWYWx1ZSh2YWx1ZSk7CisgICAgICAgIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUqIGdyaWRU
ZW1wbGF0ZVZhbHVlID0gdG9DU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlKHZhbHVlKTsKICAgICAg
ICAgc3RhdGUuc3R5bGUoKS0+c2V0TmFtZWRHcmlkQXJlYShncmlkVGVtcGxhdGVWYWx1ZS0+Z3Jp
ZEFyZWFNYXAoKSk7CiAgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldE5hbWVkR3JpZEFyZWFSb3dD
b3VudChncmlkVGVtcGxhdGVWYWx1ZS0+cm93Q291bnQoKSk7CiAgICAgICAgIHN0YXRlLnN0eWxl
KCktPnNldE5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudChncmlkVGVtcGxhdGVWYWx1ZS0+Y29sdW1u
Q291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5
UHJpbnRpbmcvY3NzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50
aW5nL2Nzcy5qcwppbmRleCBkOGMzMGNmMzNkNmZlMWI1YjQ1MmYzOWU2ZmFhMGFhZTlhMzYxYWY0
Li43OTllYTE2YThjMmYwYTY3OWRiMTU0YTM2MTE4MzhkMDAxMjBiYjEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3MuanMKQEAgLTM3Nyw3
ICszNzcsNyBAQCBDb2RlTWlycm9yLmRlZmluZU1vZGUoImNzcyIsIGZ1bmN0aW9uKGNvbmZpZywg
cGFyc2VyQ29uZmlnKSB7CiAgICAgImZvbnQtd2VpZ2h0IiwgImdyaWQtY2VsbCIsICJncmlkLWNv
bHVtbiIsICJncmlkLWNvbHVtbi1hbGlnbiIsCiAgICAgImdyaWQtY29sdW1uLXNpemluZyIsICJn
cmlkLWNvbHVtbi1zcGFuIiwgImdyaWQtY29sdW1ucyIsICJncmlkLWZsb3ciLAogICAgICJncmlk
LXJvdyIsICJncmlkLXJvdy1hbGlnbiIsICJncmlkLXJvdy1zaXppbmciLCAiZ3JpZC1yb3ctc3Bh
biIsCi0gICAgImdyaWQtcm93cyIsICJncmlkLXRlbXBsYXRlIiwgImhhbmdpbmctcHVuY3R1YXRp
b24iLCAiaGVpZ2h0IiwgImh5cGhlbnMiLAorICAgICJncmlkLXJvd3MiLCAiZ3JpZC10ZW1wbGF0
ZS1hcmVhcyIsICJoYW5naW5nLXB1bmN0dWF0aW9uIiwgImhlaWdodCIsICJoeXBoZW5zIiwKICAg
ICAiaWNvbiIsICJpbWFnZS1vcmllbnRhdGlvbiIsICJpbWFnZS1yZW5kZXJpbmciLCAiaW1hZ2Ut
cmVzb2x1dGlvbiIsCiAgICAgImlubGluZS1ib3gtYWxpZ24iLCAianVzdGlmeS1jb250ZW50Iiwg
ImxlZnQiLCAibGV0dGVyLXNwYWNpbmciLAogICAgICJsaW5lLWJyZWFrIiwgImxpbmUtaGVpZ2h0
IiwgImxpbmUtc3RhY2tpbmciLCAibGluZS1zdGFja2luZy1ydWJ5IiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvY3Nz
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ29kZU1p
cnJvci9jc3MuanMKaW5kZXggNzc1NDVkZjU1ZDEyZTcyZDY1ZWUwODkxMjQyMTdhNzE1ZDNjNTk4
NC4uNWRkZWY2OGY1M2NkNDgxYzNiY2Y4M2EzZDZhNmY4YjYyYzM5MTBkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci9j
c3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwv
Q29kZU1pcnJvci9jc3MuanMKQEAgLTM3Nyw3ICszNzcsNyBAQCBDb2RlTWlycm9yLmRlZmluZU1v
ZGUoImNzcyIsIGZ1bmN0aW9uKGNvbmZpZywgcGFyc2VyQ29uZmlnKSB7CiAgICAgImZvbnQtd2Vp
Z2h0IiwgImdyaWQtY2VsbCIsICJncmlkLWNvbHVtbiIsICJncmlkLWNvbHVtbi1hbGlnbiIsCiAg
ICAgImdyaWQtY29sdW1uLXNpemluZyIsICJncmlkLWNvbHVtbi1zcGFuIiwgImdyaWQtY29sdW1u
cyIsICJncmlkLWZsb3ciLAogICAgICJncmlkLXJvdyIsICJncmlkLXJvdy1hbGlnbiIsICJncmlk
LXJvdy1zaXppbmciLCAiZ3JpZC1yb3ctc3BhbiIsCi0gICAgImdyaWQtcm93cyIsICJncmlkLXRl
bXBsYXRlIiwgImhhbmdpbmctcHVuY3R1YXRpb24iLCAiaGVpZ2h0IiwgImh5cGhlbnMiLAorICAg
ICJncmlkLXJvd3MiLCAiZ3JpZC10ZW1wbGF0ZS1hcmVhcyIsICJoYW5naW5nLXB1bmN0dWF0aW9u
IiwgImhlaWdodCIsICJoeXBoZW5zIiwKICAgICAiaWNvbiIsICJpbWFnZS1vcmllbnRhdGlvbiIs
ICJpbWFnZS1yZW5kZXJpbmciLCAiaW1hZ2UtcmVzb2x1dGlvbiIsCiAgICAgImlubGluZS1ib3gt
YWxpZ24iLCAianVzdGlmeS1jb250ZW50IiwgImxlZnQiLCAibGV0dGVyLXNwYWNpbmciLAogICAg
ICJsaW5lLWJyZWFrIiwgImxpbmUtaGVpZ2h0IiwgImxpbmUtc3RhY2tpbmciLCAibGluZS1zdGFj
a2luZy1ydWJ5IiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAwZmFmNTA2YjU4ZTYyM2E2NjAyYmNkOGM3YWNmNjU0OTkxYWE2
YzZkLi5jODNmMjNkNzBlOGVjNmQzODU2YWQyZWQ5NTg5ZDhkNzdlYzliYzRjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTQtMDItMDcgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFuZGV6QGln
YWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gUmVuYW1lIG5hbWVkIGFyZWFz
IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc5OTAKKworICAgICAgICBSZXZpZXdlZCBieSBTZXJnaW8gVmlsbGFyIFNlbmluLgorCisg
ICAgICAgIEZyb20gQmxpbmsgcjE2NTg5MSBieSA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFRoZSBwcm9wZXJ0eSAnZ3JpZC10ZW1wbGF0ZScgaGFzIGJlZW4gcmVuYW1lZCB0byAnZ3JpZC10
ZW1wbGF0ZS1hcmVhcycKKyAgICAgICAgaW4gdGhlIGxhc3QgdHdvIHZlcnNpb25zIG9mIHRoZSBz
cGVjLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFyZWEtZ2V0
LXNldC5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1
bW4tcm93LWdldC1zZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdldC1zZXQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxh
dGUtZ2V0LXNldC5odG1sOgorCiAyMDE0LTAyLTEzICBBbmRyemVqIEJhZG93c2tpICA8YS5iYWRv
d3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgb3IgcmVtb3ZlIGV4cGVjdGF0
aW9ucyBmb3Igc29tZSBtZWRpYSBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hcmVhLWdldC1zZXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hcmVhLWdldC1zZXQuaHRtbApp
bmRleCA4OTI1NzJlM2YxNGUyMzk0NzcwOTdhODcyYzM5OGY0ODk0M2FmOGNjLi4zOGFhNWE4ODcw
NTk3MzRkZmMzZDcxZTQzYmY1NTFjZDhmNWRkMzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYXJlYS1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFyZWEtZ2V0LXNldC5odG1s
CkBAIC04LDggKzgsOCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8bGluayBocmVmPSJyZXNv
dXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiA8c3R5bGU+CiAuZ3JpZCB7Ci0gICAg
LXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CisgICAgLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CiB9CiAKICNvbmVWYWx1ZUdy
aWRBcmVhIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbAppbmRleCA3NTc0NTZk
YWUwOWM4MDBmNDNmOWEwMTQwMzAyZTI0NTk0YzYzYzlkLi5hMDViZjlkMDgxMzAxYzhkYmY5ZDIx
NmFhNDQwNjAyYzVmYTg5ZTZhIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1s
CkBAIC04LDggKzgsOCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8L3NjcmlwdD4KIDxzdHls
ZT4KIC5ncmlkIHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdEFyZWEgc2Vjb25k
QXJlYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsK
KyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdEFyZWEgc2Vjb25kQXJlYSIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlyZEFyZWEgdGhpcmRBcmVhIjsK
IH0KIAogLmdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tZW5kLWFmdGVyLWdldC1zZXQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1lbmQtYWZ0ZXIt
Z2V0LXNldC5odG1sCmluZGV4IGRiODgzNjdmODlkMTE4NmYzNmMwMjk3MzFhNmY4MTE1OTQzYzg1
ZDAuLjJjMTVmNTRjYmViODQ2Yzc3NmZiNzRiODc3NWY1MTU0ZjE2MjM5ODAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1lbmQtYWZ0ZXItZ2V0
LXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1lbmQtYWZ0ZXItZ2V0LXNldC5odG1sCkBAIC04LDggKzgsOCBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiA8bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+
CiA8c3R5bGU+CiAuZ3JpZCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAiZmlyc3RBcmVh
IHNlY29uZEFyZWEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJk
QXJlYSI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzOiAiZmlyc3RBcmVhIHNlY29u
ZEFyZWEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpcmRBcmVhIHRoaXJk
QXJlYSI7CiB9CiAKIC5ncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLW5hbWVkLWdyaWQtYXJl
YS1yZXNvbHV0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbAppbmRleCAzZWY1MzkzYmU3YTJm
N2QxN2UxZjNkNjdhMjExMWRmMDcwNDA1MGI1Li4yNWM3ZTBmMGVhNzk5YmFhZDUyYTVlMDNlNGI5
YjdmNTk5NzNmNzRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29sdXRpb24uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tbmFtZWQtZ3JpZC1hcmVhLXJlc29s
dXRpb24uaHRtbApAQCAtMTMsMTMgKzEzLDEzIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIH0K
IAogLmdyaWRXaXRob3V0UmVwZWF0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJz
dCBzZWNvbmQgdGhpcmQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZpZnRo
IHNpeHRoIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCBzZWNvbmQg
dGhpcmQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRoIGZpZnRoIHNp
eHRoIjsKIH0KIAogLmdyaWRXaXRoUmVwZWF0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6
ICJmaXJzdCAgc2Vjb25kIHRoaXJkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXJ0
aCBmb3VydGggdGhpcmQiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImZpcnN0
ICBzZWNvbmQgdGhpcmQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91cnRo
IGZvdXJ0aCB0aGlyZCI7CiB9CiAKIC5ncmlkSXRlbUZpcnN0QXJlYSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdl
dC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1z
dGFydC1iZWZvcmUtZ2V0LXNldC5odG1sCmluZGV4IGQ4ZjNjZDBlYjhjMDY3MWM0ODhmMzQzMGZj
OTY4NmY1ODM0ZmNkYmQuLjRhZDE2N2M2OTU5MDdlMjNhY2EyMzc0NTBiZDEyNmQ0Y2FiNTJiNDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1z
dGFydC1iZWZvcmUtZ2V0LXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sCkBAIC04LDggKzgsOCBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3Mi
IHJlbD0ic3R5bGVzaGVldCI+CiA8c3R5bGU+CiAuZ3JpZCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlOiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
OiAiZmlyc3RBcmVhIHNlY29uZEFyZWEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGhpcmRBcmVhIHRoaXJkQXJlYSI7CiB9CiAKIC5ncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVn
ZXIgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10
ZW1wbGF0ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtdGVtcGxhdGUtZ2V0LXNldC1leHBlY3RlZC50eHQKaW5kZXggNTgwNWI3YTBi
OGQzYWUzZTc2NmNiYzJkNzYwNjNlMDdkMDU3Njk4Yi4uNGJhMGIxMWMzZDRiNmQ0OTNmYjNmMGY0
YzIwNzFhZDNkOGU2NWQ5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC10ZW1wbGF0ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLWdldC1zZXQtZXhwZWN0ZWQudHh0
CkBAIC0xLDMwICsxLDMwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10ZW1wbGF0ZSBp
cyBwcm9wZXJseSBwYXJzZWQuCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10ZW1wbGF0ZS1h
cmVhcyBpcyBwcm9wZXJseSBwYXJzZWQuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAog
Ci1UZXN0IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZSBzZXQgdGhyb3VnaCBDU1MuCi1QQVNTIGdldENv
bXB1dGVkU3R5bGUoZ3JpZFdpdGhEZWZhdWx0VGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdy
aWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZScpIGlzICJcImFyZWFcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0
aFR3b0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBs
YXRlJykgaXMgIlwiZmlyc3Qgc2Vjb25kXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdp
dGhUd29Sb3dzVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZScpIGlzICJcImZpcnN0XCIgXCJzZWNvbmRcIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlk
V2l0aFNwYW5uaW5nQ29sdW1uc1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUnKSBpcyAiXCJzcGFuIHNwYW5cIiIKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkV2l0aFNwYW5uaW5nUm93c0RvdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJzcGFuXCIgXCIuXCIiCi1QQVNTIGdldENvbXB1dGVkU3R5
bGUoZ3JpZFdpdGhEb3RDb2x1bW4pLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZScpIGlzICJcImhlYWRlciAuXCIgXCJmb290ZXIgLlwiIgotVGVzdCBncmlkLXRlbXBsYXRl
OiBpbml0aWFsCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJykgaXMgIlwiZm9vYmFyXCIiCi1UZXN0IGdyaWQtdGVt
cGxhdGU6IGluaGVyaXQKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50KS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBpcyAiXCJmb28gYmFyXCIiCi1Q
QVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXRlbXBsYXRlJykgaXMgIlwiZm9vIGJhclwiIgotVGVzdCBpbnZhbGlkIGdyaWQtdGVtcGxh
dGUgdmFsdWVzLgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlz
ICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJu
b25lIgotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIGlzICJub25lIgorVGVzdCBnZXR0aW5nIGdyaWQtdGVtcGxh
dGUtYXJlYXMgc2V0IHRocm91Z2ggQ1NTLgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRo
RGVmYXVsdFRlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFNpbmdsZVN0
cmluZ1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJl
YXMnKSBpcyAiXCJhcmVhXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhUd29Db2x1
bW5zVGVtcGxhdGUpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVh
cycpIGlzICJcImZpcnN0IHNlY29uZFwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRo
VHdvUm93c1RlbXBsYXRlKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSBpcyAiXCJmaXJzdFwiIFwic2Vjb25kXCIiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
Z3JpZFdpdGhTcGFubmluZ0NvbHVtbnNUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwic3BhbiBzcGFuXCIiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSkuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwic3BhblwiIFwiLlwiIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRG90Q29sdW1uKS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJoZWFkZXIgLlwiIFwiZm9vdGVyIC5c
IiIKK1Rlc3QgZ3JpZC10ZW1wbGF0ZS1hcmVhczogaW5pdGlhbAorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVh
cycpIGlzICJcImZvb2JhclwiIgorVGVzdCBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbmhlcml0CitQ
QVNTIGdldENvbXB1dGVkU3R5bGUocGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiZm9vIGJhclwiIgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1hcmVhcycpIGlzICJcImZvbyBiYXJcIiIKK1Rlc3QgaW52YWxpZCBncmlkLXRlbXBsYXRlLWFy
ZWFzIHZhbHVlcy4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVt
ZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
bm9uZSIKIAogRklYTUU6IFdlIGN1cnJlbnRseSBkb24ndCB2YWxpZGF0ZSB0aGF0IHRoZSBuYW1l
ZCBncmlkIGFyZWFzIGFyZSA8aW5kZW50Pi4KLUZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSBzaG91bGQgYmUgbm9u
ZS4gV2FzICJuYXYtdXAiLgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIHNob3VsZCBiZSBub25lLiBX
YXMgIm5hdi11cCIuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
dGVtcGxhdGUtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwKaW5kZXggNmQ0MmQzZDRjMTY4MDE1NGRhNWNlZDY1
NWI1ZjQxMjg2MTVjMmIxYy4uNzA4MTQyNTEzMTg1YjcwNDM4NDQyODgwZjNiZWVhYWI2MzRkOTAy
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1w
bGF0ZS1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC10ZW1wbGF0ZS1nZXQtc2V0Lmh0bWwKQEAgLTgsMzAgKzgsMzAgQEAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hl
ZXQiPgogPHN0eWxlPgogI2dyaWRXaXRoU2luZ2xlU3RyaW5nVGVtcGxhdGUgewotICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZTogImFyZWEiOworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVh
czogImFyZWEiOwogfQogCiAjZ3JpZFdpdGhUd29Db2x1bW5zVGVtcGxhdGUgewotICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZTogImZpcnN0IHNlY29uZCI7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLWFyZWFzOiAiZmlyc3Qgc2Vjb25kIjsKIH0KIAogI2dyaWRXaXRoVHdvUm93c1RlbXBsYXRl
IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJmaXJzdCIKLSAgICAgICAgICAgICAgICAg
ICAic2Vjb25kIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJmaXJzdCIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWNvbmQiOwogfQogCiAjZ3JpZFdpdGhT
cGFubmluZ0NvbHVtbnNUZW1wbGF0ZSB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAic3Bh
biBzcGFuIjsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXM6ICJzcGFuIHNwYW4iOwog
fQogCiAjZ3JpZFdpdGhTcGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSB7Ci0gICAgLXdlYmtpdC1ncmlk
LXRlbXBsYXRlOiAic3BhbiIKLSAgICAgICAgICAgICAgICAgICAiLiI7CisgICAgLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLWFyZWFzOiAic3BhbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIuIjsKIH0KIAogI2dyaWRXaXRoRG90Q29sdW1uIHsKLSAgICAtd2Via2l0LWdyaWQtdGVt
cGxhdGU6ICJoZWFkZXIgLiIKLSAgICAgICAgICAgICAgICAgICAiZm9vdGVyIC4iOworICAgIC13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhczogImhlYWRlciAuIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImZvb3RlciAuIjsKIH0KIDwvc3R5bGU+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTQ1LDc1ICs0NSw3NSBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiA8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFdpdGhT
cGFubmluZ1Jvd3NEb3RUZW1wbGF0ZSI+PC9kaXY+CiA8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3Jp
ZFdpdGhEb3RDb2x1bW4iPjwvZGl2PgogPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGdyaWQtdGVtcGxhdGUgaXMgcHJvcGVybHkgcGFyc2VkLiIpOworICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBp
cyBwcm9wZXJseSBwYXJzZWQuIik7CiAKLSAgICBmdW5jdGlvbiB0ZXN0R3JpZFRlbXBsYXRlKGdy
aWRJdGVtSUQsIGV4cGVjdGVkUmVzdWx0KSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZ2V0Q29tcHV0ZWRTdHlsZSgiICsgZ3JpZEl0ZW1JRCArICIpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZScpIiwgZXhwZWN0ZWRSZXN1bHQpOworICAgIGZ1bmN0aW9u
IHRlc3RHcmlkVGVtcGxhdGVBcmVhcyhncmlkSXRlbUlELCBleHBlY3RlZFJlc3VsdCkgeworICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUoIiArIGdyaWRJdGVt
SUQgKyAiKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSIs
IGV4cGVjdGVkUmVzdWx0KTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiB0ZXN0SlNHcmlkVGVtcGxh
dGUoZWxlbWVudCwgZXhwZWN0ZWRSZXN1bHQpIHsKKyAgICBmdW5jdGlvbiB0ZXN0SlNHcmlkVGVt
cGxhdGVBcmVhcyhlbGVtZW50LCBleHBlY3RlZFJlc3VsdCkgewogICAgICAgICB0aGlzLmVsZW1l
bnQgPSBlbGVtZW50OwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlJyki
LCBleHBlY3RlZFJlc3VsdCk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSIsIGV4cGVjdGVkUmVzdWx0KTsKICAgICB9CiAKLSAgICBkZWJ1ZygiVGVzdCBn
ZXR0aW5nIGdyaWQtdGVtcGxhdGUgc2V0IHRocm91Z2ggQ1NTLiIpOwotICAgIHRlc3RHcmlkVGVt
cGxhdGUoImdyaWRXaXRoRGVmYXVsdFRlbXBsYXRlIiwgIm5vbmUiKTsKLSAgICB0ZXN0R3JpZFRl
bXBsYXRlKCJncmlkV2l0aFNpbmdsZVN0cmluZ1RlbXBsYXRlIiwgJyJhcmVhIicpOwotICAgIHRl
c3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoVHdvQ29sdW1uc1RlbXBsYXRlIiwgJyJmaXJzdCBzZWNv
bmQiJyk7Ci0gICAgdGVzdEdyaWRUZW1wbGF0ZSgiZ3JpZFdpdGhUd29Sb3dzVGVtcGxhdGUiLCAn
ImZpcnN0IiAic2Vjb25kIicpOwotICAgIHRlc3RHcmlkVGVtcGxhdGUoImdyaWRXaXRoU3Bhbm5p
bmdDb2x1bW5zVGVtcGxhdGUiLCAnInNwYW4gc3BhbiInKTsKLSAgICB0ZXN0R3JpZFRlbXBsYXRl
KCJncmlkV2l0aFNwYW5uaW5nUm93c0RvdFRlbXBsYXRlIiwgJyJzcGFuIiAiLiInKTsKLSAgICB0
ZXN0R3JpZFRlbXBsYXRlKCJncmlkV2l0aERvdENvbHVtbiIsICciaGVhZGVyIC4iICJmb290ZXIg
LiInKTsKKyAgICBkZWJ1ZygiVGVzdCBnZXR0aW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgc2V0IHRo
cm91Z2ggQ1NTLiIpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhEZWZhdWx0
VGVtcGxhdGUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkVGVtcGxhdGVBcmVhcygiZ3JpZFdpdGhT
aW5nbGVTdHJpbmdUZW1wbGF0ZSIsICciYXJlYSInKTsKKyAgICB0ZXN0R3JpZFRlbXBsYXRlQXJl
YXMoImdyaWRXaXRoVHdvQ29sdW1uc1RlbXBsYXRlIiwgJyJmaXJzdCBzZWNvbmQiJyk7CisgICAg
dGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aFR3b1Jvd3NUZW1wbGF0ZSIsICciZmlyc3Qi
ICJzZWNvbmQiJyk7CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFyZWFzKCJncmlkV2l0aFNwYW5uaW5n
Q29sdW1uc1RlbXBsYXRlIiwgJyJzcGFuIHNwYW4iJyk7CisgICAgdGVzdEdyaWRUZW1wbGF0ZUFy
ZWFzKCJncmlkV2l0aFNwYW5uaW5nUm93c0RvdFRlbXBsYXRlIiwgJyJzcGFuIiAiLiInKTsKKyAg
ICB0ZXN0R3JpZFRlbXBsYXRlQXJlYXMoImdyaWRXaXRoRG90Q29sdW1uIiwgJyJoZWFkZXIgLiIg
ImZvb3RlciAuIicpOwogCi0gICAgZGVidWcoIlRlc3QgZ3JpZC10ZW1wbGF0ZTogaW5pdGlhbCIp
OworICAgIGRlYnVnKCJUZXN0IGdyaWQtdGVtcGxhdGUtYXJlYXM6IGluaXRpYWwiKTsKICAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlk
VGVtcGxhdGUgPSAiJ2Zvb2JhciciOwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAn
ImZvb2JhciInKTsKLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICJpbml0
aWFsIjsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIidmb29i
YXInIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAnImZvb2JhciInKTsK
KyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gImluaXRpYWwiOwog
ICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7CiAKLSAgICBkZWJ1ZygiVGVz
dCBncmlkLXRlbXBsYXRlOiBpbmhlcml0Iik7CisgICAgZGVidWcoIlRlc3QgZ3JpZC10ZW1wbGF0
ZS1hcmVhczogaW5oZXJpdCIpOwogICAgIHZhciBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnRF
bGVtZW50KTsKLSAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICIn
Zm9vIGJhciciOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShw
YXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUnKSIs
ICciZm9vIGJhciInKTsKKyAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0
ZUFyZWFzID0gIidmb28gYmFyJyI7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21w
dXRlZFN0eWxlKHBhcmVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1hcmVhcycpIiwgJyJmb28gYmFyIicpOwogCiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxk
KGVsZW1lbnQpOwotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gImluaGVy
aXQiOwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAnImZvbyBiYXIiJyk7CisgICAg
ZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICJpbmhlcml0IjsKKyAgICB0
ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAnImZvbyBiYXIiJyk7CiAgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZChwYXJlbnRFbGVtZW50KTsKIAotICAgIGRlYnVnKCJUZXN0IGlu
dmFsaWQgZ3JpZC10ZW1wbGF0ZSB2YWx1ZXMuIik7CisgICAgZGVidWcoIlRlc3QgaW52YWxpZCBn
cmlkLXRlbXBsYXRlLWFyZWFzIHZhbHVlcy4iKTsKICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxl
bWVudCk7CiAKICAgICAvLyAnbmF2JyBpcyBub3QgYSByZWN0YW5ndWxhciBkZWZpbml0aW9uLgot
ICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlID0gIiduYXYgaGVhZCcgJ25hdiBu
YXYnIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5vbmUiKTsKKyAgICBlbGVt
ZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYgaGVhZCcgJ25hdiBuYXYn
IjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogCiAgICAg
Ly8gJ25hdicgaXMgbm90IGNvbnRpZ3VvdXMgaW4gdGhlIGNvbHVtbiBkaXJlY3Rpb24uCi0gICAg
ZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSAiJ25hdiBoZWFkIG5hdiciOwotICAg
IHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1lbnQuc3R5bGUu
d2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ25hdiBoZWFkIG5hdiciOworICAgIHRlc3RKU0dy
aWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICAvLyAnbmF2JyBpcyBub3Qg
Y29udGlndW91cyBpbiB0aGUgcm93IGRpcmVjdGlvbi4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRUZW1wbGF0ZSA9ICInbmF2IGhlYWQnICdtaWRkbGUgbWlkZGxlJyAnbmF2IGZvb3Rlcici
OwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJ25hdiBoZWFkJyAnbWlkZGxlIG1pZGRs
ZScgJ25hdiBmb290ZXInIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAi
bm9uZSIpOwogCiAgICAgLy8gVGhlIHJvd3MgZG9uJ3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2Yg
Y29sdW1ucy4KLSAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9ICInbmF2IGhl
YWQnICdmb290JyI7Ci0gICAgdGVzdEpTR3JpZFRlbXBsYXRlKGVsZW1lbnQsICJub25lIik7Cisg
ICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyA9ICInbmF2IGhlYWQnICdm
b290JyI7CisgICAgdGVzdEpTR3JpZFRlbXBsYXRlQXJlYXMoZWxlbWVudCwgIm5vbmUiKTsKIAog
ICAgIC8vIEVtcHR5IHJvd3MuCi0gICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUg
PSAiJycgJyciOwotICAgIHRlc3RKU0dyaWRUZW1wbGF0ZShlbGVtZW50LCAibm9uZSIpOworICAg
IGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgPSAiJycgJyciOworICAgIHRl
c3RKU0dyaWRUZW1wbGF0ZUFyZWFzKGVsZW1lbnQsICJub25lIik7CiAKICAgICBkZWJ1ZygiIik7
CiAgICAgZGVidWcoIkZJWE1FOiBXZSBjdXJyZW50bHkgZG9uJ3QgdmFsaWRhdGUgdGhhdCB0aGUg
bmFtZWQgZ3JpZCBhcmVhcyBhcmUgJmx0O2luZGVudCZndDsuIik7CiAgICAgLy8gPGlkZW50PiBv
bmx5IGFsbG93cyBhIGxlYWRpbmcgJy0nLgotICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRl
bXBsYXRlID0gIiduYXYtdXAnIjsKLSAgICB0ZXN0SlNHcmlkVGVtcGxhdGUoZWxlbWVudCwgIm5v
bmUiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzID0gIiduYXYt
dXAnIjsKKyAgICB0ZXN0SlNHcmlkVGVtcGxhdGVBcmVhcyhlbGVtZW50LCAibm9uZSIpOwogPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>