<?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>177408</bug_id>
          
          <creation_ts>2017-09-23 10:51:28 -0700</creation_ts>
          <short_desc>Remove SetterMayThrowException</short_desc>
          <delta_ts>2017-09-27 12:20:49 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1351974</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-23 10:51:28 -0700</bug_when>
    <thetext>It is no longer needed.
Might also change a little bit AttributeSetter to not make it a template class anymore, since this is somehow redundant with the Functor parameter of its call method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351975</commentid>
    <comment_count>1</comment_count>
      <attachid>321634</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-23 10:57:36 -0700</bug_when>
    <thetext>Created attachment 321634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351976</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-23 10:59:54 -0700</bug_when>
    <thetext>Attachment 321634 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMAttribute.h:96:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 65 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352033</commentid>
    <comment_count>3</comment_count>
      <attachid>321634</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-23 19:38:11 -0700</bug_when>
    <thetext>Comment on attachment 321634
Patch

Clearing flags on attachment: 321634

Committed r222429: &lt;http://trac.webkit.org/changeset/222429&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352034</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-23 19:38:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353315</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:20:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693096&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321634</attachid>
            <date>2017-09-23 10:57:36 -0700</date>
            <delta_ts>2017-09-23 19:38:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177408-20170923105735.patch</filename>
            <type>text/plain</type>
            <size>135002</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4NzlmMTJhZjJkZWJl
YWMxZDZmZjBkMjdhN2M5MTU5ZGM3ODViMC4uYmM0ODJkYjRmMjYyZWJjYzdlY2VkNjQ3MGIzN2Ex
NWYzNTM3ZmUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDE3LTA5LTIzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU2V0dGVyTWF5
VGhyb3dFeGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICBVcGRhdGluZyBJRExzIHRv
IHJlbW92ZSBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbiBhcyBpdCBpcyBubyBsb25nZXIgbmVlZGVk
LgorICAgICAgICBVcGRhdGluZyBBdHRyaWJ1dGVTZXR0ZXIgdG8gY29tcHV0ZSB0aGUgcmV0dXJu
IHR5cGUgdXNpbmcgRnVuY3Rvci4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQklu
ZGV4LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQW5hbHlzZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTUF0dHJpYnV0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6QXR0cmlidXRlU2V0dGVyOjpj
YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkF0dHJpYnV0ZVNldHRlcjxFeGNlcHRpb25Pcjx2b2lk
Pj46OmNhbGwpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXR0cmlidXRlU2V0dGVyPHZv
aWQ+OjpjYWxsKTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRlU2V0dGVyQm9keURlZmluaXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHA6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxs
VHJhY2VyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEJ5U2V0dGluZy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5vZGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemF0aW9uLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2VyaWFsaXphdGlvbkluaGVyaXQuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJpdEZpbmFsLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZp
ZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPYmouaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRl
ZnMuaWRsOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5pZGw6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmlk
bDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYUxpc3Qu
aWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQu
aWRsOgorICAgICAgICAqIGRvbS9Ob2RlLmlkbDoKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5p
ZGw6CisgICAgICAgICogaHRtbC9ET01VUkwuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRh
YmxlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5pZGw6CisgICAgICAgICogaHRtbC90cmFj
ay9WVFRDdWUuaWRsOgorICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmlkbDoKKyAgICAg
ICAgKiBwYWdlL0hpc3RvcnkuaWRsOgorICAgICAgICAqIHBhZ2UvTG9jYXRpb24uaWRsOgorICAg
ICAgICAqIHN2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmds
ZS5pZGw6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5pZGw6CisgICAgICAgICog
c3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRl
ZEludGVnZXIuaWRsOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZE51bWJlci5pZGw6CisgICAg
ICAgICogc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3Ro
LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTWF0cml4LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHTnVt
YmVyLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUmVjdC5pZGw6CisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmlkbDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3Qu
aWRsOgorCiAyMDE3LTA5LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWJSVEMgdmlkZW8gZG9lcyBub3QgcmVzdW1lIHJlY2VpdmluZyB3aGVuIHN3aXRj
aGluZyBiYWNrIHRvIFNhZmFyaSAxMSBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkluZGV4LmlkbAppbmRleCBiNGE0YzNmOTBiZDJhYTE4MmQ4MjI5NTkxY2Rm
OTdjZDk4Nzc0YTcxLi5hMmIwOTRmMmNkNTQ4NDAwYTc5NTgzNjhmZDIwYjY0YTFlYzk3Y2I1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsCkBAIC0z
Myw3ICszMyw3IEBAIHR5cGVkZWYgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSBJ
REJLZXlQYXRoOwogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIFNraXBWVGFibGVWYWxp
ZGF0aW9uLAogXSBpbnRlcmZhY2UgSURCSW5kZXggewotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2Vw
dGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCT2JqZWN0U3RvcmUgb2JqZWN0U3RvcmU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQktleVBhdGg/IGtleVBhdGg7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gbXVsdGlFbnRyeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAppbmRleCAxMmYxNGIxYzhkMjI5
MWIzZWZiOWQ0NzcxMTliNWYyM2I5ZTY5YWY3Li5kZDdhYzZmODIwMzJlYjVmOGIyYWY3MWExNGJh
MTIwM2MxMmQ2NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPYmplY3RTdG9yZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmUuaWRsCkBAIC0zMyw3ICszMyw3IEBAIHR5cGVkZWYgKERPTVN0cmlu
ZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSBJREJLZXlQYXRoOwogICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAogXSBpbnRlcmZhY2UgSURCT2JqZWN0
U3RvcmUgewotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmlu
ZyBuYW1lOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgSURCS2V5UGF0aD8ga2V5UGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nTGlzdCBpbmRleE5hbWVzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJUcmFuc2FjdGlv
biB0cmFuc2FjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5pZGwKaW5kZXggMGZhNzUxZGUyMTZiMjYzOTdhYzZhNWEzNzYxMmJhMmZm
ODlkYmFiOS4uY2U5NjI2YTg2M2JmZTViYzE3ZWUyNzI2N2QzNjRlMDZmNzE3ZWY4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwK
QEAgLTUyLDcgKzUyLDcgQEAgZW51bSBSZWFkeVN0YXRlIHsKICAgICAvLyBTdWJzZXQgb2Ygc291
cmNlQnVmZmVycyB0aGF0IHByb3ZpZGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkL2VuYWJsZWQgdHJh
Y2tzLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IGFjdGl2ZVNvdXJj
ZUJ1ZmZlcnM7CiAKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIGR1cmF0aW9uOworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91
YmxlIGR1cmF0aW9uOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTb3VyY2VCdWZmZXIgYWRk
U291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBlKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBidWZmZXIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCmluZGV4IDlj
ODQ3YzcyYTk0NGIxNWNjMzY5MGI0NTQ4YTU0NmE0ZTBlMjBkZmEuLmU5YzdlMTM1NmFkN2ZjNzVj
YmYxMmZlOWE5ZmNlZmIwODM0Yzk4NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKQEAgLTM4LDcgKzM4LDcgQEAKICAgICBD
b25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQs
CiBdIGludGVyZmFjZSBTb3VyY2VCdWZmZXIgOiBFdmVudFRhcmdldCB7Ci0gICAgW1NldHRlck1h
eVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgQXBwZW5kTW9kZSBtb2RlOworICAgIGF0dHJpYnV0
ZSBBcHBlbmRNb2RlIG1vZGU7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB1cGRh
dGluZzsKICAgCkBAIC00NiwxNSArNDYsMTUgQEAKICAgICBbR2V0dGVyTWF5VGhyb3dFeGNlcHRp
b25dIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIGJ1ZmZlcmVkOwogCiAgICAgLy8gQXBw
bGllcyBhbiBvZmZzZXQgdG8gbWVkaWEgc2VnbWVudCB0aW1lc3RhbXBzLgotICAgIFtTZXR0ZXJN
YXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGRvdWJsZSB0aW1lc3RhbXBPZmZzZXQ7CisgICAg
YXR0cmlidXRlIGRvdWJsZSB0aW1lc3RhbXBPZmZzZXQ7CiAKICAgICAvLyBUcmFjayBzdXBwb3J0
CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLXSByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9U
cmFja0xpc3QgYXVkaW9UcmFja3M7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLXSByZWFk
b25seSBhdHRyaWJ1dGUgVmlkZW9UcmFja0xpc3QgdmlkZW9UcmFja3M7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPX1RSQUNLXSByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRyYWNrTGlzdCB0ZXh0VHJh
Y2tzOwogCi0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgZG91YmxlIGFw
cGVuZFdpbmRvd1N0YXJ0OwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBkb3VibGUgYXBwZW5kV2luZG93RW5kOworICAgIGF0dHJpYnV0ZSBkb3Vi
bGUgYXBwZW5kV2luZG93U3RhcnQ7CisgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUg
YXBwZW5kV2luZG93RW5kOwogCiAgICAgLy8gQXBwZW5kIHNlZ21lbnQgZGF0YS4KICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5pZGwKaW5kZXggYWMwNjRmOTcyYzUxYWU0MTU3YzYxYTI5M2I5MmRkMWYzMzUwM2EwYy4uOTEz
Yjc4NWM4OWMwZTliMmRmZTRhNTQ2NDA1YjU3Y2JiZmFiYWIxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5pZGwKQEAgLTQx
LDcgKzQxLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBidWZmZXJl
ZEFtb3VudDsKICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBidWZmZXJlZEFtb3VudExvd1Ro
cmVzaG9sZDsKIAotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0
cmluZyBiaW5hcnlUeXBlOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYmluYXJ5VHlwZTsKIAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOwogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbAppbmRl
eCBkNDNmOTU5MTBiYjQ0OWNjMjZkNzQwZWJlYTRiZjBkYTU1ZWUyMGNhLi4zOGZiY2Q2N2VkODJh
MWE4NmRjYTIyMGU5ODMzZTBiMTYxNjBjODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsCkBAIC0yNiwxNSArMjYsMTUgQEAKICAgICBD
b25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGludGVy
ZmFjZSBBbmFseXNlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2Vw
dGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZmZ0U2l6ZTsKKyAgICBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBmZnRTaXplOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGZyZXF1ZW5jeUJpbkNvdW50OwogCiAgICAgLy8gbWluRGVjaWJlbHMgLyBtYXhEZWNpYmVscyBy
ZXByZXNlbnQgdGhlIHJhbmdlIHRvIHNjYWxlIHRoZSBGRlQgYW5hbHlzaXMgZGF0YSBmb3IgY29u
dmVyc2lvbiB0byB1bnNpZ25lZCBieXRlIHZhbHVlcy4KLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNl
cHRpb25dIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIG1pbkRlY2liZWxzOwotICAgIFtT
ZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgbWF4
RGVjaWJlbHM7CisgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgbWluRGVjaWJlbHM7
CisgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgbWF4RGVjaWJlbHM7CiAKICAgICAv
LyBBIHZhbHVlIGZyb20gMC4wIC0+IDEuMCB3aGVyZSAwLjAgcmVwcmVzZW50cyBubyB0aW1lIGF2
ZXJhZ2luZyB3aXRoIHRoZSBsYXN0IGFuYWx5c2lzIGZyYW1lLgotICAgIFtTZXR0ZXJNYXlUaHJv
d0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgc21vb3RoaW5nVGltZUNv
bnN0YW50OworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHNtb290aGluZ1RpbWVD
b25zdGFudDsKIAogICAgIC8vIENvcGllcyB0aGUgY3VycmVudCBmcmVxdWVuY3kgZGF0YSBpbnRv
IHRoZSBwYXNzZWQgYXJyYXkuCiAgICAgLy8gSWYgdGhlIGFycmF5IGhhcyBmZXdlciBlbGVtZW50
cyB0aGFuIHRoZSBmcmVxdWVuY3lCaW5Db3VudCwgdGhlIGV4Y2VzcyBlbGVtZW50cyB3aWxsIGJl
IGRyb3BwZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5p
ZGwKaW5kZXggMmJhMDUwMGM3MWZkM2UxNzQ0YTQyMGVmYTNmYjYzNjc1MzlkNDQ1ZS4uOTE5NzBj
NGQzM2NhZTY2NGQ2ZWY3YjJhM2RhMTdhMDJmYjY1MWI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbApAQCAtMzAsOSArMzAsOSBAQAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRzOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0czsKIAotICAgIFtTZXR0
ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgY2hhbm5lbENvdW50
OwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBjaGFu
bmVsQ291bnRNb2RlOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERP
TVN0cmluZyBjaGFubmVsSW50ZXJwcmV0YXRpb247CisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgY2hhbm5lbENvdW50OworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hhbm5lbENvdW50TW9k
ZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYW5uZWxJbnRlcnByZXRhdGlvbjsKIAogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb25uZWN0KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbiwg
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvdXRwdXQgPSAwLCBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGlucHV0ID0gMCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbm5lY3QoQXVkaW9Q
YXJhbSBkZXN0aW5hdGlvbiwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvdXRwdXQgPSAwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaWRsCmlu
ZGV4IGU2NjFiNTc2NjRlNWI5MWIyNGNiOGVlMmU3NzNmZGEzY2RiNmNkMjIuLjc5OWUxNmM3NGJj
YTBlYTQ3NWI2YTVhMGY3NzQ0ZDc5Mjg4NjI2MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlkbApAQCAtMjcsNiArMjcsNiBAQAogICAg
IENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgQ29udm9sdmVyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW1NldHRlck1heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXI/IGJ1ZmZlcjsKKyAgICBhdHRyaWJ1dGUgQXVk
aW9CdWZmZXI/IGJ1ZmZlcjsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBub3JtYWxpemU7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlk
bAppbmRleCBiNWVkYzEwYTQ0MjkwNTNjNzlhMjZhMDExOTU1YWM3MWEwMDA0ZmI5Li5kZjM5ZjFj
ODNkNWUwOGFlYzE5ZTQwN2QxYjI3Mzg0ZjRkNWYzYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlkbApAQCAtMzUsNyArMzUsNyBA
QCBlbnVtIE9zY2lsbGF0b3JUeXBlIHsKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAg
SlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGludGVyZmFjZSBPc2NpbGxhdG9yTm9kZSA6IEF1ZGlv
Tm9kZSB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgT3NjaWxsYXRv
clR5cGUgdHlwZTsKKyAgICBhdHRyaWJ1dGUgT3NjaWxsYXRvclR5cGUgdHlwZTsKIAogICAgIC8v
IFBsYXliYWNrIHN0YXRlIGNvbnN0YW50cy4KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBVTlND
SEVEVUxFRF9TVEFURSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuaWRsCmluZGV4IDJkMTdlZDljNjUwNTRjMTM2MGU5YTgxMTYyNWZkYTQ0MTBi
Y2JhODIuLjUxYTJiNDUyNjNhY2I5YTQwZWY1MGY0OWUyMTY0ZDI1YWExNWI3YWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCkBAIC01Niw3
ICs1Niw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gcHJvdG9jb2w7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gZXh0ZW5zaW9uczsKIAotICAgIFtTZXR0
ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBiaW5hcnlUeXBlOworICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgYmluYXJ5VHlwZTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBzZW5kKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUF0dHJpYnV0ZS5oCmluZGV4IGRjZmE4MjAzOGJmMmY2ZWZkMWJiNjU5NDRmM2Zj
MjM3ZjA1Mzk3MjcuLmIyYWQ5NjY3MjhkMGJjOWJjNjJiY2ZmODJlM2Y2MzkwYjVkOWUyMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQXR0cmlidXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01BdHRyaWJ1dGUuaApAQCAtOTAsMTMg
KzkwLDE1IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBSZXR1cm5U
eXBlPgotc3RydWN0IEF0dHJpYnV0ZVNldHRlcjsKK3N0cnVjdCBBdHRyaWJ1dGVTZXR0ZXIgewor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgICAgc3RhdGljIGF1dG8gY2FsbChKU0M6
OkV4ZWNTdGF0ZSYsIEpTQzo6VGhyb3dTY29wZSYsIEZ1bmN0b3ImJiBmdW5jdG9yKSAtPiBzdGQ6
OmVuYWJsZV9pZl90PHN0ZDo6aXNfc2FtZTx2b2lkLCBkZWNsdHlwZShmdW5jdG9yKCkpPjo6dmFs
dWU+CisgICAgeworICAgICAgICBmdW5jdG9yKCk7CisgICAgfQogCi10ZW1wbGF0ZTw+Ci1zdHJ1
Y3QgQXR0cmlidXRlU2V0dGVyPEV4Y2VwdGlvbk9yPHZvaWQ+PiB7CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgRnVuY3Rvcj4KLSAgICBzdGF0aWMgdm9pZCBjYWxsKEpTQzo6RXhlY1N0YXRlJiBzdGF0
ZSwgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlLCBGdW5jdG9yJiYgZnVuY3RvcikKKyAgICBz
dGF0aWMgYXV0byBjYWxsKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpUaHJvd1Njb3BlJiB0
aHJvd1Njb3BlLCBGdW5jdG9yJiYgZnVuY3RvcikgLT4gc3RkOjplbmFibGVfaWZfdDwhc3RkOjpp
c19zYW1lPHZvaWQsIGRlY2x0eXBlKGZ1bmN0b3IoKSk+Ojp2YWx1ZT4KICAgICB7CiAgICAgICAg
IGF1dG8gcmVzdWx0ID0gZnVuY3RvcigpOwogICAgICAgICBpZiAoIXJlc3VsdC5oYXNFeGNlcHRp
b24oKSkKQEAgLTEwNSwxMyArMTA3LDQgQEAgc3RydWN0IEF0dHJpYnV0ZVNldHRlcjxFeGNlcHRp
b25Pcjx2b2lkPj4gewogICAgIH0KIH07CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBBdHRyaWJ1dGVT
ZXR0ZXI8dm9pZD4gewotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+Ci0gICAgc3RhdGlj
IHZvaWQgY2FsbChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6VGhyb3dTY29wZSYsIEZ1bmN0b3ImJiBm
dW5jdG9yKQotICAgIHsKLSAgICAgICAgZnVuY3RvcigpOwotICAgIH0KLX07Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMzgxMzk1MWQ3ZmI1YzYzZTdkZmQ3MDY3ZWQwZmJjOTA3
YWJjOTk2My4uMjU5NjkxOWJhYTBkMWY4MDliNzcxZjE4Nzc5MTc0MmY2M2I5ZmI4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
QEAgLTQ5MjMsNyArNDkyMyw3IEBAIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlEZWZp
bml0aW9uCiAgICAgICAgIH0KIAogICAgICAgICBteSAkZnVuY3Rpb25TdHJpbmcgPSAiJHtmdW5j
dGlvbk5hbWV9KCIgLiBqb2luKCIsICIsIEBhcmd1bWVudHMpIC4gIikiOwotICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKCRmdW5jdGlvblN0
cmluZyk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0ge1xuIik7CisgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7XG4iKTsKICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICByZXR1
cm4gJGZ1bmN0aW9uU3RyaW5nO1xuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICB9KTtcbiIpOwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIHRydWU7
XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0
cmlidXRlcy5qc29uIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLmpzb24KaW5kZXggMzhhMzBkODVhMWNjOGU4Y2Q2NzA0Y2M0YzA0ZGRjYzQ1OWM2MzkxNS4u
YzYxZWFmMWVkNGFmNzhmMTg4YTllOTM4ODA4YzFkN2Q2MDE5OWM4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24KQEAgLTQxNyw5
ICs0MTcsNiBAQAogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRlIl0s
CiAgICAgICAgICAgICAidmFsdWVzIjogWyJTY3JpcHRFeGVjdXRpb25Db250ZXh0IiwgIlNjcmlw
dFN0YXRlIiwgIkdsb2JhbE9iamVjdCIsICJBY3RpdmVXaW5kb3ciLCAiRmlyc3RXaW5kb3ciXQog
ICAgICAgICB9LAotICAgICAgICAiU2V0dGVyTWF5VGhyb3dFeGNlcHRpb24iOiB7Ci0gICAgICAg
ICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJhdHRyaWJ1dGUiXQotICAgICAgICB9LAogICAgICAg
ICAiU2tpcENhbGxiYWNrSW52b2tlQ2hlY2siOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxv
d2VkIjogWyJvcGVyYXRpb24iLCAiY2FsbGJhY2stZnVuY3Rpb24iXQogICAgICAgICB9LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENF
UmVhY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDRVJlYWN0aW9ucy5jcHAKaW5kZXggZTJmMmM5NTU5ZWU3NWQyZTYwMmNmZGFlYTdhNWE1
NDMwNjhkNWUyMC4uN2ZkMGRjNzcyMDY4ZDkxNWFjOTc4ODU1NzhiMWMxZTExNDZmYmQ1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENF
UmVhY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwCkBAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zQXR0cmlidXRlV2l0aENFUmVhY3Rpb25zU2V0dGVy
KEV4ZWNTdGF0ZSYKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAg
YXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0
ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucyhXVEZNb3Zl
KG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRy
aWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVy
biBpbXBsLnNldEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucyhXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7
CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0yMzgsNyArMjM4LDcgQEAgc3RhdGljIGlu
bGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zUmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0
aW9uc1NldHRlcihFeGUKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAg
ICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJp
YnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0YXR0cmlidXRld2l0aGNlcmVhY3Rpb25zQXR0
ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7
CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAg
ICAgICByZXR1cm4gaW1wbC5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNv
cmU6OkhUTUxOYW1lczo6cmVmbGVjdGF0dHJpYnV0ZXdpdGhjZXJlYWN0aW9uc0F0dHIsIFdURk1v
dmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAppbmRleCBlMzdhNTEyN2VjYjNmMTZk
NjhmYjQ4ZGZhYTQzNjRmYTBhMmE4MGRlLi42Y2M3MjFjNjBmY2ZmNjcwOTU5ZDczZjgyOTQzYTdj
ZDViOGE0MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIu
Y3BwCkBAIC0xOTYsNyArMTk2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXJWYWx1ZVNldHRlcihFeGVjU3RhdGUmIHN0YXRlLAogICAgIGF1dG8m
IGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29u
dmVydDxJRExET01TdHJpbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0VmFsdWUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUs
IFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0g
ewogICAgICAgICByZXR1cm4gaW1wbC5zZXRWYWx1ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAg
ICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKaW5kZXggNTQ0
MjEwN2E3ZWM4YzBhNGMyYjViNTIzZTVmOTljNWNhYWE1ZDRmZS4uZDBhODI2ZTg2ZWE5MjgyZWI2
NzJmMjI0NDgzYWE0ZTBjNzE4NGM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcApAQCAtMjQz
LDcgKzI0Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDYWxsVHJhY2VyVGVzdEF0
dHJpYnV0ZUludGVyZmFjZVNldHRlcihFeGVjU3RhdGUmIHN0CiAgICAgICAgIGNhbGxUcmFjZXJQ
YXJhbWV0ZXJzLmFwcGVuZChuYXRpdmVWYWx1ZSk7CiAgICAgICAgIENhbGxUcmFjZXI6OnRlc3RD
YWxsVHJhY2VySW50ZXJmYWNlKGltcGwsIEFTQ0lJTGl0ZXJhbCgidGVzdEF0dHJpYnV0ZUludGVy
ZmFjZSIpLCBXVEZNb3ZlKGNhbGxUcmFjZXJQYXJhbWV0ZXJzKSk7CiAgICAgfQotICAgIEF0dHJp
YnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFRlc3RBdHRyaWJ1dGVJbnRlcmZhY2UoV1RGTW92
ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0
cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1
cm4gaW1wbC5zZXRUZXN0QXR0cmlidXRlSW50ZXJmYWNlKFdURk1vdmUobmF0aXZlVmFsdWUpKTsK
ICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0Q2FsbFRyYWNlclRlc3RBdHRyaWJ1dGVTcGVjaWZpZWRTZXR0ZXIo
RXhlY1N0YXRlJiBzdAogICAgICAgICBjYWxsVHJhY2VyUGFyYW1ldGVycy5hcHBlbmQobmF0aXZl
VmFsdWUpOwogICAgICAgICBDYWxsVHJhY2VyOjp0ZXN0Q2FsbFRyYWNlckF0dHJpYnV0ZShpbXBs
LCBBU0NJSUxpdGVyYWwoInRlc3RBdHRyaWJ1dGVTcGVjaWZpZWQiKSwgV1RGTW92ZShjYWxsVHJh
Y2VyUGFyYW1ldGVycykpOwogICAgIH0KLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1w
bC5zZXRUZXN0QXR0cmlidXRlU3BlY2lmaWVkKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxs
KHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0VGVzdEF0dHJpYnV0
ZVNwZWNpZmllZChXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRy
dWU7CkBAIC0zMTksNyArMzE5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENhbGxU
cmFjZXJUZXN0QXR0cmlidXRlV2l0aFZhcmlhbnRTZXR0ZXIoRXhlY1N0YXRlJgogICAgICAgICBX
VEY6OnZpc2l0KFsmXSAoYXV0byYgdmFsdWUpIHsgY2FsbFRyYWNlclBhcmFtZXRlcnMuYXBwZW5k
KHZhbHVlKTsgfSwgbmF0aXZlVmFsdWUpOwogICAgICAgICBDYWxsVHJhY2VyOjp0ZXN0Q2FsbFRy
YWNlckludGVyZmFjZShpbXBsLCBBU0NJSUxpdGVyYWwoInRlc3RBdHRyaWJ1dGVXaXRoVmFyaWFu
dCIpLCBXVEZNb3ZlKGNhbGxUcmFjZXJQYXJhbWV0ZXJzKSk7CiAgICAgfQotICAgIEF0dHJpYnV0
ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFRlc3RBdHRyaWJ1dGVXaXRoVmFyaWFudChXVEZNb3Zl
KG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRy
aWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVy
biBpbXBsLnNldFRlc3RBdHRyaWJ1dGVXaXRoVmFyaWFudChXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7
CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Zy5jcHAKaW5kZXggMzJjNTVjNTZkODRkZmRiNDRkMDNmNDE2MWE5NTU1OWFjOTRkNzUyOS4uMWY3
ZDQ2MjBjODM0ZWVmZmFlNmM4Njk3M2Y4NjdhMzAzNTMwYWE1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
bmFibGVkQnlTZXR0aW5nLmNwcApAQCAtMjU5LDcgKzI1OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nRW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZVNldHRl
cihFeGVjCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8g
bmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0
ZXI8ZGVjbHR5cGUoaW1wbC5zZXRFbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlKFdURk1vdmUobmF0
aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0
ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGlt
cGwuc2V0RW5hYmxlZEJ5U2V0dGluZ0F0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAg
ICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCmluZGV4
IGE4MDc3OWIwZTAyM2VlYTk3NDA2ZDVlY2JlODM1ZjUxYTc5NjkwZDguLjRmNWY4MjQ0ZDI5ZDU0
Yzc4MDJiN2VjMGZjZTQ2M2E2ZDAyY2VjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3Bw
CkBAIC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9i
amVjdFJlZ3VsYXJBdHRyaWJ1dGVTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwKICAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZl
cnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNl
dFJlZ3VsYXJBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRo
cm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Nj
b3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRSZWd1bGFyQXR0cmlidXRlKFdURk1v
dmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI5Myw3ICsy
OTMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0UHVibGljQW5k
UHJpdmF0ZUF0dHJpYnV0ZVNldHRlcihFeGVjU3RhdAogICAgIGF1dG8mIGltcGwgPSB0aGlzT2Jq
ZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExET01TdHJp
bmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0UHVibGljQW5kUHJp
dmF0ZUF0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dT
Y29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUs
IFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFB1YmxpY0FuZFByaXZhdGVBdHRyaWJ1dGUo
V1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzI4
LDcgKzMyOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RQdWJs
aWNBbmRQcml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGVTZXR0CiAgICAgYXV0byYgaW1wbCA9IHRo
aXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERP
TVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRQdWJsaWNB
bmRQcml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNh
bGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0
YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRQdWJsaWNBbmRQ
cml2YXRlQ29uZGl0aW9uYWxBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0p
OwogICAgIHJldHVybiB0cnVlOwpAQCAtMzY1LDcgKzM2NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU2V0dGVyKEV4
ZWNTdGF0CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8g
bmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0
ZXI8ZGVjbHR5cGUoaW1wbC5zZXRFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlKFdURk1vdmUobmF0
aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0
ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGlt
cGwuc2V0RW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAg
ICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGE5NDdh
Mjc4N2FhZDQxOTgyOGU2YzMwYWJmMjExZmE2OTk4ZjM5YjcuLmRlMTQzNjcxY2IwNDcyZDlkYzE4
OTE4NTJiZDU0MmRhZDg2MTdmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC00OTQsNyAr
NDk0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
SW1wbGVtZW50c1N0YXRpY0F0dHJTZXR0ZXIoRXhlY1MKICAgICBVTlVTRURfUEFSQU0odGhyb3dT
Y29wZSk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0
ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwot
ICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShUZXN0SW50ZXJmYWNlOjpzZXRJbXBsZW1lbnRz
U3RhdGljQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CiAgICAgICAgIHJldHVybiBUZXN0SW50ZXJmYWNlOjpzZXRJbXBsZW1lbnRzU3RhdGljQXR0
cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC01
NDgsNyArNTQ4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxl
bWVudHNTdHIyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGUKICAgICBhdXRvJiBpbXBsID0g
dGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURM
RE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEltcGxl
bWVudHNTdHIyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3Bl
LCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0SW1wbGVtZW50c1N0cjIoV1RGTW92ZShuYXRpdmVW
YWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNjE1LDcgKzYxNSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzTm9kZVNldHRlcihF
eGVjU3RhdGUmIHN0YXRlLCBKU1RlCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBl
ZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxOb2RlPj4o
c3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYg
c2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAiVGVzdEludGVy
ZmFjZSIsICJpbXBsZW1lbnRzTm9kZSIsICJOb2RlIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShp
bXBsLnNldEltcGxlbWVudHNOb2RlKCpuYXRpdmVWYWx1ZSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dT
Y29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUs
IFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEltcGxlbWVudHNOb2RlKCpuYXRpdmVWYWx1
ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC02NjYsNyArNjY2LDcgQEAgc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yU3VwcGxlbWVudGFsU3Rh
dGljQXR0clNldHRlcihFeGUKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0
byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNl
dHRlcjxkZWNsdHlwZShXZWJDb3JlOjpUZXN0U3VwcGxlbWVudGFsOjpzZXRTdXBwbGVtZW50YWxT
dGF0aWNBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3Bl
LCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlRlc3RTdXBwbGVtZW50YWw6OnNldFN1cHBsZW1l
bnRhbFN0YXRpY0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVy
biB0cnVlOwpAQCAtNzIwLDcgKzcyMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJ
bnRlcmZhY2VTdXBwbGVtZW50YWxTdHIyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTCiAgICAg
YXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUg
PSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUo
V2ViQ29yZTo6VGVzdFN1cHBsZW1lbnRhbDo6c2V0U3VwcGxlbWVudGFsU3RyMihpbXBsLCBXVEZN
b3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBB
dHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpUZXN0U3VwcGxlbWVudGFsOjpzZXRTdXBwbGVtZW50YWxTdHIyKGltcGws
IFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc4
Nyw3ICs3ODcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlU3VwcGxl
bWVudGFsTm9kZVNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKUwogICAgIGF1dG8mIGltcGwgPSB0
aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJ
bnRlcmZhY2U8Tm9kZT4+KHN0YXRlLCB2YWx1ZSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBK
U0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBz
Y29wZSwgIlRlc3RJbnRlcmZhY2UiLCAic3VwcGxlbWVudGFsTm9kZSIsICJOb2RlIik7IH0pOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0
ZVNldHRlcjxkZWNsdHlwZShXZWJDb3JlOjpUZXN0U3VwcGxlbWVudGFsOjpzZXRTdXBwbGVtZW50
YWxOb2RlKGltcGwsICpuYXRpdmVWYWx1ZSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpUZXN0U3VwcGxlbWVudGFsOjpzZXRTdXBwbGVtZW50YWxO
b2RlKGltcGwsICpuYXRpdmVWYWx1ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC04
MjQsNyArODI0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZVJlZmxl
Y3RBdHRyaWJ1dGVTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlMKICAgICBhdXRvJiBpbXBsID0g
dGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURM
RE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0YXR0
cmlidXRlQXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBb
Jl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGF0dHJpYnV0ZUF0dHIsIFdURk1vdmUobmF0
aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAppbmRleCBl
MGY2YmVmOGRhZjZiYjgwYmQ0M2I5ODkwMThhZjI1YTFhZTk4MmU3Li44N2I1MzkwZjk5YzMwYTY4
ODYwZmM3OWRjNDdhNDA1N2RiNDc2ZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCkBAIC0yNjYsNyArMjY2LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE5vZGVOYW1lU2V0dGVyKEV4ZWNTdGF0ZSYg
c3RhdGUsIEpTVGVzdE5vZGUmIHRoaXNPYmoKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihz
dGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2Up
OwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldE5hbWUoV1RGTW92ZShuYXRp
dmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRl
U2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1w
bC5zZXROYW1lKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggOTJlYjU0ZWRiMGMwZjc4NTFlMzU4Mzk3ZTExZWU1ODIwYmY3MWIw
Mi4uYmVjMDhiNjNmZTlmNDdlODc3M2ZhNDg2NDAzNjI4OWZmZTU5OTBkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
QEAgLTEzMDcsMTIgKzEzMDcsOCBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialR5cGVk
QXJyYXlBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZQogYm9vbCBzZXRK
U1Rlc3RPYmpUeXBlZEFycmF5QXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFs
dWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpB
dHRyaWJ1dGVXaXRoR2V0dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RPYmpBdHRyaWJ1dGVX
aXRoR2V0dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwg
SlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9iakF0dHJp
YnV0ZVdpdGhTZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdE9iakF0dHJpYnV0ZVdpdGhT
ZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqU3RyaW5nQXR0
cldpdGhHZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpTVGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0
dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSk7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialN0cmluZ0F0dHJX
aXRoU2V0dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwg
SlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5j
b2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpDdXN0b21BdHRyKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwog
Ym9vbCBzZXRKU1Rlc3RPYmpDdXN0b21BdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVz
dE9iak9uZm9vKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9w
ZXJ0eU5hbWUpOwpAQCAtMTYzOSw5ICsxNjM1LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogI2VuZGlmCiAgICAgeyAidHlw
ZWRBcnJheUF0dHIiLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJpYnV0ZSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpUeXBlZEFycmF5QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialR5cGVkQXJyYXlBdHRyKSB9IH0sCiAgICAg
eyAiYXR0cmlidXRlV2l0aEdldHRlckV4Y2VwdGlvbiIsIEN1c3RvbUFjY2Vzc29yIHwgRE9NQXR0
cmlidXRlLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakF0dHJpYnV0ZVdpdGhHZXR0ZXJFeGNlcHRpb24pLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpBdHRyaWJ1dGVXaXRoR2V0dGVyRXhjZXB0aW9uKSB9IH0sCi0gICAgeyAiYXR0cmli
dXRlV2l0aFNldHRlckV4Y2VwdGlvbiIsIEN1c3RvbUFjY2Vzc29yIHwgRE9NQXR0cmlidXRlLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdE9iakF0dHJpYnV0ZVdpdGhTZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpB
dHRyaWJ1dGVXaXRoU2V0dGVyRXhjZXB0aW9uKSB9IH0sCiAgICAgeyAic3RyaW5nQXR0cldpdGhH
ZXR0ZXJFeGNlcHRpb24iLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJpYnV0ZSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialN0cmluZ0F0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uKSB9IH0sCi0gICAgeyAic3RyaW5nQXR0cldpdGhTZXR0ZXJF
eGNlcHRpb24iLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJpYnV0ZSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialN0cmluZ0F0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uKSB9IH0sCiAgICAgeyAiY3VzdG9tQXR0ciIsIEN1c3RvbUFjY2Vzc29y
IHwgRE9NQXR0cmlidXRlLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakN1c3RvbUF0dHIpLCAoaW50cHRyX3Qp
IHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpD
dXN0b21BdHRyKSB9IH0sCiAjaWYgRU5BQkxFKENvbmRpdGlvbjQpCiAgICAgeyAianNCdWlsdGlu
QXR0cmlidXRlIiwgQWNjZXNzb3IgfCBCdWlsdGluLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8QnVpbHRpbkdlbmVyYXRvcj4odGVzdE9iakpzQnVpbHRpbkF0dHJpYnV0ZUNv
ZGVHZW5lcmF0b3IpLCAoaW50cHRyX3QpIChzZXRUZXN0T2JqSnNCdWlsdGluQXR0cmlidXRlQ29k
ZUdlbmVyYXRvcikgfSB9LApAQCAtMjIzNiw3ICsyMjMwLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9iakNvbnN0cnVjdG9yU3RhdGljU3RyaW5nQXR0clNldHRlcihFeGVjU3RhdGUm
IHN0YXQKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byBuYXRpdmVWYWx1
ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlw
ZShUZXN0T2JqOjpzZXRTdGF0aWNTdHJpbmdBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+Ojpj
YWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChz
dGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIFRlc3RPYmo6OnNldFN0YXRp
Y1N0cmluZ0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0
cnVlOwpAQCAtMjI4Miw3ICsyMjc2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
akVudW1BdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhpc08KICAgICBp
ZiAoVU5MSUtFTFkoIW9wdGlvbmFsTmF0aXZlVmFsdWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IG9wdGlvbmFsTmF0aXZlVmFsdWUudmFsdWUoKTsKLSAg
ICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRFbnVtQXR0cihXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVT
ZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBs
LnNldEVudW1BdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTIzMTMsNyArMjMwNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpCeXRlQXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYmomIHRoaXNPCiAgICAg
YXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUg
PSBjb252ZXJ0PElETEJ5dGU+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0Qnl0ZUF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBb
Jl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRCeXRlQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVl
KSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0yMzQ0LDcgKzIzMzgsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqT2N0ZXRBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVGVzdE9iaiYgdGhpcwogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQo
KTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExPY3RldD4oc3RhdGUsIHZhbHVl
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRy
aWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRPY3RldEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1
ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVy
OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRP
Y3RldEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVl
OwpAQCAtMjM3NSw3ICsyMzY5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialNo
b3J0QXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYmomIHRoaXMKICAgICBhdXRv
JiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNv
bnZlcnQ8SURMU2hvcnQ+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0
U2hvcnRBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3Bl
LCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0U2hvcnRBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUp
KTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI0MDYsNyArMjQwMCw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpDbGFtcGVkU2hvcnRBdHRyU2V0dGVyKEV4ZWNTdGF0
ZSYgc3RhdGUsIEpTVGVzdE9iCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgp
OwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETENsYW1wQWRhcHRvcjxJRExTaG9y
dD4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0Q2xhbXBlZFNob3J0
QXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAg
ICAgICAgIHJldHVybiBpbXBsLnNldENsYW1wZWRTaG9ydEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1
ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMjQzNyw3ICsyNDMxLDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9iakVuZm9yY2VSYW5nZVNob3J0QXR0clNldHRlcihF
eGVjU3RhdGUmIHN0YXRlLCBKU1QKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVk
KCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRW5mb3JjZVJhbmdlQWRhcHRv
cjxJRExTaG9ydD4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0RW5m
b3JjZVJhbmdlU2hvcnRBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dT
Y29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0RW5mb3JjZVJhbmdlU2hvcnRBdHRy
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI0
NjgsNyArMjQ2Miw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpVbnNpZ25lZFNo
b3J0QXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPCiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TFVuc2lnbmVkU2hvcnQ+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0
VW5zaWduZWRTaG9ydEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRo
cm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Nj
b3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRVbnNpZ25lZFNob3J0QXR0cihXVEZN
b3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0yNDk5LDcg
KzI0OTMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqTG9uZ0F0dHJTZXR0ZXIo
RXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0T2JqJiB0aGlzTwogICAgIGF1dG8mIGltcGwgPSB0aGlz
T2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExMb25n
PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFs
c2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldExvbmdBdHRyKFdURk1v
dmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0
dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0
dXJuIGltcGwuc2V0TG9uZ0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAg
IHJldHVybiB0cnVlOwpAQCAtMjUzMCw3ICsyNTI0LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdE9iakxvbmdMb25nQXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYmom
IHQKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IGNvbnZlcnQ8SURMTG9uZ0xvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRl
Y2x0eXBlKGltcGwuc2V0TG9uZ0xvbmdBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxs
KHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0TG9uZ0xvbmdBdHRy
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI1
NjEsNyArMjU1NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpVbnNpZ25lZExv
bmdMb25nQXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1RlCiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TFVuc2lnbmVkTG9uZ0xvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0VW5zaWduZWRMb25nTG9uZ0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRVbnNpZ25lZExvbmdMb25n
QXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBA
IC0yNTkyLDcgKzI1ODYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqU3RyaW5n
QXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYmomIHRoaQogICAgIGF1dG8mIGlt
cGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVy
dDxJRExET01TdHJpbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0
U3RyaW5nQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFN0cmluZ0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1
ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMjYyMyw3ICsyNjE3LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialVzdnN0cmluZ0F0dHJTZXR0ZXIoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNUZXN0T2JqJgogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQo
KTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExVU1ZTdHJpbmc+KHN0YXRlLCB2
YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAg
QXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0VXN2c3RyaW5nQXR0cihXVEZNb3ZlKG5h
dGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1
dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBp
bXBsLnNldFVzdnN0cmluZ0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAg
IHJldHVybiB0cnVlOwpAQCAtMjY1NCw3ICsyNjQ4LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdE9ialRlc3RPYmpBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYg
dGgKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PihzdGF0ZSwgdmFsdWUsIFtd
KEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0F0
dHJpYnV0ZVR5cGVFcnJvcihzdGF0ZSwgc2NvcGUsICJUZXN0T2JqZWN0IiwgInRlc3RPYmpBdHRy
IiwgIlRlc3RPYmoiKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0VGVzdE9iakF0dHIo
Km5hdGl2ZVZhbHVlKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJp
YnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJu
IGltcGwuc2V0VGVzdE9iakF0dHIoKm5hdGl2ZVZhbHVlKTsKICAgICB9KTsKICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTI2ODUsNyArMjY3OSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpUZXN0TnVsbGFibGVPYmpBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzCiAgICAg
YXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUg
PSBjb252ZXJ0PElETE51bGxhYmxlPElETEludGVyZmFjZTxUZXN0T2JqPj4+KHN0YXRlLCB2YWx1
ZSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRo
cm93QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RPYmplY3QiLCAidGVzdE51
bGxhYmxlT2JqQXR0ciIsICJUZXN0T2JqIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNl
dFRlc3ROdWxsYWJsZU9iakF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRUZXN0TnVsbGFibGVPYmpBdHRy
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI3
MTYsNyArMjcxMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpMZW5pZW50VGVz
dE9iakF0dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0CiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TEludGVyZmFjZTxUZXN0T2JqPj4oc3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3Ioc3Rh
dGUsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJsZW5pZW50VGVzdE9iakF0dHIiLCAiVGVzdE9iaiIp
OyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBB
dHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRMZW5pZW50VGVzdE9iakF0dHIoKm5hdGl2
ZVZhbHVlKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNl
dHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwu
c2V0TGVuaWVudFRlc3RPYmpBdHRyKCpuYXRpdmVWYWx1ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJu
IHRydWU7CkBAIC0yNzYxLDcgKzI3NTUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
T2JqU3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmdTZXR0ZXIoRXhlY1N0YQogICAg
IGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVl
ID0gY29udmVydDxJRExUcmVhdE51bGxBc0VtcHR5QWRhcHRvcjxJRExET01TdHJpbmc+PihzdGF0
ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwot
ICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFN0cmluZ0F0dHJUcmVhdGluZ051
bGxBc0VtcHR5U3RyaW5nKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0U3RyaW5nQXR0clRyZWF0aW5nTnVsbEFz
RW1wdHlTdHJpbmcoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0
cnVlOwpAQCAtMjc5Miw3ICsyNzg2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
alVzdnN0cmluZ0F0dHJUcmVhdGluZ051bGxBc0VtcHR5U3RyaW5nU2V0dGVyKEV4ZWMKICAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMVHJlYXROdWxsQXNFbXB0eUFkYXB0b3I8SURMVVNWU3RyaW5nPj4oc3RhdGUs
IHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAg
ICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRVc3ZzdHJpbmdBdHRyVHJlYXRpbmdO
dWxsQXNFbXB0eVN0cmluZyhXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFVzdnN0cmluZ0F0dHJUcmVhdGluZ051
bGxBc0VtcHR5U3RyaW5nKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTI4MjMsNyArMjgxNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RPYmpCeXRlU3RyaW5nQXR0clRyZWF0aW5nTnVsbEFzRW1wdHlTdHJpbmdTZXR0ZXIoRXhlCiAg
ICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFs
dWUgPSBjb252ZXJ0PElETFRyZWF0TnVsbEFzRW1wdHlBZGFwdG9yPElETEJ5dGVTdHJpbmc+Pihz
dGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2Up
OwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEJ5dGVTdHJpbmdBdHRyVHJl
YXRpbmdOdWxsQXNFbXB0eVN0cmluZyhXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRo
cm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEJ5dGVTdHJpbmdBdHRyVHJl
YXRpbmdOdWxsQXNFbXB0eVN0cmluZyhXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAg
ICAgcmV0dXJuIHRydWU7CkBAIC0yODU0LDcgKzI4NDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0T2JqU3RyaW5nTG9uZ1JlY29yZEF0dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwg
SlNUZQogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5h
dGl2ZVZhbHVlID0gY29udmVydDxJRExSZWNvcmQ8SURMRE9NU3RyaW5nLCBJRExMb25nPj4oc3Rh
dGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsK
LSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRTdHJpbmdMb25nUmVjb3JkQXR0
cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsK
KyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAg
ICAgIHJldHVybiBpbXBsLnNldFN0cmluZ0xvbmdSZWNvcmRBdHRyKFdURk1vdmUobmF0aXZlVmFs
dWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI4ODUsNyArMjg3OSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpVc3ZzdHJpbmdMb25nUmVjb3JkQXR0clNldHRl
cihFeGVjU3RhdGUmIHN0YXRlLCBKCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBl
ZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETFJlY29yZDxJRExVU1ZTdHJp
bmcsIElETExvbmc+PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFVz
dnN0cmluZ0xvbmdSZWNvcmRBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0VXN2c3RyaW5nTG9uZ1JlY29y
ZEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpA
QCAtMjkxNiw3ICsyOTEwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialVzdnN0
cmluZ0xvbmdSZWNvcmRBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEoKICAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZl
cnQ8SURMUmVjb3JkPElETEJ5dGVTdHJpbmcsIElETExvbmc+PihzdGF0ZSwgdmFsdWUpOwogICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNl
dHRlcjxkZWNsdHlwZShpbXBsLnNldFVzdnN0cmluZ0xvbmdSZWNvcmRBdHRyKFdURk1vdmUobmF0
aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0
ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGlt
cGwuc2V0VXN2c3RyaW5nTG9uZ1JlY29yZEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAg
IH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMjk0Nyw3ICsyOTQxLDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdE9ialN0cmluZ09ialJlY29yZEF0dHJTZXR0ZXIoRXhlY1N0YXRlJiBz
dGF0ZSwgSlNUZXMKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAg
YXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMUmVjb3JkPElETERPTVN0cmluZywgSURMSW50
ZXJmYWNlPFRlc3RPYmo+Pj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5z
ZXRTdHJpbmdPYmpSZWNvcmRBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0U3RyaW5nT2JqUmVjb3JkQXR0
cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0y
OTc4LDcgKzI5NzIsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqU3RyaW5nTnVs
bGFibGVPYmpSZWNvcmRBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdAogICAgIGF1dG8mIGltcGwg
PSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJ
RExSZWNvcmQ8SURMRE9NU3RyaW5nLCBJRExOdWxsYWJsZTxJRExJbnRlcmZhY2U8VGVzdE9iaj4+
Pj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRTdHJpbmdOdWxsYWJs
ZU9ialJlY29yZEF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93
U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3Bl
LCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRTdHJpbmdOdWxsYWJsZU9ialJlY29yZEF0
dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAt
MzAwOSw3ICszMDAzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iakRpY3Rpb25h
cnlBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYKICAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8
SURMRGljdGlvbmFyeTxUZXN0T2JqOjpEaWN0aW9uYXJ5Pj4oc3RhdGUsIHZhbHVlKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0
ZXI8ZGVjbHR5cGUoaW1wbC5zZXREaWN0aW9uYXJ5QXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkp
Pjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNh
bGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldERpY3Rp
b25hcnlBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTMwNDAsNyArMzAzNCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpO
dWxsYWJsZURpY3Rpb25hcnlBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTCiAgICAgYXV0
byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBj
b252ZXJ0PElETE51bGxhYmxlPElETERpY3Rpb25hcnk8VGVzdE9iajo6RGljdGlvbmFyeT4+Pihz
dGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2Up
OwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldE51bGxhYmxlRGljdGlvbmFy
eUF0dHIoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewog
ICAgICAgICByZXR1cm4gaW1wbC5zZXROdWxsYWJsZURpY3Rpb25hcnlBdHRyKFdURk1vdmUobmF0
aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMwNzEsNyArMzA2NSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpBbm5vdGF0ZWRUeXBlSW5VbmlvbkF0
dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMVW5pb248SURMRE9N
U3RyaW5nLCBJRExDbGFtcEFkYXB0b3I8SURMTG9uZz4+PihzdGF0ZSwgdmFsdWUpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRl
cjxkZWNsdHlwZShpbXBsLnNldEFubm90YXRlZFR5cGVJblVuaW9uQXR0cihXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVT
ZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBs
LnNldEFubm90YXRlZFR5cGVJblVuaW9uQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAg
fSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMTAyLDcgKzMwOTYsNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0T2JqQW5ub3RhdGVkVHlwZUluU2VxdWVuY2VBdHRyU2V0dGVyKEV4ZWNT
dGF0ZSYgc3RhdAogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBh
dXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExTZXF1ZW5jZTxJRExDbGFtcEFkYXB0b3I8SURM
TG9uZz4+PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEFubm90YXRl
ZFR5cGVJblNlcXVlbmNlQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwg
dGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93
U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEFubm90YXRlZFR5cGVJblNlcXVl
bmNlQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7
CkBAIC0zMTM2LDcgKzMxMzAsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqSW1w
bGVtZW50YXRpb25FbnVtQXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKUwogICAgIGlmIChV
TkxJS0VMWSghb3B0aW9uYWxOYXRpdmVWYWx1ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBhdXRvIG5hdGl2ZVZhbHVlID0gb3B0aW9uYWxOYXRpdmVWYWx1ZS52YWx1ZSgpOwotICAgIEF0
dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEltcGxlbWVudGF0aW9uRW51bUF0dHIoV1RG
TW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAg
QXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICBy
ZXR1cm4gaW1wbC5zZXRJbXBsZW1lbnRhdGlvbkVudW1BdHRyKFdURk1vdmUobmF0aXZlVmFsdWUp
KTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMxNjcsNyArMzE2MSw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpYTUxPYmpBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVGVzdE9iaiYgdGhpCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgp
OwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxUZXN0T2JqPj4o
c3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYg
c2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAiVGVzdE9iamVj
dCIsICJYTUxPYmpBdHRyIiwgIlRlc3RPYmoiKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0WE1MT2JqQXR0cigqbmF0aXZlVmFsdWUpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewog
ICAgICAgICByZXR1cm4gaW1wbC5zZXRYTUxPYmpBdHRyKCpuYXRpdmVWYWx1ZSk7CiAgICAgfSk7
CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMTk4LDcgKzMxOTIsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0T2JqQ3JlYXRlU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYg
dGhpc09iagogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExCb29sZWFuPihzdGF0ZSwgdmFsdWUpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRl
cjxkZWNsdHlwZShpbXBsLnNldENyZWF0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChz
dGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldENyZWF0ZShXVEZNb3Zl
KG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMjI5LDcgKzMy
MjMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0
clNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1RlcwogICAgIGF1dG8mIGltcGwgPSB0aGlzT2Jq
ZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExET01TdHJp
bmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0QXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHN0cmluZ2F0
dHJBdHRyLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwg
WyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7
CiAgICAgICAgIHJldHVybiBpbXBsLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
V2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRzdHJpbmdhdHRyQXR0ciwgV1RGTW92ZShuYXRp
dmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzI2MCw3ICszMjU0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialJlZmxlY3RlZFVTVlN0cmluZ0F0dHJT
ZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlMKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMVVNWU3RyaW5nPihz
dGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2Up
OwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEF0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWR1c3ZzdHJpbmdhdHRy
QXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewog
ICAgICAgICByZXR1cm4gaW1wbC5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdl
YkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXN2c3RyaW5nYXR0ckF0dHIsIFdURk1vdmUobmF0
aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMyOTEsNyArMzI4NSw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRJbnRlZ3JhbEF0dHJT
ZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETExvbmc+KHN0YXRl
LCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0g
ICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0SW50ZWdyYWxBdHRyaWJ1dGUoV2Vi
Q29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRpbnRlZ3JhbGF0dHJBdHRyLCBXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVT
ZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBs
LnNldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkaW50ZWdy
YWxhdHRyQXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0
cnVlOwpAQCAtMzMyMiw3ICszMzE2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9i
alJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3QKICAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMVW5zaWduZWRMb25nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlw
ZShpbXBsLnNldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpy
ZWZsZWN0ZWR1bnNpZ25lZGludGVncmFsYXR0ckF0dHIsIFdURk1vdmUobmF0aXZlVmFsdWUpKSk+
OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2Fs
bChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0VW5zaWdu
ZWRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHVuc2lnbmVk
aW50ZWdyYWxhdHRyQXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJl
dHVybiB0cnVlOwpAQCAtMzM1Myw3ICszMzQ3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpT
VGVzdE9ialJlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGUK
ICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVW
YWx1ZSA9IGNvbnZlcnQ8SURMQm9vbGVhbj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5
cGUoaW1wbC5zZXRCb29sZWFuQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVk
Ym9vbGVhbmF0dHJBdHRyLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEJvb2xlYW5BdHRyaWJ1dGUoV2ViQ29y
ZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRib29sZWFuYXR0ckF0dHIsIFdURk1vdmUobmF0aXZlVmFs
dWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMzODQsNyArMzM3OCw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRVUkxBdHRyU2V0dGVyKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTVGVzdE9iCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBl
ZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUs
IHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAg
ICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0dHIsIFdURk1v
dmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0
dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0
dXJuIGltcGwuc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1M
TmFtZXM6OnJlZmxlY3RlZHVybGF0dHJBdHRyLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAg
fSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zNDE1LDcgKzM0MDksNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0T2JqUmVmbGVjdGVkVVNWVVJMQXR0clNldHRlcihFeGVjU3RhdGUmIHN0
YXRlLCBKU1RlcwogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBh
dXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExVU1ZTdHJpbmc+KHN0YXRlLCB2YWx1ZSk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRl
U2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihX
ZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHVzdnVybGF0dHJBdHRyLCBXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVT
ZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBs
LnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjpy
ZWZsZWN0ZWR1c3Z1cmxhdHRyQXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwog
ICAgIHJldHVybiB0cnVlOwpAQCAtMzQ0Niw3ICszNDQwLDcgQEAgc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ialJlZmxlY3RlZFN0cmluZ0F0dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwg
SlNUZXMKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBu
YXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRl
cjxkZWNsdHlwZShpbXBsLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29y
ZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50U3RyaW5nQXR0ckF0dHIsIFdURk1vdmUobmF0aXZl
VmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNl
dHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwu
c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1MTmFtZXM6OmN1
c3RvbUNvbnRlbnRTdHJpbmdBdHRyQXR0ciwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0p
OwogICAgIHJldHVybiB0cnVlOwpAQCAtMzQ3Nyw3ICszNDcxLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0clNldHRlcihFeGVjU3Rh
dGUmIHN0YXQKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0
byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8
ZGVjbHR5cGUoaW1wbC5zZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1
c3RvbUNvbnRlbnRJbnRlZ3JhbEF0dHJBdHRyLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2Fs
bChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEludGVncmFsQXR0
cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0dHIs
IFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM1
MDgsNyArMzUwMiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRD
dXN0b21Cb29sZWFuQXR0clNldHRlcihFeGVjU3RhdGUmIHN0YXRlCiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TEJvb2xlYW4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0Qm9vbGVh
bkF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRCb29sZWFuQXR0ckF0
dHIsIFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0g
eworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAg
ICAgICAgcmV0dXJuIGltcGwuc2V0Qm9vbGVhbkF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6
OmN1c3RvbUNvbnRlbnRCb29sZWFuQXR0ckF0dHIsIFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAg
ICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM1MzksNyArMzUzMyw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21VUkxBdHRyU2V0dGVyKEV4ZWNTdGF0
ZSYgc3RhdGUsIEpTCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAg
IGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1
dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyLCBXVEZNb3ZlKG5h
dGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1
dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBp
bXBsLnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVz
OjpjdXN0b21Db250ZW50VVJMQXR0ckF0dHIsIFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9
KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM1NzQsNyArMzU2OCw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlU2V0dGVyKEV4ZWNTdGF0
ZSYgc3RhdGUsCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1
dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVT
ZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlKFdURk1vdmUo
bmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJp
YnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJu
IGltcGwuc2V0RW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7
CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zNjA3LDcgKzM2MDEsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqVHlwZWRBcnJheUF0dHJTZXR0ZXIoRXhlY1N0YXRlJiBz
dGF0ZSwgSlNUZXN0T2JqJgogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsK
ICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExGbG9hdDMyQXJyYXk+KHN0YXRlLCB2
YWx1ZSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7
IHRocm93QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RPYmplY3QiLCAidHlw
ZWRBcnJheUF0dHIiLCAiRmxvYXQzMkFycmF5Iik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBs
LnNldFR5cGVkQXJyYXlBdHRyKG5hdGl2ZVZhbHVlLnJlbGVhc2VOb25OdWxsKCkpKT46OmNhbGwo
c3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRUeXBlZEFycmF5QXR0
cihuYXRpdmVWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTM2MzgsNyArMzYzMiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpB
dHRyaWJ1dGVXaXRoR2V0dGVyRXhjZXB0aW9uU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhCiAgICAgYXV0
byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBj
b252ZXJ0PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0
QXR0cmlidXRlV2l0aEdldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2Fs
bChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldEF0dHJpYnV0ZVdp
dGhHZXR0ZXJFeGNlcHRpb24oV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJl
dHVybiB0cnVlOwpAQCAtMzY0OSwzNyArMzY0Myw2IEBAIGJvb2wgc2V0SlNUZXN0T2JqQXR0cmli
dXRlV2l0aEdldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0
CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqQXR0
cmlidXRlV2l0aEdldHRlckV4Y2VwdGlvblNldHRlcj4oKnN0YXRlLCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgImF0dHJpYnV0ZVdpdGhHZXR0ZXJFeGNlcHRpb24iKTsKIH0KIAotc3RhdGljIGlu
bGluZSBKU1ZhbHVlIGpzVGVzdE9iakF0dHJpYnV0ZVdpdGhTZXR0ZXJFeGNlcHRpb25HZXR0ZXIo
RXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJv
d1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBVTlVTRURfUEFS
QU0oc3RhdGUpOwotICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKLSAgICBK
U1ZhbHVlIHJlc3VsdCA9IHRvSlM8SURMTG9uZz4oaW1wbC5hdHRyaWJ1dGVXaXRoU2V0dGVyRXhj
ZXB0aW9uKCkpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIGpzVGVz
dE9iakF0dHJpYnV0ZVdpdGhTZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2Rl
ZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqQXR0cmlidXRlV2l0aFNldHRlckV4Y2VwdGlv
bkdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2VydD4oKnN0YXRlLCB0aGlzVmFs
dWUsICJhdHRyaWJ1dGVXaXRoU2V0dGVyRXhjZXB0aW9uIik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpBdHRyaWJ1dGVXaXRoU2V0dGVyRXhjZXB0aW9uU2V0dGVyKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSwgVGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAg
YXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwotICAgIGF1dG8gbmF0aXZlVmFsdWUg
PSBjb252ZXJ0PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0QXR0cmlidXRlV2l0aFNldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6
Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIGltcGwuc2V0QXR0
cmlidXRlV2l0aFNldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7Ci0gICAgfSk7
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgc2V0SlNUZXN0T2JqQXR0cmlidXRlV2l0aFNl
dHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpBdHRyaWJ1dGVXaXRoU2V0dGVyRXhjZXB0aW9u
U2V0dGVyPigqc3RhdGUsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cmlidXRlV2l0aFNl
dHRlckV4Y2VwdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqU3Ry
aW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25HZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0
T2JqJiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKQEAgLTM3MDAsNyArMzY2Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvblNldHRlcihFeGVjU3Rh
dGUmIHN0CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8g
bmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0
ZXI8ZGVjbHR5cGUoaW1wbC5zZXRTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihXVEZNb3Zl
KG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRy
aWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVy
biBpbXBsLnNldFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKFdURk1vdmUobmF0aXZlVmFs
dWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM3MTEsMzcgKzM2NzQsNiBAQCBi
b29sIHNldEpTVGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSog
c3RhdGUsIEVuY29kZWRKU1ZhbHVlCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+
OjpzZXQ8c2V0SlNUZXN0T2JqU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25TZXR0ZXI+KCpz
dGF0ZSwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2Vw
dGlvbiIpOwogfQogCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqU3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb25HZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0T2JqJiB0aGlz
T2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTsKLSAgICBVTlVTRURfUEFSQU0oc3RhdGUpOwotICAgIGF1dG8mIGltcGwgPSB0aGlz
T2JqZWN0LndyYXBwZWQoKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlM8SURMRE9NU3RyaW5n
PihzdGF0ZSwgaW1wbC5zdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbigpKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46Omdl
dDxqc1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbkdldHRlciwgQ2FzdGVkVGhp
c0Vycm9yQmVoYXZpb3I6OkFzc2VydD4oKnN0YXRlLCB0aGlzVmFsdWUsICJzdHJpbmdBdHRyV2l0
aFNldHRlckV4Y2VwdGlvbiIpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2Jq
U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb25TZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNU
ZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3Bl
KQotewotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBhdXRvJiBpbXBsID0gdGhp
c09iamVjdC53cmFwcGVkKCk7Ci0gICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMRE9N
U3RyaW5nPihzdGF0ZSwgdmFsdWUpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFN0cmluZ0F0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0gewotICAgICAgICByZXR1cm4gaW1wbC5zZXRTdHJpbmdBdHRyV2l0
aFNldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7Ci0gICAgfSk7Ci0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLWJvb2wgc2V0SlNUZXN0T2JqU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNl
cHRpb24oRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RP
Ymo+OjpzZXQ8c2V0SlNUZXN0T2JqU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb25TZXR0ZXI+
KCpzdGF0ZSwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqQ3VzdG9tQXR0
ckdldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYmomIHRoaXNPYmplY3QsIFRocm93U2Nv
cGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwpAQCAtMzgz
NCw3ICszNzY2LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialdpdGhTY3JpcHRT
dGF0ZUF0dHJpYnV0ZVNldHRlcihFeGVjU3RhdGUmIHN0YXRlLAogICAgIGF1dG8mIGltcGwgPSB0
aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExM
b25nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
ZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFdpdGhTY3JpcHRT
dGF0ZUF0dHJpYnV0ZShzdGF0ZSwgV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRXaXRoU2NyaXB0U3RhdGVBdHRy
aWJ1dGUoc3RhdGUsIFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4g
dHJ1ZTsKQEAgLTM4NjUsNyArMzc5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RP
YmpXaXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxsV2l0aEF0dHJpYnV0ZVNldHRlcihFeGVjCiAgICAg
YXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUg
PSBjb252ZXJ0PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwu
c2V0V2l0aENhbGxXaXRoQW5kU2V0dGVyQ2FsbFdpdGhBdHRyaWJ1dGUoc3RhdGUsIGFjdGl2ZURP
TVdpbmRvdyhzdGF0ZSksIGZpcnN0RE9NV2luZG93KHN0YXRlKSwgV1RGTW92ZShuYXRpdmVWYWx1
ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVy
OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRX
aXRoQ2FsbFdpdGhBbmRTZXR0ZXJDYWxsV2l0aEF0dHJpYnV0ZShzdGF0ZSwgYWN0aXZlRE9NV2lu
ZG93KHN0YXRlKSwgZmlyc3RET01XaW5kb3coc3RhdGUpLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7
CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zOTAyLDcgKzM4MzQsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1
dGVTZXR0ZXIoRXhlY1N0YQogICAgIGF1dG8qIGNvbnRleHQgPSBqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihzdGF0ZS5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CiAgICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFdpdGhTY3JpcHRFeGVjdXRp
b25Db250ZXh0QXR0cmlidXRlKCpjb250ZXh0LCAqbmF0aXZlVmFsdWUpKT46OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRXaXRoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dEF0dHJpYnV0ZSgqY29udGV4dCwgKm5hdGl2ZVZhbHVlKTsKICAgICB9KTsKICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTM5MzMsNyArMzg2NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpXaXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNTZXR0ZXIoRXhlY1N0YXRlJiBz
CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZl
VmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxUZXN0T2JqPj4oc3RhdGUsIHZhbHVlLCBbXShK
U0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRy
aWJ1dGVUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJ3aXRoU2NyaXB0U3Rh
dGVBdHRyaWJ1dGVSYWlzZXMiLCAiVGVzdE9iaiIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1w
bC5zZXRXaXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUsICpuYXRpdmVWYWx1ZSkp
Pjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNh
bGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFdpdGhT
Y3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyhzdGF0ZSwgKm5hdGl2ZVZhbHVlKTsKICAgICB9KTsK
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM5NzAsNyArMzkwMiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlc1Nl
dHRlcihFCiAgICAgYXV0byogY29udGV4dCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHN0
YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAg
ICBpZiAoVU5MSUtFTFkoIWNvbnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQXR0
cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
dHRyaWJ1dGVSYWlzZXMoKmNvbnRleHQsICpuYXRpdmVWYWx1ZSkpPjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFdpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0QXR0cmlidXRlUmFpc2VzKCpjb250ZXh0LCAqbmF0aXZlVmFsdWUpOwogICAgIH0pOwogICAg
IHJldHVybiB0cnVlOwpAQCAtNDAwNyw3ICszOTM5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1
dGUKICAgICBhdXRvKiBjb250ZXh0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUu
bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlm
IChVTkxJS0VMWSghY29udGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBdHRyaWJ1
dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlQXR0cmlidXRlKHN0YXRlLCAqY29udGV4dCwgKm5hdGl2ZVZhbHVlKSk+OjpjYWxs
KHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0V2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZShzdGF0ZSwgKmNvbnRleHQsICpu
YXRpdmVWYWx1ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC00MDQ0LDcgKzM5NzYs
NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZQogICAgIGF1dG8qIGNvbnRleHQgPSBqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihzdGF0ZS5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFdpdGhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoc3RhdGUs
ICpjb250ZXh0LCAqbmF0aXZlVmFsdWUpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7
CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAg
ICAgICByZXR1cm4gaW1wbC5zZXRXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0
YXRlQXR0cmlidXRlUmFpc2VzKHN0YXRlLCAqY29udGV4dCwgKm5hdGl2ZVZhbHVlKTsKICAgICB9
KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQwODEsNyArNDAxMyw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRl
V2l0aFNwYWNlCiAgICAgYXV0byogY29udGV4dCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
ICAgICBpZiAoVU5MSUtFTFkoIWNvbnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
QXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUoc3RhdGUsICpjb250ZXh0LCAqbmF0
aXZlVmFsdWUpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRl
U2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1w
bC5zZXRXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlV2l0aFNwYWNlc0F0
dHJpYnV0ZShzdGF0ZSwgKmNvbnRleHQsICpuYXRpdmVWYWx1ZSk7CiAgICAgfSk7CiAgICAgcmV0
dXJuIHRydWU7CkBAIC00MTE2LDcgKzQwNDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0T2JqQ29uZGl0aW9uYWxBdHRyMVNldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RPYgog
ICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZh
bHVlID0gY29udmVydDxJRExMb25nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShp
bXBsLnNldENvbmRpdGlvbmFsQXR0cjEoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRDb25kaXRpb25hbEF0dHIx
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQx
NTMsNyArNDA4NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpDb25kaXRpb25h
bEF0dHIyU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iCiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0Q29uZGl0aW9u
YWxBdHRyMihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwg
WyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7
CiAgICAgICAgIHJldHVybiBpbXBsLnNldENvbmRpdGlvbmFsQXR0cjIoV1RGTW92ZShuYXRpdmVW
YWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDE5MCw3ICs0MTIyLDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iakNvbmRpdGlvbmFsQXR0cjNTZXR0ZXIoRXhl
Y1N0YXRlJiBzdGF0ZSwgSlNUZXN0T2IKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFw
cGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZh
bHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBB
dHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRDb25kaXRpb25hbEF0dHIzKFdURk1vdmUo
bmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJp
YnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJu
IGltcGwuc2V0Q29uZGl0aW9uYWxBdHRyMyhXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7
CiAgICAgcmV0dXJuIHRydWU7CkBAIC00MzQ3LDcgKzQyNzksNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0T2JqQW55QXR0cmlidXRlU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVz
dE9iaiYgdAogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExBbnk+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRl
Y2x0eXBlKGltcGwuc2V0QW55QXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxs
KHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0QW55QXR0cmlidXRl
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQz
NzgsNyArNDMxMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpPYmplY3RBdHRy
aWJ1dGVTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0T2JqCiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TE9iamVjdD4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRPYmplY3RB
dHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUs
IFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0g
ewogICAgICAgICByZXR1cm4gaW1wbC5zZXRPYmplY3RBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVW
YWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDQyMyw3ICs0MzU1LDcgQEAg
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iak11dGFibGVQb2ludFNldHRlcihFeGVjU3Rh
dGUmIHN0YXRlLCBKU1Rlc3RPYmomIHQKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFw
cGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFNWR1Bv
aW50Pj4oc3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dT
Y29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAiVGVz
dE9iamVjdCIsICJtdXRhYmxlUG9pbnQiLCAiU1ZHUG9pbnQiKTsgfSk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0
eXBlKGltcGwuc2V0TXV0YWJsZVBvaW50KCpuYXRpdmVWYWx1ZSkpPjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldE11dGFibGVQb2ludCgqbmF0aXZlVmFs
dWUpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDQ1NCw3ICs0Mzg2LDcgQEAgc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ialN0cmF3YmVycnlTZXR0ZXIoRXhlY1N0YXRlJiBz
dGF0ZSwgSlNUZXN0T2JqJiB0aGkKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVk
KCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVl
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRy
aWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRCbHVlYmVycnkoV1RGTW92ZShuYXRpdmVWYWx1
ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVy
OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRC
bHVlYmVycnkoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVl
OwpAQCAtNDQ5OSw3ICs0NDMxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iaklk
U2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhpc09iamVjdCwKICAgICBhdXRv
JiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNv
bnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRJ
ZChXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsK
KyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAg
ICAgIHJldHVybiBpbXBsLnNldElkKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTQ2MjYsNyArNDU1OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RPYmpOdWxsYWJsZUxvbmdTZXR0YWJsZUF0dHJpYnV0ZVNldHRlcihFeGVjU3RhdGUm
IHN0CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0
aXZlVmFsdWUgPSBjb252ZXJ0PElETE51bGxhYmxlPElETExvbmc+PihzdGF0ZSwgdmFsdWUpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0
ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldE51bGxhYmxlTG9uZ1NldHRhYmxlQXR0cmlidXRlKFdU
Rk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAg
IEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAg
cmV0dXJuIGltcGwuc2V0TnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1dGUoV1RGTW92ZShuYXRp
dmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDY1Nyw3ICs0NTg5LDcg
QEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iak51bGxhYmxlU3RyaW5nU2V0dGFibGVB
dHRyaWJ1dGVTZXR0ZXIoRXhlY1N0YXRlJgogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0Lndy
YXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExOdWxsYWJsZTxJRExE
T01TdHJpbmc+PihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldE51bGxh
YmxlU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwo
c3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXROdWxsYWJsZVN0cmlu
Z1NldHRhYmxlQXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTQ2ODgsNyArNDYyMCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpOdWxsYWJsZVVTVlN0cmluZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyKEV4ZWNTdGF0
CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZl
VmFsdWUgPSBjb252ZXJ0PElETE51bGxhYmxlPElETFVTVlN0cmluZz4+KHN0YXRlLCB2YWx1ZSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmli
dXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0TnVsbGFibGVVU1ZTdHJpbmdTZXR0YWJsZUF0dHJp
YnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAg
ICAgICAgIHJldHVybiBpbXBsLnNldE51bGxhYmxlVVNWU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUo
V1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDcx
OSw3ICs0NjUxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iak51bGxhYmxlQnl0
ZVN0cmluZ1NldHRhYmxlQXR0cmlidXRlU2V0dGVyKEV4ZWNTdGEKICAgICBhdXRvJiBpbXBsID0g
dGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURM
TnVsbGFibGU8SURMQnl0ZVN0cmluZz4+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBl
KGltcGwuc2V0TnVsbGFibGVCeXRlU3RyaW5nU2V0dGFibGVBdHRyaWJ1dGUoV1RGTW92ZShuYXRp
dmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRl
U2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1w
bC5zZXROdWxsYWJsZUJ5dGVTdHJpbmdTZXR0YWJsZUF0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZh
bHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC00NzUwLDcgKzQ2ODIsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqTnVsbGFibGVTdHJpbmdWYWx1ZVNldHRlcihF
eGVjU3RhdGUmIHN0YXRlLCBKU1RlcwogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBw
ZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExOdWxsYWJsZTxJRExMb25n
Pj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXROdWxsYWJsZVN0cmlu
Z1ZhbHVlKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBb
Jl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsK
ICAgICAgICAgcmV0dXJuIGltcGwuc2V0TnVsbGFibGVTdHJpbmdWYWx1ZShXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC00Nzk4LDcgKzQ3MzAsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqQXR0cmlidXRlV2l0aFJlc2VydmVkRW51
bVR5cGVTZXR0ZXIoRXhlY1N0YXRlJiBzdAogICAgIGlmIChVTkxJS0VMWSghb3B0aW9uYWxOYXRp
dmVWYWx1ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0g
b3B0aW9uYWxOYXRpdmVWYWx1ZS52YWx1ZSgpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlw
ZShpbXBsLnNldEF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlKFdURk1vdmUobmF0aXZlVmFs
dWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRl
cjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0
QXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAg
IH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDkyOSw3ICs0ODYxLDcgQEAgc3RhdGljIGlubGlu
ZSBib29sIHNldEpTVGVzdE9ialN0cmluZ2lmaWVyQXR0cmlidXRlU2V0dGVyKEV4ZWNTdGF0ZSYg
c3RhdGUsIEpTVGUKICAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAg
YXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMVVNWU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0
ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFN0cmluZ2lmaWVyQXR0cmlidXRlKFdURk1vdmUobmF0
aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0
ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGlt
cGwuc2V0U3RyaW5naWZpZXJBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0p
OwogICAgIHJldHVybiB0cnVlOwpAQCAtNDk2MSw3ICs0ODkzLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNldEpTVGVzdE9iakNvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGVTZXR0ZXIoRXhl
Y1N0YXRlJgogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJbnRlcmZhY2U8Tm9kZT4+KHN0YXRlLCB2YWx1ZSwg
W10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93
QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RPYmplY3QiLCAiY29uZGl0aW9u
YWxseVJlYWRXcml0ZUF0dHJpYnV0ZSIsICJOb2RlIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShp
bXBsLnNldENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUoKm5hdGl2ZVZhbHVlKSk+Ojpj
YWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChz
dGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0Q29uZGl0aW9u
YWxseVJlYWRXcml0ZUF0dHJpYnV0ZSgqbmF0aXZlVmFsdWUpOwogICAgIH0pOwogICAgIHJldHVy
biB0cnVlOwpAQCAtNDk5OSw3ICs0OTMxLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9iakNvbmRpdGlvbmFsQW5kQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZVNldHQKICAg
ICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1
ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPE5vZGU+PihzdGF0ZSwgdmFsdWUsIFtdKEpTQzo6RXhl
Y1N0YXRlJiBzdGF0ZSwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0F0dHJpYnV0ZVR5
cGVFcnJvcihzdGF0ZSwgc2NvcGUsICJUZXN0T2JqZWN0IiwgImNvbmRpdGlvbmFsQW5kQ29uZGl0
aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSIsICJOb2RlIik7IH0pOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlw
ZShpbXBsLnNldENvbmRpdGlvbmFsQW5kQ29uZGl0aW9uYWxseVJlYWRXcml0ZUF0dHJpYnV0ZSgq
bmF0aXZlVmFsdWUpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmli
dXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4g
aW1wbC5zZXRDb25kaXRpb25hbEFuZENvbmRpdGlvbmFsbHlSZWFkV3JpdGVBdHRyaWJ1dGUoKm5h
dGl2ZVZhbHVlKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUwMzQsNyArNDk2Niw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpDb25kaXRpb25hbGx5RXhwb3NlZFRv
V2luZG93QXR0cmlidXRlU2V0dGVyKEV4ZWNTCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETExvbmc+KHN0YXRl
LCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0g
ICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0Q29uZGl0aW9uYWxseUV4cG9zZWRU
b1dpbmRvd0F0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldENvbmRpdGlvbmFsbHlFeHBvc2VkVG9X
aW5kb3dBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVy
biB0cnVlOwpAQCAtNTA2NSw3ICs0OTk3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVz
dE9iakNvbmRpdGlvbmFsbHlFeHBvc2VkVG9Xb3JrZXJBdHRyaWJ1dGVTZXR0ZXIoRXhlY1MKICAg
ICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1
ZSA9IGNvbnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1w
bC5zZXRDb25kaXRpb25hbGx5RXhwb3NlZFRvV29ya2VyQXR0cmlidXRlKFdURk1vdmUobmF0aXZl
VmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNl
dHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwu
c2V0Q29uZGl0aW9uYWxseUV4cG9zZWRUb1dvcmtlckF0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZh
bHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC01MDk2LDcgKzUwMjgsNyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxseUV4cG9zZWRUb1dpbmRv
d0FuZFdvcmtlckF0dHJpYnV0ZVNldAogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBw
ZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExMb25nPihzdGF0ZSwgdmFs
dWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0
dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldENvbmRpdGlvbmFsbHlFeHBvc2VkVG9XaW5k
b3dBbmRXb3JrZXJBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRDb25kaXRpb25hbGx5RXhwb3Nl
ZFRvV2luZG93QW5kV29ya2VyQXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9
KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmNwcAppbmRleCA4
YzgxZmFhMDQ1ZGRlMDA5MmVlNTZmNGQxZTVmOGI0NjYwZDNkNDA5Li4yNmM2Y2NiZTNhNjNhNjhl
YjZmM2IwMjhiYzIxYmNmZmRhNDIwNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uY3Bw
CkBAIC0yMjIsNyArMjIyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFNlcmlhbGl6
YXRpb25GaXJzdFN0cmluZ0F0dHJpYnV0ZVNldHRlcihFeGVjU3RhdGUmIHMKICAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZl
cnQ8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNl
dEZpcnN0U3RyaW5nQXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRl
LCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhy
b3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0Rmlyc3RTdHJpbmdBdHRyaWJ1
dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAt
MjUzLDcgKzI1Myw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXJpYWxpemF0aW9u
U2Vjb25kTG9uZ0F0dHJpYnV0ZVNldHRlcihFeGVjU3RhdGUmIHN0CiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0U2Vjb25kTG9u
Z0F0dHJpYnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsm
XSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFNlY29uZExvbmdBdHRyaWJ1dGUoV1RGTW92ZShu
YXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMjg0LDcgKzI4NCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXJpYWxpemF0aW9uVGhpcmRVbnNlcmlh
bGl6YWJsZUF0dHJpYnV0ZVNldHRlcihFeGVjCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxU
ZXN0RXhjZXB0aW9uPj4oc3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpT
Qzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3Ioc3RhdGUsIHNj
b3BlLCAiVGVzdFNlcmlhbGl6YXRpb24iLCAidGhpcmRVbnNlcmlhbGl6YWJsZUF0dHJpYnV0ZSIs
ICJUZXN0RXhjZXB0aW9uIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldFRoaXJkVW5z
ZXJpYWxpemFibGVBdHRyaWJ1dGUoKm5hdGl2ZVZhbHVlKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Nj
b3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwg
WyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0VGhpcmRVbnNlcmlhbGl6YWJsZUF0dHJpYnV0
ZSgqbmF0aXZlVmFsdWUpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzE1LDcgKzMx
NSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXJpYWxpemF0aW9uRm91cnRoVW5y
ZXN0cmljdGVkRG91YmxlQXR0cmlidXRlU2V0dGVyCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmpl
Y3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETFVucmVzdHJp
Y3RlZERvdWJsZT4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRGb3Vy
dGhVbnJlc3RyaWN0ZWREb3VibGVBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNh
bGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0
YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRGb3VydGhVbnJl
c3RyaWN0ZWREb3VibGVBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwog
ICAgIHJldHVybiB0cnVlOwpAQCAtMzQ2LDcgKzM0Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBz
ZXRKU1Rlc3RTZXJpYWxpemF0aW9uRmlmdGhMb25nQXR0cmlidXRlU2V0dGVyKEV4ZWNTdGF0ZSYg
c3RhCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0
aXZlVmFsdWUgPSBjb252ZXJ0PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0
eXBlKGltcGwuc2V0RmlmdGhMb25nQXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+Ojpj
YWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChz
dGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0RmlmdGhMb25n
QXR0cmlidXRlKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTM3Nyw3ICszNzcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0U2VyaWFs
aXphdGlvblNpeHRoVHlwZWRlZkF0dHJpYnV0ZVNldHRlcihFeGVjU3RhdGUmCiAgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETERvdWJsZT4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRT
aXh0aFR5cGVkZWZBdHRyaWJ1dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRTaXh0aFR5cGVkZWZBdHRyaWJ1
dGUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAt
NDA4LDcgKzQwOCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXJpYWxpemF0aW9u
U2V2ZW50aERpcmVjdGx5U2VyaWFsaXphYmxlQXR0cmlidXRlU2V0CiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElE
TEludGVyZmFjZTxUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbD4+KHN0YXRlLCB2YWx1ZSwg
W10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93
QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RTZXJpYWxpemF0aW9uIiwgInNl
dmVudGhEaXJlY3RseVNlcmlhbGl6YWJsZUF0dHJpYnV0ZSIsICJUZXN0U2VyaWFsaXphdGlvbklu
aGVyaXRGaW5hbCIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRTZXZlbnRoRGlyZWN0
bHlTZXJpYWxpemFibGVBdHRyaWJ1dGUoKm5hdGl2ZVZhbHVlKSk+OjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0U2V2ZW50aERpcmVjdGx5U2VyaWFsaXph
YmxlQXR0cmlidXRlKCpuYXRpdmVWYWx1ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CkBA
IC00MzksNyArNDM5LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFNlcmlhbGl6YXRp
b25FaWdodGhJbmRpcmVjdGx5QXR0cmlidXRlU2V0dGVyKEV4ZWNTdGEKICAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8
SURMSW50ZXJmYWNlPFRlc3RTZXJpYWxpemF0aW9uSW5kaXJlY3RJbmhlcml0YW5jZT4+KHN0YXRl
LCB2YWx1ZSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3Bl
KSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RTZXJpYWxpemF0
aW9uIiwgImVpZ2h0aEluZGlyZWN0bHlBdHRyaWJ1dGUiLCAiVGVzdFNlcmlhbGl6YXRpb25JbmRp
cmVjdEluaGVyaXRhbmNlIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEVpZ2h0aElu
ZGlyZWN0bHlBdHRyaWJ1dGUoKm5hdGl2ZVZhbHVlKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3Bl
LCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0RWlnaHRoSW5kaXJlY3RseUF0dHJpYnV0ZSgqbmF0
aXZlVmFsdWUpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhl
cml0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
ZXJpYWxpemF0aW9uSW5oZXJpdC5jcHAKaW5kZXggZWM0NWI1NWM3OWJjYzQwNDAzYzgzMzZjNDZi
MmFkY2FiMjVmZDM3Zi4uOTczM2IwM2FlMjQ5MTllNWI2NTQ4NWZkOTQ3NDNlYjQ0ZmE3YTlkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6YXRpb25Jbmhlcml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXQuY3BwCkBAIC0xODcsNyAr
MTg3LDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0
SW5oZXJpdExvbmdBdHRyaWJ1dGVTZXR0ZXIoRXhlY1MKICAgICBhdXRvJiBpbXBsID0gdGhpc09i
amVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMTG9uZz4o
c3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNl
KTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRJbmhlcml0TG9uZ0F0dHJp
YnV0ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZd
IHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAg
ICAgICAgIHJldHVybiBpbXBsLnNldEluaGVyaXRMb25nQXR0cmlidXRlKFdURk1vdmUobmF0aXZl
VmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uSW5oZXJp
dEZpbmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemF0aW9uSW5oZXJpdEZpbmFsLmNwcAppbmRleCAwMWU2MGMzNjJlMjJkMWNkNzBk
N2Y4N2RlZWNhZWYxN2FiZTU5MjY3Li5hZDQyYzAzYWI3ZmI0YzcxNGNkYTVkM2Q3N2Y1NGViNTFi
ZWIxNTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXphdGlvbkluaGVyaXRGaW5hbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb25Jbmhlcml0Rmlu
YWwuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFNl
cmlhbGl6YXRpb25Jbmhlcml0RmluYWxGaW5hbExvbmdBdHRyaWJ1dGVGb29TZXR0ZXIKICAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5z
ZXRGaW5hbExvbmdBdHRyaWJ1dGVGb28oV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRGaW5hbExvbmdBdHRyaWJ1
dGVGb28oV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpA
QCAtMjIxLDcgKzIyMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTZXJpYWxpemF0
aW9uSW5oZXJpdEZpbmFsRmluYWxMb25nQXR0cmlidXRlQmFyU2V0dGVyCiAgICAgYXV0byYgaW1w
bCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0
PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0RmluYWxM
b25nQXR0cmlidXRlQmFyKFdURk1vdmUobmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJv
d1Njb3BlLCBbJl0geworICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29w
ZSwgWyZdIHsKICAgICAgICAgcmV0dXJuIGltcGwuc2V0RmluYWxMb25nQXR0cmlidXRlQmFyKFdU
Rk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5k
ZXggYmUyOTYzNzRiM2JjZTkyZTY0NDg2ZjJiYmZkY2I5NjNiOGJlN2RiOS4uMjNhZmZkMWYxZjVk
ODExZGJmZGMwYWY0MDkxZjkyNzVlNDU1ZmJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTIxNCw3ICsyMTQsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlVmFsdWVTZXR0ZXIoRXhlY1N0YXRlJgogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0Lndy
YXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExTZXJpYWxpemVkU2Ny
aXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8
ZGVjbHR5cGUoaW1wbC5zZXRWYWx1ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRo
cm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFZhbHVlKFdURk1vdmUobmF0
aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI2Miw3ICsyNjIsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlQ2FjaGVkVmFsdWVTZXR0ZXIoRXhlYwogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0Lndy
YXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExTZXJpYWxpemVkU2Ny
aXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8
ZGVjbHR5cGUoaW1wbC5zZXRDYWNoZWRWYWx1ZShXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2Fs
bChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldENhY2hlZFZhbHVl
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCmlu
ZGV4IDgwMTZkNDUzNGNmODBjNzMyZDg4MDI5ZTRiYTFiZWM2ZWMwYzY1N2IuLjQ5YjQ1OTdhYzg0
NjczZTY3NTM5NmMwN2FjZDI5NjFjNzhkOWU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcApAQCAtMTk0LDcgKzE5NCw3IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0
ZUlkZW50aWZpZXJTZXR0ZXIoRXhlY1N0CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3Jh
cHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3Rh
dGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsK
LSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRJZGVudGlmaWVyKFdURk1vdmUo
bmF0aXZlVmFsdWUpKSk+OjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0geworICAgIEF0dHJp
YnV0ZVNldHRlcjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKICAgICAgICAgcmV0dXJu
IGltcGwuc2V0SWRlbnRpZmllcihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCBlYTU2Y2U4OWUxNGU5MDI2ZWFi
NTI0ZWYwMTFiNjFjNGFkNWViZWJjLi44NjE1MDBlODY4MDdjZTk0OTZkMTliOWNhMTNhOGMxM2Vh
ZjY0Y2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTg3LDEyICs4Nyw4IEBAIEpTQzo6RW5j
b2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNBdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWYoSlND
OjpFeGVjU3RhdGUqLCBKCiBib29sIHNldEpTVGVzdFR5cGVkZWZzQXR0cmlidXRlV2l0aENsYW1w
SW5UeXBlZGVmKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzQXR0cldpdGhH
ZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpTVGVzdFR5cGVkZWZzQXR0cldpdGhHZXR0ZXJFeGNl
cHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRK
U1ZhbHVlKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJv
cGVydHlOYW1lKTsKLWJvb2wgc2V0SlNUZXN0VHlwZWRlZnNBdHRyV2l0aFNldHRlckV4Y2VwdGlv
bihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFs
dWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoR2V0
dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQ
cm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSk7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzU3RyaW5nQXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBK
U0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNC
dWZmZXJTb3VyY2VBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc0J1ZmZlclNvdXJjZUF0dHIo
SlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVl
KTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNEb21UaW1lU3RhbXBBdHRyKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwpA
QCAtMTkxLDkgKzE4Nyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RUeXBl
ZGVmc1Byb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgImF0dHJpYnV0ZVdpdGhDbGFtcCIs
IEN1c3RvbUFjY2Vzc29yIHwgRE9NQXR0cmlidXRlLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFR5cGVkZWZzQXR0
cmlidXRlV2l0aENsYW1wKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNBdHRyaWJ1dGVXaXRoQ2xhbXApIH0gfSwK
ICAgICB7ICJhdHRyaWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWYiLCBDdXN0b21BY2Nlc3NvciB8IERP
TUF0dHJpYnV0ZSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVmc0F0dHJpYnV0ZVdpdGhDbGFtcEluVHlw
ZWRlZiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdFR5cGVkZWZzQXR0cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmKSB9IH0sCiAg
ICAgeyAiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJp
YnV0ZSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVmc0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0VHlwZWRlZnNBdHRyV2l0aEdldHRlckV4Y2VwdGlvbikgfSB9LAotICAgIHsgImF0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uIiwgQ3VzdG9tQWNjZXNzb3IgfCBET01BdHRyaWJ1dGUsIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0VHlwZWRlZnNBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdFR5cGVkZWZzQXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24pIH0gfSwKICAgICB7ICJzdHJpbmdBdHRyV2l0aEdldHRlckV4
Y2VwdGlvbiIsIEN1c3RvbUFjY2Vzc29yIHwgRE9NQXR0cmlidXRlLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdFR5
cGVkZWZzU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RUeXBlZGVmc1N0cmlu
Z0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKSB9IH0sCi0gICAgeyAic3RyaW5nQXR0cldpdGhTZXR0
ZXJFeGNlcHRpb24iLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJpYnV0ZSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNT
dHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbikgfSB9LAogICAgIHsgImJ1ZmZlclNvdXJjZUF0
dHIiLCBDdXN0b21BY2Nlc3NvciB8IERPTUF0dHJpYnV0ZSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RUeXBlZGVm
c0J1ZmZlclNvdXJjZUF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RUeXBlZGVmc0J1ZmZlclNvdXJjZUF0dHIpIH0gfSwK
ICAgICB7ICJkb21UaW1lU3RhbXBBdHRyIiwgQ3VzdG9tQWNjZXNzb3IgfCBET01BdHRyaWJ1dGUs
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0VHlwZWRlZnNEb21UaW1lU3RhbXBBdHRyKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0VHlwZWRlZnNE
b21UaW1lU3RhbXBBdHRyKSB9IH0sCiAgICAgeyAiZnVuYyIsIEpTQzo6RnVuY3Rpb24sIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0VHlw
ZWRlZnNQcm90b3R5cGVGdW5jdGlvbkZ1bmMpLCAoaW50cHRyX3QpICgwKSB9IH0sCkBAIC0zMDks
NyArMzAzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzVW5zaWduZWRM
b25nTG9uZ0F0dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwKICAgICBhdXRvJiBpbXBsID0gdGhp
c09iamVjdC53cmFwcGVkKCk7CiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMVW5z
aWduZWRMb25nTG9uZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRV
bnNpZ25lZExvbmdMb25nQXR0cihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwg
dGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwoc3RhdGUsIHRocm93
U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNldFVuc2lnbmVkTG9uZ0xvbmdBdHRy
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM0
MCw3ICszMzQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNTZXJpYWxp
emVkU2NyaXB0VmFsdWVTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZQogICAgIGF1dG8mIGltcGwgPSB0
aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExT
ZXJpYWxpemVkU2NyaXB0VmFsdWU8U2VyaWFsaXplZFNjcmlwdFZhbHVlPj4oc3RhdGUsIHZhbHVl
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRy
aWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRTZXJpYWxpemVkU2NyaXB0VmFsdWUoV1RGTW92
ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0
cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1
cm4gaW1wbC5zZXRTZXJpYWxpemVkU2NyaXB0VmFsdWUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwog
ICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzgzLDcgKzM3Nyw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc0F0dHJpYnV0ZVdpdGhDbGFtcFNldHRlcihFeGVjU3Rh
dGUmIHN0YXRlLCBKCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAg
IGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETENsYW1wQWRhcHRvcjxJRExVbnNpZ25lZExv
bmdMb25nPj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRBdHRyaWJ1
dGVXaXRoQ2xhbXAoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2Nv
cGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBb
Jl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRBdHRyaWJ1dGVXaXRoQ2xhbXAoV1RGTW92ZShu
YXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwpAQCAtNDE0LDcgKzQwOCw3
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVmc0F0dHJpYnV0ZVdpdGhDbGFt
cEluVHlwZWRlZlNldHRlcihFeGVjU3RhdGUmCiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETENsYW1wQWRhcHRv
cjxJRExMb25nPj4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRBdHRy
aWJ1dGVXaXRoQ2xhbXBJblR5cGVkZWYoV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRBdHRyaWJ1dGVXaXRoQ2xh
bXBJblR5cGVkZWYoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0
cnVlOwpAQCAtNDQ1LDcgKzQzOSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBl
ZGVmc0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhCiAgICAgYXV0
byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBj
b252ZXJ0PElETExvbmc+KHN0YXRlLCB2YWx1ZSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmlidXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0
QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oV1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3Rh
dGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0
aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1wbC5zZXRBdHRyV2l0aEdldHRlckV4
Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7
CkBAIC00NTYsMzcgKzQ1MCw2IEBAIGJvb2wgc2V0SlNUZXN0VHlwZWRlZnNBdHRyV2l0aEdldHRl
ckV4Y2VwdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0CiAgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46OnNldDxzZXRKU1Rlc3RUeXBlZGVmc0F0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uU2V0dGVyPigqc3RhdGUsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVl
LCAiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKIH0KIAotc3RhdGljIGlubGluZSBKU1ZhbHVl
IGpzVGVzdFR5cGVkZWZzQXR0cldpdGhTZXR0ZXJFeGNlcHRpb25HZXR0ZXIoRXhlY1N0YXRlJiBz
dGF0ZSwgSlNUZXN0VHlwZWRlZnMmIHRoaXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUp
Ci17Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIFVOVVNFRF9QQVJBTShzdGF0
ZSk7Ci0gICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwotICAgIEpTVmFsdWUg
cmVzdWx0ID0gdG9KUzxJRExMb25nPihpbXBsLmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKCkpOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzQXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RU
eXBlZGVmcz46OmdldDxqc1Rlc3RUeXBlZGVmc0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uR2V0dGVy
LCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigqc3RhdGUsIHRoaXNWYWx1ZSwgImF0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uIik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RUeXBlZGVmc0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uU2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUs
IEpTVGVzdFR5cGVkZWZzJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0
aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZl
cnQ8SURMTG9uZz4oc3RhdGUsIHZhbHVlKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5cGUoaW1wbC5zZXRBdHRy
V2l0aFNldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZhbHVlKSkpPjo6Y2FsbChzdGF0ZSwg
dGhyb3dTY29wZSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIGltcGwuc2V0QXR0cldpdGhTZXR0ZXJF
eGNlcHRpb24oV1RGTW92ZShuYXRpdmVWYWx1ZSkpOwotICAgIH0pOwotICAgIHJldHVybiB0cnVl
OwotfQotCi1ib29sIHNldEpTVGVzdFR5cGVkZWZzQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oRXhl
Y1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RUeXBlZGVmcz46
OnNldDxzZXRKU1Rlc3RUeXBlZGVmc0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uU2V0dGVyPigqc3Rh
dGUsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiYXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iKTsK
LX0KLQogc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhH
ZXR0ZXJFeGNlcHRpb25HZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0VHlwZWRlZnMmIHRo
aXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRo
cm93U2NvcGUpOwpAQCAtNTA3LDcgKzQ3MCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rl
c3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uU2V0dGVyKEV4ZWNTdGF0CiAg
ICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFs
dWUgPSBjb252ZXJ0PElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKLSAgICBBdHRyaWJ1dGVTZXR0ZXI8ZGVjbHR5
cGUoaW1wbC5zZXRTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihXVEZNb3ZlKG5hdGl2ZVZh
bHVlKSkpPjo6Y2FsbChzdGF0ZSwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICBBdHRyaWJ1dGVTZXR0
ZXI6OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CiAgICAgICAgIHJldHVybiBpbXBsLnNl
dFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAg
ICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUxOCwzNyArNDgxLDYgQEAgYm9vbCBzZXRKU1Rl
c3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSogc3RhdGUs
IEVuY29kZWRKU1YKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdFR5cGVkZWZzPjo6c2V0
PHNldEpTVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25TZXR0ZXI+KCpz
dGF0ZSwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2Vw
dGlvbiIpOwogfQogCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0VHlwZWRlZnNTdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbkdldHRlcihFeGVjU3RhdGUmIHN0YXRlLCBKU1Rlc3RUeXBl
ZGVmcyYgdGhpc09iamVjdCwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURf
UEFSQU0odGhyb3dTY29wZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTPElE
TERPTVN0cmluZz4oc3RhdGUsIGltcGwuc3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oKSk7
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotRW5jb2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNT
dHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdFR5cGVkZWZzPjo6Z2V0PGpzVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhTZXR0ZXJF
eGNlcHRpb25HZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpzdGF0ZSwg
dGhpc1ZhbHVlLCAic3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iKTsKLX0KLQotc3RhdGlj
IGlubGluZSBib29sIHNldEpTVGVzdFR5cGVkZWZzU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRp
b25TZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0VHlwZWRlZnMmIHRoaXNPYmplY3QsIEpT
VmFsdWUgdmFsdWUsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFN
KHRocm93U2NvcGUpOwotICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKLSAg
ICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExET01TdHJpbmc+KHN0YXRlLCB2YWx1ZSk7
Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7Ci0gICAgQXR0cmli
dXRlU2V0dGVyPGRlY2x0eXBlKGltcGwuc2V0U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24o
V1RGTW92ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7Ci0g
ICAgICAgIHJldHVybiBpbXBsLnNldFN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKFdURk1v
dmUobmF0aXZlVmFsdWUpKTsKLSAgICB9KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBz
ZXRKU1Rlc3RUeXBlZGVmc1N0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSog
c3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0VHlwZWRlZnM+OjpzZXQ8c2V0
SlNUZXN0VHlwZWRlZnNTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvblNldHRlcj4oKnN0YXRl
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgInN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9u
Iik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RUeXBlZGVmc0J1ZmZlclNvdXJj
ZUF0dHJHZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0VHlwZWRlZnMmIHRoaXNPYmplY3Qs
IFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUp
OwpAQCAtNTY5LDcgKzUwMSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RUeXBlZGVm
c0J1ZmZlclNvdXJjZUF0dHJTZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUCiAgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETFVuaW9uPElETEFycmF5QnVmZmVyVmlldywgSURMQXJyYXlCdWZmZXI+PihzdGF0ZSwg
dmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAg
IEF0dHJpYnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldEJ1ZmZlclNvdXJjZUF0dHIoV1RGTW92
ZShuYXRpdmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0
cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1
cm4gaW1wbC5zZXRCdWZmZXJTb3VyY2VBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9
KTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTYwMCw3ICs1MzIsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0VHlwZWRlZnNEb21UaW1lU3RhbXBBdHRyU2V0dGVyKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVAogICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKICAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExVbnNpZ25lZExvbmdMb25nPihzdGF0ZSwgdmFsdWUp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJp
YnV0ZVNldHRlcjxkZWNsdHlwZShpbXBsLnNldERvbVRpbWVTdGFtcEF0dHIoV1RGTW92ZShuYXRp
dmVWYWx1ZSkpKT46OmNhbGwoc3RhdGUsIHRocm93U2NvcGUsIFsmXSB7CisgICAgQXR0cmlidXRl
U2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewogICAgICAgICByZXR1cm4gaW1w
bC5zZXREb21UaW1lU3RhbXBBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAg
ICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbAppbmRleCBhNTFmNDEyNDkyY2M1ZDNkZjYwMzFlZjE1NTQ3YjNkZDgxOTY4
ZGUwLi4wOGU5NTUzNjc4YmVkYTFjMjYwZmZkYzY4MTg3MzM3MzU3YmZkMjJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xNjgs
OSArMTY4LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGxvbmcgbWV0aG9kV2l0aEV4Y2VwdGlvblJldHVybmlu
Z0xvbmcoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogbWV0aG9kV2l0aEV4Y2Vw
dGlvblJldHVybmluZ09iamVjdCgpOwogICAgIFtHZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0
cmlidXRlIGxvbmcgYXR0cmlidXRlV2l0aEdldHRlckV4Y2VwdGlvbjsKLSAgICBbU2V0dGVyTWF5
VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBsb25nIGF0dHJpYnV0ZVdpdGhTZXR0ZXJFeGNlcHRp
b247CiAgICAgW0dldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0
cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlv
bl0gYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbjsKIAog
ICAgIC8vICdDdXN0b20nIGV4dGVuZGVkIGF0dHJpYnV0ZQogICAgIFtDdXN0b21dIGF0dHJpYnV0
ZSBsb25nICAgICAgICAgICAgY3VzdG9tQXR0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKaW5kZXggM2U0Y2VhMmQyNWIw
ZGQ1NmFmNjM5NzI1MmM4YmNiYjEyMjRhZjkzZC4uZTU1OTcwZDRjMTExNmZhODI5ZTU5YjQ4ZGZl
NDI1Yzc1OTMzYzNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKQEAgLTY5LDkgKzY5LDcgQEAKICAgICAvLyBFeGNl
cHRpb25zCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG1ldGhvZFdpdGhFeGNlcHRpb24o
KTsKICAgICBbR2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBsb25nIGF0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IGxvbmcgYXR0cldpdGhTZXR0ZXJFeGNlcHRpb247CiAgICAgW0dldHRlck1heVRocm93RXhjZXB0
aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uOwot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBzdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbjsKIAogICAgIC8vIEJ1aWx0aW4gVHlwZWRlZnMKICAgICBh
dHRyaWJ1dGUgQnVmZmVyU291cmNlIGJ1ZmZlclNvdXJjZUF0dHI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5p
ZGwKaW5kZXggZmQ2Yzc5MGZlMjIyYjYyMDAyYmVmMmNkMGQyYWI2YThhOWFiMzIzYi4uNDVkNjFl
Mjc5MDBjZTQ0M2Q3MmY2MDU2NmU0YWEyNjVjM2VlOGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlk
bApAQCAtNDUsNyArNDUsNyBAQAogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IHR5cGU7CiAKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01T
dHJpbmc/IGNzc1RleHQ7CisgICAgYXR0cmlidXRlIERPTVN0cmluZz8gY3NzVGV4dDsKIAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0PyBwYXJlbnRTdHlsZVNoZWV0OwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlPyBwYXJlbnRSdWxlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsCmluZGV4IDZjYjUyOTAzYTJiMTI4YzI3NGFkYzY3
OTZmMWI1OTRjNzZlMGU2MzMuLjE1ZTA4NDgxY2Y4NDg5YmExNGQ1NGIzOWZjZDdlMTBiNDMwZGU5
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKQEAgLTI2
LDcgKzI2LDcgQEAKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBTa2lwVlRhYmxlVmFs
aWRhdGlvbiwKIF0gaW50ZXJmYWNlIENTU1N0eWxlRGVjbGFyYXRpb24gewotICAgIFtDRVJlYWN0
aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgY3NzVGV4
dDsKKyAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgY3NzVGV4dDsKIAogICAg
IERPTVN0cmluZyBnZXRQcm9wZXJ0eVZhbHVlKERPTVN0cmluZyBwcm9wZXJ0eU5hbWUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaWRsIGIv
U291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmlkbAppbmRleCA0YzI0NmM2
Y2YyYTllMjJmOGNlYWY2NmRkMmIzZDRiNTIwZDE5MTM5Li5jODg5MDM4YjUxZmViNTExYjQ1NmE3
OTkzOTAxOGNjOWFkZjk2NzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVj
YXRlZENTU09NVmFsdWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NT
T01WYWx1ZS5pZGwKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBD
U1NfVkFMVUVfTElTVCA9IDI7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0NVU1RPTSA9
IDM7CiAKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmc/
IGNzc1RleHQ7CisgICAgYXR0cmlidXRlIERPTVN0cmluZz8gY3NzVGV4dDsKIAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBjc3NWYWx1ZVR5cGU7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZS5pZGwKaW5kZXggMzBlMjAzOGU2NjQxMzUxNmNhYmQ1ZjgzOWFlYzdmMmQxMTUwZTEx
ZS4uMWJmNTA4ZTRmOWY1YjY3M2U2ODQ2ZGRlZjc0OGQ4YWJmMDk4YjYyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Rm9udEZhY2UuaWRsCkBAIC00NiwxMyArNDYsMTMgQEAgZGljdGlvbmFyeSBGb250RmFjZURlc2Ny
aXB0b3JzIHsKICAgICBDb25zdHJ1Y3Rvck1heVRocm93RXhjZXB0aW9uLAogICAgIENvbnN0cnVj
dG9yKERPTVN0cmluZyBmYW1pbHksIChET01TdHJpbmcgb3IgQmluYXJ5RGF0YSkgc291cmNlLCBv
cHRpb25hbCBGb250RmFjZURlc2NyaXB0b3JzIGRlc2NyaXB0b3JzKQogXSBpbnRlcmZhY2UgRm9u
dEZhY2UgewotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmlu
ZyBmYW1pbHk7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHN0eWxlOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0
cmluZyB3ZWlnaHQ7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHN0cmV0Y2g7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHVuaWNvZGVSYW5nZTsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0
dHJpYnV0ZSBET01TdHJpbmcgdmFyaWFudDsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25d
IGF0dHJpYnV0ZSBET01TdHJpbmcgZmVhdHVyZVNldHRpbmdzOworICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgZmFtaWx5OworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3R5bGU7CisgICAgYXR0cmli
dXRlIERPTVN0cmluZyB3ZWlnaHQ7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdHJldGNoOwor
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdW5pY29kZVJhbmdlOworICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgdmFyaWFudDsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZlYXR1cmVTZXR0aW5nczsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGb250RmFjZUxvYWRTdGF0dXMgc3RhdHVzOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYUxpc3QuaWRsCmluZGV4IGM1ZjQ2MzAxOGM1MjBkNzhjZWNiMDgwOGQ1YTE0
YmNlZjc3NDNjYzMuLmNmNmFjNGU4Mzk3N2Y4ZmFhZmI1ODY0NzZjZWM1Y2I1ZGU0MWYyOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKICAgICBKU0N1c3RvbUhlYWRlciwKIF0gaW50ZXJmYWNlIE1lZGlh
TGlzdCB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgbWVkaWFUZXh0OworICAgIGF0dHJpYnV0ZSBbVHJl
YXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtZWRpYVRleHQ7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCiAgICAgZ2V0dGVyIERPTVN0cmluZz8g
aXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDE1
ZGZlYzliZGZhMDgwNGFiMDUxODQzODI4Mjc4ODRhZGVjOWNjMTMuLjFiYWQwNzRkNmNmNDdjZDlj
MmU2ODM3MzhmYzJkN2Y4MDFmZjIwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtODEs
MTYgKzgxLDE2IEBAIHR5cGVkZWYgKAogCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIEhUTUwgc3Bl
Y2lmaWNhdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWRvY3VtZW50LW9i
amVjdCkuCiAgICAgW1B1dEZvcndhcmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRy
aWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9uOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0g
YXR0cmlidXRlIFVTVlN0cmluZyBkb21haW47CisgICAgYXR0cmlidXRlIFVTVlN0cmluZyBkb21h
aW47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyByZWZlcnJlcjsKLSAgICBbR2V0
dGVyTWF5VGhyb3dFeGNlcHRpb24sIFNldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGNvb2tpZTsKKyAgICBbR2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0
ZSBVU1ZTdHJpbmcgY29va2llOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFz
dE1vZGlmaWVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudFJlYWR5U3RhdGUgcmVh
ZHlTdGF0ZTsKIAogICAgIC8vIERPTSB0cmVlIGFjY2Vzc29ycy4KICAgICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBET01TdHJpbmcgdGl0bGU7CiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRpcjsKLSAgICBbQ0VSZWFjdGlvbnMsIERPTUpJVD1HZXR0ZXIsIEltcGxlbWVu
dGVkQXM9Ym9keU9yRnJhbWVzZXQsIFNldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
SFRNTEVsZW1lbnQ/IGJvZHk7CisgICAgW0NFUmVhY3Rpb25zLCBET01KSVQ9R2V0dGVyLCBJbXBs
ZW1lbnRlZEFzPWJvZHlPckZyYW1lc2V0XSBhdHRyaWJ1dGUgSFRNTEVsZW1lbnQ/IGJvZHk7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxIZWFkRWxlbWVudD8gaGVhZDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gaW1hZ2VzOyAvLyBTaG91bGQgYmUgW1NhbWVPYmpl
Y3RdLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBlbWJlZHM7IC8vIFNo
b3VsZCBiZSBbU2FtZU9iamVjdF0uCkBAIC0xNzMsNyArMTczLDcgQEAgdHlwZWRlZiAoCiAKICAg
ICAvLyBGSVhNRTogVGhvc2UgaGF2ZSBiZWVuIGRyb3BwZWQgZnJvbSB0aGUgRE9NIHNwZWNpZmlj
YXRpb24uCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8geG1sRW5jb2Rpbmc7Ci0g
ICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyB4bWxWZXJz
aW9uOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IHhtbFZlcnNpb247CiAgICAgYXR0cmlidXRl
IGJvb2xlYW4geG1sU3RhbmRhbG9uZTsKIAogICAgIC8vIEZJWE1FOiBCbGluayBoYXMgYWxyZWFk
eSBkcm9wcGVkIHRoaXMgKGh0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcv
Zm9ydW0vIyF0b3BpYy9ibGluay1kZXYvczNlempUdUM4aWcpLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRs
CmluZGV4IGQyNTljNTYzYTI4YTI4YTg3YTUzZDY5MTE1ZTMxNDU4NDA1ZTZhODAuLmQ5ZGE3MWJj
NDQ1NWE3MWE3OTRiNWRkNDNiODM3NDk0MzVmN2EwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwK
QEAgLTg4LDggKzg4LDggQEAKIAogICAgIC8vIEV4dGVuc2lvbnMgdG8gRWxlbWVudCBmcm9tIERP
TSBQYXJzaW5nIGFuZCBTZXJpYWxpemF0aW9uIHNwZWNpZmljYXRpb24uCiAgICAgLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL0RPTS1QYXJzaW5nLyNleHRlbnNpb25zLXRvLXRoZS1lbGVtZW50LWlu
dGVyZmFjZQotICAgIFtDRVJlYWN0aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJp
YnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lckhUTUw7Ci0gICAg
W0NFUmVhY3Rpb25zLCBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG91dGVySFRNTDsKKyAgICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lckhUTUw7
CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgb3V0ZXJIVE1MOwogICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgaW5zZXJ0QWRqYWNlbnRIVE1MKERPTVN0cmluZyBwb3NpdGlvbiwgRE9NU3RyaW5nIHRl
eHQpOwogCiAgICAgLy8gRXh0ZW5zaW9ucyBmcm9tIEZ1bGwgU2NyZWVuIEFQSSAoaHR0cHM6Ly9m
dWxsc2NyZWVuLnNwZWMud2hhdHdnLm9yZy8jYXBpKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCBlNTMx
MmI3MWUzNjZhYTZjMjRiMzQ1NjYxZTgwNThhYjU1YzIyZTA3Li4yNTE3N2E4Y2Q0M2EwY2UxNTM2
MTBjMzY2MjM0YWFmYWFlODQwNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC01Niw4ICs1Niw4IEBA
CiAgICAgW0RPTUpJVD1HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlPyBwcmV2aW91c1Np
Ymxpbmc7CiAgICAgW0RPTUpJVD1HZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlPyBuZXh0
U2libGluZzsKIAotICAgIFtDRVJlYWN0aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0
dHJpYnV0ZSBET01TdHJpbmc/IG5vZGVWYWx1ZTsKLSAgICBbQ0VSZWFjdGlvbnMsIFNldHRlck1h
eVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyB0ZXh0Q29udGVudDsKKyAgICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmc/IG5vZGVWYWx1ZTsKKyAgICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmc/IHRleHRDb250ZW50OwogICAgIFtDRVJlYWN0aW9u
c10gdm9pZCBub3JtYWxpemUoKTsKIAogICAgIFtDRVJlYWN0aW9ucywgSW1wbGVtZW50ZWRBcz1j
bG9uZU5vZGVGb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gTm9kZSBj
bG9uZU5vZGUob3B0aW9uYWwgYm9vbGVhbiBkZWVwID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaWRsCmluZGV4IDI2YTNkNjIyZjE0MWRhMzM3YTRmNjI4NDZkYmMzODY5NjE3NTk0MWMu
LjRiYmNmMjAzNmZlMTRjMmQ4N2YxOTYyMjQyNjI1MTZhMzBiZmVkMTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5pZGwKQEAgLTMxLDcgKzMxLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RWxlbWVudCBob3N0OwogCiAgICAgLy8gRklYTUU6IFNlZW1zIHRvIGhhdmUgYmVlbiBkcm9wcGVk
IGZyb20gdGhlIFNoYWRvdyBET00gQVBJLgotICAgIFtDRVJlYWN0aW9ucywgU2V0dGVyTWF5VGhy
b3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBpbm5lckhUTUw7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJIVE1MOwogfTsKIAogU2hhZG93Um9vdCBpbXBsZW1l
bnRzIERvY3VtZW50T3JTaGFkb3dSb290OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCmluZGV4IDlmYjk4
YzJjOGEwMDMzYjQxNTU2YjhiYWRmM2YxYzZiMzllYjM4ZDEuLjkxMmMxNDUxYWQ3MGJmOWZiNjQw
MGEyN2MwYTYyYjA3YTFjODEyYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VVJMLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwKQEAgLTM4LDcgKzM4
LDcgQEAKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgTGVnYWN5V2luZG93QWxp
YXM9d2Via2l0VVJMLAogXSBpbnRlcmZhY2UgRE9NVVJMIHsKLSAgICBbU2V0dGVyTWF5VGhyb3dF
eGNlcHRpb24sIFVSTF0gc3RyaW5naWZpZXIgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOworICAg
IFtVUkxdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaHJlZjsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG9yaWdpbjsKICAgICBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBy
b3RvY29sOwogICAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXNlcm5hbWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaWRsCmluZGV4IGQyZWMxNmMyZjM1MDg5MjgxNDY0YmNiZTE3YzlhODgyNGIz
NjJjNzMuLmM5NGU5ZWI2OTRlYTdhYmIzZjAxNjRlOGVlNmM1Mjc1MjVjYmRjZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCkBAIC00NCwxMSArNDQsMTEgQEAKICAgICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBib29sZWFuIHNwZWxsY2hlY2s7CiAgICAgLy8gdm9pZCBmb3JjZVNw
ZWxsQ2hlY2soKTsgLy8gRklYTUU6IE5vdCBzdXBwb3J0ZWQuCiAKLSAgICBbQ0VSZWFjdGlvbnMs
IFNldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgaW5uZXJUZXh0OworICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGlubmVyVGV4dDsKIAogICAgIC8vIEZJ
WE1FOiBTaG91bGQgYmUgaW4gYSBzZXBhcmF0ZSBFbGVtZW50Q29udGVudEVkaXRhYmxlIGludGVy
ZmFjZS4KICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNlbGVtZW50Y29udGVu
dGVkaXRhYmxlCi0gICAgW0NFUmVhY3Rpb25zLCBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0
cmlidXRlIERPTVN0cmluZyBjb250ZW50RWRpdGFibGU7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGNvbnRlbnRFZGl0YWJsZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBpc0NvbnRlbnRFZGl0YWJsZTsKIAogICAgIC8vIEV4dGVuc2lvbnMgZnJvbSBDU1NP
TS12aWV3IHNwZWNpZmljYXRpb24gKGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3
LyNleHRlbnNpb25zLXRvLXRoZS1odG1sZWxlbWVudC1pbnRlcmZhY2UpLgpAQCAtNTksNyArNTks
NyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgb2Zmc2V0SGVpZ2h0OyAvLyBGSVhN
RTogU2hvdWxkIGJlIG9mIHR5cGUgbG9uZy4KIAogICAgIC8vIE5vbiBTdGFuZGFyZCBidXQgbWF5
IGdldCBhZGRlZCB0byB0aGUgc3BlY2lmaWNhdGlvbiAoaHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9odG1sL2lzc3Vlcy82NjgpLgotICAgIFtDRVJlYWN0aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNl
cHRpb25dIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBvdXRl
clRleHQ7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgb3V0ZXJUZXh0OwogCiAgICAgLy8gaU9TIGF1dG9jb3JyZWN0IC8gYXV0
b2NhcGl0YWxpemF0aW9uIGV4dGVuc2lvbnMuCiAgICAgW0NvbmRpdGlvbmFsPUlPU19BVVRPQ09S
UkVDVF9BTkRfQVVUT0NBUElUQUxJWkVdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9jb3JyZWN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggNTM5YzUxZWNlNTY5
OGU1MjlhYmMyYmJjYWIxNWZhNTc4ZDgwNjVmMC4uOGQ5OTA1ZjhlN2Q1NTc3YTM5NmI1OTY3NzI2
ZDA4ODdjMTY5NzAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRs
CkBAIC00NCw4ICs0NCw4IEBACiAgICAgYXR0cmlidXRlIGJvb2xlYW4gaW5kZXRlcm1pbmF0ZTsK
ICAgICBbQ29uZGl0aW9uYWw9REFUQUxJU1RfRUxFTUVOVF0gcmVhZG9ubHkgYXR0cmlidXRlIEhU
TUxFbGVtZW50IGxpc3Q7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbWF4Owot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGxvbmcgbWluTGVuZ3RoOwot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGxvbmcgbWF4TGVuZ3RoOwor
ICAgIGF0dHJpYnV0ZSBsb25nIG1pbkxlbmd0aDsKKyAgICBhdHRyaWJ1dGUgbG9uZyBtYXhMZW5n
dGg7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbWluOwogICAgIFtSZWZsZWN0
XSBhdHRyaWJ1dGUgYm9vbGVhbiBtdWx0aXBsZTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwpAQCAtNTMsMTUgKzUzLDE1IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBET01TdHJpbmcgcGxhY2Vob2xkZXI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFu
IHJlYWRPbmx5OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZXF1aXJlZDsKLSAg
ICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7
CisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKICAgICBbUmVmbGVjdCwgVVJMXSBh
dHRyaWJ1dGUgVVNWU3RyaW5nIHNyYzsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzdGVwOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsgLy8gcmVhZG9ubHkgZHJvcHBl
ZCBhcyBwYXJ0IG9mIERPTSBsZXZlbCAyCiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0
VmFsdWU7CiAgICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwODUKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25d
IGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsKLSAg
ICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBEYXRlPyB2YWx1ZUFzRGF0ZTsK
LSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91
YmxlIHZhbHVlQXNOdW1iZXI7CisgICAgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmlu
Z10gRE9NU3RyaW5nIHZhbHVlOworICAgIGF0dHJpYnV0ZSBEYXRlPyB2YWx1ZUFzRGF0ZTsKKyAg
ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB2YWx1ZUFzTnVtYmVyOwogCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHN0ZXBVcChvcHRpb25hbCBsb25nIG4gPSAxKTsKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc3RlcERvd24ob3B0aW9uYWwgbG9uZyBuID0gMSk7CkBA
IC03Nyw5ICs3Nyw5IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGxhYmVsczsK
IAogICAgIHZvaWQgc2VsZWN0KCk7Ci0gICAgW0ltcGxlbWVudGVkQXM9c2VsZWN0aW9uU3RhcnRG
b3JCaW5kaW5ncywgR2V0dGVyTWF5VGhyb3dFeGNlcHRpb24sIFNldHRlck1heVRocm93RXhjZXB0
aW9uXSBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25TdGFydDsKLSAgICBbSW1wbGVtZW50ZWRBcz1z
ZWxlY3Rpb25FbmRGb3JCaW5kaW5ncywgR2V0dGVyTWF5VGhyb3dFeGNlcHRpb24sIFNldHRlck1h
eVRocm93RXhjZXB0aW9uXSAgYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uRW5kOwotICAgIFtJbXBs
ZW1lbnRlZEFzPXNlbGVjdGlvbkRpcmVjdGlvbkZvckJpbmRpbmdzLCBHZXR0ZXJNYXlUaHJvd0V4
Y2VwdGlvbiwgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNl
bGVjdGlvbkRpcmVjdGlvbjsKKyAgICBbSW1wbGVtZW50ZWRBcz1zZWxlY3Rpb25TdGFydEZvckJp
bmRpbmdzLCBHZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9u
U3RhcnQ7CisgICAgW0ltcGxlbWVudGVkQXM9c2VsZWN0aW9uRW5kRm9yQmluZGluZ3MsIEdldHRl
ck1heVRocm93RXhjZXB0aW9uXSAgYXR0cmlidXRlIGxvbmcgc2VsZWN0aW9uRW5kOworICAgIFtJ
bXBsZW1lbnRlZEFzPXNlbGVjdGlvbkRpcmVjdGlvbkZvckJpbmRpbmdzLCBHZXR0ZXJNYXlUaHJv
d0V4Y2VwdGlvbl0gIGF0dHJpYnV0ZSBET01TdHJpbmcgc2VsZWN0aW9uRGlyZWN0aW9uOwogCiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFJhbmdlVGV4dChET01TdHJpbmcgcmVwbGFj
ZW1lbnQpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRSYW5nZVRleHQoRE9NU3Ry
aW5nIHJlcGxhY2VtZW50LCB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwg
b3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdGlvbk1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWFycXVlZUVsZW1lbnQuaWRsCmluZGV4IGM3NmI0NTlkYWMyZjE1YjViOGYzMjhjYzYxMzE4
Njg1ZDg2MGNhZTguLmE0ODBkMGZlY2UzNGE4YWRiN2UyZjY4YTllNzY2ZGRjM2EwNGI2MDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVlRWxlbWVudC5pZGwKQEAgLTI2LDcgKzI2
LDcgQEAgaW50ZXJmYWNlIEhUTUxNYXJxdWVlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBkaXJlY3Rpb247CiAgICAgW1JlZmxlY3RdIGF0
dHJpYnV0ZSBET01TdHJpbmcgaGVpZ2h0OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBoc3BhY2U7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
bG9uZyBsb29wOworICAgIGF0dHJpYnV0ZSBsb25nIGxvb3A7CiAgICAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgc2Nyb2xsQW1vdW50OwogICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNjcm9s
bERlbGF5OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiB0cnVlU3BlZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBjOTFmNGY4ZTE0ZWIzNDRk
ODc0NmZmNjhmN2Y0ODI4NTU4NDNjODcwLi4zZWY2MTM4MzlkZGY1ODIyODk5OWUzZThiNTRkODcz
MDA0ZTJiMDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAg
LTcxLDcgKzcxLDcgQEAgdHlwZWRlZiAoCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
c2Vla2luZzsKIAogICAgIC8vIHBsYXliYWNrIHN0YXRlCi0gICAgW0ltcGxlbWVudGVkQXM9Y3Vy
cmVudFRpbWVGb3JCaW5kaW5ncywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZG91YmxlIGN1cnJlbnRUaW1lOworICAgIFtJbXBsZW1lbnRlZEFzPWN1cnJl
bnRUaW1lRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGN1cnJlbnRU
aW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGR1cmF0aW9u
OwogICAgIERhdGUgZ2V0U3RhcnREYXRlKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gcGF1c2VkOwpAQCAtODgsNyArODgsNyBAQCB0eXBlZGVmICgKIAogICAgIC8vIGNvbnRyb2xz
CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gY29udHJvbHM7Ci0gICAgW1NldHRlck1heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgZG91YmxlIHZvbHVtZTsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHZv
bHVtZTsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBtdXRlZDsKICAgICBbUmVmbGVjdD1tdXRlZF0g
YXR0cmlidXRlIGJvb2xlYW4gZGVmYXVsdE11dGVkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwKaW5kZXggYWFlNDAyNWE0ZGRmNTYyYTRiMjliZDE2
MTAxZDQ0YjQ2MTliMWY3MC4uNmU5ZmE0ZDBlMTYxNjBkYTJiN2NhYjgwZDAyYTk3YWJkODA2M2Iw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbApA
QCAtMjMsNyArMjMsNyBAQAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJv
b3QsCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBpbnRlcmZhY2UgSFRNTE9wdGlv
bnNDb2xsZWN0aW9uIDogSFRNTENvbGxlY3Rpb24gewotICAgIFtDRVJlYWN0aW9ucywgU2V0dGVy
TWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBbQ0VSZWFj
dGlvbnNdIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBIVE1MT3B0aW9uRWxlbWVu
dD8gb3B0aW9uKTsKICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGFk
ZCgoSFRNTE9wdGlvbkVsZW1lbnQgb3IgSFRNTE9wdEdyb3VwRWxlbWVudCkgZWxlbWVudCwgb3B0
aW9uYWwgKEhUTUxFbGVtZW50IG9yIGxvbmcpPyBiZWZvcmUgPSBudWxsKTsKICAgICBbQ0VSZWFj
dGlvbnNdIHZvaWQgcmVtb3ZlKGxvbmcgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmlkbAppbmRleCA4ZmVlMzBjZjE2YmZiY2YwZTUzZjc2NGEzOWRkYmM0ZDFj
MjcwMTdjLi42MWVlNTk0ZTYwMzc3OTBlYWRmYzhhZmQxYzE1ZWNjNDZmMzhjNmM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApAQCAtMzQsNyArMzQsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAogICAgIC8qIFtTYW1lT2Jq
ZWN0XSAqLyByZWFkb25seSBhdHRyaWJ1dGUgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG9wdGlvbnM7
Ci0gICAgW0NFUmVhY3Rpb25zLCBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbGVuZ3RoOwogICAgIGdldHRlciBIVE1MT3B0aW9uRWxlbWVudD8gaXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsgLy8gRklYTUU6IFRoZSBzcGVjIGhhcyB0aGlzIHJldHVybmluZyBFbGVt
ZW50Py4KICAgICBIVE1MT3B0aW9uRWxlbWVudD8gbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsK
ICAgICBbQ0VSZWFjdGlvbnMsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIGFkZCgoSFRNTE9wdGlv
bkVsZW1lbnQgb3IgSFRNTE9wdEdyb3VwRWxlbWVudCkgZWxlbWVudCwgb3B0aW9uYWwgKEhUTUxF
bGVtZW50IG9yIGxvbmcpPyBiZWZvcmUgPSBudWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuaWRsCmluZGV4IDM1YWRhNDY1ZmU4N2FhN2M0MDM2OGZmNjA0NDM4MDNmZTU5
MTRmMjcuLmZhYWE2NzIwZGE1ZGQxOTJlYzVlYTczMTQ2ZDhjN2ViNzdhODllMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbApAQCAtMTksOSArMTksOSBAQAogICov
CiAKIGludGVyZmFjZSBIVE1MVGFibGVFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtDRVJl
YWN0aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBIVE1MVGFibGVDYXB0
aW9uRWxlbWVudD8gY2FwdGlvbjsKLSAgICBbQ0VSZWFjdGlvbnMsIFNldHRlck1heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ/IHRIZWFkOwotICAgIFtD
RVJlYWN0aW9ucywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBIVE1MVGFibGVT
ZWN0aW9uRWxlbWVudD8gdEZvb3Q7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgSFRNTFRh
YmxlQ2FwdGlvbkVsZW1lbnQ/IGNhcHRpb247CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ/IHRIZWFkOworICAgIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50PyB0Rm9vdDsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29s
bGVjdGlvbiB0Qm9kaWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5pZGwKaW5kZXggYzQ5YzRiMTE4Y2M4NjEzY2RkMzJiODc1YjRmZjcwMWZhMDBkNDc1Yy4uYjg1
NDAxNjUyNzVlMWNkMzc3NDU4M2E0YjdjN2E2N2Q4MWIyMmI5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCkBAIC0yNCw4ICsyNCw4IEBAIGludGVyZmFj
ZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGRpck5hbWU7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFu
IGRpc2FibGVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsK
LSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBsb25nIG1pbkxlbmd0aDsK
LSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBsb25nIG1heExlbmd0aDsK
KyAgICBhdHRyaWJ1dGUgbG9uZyBtaW5MZW5ndGg7CisgICAgYXR0cmlidXRlIGxvbmcgbWF4TGVu
Z3RoOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgW1JlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcGxhY2Vob2xkZXI7CiAgICAgW1JlZmxlY3RdIGF0dHJp
YnV0ZSBib29sZWFuIHJlYWRPbmx5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIu
aWRsCmluZGV4IGZkZTdkZGIwNDBjYWNiMDJhZGE1MjYyNzYzYjRlZDIyZWFlMWRiZjcuLmIxZTBi
OTFjNTViZGE5YTA4YTllYWMxMGMyZjA0NDkxNmRlZjFkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5pZGwKQEAgLTQ0LDYgKzQ0LDYgQEAKICAgICBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlOwogICAgIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIHBsYXliYWNrUmF0ZTsKIAotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2Vw
dGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgdm9sdW1lOworICAgIGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHZvbHVtZTsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBtdXRl
ZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVEN1ZS5pZGwKaW5kZXggOWEzYjc4YTdiMTNh
MzI0MDIzMWNmNDZmYzliMjAxN2RiZjY5M2RmMy4uMjRhNGNhOThmMTE5MzY2ZWRkMjVlMWFiYzI1
MmM0YmQxMmRmNjVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRD
dWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUQ3VlLmlkbApAQCAtMzAs
MTIgKzMwLDEyIEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgSlNHZW5lcmF0ZVRv
TmF0aXZlT2JqZWN0LAogXSBpbnRlcmZhY2UgVlRUQ3VlIDogVGV4dFRyYWNrQ3VlIHsKLSAgICBb
U2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgdmVydGljYWw7Cisg
ICAgYXR0cmlidXRlIERPTVN0cmluZyB2ZXJ0aWNhbDsKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBz
bmFwVG9MaW5lczsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBkb3Vi
bGUgbGluZTsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBkb3VibGUg
cG9zaXRpb247Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgZG91Ymxl
IHNpemU7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGFsaWduOworICAgIGF0dHJpYnV0ZSBkb3VibGUgbGluZTsKKyAgICBhdHRyaWJ1dGUgZG91Ymxl
IHBvc2l0aW9uOworICAgIGF0dHJpYnV0ZSBkb3VibGUgc2l6ZTsKKyAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGFsaWduOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsKICAgICBEb2N1bWVu
dEZyYWdtZW50IGdldEN1ZUFzSFRNTCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1ZUVFJlZ2lvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJl
Z2lvbi5pZGwKaW5kZXggN2EyNGJjMmFjZGY2MTQzNTNkMGZiYzM3N2I4NjA3ZDcwZmZiMmU4Yy4u
MDAwNWU0NzJkN2IxODJlM2RkMjRhMzQzNDg4MTYwMDc1YTAzMGZlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVlRUUmVnaW9uLmlkbApAQCAtMzMsMTEgKzMzLDExIEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFRleHRUcmFjayB0cmFjazsKIAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
aWQ7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgZG91YmxlIHdpZHRo
OwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGxvbmcgaGVpZ2h0Owot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGRvdWJsZSByZWdpb25BbmNo
b3JYOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGRvdWJsZSByZWdp
b25BbmNob3JZOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGRvdWJs
ZSB2aWV3cG9ydEFuY2hvclg7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1
dGUgZG91YmxlIHZpZXdwb3J0QW5jaG9yWTsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25d
IGF0dHJpYnV0ZSBET01TdHJpbmcgc2Nyb2xsOworICAgIGF0dHJpYnV0ZSBkb3VibGUgd2lkdGg7
CisgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0OworICAgIGF0dHJpYnV0ZSBkb3VibGUgcmVnaW9u
QW5jaG9yWDsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHJlZ2lvbkFuY2hvclk7CisgICAgYXR0cmli
dXRlIGRvdWJsZSB2aWV3cG9ydEFuY2hvclg7CisgICAgYXR0cmlidXRlIGRvdWJsZSB2aWV3cG9y
dEFuY2hvclk7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyBzY3JvbGw7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
SGlzdG9yeS5pZGwKaW5kZXggMTNhZmY1ZGY4Y2MwNTlkNzFmOTMzZTExOTE2MTZmZGYyZTJmZjU2
Mi4uNTBiM2Q2NmFiYmM0ODc5NGU2ZmIzYzg1ODE5N2VkYzhmNzgxZTFkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0hpc3RvcnkuaWRsCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1J
bXBsRnJhbWUsCiBdIGludGVyZmFjZSBIaXN0b3J5IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uLCBHZXR0
ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFNjcm9sbFJlc3RvcmF0aW9uIHNjcm9sbFJl
c3RvcmF0aW9uOworICAgIFtHZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFNjcm9s
bFJlc3RvcmF0aW9uIHNjcm9sbFJlc3RvcmF0aW9uOwogICAgIFtDYWNoZWRBdHRyaWJ1dGUsIEN1
c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBzdGF0ZTsKIAog
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBiYWNr
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCmluZGV4IDU4OTc0ZDQ0ODRjNWY4ZmQ3OTI4OWUy
MDhlNDVlOWRlNDM2ZDFkNWMuLjBjMWFlMDUzOWQ5MWE3MmQyZWNmM2EwYWQ1OThkZjMwNWQ5ZDQ1
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCkBAIC00MiwyMCArNDIsMjAgQEAKICAgICBJ
c0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdCwKICAgICBVbmZvcmdlYWJsZQogXSBpbnRl
cmZhY2UgTG9jYXRpb24gewotICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RX
aW5kb3csIFNldHRlck1heVRocm93RXhjZXB0aW9uLCBEb05vdENoZWNrU2VjdXJpdHlPblNldHRl
cl0gc3RyaW5naWZpZXIgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOworICAgIFtTZXR0ZXJDYWxs
V2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVy
XSBzdHJpbmdpZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7CiAKICAgICBbQ2FsbFdpdGg9
QWN0aXZlV2luZG93JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4Y2VwdGlvbiwgRm9yd2FyZERlY2xh
cmVJbkhlYWRlcl0gdm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CiAgICAgW0RvTm90Q2hlY2tT
ZWN1cml0eSwgQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93LCBGb3J3YXJkRGVjbGFy
ZUluSGVhZGVyXSB2b2lkIHJlcGxhY2UoVVNWU3RyaW5nIHVybCk7CiAgICAgW0NhbGxXaXRoPUFj
dGl2ZVdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCByZWxvYWQoKTsKIAogICAg
IC8vIFVSSSBkZWNvbXBvc2l0aW9uIGF0dHJpYnV0ZXMKLSAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0
aXZlV2luZG93JkZpcnN0V2luZG93LCBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IFVTVlN0cmluZyBwcm90b2NvbDsKLSAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZp
cnN0V2luZG93LCBTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFVTVlN0cmluZyBo
b3N0OwotICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIFNldHRl
ck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhvc3RuYW1lOwotICAgIFtT
ZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIFNldHRlck1heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBvcnQ7Ci0gICAgW1NldHRlckNhbGxXaXRoPUFj
dGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0
ZSBVU1ZTdHJpbmcgcGF0aG5hbWU7Ci0gICAgW1NldHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZG
aXJzdFdpbmRvdywgU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBVU1ZTdHJpbmcg
c2VhcmNoOwotICAgIFtTZXR0ZXJDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIFNl
dHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhhc2g7CisgICAgW1Nl
dHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvd10gYXR0cmlidXRlIFVTVlN0cmlu
ZyBwcm90b2NvbDsKKyAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93
XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhvc3Q7CisgICAgW1NldHRlckNhbGxXaXRoPUFjdGl2ZVdp
bmRvdyZGaXJzdFdpbmRvd10gYXR0cmlidXRlIFVTVlN0cmluZyBob3N0bmFtZTsKKyAgICBbU2V0
dGVyQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgVVNWU3RyaW5n
IHBvcnQ7CisgICAgW1NldHRlckNhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvd10gYXR0
cmlidXRlIFVTVlN0cmluZyBwYXRobmFtZTsKKyAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2lu
ZG93JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNlYXJjaDsKKyAgICBbU2V0dGVy
Q2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhh
c2g7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG9yaWdpbjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbAppbmRleCBhNzZlNmFmNzIxYjc0OWJl
MmY3YTA4ZTkwZGRmMWExOWIwZGI4MmU5Li42MTVhMDhkMWM1ZjA0MTBjZTYxZDZhZDhiNGZiZGM0
Mzk0YjdlYTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbApA
QCAtMjYsOCArMjYsOCBAQAogWwogICAgIENvbmRpdGlvbmFsPVNWR19GT05UUywKIF0gaW50ZXJm
YWNlIFNWR0FsdEdseXBoRWxlbWVudCA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQgewotICAg
IFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBnbHlwaFJlZjsK
LSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgZm9ybWF0
OworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgZ2x5cGhSZWY7CisgICAgYXR0cmlidXRlIERPTVN0
cmluZyBmb3JtYXQ7CiB9OwogCiBTVkdBbHRHbHlwaEVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklS
ZWZlcmVuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmlkbAppbmRleCAyNWI2MzQ1ODU5ZTgxZWMxZjRh
MjQ4MTYxMWU3NjkxODU2NGUzZDNiLi5jMmQwYTg1NDA5YzdmMDhlZTdkMjUxNTIxZTJkYjlhMWJi
N2RmZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5pZGwKQEAgLTMxLDEwICszMSwxMCBAQAogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19BTkdMRVRZUEVfR1JBRCA9IDQ7CiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgdW5pdFR5cGU7Ci0gICAgW1NldHRlck1heVRo
cm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXZhbHVlRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWU7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBh
dHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsKKyAgICBb
SW1wbGVtZW50ZWRBcz12YWx1ZUZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZs
b2F0IHZhbHVlOworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWVJblNwZWNp
ZmllZFVuaXRzOwogCi0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHZhbHVlQXNTdHJpbmc7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZUFzU3Ry
aW5nOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIG5ld1ZhbHVlU3BlY2lmaWVkVW5p
dHModW5zaWduZWQgc2hvcnQgdW5pdFR5cGUsIHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEJvb2xlYW4uaWRsCmluZGV4IDNlZjcwYTY1NmQ2ZDhmZGIyYTZkYTllNTY4YTc1
NWUyZDZlMzIwM2QuLjc0MTlkNmE3N2RmYmNiZGEyMzViYTIxMDA1MWQ5MDI4Y2I4NTFkMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaWRsCkBAIC0yNiw3ICsyNiw3
IEBACiBbCiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNlIFNWR0FuaW1hdGVk
Qm9vbGVhbiB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgYm9vbGVh
biBiYXNlVmFsOworICAgIGF0dHJpYnV0ZSBib29sZWFuIGJhc2VWYWw7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gYW5pbVZhbDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEVudW1lcmF0aW9uLmlkbAppbmRleCAwODBhN2U5ZWQzN2M0NTRlMTQ1MDBlMWQ5
YmUwYjZhNDJlZmNkNDQyLi45NDQ3ODc1MDhiMWNiMGViZWM4OTI3OTY4MTdmODIwNDIzMTM0ZTcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsCkBA
IC0yNiw3ICsyNiw3IEBACiBbCiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24KIF0gaW50ZXJmYWNl
IFNWR0FuaW1hdGVkRW51bWVyYXRpb24gewotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0g
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGJhc2VWYWw7CisgICAgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IGJhc2VWYWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFu
aW1WYWw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJ
bnRlZ2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXIuaWRsCmlu
ZGV4IGJjZjhhZjA3ZTA5MWI1MTgxOGMzNTc5OTcxNDE5MjUyMDA0YzEwYjAuLmM5ODViNDIyN2Yx
Mjc4MGJiMDM5MTExMzc5NDVhNjFkZjIwY2RhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZEludGVnZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZEludGVnZXIuaWRsCkBAIC0yNiw3ICsyNiw3IEBACiBbCiAgICAgU2tpcFZUYWJsZVZh
bGlkYXRpb24KIF0gaW50ZXJmYWNlIFNWR0FuaW1hdGVkSW50ZWdlciB7Ci0gICAgW1NldHRlck1h
eVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgbG9uZyBiYXNlVmFsOworICAgIGF0dHJpYnV0ZSBs
b25nIGJhc2VWYWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgYW5pbVZhbDsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaWRsCmluZGV4IGU0Y2Q5ZjQwN2Zi
M2Y2NTQyOTI3ZWMxNWQ5MmViMWY5MzU5NjhlN2UuLmEwZTJjMjkwMjUxYjA5YjI5MTA1N2M5OTgz
MDlkMjg2ODcwYTY1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZE51bWJlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmlk
bApAQCAtMjcsNyArMjcsNyBAQAogWwogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGludGVy
ZmFjZSBTVkdBbmltYXRlZE51bWJlciB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBh
dHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IGJhc2VWYWw7CisgICAgYXR0cmlidXRlIHVucmVz
dHJpY3RlZCBmbG9hdCBiYXNlVmFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0
ZWQgZmxvYXQgYW5pbVZhbDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFN0cmluZy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRTdHJp
bmcuaWRsCmluZGV4IGExZGE1Njc3ZWY1ZDRlZmI5YmY1MmFkYWFiYmIyYmIyYzA2ZmNkM2QuLjBh
ZGM4NTkzMDkxOWNhN2I3MDBlNzI2ZjI5MGU3NWYyMzk0Y2QxNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmlkbApAQCAtMjYsNyArMjYsNyBAQAogWwogICAgIFNraXBW
VGFibGVWYWxpZGF0aW9uCiBdIGludGVyZmFjZSBTVkdBbmltYXRlZFN0cmluZyB7Ci0gICAgW1Nl
dHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhc2VWYWw7CisgICAg
YXR0cmlidXRlIERPTVN0cmluZyBiYXNlVmFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgYW5pbVZhbDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
ZW5ndGguaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwKaW5kZXggM2JjM2Q0
NGY3MWJiMDliNDJhZWNmODQzNDJmMDExNTJjYzU4OThmOS4uNzBiOTQ0NjdiNzYzMzcwMGNjY2Y2
M2E4ODg4YjAxMmU0ZWYyMDYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xl
bmd0aC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwKQEAgLTM1LDEw
ICszNSwxMCBAQCBpbnRlcmZhY2UgU1ZHTGVuZ3RoIHsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVkdfTEVOR1RIVFlQRV9QQyA9IDEwOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IHVuaXRUeXBlOwotICAgIFtHZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbiwgU2V0dGVy
TWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9dmFsdWVGb3JCaW5kaW5nc10gYXR0cmli
dXRlIHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZTsKKyAgICBbR2V0dGVyTWF5VGhyb3dFeGNlcHRp
b24sIEltcGxlbWVudGVkQXM9dmFsdWVGb3JCaW5kaW5nc10gYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBmbG9hdCB2YWx1ZTsKIAotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHM7Ci0gICAgW1NldHRlck1h
eVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlQXNTdHJpbmc7CisgICAg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHM7CisgICAg
YXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZUFzU3RyaW5nOwogCiAgICAgW01heVRocm93RXhjZXB0
aW9uXSB2b2lkIG5ld1ZhbHVlU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQgdW5pdFR5cGUs
IHVucmVzdHJpY3RlZCBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCB1
bml0VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRyaXguaWRsCmluZGV4IDJiMmMzMzdmZDQ4OTNiOWZh
ZjQ0ZWYzZmE5ZTRjZTdiOGRhMTY1ODcuLmRlZmYwNTYzZWM0OTc3OTEwYWUwYmMyYjQ5NThlYzA4
ZGUxZjU1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRyaXguaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRyaXguaWRsCkBAIC0yNiwxMiArMjYsMTIgQEAK
IF0gaW50ZXJmYWNlIFNWR01hdHJpeCB7CiAgICAgLy8gRklYTUU6IHRoZXNlIGF0dHJpYnV0ZXMg
c2hvdWxkIGFsbCBiZSBmbG9hdHMgYnV0IHNpbmNlIHdlIGltcGxlbWVudAogICAgIC8vIEFmZmlu
ZVRyYW5zZm9ybSB3aXRoIGRvdWJsZXMgc2V0dGluZyB0aGVzZSBhcyBkb3VibGVzIG1ha2VzIG1v
cmUgc2Vuc2UuCi0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBhOwotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IHVucmVzdHJpY3RlZCBkb3VibGUgYjsKLSAgICBbU2V0dGVyTWF5VGhyb3dFeGNlcHRpb25dIGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGM7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0
aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBkOwotICAgIFtTZXR0ZXJNYXlUaHJv
d0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZTsKLSAgICBbU2V0dGVy
TWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGY7CisgICAg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYTsKKyAgICBhdHRyaWJ1dGUgdW5yZXN0cmlj
dGVkIGRvdWJsZSBiOworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGM7CisgICAg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZDsKKyAgICBhdHRyaWJ1dGUgdW5yZXN0cmlj
dGVkIGRvdWJsZSBlOworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGY7CiAKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR01hdHJpeCBtdWx0aXBseShTVkdNYXRyaXggc2Vjb25k
TWF0cml4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR01hdHJpeCBpbnZlcnNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdOdW1iZXIuaWRsCmluZGV4IDk3ZWQ2OTUwZWRiNWIxZDMzZDAwOGIyOWIyOTQw
NDQ0ODU1MzVmNjMuLjQ3NTRiZWYwM2ZmODdlY2QzNTZiNDRlYzFmNWM3MGZhMTgyYzc5ZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaWRsCkBAIC0yMSw2ICsyMSw2IEBACiAgKi8KIAogaW50ZXJm
YWNlIFNWR051bWJlciB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRl
ZEFzPXZhbHVlRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgdmFsdWU7
CisgICAgW0ltcGxlbWVudGVkQXM9dmFsdWVGb3JCaW5kaW5nc10gYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBmbG9hdCB2YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQb2ludC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsCmluZGV4IGI0Y2Vk
NGQ0MTlkYTJjNWM0NDNlYzdmNTAyYWQxMzJjNzRiOWQzZTQuLjdjODQ1MTViNWFhOTFiNTg1NzAw
ODMxMzEwYTcwOWY1OTdjM2YzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
b2ludC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmlkbApAQCAtMjMsOCAr
MjMsOCBAQAogWwogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGludGVyZmFjZSBTVkdQb2lu
dCB7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGZsb2F0IHg7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGZsb2F0IHk7CisgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCB4OworICAg
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgeTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlv
biwgTmV3T2JqZWN0XSBTVkdQb2ludCBtYXRyaXhUcmFuc2Zvcm0oU1ZHTWF0cml4IG1hdHJpeCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaWRsCmlu
ZGV4IDAzMzk5YzIxZmI1YzM3ODRiNjU4MGI0NTkwMjJiZmViOGE1OWQ4OGUuLjZkNTljNWYxZmZj
MGJhMmQzMDI4NDZkOWJmZDQ4YjFjMzk2YzIzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5pZGwKQEAgLTQ0LDYgKzQ0LDYgQEAKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVkdfTUVFVE9SU0xJQ0VfTUVFVCA9IDE7CiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgU1ZHX01FRVRPUlNMSUNFX1NMSUNFID0gMjsKIAotICAgIFtTZXR0ZXJNYXlUaHJv
d0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGFsaWduOwotICAgIFtTZXR0ZXJN
YXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG1lZXRPclNsaWNlOwor
ICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhbGlnbjsKKyAgICBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgbWVldE9yU2xpY2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JlY3QuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3QuaWRsCmluZGV4IDM5NWE3
ZjViZTRjZmMzMzdkZDNkZDUyNzYxOWYwOGJhZWRlYzI4NDYuLjcyOWUxNjNlMzJmYzhjNzg0ZDk4
MWZkODM0YTY5ZWI4MjBhY2NmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdS
ZWN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5pZGwKQEAgLTIxLDkgKzIx
LDkgQEAKICAqLwogCiBpbnRlcmZhY2UgU1ZHUmVjdCB7Ci0gICAgW1NldHRlck1heVRocm93RXhj
ZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHg7Ci0gICAgW1NldHRlck1heVRo
cm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHk7Ci0gICAgW1NldHRl
ck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHdpZHRoOwot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCBoZWlnaHQ7CisgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCB4OworICAgIGF0dHJp
YnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgeTsKKyAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZs
b2F0IHdpZHRoOworICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgaGVpZ2h0OwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwKaW5kZXggNDQ0MTMyOWNlM2E3ZjcwYzgwMTJi
MWVjZTFlZWI1OGQ1ZTg3YzgyZC4uNTcwOGMwM2NjYjFjOTQxOWE5YTVkZDlmNzkzNTYzNzA3NTVm
OTQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsCkBAIC0zNyw3ICszNyw3IEBACiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2aWV3VGFyZ2V0U3RyaW5nOwogCiAgICAg
Ly8gU1ZHWm9vbUFuZFBhbgotICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRl
IHVuc2lnbmVkIHNob3J0IHpvb21BbmRQYW47CisgICAgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IHpvb21BbmRQYW47CiB9OwogCiBTVkdWaWV3U3BlYyBpbXBsZW1lbnRzIFNWR0ZpdFRvVmlld0Jv
eDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsCmluZGV4IDRiNDRlMmFjZDc0YzA4
MjQ4MWI4ZDJlYzdiMjM3NzI5OWIyOGQyMTYuLjkyZDZjZDFlNjczMWYyYTNjMzU1MDk1MTAyMGE2
MjFkZmM0NmRiYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbApAQCAtNjMs
OCArNjMsOCBAQCBlbnVtIFhNTEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIHsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgb3BlbihCeXRlU3RyaW5nIG1ldGhvZCwgRE9NU3RyaW5nIHVybCk7
IC8vIEZJWE1FOiB1cmwgc2hvdWxkIGJlIGEgVVNWU3RyaW5nLgogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBvcGVuKEJ5dGVTdHJpbmcgbWV0aG9kLCBET01TdHJpbmcgdXJsLCBib29sZWFu
IGFzeW5jLCBvcHRpb25hbCBET01TdHJpbmc/IHVzZXIgPSBudWxsLCBvcHRpb25hbCBET01TdHJp
bmc/IHBhc3N3b3JkID0gbnVsbCk7IC8vIEZJWE1FOiB1cmwvdXNlci9wYXNzd29yZCBzaG91bGQg
YWxsIGJlIGEgVVNWU3RyaW5ncy4KICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0UmVx
dWVzdEhlYWRlcihCeXRlU3RyaW5nIGhlYWRlciwgQnl0ZVN0cmluZyB2YWx1ZSk7Ci0gICAgW1Nl
dHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB0aW1lb3V0Owot
ICAgIFtTZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIGJvb2xlYW4gd2l0aENyZWRl
bnRpYWxzOworICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisgICAgYXR0cmli
dXRlIGJvb2xlYW4gd2l0aENyZWRlbnRpYWxzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYTUxI
dHRwUmVxdWVzdFVwbG9hZCB1cGxvYWQ7CiAgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlLCBNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBzZW5kKG9wdGlvbmFsIChEb2N1bWVudCBvciBCb2R5SW5pdCk/
IGJvZHkgPSBudWxsKTsKICAgICB2b2lkIGFib3J0KCk7CkBAIC03Niw3ICs3Niw3IEBAIGVudW0g
WE1MSHR0cFJlcXVlc3RSZXNwb25zZVR5cGUgewogICAgIEJ5dGVTdHJpbmc/IGdldFJlc3BvbnNl
SGVhZGVyKEJ5dGVTdHJpbmcgbmFtZSk7CiAgICAgQnl0ZVN0cmluZyBnZXRBbGxSZXNwb25zZUhl
YWRlcnMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgb3ZlcnJpZGVNaW1lVHlwZShE
T01TdHJpbmcgbWltZSk7Ci0gICAgW1NldHRlck1heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
WE1MSHR0cFJlcXVlc3RSZXNwb25zZVR5cGUgcmVzcG9uc2VUeXBlOworICAgIGF0dHJpYnV0ZSBY
TUxIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSByZXNwb25zZVR5cGU7CiAgICAgW0NhY2hlZEF0dHJp
YnV0ZSwgQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYW55IHJlc3BvbnNlOwogICAg
IFtHZXR0ZXJNYXlUaHJvd0V4Y2VwdGlvbl0gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBy
ZXNwb25zZVRleHQ7CiAgICAgLy8gRklYTUU6IHJlc3BvbnNlWE1MIHNob3VsZCBiZSBhbm5vdGF0
ZWQgd2l0aCBbRXhwb3NlZD1XaW5kb3ddLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>