<?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>215616</bug_id>
          
          <creation_ts>2020-08-18 11:10:42 -0700</creation_ts>
          <short_desc>[WebGL2] Various parameters should be non-nullable in IDL</short_desc>
          <delta_ts>2020-08-18 16:50:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>126404</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Darpinian">jdarpinian</reporter>
          <assigned_to name="James Darpinian">jdarpinian</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kbr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1681130</commentid>
    <comment_count>0</comment_count>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 11:10:42 -0700</bug_when>
    <thetext>[WebGL2] Various parameters should be non-nullable in IDL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681131</commentid>
    <comment_count>1</comment_count>
      <attachid>406794</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 11:13:54 -0700</bug_when>
    <thetext>Created attachment 406794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681189</commentid>
    <comment_count>2</comment_count>
      <attachid>406794</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-08-18 14:34:40 -0700</bug_when>
    <thetext>Comment on attachment 406794
Patch

The patch looks good but some tests are failing. Could you resolve those failures and ping when there&apos;s a new patch up? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681204</commentid>
    <comment_count>3</comment_count>
      <attachid>406815</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 14:55:43 -0700</bug_when>
    <thetext>Created attachment 406815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681219</commentid>
    <comment_count>4</comment_count>
      <attachid>406818</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 15:26:20 -0700</bug_when>
    <thetext>Created attachment 406818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681220</commentid>
    <comment_count>5</comment_count>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 15:27:59 -0700</bug_when>
    <thetext>Lots of wrong and broken tests needed fixing. I think this patch should pass now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681221</commentid>
    <comment_count>6</comment_count>
      <attachid>406818</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-18 15:35:20 -0700</bug_when>
    <thetext>Comment on attachment 406818
Patch

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

&gt; LayoutTests/ChangeLog:17
&gt; +        * fast/canvas/webgl/context-lost-expected.txt:
&gt; +        * fast/canvas/webgl/context-lost.html:
&gt; +        * fast/canvas/webgl/error-reporting-expected.txt:
&gt; +        * fast/canvas/webgl/error-reporting.html:
&gt; +        * fast/canvas/webgl/get-active-test-expected.txt:
&gt; +        * fast/canvas/webgl/get-active-test.html:
&gt; +        * fast/canvas/webgl/gl-object-get-calls-expected.txt:
&gt; +        * fast/canvas/webgl/gl-object-get-calls.html:
&gt; +        * fast/canvas/webgl/null-object-behaviour-expected.txt:
&gt; +        * fast/canvas/webgl/null-object-behaviour.html:

If any of these are redundant tests, you should feel free to cut them down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681222</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-18 15:35:48 -0700</bug_when>
    <thetext>Oops, I didn’t wait long enough to see if the tests pass. Please don’t land until you know they pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681224</commentid>
    <comment_count>8</comment_count>
      <attachid>406818</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-08-18 15:38:25 -0700</bug_when>
    <thetext>Comment on attachment 406818
Patch

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

Fantastic work James! One question.

&gt; LayoutTests/fast/canvas/webgl/error-reporting.html:-21
&gt; -// synthetic GL errors. This test verifies the raising of certain

Was the removal of this part of the comment intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681225</commentid>
    <comment_count>9</comment_count>
      <attachid>406818</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 15:48:21 -0700</bug_when>
    <thetext>Comment on attachment 406818
Patch

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

&gt;&gt; LayoutTests/ChangeLog:17
&gt;&gt; +        * fast/canvas/webgl/null-object-behaviour.html:
&gt; 
&gt; If any of these are redundant tests, you should feel free to cut them down.

Thanks, yes, they are redundant to some in webgl/1.0.3 and webgl/2.0.0. Next time I&apos;ll try deleting redundant tests instead of attempting to fix them.

&gt;&gt; LayoutTests/fast/canvas/webgl/error-reporting.html:-21
&gt;&gt; -// synthetic GL errors. This test verifies the raising of certain
&gt; 
&gt; Was the removal of this part of the comment intentional?

You&apos;re right, this was unintentional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681229</commentid>
    <comment_count>10</comment_count>
      <attachid>406818</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 15:55:51 -0700</bug_when>
    <thetext>Comment on attachment 406818
Patch

Looks like I missed rebaselining two tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681230</commentid>
    <comment_count>11</comment_count>
      <attachid>406820</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-08-18 16:01:25 -0700</bug_when>
    <thetext>Created attachment 406820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681235</commentid>
    <comment_count>12</comment_count>
      <attachid>406820</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-08-18 16:18:28 -0700</bug_when>
    <thetext>Comment on attachment 406820
Patch

Looks good! r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681243</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-18 16:49:28 -0700</bug_when>
    <thetext>Committed r265841: &lt;https://trac.webkit.org/changeset/265841&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406820.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681244</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-18 16:50:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/67362134&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406794</attachid>
            <date>2020-08-18 11:13:54 -0700</date>
            <delta_ts>2020-08-18 14:55:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215616-20200818111353.patch</filename>
            <type>text/plain</type>
            <size>71375</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc4NTMyNDBlY2FhOTlm
NzMzZDZjZDE5OWJlZGYyZWQ4NmM1NTZhYS4uZjk4ZTQ0NGIwZjZhZjY4NmM5NmIzNDg1Yjc5MzI3
YTM3YmIxMzM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA4LTE4ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViR0wy
XSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJsZSBpbiBJREwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTYxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDUgY29uZm9y
bWFuY2UgdGVzdHM6CisgICAgICAgIGNvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0
bWwKKyAgICAgICAgY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAor
ICAgICAgICBjb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCisgICAgICAg
IGNvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1s
CisgICAgICAgIGNvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC5odG1sCisKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kQXR0cmliTG9j
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29t
cGlsZVNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpkZXRhY2hTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJv
Z3JhbUluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFNoYWRlckluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmxpbmtQcm9ncmFtKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZVBy
b2dyYW0pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIpOgorCiAyMDIw
LTA4LTE3ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI2NTYwMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggNmRmYWJiYzI5
YTU5MGVjZjQ1N2RiY2E3N2VhZjljOTExOTY5MDgwMC4uMDFkNjEzYjQxYWE5Y2Q5ODlmYjk1OTk0
YWRiMjRiYzQ3NWUwOGIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTEzMjAsMjMgKzEzMjAsMjMg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjphY3RpdmVUZXh0dXJlKEdDR0xlbnVt
IHRleHR1cmUpCiAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKHRleHR1cmUpOwogfQogCi12
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0q
IHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBz
aGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7
CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJhdHRhY2hTaGFkZXIiLCBwcm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFBy
b2dyYW1PclNoYWRlcigiYXR0YWNoU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0
TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJhdHRhY2hT
aGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImF0dGFj
aFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5h
dHRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7CisgICAgaWYgKCFwcm9ncmFtLmF0dGFjaFNo
YWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImF0dGFjaFNoYWRlciIsICJzaGFkZXIg
YXR0YWNobWVudCBhbHJlYWR5IGhhcyBzaGFkZXIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBtX2NvbnRleHQtPmF0dGFjaFNoYWRlcihvYmplY3RPclplcm8ocHJvZ3JhbSksIG9iamVj
dE9yWmVybyhzaGFkZXIpKTsKLSAgICBzaGFkZXItPm9uQXR0YWNoZWQoKTsKKyAgICBtX2NvbnRl
eHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLm9iamVjdCgpLCBzaGFkZXIub2JqZWN0KCkpOworICAg
IHNoYWRlci5vbkF0dGFjaGVkKCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTHVpbnQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
IHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCBw
cm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImJpbmRBdHRyaWJM
b2NhdGlvbiIsIG5hbWUpKQogICAgICAgICByZXR1cm47CkBAIC0xMzUwLDcgKzEzNTAsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFBy
b2dyYW0qIHByb2dyYW0sIEdDR0x1aQogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImJpbmRBdHRyaWJMb2NhdGlvbiIsICJpbmRleCBv
dXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2NvbnRleHQtPmJp
bmRBdHRyaWJMb2NhdGlvbihvYmplY3RPclplcm8ocHJvZ3JhbSksIGluZGV4LCBuYW1lKTsKKyAg
ICBtX2NvbnRleHQtPmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLm9iamVjdCgpLCBpbmRleCwg
bmFtZSk7CiB9CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2hlY2tPYmplY3RU
b0JlQm91bmQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBXZWJHTE9iamVjdCogb2JqZWN0KQpA
QCAtMTczMSwxNCArMTczMSwxNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNv
bG9yTWFzayhHQ0dMYm9vbGVhbiByZWQsIEdDR0xib29sZWFuIGdyZWVuLCBHQwogICAgIG1fY29u
dGV4dC0+Y29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKIH0KIAotdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXBpbGVTaGFkZXIoV2ViR0xTaGFk
ZXImIHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJjb21waWxlU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hh
ZGVyKCJjb21waWxlU2hhZGVyIiwgJnNoYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nv
bnRleHQtPmNvbXBpbGVTaGFkZXIob2JqZWN0T3JaZXJvKHNoYWRlcikpOworICAgIG1fY29udGV4
dC0+Y29tcGlsZVNoYWRlcihzaGFkZXIub2JqZWN0KCkpOwogICAgIEdDR0xpbnQgdmFsdWU7Ci0g
ICAgbV9jb250ZXh0LT5nZXRTaGFkZXJpdihvYmplY3RPclplcm8oc2hhZGVyKSwgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTLCAmdmFsdWUpOwotICAgIHNoYWRlci0+c2V0VmFsaWQo
dmFsdWUpOworICAgIG1fY29udGV4dC0+Z2V0U2hhZGVyaXYoc2hhZGVyLm9iamVjdCgpLCBHcmFw
aGljc0NvbnRleHRHTDo6Q09NUElMRV9TVEFUVVMsICZ2YWx1ZSk7CisgICAgc2hhZGVyLnNldFZh
bGlkKHZhbHVlKTsKIAogICAgIGF1dG8qIGNhbnZhcyA9IGh0bWxDYW52YXMoKTsKIApAQCAtMjE0
NSwxOCArMjE0NSwxOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRlcHRoUmFu
Z2UoR0NHTGZsb2F0IHpOZWFyLCBHQ0dMZmxvYXQgekZhcikKICAgICBtX2NvbnRleHQtPmRlcHRo
UmFuZ2Uoek5lYXIsIHpGYXIpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRldGFjaFNoYWRlcihXZWJHTFByb2dy
YW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBzaGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVu
ZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCBw
cm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZGV0YWNoU2hhZGVyIiwg
c2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRl
V2ViR0xQcm9ncmFtT3JTaGFkZXIoImRldGFjaFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5kZXRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7
CisgICAgaWYgKCFwcm9ncmFtLmRldGFjaFNoYWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImRldGFjaFNoYWRlciIsICJzaGFkZXIgbm90IGF0dGFjaGVkIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIob2JqZWN0T3JaZXJvKHByb2dy
YW0pLCBvYmplY3RPclplcm8oc2hhZGVyKSk7Ci0gICAgc2hhZGVyLT5vbkRldGFjaGVkKGxvY2tl
ciwgZ3JhcGhpY3NDb250ZXh0R0woKSk7CisgICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIocHJv
Z3JhbS5vYmplY3QoKSwgc2hhZGVyLm9iamVjdCgpKTsKKyAgICBzaGFkZXIub25EZXRhY2hlZChs
b2NrZXIsIGdyYXBoaWNzQ29udGV4dEdMKCkpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmRpc2FibGUoR0NHTGVudW0gY2FwKQpAQCAtMjc4NywxMiArMjc4NywxMiBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdlbmVyYXRlTWlwbWFwKEdDR0xlbnVtIHRh
cmdldCkKICNlbmRpZgogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBHQ0dM
dWludCBpbmRleCkKK1JlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEdDR0x1aW50IGlu
ZGV4KQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2Vi
R0xQcm9ncmFtT3JTaGFkZXIoImdldEFjdGl2ZUF0dHJpYiIsIHByb2dyYW0pKQorICAgIGlmIChp
c0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIo
ImdldEFjdGl2ZUF0dHJpYiIsICZwcm9ncmFtKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgR3JhcGhpY3NDb250ZXh0R0w6OkFjdGl2ZUluZm8gaW5mbzsKLSAgICBpZiAoIW1fY29udGV4
dC0+Z2V0QWN0aXZlQXR0cmliKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgaW5kZXgsIGluZm8pKQor
ICAgIGlmICghbV9jb250ZXh0LT5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbS5vYmplY3QoKSwgaW5k
ZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIExPRyhXZWJHTCwgIlJl
dHVybmluZyBhY3RpdmUgYXR0cmlidXRlICVkOiAlcyIsIGluZGV4LCBpbmZvLm5hbWUudXRmOCgp
LmRhdGEoKSk7CkBAIC0yODAwLDEyICsyODAwLDEyIEBAIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0q
CiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5mby50eXBl
LCBpbmZvLnNpemUpOwogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NH
THVpbnQgaW5kZXgpCitSZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQg
aW5kZXgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVX
ZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QWN0aXZlVW5pZm9ybSIsIHByb2dyYW0pKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldEFjdGl2ZVVuaWZvcm0iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIEdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJbmZvIGluZm87Ci0gICAgaWYgKCFtX2Nv
bnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpbmRleCwgaW5m
bykpCisgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3Qo
KSwgaW5kZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAvLyBGSVhNRTog
RG8gd2Ugc3RpbGwgbmVlZCB0aGlzIGZvciB0aGUgQU5HTEUgYmFja2VuZD8KICAgICBpZiAoIWlz
R0xFUzJDb21wbGlhbnQoKSkKQEAgLTI4MTcsOSArMjgxNyw5IEBAIFJlZlB0cjxXZWJHTEFjdGl2
ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQ
cm9ncmFtCiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5m
by50eXBlLCBpbmZvLnNpemUpOwogfQogCi1PcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hh
ZGVyPj4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJH
TFByb2dyYW0qIHByb2dyYW0pCitPcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hhZGVyPj4+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dy
YW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgcHJvZ3JhbSkp
CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgY29uc3QgR0NHTGVudW0gc2hhZGVyVHlwZXNbXSA9IHsK
QEAgLTI4MjgsMTYgKzI4MjgsMTYgQEAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRl
cj4+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRhY2hlZFNoYWQKICAgICB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViR0xTaGFkZXI+PiBzaGFkZXJPYmplY3RzOwogICAgIGZvciAo
YXV0byBzaGFkZXJUeXBlIDogc2hhZGVyVHlwZXMpIHsKLSAgICAgICAgUmVmUHRyPFdlYkdMU2hh
ZGVyPiBzaGFkZXIgPSBwcm9ncmFtLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAg
ICAgICAgUmVmUHRyPFdlYkdMU2hhZGVyPiBzaGFkZXIgPSBwcm9ncmFtLmdldEF0dGFjaGVkU2hh
ZGVyKHNoYWRlclR5cGUpOwogICAgICAgICBpZiAoc2hhZGVyKQogICAgICAgICAgICAgc2hhZGVy
T2JqZWN0cy5hcHBlbmQoc2hhZGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHNoYWRlck9iamVjdHM7
CiB9CiAKLUdDR0xpbnQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0cmliTG9jYXRp
b24oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitHQ0dMaW50IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQ
ZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldEF0dHJpYkxvY2F0
aW9uIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkp
CiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImdl
dEF0dHJpYkxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI4NDUsMTEg
KzI4NDUsMTEgQEAgR0NHTGludCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRyaWJM
b2NhdGlvbihXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnMKICAgICAgICAgcmV0dXJuIC0xOwog
ICAgIGlmIChpc1ByZWZpeFJlc2VydmVkKG5hbWUpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAg
aWYgKCFwcm9ncmFtLT5nZXRMaW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlu
a1N0YXR1cygpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdM
OjpJTlZBTElEX09QRVJBVElPTiwgImdldEF0dHJpYkxvY2F0aW9uIiwgInByb2dyYW0gbm90IGxp
bmtlZCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBtX2NvbnRleHQt
PmdldEF0dHJpYkxvY2F0aW9uKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgbmFtZSk7CisgICAgcmV0
dXJuIG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbS5vYmplY3QoKSwgbmFtZSk7
CiB9CiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEJ1ZmZlclBhcmFt
ZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIHBuYW1lKQpAQCAtMzE3OSwyOSArMzE3OSwy
OSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NH
TGVudW0gcG5hbWUpCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRQcm9ncmFtUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTGVudW0g
cG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFy
YW1ldGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTGVudW0gcG5hbWUpCiB7Ci0gICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRl
cigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsIHByb2dyYW0pKQorICAgIGlmIChpc0NvbnRleHRMb3N0
T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1Q
YXJhbWV0ZXIiLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NH
TGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBwcm9ncmFtLT5pc0RlbGV0
ZWQoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uaXNEZWxldGVkKCk7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VkFMSURBVEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBt
X2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwgJnZhbHVlKTsK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KHZhbHVlKTsKICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpMSU5LX1NUQVRVUzoKLSAgICAgICAgcmV0dXJuIHByb2dyYW0tPmdldExp
bmtTdGF0dXMoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uZ2V0TGlua1N0YXR1cygpOwogICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkFUVEFDSEVEX1NIQURFUlM6Ci0gICAgICAgIG1fY29u
dGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVjdE9yWmVybyhwcm9ncmFtKSwgcG5hbWUsICZ2YWx1ZSk7
CisgICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1l
LCAmdmFsdWUpOwogICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6QUNUSVZFX0FUVFJJQlVURVM6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6QUNU
SVZFX1VOSUZPUk1TOgogI2lmIFVTRShBTkdMRSkKLSAgICAgICAgbV9jb250ZXh0LT5nZXRQcm9n
cmFtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRQcm9ncmFtaXYocHJvZ3JhbS5vYmplY3QoKSwgcG5hbWUsICZ2YWx1ZSk7CiAj
ZWxzZQotICAgICAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBtX2NvbnRleHQt
PmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwg
JnZhbHVlKTsKICNlbmRpZiAvLyBVU0UoQU5HTEUpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICBkZWZhdWx0OgpAQCAtMzIxMSw3ICszMjExLDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIEcK
ICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9STV9GRUVEQkFDS19C
VUZGRVJfTU9ERToKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9S
TV9GRUVEQkFDS19WQVJZSU5HUzoKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkFDVElWRV9VTklGT1JNX0JMT0NLUzoKLSAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1lLCAm
dmFsdWUpOwogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zMjIzLDExICszMjIzLDExIEBAIFdlYkdM
QW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtKiBwcm9ncmFtLCBHCiAgICAgfQogfQogCi1TdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtKiBwcm9ncmFtKQorU3RyaW5n
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3Jh
bSYgcHJvZ3JhbSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtSW5mb0xvZyIsIHByb2dyYW0pKQor
ICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFt
T3JTaGFkZXIoImdldFByb2dyYW1JbmZvTG9nIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwobV9jb250ZXh0LT5nZXRQcm9ncmFt
SW5mb0xvZyhvYmplY3RPclplcm8ocHJvZ3JhbSkpKTsKKyAgICByZXR1cm4gZW5zdXJlTm90TnVs
bChtX2NvbnRleHQtPmdldFByb2dyYW1JbmZvTG9nKHByb2dyYW0ub2JqZWN0KCkpKTsKIH0KIAog
V2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpCkBAIC0zMzAxLDE5ICszMzAxLDE5
IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXIqIHNoYWRl
ciwgR0NHTGVudW0gcG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NHTGVudW0gcG5hbWUpCiB7
Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRT
aGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
R0NHTGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBzaGFkZXItPmlzRGVs
ZXRlZCgpOworICAgICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwogICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFNo
YWRlcml2KG9iamVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUpOwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlNIQURFUl9UWVBFOgotICAgICAgICBtX2NvbnRleHQtPmdldFNoYWRlcml2KG9i
amVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9jb250ZXh0LT5n
ZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKTsKICAgICBkZWZhdWx0OgogICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hh
ZGVyUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsKQEAgLTMzMjEsMTEgKzMz
MjEsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFy
YW1ldGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIsIEdDR0wKICAgICB9CiB9CiAKLVN0cmluZyBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKiBzaGFk
ZXIpCitTdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVySW5mb0xvZyhX
ZWJHTFNoYWRlciYgc2hhZGVyKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkg
fHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCBzaGFk
ZXIpKQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQ
cm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCAmc2hhZGVyKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHJldHVybiBlbnN1cmVOb3ROdWxsKG1fY29udGV4dC0+Z2V0U2hh
ZGVySW5mb0xvZyhvYmplY3RPclplcm8oc2hhZGVyKSkpOworICAgIHJldHVybiBlbnN1cmVOb3RO
dWxsKG1fY29udGV4dC0+Z2V0U2hhZGVySW5mb0xvZyhzaGFkZXIub2JqZWN0KCkpKTsKIH0KIAog
UmVmUHRyPFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NHTGVudW0gc2hhZGVyVHlwZSwgR0NHTGVu
dW0gcHJlY2lzaW9uVHlwZSkKQEAgLTMzNTksMTEgKzMzNTksMTEgQEAgUmVmUHRyPFdlYkdMU2hh
ZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQ
cmVjaXNpb24KICAgICByZXR1cm4gV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQ6OmNyZWF0ZShy
YW5nZVswXSwgcmFuZ2VbMV0sIHByZWNpc2lvbik7CiB9CiAKLVN0cmluZyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqIHNoYWRlcikKK1N0cmlu
ZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIm
IHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0
ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRTaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldFNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLT5nZXRTb3VyY2UoKSk7CisgICAgcmV0
dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLmdldFNvdXJjZSgpKTsKIH0KIAogV2ViR0xBbnkgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VGV4UGFyYW1ldGVyKEdDR0xlbnVtIHRhcmdldCwg
R0NHTGVudW0gcG5hbWUpCkBAIC0zMzk1LDE5ICszMzk1LDE5IEBAIFdlYkdMQW55IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmdldFRleFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xl
bnVtIHBuCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIHVuaWZvcm1Mb2NhdGlvbikKK1dlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldFVuaWZvcm0oV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiYgdW5pZm9ybUxvY2F0aW9uKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFVuaWZvcm0iLCBwcm9ncmFt
KSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICBpZiAoIXVuaWZvcm1Mb2NhdGlvbiB8fCB1bmlmb3JtTG9jYXRpb24tPnByb2dy
YW0oKSAhPSBwcm9ncmFtKSB7CisgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbi5wcm9ncmFtKCkgIT0g
JnByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6
OklOVkFMSURfT1BFUkFUSU9OLCAiZ2V0VW5pZm9ybSIsICJubyB1bmlmb3JtbG9jYXRpb24gb3Ig
bm90IHZhbGlkIGZvciB0aGlzIHByb2dyYW0iKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQotICAgIEdDR0xpbnQgbG9jYXRpb24gPSB1bmlmb3JtTG9jYXRpb24tPmxvY2F0aW9uKCk7
CisgICAgR0NHTGludCBsb2NhdGlvbiA9IHVuaWZvcm1Mb2NhdGlvbi5sb2NhdGlvbigpOwogCiAg
ICAgR0NHTGVudW0gYmFzZVR5cGU7CiAgICAgdW5zaWduZWQgbGVuZ3RoOwotICAgIHN3aXRjaCAo
dW5pZm9ybUxvY2F0aW9uLT50eXBlKCkpIHsKKyAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50
eXBlKCkpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOgogICAgICAgICBiYXNl
VHlwZSA9IEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOwogICAgICAgICBsZW5ndGggPSAxOwpAQCAt
MzQ3OSw3ICszNDc5LDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0
VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnN0IFdlYkcKICAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiZ2V0VW5p
Zm9ybSIsICJ1bmhhbmRsZWQgdHlwZSIpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgIH0KLSAgICAgICAgc3dpdGNoICh1bmlmb3JtTG9jYXRpb24tPnR5cGUoKSkgeworICAg
ICAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50eXBlKCkpIHsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOgogICAgICAgICAgICAgYmFzZVR5cGUgPSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOwogICAgICAgICAgICAgbGVuZ3RoID0gMTsKQEAg
LTM1NDYsOSArMzU0Niw5IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBXZWJHCiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6RkxPQVQ6IHsKICAgICAgICAgR0NHTGZsb2F0IHZhbHVlWzE2XSA9IHsw
fTsKICAgICAgICAgaWYgKG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkKQotICAgICAgICAgICAg
bV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZ2V0blVuaWZvcm1mdkVYVChvYmplY3RPclplcm8o
cHJvZ3JhbSksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CisgICAg
ICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWZ2RVhUKHByb2dy
YW0ub2JqZWN0KCksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybWZ2KG9iamVjdE9y
WmVybyhwcm9ncmFtKSwgbG9jYXRpb24sIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+
Z2V0VW5pZm9ybWZ2KHByb2dyYW0ub2JqZWN0KCksIGxvY2F0aW9uLCB2YWx1ZSk7CiAgICAgICAg
IGlmIChsZW5ndGggPT0gMSkKICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsKICAgICAgICAg
cmV0dXJuIEZsb2F0MzJBcnJheTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU1Niwx
NiArMzU1NiwxNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlm
b3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViRwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OklOVDogewogICAgICAgICBHQ0dMaW50IHZhbHVlWzRdID0gezB9OwogICAgICAg
ICBpZiAobV9pc1JvYnVzdG5lc3NFWFRTdXBwb3J0ZWQpCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWl2RVhUKG9iamVjdE9yWmVybyhwcm9ncmFtKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdldG5Vbmlmb3JtaXZFWFQocHJvZ3JhbS5vYmplY3QoKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBs
b2NhdGlvbiwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYocHJv
Z3JhbS5vYmplY3QoKSwgbG9jYXRpb24sIHZhbHVlKTsKICAgICAgICAgaWYgKGxlbmd0aCA9PSAx
KQogICAgICAgICAgICAgcmV0dXJuIHZhbHVlWzBdOwogICAgICAgICByZXR1cm4gSW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIH0KICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpVTlNJR05FRF9JTlQ6IHsKICAgICAgICAgR0NHTHVpbnQgdmFsdWVbNF0gPSB7MH07
Ci0gICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihvYmplY3RPclplcm8ocHJvZ3JhbSks
IGxvY2F0aW9uLCB2YWx1ZSk7CisgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihwcm9n
cmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID09IDEp
CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVbMF07CiAgICAgICAgIHJldHVybiBVaW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU3Myw5ICszNTczLDkgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHBy
b2dyYW0sIGNvbnN0IFdlYkcKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOiB7CiAg
ICAgICAgIEdDR0xpbnQgdmFsdWVbNF0gPSB7MH07CiAgICAgICAgIGlmIChtX2lzUm9idXN0bmVz
c0VYVFN1cHBvcnRlZCkKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdl
dG5Vbmlmb3JtaXZFWFQob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuZ2V0blVuaWZvcm1pdkVYVChwcm9ncmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldFVuaWZvcm1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIGxvY2F0aW9uLCB2YWx1ZSk7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldFVuaWZvcm1pdihwcm9ncmFtLm9iamVjdCgpLCBsb2Nh
dGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID4gMSkgewogICAgICAgICAgICAgVmVj
dG9yPGJvb2w+IHZlY3RvcihsZW5ndGgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IGxlbmd0aDsgaisrKQpAQCAtMzU5Myw5ICszNTkzLDkgQEAgV2ViR0xBbnkgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNv
bnN0IFdlYkcKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVmUHRyPFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlmb3JtTG9jYXRpb24oV2Vi
R0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTFByb2dyYW0mIHByb2dyYW0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVy
KCJnZXRVbmlmb3JtTG9jYXRpb24iLCBwcm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtTG9j
YXRpb24iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghdmFs
aWRhdGVMb2NhdGlvbkxlbmd0aCgiZ2V0VW5pZm9ybUxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzYwMywyMyArMzYwMywyMyBAQCBSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoaXNQcmVmaXhSZXNlcnZl
ZChuYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFwcm9ncmFtLT5nZXRM
aW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlua1N0YXR1cygpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImdldFVuaWZvcm1Mb2NhdGlvbiIsICJwcm9ncmFtIG5vdCBsaW5rZWQiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEdDR0xpbnQgdW5pZm9ybUxvY2F0aW9uID0gbV9j
b250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBuYW1lKTsK
KyAgICBHQ0dMaW50IHVuaWZvcm1Mb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0ub2JqZWN0KCksIG5hbWUpOwogICAgIGlmICh1bmlmb3JtTG9jYXRpb24gPT0g
LTEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NHTGludCBhY3RpdmVVbmlmb3Jt
cyA9IDA7CiAjaWYgVVNFKEFOR0xFKQotICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVj
dE9yWmVybyhwcm9ncmFtKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklGT1JNUywgJmFj
dGl2ZVVuaWZvcm1zKTsKKyAgICBtX2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVj
dCgpLCBHcmFwaGljc0NvbnRleHRHTDo6QUNUSVZFX1VOSUZPUk1TLCAmYWN0aXZlVW5pZm9ybXMp
OwogI2Vsc2UKLSAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIEdyYXBoaWNzQ29udGV4dEdMOjpBQ1RJVkVfVU5JRk9STVMs
ICZhY3RpdmVVbmlmb3Jtcyk7CisgICAgbV9jb250ZXh0LT5nZXROb25CdWlsdEluQWN0aXZlU3lt
Ym9sQ291bnQocHJvZ3JhbS5vYmplY3QoKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklG
T1JNUywgJmFjdGl2ZVVuaWZvcm1zKTsKICNlbmRpZgogICAgIGZvciAoR0NHTGludCBpID0gMDsg
aSA8IGFjdGl2ZVVuaWZvcm1zOyBpKyspIHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0w6OkFj
dGl2ZUluZm8gaW5mbzsKLSAgICAgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0o
b2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpLCBpbmZvKSkKKyAgICAgICAgaWYgKCFtX2NvbnRleHQt
PmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3QoKSwgaSwgaW5mbykpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgLy8gU3RyaXAgIlswXSIgZnJvbSB0aGUgbmFtZSBp
ZiBpdCdzIGFuIGFycmF5LgogICAgICAgICBpZiAoaW5mby5uYW1lLmVuZHNXaXRoKCJbMF0iKSkK
QEAgLTM2MjksNyArMzYyOSw3IEBAIFJlZlB0cjxXZWJHTFVuaWZvcm1Mb2NhdGlvbj4gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMCiAgICAgICAgICAg
ICBTdHJpbmcgdW5pZm9ybU5hbWUgPSBtYWtlU3RyaW5nKGluZm8ubmFtZSwgJ1snLCBpbmRleCwg
J10nKTsKIAogICAgICAgICAgICAgaWYgKG5hbWUgPT0gdW5pZm9ybU5hbWUgfHwgbmFtZSA9PSBp
bmZvLm5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpj
cmVhdGUocHJvZ3JhbSwgdW5pZm9ybUxvY2F0aW9uLCBpbmZvLnR5cGUpOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6Y3JlYXRlKCZwcm9ncmFtLCB1bmlmb3Jt
TG9jYXRpb24sIGluZm8udHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zODY0LDEyICszODY0LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6bGluZVdpZHRoKEdDR0xmbG9hdCB3aWR0aCkKICAgICBtX2NvbnRleHQtPmxpbmVXaWR0aCh3
aWR0aCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bGlua1Byb2dyYW0o
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjps
aW5rUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKCFsaW5rUHJvZ3Jh
bVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMocHJvZ3JhbSkpCisgICAgaWYgKCFs
aW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMoJnByb2dyYW0pKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBwcm9ncmFtLT5pbmNyZWFzZUxpbmtDb3VudCgpOworICAg
IHByb2dyYW0uaW5jcmVhc2VMaW5rQ291bnQoKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpsaW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMo
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQpAQCAtNDQyMCwxOSArNDQyMCwxOSBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xz
aXplaSB3aWR0aCwgRwogICAgIG1fY29udGV4dC0+c2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVpZ2h0
KTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzaGFkZXJTb3VyY2UoV2Vi
R0xTaGFkZXIqIHNoYWRlciwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCit2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYgc2hhZGVyLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2
YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJzaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JT
aGFkZXIoInNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNF
KEFOR0xFKQotICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKG9iamVjdE9yWmVybyhzaGFkZXIp
LCBzdHJpbmcpOworICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKHNoYWRlci5vYmplY3QoKSwg
c3RyaW5nKTsKICNlbHNlCiAgICAgU3RyaW5nIHN0cmluZ1dpdGhvdXRDb21tZW50cyA9IFN0cmlw
Q29tbWVudHMoc3RyaW5nKS5yZXN1bHQoKTsKICAgICBpZiAoIXZhbGlkYXRlU3RyaW5nKCJzaGFk
ZXJTb3VyY2UiLCBzdHJpbmdXaXRob3V0Q29tbWVudHMpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uob2JqZWN0T3JaZXJvKHNoYWRlciksIHN0cmluZ1dpdGhv
dXRDb21tZW50cyk7CisgICAgbV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uoc2hhZGVyLm9iamVjdCgp
LCBzdHJpbmdXaXRob3V0Q29tbWVudHMpOwogI2VuZGlmCi0gICAgc2hhZGVyLT5zZXRTb3VyY2Uo
c3RyaW5nKTsKKyAgICBzaGFkZXIuc2V0U291cmNlKHN0cmluZyk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6c3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCBy
ZWYsIEdDR0x1aW50IG1hc2spCkBAIC01OTM3LDExICs1OTM3LDExIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dXNlUHJvZ3JhbShXZWJHTFByb2dyYW0qIHByb2dyYW0pCiAgICAg
fQogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUHJvZ3JhbShX
ZWJHTFByb2dyYW0qIHByb2dyYW0pCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZh
bGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4
dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRh
dGVQcm9ncmFtIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8
fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRhdGVQcm9ncmFtIiwgJnByb2dy
YW0pKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT52YWxpZGF0ZVByb2dyYW0ob2Jq
ZWN0T3JaZXJvKHByb2dyYW0pKTsKKyAgICBtX2NvbnRleHQtPnZhbGlkYXRlUHJvZ3JhbShwcm9n
cmFtLm9iamVjdCgpKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2ZXJ0
ZXhBdHRyaWIxZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHYwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4
IDA4NzNiNzJkMDA4NTMzYzE2NWMzZWE0Zjc0ZmY0ZmEyNjM3OTI0OWEuLmQwODg3MDcyZDQxOTJi
MzQ2ODBiNWViYzI2Y2Y2YzdjODhhZDg1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTEzMiw4ICsxMzIs
OCBAQCBwdWJsaWM6CiAgICAgaW50IGRyYXdpbmdCdWZmZXJIZWlnaHQoKSBjb25zdDsKIAogICAg
IHZvaWQgYWN0aXZlVGV4dHVyZShHQ0dMZW51bSB0ZXh0dXJlKTsKLSAgICB2b2lkIGF0dGFjaFNo
YWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOwotICAgIHZvaWQgYmluZEF0dHJpYkxv
Y2F0aW9uKFdlYkdMUHJvZ3JhbSosIEdDR0x1aW50IGluZGV4LCBjb25zdCBTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7Cisg
ICAgdm9pZCBiaW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBiaW5kQnVmZmVyKEdDR0xlbnVtIHRhcmdl
dCwgV2ViR0xCdWZmZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZEZyYW1lYnVmZmVyKEdDR0xl
bnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZlciopOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZl
cihHQ0dMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyKik7CkBAIC0xNTUsNyArMTU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEZXB0aChHQ0dMZmxvYXQpOwogICAgIHZvaWQgY2xl
YXJTdGVuY2lsKEdDR0xpbnQpOwogICAgIHZvaWQgY29sb3JNYXNrKEdDR0xib29sZWFuIHJlZCwg
R0NHTGJvb2xlYW4gZ3JlZW4sIEdDR0xib29sZWFuIGJsdWUsIEdDR0xib29sZWFuIGFscGhhKTsK
LSAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXIqKTsKKyAgICB2b2lkIGNvbXBpbGVT
aGFkZXIoV2ViR0xTaGFkZXImKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoR0NH
TGVudW0gdGFyZ2V0LCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0NH
THNpemVpIHdpZHRoLCBHQ0dMc2l6ZWkgaGVpZ2h0LCBHQ0dMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3JiBkYXRhKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGludCB4b2Zmc2V0LCBHQ0dMaW50IHlvZmZzZXQs
IEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIGRhdGEpOwpAQCAtMTgyLDcgKzE4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRlcHRoRnVuYyhHQ0dMZW51bSk7CiAgICAgdm9pZCBkZXB0aE1hc2soR0NHTGJvb2xlYW4pOwog
ICAgIHZvaWQgZGVwdGhSYW5nZShHQ0dMZmxvYXQgek5lYXIsIEdDR0xmbG9hdCB6RmFyKTsKLSAg
ICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOworICAgIHZv
aWQgZGV0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7CiAgICAgdm9pZCBk
aXNhYmxlKEdDR0xlbnVtIGNhcCk7CiAgICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXko
R0NHTHVpbnQgaW5kZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
aW50IGZpcnN0LCBHQ0dMc2l6ZWkgY291bnQpOwpAQCAtMTk3LDI3ICsxOTcsMjcgQEAgcHVibGlj
OgogICAgIHZvaWQgZnJvbnRGYWNlKEdDR0xlbnVtIG1vZGUpOwogICAgIHZvaWQgZ2VuZXJhdGVN
aXBtYXAoR0NHTGVudW0gdGFyZ2V0KTsKIAotICAgIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IGdl
dEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0qLCBHQ0dMdWludCBpbmRleCk7Ci0gICAgUmVmUHRy
PFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0qLCBHQ0dMdWlu
dCBpbmRleCk7Ci0gICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRlcj4+PiBnZXRB
dHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtKik7Ci0gICAgR0NHTGludCBnZXRBdHRyaWJMb2Nh
dGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIFJlZlB0cjxXZWJH
TEFjdGl2ZUluZm8+IGdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mLCBHQ0dMdWludCBpbmRl
eCk7CisgICAgUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFBy
b2dyYW0mLCBHQ0dMdWludCBpbmRleCk7CisgICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJH
TFNoYWRlcj4+PiBnZXRBdHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtJik7CisgICAgR0NHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwog
ICAgIFdlYkdMQW55IGdldEJ1ZmZlclBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVt
IHBuYW1lKTsKICAgICBPcHRpb25hbDxXZWJHTENvbnRleHRBdHRyaWJ1dGVzPiBnZXRDb250ZXh0
QXR0cmlidXRlcygpOwogICAgIEdDR0xlbnVtIGdldEVycm9yKCk7CiAgICAgdmlydHVhbCBXZWJH
TEV4dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkgPSAwOwogICAgIHZp
cnR1YWwgV2ViR0xBbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGVudW0gYXR0YWNobWVudCwgR0NHTGVudW0gcG5hbWUpID0gMDsKICAgICB2
aXJ0dWFsIFdlYkdMQW55IGdldFBhcmFtZXRlcihHQ0dMZW51bSBwbmFtZSk7Ci0gICAgV2ViR0xB
bnkgZ2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qLCBHQ0dMZW51bSBwbmFtZSk7Ci0g
ICAgU3RyaW5nIGdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3JhbSopOworICAgIFdlYkdMQW55
IGdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiwgR0NHTGVudW0gcG5hbWUpOworICAg
IFN0cmluZyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0mKTsKICAgICBXZWJHTEFueSBn
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBwbmFtZSk7
Ci0gICAgV2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyKiwgR0NHTGVudW0g
cG5hbWUpOwotICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKik7CisgICAg
V2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyJiwgR0NHTGVudW0gcG5hbWUp
OworICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyJik7CiAgICAgUmVmUHRy
PFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NH
TGVudW0gc2hhZGVyVHlwZSwgR0NHTGVudW0gcHJlY2lzaW9uVHlwZSk7Ci0gICAgU3RyaW5nIGdl
dFNoYWRlclNvdXJjZShXZWJHTFNoYWRlciopOworICAgIFN0cmluZyBnZXRTaGFkZXJTb3VyY2Uo
V2ViR0xTaGFkZXImKTsKICAgICB2aXJ0dWFsIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKCkgPSAwOwogICAgIHZpcnR1YWwgV2ViR0xBbnkgZ2V0VGV4UGFy
YW1ldGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpOwotICAgIFdlYkdMQW55IGdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qKTsKLSAg
ICBSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFBy
b2dyYW0qLCBjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJHTEFueSBnZXRVbmlmb3JtKFdlYkdMUHJv
Z3JhbSYsIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uJik7CisgICAgUmVmUHRyPFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgY29uc3QgU3Ry
aW5nJik7CiAgICAgV2ViR0xBbnkgZ2V0VmVydGV4QXR0cmliKEdDR0x1aW50IGluZGV4LCBHQ0dM
ZW51bSBwbmFtZSk7CiAgICAgbG9uZyBsb25nIGdldFZlcnRleEF0dHJpYk9mZnNldChHQ0dMdWlu
dCBpbmRleCwgR0NHTGVudW0gcG5hbWUpOwogCkBAIC0yNDMsNyArMjQzLDcgQEAgcHVibGljOgog
ICAgIEdDR0xib29sZWFuIGlzVGV4dHVyZShXZWJHTFRleHR1cmUqKTsKIAogICAgIHZvaWQgbGlu
ZVdpZHRoKEdDR0xmbG9hdCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsK
KyAgICB2b2lkIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSYpOwogICAgIGJvb2wgbGlua1Byb2dy
YW1XaXRob3V0SW52YWxpZGF0aW5nQXR0cmliTG9jYXRpb25zKFdlYkdMUHJvZ3JhbSopOwogICAg
IHZpcnR1YWwgdm9pZCBwaXhlbFN0b3JlaShHQ0dMZW51bSBwbmFtZSwgR0NHTGludCBwYXJhbSk7
CiAjaWYgRU5BQkxFKFdFQlhSKQpAQCAtMjU4LDcgKzI1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZUltcGwoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMc2l6
ZWkgc2FtcGxlcywgR0NHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NH
THNpemVpIGhlaWdodCwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKICAgICB2b2lkIHNhbXBs
ZUNvdmVyYWdlKEdDR0xmbG9hdCB2YWx1ZSwgR0NHTGJvb2xlYW4gaW52ZXJ0KTsKICAgICB2b2lk
IHNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVp
IGhlaWdodCk7Ci0gICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqLCBjb25zdCBTdHJp
bmcmKTsKKyAgICB2b2lkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYsIGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgc3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCByZWYsIEdDR0x1
aW50IG1hc2spOwogICAgIHZvaWQgc3RlbmNpbEZ1bmNTZXBhcmF0ZShHQ0dMZW51bSBmYWNlLCBH
Q0dMZW51bSBmdW5jLCBHQ0dMaW50IHJlZiwgR0NHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVu
Y2lsTWFzayhHQ0dMdWludCk7CkBAIC0zNDMsNyArMzQzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDR0xib29sZWFu
IHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJik7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oV2ViR0xQ
cm9ncmFtKik7Ci0gICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtKik7CisgICAg
dm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtJik7CiAKICAgICB2b2lkIHZlcnRleEF0
dHJpYjFmKEdDR0x1aW50IGluZGV4LCBHQ0dMZmxvYXQgeCk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWIyZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHgsIEdDR0xmbG9hdCB5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5pZGwKaW5kZXggYzBiZWQ0NGRlZDljM2RmMGExYzg4MzUzODkwNWUxYmFjYmZmYjVlYi4uNzI4
YjQyOTAyM2EzY2FkYjgzNTBhM2QyN2E4OTZhODFmMGYyZWI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwK
QEAgLTQ4Miw4ICs0ODIsOCBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52
YXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsK
IAogICAgIHZvaWQgYWN0aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRh
Y2hTaGFkZXIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBXZWJHTFNoYWRlcj8gc2hhZGVyKTsKLSAg
ICB2b2lkIGJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMdWludCBp
bmRleCwgRE9NU3RyaW5nIG5hbWUpOworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHZvaWQgYmluZEF0dHJpYkxvY2F0
aW9uKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBuYW1lKTsK
ICAgICB2b2lkIGJpbmRCdWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7
CiAgICAgdm9pZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZl
cj8gZnJhbWVidWZmZXIpOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVyKTsKQEAgLTUwMywxMyArNTAzLDEzIEBA
IHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICB2b2lkIGNsZWFy
RGVwdGgoR0xjbGFtcGYgZGVwdGgpOwogICAgIHZvaWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOwog
ICAgIHZvaWQgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29s
ZWFuIGJsdWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdM
U2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFk
ZXIpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBp
eGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJj
ZSBzb3VyY2UpOwogCiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
cGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRl
eEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1h
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3IGRhdGEpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7CkBAIC01MzYsNyArNTM2LDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIHZvaWQgZGVwdGhGdW5jKEdMZW51bSBmdW5jKTsKICAgICB2b2lkIGRlcHRo
TWFzayhHTGJvb2xlYW4gZmxhZyk7CiAgICAgdm9pZCBkZXB0aFJhbmdlKEdMY2xhbXBmIHpOZWFy
LCBHTGNsYW1wZiB6RmFyKTsKLSAgICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMU2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgZGV0YWNoU2hhZGVyKFdlYkdM
UHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOwogICAgIHZvaWQgZGlzYWJsZShH
TGVudW0gY2FwKTsKICAgICB2b2lkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5k
ZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6
ZWkgY291bnQpOwpAQCAtNTUxLDEzICs1NTEsMTMgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1l
bnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgZnJvbnRGYWNlKEdMZW51bSBtb2RlKTsKICAgICB2
b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwogICAgIAotICAgIFdlYkdMQWN0aXZl
SW5mbyBnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OwotICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbT8gcHJv
Z3JhbSwgR0x1aW50IGluZGV4KTsKKyAgICBXZWJHTEFjdGl2ZUluZm8gZ2V0QWN0aXZlQXR0cmli
KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOworICAgIFdlYkdMQWN0aXZlSW5m
byBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOwog
CiAgICAgLy8gRklYTUU6IFRoZSBzcGVjIHNheXMgdGhpcyBzaG91bGQgbm90IHRha2UgYSBudWxs
YWJsZSBXZWJHTFByb2dyYW0uCi0gICAgc2VxdWVuY2U8V2ViR0xTaGFkZXI+PyBnZXRBdHRhY2hl
ZFNoYWRlcnMoV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKKyAgICBzZXF1ZW5jZTxXZWJHTFNoYWRl
cj4/IGdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CiAKLSAgICBHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBHTGludCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9N
U3RyaW5nIG5hbWUpOwogCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dEJ1ZmZlclBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUpOwogCkBAIC01NzAs
MjIgKzU3MCwyMiBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAK
ICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVudW0g
cG5hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQYXJhbWV0
ZXIoR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMZW51bSBwbmFtZSk7
Ci0gICAgRE9NU3RyaW5nPyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0/IHByb2dyYW0p
OworICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTGVudW0gcG5hbWUpOworICAgIERPTVN0cmluZz8g
Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtIHByb2dyYW0pOwogICAgIFtPdmVycmlkZUlE
TFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0xlbnVtIHRh
cmdldCwgR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBh
bnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIsIEdMZW51bSBwbmFtZSk7
CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFNoYWRlclBhcmFtZXRl
cihXZWJHTFNoYWRlciBzaGFkZXIsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBET01TdHJpbmc/IGdl
dFNoYWRlckluZm9Mb2coV2ViR0xTaGFkZXI/IHNoYWRlcik7CisgICAgRE9NU3RyaW5nPyBnZXRT
aGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyIHNoYWRlcik7CiAKICAgICBXZWJHTFNoYWRlclByZWNp
c2lvbkZvcm1hdCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0xlbnVtIHNoYWRlcnR5cGUsIEdM
ZW51bSBwcmVjaXNpb250eXBlKTsKIAotICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdl
YkdMU2hhZGVyPyBzaGFkZXIpOworICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlcik7CiAKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0VGV4UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0VW5pZm9ybShXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbik7CisgICAgW092ZXJyaWRlSURM
VHlwZT1JRExXZWJHTEFueV0gYW55IGdldFVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uKTsKIAotICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9n
cmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1lKTsKIAogICAgIFtPdmVycmlkZUlETFR5cGU9SURM
V2ViR0xBbnldIGFueSBnZXRWZXJ0ZXhBdHRyaWIoR0x1aW50IGluZGV4LCBHTGVudW0gcG5hbWUp
OwogCkBAIC02MDEsNyArNjAxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIEdMYm9vbGVhbiBpc1NoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKICAg
ICBHTGJvb2xlYW4gaXNUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7CiAgICAgdm9pZCBs
aW5lV2lkdGgoR0xmbG9hdCB3aWR0aCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dy
YW0/IHByb2dyYW0pOworICAgIHZvaWQgbGlua1Byb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0p
OwogCiAgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFByb21pc2U8dm9pZD4gbWFr
ZVhSQ29tcGF0aWJsZSgpOwogCkBAIC02MTMsNyArNjEzLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZh
c0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZShHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0KTsKICAgICB2b2lkIHNhbXBsZUNvdmVyYWdlKEdMY2xhbXBmIHZhbHVlLCBHTGJvb2xl
YW4gaW52ZXJ0KTsKICAgICB2b2lkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdMU2hhZGVy
PyBzaGFkZXIsIERPTVN0cmluZyBzdHJpbmcpOworICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlciwgRE9NU3RyaW5nIHN0cmluZyk7CiAgICAgdm9pZCBzdGVuY2lsRnVuYyhH
TGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVuY2lsRnVu
Y1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFz
ayk7CiAgICAgdm9pZCBzdGVuY2lsTWFzayhHTHVpbnQgbWFzayk7CkBAIC02NDksNyArNjQ5LDcg
QEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJH
TFByb2dyYW0/IHByb2dyYW0pOwotICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3Jh
bT8gcHJvZ3JhbSk7CisgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dy
YW0pOwogCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIxZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7
CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9h
dCB5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFk
ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFkZXJQ
cm9ncmFtLmNwcAppbmRleCBmODE2YmI2ZjQzNmYyNmY3Yjg2M2YxMTllYjFjOTAxNGQ3MGZmODgx
Li42OTM3NzhkZjZlMDIwY2IwMTgwMWU3NWM4ZTM5OTUzZDlmMTcyNjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclNoYWRlclByb2dyYW0uY3BwCkBAIC0x
OTAsOCArMTkwLDggQEAgYm9vbCBJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIo
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpTaGFkZXJUeXAKICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogY29udGV4dCA9IG1fY2FudmFzLmNhbnZhc0NvbnRleHQoKSkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY29udGV4dCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRleHRXZWJHTEJhc2UgPSBkb3duY2Fz
dDxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPigqY29udGV4dCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0V2ViR0xCYXNlLnNoYWRlclNvdXJjZShzaGFkZXIsIHNvdXJjZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2ViR0xCYXNlLmNvbXBpbGVTaGFkZXIoc2hh
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRXZWJHTEJhc2Uuc2hhZGVyU291
cmNlKCpzaGFkZXIsIHNvdXJjZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2Vi
R0xCYXNlLmNvbXBpbGVTaGFkZXIoKnNoYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hhZGVyLT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0V2ViR0xCYXNlLmxpbmtQcm9ncmFtV2l0aG91dEludmFsaWRhdGluZ0F0dHJpYkxvY2F0aW9u
cygmcHJvZ3JhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2UwYTk4NWM2NDgzZmQ3MmZhYjU2NGIwZmM0ZjAyYTMxNGZkZDNkZi4uMTI0ZjdkY2Iz
NDJhNDY4ZGQ0NGZhMzZiMjBlZTQ3NzZiNDUwMDk3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIwLTA4LTE4ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbV2ViR0wyXSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJs
ZSBpbiBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTYxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVw
b3J0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9t
aXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ2wv
Mi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWIt
aW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA4LTE3ICBIZWN0b3IgTG9w
ZXogIDxoZWN0b3JfaV9sb3BlekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBtYWNPUyB3azEgXSB3
ZWJhdWRpby9vc2NpbGxhdG9yLXNxdWFyZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1l
bnRzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFu
Y2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDdmZDEwNDk2MGVh
NjljZGJjNWNiNTIyODA2NmE0ZWZkZTliYjc3OGMuLjg3ODFhYTUxMjlkY2ViYTNmYjc5NWFmN2Iy
MjQzN2E1YzgyNWE2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZv
cm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC1leHBl
Y3RlZC50eHQKQEAgLTEsMTEzICsxLDQgQEAKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Jh
ZC1hcmd1bWVudHMtdGVzdC5odG1sCi0KLVsgMTogUEFTUyBdIFByb2dyYW0gQ29tcGlsZWQKLVsg
MjogUEFTUyBdIFNoYWRlciBDb21waWxlZAotWyAzOiBQQVNTIF0gZ2V0VW5pZm9ybUxvY2F0aW9u
IHN1Y2NlZWRlZAotWyA0OiBQQVNTIF0gY29udGV4dC5jb21waWxlU2hhZGVyKGFyZ3VtZW50KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNvbXBpbGVTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJH
TFNoYWRlci4KLVsgNTogUEFTUyBdIGNvbnRleHQubGlua1Byb2dyYW0oYXJndW1lbnQpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmxpbmtQcm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9n
cmFtLgotWyA2OiBQQVNTIF0gY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJH
TFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xTaGFkZXIuCi1bIDc6IFBBU1MgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihhcmd1bWVudCwgc2hh
ZGVyKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC5hdHRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBXZWJHTFByb2dyYW0uCi1bIDg6IFBBU1MgXSBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFt
LCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3NoYWRl
cicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBXZWJHTFNoYWRlci4KLVsgOTogUEFTUyBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFy
Z3VtZW50LCBzaGFkZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdw
cm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmRldGFjaFNoYWRlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMTA6IFBBU1MgXSBjb250ZXh0LnNoYWRlclNv
dXJjZShhcmd1bWVudCwgJ2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuc2hhZGVyU291cmNlIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDExOiBQQVNTIF0gY29udGV4dC5iaW5k
QXR0cmliTG9jYXRpb24oYXJndW1lbnQsIDAsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5k
QXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDEy
OiBQQVNTIF0gY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2cgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dy
YW0uCi1bIDEzOiBQQVNTIF0gY29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGFyZ3VtZW50LCAw
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdl
YkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAxNDogUEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVySW5mb0xv
Zyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRl
cicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFkZXJJbmZvTG9nIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDE1OiBQQVNTIF0gY29udGV4dC5nZXRTaGFkZXJQ
YXJhbWV0ZXIoYXJndW1lbnQsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVy
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDE2OiBQQVNTIF0gY29udGV4
dC5nZXRTaGFkZXJTb3VyY2UoYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyU291
cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDE3OiBQQVNTIF0gY29u
dGV4dC5nZXRVbmlmb3JtKGFyZ3VtZW50LCBsb2MpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZv
cm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDE4OiBQQVNTIF0gY29u
dGV4dC5nZXRVbmlmb3JtKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAyICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0
VW5pZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyAx
OTogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZp
ZXdQcm9qTWF0cml4JykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3By
b2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAyMDogUEFTUyBdIGNvbnRleHQuYmlu
ZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQu
YmluZEJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMQnVmZmVyLgotWyAyMTogUEFT
UyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnZnJhbWVidWZmZXInKSB0
byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEZyYW1lYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xGcmFtZWJ1ZmZlci4KLVsgMjI6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJi
dWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAyICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmJpbmRSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRlcmJ1
ZmZlci4KLVsgMjM6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8y
RCwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCd0ZXh0
dXJlJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRUZXh0dXJlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgV2ViR0xUZXh0dXJlLgotWyAyNDogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5U
LCBjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDQgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRl
cmJ1ZmZlci4KLVsgMjU6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRl
eHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVS
RV8yRCwgYXJndW1lbnQsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQg
KCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJE
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xUZXh0dXJlLgotWyAyNjogUEFTUyBdIGNvbnRl
eHQudW5pZm9ybTJmdihhcmd1bWVudCwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjBdKSkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xvY2F0aW9uJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LnVuaWZvcm0yZnYgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVu
aWZvcm1Mb2NhdGlvbi4KLVsgMjc6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yaXYoYXJndW1lbnQs
IG5ldyBJbnQzMkFycmF5KFswLCAwXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMml2IG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDI4OiBQQVNTIF0g
Y29udGV4dC51bmlmb3JtTWF0cml4MmZ2KGFyZ3VtZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJh
eShbMC4wLCAwLjAsIDAuMCwgMC4wXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtTWF0cml4
MmZ2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDI5OiBQ
QVNTIF0gY29udGV4dC51c2VQcm9ncmFtKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51c2VQ
cm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAzMDogUEFTUyBd
IGNvbnRleHQuY29tcGlsZVNoYWRlcihhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5jb21waWxl
U2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDMxOiBQQVNTIF0g
Y29udGV4dC5saW5rUHJvZ3JhbShhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQubGlua1Byb2dy
YW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDMyOiBQQVNTIF0gY29u
dGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0
YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDMzOiBQQVNT
IF0gY29udGV4dC5hdHRhY2hTaGFkZXIoYXJndW1lbnQsIHNoYWRlcikgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAz
NDogUEFTUyBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmRldGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgotWyAzNTogUEFTUyBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmRldGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdM
UHJvZ3JhbS4KLVsgMzY6IFBBU1MgXSBjb250ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2Zv
bycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQuc2hhZGVyU291cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xTaGFkZXIuCi1bIDM3OiBQQVNTIF0gY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJn
dW1lbnQsIDAsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
cHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDM4OiBQQVNTIF0gY29udGV4dC5n
ZXRQcm9ncmFtSW5mb0xvZyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUlu
Zm9Mb2cgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDM5OiBQQVNTIF0g
Y29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5nZXRQcm9ncmFtUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFt
LgotWyA0MDogUEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1bWVudCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVy
aW5nQ29udGV4dC5nZXRTaGFkZXJJbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xT
aGFkZXIuCi1bIDQxOiBQQVNTIF0gY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQs
IDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDQyOiBQQVNTIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2Uo
YXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXIn
KSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyU291cmNlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDQzOiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKGFy
Z3VtZW50LCBsb2MpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9n
cmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDQ0OiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKHBy
b2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgn
bG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybSBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyA0NTogUEFTUyBdIGNvbnRleHQu
Z2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4JykgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJl
bmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xQcm9ncmFtLgotWyA0NjogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFS
UkFZX0JVRkZFUiwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDIgKCdidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEJ1ZmZlciBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMQnVmZmVyLgotWyA0NzogUEFTUyBdIGNvbnRleHQuYmluZEZy
YW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAyICgnZnJhbWVidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQuYmluZEZyYW1lYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xGcmFtZWJ1
ZmZlci4KLVsgNDg6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5E
RVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAy
ICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRSZW5kZXJidWZm
ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgNDk6IFBBU1Mg
XSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmJpbmRUZXh0dXJlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xUZXh0
dXJlLgotWyA1MDogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4
dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJV
RkZFUiwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQgKCdy
ZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJi
dWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgNTE6IFBB
U1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNv
bnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQsIDAp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQgKCd0ZXh0dXJlJykgdG8gV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xUZXh0dXJlLgotWyA1MjogUEFTUyBdIGNvbnRleHQudW5pZm9ybTJmdihhcmd1
bWVudCwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjBdKSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ2xvY2F0aW9uJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnVu
aWZvcm0yZnYgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi4KLVsg
NTM6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFycmF5KFsw
LCAwXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicp
IHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMml2IG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDU0OiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0
cml4MmZ2KGFyZ3VtZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwg
MC4wXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicp
IHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtTWF0cml4MmZ2IG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDU1OiBQQVNTIF0gY29udGV4dC51c2VQ
cm9ncmFtKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
cHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51c2VQcm9ncmFtIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA1NjogRkFJTCBdIGNvbnRleHQuY29tcGlsZVNo
YWRlcihhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4K
LVsgNTc6IEZBSUwgXSBjb250ZXh0LmxpbmtQcm9ncmFtKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cg
YW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA1ODogRkFJTCBdIGNvbnRleHQuYXR0YWNo
U2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMg
dW5kZWZpbmVkLgotWyA1OTogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBz
aGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYwOiBG
QUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYxOiBGQUlMIF0gY29udGV4dC5kZXRh
Y2hTaGFkZXIoYXJndW1lbnQsIHNoYWRlcikgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2Fz
IHVuZGVmaW5lZC4KLVsgNjI6IEZBSUwgXSBjb250ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwg
J2ZvbycpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYzOiBG
QUlMIF0gY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJndW1lbnQsIDAsICdmb28nKSBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA2NDogRkFJTCBdIGNvbnRl
eHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyBudWxsLgotWyA2NTogRkFJTCBdIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1
bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY2OiBGQUlM
IF0gY29udGV4dC5nZXRTaGFkZXJJbmZvTG9nKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjc6IEZBSUwgXSBjb250ZXh0LmdldFNoYWRlclBhcmFtZXRl
cihhcmd1bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY4
OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UoYXJndW1lbnQpIHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uIFdhcyBudWxsLgotWyA2OTogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybShh
cmd1bWVudCwgbG9jKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNzA6
IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0ocHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA3MTogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9y
bUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jykgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDcyOiBQQVNTIF0gY29udGV4dC5iaW5kQnVmZmVy
KGNvbnRleHQuQVJSQVlfQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3MzogUEFT
UyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50
KSBpcyB1bmRlZmluZWQuCi1bIDc0OiBQQVNTIF0gY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNv
bnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3NTogUEFTUyBd
IGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCkgaXMgdW5k
ZWZpbmVkLgotWyA3NjogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29u
dGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRF
UkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgNzc6IFBBU1MgXSBjb250ZXh0LmZy
YW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRU
QUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQsIDApIGlzIHVuZGVmaW5lZC4K
LVsgNzg6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJy
YXkoWzAuMCwgMC4wXSkpIGlzIHVuZGVmaW5lZC4KLVsgNzk6IFBBU1MgXSBjb250ZXh0LnVuaWZv
cm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFycmF5KFswLCAwXSkpIGlzIHVuZGVmaW5lZC4KLVsg
ODA6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm1NYXRyaXgyZnYoYXJndW1lbnQsIGZhbHNlLCBuZXcg
RmxvYXQzMkFycmF5KFswLjAsIDAuMCwgMC4wLCAwLjBdKSkgaXMgdW5kZWZpbmVkLgotWyA4MTog
UEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA4Mjog
RkFJTCBdIGNvbnRleHQuY29tcGlsZVNoYWRlcihhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgODM6IEZBSUwgXSBjb250ZXh0LmxpbmtQcm9ncmFt
KGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4
NDogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4NTogRkFJTCBdIGNvbnRleHQu
YXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyB1bmRlZmluZWQuCi1bIDg2OiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIocHJvZ3Jh
bSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1b
IDg3OiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIoYXJndW1lbnQsIHNoYWRlcikgc2hvdWxk
IHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgODg6IEZBSUwgXSBjb250ZXh0
LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2ZvbycpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyB1bmRlZmluZWQuCi1bIDg5OiBGQUlMIF0gY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24o
YXJndW1lbnQsIDAsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZp
bmVkLgotWyA5MDogRkFJTCBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1lbnQpIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5MTogRkFJTCBdIGNvbnRleHQu
Z2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4gV2FzIG51bGwuCi1bIDkyOiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJJbmZvTG9nKGFyZ3Vt
ZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgOTM6IEZBSUwgXSBj
b250ZXh0LmdldFNoYWRlclBhcmFtZXRlcihhcmd1bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk0OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2Uo
YXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5NTogRkFJ
TCBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uLiBXYXMgbnVsbC4KLVsgOTY6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0ocHJvZ3Jh
bSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5Nzog
RkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQ
cm9qTWF0cml4Jykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk4OiBQ
QVNTIF0gY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBhcmd1bWVudCkg
aXMgdW5kZWZpbmVkLgotWyA5OTogUEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRl
eHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMDogUEFTUyBdIGNv
bnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlz
IHVuZGVmaW5lZC4KLVsgMTAxOiBQQVNTIF0gY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRF
WFRVUkVfMkQsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMjogUEFTUyBdIGNvbnRleHQu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBU
SF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5l
ZC4KLVsgMTAzOiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZS
QU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQs
IGFyZ3VtZW50LCAwKSBpcyB1bmRlZmluZWQuCi1bIDEwNDogUEFTUyBdIGNvbnRleHQudW5pZm9y
bTJmdihhcmd1bWVudCwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjBdKSkgaXMgdW5kZWZpbmVk
LgotWyAxMDU6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFy
cmF5KFswLCAwXSkpIGlzIHVuZGVmaW5lZC4KLVsgMTA2OiBQQVNTIF0gY29udGV4dC51bmlmb3Jt
TWF0cml4MmZ2KGFyZ3VtZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAu
MCwgMC4wXSkpIGlzIHVuZGVmaW5lZC4KLVsgMTA3OiBQQVNTIF0gY29udGV4dC51c2VQcm9ncmFt
KGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwODogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi1bIEZBSUwgXSAzMiBmYWlsdXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRl
c3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFu
Y2UvbWlzYy9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Mi4wLjAvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CmluZGV4
IGI4ZGU1MTRhMWIxNGViZGRkNTViOGQ4YTU5ZWI3ZDdkZDdiZTI4MTkuLjRhNjZjMmJkMTU2ZmMw
NjdhZjdiYjc4NjhkNmYyNGVhYTgyOTQzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmds
LzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGlu
Zy1leHBlY3RlZC50eHQKQEAgLTEsMjcgKzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvZXJyb3ItcmVwb3J0aW5nLmh0bWwKLQotWyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDI6IEZBSUwgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJp
YihudWxsLCAyKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzogRkFJ
TCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA0
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDU6IFBB
U1MgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAyKSBpcyBudWxsCi1bIDY6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDg6IEZBSUwg
XSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIG51bGwuCi1bIDk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1Iu
IFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDoKLVsgMTE6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0o
cHJvZ3JhbSwgNTApIGlzIG51bGwKLVsgMTI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOgotWyAxNDogUEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVy
KGNvbnRleHQuRlJBTUVCVUZGRVIsIG51bGwpIGlzIHVuZGVmaW5lZC4KLVsgMTU6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTY6IFBBU1MgXSBjb250
ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQu
REVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIG51bGwpIGlzIHVuZGVmaW5l
ZC4KLVsgMTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BF
UkFUSU9OIDoKLVsgMTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDoKLVsgMTk6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQu
RlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8y
RCwgbnVsbCwgMCkgaXMgdW5kZWZpbmVkLgotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOgotWyAyMTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAyMjogUEFTUyBdIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCi1bIEZBSUwgXSA0IGZhaWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwg
dGVzdHMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3Jt
YW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBl
Y3RlZC50eHQKaW5kZXggYzUxZDVkY2Y4MDI2YzVmZDU2YjM5YTk1OTg1ZDc0ZTRhZDRmMDBkNS4u
NWFhNTMzZGVhYzQ3YTk2MDU1NjE2NzU4NmI3ZDdmZWMwMTA3ZTZhZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlv
dXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
L21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dApAQCAtMSw0OSArMSw0IEBA
CiBUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KIAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAot
Ci1bIDE6IFBBU1MgXSBQcm9ncmFtIENvbXBpbGVkCi1bIDI6IFBBU1MgXSBTaGFkZXIgQ29tcGls
ZWQKLVsgMzogRkFJTCBdIGNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIHNob3VsZCB0
aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDQ6IEZBSUwgXSBjb250ZXh0Lmxp
bmtQcm9ncmFtKHVuZGVmaW5lZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVm
aW5lZC4KLVsgNTogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgdW5kZWZp
bmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA2OiBGQUlM
IF0gY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSBzaG91bGQgdGhyb3cg
YW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA3OiBGQUlMIF0gY29udGV4dC5hdHRhY2hT
aGFkZXIodW5kZWZpbmVkLCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1
bmRlZmluZWQuCi1bIDg6IEZBSUwgXSBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCB1bmRl
ZmluZWQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDk6IEZB
SUwgXSBjb250ZXh0LmRldGFjaFNoYWRlcih1bmRlZmluZWQsIHNoYWRlcikgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgMTA6IEZBSUwgXSBjb250ZXh0LnNoYWRl
clNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4g
V2FzIHVuZGVmaW5lZC4KLVsgMTE6IEZBSUwgXSBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmlu
ZWQsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyAx
MjogRkFJTCBdIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2Zvbycp
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDEzOiBQQVNTIF0g
Y29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmJpbmRCdWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTEJ1ZmZlci4KLVsgMTQ6
IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCAwKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnZnJhbWVidWZmZXInKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEZyYW1lYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgV2ViR0xGcmFtZWJ1ZmZlci4KLVsgMTU6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZm
ZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDIgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZFJl
bmRlcmJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUmVuZGVyYnVmZmVyLgotWyAx
NjogUEFTUyBdIGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCAwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgndGV4dHVyZScpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5iaW5kVGV4dHVyZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4
dHVyZS4KLVsgMTc6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZB
TElEX1ZBTFVFIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQu
QVJSQVlfQlVGRkVSLCBudWxsKQotWyAxODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZl
cihjb250ZXh0LkZSQU1FQlVGRkVSLCBudWxsKQotWyAxOTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRS
ZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIG51bGwpCi1bIDIwOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNv
bnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCBudWxsKQotWyAyMTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5n
OiBjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIHVuZGVmaW5lZCkKLVsg
MjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIg
ZXZhbHVhdGluZzogY29udGV4dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwg
dW5kZWZpbmVkKQotWyAyMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4
dC5SRU5ERVJCVUZGRVIsIHVuZGVmaW5lZCkKLVsgMjQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kVGV4
dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIHVuZGVmaW5lZCkKLVsgMjU6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGlu
ZzogY29udGV4dC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBj
b250ZXh0LkRFUFRIX0FUVEFDSE1FTlQsIGNvbnRleHQuUkVOREVSQlVGRkVSLCBudWxsKQotWyAy
NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQu
RlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8y
RCwgbnVsbCwgMCkKLVsgMjc6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIodW5k
ZWZpbmVkLCAwKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMjg6IEZB
SUwgXSBjb250ZXh0LmdldFByb2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDI5OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJQ
YXJhbWV0ZXIodW5kZWZpbmVkLCAwKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVs
bC4KLVsgMzA6IEZBSUwgXSBjb250ZXh0LmdldFNoYWRlckluZm9Mb2codW5kZWZpbmVkLCAwKSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzE6IEZBSUwgXSBjb250ZXh0
LmdldFNoYWRlclNvdXJjZSh1bmRlZmluZWQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdh
cyBudWxsLgotWyAzMjogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybSh1bmRlZmluZWQsIG51bGwp
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAzMzogRkFJTCBdIGNvbnRl
eHQuZ2V0VW5pZm9ybUxvY2F0aW9uKHVuZGVmaW5lZCwgJ2ZvbycpIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uIFdhcyBudWxsLgotWyAzNDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19F
UlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJ1ZmZl
ckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIDEsIGNvbnRleHQuU1RBVElDX0RSQVcpCi1bIDM1
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2
YWx1YXRpbmc6IGNvbnRleHQuZ2V0QnVmZmVyUGFyYW1ldGVyKGNvbnRleHQuQVJSQVlfQlVGRkVS
LCBjb250ZXh0LkJVRkZFUl9TSVpFKQotWyAzNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LnRleEltYWdlMkQo
Y29udGV4dC5URVhUVVJFXzJELCAwLCBjb250ZXh0LlJHQkEsIDEsIDEsIDAsIGNvbnRleHQuUkdC
QSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKQotWyAz
NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBl
dmFsdWF0aW5nOiBjb250ZXh0LnRleFBhcmFtZXRlcmkoY29udGV4dC5URVhUVVJFXzJELCBjb250
ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUiwgY29udGV4dC5ORUFSRVNUKQotWyAzODogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBj
b250ZXh0LmdldFRleFBhcmFtZXRlcihjb250ZXh0LlRFWFRVUkVfMkQsIGNvbnRleHQuVEVYVFVS
RV9NSU5fRklMVEVSKQotWyAzOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJ1ZmZlckRhdGEo
Y29udGV4dC5BUlJBWV9CVUZGRVIsIDEsIGNvbnRleHQuU1RBVElDX0RSQVcpCi1bIDQwOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGFmdGVy
IGV2YWx1YXRpbmc6IGNvbnRleHQuZ2V0QnVmZmVyUGFyYW1ldGVyKGNvbnRleHQuQVJSQVlfQlVG
RkVSLCBjb250ZXh0LkJVRkZFUl9TSVpFKQotWyA0MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0
LnRleEltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCBjb250ZXh0LlJHQkEsIDEsIDEsIDAs
IGNvbnRleHQuUkdCQSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCww
LDAsMF0pKQotWyA0MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LnRleFBhcmFtZXRlcmkoY29u
dGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUiwgY29udGV4dC5ORUFS
RVNUKQotWyA0MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldFRleFBhcmFtZXRlcihjb250
ZXh0LlRFWFRVUkVfMkQsIGNvbnRleHQuVEVYVFVSRV9NSU5fRklMVEVSKQotWyA0NDogUEFTUyBd
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSAxOSBmYWlsdXJlcyByZXBvcnRl
ZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvMi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3Rp
dmUtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggNDBmMWM4NDUyOGQ4MGNhYWY2NjYwNjhjYmY5NDZk
YWZmZDA3MDFmNC4uNTQwMDM5NTEzY2I4MTg1ZWVlZjMyMWRjYjExMmI4NjBkNzdjZjliNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0
LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZS9wcm9ncmFtcy9nZXQtYWN0aXZlLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQ3
ICsxLDQgQEAKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nZXQtYWN0aXZlLXRlc3Qu
aHRtbAotCi1bIDE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDoKLVsgMjogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKS5uYW1l
IGlzICd1X21vZGVsVmlld1Byb2pNYXRyaXgnCi1bIDM6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2
ZVVuaWZvcm0ocHJvZ3JhbSwgMCkudHlwZSBpcyBjb250ZXh0LkZMT0FUX01BVDQKLVsgNDogUEFT
UyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKS5zaXplIGlzIDEKLVsgNTog
UEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAxKSBpcyBudWxsCi1bIDY6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA3
OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIC0xKSBpcyBudWxsCi1b
IDg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgot
WyA5OiBGQUlMIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAxMDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVk
OiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyAxMTogUEFTUyBdIGluZm9baWldIGlz
IG5vbi1udWxsLgotWyAxMjogUEFTUyBdIGluZm9baWldIGlzIG5vbi1udWxsLgotWyAxMzogUEFT
UyBdIGluZm9baWldLm5hbWUgaXMgZXhwZWN0ZWRbaWldLm5hbWUKLVsgMTQ6IFBBU1MgXSBpbmZv
W2lpXS50eXBlIGlzIGV4cGVjdGVkW2lpXS50eXBlCi1bIDE1OiBQQVNTIF0gaW5mb1tpaV0uc2l6
ZSBpcyBleHBlY3RlZFtpaV0uc2l6ZQotWyAxNjogUEFTUyBdIGluZm9baWldLm5hbWUgaXMgZXhw
ZWN0ZWRbaWldLm5hbWUKLVsgMTc6IFBBU1MgXSBpbmZvW2lpXS50eXBlIGlzIGV4cGVjdGVkW2lp
XS50eXBlCi1bIDE4OiBQQVNTIF0gaW5mb1tpaV0uc2l6ZSBpcyBleHBlY3RlZFtpaV0uc2l6ZQot
WyAxOTogUEFTUyBdIGluZm8yW2lpXSBpcyBub24tbnVsbC4KLVsgMjA6IFBBU1MgXSBpbmZvMltp
aV0gaXMgbm9uLW51bGwuCi1bIDIxOiBQQVNTIF0gaW5mbzJbaWldLm5hbWUgaXMgZXhwZWN0ZWQy
W2lpXS5uYW1lCi1bIDIyOiBQQVNTIF0gaW5mbzJbaWldLnR5cGUgaXMgZXhwZWN0ZWQyW2lpXS50
eXBlCi1bIDIzOiBQQVNTIF0gaW5mbzJbaWldLnNpemUgaXMgZXhwZWN0ZWQyW2lpXS5zaXplCi1b
IDI0OiBQQVNTIF0gaW5mbzJbaWldLm5hbWUgaXMgZXhwZWN0ZWQyW2lpXS5uYW1lCi1bIDI1OiBQ
QVNTIF0gaW5mbzJbaWldLnR5cGUgaXMgZXhwZWN0ZWQyW2lpXS50eXBlCi1bIDI2OiBQQVNTIF0g
aW5mbzJbaWldLnNpemUgaXMgZXhwZWN0ZWQyW2lpXS5zaXplCi1bIDI3OiBQQVNTIF0gY29udGV4
dC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMikgaXMgbnVsbAotWyAyODogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6Ci1bIDI5OiBQQVNTIF0gY29u
dGV4dC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgLTEpIGlzIG51bGwKLVsgMzA6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyAzMTogRkFJTCBd
IGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51bGwsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRp
b24uIFdhcyBudWxsLgotWyAzMjogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4g
V2FzIElOVkFMSURfVkFMVUUgOgotWyAzMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOgotWyAzNDogUEFTUyBdIGNvbnRleHQyLmdldEFjdGl2ZUF0dHJpYihw
cm9ncmFtLCAwKSBpcyBudWxsCi1bIDM1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6Ci1bIDM2OiBQQVNTIF0gY29udGV4dDIuZ2V0QWN0aXZl
VW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCi1bIDM3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6Ci1bIDM4OiBQQVNTIF0gY29udGV4dC5n
ZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIGlzIG51bGwKLVsgMzk6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA0MDogUEFTUyBdIGNvbnRl
eHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDApIGlzIG51bGwKLVsgNDE6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA0MjogUEFTUyBdIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSA0IGZhaWx1cmVzIHJlcG9ydGVkCitb
IFBBU1MgXSBBbGwgdGVzdHMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8y
LjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvbWlzYy90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLWV4cGVjdGVkLnR4dAppbmRleCBmN2Fm
N2Y4YjRkMjFmNmE2Njk1MTBiMmNkODYxOWI3OTY2MGI0M2E5Li44YjQ2MmY5YjUyZWNmYzcxMzhj
MDZhZGYyMzk1N2ViYWVjMTAwYjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAu
MC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3RleHR1
cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy1leHBlY3RlZC50eHQKQEAgLTEsNDIg
KzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1p
bWFnZS0yZC1iYWQtYXJncy5odG1sCi0KLVsgMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBubyBwcmV2aW91c2x5IGRlZmluZWQgdGV4dHVy
ZSBpbWFnZQotWyAyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHVwIHNob3VsZCBzdWNjZWVkCi1bIDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiB5ICsgaGVpZ2h0ID4gdGV4dHVyZSBoZWlnaHQKLVsg
NDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IHgg
KyB3aWR0aCA+IHRleHR1cmUgd2lkdGgKLVsgNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG5lZ2F0aXZlIHgKLVsgNjogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG5lZ2F0aXZlIHkKLVsgNzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG5lZ2F0aXZl
IGxldmVsCi1bIDg6IEZBSUwgXSBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDk6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9f
RVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiBudWxsIHBpeGVscwotWyAxMTogUEFTUyBdIGdl
dEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURfVkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04gOiB0
b28gaGlnaCBsZXZlbAotWyAxMjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9FTlVNIDogYmFkIHRhcmdldAotWyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBnb29kIGFyZ3MKLVsgMTQ6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFz
IG9yaWdpbmFsCi1bIDE1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX09QRVJBVElPTiA6IHR5cGUgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMTY6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogbWFrZSB0ZXh0dXJlIFJHQgot
WyAxNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBmb3Jt
YXQgc2FtZSBhcyBvcmlnaW5hbCBSR0IKLVsgMTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFzIG9yaWdpbmFs
IFJHQgotWyAxOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiB0eXBlIG5vdCBzYW1lIGFzIG9yaWdpbmFsIFJHQgotWyAyMDogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBtYWtlIHRleHR1cmUgUkdCQSBV
TlNJR05FRF9CWVRFCi1bIDIxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IGZvcm1hdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDIyOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGZvcm1hdCBub3Qgc2FtZSBh
cyBvcmlnaW5hbAotWyAyMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04gOiB0eXBlIG5vdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDI0OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IG1ha2UgdGV4dHVyZSBSR0JB
IFVOU0lHTkVEX0JZVEUKLVsgMjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogZm9ybWF0IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjY6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1l
IGFzIG9yaWdpbmFsCi1bIDI3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX09QRVJBVElPTiA6IHR5cGUgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjg6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogZm9ybWF0IHNhbWUgYXMg
b3JpZ2luYWwKLVsgMjk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDMwOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IHR5cGUgbm90
IHNhbWUgYXMgb3JpZ2luYWwKLVsgMzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZB
TElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzI6IFBB
U1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFU
SU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzM6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJ
TlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzQ6
IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BF
UkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9m
OiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsg
MzY6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURf
T1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzc6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotWyBGQUlMIF0gMiBmYWlsdXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRl
c3RzIHBhc3NlZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406815</attachid>
            <date>2020-08-18 14:55:43 -0700</date>
            <delta_ts>2020-08-18 15:26:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215616-20200818145543.patch</filename>
            <type>text/plain</type>
            <size>98252</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc4NTMyNDBlY2FhOTlm
NzMzZDZjZDE5OWJlZGYyZWQ4NmM1NTZhYS4uZjk4ZTQ0NGIwZjZhZjY4NmM5NmIzNDg1Yjc5MzI3
YTM3YmIxMzM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA4LTE4ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViR0wy
XSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJsZSBpbiBJREwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTYxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDUgY29uZm9y
bWFuY2UgdGVzdHM6CisgICAgICAgIGNvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0
bWwKKyAgICAgICAgY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAor
ICAgICAgICBjb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCisgICAgICAg
IGNvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1s
CisgICAgICAgIGNvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC5odG1sCisKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kQXR0cmliTG9j
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29t
cGlsZVNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpkZXRhY2hTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJv
Z3JhbUluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFNoYWRlckluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmxpbmtQcm9ncmFtKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZVBy
b2dyYW0pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIpOgorCiAyMDIw
LTA4LTE3ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI2NTYwMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggNmRmYWJiYzI5
YTU5MGVjZjQ1N2RiY2E3N2VhZjljOTExOTY5MDgwMC4uMDFkNjEzYjQxYWE5Y2Q5ODlmYjk1OTk0
YWRiMjRiYzQ3NWUwOGIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTEzMjAsMjMgKzEzMjAsMjMg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjphY3RpdmVUZXh0dXJlKEdDR0xlbnVt
IHRleHR1cmUpCiAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKHRleHR1cmUpOwogfQogCi12
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0q
IHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBz
aGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7
CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJhdHRhY2hTaGFkZXIiLCBwcm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFBy
b2dyYW1PclNoYWRlcigiYXR0YWNoU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0
TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJhdHRhY2hT
aGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImF0dGFj
aFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5h
dHRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7CisgICAgaWYgKCFwcm9ncmFtLmF0dGFjaFNo
YWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImF0dGFjaFNoYWRlciIsICJzaGFkZXIg
YXR0YWNobWVudCBhbHJlYWR5IGhhcyBzaGFkZXIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBtX2NvbnRleHQtPmF0dGFjaFNoYWRlcihvYmplY3RPclplcm8ocHJvZ3JhbSksIG9iamVj
dE9yWmVybyhzaGFkZXIpKTsKLSAgICBzaGFkZXItPm9uQXR0YWNoZWQoKTsKKyAgICBtX2NvbnRl
eHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLm9iamVjdCgpLCBzaGFkZXIub2JqZWN0KCkpOworICAg
IHNoYWRlci5vbkF0dGFjaGVkKCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTHVpbnQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
IHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCBw
cm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImJpbmRBdHRyaWJM
b2NhdGlvbiIsIG5hbWUpKQogICAgICAgICByZXR1cm47CkBAIC0xMzUwLDcgKzEzNTAsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFBy
b2dyYW0qIHByb2dyYW0sIEdDR0x1aQogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImJpbmRBdHRyaWJMb2NhdGlvbiIsICJpbmRleCBv
dXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2NvbnRleHQtPmJp
bmRBdHRyaWJMb2NhdGlvbihvYmplY3RPclplcm8ocHJvZ3JhbSksIGluZGV4LCBuYW1lKTsKKyAg
ICBtX2NvbnRleHQtPmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLm9iamVjdCgpLCBpbmRleCwg
bmFtZSk7CiB9CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2hlY2tPYmplY3RU
b0JlQm91bmQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBXZWJHTE9iamVjdCogb2JqZWN0KQpA
QCAtMTczMSwxNCArMTczMSwxNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNv
bG9yTWFzayhHQ0dMYm9vbGVhbiByZWQsIEdDR0xib29sZWFuIGdyZWVuLCBHQwogICAgIG1fY29u
dGV4dC0+Y29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKIH0KIAotdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXBpbGVTaGFkZXIoV2ViR0xTaGFk
ZXImIHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJjb21waWxlU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hh
ZGVyKCJjb21waWxlU2hhZGVyIiwgJnNoYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nv
bnRleHQtPmNvbXBpbGVTaGFkZXIob2JqZWN0T3JaZXJvKHNoYWRlcikpOworICAgIG1fY29udGV4
dC0+Y29tcGlsZVNoYWRlcihzaGFkZXIub2JqZWN0KCkpOwogICAgIEdDR0xpbnQgdmFsdWU7Ci0g
ICAgbV9jb250ZXh0LT5nZXRTaGFkZXJpdihvYmplY3RPclplcm8oc2hhZGVyKSwgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTLCAmdmFsdWUpOwotICAgIHNoYWRlci0+c2V0VmFsaWQo
dmFsdWUpOworICAgIG1fY29udGV4dC0+Z2V0U2hhZGVyaXYoc2hhZGVyLm9iamVjdCgpLCBHcmFw
aGljc0NvbnRleHRHTDo6Q09NUElMRV9TVEFUVVMsICZ2YWx1ZSk7CisgICAgc2hhZGVyLnNldFZh
bGlkKHZhbHVlKTsKIAogICAgIGF1dG8qIGNhbnZhcyA9IGh0bWxDYW52YXMoKTsKIApAQCAtMjE0
NSwxOCArMjE0NSwxOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRlcHRoUmFu
Z2UoR0NHTGZsb2F0IHpOZWFyLCBHQ0dMZmxvYXQgekZhcikKICAgICBtX2NvbnRleHQtPmRlcHRo
UmFuZ2Uoek5lYXIsIHpGYXIpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRldGFjaFNoYWRlcihXZWJHTFByb2dy
YW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBzaGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVu
ZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCBw
cm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZGV0YWNoU2hhZGVyIiwg
c2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRl
V2ViR0xQcm9ncmFtT3JTaGFkZXIoImRldGFjaFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5kZXRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7
CisgICAgaWYgKCFwcm9ncmFtLmRldGFjaFNoYWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImRldGFjaFNoYWRlciIsICJzaGFkZXIgbm90IGF0dGFjaGVkIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIob2JqZWN0T3JaZXJvKHByb2dy
YW0pLCBvYmplY3RPclplcm8oc2hhZGVyKSk7Ci0gICAgc2hhZGVyLT5vbkRldGFjaGVkKGxvY2tl
ciwgZ3JhcGhpY3NDb250ZXh0R0woKSk7CisgICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIocHJv
Z3JhbS5vYmplY3QoKSwgc2hhZGVyLm9iamVjdCgpKTsKKyAgICBzaGFkZXIub25EZXRhY2hlZChs
b2NrZXIsIGdyYXBoaWNzQ29udGV4dEdMKCkpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmRpc2FibGUoR0NHTGVudW0gY2FwKQpAQCAtMjc4NywxMiArMjc4NywxMiBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdlbmVyYXRlTWlwbWFwKEdDR0xlbnVtIHRh
cmdldCkKICNlbmRpZgogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBHQ0dM
dWludCBpbmRleCkKK1JlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEdDR0x1aW50IGlu
ZGV4KQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2Vi
R0xQcm9ncmFtT3JTaGFkZXIoImdldEFjdGl2ZUF0dHJpYiIsIHByb2dyYW0pKQorICAgIGlmIChp
c0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIo
ImdldEFjdGl2ZUF0dHJpYiIsICZwcm9ncmFtKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgR3JhcGhpY3NDb250ZXh0R0w6OkFjdGl2ZUluZm8gaW5mbzsKLSAgICBpZiAoIW1fY29udGV4
dC0+Z2V0QWN0aXZlQXR0cmliKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgaW5kZXgsIGluZm8pKQor
ICAgIGlmICghbV9jb250ZXh0LT5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbS5vYmplY3QoKSwgaW5k
ZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIExPRyhXZWJHTCwgIlJl
dHVybmluZyBhY3RpdmUgYXR0cmlidXRlICVkOiAlcyIsIGluZGV4LCBpbmZvLm5hbWUudXRmOCgp
LmRhdGEoKSk7CkBAIC0yODAwLDEyICsyODAwLDEyIEBAIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0q
CiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5mby50eXBl
LCBpbmZvLnNpemUpOwogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NH
THVpbnQgaW5kZXgpCitSZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQg
aW5kZXgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVX
ZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QWN0aXZlVW5pZm9ybSIsIHByb2dyYW0pKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldEFjdGl2ZVVuaWZvcm0iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIEdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJbmZvIGluZm87Ci0gICAgaWYgKCFtX2Nv
bnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpbmRleCwgaW5m
bykpCisgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3Qo
KSwgaW5kZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAvLyBGSVhNRTog
RG8gd2Ugc3RpbGwgbmVlZCB0aGlzIGZvciB0aGUgQU5HTEUgYmFja2VuZD8KICAgICBpZiAoIWlz
R0xFUzJDb21wbGlhbnQoKSkKQEAgLTI4MTcsOSArMjgxNyw5IEBAIFJlZlB0cjxXZWJHTEFjdGl2
ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQ
cm9ncmFtCiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5m
by50eXBlLCBpbmZvLnNpemUpOwogfQogCi1PcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hh
ZGVyPj4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJH
TFByb2dyYW0qIHByb2dyYW0pCitPcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hhZGVyPj4+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dy
YW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgcHJvZ3JhbSkp
CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgY29uc3QgR0NHTGVudW0gc2hhZGVyVHlwZXNbXSA9IHsK
QEAgLTI4MjgsMTYgKzI4MjgsMTYgQEAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRl
cj4+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRhY2hlZFNoYWQKICAgICB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViR0xTaGFkZXI+PiBzaGFkZXJPYmplY3RzOwogICAgIGZvciAo
YXV0byBzaGFkZXJUeXBlIDogc2hhZGVyVHlwZXMpIHsKLSAgICAgICAgUmVmUHRyPFdlYkdMU2hh
ZGVyPiBzaGFkZXIgPSBwcm9ncmFtLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAg
ICAgICAgUmVmUHRyPFdlYkdMU2hhZGVyPiBzaGFkZXIgPSBwcm9ncmFtLmdldEF0dGFjaGVkU2hh
ZGVyKHNoYWRlclR5cGUpOwogICAgICAgICBpZiAoc2hhZGVyKQogICAgICAgICAgICAgc2hhZGVy
T2JqZWN0cy5hcHBlbmQoc2hhZGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHNoYWRlck9iamVjdHM7
CiB9CiAKLUdDR0xpbnQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0cmliTG9jYXRp
b24oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitHQ0dMaW50IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQ
ZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldEF0dHJpYkxvY2F0
aW9uIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkp
CiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImdl
dEF0dHJpYkxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI4NDUsMTEg
KzI4NDUsMTEgQEAgR0NHTGludCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRyaWJM
b2NhdGlvbihXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnMKICAgICAgICAgcmV0dXJuIC0xOwog
ICAgIGlmIChpc1ByZWZpeFJlc2VydmVkKG5hbWUpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAg
aWYgKCFwcm9ncmFtLT5nZXRMaW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlu
a1N0YXR1cygpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdM
OjpJTlZBTElEX09QRVJBVElPTiwgImdldEF0dHJpYkxvY2F0aW9uIiwgInByb2dyYW0gbm90IGxp
bmtlZCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBtX2NvbnRleHQt
PmdldEF0dHJpYkxvY2F0aW9uKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgbmFtZSk7CisgICAgcmV0
dXJuIG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbS5vYmplY3QoKSwgbmFtZSk7
CiB9CiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEJ1ZmZlclBhcmFt
ZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIHBuYW1lKQpAQCAtMzE3OSwyOSArMzE3OSwy
OSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NH
TGVudW0gcG5hbWUpCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRQcm9ncmFtUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTGVudW0g
cG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFy
YW1ldGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTGVudW0gcG5hbWUpCiB7Ci0gICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRl
cigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsIHByb2dyYW0pKQorICAgIGlmIChpc0NvbnRleHRMb3N0
T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1Q
YXJhbWV0ZXIiLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NH
TGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBwcm9ncmFtLT5pc0RlbGV0
ZWQoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uaXNEZWxldGVkKCk7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VkFMSURBVEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBt
X2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwgJnZhbHVlKTsK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KHZhbHVlKTsKICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpMSU5LX1NUQVRVUzoKLSAgICAgICAgcmV0dXJuIHByb2dyYW0tPmdldExp
bmtTdGF0dXMoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uZ2V0TGlua1N0YXR1cygpOwogICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkFUVEFDSEVEX1NIQURFUlM6Ci0gICAgICAgIG1fY29u
dGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVjdE9yWmVybyhwcm9ncmFtKSwgcG5hbWUsICZ2YWx1ZSk7
CisgICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1l
LCAmdmFsdWUpOwogICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6QUNUSVZFX0FUVFJJQlVURVM6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6QUNU
SVZFX1VOSUZPUk1TOgogI2lmIFVTRShBTkdMRSkKLSAgICAgICAgbV9jb250ZXh0LT5nZXRQcm9n
cmFtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRQcm9ncmFtaXYocHJvZ3JhbS5vYmplY3QoKSwgcG5hbWUsICZ2YWx1ZSk7CiAj
ZWxzZQotICAgICAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBtX2NvbnRleHQt
PmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwg
JnZhbHVlKTsKICNlbmRpZiAvLyBVU0UoQU5HTEUpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICBkZWZhdWx0OgpAQCAtMzIxMSw3ICszMjExLDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIEcK
ICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9STV9GRUVEQkFDS19C
VUZGRVJfTU9ERToKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9S
TV9GRUVEQkFDS19WQVJZSU5HUzoKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkFDVElWRV9VTklGT1JNX0JMT0NLUzoKLSAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1lLCAm
dmFsdWUpOwogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zMjIzLDExICszMjIzLDExIEBAIFdlYkdM
QW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtKiBwcm9ncmFtLCBHCiAgICAgfQogfQogCi1TdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtKiBwcm9ncmFtKQorU3RyaW5n
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3Jh
bSYgcHJvZ3JhbSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtSW5mb0xvZyIsIHByb2dyYW0pKQor
ICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFt
T3JTaGFkZXIoImdldFByb2dyYW1JbmZvTG9nIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwobV9jb250ZXh0LT5nZXRQcm9ncmFt
SW5mb0xvZyhvYmplY3RPclplcm8ocHJvZ3JhbSkpKTsKKyAgICByZXR1cm4gZW5zdXJlTm90TnVs
bChtX2NvbnRleHQtPmdldFByb2dyYW1JbmZvTG9nKHByb2dyYW0ub2JqZWN0KCkpKTsKIH0KIAog
V2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpCkBAIC0zMzAxLDE5ICszMzAxLDE5
IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXIqIHNoYWRl
ciwgR0NHTGVudW0gcG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NHTGVudW0gcG5hbWUpCiB7
Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRT
aGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
R0NHTGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBzaGFkZXItPmlzRGVs
ZXRlZCgpOworICAgICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwogICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFNo
YWRlcml2KG9iamVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUpOwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlNIQURFUl9UWVBFOgotICAgICAgICBtX2NvbnRleHQtPmdldFNoYWRlcml2KG9i
amVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9jb250ZXh0LT5n
ZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKTsKICAgICBkZWZhdWx0OgogICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hh
ZGVyUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsKQEAgLTMzMjEsMTEgKzMz
MjEsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFy
YW1ldGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIsIEdDR0wKICAgICB9CiB9CiAKLVN0cmluZyBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKiBzaGFk
ZXIpCitTdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVySW5mb0xvZyhX
ZWJHTFNoYWRlciYgc2hhZGVyKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkg
fHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCBzaGFk
ZXIpKQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQ
cm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCAmc2hhZGVyKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHJldHVybiBlbnN1cmVOb3ROdWxsKG1fY29udGV4dC0+Z2V0U2hh
ZGVySW5mb0xvZyhvYmplY3RPclplcm8oc2hhZGVyKSkpOworICAgIHJldHVybiBlbnN1cmVOb3RO
dWxsKG1fY29udGV4dC0+Z2V0U2hhZGVySW5mb0xvZyhzaGFkZXIub2JqZWN0KCkpKTsKIH0KIAog
UmVmUHRyPFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NHTGVudW0gc2hhZGVyVHlwZSwgR0NHTGVu
dW0gcHJlY2lzaW9uVHlwZSkKQEAgLTMzNTksMTEgKzMzNTksMTEgQEAgUmVmUHRyPFdlYkdMU2hh
ZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQ
cmVjaXNpb24KICAgICByZXR1cm4gV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQ6OmNyZWF0ZShy
YW5nZVswXSwgcmFuZ2VbMV0sIHByZWNpc2lvbik7CiB9CiAKLVN0cmluZyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqIHNoYWRlcikKK1N0cmlu
ZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIm
IHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0
ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRTaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldFNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLT5nZXRTb3VyY2UoKSk7CisgICAgcmV0
dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLmdldFNvdXJjZSgpKTsKIH0KIAogV2ViR0xBbnkgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VGV4UGFyYW1ldGVyKEdDR0xlbnVtIHRhcmdldCwg
R0NHTGVudW0gcG5hbWUpCkBAIC0zMzk1LDE5ICszMzk1LDE5IEBAIFdlYkdMQW55IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmdldFRleFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xl
bnVtIHBuCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIHVuaWZvcm1Mb2NhdGlvbikKK1dlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldFVuaWZvcm0oV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiYgdW5pZm9ybUxvY2F0aW9uKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFVuaWZvcm0iLCBwcm9ncmFt
KSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICBpZiAoIXVuaWZvcm1Mb2NhdGlvbiB8fCB1bmlmb3JtTG9jYXRpb24tPnByb2dy
YW0oKSAhPSBwcm9ncmFtKSB7CisgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbi5wcm9ncmFtKCkgIT0g
JnByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6
OklOVkFMSURfT1BFUkFUSU9OLCAiZ2V0VW5pZm9ybSIsICJubyB1bmlmb3JtbG9jYXRpb24gb3Ig
bm90IHZhbGlkIGZvciB0aGlzIHByb2dyYW0iKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQotICAgIEdDR0xpbnQgbG9jYXRpb24gPSB1bmlmb3JtTG9jYXRpb24tPmxvY2F0aW9uKCk7
CisgICAgR0NHTGludCBsb2NhdGlvbiA9IHVuaWZvcm1Mb2NhdGlvbi5sb2NhdGlvbigpOwogCiAg
ICAgR0NHTGVudW0gYmFzZVR5cGU7CiAgICAgdW5zaWduZWQgbGVuZ3RoOwotICAgIHN3aXRjaCAo
dW5pZm9ybUxvY2F0aW9uLT50eXBlKCkpIHsKKyAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50
eXBlKCkpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOgogICAgICAgICBiYXNl
VHlwZSA9IEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOwogICAgICAgICBsZW5ndGggPSAxOwpAQCAt
MzQ3OSw3ICszNDc5LDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0
VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnN0IFdlYkcKICAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiZ2V0VW5p
Zm9ybSIsICJ1bmhhbmRsZWQgdHlwZSIpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgIH0KLSAgICAgICAgc3dpdGNoICh1bmlmb3JtTG9jYXRpb24tPnR5cGUoKSkgeworICAg
ICAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50eXBlKCkpIHsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOgogICAgICAgICAgICAgYmFzZVR5cGUgPSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOwogICAgICAgICAgICAgbGVuZ3RoID0gMTsKQEAg
LTM1NDYsOSArMzU0Niw5IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBXZWJHCiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6RkxPQVQ6IHsKICAgICAgICAgR0NHTGZsb2F0IHZhbHVlWzE2XSA9IHsw
fTsKICAgICAgICAgaWYgKG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkKQotICAgICAgICAgICAg
bV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZ2V0blVuaWZvcm1mdkVYVChvYmplY3RPclplcm8o
cHJvZ3JhbSksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CisgICAg
ICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWZ2RVhUKHByb2dy
YW0ub2JqZWN0KCksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybWZ2KG9iamVjdE9y
WmVybyhwcm9ncmFtKSwgbG9jYXRpb24sIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+
Z2V0VW5pZm9ybWZ2KHByb2dyYW0ub2JqZWN0KCksIGxvY2F0aW9uLCB2YWx1ZSk7CiAgICAgICAg
IGlmIChsZW5ndGggPT0gMSkKICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsKICAgICAgICAg
cmV0dXJuIEZsb2F0MzJBcnJheTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU1Niwx
NiArMzU1NiwxNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlm
b3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViRwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OklOVDogewogICAgICAgICBHQ0dMaW50IHZhbHVlWzRdID0gezB9OwogICAgICAg
ICBpZiAobV9pc1JvYnVzdG5lc3NFWFRTdXBwb3J0ZWQpCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWl2RVhUKG9iamVjdE9yWmVybyhwcm9ncmFtKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdldG5Vbmlmb3JtaXZFWFQocHJvZ3JhbS5vYmplY3QoKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBs
b2NhdGlvbiwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYocHJv
Z3JhbS5vYmplY3QoKSwgbG9jYXRpb24sIHZhbHVlKTsKICAgICAgICAgaWYgKGxlbmd0aCA9PSAx
KQogICAgICAgICAgICAgcmV0dXJuIHZhbHVlWzBdOwogICAgICAgICByZXR1cm4gSW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIH0KICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpVTlNJR05FRF9JTlQ6IHsKICAgICAgICAgR0NHTHVpbnQgdmFsdWVbNF0gPSB7MH07
Ci0gICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihvYmplY3RPclplcm8ocHJvZ3JhbSks
IGxvY2F0aW9uLCB2YWx1ZSk7CisgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihwcm9n
cmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID09IDEp
CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVbMF07CiAgICAgICAgIHJldHVybiBVaW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU3Myw5ICszNTczLDkgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHBy
b2dyYW0sIGNvbnN0IFdlYkcKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOiB7CiAg
ICAgICAgIEdDR0xpbnQgdmFsdWVbNF0gPSB7MH07CiAgICAgICAgIGlmIChtX2lzUm9idXN0bmVz
c0VYVFN1cHBvcnRlZCkKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdl
dG5Vbmlmb3JtaXZFWFQob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuZ2V0blVuaWZvcm1pdkVYVChwcm9ncmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldFVuaWZvcm1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIGxvY2F0aW9uLCB2YWx1ZSk7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldFVuaWZvcm1pdihwcm9ncmFtLm9iamVjdCgpLCBsb2Nh
dGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID4gMSkgewogICAgICAgICAgICAgVmVj
dG9yPGJvb2w+IHZlY3RvcihsZW5ndGgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IGxlbmd0aDsgaisrKQpAQCAtMzU5Myw5ICszNTkzLDkgQEAgV2ViR0xBbnkgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNv
bnN0IFdlYkcKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVmUHRyPFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlmb3JtTG9jYXRpb24oV2Vi
R0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTFByb2dyYW0mIHByb2dyYW0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVy
KCJnZXRVbmlmb3JtTG9jYXRpb24iLCBwcm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtTG9j
YXRpb24iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghdmFs
aWRhdGVMb2NhdGlvbkxlbmd0aCgiZ2V0VW5pZm9ybUxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzYwMywyMyArMzYwMywyMyBAQCBSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoaXNQcmVmaXhSZXNlcnZl
ZChuYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFwcm9ncmFtLT5nZXRM
aW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlua1N0YXR1cygpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImdldFVuaWZvcm1Mb2NhdGlvbiIsICJwcm9ncmFtIG5vdCBsaW5rZWQiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEdDR0xpbnQgdW5pZm9ybUxvY2F0aW9uID0gbV9j
b250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBuYW1lKTsK
KyAgICBHQ0dMaW50IHVuaWZvcm1Mb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0ub2JqZWN0KCksIG5hbWUpOwogICAgIGlmICh1bmlmb3JtTG9jYXRpb24gPT0g
LTEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NHTGludCBhY3RpdmVVbmlmb3Jt
cyA9IDA7CiAjaWYgVVNFKEFOR0xFKQotICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVj
dE9yWmVybyhwcm9ncmFtKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklGT1JNUywgJmFj
dGl2ZVVuaWZvcm1zKTsKKyAgICBtX2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVj
dCgpLCBHcmFwaGljc0NvbnRleHRHTDo6QUNUSVZFX1VOSUZPUk1TLCAmYWN0aXZlVW5pZm9ybXMp
OwogI2Vsc2UKLSAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIEdyYXBoaWNzQ29udGV4dEdMOjpBQ1RJVkVfVU5JRk9STVMs
ICZhY3RpdmVVbmlmb3Jtcyk7CisgICAgbV9jb250ZXh0LT5nZXROb25CdWlsdEluQWN0aXZlU3lt
Ym9sQ291bnQocHJvZ3JhbS5vYmplY3QoKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklG
T1JNUywgJmFjdGl2ZVVuaWZvcm1zKTsKICNlbmRpZgogICAgIGZvciAoR0NHTGludCBpID0gMDsg
aSA8IGFjdGl2ZVVuaWZvcm1zOyBpKyspIHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0w6OkFj
dGl2ZUluZm8gaW5mbzsKLSAgICAgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0o
b2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpLCBpbmZvKSkKKyAgICAgICAgaWYgKCFtX2NvbnRleHQt
PmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3QoKSwgaSwgaW5mbykpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgLy8gU3RyaXAgIlswXSIgZnJvbSB0aGUgbmFtZSBp
ZiBpdCdzIGFuIGFycmF5LgogICAgICAgICBpZiAoaW5mby5uYW1lLmVuZHNXaXRoKCJbMF0iKSkK
QEAgLTM2MjksNyArMzYyOSw3IEBAIFJlZlB0cjxXZWJHTFVuaWZvcm1Mb2NhdGlvbj4gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMCiAgICAgICAgICAg
ICBTdHJpbmcgdW5pZm9ybU5hbWUgPSBtYWtlU3RyaW5nKGluZm8ubmFtZSwgJ1snLCBpbmRleCwg
J10nKTsKIAogICAgICAgICAgICAgaWYgKG5hbWUgPT0gdW5pZm9ybU5hbWUgfHwgbmFtZSA9PSBp
bmZvLm5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpj
cmVhdGUocHJvZ3JhbSwgdW5pZm9ybUxvY2F0aW9uLCBpbmZvLnR5cGUpOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6Y3JlYXRlKCZwcm9ncmFtLCB1bmlmb3Jt
TG9jYXRpb24sIGluZm8udHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zODY0LDEyICszODY0LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6bGluZVdpZHRoKEdDR0xmbG9hdCB3aWR0aCkKICAgICBtX2NvbnRleHQtPmxpbmVXaWR0aCh3
aWR0aCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bGlua1Byb2dyYW0o
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjps
aW5rUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKCFsaW5rUHJvZ3Jh
bVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMocHJvZ3JhbSkpCisgICAgaWYgKCFs
aW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMoJnByb2dyYW0pKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBwcm9ncmFtLT5pbmNyZWFzZUxpbmtDb3VudCgpOworICAg
IHByb2dyYW0uaW5jcmVhc2VMaW5rQ291bnQoKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpsaW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMo
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQpAQCAtNDQyMCwxOSArNDQyMCwxOSBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xz
aXplaSB3aWR0aCwgRwogICAgIG1fY29udGV4dC0+c2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVpZ2h0
KTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzaGFkZXJTb3VyY2UoV2Vi
R0xTaGFkZXIqIHNoYWRlciwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCit2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYgc2hhZGVyLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2
YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJzaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JT
aGFkZXIoInNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNF
KEFOR0xFKQotICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKG9iamVjdE9yWmVybyhzaGFkZXIp
LCBzdHJpbmcpOworICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKHNoYWRlci5vYmplY3QoKSwg
c3RyaW5nKTsKICNlbHNlCiAgICAgU3RyaW5nIHN0cmluZ1dpdGhvdXRDb21tZW50cyA9IFN0cmlw
Q29tbWVudHMoc3RyaW5nKS5yZXN1bHQoKTsKICAgICBpZiAoIXZhbGlkYXRlU3RyaW5nKCJzaGFk
ZXJTb3VyY2UiLCBzdHJpbmdXaXRob3V0Q29tbWVudHMpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uob2JqZWN0T3JaZXJvKHNoYWRlciksIHN0cmluZ1dpdGhv
dXRDb21tZW50cyk7CisgICAgbV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uoc2hhZGVyLm9iamVjdCgp
LCBzdHJpbmdXaXRob3V0Q29tbWVudHMpOwogI2VuZGlmCi0gICAgc2hhZGVyLT5zZXRTb3VyY2Uo
c3RyaW5nKTsKKyAgICBzaGFkZXIuc2V0U291cmNlKHN0cmluZyk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6c3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCBy
ZWYsIEdDR0x1aW50IG1hc2spCkBAIC01OTM3LDExICs1OTM3LDExIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dXNlUHJvZ3JhbShXZWJHTFByb2dyYW0qIHByb2dyYW0pCiAgICAg
fQogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUHJvZ3JhbShX
ZWJHTFByb2dyYW0qIHByb2dyYW0pCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZh
bGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4
dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRh
dGVQcm9ncmFtIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8
fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRhdGVQcm9ncmFtIiwgJnByb2dy
YW0pKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT52YWxpZGF0ZVByb2dyYW0ob2Jq
ZWN0T3JaZXJvKHByb2dyYW0pKTsKKyAgICBtX2NvbnRleHQtPnZhbGlkYXRlUHJvZ3JhbShwcm9n
cmFtLm9iamVjdCgpKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2ZXJ0
ZXhBdHRyaWIxZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHYwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4
IDA4NzNiNzJkMDA4NTMzYzE2NWMzZWE0Zjc0ZmY0ZmEyNjM3OTI0OWEuLmQwODg3MDcyZDQxOTJi
MzQ2ODBiNWViYzI2Y2Y2YzdjODhhZDg1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTEzMiw4ICsxMzIs
OCBAQCBwdWJsaWM6CiAgICAgaW50IGRyYXdpbmdCdWZmZXJIZWlnaHQoKSBjb25zdDsKIAogICAg
IHZvaWQgYWN0aXZlVGV4dHVyZShHQ0dMZW51bSB0ZXh0dXJlKTsKLSAgICB2b2lkIGF0dGFjaFNo
YWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOwotICAgIHZvaWQgYmluZEF0dHJpYkxv
Y2F0aW9uKFdlYkdMUHJvZ3JhbSosIEdDR0x1aW50IGluZGV4LCBjb25zdCBTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7Cisg
ICAgdm9pZCBiaW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBiaW5kQnVmZmVyKEdDR0xlbnVtIHRhcmdl
dCwgV2ViR0xCdWZmZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZEZyYW1lYnVmZmVyKEdDR0xl
bnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZlciopOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZl
cihHQ0dMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyKik7CkBAIC0xNTUsNyArMTU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEZXB0aChHQ0dMZmxvYXQpOwogICAgIHZvaWQgY2xl
YXJTdGVuY2lsKEdDR0xpbnQpOwogICAgIHZvaWQgY29sb3JNYXNrKEdDR0xib29sZWFuIHJlZCwg
R0NHTGJvb2xlYW4gZ3JlZW4sIEdDR0xib29sZWFuIGJsdWUsIEdDR0xib29sZWFuIGFscGhhKTsK
LSAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXIqKTsKKyAgICB2b2lkIGNvbXBpbGVT
aGFkZXIoV2ViR0xTaGFkZXImKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoR0NH
TGVudW0gdGFyZ2V0LCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0NH
THNpemVpIHdpZHRoLCBHQ0dMc2l6ZWkgaGVpZ2h0LCBHQ0dMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3JiBkYXRhKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGludCB4b2Zmc2V0LCBHQ0dMaW50IHlvZmZzZXQs
IEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIGRhdGEpOwpAQCAtMTgyLDcgKzE4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRlcHRoRnVuYyhHQ0dMZW51bSk7CiAgICAgdm9pZCBkZXB0aE1hc2soR0NHTGJvb2xlYW4pOwog
ICAgIHZvaWQgZGVwdGhSYW5nZShHQ0dMZmxvYXQgek5lYXIsIEdDR0xmbG9hdCB6RmFyKTsKLSAg
ICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOworICAgIHZv
aWQgZGV0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7CiAgICAgdm9pZCBk
aXNhYmxlKEdDR0xlbnVtIGNhcCk7CiAgICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXko
R0NHTHVpbnQgaW5kZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
aW50IGZpcnN0LCBHQ0dMc2l6ZWkgY291bnQpOwpAQCAtMTk3LDI3ICsxOTcsMjcgQEAgcHVibGlj
OgogICAgIHZvaWQgZnJvbnRGYWNlKEdDR0xlbnVtIG1vZGUpOwogICAgIHZvaWQgZ2VuZXJhdGVN
aXBtYXAoR0NHTGVudW0gdGFyZ2V0KTsKIAotICAgIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IGdl
dEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0qLCBHQ0dMdWludCBpbmRleCk7Ci0gICAgUmVmUHRy
PFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0qLCBHQ0dMdWlu
dCBpbmRleCk7Ci0gICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRlcj4+PiBnZXRB
dHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtKik7Ci0gICAgR0NHTGludCBnZXRBdHRyaWJMb2Nh
dGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIFJlZlB0cjxXZWJH
TEFjdGl2ZUluZm8+IGdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mLCBHQ0dMdWludCBpbmRl
eCk7CisgICAgUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFBy
b2dyYW0mLCBHQ0dMdWludCBpbmRleCk7CisgICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJH
TFNoYWRlcj4+PiBnZXRBdHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtJik7CisgICAgR0NHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwog
ICAgIFdlYkdMQW55IGdldEJ1ZmZlclBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVt
IHBuYW1lKTsKICAgICBPcHRpb25hbDxXZWJHTENvbnRleHRBdHRyaWJ1dGVzPiBnZXRDb250ZXh0
QXR0cmlidXRlcygpOwogICAgIEdDR0xlbnVtIGdldEVycm9yKCk7CiAgICAgdmlydHVhbCBXZWJH
TEV4dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkgPSAwOwogICAgIHZp
cnR1YWwgV2ViR0xBbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGVudW0gYXR0YWNobWVudCwgR0NHTGVudW0gcG5hbWUpID0gMDsKICAgICB2
aXJ0dWFsIFdlYkdMQW55IGdldFBhcmFtZXRlcihHQ0dMZW51bSBwbmFtZSk7Ci0gICAgV2ViR0xB
bnkgZ2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qLCBHQ0dMZW51bSBwbmFtZSk7Ci0g
ICAgU3RyaW5nIGdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3JhbSopOworICAgIFdlYkdMQW55
IGdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiwgR0NHTGVudW0gcG5hbWUpOworICAg
IFN0cmluZyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0mKTsKICAgICBXZWJHTEFueSBn
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBwbmFtZSk7
Ci0gICAgV2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyKiwgR0NHTGVudW0g
cG5hbWUpOwotICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKik7CisgICAg
V2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyJiwgR0NHTGVudW0gcG5hbWUp
OworICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyJik7CiAgICAgUmVmUHRy
PFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NH
TGVudW0gc2hhZGVyVHlwZSwgR0NHTGVudW0gcHJlY2lzaW9uVHlwZSk7Ci0gICAgU3RyaW5nIGdl
dFNoYWRlclNvdXJjZShXZWJHTFNoYWRlciopOworICAgIFN0cmluZyBnZXRTaGFkZXJTb3VyY2Uo
V2ViR0xTaGFkZXImKTsKICAgICB2aXJ0dWFsIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKCkgPSAwOwogICAgIHZpcnR1YWwgV2ViR0xBbnkgZ2V0VGV4UGFy
YW1ldGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpOwotICAgIFdlYkdMQW55IGdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qKTsKLSAg
ICBSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFBy
b2dyYW0qLCBjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJHTEFueSBnZXRVbmlmb3JtKFdlYkdMUHJv
Z3JhbSYsIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uJik7CisgICAgUmVmUHRyPFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgY29uc3QgU3Ry
aW5nJik7CiAgICAgV2ViR0xBbnkgZ2V0VmVydGV4QXR0cmliKEdDR0x1aW50IGluZGV4LCBHQ0dM
ZW51bSBwbmFtZSk7CiAgICAgbG9uZyBsb25nIGdldFZlcnRleEF0dHJpYk9mZnNldChHQ0dMdWlu
dCBpbmRleCwgR0NHTGVudW0gcG5hbWUpOwogCkBAIC0yNDMsNyArMjQzLDcgQEAgcHVibGljOgog
ICAgIEdDR0xib29sZWFuIGlzVGV4dHVyZShXZWJHTFRleHR1cmUqKTsKIAogICAgIHZvaWQgbGlu
ZVdpZHRoKEdDR0xmbG9hdCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsK
KyAgICB2b2lkIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSYpOwogICAgIGJvb2wgbGlua1Byb2dy
YW1XaXRob3V0SW52YWxpZGF0aW5nQXR0cmliTG9jYXRpb25zKFdlYkdMUHJvZ3JhbSopOwogICAg
IHZpcnR1YWwgdm9pZCBwaXhlbFN0b3JlaShHQ0dMZW51bSBwbmFtZSwgR0NHTGludCBwYXJhbSk7
CiAjaWYgRU5BQkxFKFdFQlhSKQpAQCAtMjU4LDcgKzI1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZUltcGwoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMc2l6
ZWkgc2FtcGxlcywgR0NHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NH
THNpemVpIGhlaWdodCwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKICAgICB2b2lkIHNhbXBs
ZUNvdmVyYWdlKEdDR0xmbG9hdCB2YWx1ZSwgR0NHTGJvb2xlYW4gaW52ZXJ0KTsKICAgICB2b2lk
IHNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVp
IGhlaWdodCk7Ci0gICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqLCBjb25zdCBTdHJp
bmcmKTsKKyAgICB2b2lkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYsIGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgc3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCByZWYsIEdDR0x1
aW50IG1hc2spOwogICAgIHZvaWQgc3RlbmNpbEZ1bmNTZXBhcmF0ZShHQ0dMZW51bSBmYWNlLCBH
Q0dMZW51bSBmdW5jLCBHQ0dMaW50IHJlZiwgR0NHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVu
Y2lsTWFzayhHQ0dMdWludCk7CkBAIC0zNDMsNyArMzQzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDR0xib29sZWFu
IHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJik7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oV2ViR0xQ
cm9ncmFtKik7Ci0gICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtKik7CisgICAg
dm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtJik7CiAKICAgICB2b2lkIHZlcnRleEF0
dHJpYjFmKEdDR0x1aW50IGluZGV4LCBHQ0dMZmxvYXQgeCk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWIyZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHgsIEdDR0xmbG9hdCB5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5pZGwKaW5kZXggYzBiZWQ0NGRlZDljM2RmMGExYzg4MzUzODkwNWUxYmFjYmZmYjVlYi4uNzI4
YjQyOTAyM2EzY2FkYjgzNTBhM2QyN2E4OTZhODFmMGYyZWI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwK
QEAgLTQ4Miw4ICs0ODIsOCBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52
YXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsK
IAogICAgIHZvaWQgYWN0aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRh
Y2hTaGFkZXIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBXZWJHTFNoYWRlcj8gc2hhZGVyKTsKLSAg
ICB2b2lkIGJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMdWludCBp
bmRleCwgRE9NU3RyaW5nIG5hbWUpOworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHZvaWQgYmluZEF0dHJpYkxvY2F0
aW9uKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBuYW1lKTsK
ICAgICB2b2lkIGJpbmRCdWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7
CiAgICAgdm9pZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZl
cj8gZnJhbWVidWZmZXIpOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVyKTsKQEAgLTUwMywxMyArNTAzLDEzIEBA
IHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICB2b2lkIGNsZWFy
RGVwdGgoR0xjbGFtcGYgZGVwdGgpOwogICAgIHZvaWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOwog
ICAgIHZvaWQgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29s
ZWFuIGJsdWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdM
U2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFk
ZXIpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBp
eGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJj
ZSBzb3VyY2UpOwogCiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
cGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRl
eEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1h
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3IGRhdGEpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7CkBAIC01MzYsNyArNTM2LDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIHZvaWQgZGVwdGhGdW5jKEdMZW51bSBmdW5jKTsKICAgICB2b2lkIGRlcHRo
TWFzayhHTGJvb2xlYW4gZmxhZyk7CiAgICAgdm9pZCBkZXB0aFJhbmdlKEdMY2xhbXBmIHpOZWFy
LCBHTGNsYW1wZiB6RmFyKTsKLSAgICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMU2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgZGV0YWNoU2hhZGVyKFdlYkdM
UHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOwogICAgIHZvaWQgZGlzYWJsZShH
TGVudW0gY2FwKTsKICAgICB2b2lkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5k
ZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6
ZWkgY291bnQpOwpAQCAtNTUxLDEzICs1NTEsMTMgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1l
bnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgZnJvbnRGYWNlKEdMZW51bSBtb2RlKTsKICAgICB2
b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwogICAgIAotICAgIFdlYkdMQWN0aXZl
SW5mbyBnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OwotICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbT8gcHJv
Z3JhbSwgR0x1aW50IGluZGV4KTsKKyAgICBXZWJHTEFjdGl2ZUluZm8gZ2V0QWN0aXZlQXR0cmli
KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOworICAgIFdlYkdMQWN0aXZlSW5m
byBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOwog
CiAgICAgLy8gRklYTUU6IFRoZSBzcGVjIHNheXMgdGhpcyBzaG91bGQgbm90IHRha2UgYSBudWxs
YWJsZSBXZWJHTFByb2dyYW0uCi0gICAgc2VxdWVuY2U8V2ViR0xTaGFkZXI+PyBnZXRBdHRhY2hl
ZFNoYWRlcnMoV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKKyAgICBzZXF1ZW5jZTxXZWJHTFNoYWRl
cj4/IGdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CiAKLSAgICBHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBHTGludCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9N
U3RyaW5nIG5hbWUpOwogCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dEJ1ZmZlclBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUpOwogCkBAIC01NzAs
MjIgKzU3MCwyMiBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAK
ICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVudW0g
cG5hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQYXJhbWV0
ZXIoR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMZW51bSBwbmFtZSk7
Ci0gICAgRE9NU3RyaW5nPyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0/IHByb2dyYW0p
OworICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTGVudW0gcG5hbWUpOworICAgIERPTVN0cmluZz8g
Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtIHByb2dyYW0pOwogICAgIFtPdmVycmlkZUlE
TFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0xlbnVtIHRh
cmdldCwgR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBh
bnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIsIEdMZW51bSBwbmFtZSk7
CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFNoYWRlclBhcmFtZXRl
cihXZWJHTFNoYWRlciBzaGFkZXIsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBET01TdHJpbmc/IGdl
dFNoYWRlckluZm9Mb2coV2ViR0xTaGFkZXI/IHNoYWRlcik7CisgICAgRE9NU3RyaW5nPyBnZXRT
aGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyIHNoYWRlcik7CiAKICAgICBXZWJHTFNoYWRlclByZWNp
c2lvbkZvcm1hdCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0xlbnVtIHNoYWRlcnR5cGUsIEdM
ZW51bSBwcmVjaXNpb250eXBlKTsKIAotICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdl
YkdMU2hhZGVyPyBzaGFkZXIpOworICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlcik7CiAKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0VGV4UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0VW5pZm9ybShXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbik7CisgICAgW092ZXJyaWRlSURM
VHlwZT1JRExXZWJHTEFueV0gYW55IGdldFVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uKTsKIAotICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9n
cmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1lKTsKIAogICAgIFtPdmVycmlkZUlETFR5cGU9SURM
V2ViR0xBbnldIGFueSBnZXRWZXJ0ZXhBdHRyaWIoR0x1aW50IGluZGV4LCBHTGVudW0gcG5hbWUp
OwogCkBAIC02MDEsNyArNjAxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIEdMYm9vbGVhbiBpc1NoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKICAg
ICBHTGJvb2xlYW4gaXNUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7CiAgICAgdm9pZCBs
aW5lV2lkdGgoR0xmbG9hdCB3aWR0aCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dy
YW0/IHByb2dyYW0pOworICAgIHZvaWQgbGlua1Byb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0p
OwogCiAgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFByb21pc2U8dm9pZD4gbWFr
ZVhSQ29tcGF0aWJsZSgpOwogCkBAIC02MTMsNyArNjEzLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZh
c0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZShHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0KTsKICAgICB2b2lkIHNhbXBsZUNvdmVyYWdlKEdMY2xhbXBmIHZhbHVlLCBHTGJvb2xl
YW4gaW52ZXJ0KTsKICAgICB2b2lkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdMU2hhZGVy
PyBzaGFkZXIsIERPTVN0cmluZyBzdHJpbmcpOworICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlciwgRE9NU3RyaW5nIHN0cmluZyk7CiAgICAgdm9pZCBzdGVuY2lsRnVuYyhH
TGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVuY2lsRnVu
Y1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFz
ayk7CiAgICAgdm9pZCBzdGVuY2lsTWFzayhHTHVpbnQgbWFzayk7CkBAIC02NDksNyArNjQ5LDcg
QEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJH
TFByb2dyYW0/IHByb2dyYW0pOwotICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3Jh
bT8gcHJvZ3JhbSk7CisgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dy
YW0pOwogCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIxZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7
CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9h
dCB5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFk
ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFkZXJQ
cm9ncmFtLmNwcAppbmRleCBmODE2YmI2ZjQzNmYyNmY3Yjg2M2YxMTllYjFjOTAxNGQ3MGZmODgx
Li42OTM3NzhkZjZlMDIwY2IwMTgwMWU3NWM4ZTM5OTUzZDlmMTcyNjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclNoYWRlclByb2dyYW0uY3BwCkBAIC0x
OTAsOCArMTkwLDggQEAgYm9vbCBJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIo
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpTaGFkZXJUeXAKICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogY29udGV4dCA9IG1fY2FudmFzLmNhbnZhc0NvbnRleHQoKSkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY29udGV4dCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRleHRXZWJHTEJhc2UgPSBkb3duY2Fz
dDxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPigqY29udGV4dCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0V2ViR0xCYXNlLnNoYWRlclNvdXJjZShzaGFkZXIsIHNvdXJjZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2ViR0xCYXNlLmNvbXBpbGVTaGFkZXIoc2hh
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRXZWJHTEJhc2Uuc2hhZGVyU291
cmNlKCpzaGFkZXIsIHNvdXJjZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2Vi
R0xCYXNlLmNvbXBpbGVTaGFkZXIoKnNoYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hhZGVyLT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0V2ViR0xCYXNlLmxpbmtQcm9ncmFtV2l0aG91dEludmFsaWRhdGluZ0F0dHJpYkxvY2F0aW9u
cygmcHJvZ3JhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2UwYTk4NWM2NDgzZmQ3MmZhYjU2NGIwZmM0ZjAyYTMxNGZkZDNkZi4uNDg2M2M2ODQ0
NjBlMDU3MjMwYjE3ZjFhZmQzNDg3NGU1NzNhZjNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisy
MDIwLTA4LTE4ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbV2ViR0wyXSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJs
ZSBpbiBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTYxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6CisgICAgICAgICogd2Vi
Z2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251
bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ2wvMi4wLjAv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWItaW1hZ2Ut
MmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA4LTE3ICBIZWN0b3IgTG9wZXogIDxo
ZWN0b3JfaV9sb3BlekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBtYWNPUyB3azEgXSB3ZWJhdWRp
by9vc2NpbGxhdG9yLXNxdWFyZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQK
aW5kZXggMGFiYmYxM2E2ZmJhNDRiODA0MWQ0NmI3ODk2NDZjZDNhNGI4MjFiOS4uNjFkN2M4MGMy
MmE2NDEyMjhhZGYzNWMyZDM3ZWU2YTUzMDdlNWM2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0CkBAIC05MCwx
NCArOTAsMTQgQEAgUEFTUyBnbC5zdGVuY2lsT3BTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuS0VFUCwg
Z2wuS0VFUCwgZ2wuS0VFUCkgd2FzIGV4cGVjdGVkIHZhbHUKIFBBU1MgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBhcnJheUJ1ZmZlclZpZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNT
IGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgaW1hZ2VEYXRhKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFT
UyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGltYWdlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgotUEFTUyBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGNhbnZhcykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBjYW52YXMyZCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCB2aWRlbykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4
UGFyYW1ldGVyZihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJF
U1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIDAsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVy
Vmlldykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFn
ZURhdGEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleFN1YkltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1h
Z2UpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCi1QQVNTIGdsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFz
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhczJk
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxv
Y2F0aW9uLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC51bmlmb3Jt
MWZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgpAQCAtMTc4LDYgKzE3OCwxMCBAQCBQQVNTIGdsLmlzUmVuZGVyYnVmZmVyKHJlbmRl
cmJ1ZmZlcikgaXMgZmFsc2UKIFBBU1MgZ2wuaXNTaGFkZXIoc2hhZGVyKSBpcyBmYWxzZQogUEFT
UyBnbC5pc1RleHR1cmUodGV4dHVyZSkgaXMgZmFsc2UKIFBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBn
bC5OT19FUlJPUgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5iaW5kVmVydGV4QXJyYXlP
RVModmVydGV4QXJyYXlPYmplY3QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IE9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0LmlzVmVydGV4QXJyYXlPRVModmVydGV4QXJyYXlPYmpl
Y3QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIE9FU192ZXJ0ZXhfYXJyYXlf
b2JqZWN0LmRlbGV0ZVZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5jcmVhdGVW
ZXJ0ZXhBcnJheU9FUygpIGlzIG51bGwKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxv
c3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1s
CmluZGV4IDA4ZjU3ZTZhNTRhZjEwN2E3YmZjNWIzZjFlYWM3MDY0ZGIyMzRhY2YuLjBiYzA2MzM2
MWRkZDVhOTZjMzEyZTFhNjhiMTE3MTdkZmRiYzM4MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBAIC0zMSw2ICszMSw4IEBAIHZhciBj
dHgyZDsKIHZhciBpbWFnZURhdGE7CiB2YXIgZmxvYXQzMmFycmF5OwogdmFyIGludDMyYXJyYXk7
Cit2YXIgT0VTX3ZlcnRleF9hcnJheV9vYmplY3Q7Cit2YXIgdmVydGV4QXJyYXlPYmplY3Q7CiAK
IGZ1bmN0aW9uIGluaXQoKQogewpAQCAtNDksMTUgKzUxLDIyIEBAIGZ1bmN0aW9uIGluaXQoKQog
ICAgIC8vIGZvciB0aGUgaXNDb250ZXh0TG9zdCgpIG1ldGhvZCwgd2hpY2ggd2Ugd2FudCB0byBk
byByZWdhcmRsZXNzIG9mIHRoZSBleHRlbnNpb24ncyBwcmVzZW5jZS4KICAgICB0ZXN0VmFsaWRD
b250ZXh0KCk7CiAKLSAgICBleHRlbnNpb24gPSBnbC5nZXRFeHRlbnNpb24oIldFQkdMX2xvc2Vf
Y29udGV4dCIpOwotICAgIGlmICghZXh0ZW5zaW9uKSB7Ci0gICAgICAgIGRlYnVnKCJDb3VsZCBu
b3QgZmluZCBsb3NlX2NvbnRleHQgZXh0ZW5zaW9uIHVuZGVyIHRoZSBmb2xsb3dpbmcgbmFtZXM6
IFdFQkdMX2xvc2VfY29udGV4dCIpOworICAgIGV4dGVuc2lvbk5hbWUgPSB3dHUuZ2V0U3VwcG9y
dGVkRXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9sb3NlX2NvbnRleHQiKTsK
KyAgICBpZiAoIWV4dGVuc2lvbk5hbWUpIHsKKyAgICAgICAgZGVidWcoIkNvdWxkIG5vdCBmaW5k
IFdFQkdMX2xvc2VfY29udGV4dCBleHRlbnNpb24iKTsKICAgICAgICAgZmluaXNoVGVzdCgpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVu
c2lvbihleHRlbnNpb25OYW1lKTsKKworICAgIC8vIG5lZWQgYW4gZXh0ZW5zaW9uIHRoYXQgZXhw
b3NlcyBuZXcgQVBJIG1ldGhvZHMuCisgICAgT0VTX3ZlcnRleF9hcnJheV9vYmplY3QgPSB3dHUu
Z2V0RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJPRVNfdmVydGV4X2FycmF5X29iamVj
dCIpOwogCiAgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCB0
ZXN0TG9zdENvbnRleHQsIGZhbHNlKTsKIAorICAgIC8vIFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB8
dW5pZm9ybUxvY2F0aW9ufCBiZWZvcmUgbG9zaW5nIGNvbnRleHQuCisgICAgLy8gT3RoZXJ3aXNl
IGdsLmdldFVuaWZvcm0oKSB3aGVuIGNvbnRleHQgaXMgbG9zdCB3aWxsIHRocm93LgorICAgIHVu
aWZvcm1Mb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CiAg
ICAgbG9zZUNvbnRleHQoKTsKIH0KIApAQCAtMTAzLDYgKzExMiwyNCBAQCBmdW5jdGlvbiB0ZXN0
VmFsaWRDb250ZXh0KCkKICAgICBzaG91bGRCZVRydWUoImdsLmlzUmVuZGVyYnVmZmVyKHJlbmRl
cmJ1ZmZlcikiKTsKICAgICBzaG91bGRCZVRydWUoImdsLmlzU2hhZGVyKHNoYWRlcikiKTsKICAg
ICBzaG91bGRCZVRydWUoImdsLmlzVGV4dHVyZSh0ZXh0dXJlKSIpOworCisgICAgaWYgKE9FU192
ZXJ0ZXhfYXJyYXlfb2JqZWN0KSB7CisgICAgICB2ZXJ0ZXhBcnJheU9iamVjdCA9IE9FU192ZXJ0
ZXhfYXJyYXlfb2JqZWN0LmNyZWF0ZVZlcnRleEFycmF5T0VTKCk7CisgICAgICBzaG91bGRCZSgi
Z2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgICAgc2hvdWxkQmVUcnVlKCJPRVNf
dmVydGV4X2FycmF5X29iamVjdC5pc1ZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIp
OworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEdMTk9FcnJvckZ1bmN0aW9ucyh0ZXN0cykgewor
ICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICAgIHNob3VsZEdlbmVyYXRlR0xF
cnJvcihnbCwgZ2wuTk9fRVJST1IsIHRlc3QpOworICB9KTsKK30KKworZnVuY3Rpb24gdGVzdEZ1
bmN0aW9uc1RoYXRSZXR1cm5OVUxMKHRlc3RzKSB7CisgIHRlc3RzLmZvckVhY2goZnVuY3Rpb24o
dGVzdCkgeworICAgICAgc2hvdWxkQmVOdWxsKHRlc3QpOworICB9KTsKIH0KIAogZnVuY3Rpb24g
dGVzdExvc3RDb250ZXh0KCkKQEAgLTE5OCwxNCArMjI1LDE0IEBAIGZ1bmN0aW9uIHRlc3RMb3N0
Q29udGV4dCgpCiAgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldyki
LAogICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwKICAgICAgICAgImdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
aW1hZ2UpIiwKLSAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGNhbnZhczJkKSIsCiAgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCiAgICAgICAgICJn
bC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wu
TkVBUkVTVCkiLAogICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKICAgICAgICAgImdsLnRleFN1YkltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgYXJyYXlCdWZmZXJWaWV3KSIsCiAgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkiLAog
ICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkiLAotICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMp
IiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpIiwKICAgICAgICAgImdsLnRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
dmlkZW8pIiwKICAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIiwKICAg
ICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKQEAg
LTI1NCw5ICsyODEsNyBAQCBmdW5jdGlvbiB0ZXN0TG9zdENvbnRleHQoKQogICAgICAgICAiZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIiwKICAgICAg
ICAgImdsLnZpZXdwb3J0KDAsIDAsIDAsIDApIiwKICAgICBdOwotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgdm9pZFRlc3RzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHNob3VsZEdlbmVyYXRlR0xF
cnJvcihnbCwgZ2wuTk9fRVJST1IsIHZvaWRUZXN0c1tpXSk7Ci0gICAgfQorICAgIHRlc3RHTE5P
RXJyb3JGdW5jdGlvbnModm9pZFRlc3RzKTsKIAogICAgIC8vIEZ1bmN0aW9ucyByZXR1cm4gbnVs
bGFibGUgdmFsdWVzIHNob3VsZCBhbGwgcmV0dXJuIG51bGwuCiAgICAgdmFyIG51bGxUZXN0cyA9
IFsKQEAgLTI4NCwxMSArMzA5LDkgQEAgZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKICAgICAg
ICAgImdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndlBvc2l0aW9uJykiLAogICAgICAg
ICAiZ2wuZ2V0VmVydGV4QXR0cmliKDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJ
TkRJTkcpIiwKICAgICAgICAgImdsLmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKSIsCi0gICAgICAg
ICJnbC5nZXRFeHRlbnNpb24oJ1dFQkdMX2xvc2VfY29udGV4dCcpIiwKKyAgICAgICAgImdsLmdl
dEV4dGVuc2lvbignIiArIGV4dGVuc2lvbk5hbWUgKyAiJykiLAogICAgIF07Ci0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBudWxsVGVzdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgc2hvdWxkQmVO
dWxsKG51bGxUZXN0c1tpXSk7Ci0gICAgfQorICAgIHRlc3RGdW5jdGlvbnNUaGF0UmV0dXJuTlVM
TChudWxsVGVzdHMpOwogCiAgICAgLy8gIklzIiBxdWVyaWVzIHNob3VsZCBhbGwgcmV0dXJuIGZh
bHNlLgogICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQnVmZmVyKGJ1ZmZlcikiKTsKQEAgLTMwMSw2
ICszMjQsMjAgQEAgZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKIAogICAgIHNob3VsZEJlKCJn
bC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CiAKKyAgICAvLyB0ZXN0IGV4dGVuc2lvbnMK
KyAgICBpZiAoT0VTX3ZlcnRleF9hcnJheV9vYmplY3QpIHsKKyAgICAgIHRlc3RHTE5PRXJyb3JG
dW5jdGlvbnMoCisgICAgICAgIFsKKyAgICAgICAgICAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3Qu
YmluZFZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIsCisgICAgICAgICAgIk9FU192
ZXJ0ZXhfYXJyYXlfb2JqZWN0LmlzVmVydGV4QXJyYXlPRVModmVydGV4QXJyYXlPYmplY3QpIiwK
KyAgICAgICAgICAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QuZGVsZXRlVmVydGV4QXJyYXlPRVMo
dmVydGV4QXJyYXlPYmplY3QpIiwKKyAgICAgICAgXSk7CisgICAgICB0ZXN0RnVuY3Rpb25zVGhh
dFJldHVybk5VTEwoCisgICAgICAgIFsKKyAgICAgICAgICAiT0VTX3ZlcnRleF9hcnJheV9vYmpl
Y3QuY3JlYXRlVmVydGV4QXJyYXlPRVMoKSIsCisgICAgICAgIF0pOworICAgIH0KKwogICAgIGRl
YnVnKCIiKTsKIAogICAgIGZpbmlzaFRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGE3
N2ZmNDA1YmVlOGViMWU2NTZlZGY4ZjE5ZTcyNzAzMDJjOGZjYjkuLmJmOTY4MGMzZTBmNWU0YzM2
MGJkN2Q4NDRlMjZmMzcwODc4NmYxZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dApAQCAtNCwxNSAr
NCwxNCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFRlc3RpbmcgZ2V0QWN0aXZlQXR0cmliCi1QQVNTIGNv
bnRleHQuZ2V0QWN0aXZlQXR0cmliKG51bGwsIDIpIGlzIG51bGwKLVBBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCitQQVNTIGNvbnRleHQuZ2V0QWN0aXZl
QXR0cmliKG51bGwsIDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdw
cm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEFjdGl2ZUF0dHJpYiBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51
bGwKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFRlc3RpbmcgZ2V0
QWN0aXZlVW5pZm9ybQotUEFTUyBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkgaXMg
bnVsbAotUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAK
K1BBU1MgY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmdldEFjdGl2ZVVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCiBQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgY29udGV4
dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDUwKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmcuaHRtbAppbmRleCAzZjZiY2MxODc5ODQ0
MjZkMGFlYWNlOTg2MjdjYzlhN2FlNDAzNzYyLi4zNDg4MzhhOWIzMDJlZDJlNTg1YTM0MjNhYTdh
ZDkwZTUzMzcyM2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9l
cnJvci1yZXBvcnRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9l
cnJvci1yZXBvcnRpbmcuaHRtbApAQCAtMTUsMTAgKzE1LDYgQEAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCiAKIHZhciBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxv
YWRTdGFuZGFyZFByb2dyYW0oY29udGV4dCk7Ci0KLS8vIE90aGVyIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IGxpa2UgZ2V0QWN0aXZlVGVzdCBhbmQKLS8vIGluY29ycmVjdC1jb250ZXh0LW9iamVj
dC1iZWhhdmlvdXIgYWxyZWFkeSB0ZXN0IHRoZSByYWlzaW5nIG9mIG1hbnkKLS8vIHN5bnRoZXRp
YyBHTCBlcnJvcnMuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcmFpc2luZyBvZiBjZXJ0YWluCiAv
LyBrbm93biByZWFsIEdMIGVycm9ycywgYW5kIGNvbnRhaW5zIGEgZmV3IHJlZ3Jlc3Npb24gdGVz
dHMgZm9yIGJ1Z3MKIC8vIGRpc2NvdmVyZWQgaW4gdGhlIHN5bnRoZXRpYyBlcnJvciBnZW5lcmF0
aW9uIGFuZCBpbiB0aGUgV2ViR0wKIC8vIGltcGxlbWVudGF0aW9uIGl0c2VsZi4KQEAgLTI2LDkg
KzIyLDggQEAgdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogZ2xF
cnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogCiBkZWJ1ZygiVGVzdGlu
ZyBnZXRBY3RpdmVBdHRyaWIiKTsKLS8vIFN5bnRoZXRpYyBPcGVuR0wgZXJyb3IKLXNob3VsZEJl
TnVsbCgiY29udGV4dC5nZXRBY3RpdmVBdHRyaWIobnVsbCwgMikiKTsKLWdsRXJyb3JTaG91bGRC
ZShjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUpOworc2hvdWxkVGhyb3coImNvbnRleHQu
Z2V0QWN0aXZlQXR0cmliKG51bGwsIDIpIik7CitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29u
dGV4dC5OT19FUlJPUik7CiAvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIgYnkgdGhpcyBw
b2ludAogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogLy8gUmVh
bCBPcGVuR0wgZXJyb3IKQEAgLTM4LDkgKzMzLDcgQEAgZ2xFcnJvclNob3VsZEJlKGNvbnRleHQs
IGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4
dC5OT19FUlJPUik7CiAKIGRlYnVnKCJUZXN0aW5nIGdldEFjdGl2ZVVuaWZvcm0iKTsKLS8vIFN5
bnRoZXRpYyBPcGVuR0wgZXJyb3IKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlm
b3JtKG51bGwsIDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElE
X1ZBTFVFKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCki
KTsKIC8vIEVycm9yIHN0YXRlIHNob3VsZCBiZSBjbGVhciBieSB0aGlzIHBvaW50CiBnbEVycm9y
U2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5OT19FUlJPUik7CiAvLyBSZWFsIE9wZW5HTCBlcnJv
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10
ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3Rp
dmUtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggYjI4NDFkOGY5M2NiMDVhMDg4NzYxZmM5Nzk5YzUy
NmM3YjYzOTc5Yy4uOGRjNTk2ZTQ3ZWNkZWMyMDNmMDk2YjExOGNhOGZiOTdjODY1NTAyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZl
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xMCw4ICsxMCw4IEBAIFBBU1MgY29udGV4dC5nZXRBY3Rp
dmVVbmlmb3JtKHByb2dyYW0sIDEpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShw
cm9ncmFtLCAtMSkgaXMgbnVsbAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfVkFMVUUgOiAKLVBBU1MgY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIGlz
IG51bGwKLVBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDog
CitQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShudWxsLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5nZXRBY3RpdmVVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGluZm9b
aWldIGlzIG5vbi1udWxsLgogUEFTUyBpbmZvW2lpXSBpcyBub24tbnVsbC4KIFBBU1MgaW5mb1tp
aV0ubmFtZSBpcyBleHBlY3RlZFtpaV0ubmFtZQpAQCAtMzIsOCArMzIsOCBAQCBQQVNTIGNvbnRl
eHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZl
QXR0cmliKHByb2dyYW0sIC0xKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9WQUxVRSA6IAotUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxs
LCAwKSBpcyBudWxsCi1QQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9W
QUxVRSA6IAorUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5nZXRBY3RpdmVBdHRyaWIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dy
YW0uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogQ2hlY2sgdHJ5aW5nIHRv
IGdldCBhdHRyaWJzIGZyb20gZGlmZmVyZW50IGNvbnRleHQKIFBBU1MgY29udGV4dDIuZ2V0QWN0
aXZlQXR0cmliKHByb2dyYW0sIDApIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKaW5kZXggMTcyZDA2NDVjNDhjOTliYjdl
Yzc0ZmQxZWE2ZjU3Y2UzNmI3NmEwYy4uMGJlMzMzM2YyNWFlY2U4MzQyNjVhZTlmOWU3ODdmODFm
YzNhNWYyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFj
dGl2ZS10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFj
dGl2ZS10ZXN0Lmh0bWwKQEAgLTI4LDggKzI4LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0Lmdl
dEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMSkiKTsKIGdsRXJyb3JTaG91bGRCZShjb250ZXh0LCBj
b250ZXh0LklOVkFMSURfVkFMVUUpOwogc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZVVu
aWZvcm0ocHJvZ3JhbSwgLTEpIik7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFKTsKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51
bGwsIDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVF
KTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkiKTsKK2ds
RXJyb3JTaG91bGRCZShjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SKTsKIAogLy8gd2UgZG9uJ3Qg
a25vdyB0aGUgb3JkZXIgdGhlIGF0dHJpYnMgd2lsbCBhcHBlYXIuCiB2YXIgaW5mbyA9IFsKQEAg
LTg1LDggKzg1LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9n
cmFtLCAyKSIpOwogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSk7CiBzaG91bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIC0xKSIp
OwogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7Ci1zaG91
bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51bGwsIDApIik7Ci1nbEVycm9yU2hv
dWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSIpOworZ2xFcnJvclNob3VsZEJlKGNvbnRleHQs
IGNvbnRleHQuTk9fRVJST1IpOwogCiBnbEVycm9yU2hvdWxkQmUoY29udGV4dDIsIGNvbnRleHQu
Tk9fRVJST1IpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9n
bC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CmluZGV4IDlkZmU2YjM0NGM2
MzU4OGJhZTViZWE5ZjExODE3ZDViZTg0NDU2MmEuLmQzZWU0Zjg4ZmNhYmIwZjE1NzA2Njk1OTVl
NmY4NDVjN2QxODViY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC01LDggKzUs
OCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzaGFkZXJzLmxlbmd0aCBpcyAyCiBQ
QVNTIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRG
cmFnIHx8IHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRh
cmRGcmFnIGlzIHRydWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IAotUEFTUyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMobnVsbCkgaXMgbnVsbAotUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAKK1BBU1MgZ2wuZ2V0QXR0
YWNoZWRTaGFkZXJzKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEF0dGFjaGVkU2hhZGVycyBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3Rh
bmRhcmRWZXJ0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3Jh
bScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRBdHRhY2hlZFNoYWRlcnMgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZX0JV
RkZFUiwgZ2wuQlVGRkVSX1NJWkUpIGlzIDE2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKaW5kZXggZGY5NDM3ZWI2OGZh
MGZiMzllZDYwYTZjYTM3MGQ3NGI4Mjk3ZDFjOS4uMGM4OTkzOGU2YmQxYWExNWEwNmNmMTVlZDlk
NTU5Mzc0OWVjOGNlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Z2wtb2JqZWN0LWdldC1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtNDQsOCArNDQsOCBAQCB2YXIgc2hhZGVy
cyA9IGdsLmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFByb2dyYW0pOwogc2hvdWxkQmUoJ3No
YWRlcnMubGVuZ3RoJywgJzInKTsKIHNob3VsZEJlVHJ1ZSgnc2hhZGVyc1swXSA9PSBzdGFuZGFy
ZFZlcnQgJiYgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZEZyYWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFu
ZGFyZFZlcnQgJiYgc2hhZGVyc1swXSA9PSBzdGFuZGFyZEZyYWcnKTsKIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOwotc2hvdWxkQmVOdWxsKCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMo
bnVsbCknKTsKLWdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSk7CitzaG91bGRU
aHJvdygnZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKIHNob3VsZFRocm93KCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRh
cmRWZXJ0KScpOwogZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1i
ZWhhdmlvdXItZXhwZWN0ZWQudHh0CmluZGV4IDBiMTE4ZDk4NDhhZjFkZjg2MWQwOTNiMGExZDU3
YjgyM2FjMDcyODYuLmZlZmE2M2Y0ZjY5MTY0NTI0ODBlMGY3NTg2YzU5ODYzNTdhN2M2Y2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2
aW91ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVs
bC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dApAQCAtNCwxNiArNCwxNiBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBQQVNTIFByb2dyYW0gQ29tcGlsZWQKIFBBU1MgU2hhZGVyIENv
bXBpbGVkCi1QQVNTIGNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmlu
ZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5hdHRh
Y2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9WQUxVRS4KLVBBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuYXR0YWNoU2hh
ZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUu
Ci1QQVNTIGNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LmRldGFjaFNoYWRlcih1bmRl
ZmluZWQsIHNoYWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBj
b250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQs
ICdmb28nKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQu
YmluZEF0dHJpYkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5jb21waWxlU2hhZGVyKHVuZGVmaW5lZCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdM
UmVuZGVyaW5nQ29udGV4dC5jb21waWxlU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xTaGFkZXIuCitQQVNTIGNvbnRleHQubGlua1Byb2dyYW0odW5kZWZpbmVkKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5saW5rUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4K
K1BBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3Jh
bS4KK1BBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgorUEFTUyBjb250ZXh0LmF0dGFjaFNoYWRlcih1bmRlZmluZWQsIHNoYWRlcikgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFt
LgorUEFTUyBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCB1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuZGV0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIu
CitQQVNTIGNvbnRleHQuZGV0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0u
CitQQVNTIGNvbnRleHQuc2hhZGVyU291cmNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgorUEFTUyBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgor
UEFTUyBjb250ZXh0LmJpbmRBdHRyaWJMb2NhdGlvbih1bmRlZmluZWQsIDAsICdmb28nKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFByb2dyYW0uCiBQQVNTIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZF
UiwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2J1ZmZlcicpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xCdWZmZXIuCiBQQVNTIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVC
VUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdmcmFtZWJ1
ZmZlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kRnJhbWVidWZmZXIgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBXZWJHTEZyYW1lYnVmZmVyLgogUEFTUyBjb250ZXh0LmJpbmRSZW5kZXJi
dWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDIgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmlu
ZFJlbmRlcmJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUmVuZGVyYnVmZmVyLgpA
QCAtMjgsMTMgKzI4LDEzIEBAIFBBU1MgY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQu
UkVOREVSQlVGRkVSLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1CiBQQVNTIGNvbnRleHQu
YmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCiBQQVNTIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29u
dGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRF
UkJVRkZFUiwgbnVsbCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KIFBB
U1MgY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250
ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCi1QQVNTIGNvbnRleHQuZ2V0UHJvZ3Jh
bVBhcmFtZXRlcih1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxV
RS4KLVBBU1MgY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0
ZXIodW5kZWZpbmVkLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNT
IGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVk
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuZ2V0VW5p
Zm9ybSh1bmRlZmluZWQsIG51bGwpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4K
LVBBU1MgY29udGV4dC5nZXRVbmlmb3JtTG9jYXRpb24odW5kZWZpbmVkLCAnZm9vJykgd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmdldFByb2dyYW1QYXJh
bWV0ZXIodW5kZWZpbmVkLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVy
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgorUEFTUyBjb250ZXh0LmdldFBy
b2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUlu
Zm9Mb2cgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCitQQVNTIGNvbnRleHQu
Z2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFk
ZXJQYXJhbWV0ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29u
dGV4dC5nZXRTaGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRT
aGFkZXJJbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCitQQVNTIGNv
bnRleHQuZ2V0U2hhZGVyU291cmNlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFk
ZXJTb3VyY2UgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29udGV4
dC5nZXRVbmlmb3JtKHVuZGVmaW5lZCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9y
bSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgY29udGV4dC5nZXRV
bmlmb3JtTG9jYXRpb24odW5kZWZpbmVkLCAnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5p
Zm9ybUxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgogCiBjaGVj
ayB3aXRoIGJpbmRpbmdzCiBQQVNTIGNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JV
RkZFUiwgMSwgY29udGV4dC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0
LWJlaGF2aW91ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmpl
Y3QtYmVoYXZpb3VyLmh0bWwKaW5kZXggNmJhYjYxNzkwNTg2NzNhZjc3ZGNmOTUzM2UxYzU2ZWMy
MzFjNDI4ZC4uZWNkN2E4YTlhZGY5NGQ2ODcwNjE0ZWY2MTFiYTM5ODFkN2VmOTNmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3Vy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVo
YXZpb3VyLmh0bWwKQEAgLTIyLDE2ICsyMiwxNiBAQCB2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9y
ID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKIAogYXNzZXJ0TXNnKHByb2dyYW0gIT0gbnVs
bCwgIlByb2dyYW0gQ29tcGlsZWQiKTsKIGFzc2VydE1zZyhzaGFkZXIgIT0gbnVsbCwgIlNoYWRl
ciBDb21waWxlZCIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9WQUxVRSwgImNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIik7Ci1zaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5s
aW5rUHJvZ3JhbSh1bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwg
Y29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1
bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZB
TElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSIpOwot
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSIpOwotc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZGV0YWNoU2hh
ZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRldGFjaFNoYWRlcih1bmRlZmluZWQs
IHNoYWRlcikiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFM
SURfVkFMVUUsICJjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsK
LXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJj
b250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSIpOwotc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuYmluZEF0dHJp
YkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5j
b21waWxlU2hhZGVyKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmxpbmtQcm9n
cmFtKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcih1bmRl
ZmluZWQsIHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcihw
cm9ncmFtLCB1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5hdHRhY2hTaGFkZXIo
dW5kZWZpbmVkLCBzaGFkZXIpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kZXRhY2hTaGFkZXIo
cHJvZ3JhbSwgdW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZGV0YWNoU2hhZGVy
KHVuZGVmaW5lZCwgc2hhZGVyKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291cmNl
KHVuZGVmaW5lZCwgdW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291
cmNlKHVuZGVmaW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5iaW5kQXR0cmli
TG9jYXRpb24odW5kZWZpbmVkLCAwLCAnZm9vJykiKTsKIHNob3VsZFRocm93KCJjb250ZXh0LmJp
bmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIDApIik7CiBzaG91bGRUaHJvdygiY29udGV4
dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgMCkiKTsKIHNob3VsZFRocm93
KCJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIik7CkBA
IC00NiwxMyArNDYsMTMgQEAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGUKIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5iaW5kVGV4dHVyZShj
b250ZXh0LlRFWFRVUkVfMkQsIHVuZGVmaW5lZCkiKTsKIHNob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5mcmFtZWJ1ZmZlclJl
bmRlcmJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQs
IGNvbnRleHQuUkVOREVSQlVGRkVSLCBudWxsKSIpOwogc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmZyYW1lYnVmZmVyVGV4
dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNv
bnRleHQuVEVYVFVSRV8yRCwgbnVsbCwgMCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIo
dW5kZWZpbmVkLCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
SU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2codW5kZWZpbmVkLCAwKSIp
Owotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwg
ImNvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKLXNob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFNo
YWRlckluZm9Mb2codW5kZWZpbmVkLCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0U2hhZGVyU291cmNlKHVuZGVm
aW5lZCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURf
VkFMVUUsICJjb250ZXh0LmdldFVuaWZvcm0odW5kZWZpbmVkLCBudWxsKSIpOwotc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0
VW5pZm9ybUxvY2F0aW9uKHVuZGVmaW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4
dC5nZXRQcm9ncmFtUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFByb2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFNoYWRlclBhcmFtZXRlcih1bmRlZmluZWQsIDApIik7CitzaG91bGRUaHJvdygiY29u
dGV4dC5nZXRTaGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFNoYWRlclNvdXJjZSh1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5n
ZXRVbmlmb3JtKHVuZGVmaW5lZCwgbnVsbCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFVu
aWZvcm1Mb2NhdGlvbih1bmRlZmluZWQsICdmb28nKSIpOwogCiBkZWJ1ZygiIik7CiBkZWJ1Zygi
Y2hlY2sgd2l0aCBiaW5kaW5ncyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4w
LjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IDdmZDEwNDk2MGVhNjljZGJjNWNiNTIyODA2NmE0ZWZkZTliYjc3
OGMuLjg3ODFhYTUxMjlkY2ViYTNmYjc5NWFmN2IyMjQzN2E1YzgyNWE2ODMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10
ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5j
ZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTEsMTEzICsxLDQgQEAK
IFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCi0KLVsg
MTogUEFTUyBdIFByb2dyYW0gQ29tcGlsZWQKLVsgMjogUEFTUyBdIFNoYWRlciBDb21waWxlZAot
WyAzOiBQQVNTIF0gZ2V0VW5pZm9ybUxvY2F0aW9uIHN1Y2NlZWRlZAotWyA0OiBQQVNTIF0gY29u
dGV4dC5jb21waWxlU2hhZGVyKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNvbXBpbGVTaGFk
ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KLVsgNTogUEFTUyBdIGNvbnRl
eHQubGlua1Byb2dyYW0oYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmxpbmtQcm9ncmFtIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA2OiBQQVNTIF0gY29udGV4dC5h
dHRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hh
ZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDc6IFBBU1MgXSBjb250
ZXh0LmF0dGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5hdHRh
Y2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDg6IFBBU1Mg
XSBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KLVsgOTog
UEFTUyBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmRldGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4K
LVsgMTA6IFBBU1MgXSBjb250ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2ZvbycpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQuc2hhZGVyU291cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFk
ZXIuCi1bIDExOiBQQVNTIF0gY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJndW1lbnQsIDAs
ICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScp
IHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDEyOiBQQVNTIF0gY29udGV4dC5nZXRQcm9ncmFt
SW5mb0xvZyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2cgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDEzOiBQQVNTIF0gY29udGV4dC5n
ZXRQcm9ncmFtUGFyYW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9n
cmFtUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAxNDog
UEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5nZXRTaGFkZXJJbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1b
IDE1OiBQQVNTIF0gY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDApIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xTaGFkZXIuCi1bIDE2OiBQQVNTIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UoYXJndW1lbnQp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJH
TFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyU291cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xTaGFkZXIuCi1bIDE3OiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKGFyZ3VtZW50LCBs
b2MpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8g
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFByb2dyYW0uCi1bIDE4OiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKHByb2dyYW0sIGFy
Z3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnbG9jYXRpb24n
KSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyAxOTogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9y
bUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4JykgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9n
cmFtLgotWyAyMDogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZF
UiwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdidWZm
ZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEJ1ZmZlciBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMQnVmZmVyLgotWyAyMTogUEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVy
KGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAyICgnZnJhbWVidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmlu
ZEZyYW1lYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xGcmFtZWJ1ZmZlci4KLVsg
MjI6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIs
IGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgncmVuZGVy
YnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRSZW5kZXJidWZmZXIgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgMjM6IFBBU1MgXSBjb250ZXh0
LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmJpbmRUZXh0dXJlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xUZXh0dXJlLgotWyAy
NDogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4dC5GUkFNRUJV
RkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJn
dW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQgKCdyZW5kZXJidWZm
ZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgMjU6IFBBU1MgXSBjb250
ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09M
T1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQsIDApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQgKCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xUZXh0dXJlLgotWyAyNjogUEFTUyBdIGNvbnRleHQudW5pZm9ybTJmdihhcmd1bWVudCwgbmV3
IEZsb2F0MzJBcnJheShbMC4wLCAwLjBdKSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ2xvY2F0aW9uJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnVuaWZvcm0yZnYg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi4KLVsgMjc6IFBBU1Mg
XSBjb250ZXh0LnVuaWZvcm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFycmF5KFswLCAwXSkpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdM
UmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMml2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xV
bmlmb3JtTG9jYXRpb24uCi1bIDI4OiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0cml4MmZ2KGFy
Z3VtZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwgMC4wXSkpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdM
UmVuZGVyaW5nQ29udGV4dC51bmlmb3JtTWF0cml4MmZ2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDI5OiBQQVNTIF0gY29udGV4dC51c2VQcm9ncmFtKGFy
Z3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScp
IHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51c2VQcm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgV2ViR0xQcm9ncmFtLgotWyAzMDogUEFTUyBdIGNvbnRleHQuY29tcGlsZVNoYWRlcihhcmd1
bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC5jb21waWxlU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgV2ViR0xTaGFkZXIuCi1bIDMxOiBQQVNTIF0gY29udGV4dC5saW5rUHJvZ3JhbShhcmd1bWVu
dCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQubGlua1Byb2dyYW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFByb2dyYW0uCi1bIDMyOiBQQVNTIF0gY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwg
YXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXIn
KSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDMzOiBQQVNTIF0gY29udGV4dC5hdHRhY2hTaGFkZXIoYXJn
dW1lbnQsIHNoYWRlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3By
b2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAzNDogUEFTUyBdIGNvbnRleHQuZGV0YWNoU2hh
ZGVyKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmRldGFjaFNoYWRlciBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAzNTogUEFTUyBdIGNvbnRleHQuZGV0
YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmRldGFjaFNoYWRl
ciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMzY6IFBBU1MgXSBjb250
ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuc2hhZGVy
U291cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDM3OiBQQVNTIF0g
Y29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJndW1lbnQsIDAsICdmb28nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFBy
b2dyYW0uCi1bIDM4OiBQQVNTIF0gY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyhhcmd1bWVudCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJH
TFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2cgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBXZWJHTFByb2dyYW0uCi1bIDM5OiBQQVNTIF0gY29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVy
KGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJv
Z3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA0MDogUEFTUyBdIGNvbnRleHQuZ2V0
U2hhZGVySW5mb0xvZyhhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFkZXJJbmZvTG9n
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDQxOiBQQVNTIF0gY29udGV4
dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hh
ZGVyUGFyYW1ldGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDQyOiBQ
QVNTIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UoYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQu
Z2V0U2hhZGVyU291cmNlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDQz
OiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKGFyZ3VtZW50LCBsb2MpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDQ0
OiBQQVNTIF0gY29udGV4dC5nZXRVbmlmb3JtKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuZ2V0VW5pZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxv
Y2F0aW9uLgotWyA0NTogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50
LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4JykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybUxv
Y2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA0NjogUEFTUyBd
IGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdidWZmZXInKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQuYmluZEJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMQnVmZmVy
LgotWyA0NzogUEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZG
RVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnZnJh
bWVidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEZyYW1lYnVmZmVyIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xGcmFtZWJ1ZmZlci4KLVsgNDg6IFBBU1MgXSBjb250ZXh0
LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmJpbmRSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFJlbmRlcmJ1ZmZlci4KLVsgNDk6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRl
eHQuVEVYVFVSRV8yRCwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDIgKCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRUZXh0dXJlIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xUZXh0dXJlLgotWyA1MDogUEFTUyBdIGNvbnRleHQu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBU
SF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDQgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgNTE6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyVGV4
dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNv
bnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDQgKCd0ZXh0dXJlJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmZyYW1lYnVm
ZmVyVGV4dHVyZTJEIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xUZXh0dXJlLgotWyA1Mjog
UEFTUyBdIGNvbnRleHQudW5pZm9ybTJmdihhcmd1bWVudCwgbmV3IEZsb2F0MzJBcnJheShbMC4w
LCAwLjBdKSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xvY2F0aW9u
JykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnVuaWZvcm0yZnYgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi4KLVsgNTM6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0y
aXYoYXJndW1lbnQsIG5ldyBJbnQzMkFycmF5KFswLCAwXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51
bmlmb3JtMml2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1b
IDU0OiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0cml4MmZ2KGFyZ3VtZW50LCBmYWxzZSwgbmV3
IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwgMC4wXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51
bmlmb3JtTWF0cml4MmZ2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRp
b24uCi1bIDU1OiBQQVNTIF0gY29udGV4dC51c2VQcm9ncmFtKGFyZ3VtZW50KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC51c2VQcm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgot
WyA1NjogRkFJTCBdIGNvbnRleHQuY29tcGlsZVNoYWRlcihhcmd1bWVudCkgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNTc6IEZBSUwgXSBjb250ZXh0LmxpbmtQ
cm9ncmFtKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVk
LgotWyA1ODogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA1OTogRkFJTCBdIGNv
bnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYwOiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIo
cHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmlu
ZWQuCi1bIDYxOiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIoYXJndW1lbnQsIHNoYWRlcikg
c2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNjI6IEZBSUwgXSBj
b250ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2ZvbycpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYzOiBGQUlMIF0gY29udGV4dC5iaW5kQXR0cmliTG9j
YXRpb24oYXJndW1lbnQsIDAsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMg
dW5kZWZpbmVkLgotWyA2NDogRkFJTCBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1l
bnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA2NTogRkFJTCBdIGNv
bnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY2OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJJbmZvTG9n
KGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjc6IEZB
SUwgXSBjb250ZXh0LmdldFNoYWRlclBhcmFtZXRlcihhcmd1bWVudCwgMCkgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY4OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJT
b3VyY2UoYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA2
OTogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSBzaG91bGQgdGhyb3cg
YW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNzA6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0o
cHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgot
WyA3MTogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2Rl
bFZpZXdQcm9qTWF0cml4Jykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1b
IDcyOiBQQVNTIF0gY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBhcmd1
bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3MzogUEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVy
KGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDc0OiBQQVNT
IF0gY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVu
dCkgaXMgdW5kZWZpbmVkLgotWyA3NTogUEFTUyBdIGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4
dC5URVhUVVJFXzJELCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3NjogUEFTUyBdIGNvbnRl
eHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5E
RVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVm
aW5lZC4KLVsgNzc6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQu
RlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8y
RCwgYXJndW1lbnQsIDApIGlzIHVuZGVmaW5lZC4KLVsgNzg6IFBBU1MgXSBjb250ZXh0LnVuaWZv
cm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4wXSkpIGlzIHVuZGVmaW5l
ZC4KLVsgNzk6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFy
cmF5KFswLCAwXSkpIGlzIHVuZGVmaW5lZC4KLVsgODA6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm1N
YXRyaXgyZnYoYXJndW1lbnQsIGZhbHNlLCBuZXcgRmxvYXQzMkFycmF5KFswLjAsIDAuMCwgMC4w
LCAwLjBdKSkgaXMgdW5kZWZpbmVkLgotWyA4MTogUEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShh
cmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA4MjogRkFJTCBdIGNvbnRleHQuY29tcGlsZVNoYWRl
cihhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsg
ODM6IEZBSUwgXSBjb250ZXh0LmxpbmtQcm9ncmFtKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4NDogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hh
ZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5k
ZWZpbmVkLgotWyA4NTogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFk
ZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDg2OiBGQUlM
IF0gY29udGV4dC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDg3OiBGQUlMIF0gY29udGV4dC5kZXRhY2hT
aGFkZXIoYXJndW1lbnQsIHNoYWRlcikgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVu
ZGVmaW5lZC4KLVsgODg6IEZBSUwgXSBjb250ZXh0LnNoYWRlclNvdXJjZShhcmd1bWVudCwgJ2Zv
bycpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDg5OiBGQUlM
IF0gY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJndW1lbnQsIDAsICdmb28nKSBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA5MDogRkFJTCBdIGNvbnRleHQu
Z2V0UHJvZ3JhbUluZm9Mb2coYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdh
cyBudWxsLgotWyA5MTogRkFJTCBdIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1bWVu
dCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDkyOiBGQUlMIF0g
Y29udGV4dC5nZXRTaGFkZXJJbmZvTG9nKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0
aW9uLiBXYXMgbnVsbC4KLVsgOTM6IEZBSUwgXSBjb250ZXh0LmdldFNoYWRlclBhcmFtZXRlcihh
cmd1bWVudCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk0OiBG
QUlMIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UoYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uIFdhcyBudWxsLgotWyA5NTogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1
bWVudCwgbG9jKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgOTY6IEZB
SUwgXSBjb250ZXh0LmdldFVuaWZvcm0ocHJvZ3JhbSwgYXJndW1lbnQpIHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5NzogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybUxv
Y2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jykgc2hvdWxkIHRocm93IGFu
IGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk4OiBQQVNTIF0gY29udGV4dC5iaW5kQnVmZmVyKGNv
bnRleHQuQVJSQVlfQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA5OTogUEFTUyBd
IGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGFyZ3VtZW50KSBp
cyB1bmRlZmluZWQuCi1bIDEwMDogUEFTUyBdIGNvbnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250
ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgMTAxOiBQQVNTIF0g
Y29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50KSBpcyB1bmRl
ZmluZWQuCi1bIDEwMjogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29u
dGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRF
UkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgMTAzOiBQQVNTIF0gY29udGV4dC5m
cmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FU
VEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50LCAwKSBpcyB1bmRlZmluZWQu
Ci1bIDEwNDogUEFTUyBdIGNvbnRleHQudW5pZm9ybTJmdihhcmd1bWVudCwgbmV3IEZsb2F0MzJB
cnJheShbMC4wLCAwLjBdKSkgaXMgdW5kZWZpbmVkLgotWyAxMDU6IFBBU1MgXSBjb250ZXh0LnVu
aWZvcm0yaXYoYXJndW1lbnQsIG5ldyBJbnQzMkFycmF5KFswLCAwXSkpIGlzIHVuZGVmaW5lZC4K
LVsgMTA2OiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0cml4MmZ2KGFyZ3VtZW50LCBmYWxzZSwg
bmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwgMC4wXSkpIGlzIHVuZGVmaW5lZC4KLVsg
MTA3OiBQQVNTIF0gY29udGV4dC51c2VQcm9ncmFtKGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1b
IDEwODogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSAzMiBmYWls
dXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9lcnJv
ci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGI4ZGU1MTRhMWIxNGViZGRkNTViOGQ4YTU5
ZWI3ZDdkZDdiZTI4MTkuLjRhNjZjMmJkMTU2ZmMwNjdhZjdiYjc4NjhkNmYyNGVhYTgyOTQzMGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJy
b3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQKQEAgLTEsMjcgKzEs
NCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0bWwKLQot
WyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDI6
IEZBSUwgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAyKSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19F
UlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyA0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDU6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJp
Yihwcm9ncmFtLCAyKSBpcyBudWxsCi1bIDY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6Ci1bIDg6IEZBSUwgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0o
bnVsbCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMTA6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTE6IFBB
U1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgNTApIGlzIG51bGwKLVsgMTI6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyAx
MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAxNDog
UEFTUyBdIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIG51bGwp
IGlzIHVuZGVmaW5lZC4KLVsgMTU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKLVsgMTY6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
KGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5S
RU5ERVJCVUZGRVIsIG51bGwpIGlzIHVuZGVmaW5lZC4KLVsgMTc6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDoKLVsgMTg6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTk6IFBBU1MgXSBjb250ZXh0
LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1Jf
QVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgbnVsbCwgMCkgaXMgdW5kZWZpbmVkLgot
WyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJ
T04gOgotWyAyMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OgotWyAyMjogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSA0IGZh
aWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMgcGFzc2VkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2
aW91ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9t
aXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQKaW5kZXggYzUxZDVkY2Y4MDI2
YzVmZDU2YjM5YTk1OTg1ZDc0ZTRhZDRmMDBkNS4uNWFhNTMzZGVhYzQ3YTk2MDU1NjE2NzU4NmI3
ZDdmZWMwMTA3ZTZhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3Vy
LWV4cGVjdGVkLnR4dApAQCAtMSw0OSArMSw0IEBACiBUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
IAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlz
Yy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAotCi1bIDE6IFBBU1MgXSBQcm9ncmFtIENvbXBp
bGVkCi1bIDI6IFBBU1MgXSBTaGFkZXIgQ29tcGlsZWQKLVsgMzogRkFJTCBdIGNvbnRleHQuY29t
cGlsZVNoYWRlcih1bmRlZmluZWQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRl
ZmluZWQuCi1bIDQ6IEZBSUwgXSBjb250ZXh0LmxpbmtQcm9ncmFtKHVuZGVmaW5lZCkgc2hvdWxk
IHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNTogRkFJTCBdIGNvbnRleHQu
YXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0
aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA2OiBGQUlMIF0gY29udGV4dC5hdHRhY2hTaGFkZXIocHJv
Z3JhbSwgdW5kZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVk
LgotWyA3OiBGQUlMIF0gY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCBzaGFkZXIpIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDg6IEZBSUwgXSBjb250
ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCB1bmRlZmluZWQpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDk6IEZBSUwgXSBjb250ZXh0LmRldGFjaFNoYWRlcih1
bmRlZmluZWQsIHNoYWRlcikgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5l
ZC4KLVsgMTA6IEZBSUwgXSBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5l
ZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgMTE6IEZBSUwg
XSBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyAxMjogRkFJTCBdIGNvbnRleHQuYmluZEF0dHJp
YkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyB1bmRlZmluZWQuCi1bIDEzOiBQQVNTIF0gY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQu
QVJSQVlfQlVGRkVSLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgn
YnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRCdWZmZXIgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBXZWJHTEJ1ZmZlci4KLVsgMTQ6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1
ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAyICgnZnJhbWVidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEZy
YW1lYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xGcmFtZWJ1ZmZlci4KLVsgMTU6
IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDAp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdyZW5kZXJidWZmZXInKSB0
byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZFJlbmRlcmJ1ZmZlciBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMUmVuZGVyYnVmZmVyLgotWyAxNjogUEFTUyBdIGNvbnRleHQuYmluZFRleHR1
cmUoY29udGV4dC5URVhUVVJFXzJELCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAyICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kVGV4dHVyZSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgMTc6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDogYWZ0ZXIgZXZhbHVhdGlu
ZzogY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBudWxsKQotWyAxODog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFs
dWF0aW5nOiBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBudWxs
KQotWyAxOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBh
ZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJC
VUZGRVIsIG51bGwpCi1bIDIwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5U
RVhUVVJFXzJELCBudWxsKQotWyAyMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4
dC5BUlJBWV9CVUZGRVIsIHVuZGVmaW5lZCkKLVsgMjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kRnJh
bWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgdW5kZWZpbmVkKQotWyAyMzogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBj
b250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIHVuZGVmaW5lZCkK
LVsgMjQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0
ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIHVu
ZGVmaW5lZCkKLVsgMjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5mcmFtZWJ1ZmZlclJlbmRl
cmJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQsIGNv
bnRleHQuUkVOREVSQlVGRkVSLCBudWxsKQotWyAyNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0
LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1Jf
QVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgbnVsbCwgMCkKLVsgMjc6IEZBSUwgXSBj
b250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIodW5kZWZpbmVkLCAwKSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMjg6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1JbmZv
TG9nKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1b
IDI5OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIodW5kZWZpbmVkLCAwKSBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzA6IEZBSUwgXSBjb250ZXh0Lmdl
dFNoYWRlckluZm9Mb2codW5kZWZpbmVkLCAwKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBX
YXMgbnVsbC4KLVsgMzE6IEZBSUwgXSBjb250ZXh0LmdldFNoYWRlclNvdXJjZSh1bmRlZmluZWQp
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAzMjogRkFJTCBdIGNvbnRl
eHQuZ2V0VW5pZm9ybSh1bmRlZmluZWQsIG51bGwpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyBudWxsLgotWyAzMzogRkFJTCBdIGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKHVuZGVm
aW5lZCwgJ2ZvbycpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAzNDog
RkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOiBh
ZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIs
IDEsIGNvbnRleHQuU1RBVElDX0RSQVcpCi1bIDM1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuZ2V0QnVmZmVy
UGFyYW1ldGVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBjb250ZXh0LkJVRkZFUl9TSVpFKQotWyAz
NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBl
dmFsdWF0aW5nOiBjb250ZXh0LnRleEltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCBjb250
ZXh0LlJHQkEsIDEsIDEsIDAsIGNvbnRleHQuUkdCQSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCBu
ZXcgVWludDhBcnJheShbMCwwLDAsMF0pKQotWyAzNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LnRleFBhcmFt
ZXRlcmkoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUiwgY29u
dGV4dC5ORUFSRVNUKQotWyAzODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldFRleFBhcmFtZXRlcihjb250
ZXh0LlRFWFRVUkVfMkQsIGNvbnRleHQuVEVYVFVSRV9NSU5fRklMVEVSKQotWyAzOTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBl
dmFsdWF0aW5nOiBjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIDEsIGNv
bnRleHQuU1RBVElDX0RSQVcpCi1bIDQwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuZ2V0QnVm
ZmVyUGFyYW1ldGVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBjb250ZXh0LkJVRkZFUl9TSVpFKQot
WyA0MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJ
T04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LnRleEltYWdlMkQoY29udGV4dC5URVhUVVJF
XzJELCAwLCBjb250ZXh0LlJHQkEsIDEsIDEsIDAsIGNvbnRleHQuUkdCQSwgY29udGV4dC5VTlNJ
R05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKQotWyA0MjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0
aW5nOiBjb250ZXh0LnRleFBhcmFtZXRlcmkoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRF
WFRVUkVfTUlOX0ZJTFRFUiwgY29udGV4dC5ORUFSRVNUKQotWyA0MzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5n
OiBjb250ZXh0LmdldFRleFBhcmFtZXRlcihjb250ZXh0LlRFWFRVUkVfMkQsIGNvbnRleHQuVEVY
VFVSRV9NSU5fRklMVEVSKQotWyA0NDogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci1bIEZBSUwgXSAxOSBmYWlsdXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3Nl
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvcHJvZ3Jh
bXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQKaW5kZXgg
NDBmMWM4NDUyOGQ4MGNhYWY2NjYwNjhjYmY5NDZkYWZmZDA3MDFmNC4uNTQwMDM5NTEzY2I4MTg1
ZWVlZjMyMWRjYjExMmI4NjBkNzdjZjliNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Mi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nZXQtYWN0
aXZlLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQ3ICsxLDQgQEAKIFRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9wcm9ncmFtcy9nZXQtYWN0aXZlLXRlc3QuaHRtbAotCi1bIDE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMjogUEFTUyBdIGNvbnRleHQuZ2V0
QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKS5uYW1lIGlzICd1X21vZGVsVmlld1Byb2pNYXRyaXgn
Ci1bIDM6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCkudHlwZSBp
cyBjb250ZXh0LkZMT0FUX01BVDQKLVsgNDogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9y
bShwcm9ncmFtLCAwKS5zaXplIGlzIDEKLVsgNTogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5p
Zm9ybShwcm9ncmFtLCAxKSBpcyBudWxsCi1bIDY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA3OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVV
bmlmb3JtKHByb2dyYW0sIC0xKSBpcyBudWxsCi1bIDg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgotWyA5OiBGQUlMIF0gY29udGV4dC5nZXRBY3Rp
dmVVbmlmb3JtKG51bGwsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgot
WyAxMDogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFM
VUUgOgotWyAxMTogUEFTUyBdIGluZm9baWldIGlzIG5vbi1udWxsLgotWyAxMjogUEFTUyBdIGlu
Zm9baWldIGlzIG5vbi1udWxsLgotWyAxMzogUEFTUyBdIGluZm9baWldLm5hbWUgaXMgZXhwZWN0
ZWRbaWldLm5hbWUKLVsgMTQ6IFBBU1MgXSBpbmZvW2lpXS50eXBlIGlzIGV4cGVjdGVkW2lpXS50
eXBlCi1bIDE1OiBQQVNTIF0gaW5mb1tpaV0uc2l6ZSBpcyBleHBlY3RlZFtpaV0uc2l6ZQotWyAx
NjogUEFTUyBdIGluZm9baWldLm5hbWUgaXMgZXhwZWN0ZWRbaWldLm5hbWUKLVsgMTc6IFBBU1Mg
XSBpbmZvW2lpXS50eXBlIGlzIGV4cGVjdGVkW2lpXS50eXBlCi1bIDE4OiBQQVNTIF0gaW5mb1tp
aV0uc2l6ZSBpcyBleHBlY3RlZFtpaV0uc2l6ZQotWyAxOTogUEFTUyBdIGluZm8yW2lpXSBpcyBu
b24tbnVsbC4KLVsgMjA6IFBBU1MgXSBpbmZvMltpaV0gaXMgbm9uLW51bGwuCi1bIDIxOiBQQVNT
IF0gaW5mbzJbaWldLm5hbWUgaXMgZXhwZWN0ZWQyW2lpXS5uYW1lCi1bIDIyOiBQQVNTIF0gaW5m
bzJbaWldLnR5cGUgaXMgZXhwZWN0ZWQyW2lpXS50eXBlCi1bIDIzOiBQQVNTIF0gaW5mbzJbaWld
LnNpemUgaXMgZXhwZWN0ZWQyW2lpXS5zaXplCi1bIDI0OiBQQVNTIF0gaW5mbzJbaWldLm5hbWUg
aXMgZXhwZWN0ZWQyW2lpXS5uYW1lCi1bIDI1OiBQQVNTIF0gaW5mbzJbaWldLnR5cGUgaXMgZXhw
ZWN0ZWQyW2lpXS50eXBlCi1bIDI2OiBQQVNTIF0gaW5mbzJbaWldLnNpemUgaXMgZXhwZWN0ZWQy
W2lpXS5zaXplCi1bIDI3OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwg
MikgaXMgbnVsbAotWyAyODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9WQUxVRSA6Ci1bIDI5OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVBdHRyaWIocHJvZ3Jh
bSwgLTEpIGlzIG51bGwKLVsgMzA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfVkFMVUUgOgotWyAzMTogRkFJTCBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51
bGwsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAzMjogRkFJTCBd
IGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJPUi4gV2FzIElOVkFMSURfVkFMVUUgOgotWyAzMzog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAzNDogUEFT
UyBdIGNvbnRleHQyLmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSBpcyBudWxsCi1bIDM1OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6Ci1b
IDM2OiBQQVNTIF0gY29udGV4dDIuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxs
Ci1bIDM3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJB
VElPTiA6Ci1bIDM4OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDAp
IGlzIG51bGwKLVsgMzk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfVkFMVUUgOgotWyA0MDogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0s
IDApIGlzIG51bGwKLVsgNDE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfVkFMVUUgOgotWyA0MjogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1b
IEZBSUwgXSA0IGZhaWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMgcGFzc2VkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9t
aXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXgtc3ViLWltYWdlLTJkLWJh
ZC1hcmdzLWV4cGVjdGVkLnR4dAppbmRleCBmN2FmN2Y4YjRkMjFmNmE2Njk1MTBiMmNkODYxOWI3
OTY2MGI0M2E5Li44YjQ2MmY5YjUyZWNmYzcxMzhjMDZhZGYyMzk1N2ViYWVjMTAwYjhkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNj
L3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1i
YWQtYXJncy1leHBlY3RlZC50eHQKQEAgLTEsNDIgKzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCiAKIFRlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1sCi0KLVsg
MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBubyBwcmV2aW91c2x5IGRlZmluZWQgdGV4dHVyZSBpbWFnZQotWyAyOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHVwIHNob3VsZCBzdWNjZWVkCi1b
IDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiB5
ICsgaGVpZ2h0ID4gdGV4dHVyZSBoZWlnaHQKLVsgNDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IHggKyB3aWR0aCA+IHRleHR1cmUgd2lkdGgKLVsg
NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG5l
Z2F0aXZlIHgKLVsgNjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9WQUxVRSA6IG5lZ2F0aXZlIHkKLVsgNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG5lZ2F0aXZlIGxldmVsCi1bIDg6IEZBSUwgXSBnbC50ZXhT
dWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIG51bGwpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDk6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoK
LVsgMTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUg
OiBudWxsIHBpeGVscwotWyAxMTogUEFTUyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURf
VkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04gOiB0b28gaGlnaCBsZXZlbAotWyAxMjogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogYmFkIHRhcmdldAot
WyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBnb29k
IGFyZ3MKLVsgMTQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
T1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDE1OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IHR5cGUgbm90IHNh
bWUgYXMgb3JpZ2luYWwKLVsgMTY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogbWFrZSB0ZXh0dXJlIFJHQgotWyAxNzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBmb3JtYXQgc2FtZSBhcyBvcmlnaW5hbCBSR0IKLVsg
MTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9O
IDogZm9ybWF0IG5vdCBzYW1lIGFzIG9yaWdpbmFsIFJHQgotWyAxOTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiB0eXBlIG5vdCBzYW1lIGFz
IG9yaWdpbmFsIFJHQgotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBtYWtlIHRleHR1cmUgUkdCQSBVTlNJR05FRF9CWVRFCi1bIDIxOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGZvcm1hdCBzYW1lIGFzIG9y
aWdpbmFsCi1bIDIyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X09QRVJBVElPTiA6IGZvcm1hdCBub3Qgc2FtZSBhcyBvcmlnaW5hbAotWyAyMzogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiB0eXBlIG5vdCBz
YW1lIGFzIG9yaWdpbmFsCi1bIDI0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IG1ha2UgdGV4dHVyZSBSR0JBIFVOU0lHTkVEX0JZVEUKLVsgMjU6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogZm9ybWF0IHNhbWUgYXMg
b3JpZ2luYWwKLVsgMjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDI3OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IHR5cGUgbm90
IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogZm9ybWF0IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjk6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBz
YW1lIGFzIG9yaWdpbmFsCi1bIDMwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBJTlZBTElEX09QRVJBVElPTiA6IHR5cGUgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMzE6IFBB
U1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFU
SU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzI6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJ
TlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzM6
IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BF
UkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9m
OiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsg
MzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURf
T1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMzY6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25l
IG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFMSURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwK
LVsgMzc6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gMiBmYWls
dXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406818</attachid>
            <date>2020-08-18 15:26:20 -0700</date>
            <delta_ts>2020-08-18 16:01:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215616-20200818152619.patch</filename>
            <type>text/plain</type>
            <size>111291</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc4NTMyNDBlY2FhOTlm
NzMzZDZjZDE5OWJlZGYyZWQ4NmM1NTZhYS4uZjk4ZTQ0NGIwZjZhZjY4NmM5NmIzNDg1Yjc5MzI3
YTM3YmIxMzM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA4LTE4ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViR0wy
XSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJsZSBpbiBJREwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTYxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDUgY29uZm9y
bWFuY2UgdGVzdHM6CisgICAgICAgIGNvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0
bWwKKyAgICAgICAgY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAor
ICAgICAgICBjb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCisgICAgICAg
IGNvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1s
CisgICAgICAgIGNvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC5odG1sCisKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kQXR0cmliTG9j
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29t
cGlsZVNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpkZXRhY2hTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJv
Z3JhbUluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFNoYWRlckluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmxpbmtQcm9ncmFtKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZVBy
b2dyYW0pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIpOgorCiAyMDIw
LTA4LTE3ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI2NTYwMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggNmRmYWJiYzI5
YTU5MGVjZjQ1N2RiY2E3N2VhZjljOTExOTY5MDgwMC4uMDFkNjEzYjQxYWE5Y2Q5ODlmYjk1OTk0
YWRiMjRiYzQ3NWUwOGIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTEzMjAsMjMgKzEzMjAsMjMg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjphY3RpdmVUZXh0dXJlKEdDR0xlbnVt
IHRleHR1cmUpCiAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKHRleHR1cmUpOwogfQogCi12
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0q
IHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBz
aGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7
CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJhdHRhY2hTaGFkZXIiLCBwcm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFBy
b2dyYW1PclNoYWRlcigiYXR0YWNoU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0
TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJhdHRhY2hT
aGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImF0dGFj
aFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5h
dHRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7CisgICAgaWYgKCFwcm9ncmFtLmF0dGFjaFNo
YWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImF0dGFjaFNoYWRlciIsICJzaGFkZXIg
YXR0YWNobWVudCBhbHJlYWR5IGhhcyBzaGFkZXIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBtX2NvbnRleHQtPmF0dGFjaFNoYWRlcihvYmplY3RPclplcm8ocHJvZ3JhbSksIG9iamVj
dE9yWmVybyhzaGFkZXIpKTsKLSAgICBzaGFkZXItPm9uQXR0YWNoZWQoKTsKKyAgICBtX2NvbnRl
eHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLm9iamVjdCgpLCBzaGFkZXIub2JqZWN0KCkpOworICAg
IHNoYWRlci5vbkF0dGFjaGVkKCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTHVpbnQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
IHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCBw
cm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImJpbmRBdHRyaWJM
b2NhdGlvbiIsIG5hbWUpKQogICAgICAgICByZXR1cm47CkBAIC0xMzUwLDcgKzEzNTAsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFBy
b2dyYW0qIHByb2dyYW0sIEdDR0x1aQogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImJpbmRBdHRyaWJMb2NhdGlvbiIsICJpbmRleCBv
dXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2NvbnRleHQtPmJp
bmRBdHRyaWJMb2NhdGlvbihvYmplY3RPclplcm8ocHJvZ3JhbSksIGluZGV4LCBuYW1lKTsKKyAg
ICBtX2NvbnRleHQtPmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLm9iamVjdCgpLCBpbmRleCwg
bmFtZSk7CiB9CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2hlY2tPYmplY3RU
b0JlQm91bmQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBXZWJHTE9iamVjdCogb2JqZWN0KQpA
QCAtMTczMSwxNCArMTczMSwxNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNv
bG9yTWFzayhHQ0dMYm9vbGVhbiByZWQsIEdDR0xib29sZWFuIGdyZWVuLCBHQwogICAgIG1fY29u
dGV4dC0+Y29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKIH0KIAotdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXBpbGVTaGFkZXIoV2ViR0xTaGFk
ZXImIHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJjb21waWxlU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hh
ZGVyKCJjb21waWxlU2hhZGVyIiwgJnNoYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nv
bnRleHQtPmNvbXBpbGVTaGFkZXIob2JqZWN0T3JaZXJvKHNoYWRlcikpOworICAgIG1fY29udGV4
dC0+Y29tcGlsZVNoYWRlcihzaGFkZXIub2JqZWN0KCkpOwogICAgIEdDR0xpbnQgdmFsdWU7Ci0g
ICAgbV9jb250ZXh0LT5nZXRTaGFkZXJpdihvYmplY3RPclplcm8oc2hhZGVyKSwgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTLCAmdmFsdWUpOwotICAgIHNoYWRlci0+c2V0VmFsaWQo
dmFsdWUpOworICAgIG1fY29udGV4dC0+Z2V0U2hhZGVyaXYoc2hhZGVyLm9iamVjdCgpLCBHcmFw
aGljc0NvbnRleHRHTDo6Q09NUElMRV9TVEFUVVMsICZ2YWx1ZSk7CisgICAgc2hhZGVyLnNldFZh
bGlkKHZhbHVlKTsKIAogICAgIGF1dG8qIGNhbnZhcyA9IGh0bWxDYW52YXMoKTsKIApAQCAtMjE0
NSwxOCArMjE0NSwxOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRlcHRoUmFu
Z2UoR0NHTGZsb2F0IHpOZWFyLCBHQ0dMZmxvYXQgekZhcikKICAgICBtX2NvbnRleHQtPmRlcHRo
UmFuZ2Uoek5lYXIsIHpGYXIpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRldGFjaFNoYWRlcihXZWJHTFByb2dy
YW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBzaGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVu
ZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCBw
cm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZGV0YWNoU2hhZGVyIiwg
c2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRl
V2ViR0xQcm9ncmFtT3JTaGFkZXIoImRldGFjaFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5kZXRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7
CisgICAgaWYgKCFwcm9ncmFtLmRldGFjaFNoYWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImRldGFjaFNoYWRlciIsICJzaGFkZXIgbm90IGF0dGFjaGVkIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIob2JqZWN0T3JaZXJvKHByb2dy
YW0pLCBvYmplY3RPclplcm8oc2hhZGVyKSk7Ci0gICAgc2hhZGVyLT5vbkRldGFjaGVkKGxvY2tl
ciwgZ3JhcGhpY3NDb250ZXh0R0woKSk7CisgICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIocHJv
Z3JhbS5vYmplY3QoKSwgc2hhZGVyLm9iamVjdCgpKTsKKyAgICBzaGFkZXIub25EZXRhY2hlZChs
b2NrZXIsIGdyYXBoaWNzQ29udGV4dEdMKCkpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmRpc2FibGUoR0NHTGVudW0gY2FwKQpAQCAtMjc4NywxMiArMjc4NywxMiBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdlbmVyYXRlTWlwbWFwKEdDR0xlbnVtIHRh
cmdldCkKICNlbmRpZgogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBHQ0dM
dWludCBpbmRleCkKK1JlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEdDR0x1aW50IGlu
ZGV4KQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2Vi
R0xQcm9ncmFtT3JTaGFkZXIoImdldEFjdGl2ZUF0dHJpYiIsIHByb2dyYW0pKQorICAgIGlmIChp
c0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIo
ImdldEFjdGl2ZUF0dHJpYiIsICZwcm9ncmFtKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgR3JhcGhpY3NDb250ZXh0R0w6OkFjdGl2ZUluZm8gaW5mbzsKLSAgICBpZiAoIW1fY29udGV4
dC0+Z2V0QWN0aXZlQXR0cmliKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgaW5kZXgsIGluZm8pKQor
ICAgIGlmICghbV9jb250ZXh0LT5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbS5vYmplY3QoKSwgaW5k
ZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIExPRyhXZWJHTCwgIlJl
dHVybmluZyBhY3RpdmUgYXR0cmlidXRlICVkOiAlcyIsIGluZGV4LCBpbmZvLm5hbWUudXRmOCgp
LmRhdGEoKSk7CkBAIC0yODAwLDEyICsyODAwLDEyIEBAIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0q
CiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5mby50eXBl
LCBpbmZvLnNpemUpOwogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NH
THVpbnQgaW5kZXgpCitSZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQg
aW5kZXgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVX
ZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QWN0aXZlVW5pZm9ybSIsIHByb2dyYW0pKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldEFjdGl2ZVVuaWZvcm0iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIEdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJbmZvIGluZm87Ci0gICAgaWYgKCFtX2Nv
bnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpbmRleCwgaW5m
bykpCisgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3Qo
KSwgaW5kZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAvLyBGSVhNRTog
RG8gd2Ugc3RpbGwgbmVlZCB0aGlzIGZvciB0aGUgQU5HTEUgYmFja2VuZD8KICAgICBpZiAoIWlz
R0xFUzJDb21wbGlhbnQoKSkKQEAgLTI4MTcsOSArMjgxNyw5IEBAIFJlZlB0cjxXZWJHTEFjdGl2
ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQ
cm9ncmFtCiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5m
by50eXBlLCBpbmZvLnNpemUpOwogfQogCi1PcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hh
ZGVyPj4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJH
TFByb2dyYW0qIHByb2dyYW0pCitPcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hhZGVyPj4+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dy
YW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgcHJvZ3JhbSkp
CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgY29uc3QgR0NHTGVudW0gc2hhZGVyVHlwZXNbXSA9IHsK
QEAgLTI4MjgsMTYgKzI4MjgsMTYgQEAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRl
cj4+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRhY2hlZFNoYWQKICAgICB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViR0xTaGFkZXI+PiBzaGFkZXJPYmplY3RzOwogICAgIGZvciAo
YXV0byBzaGFkZXJUeXBlIDogc2hhZGVyVHlwZXMpIHsKLSAgICAgICAgUmVmUHRyPFdlYkdMU2hh
ZGVyPiBzaGFkZXIgPSBwcm9ncmFtLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAg
ICAgICAgUmVmUHRyPFdlYkdMU2hhZGVyPiBzaGFkZXIgPSBwcm9ncmFtLmdldEF0dGFjaGVkU2hh
ZGVyKHNoYWRlclR5cGUpOwogICAgICAgICBpZiAoc2hhZGVyKQogICAgICAgICAgICAgc2hhZGVy
T2JqZWN0cy5hcHBlbmQoc2hhZGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHNoYWRlck9iamVjdHM7
CiB9CiAKLUdDR0xpbnQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0cmliTG9jYXRp
b24oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitHQ0dMaW50IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQ
ZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldEF0dHJpYkxvY2F0
aW9uIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkp
CiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImdl
dEF0dHJpYkxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI4NDUsMTEg
KzI4NDUsMTEgQEAgR0NHTGludCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRyaWJM
b2NhdGlvbihXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnMKICAgICAgICAgcmV0dXJuIC0xOwog
ICAgIGlmIChpc1ByZWZpeFJlc2VydmVkKG5hbWUpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAg
aWYgKCFwcm9ncmFtLT5nZXRMaW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlu
a1N0YXR1cygpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdM
OjpJTlZBTElEX09QRVJBVElPTiwgImdldEF0dHJpYkxvY2F0aW9uIiwgInByb2dyYW0gbm90IGxp
bmtlZCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBtX2NvbnRleHQt
PmdldEF0dHJpYkxvY2F0aW9uKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgbmFtZSk7CisgICAgcmV0
dXJuIG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbS5vYmplY3QoKSwgbmFtZSk7
CiB9CiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEJ1ZmZlclBhcmFt
ZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIHBuYW1lKQpAQCAtMzE3OSwyOSArMzE3OSwy
OSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NH
TGVudW0gcG5hbWUpCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRQcm9ncmFtUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTGVudW0g
cG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFy
YW1ldGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTGVudW0gcG5hbWUpCiB7Ci0gICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRl
cigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsIHByb2dyYW0pKQorICAgIGlmIChpc0NvbnRleHRMb3N0
T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1Q
YXJhbWV0ZXIiLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NH
TGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBwcm9ncmFtLT5pc0RlbGV0
ZWQoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uaXNEZWxldGVkKCk7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VkFMSURBVEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBt
X2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwgJnZhbHVlKTsK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KHZhbHVlKTsKICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpMSU5LX1NUQVRVUzoKLSAgICAgICAgcmV0dXJuIHByb2dyYW0tPmdldExp
bmtTdGF0dXMoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uZ2V0TGlua1N0YXR1cygpOwogICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkFUVEFDSEVEX1NIQURFUlM6Ci0gICAgICAgIG1fY29u
dGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVjdE9yWmVybyhwcm9ncmFtKSwgcG5hbWUsICZ2YWx1ZSk7
CisgICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1l
LCAmdmFsdWUpOwogICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6QUNUSVZFX0FUVFJJQlVURVM6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6QUNU
SVZFX1VOSUZPUk1TOgogI2lmIFVTRShBTkdMRSkKLSAgICAgICAgbV9jb250ZXh0LT5nZXRQcm9n
cmFtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRQcm9ncmFtaXYocHJvZ3JhbS5vYmplY3QoKSwgcG5hbWUsICZ2YWx1ZSk7CiAj
ZWxzZQotICAgICAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBtX2NvbnRleHQt
PmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwg
JnZhbHVlKTsKICNlbmRpZiAvLyBVU0UoQU5HTEUpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICBkZWZhdWx0OgpAQCAtMzIxMSw3ICszMjExLDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIEcK
ICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9STV9GRUVEQkFDS19C
VUZGRVJfTU9ERToKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9S
TV9GRUVEQkFDS19WQVJZSU5HUzoKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkFDVElWRV9VTklGT1JNX0JMT0NLUzoKLSAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1lLCAm
dmFsdWUpOwogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zMjIzLDExICszMjIzLDExIEBAIFdlYkdM
QW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtKiBwcm9ncmFtLCBHCiAgICAgfQogfQogCi1TdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtKiBwcm9ncmFtKQorU3RyaW5n
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3Jh
bSYgcHJvZ3JhbSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtSW5mb0xvZyIsIHByb2dyYW0pKQor
ICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFt
T3JTaGFkZXIoImdldFByb2dyYW1JbmZvTG9nIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwobV9jb250ZXh0LT5nZXRQcm9ncmFt
SW5mb0xvZyhvYmplY3RPclplcm8ocHJvZ3JhbSkpKTsKKyAgICByZXR1cm4gZW5zdXJlTm90TnVs
bChtX2NvbnRleHQtPmdldFByb2dyYW1JbmZvTG9nKHByb2dyYW0ub2JqZWN0KCkpKTsKIH0KIAog
V2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpCkBAIC0zMzAxLDE5ICszMzAxLDE5
IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXIqIHNoYWRl
ciwgR0NHTGVudW0gcG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NHTGVudW0gcG5hbWUpCiB7
Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRT
aGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
R0NHTGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBzaGFkZXItPmlzRGVs
ZXRlZCgpOworICAgICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwogICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFNo
YWRlcml2KG9iamVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUpOwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlNIQURFUl9UWVBFOgotICAgICAgICBtX2NvbnRleHQtPmdldFNoYWRlcml2KG9i
amVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9jb250ZXh0LT5n
ZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKTsKICAgICBkZWZhdWx0OgogICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hh
ZGVyUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsKQEAgLTMzMjEsMTEgKzMz
MjEsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFy
YW1ldGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIsIEdDR0wKICAgICB9CiB9CiAKLVN0cmluZyBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKiBzaGFk
ZXIpCitTdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVySW5mb0xvZyhX
ZWJHTFNoYWRlciYgc2hhZGVyKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkg
fHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCBzaGFk
ZXIpKQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQ
cm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCAmc2hhZGVyKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHJldHVybiBlbnN1cmVOb3ROdWxsKG1fY29udGV4dC0+Z2V0U2hh
ZGVySW5mb0xvZyhvYmplY3RPclplcm8oc2hhZGVyKSkpOworICAgIHJldHVybiBlbnN1cmVOb3RO
dWxsKG1fY29udGV4dC0+Z2V0U2hhZGVySW5mb0xvZyhzaGFkZXIub2JqZWN0KCkpKTsKIH0KIAog
UmVmUHRyPFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NHTGVudW0gc2hhZGVyVHlwZSwgR0NHTGVu
dW0gcHJlY2lzaW9uVHlwZSkKQEAgLTMzNTksMTEgKzMzNTksMTEgQEAgUmVmUHRyPFdlYkdMU2hh
ZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQ
cmVjaXNpb24KICAgICByZXR1cm4gV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQ6OmNyZWF0ZShy
YW5nZVswXSwgcmFuZ2VbMV0sIHByZWNpc2lvbik7CiB9CiAKLVN0cmluZyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqIHNoYWRlcikKK1N0cmlu
ZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIm
IHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0
ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRTaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldFNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLT5nZXRTb3VyY2UoKSk7CisgICAgcmV0
dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLmdldFNvdXJjZSgpKTsKIH0KIAogV2ViR0xBbnkgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VGV4UGFyYW1ldGVyKEdDR0xlbnVtIHRhcmdldCwg
R0NHTGVudW0gcG5hbWUpCkBAIC0zMzk1LDE5ICszMzk1LDE5IEBAIFdlYkdMQW55IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmdldFRleFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xl
bnVtIHBuCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIHVuaWZvcm1Mb2NhdGlvbikKK1dlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldFVuaWZvcm0oV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiYgdW5pZm9ybUxvY2F0aW9uKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFVuaWZvcm0iLCBwcm9ncmFt
KSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICBpZiAoIXVuaWZvcm1Mb2NhdGlvbiB8fCB1bmlmb3JtTG9jYXRpb24tPnByb2dy
YW0oKSAhPSBwcm9ncmFtKSB7CisgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbi5wcm9ncmFtKCkgIT0g
JnByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6
OklOVkFMSURfT1BFUkFUSU9OLCAiZ2V0VW5pZm9ybSIsICJubyB1bmlmb3JtbG9jYXRpb24gb3Ig
bm90IHZhbGlkIGZvciB0aGlzIHByb2dyYW0iKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQotICAgIEdDR0xpbnQgbG9jYXRpb24gPSB1bmlmb3JtTG9jYXRpb24tPmxvY2F0aW9uKCk7
CisgICAgR0NHTGludCBsb2NhdGlvbiA9IHVuaWZvcm1Mb2NhdGlvbi5sb2NhdGlvbigpOwogCiAg
ICAgR0NHTGVudW0gYmFzZVR5cGU7CiAgICAgdW5zaWduZWQgbGVuZ3RoOwotICAgIHN3aXRjaCAo
dW5pZm9ybUxvY2F0aW9uLT50eXBlKCkpIHsKKyAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50
eXBlKCkpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOgogICAgICAgICBiYXNl
VHlwZSA9IEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOwogICAgICAgICBsZW5ndGggPSAxOwpAQCAt
MzQ3OSw3ICszNDc5LDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0
VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnN0IFdlYkcKICAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiZ2V0VW5p
Zm9ybSIsICJ1bmhhbmRsZWQgdHlwZSIpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgIH0KLSAgICAgICAgc3dpdGNoICh1bmlmb3JtTG9jYXRpb24tPnR5cGUoKSkgeworICAg
ICAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50eXBlKCkpIHsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOgogICAgICAgICAgICAgYmFzZVR5cGUgPSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOwogICAgICAgICAgICAgbGVuZ3RoID0gMTsKQEAg
LTM1NDYsOSArMzU0Niw5IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBXZWJHCiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6RkxPQVQ6IHsKICAgICAgICAgR0NHTGZsb2F0IHZhbHVlWzE2XSA9IHsw
fTsKICAgICAgICAgaWYgKG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkKQotICAgICAgICAgICAg
bV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZ2V0blVuaWZvcm1mdkVYVChvYmplY3RPclplcm8o
cHJvZ3JhbSksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CisgICAg
ICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWZ2RVhUKHByb2dy
YW0ub2JqZWN0KCksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybWZ2KG9iamVjdE9y
WmVybyhwcm9ncmFtKSwgbG9jYXRpb24sIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+
Z2V0VW5pZm9ybWZ2KHByb2dyYW0ub2JqZWN0KCksIGxvY2F0aW9uLCB2YWx1ZSk7CiAgICAgICAg
IGlmIChsZW5ndGggPT0gMSkKICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsKICAgICAgICAg
cmV0dXJuIEZsb2F0MzJBcnJheTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU1Niwx
NiArMzU1NiwxNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlm
b3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViRwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OklOVDogewogICAgICAgICBHQ0dMaW50IHZhbHVlWzRdID0gezB9OwogICAgICAg
ICBpZiAobV9pc1JvYnVzdG5lc3NFWFRTdXBwb3J0ZWQpCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWl2RVhUKG9iamVjdE9yWmVybyhwcm9ncmFtKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdldG5Vbmlmb3JtaXZFWFQocHJvZ3JhbS5vYmplY3QoKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBs
b2NhdGlvbiwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYocHJv
Z3JhbS5vYmplY3QoKSwgbG9jYXRpb24sIHZhbHVlKTsKICAgICAgICAgaWYgKGxlbmd0aCA9PSAx
KQogICAgICAgICAgICAgcmV0dXJuIHZhbHVlWzBdOwogICAgICAgICByZXR1cm4gSW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIH0KICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpVTlNJR05FRF9JTlQ6IHsKICAgICAgICAgR0NHTHVpbnQgdmFsdWVbNF0gPSB7MH07
Ci0gICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihvYmplY3RPclplcm8ocHJvZ3JhbSks
IGxvY2F0aW9uLCB2YWx1ZSk7CisgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihwcm9n
cmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID09IDEp
CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVbMF07CiAgICAgICAgIHJldHVybiBVaW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU3Myw5ICszNTczLDkgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHBy
b2dyYW0sIGNvbnN0IFdlYkcKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOiB7CiAg
ICAgICAgIEdDR0xpbnQgdmFsdWVbNF0gPSB7MH07CiAgICAgICAgIGlmIChtX2lzUm9idXN0bmVz
c0VYVFN1cHBvcnRlZCkKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdl
dG5Vbmlmb3JtaXZFWFQob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuZ2V0blVuaWZvcm1pdkVYVChwcm9ncmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldFVuaWZvcm1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIGxvY2F0aW9uLCB2YWx1ZSk7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldFVuaWZvcm1pdihwcm9ncmFtLm9iamVjdCgpLCBsb2Nh
dGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID4gMSkgewogICAgICAgICAgICAgVmVj
dG9yPGJvb2w+IHZlY3RvcihsZW5ndGgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IGxlbmd0aDsgaisrKQpAQCAtMzU5Myw5ICszNTkzLDkgQEAgV2ViR0xBbnkgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNv
bnN0IFdlYkcKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVmUHRyPFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlmb3JtTG9jYXRpb24oV2Vi
R0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTFByb2dyYW0mIHByb2dyYW0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVy
KCJnZXRVbmlmb3JtTG9jYXRpb24iLCBwcm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtTG9j
YXRpb24iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghdmFs
aWRhdGVMb2NhdGlvbkxlbmd0aCgiZ2V0VW5pZm9ybUxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzYwMywyMyArMzYwMywyMyBAQCBSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoaXNQcmVmaXhSZXNlcnZl
ZChuYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFwcm9ncmFtLT5nZXRM
aW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlua1N0YXR1cygpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImdldFVuaWZvcm1Mb2NhdGlvbiIsICJwcm9ncmFtIG5vdCBsaW5rZWQiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEdDR0xpbnQgdW5pZm9ybUxvY2F0aW9uID0gbV9j
b250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBuYW1lKTsK
KyAgICBHQ0dMaW50IHVuaWZvcm1Mb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0ub2JqZWN0KCksIG5hbWUpOwogICAgIGlmICh1bmlmb3JtTG9jYXRpb24gPT0g
LTEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NHTGludCBhY3RpdmVVbmlmb3Jt
cyA9IDA7CiAjaWYgVVNFKEFOR0xFKQotICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVj
dE9yWmVybyhwcm9ncmFtKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklGT1JNUywgJmFj
dGl2ZVVuaWZvcm1zKTsKKyAgICBtX2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVj
dCgpLCBHcmFwaGljc0NvbnRleHRHTDo6QUNUSVZFX1VOSUZPUk1TLCAmYWN0aXZlVW5pZm9ybXMp
OwogI2Vsc2UKLSAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIEdyYXBoaWNzQ29udGV4dEdMOjpBQ1RJVkVfVU5JRk9STVMs
ICZhY3RpdmVVbmlmb3Jtcyk7CisgICAgbV9jb250ZXh0LT5nZXROb25CdWlsdEluQWN0aXZlU3lt
Ym9sQ291bnQocHJvZ3JhbS5vYmplY3QoKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklG
T1JNUywgJmFjdGl2ZVVuaWZvcm1zKTsKICNlbmRpZgogICAgIGZvciAoR0NHTGludCBpID0gMDsg
aSA8IGFjdGl2ZVVuaWZvcm1zOyBpKyspIHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0w6OkFj
dGl2ZUluZm8gaW5mbzsKLSAgICAgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0o
b2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpLCBpbmZvKSkKKyAgICAgICAgaWYgKCFtX2NvbnRleHQt
PmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3QoKSwgaSwgaW5mbykpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgLy8gU3RyaXAgIlswXSIgZnJvbSB0aGUgbmFtZSBp
ZiBpdCdzIGFuIGFycmF5LgogICAgICAgICBpZiAoaW5mby5uYW1lLmVuZHNXaXRoKCJbMF0iKSkK
QEAgLTM2MjksNyArMzYyOSw3IEBAIFJlZlB0cjxXZWJHTFVuaWZvcm1Mb2NhdGlvbj4gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMCiAgICAgICAgICAg
ICBTdHJpbmcgdW5pZm9ybU5hbWUgPSBtYWtlU3RyaW5nKGluZm8ubmFtZSwgJ1snLCBpbmRleCwg
J10nKTsKIAogICAgICAgICAgICAgaWYgKG5hbWUgPT0gdW5pZm9ybU5hbWUgfHwgbmFtZSA9PSBp
bmZvLm5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpj
cmVhdGUocHJvZ3JhbSwgdW5pZm9ybUxvY2F0aW9uLCBpbmZvLnR5cGUpOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6Y3JlYXRlKCZwcm9ncmFtLCB1bmlmb3Jt
TG9jYXRpb24sIGluZm8udHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zODY0LDEyICszODY0LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6bGluZVdpZHRoKEdDR0xmbG9hdCB3aWR0aCkKICAgICBtX2NvbnRleHQtPmxpbmVXaWR0aCh3
aWR0aCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bGlua1Byb2dyYW0o
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjps
aW5rUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKCFsaW5rUHJvZ3Jh
bVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMocHJvZ3JhbSkpCisgICAgaWYgKCFs
aW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMoJnByb2dyYW0pKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBwcm9ncmFtLT5pbmNyZWFzZUxpbmtDb3VudCgpOworICAg
IHByb2dyYW0uaW5jcmVhc2VMaW5rQ291bnQoKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpsaW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMo
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQpAQCAtNDQyMCwxOSArNDQyMCwxOSBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xz
aXplaSB3aWR0aCwgRwogICAgIG1fY29udGV4dC0+c2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVpZ2h0
KTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzaGFkZXJTb3VyY2UoV2Vi
R0xTaGFkZXIqIHNoYWRlciwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCit2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYgc2hhZGVyLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2
YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJzaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JT
aGFkZXIoInNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNF
KEFOR0xFKQotICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKG9iamVjdE9yWmVybyhzaGFkZXIp
LCBzdHJpbmcpOworICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKHNoYWRlci5vYmplY3QoKSwg
c3RyaW5nKTsKICNlbHNlCiAgICAgU3RyaW5nIHN0cmluZ1dpdGhvdXRDb21tZW50cyA9IFN0cmlw
Q29tbWVudHMoc3RyaW5nKS5yZXN1bHQoKTsKICAgICBpZiAoIXZhbGlkYXRlU3RyaW5nKCJzaGFk
ZXJTb3VyY2UiLCBzdHJpbmdXaXRob3V0Q29tbWVudHMpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uob2JqZWN0T3JaZXJvKHNoYWRlciksIHN0cmluZ1dpdGhv
dXRDb21tZW50cyk7CisgICAgbV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uoc2hhZGVyLm9iamVjdCgp
LCBzdHJpbmdXaXRob3V0Q29tbWVudHMpOwogI2VuZGlmCi0gICAgc2hhZGVyLT5zZXRTb3VyY2Uo
c3RyaW5nKTsKKyAgICBzaGFkZXIuc2V0U291cmNlKHN0cmluZyk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6c3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCBy
ZWYsIEdDR0x1aW50IG1hc2spCkBAIC01OTM3LDExICs1OTM3LDExIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dXNlUHJvZ3JhbShXZWJHTFByb2dyYW0qIHByb2dyYW0pCiAgICAg
fQogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUHJvZ3JhbShX
ZWJHTFByb2dyYW0qIHByb2dyYW0pCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZh
bGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4
dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRh
dGVQcm9ncmFtIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8
fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRhdGVQcm9ncmFtIiwgJnByb2dy
YW0pKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT52YWxpZGF0ZVByb2dyYW0ob2Jq
ZWN0T3JaZXJvKHByb2dyYW0pKTsKKyAgICBtX2NvbnRleHQtPnZhbGlkYXRlUHJvZ3JhbShwcm9n
cmFtLm9iamVjdCgpKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2ZXJ0
ZXhBdHRyaWIxZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHYwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4
IDA4NzNiNzJkMDA4NTMzYzE2NWMzZWE0Zjc0ZmY0ZmEyNjM3OTI0OWEuLmQwODg3MDcyZDQxOTJi
MzQ2ODBiNWViYzI2Y2Y2YzdjODhhZDg1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTEzMiw4ICsxMzIs
OCBAQCBwdWJsaWM6CiAgICAgaW50IGRyYXdpbmdCdWZmZXJIZWlnaHQoKSBjb25zdDsKIAogICAg
IHZvaWQgYWN0aXZlVGV4dHVyZShHQ0dMZW51bSB0ZXh0dXJlKTsKLSAgICB2b2lkIGF0dGFjaFNo
YWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOwotICAgIHZvaWQgYmluZEF0dHJpYkxv
Y2F0aW9uKFdlYkdMUHJvZ3JhbSosIEdDR0x1aW50IGluZGV4LCBjb25zdCBTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7Cisg
ICAgdm9pZCBiaW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBiaW5kQnVmZmVyKEdDR0xlbnVtIHRhcmdl
dCwgV2ViR0xCdWZmZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZEZyYW1lYnVmZmVyKEdDR0xl
bnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZlciopOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZl
cihHQ0dMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyKik7CkBAIC0xNTUsNyArMTU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEZXB0aChHQ0dMZmxvYXQpOwogICAgIHZvaWQgY2xl
YXJTdGVuY2lsKEdDR0xpbnQpOwogICAgIHZvaWQgY29sb3JNYXNrKEdDR0xib29sZWFuIHJlZCwg
R0NHTGJvb2xlYW4gZ3JlZW4sIEdDR0xib29sZWFuIGJsdWUsIEdDR0xib29sZWFuIGFscGhhKTsK
LSAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXIqKTsKKyAgICB2b2lkIGNvbXBpbGVT
aGFkZXIoV2ViR0xTaGFkZXImKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoR0NH
TGVudW0gdGFyZ2V0LCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0NH
THNpemVpIHdpZHRoLCBHQ0dMc2l6ZWkgaGVpZ2h0LCBHQ0dMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3JiBkYXRhKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGludCB4b2Zmc2V0LCBHQ0dMaW50IHlvZmZzZXQs
IEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIGRhdGEpOwpAQCAtMTgyLDcgKzE4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRlcHRoRnVuYyhHQ0dMZW51bSk7CiAgICAgdm9pZCBkZXB0aE1hc2soR0NHTGJvb2xlYW4pOwog
ICAgIHZvaWQgZGVwdGhSYW5nZShHQ0dMZmxvYXQgek5lYXIsIEdDR0xmbG9hdCB6RmFyKTsKLSAg
ICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOworICAgIHZv
aWQgZGV0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7CiAgICAgdm9pZCBk
aXNhYmxlKEdDR0xlbnVtIGNhcCk7CiAgICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXko
R0NHTHVpbnQgaW5kZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
aW50IGZpcnN0LCBHQ0dMc2l6ZWkgY291bnQpOwpAQCAtMTk3LDI3ICsxOTcsMjcgQEAgcHVibGlj
OgogICAgIHZvaWQgZnJvbnRGYWNlKEdDR0xlbnVtIG1vZGUpOwogICAgIHZvaWQgZ2VuZXJhdGVN
aXBtYXAoR0NHTGVudW0gdGFyZ2V0KTsKIAotICAgIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IGdl
dEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0qLCBHQ0dMdWludCBpbmRleCk7Ci0gICAgUmVmUHRy
PFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0qLCBHQ0dMdWlu
dCBpbmRleCk7Ci0gICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRlcj4+PiBnZXRB
dHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtKik7Ci0gICAgR0NHTGludCBnZXRBdHRyaWJMb2Nh
dGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIFJlZlB0cjxXZWJH
TEFjdGl2ZUluZm8+IGdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mLCBHQ0dMdWludCBpbmRl
eCk7CisgICAgUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFBy
b2dyYW0mLCBHQ0dMdWludCBpbmRleCk7CisgICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJH
TFNoYWRlcj4+PiBnZXRBdHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtJik7CisgICAgR0NHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwog
ICAgIFdlYkdMQW55IGdldEJ1ZmZlclBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVt
IHBuYW1lKTsKICAgICBPcHRpb25hbDxXZWJHTENvbnRleHRBdHRyaWJ1dGVzPiBnZXRDb250ZXh0
QXR0cmlidXRlcygpOwogICAgIEdDR0xlbnVtIGdldEVycm9yKCk7CiAgICAgdmlydHVhbCBXZWJH
TEV4dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkgPSAwOwogICAgIHZp
cnR1YWwgV2ViR0xBbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGVudW0gYXR0YWNobWVudCwgR0NHTGVudW0gcG5hbWUpID0gMDsKICAgICB2
aXJ0dWFsIFdlYkdMQW55IGdldFBhcmFtZXRlcihHQ0dMZW51bSBwbmFtZSk7Ci0gICAgV2ViR0xB
bnkgZ2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qLCBHQ0dMZW51bSBwbmFtZSk7Ci0g
ICAgU3RyaW5nIGdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3JhbSopOworICAgIFdlYkdMQW55
IGdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiwgR0NHTGVudW0gcG5hbWUpOworICAg
IFN0cmluZyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0mKTsKICAgICBXZWJHTEFueSBn
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBwbmFtZSk7
Ci0gICAgV2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyKiwgR0NHTGVudW0g
cG5hbWUpOwotICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKik7CisgICAg
V2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyJiwgR0NHTGVudW0gcG5hbWUp
OworICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyJik7CiAgICAgUmVmUHRy
PFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NH
TGVudW0gc2hhZGVyVHlwZSwgR0NHTGVudW0gcHJlY2lzaW9uVHlwZSk7Ci0gICAgU3RyaW5nIGdl
dFNoYWRlclNvdXJjZShXZWJHTFNoYWRlciopOworICAgIFN0cmluZyBnZXRTaGFkZXJTb3VyY2Uo
V2ViR0xTaGFkZXImKTsKICAgICB2aXJ0dWFsIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKCkgPSAwOwogICAgIHZpcnR1YWwgV2ViR0xBbnkgZ2V0VGV4UGFy
YW1ldGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpOwotICAgIFdlYkdMQW55IGdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qKTsKLSAg
ICBSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFBy
b2dyYW0qLCBjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJHTEFueSBnZXRVbmlmb3JtKFdlYkdMUHJv
Z3JhbSYsIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uJik7CisgICAgUmVmUHRyPFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgY29uc3QgU3Ry
aW5nJik7CiAgICAgV2ViR0xBbnkgZ2V0VmVydGV4QXR0cmliKEdDR0x1aW50IGluZGV4LCBHQ0dM
ZW51bSBwbmFtZSk7CiAgICAgbG9uZyBsb25nIGdldFZlcnRleEF0dHJpYk9mZnNldChHQ0dMdWlu
dCBpbmRleCwgR0NHTGVudW0gcG5hbWUpOwogCkBAIC0yNDMsNyArMjQzLDcgQEAgcHVibGljOgog
ICAgIEdDR0xib29sZWFuIGlzVGV4dHVyZShXZWJHTFRleHR1cmUqKTsKIAogICAgIHZvaWQgbGlu
ZVdpZHRoKEdDR0xmbG9hdCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsK
KyAgICB2b2lkIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSYpOwogICAgIGJvb2wgbGlua1Byb2dy
YW1XaXRob3V0SW52YWxpZGF0aW5nQXR0cmliTG9jYXRpb25zKFdlYkdMUHJvZ3JhbSopOwogICAg
IHZpcnR1YWwgdm9pZCBwaXhlbFN0b3JlaShHQ0dMZW51bSBwbmFtZSwgR0NHTGludCBwYXJhbSk7
CiAjaWYgRU5BQkxFKFdFQlhSKQpAQCAtMjU4LDcgKzI1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZUltcGwoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMc2l6
ZWkgc2FtcGxlcywgR0NHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NH
THNpemVpIGhlaWdodCwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKICAgICB2b2lkIHNhbXBs
ZUNvdmVyYWdlKEdDR0xmbG9hdCB2YWx1ZSwgR0NHTGJvb2xlYW4gaW52ZXJ0KTsKICAgICB2b2lk
IHNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVp
IGhlaWdodCk7Ci0gICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqLCBjb25zdCBTdHJp
bmcmKTsKKyAgICB2b2lkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYsIGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgc3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCByZWYsIEdDR0x1
aW50IG1hc2spOwogICAgIHZvaWQgc3RlbmNpbEZ1bmNTZXBhcmF0ZShHQ0dMZW51bSBmYWNlLCBH
Q0dMZW51bSBmdW5jLCBHQ0dMaW50IHJlZiwgR0NHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVu
Y2lsTWFzayhHQ0dMdWludCk7CkBAIC0zNDMsNyArMzQzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDR0xib29sZWFu
IHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJik7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oV2ViR0xQ
cm9ncmFtKik7Ci0gICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtKik7CisgICAg
dm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtJik7CiAKICAgICB2b2lkIHZlcnRleEF0
dHJpYjFmKEdDR0x1aW50IGluZGV4LCBHQ0dMZmxvYXQgeCk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWIyZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHgsIEdDR0xmbG9hdCB5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5pZGwKaW5kZXggYzBiZWQ0NGRlZDljM2RmMGExYzg4MzUzODkwNWUxYmFjYmZmYjVlYi4uNzI4
YjQyOTAyM2EzY2FkYjgzNTBhM2QyN2E4OTZhODFmMGYyZWI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwK
QEAgLTQ4Miw4ICs0ODIsOCBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52
YXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsK
IAogICAgIHZvaWQgYWN0aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRh
Y2hTaGFkZXIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBXZWJHTFNoYWRlcj8gc2hhZGVyKTsKLSAg
ICB2b2lkIGJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMdWludCBp
bmRleCwgRE9NU3RyaW5nIG5hbWUpOworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHZvaWQgYmluZEF0dHJpYkxvY2F0
aW9uKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBuYW1lKTsK
ICAgICB2b2lkIGJpbmRCdWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7
CiAgICAgdm9pZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZl
cj8gZnJhbWVidWZmZXIpOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVyKTsKQEAgLTUwMywxMyArNTAzLDEzIEBA
IHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICB2b2lkIGNsZWFy
RGVwdGgoR0xjbGFtcGYgZGVwdGgpOwogICAgIHZvaWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOwog
ICAgIHZvaWQgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29s
ZWFuIGJsdWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdM
U2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFk
ZXIpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBp
eGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJj
ZSBzb3VyY2UpOwogCiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
cGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRl
eEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1h
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3IGRhdGEpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7CkBAIC01MzYsNyArNTM2LDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIHZvaWQgZGVwdGhGdW5jKEdMZW51bSBmdW5jKTsKICAgICB2b2lkIGRlcHRo
TWFzayhHTGJvb2xlYW4gZmxhZyk7CiAgICAgdm9pZCBkZXB0aFJhbmdlKEdMY2xhbXBmIHpOZWFy
LCBHTGNsYW1wZiB6RmFyKTsKLSAgICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMU2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgZGV0YWNoU2hhZGVyKFdlYkdM
UHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOwogICAgIHZvaWQgZGlzYWJsZShH
TGVudW0gY2FwKTsKICAgICB2b2lkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5k
ZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6
ZWkgY291bnQpOwpAQCAtNTUxLDEzICs1NTEsMTMgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1l
bnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgZnJvbnRGYWNlKEdMZW51bSBtb2RlKTsKICAgICB2
b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwogICAgIAotICAgIFdlYkdMQWN0aXZl
SW5mbyBnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OwotICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbT8gcHJv
Z3JhbSwgR0x1aW50IGluZGV4KTsKKyAgICBXZWJHTEFjdGl2ZUluZm8gZ2V0QWN0aXZlQXR0cmli
KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOworICAgIFdlYkdMQWN0aXZlSW5m
byBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOwog
CiAgICAgLy8gRklYTUU6IFRoZSBzcGVjIHNheXMgdGhpcyBzaG91bGQgbm90IHRha2UgYSBudWxs
YWJsZSBXZWJHTFByb2dyYW0uCi0gICAgc2VxdWVuY2U8V2ViR0xTaGFkZXI+PyBnZXRBdHRhY2hl
ZFNoYWRlcnMoV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKKyAgICBzZXF1ZW5jZTxXZWJHTFNoYWRl
cj4/IGdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CiAKLSAgICBHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBHTGludCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9N
U3RyaW5nIG5hbWUpOwogCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dEJ1ZmZlclBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUpOwogCkBAIC01NzAs
MjIgKzU3MCwyMiBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAK
ICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVudW0g
cG5hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQYXJhbWV0
ZXIoR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMZW51bSBwbmFtZSk7
Ci0gICAgRE9NU3RyaW5nPyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0/IHByb2dyYW0p
OworICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTGVudW0gcG5hbWUpOworICAgIERPTVN0cmluZz8g
Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtIHByb2dyYW0pOwogICAgIFtPdmVycmlkZUlE
TFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0xlbnVtIHRh
cmdldCwgR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBh
bnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIsIEdMZW51bSBwbmFtZSk7
CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFNoYWRlclBhcmFtZXRl
cihXZWJHTFNoYWRlciBzaGFkZXIsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBET01TdHJpbmc/IGdl
dFNoYWRlckluZm9Mb2coV2ViR0xTaGFkZXI/IHNoYWRlcik7CisgICAgRE9NU3RyaW5nPyBnZXRT
aGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyIHNoYWRlcik7CiAKICAgICBXZWJHTFNoYWRlclByZWNp
c2lvbkZvcm1hdCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0xlbnVtIHNoYWRlcnR5cGUsIEdM
ZW51bSBwcmVjaXNpb250eXBlKTsKIAotICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdl
YkdMU2hhZGVyPyBzaGFkZXIpOworICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlcik7CiAKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0VGV4UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0VW5pZm9ybShXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbik7CisgICAgW092ZXJyaWRlSURM
VHlwZT1JRExXZWJHTEFueV0gYW55IGdldFVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uKTsKIAotICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9n
cmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1lKTsKIAogICAgIFtPdmVycmlkZUlETFR5cGU9SURM
V2ViR0xBbnldIGFueSBnZXRWZXJ0ZXhBdHRyaWIoR0x1aW50IGluZGV4LCBHTGVudW0gcG5hbWUp
OwogCkBAIC02MDEsNyArNjAxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIEdMYm9vbGVhbiBpc1NoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKICAg
ICBHTGJvb2xlYW4gaXNUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7CiAgICAgdm9pZCBs
aW5lV2lkdGgoR0xmbG9hdCB3aWR0aCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dy
YW0/IHByb2dyYW0pOworICAgIHZvaWQgbGlua1Byb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0p
OwogCiAgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFByb21pc2U8dm9pZD4gbWFr
ZVhSQ29tcGF0aWJsZSgpOwogCkBAIC02MTMsNyArNjEzLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZh
c0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZShHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0KTsKICAgICB2b2lkIHNhbXBsZUNvdmVyYWdlKEdMY2xhbXBmIHZhbHVlLCBHTGJvb2xl
YW4gaW52ZXJ0KTsKICAgICB2b2lkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdMU2hhZGVy
PyBzaGFkZXIsIERPTVN0cmluZyBzdHJpbmcpOworICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlciwgRE9NU3RyaW5nIHN0cmluZyk7CiAgICAgdm9pZCBzdGVuY2lsRnVuYyhH
TGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVuY2lsRnVu
Y1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFz
ayk7CiAgICAgdm9pZCBzdGVuY2lsTWFzayhHTHVpbnQgbWFzayk7CkBAIC02NDksNyArNjQ5LDcg
QEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJH
TFByb2dyYW0/IHByb2dyYW0pOwotICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3Jh
bT8gcHJvZ3JhbSk7CisgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dy
YW0pOwogCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIxZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7
CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9h
dCB5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFk
ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFkZXJQ
cm9ncmFtLmNwcAppbmRleCBmODE2YmI2ZjQzNmYyNmY3Yjg2M2YxMTllYjFjOTAxNGQ3MGZmODgx
Li42OTM3NzhkZjZlMDIwY2IwMTgwMWU3NWM4ZTM5OTUzZDlmMTcyNjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclNoYWRlclByb2dyYW0uY3BwCkBAIC0x
OTAsOCArMTkwLDggQEAgYm9vbCBJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIo
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpTaGFkZXJUeXAKICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogY29udGV4dCA9IG1fY2FudmFzLmNhbnZhc0NvbnRleHQoKSkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY29udGV4dCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRleHRXZWJHTEJhc2UgPSBkb3duY2Fz
dDxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPigqY29udGV4dCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0V2ViR0xCYXNlLnNoYWRlclNvdXJjZShzaGFkZXIsIHNvdXJjZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2ViR0xCYXNlLmNvbXBpbGVTaGFkZXIoc2hh
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRXZWJHTEJhc2Uuc2hhZGVyU291
cmNlKCpzaGFkZXIsIHNvdXJjZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2Vi
R0xCYXNlLmNvbXBpbGVTaGFkZXIoKnNoYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hhZGVyLT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0V2ViR0xCYXNlLmxpbmtQcm9ncmFtV2l0aG91dEludmFsaWRhdGluZ0F0dHJpYkxvY2F0aW9u
cygmcHJvZ3JhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2UwYTk4NWM2NDgzZmQ3MmZhYjU2NGIwZmM0ZjAyYTMxNGZkZDNkZi4uNDA0NWJjMjA0
MTg2NGQ1NWEzNTEwZjMyNjc5YmVhMDBlYjZjZDE3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisy
MDIwLTA4LTE4ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbV2ViR0wyXSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJs
ZSBpbiBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTYxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLWZ1bGwtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLWZ1bGwuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1tZW1vcnlMaW1pdC5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBzaG90cy5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1mcmFtZUNvdW50
Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLWZ1bGwu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5
TGltaXQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDIt
c25hcHNob3RzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvcmVj
b3JkaW5nLXdlYmdsLmpzOgorICAgICAgICAobG9hZCk6CisgICAgICAgICogd2ViZ2wvMi4wLjAv
Y29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0
LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ2wvMi4wLjAvY29uZm9ybWFu
Y2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJn
bC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFy
Z3MtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA4LTE3ICBIZWN0b3IgTG9wZXogIDxoZWN0b3JfaV9s
b3BlekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBtYWNPUyB3azEgXSB3ZWJhdWRpby9vc2NpbGxh
dG9yLXNxdWFyZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQKaW5kZXggMGFi
YmYxM2E2ZmJhNDRiODA0MWQ0NmI3ODk2NDZjZDNhNGI4MjFiOS4uNjFkN2M4MGMyMmE2NDEyMjhh
ZGYzNWMyZDM3ZWU2YTUzMDdlNWM2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0CkBAIC05MCwxNCArOTAsMTQg
QEAgUEFTUyBnbC5zdGVuY2lsT3BTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuS0VFUCwgZ2wuS0VFUCwg
Z2wuS0VFUCkgd2FzIGV4cGVjdGVkIHZhbHUKIFBBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBhcnJh
eUJ1ZmZlclZpZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgaW1hZ2VEYXRhKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGltYWdlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgotUEFTUyBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IGNhbnZhcykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBj
YW52YXMyZCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2
aWRlbykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4UGFyYW1ldGVy
ZihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
IDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCi1QQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhczJkKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxvY2F0aW9uLCAw
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC51bmlmb3JtMWZ2KHVuaWZv
cm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgpA
QCAtMTc4LDYgKzE3OCwxMCBAQCBQQVNTIGdsLmlzUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlcikg
aXMgZmFsc2UKIFBBU1MgZ2wuaXNTaGFkZXIoc2hhZGVyKSBpcyBmYWxzZQogUEFTUyBnbC5pc1Rl
eHR1cmUodGV4dHVyZSkgaXMgZmFsc2UKIFBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJP
UgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5iaW5kVmVydGV4QXJyYXlPRVModmVydGV4
QXJyYXlPYmplY3QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIE9FU192ZXJ0
ZXhfYXJyYXlfb2JqZWN0LmlzVmVydGV4QXJyYXlPRVModmVydGV4QXJyYXlPYmplY3QpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIE9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0LmRl
bGV0ZVZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5jcmVhdGVWZXJ0ZXhBcnJh
eU9FUygpIGlzIG51bGwKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCmluZGV4IDA4
ZjU3ZTZhNTRhZjEwN2E3YmZjNWIzZjFlYWM3MDY0ZGIyMzRhY2YuLjBiYzA2MzM2MWRkZDVhOTZj
MzEyZTFhNjhiMTE3MTdkZmRiYzM4MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBAIC0zMSw2ICszMSw4IEBAIHZhciBjdHgyZDsKIHZh
ciBpbWFnZURhdGE7CiB2YXIgZmxvYXQzMmFycmF5OwogdmFyIGludDMyYXJyYXk7Cit2YXIgT0VT
X3ZlcnRleF9hcnJheV9vYmplY3Q7Cit2YXIgdmVydGV4QXJyYXlPYmplY3Q7CiAKIGZ1bmN0aW9u
IGluaXQoKQogewpAQCAtNDksMTUgKzUxLDIyIEBAIGZ1bmN0aW9uIGluaXQoKQogICAgIC8vIGZv
ciB0aGUgaXNDb250ZXh0TG9zdCgpIG1ldGhvZCwgd2hpY2ggd2Ugd2FudCB0byBkbyByZWdhcmRs
ZXNzIG9mIHRoZSBleHRlbnNpb24ncyBwcmVzZW5jZS4KICAgICB0ZXN0VmFsaWRDb250ZXh0KCk7
CiAKLSAgICBleHRlbnNpb24gPSBnbC5nZXRFeHRlbnNpb24oIldFQkdMX2xvc2VfY29udGV4dCIp
OwotICAgIGlmICghZXh0ZW5zaW9uKSB7Ci0gICAgICAgIGRlYnVnKCJDb3VsZCBub3QgZmluZCBs
b3NlX2NvbnRleHQgZXh0ZW5zaW9uIHVuZGVyIHRoZSBmb2xsb3dpbmcgbmFtZXM6IFdFQkdMX2xv
c2VfY29udGV4dCIpOworICAgIGV4dGVuc2lvbk5hbWUgPSB3dHUuZ2V0U3VwcG9ydGVkRXh0ZW5z
aW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9sb3NlX2NvbnRleHQiKTsKKyAgICBpZiAo
IWV4dGVuc2lvbk5hbWUpIHsKKyAgICAgICAgZGVidWcoIkNvdWxkIG5vdCBmaW5kIFdFQkdMX2xv
c2VfY29udGV4dCBleHRlbnNpb24iKTsKICAgICAgICAgZmluaXNoVGVzdCgpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRl
bnNpb25OYW1lKTsKKworICAgIC8vIG5lZWQgYW4gZXh0ZW5zaW9uIHRoYXQgZXhwb3NlcyBuZXcg
QVBJIG1ldGhvZHMuCisgICAgT0VTX3ZlcnRleF9hcnJheV9vYmplY3QgPSB3dHUuZ2V0RXh0ZW5z
aW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpOwogCiAg
ICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCB0ZXN0TG9zdENv
bnRleHQsIGZhbHNlKTsKIAorICAgIC8vIFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB8dW5pZm9ybUxv
Y2F0aW9ufCBiZWZvcmUgbG9zaW5nIGNvbnRleHQuCisgICAgLy8gT3RoZXJ3aXNlIGdsLmdldFVu
aWZvcm0oKSB3aGVuIGNvbnRleHQgaXMgbG9zdCB3aWxsIHRocm93LgorICAgIHVuaWZvcm1Mb2Nh
dGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CiAgICAgbG9zZUNv
bnRleHQoKTsKIH0KIApAQCAtMTAzLDYgKzExMiwyNCBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRDb250
ZXh0KCkKICAgICBzaG91bGRCZVRydWUoImdsLmlzUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlciki
KTsKICAgICBzaG91bGRCZVRydWUoImdsLmlzU2hhZGVyKHNoYWRlcikiKTsKICAgICBzaG91bGRC
ZVRydWUoImdsLmlzVGV4dHVyZSh0ZXh0dXJlKSIpOworCisgICAgaWYgKE9FU192ZXJ0ZXhfYXJy
YXlfb2JqZWN0KSB7CisgICAgICB2ZXJ0ZXhBcnJheU9iamVjdCA9IE9FU192ZXJ0ZXhfYXJyYXlf
b2JqZWN0LmNyZWF0ZVZlcnRleEFycmF5T0VTKCk7CisgICAgICBzaG91bGRCZSgiZ2wuZ2V0RXJy
b3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgICAgc2hvdWxkQmVUcnVlKCJPRVNfdmVydGV4X2Fy
cmF5X29iamVjdC5pc1ZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIpOworICAgIH0K
K30KKworZnVuY3Rpb24gdGVzdEdMTk9FcnJvckZ1bmN0aW9ucyh0ZXN0cykgeworICB0ZXN0cy5m
b3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwg
Z2wuTk9fRVJST1IsIHRlc3QpOworICB9KTsKK30KKworZnVuY3Rpb24gdGVzdEZ1bmN0aW9uc1Ro
YXRSZXR1cm5OVUxMKHRlc3RzKSB7CisgIHRlc3RzLmZvckVhY2goZnVuY3Rpb24odGVzdCkgewor
ICAgICAgc2hvdWxkQmVOdWxsKHRlc3QpOworICB9KTsKIH0KIAogZnVuY3Rpb24gdGVzdExvc3RD
b250ZXh0KCkKQEAgLTE5OCwxNCArMjI1LDE0IEBAIGZ1bmN0aW9uIHRlc3RMb3N0Q29udGV4dCgp
CiAgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAogICAgICAg
ICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwKICAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwK
LSAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZh
czJkKSIsCiAgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCiAgICAgICAgICJnbC50ZXhQYXJh
bWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCki
LAogICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01J
Tl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKICAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlC
dWZmZXJWaWV3KSIsCiAgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkiLAogICAgICAgICAi
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBpbWFnZSkiLAotICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAgICAg
ICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgY2FudmFzMmQpIiwKICAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwK
ICAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIiwKICAgICAgICAgImds
LnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKQEAgLTI1NCw5ICsy
ODEsNyBAQCBmdW5jdGlvbiB0ZXN0TG9zdENvbnRleHQoKQogICAgICAgICAiZ2wudmVydGV4QXR0
cmliUG9pbnRlcigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIiwKICAgICAgICAgImdsLnZp
ZXdwb3J0KDAsIDAsIDAsIDApIiwKICAgICBdOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm9p
ZFRlc3RzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwg
Z2wuTk9fRVJST1IsIHZvaWRUZXN0c1tpXSk7Ci0gICAgfQorICAgIHRlc3RHTE5PRXJyb3JGdW5j
dGlvbnModm9pZFRlc3RzKTsKIAogICAgIC8vIEZ1bmN0aW9ucyByZXR1cm4gbnVsbGFibGUgdmFs
dWVzIHNob3VsZCBhbGwgcmV0dXJuIG51bGwuCiAgICAgdmFyIG51bGxUZXN0cyA9IFsKQEAgLTI4
NCwxMSArMzA5LDkgQEAgZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKICAgICAgICAgImdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndlBvc2l0aW9uJykiLAogICAgICAgICAiZ2wuZ2V0
VmVydGV4QXR0cmliKDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpIiwK
ICAgICAgICAgImdsLmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKSIsCi0gICAgICAgICJnbC5nZXRF
eHRlbnNpb24oJ1dFQkdMX2xvc2VfY29udGV4dCcpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lv
bignIiArIGV4dGVuc2lvbk5hbWUgKyAiJykiLAogICAgIF07Ci0gICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBudWxsVGVzdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgc2hvdWxkQmVOdWxsKG51bGxU
ZXN0c1tpXSk7Ci0gICAgfQorICAgIHRlc3RGdW5jdGlvbnNUaGF0UmV0dXJuTlVMTChudWxsVGVz
dHMpOwogCiAgICAgLy8gIklzIiBxdWVyaWVzIHNob3VsZCBhbGwgcmV0dXJuIGZhbHNlLgogICAg
IHNob3VsZEJlRmFsc2UoImdsLmlzQnVmZmVyKGJ1ZmZlcikiKTsKQEAgLTMwMSw2ICszMjQsMjAg
QEAgZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKIAogICAgIHNob3VsZEJlKCJnbC5nZXRFcnJv
cigpIiwgImdsLk5PX0VSUk9SIik7CiAKKyAgICAvLyB0ZXN0IGV4dGVuc2lvbnMKKyAgICBpZiAo
T0VTX3ZlcnRleF9hcnJheV9vYmplY3QpIHsKKyAgICAgIHRlc3RHTE5PRXJyb3JGdW5jdGlvbnMo
CisgICAgICAgIFsKKyAgICAgICAgICAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QuYmluZFZlcnRl
eEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIsCisgICAgICAgICAgIk9FU192ZXJ0ZXhfYXJy
YXlfb2JqZWN0LmlzVmVydGV4QXJyYXlPRVModmVydGV4QXJyYXlPYmplY3QpIiwKKyAgICAgICAg
ICAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QuZGVsZXRlVmVydGV4QXJyYXlPRVModmVydGV4QXJy
YXlPYmplY3QpIiwKKyAgICAgICAgXSk7CisgICAgICB0ZXN0RnVuY3Rpb25zVGhhdFJldHVybk5V
TEwoCisgICAgICAgIFsKKyAgICAgICAgICAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QuY3JlYXRl
VmVydGV4QXJyYXlPRVMoKSIsCisgICAgICAgIF0pOworICAgIH0KKwogICAgIGRlYnVnKCIiKTsK
IAogICAgIGZpbmlzaFRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGE3N2ZmNDA1YmVl
OGViMWU2NTZlZGY4ZjE5ZTcyNzAzMDJjOGZjYjkuLmJmOTY4MGMzZTBmNWU0YzM2MGJkN2Q4NDRl
MjZmMzcwODc4NmYxZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dApAQCAtNCwxNSArNCwxNCBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiAKIFRlc3RpbmcgZ2V0QWN0aXZlQXR0cmliCi1QQVNTIGNvbnRleHQuZ2V0
QWN0aXZlQXR0cmliKG51bGwsIDIpIGlzIG51bGwKLVBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCitQQVNTIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51
bGwsIDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykg
dG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEFjdGl2ZUF0dHJpYiBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
CiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51bGwKIFBBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFRlc3RpbmcgZ2V0QWN0aXZlVW5p
Zm9ybQotUEFTUyBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkgaXMgbnVsbAotUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAKK1BBU1MgY29u
dGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEFjdGl2
ZVVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCiBQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgY29udGV4dC5nZXRBY3Rp
dmVVbmlmb3JtKHByb2dyYW0sIDUwKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9lcnJvci1yZXBvcnRpbmcuaHRtbAppbmRleCAzZjZiY2MxODc5ODQ0MjZkMGFlYWNl
OTg2MjdjYzlhN2FlNDAzNzYyLi4zNDg4MzhhOWIzMDJlZDJlNTg1YTM0MjNhYTdhZDkwZTUzMzcy
M2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBv
cnRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBv
cnRpbmcuaHRtbApAQCAtMTUsMTAgKzE1LDYgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAKIHZh
ciBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFy
ZFByb2dyYW0oY29udGV4dCk7Ci0KLS8vIE90aGVyIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IGxp
a2UgZ2V0QWN0aXZlVGVzdCBhbmQKLS8vIGluY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlv
dXIgYWxyZWFkeSB0ZXN0IHRoZSByYWlzaW5nIG9mIG1hbnkKLS8vIHN5bnRoZXRpYyBHTCBlcnJv
cnMuIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcmFpc2luZyBvZiBjZXJ0YWluCiAvLyBrbm93biBy
ZWFsIEdMIGVycm9ycywgYW5kIGNvbnRhaW5zIGEgZmV3IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1
Z3MKIC8vIGRpc2NvdmVyZWQgaW4gdGhlIHN5bnRoZXRpYyBlcnJvciBnZW5lcmF0aW9uIGFuZCBp
biB0aGUgV2ViR0wKIC8vIGltcGxlbWVudGF0aW9uIGl0c2VsZi4KQEAgLTI2LDkgKzIyLDggQEAg
dmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogZ2xFcnJvclNob3Vs
ZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogCiBkZWJ1ZygiVGVzdGluZyBnZXRBY3Rp
dmVBdHRyaWIiKTsKLS8vIFN5bnRoZXRpYyBPcGVuR0wgZXJyb3IKLXNob3VsZEJlTnVsbCgiY29u
dGV4dC5nZXRBY3RpdmVBdHRyaWIobnVsbCwgMikiKTsKLWdsRXJyb3JTaG91bGRCZShjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUpOworc2hvdWxkVGhyb3coImNvbnRleHQuZ2V0QWN0aXZl
QXR0cmliKG51bGwsIDIpIik7CitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5OT19F
UlJPUik7CiAvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIgYnkgdGhpcyBwb2ludAogZ2xF
cnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogLy8gUmVhbCBPcGVuR0wg
ZXJyb3IKQEAgLTM4LDkgKzMzLDcgQEAgZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQu
SU5WQUxJRF9WQUxVRSk7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5OT19FUlJP
Uik7CiAKIGRlYnVnKCJUZXN0aW5nIGdldEFjdGl2ZVVuaWZvcm0iKTsKLS8vIFN5bnRoZXRpYyBP
cGVuR0wgZXJyb3IKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGws
IDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFKTsK
K3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkiKTsKIC8vIEVy
cm9yIHN0YXRlIHNob3VsZCBiZSBjbGVhciBieSB0aGlzIHBvaW50CiBnbEVycm9yU2hvdWxkQmUo
Y29udGV4dCwgY29udGV4dC5OT19FUlJPUik7CiAvLyBSZWFsIE9wZW5HTCBlcnJvcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC1l
eHBlY3RlZC50eHQKaW5kZXggYjI4NDFkOGY5M2NiMDVhMDg4NzYxZmM5Nzk5YzUyNmM3YjYzOTc5
Yy4uOGRjNTk2ZTQ3ZWNkZWMyMDNmMDk2YjExOGNhOGZiOTdjODY1NTAyNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3QtZXhw
ZWN0ZWQudHh0CkBAIC0xMCw4ICsxMCw4IEBAIFBBU1MgY29udGV4dC5nZXRBY3RpdmVVbmlmb3Jt
KHByb2dyYW0sIDEpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAt
MSkgaXMgbnVsbAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFM
VUUgOiAKLVBBU1MgY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIGlzIG51bGwKLVBB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCitQQVNTIGNv
bnRleHQuZ2V0QWN0aXZlVW5pZm9ybShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRBY3Rp
dmVVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGluZm9baWldIGlzIG5v
bi1udWxsLgogUEFTUyBpbmZvW2lpXSBpcyBub24tbnVsbC4KIFBBU1MgaW5mb1tpaV0ubmFtZSBp
cyBleHBlY3RlZFtpaV0ubmFtZQpAQCAtMzIsOCArMzIsOCBAQCBQQVNTIGNvbnRleHQuZ2V0QWN0
aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHBy
b2dyYW0sIC0xKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9WQUxVRSA6IAotUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSBpcyBu
dWxsCi1QQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IAor
UEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5n
ZXRBY3RpdmVBdHRyaWIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogQ2hlY2sgdHJ5aW5nIHRvIGdldCBhdHRy
aWJzIGZyb20gZGlmZmVyZW50IGNvbnRleHQKIFBBU1MgY29udGV4dDIuZ2V0QWN0aXZlQXR0cmli
KHByb2dyYW0sIDApIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2dldC1hY3RpdmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKaW5kZXggMTcyZDA2NDVjNDhjOTliYjdlYzc0ZmQxZWE2
ZjU3Y2UzNmI3NmEwYy4uMGJlMzMzM2YyNWFlY2U4MzQyNjVhZTlmOWU3ODdmODFmYzNhNWYyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0
Lmh0bWwKQEAgLTI4LDggKzI4LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZVVu
aWZvcm0ocHJvZ3JhbSwgMSkiKTsKIGdsRXJyb3JTaG91bGRCZShjb250ZXh0LCBjb250ZXh0LklO
VkFMSURfVkFMVUUpOwogc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJv
Z3JhbSwgLTEpIik7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZB
TFVFKTsKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIik7
Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFKTsKK3Nob3Vs
ZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkiKTsKK2dsRXJyb3JTaG91
bGRCZShjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SKTsKIAogLy8gd2UgZG9uJ3Qga25vdyB0aGUg
b3JkZXIgdGhlIGF0dHJpYnMgd2lsbCBhcHBlYXIuCiB2YXIgaW5mbyA9IFsKQEAgLTg1LDggKzg1
LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAyKSIp
OwogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7CiBzaG91
bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIC0xKSIpOwogZ2xFcnJv
clNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7Ci1zaG91bGRCZU51bGwo
ImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51bGwsIDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29u
dGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFj
dGl2ZUF0dHJpYihudWxsLCAwKSIpOworZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IpOwogCiBnbEVycm9yU2hvdWxkQmUoY29udGV4dDIsIGNvbnRleHQuTk9fRVJST1Ip
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1vYmplY3Qt
Z2V0LWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2ds
LW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CmluZGV4IDlkZmU2YjM0NGM2MzU4OGJhZTVi
ZWE5ZjExODE3ZDViZTg0NDU2MmEuLmQzZWU0Zjg4ZmNhYmIwZjE1NzA2Njk1OTVlNmY4NDVjN2Qx
ODViY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLW9iamVj
dC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC01LDggKzUsOCBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzaGFkZXJzLmxlbmd0aCBpcyAyCiBQQVNTIHNoYWRl
cnNbMF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRGcmFnIHx8IHNo
YWRlcnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRGcmFnIGlz
IHRydWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAotUEFT
UyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMobnVsbCkgaXMgbnVsbAotUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAKK1BBU1MgZ2wuZ2V0QXR0YWNoZWRTaGFk
ZXJzKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFt
JykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEF0dGFjaGVkU2hhZGVycyBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdl
YkdMUmVuZGVyaW5nQ29udGV4dC5nZXRBdHRhY2hlZFNoYWRlcnMgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBXZWJHTFByb2dyYW0uCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiAKIFBBU1MgZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZX0JVRkZFUiwgZ2wu
QlVGRkVSX1NJWkUpIGlzIDE2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKaW5kZXggZGY5NDM3ZWI2OGZhMGZiMzllZDYw
YTZjYTM3MGQ3NGI4Mjk3ZDFjOS4uMGM4OTkzOGU2YmQxYWExNWEwNmNmMTVlZDlkNTU5Mzc0OWVj
OGNlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtb2JqZWN0
LWdldC1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLW9i
amVjdC1nZXQtY2FsbHMuaHRtbApAQCAtNDQsOCArNDQsOCBAQCB2YXIgc2hhZGVycyA9IGdsLmdl
dEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFByb2dyYW0pOwogc2hvdWxkQmUoJ3NoYWRlcnMubGVu
Z3RoJywgJzInKTsKIHNob3VsZEJlVHJ1ZSgnc2hhZGVyc1swXSA9PSBzdGFuZGFyZFZlcnQgJiYg
c2hhZGVyc1sxXSA9PSBzdGFuZGFyZEZyYWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZFZlcnQg
JiYgc2hhZGVyc1swXSA9PSBzdGFuZGFyZEZyYWcnKTsKIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IpOwotc2hvdWxkQmVOdWxsKCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMobnVsbCknKTsK
LWdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSk7CitzaG91bGRUaHJvdygnZ2wu
Z2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKIHNob3VsZFRocm93KCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0KScp
OwogZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIt
ZXhwZWN0ZWQudHh0CmluZGV4IDBiMTE4ZDk4NDhhZjFkZjg2MWQwOTNiMGExZDU3YjgyM2FjMDcy
ODYuLmZlZmE2M2Y0ZjY5MTY0NTI0ODBlMGY3NTg2YzU5ODYzNTdhN2M2Y2UgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3Qt
YmVoYXZpb3VyLWV4cGVjdGVkLnR4dApAQCAtNCwxNiArNCwxNiBAQCBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURQogCiBQQVNTIFByb2dyYW0gQ29tcGlsZWQKIFBBU1MgU2hhZGVyIENvbXBpbGVkCi1Q
QVNTIGNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmluZWQpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIo
dW5kZWZpbmVkLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4K
LVBBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuYXR0YWNoU2hhZGVyKHVuZGVm
aW5lZCwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNv
bnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LmRldGFjaFNoYWRlcih1bmRlZmluZWQsIHNo
YWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LnNo
YWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuYmluZEF0dHJp
YkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9WQUxVRS4KK1BBU1MgY29udGV4dC5jb21waWxlU2hhZGVyKHVuZGVmaW5lZCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5jb21waWxlU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIu
CitQQVNTIGNvbnRleHQubGlua1Byb2dyYW0odW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5s
aW5rUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgY29u
dGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1Mg
Y29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgorUEFTUyBj
b250ZXh0LmF0dGFjaFNoYWRlcih1bmRlZmluZWQsIHNoYWRlcikgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQu
YXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgorUEFTUyBj
b250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCB1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQu
ZGV0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCitQQVNTIGNv
bnRleHQuZGV0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5k
ZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCitQQVNTIGNv
bnRleHQuc2hhZGVyU291cmNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgorUEFTUyBj
b250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnNo
YWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgorUEFTUyBjb250
ZXh0LmJpbmRBdHRyaWJMb2NhdGlvbih1bmRlZmluZWQsIDAsICdmb28nKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dy
YW0uCiBQQVNTIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgMCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2J1ZmZlcicpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5iaW5kQnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xCdWZm
ZXIuCiBQQVNTIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIDAp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdmcmFtZWJ1ZmZlcicpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kRnJhbWVidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBXZWJHTEZyYW1lYnVmZmVyLgogUEFTUyBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29u
dGV4dC5SRU5ERVJCVUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDIgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZFJlbmRlcmJ1
ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUmVuZGVyYnVmZmVyLgpAQCAtMjgsMTMg
KzI4LDEzIEBAIFBBU1MgY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVG
RkVSLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1CiBQQVNTIGNvbnRleHQuYmluZFRleHR1
cmUoY29udGV4dC5URVhUVVJFXzJELCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCiBQQVNTIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4dC5GUkFN
RUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJVRkZFUiwg
bnVsbCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KIFBBU1MgY29udGV4
dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9S
X0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCi1QQVNTIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRl
cih1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1Mg
Y29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIodW5kZWZp
bmVkLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQu
Z2V0U2hhZGVySW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVkKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuZ2V0VW5pZm9ybSh1bmRl
ZmluZWQsIG51bGwpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29u
dGV4dC5nZXRVbmlmb3JtTG9jYXRpb24odW5kZWZpbmVkLCAnZm9vJykgd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIodW5k
ZWZpbmVkLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3Jh
bScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgorUEFTUyBjb250ZXh0LmdldFByb2dyYW1JbmZv
TG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2cgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCitQQVNTIGNvbnRleHQuZ2V0U2hhZGVy
UGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFkZXJQYXJhbWV0
ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29udGV4dC5nZXRT
aGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFkZXJJbmZv
TG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCitQQVNTIGNvbnRleHQuZ2V0
U2hhZGVyU291cmNlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFkZXJTb3VyY2Ug
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29udGV4dC5nZXRVbmlm
b3JtKHVuZGVmaW5lZCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgY29udGV4dC5nZXRVbmlmb3JtTG9j
YXRpb24odW5kZWZpbmVkLCAnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9ybUxvY2F0
aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgogCiBjaGVjayB3aXRoIGJp
bmRpbmdzCiBQQVNTIGNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgMSwg
Y29udGV4dC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZp
b3VyLmh0bWwKaW5kZXggNmJhYjYxNzkwNTg2NzNhZjc3ZGNmOTUzM2UxYzU2ZWMyMzFjNDI4ZC4u
ZWNkN2E4YTlhZGY5NGQ2ODcwNjE0ZWY2MTFiYTM5ODFkN2VmOTNmNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0
bWwKQEAgLTIyLDE2ICsyMiwxNiBAQCB2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yID0gd3R1LnNo
b3VsZEdlbmVyYXRlR0xFcnJvcjsKIAogYXNzZXJ0TXNnKHByb2dyYW0gIT0gbnVsbCwgIlByb2dy
YW0gQ29tcGlsZWQiKTsKIGFzc2VydE1zZyhzaGFkZXIgIT0gbnVsbCwgIlNoYWRlciBDb21waWxl
ZCIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSwgImNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5saW5rUHJvZ3Jh
bSh1bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQp
Iik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVF
LCAiY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSIpOwotc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuYXR0
YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dy
YW0sIHVuZGVmaW5lZCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0
LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRldGFjaFNoYWRlcih1bmRlZmluZWQsIHNoYWRlciki
KTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUs
ICJjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsKLXNob3VsZEdl
bmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LnNo
YWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9u
KHVuZGVmaW5lZCwgMCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5jb21waWxlU2hh
ZGVyKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmxpbmtQcm9ncmFtKHVuZGVm
aW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcih1bmRlZmluZWQsIHVu
ZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcihwcm9ncmFtLCB1
bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVk
LCBzaGFkZXIpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwg
dW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZGV0YWNoU2hhZGVyKHVuZGVmaW5l
ZCwgc2hhZGVyKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291cmNlKHVuZGVmaW5l
ZCwgdW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291cmNlKHVuZGVm
aW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24o
dW5kZWZpbmVkLCAwLCAnZm9vJykiKTsKIHNob3VsZFRocm93KCJjb250ZXh0LmJpbmRCdWZmZXIo
Y29udGV4dC5BUlJBWV9CVUZGRVIsIDApIik7CiBzaG91bGRUaHJvdygiY29udGV4dC5iaW5kRnJh
bWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgMCkiKTsKIHNob3VsZFRocm93KCJjb250ZXh0
LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIik7CkBAIC00NiwxMyAr
NDYsMTMgQEAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1Is
ICJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGUKIHNob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRF
WFRVUkVfMkQsIHVuZGVmaW5lZCkiKTsKIHNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBj
b250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cihjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQsIGNvbnRleHQu
UkVOREVSQlVGRkVSLCBudWxsKSIpOwogc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNv
bnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVY
VFVSRV8yRCwgbnVsbCwgMCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250
ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIodW5kZWZpbmVk
LCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9W
QUxVRSwgImNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2codW5kZWZpbmVkLCAwKSIpOwotc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQu
Z2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFNoYWRlckluZm9M
b2codW5kZWZpbmVkLCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0U2hhZGVyU291cmNlKHVuZGVmaW5lZCkiKTsK
LXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJj
b250ZXh0LmdldFVuaWZvcm0odW5kZWZpbmVkLCBudWxsKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHVuZGVmaW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFBy
b2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFNo
YWRlclBhcmFtZXRlcih1bmRlZmluZWQsIDApIik7CitzaG91bGRUaHJvdygiY29udGV4dC5nZXRT
aGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFNo
YWRlclNvdXJjZSh1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5nZXRVbmlmb3Jt
KHVuZGVmaW5lZCwgbnVsbCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFVuaWZvcm1Mb2Nh
dGlvbih1bmRlZmluZWQsICdmb28nKSIpOwogCiBkZWJ1ZygiIik7CiBkZWJ1ZygiY2hlY2sgd2l0
aCBiaW5kaW5ncyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9y
ZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nh
bnZhcy9yZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sCmluZGV4IDhkOWE2ZGMwMTdjMTgz
Y2VkYmU4YTc1YTk4MDkzNmUyZWUxYWMwYzIuLjA3YmE4M2VhNGJmZWQ2MGJkOTE3MWQ3OWU4OTJm
MTViYTdhMmM0YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVj
b3JkaW5nLXdlYmdsLWZyYW1lQ291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y2FudmFzL3JlY29yZGluZy13ZWJnbC1mcmFtZUNvdW50Lmh0bWwKQEAgLTYsOCArNiw5IEBACiA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRpbGl0aWVzLXdlYmdsLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KICAgICBhdHRyaWJ1dGUgdmVjNCB0ZXN0OworICAgIHVuaWZvcm0gdmVjNCB0ZXN0VW5p
Zm9ybTsKICAgICB2b2lkIG1haW4odm9pZCkgewotICAgICAgICBnbF9Qb3NpdGlvbiA9IHRlc3Q7
CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdCArIHRlc3RVbmlmb3JtOwogICAgIH0KIDwvc2Ny
aXB0PgogPHNjcmlwdCBpZD0iZnJhZ21lbnQtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5n
LXdlYmdsLWZ1bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9y
ZWNvcmRpbmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKaW5kZXggNzgyZTc4NTAzMDFhZWFiZmFm
MmM3M2RjMTEyNWI4MzFjOGU4MGMxNi4uNGVmMzIyMWNmY2JlZmUzYTM2MWE0ZDU0OTNiMjYyYWVh
NTkxM2ZmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRp
bmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nh
bnZhcy9yZWNvcmRpbmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKQEAgLTUyNyw4ICs1MjcsOCBA
QCBmcmFtZXM6CiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4
ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDczOiAoZHVyYXRpb24pCi0gICAgMDogZ2V0VW5pZm9ybSgw
KQotICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xQcm9ncmFtXQorICAgIDA6IGdldFVuaWZvcm0o
MCwgMCkKKyAgICAgIHN3aXp6bGVUeXBlczogW1dlYkdMUHJvZ3JhbSwgV2ViR0xVbmlmb3JtTG9j
YXRpb25dCiAgICAgICB0cmFjZToKICAgICAgICAgMDogZ2V0VW5pZm9ybQogICAgICAgICAxOiAo
YW5vbnltb3VzIGZ1bmN0aW9uKQpAQCAtNzYyLDEzNCArNzYyLDEzNCBAQCBmcmFtZXM6CiAgICAg
ICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0
aW9uCiAgIDEwNTogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0xZigxKQotICAgICAgc3dpenps
ZVR5cGVzOiBbTnVtYmVyXQorICAgIDA6IHVuaWZvcm0xZigwLCAxKQorICAgICAgc3dpenpsZVR5
cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAg
ICAwOiB1bmlmb3JtMWYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAg
MjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTA2OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9y
bTFmdigwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3Jt
MWZ2KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlw
ZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtMWZ2CiAgICAgICAgIDE6
IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAg
IDEwNzogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0xaSgxKQotICAgICAgc3dpenpsZVR5cGVz
OiBbTnVtYmVyXQorICAgIDA6IHVuaWZvcm0xaSgwLCAxKQorICAgICAgc3dpenpsZVR5cGVzOiBb
V2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1
bmlmb3JtMWkKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAgMjogZXhl
Y3V0ZUZyYW1lRnVuY3Rpb24KICAgMTA4OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9ybTFpdigw
KQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtMWl2KDAs
IDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlwZWRBcnJh
eV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtMWl2CiAgICAgICAgIDE6IChhbm9u
eW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDEwOTog
KGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0yZigxLCAyKQotICAgICAgc3dpenpsZVR5cGVzOiBb
TnVtYmVyLCBOdW1iZXJdCisgICAgMDogdW5pZm9ybTJmKDAsIDEsIDIpCisgICAgICBzd2l6emxl
VHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgTnVtYmVyLCBOdW1iZXJdCiAgICAgICB0cmFj
ZToKICAgICAgICAgMDogdW5pZm9ybTJmCiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24p
CiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExMDogKGR1cmF0aW9uKQotICAg
IDA6IHVuaWZvcm0yZnYoMCkKLSAgICAgIHN3aXp6bGVUeXBlczogW1R5cGVkQXJyYXldCisgICAg
MDogdW5pZm9ybTJmdigwLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9j
YXRpb24sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5pZm9ybTJmdgog
ICAgICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRlRnJhbWVG
dW5jdGlvbgogICAxMTE6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtMmkoMSwgMikKLSAgICAg
IHN3aXp6bGVUeXBlczogW051bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm0yaSgwLCAxLCAy
KQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlciwgTnVt
YmVyXQogICAgICAgdHJhY2U6CiAgICAgICAgIDA6IHVuaWZvcm0yaQogICAgICAgICAxOiAoYW5v
bnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRlRnJhbWVGdW5jdGlvbgogICAxMTI6
IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtMml2KDApCi0gICAgICBzd2l6emxlVHlwZXM6IFtU
eXBlZEFycmF5XQorICAgIDA6IHVuaWZvcm0yaXYoMCwgMCkKKyAgICAgIHN3aXp6bGVUeXBlczog
W1dlYkdMVW5pZm9ybUxvY2F0aW9uLCBUeXBlZEFycmF5XQogICAgICAgdHJhY2U6CiAgICAgICAg
IDA6IHVuaWZvcm0yaXYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAg
MjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTEzOiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9y
bTNmKDEsIDIsIDMpCi0gICAgICBzd2l6emxlVHlwZXM6IFtOdW1iZXIsIE51bWJlciwgTnVtYmVy
XQorICAgIDA6IHVuaWZvcm0zZigwLCAxLCAyLCAzKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2Vi
R0xVbmlmb3JtTG9jYXRpb24sIE51bWJlciwgTnVtYmVyLCBOdW1iZXJdCiAgICAgICB0cmFjZToK
ICAgICAgICAgMDogdW5pZm9ybTNmCiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAg
ICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExNDogKGR1cmF0aW9uKQotICAgIDA6
IHVuaWZvcm0zZnYoMCkKLSAgICAgIHN3aXp6bGVUeXBlczogW1R5cGVkQXJyYXldCisgICAgMDog
dW5pZm9ybTNmdigwLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRp
b24sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5pZm9ybTNmdgogICAg
ICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRlRnJhbWVGdW5j
dGlvbgogICAxMTU6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtM2koMSwgMiwgMykKLSAgICAg
IHN3aXp6bGVUeXBlczogW051bWJlciwgTnVtYmVyLCBOdW1iZXJdCisgICAgMDogdW5pZm9ybTNp
KDAsIDEsIDIsIDMpCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwg
TnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3Jt
M2kKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAgMjogZXhlY3V0ZUZy
YW1lRnVuY3Rpb24KICAgMTE2OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9ybTNpdigwKQotICAg
ICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtM2l2KDAsIDApCisg
ICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlwZWRBcnJheV0KICAg
ICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtM2l2CiAgICAgICAgIDE6IChhbm9ueW1vdXMg
ZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExNzogKGR1cmF0
aW9uKQotICAgIDA6IHVuaWZvcm00ZigxLCAyLCAzLCA0KQotICAgICAgc3dpenpsZVR5cGVzOiBb
TnVtYmVyLCBOdW1iZXIsIE51bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm00ZigwLCAxLCAy
LCAzLCA0KQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJl
ciwgTnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlm
b3JtNGYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAgMjogZXhlY3V0
ZUZyYW1lRnVuY3Rpb24KICAgMTE4OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9ybTRmdigwKQot
ICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtNGZ2KDAsIDAp
CisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlwZWRBcnJheV0K
ICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtNGZ2CiAgICAgICAgIDE6IChhbm9ueW1v
dXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExOTogKGR1
cmF0aW9uKQotICAgIDA6IHVuaWZvcm00aSgxLCAyLCAzLCA0KQotICAgICAgc3dpenpsZVR5cGVz
OiBbTnVtYmVyLCBOdW1iZXIsIE51bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm00aSgwLCAx
LCAyLCAzLCA0KQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51
bWJlciwgTnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1
bmlmb3JtNGkKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAgMjogZXhl
Y3V0ZUZyYW1lRnVuY3Rpb24KICAgMTIwOiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9ybTRpdigw
KQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtNGl2KDAs
IDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlwZWRBcnJh
eV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtNGl2CiAgICAgICAgIDE6IChhbm9u
eW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDEyMTog
KGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm1NYXRyaXgyZnYodHJ1ZSwgMCkKLSAgICAgIHN3aXp6
bGVUeXBlczogW0Jvb2xlYW4sIFR5cGVkQXJyYXldCisgICAgMDogdW5pZm9ybU1hdHJpeDJmdigw
LCB0cnVlLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIEJv
b2xlYW4sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5pZm9ybU1hdHJp
eDJmdgogICAgICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRl
RnJhbWVGdW5jdGlvbgogICAxMjI6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtTWF0cml4M2Z2
KHRydWUsIDApCi0gICAgICBzd2l6emxlVHlwZXM6IFtCb29sZWFuLCBUeXBlZEFycmF5XQorICAg
IDA6IHVuaWZvcm1NYXRyaXgzZnYoMCwgdHJ1ZSwgMCkKKyAgICAgIHN3aXp6bGVUeXBlczogW1dl
YkdMVW5pZm9ybUxvY2F0aW9uLCBCb29sZWFuLCBUeXBlZEFycmF5XQogICAgICAgdHJhY2U6CiAg
ICAgICAgIDA6IHVuaWZvcm1NYXRyaXgzZnYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlv
bikKICAgICAgICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTIzOiAoZHVyYXRpb24pCi0g
ICAgMDogdW5pZm9ybU1hdHJpeDRmdih0cnVlLCAwKQotICAgICAgc3dpenpsZVR5cGVzOiBbQm9v
bGVhbiwgVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtTWF0cml4NGZ2KDAsIHRydWUsIDApCisg
ICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgQm9vbGVhbiwgVHlwZWRB
cnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtTWF0cml4NGZ2CiAgICAgICAg
IDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1mdWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1mdWxsLmh0bWwKaW5kZXggNzYxMzNlZTIyOGZiY2Fk
ZTc2OWUzOWU4ZDMwYTNkZTZlMzcwMWMyMi4uNTIwYTM3ZmQyMmRhYjEzNzEzMWUwYTFiNDgxYjAy
ZDc2MzhkMzlhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNv
cmRpbmctd2ViZ2wtZnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMv
cmVjb3JkaW5nLXdlYmdsLWZ1bGwuaHRtbApAQCAtNiw4ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvc2hhZGVyUHJvZ3JhbS11dGlsaXRpZXMtd2ViZ2wuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBpZD0idmVydGV4LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgIGF0
dHJpYnV0ZSB2ZWM0IHRlc3Q7CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZv
aWQgbWFpbih2b2lkKSB7Ci0gICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdDsKKyAgICAgICAgZ2xf
UG9zaXRpb24gPSB0ZXN0ICsgdGVzdFVuaWZvcm07CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0
IGlkPSJmcmFnbWVudC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtbWVtb3J5
TGltaXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmds
LW1lbW9yeUxpbWl0Lmh0bWwKaW5kZXggODk1NTgxN2YyZWI1ZWRkNDEwNzE5YzIxMTE0ZjcxY2Rh
MDM0MmRiNS4uMTM5NGY3OTQ4NDFlNjIxZDQzNzEwNTkwZGQ5ZjQ4ZjAxNTg3MGRjYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtbWVtb3J5
TGltaXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13
ZWJnbC1tZW1vcnlMaW1pdC5odG1sCkBAIC02LDggKzYsOSBAQAogPHNjcmlwdCBzcmM9InJlc291
cmNlcy9zaGFkZXJQcm9ncmFtLXV0aWxpdGllcy13ZWJnbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IGlkPSJ2ZXJ0ZXgtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CiAgICAgYXR0cmli
dXRlIHZlYzQgdGVzdDsKKyAgICB1bmlmb3JtIHZlYzQgdGVzdFVuaWZvcm07CiAgICAgdm9pZCBt
YWluKHZvaWQpIHsKLSAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0OworICAgICAgICBnbF9Qb3Np
dGlvbiA9IHRlc3QgKyB0ZXN0VW5pZm9ybTsKICAgICB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgaWQ9
ImZyYWdtZW50LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1zbmFwc2hvdHMu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBz
aG90cy5odG1sCmluZGV4IDNkNTU4OGQ1ZjE1MjEyODgyNzQ0YzNlN2FiODMxNDI3MWYzMjBkYjcu
LmU2Y2Q3ZWY5NDQyNTk4NDJiZmM3OTYwNjk3ZGM2NWI3ZjYxMGQ4ODQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBzaG90cy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBz
aG90cy5odG1sCkBAIC02LDYgKzYsNyBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkZXJQ
cm9ncmFtLXV0aWxpdGllcy13ZWJnbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJ2ZXJ0ZXgt
c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CiAgICAgYXR0cmlidXRlIHZlYzMgcG9z
aXRpb247CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQgbWFpbih2b2lk
KSB7CiAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMS4wKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDIt
ZnJhbWVDb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmct
d2ViZ2wyLWZyYW1lQ291bnQuaHRtbAppbmRleCA1MGZiZWRlMTU3ZjFmMmQyYjEyODliMmJiMGYy
NmQzNzNmZjUzOWM1Li45ZjRhNjlkNDZmZTNmM2I5OGZlYTViNTYzYTY4MmFlYWY5YzY1NDA0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDIt
ZnJhbWVDb3VudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3Jk
aW5nLXdlYmdsMi1mcmFtZUNvdW50Lmh0bWwKQEAgLTYsOCArNiw5IEBACiA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRpbGl0aWVzLXdlYmdsLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KICAgICBh
dHRyaWJ1dGUgdmVjNCB0ZXN0OworICAgIHVuaWZvcm0gdmVjNCB0ZXN0VW5pZm9ybTsKICAgICB2
b2lkIG1haW4odm9pZCkgewotICAgICAgICBnbF9Qb3NpdGlvbiA9IHRlc3Q7CisgICAgICAgIGds
X1Bvc2l0aW9uID0gdGVzdCArIHRlc3RVbmlmb3JtOwogICAgIH0KIDwvc2NyaXB0PgogPHNjcmlw
dCBpZD0iZnJhZ21lbnQtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1mdWxs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItZnVs
bC5odG1sCmluZGV4IDE4NzRlYTkzZGQ1YjkzM2FmOTAzYjkxNGQyYjQ3Y2QzMjQyNzdkODkuLjAy
Zjk2MjQ4N2JiMjliNTYzYWNlODRmZjMxNmMyZDlhNGZjZjBjZmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1mdWxsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLWZ1bGwuaHRtbApA
QCAtNiw4ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZGVyUHJvZ3JhbS11dGls
aXRpZXMtd2ViZ2wuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBpZD0idmVydGV4LXNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgIGF0dHJpYnV0ZSB2ZWM0IHRlc3Q7CisgICAgdW5p
Zm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQgbWFpbih2b2lkKSB7Ci0gICAgICAgIGds
X1Bvc2l0aW9uID0gdGVzdDsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0ICsgdGVzdFVuaWZv
cm07CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJmcmFnbWVudC1zaGFkZXIiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLW1lbW9yeUxpbWl0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGltaXQuaHRtbAppbmRleCA4
NjA0ZGY2MWNjY2NkNjEzYzdkNWVhNmYzNzdmNmRmYjFjMjUwNWI3Li5hMzliOTgxZDQ0NTIwZTM5
M2VlMWJmOGVlZTdkMTVhMjJkZDdlNmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGltaXQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGltaXQuaHRtbApA
QCAtNiw4ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZGVyUHJvZ3JhbS11dGls
aXRpZXMtd2ViZ2wuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBpZD0idmVydGV4LXNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgIGF0dHJpYnV0ZSB2ZWM0IHRlc3Q7CisgICAgdW5p
Zm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQgbWFpbih2b2lkKSB7Ci0gICAgICAgIGds
X1Bvc2l0aW9uID0gdGVzdDsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0ICsgdGVzdFVuaWZv
cm07CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJmcmFnbWVudC1zaGFkZXIiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLXNuYXBzaG90cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLXNuYXBzaG90cy5odG1sCmluZGV4IDllOWE0
YThjZWVlZGM4NzY5YTM0YjllOTE0MzQwYTljZDA4OTlkOTQuLjI5MjcxYTI1ZGU3NzFiOTZlOTNl
NDEwMjM0ZTcwZDA3ZDliNDMxMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
YW52YXMvcmVjb3JkaW5nLXdlYmdsMi1zbmFwc2hvdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItc25hcHNob3RzLmh0bWwKQEAgLTYsNiAr
Niw3IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRpbGl0aWVzLXdl
YmdsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KICAgICBhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjsKKyAgICB1bmlmb3Jt
IHZlYzQgdGVzdFVuaWZvcm07CiAgICAgdm9pZCBtYWluKHZvaWQpIHsKICAgICAgICAgZ2xfUG9z
aXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAxLjApOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb3VyY2VzL3JlY29yZGluZy13ZWJnbC5qcyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb3VyY2VzL3JlY29yZGluZy13ZWJnbC5qcwppbmRl
eCA4ZDY5ZWRmYzlhNzhmY2YzOTBmNmY3MmI3MTMwNGMzMmZlNjZjMzRmLi5mOTJhNzUyZGZkNWI5
ODU1NzE0OTY0ZDI3MTU4ZWY5YmY3YTE4NWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY2FudmFzL3Jlc291cmNlcy9yZWNvcmRpbmctd2ViZ2wuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvcmVjb3JkaW5nLXdlYmdsLmpzCkBAIC0yNCw3
ICsyNCw3IEBAIGZ1bmN0aW9uIGxvYWQoKSB7CiAKICAgICBidWZmZXIgPSBjb250ZXh0LmNyZWF0
ZUJ1ZmZlcigpOwogICAgIGZyYW1lYnVmZmVyID0gY29udGV4dC5jcmVhdGVGcmFtZWJ1ZmZlcigp
OwotICAgIHVuaWZvcm1Mb2NhdGlvbiA9IGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW0sICJ0ZXN0Iik7CisgICAgdW5pZm9ybUxvY2F0aW9uID0gY29udGV4dC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInRlc3RVbmlmb3JtIik7CiAgICAgcmVuZGVyYnVmZmVyID0gY29udGV4
dC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKICAgICBzaGFkZXIgPSBjb250ZXh0LmNyZWF0ZVNoYWRl
cihjb250ZXh0LlZFUlRFWF9TSEFERVIpOwogICAgIHRleHR1cmUgPSBjb250ZXh0LmNyZWF0ZVRl
eHR1cmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
L21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
LzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4cGVjdGVkLnR4dApp
bmRleCA3ZmQxMDQ5NjBlYTY5Y2RiYzVjYjUyMjgwNjZhNGVmZGU5YmI3NzhjLi44NzgxYWE1MTI5
ZGNlYmEzZmI3OTVhZjdiMjI0MzdhNWM4MjVhNjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93
ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJn
dW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDExMyArMSw0IEBACiBUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KIAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbAotCi1bIDE6IFBBU1MgXSBQcm9n
cmFtIENvbXBpbGVkCi1bIDI6IFBBU1MgXSBTaGFkZXIgQ29tcGlsZWQKLVsgMzogUEFTUyBdIGdl
dFVuaWZvcm1Mb2NhdGlvbiBzdWNjZWVkZWQKLVsgNDogUEFTUyBdIGNvbnRleHQuY29tcGlsZVNo
YWRlcihhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3No
YWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5jb21waWxlU2hhZGVyIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDU6IFBBU1MgXSBjb250ZXh0LmxpbmtQcm9ncmFt
KGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3Jh
bScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5saW5rUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNjogUEFTUyBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHBy
b2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgn
c2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA3OiBQQVNTIF0gY29udGV4dC5hdHRhY2hTaGFk
ZXIoYXJndW1lbnQsIHNoYWRlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA4OiBQQVNTIF0gY29udGV4dC5kZXRh
Y2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZGV0YWNoU2hhZGVy
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDk6IFBBU1MgXSBjb250ZXh0
LmRldGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hT
aGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDEwOiBQQVNTIF0g
Y29udGV4dC5zaGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnNo
YWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAxMTogUEFT
UyBdIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9vJykgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xQcm9ncmFtLgotWyAxMjogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1l
bnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8g
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFByb2dyYW1JbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAxMzogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFt
ZXRlcihhcmd1bWVudCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlciBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMTQ6IFBBU1MgXSBjb250ZXh0
LmdldFNoYWRlckluZm9Mb2coYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVySW5m
b0xvZyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAxNTogUEFTUyBdIGNv
bnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmdl
dFNoYWRlclBhcmFtZXRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAx
NjogUEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmdldFNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgot
WyAxNzogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5nZXRVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgot
WyAxODogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybShwcm9ncmFtLCBhcmd1bWVudCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2xvY2F0aW9uJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVuaWZv
cm1Mb2NhdGlvbi4KLVsgMTk6IFBBU1MgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1
bWVudCwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZv
cm1Mb2NhdGlvbiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMjA6IFBB
U1MgXSBjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIGFyZ3VtZW50KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnYnVmZmVyJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmJpbmRCdWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTEJ1
ZmZlci4KLVsgMjE6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1F
QlVGRkVSLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAo
J2ZyYW1lYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFtZWJ1ZmZlciBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDIyOiBQQVNTIF0gY29u
dGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVudCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3JlbmRlcmJ1ZmZlcicpIHRvIFdl
YkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgV2ViR0xSZW5kZXJidWZmZXIuCi1bIDIzOiBQQVNTIF0gY29udGV4dC5iaW5kVGV4dHVyZShj
b250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAyICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kVGV4dHVy
ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgMjQ6IFBBU1MgXSBjb250
ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQu
REVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCA0ICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xSZW5kZXJidWZmZXIuCi1bIDI1OiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZl
clRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQw
LCBjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCA0ICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5mcmFt
ZWJ1ZmZlclRleHR1cmUyRCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsg
MjY6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXko
WzAuMCwgMC4wXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2Nh
dGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMmZ2IG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDI3OiBQQVNTIF0gY29udGV4dC51bmlm
b3JtMml2KGFyZ3VtZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQudW5pZm9ybTJpdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9u
LgotWyAyODogUEFTUyBdIGNvbnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVudCwgZmFsc2Us
IG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4wLCAwLjAsIDAuMF0pKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQudW5pZm9ybU1hdHJpeDJmdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxv
Y2F0aW9uLgotWyAyOTogUEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQudXNlUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3Jh
bS4KLVsgMzA6IFBBU1MgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIoYXJndW1lbnQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuY29tcGlsZVNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgotWyAzMTogUEFTUyBdIGNvbnRleHQubGlua1Byb2dyYW0oYXJndW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmxpbmtQcm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgot
WyAzMjogUEFTUyBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hh
ZGVyLgotWyAzMzogUEFTUyBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdl
YkdMUHJvZ3JhbS4KLVsgMzQ6IFBBU1MgXSBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCBh
cmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3NoYWRlcicp
IHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBXZWJHTFNoYWRlci4KLVsgMzU6IFBBU1MgXSBjb250ZXh0LmRldGFjaFNoYWRlcihhcmd1
bWVudCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJv
Z3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDM2OiBQQVNTIF0gY29udGV4dC5zaGFkZXJTb3Vy
Y2UoYXJndW1lbnQsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAzNzogUEFTUyBdIGNvbnRleHQuYmluZEF0
dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEF0
dHJpYkxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAzODog
UEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmdldFByb2dyYW1JbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFt
LgotWyAzOTogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1bWVudCwgMCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJH
TFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlciBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIFdlYkdMUHJvZ3JhbS4KLVsgNDA6IFBBU1MgXSBjb250ZXh0LmdldFNoYWRlckluZm9Mb2co
YXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXIn
KSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MTogUEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVyUGFy
YW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFNoYWRlclBhcmFtZXRlciBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MjogUEFTUyBdIGNvbnRleHQu
Z2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFNoYWRlclNvdXJj
ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MzogUEFTUyBdIGNvbnRl
eHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRVbmlmb3Jt
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA0NDogUEFTUyBdIGNvbnRl
eHQuZ2V0VW5pZm9ybShwcm9ncmFtLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMiAoJ2xvY2F0aW9uJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVu
aWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi4KLVsgNDU6
IFBBU1MgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1bWVudCwgJ3VfbW9kZWxWaWV3
UHJvak1hdHJpeCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9n
cmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbiBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNDY6IFBBU1MgXSBjb250ZXh0LmJpbmRC
dWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAyICgnYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJp
bmRCdWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTEJ1ZmZlci4KLVsgNDc6IFBBU1Mg
XSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2ZyYW1lYnVmZmVyJykgdG8g
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFtZWJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDQ4OiBQQVNTIF0gY29udGV4dC5iaW5kUmVuZGVyYnVm
ZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMiAoJ3JlbmRlcmJ1ZmZlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5iaW5kUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xSZW5kZXJidWZm
ZXIuCi1bIDQ5OiBQQVNTIF0gY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQs
IGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgndGV4dHVy
ZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kVGV4dHVyZSBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgNTA6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwg
Y29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCA0ICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xSZW5kZXJi
dWZmZXIuCi1bIDUxOiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0
LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVf
MkQsIGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCA0ICgn
dGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRCBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgNTI6IFBBU1MgXSBjb250ZXh0
LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4wXSkpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC51bmlmb3JtMmZ2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlm
b3JtTG9jYXRpb24uCi1bIDUzOiBQQVNTIF0gY29udGV4dC51bmlmb3JtMml2KGFyZ3VtZW50LCBu
ZXcgSW50MzJBcnJheShbMCwgMF0pKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQudW5pZm9ybTJpdiBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyA1NDogUEFTUyBdIGNv
bnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVudCwgZmFsc2UsIG5ldyBGbG9hdDMyQXJyYXko
WzAuMCwgMC4wLCAwLjAsIDAuMF0pKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQudW5pZm9ybU1hdHJpeDJm
diBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyA1NTogUEFT
UyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQudXNlUHJv
Z3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNTY6IEZBSUwgXSBj
b250ZXh0LmNvbXBpbGVTaGFkZXIoYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyB1bmRlZmluZWQuCi1bIDU3OiBGQUlMIF0gY29udGV4dC5saW5rUHJvZ3JhbShhcmd1bWVu
dCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNTg6IEZBSUwg
XSBjb250ZXh0LmF0dGFjaFNoYWRlcihwcm9ncmFtLCBhcmd1bWVudCkgc2hvdWxkIHRocm93IGFu
IGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNTk6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNo
YWRlcihhcmd1bWVudCwgc2hhZGVyKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5k
ZWZpbmVkLgotWyA2MDogRkFJTCBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3Vt
ZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA2MTogRkFJ
TCBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHNob3VsZCB0aHJvdyBh
biBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYyOiBGQUlMIF0gY29udGV4dC5zaGFkZXJT
b3VyY2UoYXJndW1lbnQsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5k
ZWZpbmVkLgotWyA2MzogRkFJTCBdIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50
LCAwLCAnZm9vJykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsg
NjQ6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1JbmZvTG9nKGFyZ3VtZW50KSBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjU6IEZBSUwgXSBjb250ZXh0LmdldFByb2dy
YW1QYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBu
dWxsLgotWyA2NjogRkFJTCBdIGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1bWVudCkgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY3OiBGQUlMIF0gY29udGV4dC5n
ZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24u
IFdhcyBudWxsLgotWyA2ODogRkFJTCBdIGNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50
KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjk6IEZBSUwgXSBjb250
ZXh0LmdldFVuaWZvcm0oYXJndW1lbnQsIGxvYykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4g
V2FzIG51bGwuCi1bIDcwOiBGQUlMIF0gY29udGV4dC5nZXRVbmlmb3JtKHByb2dyYW0sIGFyZ3Vt
ZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNzE6IEZBSUwgXSBj
b250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1bWVudCwgJ3VfbW9kZWxWaWV3UHJvak1hdHJp
eCcpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA3MjogUEFTUyBdIGNv
bnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVm
aW5lZC4KLVsgNzM6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1F
QlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3NDogUEFTUyBdIGNvbnRleHQuYmlu
ZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5l
ZC4KLVsgNzU6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwg
YXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgNzY6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVy
UmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVO
VCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDc3OiBQ
QVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBj
b250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50LCAw
KSBpcyB1bmRlZmluZWQuCi1bIDc4OiBQQVNTIF0gY29udGV4dC51bmlmb3JtMmZ2KGFyZ3VtZW50
LCBuZXcgRmxvYXQzMkFycmF5KFswLjAsIDAuMF0pKSBpcyB1bmRlZmluZWQuCi1bIDc5OiBQQVNT
IF0gY29udGV4dC51bmlmb3JtMml2KGFyZ3VtZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSBp
cyB1bmRlZmluZWQuCi1bIDgwOiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0cml4MmZ2KGFyZ3Vt
ZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwgMC4wXSkpIGlzIHVu
ZGVmaW5lZC4KLVsgODE6IFBBU1MgXSBjb250ZXh0LnVzZVByb2dyYW0oYXJndW1lbnQpIGlzIHVu
ZGVmaW5lZC4KLVsgODI6IEZBSUwgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIoYXJndW1lbnQpIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDgzOiBGQUlMIF0gY29u
dGV4dC5saW5rUHJvZ3JhbShhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2Fz
IHVuZGVmaW5lZC4KLVsgODQ6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihwcm9ncmFtLCBh
cmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgODU6
IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4NjogRkFJTCBdIGNvbnRleHQuZGV0
YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBX
YXMgdW5kZWZpbmVkLgotWyA4NzogRkFJTCBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFyZ3VtZW50
LCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDg4
OiBGQUlMIF0gY29udGV4dC5zaGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4OTogRkFJTCBdIGNvbnRleHQuYmlu
ZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9vJykgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgOTA6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1JbmZv
TG9nKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgOTE6
IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNob3VsZCB0
aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5MjogRkFJTCBdIGNvbnRleHQuZ2V0U2hh
ZGVySW5mb0xvZyhhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwu
Ci1bIDkzOiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5NDogRkFJTCBdIGNvbnRleHQu
Z2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMg
bnVsbC4KLVsgOTU6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0oYXJndW1lbnQsIGxvYykgc2hv
dWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk2OiBGQUlMIF0gY29udGV4dC5n
ZXRVbmlmb3JtKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBX
YXMgbnVsbC4KLVsgOTc6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1bWVu
dCwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdh
cyBudWxsLgotWyA5ODogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JV
RkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgOTk6IFBBU1MgXSBjb250ZXh0LmJpbmRG
cmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgot
WyAxMDA6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZG
RVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMTogUEFTUyBdIGNvbnRleHQuYmluZFRl
eHR1cmUoY29udGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyAxMDI6
IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZG
RVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3Vt
ZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMzogUEFTUyBdIGNvbnRleHQuZnJhbWVidWZmZXJUZXh0
dXJlMkQoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5DT0xPUl9BVFRBQ0hNRU5UMCwgY29u
dGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCwgMCkgaXMgdW5kZWZpbmVkLgotWyAxMDQ6IFBBU1Mg
XSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4w
XSkpIGlzIHVuZGVmaW5lZC4KLVsgMTA1OiBQQVNTIF0gY29udGV4dC51bmlmb3JtMml2KGFyZ3Vt
ZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSBpcyB1bmRlZmluZWQuCi1bIDEwNjogUEFTUyBd
IGNvbnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVudCwgZmFsc2UsIG5ldyBGbG9hdDMyQXJy
YXkoWzAuMCwgMC4wLCAwLjAsIDAuMF0pKSBpcyB1bmRlZmluZWQuCi1bIDEwNzogUEFTUyBdIGNv
bnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyAxMDg6IFBBU1MgXSBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gMzIgZmFpbHVyZXMgcmVwb3J0ZWQK
K1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
LzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4
cGVjdGVkLnR4dAppbmRleCBiOGRlNTE0YTFiMTRlYmRkZDU1YjhkOGE1OWViN2Q3ZGQ3YmUyODE5
Li40YTY2YzJiZDE1NmZjMDY3YWY3YmI3ODY4ZDZmMjRlYWE4Mjk0MzBhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlz
Yy9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDI3ICsxLDQgQEAKIFRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy5odG1sCi0KLVsgMTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAyOiBGQUlMIF0gY29udGV4
dC5nZXRBY3RpdmVBdHRyaWIobnVsbCwgMikgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2Fz
IG51bGwuCi1bIDM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZB
TElEX1ZBTFVFIDoKLVsgNDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOgotWyA1OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMikg
aXMgbnVsbAotWyA2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X1ZBTFVFIDoKLVsgNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgotWyA4OiBGQUlMIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIHNob3Vs
ZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9WQUxVRSA6Ci1bIDEwOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDExOiBQQVNTIF0gY29udGV4dC5n
ZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDUwKSBpcyBudWxsCi1bIDEyOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgMTM6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTQ6IFBBU1MgXSBjb250ZXh0
LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBudWxsKSBpcyB1bmRlZmluZWQu
Ci1bIDE1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1b
IDE2OiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihjb250ZXh0LkZSQU1F
QlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQsIGNvbnRleHQuUkVOREVSQlVGRkVSLCBu
dWxsKSBpcyB1bmRlZmluZWQuCi1bIDE3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6Ci1bIDE4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDE5OiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRl
eHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBj
b250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApIGlzIHVuZGVmaW5lZC4KLVsgMjA6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDoKLVsgMjE6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMjI6IFBBU1Mg
XSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gNCBmYWlsdXJlcyByZXBvcnRl
ZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVj
dC1iZWhhdmlvdXItZXhwZWN0ZWQudHh0CmluZGV4IGM1MWQ1ZGNmODAyNmM1ZmQ1NmIzOWE5NTk4
NWQ3NGU0YWQ0ZjAwZDUuLjVhYTUzM2RlYWM0N2E5NjA1NTYxNjc1ODZiN2Q3ZmVjMDEwN2U2YWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvbnVs
bC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8y
LjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQK
QEAgLTEsNDkgKzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3Qt
YmVoYXZpb3VyLmh0bWwKLQotWyAxOiBQQVNTIF0gUHJvZ3JhbSBDb21waWxlZAotWyAyOiBQQVNT
IF0gU2hhZGVyIENvbXBpbGVkCi1bIDM6IEZBSUwgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIodW5k
ZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA0OiBG
QUlMIF0gY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmluZWQpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDU6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcih1
bmRlZmluZWQsIHVuZGVmaW5lZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVm
aW5lZC4KLVsgNjogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHVuZGVmaW5l
ZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNzogRkFJTCBd
IGNvbnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4OiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFk
ZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5k
ZWZpbmVkLgotWyA5OiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIodW5kZWZpbmVkLCBzaGFk
ZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDEwOiBGQUlM
IF0gY29udGV4dC5zaGFkZXJTb3VyY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDExOiBGQUlMIF0gY29udGV4dC5zaGFk
ZXJTb3VyY2UodW5kZWZpbmVkLCAnZm9vJykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2Fz
IHVuZGVmaW5lZC4KLVsgMTI6IEZBSUwgXSBjb250ZXh0LmJpbmRBdHRyaWJMb2NhdGlvbih1bmRl
ZmluZWQsIDAsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVk
LgotWyAxMzogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwg
MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2J1ZmZlcicpIHRvIFdl
YkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xCdWZmZXIuCi1bIDE0OiBQQVNTIF0gY29udGV4dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5G
UkFNRUJVRkZFUiwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2Zy
YW1lYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFtZWJ1ZmZlciBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDE1OiBQQVNTIF0gY29udGV4
dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmJpbmRSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFJl
bmRlcmJ1ZmZlci4KLVsgMTY6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVY
VFVSRV8yRCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3RleHR1
cmUnKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZFRleHR1cmUgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBXZWJHTFRleHR1cmUuCi1bIDE3OiBGQUlMIF0gZ2V0RXJyb3IgZXhwZWN0ZWQ6IE5P
X0VSUk9SLiBXYXMgSU5WQUxJRF9WQUxVRSA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuYmlu
ZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgbnVsbCkKLVsgMTg6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4
dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgbnVsbCkKLVsgMTk6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGlu
ZzogY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBudWxsKQot
WyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBhZnRl
ciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgbnVs
bCkKLVsgMjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
YWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVS
LCB1bmRlZmluZWQpCi1bIDIyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRl
eHQuRlJBTUVCVUZGRVIsIHVuZGVmaW5lZCkKLVsgMjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kUmVu
ZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCB1bmRlZmluZWQpCi1bIDI0OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6
IGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCB1bmRlZmluZWQpCi1bIDI1
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6
IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29udGV4
dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRFUkJV
RkZFUiwgbnVsbCkKLVsgMjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5mcmFtZWJ1ZmZlclRl
eHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBj
b250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApCi1bIDI3OiBGQUlMIF0gY29udGV4dC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2Fz
IG51bGwuCi1bIDI4OiBGQUlMIF0gY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyh1bmRlZmluZWQs
IDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAyOTogRkFJTCBdIGNv
bnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDMwOiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJJbmZvTG9n
KHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDMx
OiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVkKSBzaG91bGQgdGhyb3cg
YW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzI6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0o
dW5kZWZpbmVkLCBudWxsKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsg
MzM6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbih1bmRlZmluZWQsICdmb28nKSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzQ6IEZBSUwgXSBnZXRFcnJv
ciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDogYWZ0ZXIgZXZhbHVhdGlu
ZzogY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxLCBjb250ZXh0LlNU
QVRJQ19EUkFXKQotWyAzNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldEJ1ZmZlclBhcmFtZXRlcihjb250
ZXh0LkFSUkFZX0JVRkZFUiwgY29udGV4dC5CVUZGRVJfU0laRSkKLVsgMzY6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29u
dGV4dC50ZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5SR0JBLCAxLCAx
LCAwLCBjb250ZXh0LlJHQkEsIGNvbnRleHQuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXko
WzAsMCwwLDBdKSkKLVsgMzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC50ZXhQYXJhbWV0ZXJpKGNvbnRleHQu
VEVYVFVSRV8yRCwgY29udGV4dC5URVhUVVJFX01JTl9GSUxURVIsIGNvbnRleHQuTkVBUkVTVCkK
LVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0
ZXIgZXZhbHVhdGluZzogY29udGV4dC5nZXRUZXhQYXJhbWV0ZXIoY29udGV4dC5URVhUVVJFXzJE
LCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUikKLVsgMzk6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29u
dGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxLCBjb250ZXh0LlNUQVRJQ19E
UkFXKQotWyA0MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldEJ1ZmZlclBhcmFtZXRlcihj
b250ZXh0LkFSUkFZX0JVRkZFUiwgY29udGV4dC5CVUZGRVJfU0laRSkKLVsgNDE6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZh
bHVhdGluZzogY29udGV4dC50ZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4
dC5SR0JBLCAxLCAxLCAwLCBjb250ZXh0LlJHQkEsIGNvbnRleHQuVU5TSUdORURfQllURSwgbmV3
IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSkKLVsgNDI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC50
ZXhQYXJhbWV0ZXJpKGNvbnRleHQuVEVYVFVSRV8yRCwgY29udGV4dC5URVhUVVJFX01JTl9GSUxU
RVIsIGNvbnRleHQuTkVBUkVTVCkKLVsgNDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5nZXRU
ZXhQYXJhbWV0ZXIoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRF
UikKLVsgNDQ6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gMTkg
ZmFpbHVyZXMgcmVwb3J0ZWQKK1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUt
dGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nZXQtYWN0aXZlLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDQwZjFjODQ1MjhkODBj
YWFmNjY2MDY4Y2JmOTQ2ZGFmZmQwNzAxZjQuLjU0MDAzOTUxM2NiODE4NWVlZWYzMjFkY2IxMTJi
ODYwZDc3Y2Y5YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1h
bmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVj
dGVkLnR4dApAQCAtMSw0NyArMSw0IEBACiBUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KIAogVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
Z2V0LWFjdGl2ZS10ZXN0Lmh0bWwKLQotWyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6Ci1bIDI6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0o
cHJvZ3JhbSwgMCkubmFtZSBpcyAndV9tb2RlbFZpZXdQcm9qTWF0cml4JwotWyAzOiBQQVNTIF0g
Y29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApLnR5cGUgaXMgY29udGV4dC5GTE9B
VF9NQVQ0Ci1bIDQ6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCku
c2l6ZSBpcyAxCi1bIDU6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwg
MSkgaXMgbnVsbAotWyA2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX1ZBTFVFIDoKLVsgNzogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFt
LCAtMSkgaXMgbnVsbAotWyA4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX1ZBTFVFIDoKLVsgOTogRkFJTCBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShudWxs
LCAwKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMTA6IEZBSUwgXSBn
ZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMTE6IFBB
U1MgXSBpbmZvW2lpXSBpcyBub24tbnVsbC4KLVsgMTI6IFBBU1MgXSBpbmZvW2lpXSBpcyBub24t
bnVsbC4KLVsgMTM6IFBBU1MgXSBpbmZvW2lpXS5uYW1lIGlzIGV4cGVjdGVkW2lpXS5uYW1lCi1b
IDE0OiBQQVNTIF0gaW5mb1tpaV0udHlwZSBpcyBleHBlY3RlZFtpaV0udHlwZQotWyAxNTogUEFT
UyBdIGluZm9baWldLnNpemUgaXMgZXhwZWN0ZWRbaWldLnNpemUKLVsgMTY6IFBBU1MgXSBpbmZv
W2lpXS5uYW1lIGlzIGV4cGVjdGVkW2lpXS5uYW1lCi1bIDE3OiBQQVNTIF0gaW5mb1tpaV0udHlw
ZSBpcyBleHBlY3RlZFtpaV0udHlwZQotWyAxODogUEFTUyBdIGluZm9baWldLnNpemUgaXMgZXhw
ZWN0ZWRbaWldLnNpemUKLVsgMTk6IFBBU1MgXSBpbmZvMltpaV0gaXMgbm9uLW51bGwuCi1bIDIw
OiBQQVNTIF0gaW5mbzJbaWldIGlzIG5vbi1udWxsLgotWyAyMTogUEFTUyBdIGluZm8yW2lpXS5u
YW1lIGlzIGV4cGVjdGVkMltpaV0ubmFtZQotWyAyMjogUEFTUyBdIGluZm8yW2lpXS50eXBlIGlz
IGV4cGVjdGVkMltpaV0udHlwZQotWyAyMzogUEFTUyBdIGluZm8yW2lpXS5zaXplIGlzIGV4cGVj
dGVkMltpaV0uc2l6ZQotWyAyNDogUEFTUyBdIGluZm8yW2lpXS5uYW1lIGlzIGV4cGVjdGVkMltp
aV0ubmFtZQotWyAyNTogUEFTUyBdIGluZm8yW2lpXS50eXBlIGlzIGV4cGVjdGVkMltpaV0udHlw
ZQotWyAyNjogUEFTUyBdIGluZm8yW2lpXS5zaXplIGlzIGV4cGVjdGVkMltpaV0uc2l6ZQotWyAy
NzogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51bGwKLVsg
Mjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOgot
WyAyOTogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIC0xKSBpcyBudWxs
Ci1bIDMwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVF
IDoKLVsgMzE6IEZBSUwgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzI6IEZBSUwgXSBnZXRFcnJvciBleHBl
Y3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMzM6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMzQ6IFBBU1MgXSBjb250ZXh0Mi5n
ZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMCkgaXMgbnVsbAotWyAzNTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOgotWyAzNjogUEFTUyBdIGNv
bnRleHQyLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCkgaXMgbnVsbAotWyAzNzogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOgotWyAzODog
UEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCi1bIDM5
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsg
NDA6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSBpcyBudWxsCi1b
IDQxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoK
LVsgNDI6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gNCBmYWls
dXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXgtc3ViLWlt
YWdlLTJkLWJhZC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy1leHBlY3Rl
ZC50eHQKaW5kZXggZjdhZjdmOGI0ZDIxZjZhNjY5NTEwYjJjZDg2MTliNzk2NjBiNDNhOS4uOGI0
NjJmOWI1MmVjZmM3MTM4YzA2YWRmMjM5NTdlYmFlYzEwMGI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXgtc3ViLWltYWdl
LTJkLWJhZC1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0
ZWQudHh0CkBAIC0xLDQyICsxLDQgQEAKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0
OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9taXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MuaHRtbAotCi1bIDE6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogbm8gcHJldmlvdXNs
eSBkZWZpbmVkIHRleHR1cmUgaW1hZ2UKLVsgMjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR1cCBzaG91bGQgc3VjY2VlZAotWyAzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogeSArIGhlaWdodCA+IHRl
eHR1cmUgaGVpZ2h0Ci1bIDQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfVkFMVUUgOiB4ICsgd2lkdGggPiB0ZXh0dXJlIHdpZHRoCi1bIDU6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiBuZWdhdGl2ZSB4Ci1bIDY6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiBuZWdh
dGl2ZSB5Ci1bIDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
VkFMVUUgOiBuZWdhdGl2ZSBsZXZlbAotWyA4OiBGQUlMIF0gZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKSBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA5OiBGQUlMIF0gZ2V0RXJy
b3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9WQUxVRSA6Ci1bIDEwOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogbnVsbCBwaXhlbHMK
LVsgMTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgb25lIG9mOiBJTlZBTElEX1ZBTFVFIG9yIElOVkFM
SURfT1BFUkFUSU9OIDogdG9vIGhpZ2ggbGV2ZWwKLVsgMTI6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfRU5VTSA6IGJhZCB0YXJnZXQKLVsgMTM6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogZ29vZCBhcmdzCi1bIDE0OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGZv
cm1hdCBub3Qgc2FtZSBhcyBvcmlnaW5hbAotWyAxNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiB0eXBlIG5vdCBzYW1lIGFzIG9yaWdpbmFs
Ci1bIDE2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IG1h
a2UgdGV4dHVyZSBSR0IKLVsgMTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogZm9ybWF0IHNhbWUgYXMgb3JpZ2luYWwgUkdCCi1bIDE4OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGZvcm1hdCBub3Qg
c2FtZSBhcyBvcmlnaW5hbCBSR0IKLVsgMTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogdHlwZSBub3Qgc2FtZSBhcyBvcmlnaW5hbCBSR0IK
LVsgMjA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogbWFr
ZSB0ZXh0dXJlIFJHQkEgVU5TSUdORURfQllURQotWyAyMTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBmb3JtYXQgc2FtZSBhcyBvcmlnaW5hbAotWyAyMjog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBm
b3JtYXQgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogdHlwZSBub3Qgc2FtZSBhcyBvcmlnaW5h
bAotWyAyNDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBt
YWtlIHRleHR1cmUgUkdCQSBVTlNJR05FRF9CWVRFCi1bIDI1OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGZvcm1hdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDI2
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6
IGZvcm1hdCBub3Qgc2FtZSBhcyBvcmlnaW5hbAotWyAyNzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiB0eXBlIG5vdCBzYW1lIGFzIG9yaWdp
bmFsCi1bIDI4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IGZvcm1hdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDI5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IGZvcm1hdCBub3Qgc2FtZSBhcyBvcmlnaW5h
bAotWyAzMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04gOiB0eXBlIG5vdCBzYW1lIGFzIG9yaWdpbmFsCi1bIDMxOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIG9uZSBvZjogSU5WQUxJRF9WQUxVRSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBoaWdo
IGxldmVsCi1bIDMyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIG9uZSBvZjogSU5WQUxJRF9WQUxVRSBv
ciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBoaWdoIGxldmVsCi1bIDMzOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIG9uZSBvZjogSU5WQUxJRF9WQUxVRSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBo
aWdoIGxldmVsCi1bIDM0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIG9uZSBvZjogSU5WQUxJRF9WQUxV
RSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBoaWdoIGxldmVsCi1bIDM1OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIG9uZSBvZjogSU5WQUxJRF9WQUxVRSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRv
byBoaWdoIGxldmVsCi1bIDM2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIG9uZSBvZjogSU5WQUxJRF9W
QUxVRSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBoaWdoIGxldmVsCi1bIDM3OiBQQVNTIF0g
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLVsgRkFJTCBdIDIgZmFpbHVyZXMgcmVwb3J0ZWQK
K1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406820</attachid>
            <date>2020-08-18 16:01:25 -0700</date>
            <delta_ts>2020-08-18 16:49:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215616-20200818160125.patch</filename>
            <type>text/plain</type>
            <size>123783</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc4NTMyNDBlY2FhOTlm
NzMzZDZjZDE5OWJlZGYyZWQ4NmM1NTZhYS4uZjk4ZTQ0NGIwZjZhZjY4NmM5NmIzNDg1Yjc5MzI3
YTM3YmIxMzM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA4LTE4ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViR0wy
XSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJsZSBpbiBJREwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTYxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDUgY29uZm9y
bWFuY2UgdGVzdHM6CisgICAgICAgIGNvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0
bWwKKyAgICAgICAgY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAor
ICAgICAgICBjb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCisgICAgICAg
IGNvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1s
CisgICAgICAgIGNvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC5odG1sCisKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpiaW5kQXR0cmliTG9j
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y29t
cGlsZVNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpkZXRhY2hTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJv
Z3JhbUluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmdldFNoYWRlckluZm9Mb2cpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmxpbmtQcm9ncmFtKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZVBy
b2dyYW0pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIpOgorCiAyMDIw
LTA4LTE3ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI2NTYwMy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggNmRmYWJiYzI5
YTU5MGVjZjQ1N2RiY2E3N2VhZjljOTExOTY5MDgwMC4uMDFkNjEzYjQxYWE5Y2Q5ODlmYjk1OTk0
YWRiMjRiYzQ3NWUwOGIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTEzMjAsMjMgKzEzMjAsMjMg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjphY3RpdmVUZXh0dXJlKEdDR0xlbnVt
IHRleHR1cmUpCiAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKHRleHR1cmUpOwogfQogCi12
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0q
IHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBz
aGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7
CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJhdHRhY2hTaGFkZXIiLCBwcm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFBy
b2dyYW1PclNoYWRlcigiYXR0YWNoU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0
TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJhdHRhY2hT
aGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImF0dGFj
aFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5h
dHRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7CisgICAgaWYgKCFwcm9ncmFtLmF0dGFjaFNo
YWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImF0dGFjaFNoYWRlciIsICJzaGFkZXIg
YXR0YWNobWVudCBhbHJlYWR5IGhhcyBzaGFkZXIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBtX2NvbnRleHQtPmF0dGFjaFNoYWRlcihvYmplY3RPclplcm8ocHJvZ3JhbSksIG9iamVj
dE9yWmVybyhzaGFkZXIpKTsKLSAgICBzaGFkZXItPm9uQXR0YWNoZWQoKTsKKyAgICBtX2NvbnRl
eHQtPmF0dGFjaFNoYWRlcihwcm9ncmFtLm9iamVjdCgpLCBzaGFkZXIub2JqZWN0KCkpOworICAg
IHNoYWRlci5vbkF0dGFjaGVkKCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTHVpbnQgaW5k
ZXgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
YmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
IHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCBw
cm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJiaW5kQXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImJpbmRBdHRyaWJM
b2NhdGlvbiIsIG5hbWUpKQogICAgICAgICByZXR1cm47CkBAIC0xMzUwLDcgKzEzNTAsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFBy
b2dyYW0qIHByb2dyYW0sIEdDR0x1aQogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImJpbmRBdHRyaWJMb2NhdGlvbiIsICJpbmRleCBv
dXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2NvbnRleHQtPmJp
bmRBdHRyaWJMb2NhdGlvbihvYmplY3RPclplcm8ocHJvZ3JhbSksIGluZGV4LCBuYW1lKTsKKyAg
ICBtX2NvbnRleHQtPmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLm9iamVjdCgpLCBpbmRleCwg
bmFtZSk7CiB9CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2hlY2tPYmplY3RU
b0JlQm91bmQoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBXZWJHTE9iamVjdCogb2JqZWN0KQpA
QCAtMTczMSwxNCArMTczMSwxNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNv
bG9yTWFzayhHQ0dMYm9vbGVhbiByZWQsIEdDR0xib29sZWFuIGdyZWVuLCBHQwogICAgIG1fY29u
dGV4dC0+Y29sb3JNYXNrKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKIH0KIAotdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjb21waWxlU2hhZGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNvbXBpbGVTaGFkZXIoV2ViR0xTaGFk
ZXImIHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJjb21waWxlU2hhZGVyIiwgc2hhZGVyKSkKKyAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hh
ZGVyKCJjb21waWxlU2hhZGVyIiwgJnNoYWRlcikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nv
bnRleHQtPmNvbXBpbGVTaGFkZXIob2JqZWN0T3JaZXJvKHNoYWRlcikpOworICAgIG1fY29udGV4
dC0+Y29tcGlsZVNoYWRlcihzaGFkZXIub2JqZWN0KCkpOwogICAgIEdDR0xpbnQgdmFsdWU7Ci0g
ICAgbV9jb250ZXh0LT5nZXRTaGFkZXJpdihvYmplY3RPclplcm8oc2hhZGVyKSwgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTLCAmdmFsdWUpOwotICAgIHNoYWRlci0+c2V0VmFsaWQo
dmFsdWUpOworICAgIG1fY29udGV4dC0+Z2V0U2hhZGVyaXYoc2hhZGVyLm9iamVjdCgpLCBHcmFw
aGljc0NvbnRleHRHTDo6Q09NUElMRV9TVEFUVVMsICZ2YWx1ZSk7CisgICAgc2hhZGVyLnNldFZh
bGlkKHZhbHVlKTsKIAogICAgIGF1dG8qIGNhbnZhcyA9IGh0bWxDYW52YXMoKTsKIApAQCAtMjE0
NSwxOCArMjE0NSwxOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRlcHRoUmFu
Z2UoR0NHTGZsb2F0IHpOZWFyLCBHQ0dMZmxvYXQgekZhcikKICAgICBtX2NvbnRleHQtPmRlcHRo
UmFuZ2Uoek5lYXIsIHpGYXIpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIFdlYkdMU2hhZGVyKiBzaGFkZXIp
Cit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRldGFjaFNoYWRlcihXZWJHTFByb2dy
YW0mIHByb2dyYW0sIFdlYkdMU2hhZGVyJiBzaGFkZXIpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayhvYmplY3RHcmFwaExvY2soKSk7CiAKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVu
ZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCBw
cm9ncmFtKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZGV0YWNoU2hhZGVyIiwg
c2hhZGVyKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdl
YkdMUHJvZ3JhbU9yU2hhZGVyKCJkZXRhY2hTaGFkZXIiLCAmcHJvZ3JhbSkgfHwgIXZhbGlkYXRl
V2ViR0xQcm9ncmFtT3JTaGFkZXIoImRldGFjaFNoYWRlciIsICZzaGFkZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFwcm9ncmFtLT5kZXRhY2hTaGFkZXIobG9ja2VyLCBzaGFkZXIpKSB7
CisgICAgaWYgKCFwcm9ncmFtLmRldGFjaFNoYWRlcihsb2NrZXIsICZzaGFkZXIpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImRldGFjaFNoYWRlciIsICJzaGFkZXIgbm90IGF0dGFjaGVkIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIob2JqZWN0T3JaZXJvKHByb2dy
YW0pLCBvYmplY3RPclplcm8oc2hhZGVyKSk7Ci0gICAgc2hhZGVyLT5vbkRldGFjaGVkKGxvY2tl
ciwgZ3JhcGhpY3NDb250ZXh0R0woKSk7CisgICAgbV9jb250ZXh0LT5kZXRhY2hTaGFkZXIocHJv
Z3JhbS5vYmplY3QoKSwgc2hhZGVyLm9iamVjdCgpKTsKKyAgICBzaGFkZXIub25EZXRhY2hlZChs
b2NrZXIsIGdyYXBoaWNzQ29udGV4dEdMKCkpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmRpc2FibGUoR0NHTGVudW0gY2FwKQpAQCAtMjc4NywxMiArMjc4NywxMiBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdlbmVyYXRlTWlwbWFwKEdDR0xlbnVtIHRh
cmdldCkKICNlbmRpZgogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBHQ0dM
dWludCBpbmRleCkKK1JlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEdDR0x1aW50IGlu
ZGV4KQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2Vi
R0xQcm9ncmFtT3JTaGFkZXIoImdldEFjdGl2ZUF0dHJpYiIsIHByb2dyYW0pKQorICAgIGlmIChp
c0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIo
ImdldEFjdGl2ZUF0dHJpYiIsICZwcm9ncmFtKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgR3JhcGhpY3NDb250ZXh0R0w6OkFjdGl2ZUluZm8gaW5mbzsKLSAgICBpZiAoIW1fY29udGV4
dC0+Z2V0QWN0aXZlQXR0cmliKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgaW5kZXgsIGluZm8pKQor
ICAgIGlmICghbV9jb250ZXh0LT5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbS5vYmplY3QoKSwgaW5k
ZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIExPRyhXZWJHTCwgIlJl
dHVybmluZyBhY3RpdmUgYXR0cmlidXRlICVkOiAlcyIsIGluZGV4LCBpbmZvLm5hbWUudXRmOCgp
LmRhdGEoKSk7CkBAIC0yODAwLDEyICsyODAwLDEyIEBAIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0q
CiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5mby50eXBl
LCBpbmZvLnNpemUpOwogfQogCi1SZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NH
THVpbnQgaW5kZXgpCitSZWZQdHI8V2ViR0xBY3RpdmVJbmZvPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTHVpbnQg
aW5kZXgpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVX
ZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QWN0aXZlVW5pZm9ybSIsIHByb2dyYW0pKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldEFjdGl2ZVVuaWZvcm0iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIEdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJbmZvIGluZm87Ci0gICAgaWYgKCFtX2Nv
bnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpbmRleCwgaW5m
bykpCisgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3Qo
KSwgaW5kZXgsIGluZm8pKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAvLyBGSVhNRTog
RG8gd2Ugc3RpbGwgbmVlZCB0aGlzIGZvciB0aGUgQU5HTEUgYmFja2VuZD8KICAgICBpZiAoIWlz
R0xFUzJDb21wbGlhbnQoKSkKQEAgLTI4MTcsOSArMjgxNyw5IEBAIFJlZlB0cjxXZWJHTEFjdGl2
ZUluZm8+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEFjdGl2ZVVuaWZvcm0oV2ViR0xQ
cm9ncmFtCiAgICAgcmV0dXJuIFdlYkdMQWN0aXZlSW5mbzo6Y3JlYXRlKGluZm8ubmFtZSwgaW5m
by50eXBlLCBpbmZvLnNpemUpOwogfQogCi1PcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hh
ZGVyPj4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJH
TFByb2dyYW0qIHByb2dyYW0pCitPcHRpb25hbDxWZWN0b3I8UmVmUHRyPFdlYkdMU2hhZGVyPj4+
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dy
YW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgcHJvZ3JhbSkp
CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0QXR0YWNoZWRTaGFkZXJzIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgY29uc3QgR0NHTGVudW0gc2hhZGVyVHlwZXNbXSA9IHsK
QEAgLTI4MjgsMTYgKzI4MjgsMTYgQEAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRl
cj4+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRhY2hlZFNoYWQKICAgICB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViR0xTaGFkZXI+PiBzaGFkZXJPYmplY3RzOwogICAgIGZvciAo
YXV0byBzaGFkZXJUeXBlIDogc2hhZGVyVHlwZXMpIHsKLSAgICAgICAgUmVmUHRyPFdlYkdMU2hh
ZGVyPiBzaGFkZXIgPSBwcm9ncmFtLT5nZXRBdHRhY2hlZFNoYWRlcihzaGFkZXJUeXBlKTsKKyAg
ICAgICAgUmVmUHRyPFdlYkdMU2hhZGVyPiBzaGFkZXIgPSBwcm9ncmFtLmdldEF0dGFjaGVkU2hh
ZGVyKHNoYWRlclR5cGUpOwogICAgICAgICBpZiAoc2hhZGVyKQogICAgICAgICAgICAgc2hhZGVy
T2JqZWN0cy5hcHBlbmQoc2hhZGVyKTsKICAgICB9CiAgICAgcmV0dXJuIHNoYWRlck9iamVjdHM7
CiB9CiAKLUdDR0xpbnQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0QXR0cmliTG9jYXRp
b24oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitHQ0dMaW50IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSYg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQ
ZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldEF0dHJpYkxvY2F0
aW9uIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0QXR0cmliTG9jYXRpb24iLCAmcHJvZ3JhbSkp
CiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoIXZhbGlkYXRlTG9jYXRpb25MZW5ndGgoImdl
dEF0dHJpYkxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI4NDUsMTEg
KzI4NDUsMTEgQEAgR0NHTGludCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRBdHRyaWJM
b2NhdGlvbihXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnMKICAgICAgICAgcmV0dXJuIC0xOwog
ICAgIGlmIChpc1ByZWZpeFJlc2VydmVkKG5hbWUpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAg
aWYgKCFwcm9ncmFtLT5nZXRMaW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlu
a1N0YXR1cygpKSB7CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdM
OjpJTlZBTElEX09QRVJBVElPTiwgImdldEF0dHJpYkxvY2F0aW9uIiwgInByb2dyYW0gbm90IGxp
bmtlZCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBtX2NvbnRleHQt
PmdldEF0dHJpYkxvY2F0aW9uKG9iamVjdE9yWmVybyhwcm9ncmFtKSwgbmFtZSk7CisgICAgcmV0
dXJuIG1fY29udGV4dC0+Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbS5vYmplY3QoKSwgbmFtZSk7
CiB9CiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldEJ1ZmZlclBhcmFt
ZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIHBuYW1lKQpAQCAtMzE3OSwyOSArMzE3OSwy
OSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NH
TGVudW0gcG5hbWUpCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRQcm9ncmFtUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgR0NHTGVudW0g
cG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFy
YW1ldGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTGVudW0gcG5hbWUpCiB7Ci0gICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRl
cigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsIHByb2dyYW0pKQorICAgIGlmIChpc0NvbnRleHRMb3N0
T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1Q
YXJhbWV0ZXIiLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NH
TGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBwcm9ncmFtLT5pc0RlbGV0
ZWQoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uaXNEZWxldGVkKCk7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VkFMSURBVEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBt
X2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwgJnZhbHVlKTsK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KHZhbHVlKTsKICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpMSU5LX1NUQVRVUzoKLSAgICAgICAgcmV0dXJuIHByb2dyYW0tPmdldExp
bmtTdGF0dXMoKTsKKyAgICAgICAgcmV0dXJuIHByb2dyYW0uZ2V0TGlua1N0YXR1cygpOwogICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkFUVEFDSEVEX1NIQURFUlM6Ci0gICAgICAgIG1fY29u
dGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVjdE9yWmVybyhwcm9ncmFtKSwgcG5hbWUsICZ2YWx1ZSk7
CisgICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1l
LCAmdmFsdWUpOwogICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6QUNUSVZFX0FUVFJJQlVURVM6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6QUNU
SVZFX1VOSUZPUk1TOgogI2lmIFVTRShBTkdMRSkKLSAgICAgICAgbV9jb250ZXh0LT5nZXRQcm9n
cmFtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRQcm9ncmFtaXYocHJvZ3JhbS5vYmplY3QoKSwgcG5hbWUsICZ2YWx1ZSk7CiAj
ZWxzZQotICAgICAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICBtX2NvbnRleHQt
PmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSwg
JnZhbHVlKTsKICNlbmRpZiAvLyBVU0UoQU5HTEUpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICBkZWZhdWx0OgpAQCAtMzIxMSw3ICszMjExLDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qIHByb2dyYW0sIEcK
ICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9STV9GRUVEQkFDS19C
VUZGRVJfTU9ERToKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlRSQU5TRk9S
TV9GRUVEQkFDS19WQVJZSU5HUzoKICAgICAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkFDVElWRV9VTklGT1JNX0JMT0NLUzoKLSAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmdldFBy
b2dyYW1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIHBuYW1lLCAmdmFsdWUpOworICAgICAgICAg
ICAgICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KHByb2dyYW0ub2JqZWN0KCksIHBuYW1lLCAm
dmFsdWUpOwogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zMjIzLDExICszMjIzLDExIEBAIFdlYkdM
QW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQ
cm9ncmFtKiBwcm9ncmFtLCBHCiAgICAgfQogfQogCi1TdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtKiBwcm9ncmFtKQorU3RyaW5n
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3Jh
bSYgcHJvZ3JhbSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtSW5mb0xvZyIsIHByb2dyYW0pKQor
ICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFt
T3JTaGFkZXIoImdldFByb2dyYW1JbmZvTG9nIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwobV9jb250ZXh0LT5nZXRQcm9ncmFt
SW5mb0xvZyhvYmplY3RPclplcm8ocHJvZ3JhbSkpKTsKKyAgICByZXR1cm4gZW5zdXJlTm90TnVs
bChtX2NvbnRleHQtPmdldFByb2dyYW1JbmZvTG9nKHByb2dyYW0ub2JqZWN0KCkpKTsKIH0KIAog
V2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpCkBAIC0zMzAxLDE5ICszMzAxLDE5
IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXIqIHNoYWRl
ciwgR0NHTGVudW0gcG5hbWUpCitXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NHTGVudW0gcG5hbWUpCiB7
Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dy
YW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgc2hhZGVyKSkKKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRT
aGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
R0NHTGludCB2YWx1ZSA9IDA7CiAgICAgc3dpdGNoIChwbmFtZSkgewogICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OkRFTEVURV9TVEFUVVM6Ci0gICAgICAgIHJldHVybiBzaGFkZXItPmlzRGVs
ZXRlZCgpOworICAgICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwogICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OkNPTVBJTEVfU1RBVFVTOgotICAgICAgICBtX2NvbnRleHQtPmdldFNo
YWRlcml2KG9iamVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9j
b250ZXh0LT5nZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4odmFsdWUpOwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlNIQURFUl9UWVBFOgotICAgICAgICBtX2NvbnRleHQtPmdldFNoYWRlcml2KG9i
amVjdE9yWmVybyhzaGFkZXIpLCBwbmFtZSwgJnZhbHVlKTsKKyAgICAgICAgbV9jb250ZXh0LT5n
ZXRTaGFkZXJpdihzaGFkZXIub2JqZWN0KCksIHBuYW1lLCAmdmFsdWUpOwogICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKTsKICAgICBkZWZhdWx0OgogICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hh
ZGVyUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1ldGVyIG5hbWUiKTsKQEAgLTMzMjEsMTEgKzMz
MjEsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFy
YW1ldGVyKFdlYkdMU2hhZGVyKiBzaGFkZXIsIEdDR0wKICAgICB9CiB9CiAKLVN0cmluZyBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKiBzaGFk
ZXIpCitTdHJpbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVySW5mb0xvZyhX
ZWJHTFNoYWRlciYgc2hhZGVyKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkg
fHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCBzaGFk
ZXIpKQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQ
cm9ncmFtT3JTaGFkZXIoImdldFNoYWRlckluZm9Mb2ciLCAmc2hhZGVyKSkKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHJldHVybiBlbnN1cmVOb3ROdWxsKG1fY29udGV4dC0+Z2V0U2hh
ZGVySW5mb0xvZyhvYmplY3RPclplcm8oc2hhZGVyKSkpOworICAgIHJldHVybiBlbnN1cmVOb3RO
dWxsKG1fY29udGV4dC0+Z2V0U2hhZGVySW5mb0xvZyhzaGFkZXIub2JqZWN0KCkpKTsKIH0KIAog
UmVmUHRyPFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NHTGVudW0gc2hhZGVyVHlwZSwgR0NHTGVu
dW0gcHJlY2lzaW9uVHlwZSkKQEAgLTMzNTksMTEgKzMzNTksMTEgQEAgUmVmUHRyPFdlYkdMU2hh
ZGVyUHJlY2lzaW9uRm9ybWF0PiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQ
cmVjaXNpb24KICAgICByZXR1cm4gV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQ6OmNyZWF0ZShy
YW5nZVswXSwgcmFuZ2VbMV0sIHByZWNpc2lvbik7CiB9CiAKLVN0cmluZyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqIHNoYWRlcikKK1N0cmlu
ZyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIm
IHNoYWRlcikKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0
ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRTaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAgIGlm
IChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFk
ZXIoImdldFNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0gICAgcmV0dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLT5nZXRTb3VyY2UoKSk7CisgICAgcmV0
dXJuIGVuc3VyZU5vdE51bGwoc2hhZGVyLmdldFNvdXJjZSgpKTsKIH0KIAogV2ViR0xBbnkgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VGV4UGFyYW1ldGVyKEdDR0xlbnVtIHRhcmdldCwg
R0NHTGVudW0gcG5hbWUpCkBAIC0zMzk1LDE5ICszMzk1LDE5IEBAIFdlYkdMQW55IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmdldFRleFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xl
bnVtIHBuCiAgICAgfQogfQogCi1XZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpn
ZXRVbmlmb3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIHVuaWZvcm1Mb2NhdGlvbikKK1dlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldFVuaWZvcm0oV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiYgdW5pZm9ybUxvY2F0aW9uKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFVuaWZvcm0iLCBwcm9ncmFt
KSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtIiwgJnByb2dyYW0pKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICBpZiAoIXVuaWZvcm1Mb2NhdGlvbiB8fCB1bmlmb3JtTG9jYXRpb24tPnByb2dy
YW0oKSAhPSBwcm9ncmFtKSB7CisgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbi5wcm9ncmFtKCkgIT0g
JnByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6
OklOVkFMSURfT1BFUkFUSU9OLCAiZ2V0VW5pZm9ybSIsICJubyB1bmlmb3JtbG9jYXRpb24gb3Ig
bm90IHZhbGlkIGZvciB0aGlzIHByb2dyYW0iKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQotICAgIEdDR0xpbnQgbG9jYXRpb24gPSB1bmlmb3JtTG9jYXRpb24tPmxvY2F0aW9uKCk7
CisgICAgR0NHTGludCBsb2NhdGlvbiA9IHVuaWZvcm1Mb2NhdGlvbi5sb2NhdGlvbigpOwogCiAg
ICAgR0NHTGVudW0gYmFzZVR5cGU7CiAgICAgdW5zaWduZWQgbGVuZ3RoOwotICAgIHN3aXRjaCAo
dW5pZm9ybUxvY2F0aW9uLT50eXBlKCkpIHsKKyAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50
eXBlKCkpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOgogICAgICAgICBiYXNl
VHlwZSA9IEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOwogICAgICAgICBsZW5ndGggPSAxOwpAQCAt
MzQ3OSw3ICszNDc5LDcgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0
VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNvbnN0IFdlYkcKICAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiZ2V0VW5p
Zm9ybSIsICJ1bmhhbmRsZWQgdHlwZSIpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgIH0KLSAgICAgICAgc3dpdGNoICh1bmlmb3JtTG9jYXRpb24tPnR5cGUoKSkgeworICAg
ICAgICBzd2l0Y2ggKHVuaWZvcm1Mb2NhdGlvbi50eXBlKCkpIHsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOgogICAgICAgICAgICAgYmFzZVR5cGUgPSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOwogICAgICAgICAgICAgbGVuZ3RoID0gMTsKQEAg
LTM1NDYsOSArMzU0Niw5IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBXZWJHCiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6RkxPQVQ6IHsKICAgICAgICAgR0NHTGZsb2F0IHZhbHVlWzE2XSA9IHsw
fTsKICAgICAgICAgaWYgKG1faXNSb2J1c3RuZXNzRVhUU3VwcG9ydGVkKQotICAgICAgICAgICAg
bV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkuZ2V0blVuaWZvcm1mdkVYVChvYmplY3RPclplcm8o
cHJvZ3JhbSksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CisgICAg
ICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWZ2RVhUKHByb2dy
YW0ub2JqZWN0KCksIGxvY2F0aW9uLCAxNiAqIHNpemVvZihHQ0dMZmxvYXQpLCB2YWx1ZSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybWZ2KG9iamVjdE9y
WmVybyhwcm9ncmFtKSwgbG9jYXRpb24sIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+
Z2V0VW5pZm9ybWZ2KHByb2dyYW0ub2JqZWN0KCksIGxvY2F0aW9uLCB2YWx1ZSk7CiAgICAgICAg
IGlmIChsZW5ndGggPT0gMSkKICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsKICAgICAgICAg
cmV0dXJuIEZsb2F0MzJBcnJheTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU1Niwx
NiArMzU1NiwxNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlm
b3JtKFdlYkdMUHJvZ3JhbSogcHJvZ3JhbSwgY29uc3QgV2ViRwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OklOVDogewogICAgICAgICBHQ0dMaW50IHZhbHVlWzRdID0gezB9OwogICAgICAg
ICBpZiAobV9pc1JvYnVzdG5lc3NFWFRTdXBwb3J0ZWQpCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldEV4dGVuc2lvbnMoKS5nZXRuVW5pZm9ybWl2RVhUKG9iamVjdE9yWmVybyhwcm9ncmFtKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdldG5Vbmlmb3JtaXZFWFQocHJvZ3JhbS5vYmplY3QoKSwg
bG9jYXRpb24sIDQgKiBzaXplb2YoR0NHTGludCksIHZhbHVlKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBs
b2NhdGlvbiwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRVbmlmb3JtaXYocHJv
Z3JhbS5vYmplY3QoKSwgbG9jYXRpb24sIHZhbHVlKTsKICAgICAgICAgaWYgKGxlbmd0aCA9PSAx
KQogICAgICAgICAgICAgcmV0dXJuIHZhbHVlWzBdOwogICAgICAgICByZXR1cm4gSW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwogICAgIH0KICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpVTlNJR05FRF9JTlQ6IHsKICAgICAgICAgR0NHTHVpbnQgdmFsdWVbNF0gPSB7MH07
Ci0gICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihvYmplY3RPclplcm8ocHJvZ3JhbSks
IGxvY2F0aW9uLCB2YWx1ZSk7CisgICAgICAgIG1fY29udGV4dC0+Z2V0VW5pZm9ybXVpdihwcm9n
cmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID09IDEp
CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVbMF07CiAgICAgICAgIHJldHVybiBVaW50MzJBcnJh
eTo6dHJ5Q3JlYXRlKHZhbHVlLCBsZW5ndGgpOwpAQCAtMzU3Myw5ICszNTczLDkgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHBy
b2dyYW0sIGNvbnN0IFdlYkcKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCT09MOiB7CiAg
ICAgICAgIEdDR0xpbnQgdmFsdWVbNF0gPSB7MH07CiAgICAgICAgIGlmIChtX2lzUm9idXN0bmVz
c0VYVFN1cHBvcnRlZCkKLSAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLmdl
dG5Vbmlmb3JtaXZFWFQob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCkuZ2V0blVuaWZvcm1pdkVYVChwcm9ncmFtLm9iamVjdCgpLCBsb2NhdGlvbiwgNCAqIHNpemVv
ZihHQ0dMaW50KSwgdmFsdWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NvbnRleHQt
PmdldFVuaWZvcm1pdihvYmplY3RPclplcm8ocHJvZ3JhbSksIGxvY2F0aW9uLCB2YWx1ZSk7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldFVuaWZvcm1pdihwcm9ncmFtLm9iamVjdCgpLCBsb2Nh
dGlvbiwgdmFsdWUpOwogICAgICAgICBpZiAobGVuZ3RoID4gMSkgewogICAgICAgICAgICAgVmVj
dG9yPGJvb2w+IHZlY3RvcihsZW5ndGgpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0g
MDsgaiA8IGxlbmd0aDsgaisrKQpAQCAtMzU5Myw5ICszNTkzLDkgQEAgV2ViR0xBbnkgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybShXZWJHTFByb2dyYW0qIHByb2dyYW0sIGNv
bnN0IFdlYkcKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotUmVmUHRyPFdlYkdMVW5pZm9ybUxv
Y2F0aW9uPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRVbmlmb3JtTG9jYXRpb24oV2Vi
R0xQcm9ncmFtKiBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCitSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTFByb2dyYW0mIHByb2dyYW0sIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVy
KCJnZXRVbmlmb3JtTG9jYXRpb24iLCBwcm9ncmFtKSkKKyAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRVbmlmb3JtTG9j
YXRpb24iLCAmcHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICghdmFs
aWRhdGVMb2NhdGlvbkxlbmd0aCgiZ2V0VW5pZm9ybUxvY2F0aW9uIiwgbmFtZSkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzYwMywyMyArMzYwMywyMyBAQCBSZWZQdHI8V2ViR0xVbmlm
b3JtTG9jYXRpb24+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFVuaWZvcm1Mb2NhdGlv
bihXZWJHTAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoaXNQcmVmaXhSZXNlcnZl
ZChuYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFwcm9ncmFtLT5nZXRM
aW5rU3RhdHVzKCkpIHsKKyAgICBpZiAoIXByb2dyYW0uZ2V0TGlua1N0YXR1cygpKSB7CiAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElP
TiwgImdldFVuaWZvcm1Mb2NhdGlvbiIsICJwcm9ncmFtIG5vdCBsaW5rZWQiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEdDR0xpbnQgdW5pZm9ybUxvY2F0aW9uID0gbV9j
b250ZXh0LT5nZXRVbmlmb3JtTG9jYXRpb24ob2JqZWN0T3JaZXJvKHByb2dyYW0pLCBuYW1lKTsK
KyAgICBHQ0dMaW50IHVuaWZvcm1Mb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0ub2JqZWN0KCksIG5hbWUpOwogICAgIGlmICh1bmlmb3JtTG9jYXRpb24gPT0g
LTEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgR0NHTGludCBhY3RpdmVVbmlmb3Jt
cyA9IDA7CiAjaWYgVVNFKEFOR0xFKQotICAgIG1fY29udGV4dC0+Z2V0UHJvZ3JhbWl2KG9iamVj
dE9yWmVybyhwcm9ncmFtKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklGT1JNUywgJmFj
dGl2ZVVuaWZvcm1zKTsKKyAgICBtX2NvbnRleHQtPmdldFByb2dyYW1pdihwcm9ncmFtLm9iamVj
dCgpLCBHcmFwaGljc0NvbnRleHRHTDo6QUNUSVZFX1VOSUZPUk1TLCAmYWN0aXZlVW5pZm9ybXMp
OwogI2Vsc2UKLSAgICBtX2NvbnRleHQtPmdldE5vbkJ1aWx0SW5BY3RpdmVTeW1ib2xDb3VudChv
YmplY3RPclplcm8ocHJvZ3JhbSksIEdyYXBoaWNzQ29udGV4dEdMOjpBQ1RJVkVfVU5JRk9STVMs
ICZhY3RpdmVVbmlmb3Jtcyk7CisgICAgbV9jb250ZXh0LT5nZXROb25CdWlsdEluQWN0aXZlU3lt
Ym9sQ291bnQocHJvZ3JhbS5vYmplY3QoKSwgR3JhcGhpY3NDb250ZXh0R0w6OkFDVElWRV9VTklG
T1JNUywgJmFjdGl2ZVVuaWZvcm1zKTsKICNlbmRpZgogICAgIGZvciAoR0NHTGludCBpID0gMDsg
aSA8IGFjdGl2ZVVuaWZvcm1zOyBpKyspIHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0w6OkFj
dGl2ZUluZm8gaW5mbzsKLSAgICAgICAgaWYgKCFtX2NvbnRleHQtPmdldEFjdGl2ZVVuaWZvcm0o
b2JqZWN0T3JaZXJvKHByb2dyYW0pLCBpLCBpbmZvKSkKKyAgICAgICAgaWYgKCFtX2NvbnRleHQt
PmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbS5vYmplY3QoKSwgaSwgaW5mbykpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgLy8gU3RyaXAgIlswXSIgZnJvbSB0aGUgbmFtZSBp
ZiBpdCdzIGFuIGFycmF5LgogICAgICAgICBpZiAoaW5mby5uYW1lLmVuZHNXaXRoKCJbMF0iKSkK
QEAgLTM2MjksNyArMzYyOSw3IEBAIFJlZlB0cjxXZWJHTFVuaWZvcm1Mb2NhdGlvbj4gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMCiAgICAgICAgICAg
ICBTdHJpbmcgdW5pZm9ybU5hbWUgPSBtYWtlU3RyaW5nKGluZm8ubmFtZSwgJ1snLCBpbmRleCwg
J10nKTsKIAogICAgICAgICAgICAgaWYgKG5hbWUgPT0gdW5pZm9ybU5hbWUgfHwgbmFtZSA9PSBp
bmZvLm5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkdMVW5pZm9ybUxvY2F0aW9uOjpj
cmVhdGUocHJvZ3JhbSwgdW5pZm9ybUxvY2F0aW9uLCBpbmZvLnR5cGUpOworICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJHTFVuaWZvcm1Mb2NhdGlvbjo6Y3JlYXRlKCZwcm9ncmFtLCB1bmlmb3Jt
TG9jYXRpb24sIGluZm8udHlwZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIG51bGxw
dHI7CkBAIC0zODY0LDEyICszODY0LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6bGluZVdpZHRoKEdDR0xmbG9hdCB3aWR0aCkKICAgICBtX2NvbnRleHQtPmxpbmVXaWR0aCh3
aWR0aCk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bGlua1Byb2dyYW0o
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjps
aW5rUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKCFsaW5rUHJvZ3Jh
bVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMocHJvZ3JhbSkpCisgICAgaWYgKCFs
aW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMoJnByb2dyYW0pKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBwcm9ncmFtLT5pbmNyZWFzZUxpbmtDb3VudCgpOworICAg
IHByb2dyYW0uaW5jcmVhc2VMaW5rQ291bnQoKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpsaW5rUHJvZ3JhbVdpdGhvdXRJbnZhbGlkYXRpbmdBdHRyaWJMb2NhdGlvbnMo
V2ViR0xQcm9ncmFtKiBwcm9ncmFtKQpAQCAtNDQyMCwxOSArNDQyMCwxOSBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OnNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xz
aXplaSB3aWR0aCwgRwogICAgIG1fY29udGV4dC0+c2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVpZ2h0
KTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpzaGFkZXJTb3VyY2UoV2Vi
R0xTaGFkZXIqIHNoYWRlciwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCit2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYgc2hhZGVyLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2
YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJzaGFkZXJTb3VyY2UiLCBzaGFkZXIpKQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JT
aGFkZXIoInNoYWRlclNvdXJjZSIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNF
KEFOR0xFKQotICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKG9iamVjdE9yWmVybyhzaGFkZXIp
LCBzdHJpbmcpOworICAgIG1fY29udGV4dC0+c2hhZGVyU291cmNlKHNoYWRlci5vYmplY3QoKSwg
c3RyaW5nKTsKICNlbHNlCiAgICAgU3RyaW5nIHN0cmluZ1dpdGhvdXRDb21tZW50cyA9IFN0cmlw
Q29tbWVudHMoc3RyaW5nKS5yZXN1bHQoKTsKICAgICBpZiAoIXZhbGlkYXRlU3RyaW5nKCJzaGFk
ZXJTb3VyY2UiLCBzdHJpbmdXaXRob3V0Q29tbWVudHMpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uob2JqZWN0T3JaZXJvKHNoYWRlciksIHN0cmluZ1dpdGhv
dXRDb21tZW50cyk7CisgICAgbV9jb250ZXh0LT5zaGFkZXJTb3VyY2Uoc2hhZGVyLm9iamVjdCgp
LCBzdHJpbmdXaXRob3V0Q29tbWVudHMpOwogI2VuZGlmCi0gICAgc2hhZGVyLT5zZXRTb3VyY2Uo
c3RyaW5nKTsKKyAgICBzaGFkZXIuc2V0U291cmNlKHN0cmluZyk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6c3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCBy
ZWYsIEdDR0x1aW50IG1hc2spCkBAIC01OTM3LDExICs1OTM3LDExIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6dXNlUHJvZ3JhbShXZWJHTFByb2dyYW0qIHByb2dyYW0pCiAgICAg
fQogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUHJvZ3JhbShX
ZWJHTFByb2dyYW0qIHByb2dyYW0pCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZh
bGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0mIHByb2dyYW0pCiB7Ci0gICAgaWYgKGlzQ29udGV4
dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRh
dGVQcm9ncmFtIiwgcHJvZ3JhbSkpCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8
fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigidmFsaWRhdGVQcm9ncmFtIiwgJnByb2dy
YW0pKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT52YWxpZGF0ZVByb2dyYW0ob2Jq
ZWN0T3JaZXJvKHByb2dyYW0pKTsKKyAgICBtX2NvbnRleHQtPnZhbGlkYXRlUHJvZ3JhbShwcm9n
cmFtLm9iamVjdCgpKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2ZXJ0
ZXhBdHRyaWIxZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHYwKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4
IDA4NzNiNzJkMDA4NTMzYzE2NWMzZWE0Zjc0ZmY0ZmEyNjM3OTI0OWEuLmQwODg3MDcyZDQxOTJi
MzQ2ODBiNWViYzI2Y2Y2YzdjODhhZDg1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTEzMiw4ICsxMzIs
OCBAQCBwdWJsaWM6CiAgICAgaW50IGRyYXdpbmdCdWZmZXJIZWlnaHQoKSBjb25zdDsKIAogICAg
IHZvaWQgYWN0aXZlVGV4dHVyZShHQ0dMZW51bSB0ZXh0dXJlKTsKLSAgICB2b2lkIGF0dGFjaFNo
YWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOwotICAgIHZvaWQgYmluZEF0dHJpYkxv
Y2F0aW9uKFdlYkdMUHJvZ3JhbSosIEdDR0x1aW50IGluZGV4LCBjb25zdCBTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7Cisg
ICAgdm9pZCBiaW5kQXR0cmliTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgR0NHTHVpbnQgaW5kZXgs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdm9pZCBiaW5kQnVmZmVyKEdDR0xlbnVtIHRhcmdl
dCwgV2ViR0xCdWZmZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZEZyYW1lYnVmZmVyKEdDR0xl
bnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZlciopOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZl
cihHQ0dMZW51bSB0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyKik7CkBAIC0xNTUsNyArMTU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEZXB0aChHQ0dMZmxvYXQpOwogICAgIHZvaWQgY2xl
YXJTdGVuY2lsKEdDR0xpbnQpOwogICAgIHZvaWQgY29sb3JNYXNrKEdDR0xib29sZWFuIHJlZCwg
R0NHTGJvb2xlYW4gZ3JlZW4sIEdDR0xib29sZWFuIGJsdWUsIEdDR0xib29sZWFuIGFscGhhKTsK
LSAgICB2b2lkIGNvbXBpbGVTaGFkZXIoV2ViR0xTaGFkZXIqKTsKKyAgICB2b2lkIGNvbXBpbGVT
aGFkZXIoV2ViR0xTaGFkZXImKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoR0NH
TGVudW0gdGFyZ2V0LCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0NH
THNpemVpIHdpZHRoLCBHQ0dMc2l6ZWkgaGVpZ2h0LCBHQ0dMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3JiBkYXRhKTsKICAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGludCB4b2Zmc2V0LCBHQ0dMaW50IHlvZmZzZXQs
IEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGVudW0gZm9ybWF0LCBBcnJh
eUJ1ZmZlclZpZXcmIGRhdGEpOwpAQCAtMTgyLDcgKzE4Miw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRlcHRoRnVuYyhHQ0dMZW51bSk7CiAgICAgdm9pZCBkZXB0aE1hc2soR0NHTGJvb2xlYW4pOwog
ICAgIHZvaWQgZGVwdGhSYW5nZShHQ0dMZmxvYXQgek5lYXIsIEdDR0xmbG9hdCB6RmFyKTsKLSAg
ICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0qLCBXZWJHTFNoYWRlciopOworICAgIHZv
aWQgZGV0YWNoU2hhZGVyKFdlYkdMUHJvZ3JhbSYsIFdlYkdMU2hhZGVyJik7CiAgICAgdm9pZCBk
aXNhYmxlKEdDR0xlbnVtIGNhcCk7CiAgICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXko
R0NHTHVpbnQgaW5kZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
aW50IGZpcnN0LCBHQ0dMc2l6ZWkgY291bnQpOwpAQCAtMTk3LDI3ICsxOTcsMjcgQEAgcHVibGlj
OgogICAgIHZvaWQgZnJvbnRGYWNlKEdDR0xlbnVtIG1vZGUpOwogICAgIHZvaWQgZ2VuZXJhdGVN
aXBtYXAoR0NHTGVudW0gdGFyZ2V0KTsKIAotICAgIFJlZlB0cjxXZWJHTEFjdGl2ZUluZm8+IGdl
dEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0qLCBHQ0dMdWludCBpbmRleCk7Ci0gICAgUmVmUHRy
PFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0qLCBHQ0dMdWlu
dCBpbmRleCk7Ci0gICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJHTFNoYWRlcj4+PiBnZXRB
dHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtKik7Ci0gICAgR0NHTGludCBnZXRBdHRyaWJMb2Nh
dGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIFJlZlB0cjxXZWJH
TEFjdGl2ZUluZm8+IGdldEFjdGl2ZUF0dHJpYihXZWJHTFByb2dyYW0mLCBHQ0dMdWludCBpbmRl
eCk7CisgICAgUmVmUHRyPFdlYkdMQWN0aXZlSW5mbz4gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFBy
b2dyYW0mLCBHQ0dMdWludCBpbmRleCk7CisgICAgT3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxXZWJH
TFNoYWRlcj4+PiBnZXRBdHRhY2hlZFNoYWRlcnMoV2ViR0xQcm9ncmFtJik7CisgICAgR0NHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwog
ICAgIFdlYkdMQW55IGdldEJ1ZmZlclBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVt
IHBuYW1lKTsKICAgICBPcHRpb25hbDxXZWJHTENvbnRleHRBdHRyaWJ1dGVzPiBnZXRDb250ZXh0
QXR0cmlidXRlcygpOwogICAgIEdDR0xlbnVtIGdldEVycm9yKCk7CiAgICAgdmlydHVhbCBXZWJH
TEV4dGVuc2lvbiogZ2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkgPSAwOwogICAgIHZp
cnR1YWwgV2ViR0xBbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdDR0xlbnVt
IHRhcmdldCwgR0NHTGVudW0gYXR0YWNobWVudCwgR0NHTGVudW0gcG5hbWUpID0gMDsKICAgICB2
aXJ0dWFsIFdlYkdMQW55IGdldFBhcmFtZXRlcihHQ0dMZW51bSBwbmFtZSk7Ci0gICAgV2ViR0xB
bnkgZ2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0qLCBHQ0dMZW51bSBwbmFtZSk7Ci0g
ICAgU3RyaW5nIGdldFByb2dyYW1JbmZvTG9nKFdlYkdMUHJvZ3JhbSopOworICAgIFdlYkdMQW55
IGdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiwgR0NHTGVudW0gcG5hbWUpOworICAg
IFN0cmluZyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0mKTsKICAgICBXZWJHTEFueSBn
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBwbmFtZSk7
Ci0gICAgV2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyKiwgR0NHTGVudW0g
cG5hbWUpOwotICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyKik7CisgICAg
V2ViR0xBbnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyJiwgR0NHTGVudW0gcG5hbWUp
OworICAgIFN0cmluZyBnZXRTaGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyJik7CiAgICAgUmVmUHRy
PFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0PiBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0NH
TGVudW0gc2hhZGVyVHlwZSwgR0NHTGVudW0gcHJlY2lzaW9uVHlwZSk7Ci0gICAgU3RyaW5nIGdl
dFNoYWRlclNvdXJjZShXZWJHTFNoYWRlciopOworICAgIFN0cmluZyBnZXRTaGFkZXJTb3VyY2Uo
V2ViR0xTaGFkZXImKTsKICAgICB2aXJ0dWFsIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBnZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKCkgPSAwOwogICAgIHZpcnR1YWwgV2ViR0xBbnkgZ2V0VGV4UGFy
YW1ldGVyKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gcG5hbWUpOwotICAgIFdlYkdMQW55IGdl
dFVuaWZvcm0oV2ViR0xQcm9ncmFtKiwgY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qKTsKLSAg
ICBSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFBy
b2dyYW0qLCBjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJHTEFueSBnZXRVbmlmb3JtKFdlYkdMUHJv
Z3JhbSYsIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uJik7CisgICAgUmVmUHRyPFdlYkdMVW5p
Zm9ybUxvY2F0aW9uPiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtJiwgY29uc3QgU3Ry
aW5nJik7CiAgICAgV2ViR0xBbnkgZ2V0VmVydGV4QXR0cmliKEdDR0x1aW50IGluZGV4LCBHQ0dM
ZW51bSBwbmFtZSk7CiAgICAgbG9uZyBsb25nIGdldFZlcnRleEF0dHJpYk9mZnNldChHQ0dMdWlu
dCBpbmRleCwgR0NHTGVudW0gcG5hbWUpOwogCkBAIC0yNDMsNyArMjQzLDcgQEAgcHVibGljOgog
ICAgIEdDR0xib29sZWFuIGlzVGV4dHVyZShXZWJHTFRleHR1cmUqKTsKIAogICAgIHZvaWQgbGlu
ZVdpZHRoKEdDR0xmbG9hdCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dyYW0qKTsK
KyAgICB2b2lkIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSYpOwogICAgIGJvb2wgbGlua1Byb2dy
YW1XaXRob3V0SW52YWxpZGF0aW5nQXR0cmliTG9jYXRpb25zKFdlYkdMUHJvZ3JhbSopOwogICAg
IHZpcnR1YWwgdm9pZCBwaXhlbFN0b3JlaShHQ0dMZW51bSBwbmFtZSwgR0NHTGludCBwYXJhbSk7
CiAjaWYgRU5BQkxFKFdFQlhSKQpAQCAtMjU4LDcgKzI1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZUltcGwoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMc2l6
ZWkgc2FtcGxlcywgR0NHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NH
THNpemVpIGhlaWdodCwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKTsKICAgICB2b2lkIHNhbXBs
ZUNvdmVyYWdlKEdDR0xmbG9hdCB2YWx1ZSwgR0NHTGJvb2xlYW4gaW52ZXJ0KTsKICAgICB2b2lk
IHNjaXNzb3IoR0NHTGludCB4LCBHQ0dMaW50IHksIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVp
IGhlaWdodCk7Ci0gICAgdm9pZCBzaGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIqLCBjb25zdCBTdHJp
bmcmKTsKKyAgICB2b2lkIHNoYWRlclNvdXJjZShXZWJHTFNoYWRlciYsIGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgc3RlbmNpbEZ1bmMoR0NHTGVudW0gZnVuYywgR0NHTGludCByZWYsIEdDR0x1
aW50IG1hc2spOwogICAgIHZvaWQgc3RlbmNpbEZ1bmNTZXBhcmF0ZShHQ0dMZW51bSBmYWNlLCBH
Q0dMZW51bSBmdW5jLCBHQ0dMaW50IHJlZiwgR0NHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVu
Y2lsTWFzayhHQ0dMdWludCk7CkBAIC0zNDMsNyArMzQzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiosIEdDR0xib29sZWFu
IHRyYW5zcG9zZSwgRmxvYXQzMkxpc3QmJik7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oV2ViR0xQ
cm9ncmFtKik7Ci0gICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtKik7CisgICAg
dm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtJik7CiAKICAgICB2b2lkIHZlcnRleEF0
dHJpYjFmKEdDR0x1aW50IGluZGV4LCBHQ0dMZmxvYXQgeCk7CiAgICAgdm9pZCB2ZXJ0ZXhBdHRy
aWIyZihHQ0dMdWludCBpbmRleCwgR0NHTGZsb2F0IHgsIEdDR0xmbG9hdCB5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5pZGwKaW5kZXggYzBiZWQ0NGRlZDljM2RmMGExYzg4MzUzODkwNWUxYmFjYmZmYjVlYi4uNzI4
YjQyOTAyM2EzY2FkYjgzNTBhM2QyN2E4OTZhODFmMGYyZWI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwK
QEAgLTQ4Miw4ICs0ODIsOCBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52
YXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdMc2l6ZWkgZHJhd2luZ0J1ZmZlckhlaWdodDsK
IAogICAgIHZvaWQgYWN0aXZlVGV4dHVyZShHTGVudW0gdGV4dHVyZSk7Ci0gICAgdm9pZCBhdHRh
Y2hTaGFkZXIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBXZWJHTFNoYWRlcj8gc2hhZGVyKTsKLSAg
ICB2b2lkIGJpbmRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMdWludCBp
bmRleCwgRE9NU3RyaW5nIG5hbWUpOworICAgIHZvaWQgYXR0YWNoU2hhZGVyKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIHZvaWQgYmluZEF0dHJpYkxvY2F0
aW9uKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBuYW1lKTsK
ICAgICB2b2lkIGJpbmRCdWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xCdWZmZXI/IGJ1ZmZlcik7
CiAgICAgdm9pZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZl
cj8gZnJhbWVidWZmZXIpOwogICAgIHZvaWQgYmluZFJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBXZWJHTFJlbmRlcmJ1ZmZlcj8gcmVuZGVyYnVmZmVyKTsKQEAgLTUwMywxMyArNTAzLDEzIEBA
IHR5cGVkZWYgKEhUTUxDYW52YXNFbGVtZW50KSBXZWJHTENhbnZhczsKICAgICB2b2lkIGNsZWFy
RGVwdGgoR0xjbGFtcGYgZGVwdGgpOwogICAgIHZvaWQgY2xlYXJTdGVuY2lsKEdMaW50IHMpOwog
ICAgIHZvaWQgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29s
ZWFuIGJsdWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgdm9pZCBjb21waWxlU2hhZGVyKFdlYkdM
U2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFk
ZXIpOwogCiAgICAgdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBH
TGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGlu
dCBib3JkZXIsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBBcnJheUJ1ZmZlclZpZXc/IHBp
eGVscyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xlbnVtIGZvcm1hdCwg
R0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBUZXhJbWFnZVNvdXJj
ZSBzb3VyY2UpOwogCiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTHNpemVpIHdpZHRoLCBHTHNp
emVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldz8g
cGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2UyRChHTGVu
dW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIFRleEltYWdlU291cmNlPyBzb3VyY2UpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCB0ZXhTdWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50
IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBHTGVudW0gZm9ybWF0LCBHTGVu
dW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2Ugc291cmNlKTsKIAogICAgIHZvaWQgY29tcHJlc3NlZFRl
eEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1h
dCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgQXJyYXlCdWZm
ZXJWaWV3IGRhdGEpOwogICAgIHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQsIEdMc2l6ZWkg
d2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGVudW0gZm9ybWF0LCBBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7CkBAIC01MzYsNyArNTM2LDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIHZvaWQgZGVwdGhGdW5jKEdMZW51bSBmdW5jKTsKICAgICB2b2lkIGRlcHRo
TWFzayhHTGJvb2xlYW4gZmxhZyk7CiAgICAgdm9pZCBkZXB0aFJhbmdlKEdMY2xhbXBmIHpOZWFy
LCBHTGNsYW1wZiB6RmFyKTsKLSAgICB2b2lkIGRldGFjaFNoYWRlcihXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMU2hhZGVyPyBzaGFkZXIpOworICAgIHZvaWQgZGV0YWNoU2hhZGVyKFdlYkdM
UHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOwogICAgIHZvaWQgZGlzYWJsZShH
TGVudW0gY2FwKTsKICAgICB2b2lkIGRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5k
ZXgpOwogICAgIHZvaWQgZHJhd0FycmF5cyhHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdMc2l6
ZWkgY291bnQpOwpAQCAtNTUxLDEzICs1NTEsMTMgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1l
bnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgZnJvbnRGYWNlKEdMZW51bSBtb2RlKTsKICAgICB2
b2lkIGdlbmVyYXRlTWlwbWFwKEdMZW51bSB0YXJnZXQpOwogICAgIAotICAgIFdlYkdMQWN0aXZl
SW5mbyBnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtPyBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OwotICAgIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbT8gcHJv
Z3JhbSwgR0x1aW50IGluZGV4KTsKKyAgICBXZWJHTEFjdGl2ZUluZm8gZ2V0QWN0aXZlQXR0cmli
KFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOworICAgIFdlYkdMQWN0aXZlSW5m
byBnZXRBY3RpdmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOwog
CiAgICAgLy8gRklYTUU6IFRoZSBzcGVjIHNheXMgdGhpcyBzaG91bGQgbm90IHRha2UgYSBudWxs
YWJsZSBXZWJHTFByb2dyYW0uCi0gICAgc2VxdWVuY2U8V2ViR0xTaGFkZXI+PyBnZXRBdHRhY2hl
ZFNoYWRlcnMoV2ViR0xQcm9ncmFtPyBwcm9ncmFtKTsKKyAgICBzZXF1ZW5jZTxXZWJHTFNoYWRl
cj4/IGdldEF0dGFjaGVkU2hhZGVycyhXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CiAKLSAgICBHTGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBHTGludCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgRE9N
U3RyaW5nIG5hbWUpOwogCiAgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdl
dEJ1ZmZlclBhcmFtZXRlcihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUpOwogCkBAIC01NzAs
MjIgKzU3MCwyMiBAQCB0eXBlZGVmIChIVE1MQ2FudmFzRWxlbWVudCkgV2ViR0xDYW52YXM7CiAK
ICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVudW0g
cG5hbWUpOwogICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQYXJhbWV0
ZXIoR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0/IHByb2dyYW0sIEdMZW51bSBwbmFtZSk7
Ci0gICAgRE9NU3RyaW5nPyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0/IHByb2dyYW0p
OworICAgIFtPdmVycmlkZUlETFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTGVudW0gcG5hbWUpOworICAgIERPTVN0cmluZz8g
Z2V0UHJvZ3JhbUluZm9Mb2coV2ViR0xQcm9ncmFtIHByb2dyYW0pOwogICAgIFtPdmVycmlkZUlE
TFR5cGU9SURMV2ViR0xBbnldIGFueSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0xlbnVtIHRh
cmdldCwgR0xlbnVtIHBuYW1lKTsKLSAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBh
bnkgZ2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyPyBzaGFkZXIsIEdMZW51bSBwbmFtZSk7
CisgICAgW092ZXJyaWRlSURMVHlwZT1JRExXZWJHTEFueV0gYW55IGdldFNoYWRlclBhcmFtZXRl
cihXZWJHTFNoYWRlciBzaGFkZXIsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBET01TdHJpbmc/IGdl
dFNoYWRlckluZm9Mb2coV2ViR0xTaGFkZXI/IHNoYWRlcik7CisgICAgRE9NU3RyaW5nPyBnZXRT
aGFkZXJJbmZvTG9nKFdlYkdMU2hhZGVyIHNoYWRlcik7CiAKICAgICBXZWJHTFNoYWRlclByZWNp
c2lvbkZvcm1hdCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0xlbnVtIHNoYWRlcnR5cGUsIEdM
ZW51bSBwcmVjaXNpb250eXBlKTsKIAotICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdl
YkdMU2hhZGVyPyBzaGFkZXIpOworICAgIERPTVN0cmluZz8gZ2V0U2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlcik7CiAKICAgICBbT3ZlcnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkg
Z2V0VGV4UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdMZW51bSBwbmFtZSk7CiAKLSAgICBbT3Zl
cnJpZGVJRExUeXBlPUlETFdlYkdMQW55XSBhbnkgZ2V0VW5pZm9ybShXZWJHTFByb2dyYW0/IHBy
b2dyYW0sIFdlYkdMVW5pZm9ybUxvY2F0aW9uPyBsb2NhdGlvbik7CisgICAgW092ZXJyaWRlSURM
VHlwZT1JRExXZWJHTEFueV0gYW55IGdldFVuaWZvcm0oV2ViR0xQcm9ncmFtIHByb2dyYW0sIFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uKTsKIAotICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IGdldFVuaWZvcm1Mb2NhdGlvbihXZWJHTFByb2dyYW0/IHByb2dyYW0sIERPTVN0cmluZyBuYW1l
KTsKKyAgICBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9n
cmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1lKTsKIAogICAgIFtPdmVycmlkZUlETFR5cGU9SURM
V2ViR0xBbnldIGFueSBnZXRWZXJ0ZXhBdHRyaWIoR0x1aW50IGluZGV4LCBHTGVudW0gcG5hbWUp
OwogCkBAIC02MDEsNyArNjAxLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdM
Q2FudmFzOwogICAgIEdMYm9vbGVhbiBpc1NoYWRlcihXZWJHTFNoYWRlcj8gc2hhZGVyKTsKICAg
ICBHTGJvb2xlYW4gaXNUZXh0dXJlKFdlYkdMVGV4dHVyZT8gdGV4dHVyZSk7CiAgICAgdm9pZCBs
aW5lV2lkdGgoR0xmbG9hdCB3aWR0aCk7Ci0gICAgdm9pZCBsaW5rUHJvZ3JhbShXZWJHTFByb2dy
YW0/IHByb2dyYW0pOworICAgIHZvaWQgbGlua1Byb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0p
OwogCiAgICAgW05ld09iamVjdCwgQ29uZGl0aW9uYWw9V0VCWFJdIFByb21pc2U8dm9pZD4gbWFr
ZVhSQ29tcGF0aWJsZSgpOwogCkBAIC02MTMsNyArNjEzLDcgQEAgdHlwZWRlZiAoSFRNTENhbnZh
c0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZShHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkg
aGVpZ2h0KTsKICAgICB2b2lkIHNhbXBsZUNvdmVyYWdlKEdMY2xhbXBmIHZhbHVlLCBHTGJvb2xl
YW4gaW52ZXJ0KTsKICAgICB2b2lkIHNjaXNzb3IoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3
aWR0aCwgR0xzaXplaSBoZWlnaHQpOwotICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdMU2hhZGVy
PyBzaGFkZXIsIERPTVN0cmluZyBzdHJpbmcpOworICAgIHZvaWQgc2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlciwgRE9NU3RyaW5nIHN0cmluZyk7CiAgICAgdm9pZCBzdGVuY2lsRnVuYyhH
TGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFzayk7CiAgICAgdm9pZCBzdGVuY2lsRnVu
Y1NlcGFyYXRlKEdMZW51bSBmYWNlLCBHTGVudW0gZnVuYywgR0xpbnQgcmVmLCBHTHVpbnQgbWFz
ayk7CiAgICAgdm9pZCBzdGVuY2lsTWFzayhHTHVpbnQgbWFzayk7CkBAIC02NDksNyArNjQ5LDcg
QEAgdHlwZWRlZiAoSFRNTENhbnZhc0VsZW1lbnQpIFdlYkdMQ2FudmFzOwogICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbj8gbG9jYXRpb24sIEdMYm9vbGVhbiB0
cmFuc3Bvc2UsIEZsb2F0MzJMaXN0IGFycmF5KTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShXZWJH
TFByb2dyYW0/IHByb2dyYW0pOwotICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFdlYkdMUHJvZ3Jh
bT8gcHJvZ3JhbSk7CisgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dy
YW0pOwogCiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIxZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCk7
CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWIyZihHTHVpbnQgaW5kZXgsIEdMZmxvYXQgeCwgR0xmbG9h
dCB5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFk
ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTaGFkZXJQ
cm9ncmFtLmNwcAppbmRleCBmODE2YmI2ZjQzNmYyNmY3Yjg2M2YxMTllYjFjOTAxNGQ3MGZmODgx
Li42OTM3NzhkZjZlMDIwY2IwMTgwMWU3NWM4ZTM5OTUzZDlmMTcyNjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU2hhZGVyUHJvZ3JhbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclNoYWRlclByb2dyYW0uY3BwCkBAIC0x
OTAsOCArMTkwLDggQEAgYm9vbCBJbnNwZWN0b3JTaGFkZXJQcm9ncmFtOjp1cGRhdGVTaGFkZXIo
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpTaGFkZXJUeXAKICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogY29udGV4dCA9IG1fY2FudmFzLmNhbnZhc0NvbnRleHQoKSkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoaXM8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4oY29udGV4dCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRleHRXZWJHTEJhc2UgPSBkb3duY2Fz
dDxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPigqY29udGV4dCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0V2ViR0xCYXNlLnNoYWRlclNvdXJjZShzaGFkZXIsIHNvdXJjZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2ViR0xCYXNlLmNvbXBpbGVTaGFkZXIoc2hh
ZGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRXZWJHTEJhc2Uuc2hhZGVyU291
cmNlKCpzaGFkZXIsIHNvdXJjZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0V2Vi
R0xCYXNlLmNvbXBpbGVTaGFkZXIoKnNoYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc2hhZGVyLT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0V2ViR0xCYXNlLmxpbmtQcm9ncmFtV2l0aG91dEludmFsaWRhdGluZ0F0dHJpYkxvY2F0aW9u
cygmcHJvZ3JhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2UwYTk4NWM2NDgzZmQ3MmZhYjU2NGIwZmM0ZjAyYTMxNGZkZDNkZi4uM2FiMGJjODM2
YjkzNmMxZWQzZjQyNDFjMjQwMmQwOTlkYmZlZGJhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisy
MDIwLTA4LTE4ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbV2ViR0wyXSBWYXJpb3VzIHBhcmFtZXRlcnMgc2hvdWxkIGJlIG5vbi1udWxsYWJs
ZSBpbiBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTYxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLWZ1bGwtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLWZ1bGwuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1tZW1vcnlMaW1pdC5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBzaG90cy5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1mcmFtZUNvdW50
Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLWZ1bGwu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5
TGltaXQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDIt
c25hcHNob3RzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvcmVj
b3JkaW5nLXdlYmdsLmpzOgorICAgICAgICAobG9hZCk6CisgICAgICAgICogd2ViZ2wvMi4wLjAv
Y29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0
LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ2wvMi4wLjAvY29uZm9ybWFu
Y2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJn
bC8yLjAuMC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleC1z
dWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlMi9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDoKKwog
MjAyMC0wOC0xNyAgSGVjdG9yIExvcGV6ICA8aGVjdG9yX2lfbG9wZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgbWFjT1Mgd2sxIF0gd2ViYXVkaW8vb3NjaWxsYXRvci1zcXVhcmUuaHRtbCBpcyBh
IGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0CmluZGV4IDBhYmJmMTNhNmZiYTQ0YjgwNDFkNDZi
Nzg5NjQ2Y2QzYTRiODIxYjkuLjYxZDdjODBjMjJhNjQxMjI4YWRmMzVjMmQzN2VlNmE1MzA3ZTVj
NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9z
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4
dC1sb3N0LWV4cGVjdGVkLnR4dApAQCAtOTAsMTQgKzkwLDE0IEBAIFBBU1MgZ2wuc3RlbmNpbE9w
U2VwYXJhdGUoZ2wuRlJPTlQsIGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIHdhcyBleHBlY3Rl
ZCB2YWx1CiBQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwg
MCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgogUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KLVBBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCiBQQVNTIGdsLnRleFBhcmFtZXRlcmYoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgogUEFTUyBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlO
X0ZJTFRFUiwgZ2wuTkVBUkVTVCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KIFBBU1Mg
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCAwLCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBhcnJheUJ1ZmZlclZpZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCiBQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2VEYXRhKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgogUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgotUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhcykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMyZCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KIFBBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlbykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
IFBBU1MgZ2wudW5pZm9ybTFmKHVuaWZvcm1Mb2NhdGlvbiwgMCkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KIFBBU1MgZ2wudW5pZm9ybTFmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJh
cnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KQEAgLTE3OCw2ICsxNzgsMTAgQEAg
UEFTUyBnbC5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIGlzIGZhbHNlCiBQQVNTIGdsLmlz
U2hhZGVyKHNoYWRlcikgaXMgZmFsc2UKIFBBU1MgZ2wuaXNUZXh0dXJlKHRleHR1cmUpIGlzIGZh
bHNlCiBQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgT0VTX3ZlcnRleF9h
cnJheV9vYmplY3QuYmluZFZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5pc1Zl
cnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBPRVNfdmVydGV4X2FycmF5X29iamVjdC5kZWxldGVWZXJ0ZXhBcnJheU9FUyh2
ZXJ0ZXhBcnJheU9iamVjdCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgT0VT
X3ZlcnRleF9hcnJheV9vYmplY3QuY3JlYXRlVmVydGV4QXJyYXlPRVMoKSBpcyBudWxsCiAKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbAppbmRleCAwOGY1N2U2YTU0YWYxMDdhN2JmYzVi
M2YxZWFjNzA2NGRiMjM0YWNmLi4wYmMwNjMzNjFkZGQ1YTk2YzMxMmUxYTY4YjExNzE3ZGZkYmMz
ODBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxv
c3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3Qu
aHRtbApAQCAtMzEsNiArMzEsOCBAQCB2YXIgY3R4MmQ7CiB2YXIgaW1hZ2VEYXRhOwogdmFyIGZs
b2F0MzJhcnJheTsKIHZhciBpbnQzMmFycmF5OwordmFyIE9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0
OwordmFyIHZlcnRleEFycmF5T2JqZWN0OwogCiBmdW5jdGlvbiBpbml0KCkKIHsKQEAgLTQ5LDE1
ICs1MSwyMiBAQCBmdW5jdGlvbiBpbml0KCkKICAgICAvLyBmb3IgdGhlIGlzQ29udGV4dExvc3Qo
KSBtZXRob2QsIHdoaWNoIHdlIHdhbnQgdG8gZG8gcmVnYXJkbGVzcyBvZiB0aGUgZXh0ZW5zaW9u
J3MgcHJlc2VuY2UuCiAgICAgdGVzdFZhbGlkQ29udGV4dCgpOwogCi0gICAgZXh0ZW5zaW9uID0g
Z2wuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9sb3NlX2NvbnRleHQiKTsKLSAgICBpZiAoIWV4dGVuc2lv
bikgewotICAgICAgICBkZWJ1ZygiQ291bGQgbm90IGZpbmQgbG9zZV9jb250ZXh0IGV4dGVuc2lv
biB1bmRlciB0aGUgZm9sbG93aW5nIG5hbWVzOiBXRUJHTF9sb3NlX2NvbnRleHQiKTsKKyAgICBl
eHRlbnNpb25OYW1lID0gd3R1LmdldFN1cHBvcnRlZEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVz
KGdsLCAiV0VCR0xfbG9zZV9jb250ZXh0Iik7CisgICAgaWYgKCFleHRlbnNpb25OYW1lKSB7Cisg
ICAgICAgIGRlYnVnKCJDb3VsZCBub3QgZmluZCBXRUJHTF9sb3NlX2NvbnRleHQgZXh0ZW5zaW9u
Iik7CiAgICAgICAgIGZpbmlzaFRlc3QoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
KyAgICBleHRlbnNpb24gPSBnbC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uTmFtZSk7CisKKyAgICAv
LyBuZWVkIGFuIGV4dGVuc2lvbiB0aGF0IGV4cG9zZXMgbmV3IEFQSSBtZXRob2RzLgorICAgIE9F
U192ZXJ0ZXhfYXJyYXlfb2JqZWN0ID0gd3R1LmdldEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVz
KGdsLCAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKTsKIAogICAgIGNhbnZhcy5hZGRFdmVudExp
c3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0LCBmYWxzZSk7CiAKKyAg
ICAvLyBXZSBuZWVkIHRvIGluaXRpYWxpemUgfHVuaWZvcm1Mb2NhdGlvbnwgYmVmb3JlIGxvc2lu
ZyBjb250ZXh0LgorICAgIC8vIE90aGVyd2lzZSBnbC5nZXRVbmlmb3JtKCkgd2hlbiBjb250ZXh0
IGlzIGxvc3Qgd2lsbCB0aHJvdy4KKyAgICB1bmlmb3JtTG9jYXRpb24gPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOwogICAgIGxvc2VDb250ZXh0KCk7CiB9CiAKQEAgLTEw
Myw2ICsxMTIsMjQgQEAgZnVuY3Rpb24gdGVzdFZhbGlkQ29udGV4dCgpCiAgICAgc2hvdWxkQmVU
cnVlKCJnbC5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIik7CiAgICAgc2hvdWxkQmVUcnVl
KCJnbC5pc1NoYWRlcihzaGFkZXIpIik7CiAgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUo
dGV4dHVyZSkiKTsKKworICAgIGlmIChPRVNfdmVydGV4X2FycmF5X29iamVjdCkgeworICAgICAg
dmVydGV4QXJyYXlPYmplY3QgPSBPRVNfdmVydGV4X2FycmF5X29iamVjdC5jcmVhdGVWZXJ0ZXhB
cnJheU9FUygpOworICAgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1Ii
KTsKKyAgICAgIHNob3VsZEJlVHJ1ZSgiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QuaXNWZXJ0ZXhB
cnJheU9FUyh2ZXJ0ZXhBcnJheU9iamVjdCkiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RH
TE5PRXJyb3JGdW5jdGlvbnModGVzdHMpIHsKKyAgdGVzdHMuZm9yRWFjaChmdW5jdGlvbih0ZXN0
KSB7CisgICAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCB0ZXN0KTsK
KyAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RGdW5jdGlvbnNUaGF0UmV0dXJuTlVMTCh0ZXN0cykg
eworICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICAgIHNob3VsZEJlTnVsbCh0
ZXN0KTsKKyAgfSk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RMb3N0Q29udGV4dCgpCkBAIC0xOTgsMTQg
KzIyNSwxNCBAQCBmdW5jdGlvbiB0ZXN0TG9zdENvbnRleHQoKQogICAgICAgICAiZ2wudGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBhcnJheUJ1ZmZlclZpZXcpIiwKICAgICAgICAgImdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2VE
YXRhKSIsCiAgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlKSIsCi0gICAgICAgICJnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IGNhbnZhcykiLAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMyZCkiLAogICAgICAgICAiZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCB2aWRlbykiLAogICAgICAgICAiZ2wudGV4UGFyYW1ldGVyZihnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKICAgICAgICAgImdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNU
KSIsCiAgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAogICAgICAg
ICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwKICAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwK
LSAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZh
czJkKSIsCiAgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCiAgICAgICAgICJnbC51bmlmb3Jt
MWYodW5pZm9ybUxvY2F0aW9uLCAwKSIsCiAgICAgICAgICJnbC51bmlmb3JtMWZ2KHVuaWZvcm1M
b2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCkBAIC0yNTQsOSArMjgxLDcgQEAgZnVuY3Rpb24gdGVz
dExvc3RDb250ZXh0KCkKICAgICAgICAgImdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMCwgZ2wu
RkxPQVQsIGZhbHNlLCAwLCAwKSIsCiAgICAgICAgICJnbC52aWV3cG9ydCgwLCAwLCAwLCAwKSIs
CiAgICAgXTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZvaWRUZXN0cy5sZW5ndGg7ICsraSkg
ewotICAgICAgICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCB2b2lkVGVz
dHNbaV0pOwotICAgIH0KKyAgICB0ZXN0R0xOT0Vycm9yRnVuY3Rpb25zKHZvaWRUZXN0cyk7CiAK
ICAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJldHVy
biBudWxsLgogICAgIHZhciBudWxsVGVzdHMgPSBbCkBAIC0yODQsMTEgKzMwOSw5IEBAIGZ1bmN0
aW9uIHRlc3RMb3N0Q29udGV4dCgpCiAgICAgICAgICJnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgJ3ZQb3NpdGlvbicpIiwKICAgICAgICAgImdsLmdldFZlcnRleEF0dHJpYigwLCBnbC5W
RVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKSIsCiAgICAgICAgICJnbC5nZXRTdXBw
b3J0ZWRFeHRlbnNpb25zKCkiLAotICAgICAgICAiZ2wuZ2V0RXh0ZW5zaW9uKCdXRUJHTF9sb3Nl
X2NvbnRleHQnKSIsCisgICAgICAgICJnbC5nZXRFeHRlbnNpb24oJyIgKyBleHRlbnNpb25OYW1l
ICsgIicpIiwKICAgICBdOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVsbFRlc3RzLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgIHNob3VsZEJlTnVsbChudWxsVGVzdHNbaV0pOwotICAgIH0KKyAg
ICB0ZXN0RnVuY3Rpb25zVGhhdFJldHVybk5VTEwobnVsbFRlc3RzKTsKIAogICAgIC8vICJJcyIg
cXVlcmllcyBzaG91bGQgYWxsIHJldHVybiBmYWxzZS4KICAgICBzaG91bGRCZUZhbHNlKCJnbC5p
c0J1ZmZlcihidWZmZXIpIik7CkBAIC0zMDEsNiArMzI0LDIwIEBAIGZ1bmN0aW9uIHRlc3RMb3N0
Q29udGV4dCgpCiAKICAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIp
OwogCisgICAgLy8gdGVzdCBleHRlbnNpb25zCisgICAgaWYgKE9FU192ZXJ0ZXhfYXJyYXlfb2Jq
ZWN0KSB7CisgICAgICB0ZXN0R0xOT0Vycm9yRnVuY3Rpb25zKAorICAgICAgICBbCisgICAgICAg
ICAgIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0LmJpbmRWZXJ0ZXhBcnJheU9FUyh2ZXJ0ZXhBcnJh
eU9iamVjdCkiLAorICAgICAgICAgICJPRVNfdmVydGV4X2FycmF5X29iamVjdC5pc1ZlcnRleEFy
cmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIsCisgICAgICAgICAgIk9FU192ZXJ0ZXhfYXJyYXlf
b2JqZWN0LmRlbGV0ZVZlcnRleEFycmF5T0VTKHZlcnRleEFycmF5T2JqZWN0KSIsCisgICAgICAg
IF0pOworICAgICAgdGVzdEZ1bmN0aW9uc1RoYXRSZXR1cm5OVUxMKAorICAgICAgICBbCisgICAg
ICAgICAgIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0LmNyZWF0ZVZlcnRleEFycmF5T0VTKCkiLAor
ICAgICAgICBdKTsKKyAgICB9CisKICAgICBkZWJ1ZygiIik7CiAKICAgICBmaW5pc2hUZXN0KCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVw
b3J0aW5nLWV4cGVjdGVkLnR4dAppbmRleCBhNzdmZjQwNWJlZThlYjFlNjU2ZWRmOGYxOWU3Mjcw
MzAyYzhmY2I5Li5iZjk2ODBjM2UwZjVlNGMzNjBiZDdkODQ0ZTI2ZjM3MDg3ODZmMWY3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9y
dGluZy1leHBlY3RlZC50eHQKQEAgLTQsMTUgKzQsMTQgQEAgT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUKIAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBUZXN0
aW5nIGdldEFjdGl2ZUF0dHJpYgotUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAy
KSBpcyBudWxsCi1QQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxV
RSA6IAorUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAyKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5nZXRBY3RpdmVBdHRyaWIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0u
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBjb250ZXh0LmdldEFj
dGl2ZUF0dHJpYihwcm9ncmFtLCAyKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogCiBUZXN0aW5nIGdldEFjdGl2ZVVuaWZvcm0KLVBBU1MgY29udGV4dC5n
ZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIGlzIG51bGwKLVBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCitQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9y
bShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3Jh
bScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRBY3RpdmVVbmlmb3JtIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCA1
MCkgaXMgbnVsbAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFM
VUUgOiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJl
cG9ydGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0
aW5nLmh0bWwKaW5kZXggM2Y2YmNjMTg3OTg0NDI2ZDBhZWFjZTk4NjI3Y2M5YTdhZTQwMzc2Mi4u
OWEwZjdhOTQ0Y2FjYzYwOTVmZGExNmNhOGMyNTU1NWY0ZWY1NmM2ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLmh0bWwKQEAgLTI2LDkg
KzI2LDggQEAgdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogZ2xF
cnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogCiBkZWJ1ZygiVGVzdGlu
ZyBnZXRBY3RpdmVBdHRyaWIiKTsKLS8vIFN5bnRoZXRpYyBPcGVuR0wgZXJyb3IKLXNob3VsZEJl
TnVsbCgiY29udGV4dC5nZXRBY3RpdmVBdHRyaWIobnVsbCwgMikiKTsKLWdsRXJyb3JTaG91bGRC
ZShjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUpOworc2hvdWxkVGhyb3coImNvbnRleHQu
Z2V0QWN0aXZlQXR0cmliKG51bGwsIDIpIik7CitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29u
dGV4dC5OT19FUlJPUik7CiAvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIgYnkgdGhpcyBw
b2ludAogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOwogLy8gUmVh
bCBPcGVuR0wgZXJyb3IKQEAgLTM4LDkgKzM3LDcgQEAgZ2xFcnJvclNob3VsZEJlKGNvbnRleHQs
IGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4
dC5OT19FUlJPUik7CiAKIGRlYnVnKCJUZXN0aW5nIGdldEFjdGl2ZVVuaWZvcm0iKTsKLS8vIFN5
bnRoZXRpYyBPcGVuR0wgZXJyb3IKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlm
b3JtKG51bGwsIDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElE
X1ZBTFVFKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCki
KTsKIC8vIEVycm9yIHN0YXRlIHNob3VsZCBiZSBjbGVhciBieSB0aGlzIHBvaW50CiBnbEVycm9y
U2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5OT19FUlJPUik7CiAvLyBSZWFsIE9wZW5HTCBlcnJv
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10
ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3Rp
dmUtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggYjI4NDFkOGY5M2NiMDVhMDg4NzYxZmM5Nzk5YzUy
NmM3YjYzOTc5Yy4uOGRjNTk2ZTQ3ZWNkZWMyMDNmMDk2YjExOGNhOGZiOTdjODY1NTAyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZl
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xMCw4ICsxMCw4IEBAIFBBU1MgY29udGV4dC5nZXRBY3Rp
dmVVbmlmb3JtKHByb2dyYW0sIDEpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShw
cm9ncmFtLCAtMSkgaXMgbnVsbAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfVkFMVUUgOiAKLVBBU1MgY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGwsIDApIGlz
IG51bGwKLVBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDog
CitQQVNTIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShudWxsLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5nZXRBY3RpdmVVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGluZm9b
aWldIGlzIG5vbi1udWxsLgogUEFTUyBpbmZvW2lpXSBpcyBub24tbnVsbC4KIFBBU1MgaW5mb1tp
aV0ubmFtZSBpcyBleHBlY3RlZFtpaV0ubmFtZQpAQCAtMzIsOCArMzIsOCBAQCBQQVNTIGNvbnRl
eHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlzIG51bGwKIFBBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGNvbnRleHQuZ2V0QWN0aXZl
QXR0cmliKHByb2dyYW0sIC0xKSBpcyBudWxsCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9WQUxVRSA6IAotUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxs
LCAwKSBpcyBudWxsCi1QQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9W
QUxVRSA6IAorUEFTUyBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5nZXRBY3RpdmVBdHRyaWIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dy
YW0uCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogQ2hlY2sgdHJ5aW5nIHRv
IGdldCBhdHRyaWJzIGZyb20gZGlmZmVyZW50IGNvbnRleHQKIFBBU1MgY29udGV4dDIuZ2V0QWN0
aXZlQXR0cmliKHByb2dyYW0sIDApIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKaW5kZXggMTcyZDA2NDVjNDhjOTliYjdl
Yzc0ZmQxZWE2ZjU3Y2UzNmI3NmEwYy4uMGJlMzMzM2YyNWFlY2U4MzQyNjVhZTlmOWU3ODdmODFm
YzNhNWYyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFj
dGl2ZS10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFj
dGl2ZS10ZXN0Lmh0bWwKQEAgLTI4LDggKzI4LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0Lmdl
dEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMSkiKTsKIGdsRXJyb3JTaG91bGRCZShjb250ZXh0LCBj
b250ZXh0LklOVkFMSURfVkFMVUUpOwogc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZVVu
aWZvcm0ocHJvZ3JhbSwgLTEpIik7CiBnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFKTsKLXNob3VsZEJlTnVsbCgiY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51
bGwsIDApIik7Ci1nbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVF
KTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0obnVsbCwgMCkiKTsKK2ds
RXJyb3JTaG91bGRCZShjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SKTsKIAogLy8gd2UgZG9uJ3Qg
a25vdyB0aGUgb3JkZXIgdGhlIGF0dHJpYnMgd2lsbCBhcHBlYXIuCiB2YXIgaW5mbyA9IFsKQEAg
LTg1LDggKzg1LDggQEAgc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9n
cmFtLCAyKSIpOwogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSk7CiBzaG91bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIC0xKSIp
OwogZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7Ci1zaG91
bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKG51bGwsIDApIik7Ci1nbEVycm9yU2hv
dWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAwKSIpOworZ2xFcnJvclNob3VsZEJlKGNvbnRleHQs
IGNvbnRleHQuTk9fRVJST1IpOwogCiBnbEVycm9yU2hvdWxkQmUoY29udGV4dDIsIGNvbnRleHQu
Tk9fRVJST1IpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9n
bC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CmluZGV4IDlkZmU2YjM0NGM2
MzU4OGJhZTViZWE5ZjExODE3ZDViZTg0NDU2MmEuLmQzZWU0Zjg4ZmNhYmIwZjE1NzA2Njk1OTVl
NmY4NDVjN2QxODViY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC01LDggKzUs
OCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzaGFkZXJzLmxlbmd0aCBpcyAyCiBQ
QVNTIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRG
cmFnIHx8IHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRh
cmRGcmFnIGlzIHRydWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IAotUEFTUyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMobnVsbCkgaXMgbnVsbAotUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUgOiAKK1BBU1MgZ2wuZ2V0QXR0
YWNoZWRTaGFkZXJzKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldEF0dGFjaGVkU2hhZGVycyBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3Rh
bmRhcmRWZXJ0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3Jh
bScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRBdHRhY2hlZFNoYWRlcnMgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZX0JV
RkZFUiwgZ2wuQlVGRkVSX1NJWkUpIGlzIDE2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKaW5kZXggZGY5NDM3ZWI2OGZh
MGZiMzllZDYwYTZjYTM3MGQ3NGI4Mjk3ZDFjOS4uMGM4OTkzOGU2YmQxYWExNWEwNmNmMTVlZDlk
NTU5Mzc0OWVjOGNlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Z2wtb2JqZWN0LWdldC1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtNDQsOCArNDQsOCBAQCB2YXIgc2hhZGVy
cyA9IGdsLmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFByb2dyYW0pOwogc2hvdWxkQmUoJ3No
YWRlcnMubGVuZ3RoJywgJzInKTsKIHNob3VsZEJlVHJ1ZSgnc2hhZGVyc1swXSA9PSBzdGFuZGFy
ZFZlcnQgJiYgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZEZyYWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFu
ZGFyZFZlcnQgJiYgc2hhZGVyc1swXSA9PSBzdGFuZGFyZEZyYWcnKTsKIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOwotc2hvdWxkQmVOdWxsKCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMo
bnVsbCknKTsKLWdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSk7CitzaG91bGRU
aHJvdygnZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKIHNob3VsZFRocm93KCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRh
cmRWZXJ0KScpOwogZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1i
ZWhhdmlvdXItZXhwZWN0ZWQudHh0CmluZGV4IDBiMTE4ZDk4NDhhZjFkZjg2MWQwOTNiMGExZDU3
YjgyM2FjMDcyODYuLmZlZmE2M2Y0ZjY5MTY0NTI0ODBlMGY3NTg2YzU5ODYzNTdhN2M2Y2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2
aW91ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVs
bC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dApAQCAtNCwxNiArNCwxNiBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBQQVNTIFByb2dyYW0gQ29tcGlsZWQKIFBBU1MgU2hhZGVyIENv
bXBpbGVkCi1QQVNTIGNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmlu
ZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5hdHRh
Y2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9WQUxVRS4KLVBBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuYXR0YWNoU2hh
ZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUu
Ci1QQVNTIGNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LmRldGFjaFNoYWRlcih1bmRl
ZmluZWQsIHNoYWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBj
b250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFLgotUEFTUyBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQs
ICdmb28nKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQu
YmluZEF0dHJpYkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRS4KK1BBU1MgY29udGV4dC5jb21waWxlU2hhZGVyKHVuZGVmaW5lZCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdM
UmVuZGVyaW5nQ29udGV4dC5jb21waWxlU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xTaGFkZXIuCitQQVNTIGNvbnRleHQubGlua1Byb2dyYW0odW5kZWZpbmVkKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5saW5rUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4K
K1BBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3Jh
bS4KK1BBU1MgY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgorUEFTUyBjb250ZXh0LmF0dGFjaFNoYWRlcih1bmRlZmluZWQsIHNoYWRlcikgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuYXR0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFt
LgorUEFTUyBjb250ZXh0LmRldGFjaFNoYWRlcihwcm9ncmFtLCB1bmRlZmluZWQpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuZGV0YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIu
CitQQVNTIGNvbnRleHQuZGV0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5n
Q29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0u
CitQQVNTIGNvbnRleHQuc2hhZGVyU291cmNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJp
bmdDb250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVy
LgorUEFTUyBjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgor
UEFTUyBjb250ZXh0LmJpbmRBdHRyaWJMb2NhdGlvbih1bmRlZmluZWQsIDAsICdmb28nKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFByb2dyYW0uCiBQQVNTIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZF
UiwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2J1ZmZlcicpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xCdWZmZXIuCiBQQVNTIGNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVC
VUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdmcmFtZWJ1
ZmZlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kRnJhbWVidWZmZXIgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBXZWJHTEZyYW1lYnVmZmVyLgogUEFTUyBjb250ZXh0LmJpbmRSZW5kZXJi
dWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDIgKCdyZW5kZXJidWZmZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmlu
ZFJlbmRlcmJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUmVuZGVyYnVmZmVyLgpA
QCAtMjgsMTMgKzI4LDEzIEBAIFBBU1MgY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQu
UkVOREVSQlVGRkVSLCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2YWx1CiBQQVNTIGNvbnRleHQu
YmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCB1bmRlZmluZWQpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCiBQQVNTIGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoY29u
dGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0LlJFTkRF
UkJVRkZFUiwgbnVsbCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KIFBB
U1MgY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250
ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCi1QQVNTIGNvbnRleHQuZ2V0UHJvZ3Jh
bVBhcmFtZXRlcih1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxV
RS4KLVBBU1MgY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0
ZXIodW5kZWZpbmVkLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNT
IGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyh1bmRlZmluZWQsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9WQUxVRS4KLVBBU1MgY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVk
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUuCi1QQVNTIGNvbnRleHQuZ2V0VW5p
Zm9ybSh1bmRlZmluZWQsIG51bGwpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9WQUxVRS4K
LVBBU1MgY29udGV4dC5nZXRVbmlmb3JtTG9jYXRpb24odW5kZWZpbmVkLCAnZm9vJykgd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFLgorUEFTUyBjb250ZXh0LmdldFByb2dyYW1QYXJh
bWV0ZXIodW5kZWZpbmVkLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVy
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgorUEFTUyBjb250ZXh0LmdldFBy
b2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbUlu
Zm9Mb2cgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCitQQVNTIGNvbnRleHQu
Z2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFk
ZXJQYXJhbWV0ZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29u
dGV4dC5nZXRTaGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRT
aGFkZXJJbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCitQQVNTIGNv
bnRleHQuZ2V0U2hhZGVyU291cmNlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRTaGFk
ZXJTb3VyY2UgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KK1BBU1MgY29udGV4
dC5nZXRVbmlmb3JtKHVuZGVmaW5lZCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5pZm9y
bSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KK1BBU1MgY29udGV4dC5nZXRV
bmlmb3JtTG9jYXRpb24odW5kZWZpbmVkLCAnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0VW5p
Zm9ybUxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgogCiBjaGVj
ayB3aXRoIGJpbmRpbmdzCiBQQVNTIGNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JV
RkZFUiwgMSwgY29udGV4dC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2JqZWN0
LWJlaGF2aW91ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmpl
Y3QtYmVoYXZpb3VyLmh0bWwKaW5kZXggNmJhYjYxNzkwNTg2NzNhZjc3ZGNmOTUzM2UxYzU2ZWMy
MzFjNDI4ZC4uZWNkN2E4YTlhZGY5NGQ2ODcwNjE0ZWY2MTFiYTM5ODFkN2VmOTNmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3Vy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVo
YXZpb3VyLmh0bWwKQEAgLTIyLDE2ICsyMiwxNiBAQCB2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9y
ID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKIAogYXNzZXJ0TXNnKHByb2dyYW0gIT0gbnVs
bCwgIlByb2dyYW0gQ29tcGlsZWQiKTsKIGFzc2VydE1zZyhzaGFkZXIgIT0gbnVsbCwgIlNoYWRl
ciBDb21waWxlZCIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9WQUxVRSwgImNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmluZWQpIik7Ci1zaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5s
aW5rUHJvZ3JhbSh1bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwg
Y29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIodW5kZWZpbmVkLCB1
bmRlZmluZWQpIik7Ci1zaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZB
TElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSIpOwot
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSIpOwotc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZGV0YWNoU2hh
ZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRldGFjaFNoYWRlcih1bmRlZmluZWQs
IHNoYWRlcikiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFM
SURfVkFMVUUsICJjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsK
LXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJj
b250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSIpOwotc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuYmluZEF0dHJp
YkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5j
b21waWxlU2hhZGVyKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmxpbmtQcm9n
cmFtKHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcih1bmRl
ZmluZWQsIHVuZGVmaW5lZCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmF0dGFjaFNoYWRlcihw
cm9ncmFtLCB1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5hdHRhY2hTaGFkZXIo
dW5kZWZpbmVkLCBzaGFkZXIpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5kZXRhY2hTaGFkZXIo
cHJvZ3JhbSwgdW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuZGV0YWNoU2hhZGVy
KHVuZGVmaW5lZCwgc2hhZGVyKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291cmNl
KHVuZGVmaW5lZCwgdW5kZWZpbmVkKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuc2hhZGVyU291
cmNlKHVuZGVmaW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5iaW5kQXR0cmli
TG9jYXRpb24odW5kZWZpbmVkLCAwLCAnZm9vJykiKTsKIHNob3VsZFRocm93KCJjb250ZXh0LmJp
bmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIDApIik7CiBzaG91bGRUaHJvdygiY29udGV4
dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgMCkiKTsKIHNob3VsZFRocm93
KCJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5SRU5ERVJCVUZGRVIsIDApIik7CkBA
IC00NiwxMyArNDYsMTMgQEAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGUKIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5iaW5kVGV4dHVyZShj
b250ZXh0LlRFWFRVUkVfMkQsIHVuZGVmaW5lZCkiKTsKIHNob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5mcmFtZWJ1ZmZlclJl
bmRlcmJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQs
IGNvbnRleHQuUkVOREVSQlVGRkVSLCBudWxsKSIpOwogc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHQsIGNvbnRleHQuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmZyYW1lYnVmZmVyVGV4
dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNv
bnRleHQuVEVYVFVSRV8yRCwgbnVsbCwgMCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIo
dW5kZWZpbmVkLCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
SU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2codW5kZWZpbmVkLCAwKSIp
Owotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwg
ImNvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKLXNob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmdldFNo
YWRlckluZm9Mb2codW5kZWZpbmVkLCAwKSIpOwotc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0U2hhZGVyU291cmNlKHVuZGVm
aW5lZCkiKTsKLXNob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURf
VkFMVUUsICJjb250ZXh0LmdldFVuaWZvcm0odW5kZWZpbmVkLCBudWxsKSIpOwotc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0
VW5pZm9ybUxvY2F0aW9uKHVuZGVmaW5lZCwgJ2ZvbycpIik7CitzaG91bGRUaHJvdygiY29udGV4
dC5nZXRQcm9ncmFtUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFByb2dyYW1JbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFNoYWRlclBhcmFtZXRlcih1bmRlZmluZWQsIDApIik7CitzaG91bGRUaHJvdygiY29u
dGV4dC5nZXRTaGFkZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkiKTsKK3Nob3VsZFRocm93KCJjb250
ZXh0LmdldFNoYWRlclNvdXJjZSh1bmRlZmluZWQpIik7CitzaG91bGRUaHJvdygiY29udGV4dC5n
ZXRVbmlmb3JtKHVuZGVmaW5lZCwgbnVsbCkiKTsKK3Nob3VsZFRocm93KCJjb250ZXh0LmdldFVu
aWZvcm1Mb2NhdGlvbih1bmRlZmluZWQsICdmb28nKSIpOwogCiBkZWJ1ZygiIik7CiBkZWJ1Zygi
Y2hlY2sgd2l0aCBiaW5kaW5ncyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnJhbWVDb3VudC5odG1sCmluZGV4IDhkOWE2
ZGMwMTdjMTgzY2VkYmU4YTc1YTk4MDkzNmUyZWUxYWMwYzIuLjA3YmE4M2VhNGJmZWQ2MGJkOTE3
MWQ3OWU4OTJmMTViYTdhMmM0YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
YW52YXMvcmVjb3JkaW5nLXdlYmdsLWZyYW1lQ291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1mcmFtZUNvdW50Lmh0bWwKQEAgLTYsOCAr
Niw5IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRpbGl0aWVzLXdl
YmdsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KICAgICBhdHRyaWJ1dGUgdmVjNCB0ZXN0OworICAgIHVuaWZvcm0gdmVj
NCB0ZXN0VW5pZm9ybTsKICAgICB2b2lkIG1haW4odm9pZCkgewotICAgICAgICBnbF9Qb3NpdGlv
biA9IHRlc3Q7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdCArIHRlc3RVbmlmb3JtOwogICAg
IH0KIDwvc2NyaXB0PgogPHNjcmlwdCBpZD0iZnJhZ21lbnQtc2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMv
cmVjb3JkaW5nLXdlYmdsLWZ1bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKaW5kZXggNzgyZTc4NTAz
MDFhZWFiZmFmMmM3M2RjMTEyNWI4MzFjOGU4MGMxNi4uNGVmMzIyMWNmY2JlZmUzYTM2MWE0ZDU0
OTNiMjYyYWVhNTkxM2ZmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZh
cy9yZWNvcmRpbmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wtZnVsbC1leHBlY3RlZC50eHQKQEAgLTUyNyw4
ICs1MjcsOCBAQCBmcmFtZXM6CiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAg
ICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDczOiAoZHVyYXRpb24pCi0gICAgMDogZ2V0
VW5pZm9ybSgwKQotICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xQcm9ncmFtXQorICAgIDA6IGdl
dFVuaWZvcm0oMCwgMCkKKyAgICAgIHN3aXp6bGVUeXBlczogW1dlYkdMUHJvZ3JhbSwgV2ViR0xV
bmlmb3JtTG9jYXRpb25dCiAgICAgICB0cmFjZToKICAgICAgICAgMDogZ2V0VW5pZm9ybQogICAg
ICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQpAQCAtNzYyLDEzNCArNzYyLDEzNCBAQCBmcmFt
ZXM6CiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVG
cmFtZUZ1bmN0aW9uCiAgIDEwNTogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0xZigxKQotICAg
ICAgc3dpenpsZVR5cGVzOiBbTnVtYmVyXQorICAgIDA6IHVuaWZvcm0xZigwLCAxKQorICAgICAg
c3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlcl0KICAgICAgIHRyYWNl
OgogICAgICAgICAwOiB1bmlmb3JtMWYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikK
ICAgICAgICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTA2OiAoZHVyYXRpb24pCi0gICAg
MDogdW5pZm9ybTFmdigwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAw
OiB1bmlmb3JtMWZ2KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiwgVHlwZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtMWZ2CiAg
ICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1
bmN0aW9uCiAgIDEwNzogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0xaSgxKQotICAgICAgc3dp
enpsZVR5cGVzOiBbTnVtYmVyXQorICAgIDA6IHVuaWZvcm0xaSgwLCAxKQorICAgICAgc3dpenps
ZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAg
ICAgICAwOiB1bmlmb3JtMWkKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAg
ICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTA4OiAoZHVyYXRpb24pCi0gICAgMDogdW5p
Zm9ybTFpdigwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlm
b3JtMWl2KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwg
VHlwZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtMWl2CiAgICAgICAg
IDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9u
CiAgIDEwOTogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm0yZigxLCAyKQotICAgICAgc3dpenps
ZVR5cGVzOiBbTnVtYmVyLCBOdW1iZXJdCisgICAgMDogdW5pZm9ybTJmKDAsIDEsIDIpCisgICAg
ICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgTnVtYmVyLCBOdW1iZXJdCiAg
ICAgICB0cmFjZToKICAgICAgICAgMDogdW5pZm9ybTJmCiAgICAgICAgIDE6IChhbm9ueW1vdXMg
ZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExMDogKGR1cmF0
aW9uKQotICAgIDA6IHVuaWZvcm0yZnYoMCkKLSAgICAgIHN3aXp6bGVUeXBlczogW1R5cGVkQXJy
YXldCisgICAgMDogdW5pZm9ybTJmdigwLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xV
bmlmb3JtTG9jYXRpb24sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5p
Zm9ybTJmdgogICAgICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVj
dXRlRnJhbWVGdW5jdGlvbgogICAxMTE6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtMmkoMSwg
MikKLSAgICAgIHN3aXp6bGVUeXBlczogW051bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm0y
aSgwLCAxLCAyKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51
bWJlciwgTnVtYmVyXQogICAgICAgdHJhY2U6CiAgICAgICAgIDA6IHVuaWZvcm0yaQogICAgICAg
ICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRlRnJhbWVGdW5jdGlv
bgogICAxMTI6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtMml2KDApCi0gICAgICBzd2l6emxl
VHlwZXM6IFtUeXBlZEFycmF5XQorICAgIDA6IHVuaWZvcm0yaXYoMCwgMCkKKyAgICAgIHN3aXp6
bGVUeXBlczogW1dlYkdMVW5pZm9ybUxvY2F0aW9uLCBUeXBlZEFycmF5XQogICAgICAgdHJhY2U6
CiAgICAgICAgIDA6IHVuaWZvcm0yaXYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikK
ICAgICAgICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTEzOiAoZHVyYXRpb24pCi0gICAg
MDogdW5pZm9ybTNmKDEsIDIsIDMpCi0gICAgICBzd2l6emxlVHlwZXM6IFtOdW1iZXIsIE51bWJl
ciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm0zZigwLCAxLCAyLCAzKQorICAgICAgc3dpenpsZVR5
cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRpb24sIE51bWJlciwgTnVtYmVyLCBOdW1iZXJdCiAgICAg
ICB0cmFjZToKICAgICAgICAgMDogdW5pZm9ybTNmCiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVu
Y3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDExNDogKGR1cmF0aW9u
KQotICAgIDA6IHVuaWZvcm0zZnYoMCkKLSAgICAgIHN3aXp6bGVUeXBlczogW1R5cGVkQXJyYXld
CisgICAgMDogdW5pZm9ybTNmdigwLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlm
b3JtTG9jYXRpb24sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5pZm9y
bTNmdgogICAgICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAyOiBleGVjdXRl
RnJhbWVGdW5jdGlvbgogICAxMTU6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3JtM2koMSwgMiwg
MykKLSAgICAgIHN3aXp6bGVUeXBlczogW051bWJlciwgTnVtYmVyLCBOdW1iZXJdCisgICAgMDog
dW5pZm9ybTNpKDAsIDEsIDIsIDMpCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1M
b2NhdGlvbiwgTnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAgICAw
OiB1bmlmb3JtM2kKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAgMjog
ZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTE2OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9ybTNp
digwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtM2l2
KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlwZWRB
cnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtM2l2CiAgICAgICAgIDE6IChh
bm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAgIDEx
NzogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm00ZigxLCAyLCAzLCA0KQotICAgICAgc3dpenps
ZVR5cGVzOiBbTnVtYmVyLCBOdW1iZXIsIE51bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZvcm00
ZigwLCAxLCAyLCAzLCA0KQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9jYXRp
b24sIE51bWJlciwgTnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAgICAg
ICAwOiB1bmlmb3JtNGYKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAgICAg
MjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTE4OiAoZHVyYXRpb24pCi0gICAgMDogdW5pZm9y
bTRmdigwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3Jt
NGZ2KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgVHlw
ZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtNGZ2CiAgICAgICAgIDE6
IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9uCiAg
IDExOTogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm00aSgxLCAyLCAzLCA0KQotICAgICAgc3dp
enpsZVR5cGVzOiBbTnVtYmVyLCBOdW1iZXIsIE51bWJlciwgTnVtYmVyXQorICAgIDA6IHVuaWZv
cm00aSgwLCAxLCAyLCAzLCA0KQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9j
YXRpb24sIE51bWJlciwgTnVtYmVyLCBOdW1iZXIsIE51bWJlcl0KICAgICAgIHRyYWNlOgogICAg
ICAgICAwOiB1bmlmb3JtNGkKICAgICAgICAgMTogKGFub255bW91cyBmdW5jdGlvbikKICAgICAg
ICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTIwOiAoZHVyYXRpb24pCi0gICAgMDogdW5p
Zm9ybTRpdigwKQotICAgICAgc3dpenpsZVR5cGVzOiBbVHlwZWRBcnJheV0KKyAgICAwOiB1bmlm
b3JtNGl2KDAsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwg
VHlwZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtNGl2CiAgICAgICAg
IDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCiAgICAgICAgIDI6IGV4ZWN1dGVGcmFtZUZ1bmN0aW9u
CiAgIDEyMTogKGR1cmF0aW9uKQotICAgIDA6IHVuaWZvcm1NYXRyaXgyZnYodHJ1ZSwgMCkKLSAg
ICAgIHN3aXp6bGVUeXBlczogW0Jvb2xlYW4sIFR5cGVkQXJyYXldCisgICAgMDogdW5pZm9ybU1h
dHJpeDJmdigwLCB0cnVlLCAwKQorICAgICAgc3dpenpsZVR5cGVzOiBbV2ViR0xVbmlmb3JtTG9j
YXRpb24sIEJvb2xlYW4sIFR5cGVkQXJyYXldCiAgICAgICB0cmFjZToKICAgICAgICAgMDogdW5p
Zm9ybU1hdHJpeDJmdgogICAgICAgICAxOiAoYW5vbnltb3VzIGZ1bmN0aW9uKQogICAgICAgICAy
OiBleGVjdXRlRnJhbWVGdW5jdGlvbgogICAxMjI6IChkdXJhdGlvbikKLSAgICAwOiB1bmlmb3Jt
TWF0cml4M2Z2KHRydWUsIDApCi0gICAgICBzd2l6emxlVHlwZXM6IFtCb29sZWFuLCBUeXBlZEFy
cmF5XQorICAgIDA6IHVuaWZvcm1NYXRyaXgzZnYoMCwgdHJ1ZSwgMCkKKyAgICAgIHN3aXp6bGVU
eXBlczogW1dlYkdMVW5pZm9ybUxvY2F0aW9uLCBCb29sZWFuLCBUeXBlZEFycmF5XQogICAgICAg
dHJhY2U6CiAgICAgICAgIDA6IHVuaWZvcm1NYXRyaXgzZnYKICAgICAgICAgMTogKGFub255bW91
cyBmdW5jdGlvbikKICAgICAgICAgMjogZXhlY3V0ZUZyYW1lRnVuY3Rpb24KICAgMTIzOiAoZHVy
YXRpb24pCi0gICAgMDogdW5pZm9ybU1hdHJpeDRmdih0cnVlLCAwKQotICAgICAgc3dpenpsZVR5
cGVzOiBbQm9vbGVhbiwgVHlwZWRBcnJheV0KKyAgICAwOiB1bmlmb3JtTWF0cml4NGZ2KDAsIHRy
dWUsIDApCisgICAgICBzd2l6emxlVHlwZXM6IFtXZWJHTFVuaWZvcm1Mb2NhdGlvbiwgQm9vbGVh
biwgVHlwZWRBcnJheV0KICAgICAgIHRyYWNlOgogICAgICAgICAwOiB1bmlmb3JtTWF0cml4NGZ2
CiAgICAgICAgIDE6IChhbm9ueW1vdXMgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1mdWxsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1mdWxsLmh0bWwKaW5kZXggNzYxMzNl
ZTIyOGZiY2FkZTc2OWUzOWU4ZDMwYTNkZTZlMzcwMWMyMi4uNTIwYTM3ZmQyMmRhYjEzNzEzMWUw
YTFiNDgxYjAyZDc2MzhkMzlhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nh
bnZhcy9yZWNvcmRpbmctd2ViZ2wtZnVsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLWZ1bGwuaHRtbApAQCAtNiw4ICs2LDkgQEAKIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc2hhZGVyUHJvZ3JhbS11dGlsaXRpZXMtd2ViZ2wuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBpZD0idmVydGV4LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgogICAgIGF0dHJpYnV0ZSB2ZWM0IHRlc3Q7CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3Jt
OwogICAgIHZvaWQgbWFpbih2b2lkKSB7Ci0gICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdDsKKyAg
ICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0ICsgdGVzdFVuaWZvcm07CiAgICAgfQogPC9zY3JpcHQ+
CiA8c2NyaXB0IGlkPSJmcmFnbWVudC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2Vi
Z2wtbWVtb3J5TGltaXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3Jk
aW5nLXdlYmdsLW1lbW9yeUxpbWl0Lmh0bWwKaW5kZXggODk1NTgxN2YyZWI1ZWRkNDEwNzE5YzIx
MTE0ZjcxY2RhMDM0MmRiNS4uMTM5NGY3OTQ4NDFlNjIxZDQzNzEwNTkwZGQ5ZjQ4ZjAxNTg3MGRj
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2Vi
Z2wtbWVtb3J5TGltaXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jl
Y29yZGluZy13ZWJnbC1tZW1vcnlMaW1pdC5odG1sCkBAIC02LDggKzYsOSBAQAogPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkZXJQcm9ncmFtLXV0aWxpdGllcy13ZWJnbC5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IGlkPSJ2ZXJ0ZXgtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CiAg
ICAgYXR0cmlidXRlIHZlYzQgdGVzdDsKKyAgICB1bmlmb3JtIHZlYzQgdGVzdFVuaWZvcm07CiAg
ICAgdm9pZCBtYWluKHZvaWQpIHsKLSAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0OworICAgICAg
ICBnbF9Qb3NpdGlvbiA9IHRlc3QgKyB0ZXN0VW5pZm9ybTsKICAgICB9CiA8L3NjcmlwdD4KIDxz
Y3JpcHQgaWQ9ImZyYWdtZW50LXNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbC1z
bmFwc2hvdHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdl
YmdsLXNuYXBzaG90cy5odG1sCmluZGV4IDNkNTU4OGQ1ZjE1MjEyODgyNzQ0YzNlN2FiODMxNDI3
MWYzMjBkYjcuLmU2Y2Q3ZWY5NDQyNTk4NDJiZmM3OTYwNjk3ZGM2NWI3ZjYxMGQ4ODQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsLXNuYXBz
aG90cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdl
YmdsLXNuYXBzaG90cy5odG1sCkBAIC02LDYgKzYsNyBAQAogPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFkZXJQcm9ncmFtLXV0aWxpdGllcy13ZWJnbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IGlk
PSJ2ZXJ0ZXgtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CiAgICAgYXR0cmlidXRl
IHZlYzMgcG9zaXRpb247CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQg
bWFpbih2b2lkKSB7CiAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMS4wKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGlu
Zy13ZWJnbDItZnJhbWVDb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9y
ZWNvcmRpbmctd2ViZ2wyLWZyYW1lQ291bnQuaHRtbAppbmRleCA1MGZiZWRlMTU3ZjFmMmQyYjEy
ODliMmJiMGYyNmQzNzNmZjUzOWM1Li45ZjRhNjlkNDZmZTNmM2I5OGZlYTViNTYzYTY4MmFlYWY5
YzY1NDA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGlu
Zy13ZWJnbDItZnJhbWVDb3VudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52
YXMvcmVjb3JkaW5nLXdlYmdsMi1mcmFtZUNvdW50Lmh0bWwKQEAgLTYsOCArNiw5IEBACiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRpbGl0aWVzLXdlYmdsLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4
Ij4KICAgICBhdHRyaWJ1dGUgdmVjNCB0ZXN0OworICAgIHVuaWZvcm0gdmVjNCB0ZXN0VW5pZm9y
bTsKICAgICB2b2lkIG1haW4odm9pZCkgewotICAgICAgICBnbF9Qb3NpdGlvbiA9IHRlc3Q7Cisg
ICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdCArIHRlc3RVbmlmb3JtOwogICAgIH0KIDwvc2NyaXB0
PgogPHNjcmlwdCBpZD0iZnJhZ21lbnQtc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdl
YmdsMi1mdWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13
ZWJnbDItZnVsbC5odG1sCmluZGV4IDE4NzRlYTkzZGQ1YjkzM2FmOTAzYjkxNGQyYjQ3Y2QzMjQy
NzdkODkuLjAyZjk2MjQ4N2JiMjliNTYzYWNlODRmZjMxNmMyZDlhNGZjZjBjZmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1mdWxsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLWZ1
bGwuaHRtbApAQCAtNiw4ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZGVyUHJv
Z3JhbS11dGlsaXRpZXMtd2ViZ2wuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBpZD0idmVydGV4LXNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgIGF0dHJpYnV0ZSB2ZWM0IHRlc3Q7
CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQgbWFpbih2b2lkKSB7Ci0g
ICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdDsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0ICsg
dGVzdFVuaWZvcm07CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJmcmFnbWVudC1zaGFk
ZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLW1lbW9yeUxpbWl0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGltaXQuaHRt
bAppbmRleCA4NjA0ZGY2MWNjY2NkNjEzYzdkNWVhNmYzNzdmNmRmYjFjMjUwNWI3Li5hMzliOTgx
ZDQ0NTIwZTM5M2VlMWJmOGVlZTdkMTVhMjJkZDdlNmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGltaXQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItbWVtb3J5TGlt
aXQuaHRtbApAQCAtNiw4ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZGVyUHJv
Z3JhbS11dGlsaXRpZXMtd2ViZ2wuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBpZD0idmVydGV4LXNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgIGF0dHJpYnV0ZSB2ZWM0IHRlc3Q7
CisgICAgdW5pZm9ybSB2ZWM0IHRlc3RVbmlmb3JtOwogICAgIHZvaWQgbWFpbih2b2lkKSB7Ci0g
ICAgICAgIGdsX1Bvc2l0aW9uID0gdGVzdDsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB0ZXN0ICsg
dGVzdFVuaWZvcm07CiAgICAgfQogPC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJmcmFnbWVudC1zaGFk
ZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLXNuYXBzaG90cy5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZWNvcmRpbmctd2ViZ2wyLXNuYXBzaG90cy5odG1sCmlu
ZGV4IDllOWE0YThjZWVlZGM4NzY5YTM0YjllOTE0MzQwYTljZDA4OTlkOTQuLjI5MjcxYTI1ZGU3
NzFiOTZlOTNlNDEwMjM0ZTcwZDA3ZDliNDMxMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jYW52YXMvcmVjb3JkaW5nLXdlYmdsMi1zbmFwc2hvdHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3JlY29yZGluZy13ZWJnbDItc25hcHNob3RzLmh0bWwK
QEAgLTYsNiArNiw3IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRlclByb2dyYW0tdXRp
bGl0aWVzLXdlYmdsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InZlcnRleC1zaGFkZXIiIHR5
cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KICAgICBhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjsKKyAg
ICB1bmlmb3JtIHZlYzQgdGVzdFVuaWZvcm07CiAgICAgdm9pZCBtYWluKHZvaWQpIHsKICAgICAg
ICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAxLjApOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb3VyY2VzL3JlY29yZGluZy13ZWJnbC5q
cyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb3VyY2VzL3JlY29yZGluZy13ZWJn
bC5qcwppbmRleCA4ZDY5ZWRmYzlhNzhmY2YzOTBmNmY3MmI3MTMwNGMzMmZlNjZjMzRmLi5mOTJh
NzUyZGZkNWI5ODU1NzE0OTY0ZDI3MTU4ZWY5YmY3YTE4NWZkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9yZWNvcmRpbmctd2ViZ2wuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvcmVjb3JkaW5nLXdlYmdsLmpz
CkBAIC0yNCw3ICsyNCw3IEBAIGZ1bmN0aW9uIGxvYWQoKSB7CiAKICAgICBidWZmZXIgPSBjb250
ZXh0LmNyZWF0ZUJ1ZmZlcigpOwogICAgIGZyYW1lYnVmZmVyID0gY29udGV4dC5jcmVhdGVGcmFt
ZWJ1ZmZlcigpOwotICAgIHVuaWZvcm1Mb2NhdGlvbiA9IGNvbnRleHQuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJ0ZXN0Iik7CisgICAgdW5pZm9ybUxvY2F0aW9uID0gY29udGV4dC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRlc3RVbmlmb3JtIik7CiAgICAgcmVuZGVyYnVmZmVy
ID0gY29udGV4dC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKICAgICBzaGFkZXIgPSBjb250ZXh0LmNy
ZWF0ZVNoYWRlcihjb250ZXh0LlZFUlRFWF9TSEFERVIpOwogICAgIHRleHR1cmUgPSBjb250ZXh0
LmNyZWF0ZVRleHR1cmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4cGVj
dGVkLnR4dAppbmRleCA3ZmQxMDQ5NjBlYTY5Y2RiYzVjYjUyMjgwNjZhNGVmZGU5YmI3NzhjLi44
NzgxYWE1MTI5ZGNlYmEzZmI3OTVhZjdiMjI0MzdhNWM4MjVhNjgzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlz
Yy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDExMyArMSw0IEBACiBUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KIAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbAotCi1bIDE6IFBB
U1MgXSBQcm9ncmFtIENvbXBpbGVkCi1bIDI6IFBBU1MgXSBTaGFkZXIgQ29tcGlsZWQKLVsgMzog
UEFTUyBdIGdldFVuaWZvcm1Mb2NhdGlvbiBzdWNjZWVkZWQKLVsgNDogUEFTUyBdIGNvbnRleHQu
Y29tcGlsZVNoYWRlcihhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5jb21waWxlU2hhZGVyIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDU6IFBBU1MgXSBjb250ZXh0Lmxp
bmtQcm9ncmFtKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5saW5rUHJvZ3JhbSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNjogUEFTUyBdIGNvbnRleHQuYXR0YWNo
U2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAyICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA3OiBQQVNTIF0gY29udGV4dC5h
dHRhY2hTaGFkZXIoYXJndW1lbnQsIHNoYWRlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYXR0YWNoU2hh
ZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA4OiBQQVNTIF0gY29u
dGV4dC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDIgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZGV0
YWNoU2hhZGVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xTaGFkZXIuCi1bIDk6IFBBU1Mg
XSBjb250ZXh0LmRldGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4
dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDEw
OiBQQVNTIF0gY29udGV4dC5zaGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LnNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgot
WyAxMTogUEFTUyBdIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9v
JykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAxMjogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9M
b2coYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9n
cmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFByb2dyYW1JbmZvTG9nIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyAxMzogUEFTUyBdIGNvbnRleHQuZ2V0UHJv
Z3JhbVBhcmFtZXRlcihhcmd1bWVudCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbVBh
cmFtZXRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMTQ6IFBBU1Mg
XSBjb250ZXh0LmdldFNoYWRlckluZm9Mb2coYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0
U2hhZGVySW5mb0xvZyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAxNTog
UEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmdldFNoYWRlclBhcmFtZXRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hh
ZGVyLgotWyAxNjogUEFTUyBdIGNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmdldFNoYWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdM
U2hhZGVyLgotWyAxNzogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdM
UmVuZGVyaW5nQ29udGV4dC5nZXRVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQ
cm9ncmFtLgotWyAxODogUEFTUyBdIGNvbnRleHQuZ2V0VW5pZm9ybShwcm9ncmFtLCBhcmd1bWVu
dCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2xvY2F0aW9uJykgdG8g
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbi4KLVsgMTk6IFBBU1MgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2Nh
dGlvbihhcmd1bWVudCwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmdldFVuaWZvcm1Mb2NhdGlvbiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4K
LVsgMjA6IFBBU1MgXSBjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIGFy
Z3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnYnVmZmVyJykg
dG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRCdWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBXZWJHTEJ1ZmZlci4KLVsgMjE6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250
ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMiAoJ2ZyYW1lYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFt
ZWJ1ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDIyOiBQ
QVNTIF0gY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1
bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3JlbmRlcmJ1ZmZl
cicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViR0xSZW5kZXJidWZmZXIuCi1bIDIzOiBQQVNTIF0gY29udGV4dC5iaW5k
VGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAyICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5i
aW5kVGV4dHVyZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgMjQ6IFBB
U1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIs
IGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCA0ICgncmVuZGVyYnVmZmVyJykg
dG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgV2ViR0xSZW5kZXJidWZmZXIuCi1bIDI1OiBQQVNTIF0gY29udGV4dC5m
cmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FU
VEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCA0ICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4
dHVyZS4KLVsgMjY6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9h
dDMyQXJyYXkoWzAuMCwgMC4wXSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCdsb2NhdGlvbicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMmZ2IG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDI3OiBQQVNTIF0gY29u
dGV4dC51bmlmb3JtMml2KGFyZ3VtZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQudW5pZm9ybTJpdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9y
bUxvY2F0aW9uLgotWyAyODogUEFTUyBdIGNvbnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVu
dCwgZmFsc2UsIG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4wLCAwLjAsIDAuMF0pKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRl
cmluZ0NvbnRleHQudW5pZm9ybU1hdHJpeDJmdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdM
VW5pZm9ybUxvY2F0aW9uLgotWyAyOTogUEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVu
dCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQudXNlUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdl
YkdMUHJvZ3JhbS4KLVsgMzA6IFBBU1MgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIoYXJndW1lbnQp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzaGFkZXInKSB0byBXZWJH
TFJlbmRlcmluZ0NvbnRleHQuY29tcGlsZVNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdl
YkdMU2hhZGVyLgotWyAzMTogUEFTUyBdIGNvbnRleHQubGlua1Byb2dyYW0oYXJndW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmxpbmtQcm9ncmFtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQ
cm9ncmFtLgotWyAzMjogUEFTUyBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3Vt
ZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc2hhZGVyJykgdG8g
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IFdlYkdMU2hhZGVyLgotWyAzMzogUEFTUyBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50
LCBzaGFkZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFt
JykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmF0dGFjaFNoYWRlciBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgMzQ6IFBBU1MgXSBjb250ZXh0LmRldGFjaFNoYWRlcihw
cm9ncmFtLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAo
J3NoYWRlcicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hTaGFkZXIgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBXZWJHTFNoYWRlci4KLVsgMzU6IFBBU1MgXSBjb250ZXh0LmRldGFjaFNo
YWRlcihhcmd1bWVudCwgc2hhZGVyKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5kZXRhY2hTaGFkZXIgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0uCi1bIDM2OiBQQVNTIF0gY29udGV4dC5z
aGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LnNoYWRlclNvdXJj
ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyAzNzogUEFTUyBdIGNvbnRl
eHQuYmluZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9vJykgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQuYmluZEF0dHJpYkxvY2F0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFt
LgotWyAzODogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbUluZm9Mb2coYXJndW1lbnQpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmdldFByb2dyYW1JbmZvTG9nIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xQcm9ncmFtLgotWyAzOTogUEFTUyBdIGNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihhcmd1
bWVudCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0n
KSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNDA6IFBBU1MgXSBjb250ZXh0LmdldFNoYWRl
ckluZm9Mb2coYXJndW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdzaGFkZXInKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MTogUEFTUyBdIGNvbnRleHQuZ2V0
U2hhZGVyUGFyYW1ldGVyKGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFNoYWRlclBh
cmFtZXRlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MjogUEFTUyBd
IGNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgnc2hhZGVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFNo
YWRlclNvdXJjZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMU2hhZGVyLgotWyA0MzogUEFT
UyBdIGNvbnRleHQuZ2V0VW5pZm9ybShhcmd1bWVudCwgbG9jKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5n
ZXRVbmlmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xQcm9ncmFtLgotWyA0NDogUEFT
UyBdIGNvbnRleHQuZ2V0VW5pZm9ybShwcm9ncmFtLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2xvY2F0aW9uJykgdG8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmdldFVuaWZvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFVuaWZvcm1Mb2NhdGlv
bi4KLVsgNDU6IFBBU1MgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1bWVudCwgJ3Vf
bW9kZWxWaWV3UHJvak1hdHJpeCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCdwcm9ncmFtJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlv
biBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNDY6IFBBU1MgXSBjb250
ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmJpbmRCdWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTEJ1ZmZlci4KLVsg
NDc6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBh
cmd1bWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2ZyYW1lYnVm
ZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFtZWJ1ZmZlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDQ4OiBQQVNTIF0gY29udGV4dC5iaW5k
UmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVudCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3JlbmRlcmJ1ZmZlcicpIHRvIFdlYkdMUmVuZGVy
aW5nQ29udGV4dC5iaW5kUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2ViR0xS
ZW5kZXJidWZmZXIuCi1bIDQ5OiBQQVNTIF0gY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRF
WFRVUkVfMkQsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAy
ICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kVGV4dHVyZSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgNTA6IFBBU1MgXSBjb250ZXh0LmZyYW1l
YnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRU
QUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCA0ICgncmVuZGVyYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xSZW5kZXJidWZmZXIuCi1bIDUxOiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUy
RChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0
LlRFWFRVUkVfMkQsIGFyZ3VtZW50LCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCA0ICgndGV4dHVyZScpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5mcmFtZWJ1ZmZlclRl
eHR1cmUyRCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVGV4dHVyZS4KLVsgNTI6IFBBU1Mg
XSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXkoWzAuMCwgMC4w
XSkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsb2NhdGlvbicpIHRv
IFdlYkdMUmVuZGVyaW5nQ29udGV4dC51bmlmb3JtMmZ2IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
V2ViR0xVbmlmb3JtTG9jYXRpb24uCi1bIDUzOiBQQVNTIF0gY29udGV4dC51bmlmb3JtMml2KGFy
Z3VtZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQudW5pZm9y
bTJpdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgotWyA1NDog
UEFTUyBdIGNvbnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVudCwgZmFsc2UsIG5ldyBGbG9h
dDMyQXJyYXkoWzAuMCwgMC4wLCAwLjAsIDAuMF0pKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbG9jYXRpb24nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQudW5pZm9y
bU1hdHJpeDJmdiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMVW5pZm9ybUxvY2F0aW9uLgot
WyA1NTogUEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3Byb2dyYW0nKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQudXNlUHJvZ3JhbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMUHJvZ3JhbS4KLVsgNTY6
IEZBSUwgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIoYXJndW1lbnQpIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDU3OiBGQUlMIF0gY29udGV4dC5saW5rUHJvZ3Jh
bShhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsg
NTg6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihwcm9ncmFtLCBhcmd1bWVudCkgc2hvdWxk
IHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgNTk6IEZBSUwgXSBjb250ZXh0
LmF0dGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9u
LiBXYXMgdW5kZWZpbmVkLgotWyA2MDogRkFJTCBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKHByb2dy
YW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgot
WyA2MTogRkFJTCBdIGNvbnRleHQuZGV0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIHNob3Vs
ZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDYyOiBGQUlMIF0gY29udGV4
dC5zaGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9u
LiBXYXMgdW5kZWZpbmVkLgotWyA2MzogRkFJTCBdIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9u
KGFyZ3VtZW50LCAwLCAnZm9vJykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVm
aW5lZC4KLVsgNjQ6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1JbmZvTG9nKGFyZ3VtZW50KSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjU6IEZBSUwgXSBjb250ZXh0
LmdldFByb2dyYW1QYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRp
b24uIFdhcyBudWxsLgotWyA2NjogRkFJTCBdIGNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1
bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDY3OiBGQUlMIF0g
Y29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDApIHNob3VsZCB0aHJvdyBhbiBl
eGNlcHRpb24uIFdhcyBudWxsLgotWyA2ODogRkFJTCBdIGNvbnRleHQuZ2V0U2hhZGVyU291cmNl
KGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNjk6IEZB
SUwgXSBjb250ZXh0LmdldFVuaWZvcm0oYXJndW1lbnQsIGxvYykgc2hvdWxkIHRocm93IGFuIGV4
Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDcwOiBGQUlMIF0gY29udGV4dC5nZXRVbmlmb3JtKHByb2dy
YW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgNzE6
IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbihhcmd1bWVudCwgJ3VfbW9kZWxWaWV3
UHJvak1hdHJpeCcpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA3Mjog
UEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQp
IGlzIHVuZGVmaW5lZC4KLVsgNzM6IFBBU1MgXSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250
ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyA3NDogUEFTUyBdIGNv
bnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZFUiwgYXJndW1lbnQpIGlz
IHVuZGVmaW5lZC4KLVsgNzU6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVY
VFVSRV8yRCwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgNzY6IFBBU1MgXSBjb250ZXh0LmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhf
QVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQu
Ci1bIDc3OiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1F
QlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIGFy
Z3VtZW50LCAwKSBpcyB1bmRlZmluZWQuCi1bIDc4OiBQQVNTIF0gY29udGV4dC51bmlmb3JtMmZ2
KGFyZ3VtZW50LCBuZXcgRmxvYXQzMkFycmF5KFswLjAsIDAuMF0pKSBpcyB1bmRlZmluZWQuCi1b
IDc5OiBQQVNTIF0gY29udGV4dC51bmlmb3JtMml2KGFyZ3VtZW50LCBuZXcgSW50MzJBcnJheShb
MCwgMF0pKSBpcyB1bmRlZmluZWQuCi1bIDgwOiBQQVNTIF0gY29udGV4dC51bmlmb3JtTWF0cml4
MmZ2KGFyZ3VtZW50LCBmYWxzZSwgbmV3IEZsb2F0MzJBcnJheShbMC4wLCAwLjAsIDAuMCwgMC4w
XSkpIGlzIHVuZGVmaW5lZC4KLVsgODE6IFBBU1MgXSBjb250ZXh0LnVzZVByb2dyYW0oYXJndW1l
bnQpIGlzIHVuZGVmaW5lZC4KLVsgODI6IEZBSUwgXSBjb250ZXh0LmNvbXBpbGVTaGFkZXIoYXJn
dW1lbnQpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDgzOiBG
QUlMIF0gY29udGV4dC5saW5rUHJvZ3JhbShhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgODQ6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihw
cm9ncmFtLCBhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5l
ZC4KLVsgODU6IEZBSUwgXSBjb250ZXh0LmF0dGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4NjogRkFJTCBdIGNv
bnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4NzogRkFJTCBdIGNvbnRleHQuZGV0YWNoU2hhZGVy
KGFyZ3VtZW50LCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmlu
ZWQuCi1bIDg4OiBGQUlMIF0gY29udGV4dC5zaGFkZXJTb3VyY2UoYXJndW1lbnQsICdmb28nKSBz
aG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4OTogRkFJTCBdIGNv
bnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKGFyZ3VtZW50LCAwLCAnZm9vJykgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgOTA6IEZBSUwgXSBjb250ZXh0LmdldFBy
b2dyYW1JbmZvTG9nKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVs
bC4KLVsgOTE6IEZBSUwgXSBjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIoYXJndW1lbnQsIDAp
IHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5MjogRkFJTCBdIGNvbnRl
eHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1bWVudCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4g
V2FzIG51bGwuCi1bIDkzOiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1l
bnQsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5NDogRkFJTCBd
IGNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0
aW9uLiBXYXMgbnVsbC4KLVsgOTU6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm0oYXJndW1lbnQs
IGxvYykgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDk2OiBGQUlMIF0g
Y29udGV4dC5nZXRVbmlmb3JtKHByb2dyYW0sIGFyZ3VtZW50KSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uLiBXYXMgbnVsbC4KLVsgOTc6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlv
bihhcmd1bWVudCwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpIHNob3VsZCB0aHJvdyBhbiBleGNl
cHRpb24uIFdhcyBudWxsLgotWyA5ODogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0
LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQpIGlzIHVuZGVmaW5lZC4KLVsgOTk6IFBBU1MgXSBjb250
ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkgaXMgdW5k
ZWZpbmVkLgotWyAxMDA6IFBBU1MgXSBjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5S
RU5ERVJCVUZGRVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMTogUEFTUyBdIGNvbnRl
eHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCkgaXMgdW5kZWZpbmVk
LgotWyAxMDI6IFBBU1MgXSBjb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQu
RlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZG
RVIsIGFyZ3VtZW50KSBpcyB1bmRlZmluZWQuCi1bIDEwMzogUEFTUyBdIGNvbnRleHQuZnJhbWVi
dWZmZXJUZXh0dXJlMkQoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5DT0xPUl9BVFRBQ0hN
RU5UMCwgY29udGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCwgMCkgaXMgdW5kZWZpbmVkLgotWyAx
MDQ6IFBBU1MgXSBjb250ZXh0LnVuaWZvcm0yZnYoYXJndW1lbnQsIG5ldyBGbG9hdDMyQXJyYXko
WzAuMCwgMC4wXSkpIGlzIHVuZGVmaW5lZC4KLVsgMTA1OiBQQVNTIF0gY29udGV4dC51bmlmb3Jt
Mml2KGFyZ3VtZW50LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSBpcyB1bmRlZmluZWQuCi1bIDEw
NjogUEFTUyBdIGNvbnRleHQudW5pZm9ybU1hdHJpeDJmdihhcmd1bWVudCwgZmFsc2UsIG5ldyBG
bG9hdDMyQXJyYXkoWzAuMCwgMC4wLCAwLjAsIDAuMF0pKSBpcyB1bmRlZmluZWQuCi1bIDEwNzog
UEFTUyBdIGNvbnRleHQudXNlUHJvZ3JhbShhcmd1bWVudCkgaXMgdW5kZWZpbmVkLgotWyAxMDg6
IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gMzIgZmFpbHVyZXMg
cmVwb3J0ZWQKK1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVw
b3J0aW5nLWV4cGVjdGVkLnR4dAppbmRleCBiOGRlNTE0YTFiMTRlYmRkZDU1YjhkOGE1OWViN2Q3
ZGQ3YmUyODE5Li40YTY2YzJiZDE1NmZjMDY3YWY3YmI3ODY4ZDZmMjRlYWE4Mjk0MzBhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJl
cG9ydGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDI3ICsxLDQgQEAK
IFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy5odG1sCi0KLVsgMTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAyOiBGQUlM
IF0gY29udGV4dC5nZXRBY3RpdmVBdHRyaWIobnVsbCwgMikgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIG51bGwuCi1bIDM6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1Iu
IFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgNDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOgotWyA1OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVBdHRyaWIocHJv
Z3JhbSwgMikgaXMgbnVsbAotWyA2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBJTlZBTElEX1ZBTFVFIDoKLVsgNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOgotWyA4OiBGQUlMIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKG51bGws
IDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyA5OiBGQUlMIF0gZ2V0
RXJyb3IgZXhwZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9WQUxVRSA6Ci1bIDEwOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDExOiBQQVNTIF0g
Y29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDUwKSBpcyBudWxsCi1bIDEyOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgMTM6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTQ6IFBBU1Mg
XSBjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBudWxsKSBpcyB1
bmRlZmluZWQuCi1bIDE1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6Ci1bIDE2OiBQQVNTIF0gY29udGV4dC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihjb250
ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX0FUVEFDSE1FTlQsIGNvbnRleHQuUkVOREVS
QlVGRkVSLCBudWxsKSBpcyB1bmRlZmluZWQuCi1bIDE3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6Ci1bIDE4OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDE5OiBQQVNTIF0gY29udGV4dC5mcmFt
ZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFD
SE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApIGlzIHVuZGVmaW5lZC4KLVsgMjA6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDoK
LVsgMjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsg
MjI6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlMIF0gNCBmYWlsdXJl
cyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9u
dWxsLW9iamVjdC1iZWhhdmlvdXItZXhwZWN0ZWQudHh0CmluZGV4IGM1MWQ1ZGNmODAyNmM1ZmQ1
NmIzOWE5NTk4NWQ3NGU0YWQ0ZjAwZDUuLjVhYTUzM2RlYWM0N2E5NjA1NTYxNjc1ODZiN2Q3ZmVj
MDEwN2U2YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
L21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBl
Y3RlZC50eHQKQEAgLTEsNDkgKzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvbnVs
bC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKLQotWyAxOiBQQVNTIF0gUHJvZ3JhbSBDb21waWxlZAot
WyAyOiBQQVNTIF0gU2hhZGVyIENvbXBpbGVkCi1bIDM6IEZBSUwgXSBjb250ZXh0LmNvbXBpbGVT
aGFkZXIodW5kZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVk
LgotWyA0OiBGQUlMIF0gY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmluZWQpIHNob3VsZCB0aHJv
dyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDU6IEZBSUwgXSBjb250ZXh0LmF0dGFj
aFNoYWRlcih1bmRlZmluZWQsIHVuZGVmaW5lZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4g
V2FzIHVuZGVmaW5lZC4KLVsgNjogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0s
IHVuZGVmaW5lZCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsg
NzogRkFJTCBdIGNvbnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSBzaG91bGQg
dGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgdW5kZWZpbmVkLgotWyA4OiBGQUlMIF0gY29udGV4dC5k
ZXRhY2hTaGFkZXIocHJvZ3JhbSwgdW5kZWZpbmVkKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9u
LiBXYXMgdW5kZWZpbmVkLgotWyA5OiBGQUlMIF0gY29udGV4dC5kZXRhY2hTaGFkZXIodW5kZWZp
bmVkLCBzaGFkZXIpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1b
IDEwOiBGQUlMIF0gY29udGV4dC5zaGFkZXJTb3VyY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyB1bmRlZmluZWQuCi1bIDExOiBGQUlMIF0gY29u
dGV4dC5zaGFkZXJTb3VyY2UodW5kZWZpbmVkLCAnZm9vJykgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIHVuZGVmaW5lZC4KLVsgMTI6IEZBSUwgXSBjb250ZXh0LmJpbmRBdHRyaWJMb2Nh
dGlvbih1bmRlZmluZWQsIDAsICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMg
dW5kZWZpbmVkLgotWyAxMzogUEFTUyBdIGNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZ
X0JVRkZFUiwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2J1ZmZl
cicpIHRvIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5iaW5kQnVmZmVyIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgV2ViR0xCdWZmZXIuCi1bIDE0OiBQQVNTIF0gY29udGV4dC5iaW5kRnJhbWVidWZmZXIo
Y29udGV4dC5GUkFNRUJVRkZFUiwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMiAoJ2ZyYW1lYnVmZmVyJykgdG8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LmJpbmRGcmFtZWJ1
ZmZlciBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFdlYkdMRnJhbWVidWZmZXIuCi1bIDE1OiBQQVNT
IF0gY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCAwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgncmVuZGVyYnVmZmVyJykgdG8gV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmJpbmRSZW5kZXJidWZmZXIgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBXZWJHTFJlbmRlcmJ1ZmZlci4KLVsgMTY6IFBBU1MgXSBjb250ZXh0LmJpbmRUZXh0dXJlKGNv
bnRleHQuVEVYVFVSRV8yRCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MiAoJ3RleHR1cmUnKSB0byBXZWJHTFJlbmRlcmluZ0NvbnRleHQuYmluZFRleHR1cmUgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFRleHR1cmUuCi1bIDE3OiBGQUlMIF0gZ2V0RXJyb3IgZXhw
ZWN0ZWQ6IE5PX0VSUk9SLiBXYXMgSU5WQUxJRF9WQUxVRSA6IGFmdGVyIGV2YWx1YXRpbmc6IGNv
bnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgbnVsbCkKLVsgMTg6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGlu
ZzogY29udGV4dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgbnVsbCkKLVsg
MTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIg
ZXZhbHVhdGluZzogY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVS
LCBudWxsKQotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVS
RV8yRCwgbnVsbCkKLVsgMjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJS
QVlfQlVGRkVSLCB1bmRlZmluZWQpCi1bIDIyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuYmluZEZyYW1lYnVm
ZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIHVuZGVmaW5lZCkKLVsgMjM6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4
dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCB1bmRlZmluZWQpCi1bIDI0
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGFmdGVyIGV2
YWx1YXRpbmc6IGNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCB1bmRlZmlu
ZWQpCi1bIDI1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09Q
RVJBVElPTiA6IGFmdGVyIGV2YWx1YXRpbmc6IGNvbnRleHQuZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5ERVBUSF9BVFRBQ0hNRU5ULCBjb250ZXh0
LlJFTkRFUkJVRkZFUiwgbnVsbCkKLVsgMjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5mcmFt
ZWJ1ZmZlclRleHR1cmUyRChjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFD
SE1FTlQwLCBjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwsIDApCi1bIDI3OiBGQUlMIF0gY29udGV4
dC5nZXRQcm9ncmFtUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2Vw
dGlvbi4gV2FzIG51bGwuCi1bIDI4OiBGQUlMIF0gY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyh1
bmRlZmluZWQsIDApIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAyOTog
RkFJTCBdIGNvbnRleHQuZ2V0U2hhZGVyUGFyYW1ldGVyKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRo
cm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51bGwuCi1bIDMwOiBGQUlMIF0gY29udGV4dC5nZXRTaGFk
ZXJJbmZvTG9nKHVuZGVmaW5lZCwgMCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIG51
bGwuCi1bIDMxOiBGQUlMIF0gY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVkKSBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzI6IEZBSUwgXSBjb250ZXh0Lmdl
dFVuaWZvcm0odW5kZWZpbmVkLCBudWxsKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMg
bnVsbC4KLVsgMzM6IEZBSUwgXSBjb250ZXh0LmdldFVuaWZvcm1Mb2NhdGlvbih1bmRlZmluZWQs
ICdmb28nKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzQ6IEZBSUwg
XSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDogYWZ0ZXIg
ZXZhbHVhdGluZzogY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxLCBj
b250ZXh0LlNUQVRJQ19EUkFXKQotWyAzNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldEJ1ZmZlclBhcmFt
ZXRlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgY29udGV4dC5CVUZGRVJfU0laRSkKLVsgMzY6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVh
dGluZzogY29udGV4dC50ZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5S
R0JBLCAxLCAxLCAwLCBjb250ZXh0LlJHQkEsIGNvbnRleHQuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoWzAsMCwwLDBdKSkKLVsgMzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC50ZXhQYXJhbWV0ZXJp
KGNvbnRleHQuVEVYVFVSRV8yRCwgY29udGV4dC5URVhUVVJFX01JTl9GSUxURVIsIGNvbnRleHQu
TkVBUkVTVCkKLVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogYWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC5nZXRUZXhQYXJhbWV0ZXIoY29udGV4dC5U
RVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUikKLVsgMzk6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVh
dGluZzogY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxLCBjb250ZXh0
LlNUQVRJQ19EUkFXKQotWyA0MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBhZnRlciBldmFsdWF0aW5nOiBjb250ZXh0LmdldEJ1ZmZlclBh
cmFtZXRlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgY29udGV4dC5CVUZGRVJfU0laRSkKLVsgNDE6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDog
YWZ0ZXIgZXZhbHVhdGluZzogY29udGV4dC50ZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwg
MCwgY29udGV4dC5SR0JBLCAxLCAxLCAwLCBjb250ZXh0LlJHQkEsIGNvbnRleHQuVU5TSUdORURf
QllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSkKLVsgNDI6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzog
Y29udGV4dC50ZXhQYXJhbWV0ZXJpKGNvbnRleHQuVEVYVFVSRV8yRCwgY29udGV4dC5URVhUVVJF
X01JTl9GSUxURVIsIGNvbnRleHQuTkVBUkVTVCkKLVsgNDM6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogYWZ0ZXIgZXZhbHVhdGluZzogY29u
dGV4dC5nZXRUZXhQYXJhbWV0ZXIoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVf
TUlOX0ZJTFRFUikKLVsgNDQ6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBG
QUlMIF0gMTkgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dl
dC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25m
b3JtYW5jZS9wcm9ncmFtcy9nZXQtYWN0aXZlLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDQwZjFj
ODQ1MjhkODBjYWFmNjY2MDY4Y2JmOTQ2ZGFmZmQwNzAxZjQuLjU0MDAzOTUxM2NiODE4NWVlZWYz
MjFkY2IxMTJiODYwZDc3Y2Y5YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dldC1hY3RpdmUtdGVzdC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2V0LWFjdGl2ZS10
ZXN0LWV4cGVjdGVkLnR4dApAQCAtMSw0NyArMSw0IEBACiBUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KIAogVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cHJvZ3JhbXMvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKLQotWyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDI6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2
ZVVuaWZvcm0ocHJvZ3JhbSwgMCkubmFtZSBpcyAndV9tb2RlbFZpZXdQcm9qTWF0cml4JwotWyAz
OiBQQVNTIF0gY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApLnR5cGUgaXMgY29u
dGV4dC5GTE9BVF9NQVQ0Ci1bIDQ6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0ocHJv
Z3JhbSwgMCkuc2l6ZSBpcyAxCi1bIDU6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZVVuaWZvcm0o
cHJvZ3JhbSwgMSkgaXMgbnVsbAotWyA2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgNzogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9y
bShwcm9ncmFtLCAtMSkgaXMgbnVsbAotWyA4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX1ZBTFVFIDoKLVsgOTogRkFJTCBdIGNvbnRleHQuZ2V0QWN0aXZlVW5p
Zm9ybShudWxsLCAwKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMTA6
IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoK
LVsgMTE6IFBBU1MgXSBpbmZvW2lpXSBpcyBub24tbnVsbC4KLVsgMTI6IFBBU1MgXSBpbmZvW2lp
XSBpcyBub24tbnVsbC4KLVsgMTM6IFBBU1MgXSBpbmZvW2lpXS5uYW1lIGlzIGV4cGVjdGVkW2lp
XS5uYW1lCi1bIDE0OiBQQVNTIF0gaW5mb1tpaV0udHlwZSBpcyBleHBlY3RlZFtpaV0udHlwZQot
WyAxNTogUEFTUyBdIGluZm9baWldLnNpemUgaXMgZXhwZWN0ZWRbaWldLnNpemUKLVsgMTY6IFBB
U1MgXSBpbmZvW2lpXS5uYW1lIGlzIGV4cGVjdGVkW2lpXS5uYW1lCi1bIDE3OiBQQVNTIF0gaW5m
b1tpaV0udHlwZSBpcyBleHBlY3RlZFtpaV0udHlwZQotWyAxODogUEFTUyBdIGluZm9baWldLnNp
emUgaXMgZXhwZWN0ZWRbaWldLnNpemUKLVsgMTk6IFBBU1MgXSBpbmZvMltpaV0gaXMgbm9uLW51
bGwuCi1bIDIwOiBQQVNTIF0gaW5mbzJbaWldIGlzIG5vbi1udWxsLgotWyAyMTogUEFTUyBdIGlu
Zm8yW2lpXS5uYW1lIGlzIGV4cGVjdGVkMltpaV0ubmFtZQotWyAyMjogUEFTUyBdIGluZm8yW2lp
XS50eXBlIGlzIGV4cGVjdGVkMltpaV0udHlwZQotWyAyMzogUEFTUyBdIGluZm8yW2lpXS5zaXpl
IGlzIGV4cGVjdGVkMltpaV0uc2l6ZQotWyAyNDogUEFTUyBdIGluZm8yW2lpXS5uYW1lIGlzIGV4
cGVjdGVkMltpaV0ubmFtZQotWyAyNTogUEFTUyBdIGluZm8yW2lpXS50eXBlIGlzIGV4cGVjdGVk
MltpaV0udHlwZQotWyAyNjogUEFTUyBdIGluZm8yW2lpXS5zaXplIGlzIGV4cGVjdGVkMltpaV0u
c2l6ZQotWyAyNzogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDIpIGlz
IG51bGwKLVsgMjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
VkFMVUUgOgotWyAyOTogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIC0x
KSBpcyBudWxsCi1bIDMwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX1ZBTFVFIDoKLVsgMzE6IEZBSUwgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihudWxsLCAw
KSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsgMzI6IEZBSUwgXSBnZXRF
cnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKLVsgMzM6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMzQ6IFBBU1MgXSBj
b250ZXh0Mi5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMCkgaXMgbnVsbAotWyAzNTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOgotWyAzNjog
UEFTUyBdIGNvbnRleHQyLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCkgaXMgbnVsbAotWyAz
NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OgotWyAzODogUEFTUyBdIGNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBu
dWxsCi1bIDM5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZB
TFVFIDoKLVsgNDA6IFBBU1MgXSBjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSBp
cyBudWxsCi1bIDQxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X1ZBTFVFIDoKLVsgNDI6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlM
IF0gNCBmYWlsdXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0
LWdldC1jYWxscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3Jt
YW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dAppbmRleCBmZGUyZjFj
NzNjODA3MDkxMmFiMTdmNTgyZWUxOGU2MGU3NzdkMDc0Li4yMWI0ZjJmYzJjN2M0ZTI5OTQwZDUz
NTAzMzk5NjJhNGI2NmZkYzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNh
bGxzLWV4cGVjdGVkLnR4dApAQCAtMSwxMzIgKzEsNCBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAotCi1bIDE6IFBBU1MgXSBnbC5nZXRCdWZm
ZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5CVUZGRVJfU0laRSkgaXMgMTYKLVsgMjog
UEFTUyBdIGdsLmdldEJ1ZmZlclBhcmFtZXRlcihnbC5BUlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9V
U0FHRSkgaXMgZ2wuRFlOQU1JQ19EUkFXCi1bIDM6IFBBU1MgXSBnZXRCdWZmZXJQYXJhbWV0ZXIg
Y29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCBwYXJhbWV0ZXIgZW51bXMKLVsgNDogUEFTUyBdIGds
LmdldEJ1ZmZlclBhcmFtZXRlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgZ2wuQlVGRkVSX1NJ
WkUpIGlzIDE2Ci1bIDU6IFBBU1MgXSBnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuRUxFTUVOVF9B
UlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9VU0FHRSkgaXMgZ2wuRFlOQU1JQ19EUkFXCi1bIDY6IFBB
U1MgXSBnZXRCdWZmZXJQYXJhbWV0ZXIgY29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCBwYXJhbWV0
ZXIgZW51bXMKLVsgNzogUEFTUyBdIGdldEJ1ZmZlclBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxl
ZCBpbnZhbGlkIHRhcmdldCBlbnVtcwotWyA4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6Ci1bIDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDoKLVsgMTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKLVsgMTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDoKLVsgMTI6IFBBU1MgXSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1F
QlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01QTEVURQotWyAxMzogUEFTUyBdIGdsLmdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRU
QUNITUVOVDAgKyAwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSBpcyBn
bC5URVhUVVJFCi1bIDE0OiBQQVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1l
dGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCArIDAsIGdsLkZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIHRleHR1cmUKLVsgMTU6IFBBU1MgXSBnbC5n
ZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwICsgMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0xFVkVM
KSBpcyAwCi1bIDE2OiBQQVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
KGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCArIDAsIGdsLkZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFKSBpcyAwCi1bIDE3OiBQQVNTIF0gZ2wu
Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBU
SF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSBpcyBn
bC5SRU5ERVJCVUZGRVIKLVsgMTg6IFBBU1MgXSBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIHJlbmRlcmJ1ZmZlcgotWyAxOTogUEFTUyBd
IGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxlZCBpbnZh
bGlkIHBhcmFtZXRlciBlbnVtcwotWyAyMDogUEFTUyBdIGdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkIHRhcmdldCBlbnVtcwotWyAyMTog
UEFTUyBdIGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxl
ZCBpbnZhbGlkIGF0dGFjaG1lbnQgZW51bXMKLVsgMjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMjQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDoKLVsgMjU6IFBBU1MgXSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01QTEVURQotWyAyNjogUEFTUyBd
IGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wu
Q09MT1JfQVRUQUNITUVOVDAgKyAwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9U
WVBFKSBpcyBnbC5URVhUVVJFCi1bIDI3OiBQQVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2ht
ZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCArIDAsIGds
LkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIHRleHR1cmUKLVsgMjg6IFBB
U1MgXSBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkNPTE9SX0FUVEFDSE1FTlQwICsgMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhU
VVJFX0xFVkVMKSBpcyAwCi1bIDI5OiBQQVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCArIDAsIGdsLkZS
QU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFKSBpcyAwCi1bIDMwOiBQ
QVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVS
LCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9U
WVBFKSBpcyBnbC5SRU5ERVJCVUZGRVIKLVsgMzE6IFBBU1MgXSBnbC5nZXRGcmFtZWJ1ZmZlckF0
dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGds
LkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIHJlbmRlcmJ1ZmZlcgotWyAz
MjogUEFTUyBdIGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciBjb3JyZWN0bHkgaGFu
ZGxlZCBpbnZhbGlkIHBhcmFtZXRlciBlbnVtcwotWyAzMzogUEFTUyBdIGdldEZyYW1lYnVmZmVy
QXR0YWNobWVudFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkIHRhcmdldCBlbnVt
cwotWyAzNDogUEFTUyBdIGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciBjb3JyZWN0
bHkgaGFuZGxlZCBpbnZhbGlkIGF0dGFjaG1lbnQgZW51bXMKLVsgMzU6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMzY6IFBBU1MgXSBzaGFkZXJzLmxl
bmd0aCBpcyAyCi1bIDM3OiBQQVNTIF0gc2hhZGVyc1swXSA9PSBzdGFuZGFyZFZlcnQgJiYgc2hh
ZGVyc1sxXSA9PSBzdGFuZGFyZEZyYWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZFZlcnQgJiYg
c2hhZGVyc1swXSA9PSBzdGFuZGFyZEZyYWcgaXMgdHJ1ZQotWyAzODogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAzOTogRkFJTCBdIGdsLmdldEF0dGFj
aGVkU2hhZGVycyhudWxsKSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgbnVsbC4KLVsg
NDA6IEZBSUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVF
IDoKLVsgNDE6IFBBU1MgXSBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5nZXRBdHRhY2hlZFNoYWRlcnMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBX
ZWJHTFByb2dyYW0uCi1bIDQyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6Ci1bIDQzOiBQQVNTIF0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFBy
b2dyYW0sIGdsLkRFTEVURV9TVEFUVVMpIGlzIGZhbHNlCi1bIDQ0OiBQQVNTIF0gZ2wuZ2V0UHJv
Z3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyB0cnVlCi1b
IDQ1OiBQQVNTIF0gdHlwZW9mIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFt
LCBnbC5WQUxJREFURV9TVEFUVVMpIGlzICJib29sZWFuIgotWyA0NjogUEFTUyBdIGdsLmdldFBy
b2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5BVFRBQ0hFRF9TSEFERVJTKSBpcyAy
Ci1bIDQ3OiBQQVNTIF0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGds
LkFDVElWRV9BVFRSSUJVVEVTKSBpcyAyCi1bIDQ4OiBQQVNTIF0gZ2wuZ2V0UHJvZ3JhbVBhcmFt
ZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFDVElWRV9VTklGT1JNUykgaXMgMQotWyA0OTogUEFT
UyBdIGdldFByb2dyYW1QYXJhbWV0ZXIgY29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCBwYXJhbWV0
ZXIgZW51bXMKLVsgNTA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDoKLVsgNTE6IFBBU1MgXSBnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpIGlzIDIKLVsgNTI6IFBBU1MgXSBnbC5nZXRS
ZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfSEVJ
R0hUKSBpcyAyCi1bIDUzOiBQQVNTIF0gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCkgaXMgbm9uLXplcm8u
Ci1bIDU0OiBQQVNTIF0gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZF
UiwgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpIGlzIG5vbi16ZXJvLgotWyA1NTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyA1NjogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyA1NzogUEFTUyBdIGdsLmdl
dFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9S
RURfU0laRSkgaXMgbm9uLXplcm8uCi1bIDU4OiBQQVNTIF0gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFy
YW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUpIGlzIG5v
bi16ZXJvLgotWyA1OTogUEFTUyBdIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9CTFVFX1NJWkUpIGlzIG5vbi16ZXJvLgotWyA2MDog
UEFTUyBdIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJF
TkRFUkJVRkZFUl9BTFBIQV9TSVpFKSBpcyBub24temVyby4KLVsgNjE6IFBBU1MgXSBnZXRSZW5k
ZXJidWZmZXJQYXJhbWV0ZXIgY29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCBwYXJhbWV0ZXIgZW51
bXMKLVsgNjI6IFBBU1MgXSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIgY29ycmVjdGx5IGhhbmRs
ZWQgaW52YWxpZCB0YXJnZXQgZW51bXMKLVsgNjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgNjQ6IFBBU1MgXSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIo
c3RhbmRhcmRWZXJ0LCBnbC5TSEFERVJfVFlQRSkgaXMgZ2wuVkVSVEVYX1NIQURFUgotWyA2NTog
UEFTUyBdIGdsLmdldFNoYWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIGdsLkRFTEVURV9TVEFU
VVMpIGlzIGZhbHNlCi1bIDY2OiBQQVNTIF0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJk
VmVydCwgZ2wuQ09NUElMRV9TVEFUVVMpIGlzIHRydWUKLVsgNjc6IFBBU1MgXSBnZXRTaGFkZXJQ
YXJhbWV0ZXIgY29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCBwYXJhbWV0ZXIgZW51bXMKLVsgNjg6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgNjk6IFBB
U1MgXSBnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklM
VEVSKSBpcyBnbC5ORUFSRVNUCi1bIDcwOiBQQVNTIF0gZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUikgaXMgZ2wuTkVBUkVTVAotWyA3MTogUEFT
UyBdIGdsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUykg
aXMgZ2wuQ0xBTVBfVE9fRURHRQotWyA3MjogUEFTUyBdIGdsLmdldFRleFBhcmFtZXRlcihnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCkgaXMgZ2wuQ0xBTVBfVE9fRURHRQotWyA3Mzog
UEFTUyBdIGdldFRleFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkIHBhcmFtZXRl
ciBlbnVtcwotWyA3NDogUEFTUyBdIGdldFRleFBhcmFtZXRlciBjb3JyZWN0bHkgaGFuZGxlZCBp
bnZhbGlkIHRhcmdldCBlbnVtcwotWyA3NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOgotWyA3NjogUEFTUyBdIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoYm9v
bFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyB0cnVlCi1bIDc3OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDc4OiBQQVNTIF0gZ2wuZ2V0VW5pZm9y
bShib29sUHJvZ3JhbSwgYnZhbExvYykgaXMgdHJ1ZQotWyA3OTogUEFTUyBdIGdsLmdldFVuaWZv
cm0oYm9vbFByb2dyYW0sIGJ2YWwyTG9jKSBpcyBbdHJ1ZSwgZmFsc2VdCi1bIDgwOiBQQVNTIF0g
Z2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbDNMb2MpIGlzIFt0cnVlLCBmYWxzZSwgdHJ1
ZV0KLVsgODE6IFBBU1MgXSBnbC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBidmFsNExvYykgaXMg
W3RydWUsIGZhbHNlLCB0cnVlLCBmYWxzZV0KLVsgODI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgODM6IFBBU1MgXSBnbC5nZXRQcm9ncmFtUGFyYW1l
dGVyKGludFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyB0cnVlCi1bIDg0OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDg1OiBQQVNTIF0gZ2wuZ2V0
VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsTG9jKSBpcyAxCi1bIDg2OiBQQVNTIF0gZ2wuZ2V0VW5p
Zm9ybShpbnRQcm9ncmFtLCBpdmFsMkxvYykgaXMgWzIsIDNdCi1bIDg3OiBQQVNTIF0gZ2wuZ2V0
VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsM0xvYykgaXMgWzQsIDUsIDZdCi1bIDg4OiBQQVNTIF0g
Z2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsNExvYykgaXMgWzcsIDgsIDksIDEwXQotWyA4
OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyA5MDog
UEFTUyBdIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoZmxvYXRQcm9ncmFtLCBnbC5MSU5LX1NUQVRV
UykgaXMgdHJ1ZQotWyA5MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOgotWyA5MjogUEFTUyBdIGdsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsTG9j
KSBpcyAxMQotWyA5MzogUEFTUyBdIGdsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsMkxv
YykgaXMgWzEyLCAxM10KLVsgOTQ6IFBBU1MgXSBnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwg
ZnZhbDNMb2MpIGlzIFsxNCwgMTUsIDE2XQotWyA5NTogUEFTUyBdIGdsLmdldFVuaWZvcm0oZmxv
YXRQcm9ncmFtLCBmdmFsNExvYykgaXMgWzE3LCAxOCwgMTksIDIwXQotWyA5NjogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyA5NzogUEFTUyBdIGdsLmdl
dFByb2dyYW1QYXJhbWV0ZXIoc2FtcGxlclByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyB0cnVl
Ci1bIDk4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1b
IDk5OiBQQVNTIF0gZ2wuZ2V0VW5pZm9ybShzYW1wbGVyUHJvZ3JhbSwgczJEVmFsTG9jKSBpcyAw
Ci1bIDEwMDogUEFTUyBdIGdsLmdldFVuaWZvcm0oc2FtcGxlclByb2dyYW0sIHNDdWJlVmFsTG9j
KSBpcyAxCi1bIDEwMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgotWyAxMDI6IFBBU1MgXSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKG1hdFByb2dyYW0sIGds
LkxJTktfU1RBVFVTKSBpcyB0cnVlCi1bIDEwMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOgotWyAxMDQ6IFBBU1MgXSBnbC5nZXRVbmlmb3JtKG1hdFByb2dy
YW0sIG12YWwyTG9jKSBpcyBbMSwgMiwgMywgNF0KLVsgMTA1OiBQQVNTIF0gZ2wuZ2V0VW5pZm9y
bShtYXRQcm9ncmFtLCBtdmFsM0xvYykgaXMgWzUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEz
XQotWyAxMDY6IFBBU1MgXSBnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWw0TG9jKSBpcyBb
MTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAy
OCwgMjldCi1bIDEwNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgotWyAxMDg6IFBBU1MgXSBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJ
Ql9BUlJBWV9CVUZGRVJfQklORElORykgaXMgYnVmZmVyCi1bIDEwOTogUEFTUyBdIGdsLmdldFZl
cnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQpIGlzIHRydWUKLVsg
MTEwOiBQQVNTIF0gZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlf
U0laRSkgaXMgNAotWyAxMTE6IFBBU1MgXSBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVY
X0FUVFJJQl9BUlJBWV9TVFJJREUpIGlzIDAKLVsgMTEyOiBQQVNTIF0gZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSkgaXMgZ2wuRkxPQVQKLVsgMTEzOiBQ
QVNTIF0gZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFM
SVpFRCkgaXMgZmFsc2UKLVsgMTE0OiBQQVNTIF0gZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZF
UlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFKSBpcyAzNgotWyAxMTU6IFBBU1MgXSBnbC5nZXRWZXJ0
ZXhBdHRyaWJPZmZzZXQoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVSKSBpcyAxMgot
WyAxMTY6IFBBU1MgXSBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJB
WV9FTkFCTEVEKSBpcyBmYWxzZQotWyAxMTc6IFBBU1MgXSBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwg
Z2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKSBpcyBbNSwgNiwgNywgOF0KLVsgMTE4OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1bIDExOTogUEFTUyBdIGdl
dFZlcnRleEF0dHJpYiBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkIHBhcmFtZXRlciBlbnVtcwot
WyAxMjA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfVkFMVUUg
OiBhZnRlciBldmFsdWF0aW5nOiBnbC5nZXRWZXJ0ZXhBdHRyaWIoMTYsIGdsLkNVUlJFTlRfVkVS
VEVYX0FUVFJJQikKLVsgMTIxOiBQQVNTIF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFy
YW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZG
RVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSkgaXMgZ2wuTk9ORQotWyAxMjI6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDoKLVsgMTIzOiBQQVNT
IF0gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBn
bC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBF
KSBpcyBnbC5OT05FCi1bIDEyNDogUEFTUyBdIGdsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKSBpcyBudWxsCi1bIDEyNTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgotWyAxMjY6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTI3OiBQQVNTIF0gc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLVsgRkFJTCBdIDIgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgUEFT
UyBdIEFsbCB0ZXN0cyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4w
L2NvbmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS90ZXh0dXJlcy9t
aXNjL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IGY3YWY3Zjhi
NGQyMWY2YTY2OTUxMGIyY2Q4NjE5Yjc5NjYwYjQzYTkuLjhiNDYyZjliNTJlY2ZjNzEzOGMwNmFk
ZjIzOTU3ZWJhZWMxMDBiOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL21pc2MvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvdGV4dHVyZXMv
bWlzYy90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLWV4cGVjdGVkLnR4dApAQCAtMSw0MiArMSw0
IEBACiBUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KIAogVGVzdDogLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXgtc3ViLWltYWdl
LTJkLWJhZC1hcmdzLmh0bWwKLQotWyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6IG5vIHByZXZpb3VzbHkgZGVmaW5lZCB0ZXh0dXJlIGlt
YWdlCi1bIDI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2V0dXAgc2hvdWxkIHN1Y2NlZWQKLVsgMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9WQUxVRSA6IHkgKyBoZWlnaHQgPiB0ZXh0dXJlIGhlaWdodAotWyA0OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogeCArIHdp
ZHRoID4gdGV4dHVyZSB3aWR0aAotWyA1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX1ZBTFVFIDogbmVnYXRpdmUgeAotWyA2OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogbmVnYXRpdmUgeQotWyA3OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogbmVnYXRpdmUgbGV2
ZWwKLVsgODogRkFJTCBdIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
bi4gV2FzIHVuZGVmaW5lZC4KLVsgOTogRkFJTCBdIGdldEVycm9yIGV4cGVjdGVkOiBOT19FUlJP
Ui4gV2FzIElOVkFMSURfVkFMVUUgOgotWyAxMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9WQUxVRSA6IG51bGwgcGl4ZWxzCi1bIDExOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIG9uZSBvZjogSU5WQUxJRF9WQUxVRSBvciBJTlZBTElEX09QRVJBVElPTiA6IHRvbyBo
aWdoIGxldmVsCi1bIDEyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX0VOVU0gOiBiYWQgdGFyZ2V0Ci1bIDEzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IGdvb2QgYXJncwotWyAxNDogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBmb3JtYXQgbm90IHNhbWUgYXMgb3Jp
Z2luYWwKLVsgMTU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
T1BFUkFUSU9OIDogdHlwZSBub3Qgc2FtZSBhcyBvcmlnaW5hbAotWyAxNjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBtYWtlIHRleHR1cmUgUkdCCi1bIDE3
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IGZvcm1hdCBz
YW1lIGFzIG9yaWdpbmFsIFJHQgotWyAxODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBmb3JtYXQgbm90IHNhbWUgYXMgb3JpZ2luYWwgUkdC
Ci1bIDE5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJB
VElPTiA6IHR5cGUgbm90IHNhbWUgYXMgb3JpZ2luYWwgUkdCCi1bIDIwOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IG1ha2UgdGV4dHVyZSBSR0JBIFVOU0lH
TkVEX0JZVEUKLVsgMjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogZm9ybWF0IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjI6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogZm9ybWF0IG5vdCBzYW1lIGFzIG9y
aWdpbmFsCi1bIDIzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X09QRVJBVElPTiA6IHR5cGUgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMjQ6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogbWFrZSB0ZXh0dXJlIFJHQkEgVU5T
SUdORURfQllURQotWyAyNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBmb3JtYXQgc2FtZSBhcyBvcmlnaW5hbAotWyAyNjogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBmb3JtYXQgbm90IHNhbWUgYXMg
b3JpZ2luYWwKLVsgMjc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFM
SURfT1BFUkFUSU9OIDogdHlwZSBub3Qgc2FtZSBhcyBvcmlnaW5hbAotWyAyODogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBmb3JtYXQgc2FtZSBhcyBvcmln
aW5hbAotWyAyOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiBmb3JtYXQgbm90IHNhbWUgYXMgb3JpZ2luYWwKLVsgMzA6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogdHlwZSBub3Qgc2Ft
ZSBhcyBvcmlnaW5hbAotWyAzMTogUEFTUyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURf
VkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04gOiB0b28gaGlnaCBsZXZlbAotWyAzMjogUEFTUyBd
IGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURfVkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04g
OiB0b28gaGlnaCBsZXZlbAotWyAzMzogUEFTUyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFM
SURfVkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04gOiB0b28gaGlnaCBsZXZlbAotWyAzNDogUEFT
UyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURfVkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJ
T04gOiB0b28gaGlnaCBsZXZlbAotWyAzNTogUEFTUyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElO
VkFMSURfVkFMVUUgb3IgSU5WQUxJRF9PUEVSQVRJT04gOiB0b28gaGlnaCBsZXZlbAotWyAzNjog
UEFTUyBdIGdldEVycm9yIHdhcyBvbmUgb2Y6IElOVkFMSURfVkFMVUUgb3IgSU5WQUxJRF9PUEVS
QVRJT04gOiB0b28gaGlnaCBsZXZlbAotWyAzNzogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi1bIEZBSUwgXSAyIGZhaWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMg
cGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC8yLjAuMC9jb25mb3JtYW5jZTIvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50
eHQKaW5kZXggYTAxNjAzNWQ2MTlmNDRjZDcyYjg4MjM0MTFkMjM4OTZiYjQyNWMyNC4uMmM3MmU3
OGVmMjJiNjAwYWQ4NTBjYWQ0ODg4NDIxZTlkZWVjNTkzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9zdGF0
ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dApAQCAtMTU3LDggKzE1Nyw4IEBAIFRl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9zdGF0ZS9n
bC1vYmplY3QtZ2V0LWNhbGxzLmh0CiBbIDE1MzogUEFTUyBdIHNoYWRlcnMubGVuZ3RoIGlzIDIK
IFsgMTU0OiBQQVNTIF0gc2hhZGVyc1swXSA9PSBzdGFuZGFyZFZlcnQgJiYgc2hhZGVyc1sxXSA9
PSBzdGFuZGFyZEZyYWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZFZlcnQgJiYgc2hhZGVyc1sw
XSA9PSBzdGFuZGFyZEZyYWcgaXMgdHJ1ZQogWyAxNTU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVsgMTU2OiBGQUlMIF0gZ2wuZ2V0QXR0YWNoZWRTaGFk
ZXJzKG51bGwpIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyBudWxsLgotWyAxNTc6IEZB
SUwgXSBnZXRFcnJvciBleHBlY3RlZDogTk9fRVJST1IuIFdhcyBJTlZBTElEX1ZBTFVFIDoKK1sg
MTU2OiBQQVNTIF0gZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdwcm9ncmFtJykgdG8gV2ViR0wyUmVuZGVyaW5nQ29udGV4
dC5nZXRBdHRhY2hlZFNoYWRlcnMgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBXZWJHTFByb2dyYW0u
CitbIDE1NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgog
WyAxNTg6IFBBU1MgXSBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgncHJvZ3JhbScpIHRvIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQuZ2V0QXR0YWNoZWRTaGFkZXJzIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgV2Vi
R0xQcm9ncmFtLgogWyAxNTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDoKIFsgMTYwOiBQQVNTIF0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFBy
b2dyYW0sIGdsLkRFTEVURV9TVEFUVVMpIGlzIGZhbHNlCkBAIC0zNjUsNCArMzY1LDQgQEAgVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL3N0YXRlL2ds
LW9iamVjdC1nZXQtY2FsbHMuaHQKIFsgMzYxOiBQQVNTIF0gZ2V0QWN0aXZlVW5pZm9ybUJsb2Nr
UGFyYW1ldGVyIGNvcnJlY3RseSBoYW5kbGVkIGludmFsaWQgcG5hbWUgZW51bXMKIFsgMzYyOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6CiBbIDM2MzogUEFT
UyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZBSUwgXSAzNyBmYWlsdXJlcyByZXBv
cnRlZAorWyBGQUlMIF0gMzUgZmFpbHVyZXMgcmVwb3J0ZWQK
</data>

          </attachment>
      

    </bug>

</bugzilla>