<?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>218881</bug_id>
          
          <creation_ts>2020-11-12 18:41:41 -0800</creation_ts>
          <short_desc>Cleanup InternalSettings</short_desc>
          <delta_ts>2020-11-13 11:39:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1707084</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-12 18:41:41 -0800</bug_when>
    <thetext>Cleanup InternalSettings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707085</commentid>
    <comment_count>1</comment_count>
      <attachid>413991</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-12 18:45:20 -0800</bug_when>
    <thetext>Created attachment 413991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707089</commentid>
    <comment_count>2</comment_count>
      <attachid>413993</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-12 19:09:47 -0800</bug_when>
    <thetext>Created attachment 413993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707103</commentid>
    <comment_count>3</comment_count>
      <attachid>413998</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-12 20:06:46 -0800</bug_when>
    <thetext>Created attachment 413998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707116</commentid>
    <comment_count>4</comment_count>
      <attachid>413998</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-11-12 21:31:36 -0800</bug_when>
    <thetext>Comment on attachment 413998
Patch

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

&gt; LayoutTests/fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:5
&gt; -    internals.settings.setUserInterfaceDirectionPolicy(&quot;View&quot;);
&gt; +    internals.settings.setUserInterfaceDirectionPolicy(&quot;System&quot;);

Huh, do these tests still pass if you change the preference on your machine, now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707222</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-13 06:41:39 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #4)
&gt; Comment on attachment 413998 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=413998&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:5
&gt; &gt; -    internals.settings.setUserInterfaceDirectionPolicy(&quot;View&quot;);
&gt; &gt; +    internals.settings.setUserInterfaceDirectionPolicy(&quot;System&quot;);
&gt; 
&gt; Huh, do these tests still pass if you change the preference on your machine,
&gt; now?

All I changed was the spelling of the enum value. I don’t think anything else will have changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707226</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-13 07:18:04 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #5)
&gt; (In reply to Tim Horton from comment #4)
&gt; &gt; Comment on attachment 413998 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=413998&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:5
&gt; &gt; &gt; -    internals.settings.setUserInterfaceDirectionPolicy(&quot;View&quot;);
&gt; &gt; &gt; +    internals.settings.setUserInterfaceDirectionPolicy(&quot;System&quot;);
&gt; &gt; 
&gt; &gt; Huh, do these tests still pass if you change the preference on your machine,
&gt; &gt; now?
&gt; 
&gt; All I changed was the spelling of the enum value. I don’t think anything
&gt; else will have changed.

To be even clearer, here was the old code that mapped View to System:

-    if (equalLettersIgnoringASCIICase(policy, &quot;content&quot;)) {
-        settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::Content);
-        return { };
-    }
-    if (equalLettersIgnoringASCIICase(policy, &quot;view&quot;)) {
-        settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::System);
-        return { };
-    }
-    return Exception { InvalidAccessError };

Now it just maps &quot;System&quot; to System directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707284</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-13 09:47:22 -0800</bug_when>
    <thetext>Committed r269784: &lt;https://trac.webkit.org/changeset/269784&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413998.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707285</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-13 09:48:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/71374775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707330</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-11-13 11:39:03 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #6)
&gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; (In reply to Tim Horton from comment #4)
&gt; &gt; &gt; Comment on attachment 413998 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=413998&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; LayoutTests/fast/scrolling/rtl-scrollbars-text-selection-scrolled.html:5
&gt; &gt; &gt; &gt; -    internals.settings.setUserInterfaceDirectionPolicy(&quot;View&quot;);
&gt; &gt; &gt; &gt; +    internals.settings.setUserInterfaceDirectionPolicy(&quot;System&quot;);
&gt; &gt; &gt; 
&gt; &gt; &gt; Huh, do these tests still pass if you change the preference on your machine,
&gt; &gt; &gt; now?
&gt; &gt; 
&gt; &gt; All I changed was the spelling of the enum value. I don’t think anything
&gt; &gt; else will have changed.
&gt; 
&gt; To be even clearer, here was the old code that mapped View to System:
&gt; 
&gt; -    if (equalLettersIgnoringASCIICase(policy, &quot;content&quot;)) {
&gt; -       
&gt; settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::
&gt; Content);
&gt; -        return { };
&gt; -    }
&gt; -    if (equalLettersIgnoringASCIICase(policy, &quot;view&quot;)) {
&gt; -       
&gt; settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::
&gt; System);
&gt; -        return { };
&gt; -    }
&gt; -    return Exception { InvalidAccessError };
&gt; 
&gt; Now it just maps &quot;System&quot; to System directly.

Oh! Naively assumed &quot;system&quot; meant &quot;app wide&quot; and &quot;view&quot; meant &quot;scoped to the view&quot;, since it is possible for those to differ. Now I wonder which it really is :D Anyway, making them all the same is A++.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413991</attachid>
            <date>2020-11-12 18:45:20 -0800</date>
            <delta_ts>2020-11-12 19:42:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218881-20201112184518.patch</filename>
            <type>text/plain</type>
            <size>112230</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDkyIEBACisyMDIwLTExLTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbnVwIEludGVybmFsU2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODg4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXSVBd
CisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6SW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbFNldHRpbmdzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEVkaXRpbmdCZWhhdmlvcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3kpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5n
T3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZENvbG9y
c0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlW
YWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3Jj
ZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFuZ2VWYWx1
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRT
dXBwb3J0c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpzZXRXZWJHTDJFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
U2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxT
ZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Np
b25DYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91
bGREaXNwbGF5VHJhY2tLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNob3VsZERpc3BsYXlUcmFja0tpbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OnNldENhblN0YXJ0TWVkaWEpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZh
dGVBdWRpb1Nlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0
U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjptX2N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRUb3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWVkaWFU
eXBlT3ZlcnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5n
czo6c2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2spOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVD
b25uZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlUGVuZGlu
Z1dlYkdMUG9saWN5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0QXV0b3Njcm9sbEZvckRy
YWdBbmREcm9wRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkSWdub3JlRm9udExvYWRD
b21wbGV0aW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFj
ZW1lbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0
eWxlT25Db3B5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJ
bmxpbmVBdHRyaWJ1dGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6c2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6dXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6ZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldERlZmVy
cmVkQ1NTUGFyc2VyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpzZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhl
dGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91
c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNl
dHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6aW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQWNjZXNzQVBJUGVyUGFnZVNjb3Bl
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpz
ZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24pOiBEZWxldGVkLgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVz
dFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZSk6CisKIDIwMjAtMTEtMTIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgbW9yZSBXZWJLaXRMZWdhY3kgc3BlY2lmaWMgc2V0dGluZ3Mg
dXNhZ2UgdG8gV2ViUHJlZmVyZW5jZXMueWFtbApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCShyZXZpc2lvbiAyNjk3NjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDMsMTAgKzQz
LDYgQEAKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9MYW5ndWFn
ZS5oPgogCi0jaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCi0jaW5jbHVkZSAiQ29sb3JDaG9v
c2VyLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAjaW5jbHVkZSAiQXVkaW9D
b250ZXh0LmgiCiAjZW5kaWYKQEAgLTU1LDUzICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQog
ICAgIDogbV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcihzZXR0aW5ncy5lZGl0aW5nQmVoYXZpb3JU
eXBlKCkpCi0jaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAgICAsIG1fb3JpZ2luYWxUZXh0
QXV0b3NpemluZ0VuYWJsZWQoc2V0dGluZ3MudGV4dEF1dG9zaXppbmdFbmFibGVkKCkpCi0gICAg
LCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoSW50U2l6ZSB7IHN0
YXRpY19jYXN0PGludD4oc2V0dGluZ3MudGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGVX
aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihzZXR0aW5ncy50ZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZUhlaWdodCgpKSB9KQotICAgICwgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nVXNl
c0lkZW1wb3RlbnRNb2RlKHNldHRpbmdzLnRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2Rl
KCkpCi0jZW5kaWYKLSAgICAsIG1fb3JpZ2luYWxNZWRpYVR5cGVPdmVycmlkZShzZXR0aW5ncy5t
ZWRpYVR5cGVPdmVycmlkZSgpKQotICAgICwgbV9vcmlnaW5hbENhbnZhc1VzZXNBY2NlbGVyYXRl
ZERyYXdpbmcoc2V0dGluZ3MuY2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZygpKQotICAgICwg
bV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZChEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6
Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpKQotICAgICwgbV9pbWFnZXNFbmFibGVkKHNldHRpbmdz
LmFyZUltYWdlc0VuYWJsZWQoKSkKLSAgICAsIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoc2V0
dGluZ3MucHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoKSkKICAgICAsIG1fbWluaW11bURPTVRpbWVy
SW50ZXJ2YWwoc2V0dGluZ3MubWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSkKLSNpZiBFTkFCTEUo
VklERU8pCi0gICAgLCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMoc2V0dGluZ3Muc2hvdWxkRGlz
cGxheVN1YnRpdGxlcygpKQotICAgICwgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnMoc2V0dGluZ3Mu
c2hvdWxkRGlzcGxheUNhcHRpb25zKCkpCi0gICAgLCBtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3Jp
cHRpb25zKHNldHRpbmdzLnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKCkpCi0jZW5kaWYK
LSAgICAsIG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKHNldHRpbmdzLmRlZmF1bHRWaWRlb1Bvc3Rl
clVSTCgpKQotICAgICwgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeShzZXR0aW5ncy5pc0ZvcmNl
UGVuZGluZ1dlYkdMUG9saWN5KCkpCiAgICAgLCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoc2V0dGluZ3MudGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSkKLSAgICAsIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNp
emVTaG9ydGhhbmRCZWhhdmlvcihzZXR0aW5ncy51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0
aGFuZEJlaGF2aW9yKCkpCi0gICAgLCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQo
c2V0dGluZ3MuYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZCgpKQotICAgICwgbV9xdWlj
a1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoc2V0dGluZ3MucXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnRFbmFibGVkKCkpCi0gICAgLCBtX3lvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50
RW5hYmxlZChzZXR0aW5ncy55b3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoKSkK
LSAgICAsIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkoc2V0dGluZ3Muc2hvdWxk
Q29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkoKSkKLSAgICAsIG1fZm9udEZhbGxiYWNrUHJlZmVy
c1BpY3RvZ3JhcGhzKHNldHRpbmdzLmZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocygpKQot
ICAgICwgbV9zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKHNldHRpbmdzLnNob3VsZEln
bm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoKSkKLSAgICAsIG1fYmFja2dyb3VuZFNob3VsZEV4dGVu
ZEJleW9uZFBhZ2Uoc2V0dGluZ3MuYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoKSkK
ICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KHNldHRpbmdzLnN0b3JhZ2VCbG9ja2luZ1Bv
bGljeSgpKQotICAgICwgbV9zY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoc2V0dGluZ3Muc2Ny
b2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzKCkpCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAg
ICAsIG1fdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoc2V0dGluZ3MuaXNUb3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCgpKQotI2VuZGlmCi0jaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkKLSAgICAsIG1fYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soc2V0dGluZ3MuYWxs
b3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soKSkKLSNlbmRpZgotICAgICwgbV9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKHNldHRpbmdzLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2soKSkKLSAg
ICAsIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihzZXR0aW5ncy5h
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKCkpCi0gICAgLCBtX2lubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHNldHRpbmdzLmlubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKCkpCi0gICAgLCBtX2Rl
ZmVycmVkQ1NTUGFyc2VyRW5hYmxlZChzZXR0aW5ncy5kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQo
KSkKLSAgICAsIG1faW5wdXRFdmVudHNFbmFibGVkKHNldHRpbmdzLmlucHV0RXZlbnRzRW5hYmxl
ZCgpKQotICAgICwgbV9pbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKHNldHRpbmdzLmluY29t
cGxldGVJbWFnZUJvcmRlckVuYWJsZWQoKSkKLSAgICAsIG1fc2hvdWxkRGlzcGF0Y2hTeW50aGV0
aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oc2V0dGluZ3Muc2hvdWxkRGlzcGF0
Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oKSkKLSAgICAsIG1f
c2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soc2V0dGlu
Z3Muc2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soKSkK
LSNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJfQVVESU8pCi0gICAgLCBtX3Nob3VsZERl
YWN0aXZhdGVBdWRpb1Nlc3Npb24oUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaG91bGRE
ZWFjdGl2YXRlQXVkaW9TZXNzaW9uKCkpCi0jZW5kaWYKLSAgICAsIG1fYW5pbWF0ZWRJbWFnZURl
YnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQoc2V0dGluZ3MuYW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFz
RHJhd2luZ0VuYWJsZWQoKSkKICAgICAsIG1fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShz
ZXR0aW5ncy51c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkpCiAgICAgLCBtX3N5c3RlbUxh
eW91dERpcmVjdGlvbihzZXR0aW5ncy5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSkKICAgICAsIG1f
cGRmSW1hZ2VDYWNoaW5nUG9saWN5KHNldHRpbmdzLnBkZkltYWdlQ2FjaGluZ1BvbGljeSgpKQpA
QCAtMTE0LDE4ICs2NiwyMCBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0
aW5nCiAgICAgLCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKICAgICAsIG1fZmV0Y2hBUElLZWVw
QWxpdmVBUElFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKCkpCi0gICAgLCBtX3Nob3VsZE1vY2tCb2xkU3lzdGVt
Rm9udEZvckFjY2Vzc2liaWxpdHkoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLnNob3VsZE1vY2tC
b2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoKSkKKyAgICAsIG1fY3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3Vz
dG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpCisgICAgLCBtX29yaWdpbmFsTW9ja1Njcm9sbGJh
cnNFbmFibGVkKERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6bW9ja1Njcm9sbGJhcnNFbmFibGVk
KCkpCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAgICAgLCBtX3Nob3VsZE1hbmFnZUF1ZGlvU2Vz
c2lvbkNhdGVnb3J5KERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2hvdWxkTWFuYWdlQXVkaW9T
ZXNzaW9uQ2F0ZWdvcnkoKSkKICNlbmRpZgotICAgICwgbV9jdXN0b21QYXN0ZWJvYXJkRGF0YUVu
YWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5jdXN0b21QYXN0
ZWJvYXJkRGF0YUVuYWJsZWQoKSkKKyNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJfQVVE
SU8pCisgICAgLCBtX3Nob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKCkpCisjZW5kaWYKKyAg
ICAsIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkuc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgp
KQogewogfQogCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRp
bmdzJiBzZXR0aW5ncykKIHsKLSAgICBzZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKG1f
b3JpZ2luYWxFZGl0aW5nQmVoYXZpb3IpOwotCiAgICAgZm9yIChjb25zdCBhdXRvJiBzdGFuZGFy
ZEZvbnQgOiBtX3N0YW5kYXJkRm9udEZhbWlsaWVzKQogICAgICAgICBzZXR0aW5ncy5zZXRTdGFu
ZGFyZEZvbnRGYW1pbHkoc3RhbmRhcmRGb250LnZhbHVlLCBzdGF0aWNfY2FzdDxVU2NyaXB0Q29k
ZT4oc3RhbmRhcmRGb250LmtleSkpOwogICAgIG1fc3RhbmRhcmRGb250RmFtaWxpZXMuY2xlYXIo
KTsKQEAgLTE1NCw0NiArMTA4LDEwIEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8KICAgICAgICAgc2V0dGluZ3Muc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkocGljdG9n
cmFwaEZvbnQudmFsdWUsIHN0YXRpY19jYXN0PFVTY3JpcHRDb2RlPihwaWN0b2dyYXBoRm9udC5r
ZXkpKTsKICAgICBtX3BpY3RvZ3JhcGhGb250RmFtaWxpZXMuY2xlYXIoKTsKIAotI2lmIEVOQUJM
RShURVhUX0FVVE9TSVpJTkcpCi0gICAgc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVk
KG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQpOwotICAgIHNldHRpbmdzLnNldFRleHRB
dXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlV2lkdGgobV9vcmlnaW5hbFRleHRBdXRvc2l6aW5n
V2luZG93U2l6ZU92ZXJyaWRlLndpZHRoKCkpOwotICAgIHNldHRpbmdzLnNldFRleHRBdXRvc2l6
aW5nV2luZG93U2l6ZU92ZXJyaWRlSGVpZ2h0KG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZS5oZWlnaHQoKSk7Ci0gICAgc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdV
c2VzSWRlbXBvdGVudE1vZGUobV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRN
b2RlKTsKLSNlbmRpZgotICAgIHNldHRpbmdzLnNldE1lZGlhVHlwZU92ZXJyaWRlKG1fb3JpZ2lu
YWxNZWRpYVR5cGVPdmVycmlkZSk7Ci0gICAgc2V0dGluZ3Muc2V0Q2FudmFzVXNlc0FjY2VsZXJh
dGVkRHJhd2luZyhtX29yaWdpbmFsQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyk7Ci0gICAg
c2V0dGluZ3Muc2V0SW1hZ2VzRW5hYmxlZChtX2ltYWdlc0VuYWJsZWQpOwotICAgIHNldHRpbmdz
LnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMpOwor
ICAgIHNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRpbmdCZWhh
dmlvcik7CiAgICAgc2V0dGluZ3Muc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwobV9taW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk7Ci0jaWYgRU5BQkxFKFZJREVPKQotICAgIHNldHRpbmdzLnNldFNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMobV9zaG91bGREaXNwbGF5U3VidGl0bGVzKTsKLSAgICBzZXR0
aW5ncy5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMobV9zaG91bGREaXNwbGF5Q2FwdGlvbnMpOwot
ICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKG1fc2hvdWxkRGlz
cGxheVRleHREZXNjcmlwdGlvbnMpOwotI2VuZGlmCi0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAg
ICBBdWRpb0NvbnRleHQ6OnNldERlZmF1bHRTYW1wbGVSYXRlRm9yVGVzdGluZyhXVEY6Om51bGxv
cHQpOwotI2VuZGlmCi0gICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKG1fZGVm
YXVsdFZpZGVvUG9zdGVyVVJMKTsKLSAgICBzZXR0aW5ncy5zZXRGb3JjZVBlbmRpbmdXZWJHTFBv
bGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKICAgICBzZXR0aW5ncy5zZXRUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhtX29yaWdpbmFsVGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwotICAgIHNldHRpbmdzLnNldFVz
ZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91c2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKLSAgICBzZXR0aW5ncy5zZXRBdXRvc2Nyb2xsRm9y
RHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZCk7Ci0g
ICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkobV9zaG91bGRD
b252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7Ci0gICAgc2V0dGluZ3Muc2V0Rm9udEZhbGxiYWNr
UHJlZmVyc1BpY3RvZ3JhcGhzKG1fZm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKTsKLSAg
ICBzZXR0aW5ncy5zZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKG1fc2hvdWxkSWdu
b3JlRm9udExvYWRDb21wbGV0aW9ucyk7Ci0gICAgc2V0dGluZ3Muc2V0QmFja2dyb3VuZFNob3Vs
ZEV4dGVuZEJleW9uZFBhZ2UobV9iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSk7CiAg
ICAgc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KG1fc3RvcmFnZUJsb2NraW5nUG9s
aWN5KTsKLSAgICBzZXR0aW5ncy5zZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMobV9zY3Jv
bGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMpOwotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAg
c2V0dGluZ3Muc2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQobV90b3VjaEV2ZW50RW11bGF0
aW9uRW5hYmxlZCk7Ci0jZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrKG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayk7Ci0gICAgc2V0dGluZ3Muc2V0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihtX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4pOwotICAgIHNldHRpbmdzLnNldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKG1faW5saW5lTWVkaWFQbGF5YmFja1Jl
cXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUpOwotICAgIHNldHRpbmdzLnNldFF1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZChtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxl
ZCk7Ci0gICAgc2V0dGluZ3Muc2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVk
KG1feW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5z
ZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQobV9kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQpOwot
ICAgIHNldHRpbmdzLnNldElucHV0RXZlbnRzRW5hYmxlZChtX2lucHV0RXZlbnRzRW5hYmxlZCk7
CiAgICAgc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShtX3VzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3kpOwogICAgIHNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbihtX3N5c3RlbUxheW91dERpcmVjdGlvbik7CiAgICAgc2V0dGluZ3Muc2V0UGRmSW1hZ2VD
YWNoaW5nUG9saWN5KG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5KTsKQEAgLTIwMSwxNiArMTE5LDcg
QEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbwogICAgIHNldHRpbmdz
LnNldEZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUobV9mb3JjZWRE
aXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShtX2ZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBzZXR0aW5ncy5zZXRGb250
TG9hZFRpbWluZ092ZXJyaWRlKG1fZm9udExvYWRUaW1pbmdPdmVycmlkZSk7Ci0gICAgUmVuZGVy
VGhlbWU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2li
aWxpdHkobV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KTsKLSAgICBG
b250Q2FjaGU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vz
c2liaWxpdHkobV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KTsKICAg
ICBzZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmcobV9mcmFtZUZsYXR0ZW5pbmcpOwotICAgIHNl
dHRpbmdzLnNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQobV9pbmNvbXBsZXRlSW1hZ2VC
b3JkZXJFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01v
dXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihtX3Nob3VsZERpc3BhdGNoU3ludGhldGlj
TW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKTsKLSAgICBzZXR0aW5ncy5zZXRTaG91
bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhtX3Nob3VsZERp
c3BhdGNoU3ludGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKTsKLSNpZiBFTkFCTEUo
VklERU8pIHx8IEVOQUJMRShXRUJfQVVESU8pCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKG1fc2hvdWxkRGVhY3RpdmF0ZUF1
ZGlvU2Vzc2lvbik7Ci0jZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRBbmltYXRlZEltYWdlRGVidWdD
YW52YXNEcmF3aW5nRW5hYmxlZChtX2FuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFi
bGVkKTsKIAogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVkKG1fd2ViR0wyRW5hYmxlZCk7CkBAIC0y
MjEsNiArMTMwLDE3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8K
ICNpZiBVU0UoQVVESU9fU0VTU0lPTikKICAgICBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnNl
dFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KG1fc2hvdWxkTWFuYWdlQXVkaW9TZXNz
aW9uQ2F0ZWdvcnkpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJf
QVVESU8pCisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXRTaG91bGREZWFjdGl2
YXRlQXVkaW9TZXNzaW9uKG1fc2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbik7CisjZW5kaWYK
KworICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZv
bnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJp
bGl0eSk7CisgICAgRm9udENhY2hlOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3Rl
bUZvbnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNz
aWJpbGl0eSk7CisKKyNpZiBFTkFCTEUoV0VCX0FVRElPKQorICAgIEF1ZGlvQ29udGV4dDo6c2V0
RGVmYXVsdFNhbXBsZVJhdGVGb3JUZXN0aW5nKFdURjo6bnVsbG9wdCk7CisjZW5kaWYKIH0KIAog
Y2xhc3MgSW50ZXJuYWxTZXR0aW5nc1dyYXBwZXIgOiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7
CkBAIC0yNjAsMTIgKzE4MCw2IEBAIEludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGluZ3Mo
UGFnZSoKICAgICAsIG1fcGFnZShwYWdlKQogICAgICwgbV9iYWNrdXAocGFnZS0+c2V0dGluZ3Mo
KSkKIHsKLSNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldEFsbG93
c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrKGZhbHNlKTsKLSNlbmRpZgotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGZh
bHNlKTsKLSNlbmRpZgogfQogCiBSZWY8SW50ZXJuYWxTZXR0aW5ncz4gSW50ZXJuYWxTZXR0aW5n
czo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0yODAsMTQgKzE5NCw2IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6cmVzZXRUb0NvbnNpc3RlbnQKICAgICBtX3BhZ2UtPnNldENhblN0YXJ0TWVkaWEo
dHJ1ZSk7CiAgICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbChmYWxzZSk7CiAKLSAgICBz
ZXR0aW5ncygpLnNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGZhbHNlKTsKLSNpZiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldHRpbmdzKCkuc2V0QWxsb3dzQWlyUGxh
eUZvck1lZGlhUGxheWJhY2soZmFsc2UpOwotI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLSAgICBzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oZmFsc2UpOwot
I2VuZGlmCi0KICAgICBtX2JhY2t1cC5yZXN0b3JlVG8oc2V0dGluZ3MoKSk7CiAgICAgbV9iYWNr
dXAgPSBCYWNrdXAgeyBzZXR0aW5ncygpIH07CiAKQEAgLTMwMCwxOCArMjA2LDYgQEAgU2V0dGlu
Z3MmIEludGVybmFsU2V0dGluZ3M6OnNldHRpbmdzKCkgYwogICAgIHJldHVybiBtX3BhZ2UtPnNl
dHRpbmdzKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgc2V0dGluZ3MoKS5zZXRUb3VjaEV2ZW50RW11bGF0
aW9uRW5hYmxlZChlbmFibGVkKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwot
I2VuZGlmCi0gICAgcmV0dXJuIHsgfTsKLX0KLQogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25z
dCBTdHJpbmcmIHNjcmlwdCkKIHsKICAgICBpZiAoIW1fcGFnZSkKQEAgLTM5NiwxOCArMjkwLDYg
QEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UAogICAgIHJldHVybiB7
IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRv
c2l6aW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQotICAgIHNldHRpbmdzKCkuc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGVu
YWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLSAgICBy
ZXR1cm4geyB9OwotfQotCiBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRU
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7
CiAgICAgaWYgKCFtX3BhZ2UpCkBAIC00MjIsMTk2ICszMDQsNjMgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VAogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlv
bk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3Rl
bnRNb2RlKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lmIEVOQUJMRShURVhUX0FVVE9T
SVpJTkcpCi0gICAgc2V0dGluZ3MoKS5zZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9k
ZShlbmFibGVkKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlmCi0g
ICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6
c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lm
IEVOQUJMRShFRElUQUJMRV9SRUdJT04pCi0gICAgbV9wYWdlLT5zZXRFZGl0YWJsZVJlZ2lvbkVu
YWJsZWQoZW5hYmxlZCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRp
ZgotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGlu
Z3M6OnNldE1lZGlhVHlwZU92ZXJyaWRlKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlKQorRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0RWRpdGluZ0JlaGF2aW9yKEVkaXRpbmdC
ZWhhdmlvciBlZGl0aW5nQmVoYXZpb3IpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNl
dE1lZGlhVHlwZU92ZXJyaWRlKG1lZGlhVHlwZSk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhj
ZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q2FuU3RhcnRNZWRpYShib29sIGVu
YWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBtX3BhZ2UtPnNldENhblN0YXJ0TWVkaWEoZW5hYmxl
ZCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYm9vbCBhbGxvd3MpCi17Ci0g
ICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNz
RXJyb3IgfTsKLSNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldHRp
bmdzKCkuc2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYWxsb3dzKTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGFsbG93cyk7Ci0jZW5kaWYKLSAgICByZXR1cm4geyB9OwotfQotCi1F
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb24oYm9vbCByZXF1aXJlcykKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCi0gICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldE1lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbihyZXF1aXJlcyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShyZXF1aXJlcyk7Ci0jZW5kaWYKLSAgICByZXR1cm4geyB9OwotfQotCi12b2lkIEludGVybmFs
U2V0dGluZ3M6OnNldERlZmF1bHRBdWRpb0NvbnRleHRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJh
dGUpCi17Ci0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAgICBBdWRpb0NvbnRleHQ6OnNldERlZmF1
bHRTYW1wbGVSYXRlRm9yVGVzdGluZyhzYW1wbGVSYXRlKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKHNhbXBsZVJhdGUpOwotI2VuZGlmCi19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBTdHJpbmcmIGVkaXRpbmdCZWhhdmlv
cikKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFs
aWRBY2Nlc3NFcnJvciB9OwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
ZGl0aW5nQmVoYXZpb3IsICJ3aW4iKSkKKyAgICBzd2l0Y2ggKGVkaXRpbmdCZWhhdmlvcikgewor
ICAgIGNhc2UgRWRpdGluZ0JlaGF2aW9yOjpXaW46CiAgICAgICAgIHNldHRpbmdzKCkuc2V0RWRp
dGluZ0JlaGF2aW9yVHlwZShFZGl0aW5nV2luZG93c0JlaGF2aW9yKTsKLSAgICBlbHNlIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlZGl0aW5nQmVoYXZpb3IsICJtYWMiKSkKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBFZGl0aW5nQmVoYXZpb3I6Ok1hYzoKICAgICAgICAgc2V0
dGluZ3MoKS5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKEVkaXRpbmdNYWNCZWhhdmlvcik7Ci0gICAg
ZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZWRpdGluZ0JlaGF2aW9yLCAi
dW5peCIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEVkaXRpbmdCZWhhdmlvcjo6VW5peDoK
ICAgICAgICAgc2V0dGluZ3MoKS5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKEVkaXRpbmdVbml4QmVo
YXZpb3IpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVkaXRp
bmdCZWhhdmlvciwgImlvcyIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEVkaXRpbmdCZWhh
dmlvcjo6SW9zOgogICAgICAgICBzZXR0aW5ncygpLnNldEVkaXRpbmdCZWhhdmlvclR5cGUoRWRp
dGluZ0lPU0JlaGF2aW9yKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
eW50YXhFcnJvciB9OwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoY29uc3QgU3RyaW5nJiBr
aW5kLCBib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAg
YXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9wYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJl
bmNlcygpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAic3Vi
dGl0bGVzIikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc1N1YnRp
dGxlcyhlbmFibGVkKTsKLSAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShraW5kLCAiY2FwdGlvbnMiKSkKLSAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNldFVzZXJQ
cmVmZXJzQ2FwdGlvbnMoZW5hYmxlZCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2Uoa2luZCwgInRleHRkZXNjcmlwdGlvbnMiKSkKLSAgICAgICAgY2FwdGlvblBy
ZWZlcmVuY2VzLnNldFVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKLSAgICBl
bHNlCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oa2luZCk7Ci0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlm
Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8Ym9vbD4gSW50ZXJuYWxTZXR0aW5n
czo6c2hvdWxkRGlzcGxheVRyYWNrS2luZChjb25zdCBTdHJpbmcmIGtpbmQpCi17Ci0gICAgaWYg
KCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9w
YWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwotICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShraW5kLCAic3VidGl0bGVzIikpCi0gICAgICAgIHJldHVybiBjYXB0
aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNTdWJ0aXRsZXMoKTsKLSAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2luZCwgImNhcHRpb25zIikpCi0gICAgICAgIHJldHVybiBj
YXB0aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNDYXB0aW9ucygpOwotICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAidGV4dGRlc2NyaXB0aW9ucyIpKQotICAgICAg
ICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucygp
OwotCi0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShraW5kKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQotdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZUludGVybmFsKGJvb2wgdXNlRGFy
a0FwcGVhcmFuY2UpCi17Ci0gICAgQVNTRVJUKG1fcGFnZSk7Ci0gICAgbV9wYWdlLT5lZmZlY3Rp
dmVBcHBlYXJhbmNlRGlkQ2hhbmdlKHVzZURhcmtBcHBlYXJhbmNlLCBtX3BhZ2UtPnVzZUVsZXZh
dGVkVXNlckludGVyZmFjZUxldmVsKCkpOwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKQot
ewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFj
Y2Vzc0Vycm9yIH07Ci0gICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCh1c2VEYXJrQXBw
ZWFyYW5jZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICByZXR1cm4geyB9OwogfQogCi1F
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQmxvY2tpbmdQb2xp
Y3koY29uc3QgU3RyaW5nJiBtb2RlKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5n
czo6c2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KFN0b3JhZ2VCbG9ja2luZ1BvbGljeSBwb2xpY3kp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
QWNjZXNzRXJyb3IgfTsKLSAgICBpZiAobW9kZSA9PSAiQWxsb3dBbGwiKQorICAgIHN3aXRjaCAo
cG9saWN5KSB7CisgICAgY2FzZSBTdG9yYWdlQmxvY2tpbmdQb2xpY3k6OkFsbG93QWxsOgogICAg
ICAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTZWN1cml0eU9yaWdpbjo6
QWxsb3dBbGxTdG9yYWdlKTsKLSAgICBlbHNlIGlmIChtb2RlID09ICJCbG9ja1RoaXJkUGFydHki
KQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VCbG9ja2luZ1BvbGljeTo6QmxvY2tU
aGlyZFBhcnR5OgogICAgICAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShT
ZWN1cml0eU9yaWdpbjo6QmxvY2tUaGlyZFBhcnR5U3RvcmFnZSk7Ci0gICAgZWxzZSBpZiAobW9k
ZSA9PSAiQmxvY2tBbGwiKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VCbG9ja2lu
Z1BvbGljeTo6QmxvY2tBbGw6CiAgICAgICAgIHNldHRpbmdzKCkuc2V0U3RvcmFnZUJsb2NraW5n
UG9saWN5KFNlY3VyaXR5T3JpZ2luOjpCbG9ja0FsbFN0b3JhZ2UpOwotICAgIGVsc2UKLSAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0gICAgcmV0dXJuIHsgfTsKLX0K
LQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVG
b3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAg
IHNldHRpbmdzKCkuc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMocHJlZmVyTUlNRVR5cGVGb3JJ
bWFnZXMpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIGlmICghbV9w
YWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0g
ICAgc2V0dGluZ3MoKS5zZXRJbWFnZXNFbmFibGVkKGVuYWJsZWQpOworICAgICAgICBicmVhazsK
KyAgICB9CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQor
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9s
aWN5KFBERkltYWdlQ2FjaGluZ1BvbGljeSBwb2xpY3kpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAiZGlzYWJsZWQiKSkKKyAgICBz
d2l0Y2ggKHBvbGljeSkgeworICAgIGNhc2UgUERGSW1hZ2VDYWNoaW5nUG9saWN5OjpFbmFibGVk
OgogICAgICAgICBzZXR0aW5ncygpLnNldFBkZkltYWdlQ2FjaGluZ1BvbGljeShQREZJbWFnZUNh
Y2hpbmdEaXNhYmxlZCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UocG9saWN5LCAiYmVsb3dtZW1vcnlsaW1pdCIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNl
IFBERkltYWdlQ2FjaGluZ1BvbGljeTo6QmVsb3dNZW1vcnlMaW1pdDoKICAgICAgICAgc2V0dGlu
Z3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1hZ2VDYWNoaW5nQmVsb3dNZW1vcnlM
aW1pdCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5
LCAiY2xpcGJvdW5kc29ubHkiKSkKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQREZJbWFnZUNh
Y2hpbmdQb2xpY3k6OkRpc2FibGVkOgorICAgICAgICBzZXR0aW5ncygpLnNldFBkZkltYWdlQ2Fj
aGluZ1BvbGljeShQREZJbWFnZUNhY2hpbmdEaXNhYmxlZCk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUERGSW1hZ2VDYWNoaW5nUG9saWN5OjpDbGlwQm91bmRzT25seToKICAgICAgICAgc2V0
dGluZ3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1hZ2VDYWNoaW5nQ2xpcEJvdW5k
c09ubHkpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBvbGlj
eSwgImVuYWJsZWQiKSkKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xp
Y3koUERGSW1hZ2VDYWNoaW5nRW5hYmxlZCk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIHJldHVy
biB7IH07CiB9CiAKQEAgLTYyMywyMiArMzcyLDYgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJu
YWxTZXR0aW5nczo6c2V0TQogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+
IEludGVybmFsU2V0dGluZ3M6OnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChjb25zdCBTdHJpbmcm
IHVybCkKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0RGVmYXVsdFZpZGVvUG9zdGVy
VVJMKHVybCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJu
YWxTZXR0aW5nczo6c2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koYm9vbCBmb3JjZWQpCi17Ci0g
ICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNz
RXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGZvcmNl
ZCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91
YmxlIHRpbWUpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCkBAIC02NDcsMzc5ICszODAsMjQ4IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFQKICAgICByZXR1cm4geyB9Owog
fQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VMZWdhY3lCYWNr
Z3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZv
aWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoRm9udExvYWRU
aW1pbmdPdmVycmlkZSBmb250TG9hZFRpbWluZ092ZXJyaWRlKQogewogICAgIGlmICghbV9wYWdl
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAg
c2V0dGluZ3MoKS5zZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGVu
YWJsZWQpOworICAgIHNldHRpbmdzKCkuc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShmb250TG9h
ZFRpbWluZ092ZXJyaWRlKTsKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lk
PiBJbnRlcm5hbFNldHRpbmdzOjpzZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKGJv
b2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSBwb2xp
Y3kpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEF1dG9zY3JvbGxGb3JEcmFnQW5k
RHJvcEVuYWJsZWQoZW5hYmxlZCk7CisgICAgc2V0dGluZ3MoKS5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KHBvbGljeSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhz
KGJvb2wgcHJlZmVyUGljdG9ncmFwaHMpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oU3lzdGVtTGF5b3V0RGlyZWN0aW9uIGRpcmVj
dGlvbikKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0Rm9udEZhbGxiYWNrUHJlZmVy
c1BpY3RvZ3JhcGhzKHByZWZlclBpY3RvZ3JhcGhzKTsKKyAgICBzZXR0aW5ncygpLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbihkaXJlY3Rpb24pOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUo
Y29uc3QgRm9udExvYWRUaW1pbmdPdmVycmlkZSYgZm9udExvYWRUaW1pbmdPdmVycmlkZSkKLXsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIGF1dG8gcG9saWN5ID0gU2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3Zl
cnJpZGU6Ok5vbmU7Ci0gICAgc3dpdGNoIChmb250TG9hZFRpbWluZ092ZXJyaWRlKSB7Ci0gICAg
Y2FzZSBGb250TG9hZFRpbWluZ092ZXJyaWRlOjpCbG9jazoKLSAgICAgICAgcG9saWN5ID0gU2V0
dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OkJsb2NrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OlN3YXA6Ci0gICAgICAgIHBvbGljeSA9IFNl
dHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpTd2FwOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OkZhaWx1cmU6Ci0gICAgICAgIHBvbGljeSA9
IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpGYWlsdXJlOwotICAgICAgICBicmVh
azsKLSAgICB9Ci0gICAgc2V0dGluZ3MoKS5zZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKHBvbGlj
eSk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sIGlnbm9yZSkKLXsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0
aW9ucyhpZ25vcmUpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29s
IGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFF1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50RW5hYmxlZChlbmFibGVkKTsKLSAgICByZXR1cm4geyB9OwotfQotCi1FeGNl
cHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRZb3VUdWJlRmxhc2hQbHVnaW5SZXBs
YWNlbWVudEVuYWJsZWQoYm9vbCBlbmFibGVkKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nKEZyYW1lRmxhdHRlbmluZ1ZhbHVlIGZyYW1lRmxh
dHRlbmluZykKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0WW91VHViZUZsYXNoUGx1
Z2luUmVwbGFjZW1lbnRFbmFibGVkKGVuYWJsZWQpOworICAgIHNldHRpbmdzKCkuc2V0RnJhbWVG
bGF0dGVuaW5nKGZyYW1lRmxhdHRlbmluZyk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJl
eW9uZFBhZ2UoYm9vbCBoYXNFeHRlbmRlZEJhY2tncm91bmQpCitJbnRlcm5hbFNldHRpbmdzOjpG
b3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkQ29sb3JzQXJl
SW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQot
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0
dGluZ3MoKS5zZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShoYXNFeHRlbmRlZEJh
Y2tncm91bmQpOwotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHNldHRpbmdzKCkuZm9yY2Vk
Q29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKTsKIH0KIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNv
cHkoYm9vbCBjb252ZXJ0KQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRDb2xvcnNB
cmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KGNvbnZlcnQpOwotICAgIHJldHVybiB7IH07
CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlW
YWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNl
dFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhib29sIGVuYWJsZWQpCitJbnRlcm5hbFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFt
X3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
LSAgICBzZXR0aW5ncygpLnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhlbmFibGVkKTsK
LSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBzZXR0aW5ncygpLmZvcmNlZERpc3BsYXlJc01v
bm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50
ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sIGFsbG93
VW5jbGFtcGVkKQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWREaXNwbGF5SXNNb25v
Y2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIW1fcGFnZSB8fCAhbV9wYWdlLT5tYWluRnJh
bWUoKS52aWV3KCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKLQotICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1w
ZWRTY3JvbGxQb3NpdGlvbkZvclRlc3RpbmcoYWxsb3dVbmNsYW1wZWQpOwotICAgIHJldHVybiB7
IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJp
bGl0eVZhbHVlKHZhbHVlKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5n
czo6c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhib29sIGFsbG93cykKK0ludGVybmFsU2V0
dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgaWYg
KCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBzZXR0aW5ncygpLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYWxsb3dzKTsK
LSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBzZXR0aW5ncygpLmZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3Jl
ZW4oYm9vbCBhbGxvd3MpCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFByZWZlcnNS
ZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFj
Y2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihhbGxvd3MpOwotICAgIHJl
dHVybiB7IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFj
Y2Vzc2liaWxpdHlWYWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKGJvb2wgcmVxdWlyZXMpCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFs
dWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRJbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShyZXF1aXJlcyk7Ci0gICAgcmV0dXJu
IHsgfTsKKyAgICByZXR1cm4gc2V0dGluZ3MoKS5mb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFu
Z2VWYWx1ZSgpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRT
aG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KGJvb2wgcmVxdWlyZXMpCit2
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZh
bHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKIHsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9s
ZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVpcmVzKTsKLSAgICBGb250Q2FjaGU6OnNp
bmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkocmVx
dWlyZXMpOwotICAgIHJldHVybiB7IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRTdXBwb3J0
c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVk
KGJvb2wgaWdub3JlKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0V2Vi
R0wyRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNl
dEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKGlnbm9yZSk7Ci0gICAgcmV0
dXJuIHsgfTsKLX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHTDJFbmFibGVkKGJv
b2wgZW5hYmxlZCkKLXsKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZChlbmFibGVkKTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwogI2VuZGlmCisgICAgcmV0dXJuIHsgfTsKIH0K
IAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKGJvb2wgZW5hYmxlZCkK
K0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQoYm9v
bCBlbmFibGVkKQogeworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CiAjaWYgRU5BQkxFKFdFQkdQVSkKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQVUVuYWJsZWQoZW5hYmxl
ZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKICNlbmRpZgorICAgIHJldHVy
biB7IH07CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVF
bmFibGVkKGJvb2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6
OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CisgICAgaWYgKCFt
X3BhZ2UpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZChlbmFibGVkKTsKKyAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRp
b25PcjxTdHJpbmc+IEludGVybmFsU2V0dGluZ3M6OnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q3VzdG9tUGFzdGVi
b2FyZERhdGFFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHN3aXRjaCAo
c2V0dGluZ3MoKS51c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkpIHsKLSAgICBjYXNlIFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k6OkNvbnRlbnQ6Ci0gICAgICAgIHJldHVybiAiQ29u
dGVudCJfc3RyOwotICAgIGNhc2UgVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTo6U3lzdGVt
OgotICAgICAgICByZXR1cm4gIlZpZXciX3N0cjsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVi
b2FyZERhdGFFbmFibGVkKGVuYWJsZWQpOworICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlv
bk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShib29sIHNob3VsZCkKIHsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShwb2xpY3ks
ICJjb250ZW50IikpIHsKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5KFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k6OkNvbnRlbnQpOwotICAgICAg
ICByZXR1cm4geyB9OwotICAgIH0KLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UocG9saWN5LCAidmlldyIpKSB7Ci0gICAgICAgIHNldHRpbmdzKCkuc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeShVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5OjpTeXN0ZW0pOwot
ICAgICAgICByZXR1cm4geyB9OwotICAgIH0KKyNpZiBVU0UoQVVESU9fU0VTU0lPTikKKyAgICBE
ZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVn
b3J5KHNob3VsZCk7CisgICAgcmV0dXJuIHsgfTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNo
b3VsZCk7CiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworI2Vu
ZGlmCiB9CiAKLUV4Y2VwdGlvbk9yPFN0cmluZz4gSW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNo
b3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kIGtpbmQsIGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NF
cnJvciB9OwotICAgIHN3aXRjaCAoc2V0dGluZ3MoKS5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSkg
ewotICAgIGNhc2UgVGV4dERpcmVjdGlvbjo6TFRSOgotICAgICAgICByZXR1cm4gIkxUUiJfc3Ry
OwotICAgIGNhc2UgVGV4dERpcmVjdGlvbjo6UlRMOgotICAgICAgICByZXR1cm4gIlJUTCJfc3Ry
OworI2lmIEVOQUJMRShWSURFTykKKyAgICBhdXRvJiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBtX3Bh
Z2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7CisgICAgc3dpdGNoIChraW5kKSB7Cisg
ICAgY2FzZSBUcmFja0tpbmQ6OlN1YnRpdGxlczoKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2Vz
LnNldFVzZXJQcmVmZXJzU3VidGl0bGVzKGVuYWJsZWQpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFRyYWNrS2luZDo6Q2FwdGlvbnM6CisgICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRV
c2VyUHJlZmVyc0NhcHRpb25zKGVuYWJsZWQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRy
YWNrS2luZDo6VGV4dERlc2NyaXB0aW9uczoKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNl
dFVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKKyAgICAgICAgYnJlYWs7CiAg
ICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkQWNjZXNzRXJyb3IgfTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtpbmQpOworICAg
IFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorICAgIHJldHVybiB7IH07CiB9CiAKLUV4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxheW91dERpcmVjdGlv
bihjb25zdCBTdHJpbmcmIGRpcmVjdGlvbikKK0V4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsU2V0
dGluZ3M6OnNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kIGtpbmQpCiB7CiAgICAgaWYg
KCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aW9uLCAibHRy
IikpIHsKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oVGV4dERp
cmVjdGlvbjo6TFRSKTsKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICB9Ci0gICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgInJ0bCIpKSB7Ci0gICAgICAgIHNl
dHRpbmdzKCkuc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb246OlJUTCk7Ci0g
ICAgICAgIHJldHVybiB7IH07CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGF1dG8mIGNhcHRpb25Q
cmVmZXJlbmNlcyA9IG1fcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKTsKKyAgICBz
d2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFRyYWNrS2luZDo6U3VidGl0bGVzOgorICAgICAgICBy
ZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVzZXJQcmVmZXJzU3VidGl0bGVzKCk7CisgICAgY2Fz
ZSBUcmFja0tpbmQ6OkNhcHRpb25zOgorICAgICAgICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2Vz
LnVzZXJQcmVmZXJzQ2FwdGlvbnMoKTsKKyAgICBjYXNlIFRyYWNrS2luZDo6VGV4dERlc2NyaXB0
aW9uczoKKyAgICAgICAgcmV0dXJuIGNhcHRpb25QcmVmZXJlbmNlcy51c2VyUHJlZmVyc1RleHRE
ZXNjcmlwdGlvbnMoKTsKICAgICB9Ci0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2luZCk7CisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNl
dEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpCitF
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRFZGl0YWJsZVJlZ2lvbkVuYWJs
ZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRGcmFtZUZs
YXR0ZW5pbmcoZnJhbWVGbGF0dGVuaW5nKTsKKyNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9OKQor
ICAgIG1fcGFnZS0+c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGVuYWJsZWQpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKICAgICByZXR1cm4geyB9OwogfQogCi12
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGJvb2wgYWxs
b3dzQW55Q2VydGlmaWNhdGUpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRDYW5TdGFydE1lZGlhKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBEZXByZWNhdGVkR2xvYmFsU2V0
dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGFsbG93c0FueUNlcnRpZmljYXRlKTsK
KyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OworICAgIG1fcGFnZS0+c2V0Q2FuU3RhcnRNZWRpYShlbmFibGVkKTsKKyAgICBy
ZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjxib29sPiBJbnRlcm5hbFNldHRpbmdzOjpkZWZl
cnJlZENTU1BhcnNlckVuYWJsZWQoKQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJr
QXBwZWFyYW5jZUludGVybmFsKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCiB7Ci0gICAgaWYgKCFt
X3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
LSAgICByZXR1cm4gc2V0dGluZ3MoKS5kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoKTsKKyAgICBB
U1NFUlQobV9wYWdlKTsKKyAgICBtX3BhZ2UtPmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2Uo
dXNlRGFya0FwcGVhcmFuY2UsIG1fcGFnZS0+dXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwo
KSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldERlZmVycmVk
Q1NTUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKQog
ewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFj
Y2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQo
ZW5hYmxlZCk7CisgICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCh1c2VEYXJrQXBwZWFy
YW5jZSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbCBzaG91bGQp
CitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd1VuY2xhbXBlZFNj
cm9sbFBvc2l0aW9uKGJvb2wgYWxsb3dVbmNsYW1wZWQpCiB7Ci0jaWYgVVNFKEFVRElPX1NFU1NJ
T04pCi0gICAgRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nl
c3Npb25DYXRlZ29yeShzaG91bGQpOwotICAgIHJldHVybiB7IH07Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShzaG91bGQpOwotICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKLSNlbmRpZgotfQorICAgIGlmICghbV9wYWdlIHx8ICFtX3BhZ2UtPm1haW5GcmFtZSgp
LnZpZXcoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9
OwogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRDdXN0b21QYXN0ZWJv
YXJkRGF0YUVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGVuYWJs
ZWQpOworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1wZWRT
Y3JvbGxQb3NpdGlvbkZvclRlc3RpbmcoYWxsb3dVbmNsYW1wZWQpOwogICAgIHJldHVybiB7IH07
CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEluY29tcGxldGVJ
bWFnZUJvcmRlckVuYWJsZWQoYm9vbCBlbmFibGVkKQorRXhjZXB0aW9uT3I8dm9pZD4gIEludGVy
bmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbCBzaG91bGQp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
QWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEluY29tcGxldGVJbWFnZUJvcmRlckVu
YWJsZWQoZW5hYmxlZCk7CisjaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQor
ICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlv
U2Vzc2lvbihzaG91bGQpOworI2VuZGlmCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9u
T3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3Vz
ZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oYm9vbCBzaG91bGREaXNwYXRjaCkKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9u
dEZvckFjY2Vzc2liaWxpdHkoYm9vbCByZXF1aXJlcykKIHsKICAgICBpZiAoIW1fcGFnZSkKICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRp
bmdzKCkuc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdT
ZWxlY3Rpb24oc2hvdWxkRGlzcGF0Y2gpOworICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5z
ZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVpcmVzKTsKKyAg
ICBGb250Q2FjaGU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFj
Y2Vzc2liaWxpdHkocmVxdWlyZXMpOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9y
PHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VP
dXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2wgc2hvdWxkRGlzcGF0Y2gpCitFeGNlcHRpb25Pcjx2
b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShm
bG9hdCBzYW1wbGVSYXRlKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRTaG91bGRE
aXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhzaG91bGREaXNwYXRj
aCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotc3RhdGljIEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSBzZXR0aW5nc1RvSW50ZXJuYWxTZXR0aW5nc1ZhbHVlKFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFsdWUpCi17Ci0gICAgc3dpdGNoICh2YWx1
ZSkgewotICAgIGNhc2UgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVt
OgotICAgICAgICByZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlOjpTeXN0ZW07Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPbjoKLSAgICAgICAgcmV0dXJuIEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZTo6T247Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPZmY6Ci0gICAgICAgIHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWU6Ok9mZjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7Ci19
Ci0KLXN0YXRpYyBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGludGVybmFsU2V0
dGluZ3NUb1NldHRpbmdzVmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIHZhbHVlKQotewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIEludGVybmFs
U2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOgotICAgICAgICByZXR1
cm4gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOwotICAgIGNhc2Ug
SW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbjoKLSAgICAgICAg
cmV0dXJuIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOwotICAgIGNhc2Ug
SW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY6Ci0gICAgICAg
IHJldHVybiBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7Ci0gICAgfQot
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIFNldHRpbmdzOjpGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZjsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNj
ZXNzaWJpbGl0eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVk
QWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVy
bmFsU2V0dGluZ3NWYWx1ZShzZXR0aW5ncygpLmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNz
aWJpbGl0eVZhbHVlKCkpOwotfQotCi12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZENv
bG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlZENv
bG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKGludGVybmFsU2V0dGluZ3NUb1NldHRp
bmdzVmFsdWUodmFsdWUpKTsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJp
bGl0eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nl
c3NpYmlsaXR5VmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxT
ZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2li
aWxpdHlWYWx1ZSgpKTsKLX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWREaXNw
bGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlZERp
c3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0
dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQotCi1JbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25B
Y2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJu
YWxTZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nl
c3NpYmlsaXR5VmFsdWUoKSk7Ci19Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2Vk
UHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6
Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHZhbHVlKQotewotICAgIHNldHRpbmdzKCkuc2V0Rm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5n
c1RvU2V0dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQotCi1JbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkU3VwcG9ydHNIaWdoRHlu
YW1pY1JhbmdlVmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxT
ZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFs
dWUoKSk7Ci19Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkU3VwcG9ydHNIaWdo
RHluYW1pY1JhbmdlVmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlIHZhbHVlKQotewotICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkU3VwcG9ydHNIaWdoRHluYW1p
Y1JhbmdlVmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQot
Ci12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24o
Ym9vbCBzaG91bGQpCi17Ci0jaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQot
ICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlv
U2Vzc2lvbihzaG91bGQpOworI2lmIEVOQUJMRShXRUJfQVVESU8pCisgICAgQXVkaW9Db250ZXh0
OjpzZXREZWZhdWx0U2FtcGxlUmF0ZUZvclRlc3Rpbmcoc2FtcGxlUmF0ZSk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShzYW1wbGVSYXRlKTsKICNlbmRpZgorICAgIHJldHVybiB7IH07CiB9CiAK
LXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VTY29wZUVu
YWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIHNldHRpbmdzKCkuc2V0U3RvcmFnZUFjY2Vzc0FQ
SVBlclBhZ2VTY29wZUVuYWJsZWQoZW5hYmxlZCk7Ci19Ci0vLyBJZiB5b3UgYWRkIHRvIHRoaXMg
Y2xhc3MsIG1ha2Ugc3VyZSB0aGF0IHlvdSB1cGRhdGUgdGhlIEJhY2t1cCBjbGFzcyBmb3IgdGVz
dCByZXByb2R1Y2FiaWxpdHkhCisvLyBJZiB5b3UgYWRkIHRvIHRoaXMgY2xhc3MsIG1ha2Ugc3Vy
ZSB5b3UgYXJlIG5vdCBkdXBsaWNhdGluZyBmdW5jdGlvbmFsaXR5IGluIHRoZSBnZW5lcmF0ZWQK
Ky8vIGJhc2UgY2xhc3MgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZCBhbmQgdGhhdCB5b3UgdXBk
YXRlIHRoZSBCYWNrdXAgY2xhc3MgZm9yIHRlc3QgcmVwcm9kdWNhYmlsaXR5LgogCiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAkocmV2aXNpb24gMjY5
NzYxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTUwLDggKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgaG9zdERlc3Ryb3ll
ZCgpOwogICAgIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogCi0gICAgRXhjZXB0aW9u
T3I8dm9pZD4gc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2wpOworICAgIC8vIFNldHRp
bmdzCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IFN0
cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcm
IHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2Fuc1NlcmlmRm9udEZhbWlseShj
b25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwpAQCAtNTksNjYgKzU4
LDM0IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRDdXJzaXZlRm9udEZhbWls
eShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBj
b25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UGljdG9ncmFw
aEZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsK
LSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbCk7CisK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRleHRB
dXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFRleHRBdXRvc2l6aW5nRm9udFNjYWxlRmFjdG9yKGZsb2F0KTsKLSAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRNZWRpYVR5cGVPdmVycmlkZShjb25zdCBTdHJpbmcmKTsKLSAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRDYW5TdGFydE1lZGlhKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldEFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihib29sKTsKLSAg
ICB2b2lkIHNldERlZmF1bHRBdWRpb0NvbnRleHRTYW1wbGVSYXRlKGZsb2F0KTsKLQotICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBTdHJpbmcmKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRQcmVmZXJNSU1FVHlwZUZvckltYWdlcyhib29sKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRQREZJbWFnZUNhY2hpbmdQb2xpY3koY29uc3QgU3RyaW5nJik7
Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChjb25zdCBT
dHJpbmcmIGtpbmQsIGJvb2wgZW5hYmxlZCk7Ci0gICAgRXhjZXB0aW9uT3I8Ym9vbD4gc2hvdWxk
RGlzcGxheVRyYWNrS2luZChjb25zdCBTdHJpbmcmIGtpbmQpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNl
dFN0b3JhZ2VCbG9ja2luZ1BvbGljeShjb25zdCBTdHJpbmcmKTsKLSAgICBFeGNlcHRpb25Pcjx2
b2lkPiBzZXRJbWFnZXNFbmFibGVkKGJvb2wpOworCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoY29uc3QgU3RyaW5nJik7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koYm9vbCk7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHMoZG91YmxlKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VMZWdhY3lC
YWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEF1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2wpOwotICAg
IGVudW0gY2xhc3MgRm9udExvYWRUaW1pbmdPdmVycmlkZSB7IEJsb2NrLCBTd2FwLCBGYWlsdXJl
IH07Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShjb25z
dCBGb250TG9hZFRpbWluZ092ZXJyaWRlJik7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hv
dWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJvb2wp
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQ
YWdlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZENvbnZlcnRQb3NpdGlv
blN0eWxlT25Db3B5KGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNjcm9sbGluZ1Ry
ZWVJbmNsdWRlc0ZyYW1lcyhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBbGxvd1Vu
Y2xhbXBlZFNjcm9sbFBvc2l0aW9uKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEFs
bG93c0lubGluZU1lZGlhUGxheWJhY2soYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihib29sKTsKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZShib29sKTsKLSAgICBFeGNlcHRpb25PcjxTdHJpbmc+IHVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9yPFN0cmluZz4gc3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNo
b3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbCk7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2wp
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQo
Ym9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNN
b3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xp
Y2soYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2Fu
dmFzRHJhd2luZ0VuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIGludGVydmFsSW5T
ZWNvbmRzKTsKIAotICAgIHVzaW5nIEZyYW1lRmxhdHRlbmluZ1ZhbHVlID0gRnJhbWVGbGF0dGVu
aW5nOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0
ZW5pbmdWYWx1ZSk7CisgICAgZW51bSBjbGFzcyBFZGl0aW5nQmVoYXZpb3IgOiB1aW50OF90IHsg
TWFjLCBXaW4sIFVuaXgsIElvcyB9OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEVkaXRpbmdC
ZWhhdmlvcihFZGl0aW5nQmVoYXZpb3IpOworICAgIAorICAgIGVudW0gY2xhc3MgUERGSW1hZ2VD
YWNoaW5nUG9saWN5IDogdWludDhfdCB7IEVuYWJsZWQsIEJlbG93TWVtb3J5TGltaXQsIERpc2Fi
bGVkLCBDbGlwQm91bmRzT25seSB9OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFBERkltYWdl
Q2FjaGluZ1BvbGljeShQREZJbWFnZUNhY2hpbmdQb2xpY3kpOwogCi0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2wpOworICAgIGVudW0gY2xhc3MgU3Rv
cmFnZUJsb2NraW5nUG9saWN5IDogdWludDhfdCB7IEFsbG93QWxsLCBCbG9ja1RoaXJkUGFydHks
IEJsb2NrQWxsIH07CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3RvcmFnZUJsb2NraW5nUG9s
aWN5KFN0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgCi0gICAgc3RhdGljIHZvaWQgc2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGUoYm9vbCk7CisgICAgdXNpbmcgVXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSA9IFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k7CisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KTsKKworICAgIHVzaW5nIFN5c3RlbUxheW91dERpcmVjdGlv
biA9IFRleHREaXJlY3Rpb247CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3lzdGVtTGF5b3V0
RGlyZWN0aW9uKFN5c3RlbUxheW91dERpcmVjdGlvbik7CiAKLSAgICBFeGNlcHRpb25Pcjxib29s
PiBkZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRE
ZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoYm9vbCk7CisgICAgdXNpbmcgRm9udExvYWRUaW1pbmdP
dmVycmlkZSA9IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOworICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlk
ZSk7CiAKLSAgICBlbnVtIGNsYXNzIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7IFN5c3RlbSwg
T24sIE9mZiB9OworICAgIHVzaW5nIEZyYW1lRmxhdHRlbmluZ1ZhbHVlID0gRnJhbWVGbGF0dGVu
aW5nOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0
ZW5pbmdWYWx1ZSk7CisKKyAgICB1c2luZyBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgPSBTZXR0
aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIEZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSBmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0Owog
ICAgIHZvaWQgc2V0Rm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoRm9y
Y2VkQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgZm9y
Y2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwpAQCAtMTI5
LDE0ICs5NiwzNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb3JjZWRTdXBwb3J0c0hpZ2hEeW5h
bWljUmFuZ2VWYWx1ZShGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUpOwogCiAgICAgLy8gUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy4KLSAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wp
OwotICAgIHN0YXRpYyB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZv
aWQgc2V0UGljdHVyZUluUGljdHVyZUFQSUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQg
c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFdlYkdMMkVuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0V2ViR1BV
RW5hYmxlZChib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKGJvb2wpOwogCi0gICAgdm9pZCBzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9T
ZXNzaW9uKGJvb2wpOwotICAgIAotICAgIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VT
Y29wZUVuYWJsZWQoYm9vbCk7CisgICAgLy8gRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzLgorICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJv
b2wpOworCisgICAgLy8gQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy4KKyAgICBlbnVtIGNsYXNzIFRy
YWNrS2luZCA6IHVpbnQ4X3QgeyBTdWJ0aXRsZXMsIENhcHRpb25zLCBUZXh0RGVzY3JpcHRpb25z
IH07CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChUcmFj
a0tpbmQsIGJvb2wgZW5hYmxlZCk7CisgICAgRXhjZXB0aW9uT3I8Ym9vbD4gc2hvdWxkRGlzcGxh
eVRyYWNrS2luZChUcmFja0tpbmQpOworCisgICAgLy8gUGFnZQorICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEVkaXRhYmxlUmVnaW9uRW5hYmxlZChib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRDYW5TdGFydE1lZGlhKGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVzZURh
cmtBcHBlYXJhbmNlKGJvb2wpOworCisgICAgLy8gU2Nyb2xsVmlldworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldEFsbG93VW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24oYm9vbCk7CisKKyAgICAvLyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hv
dWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sKTsKKworICAgIC8vIFJlbmRlclRoZW1lL0Zv
bnRDYWNoZQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9u
dEZvckFjY2Vzc2liaWxpdHkoYm9vbCk7CisKKyAgICAvLyBBdWRpb0NvbnRleHQKKyAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCk7CiAK
IHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CkBAIC0xNTEs
OSArMTM5LDggQEAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgQmFja3VwKFNldHRpbmdzJik7
CiAgICAgICAgIHZvaWQgcmVzdG9yZVRvKFNldHRpbmdzJik7CiAKLSAgICAgICAgRWRpdGluZ0Jl
aGF2aW9yVHlwZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOwotCi0gICAgICAgIC8vIEluaXRp
YWxseSBlbXB0eSwgb25seSB1c2VkIGlmIGNoYW5nZWQgYnkgYSB0ZXN0LgorICAgICAgICAvLyBT
ZXR0aW5ncworICAgICAgICAvLyBTY3JpcHRGb250RmFtaWx5TWFwcyBhcmUgaW5pdGlhbGx5IGVt
cHR5LCBvbmx5IHVzZWQgaWYgY2hhbmdlZCBieSBhIHRlc3QuCiAgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbGllczsKICAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZpeGVkRm9udEZhbWlsaWVzOwogICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1f
c2VyaWZGb250RmFtaWxpZXM7CkBAIC0xNjEsNzIgKzE0OCwzNSBAQCBwcml2YXRlOgogICAgICAg
ICBTY3JpcHRGb250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRGYW1pbGllczsKICAgICAgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWxpZXM7CiAgICAgICAgIFNjcmlwdEZv
bnRGYW1pbHlNYXAgbV9waWN0b2dyYXBoRm9udEZhbWlsaWVzOwotCi0jaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdFbmFibGVk
OwotICAgICAgICBJbnRTaXplIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVu
dE1vZGU7Ci0jZW5kaWYKLQotICAgICAgICBTdHJpbmcgbV9vcmlnaW5hbE1lZGlhVHlwZU92ZXJy
aWRlOwotICAgICAgICBib29sIG1fb3JpZ2luYWxDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5n
OwotICAgICAgICBib29sIG1fb3JpZ2luYWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7Ci0gICAgICAg
IGJvb2wgbV9vcmlnaW5hbFVzZXNPdmVybGF5U2Nyb2xsYmFyczsKLSAgICAgICAgYm9vbCBtX2lt
YWdlc0VuYWJsZWQ7Ci0gICAgICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKKyAg
ICAgICAgRWRpdGluZ0JlaGF2aW9yVHlwZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOwogICAg
ICAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7Ci0jaWYgRU5BQkxFKFZJREVP
KQotICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKLSAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlDYXB0aW9uczsKLSAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zOwotI2VuZGlmCi0gICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3Rl
clVSTDsKLSAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwogICAgICAgICBT
ZWNvbmRzIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9sczsKLSAgICAgICAgYm9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVo
YXZpb3I7Ci0gICAgICAgIGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwot
ICAgICAgICBib29sIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwotICAgICAg
ICBib29sIG1feW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwotICAgICAgICBi
b29sIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHk7Ci0gICAgICAgIGJvb2wgbV9m
b250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHM7Ci0gICAgICAgIGJvb2wgbV9zaG91bGRJZ25v
cmVGb250TG9hZENvbXBsZXRpb25zOwotICAgICAgICBib29sIG1fYmFja2dyb3VuZFNob3VsZEV4
dGVuZEJleW9uZFBhZ2U7CiAgICAgICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQ
b2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9zY3JvbGxpbmdU
cmVlSW5jbHVkZXNGcmFtZXM7Ci0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICAgICAgYm9v
bCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkOwotI2VuZGlmCi0jaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICAgICAgYm9vbCBtX2FsbG93c0FpclBsYXlGb3JNZWRp
YVBsYXliYWNrOwotI2VuZGlmCi0gICAgICAgIGJvb2wgbV9hbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrOwotICAgICAgICBib29sIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNj
cmVlbjsKLSAgICAgICAgYm9vbCBtX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5s
aW5lQXR0cmlidXRlOwotICAgICAgICBib29sIG1fZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkOwot
ICAgICAgICBib29sIG1faW5wdXRFdmVudHNFbmFibGVkOwotICAgICAgICBib29sIG1faW5jb21w
bGV0ZUltYWdlQm9yZGVyRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoU3lu
dGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uOwotICAgICAgICBib29sIG1f
c2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2sgeyBmYWxz
ZSB9OwotICAgICAgICBib29sIG1fc2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbjsKLSAgICAg
ICAgYm9vbCBtX2FuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkOwogICAgICAg
ICBVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IG1fdXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeTsKICAgICAgICAgVGV4dERpcmVjdGlvbiBtX3N5c3RlbUxheW91dERpcmVjdGlvbjsKLSAg
ICAgICAgUERGSW1hZ2VDYWNoaW5nUG9saWN5IG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5OworICAg
ICAgICBXZWJDb3JlOjpQREZJbWFnZUNhY2hpbmdQb2xpY3kgbV9wZGZJbWFnZUNhY2hpbmdQb2xp
Y3k7CiAgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgbV9mb3JjZWRD
b2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICAgICAgU2V0dGluZ3M6OkZv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBtX2ZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3Np
YmlsaXR5VmFsdWU7CiAgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUg
bV9mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICAgICAg
U2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgbV9mb250TG9hZFRpbWluZ092ZXJyaWRl
OwogICAgICAgICBGcmFtZUZsYXR0ZW5pbmcgbV9mcmFtZUZsYXR0ZW5pbmc7CiAKLSAgICAgICAg
Ly8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgorICAgICAgICAvLyBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwogICAgICAgICBib29sIG1fZmV0
Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkOwotICAgICAgICAKLSAgICAgICAgYm9vbCBtX3Nob3Vs
ZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHk7CisgICAgICAgIGJvb2wgbV9jdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ7CisKKyAgICAgICAgLy8gRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzCisgICAgICAgIGJvb2wgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZDsKICNp
ZiBVU0UoQVVESU9fU0VTU0lPTikKICAgICAgICAgYm9vbCBtX3Nob3VsZE1hbmFnZUF1ZGlvU2Vz
c2lvbkNhdGVnb3J5OwogI2VuZGlmCi0gICAgICAgIGJvb2wgbV9jdXN0b21QYXN0ZWJvYXJkRGF0
YUVuYWJsZWQ7CisKKyAgICAgICAgLy8gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyCisgICAg
ICAgIGJvb2wgbV9zaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uOworCisgICAgICAgIC8vIFJl
bmRlclRoZW1lL0ZvbnRDYWNoZQorICAgICAgICBib29sIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1G
b250Rm9yQWNjZXNzaWJpbGl0eTsKICAgICB9OwogCiAgICAgUGFnZSogbV9wYWdlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAy
Njk3NjEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjQsMTggKzI0LDIyIEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKK2VudW0gRWRp
dGluZ0JlaGF2aW9yIHsgIm1hYyIsICJ3aW4iLCAidW5peCIsICJpb3MiIH07CitlbnVtIEZvbnRM
b2FkVGltaW5nT3ZlcnJpZGUgeyAiTm9uZSIsICJCbG9jayIsICJTd2FwIiwgIkZhaWx1cmUiIH07
CiBlbnVtIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7ICJzeXN0ZW0iLCAib24iLCAib2ZmIiB9
OwogZW51bSBGcmFtZUZsYXR0ZW5pbmdWYWx1ZSB7ICJEaXNhYmxlZCIsICJFbmFibGVkRm9yTm9u
RnVsbFNjcmVlbklGcmFtZXMiLCAiRnVsbHlFbmFibGVkIiB9OwotZW51bSBGb250TG9hZFRpbWlu
Z092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAiLCAiRmFpbHVyZSIgfTsKK2VudW0gUERGSW1hZ2VD
YWNoaW5nUG9saWN5IHsgImVuYWJsZWQiLCAiYmVsb3dNZW1vcnlMaW1pdCIsICJkaXNhYmxlZCIs
ICJjbGlwQm91bmRzT25seSIgfTsKK2VudW0gU3RvcmFnZUJsb2NraW5nUG9saWN5IHsgIkFsbG93
QWxsIiwgIkJsb2NrVGhpcmRQYXJ0eSIsICJCbG9ja0FsbCIgfTsKK2VudW0gU3lzdGVtTGF5b3V0
RGlyZWN0aW9uIHsgIkxUUiIsICJSVEwiIH07CitlbnVtIFRyYWNrS2luZCB7ICJTdWJ0aXRsZXMi
LCAiQ2FwdGlvbnMiLCAiVGV4dERlc2NyaXB0aW9ucyIgfTsKK2VudW0gVXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSB7ICJDb250ZW50IiwgIlN5c3RlbSIgfTsKIAogWwogICAgIExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEV4cG9ydE1h
Y3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogXSBpbnRlcmZhY2UgSW50ZXJuYWxTZXR0
aW5ncyA6IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0KLSAgICAvLyBGb250cywgdGV4dAorICAgIC8vIFNldHRpbmdzCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KERPTVN0cmluZyBmYW1p
bHksIERPTVN0cmluZyBzY3JpcHQpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFNlcmlmRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5
KERPTVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOwpAQCAtNDMsODMgKzQ3LDQ5IEBA
IGVudW0gRm9udExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDdXJzaXZlRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5
LCBET01TdHJpbmcgc2NyaXB0KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRGYW50YXN5Rm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQaWN0b2dyYXBoRm9udEZhbWls
eShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoYm9vbGVh
biBwcmVmZXJQaWN0b2dyYXBocyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShGb250TG9hZFRpbWluZ092ZXJyaWRlIG92ZXJyaWRl
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRJZ25vcmVGb250
TG9hZENvbXBsZXRpb25zKGJvb2xlYW4gaWdub3JlKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwor
ICAgIC8vIEZvcndhcmRzIHRvIFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlSGVpZ2h0
IGFuZCBUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZVdpZHRoLgogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRl
KGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sZWFuIGVuYWJsZWQp
OwotCi0gICAgLy8gTWVkaWEKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRD
YW5TdGFydE1lZGlhKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChET01TdHJpbmcga2luZCwgYm9vbGVh
biBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gc2hvdWxkRGlzcGxh
eVRyYWNrS2luZChET01TdHJpbmcgdHJhY2tLaW5kKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoRE9NU3RyaW5nIHBvc3Rlcik7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHModW5yZXN0cmljdGVkIGRvdWJsZSB0aW1lKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYVR5cGVPdmVycmlkZShET01TdHJp
bmcgbWVkaWFUeXBlT3ZlcnJpZGUpOwotICAgIHVuZGVmaW5lZCBzZXRBbGxvd3NBaXJQbGF5Rm9y
TWVkaWFQbGF5YmFjayhib29sZWFuIGF2YWlsYWJsZSk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTSwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYUNhcHR1cmVSZXF1
aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9vbGVhbiBlbmFibGUpOwotICAgIHVuZGVmaW5lZCBzZXRE
ZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKTsKLQotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGJv
b2xlYW4gZm9yY2VkKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFF1
aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2Vt
ZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotCi0gICAgLy8gRWRpdGluZywgZm9ybXMKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFZGl0aW5nQmVoYXZpb3IoRE9NU3Ry
aW5nIGJlaGF2aW9yKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91
bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29sZWFuIGNvbnZlcnRQb3NpdGlvbik7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFn
ZXMoYm9vbGVhbiBwcmVmZXJNaW1lVHlwZUZvckltYWdlKTsKLQotICAgIC8vIE90aGVyIHN3aXRj
aGVzCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlRGFya0FwcGVhcmFu
Y2UoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW1hZ2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBERkltYWdlQ2FjaGluZ1BvbGlj
eShET01TdHJpbmcgcG9saWN5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0QXV0b3Njcm9sbEZvckRy
YWdBbmREcm9wRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKGJvb2xlYW4g
aGFzRXh0ZW5kZWRCYWNrZ3JvdW5kKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0
aW9uKGJvb2xlYW4gYWxsb3dVbmNsYW1wZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlKTsKLQorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUg
aW50ZXJ2YWxJblNlY29uZHMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dE1pbmltdW1UaW1lckludGVydmFsKHVucmVzdHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJblNlY29u
ZHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2soYm9vbGVhbiBhbGxvd3MpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oYm9vbGVh
biBhbGxvd3MpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldElubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2xlYW4gcmVxdWlyZXMp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEVkaXRpbmdCZWhhdmlvcihF
ZGl0aW5nQmVoYXZpb3IgYmVoYXZpb3IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTdG9yYWdlQmxvY2tpbmdQb2xpY3kgcG9saWN5
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQREZJbWFnZUNhY2hpbmdQ
b2xpY3koUERGSW1hZ2VDYWNoaW5nUG9saWN5IHBvbGljeSk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0RnJhbWVGbGF0dGVuaW5nKEZyYW1lRmxhdHRlbmluZ1ZhbHVlIGZy
YW1lRmxhdHRlbmluZyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW5j
b21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VFdmVu
dHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKGJvb2xlYW4gc2hvdWxkRGlzcGF0Y2gpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91
c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2xlYW4gc2hvdWxkRGlzcGF0Y2gpOwotCi0gICAg
Ly8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KLSAgICB1bmRlZmluZWQgc2V0V2ViR0wyRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwotICAgIHVuZGVmaW5lZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7Ci0gICAgdW5kZWZpbmVkIHNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgdXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSBi
b29sZWFuIGRlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldERlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkTW9ja0JvbGRT
eXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShib29sZWFuIHNob3VsZE1vY2spOwotCisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eShVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IHBvbGljeSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFN5c3RlbUxheW91dERp
cmVjdGlvbiBkaXJlY3Rpb24pOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgYXR0cmli
dXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNj
ZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUg
Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgYXR0cmli
dXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFu
Z2VWYWx1ZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1h
bmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2xlYW4gc2hvdWxkKTsKKyAgICAvLyBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLgorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFdl
YkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Q3VzdG9tUGFz
dGVib2FyZERhdGFFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB1bmRlZmluZWQgc2V0
U2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sZWFuIHNob3VsZERlYWN0aXZhdGUpOwot
ICAgIAotICAgIHVuZGVmaW5lZCBzZXRTdG9yYWdlQWNjZXNzQVBJUGVyUGFnZVNjb3BlRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOworICAgIC8vIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy4KKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Np
b25DYXRlZ29yeShib29sZWFuIHNob3VsZCk7CisKKyAgICAvLyBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzCisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxheVRy
YWNrS2luZChUcmFja0tpbmQga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIGJvb2xlYW4gc2hvdWxkRGlzcGxheVRyYWNrS2luZChUcmFja0tpbmQgdHJhY2tL
aW5kKTsKIAorICAgIC8vIFBhZ2UKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRDYW5TdGFydE1lZGlhKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci19
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFVzZURhcmtBcHBlYXJhbmNl
KGJvb2xlYW4gZW5hYmxlZCk7CiAKKyAgICAvLyBTY3JvbGxWaWV3CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sZWFu
IGFsbG93VW5jbGFtcGVkKTsKKworICAgIC8vIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci4K
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGREZWFjdGl2YXRlQXVk
aW9TZXNzaW9uKGJvb2xlYW4gc2hvdWxkRGVhY3RpdmF0ZSk7CisKKyAgICAvLyBSZW5kZXJUaGVt
ZS9Gb250Q2FjaGUKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRN
b2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gc2hvdWxkTW9jayk7CisK
KyAgICAvLyBBdWRpb0NvbnRleHQKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKTsKK307Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNjk3NjEpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5NiwxMCArNTk2LDYgQEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgICAgICBkb2N1bWVudC5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCku
c2V0VGVzdGluZ01vZGUodHJ1ZSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0gICAgc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGZhbHNlKTsKLSNl
bmRpZgotCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICBpZiAoZG9j
dW1lbnQucGFnZSgpKQogICAgICAgICBkb2N1bWVudC5wYWdlKCktPnNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyRW5hYmxlZCh0cnVlKTsKQEAgLTE2MTcsMTMgKzE2MTMsNiBAQCB2b2lk
IEludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PCiAgICAgICAgIHBhZ2UtPnNldHRp
bmdzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChzaG91
bGRJbnRlcnJ1cHQpOwogfQogCi12b2lkIEludGVybmFsczo6c2V0TWVkaWFDYXB0dXJlUmVxdWly
ZXNTZWN1cmVDb25uZWN0aW9uKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKLSAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5w
YWdlKCkpCi0gICAgICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNT
ZWN1cmVDb25uZWN0aW9uKGVuYWJsZWQpOwotfQotCiBzdGF0aWMgRXhjZXB0aW9uT3I8c3RkOjp1
bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlPj4gY3JlYXRlUmVjb3JkZXJNb2NrU291cmNl
KE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtLCBjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9w
dGlvbnMmKQogewogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZh
dGU+KG5ldyBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2soc3RyZWFtKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5MSw3ICs1OTEsNiBAQCBw
dWJsaWM6CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgc2V0U2hvdWxkSW50
ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2wpOwotICAgIHZvaWQgc2V0TWVk
aWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGJvb2wpOwogICAgIHZvaWQgc2V0Q3Vz
dG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcigpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAJKHJldmlzaW9uIDI2
OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgogCisjaW5jbHVkZSAiRGVwcmVjYXRlZEds
b2JhbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnRlcm5hbFNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCkBAIC0xNDMsNyArMTQ0LDcgQEAgdm9p
ZCBpbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAKIHZvaWQgc2V0QWxsb3dzQW55
U1NMQ2VydGlmaWNhdGUoYm9vbCBhbGxvd0FueVNTTENlcnRpZmljYXRlKQogewotICAgIEludGVy
bmFsU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGFsbG93QW55U1NMQ2VydGlm
aWNhdGUpOworICAgIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2V0QWxsb3dzQW55U1NMQ2Vy
dGlmaWNhdGUoYWxsb3dBbnlTU0xDZXJ0aWZpY2F0ZSk7CiB9CiAKIHZvaWQgc2V0TGlua2VkT25P
ckFmdGVyRXZlcnl0aGluZ0ZvclRlc3RpbmcoKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzMgQEAK
KzIwMjAtMTEtMTIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIENs
ZWFudXAgSW50ZXJuYWxTZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE4ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1dJUF0KKworICAgICAgICAqIGVkaXRpbmcvbWFjL3NlbGVjdGlvbi9k
b3VibGUtY2xpY2stYW5kLWRyYWctb3Zlci1hbmNob3ItdG8tc2VsZWN0Lmh0bWw6CisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWw6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdp
dGgtc2hpZnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL3VzZXIt
c2VsZWN0LWFsbC13aXRoLXNoaWZ0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtYWx0ZXJuYXRlLWJvZHktZGlyLWF0dHItZG9lcy1ub3QtdXBkYXRlLXNjcm9s
bGJhci1wbGFjZW1lbnQtMi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11
cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVudC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGlj
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZy
b21Qb2ludC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZy
YW1lLW9mZnNldC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xs
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNj
cm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdo
dC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWxpc3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctcGFkZGluZy5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1z
aW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNo
LWNvbnRlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3Rp
Y2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUt
Mi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1pZnJhbWUtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92
ZXJmbG93LXNjcm9sbC0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRl
eHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWw6CisKIDIwMjAtMTEt
MTIgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OOiBbIE1hYyB3azIgXSB3ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtaDI2
NC1iYXNlbGluZS5odG1sIGlzIGZsYWt5IGZhaWxpbmcKSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvbWFjL3NlbGVjdGlvbi9kb3VibGUtY2xpY2stYW5kLWRyYWctb3Zlci1hbmNob3ItdG8tc2Vs
ZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc2VsZWN0aW9u
L2RvdWJsZS1jbGljay1hbmQtZHJhZy1vdmVyLWFuY2hvci10by1zZWxlY3QuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc2VsZWN0aW9uL2RvdWJsZS1j
bGljay1hbmQtZHJhZy1vdmVyLWFuY2hvci10by1zZWxlY3QuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNyArMzQsNyBAQCBwICsgcCB7CiAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigibWFj
Iik7CiAgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CiAKICAgICBVSUhlbHBlci5kb3Vi
bGVDbGlja0VsZW1lbnRNb3VzZURvd24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw3ICszNyw3IEBAIE1hcmt1cC53YWl0VW50aWxEb25lKCk7CiAgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigibWFjIik7CiAgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CiAK
ICAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CkluZGV4OiBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3Qt
YWxsLXdpdGgtc2hpZnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiBUaGlzIHRlc3RzIHNoaWZ0ICsg
c2VsZWN0aW5nIHR3byBkaXNjb250aW51b3VzIGVsZW1lbnRzIHdpdGggdXNlci1zZWxlY3Q6IGFs
bC4gV2ViS2l0IHNob3VsZCBzZWxlY3QgdGhlIGJvdGggZWxlbWVudHMgaW5zdGVhZCBvZiBtb3Zp
bmcgdGhlIHNlbGVjdGlvbi4KIFRvIG1hbnVhbGx5IHRlc3QsIGNsaWNrIHRvIHNlbGVjdCB0aGUg
Zmlyc3QgZWxlbWVudCBhbmQgc2hpZnQtY2xpY2sgdGhlIHNlY29uZCBlbGVtZW50LiBXZWJLaXQg
c2hvdWxkIHNlbGVjdCBib3RoIGVsZW1lbnRzLgogCi1BZnRlciBjbGlja2luZyBvbiB0aGUgZmly
c3QgZWxlbWVudCAoTWFjKToKK0FmdGVyIGNsaWNraW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50ICht
YWMpOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xOCw3ICsxOCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4K
IHwgIgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQgKE1h
Yyk6CitBZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQgKG1hYyk6CiB8
ICIKICIKIHwgPGRpdj4KQEAgLTM1LDcgKzM1LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAi
CiAKLUFmdGVyIGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoTWFjKToKK0FmdGVyIGNs
aWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAobWFjKToKIHwgIgogIgogfCA8ZGl2PgpAQCAt
NTIsNyArNTIsNyBAQCBTb21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgc2hpZnQgY2xp
Y2tpbmcgb24gdGhlIGZpcnN0IGVsZW1lbnQgKE1hYyk6CitBZnRlciBzaGlmdCBjbGlja2luZyBv
biB0aGUgZmlyc3QgZWxlbWVudCAobWFjKToKIHwgIgogIgogfCA8ZGl2PgpAQCAtNjksNyArNjks
NyBAQCBTb21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIGZp
cnN0IGVsZW1lbnQgKFdpbik6CitBZnRlciBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAo
d2luKToKIHwgIgogIgogfCA8ZGl2PgpAQCAtODYsNyArODYsNyBAQCBTb21lIG90aGVyIHRleHQu
CiB8ICIKICIKIAotQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50IChX
aW4pOgorQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50ICh3aW4pOgog
fCAiCiAiCiB8IDxkaXY+CkBAIC0xMDMsNyArMTAzLDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAi
CiAiCiAKLUFmdGVyIGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoV2luKToKK0FmdGVy
IGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAod2luKToKIHwgIgogIgogfCA8ZGl2PgpA
QCAtMTIwLDcgKzEyMCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBzaGlm
dCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoV2luKToKK0FmdGVyIHNoaWZ0IGNsaWNr
aW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50ICh3aW4pOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xMzcs
NyArMTM3LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIGNsaWNraW5nIG9u
IHRoZSBmaXJzdCBlbGVtZW50IChVbml4KToKK0FmdGVyIGNsaWNraW5nIG9uIHRoZSBmaXJzdCBl
bGVtZW50ICh1bml4KToKIHwgIgogIgogfCA8ZGl2PgpAQCAtMTU0LDcgKzE1NCw3IEBAIFNvbWUg
b3RoZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25k
IGVsZW1lbnQgKFVuaXgpOgorQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVt
ZW50ICh1bml4KToKIHwgIgogIgogfCA8ZGl2PgpAQCAtMTcxLDcgKzE3MSw3IEBAIFNvbWUgb3Ro
ZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQg
KFVuaXgpOgorQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50ICh1bml4KToKIHwg
IgogIgogfCA8ZGl2PgpAQCAtMTg4LDcgKzE4OCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgog
IgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoVW5peCk6CitB
ZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAodW5peCk6CiB8ICIKICIK
IHwgPGRpdj4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VzZXItc2VsZWN0
LWFsbC13aXRoLXNoaWZ0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgtc2hpZnQuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgt
c2hpZnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDksOSArNDksOSBAQCBmdW5jdGlvbiBydW5U
ZXN0KGVkaXRpbmdCZWhhdmlvcikgewogfQogCiBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0g
ICAgcnVuVGVzdCgnTWFjJyk7Ci0gICAgcnVuVGVzdCgnV2luJyk7Ci0gICAgcnVuVGVzdCgnVW5p
eCcpOworICAgIHJ1blRlc3QoJ21hYycpOworICAgIHJ1blRlc3QoJ3dpbicpOworICAgIHJ1blRl
c3QoJ3VuaXgnKTsKIAogfSBlbHNlCiAgICAgTWFya3VwLm5vQXV0b0R1bXAoKTsKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRp
ci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LTItZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1hbHRlcm5hdGUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNl
bWVudC0yLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRpci1hdHRyLWRvZXMt
bm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LTItZXhwZWN0ZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNyw3ICs3LDcgQEAKICAgICA8L3N0eWxlPgogICAgIDxzY3JpcHQ+CiAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlN5c3RlbSIp
OwogICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0
ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVudC1leHBlY3RlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVy
bmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNl
bWVudC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1hbHRlcm5hdGUtaWZyYW1lLWJvZHktZGlyLWF0dHIt
ZG9lcy1ub3QtdXBkYXRlLXNjcm9sbGJhci1wbGFjZW1lbnQtZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDxodG1sPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlN5c3RlbSIpOwog
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlv
bi1wcm9wZXJ0eS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1hbmltYXRpb24tcHJvcGVydHkuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1z
dGF0aWMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1l
bnRGcm9tUG9pbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9t
UG9pbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZz
ZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNv
bHV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCShyZXZpc2lvbiAyNjk3NjEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9z
aXRpb24tYWJzb2x1dGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFk
PgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1z
Y3JvbGxlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sCShyZXZpc2lv
biAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Ri
b3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbAko
cmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAK
IDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVt
Iik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVj
dC1sZWZ0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Vs
ZWN0LWxlZnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Vs
ZWN0LWxlZnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNj
cmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3Qtcmln
aHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2ltcGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMu
aHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRs
Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1lbGVtZW50RnJvbVBvaW50Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBhZGRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRp
bmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1
dGUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbAko
cmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Myw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBs
ZS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAK
IDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVt
Iik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVz
aC1jb250ZW50cy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250
ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy5odG1sCShyZXZpc2lvbiAyNjk3NjEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5v
LXB1c2gtY29udGVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFk
PgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4
ZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXBvc2l0aW9uLWZpeGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24t
Zml4ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uaW5nLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9z
aXRpb25pbmctZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxo
ZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXBvc2l0aW9uaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25p
bmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXNpbXBsZS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1k
b2N1bWVudC0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3Vt
ZW50LTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1kb2N1bWVudC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCShy
ZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJh
bWUtMi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUt
ZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNj
cmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVy
Zmxvdy1zY3JvbGwtMi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1z
Y3JvbGwtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCShyZXZpc2lvbiAyNjk3
NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
b3ZlcmZsb3ctc2Nyb2xsLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxo
ZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZs
b3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhw
ZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1vdmVyZmxvdy1zY3JvbGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0bWwJKHJldmlz
aW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcg
QEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lz
dGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24t
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVk
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKIDxodG1sPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
</data>
<flag name="commit-queue"
          id="430723"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413993</attachid>
            <date>2020-11-12 19:09:47 -0800</date>
            <delta_ts>2020-11-12 20:06:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218881-20201112190946.patch</filename>
            <type>text/plain</type>
            <size>112230</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDkyIEBACisyMDIwLTExLTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbnVwIEludGVybmFsU2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODg4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtXSVBd
CisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6SW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbFNldHRpbmdzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEVkaXRpbmdCZWhhdmlvcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3kpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5n
T3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZENvbG9y
c0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlW
YWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3Jj
ZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFuZ2VWYWx1
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRT
dXBwb3J0c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpzZXRXZWJHTDJFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
U2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxT
ZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Np
b25DYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91
bGREaXNwbGF5VHJhY2tLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNob3VsZERpc3BsYXlUcmFja0tpbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsU2V0dGluZ3M6OnNldENhblN0YXJ0TWVkaWEpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxTZXR0aW5nczo6c2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZh
dGVBdWRpb1Nlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0
U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjptX2N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRUb3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRp
bmdzOjpzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWVkaWFU
eXBlT3ZlcnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5n
czo6c2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2spOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVD
b25uZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlUGVuZGlu
Z1dlYkdMUG9saWN5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0QXV0b3Njcm9sbEZvckRy
YWdBbmREcm9wRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkSWdub3JlRm9udExvYWRD
b21wbGV0aW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFj
ZW1lbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0
eWxlT25Db3B5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6
OnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJ
bmxpbmVBdHRyaWJ1dGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6c2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6dXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6ZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldERlZmVy
cmVkQ1NTUGFyc2VyRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpzZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhl
dGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91
c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNl
dHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6aW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQWNjZXNzQVBJUGVyUGFnZVNjb3Bl
RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpz
ZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24pOiBEZWxldGVkLgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVz
dFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRlc3RTdXBwb3J0OjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZSk6CisKIDIwMjAtMTEtMTIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgbW9yZSBXZWJLaXRMZWdhY3kgc3BlY2lmaWMgc2V0dGluZ3Mg
dXNhZ2UgdG8gV2ViUHJlZmVyZW5jZXMueWFtbApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCShyZXZpc2lvbiAyNjk3NjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDMsMTAgKzQz
LDYgQEAKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9MYW5ndWFn
ZS5oPgogCi0jaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCi0jaW5jbHVkZSAiQ29sb3JDaG9v
c2VyLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAjaW5jbHVkZSAiQXVkaW9D
b250ZXh0LmgiCiAjZW5kaWYKQEAgLTU1LDUzICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQog
ICAgIDogbV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcihzZXR0aW5ncy5lZGl0aW5nQmVoYXZpb3JU
eXBlKCkpCi0jaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAgICAsIG1fb3JpZ2luYWxUZXh0
QXV0b3NpemluZ0VuYWJsZWQoc2V0dGluZ3MudGV4dEF1dG9zaXppbmdFbmFibGVkKCkpCi0gICAg
LCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoSW50U2l6ZSB7IHN0
YXRpY19jYXN0PGludD4oc2V0dGluZ3MudGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGVX
aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihzZXR0aW5ncy50ZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZUhlaWdodCgpKSB9KQotICAgICwgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nVXNl
c0lkZW1wb3RlbnRNb2RlKHNldHRpbmdzLnRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2Rl
KCkpCi0jZW5kaWYKLSAgICAsIG1fb3JpZ2luYWxNZWRpYVR5cGVPdmVycmlkZShzZXR0aW5ncy5t
ZWRpYVR5cGVPdmVycmlkZSgpKQotICAgICwgbV9vcmlnaW5hbENhbnZhc1VzZXNBY2NlbGVyYXRl
ZERyYXdpbmcoc2V0dGluZ3MuY2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZygpKQotICAgICwg
bV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZChEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6
Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpKQotICAgICwgbV9pbWFnZXNFbmFibGVkKHNldHRpbmdz
LmFyZUltYWdlc0VuYWJsZWQoKSkKLSAgICAsIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoc2V0
dGluZ3MucHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoKSkKICAgICAsIG1fbWluaW11bURPTVRpbWVy
SW50ZXJ2YWwoc2V0dGluZ3MubWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSkKLSNpZiBFTkFCTEUo
VklERU8pCi0gICAgLCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMoc2V0dGluZ3Muc2hvdWxkRGlz
cGxheVN1YnRpdGxlcygpKQotICAgICwgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnMoc2V0dGluZ3Mu
c2hvdWxkRGlzcGxheUNhcHRpb25zKCkpCi0gICAgLCBtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3Jp
cHRpb25zKHNldHRpbmdzLnNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKCkpCi0jZW5kaWYK
LSAgICAsIG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKHNldHRpbmdzLmRlZmF1bHRWaWRlb1Bvc3Rl
clVSTCgpKQotICAgICwgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeShzZXR0aW5ncy5pc0ZvcmNl
UGVuZGluZ1dlYkdMUG9saWN5KCkpCiAgICAgLCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoc2V0dGluZ3MudGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSkKLSAgICAsIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNp
emVTaG9ydGhhbmRCZWhhdmlvcihzZXR0aW5ncy51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0
aGFuZEJlaGF2aW9yKCkpCi0gICAgLCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQo
c2V0dGluZ3MuYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZCgpKQotICAgICwgbV9xdWlj
a1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoc2V0dGluZ3MucXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnRFbmFibGVkKCkpCi0gICAgLCBtX3lvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50
RW5hYmxlZChzZXR0aW5ncy55b3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoKSkK
LSAgICAsIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkoc2V0dGluZ3Muc2hvdWxk
Q29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkoKSkKLSAgICAsIG1fZm9udEZhbGxiYWNrUHJlZmVy
c1BpY3RvZ3JhcGhzKHNldHRpbmdzLmZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocygpKQot
ICAgICwgbV9zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKHNldHRpbmdzLnNob3VsZEln
bm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoKSkKLSAgICAsIG1fYmFja2dyb3VuZFNob3VsZEV4dGVu
ZEJleW9uZFBhZ2Uoc2V0dGluZ3MuYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoKSkK
ICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KHNldHRpbmdzLnN0b3JhZ2VCbG9ja2luZ1Bv
bGljeSgpKQotICAgICwgbV9zY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoc2V0dGluZ3Muc2Ny
b2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzKCkpCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAg
ICAsIG1fdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoc2V0dGluZ3MuaXNUb3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCgpKQotI2VuZGlmCi0jaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkKLSAgICAsIG1fYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soc2V0dGluZ3MuYWxs
b3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soKSkKLSNlbmRpZgotICAgICwgbV9hbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKHNldHRpbmdzLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2soKSkKLSAg
ICAsIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihzZXR0aW5ncy5h
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKCkpCi0gICAgLCBtX2lubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKHNldHRpbmdzLmlubGlu
ZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKCkpCi0gICAgLCBtX2Rl
ZmVycmVkQ1NTUGFyc2VyRW5hYmxlZChzZXR0aW5ncy5kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQo
KSkKLSAgICAsIG1faW5wdXRFdmVudHNFbmFibGVkKHNldHRpbmdzLmlucHV0RXZlbnRzRW5hYmxl
ZCgpKQotICAgICwgbV9pbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKHNldHRpbmdzLmluY29t
cGxldGVJbWFnZUJvcmRlckVuYWJsZWQoKSkKLSAgICAsIG1fc2hvdWxkRGlzcGF0Y2hTeW50aGV0
aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oc2V0dGluZ3Muc2hvdWxkRGlzcGF0
Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oKSkKLSAgICAsIG1f
c2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soc2V0dGlu
Z3Muc2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soKSkK
LSNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJfQVVESU8pCi0gICAgLCBtX3Nob3VsZERl
YWN0aXZhdGVBdWRpb1Nlc3Npb24oUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaG91bGRE
ZWFjdGl2YXRlQXVkaW9TZXNzaW9uKCkpCi0jZW5kaWYKLSAgICAsIG1fYW5pbWF0ZWRJbWFnZURl
YnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQoc2V0dGluZ3MuYW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFz
RHJhd2luZ0VuYWJsZWQoKSkKICAgICAsIG1fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShz
ZXR0aW5ncy51c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkpCiAgICAgLCBtX3N5c3RlbUxh
eW91dERpcmVjdGlvbihzZXR0aW5ncy5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSkKICAgICAsIG1f
cGRmSW1hZ2VDYWNoaW5nUG9saWN5KHNldHRpbmdzLnBkZkltYWdlQ2FjaGluZ1BvbGljeSgpKQpA
QCAtMTE0LDE4ICs2NiwyMCBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0
aW5nCiAgICAgLCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKICAgICAsIG1fZmV0Y2hBUElLZWVw
QWxpdmVBUElFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
ZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKCkpCi0gICAgLCBtX3Nob3VsZE1vY2tCb2xkU3lzdGVt
Rm9udEZvckFjY2Vzc2liaWxpdHkoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLnNob3VsZE1vY2tC
b2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoKSkKKyAgICAsIG1fY3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3Vz
dG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpCisgICAgLCBtX29yaWdpbmFsTW9ja1Njcm9sbGJh
cnNFbmFibGVkKERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6bW9ja1Njcm9sbGJhcnNFbmFibGVk
KCkpCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAgICAgLCBtX3Nob3VsZE1hbmFnZUF1ZGlvU2Vz
c2lvbkNhdGVnb3J5KERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2hvdWxkTWFuYWdlQXVkaW9T
ZXNzaW9uQ2F0ZWdvcnkoKSkKICNlbmRpZgotICAgICwgbV9jdXN0b21QYXN0ZWJvYXJkRGF0YUVu
YWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5jdXN0b21QYXN0
ZWJvYXJkRGF0YUVuYWJsZWQoKSkKKyNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJfQVVE
SU8pCisgICAgLCBtX3Nob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKCkpCisjZW5kaWYKKyAg
ICAsIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkuc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgp
KQogewogfQogCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRp
bmdzJiBzZXR0aW5ncykKIHsKLSAgICBzZXR0aW5ncy5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKG1f
b3JpZ2luYWxFZGl0aW5nQmVoYXZpb3IpOwotCiAgICAgZm9yIChjb25zdCBhdXRvJiBzdGFuZGFy
ZEZvbnQgOiBtX3N0YW5kYXJkRm9udEZhbWlsaWVzKQogICAgICAgICBzZXR0aW5ncy5zZXRTdGFu
ZGFyZEZvbnRGYW1pbHkoc3RhbmRhcmRGb250LnZhbHVlLCBzdGF0aWNfY2FzdDxVU2NyaXB0Q29k
ZT4oc3RhbmRhcmRGb250LmtleSkpOwogICAgIG1fc3RhbmRhcmRGb250RmFtaWxpZXMuY2xlYXIo
KTsKQEAgLTE1NCw0NiArMTA4LDEwIEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8KICAgICAgICAgc2V0dGluZ3Muc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkocGljdG9n
cmFwaEZvbnQudmFsdWUsIHN0YXRpY19jYXN0PFVTY3JpcHRDb2RlPihwaWN0b2dyYXBoRm9udC5r
ZXkpKTsKICAgICBtX3BpY3RvZ3JhcGhGb250RmFtaWxpZXMuY2xlYXIoKTsKIAotI2lmIEVOQUJM
RShURVhUX0FVVE9TSVpJTkcpCi0gICAgc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVk
KG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ0VuYWJsZWQpOwotICAgIHNldHRpbmdzLnNldFRleHRB
dXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlV2lkdGgobV9vcmlnaW5hbFRleHRBdXRvc2l6aW5n
V2luZG93U2l6ZU92ZXJyaWRlLndpZHRoKCkpOwotICAgIHNldHRpbmdzLnNldFRleHRBdXRvc2l6
aW5nV2luZG93U2l6ZU92ZXJyaWRlSGVpZ2h0KG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZS5oZWlnaHQoKSk7Ci0gICAgc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdV
c2VzSWRlbXBvdGVudE1vZGUobV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRN
b2RlKTsKLSNlbmRpZgotICAgIHNldHRpbmdzLnNldE1lZGlhVHlwZU92ZXJyaWRlKG1fb3JpZ2lu
YWxNZWRpYVR5cGVPdmVycmlkZSk7Ci0gICAgc2V0dGluZ3Muc2V0Q2FudmFzVXNlc0FjY2VsZXJh
dGVkRHJhd2luZyhtX29yaWdpbmFsQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyk7Ci0gICAg
c2V0dGluZ3Muc2V0SW1hZ2VzRW5hYmxlZChtX2ltYWdlc0VuYWJsZWQpOwotICAgIHNldHRpbmdz
LnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMpOwor
ICAgIHNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvclR5cGUobV9vcmlnaW5hbEVkaXRpbmdCZWhh
dmlvcik7CiAgICAgc2V0dGluZ3Muc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwobV9taW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk7Ci0jaWYgRU5BQkxFKFZJREVPKQotICAgIHNldHRpbmdzLnNldFNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMobV9zaG91bGREaXNwbGF5U3VidGl0bGVzKTsKLSAgICBzZXR0
aW5ncy5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMobV9zaG91bGREaXNwbGF5Q2FwdGlvbnMpOwot
ICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zKG1fc2hvdWxkRGlz
cGxheVRleHREZXNjcmlwdGlvbnMpOwotI2VuZGlmCi0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAg
ICBBdWRpb0NvbnRleHQ6OnNldERlZmF1bHRTYW1wbGVSYXRlRm9yVGVzdGluZyhXVEY6Om51bGxv
cHQpOwotI2VuZGlmCi0gICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKG1fZGVm
YXVsdFZpZGVvUG9zdGVyVVJMKTsKLSAgICBzZXR0aW5ncy5zZXRGb3JjZVBlbmRpbmdXZWJHTFBv
bGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKICAgICBzZXR0aW5ncy5zZXRUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhtX29yaWdpbmFsVGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwotICAgIHNldHRpbmdzLnNldFVz
ZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91c2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKLSAgICBzZXR0aW5ncy5zZXRBdXRvc2Nyb2xsRm9y
RHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZCk7Ci0g
ICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkobV9zaG91bGRD
b252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7Ci0gICAgc2V0dGluZ3Muc2V0Rm9udEZhbGxiYWNr
UHJlZmVyc1BpY3RvZ3JhcGhzKG1fZm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKTsKLSAg
ICBzZXR0aW5ncy5zZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKG1fc2hvdWxkSWdu
b3JlRm9udExvYWRDb21wbGV0aW9ucyk7Ci0gICAgc2V0dGluZ3Muc2V0QmFja2dyb3VuZFNob3Vs
ZEV4dGVuZEJleW9uZFBhZ2UobV9iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSk7CiAg
ICAgc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KG1fc3RvcmFnZUJsb2NraW5nUG9s
aWN5KTsKLSAgICBzZXR0aW5ncy5zZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMobV9zY3Jv
bGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMpOwotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAg
c2V0dGluZ3Muc2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQobV90b3VjaEV2ZW50RW11bGF0
aW9uRW5hYmxlZCk7Ci0jZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrKG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayk7Ci0gICAgc2V0dGluZ3Muc2V0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihtX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4pOwotICAgIHNldHRpbmdzLnNldElubGluZU1lZGlhUGxh
eWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKG1faW5saW5lTWVkaWFQbGF5YmFja1Jl
cXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUpOwotICAgIHNldHRpbmdzLnNldFF1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZChtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxl
ZCk7Ci0gICAgc2V0dGluZ3Muc2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVk
KG1feW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5z
ZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQobV9kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQpOwot
ICAgIHNldHRpbmdzLnNldElucHV0RXZlbnRzRW5hYmxlZChtX2lucHV0RXZlbnRzRW5hYmxlZCk7
CiAgICAgc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShtX3VzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3kpOwogICAgIHNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbihtX3N5c3RlbUxheW91dERpcmVjdGlvbik7CiAgICAgc2V0dGluZ3Muc2V0UGRmSW1hZ2VD
YWNoaW5nUG9saWN5KG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5KTsKQEAgLTIwMSwxNiArMTE5LDcg
QEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbwogICAgIHNldHRpbmdz
LnNldEZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUobV9mb3JjZWRE
aXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShtX2ZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBzZXR0aW5ncy5zZXRGb250
TG9hZFRpbWluZ092ZXJyaWRlKG1fZm9udExvYWRUaW1pbmdPdmVycmlkZSk7Ci0gICAgUmVuZGVy
VGhlbWU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2li
aWxpdHkobV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KTsKLSAgICBG
b250Q2FjaGU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vz
c2liaWxpdHkobV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KTsKICAg
ICBzZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmcobV9mcmFtZUZsYXR0ZW5pbmcpOwotICAgIHNl
dHRpbmdzLnNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQobV9pbmNvbXBsZXRlSW1hZ2VC
b3JkZXJFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01v
dXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbihtX3Nob3VsZERpc3BhdGNoU3ludGhldGlj
TW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKTsKLSAgICBzZXR0aW5ncy5zZXRTaG91
bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhtX3Nob3VsZERp
c3BhdGNoU3ludGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKTsKLSNpZiBFTkFCTEUo
VklERU8pIHx8IEVOQUJMRShXRUJfQVVESU8pCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKG1fc2hvdWxkRGVhY3RpdmF0ZUF1
ZGlvU2Vzc2lvbik7Ci0jZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRBbmltYXRlZEltYWdlRGVidWdD
YW52YXNEcmF3aW5nRW5hYmxlZChtX2FuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFi
bGVkKTsKIAogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVkKG1fd2ViR0wyRW5hYmxlZCk7CkBAIC0y
MjEsNiArMTMwLDE3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8K
ICNpZiBVU0UoQVVESU9fU0VTU0lPTikKICAgICBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnNl
dFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KG1fc2hvdWxkTWFuYWdlQXVkaW9TZXNz
aW9uQ2F0ZWdvcnkpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoVklERU8pIHx8IEVOQUJMRShXRUJf
QVVESU8pCisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXRTaG91bGREZWFjdGl2
YXRlQXVkaW9TZXNzaW9uKG1fc2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbik7CisjZW5kaWYK
KworICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZv
bnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJp
bGl0eSk7CisgICAgRm9udENhY2hlOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3Rl
bUZvbnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNz
aWJpbGl0eSk7CisKKyNpZiBFTkFCTEUoV0VCX0FVRElPKQorICAgIEF1ZGlvQ29udGV4dDo6c2V0
RGVmYXVsdFNhbXBsZVJhdGVGb3JUZXN0aW5nKFdURjo6bnVsbG9wdCk7CisjZW5kaWYKIH0KIAog
Y2xhc3MgSW50ZXJuYWxTZXR0aW5nc1dyYXBwZXIgOiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7
CkBAIC0yNjAsMTIgKzE4MCw2IEBAIEludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGluZ3Mo
UGFnZSoKICAgICAsIG1fcGFnZShwYWdlKQogICAgICwgbV9iYWNrdXAocGFnZS0+c2V0dGluZ3Mo
KSkKIHsKLSNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldEFsbG93
c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrKGZhbHNlKTsKLSNlbmRpZgotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGZh
bHNlKTsKLSNlbmRpZgogfQogCiBSZWY8SW50ZXJuYWxTZXR0aW5ncz4gSW50ZXJuYWxTZXR0aW5n
czo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0yODAsMTQgKzE5NCw2IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6cmVzZXRUb0NvbnNpc3RlbnQKICAgICBtX3BhZ2UtPnNldENhblN0YXJ0TWVkaWEo
dHJ1ZSk7CiAgICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbChmYWxzZSk7CiAKLSAgICBz
ZXR0aW5ncygpLnNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGZhbHNlKTsKLSNpZiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldHRpbmdzKCkuc2V0QWxsb3dzQWlyUGxh
eUZvck1lZGlhUGxheWJhY2soZmFsc2UpOwotI2VuZGlmCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLSAgICBzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oZmFsc2UpOwot
I2VuZGlmCi0KICAgICBtX2JhY2t1cC5yZXN0b3JlVG8oc2V0dGluZ3MoKSk7CiAgICAgbV9iYWNr
dXAgPSBCYWNrdXAgeyBzZXR0aW5ncygpIH07CiAKQEAgLTMwMCwxOCArMjA2LDYgQEAgU2V0dGlu
Z3MmIEludGVybmFsU2V0dGluZ3M6OnNldHRpbmdzKCkgYwogICAgIHJldHVybiBtX3BhZ2UtPnNl
dHRpbmdzKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRv
dWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgc2V0dGluZ3MoKS5zZXRUb3VjaEV2ZW50RW11bGF0
aW9uRW5hYmxlZChlbmFibGVkKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwot
I2VuZGlmCi0gICAgcmV0dXJuIHsgfTsKLX0KLQogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25z
dCBTdHJpbmcmIHNjcmlwdCkKIHsKICAgICBpZiAoIW1fcGFnZSkKQEAgLTM5NiwxOCArMjkwLDYg
QEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UAogICAgIHJldHVybiB7
IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRv
c2l6aW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQotICAgIHNldHRpbmdzKCkuc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGVu
YWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLSAgICBy
ZXR1cm4geyB9OwotfQotCiBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRU
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7
CiAgICAgaWYgKCFtX3BhZ2UpCkBAIC00MjIsMTk2ICszMDQsNjMgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VAogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlv
bk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3Rl
bnRNb2RlKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lmIEVOQUJMRShURVhUX0FVVE9T
SVpJTkcpCi0gICAgc2V0dGluZ3MoKS5zZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9k
ZShlbmFibGVkKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlmCi0g
ICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6
c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lm
IEVOQUJMRShFRElUQUJMRV9SRUdJT04pCi0gICAgbV9wYWdlLT5zZXRFZGl0YWJsZVJlZ2lvbkVu
YWJsZWQoZW5hYmxlZCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRp
ZgotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGlu
Z3M6OnNldE1lZGlhVHlwZU92ZXJyaWRlKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlKQorRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0RWRpdGluZ0JlaGF2aW9yKEVkaXRpbmdC
ZWhhdmlvciBlZGl0aW5nQmVoYXZpb3IpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNl
dE1lZGlhVHlwZU92ZXJyaWRlKG1lZGlhVHlwZSk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhj
ZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q2FuU3RhcnRNZWRpYShib29sIGVu
YWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBtX3BhZ2UtPnNldENhblN0YXJ0TWVkaWEoZW5hYmxl
ZCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYm9vbCBhbGxvd3MpCi17Ci0g
ICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNz
RXJyb3IgfTsKLSNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQotICAgIHNldHRp
bmdzKCkuc2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYWxsb3dzKTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGFsbG93cyk7Ci0jZW5kaWYKLSAgICByZXR1cm4geyB9OwotfQotCi1F
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJl
c1NlY3VyZUNvbm5lY3Rpb24oYm9vbCByZXF1aXJlcykKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCi0gICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldE1lZGlhQ2FwdHVyZVJl
cXVpcmVzU2VjdXJlQ29ubmVjdGlvbihyZXF1aXJlcyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShyZXF1aXJlcyk7Ci0jZW5kaWYKLSAgICByZXR1cm4geyB9OwotfQotCi12b2lkIEludGVybmFs
U2V0dGluZ3M6OnNldERlZmF1bHRBdWRpb0NvbnRleHRTYW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJh
dGUpCi17Ci0jaWYgRU5BQkxFKFdFQl9BVURJTykKLSAgICBBdWRpb0NvbnRleHQ6OnNldERlZmF1
bHRTYW1wbGVSYXRlRm9yVGVzdGluZyhzYW1wbGVSYXRlKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKHNhbXBsZVJhdGUpOwotI2VuZGlmCi19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBTdHJpbmcmIGVkaXRpbmdCZWhhdmlv
cikKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFs
aWRBY2Nlc3NFcnJvciB9OwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
ZGl0aW5nQmVoYXZpb3IsICJ3aW4iKSkKKyAgICBzd2l0Y2ggKGVkaXRpbmdCZWhhdmlvcikgewor
ICAgIGNhc2UgRWRpdGluZ0JlaGF2aW9yOjpXaW46CiAgICAgICAgIHNldHRpbmdzKCkuc2V0RWRp
dGluZ0JlaGF2aW9yVHlwZShFZGl0aW5nV2luZG93c0JlaGF2aW9yKTsKLSAgICBlbHNlIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlZGl0aW5nQmVoYXZpb3IsICJtYWMiKSkKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBFZGl0aW5nQmVoYXZpb3I6Ok1hYzoKICAgICAgICAgc2V0
dGluZ3MoKS5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKEVkaXRpbmdNYWNCZWhhdmlvcik7Ci0gICAg
ZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZWRpdGluZ0JlaGF2aW9yLCAi
dW5peCIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEVkaXRpbmdCZWhhdmlvcjo6VW5peDoK
ICAgICAgICAgc2V0dGluZ3MoKS5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKEVkaXRpbmdVbml4QmVo
YXZpb3IpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVkaXRp
bmdCZWhhdmlvciwgImlvcyIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIEVkaXRpbmdCZWhh
dmlvcjo6SW9zOgogICAgICAgICBzZXR0aW5ncygpLnNldEVkaXRpbmdCZWhhdmlvclR5cGUoRWRp
dGluZ0lPU0JlaGF2aW9yKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
eW50YXhFcnJvciB9OwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoY29uc3QgU3RyaW5nJiBr
aW5kLCBib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAg
YXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9wYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJl
bmNlcygpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAic3Vi
dGl0bGVzIikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc1N1YnRp
dGxlcyhlbmFibGVkKTsKLSAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShraW5kLCAiY2FwdGlvbnMiKSkKLSAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNldFVzZXJQ
cmVmZXJzQ2FwdGlvbnMoZW5hYmxlZCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2Uoa2luZCwgInRleHRkZXNjcmlwdGlvbnMiKSkKLSAgICAgICAgY2FwdGlvblBy
ZWZlcmVuY2VzLnNldFVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKLSAgICBl
bHNlCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oa2luZCk7Ci0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlm
Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8Ym9vbD4gSW50ZXJuYWxTZXR0aW5n
czo6c2hvdWxkRGlzcGxheVRyYWNrS2luZChjb25zdCBTdHJpbmcmIGtpbmQpCi17Ci0gICAgaWYg
KCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9w
YWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwotICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShraW5kLCAic3VidGl0bGVzIikpCi0gICAgICAgIHJldHVybiBjYXB0
aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNTdWJ0aXRsZXMoKTsKLSAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2luZCwgImNhcHRpb25zIikpCi0gICAgICAgIHJldHVybiBj
YXB0aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNDYXB0aW9ucygpOwotICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAidGV4dGRlc2NyaXB0aW9ucyIpKQotICAgICAg
ICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucygp
OwotCi0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShraW5kKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQotdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZUludGVybmFsKGJvb2wgdXNlRGFy
a0FwcGVhcmFuY2UpCi17Ci0gICAgQVNTRVJUKG1fcGFnZSk7Ci0gICAgbV9wYWdlLT5lZmZlY3Rp
dmVBcHBlYXJhbmNlRGlkQ2hhbmdlKHVzZURhcmtBcHBlYXJhbmNlLCBtX3BhZ2UtPnVzZUVsZXZh
dGVkVXNlckludGVyZmFjZUxldmVsKCkpOwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKQot
ewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFj
Y2Vzc0Vycm9yIH07Ci0gICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCh1c2VEYXJrQXBw
ZWFyYW5jZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICByZXR1cm4geyB9OwogfQogCi1F
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRTdG9yYWdlQmxvY2tpbmdQb2xp
Y3koY29uc3QgU3RyaW5nJiBtb2RlKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5n
czo6c2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KFN0b3JhZ2VCbG9ja2luZ1BvbGljeSBwb2xpY3kp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
QWNjZXNzRXJyb3IgfTsKLSAgICBpZiAobW9kZSA9PSAiQWxsb3dBbGwiKQorICAgIHN3aXRjaCAo
cG9saWN5KSB7CisgICAgY2FzZSBTdG9yYWdlQmxvY2tpbmdQb2xpY3k6OkFsbG93QWxsOgogICAg
ICAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTZWN1cml0eU9yaWdpbjo6
QWxsb3dBbGxTdG9yYWdlKTsKLSAgICBlbHNlIGlmIChtb2RlID09ICJCbG9ja1RoaXJkUGFydHki
KQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VCbG9ja2luZ1BvbGljeTo6QmxvY2tU
aGlyZFBhcnR5OgogICAgICAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShT
ZWN1cml0eU9yaWdpbjo6QmxvY2tUaGlyZFBhcnR5U3RvcmFnZSk7Ci0gICAgZWxzZSBpZiAobW9k
ZSA9PSAiQmxvY2tBbGwiKQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VCbG9ja2lu
Z1BvbGljeTo6QmxvY2tBbGw6CiAgICAgICAgIHNldHRpbmdzKCkuc2V0U3RvcmFnZUJsb2NraW5n
UG9saWN5KFNlY3VyaXR5T3JpZ2luOjpCbG9ja0FsbFN0b3JhZ2UpOwotICAgIGVsc2UKLSAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07Ci0gICAgcmV0dXJuIHsgfTsKLX0K
LQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVG
b3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAg
IHNldHRpbmdzKCkuc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMocHJlZmVyTUlNRVR5cGVGb3JJ
bWFnZXMpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIGlmICghbV9w
YWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0g
ICAgc2V0dGluZ3MoKS5zZXRJbWFnZXNFbmFibGVkKGVuYWJsZWQpOworICAgICAgICBicmVhazsK
KyAgICB9CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQor
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UERGSW1hZ2VDYWNoaW5nUG9s
aWN5KFBERkltYWdlQ2FjaGluZ1BvbGljeSBwb2xpY3kpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAiZGlzYWJsZWQiKSkKKyAgICBz
d2l0Y2ggKHBvbGljeSkgeworICAgIGNhc2UgUERGSW1hZ2VDYWNoaW5nUG9saWN5OjpFbmFibGVk
OgogICAgICAgICBzZXR0aW5ncygpLnNldFBkZkltYWdlQ2FjaGluZ1BvbGljeShQREZJbWFnZUNh
Y2hpbmdEaXNhYmxlZCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UocG9saWN5LCAiYmVsb3dtZW1vcnlsaW1pdCIpKQorICAgICAgICBicmVhazsKKyAgICBjYXNl
IFBERkltYWdlQ2FjaGluZ1BvbGljeTo6QmVsb3dNZW1vcnlMaW1pdDoKICAgICAgICAgc2V0dGlu
Z3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1hZ2VDYWNoaW5nQmVsb3dNZW1vcnlM
aW1pdCk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5
LCAiY2xpcGJvdW5kc29ubHkiKSkKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQREZJbWFnZUNh
Y2hpbmdQb2xpY3k6OkRpc2FibGVkOgorICAgICAgICBzZXR0aW5ncygpLnNldFBkZkltYWdlQ2Fj
aGluZ1BvbGljeShQREZJbWFnZUNhY2hpbmdEaXNhYmxlZCk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUERGSW1hZ2VDYWNoaW5nUG9saWN5OjpDbGlwQm91bmRzT25seToKICAgICAgICAgc2V0
dGluZ3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1hZ2VDYWNoaW5nQ2xpcEJvdW5k
c09ubHkpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBvbGlj
eSwgImVuYWJsZWQiKSkKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xp
Y3koUERGSW1hZ2VDYWNoaW5nRW5hYmxlZCk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIHJldHVy
biB7IH07CiB9CiAKQEAgLTYyMywyMiArMzcyLDYgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJu
YWxTZXR0aW5nczo6c2V0TQogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+
IEludGVybmFsU2V0dGluZ3M6OnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChjb25zdCBTdHJpbmcm
IHVybCkKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0RGVmYXVsdFZpZGVvUG9zdGVy
VVJMKHVybCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJu
YWxTZXR0aW5nczo6c2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koYm9vbCBmb3JjZWQpCi17Ci0g
ICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNz
RXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGZvcmNl
ZCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91
YmxlIHRpbWUpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCkBAIC02NDcsMzc5ICszODAsMjQ4IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFQKICAgICByZXR1cm4geyB9Owog
fQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VMZWdhY3lCYWNr
Z3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZv
aWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoRm9udExvYWRU
aW1pbmdPdmVycmlkZSBmb250TG9hZFRpbWluZ092ZXJyaWRlKQogewogICAgIGlmICghbV9wYWdl
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAg
c2V0dGluZ3MoKS5zZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGVu
YWJsZWQpOworICAgIHNldHRpbmdzKCkuc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShmb250TG9h
ZFRpbWluZ092ZXJyaWRlKTsKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lk
PiBJbnRlcm5hbFNldHRpbmdzOjpzZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKGJv
b2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSBwb2xp
Y3kpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEF1dG9zY3JvbGxGb3JEcmFnQW5k
RHJvcEVuYWJsZWQoZW5hYmxlZCk7CisgICAgc2V0dGluZ3MoKS5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KHBvbGljeSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhz
KGJvb2wgcHJlZmVyUGljdG9ncmFwaHMpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oU3lzdGVtTGF5b3V0RGlyZWN0aW9uIGRpcmVj
dGlvbikKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0Rm9udEZhbGxiYWNrUHJlZmVy
c1BpY3RvZ3JhcGhzKHByZWZlclBpY3RvZ3JhcGhzKTsKKyAgICBzZXR0aW5ncygpLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbihkaXJlY3Rpb24pOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUo
Y29uc3QgRm9udExvYWRUaW1pbmdPdmVycmlkZSYgZm9udExvYWRUaW1pbmdPdmVycmlkZSkKLXsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIGF1dG8gcG9saWN5ID0gU2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3Zl
cnJpZGU6Ok5vbmU7Ci0gICAgc3dpdGNoIChmb250TG9hZFRpbWluZ092ZXJyaWRlKSB7Ci0gICAg
Y2FzZSBGb250TG9hZFRpbWluZ092ZXJyaWRlOjpCbG9jazoKLSAgICAgICAgcG9saWN5ID0gU2V0
dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OkJsb2NrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OlN3YXA6Ci0gICAgICAgIHBvbGljeSA9IFNl
dHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpTd2FwOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGU6OkZhaWx1cmU6Ci0gICAgICAgIHBvbGljeSA9
IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpGYWlsdXJlOwotICAgICAgICBicmVh
azsKLSAgICB9Ci0gICAgc2V0dGluZ3MoKS5zZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKHBvbGlj
eSk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sIGlnbm9yZSkKLXsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0
aW9ucyhpZ25vcmUpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29s
IGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFF1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50RW5hYmxlZChlbmFibGVkKTsKLSAgICByZXR1cm4geyB9OwotfQotCi1FeGNl
cHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRZb3VUdWJlRmxhc2hQbHVnaW5SZXBs
YWNlbWVudEVuYWJsZWQoYm9vbCBlbmFibGVkKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nKEZyYW1lRmxhdHRlbmluZ1ZhbHVlIGZyYW1lRmxh
dHRlbmluZykKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0WW91VHViZUZsYXNoUGx1
Z2luUmVwbGFjZW1lbnRFbmFibGVkKGVuYWJsZWQpOworICAgIHNldHRpbmdzKCkuc2V0RnJhbWVG
bGF0dGVuaW5nKGZyYW1lRmxhdHRlbmluZyk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJl
eW9uZFBhZ2UoYm9vbCBoYXNFeHRlbmRlZEJhY2tncm91bmQpCitJbnRlcm5hbFNldHRpbmdzOjpG
b3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkQ29sb3JzQXJl
SW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQot
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0
dGluZ3MoKS5zZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShoYXNFeHRlbmRlZEJh
Y2tncm91bmQpOwotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHNldHRpbmdzKCkuZm9yY2Vk
Q29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKTsKIH0KIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNv
cHkoYm9vbCBjb252ZXJ0KQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRDb2xvcnNB
cmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KGNvbnZlcnQpOwotICAgIHJldHVybiB7IH07
CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlW
YWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNl
dFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhib29sIGVuYWJsZWQpCitJbnRlcm5hbFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFt
X3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
LSAgICBzZXR0aW5ncygpLnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhlbmFibGVkKTsK
LSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBzZXR0aW5ncygpLmZvcmNlZERpc3BsYXlJc01v
bm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50
ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sIGFsbG93
VW5jbGFtcGVkKQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWREaXNwbGF5SXNNb25v
Y2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIW1fcGFnZSB8fCAhbV9wYWdlLT5tYWluRnJh
bWUoKS52aWV3KCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKLQotICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1w
ZWRTY3JvbGxQb3NpdGlvbkZvclRlc3RpbmcoYWxsb3dVbmNsYW1wZWQpOwotICAgIHJldHVybiB7
IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJp
bGl0eVZhbHVlKHZhbHVlKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5n
czo6c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhib29sIGFsbG93cykKK0ludGVybmFsU2V0
dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgaWYg
KCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBzZXR0aW5ncygpLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYWxsb3dzKTsK
LSAgICByZXR1cm4geyB9OworICAgIHJldHVybiBzZXR0aW5ncygpLmZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3Jl
ZW4oYm9vbCBhbGxvd3MpCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFByZWZlcnNS
ZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFj
Y2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihhbGxvd3MpOwotICAgIHJl
dHVybiB7IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFj
Y2Vzc2liaWxpdHlWYWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlKGJvb2wgcmVxdWlyZXMpCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFs
dWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRJbmxpbmVNZWRpYVBs
YXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShyZXF1aXJlcyk7Ci0gICAgcmV0dXJu
IHsgfTsKKyAgICByZXR1cm4gc2V0dGluZ3MoKS5mb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFu
Z2VWYWx1ZSgpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRT
aG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KGJvb2wgcmVxdWlyZXMpCit2
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZh
bHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKIHsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zZXRTaG91bGRNb2NrQm9s
ZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVpcmVzKTsKLSAgICBGb250Q2FjaGU6OnNp
bmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkocmVx
dWlyZXMpOwotICAgIHJldHVybiB7IH07CisgICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRTdXBwb3J0
c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZSh2YWx1ZSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVk
KGJvb2wgaWdub3JlKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0V2Vi
R0wyRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNl
dEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKGlnbm9yZSk7Ci0gICAgcmV0
dXJuIHsgfTsKLX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHTDJFbmFibGVkKGJv
b2wgZW5hYmxlZCkKLXsKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZChlbmFibGVkKTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwogI2VuZGlmCisgICAgcmV0dXJuIHsgfTsKIH0K
IAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKGJvb2wgZW5hYmxlZCkK
K0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJsZWQoYm9v
bCBlbmFibGVkKQogeworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CiAjaWYgRU5BQkxFKFdFQkdQVSkKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQVUVuYWJsZWQoZW5hYmxl
ZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKICNlbmRpZgorICAgIHJldHVy
biB7IH07CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVF
bmFibGVkKGJvb2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6
OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CisgICAgaWYgKCFt
X3BhZ2UpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZChlbmFibGVkKTsKKyAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRp
b25PcjxTdHJpbmc+IEludGVybmFsU2V0dGluZ3M6OnVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q3VzdG9tUGFzdGVi
b2FyZERhdGFFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHN3aXRjaCAo
c2V0dGluZ3MoKS51c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkpIHsKLSAgICBjYXNlIFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k6OkNvbnRlbnQ6Ci0gICAgICAgIHJldHVybiAiQ29u
dGVudCJfc3RyOwotICAgIGNhc2UgVXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTo6U3lzdGVt
OgotICAgICAgICByZXR1cm4gIlZpZXciX3N0cjsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVi
b2FyZERhdGFFbmFibGVkKGVuYWJsZWQpOworICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlv
bk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koY29uc3QgU3RyaW5nJiBwb2xpY3kpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShib29sIHNob3VsZCkKIHsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShwb2xpY3ks
ICJjb250ZW50IikpIHsKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5KFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k6OkNvbnRlbnQpOwotICAgICAg
ICByZXR1cm4geyB9OwotICAgIH0KLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UocG9saWN5LCAidmlldyIpKSB7Ci0gICAgICAgIHNldHRpbmdzKCkuc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeShVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5OjpTeXN0ZW0pOwot
ICAgICAgICByZXR1cm4geyB9OwotICAgIH0KKyNpZiBVU0UoQVVESU9fU0VTU0lPTikKKyAgICBE
ZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVn
b3J5KHNob3VsZCk7CisgICAgcmV0dXJuIHsgfTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNo
b3VsZCk7CiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworI2Vu
ZGlmCiB9CiAKLUV4Y2VwdGlvbk9yPFN0cmluZz4gSW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNo
b3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kIGtpbmQsIGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NF
cnJvciB9OwotICAgIHN3aXRjaCAoc2V0dGluZ3MoKS5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSkg
ewotICAgIGNhc2UgVGV4dERpcmVjdGlvbjo6TFRSOgotICAgICAgICByZXR1cm4gIkxUUiJfc3Ry
OwotICAgIGNhc2UgVGV4dERpcmVjdGlvbjo6UlRMOgotICAgICAgICByZXR1cm4gIlJUTCJfc3Ry
OworI2lmIEVOQUJMRShWSURFTykKKyAgICBhdXRvJiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBtX3Bh
Z2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7CisgICAgc3dpdGNoIChraW5kKSB7Cisg
ICAgY2FzZSBUcmFja0tpbmQ6OlN1YnRpdGxlczoKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2Vz
LnNldFVzZXJQcmVmZXJzU3VidGl0bGVzKGVuYWJsZWQpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFRyYWNrS2luZDo6Q2FwdGlvbnM6CisgICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRV
c2VyUHJlZmVyc0NhcHRpb25zKGVuYWJsZWQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRy
YWNrS2luZDo6VGV4dERlc2NyaXB0aW9uczoKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNl
dFVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKKyAgICAgICAgYnJlYWs7CiAg
ICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkQWNjZXNzRXJyb3IgfTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtpbmQpOworICAg
IFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorICAgIHJldHVybiB7IH07CiB9CiAKLUV4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxheW91dERpcmVjdGlv
bihjb25zdCBTdHJpbmcmIGRpcmVjdGlvbikKK0V4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsU2V0
dGluZ3M6OnNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kIGtpbmQpCiB7CiAgICAgaWYg
KCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aW9uLCAibHRy
IikpIHsKLSAgICAgICAgc2V0dGluZ3MoKS5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oVGV4dERp
cmVjdGlvbjo6TFRSKTsKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICB9Ci0gICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgInJ0bCIpKSB7Ci0gICAgICAgIHNl
dHRpbmdzKCkuc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb246OlJUTCk7Ci0g
ICAgICAgIHJldHVybiB7IH07CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGF1dG8mIGNhcHRpb25Q
cmVmZXJlbmNlcyA9IG1fcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKTsKKyAgICBz
d2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFRyYWNrS2luZDo6U3VidGl0bGVzOgorICAgICAgICBy
ZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVzZXJQcmVmZXJzU3VidGl0bGVzKCk7CisgICAgY2Fz
ZSBUcmFja0tpbmQ6OkNhcHRpb25zOgorICAgICAgICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2Vz
LnVzZXJQcmVmZXJzQ2FwdGlvbnMoKTsKKyAgICBjYXNlIFRyYWNrS2luZDo6VGV4dERlc2NyaXB0
aW9uczoKKyAgICAgICAgcmV0dXJuIGNhcHRpb25QcmVmZXJlbmNlcy51c2VyUHJlZmVyc1RleHRE
ZXNjcmlwdGlvbnMoKTsKICAgICB9Ci0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2luZCk7CisjZW5kaWYKKyAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNl
dEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpCitF
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRFZGl0YWJsZVJlZ2lvbkVuYWJs
ZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRGcmFtZUZs
YXR0ZW5pbmcoZnJhbWVGbGF0dGVuaW5nKTsKKyNpZiBFTkFCTEUoRURJVEFCTEVfUkVHSU9OKQor
ICAgIG1fcGFnZS0+c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGVuYWJsZWQpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKICAgICByZXR1cm4geyB9OwogfQogCi12
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGJvb2wgYWxs
b3dzQW55Q2VydGlmaWNhdGUpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRDYW5TdGFydE1lZGlhKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBEZXByZWNhdGVkR2xvYmFsU2V0
dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGFsbG93c0FueUNlcnRpZmljYXRlKTsK
KyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nl
c3NFcnJvciB9OworICAgIG1fcGFnZS0+c2V0Q2FuU3RhcnRNZWRpYShlbmFibGVkKTsKKyAgICBy
ZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjxib29sPiBJbnRlcm5hbFNldHRpbmdzOjpkZWZl
cnJlZENTU1BhcnNlckVuYWJsZWQoKQordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VEYXJr
QXBwZWFyYW5jZUludGVybmFsKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UpCiB7Ci0gICAgaWYgKCFt
X3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
LSAgICByZXR1cm4gc2V0dGluZ3MoKS5kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoKTsKKyAgICBB
U1NFUlQobV9wYWdlKTsKKyAgICBtX3BhZ2UtPmVmZmVjdGl2ZUFwcGVhcmFuY2VEaWRDaGFuZ2Uo
dXNlRGFya0FwcGVhcmFuY2UsIG1fcGFnZS0+dXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwo
KSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldERlZmVycmVk
Q1NTUGFyc2VyRW5hYmxlZChib29sIGVuYWJsZWQpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRVc2VEYXJrQXBwZWFyYW5jZShib29sIHVzZURhcmtBcHBlYXJhbmNlKQog
ewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFj
Y2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQo
ZW5hYmxlZCk7CisgICAgc2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbCh1c2VEYXJrQXBwZWFy
YW5jZSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxT
ZXR0aW5nczo6c2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbCBzaG91bGQp
CitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRBbGxvd1VuY2xhbXBlZFNj
cm9sbFBvc2l0aW9uKGJvb2wgYWxsb3dVbmNsYW1wZWQpCiB7Ci0jaWYgVVNFKEFVRElPX1NFU1NJ
T04pCi0gICAgRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nl
c3Npb25DYXRlZ29yeShzaG91bGQpOwotICAgIHJldHVybiB7IH07Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShzaG91bGQpOwotICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKLSNlbmRpZgotfQorICAgIGlmICghbV9wYWdlIHx8ICFtX3BhZ2UtPm1haW5GcmFtZSgp
LnZpZXcoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9
OwogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRDdXN0b21QYXN0ZWJv
YXJkRGF0YUVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGVuYWJs
ZWQpOworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1wZWRT
Y3JvbGxQb3NpdGlvbkZvclRlc3RpbmcoYWxsb3dVbmNsYW1wZWQpOwogICAgIHJldHVybiB7IH07
CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEluY29tcGxldGVJ
bWFnZUJvcmRlckVuYWJsZWQoYm9vbCBlbmFibGVkKQorRXhjZXB0aW9uT3I8dm9pZD4gIEludGVy
bmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbCBzaG91bGQp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
QWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEluY29tcGxldGVJbWFnZUJvcmRlckVu
YWJsZWQoZW5hYmxlZCk7CisjaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQor
ICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlv
U2Vzc2lvbihzaG91bGQpOworI2VuZGlmCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9u
T3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3Vz
ZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oYm9vbCBzaG91bGREaXNwYXRjaCkKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9u
dEZvckFjY2Vzc2liaWxpdHkoYm9vbCByZXF1aXJlcykKIHsKICAgICBpZiAoIW1fcGFnZSkKICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRp
bmdzKCkuc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdT
ZWxlY3Rpb24oc2hvdWxkRGlzcGF0Y2gpOworICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5z
ZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVpcmVzKTsKKyAg
ICBGb250Q2FjaGU6OnNpbmdsZXRvbigpLnNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFj
Y2Vzc2liaWxpdHkocmVxdWlyZXMpOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9y
PHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VP
dXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2wgc2hvdWxkRGlzcGF0Y2gpCitFeGNlcHRpb25Pcjx2
b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShm
bG9hdCBzYW1wbGVSYXRlKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRTaG91bGRE
aXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayhzaG91bGREaXNwYXRj
aCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotc3RhdGljIEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSBzZXR0aW5nc1RvSW50ZXJuYWxTZXR0aW5nc1ZhbHVlKFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFsdWUpCi17Ci0gICAgc3dpdGNoICh2YWx1
ZSkgewotICAgIGNhc2UgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVt
OgotICAgICAgICByZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlOjpTeXN0ZW07Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPbjoKLSAgICAgICAgcmV0dXJuIEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZTo6T247Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPZmY6Ci0gICAgICAgIHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWU6Ok9mZjsKLSAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7Ci19
Ci0KLXN0YXRpYyBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGludGVybmFsU2V0
dGluZ3NUb1NldHRpbmdzVmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIHZhbHVlKQotewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIEludGVybmFs
U2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOgotICAgICAgICByZXR1
cm4gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOwotICAgIGNhc2Ug
SW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbjoKLSAgICAgICAg
cmV0dXJuIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOwotICAgIGNhc2Ug
SW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY6Ci0gICAgICAg
IHJldHVybiBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7Ci0gICAgfQot
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIFNldHRpbmdzOjpGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZjsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNj
ZXNzaWJpbGl0eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVk
QWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVy
bmFsU2V0dGluZ3NWYWx1ZShzZXR0aW5ncygpLmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNz
aWJpbGl0eVZhbHVlKCkpOwotfQotCi12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZENv
bG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlZENv
bG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKGludGVybmFsU2V0dGluZ3NUb1NldHRp
bmdzVmFsdWUodmFsdWUpKTsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJp
bGl0eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nl
c3NpYmlsaXR5VmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxT
ZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2li
aWxpdHlWYWx1ZSgpKTsKLX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWREaXNw
bGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlZERp
c3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0
dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQotCi1JbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25B
Y2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJu
YWxTZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nl
c3NpYmlsaXR5VmFsdWUoKSk7Ci19Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2Vk
UHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6
Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHZhbHVlKQotewotICAgIHNldHRpbmdzKCkuc2V0Rm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5n
c1RvU2V0dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQotCi1JbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkU3VwcG9ydHNIaWdoRHlu
YW1pY1JhbmdlVmFsdWUoKSBjb25zdAotewotICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxT
ZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFs
dWUoKSk7Ci19Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkU3VwcG9ydHNIaWdo
RHluYW1pY1JhbmdlVmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlIHZhbHVlKQotewotICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkU3VwcG9ydHNIaWdoRHluYW1p
Y1JhbmdlVmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSh2YWx1ZSkpOwotfQot
Ci12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24o
Ym9vbCBzaG91bGQpCi17Ci0jaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQot
ICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlv
U2Vzc2lvbihzaG91bGQpOworI2lmIEVOQUJMRShXRUJfQVVESU8pCisgICAgQXVkaW9Db250ZXh0
OjpzZXREZWZhdWx0U2FtcGxlUmF0ZUZvclRlc3Rpbmcoc2FtcGxlUmF0ZSk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShzYW1wbGVSYXRlKTsKICNlbmRpZgorICAgIHJldHVybiB7IH07CiB9CiAK
LXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VTY29wZUVu
YWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIHNldHRpbmdzKCkuc2V0U3RvcmFnZUFjY2Vzc0FQ
SVBlclBhZ2VTY29wZUVuYWJsZWQoZW5hYmxlZCk7Ci19Ci0vLyBJZiB5b3UgYWRkIHRvIHRoaXMg
Y2xhc3MsIG1ha2Ugc3VyZSB0aGF0IHlvdSB1cGRhdGUgdGhlIEJhY2t1cCBjbGFzcyBmb3IgdGVz
dCByZXByb2R1Y2FiaWxpdHkhCisvLyBJZiB5b3UgYWRkIHRvIHRoaXMgY2xhc3MsIG1ha2Ugc3Vy
ZSB5b3UgYXJlIG5vdCBkdXBsaWNhdGluZyBmdW5jdGlvbmFsaXR5IGluIHRoZSBnZW5lcmF0ZWQK
Ky8vIGJhc2UgY2xhc3MgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZCBhbmQgdGhhdCB5b3UgdXBk
YXRlIHRoZSBCYWNrdXAgY2xhc3MgZm9yIHRlc3QgcmVwcm9kdWNhYmlsaXR5LgogCiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAkocmV2aXNpb24gMjY5
NzYxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTUwLDggKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgaG9zdERlc3Ryb3ll
ZCgpOwogICAgIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogCi0gICAgRXhjZXB0aW9u
T3I8dm9pZD4gc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2wpOworICAgIC8vIFNldHRp
bmdzCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IFN0
cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcm
IHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2Fuc1NlcmlmRm9udEZhbWlseShj
b25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwpAQCAtNTksNjYgKzU4
LDM0IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRDdXJzaXZlRm9udEZhbWls
eShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5LCBj
b25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UGljdG9ncmFw
aEZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsK
LSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbCk7CisK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZShpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRleHRB
dXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFRleHRBdXRvc2l6aW5nRm9udFNjYWxlRmFjdG9yKGZsb2F0KTsKLSAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRNZWRpYVR5cGVPdmVycmlkZShjb25zdCBTdHJpbmcmKTsKLSAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRDYW5TdGFydE1lZGlhKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldEFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihib29sKTsKLSAg
ICB2b2lkIHNldERlZmF1bHRBdWRpb0NvbnRleHRTYW1wbGVSYXRlKGZsb2F0KTsKLQotICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBTdHJpbmcmKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRQcmVmZXJNSU1FVHlwZUZvckltYWdlcyhib29sKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRQREZJbWFnZUNhY2hpbmdQb2xpY3koY29uc3QgU3RyaW5nJik7
Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChjb25zdCBT
dHJpbmcmIGtpbmQsIGJvb2wgZW5hYmxlZCk7Ci0gICAgRXhjZXB0aW9uT3I8Ym9vbD4gc2hvdWxk
RGlzcGxheVRyYWNrS2luZChjb25zdCBTdHJpbmcmIGtpbmQpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNl
dFN0b3JhZ2VCbG9ja2luZ1BvbGljeShjb25zdCBTdHJpbmcmKTsKLSAgICBFeGNlcHRpb25Pcjx2
b2lkPiBzZXRJbWFnZXNFbmFibGVkKGJvb2wpOworCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoY29uc3QgU3RyaW5nJik7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koYm9vbCk7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHMoZG91YmxlKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VMZWdhY3lC
YWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEF1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2wpOwotICAg
IGVudW0gY2xhc3MgRm9udExvYWRUaW1pbmdPdmVycmlkZSB7IEJsb2NrLCBTd2FwLCBGYWlsdXJl
IH07Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShjb25z
dCBGb250TG9hZFRpbWluZ092ZXJyaWRlJik7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hv
dWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJvb2wp
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQ
YWdlKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZENvbnZlcnRQb3NpdGlv
blN0eWxlT25Db3B5KGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNjcm9sbGluZ1Ry
ZWVJbmNsdWRlc0ZyYW1lcyhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBbGxvd1Vu
Y2xhbXBlZFNjcm9sbFBvc2l0aW9uKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEFs
bG93c0lubGluZU1lZGlhUGxheWJhY2soYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihib29sKTsKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0
dHJpYnV0ZShib29sKTsKLSAgICBFeGNlcHRpb25PcjxTdHJpbmc+IHVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9yPFN0cmluZz4gc3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNo
b3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoYm9vbCk7Ci0gICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbCk7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJvb2wp
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEluY29tcGxldGVJbWFnZUJvcmRlckVuYWJsZWQo
Ym9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNN
b3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xp
Y2soYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2Fu
dmFzRHJhd2luZ0VuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIGludGVydmFsSW5T
ZWNvbmRzKTsKIAotICAgIHVzaW5nIEZyYW1lRmxhdHRlbmluZ1ZhbHVlID0gRnJhbWVGbGF0dGVu
aW5nOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0
ZW5pbmdWYWx1ZSk7CisgICAgZW51bSBjbGFzcyBFZGl0aW5nQmVoYXZpb3IgOiB1aW50OF90IHsg
TWFjLCBXaW4sIFVuaXgsIElvcyB9OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEVkaXRpbmdC
ZWhhdmlvcihFZGl0aW5nQmVoYXZpb3IpOworICAgIAorICAgIGVudW0gY2xhc3MgUERGSW1hZ2VD
YWNoaW5nUG9saWN5IDogdWludDhfdCB7IEVuYWJsZWQsIEJlbG93TWVtb3J5TGltaXQsIERpc2Fi
bGVkLCBDbGlwQm91bmRzT25seSB9OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFBERkltYWdl
Q2FjaGluZ1BvbGljeShQREZJbWFnZUNhY2hpbmdQb2xpY3kpOwogCi0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2wpOworICAgIGVudW0gY2xhc3MgU3Rv
cmFnZUJsb2NraW5nUG9saWN5IDogdWludDhfdCB7IEFsbG93QWxsLCBCbG9ja1RoaXJkUGFydHks
IEJsb2NrQWxsIH07CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3RvcmFnZUJsb2NraW5nUG9s
aWN5KFN0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgCi0gICAgc3RhdGljIHZvaWQgc2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGUoYm9vbCk7CisgICAgdXNpbmcgVXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSA9IFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k7CisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KTsKKworICAgIHVzaW5nIFN5c3RlbUxheW91dERpcmVjdGlv
biA9IFRleHREaXJlY3Rpb247CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U3lzdGVtTGF5b3V0
RGlyZWN0aW9uKFN5c3RlbUxheW91dERpcmVjdGlvbik7CiAKLSAgICBFeGNlcHRpb25Pcjxib29s
PiBkZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRE
ZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoYm9vbCk7CisgICAgdXNpbmcgRm9udExvYWRUaW1pbmdP
dmVycmlkZSA9IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOworICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlk
ZSk7CiAKLSAgICBlbnVtIGNsYXNzIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7IFN5c3RlbSwg
T24sIE9mZiB9OworICAgIHVzaW5nIEZyYW1lRmxhdHRlbmluZ1ZhbHVlID0gRnJhbWVGbGF0dGVu
aW5nOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0
ZW5pbmdWYWx1ZSk7CisKKyAgICB1c2luZyBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgPSBTZXR0
aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIEZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSBmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0Owog
ICAgIHZvaWQgc2V0Rm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoRm9y
Y2VkQWNjZXNzaWJpbGl0eVZhbHVlKTsKICAgICBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgZm9y
Y2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwpAQCAtMTI5
LDE0ICs5NiwzNSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb3JjZWRTdXBwb3J0c0hpZ2hEeW5h
bWljUmFuZ2VWYWx1ZShGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUpOwogCiAgICAgLy8gUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy4KLSAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wp
OwotICAgIHN0YXRpYyB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZv
aWQgc2V0UGljdHVyZUluUGljdHVyZUFQSUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQg
c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFdlYkdMMkVuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0V2ViR1BV
RW5hYmxlZChib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGZXRjaEFQSUtlZXBBbGl2
ZUVuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q3VzdG9tUGFzdGVib2Fy
ZERhdGFFbmFibGVkKGJvb2wpOwogCi0gICAgdm9pZCBzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9T
ZXNzaW9uKGJvb2wpOwotICAgIAotICAgIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VT
Y29wZUVuYWJsZWQoYm9vbCk7CisgICAgLy8gRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzLgorICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJv
b2wpOworCisgICAgLy8gQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy4KKyAgICBlbnVtIGNsYXNzIFRy
YWNrS2luZCA6IHVpbnQ4X3QgeyBTdWJ0aXRsZXMsIENhcHRpb25zLCBUZXh0RGVzY3JpcHRpb25z
IH07CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChUcmFj
a0tpbmQsIGJvb2wgZW5hYmxlZCk7CisgICAgRXhjZXB0aW9uT3I8Ym9vbD4gc2hvdWxkRGlzcGxh
eVRyYWNrS2luZChUcmFja0tpbmQpOworCisgICAgLy8gUGFnZQorICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEVkaXRhYmxlUmVnaW9uRW5hYmxlZChib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRDYW5TdGFydE1lZGlhKGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVzZURh
cmtBcHBlYXJhbmNlKGJvb2wpOworCisgICAgLy8gU2Nyb2xsVmlldworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldEFsbG93VW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24oYm9vbCk7CisKKyAgICAvLyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hv
dWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sKTsKKworICAgIC8vIFJlbmRlclRoZW1lL0Zv
bnRDYWNoZQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9u
dEZvckFjY2Vzc2liaWxpdHkoYm9vbCk7CisKKyAgICAvLyBBdWRpb0NvbnRleHQKKyAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCk7CiAK
IHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CkBAIC0xNTEs
OSArMTM5LDggQEAgcHJpdmF0ZToKICAgICAgICAgZXhwbGljaXQgQmFja3VwKFNldHRpbmdzJik7
CiAgICAgICAgIHZvaWQgcmVzdG9yZVRvKFNldHRpbmdzJik7CiAKLSAgICAgICAgRWRpdGluZ0Jl
aGF2aW9yVHlwZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOwotCi0gICAgICAgIC8vIEluaXRp
YWxseSBlbXB0eSwgb25seSB1c2VkIGlmIGNoYW5nZWQgYnkgYSB0ZXN0LgorICAgICAgICAvLyBT
ZXR0aW5ncworICAgICAgICAvLyBTY3JpcHRGb250RmFtaWx5TWFwcyBhcmUgaW5pdGlhbGx5IGVt
cHR5LCBvbmx5IHVzZWQgaWYgY2hhbmdlZCBieSBhIHRlc3QuCiAgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbGllczsKICAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZpeGVkRm9udEZhbWlsaWVzOwogICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1f
c2VyaWZGb250RmFtaWxpZXM7CkBAIC0xNjEsNzIgKzE0OCwzNSBAQCBwcml2YXRlOgogICAgICAg
ICBTY3JpcHRGb250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRGYW1pbGllczsKICAgICAgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWxpZXM7CiAgICAgICAgIFNjcmlwdEZv
bnRGYW1pbHlNYXAgbV9waWN0b2dyYXBoRm9udEZhbWlsaWVzOwotCi0jaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdFbmFibGVk
OwotICAgICAgICBJbnRTaXplIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVu
dE1vZGU7Ci0jZW5kaWYKLQotICAgICAgICBTdHJpbmcgbV9vcmlnaW5hbE1lZGlhVHlwZU92ZXJy
aWRlOwotICAgICAgICBib29sIG1fb3JpZ2luYWxDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5n
OwotICAgICAgICBib29sIG1fb3JpZ2luYWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7Ci0gICAgICAg
IGJvb2wgbV9vcmlnaW5hbFVzZXNPdmVybGF5U2Nyb2xsYmFyczsKLSAgICAgICAgYm9vbCBtX2lt
YWdlc0VuYWJsZWQ7Ci0gICAgICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKKyAg
ICAgICAgRWRpdGluZ0JlaGF2aW9yVHlwZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOwogICAg
ICAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7Ci0jaWYgRU5BQkxFKFZJREVP
KQotICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKLSAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlDYXB0aW9uczsKLSAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zOwotI2VuZGlmCi0gICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3Rl
clVSTDsKLSAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwogICAgICAgICBT
ZWNvbmRzIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9sczsKLSAgICAgICAgYm9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVo
YXZpb3I7Ci0gICAgICAgIGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwot
ICAgICAgICBib29sIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwotICAgICAg
ICBib29sIG1feW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwotICAgICAgICBi
b29sIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHk7Ci0gICAgICAgIGJvb2wgbV9m
b250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHM7Ci0gICAgICAgIGJvb2wgbV9zaG91bGRJZ25v
cmVGb250TG9hZENvbXBsZXRpb25zOwotICAgICAgICBib29sIG1fYmFja2dyb3VuZFNob3VsZEV4
dGVuZEJleW9uZFBhZ2U7CiAgICAgICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQ
b2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9zY3JvbGxpbmdU
cmVlSW5jbHVkZXNGcmFtZXM7Ci0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICAgICAgYm9v
bCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkOwotI2VuZGlmCi0jaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICAgICAgYm9vbCBtX2FsbG93c0FpclBsYXlGb3JNZWRp
YVBsYXliYWNrOwotI2VuZGlmCi0gICAgICAgIGJvb2wgbV9hbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrOwotICAgICAgICBib29sIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNj
cmVlbjsKLSAgICAgICAgYm9vbCBtX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5s
aW5lQXR0cmlidXRlOwotICAgICAgICBib29sIG1fZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkOwot
ICAgICAgICBib29sIG1faW5wdXRFdmVudHNFbmFibGVkOwotICAgICAgICBib29sIG1faW5jb21w
bGV0ZUltYWdlQm9yZGVyRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoU3lu
dGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uOwotICAgICAgICBib29sIG1f
c2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2sgeyBmYWxz
ZSB9OwotICAgICAgICBib29sIG1fc2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbjsKLSAgICAg
ICAgYm9vbCBtX2FuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkOwogICAgICAg
ICBVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IG1fdXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeTsKICAgICAgICAgVGV4dERpcmVjdGlvbiBtX3N5c3RlbUxheW91dERpcmVjdGlvbjsKLSAg
ICAgICAgUERGSW1hZ2VDYWNoaW5nUG9saWN5IG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5OworICAg
ICAgICBXZWJDb3JlOjpQREZJbWFnZUNhY2hpbmdQb2xpY3kgbV9wZGZJbWFnZUNhY2hpbmdQb2xp
Y3k7CiAgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgbV9mb3JjZWRD
b2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICAgICAgU2V0dGluZ3M6OkZv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBtX2ZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3Np
YmlsaXR5VmFsdWU7CiAgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUg
bV9mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZTsKICAgICAgICAg
U2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgbV9mb250TG9hZFRpbWluZ092ZXJyaWRl
OwogICAgICAgICBGcmFtZUZsYXR0ZW5pbmcgbV9mcmFtZUZsYXR0ZW5pbmc7CiAKLSAgICAgICAg
Ly8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgorICAgICAgICAvLyBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwogICAgICAgICBib29sIG1fZmV0
Y2hBUElLZWVwQWxpdmVBUElFbmFibGVkOwotICAgICAgICAKLSAgICAgICAgYm9vbCBtX3Nob3Vs
ZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHk7CisgICAgICAgIGJvb2wgbV9jdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ7CisKKyAgICAgICAgLy8gRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzCisgICAgICAgIGJvb2wgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZDsKICNp
ZiBVU0UoQVVESU9fU0VTU0lPTikKICAgICAgICAgYm9vbCBtX3Nob3VsZE1hbmFnZUF1ZGlvU2Vz
c2lvbkNhdGVnb3J5OwogI2VuZGlmCi0gICAgICAgIGJvb2wgbV9jdXN0b21QYXN0ZWJvYXJkRGF0
YUVuYWJsZWQ7CisKKyAgICAgICAgLy8gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyCisgICAg
ICAgIGJvb2wgbV9zaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uOworCisgICAgICAgIC8vIFJl
bmRlclRoZW1lL0ZvbnRDYWNoZQorICAgICAgICBib29sIG1fc2hvdWxkTW9ja0JvbGRTeXN0ZW1G
b250Rm9yQWNjZXNzaWJpbGl0eTsKICAgICB9OwogCiAgICAgUGFnZSogbV9wYWdlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAy
Njk3NjEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjQsMTggKzI0LDIyIEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKK2VudW0gRWRp
dGluZ0JlaGF2aW9yIHsgIm1hYyIsICJ3aW4iLCAidW5peCIsICJpb3MiIH07CitlbnVtIEZvbnRM
b2FkVGltaW5nT3ZlcnJpZGUgeyAiTm9uZSIsICJCbG9jayIsICJTd2FwIiwgIkZhaWx1cmUiIH07
CiBlbnVtIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7ICJzeXN0ZW0iLCAib24iLCAib2ZmIiB9
OwogZW51bSBGcmFtZUZsYXR0ZW5pbmdWYWx1ZSB7ICJEaXNhYmxlZCIsICJFbmFibGVkRm9yTm9u
RnVsbFNjcmVlbklGcmFtZXMiLCAiRnVsbHlFbmFibGVkIiB9OwotZW51bSBGb250TG9hZFRpbWlu
Z092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAiLCAiRmFpbHVyZSIgfTsKK2VudW0gUERGSW1hZ2VD
YWNoaW5nUG9saWN5IHsgImVuYWJsZWQiLCAiYmVsb3dNZW1vcnlMaW1pdCIsICJkaXNhYmxlZCIs
ICJjbGlwQm91bmRzT25seSIgfTsKK2VudW0gU3RvcmFnZUJsb2NraW5nUG9saWN5IHsgIkFsbG93
QWxsIiwgIkJsb2NrVGhpcmRQYXJ0eSIsICJCbG9ja0FsbCIgfTsKK2VudW0gU3lzdGVtTGF5b3V0
RGlyZWN0aW9uIHsgIkxUUiIsICJSVEwiIH07CitlbnVtIFRyYWNrS2luZCB7ICJTdWJ0aXRsZXMi
LCAiQ2FwdGlvbnMiLCAiVGV4dERlc2NyaXB0aW9ucyIgfTsKK2VudW0gVXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSB7ICJDb250ZW50IiwgIlN5c3RlbSIgfTsKIAogWwogICAgIExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEV4cG9ydE1h
Y3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogXSBpbnRlcmZhY2UgSW50ZXJuYWxTZXR0
aW5ncyA6IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFRvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0KLSAgICAvLyBGb250cywgdGV4dAorICAgIC8vIFNldHRpbmdzCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KERPTVN0cmluZyBmYW1p
bHksIERPTVN0cmluZyBzY3JpcHQpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFNlcmlmRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5
KERPTVN0cmluZyBmYW1pbHksIERPTVN0cmluZyBzY3JpcHQpOwpAQCAtNDMsODMgKzQ3LDQ5IEBA
IGVudW0gRm9udExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDdXJzaXZlRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5
LCBET01TdHJpbmcgc2NyaXB0KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRGYW50YXN5Rm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQaWN0b2dyYXBoRm9udEZhbWls
eShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2NyaXB0KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoYm9vbGVh
biBwcmVmZXJQaWN0b2dyYXBocyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShGb250TG9hZFRpbWluZ092ZXJyaWRlIG92ZXJyaWRl
KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRJZ25vcmVGb250
TG9hZENvbXBsZXRpb25zKGJvb2xlYW4gaWdub3JlKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwor
ICAgIC8vIEZvcndhcmRzIHRvIFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlSGVpZ2h0
IGFuZCBUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZVdpZHRoLgogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRl
KGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sZWFuIGVuYWJsZWQp
OwotCi0gICAgLy8gTWVkaWEKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRD
YW5TdGFydE1lZGlhKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChET01TdHJpbmcga2luZCwgYm9vbGVh
biBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gc2hvdWxkRGlzcGxh
eVRyYWNrS2luZChET01TdHJpbmcgdHJhY2tLaW5kKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoRE9NU3RyaW5nIHBvc3Rlcik7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHModW5yZXN0cmljdGVkIGRvdWJsZSB0aW1lKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYVR5cGVPdmVycmlkZShET01TdHJp
bmcgbWVkaWFUeXBlT3ZlcnJpZGUpOwotICAgIHVuZGVmaW5lZCBzZXRBbGxvd3NBaXJQbGF5Rm9y
TWVkaWFQbGF5YmFjayhib29sZWFuIGF2YWlsYWJsZSk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTSwgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNZWRpYUNhcHR1cmVSZXF1
aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9vbGVhbiBlbmFibGUpOwotICAgIHVuZGVmaW5lZCBzZXRE
ZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKTsKLQotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGJv
b2xlYW4gZm9yY2VkKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFF1
aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2Vt
ZW50RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotCi0gICAgLy8gRWRpdGluZywgZm9ybXMKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFZGl0aW5nQmVoYXZpb3IoRE9NU3Ry
aW5nIGJlaGF2aW9yKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91
bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29sZWFuIGNvbnZlcnRQb3NpdGlvbik7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFn
ZXMoYm9vbGVhbiBwcmVmZXJNaW1lVHlwZUZvckltYWdlKTsKLQotICAgIC8vIE90aGVyIHN3aXRj
aGVzCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlRGFya0FwcGVhcmFu
Y2UoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW1hZ2VzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFBERkltYWdlQ2FjaGluZ1BvbGlj
eShET01TdHJpbmcgcG9saWN5KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0QXV0b3Njcm9sbEZvckRy
YWdBbmREcm9wRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKGJvb2xlYW4g
aGFzRXh0ZW5kZWRCYWNrZ3JvdW5kKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0
aW9uKGJvb2xlYW4gYWxsb3dVbmNsYW1wZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlKTsKLQorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUg
aW50ZXJ2YWxJblNlY29uZHMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dE1pbmltdW1UaW1lckludGVydmFsKHVucmVzdHJpY3RlZCBkb3VibGUgaW50ZXJ2YWxJblNlY29u
ZHMpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2soYm9vbGVhbiBhbGxvd3MpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oYm9vbGVh
biBhbGxvd3MpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldElubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2xlYW4gcmVxdWlyZXMp
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEVkaXRpbmdCZWhhdmlvcihF
ZGl0aW5nQmVoYXZpb3IgYmVoYXZpb3IpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTdG9yYWdlQmxvY2tpbmdQb2xpY3kgcG9saWN5
KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRQREZJbWFnZUNhY2hpbmdQ
b2xpY3koUERGSW1hZ2VDYWNoaW5nUG9saWN5IHBvbGljeSk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0RnJhbWVGbGF0dGVuaW5nKEZyYW1lRmxhdHRlbmluZ1ZhbHVlIGZy
YW1lRmxhdHRlbmluZyk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0SW5j
b21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VFdmVu
dHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKGJvb2xlYW4gc2hvdWxkRGlzcGF0Y2gpOwotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91
c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2xlYW4gc2hvdWxkRGlzcGF0Y2gpOwotCi0gICAg
Ly8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KLSAgICB1bmRlZmluZWQgc2V0V2ViR0wyRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwotICAgIHVuZGVmaW5lZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7Ci0gICAgdW5kZWZpbmVkIHNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgdXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5k
ZWZpbmVkIHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSBi
b29sZWFuIGRlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZCgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldERlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkTW9ja0JvbGRT
eXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShib29sZWFuIHNob3VsZE1vY2spOwotCisgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eShVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IHBvbGljeSk7CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFN5c3RlbUxheW91dERp
cmVjdGlvbiBkaXJlY3Rpb24pOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgYXR0cmli
dXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNj
ZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUg
Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgYXR0cmli
dXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFu
Z2VWYWx1ZTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1h
bmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2xlYW4gc2hvdWxkKTsKKyAgICAvLyBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzLgorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFdl
YkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVu
ZGVmaW5lZCBzZXRXZWJHUFVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Q3VzdG9tUGFz
dGVib2FyZERhdGFFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKLSAgICB1bmRlZmluZWQgc2V0
U2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sZWFuIHNob3VsZERlYWN0aXZhdGUpOwot
ICAgIAotICAgIHVuZGVmaW5lZCBzZXRTdG9yYWdlQWNjZXNzQVBJUGVyUGFnZVNjb3BlRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOworICAgIC8vIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy4KKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Np
b25DYXRlZ29yeShib29sZWFuIHNob3VsZCk7CisKKyAgICAvLyBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzCisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkRGlzcGxheVRy
YWNrS2luZChUcmFja0tpbmQga2luZCwgYm9vbGVhbiBlbmFibGVkKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIGJvb2xlYW4gc2hvdWxkRGlzcGxheVRyYWNrS2luZChUcmFja0tpbmQgdHJhY2tL
aW5kKTsKIAorICAgIC8vIFBhZ2UKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXRDYW5TdGFydE1lZGlhKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci19
OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFVzZURhcmtBcHBlYXJhbmNl
KGJvb2xlYW4gZW5hYmxlZCk7CiAKKyAgICAvLyBTY3JvbGxWaWV3CisgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sZWFu
IGFsbG93VW5jbGFtcGVkKTsKKworICAgIC8vIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci4K
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGREZWFjdGl2YXRlQXVk
aW9TZXNzaW9uKGJvb2xlYW4gc2hvdWxkRGVhY3RpdmF0ZSk7CisKKyAgICAvLyBSZW5kZXJUaGVt
ZS9Gb250Q2FjaGUKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRN
b2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KGJvb2xlYW4gc2hvdWxkTW9jayk7CisK
KyAgICAvLyBBdWRpb0NvbnRleHQKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBz
ZXREZWZhdWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKTsKK307Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNjk3NjEpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5NiwxMCArNTk2LDYgQEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgICAgICBkb2N1bWVudC5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCku
c2V0VGVzdGluZ01vZGUodHJ1ZSk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0gICAgc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGZhbHNlKTsKLSNl
bmRpZgotCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICBpZiAoZG9j
dW1lbnQucGFnZSgpKQogICAgICAgICBkb2N1bWVudC5wYWdlKCktPnNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyRW5hYmxlZCh0cnVlKTsKQEAgLTE2MTcsMTMgKzE2MTMsNiBAQCB2b2lk
IEludGVybmFsczo6c2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PCiAgICAgICAgIHBhZ2UtPnNldHRp
bmdzKCkuc2V0SW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZChzaG91
bGRJbnRlcnJ1cHQpOwogfQogCi12b2lkIEludGVybmFsczo6c2V0TWVkaWFDYXB0dXJlUmVxdWly
ZXNTZWN1cmVDb25uZWN0aW9uKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKLSAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5w
YWdlKCkpCi0gICAgICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNT
ZWN1cmVDb25uZWN0aW9uKGVuYWJsZWQpOwotfQotCiBzdGF0aWMgRXhjZXB0aW9uT3I8c3RkOjp1
bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlPj4gY3JlYXRlUmVjb3JkZXJNb2NrU291cmNl
KE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtLCBjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9w
dGlvbnMmKQogewogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZh
dGU+KG5ldyBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2soc3RyZWFtKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5MSw3ICs1OTEsNiBAQCBw
dWJsaWM6CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgc2V0U2hvdWxkSW50
ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2wpOwotICAgIHZvaWQgc2V0TWVk
aWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGJvb2wpOwogICAgIHZvaWQgc2V0Q3Vz
dG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcigpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAJKHJldmlzaW9uIDI2
OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgogCisjaW5jbHVkZSAiRGVwcmVjYXRlZEds
b2JhbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnRlcm5hbFNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCkBAIC0xNDMsNyArMTQ0LDcgQEAgdm9p
ZCBpbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAKIHZvaWQgc2V0QWxsb3dzQW55
U1NMQ2VydGlmaWNhdGUoYm9vbCBhbGxvd0FueVNTTENlcnRpZmljYXRlKQogewotICAgIEludGVy
bmFsU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGFsbG93QW55U1NMQ2VydGlm
aWNhdGUpOworICAgIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2V0QWxsb3dzQW55U1NMQ2Vy
dGlmaWNhdGUoYWxsb3dBbnlTU0xDZXJ0aWZpY2F0ZSk7CiB9CiAKIHZvaWQgc2V0TGlua2VkT25P
ckFmdGVyRXZlcnl0aGluZ0ZvclRlc3RpbmcoKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzMgQEAK
KzIwMjAtMTEtMTIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIENs
ZWFudXAgSW50ZXJuYWxTZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE4ODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1dJUF0KKworICAgICAgICAqIGVkaXRpbmcvbWFjL3NlbGVjdGlvbi9k
b3VibGUtY2xpY2stYW5kLWRyYWctb3Zlci1hbmNob3ItdG8tc2VsZWN0Lmh0bWw6CisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWw6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdp
dGgtc2hpZnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL3VzZXIt
c2VsZWN0LWFsbC13aXRoLXNoaWZ0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtYWx0ZXJuYXRlLWJvZHktZGlyLWF0dHItZG9lcy1ub3QtdXBkYXRlLXNjcm9s
bGJhci1wbGFjZW1lbnQtMi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11
cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVudC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGlj
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZy
b21Qb2ludC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZy
YW1lLW9mZnNldC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xs
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNj
cm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdo
dC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWxpc3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctcGFkZGluZy5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1z
aW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNo
LWNvbnRlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3Rp
Y2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUt
Mi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1pZnJhbWUtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92
ZXJmbG93LXNjcm9sbC0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRl
eHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWw6CisKIDIwMjAtMTEt
MTIgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OOiBbIE1hYyB3azIgXSB3ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtaDI2
NC1iYXNlbGluZS5odG1sIGlzIGZsYWt5IGZhaWxpbmcKSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvbWFjL3NlbGVjdGlvbi9kb3VibGUtY2xpY2stYW5kLWRyYWctb3Zlci1hbmNob3ItdG8tc2Vs
ZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc2VsZWN0aW9u
L2RvdWJsZS1jbGljay1hbmQtZHJhZy1vdmVyLWFuY2hvci10by1zZWxlY3QuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc2VsZWN0aW9uL2RvdWJsZS1j
bGljay1hbmQtZHJhZy1vdmVyLWFuY2hvci10by1zZWxlY3QuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNyArMzQsNyBAQCBwICsgcCB7CiAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlv
cigiTWFjIik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVkaXRpbmdCZWhhdmlvcigibWFj
Iik7CiAgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
LCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CiAKICAgICBVSUhlbHBlci5kb3Vi
bGVDbGlja0VsZW1lbnRNb3VzZURvd24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0Iikp
OwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVk
ZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0aW9uLmh0
bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3No
aWZ0LWNsaWNrLWluY2x1ZGVzLWV4aXN0aW5nLXNlbGVjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw3ICszNyw3IEBAIE1hcmt1cC53YWl0VW50aWxEb25lKCk7CiAgICAgaWYgKCF3aW5k
b3cudGVzdFJ1bm5lcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEVkaXRpbmdCZWhhdmlvcigiTWFjIik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVk
aXRpbmdCZWhhdmlvcigibWFjIik7CiAgICAgTWFya3VwLmR1bXAoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnRhaW5lciIpLCAiQmVmb3JlIGV4dGVuZGluZyB0aGUgc2VsZWN0aW9uIik7CiAK
ICAgICBhd2FpdCBVSUhlbHBlci5jYWxsRnVuY3Rpb25BbmRXYWl0Rm9yRXZlbnQoKCkgPT4gVUlI
ZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmQiKSwgWyJz
aGlmdEtleSJdKSwgZG9jdW1lbnQuYm9keSwgImNsaWNrIik7CkluZGV4OiBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3Qt
YWxsLXdpdGgtc2hpZnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiBUaGlzIHRlc3RzIHNoaWZ0ICsg
c2VsZWN0aW5nIHR3byBkaXNjb250aW51b3VzIGVsZW1lbnRzIHdpdGggdXNlci1zZWxlY3Q6IGFs
bC4gV2ViS2l0IHNob3VsZCBzZWxlY3QgdGhlIGJvdGggZWxlbWVudHMgaW5zdGVhZCBvZiBtb3Zp
bmcgdGhlIHNlbGVjdGlvbi4KIFRvIG1hbnVhbGx5IHRlc3QsIGNsaWNrIHRvIHNlbGVjdCB0aGUg
Zmlyc3QgZWxlbWVudCBhbmQgc2hpZnQtY2xpY2sgdGhlIHNlY29uZCBlbGVtZW50LiBXZWJLaXQg
c2hvdWxkIHNlbGVjdCBib3RoIGVsZW1lbnRzLgogCi1BZnRlciBjbGlja2luZyBvbiB0aGUgZmly
c3QgZWxlbWVudCAoTWFjKToKK0FmdGVyIGNsaWNraW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50ICht
YWMpOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xOCw3ICsxOCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4K
IHwgIgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQgKE1h
Yyk6CitBZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQgKG1hYyk6CiB8
ICIKICIKIHwgPGRpdj4KQEAgLTM1LDcgKzM1LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAi
CiAKLUFmdGVyIGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoTWFjKToKK0FmdGVyIGNs
aWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAobWFjKToKIHwgIgogIgogfCA8ZGl2PgpAQCAt
NTIsNyArNTIsNyBAQCBTb21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgc2hpZnQgY2xp
Y2tpbmcgb24gdGhlIGZpcnN0IGVsZW1lbnQgKE1hYyk6CitBZnRlciBzaGlmdCBjbGlja2luZyBv
biB0aGUgZmlyc3QgZWxlbWVudCAobWFjKToKIHwgIgogIgogfCA8ZGl2PgpAQCAtNjksNyArNjks
NyBAQCBTb21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIGZp
cnN0IGVsZW1lbnQgKFdpbik6CitBZnRlciBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAo
d2luKToKIHwgIgogIgogfCA8ZGl2PgpAQCAtODYsNyArODYsNyBAQCBTb21lIG90aGVyIHRleHQu
CiB8ICIKICIKIAotQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50IChX
aW4pOgorQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50ICh3aW4pOgog
fCAiCiAiCiB8IDxkaXY+CkBAIC0xMDMsNyArMTAzLDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAi
CiAiCiAKLUFmdGVyIGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoV2luKToKK0FmdGVy
IGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAod2luKToKIHwgIgogIgogfCA8ZGl2PgpA
QCAtMTIwLDcgKzEyMCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBzaGlm
dCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoV2luKToKK0FmdGVyIHNoaWZ0IGNsaWNr
aW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50ICh3aW4pOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xMzcs
NyArMTM3LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIGNsaWNraW5nIG9u
IHRoZSBmaXJzdCBlbGVtZW50IChVbml4KToKK0FmdGVyIGNsaWNraW5nIG9uIHRoZSBmaXJzdCBl
bGVtZW50ICh1bml4KToKIHwgIgogIgogfCA8ZGl2PgpAQCAtMTU0LDcgKzE1NCw3IEBAIFNvbWUg
b3RoZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgc2Vjb25k
IGVsZW1lbnQgKFVuaXgpOgorQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVt
ZW50ICh1bml4KToKIHwgIgogIgogfCA8ZGl2PgpAQCAtMTcxLDcgKzE3MSw3IEBAIFNvbWUgb3Ro
ZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBjbGlja2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQg
KFVuaXgpOgorQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50ICh1bml4KToKIHwg
IgogIgogfCA8ZGl2PgpAQCAtMTg4LDcgKzE4OCw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgog
IgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoVW5peCk6CitB
ZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAodW5peCk6CiB8ICIKICIK
IHwgPGRpdj4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VzZXItc2VsZWN0
LWFsbC13aXRoLXNoaWZ0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgtc2hpZnQuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgt
c2hpZnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDksOSArNDksOSBAQCBmdW5jdGlvbiBydW5U
ZXN0KGVkaXRpbmdCZWhhdmlvcikgewogfQogCiBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0g
ICAgcnVuVGVzdCgnTWFjJyk7Ci0gICAgcnVuVGVzdCgnV2luJyk7Ci0gICAgcnVuVGVzdCgnVW5p
eCcpOworICAgIHJ1blRlc3QoJ21hYycpOworICAgIHJ1blRlc3QoJ3dpbicpOworICAgIHJ1blRl
c3QoJ3VuaXgnKTsKIAogfSBlbHNlCiAgICAgTWFya3VwLm5vQXV0b0R1bXAoKTsKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRp
ci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LTItZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1hbHRlcm5hdGUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNl
bWVudC0yLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRpci1hdHRyLWRvZXMt
bm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LTItZXhwZWN0ZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNyw3ICs3LDcgQEAKICAgICA8L3N0eWxlPgogICAgIDxzY3JpcHQ+CiAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlN5c3RlbSIp
OwogICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0
ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVudC1leHBlY3RlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVy
bmF0ZS1pZnJhbWUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNl
bWVudC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1hbHRlcm5hdGUtaWZyYW1lLWJvZHktZGlyLWF0dHIt
ZG9lcy1ub3QtdXBkYXRlLXNjcm9sbGJhci1wbGFjZW1lbnQtZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDxodG1sPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlN5c3RlbSIpOwog
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlv
bi1wcm9wZXJ0eS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1hbmltYXRpb24tcHJvcGVydHkuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1z
dGF0aWMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1l
bnRGcm9tUG9pbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9t
UG9pbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZz
ZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNv
bHV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCShyZXZpc2lvbiAyNjk3NjEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9z
aXRpb24tYWJzb2x1dGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFk
PgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1z
Y3JvbGxlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sCShyZXZpc2lv
biAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Ri
b3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbAko
cmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAK
IDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVt
Iik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVj
dC1sZWZ0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Vs
ZWN0LWxlZnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Vs
ZWN0LWxlZnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNj
cmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3Qtcmln
aHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2ltcGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMu
aHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRs
Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1lbGVtZW50RnJvbVBvaW50Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBhZGRpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRp
bmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1
dGUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbAko
cmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
Myw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBs
ZS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAK
IDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVt
Iik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVz
aC1jb250ZW50cy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250
ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy5odG1sCShyZXZpc2lvbiAyNjk3NjEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5v
LXB1c2gtY29udGVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFk
PgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9
CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4
ZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXBvc2l0aW9uLWZpeGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24t
Zml4ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uaW5nLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9z
aXRpb25pbmctZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxo
ZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXBvc2l0aW9uaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbAkocmV2aXNpb24gMjY5NzYx
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25p
bmcuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXNpbXBsZS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1k
b2N1bWVudC0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIuaHRtbAkocmV2aXNpb24gMjY5NzYxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3Vt
ZW50LTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1kb2N1bWVudC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCShy
ZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICsz
LDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
U3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJh
bWUtMi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUt
ZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNj
cmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVy
Zmxvdy1zY3JvbGwtMi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1z
Y3JvbGwtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCShyZXZpc2lvbiAyNjk3
NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
b3ZlcmZsb3ctc2Nyb2xsLTIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxo
ZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7
CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZs
b3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhw
ZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlw
dD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1vdmVyZmxvdy1zY3JvbGwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0bWwJKHJldmlz
aW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcg
QEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lz
dGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24t
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVk
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkocmV2
aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw3ICsyLDcgQEAKIDxodG1sPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VE
aXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFVzZXJJbnRl
cmZhY2VEaXJlY3Rpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7CiB9CiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413998</attachid>
            <date>2020-11-12 20:06:46 -0800</date>
            <delta_ts>2020-11-13 09:47:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218881-20201112200645.patch</filename>
            <type>text/plain</type>
            <size>108548</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDIwLTExLTEyICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbnVwIEludGVybmFsU2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODg4
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsZWFu
dXAgSW50ZXJuYWxTZXR0aW5ncyBieSByZW1vdmluZyBhbGwgdGhlIGZ1bmN0aW9ucyB0aGF0IGR1
cGxpY2F0ZWQgZnVuY3Rpb25hbGl0eQorICAgICAgICBhbHJlYWR5IGltcGxlbWVudGVkIGJ5IElu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQsIHNvcnRpbmcgdGhlIHJlbWFpbmluZyBmdW5jdGlvbnMg
YnkKKyAgICAgICAgc2V0dGluZyBjbGFzcywgYW5kIHJlcGxhY2luZyBzdHJpbmcgcGFyYW1ldGVy
cyB3aXRoIHByb3BlciBJREwgZW51bXMuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisgICAgICAgIFJlbW92ZSBkdXBsaWNh
dGUgZnVuY3Rpb25zIGFuZCBhZGQgZW51bXMgZm9yIEVkaXRpbmdCZWhhdmlvciwgUERGSW1hZ2VD
YWNoaW5nUG9saWN5LCAKKyAgICAgICAgU3RvcmFnZUJsb2NraW5nUG9saWN5LCBTeXN0ZW1MYXlv
dXREaXJlY3Rpb24sIFRyYWNrS2luZCwgYW5kIFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ku
CisgICAgICAgIE1vc3Qgb2YgdGhlc2UgbWFwIGRpcmVjdGx5IHRvIGV4aXN0aW5nIFdlYkNvcmUg
ZW51bXMgKGFuZCBGb250TG9hZFRpbWluZ092ZXJyaWRlIHdhcyBlYXNpbHkKKyAgICAgICAgdXBk
YXRlZCB0byBtYXRjaCB0aGUgV2ViQ29yZSBlbnVtKSwgYnV0IG5ldyBlbnVtcyB3ZXJlIG5lZWRl
ZCBmb3IgRWRpdGluZ0JlaGF2aW9yLCBQREZJbWFnZUNhY2hpbmdQb2xpY3kKKyAgICAgICAgYW5k
IFN0b3JhZ2VCbG9ja2luZ1BvbGljeSB0byBrZWVwIGV4aXN0aW5nIHRlc3RzIHdvcmtpbmcuIFRo
ZSBVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5IGVudW0KKyAgICAgICAgaXMgZGlmZmVyZW50
IHRoYW4gd2hhdCB0aGUgdGVzdHMgZXhwZWN0ICh0ZXN0cyB1c2VkICJWaWV3IiByYXRoZXIgdGhl
biAiU3lzdGVtIikgYnV0IHdlcmUgdXBkYXRlZAorICAgICAgICB0byBtYXRjaC4KKworICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0TWVkaWFDYXB0dXJl
UmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICBSZW1vdmUgbm93IHVudXNlZCBmdW5jdGlvbiBzZXRNZWRpYUNh
cHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24uIFRoaXMgc2hvdWxkCisgICAgICAgIGJlIGRv
bmUgYnkgdGhlIHRlc3QgcnVubmVyIG9yIGluZGl2aWR1YWwgdGVzdHMgYXMgbmVlZGVkLgorCisg
ICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZVRlc3RTdXBwb3J0OjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZSk6CisgICAgICAgIFN3
aXRjaCB0byBjYWxsaW5nIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncyBkaXJlY3RseSByYXRoZXIg
dGhhbiBob3BwaW5nCisgICAgICAgIHRocm91Z2ggSW50ZXJuYWxTZXR0aW5ncy4gVGhpcyBhbGxv
d3MgdXMgdG8gcmVtb3ZlIHRoZSBJbnRlcm5hbFNldHRpbmdzCisgICAgICAgIGZ1bmN0aW9uLgor
CiAyMDIwLTExLTEyICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBN
b3ZlIG1vcmUgV2ViS2l0TGVnYWN5IHNwZWNpZmljIHNldHRpbmdzIHVzYWdlIHRvIFdlYlByZWZl
cmVuY2VzLnlhbWwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcAkocmV2aXNpb24gMjY5NzYxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQzLDEwICs0Myw2IEBACiAjaW5jbHVkZSAi
U3VwcGxlbWVudGFibGUuaCIKICNpbmNsdWRlIDx3dGYvTGFuZ3VhZ2UuaD4KIAotI2lmIEVOQUJM
RShJTlBVVF9UWVBFX0NPTE9SKQotI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgotI2VuZGlmCi0K
ICNpZiBFTkFCTEUoV0VCX0FVRElPKQogI2luY2x1ZGUgIkF1ZGlvQ29udGV4dC5oIgogI2VuZGlm
CkBAIC01NSw1MyArNTEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEludGVybmFsU2V0dGlu
Z3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0aW5ncykKICAgICA6IG1fb3JpZ2luYWxF
ZGl0aW5nQmVoYXZpb3Ioc2V0dGluZ3MuZWRpdGluZ0JlaGF2aW9yVHlwZSgpKQotI2lmIEVOQUJM
RShURVhUX0FVVE9TSVpJTkcpCi0gICAgLCBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdFbmFibGVk
KHNldHRpbmdzLnRleHRBdXRvc2l6aW5nRW5hYmxlZCgpKQotICAgICwgbV9vcmlnaW5hbFRleHRB
dXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKEludFNpemUgeyBzdGF0aWNfY2FzdDxpbnQ+KHNl
dHRpbmdzLnRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlV2lkdGgoKSksIHN0YXRpY19j
YXN0PGludD4oc2V0dGluZ3MudGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGVIZWlnaHQo
KSkgfSkKLSAgICAsIG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZShz
ZXR0aW5ncy50ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZSgpKQotI2VuZGlmCi0gICAg
LCBtX29yaWdpbmFsTWVkaWFUeXBlT3ZlcnJpZGUoc2V0dGluZ3MubWVkaWFUeXBlT3ZlcnJpZGUo
KSkKLSAgICAsIG1fb3JpZ2luYWxDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nKHNldHRpbmdz
LmNhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcoKSkKLSAgICAsIG1fb3JpZ2luYWxNb2NrU2Ny
b2xsYmFyc0VuYWJsZWQoRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjptb2NrU2Nyb2xsYmFyc0Vu
YWJsZWQoKSkKLSAgICAsIG1faW1hZ2VzRW5hYmxlZChzZXR0aW5ncy5hcmVJbWFnZXNFbmFibGVk
KCkpCi0gICAgLCBtX3ByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKHNldHRpbmdzLnByZWZlck1JTUVU
eXBlRm9ySW1hZ2VzKCkpCiAgICAgLCBtX21pbmltdW1ET01UaW1lckludGVydmFsKHNldHRpbmdz
Lm1pbmltdW1ET01UaW1lckludGVydmFsKCkpCi0jaWYgRU5BQkxFKFZJREVPKQotICAgICwgbV9z
aG91bGREaXNwbGF5U3VidGl0bGVzKHNldHRpbmdzLnNob3VsZERpc3BsYXlTdWJ0aXRsZXMoKSkK
LSAgICAsIG1fc2hvdWxkRGlzcGxheUNhcHRpb25zKHNldHRpbmdzLnNob3VsZERpc3BsYXlDYXB0
aW9ucygpKQotICAgICwgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhzZXR0aW5ncy5z
aG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucygpKQotI2VuZGlmCi0gICAgLCBtX2RlZmF1bHRW
aWRlb1Bvc3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKLSAgICAsIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSgpKQogICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpCi0gICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3Ioc2V0dGluZ3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQot
ICAgICwgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3Jv
bGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQoKSkKLSAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnRFbmFibGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgp
KQotICAgICwgbV95b3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoc2V0dGluZ3Mu
eW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKCkpCi0gICAgLCBtX3Nob3VsZENv
bnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KHNldHRpbmdzLnNob3VsZENvbnZlcnRQb3NpdGlvblN0
eWxlT25Db3B5KCkpCi0gICAgLCBtX2ZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhzZXR0
aW5ncy5mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoKSkKLSAgICAsIG1fc2hvdWxkSWdu
b3JlRm9udExvYWRDb21wbGV0aW9ucyhzZXR0aW5ncy5zaG91bGRJZ25vcmVGb250TG9hZENvbXBs
ZXRpb25zKCkpCi0gICAgLCBtX2JhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKHNldHRp
bmdzLmJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKCkpCiAgICAgLCBtX3N0b3JhZ2VC
bG9ja2luZ1BvbGljeShzZXR0aW5ncy5zdG9yYWdlQmxvY2tpbmdQb2xpY3koKSkKLSAgICAsIG1f
c2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzKHNldHRpbmdzLnNjcm9sbGluZ1RyZWVJbmNsdWRl
c0ZyYW1lcygpKQotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgLCBtX3RvdWNoRXZlbnRF
bXVsYXRpb25FbmFibGVkKHNldHRpbmdzLmlzVG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoKSkK
LSNlbmRpZgotI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCi0gICAgLCBtX2Fs
bG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrKHNldHRpbmdzLmFsbG93c0FpclBsYXlGb3JNZWRp
YVBsYXliYWNrKCkpCi0jZW5kaWYKLSAgICAsIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhz
ZXR0aW5ncy5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKCkpCi0gICAgLCBtX2FsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oc2V0dGluZ3MuYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbigpKQotICAgICwgbV9pbmxpbmVNZWRpYVBsYXliYWNrUmVx
dWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShzZXR0aW5ncy5pbmxpbmVNZWRpYVBsYXliYWNrUmVx
dWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSgpKQotICAgICwgbV9kZWZlcnJlZENTU1BhcnNlckVu
YWJsZWQoc2V0dGluZ3MuZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKCkpCi0gICAgLCBtX2lucHV0
RXZlbnRzRW5hYmxlZChzZXR0aW5ncy5pbnB1dEV2ZW50c0VuYWJsZWQoKSkKLSAgICAsIG1faW5j
b21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZChzZXR0aW5ncy5pbmNvbXBsZXRlSW1hZ2VCb3JkZXJF
bmFibGVkKCkpCi0gICAgLCBtX3Nob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VFdmVudHNXaGVu
TW9kaWZ5aW5nU2VsZWN0aW9uKHNldHRpbmdzLnNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VF
dmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKCkpCi0gICAgLCBtX3Nob3VsZERpc3BhdGNoU3lu
dGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKHNldHRpbmdzLnNob3VsZERpc3BhdGNo
U3ludGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKCkpCi0jaWYgRU5BQkxFKFZJREVP
KSB8fCBFTkFCTEUoV0VCX0FVRElPKQotICAgICwgbV9zaG91bGREZWFjdGl2YXRlQXVkaW9TZXNz
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vz
c2lvbigpKQotI2VuZGlmCi0gICAgLCBtX2FuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdF
bmFibGVkKHNldHRpbmdzLmFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKCkp
CiAgICAgLCBtX3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koc2V0dGluZ3MudXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgpKQogICAgICwgbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb24oc2V0
dGluZ3Muc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkpCiAgICAgLCBtX3BkZkltYWdlQ2FjaGluZ1Bv
bGljeShzZXR0aW5ncy5wZGZJbWFnZUNhY2hpbmdQb2xpY3koKSkKQEAgLTExNCwxOCArNjYsMjAg
QEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZwogICAgICwgbV93ZWJH
TDJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR0wy
RW5hYmxlZCgpKQogI2VuZGlmCiAgICAgLCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZChS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZCgpKQotICAgICwgbV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmls
aXR5KFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JB
Y2Nlc3NpYmlsaXR5KCkpCisgICAgLCBtX2N1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmN1c3RvbVBhc3RlYm9hcmREYXRh
RW5hYmxlZCgpKQorICAgICwgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZChEZXByZWNh
dGVkR2xvYmFsU2V0dGluZ3M6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpKQogI2lmIFVTRShBVURJ
T19TRVNTSU9OKQogICAgICwgbV9zaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShEZXBy
ZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkp
CiAjZW5kaWYKLSAgICAsIG1fY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVk
KCkpCisjaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQorICAgICwgbV9zaG91
bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hv
dWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbigpKQorI2VuZGlmCisgICAgLCBtX3Nob3VsZE1vY2tC
b2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLnNo
b3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoKSkKIHsKIH0KIAogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiB7
Ci0gICAgc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yVHlwZShtX29yaWdpbmFsRWRpdGluZ0Jl
aGF2aW9yKTsKLQogICAgIGZvciAoY29uc3QgYXV0byYgc3RhbmRhcmRGb250IDogbV9zdGFuZGFy
ZEZvbnRGYW1pbGllcykKICAgICAgICAgc2V0dGluZ3Muc2V0U3RhbmRhcmRGb250RmFtaWx5KHN0
YW5kYXJkRm9udC52YWx1ZSwgc3RhdGljX2Nhc3Q8VVNjcmlwdENvZGU+KHN0YW5kYXJkRm9udC5r
ZXkpKTsKICAgICBtX3N0YW5kYXJkRm9udEZhbWlsaWVzLmNsZWFyKCk7CkBAIC0xNTQsNDYgKzEw
OCwxMCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvCiAgICAgICAg
IHNldHRpbmdzLnNldFBpY3RvZ3JhcGhGb250RmFtaWx5KHBpY3RvZ3JhcGhGb250LnZhbHVlLCBz
dGF0aWNfY2FzdDxVU2NyaXB0Q29kZT4ocGljdG9ncmFwaEZvbnQua2V5KSk7CiAgICAgbV9waWN0
b2dyYXBoRm9udEZhbWlsaWVzLmNsZWFyKCk7CiAKLSNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQotICAgIHNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChtX29yaWdpbmFsVGV4dEF1
dG9zaXppbmdFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZVdpZHRoKG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZS53aWR0aCgpKTsKLSAgICBzZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZUhlaWdodChtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUuaGVp
Z2h0KCkpOwotICAgIHNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2Rl
KG1fb3JpZ2luYWxUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZSk7Ci0jZW5kaWYKLSAg
ICBzZXR0aW5ncy5zZXRNZWRpYVR5cGVPdmVycmlkZShtX29yaWdpbmFsTWVkaWFUeXBlT3ZlcnJp
ZGUpOwotICAgIHNldHRpbmdzLnNldENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcobV9vcmln
aW5hbENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcpOwotICAgIHNldHRpbmdzLnNldEltYWdl
c0VuYWJsZWQobV9pbWFnZXNFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRQcmVmZXJNSU1FVHlw
ZUZvckltYWdlcyhtX3ByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKTsKKyAgICBzZXR0aW5ncy5zZXRF
ZGl0aW5nQmVoYXZpb3JUeXBlKG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3IpOwogICAgIHNldHRp
bmdzLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwp
OwotI2lmIEVOQUJMRShWSURFTykKLSAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5U3VidGl0
bGVzKG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlcyk7Ci0gICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlz
cGxheUNhcHRpb25zKG1fc2hvdWxkRGlzcGxheUNhcHRpb25zKTsKLSAgICBzZXR0aW5ncy5zZXRT
aG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhtX3Nob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRp
b25zKTsKLSNlbmRpZgotI2lmIEVOQUJMRShXRUJfQVVESU8pCi0gICAgQXVkaW9Db250ZXh0Ojpz
ZXREZWZhdWx0U2FtcGxlUmF0ZUZvclRlc3RpbmcoV1RGOjpudWxsb3B0KTsKLSNlbmRpZgotICAg
IHNldHRpbmdzLnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChtX2RlZmF1bHRWaWRlb1Bvc3RlclVS
TCk7Ci0gICAgc2V0dGluZ3Muc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3kobV9mb3JjZVBlbmRp
bmdXZWJHTFBvbGljeSk7CiAgICAgc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMobV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzKTsKLSAgICBzZXR0aW5ncy5zZXRVc2VMZWdhY3lCYWNrZ3JvdW5k
U2l6ZVNob3J0aGFuZEJlaGF2aW9yKG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRC
ZWhhdmlvcik7Ci0gICAgc2V0dGluZ3Muc2V0QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxl
ZChtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQpOwotICAgIHNldHRpbmdzLnNldFNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5
bGVPbkNvcHkpOwotICAgIHNldHRpbmdzLnNldEZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBo
cyhtX2ZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyk7Ci0gICAgc2V0dGluZ3Muc2V0U2hv
dWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhtX3Nob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxl
dGlvbnMpOwotICAgIHNldHRpbmdzLnNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdl
KG1fYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UpOwogICAgIHNldHRpbmdzLnNldFN0
b3JhZ2VCbG9ja2luZ1BvbGljeShtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7Ci0gICAgc2V0dGlu
Z3Muc2V0U2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzKG1fc2Nyb2xsaW5nVHJlZUluY2x1ZGVz
RnJhbWVzKTsKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIHNldHRpbmdzLnNldFRvdWNo
RXZlbnRFbXVsYXRpb25FbmFibGVkKG1fdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQpOwotI2Vu
ZGlmCi0gICAgc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhtX2FsbG93c0lu
bGluZU1lZGlhUGxheWJhY2spOwotICAgIHNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2tBZnRlckZ1bGxzY3JlZW4obV9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxs
c2NyZWVuKTsKLSAgICBzZXR0aW5ncy5zZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShtX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlKTsKLSAgICBzZXR0aW5ncy5zZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVu
YWJsZWQobV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQpOwotICAgIHNldHRpbmdz
LnNldFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChtX3lvdVR1YmVGbGFzaFBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZCk7Ci0gICAgc2V0dGluZ3Muc2V0RGVmZXJyZWRDU1NQYXJz
ZXJFbmFibGVkKG1fZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRJ
bnB1dEV2ZW50c0VuYWJsZWQobV9pbnB1dEV2ZW50c0VuYWJsZWQpOwogICAgIHNldHRpbmdzLnNl
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kobV91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5KTsKICAgICBzZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24obV9zeXN0ZW1MYXlv
dXREaXJlY3Rpb24pOwogICAgIHNldHRpbmdzLnNldFBkZkltYWdlQ2FjaGluZ1BvbGljeShtX3Bk
ZkltYWdlQ2FjaGluZ1BvbGljeSk7CkBAIC0yMDEsMTYgKzExOSw3IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8KICAgICBzZXR0aW5ncy5zZXRGb3JjZWREaXNwbGF5
SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKG1fZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9t
ZUFjY2Vzc2liaWxpdHlWYWx1ZSk7CiAgICAgc2V0dGluZ3Muc2V0Rm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUobV9mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFj
Y2Vzc2liaWxpdHlWYWx1ZSk7CiAgICAgc2V0dGluZ3Muc2V0Rm9udExvYWRUaW1pbmdPdmVycmlk
ZShtX2ZvbnRMb2FkVGltaW5nT3ZlcnJpZGUpOwotICAgIFJlbmRlclRoZW1lOjpzaW5nbGV0b24o
KS5zZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxkTW9j
a0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSk7Ci0gICAgRm9udENhY2hlOjpzaW5nbGV0
b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KG1fc2hvdWxk
TW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSk7CiAgICAgc2V0dGluZ3Muc2V0RnJh
bWVGbGF0dGVuaW5nKG1fZnJhbWVGbGF0dGVuaW5nKTsKLSAgICBzZXR0aW5ncy5zZXRJbmNvbXBs
ZXRlSW1hZ2VCb3JkZXJFbmFibGVkKG1faW5jb21wbGV0ZUltYWdlQm9yZGVyRW5hYmxlZCk7Ci0g
ICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1doZW5Nb2Rp
ZnlpbmdTZWxlY3Rpb24obV9zaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1v
ZGlmeWluZ1NlbGVjdGlvbik7Ci0gICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0
aWNNb3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2sobV9zaG91bGREaXNwYXRjaFN5bnRoZXRpY01v
dXNlT3V0QWZ0ZXJTeW50aGV0aWNDbGljayk7Ci0jaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUo
V0VCX0FVRElPKQotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVh
Y3RpdmF0ZUF1ZGlvU2Vzc2lvbihtX3Nob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24pOwotI2Vu
ZGlmCi0gICAgc2V0dGluZ3Muc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJs
ZWQobV9hbmltYXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZCk7CiAKICNpZiBFTkFC
TEUoV0VCR0wyKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
c2V0V2ViR0wyRW5hYmxlZChtX3dlYkdMMkVuYWJsZWQpOwpAQCAtMjIxLDYgKzEzMCwxNyBAQCB2
b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvCiAjaWYgVVNFKEFVRElPX1NF
U1NJT04pCiAgICAgRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRp
b1Nlc3Npb25DYXRlZ29yeShtX3Nob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KTsKICNl
bmRpZgorCisjaWYgRU5BQkxFKFZJREVPKSB8fCBFTkFCTEUoV0VCX0FVRElPKQorICAgIFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbiht
X3Nob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24pOworI2VuZGlmCisKKyAgICBSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkuc2V0U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0
eShtX3Nob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkpOworICAgIEZvbnRD
YWNoZTo6c2luZ2xldG9uKCkuc2V0U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJp
bGl0eShtX3Nob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkpOworCisjaWYg
RU5BQkxFKFdFQl9BVURJTykKKyAgICBBdWRpb0NvbnRleHQ6OnNldERlZmF1bHRTYW1wbGVSYXRl
Rm9yVGVzdGluZyhXVEY6Om51bGxvcHQpOworI2VuZGlmCiB9CiAKIGNsYXNzIEludGVybmFsU2V0
dGluZ3NXcmFwcGVyIDogcHVibGljIFN1cHBsZW1lbnQ8UGFnZT4gewpAQCAtMjYwLDEyICsxODAs
NiBAQCBJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKFBhZ2UqCiAgICAgLCBtX3Bh
Z2UocGFnZSkKICAgICAsIG1fYmFja3VwKHBhZ2UtPnNldHRpbmdzKCkpCiB7Ci0jaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBzZXRBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQ
bGF5YmFjayhmYWxzZSk7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIHNl
dE1lZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbihmYWxzZSk7Ci0jZW5kaWYKIH0K
IAogUmVmPEludGVybmFsU2V0dGluZ3M+IEludGVybmFsU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBw
YWdlKQpAQCAtMjgwLDE0ICsxOTQsNiBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnJlc2V0VG9D
b25zaXN0ZW50CiAgICAgbV9wYWdlLT5zZXRDYW5TdGFydE1lZGlhKHRydWUpOwogICAgIHNldFVz
ZURhcmtBcHBlYXJhbmNlSW50ZXJuYWwoZmFsc2UpOwogCi0gICAgc2V0dGluZ3MoKS5zZXRGb3Jj
ZVBlbmRpbmdXZWJHTFBvbGljeShmYWxzZSk7Ci0jaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkKLSAgICBzZXR0aW5ncygpLnNldEFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNr
KGZhbHNlKTsKLSNlbmRpZgotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgc2V0TWVkaWFD
YXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uKGZhbHNlKTsKLSNlbmRpZgotCiAgICAgbV9i
YWNrdXAucmVzdG9yZVRvKHNldHRpbmdzKCkpOwogICAgIG1fYmFja3VwID0gQmFja3VwIHsgc2V0
dGluZ3MoKSB9OwogCkBAIC0zMDAsMTggKzIwNiw2IEBAIFNldHRpbmdzJiBJbnRlcm5hbFNldHRp
bmdzOjpzZXR0aW5ncygpIGMKICAgICByZXR1cm4gbV9wYWdlLT5zZXR0aW5ncygpOwogfQogCi1F
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUb3VjaEV2ZW50RW11bGF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQotICAgIHNldHRpbmdzKCkuc2V0VG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWQoZW5hYmxl
ZCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRpZgotICAgIHJldHVy
biB7IH07Ci19Ci0KIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFN0YW5k
YXJkRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCkBAIC0zOTYsMTggKzI5MCw2IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFAKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9v
bCBlbmFibGVkKQotewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0jaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAg
ICBzZXR0aW5ncygpLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChlbmFibGVkKTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotI2VuZGlmCi0gICAgcmV0dXJuIHsgfTsKLX0KLQog
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VGV4dEF1dG9zaXppbmdXaW5k
b3dTaXplT3ZlcnJpZGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogewogICAgIGlmICghbV9wYWdl
KQpAQCAtNDIyLDE5NiArMzA0LDYzIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGlu
Z3M6OnNldFQKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZShib29sIGVuYWJs
ZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQotICAgIHNldHRp
bmdzKCkuc2V0VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUoZW5hYmxlZCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRpZgotICAgIHJldHVybiB7IH07Ci19
Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEVkaXRhYmxlUmVnaW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoRURJVEFCTEVf
UkVHSU9OKQotICAgIG1fcGFnZS0+c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGVuYWJsZWQpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0jZW5kaWYKLSAgICByZXR1cm4geyB9
OwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRNZWRpYVR5cGVP
dmVycmlkZShjb25zdCBTdHJpbmcmIG1lZGlhVHlwZSkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVy
bmFsU2V0dGluZ3M6OnNldEVkaXRpbmdCZWhhdmlvcihFZGl0aW5nQmVoYXZpb3IgZWRpdGluZ0Jl
aGF2aW9yKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRNZWRpYVR5cGVPdmVycmlk
ZShtZWRpYVR5cGUpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IElu
dGVybmFsU2V0dGluZ3M6OnNldENhblN0YXJ0TWVkaWEoYm9vbCBlbmFibGVkKQotewotICAgIGlm
ICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9y
IH07Ci0gICAgbV9wYWdlLT5zZXRDYW5TdGFydE1lZGlhKGVuYWJsZWQpOwotICAgIHJldHVybiB7
IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0Fp
clBsYXlGb3JNZWRpYVBsYXliYWNrKGJvb2wgYWxsb3dzKQotewotICAgIGlmICghbV9wYWdlKQot
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0jaWYgRU5B
QkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBzZXR0aW5ncygpLnNldEFsbG93c0Fp
clBsYXlGb3JNZWRpYVBsYXliYWNrKGFsbG93cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShh
bGxvd3MpOwotI2VuZGlmCi0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4g
SW50ZXJuYWxTZXR0aW5nczo6c2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9u
KGJvb2wgcmVxdWlyZXMpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQot
ICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5l
Y3Rpb24ocmVxdWlyZXMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocmVxdWlyZXMpOwotI2Vu
ZGlmCi0gICAgcmV0dXJuIHsgfTsKLX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZh
dWx0QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVSYXRlKQotewotI2lmIEVOQUJM
RShXRUJfQVVESU8pCi0gICAgQXVkaW9Db250ZXh0OjpzZXREZWZhdWx0U2FtcGxlUmF0ZUZvclRl
c3Rpbmcoc2FtcGxlUmF0ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzYW1wbGVSYXRlKTsK
LSNlbmRpZgotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRFZGl0
aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiBlZGl0aW5nQmVoYXZpb3IpCi17Ci0gICAgaWYgKCFt
X3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsK
LSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZWRpdGluZ0JlaGF2aW9yLCAi
d2luIikpCisgICAgc3dpdGNoIChlZGl0aW5nQmVoYXZpb3IpIHsKKyAgICBjYXNlIEVkaXRpbmdC
ZWhhdmlvcjo6V2luOgogICAgICAgICBzZXR0aW5ncygpLnNldEVkaXRpbmdCZWhhdmlvclR5cGUo
RWRpdGluZ1dpbmRvd3NCZWhhdmlvcik7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoZWRpdGluZ0JlaGF2aW9yLCAibWFjIikpCisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgRWRpdGluZ0JlaGF2aW9yOjpNYWM6CiAgICAgICAgIHNldHRpbmdzKCkuc2V0RWRpdGlu
Z0JlaGF2aW9yVHlwZShFZGl0aW5nTWFjQmVoYXZpb3IpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVkaXRpbmdCZWhhdmlvciwgInVuaXgiKSkKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBFZGl0aW5nQmVoYXZpb3I6OlVuaXg6CiAgICAgICAgIHNldHRpbmdz
KCkuc2V0RWRpdGluZ0JlaGF2aW9yVHlwZShFZGl0aW5nVW5peEJlaGF2aW9yKTsKLSAgICBlbHNl
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlZGl0aW5nQmVoYXZpb3IsICJpb3Mi
KSkKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFZGl0aW5nQmVoYXZpb3I6OklvczoKICAgICAg
ICAgc2V0dGluZ3MoKS5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKEVkaXRpbmdJT1NCZWhhdmlvcik7
Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKLSAg
ICByZXR1cm4geyB9OwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRTaG91bGREaXNwbGF5VHJhY2tLaW5kKGNvbnN0IFN0cmluZyYga2luZCwgYm9vbCBlbmFibGVk
KQotewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZEFjY2Vzc0Vycm9yIH07Ci0jaWYgRU5BQkxFKFZJREVPKQotICAgIGF1dG8mIGNhcHRpb25QcmVm
ZXJlbmNlcyA9IG1fcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKTsKLSAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2luZCwgInN1YnRpdGxlcyIpKQotICAgICAg
ICBjYXB0aW9uUHJlZmVyZW5jZXMuc2V0VXNlclByZWZlcnNTdWJ0aXRsZXMoZW5hYmxlZCk7Ci0g
ICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2luZCwgImNhcHRpb25z
IikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc0NhcHRpb25zKGVu
YWJsZWQpOwotICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGtpbmQs
ICJ0ZXh0ZGVzY3JpcHRpb25zIikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2Vy
UHJlZmVyc1RleHREZXNjcmlwdGlvbnMoZW5hYmxlZCk7Ci0gICAgZWxzZQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGtp
bmQpOwotICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKLSNlbmRpZgotICAgIHJldHVybiB7IH07
Ci19Ci0KLUV4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsU2V0dGluZ3M6OnNob3VsZERpc3BsYXlU
cmFja0tpbmQoY29uc3QgU3RyaW5nJiBraW5kKQotewotICAgIGlmICghbV9wYWdlKQotICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0jaWYgRU5BQkxFKFZJ
REVPKQotICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IG1fcGFnZS0+Z3JvdXAoKS5jYXB0
aW9uUHJlZmVyZW5jZXMoKTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
a2luZCwgInN1YnRpdGxlcyIpKQotICAgICAgICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVz
ZXJQcmVmZXJzU3VidGl0bGVzKCk7Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGtpbmQsICJjYXB0aW9ucyIpKQotICAgICAgICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2Vz
LnVzZXJQcmVmZXJzQ2FwdGlvbnMoKTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2Uoa2luZCwgInRleHRkZXNjcmlwdGlvbnMiKSkKLSAgICAgICAgcmV0dXJuIGNhcHRpb25Q
cmVmZXJlbmNlcy51c2VyUHJlZmVyc1RleHREZXNjcmlwdGlvbnMoKTsKLQotICAgIHJldHVybiBF
eGNlcHRpb24geyBTeW50YXhFcnJvciB9OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oa2luZCk7
Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi19Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5hbChib29sIHVzZURhcmtBcHBlYXJhbmNlKQotewot
ICAgIEFTU0VSVChtX3BhZ2UpOwotICAgIG1fcGFnZS0+ZWZmZWN0aXZlQXBwZWFyYW5jZURpZENo
YW5nZSh1c2VEYXJrQXBwZWFyYW5jZSwgbV9wYWdlLT51c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VM
ZXZlbCgpKTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VXNl
RGFya0FwcGVhcmFuY2UoYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSkKLXsKLSAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAg
IHNldFVzZURhcmtBcHBlYXJhbmNlSW50ZXJuYWwodXNlRGFya0FwcGVhcmFuY2UpOworICAgICAg
ICBicmVhazsKKyAgICB9CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4g
SW50ZXJuYWxTZXR0aW5nczo6c2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KGNvbnN0IFN0cmluZyYg
bW9kZSkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFN0b3JhZ2VCbG9j
a2luZ1BvbGljeShTdG9yYWdlQmxvY2tpbmdQb2xpY3kgcG9saWN5KQogewogICAgIGlmICghbV9w
YWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0g
ICAgaWYgKG1vZGUgPT0gIkFsbG93QWxsIikKKyAgICBzd2l0Y2ggKHBvbGljeSkgeworICAgIGNh
c2UgU3RvcmFnZUJsb2NraW5nUG9saWN5OjpBbGxvd0FsbDoKICAgICAgICAgc2V0dGluZ3MoKS5z
ZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koU2VjdXJpdHlPcmlnaW46OkFsbG93QWxsU3RvcmFnZSk7
Ci0gICAgZWxzZSBpZiAobW9kZSA9PSAiQmxvY2tUaGlyZFBhcnR5IikKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBTdG9yYWdlQmxvY2tpbmdQb2xpY3k6OkJsb2NrVGhpcmRQYXJ0eToKICAgICAg
ICAgc2V0dGluZ3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koU2VjdXJpdHlPcmlnaW46OkJs
b2NrVGhpcmRQYXJ0eVN0b3JhZ2UpOwotICAgIGVsc2UgaWYgKG1vZGUgPT0gIkJsb2NrQWxsIikK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdG9yYWdlQmxvY2tpbmdQb2xpY3k6OkJsb2NrQWxs
OgogICAgICAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTZWN1cml0eU9y
aWdpbjo6QmxvY2tBbGxTdG9yYWdlKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBTeW50YXhFcnJvciB9OwotICAgIHJldHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZv
aWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2wgcHJl
ZmVyTUlNRVR5cGVGb3JJbWFnZXMpCi17Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFBy
ZWZlck1JTUVUeXBlRm9ySW1hZ2VzKHByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKTsKLSAgICByZXR1
cm4geyB9OwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbWFn
ZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0
SW1hZ2VzRW5hYmxlZChlbmFibGVkKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIHJldHVy
biB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFBERklt
YWdlQ2FjaGluZ1BvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKK0V4Y2VwdGlvbk9yPHZvaWQ+
IEludGVybmFsU2V0dGluZ3M6OnNldFBERkltYWdlQ2FjaGluZ1BvbGljeShQREZJbWFnZUNhY2hp
bmdQb2xpY3kgcG9saWN5KQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHBvbGljeSwgImRpc2FibGVkIikpCisgICAgc3dpdGNoIChwb2xpY3kpIHsK
KyAgICBjYXNlIFBERkltYWdlQ2FjaGluZ1BvbGljeTo6RW5hYmxlZDoKICAgICAgICAgc2V0dGlu
Z3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1hZ2VDYWNoaW5nRGlzYWJsZWQpOwot
ICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBvbGljeSwgImJlbG93
bWVtb3J5bGltaXQiKSkKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQREZJbWFnZUNhY2hpbmdQ
b2xpY3k6OkJlbG93TWVtb3J5TGltaXQ6CiAgICAgICAgIHNldHRpbmdzKCkuc2V0UGRmSW1hZ2VD
YWNoaW5nUG9saWN5KFBERkltYWdlQ2FjaGluZ0JlbG93TWVtb3J5TGltaXQpOwotICAgIGVsc2Ug
aWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBvbGljeSwgImNsaXBib3VuZHNvbmx5
IikpCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUERGSW1hZ2VDYWNoaW5nUG9saWN5OjpEaXNh
YmxlZDoKKyAgICAgICAgc2V0dGluZ3MoKS5zZXRQZGZJbWFnZUNhY2hpbmdQb2xpY3koUERGSW1h
Z2VDYWNoaW5nRGlzYWJsZWQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBERkltYWdlQ2Fj
aGluZ1BvbGljeTo6Q2xpcEJvdW5kc09ubHk6CiAgICAgICAgIHNldHRpbmdzKCkuc2V0UGRmSW1h
Z2VDYWNoaW5nUG9saWN5KFBERkltYWdlQ2FjaGluZ0NsaXBCb3VuZHNPbmx5KTsKLSAgICBlbHNl
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShwb2xpY3ksICJlbmFibGVkIikpCi0g
ICAgICAgIHNldHRpbmdzKCkuc2V0UGRmSW1hZ2VDYWNoaW5nUG9saWN5KFBERkltYWdlQ2FjaGlu
Z0VuYWJsZWQpOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVy
cm9yIH07CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICByZXR1cm4geyB9OwogfQogCkBAIC02
MjMsMjIgKzM3Miw2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE0K
ICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdz
OjpzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoY29uc3QgU3RyaW5nJiB1cmwpCi17Ci0gICAgaWYg
KCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBzZXR0aW5ncygpLnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTCh1cmwpOwotICAgIHJl
dHVybiB7IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZv
cmNlUGVuZGluZ1dlYkdMUG9saWN5KGJvb2wgZm9yY2VkKQotewotICAgIGlmICghbV9wYWdlKQot
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0
dGluZ3MoKS5zZXRGb3JjZVBlbmRpbmdXZWJHTFBvbGljeShmb3JjZWQpOwotICAgIHJldHVybiB7
IH07Ci19Ci0KIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKQogewogICAg
IGlmICghbV9wYWdlKQpAQCAtNjQ3LDM3OSArMzgwLDI0OCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRUCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhh
bmRCZWhhdmlvcihib29sIGVuYWJsZWQpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgZm9u
dExvYWRUaW1pbmdPdmVycmlkZSkKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0VXNl
TGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcihlbmFibGVkKTsKKyAgICBzZXR0
aW5ncygpLnNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoZm9udExvYWRUaW1pbmdPdmVycmlkZSk7
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5n
czo6c2V0QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChib29sIGVuYWJsZWQpCitFeGNl
cHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9u
UG9saWN5KFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgcG9saWN5KQogewogICAgIGlmICgh
bV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07
Ci0gICAgc2V0dGluZ3MoKS5zZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKGVuYWJs
ZWQpOworICAgIHNldHRpbmdzKCkuc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShwb2xp
Y3kpOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0
dGluZ3M6OnNldEZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhib29sIHByZWZlclBpY3Rv
Z3JhcGhzKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKFN5c3RlbUxheW91dERpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgaWYg
KCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKLSAgICBzZXR0aW5ncygpLnNldEZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhwcmVm
ZXJQaWN0b2dyYXBocyk7CisgICAgc2V0dGluZ3MoKS5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
ZGlyZWN0aW9uKTsKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRl
cm5hbFNldHRpbmdzOjpzZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKGNvbnN0IEZvbnRMb2FkVGlt
aW5nT3ZlcnJpZGUmIGZvbnRMb2FkVGltaW5nT3ZlcnJpZGUpCi17Ci0gICAgaWYgKCFtX3BhZ2Up
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBh
dXRvIHBvbGljeSA9IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpOb25lOwotICAg
IHN3aXRjaCAoZm9udExvYWRUaW1pbmdPdmVycmlkZSkgewotICAgIGNhc2UgRm9udExvYWRUaW1p
bmdPdmVycmlkZTo6QmxvY2s6Ci0gICAgICAgIHBvbGljeSA9IFNldHRpbmdzOjpGb250TG9hZFRp
bWluZ092ZXJyaWRlOjpCbG9jazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBGb250TG9hZFRp
bWluZ092ZXJyaWRlOjpTd2FwOgotICAgICAgICBwb2xpY3kgPSBTZXR0aW5nczo6Rm9udExvYWRU
aW1pbmdPdmVycmlkZTo6U3dhcDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBGb250TG9hZFRp
bWluZ092ZXJyaWRlOjpGYWlsdXJlOgotICAgICAgICBwb2xpY3kgPSBTZXR0aW5nczo6Rm9udExv
YWRUaW1pbmdPdmVycmlkZTo6RmFpbHVyZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHNl
dHRpbmdzKCkuc2V0Rm9udExvYWRUaW1pbmdPdmVycmlkZShwb2xpY3kpOwotICAgIHJldHVybiB7
IH07Ci19Ci0KLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZEln
bm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoYm9vbCBpZ25vcmUpCi17Ci0gICAgaWYgKCFtX3BhZ2Up
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBz
ZXR0aW5ncygpLnNldFNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoaWdub3JlKTsKLSAg
ICByZXR1cm4geyB9OwotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAg
IGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vy
cm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJs
ZWQoZW5hYmxlZCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gSW50
ZXJuYWxTZXR0aW5nczo6c2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJv
b2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEZyYW1l
RmxhdHRlbmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpCiB7CiAgICAg
aWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJy
b3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFlvdVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5h
YmxlZChlbmFibGVkKTsKKyAgICBzZXR0aW5ncygpLnNldEZyYW1lRmxhdHRlbmluZyhmcmFtZUZs
YXR0ZW5pbmcpOwogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVy
bmFsU2V0dGluZ3M6OnNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKGJvb2wgaGFz
RXh0ZW5kZWRCYWNrZ3JvdW5kKQorSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJp
bGl0eVZhbHVlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0QmFja2dy
b3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoaGFzRXh0ZW5kZWRCYWNrZ3JvdW5kKTsKLSAgICBy
ZXR1cm4geyB9OworICAgIHJldHVybiBzZXR0aW5ncygpLmZvcmNlZENvbG9yc0FyZUludmVydGVk
QWNjZXNzaWJpbGl0eVZhbHVlKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0
dGluZ3M6OnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KGJvb2wgY29udmVydCkK
K3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3Np
YmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHZh
bHVlKQogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRTaG91bGRDb252ZXJ0UG9zaXRp
b25TdHlsZU9uQ29weShjb252ZXJ0KTsKLSAgICByZXR1cm4geyB9OworICAgIHNldHRpbmdzKCku
c2V0Rm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUodmFsdWUpOwogfQog
Ci1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRTY3JvbGxpbmdUcmVlSW5j
bHVkZXNGcmFtZXMoYm9vbCBlbmFibGVkKQorSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNz
aWJpbGl0eVZhbHVlIEludGVybmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVB
Y2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5z
ZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoZW5hYmxlZCk7Ci0gICAgcmV0dXJuIHsgfTsK
KyAgICByZXR1cm4gc2V0dGluZ3MoKS5mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJp
bGl0eVZhbHVlKCk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNl
dEFsbG93VW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24oYm9vbCBhbGxvd1VuY2xhbXBlZCkKK3ZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxp
dHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFsdWUp
CiB7Ci0gICAgaWYgKCFtX3BhZ2UgfHwgIW1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpKQotICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0KLSAgICBtX3Bh
Z2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+c2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb25G
b3JUZXN0aW5nKGFsbG93VW5jbGFtcGVkKTsKLSAgICByZXR1cm4geyB9OworICAgIHNldHRpbmdz
KCkuc2V0Rm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSh2YWx1ZSk7
CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2soYm9vbCBhbGxvd3MpCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rp
b25BY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAogewotICAgIGlmICghbV9wYWdlKQotICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3Mo
KS5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGFsbG93cyk7Ci0gICAgcmV0dXJuIHsgfTsK
KyAgICByZXR1cm4gc2V0dGluZ3MoKS5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2li
aWxpdHlWYWx1ZSgpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGJvb2wgYWxsb3dzKQor
dm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vz
c2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUg
dmFsdWUpCiB7Ci0gICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oYWxsb3dzKTsKLSAgICByZXR1cm4geyB9OworICAgIHNl
dHRpbmdzKCkuc2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUo
dmFsdWUpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbmxp
bmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShib29sIHJlcXVpcmVz
KQorSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIEludGVybmFsU2V0
dGluZ3M6OmZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZhbHVlKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NF
cnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxh
eXNJbmxpbmVBdHRyaWJ1dGUocmVxdWlyZXMpOwotICAgIHJldHVybiB7IH07CisgICAgcmV0dXJu
IHNldHRpbmdzKCkuZm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFsdWUoKTsKIH0KIAot
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkTW9ja0JvbGRTeXN0
ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShib29sIHJlcXVpcmVzKQordm9pZCBJbnRlcm5hbFNldHRp
bmdzOjpzZXRGb3JjZWRTdXBwb3J0c0hpZ2hEeW5hbWljUmFuZ2VWYWx1ZShJbnRlcm5hbFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKCFtX3BhZ2Up
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBS
ZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc2V0U2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNj
ZXNzaWJpbGl0eShyZXF1aXJlcyk7Ci0gICAgRm9udENhY2hlOjpzaW5nbGV0b24oKS5zZXRTaG91
bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVpcmVzKTsKLSAgICByZXR1
cm4geyB9OworICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1Jhbmdl
VmFsdWUodmFsdWUpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRBbmltYXRlZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZChib29sIGlnbm9yZSkKK0V4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFdlYkdMMkVuYWJsZWQoYm9vbCBl
bmFibGVkKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRBbmltYXRlZEltYWdlRGVi
dWdDYW52YXNEcmF3aW5nRW5hYmxlZChpZ25vcmUpOwotICAgIHJldHVybiB7IH07Ci19Ci0KLXZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViR0wyRW5hYmxlZChib29sIGVuYWJsZWQpCi17CiAj
aWYgRU5BQkxFKFdFQkdMMikKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFdlYkdMMkVuYWJsZWQoZW5hYmxlZCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJB
TShlbmFibGVkKTsKICNlbmRpZgorICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6c2V0V2ViR1BVRW5hYmxlZChib29sIGVuYWJsZWQpCitFeGNlcHRpb25Pcjx2b2lk
PiBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKKyAg
ICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NF
cnJvciB9OwogI2lmIEVOQUJMRShXRUJHUFUpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHUFVFbmFibGVkKGVuYWJsZWQpOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0oZW5hYmxlZCk7CiAjZW5kaWYKKyAgICByZXR1cm4geyB9OwogfQogCi12b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sIGVuYWJs
ZWQpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRGZXRjaEFQSUtlZXBB
bGl2ZUVuYWJsZWQoYm9vbCBlbmFibGVkKQogeworICAgIGlmICghbV9wYWdlKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CiAgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQo
ZW5hYmxlZCk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotRXhjZXB0aW9uT3I8U3RyaW5nPiBJbnRl
cm5hbFNldHRpbmdzOjp1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkKK0V4Y2VwdGlvbk9y
PHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChi
b29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzd2l0Y2ggKHNldHRpbmdzKCkudXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgpKSB7Ci0gICAgY2FzZSBVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5OjpDb250ZW50OgotICAgICAgICByZXR1cm4gIkNvbnRlbnQiX3N0cjsKLSAgICBj
YXNlIFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k6OlN5c3RlbToKLSAgICAgICAgcmV0dXJu
ICJWaWV3Il9zdHI7Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChl
bmFibGVkKTsKKyAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KGNvbnN0IFN0cmluZyYg
cG9saWN5KQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkTWFu
YWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbCBzaG91bGQpCiB7Ci0gICAgaWYgKCFtX3BhZ2Up
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAiY29udGVudCIpKSB7Ci0g
ICAgICAgIHNldHRpbmdzKCkuc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5OjpDb250ZW50KTsKLSAgICAgICAgcmV0dXJuIHsgfTsKLSAg
ICB9Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBvbGljeSwgInZpZXci
KSkgewotICAgICAgICBzZXR0aW5ncygpLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ko
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTo6U3lzdGVtKTsKLSAgICAgICAgcmV0dXJuIHsg
fTsKLSAgICB9CisjaWYgVVNFKEFVRElPX1NFU1NJT04pCisgICAgRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShzaG91bGQpOworICAg
IHJldHVybiB7IH07CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShzaG91bGQpOwogICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyNlbmRpZgogfQogCi1FeGNlcHRp
b25PcjxTdHJpbmc+IEludGVybmFsU2V0dGluZ3M6OnN5c3RlbUxheW91dERpcmVjdGlvbigpCitF
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGREaXNwbGF5VHJhY2tL
aW5kKFRyYWNrS2luZCBraW5kLCBib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzd2l0
Y2ggKHNldHRpbmdzKCkuc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkpIHsKLSAgICBjYXNlIFRleHRE
aXJlY3Rpb246OkxUUjoKLSAgICAgICAgcmV0dXJuICJMVFIiX3N0cjsKLSAgICBjYXNlIFRleHRE
aXJlY3Rpb246OlJUTDoKLSAgICAgICAgcmV0dXJuICJSVEwiX3N0cjsKKyNpZiBFTkFCTEUoVklE
RU8pCisgICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9wYWdlLT5ncm91cCgpLmNhcHRp
b25QcmVmZXJlbmNlcygpOworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgVHJhY2tLaW5k
OjpTdWJ0aXRsZXM6CisgICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc1N1
YnRpdGxlcyhlbmFibGVkKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUcmFja0tpbmQ6OkNh
cHRpb25zOgorICAgICAgICBjYXB0aW9uUHJlZmVyZW5jZXMuc2V0VXNlclByZWZlcnNDYXB0aW9u
cyhlbmFibGVkKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUcmFja0tpbmQ6OlRleHREZXNj
cmlwdGlvbnM6CisgICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc1RleHRE
ZXNjcmlwdGlvbnMoZW5hYmxlZCk7CisgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9y
IH07CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShraW5kKTsKKyAgICBVTlVTRURfUEFSQU0oZW5h
YmxlZCk7CisjZW5kaWYKKyAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oY29uc3QgU3RyaW5nJiBk
aXJlY3Rpb24pCitFeGNlcHRpb25Pcjxib29sPiBJbnRlcm5hbFNldHRpbmdzOjpzaG91bGREaXNw
bGF5VHJhY2tLaW5kKFRyYWNrS2luZCBraW5kKQogewogICAgIGlmICghbV9wYWdlKQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgImx0ciIpKSB7Ci0gICAgICAgIHNl
dHRpbmdzKCkuc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFRleHREaXJlY3Rpb246OkxUUik7Ci0g
ICAgICAgIHJldHVybiB7IH07Ci0gICAgfQotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShkaXJlY3Rpb24sICJydGwiKSkgewotICAgICAgICBzZXR0aW5ncygpLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbihUZXh0RGlyZWN0aW9uOjpSVEwpOwotICAgICAgICByZXR1cm4geyB9
OworI2lmIEVOQUJMRShWSURFTykKKyAgICBhdXRvJiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBtX3Bh
Z2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7CisgICAgc3dpdGNoIChraW5kKSB7Cisg
ICAgY2FzZSBUcmFja0tpbmQ6OlN1YnRpdGxlczoKKyAgICAgICAgcmV0dXJuIGNhcHRpb25QcmVm
ZXJlbmNlcy51c2VyUHJlZmVyc1N1YnRpdGxlcygpOworICAgIGNhc2UgVHJhY2tLaW5kOjpDYXB0
aW9uczoKKyAgICAgICAgcmV0dXJuIGNhcHRpb25QcmVmZXJlbmNlcy51c2VyUHJlZmVyc0NhcHRp
b25zKCk7CisgICAgY2FzZSBUcmFja0tpbmQ6OlRleHREZXNjcmlwdGlvbnM6CisgICAgICAgIHJl
dHVybiBjYXB0aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNUZXh0RGVzY3JpcHRpb25zKCk7CiAg
ICAgfQotICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGtpbmQpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmco
RnJhbWVGbGF0dGVuaW5nVmFsdWUgZnJhbWVGbGF0dGVuaW5nKQorRXhjZXB0aW9uT3I8dm9pZD4g
SW50ZXJuYWxTZXR0aW5nczo6c2V0RWRpdGFibGVSZWdpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkK
IHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRB
Y2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0RnJhbWVGbGF0dGVuaW5nKGZyYW1lRmxh
dHRlbmluZyk7CisjaWYgRU5BQkxFKEVESVRBQkxFX1JFR0lPTikKKyAgICBtX3BhZ2UtPnNldEVk
aXRhYmxlUmVnaW9uRW5hYmxlZChlbmFibGVkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVu
YWJsZWQpOworI2VuZGlmCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBJbnRlcm5hbFNldHRp
bmdzOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sIGFsbG93c0FueUNlcnRpZmljYXRl
KQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q2FuU3RhcnRNZWRpYShi
b29sIGVuYWJsZWQpCiB7Ci0gICAgRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpzZXRBbGxvd3NB
bnlTU0xDZXJ0aWZpY2F0ZShhbGxvd3NBbnlDZXJ0aWZpY2F0ZSk7CisgICAgaWYgKCFtX3BhZ2Up
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICBt
X3BhZ2UtPnNldENhblN0YXJ0TWVkaWEoZW5hYmxlZCk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAot
RXhjZXB0aW9uT3I8Ym9vbD4gSW50ZXJuYWxTZXR0aW5nczo6ZGVmZXJyZWRDU1NQYXJzZXJFbmFi
bGVkKCkKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0VXNlRGFya0FwcGVhcmFuY2VJbnRlcm5h
bChib29sIHVzZURhcmtBcHBlYXJhbmNlKQogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0gICAgcmV0dXJuIHNldHRp
bmdzKCkuZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKCk7CisgICAgQVNTRVJUKG1fcGFnZSk7Cisg
ICAgbV9wYWdlLT5lZmZlY3RpdmVBcHBlYXJhbmNlRGlkQ2hhbmdlKHVzZURhcmtBcHBlYXJhbmNl
LCBtX3BhZ2UtPnVzZUVsZXZhdGVkVXNlckludGVyZmFjZUxldmVsKCkpOwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQo
Ym9vbCBlbmFibGVkKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VXNl
RGFya0FwcGVhcmFuY2UoYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSkKIHsKICAgICBpZiAoIW1fcGFn
ZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OwotICAg
IHNldHRpbmdzKCkuc2V0RGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKGVuYWJsZWQpOworICAgIHNl
dFVzZURhcmtBcHBlYXJhbmNlSW50ZXJuYWwodXNlRGFya0FwcGVhcmFuY2UpOwogICAgIHJldHVy
biB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3Vs
ZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2wgc2hvdWxkKQorRXhjZXB0aW9uT3I8dm9p
ZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29s
IGFsbG93VW5jbGFtcGVkKQogewotI2lmIFVTRShBVURJT19TRVNTSU9OKQotICAgIERlcHJlY2F0
ZWRHbG9iYWxTZXR0aW5nczo6c2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoc2hv
dWxkKTsKLSAgICByZXR1cm4geyB9OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oc2hvdWxkKTsK
LSAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0jZW5kaWYKLX0K
KyAgICBpZiAoIW1fcGFnZSB8fCAhbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3KCkpCisgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKIAotRXhjZXB0aW9uT3I8
dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKGJv
b2wgZW5hYmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChlbmFibGVkKTsKKyAgICBtX3BhZ2Ut
Pm1haW5GcmFtZSgpLnZpZXcoKS0+c2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb25Gb3JU
ZXN0aW5nKGFsbG93VW5jbGFtcGVkKTsKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25P
cjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVk
KGJvb2wgZW5hYmxlZCkKK0V4Y2VwdGlvbk9yPHZvaWQ+ICBJbnRlcm5hbFNldHRpbmdzOjpzZXRT
aG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKGJvb2wgc2hvdWxkKQogewogICAgIGlmICghbV9w
YWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07Ci0g
ICAgc2V0dGluZ3MoKS5zZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKGVuYWJsZWQpOwor
I2lmIEVOQUJMRShWSURFTykgfHwgRU5BQkxFKFdFQl9BVURJTykKKyAgICBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oc2hvdWxkKTsK
KyNlbmRpZgogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFs
U2V0dGluZ3M6OnNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5
aW5nU2VsZWN0aW9uKGJvb2wgc2hvdWxkRGlzcGF0Y2gpCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRl
cm5hbFNldHRpbmdzOjpzZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5
KGJvb2wgcmVxdWlyZXMpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKLSAgICBzZXR0aW5ncygpLnNldFNob3VsZERp
c3BhdGNoU3ludGhldGljTW91c2VFdmVudHNXaGVuTW9kaWZ5aW5nU2VsZWN0aW9uKHNob3VsZERp
c3BhdGNoKTsKKyAgICBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuc2V0U2hvdWxkTW9ja0JvbGRT
eXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eShyZXF1aXJlcyk7CisgICAgRm9udENhY2hlOjpzaW5n
bGV0b24oKS5zZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KHJlcXVp
cmVzKTsKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0aWND
bGljayhib29sIHNob3VsZERpc3BhdGNoKQorRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0
aW5nczo6c2V0RGVmYXVsdEF1ZGlvQ29udGV4dFNhbXBsZVJhdGUoZmxvYXQgc2FtcGxlUmF0ZSkK
IHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRB
Y2Nlc3NFcnJvciB9OwotICAgIHNldHRpbmdzKCkuc2V0U2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNN
b3VzZU91dEFmdGVyU3ludGhldGljQ2xpY2soc2hvdWxkRGlzcGF0Y2gpOwotICAgIHJldHVybiB7
IH07Ci19Ci0KLXN0YXRpYyBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1ZShTZXR0aW5nczo6Rm9yY2VkQWNjZXNz
aWJpbGl0eVZhbHVlIHZhbHVlKQotewotICAgIHN3aXRjaCAodmFsdWUpIHsKLSAgICBjYXNlIFNl
dHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6OlN5c3RlbToKLSAgICAgICAgcmV0dXJu
IEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOwotICAg
IGNhc2UgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T246Ci0gICAgICAgIHJl
dHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOwotICAg
IGNhc2UgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOgotICAgICAgICBy
ZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7Ci0g
ICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEludGVybmFsU2V0
dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOwotfQotCi1zdGF0aWMgU2V0dGlu
Z3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBpbnRlcm5hbFNldHRpbmdzVG9TZXR0aW5nc1Zh
bHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsK
LSAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWU6OlN5c3RlbToKLSAgICAgICAgcmV0dXJuIFNldHRpbmdzOjpGb3Jj
ZWRBY2Nlc3NpYmlsaXR5VmFsdWU6OlN5c3RlbTsKLSAgICBjYXNlIEludGVybmFsU2V0dGluZ3M6
OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T246Ci0gICAgICAgIHJldHVybiBTZXR0aW5nczo6
Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbjsKLSAgICBjYXNlIEludGVybmFsU2V0dGluZ3M6
OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOgotICAgICAgICByZXR1cm4gU2V0dGluZ3M6
OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPZmY7Ci19Ci0KLUludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBJ
bnRlcm5hbFNldHRpbmdzOjpmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHNldHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUo
c2V0dGluZ3MoKS5mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpKTsK
LX0KLQotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFj
Y2Vzc2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgdmFsdWUpCi17Ci0gICAgc2V0dGluZ3MoKS5zZXRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFj
Y2Vzc2liaWxpdHlWYWx1ZShpbnRlcm5hbFNldHRpbmdzVG9TZXR0aW5nc1ZhbHVlKHZhbHVlKSk7
Ci19Ci0KLUludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBJbnRlcm5h
bFNldHRpbmdzOjpmb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1ZShzZXR0
aW5ncygpLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKSk7Ci19
Ci0KLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFj
Y2Vzc2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgdmFsdWUpCi17Ci0gICAgc2V0dGluZ3MoKS5zZXRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21l
QWNjZXNzaWJpbGl0eVZhbHVlKGludGVybmFsU2V0dGluZ3NUb1NldHRpbmdzVmFsdWUodmFsdWUp
KTsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIEludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1ZShz
ZXR0aW5ncygpLmZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKCkp
OwotfQotCi12b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90
aW9uQWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZSB2YWx1ZSkKLXsKLSAgICBzZXR0aW5ncygpLnNldEZvcmNlZFByZWZlcnNSZWR1Y2Vk
TW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKGludGVybmFsU2V0dGluZ3NUb1NldHRpbmdzVmFsdWUo
dmFsdWUpKTsKLX0KLQotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
IEludGVybmFsU2V0dGluZ3M6OmZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZhbHVlKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1ZShzZXR0
aW5ncygpLmZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZhbHVlKCkpOwotfQotCi12b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZhbHVl
KEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB2YWx1ZSkKLXsKLSAg
ICBzZXR0aW5ncygpLnNldEZvcmNlZFN1cHBvcnRzSGlnaER5bmFtaWNSYW5nZVZhbHVlKGludGVy
bmFsU2V0dGluZ3NUb1NldHRpbmdzVmFsdWUodmFsdWUpKTsKLX0KLQotdm9pZCBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9TZXNzaW9uKGJvb2wgc2hvdWxkKQotewot
I2lmIEVOQUJMRShWSURFTykgfHwgRU5BQkxFKFdFQl9BVURJTykKLSAgICBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oc2hvdWxkKTsK
KyNpZiBFTkFCTEUoV0VCX0FVRElPKQorICAgIEF1ZGlvQ29udGV4dDo6c2V0RGVmYXVsdFNhbXBs
ZVJhdGVGb3JUZXN0aW5nKHNhbXBsZVJhdGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oc2Ft
cGxlUmF0ZSk7CiAjZW5kaWYKKyAgICByZXR1cm4geyB9OwogfQogCi12b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFN0b3JhZ2VBY2Nlc3NBUElQZXJQYWdlU2NvcGVFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKLXsKLSAgICBzZXR0aW5ncygpLnNldFN0b3JhZ2VBY2Nlc3NBUElQZXJQYWdlU2NvcGVFbmFi
bGVkKGVuYWJsZWQpOwotfQotLy8gSWYgeW91IGFkZCB0byB0aGlzIGNsYXNzLCBtYWtlIHN1cmUg
dGhhdCB5b3UgdXBkYXRlIHRoZSBCYWNrdXAgY2xhc3MgZm9yIHRlc3QgcmVwcm9kdWNhYmlsaXR5
IQorLy8gSWYgeW91IGFkZCB0byB0aGlzIGNsYXNzLCBtYWtlIHN1cmUgeW91IGFyZSBub3QgZHVw
bGljYXRpbmcgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZ2VuZXJhdGVkCisvLyBiYXNlIGNsYXNzIElu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgYW5kIHRoYXQgeW91IHVwZGF0ZSB0aGUgQmFja3VwIGNs
YXNzIGZvciB0ZXN0IHJlcHJvZHVjYWJpbGl0eS4KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw4
ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGhvc3REZXN0cm95ZWQoKTsKICAgICB2b2lkIHJl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFVzZXNP
dmVybGF5U2Nyb2xsYmFycyhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUb3VjaEV2
ZW50RW11bGF0aW9uRW5hYmxlZChib29sKTsKKyAgICAvLyBTZXR0aW5ncwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29u
c3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNlcmlmRm9udEZh
bWlseShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1p
bHksIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKQEAgLTU5LDY2ICs1OCwzNCBAQCBwdWJsaWM6CiAg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBm
YW1pbHksIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRG
YW50YXN5Rm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFBpY3RvZ3JhcGhGb250RmFtaWx5KGNvbnN0
IFN0cmluZyYgZmFtaWx5LCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7Ci0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wpOworCiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3NpemluZ1VzZXNJZGVt
cG90ZW50TW9kZShib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUZXh0QXV0b3Npemlu
Z0ZvbnRTY2FsZUZhY3RvcihmbG9hdCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0TWVkaWFU
eXBlT3ZlcnJpZGUoY29uc3QgU3RyaW5nJik7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q2Fu
U3RhcnRNZWRpYShib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBbGxvd3NBaXJQbGF5
Rm9yTWVkaWFQbGF5YmFjayhib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRNZWRpYUNh
cHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9vbCk7Ci0gICAgdm9pZCBzZXREZWZhdWx0
QXVkaW9Db250ZXh0U2FtcGxlUmF0ZShmbG9hdCk7Ci0KLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
ZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJik7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4g
c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4g
c2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5KGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoY29uc3QgU3RyaW5nJiBraW5kLCBib29s
IGVuYWJsZWQpOwotICAgIEV4Y2VwdGlvbk9yPGJvb2w+IHNob3VsZERpc3BsYXlUcmFja0tpbmQo
Y29uc3QgU3RyaW5nJiBraW5kKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VEYXJrQXBw
ZWFyYW5jZShib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTdG9yYWdlQmxvY2tpbmdQ
b2xpY3koY29uc3QgU3RyaW5nJik7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0SW1hZ2VzRW5h
YmxlZChib29sKTsKKwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldE1pbmltdW1UaW1lckludGVy
dmFsKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
RGVmYXVsdFZpZGVvUG9zdGVyVVJMKGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJs
ZSk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9y
dGhhbmRCZWhhdmlvcihib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBdXRvc2Nyb2xs
Rm9yRHJhZ0FuZERyb3BFbmFibGVkKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZv
bnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhib29sKTsKLSAgICBlbnVtIGNsYXNzIEZvbnRM
b2FkVGltaW5nT3ZlcnJpZGUgeyBCbG9jaywgU3dhcCwgRmFpbHVyZSB9OwotICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoY29uc3QgRm9udExvYWRUaW1pbmdP
dmVycmlkZSYpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZElnbm9yZUZvbnRMb2Fk
Q29tcGxldGlvbnMoYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UXVpY2tUaW1lUGx1
Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFlv
dVR1YmVGbGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sKTsKLSAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sKTsKLSAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRTaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29s
KTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMo
Ym9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3Np
dGlvbihib29sKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oYm9vbCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9vbCk7Ci0g
ICAgRXhjZXB0aW9uT3I8U3RyaW5nPiB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCk7Ci0g
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb25z
dCBTdHJpbmcmKTsKLSAgICBFeGNlcHRpb25PcjxTdHJpbmc+IHN5c3RlbUxheW91dERpcmVjdGlv
bigpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFN5c3RlbUxheW91dERpcmVjdGlvbihjb25z
dCBTdHJpbmcmKTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTaG91bGRNb2NrQm9sZFN5c3Rl
bUZvbnRGb3JBY2Nlc3NpYmlsaXR5KGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNo
b3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChib29sKTsKLSAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRJbmNvbXBsZXRlSW1hZ2VCb3JkZXJFbmFibGVkKGJvb2wpOwotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldFNob3VsZERpc3BhdGNoU3ludGhldGljTW91c2VFdmVudHNXaGVuTW9k
aWZ5aW5nU2VsZWN0aW9uKGJvb2wpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZERp
c3BhdGNoU3ludGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrKGJvb2wpOwotICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVk
KGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CiAKLSAgICB1
c2luZyBGcmFtZUZsYXR0ZW5pbmdWYWx1ZSA9IEZyYW1lRmxhdHRlbmluZzsKLSAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRGcmFtZUZsYXR0ZW5pbmcoRnJhbWVGbGF0dGVuaW5nVmFsdWUpOworICAg
IGVudW0gY2xhc3MgRWRpdGluZ0JlaGF2aW9yIDogdWludDhfdCB7IE1hYywgV2luLCBVbml4LCBJ
b3MgfTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRFZGl0aW5nQmVoYXZpb3IoRWRpdGluZ0Jl
aGF2aW9yKTsKKyAgICAKKyAgICBlbnVtIGNsYXNzIFBERkltYWdlQ2FjaGluZ1BvbGljeSA6IHVp
bnQ4X3QgeyBFbmFibGVkLCBCZWxvd01lbW9yeUxpbWl0LCBEaXNhYmxlZCwgQ2xpcEJvdW5kc09u
bHkgfTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRQREZJbWFnZUNhY2hpbmdQb2xpY3koUERG
SW1hZ2VDYWNoaW5nUG9saWN5KTsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEVkaXRhYmxl
UmVnaW9uRW5hYmxlZChib29sKTsKKyAgICBlbnVtIGNsYXNzIFN0b3JhZ2VCbG9ja2luZ1BvbGlj
eSA6IHVpbnQ4X3QgeyBBbGxvd0FsbCwgQmxvY2tUaGlyZFBhcnR5LCBCbG9ja0FsbCB9OworICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShTdG9yYWdlQmxvY2tp
bmdQb2xpY3kpOwogICAgIAotICAgIHN0YXRpYyB2b2lkIHNldEFsbG93c0FueVNTTENlcnRpZmlj
YXRlKGJvb2wpOworICAgIHVzaW5nIFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBXZWJD
b3JlOjpVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koVXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeSk7CisKKyAgICB1c2luZyBTeXN0ZW1MYXlvdXREaXJlY3Rpb24gPSBUZXh0RGlyZWN0aW9u
OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFN5c3RlbUxheW91dERpcmVjdGlvbihTeXN0ZW1M
YXlvdXREaXJlY3Rpb24pOwogCi0gICAgRXhjZXB0aW9uT3I8Ym9vbD4gZGVmZXJyZWRDU1NQYXJz
ZXJFbmFibGVkKCk7Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0RGVmZXJyZWRDU1NQYXJzZXJF
bmFibGVkKGJvb2wpOworICAgIHVzaW5nIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgPSBTZXR0aW5n
czo6Rm9udExvYWRUaW1pbmdPdmVycmlkZTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGb250
TG9hZFRpbWluZ092ZXJyaWRlKEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUpOwogCi0gICAgZW51bSBj
bGFzcyBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgeyBTeXN0ZW0sIE9uLCBPZmYgfTsKKyAgICB1
c2luZyBGcmFtZUZsYXR0ZW5pbmdWYWx1ZSA9IEZyYW1lRmxhdHRlbmluZzsKKyAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRGcmFtZUZsYXR0ZW5pbmcoRnJhbWVGbGF0dGVuaW5nVmFsdWUpOworCisg
ICAgdXNpbmcgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlID0gU2V0dGluZ3M6OkZvcmNlZEFjY2Vz
c2liaWxpdHlWYWx1ZTsKICAgICBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgZm9yY2VkQ29sb3Jz
QXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNldEZvcmNl
ZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKEZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSk7CiAgICAgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZERpc3BsYXlJc01vbm9j
aHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdDsKQEAgLTEyOSwxNCArOTYsMzUgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Rm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFsdWUoRm9y
Y2VkQWNjZXNzaWJpbGl0eVZhbHVlKTsKIAogICAgIC8vIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Ci0gICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sKTsKLSAgICBzdGF0aWMgdm9p
ZCBzZXRXZWJHUFVFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldFBpY3R1cmVJblBp
Y3R1cmVBUElFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldEZldGNoQVBJS2VlcEFs
aXZlRW5hYmxlZChib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRXZWJHTDJFbmFibGVk
KGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7Cisg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wpOwor
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChib29s
KTsKIAotICAgIHZvaWQgc2V0U2hvdWxkRGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbihib29sKTsKLSAg
ICAKLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElQZXJQYWdlU2NvcGVFbmFibGVkKGJvb2wp
OworICAgIC8vIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy4KKyAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeShib29sKTsKKworICAgIC8vIENh
cHRpb25Vc2VyUHJlZmVyZW5jZXMuCisgICAgZW51bSBjbGFzcyBUcmFja0tpbmQgOiB1aW50OF90
IHsgU3VidGl0bGVzLCBDYXB0aW9ucywgVGV4dERlc2NyaXB0aW9ucyB9OworICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kLCBib29sIGVuYWJs
ZWQpOworICAgIEV4Y2VwdGlvbk9yPGJvb2w+IHNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tL
aW5kKTsKKworICAgIC8vIFBhZ2UKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRFZGl0YWJsZVJl
Z2lvbkVuYWJsZWQoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q2FuU3RhcnRNZWRp
YShib29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRVc2VEYXJrQXBwZWFyYW5jZShib29s
KTsKKworICAgIC8vIFNjcm9sbFZpZXcKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRBbGxvd1Vu
Y2xhbXBlZFNjcm9sbFBvc2l0aW9uKGJvb2wpOworCisgICAgLy8gUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLgorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZERlYWN0aXZhdGVBdWRp
b1Nlc3Npb24oYm9vbCk7CisKKyAgICAvLyBSZW5kZXJUaGVtZS9Gb250Q2FjaGUKKyAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRTaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5
KGJvb2wpOworCisgICAgLy8gQXVkaW9Db250ZXh0CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
RGVmYXVsdEF1ZGlvQ29udGV4dFNhbXBsZVJhdGUoZmxvYXQpOwogCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IEludGVybmFsU2V0dGluZ3MoUGFnZSopOwpAQCAtMTUxLDkgKzEzOSw4IEBAIHByaXZh
dGU6CiAgICAgICAgIGV4cGxpY2l0IEJhY2t1cChTZXR0aW5ncyYpOwogICAgICAgICB2b2lkIHJl
c3RvcmVUbyhTZXR0aW5ncyYpOwogCi0gICAgICAgIEVkaXRpbmdCZWhhdmlvclR5cGUgbV9vcmln
aW5hbEVkaXRpbmdCZWhhdmlvcjsKLQotICAgICAgICAvLyBJbml0aWFsbHkgZW1wdHksIG9ubHkg
dXNlZCBpZiBjaGFuZ2VkIGJ5IGEgdGVzdC4KKyAgICAgICAgLy8gU2V0dGluZ3MKKyAgICAgICAg
Ly8gU2NyaXB0Rm9udEZhbWlseU1hcHMgYXJlIGluaXRpYWxseSBlbXB0eSwgb25seSB1c2VkIGlm
IGNoYW5nZWQgYnkgYSB0ZXN0LgogICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRh
cmRGb250RmFtaWxpZXM7CiAgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9maXhlZEZvbnRG
YW1pbGllczsKICAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NlcmlmRm9udEZhbWlsaWVz
OwpAQCAtMTYxLDcyICsxNDgsMzUgQEAgcHJpdmF0ZToKICAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2N1cnNpdmVGb250RmFtaWxpZXM7CiAgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAg
bV9mYW50YXN5Rm9udEZhbWlsaWVzOwogICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fcGlj
dG9ncmFwaEZvbnRGYW1pbGllczsKLQotI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCi0gICAg
ICAgIGJvb2wgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nRW5hYmxlZDsKLSAgICAgICAgSW50U2l6
ZSBtX29yaWdpbmFsVGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGU7Ci0gICAgICAgIGJv
b2wgbV9vcmlnaW5hbFRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlOwotI2VuZGlmCi0K
LSAgICAgICAgU3RyaW5nIG1fb3JpZ2luYWxNZWRpYVR5cGVPdmVycmlkZTsKLSAgICAgICAgYm9v
bCBtX29yaWdpbmFsQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZzsKLSAgICAgICAgYm9vbCBt
X29yaWdpbmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkOwotICAgICAgICBib29sIG1fb3JpZ2luYWxV
c2VzT3ZlcmxheVNjcm9sbGJhcnM7Ci0gICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVkOwotICAg
ICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7CisgICAgICAgIEVkaXRpbmdCZWhh
dmlvclR5cGUgbV9vcmlnaW5hbEVkaXRpbmdCZWhhdmlvcjsKICAgICAgICAgU2Vjb25kcyBtX21p
bmltdW1ET01UaW1lckludGVydmFsOwotI2lmIEVOQUJMRShWSURFTykKLSAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7Ci0gICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2Fw
dGlvbnM7Ci0gICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9uczsKLSNl
bmRpZgotICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7Ci0gICAgICAgIGJv
b2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKICAgICAgICAgU2Vjb25kcyBtX29yaWdpbmFs
VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7Ci0gICAgICAgIGJv
b2wgbV91c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwotICAgICAgICBi
b29sIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX3F1
aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX3lvdVR1YmVG
bGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX3Nob3VsZENvbnZl
cnRQb3NpdGlvblN0eWxlT25Db3B5OwotICAgICAgICBib29sIG1fZm9udEZhbGxiYWNrUHJlZmVy
c1BpY3RvZ3JhcGhzOwotICAgICAgICBib29sIG1fc2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0
aW9uczsKLSAgICAgICAgYm9vbCBtX2JhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlOwog
ICAgICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJs
b2NraW5nUG9saWN5OwotICAgICAgICBib29sIG1fc2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVz
OwotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgIGJvb2wgbV90b3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZDsKLSNlbmRpZgotI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpCi0gICAgICAgIGJvb2wgbV9hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjazsKLSNlbmRp
ZgotICAgICAgICBib29sIG1fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKLSAgICAgICAgYm9v
bCBtX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW47Ci0gICAgICAgIGJv
b2wgbV9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKLSAg
ICAgICAgYm9vbCBtX2RlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX2lu
cHV0RXZlbnRzRW5hYmxlZDsKLSAgICAgICAgYm9vbCBtX2luY29tcGxldGVJbWFnZUJvcmRlckVu
YWJsZWQ7Ci0gICAgICAgIGJvb2wgbV9zaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRz
V2hlbk1vZGlmeWluZ1NlbGVjdGlvbjsKLSAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoU3lu
dGhldGljTW91c2VPdXRBZnRlclN5bnRoZXRpY0NsaWNrIHsgZmFsc2UgfTsKLSAgICAgICAgYm9v
bCBtX3Nob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb247Ci0gICAgICAgIGJvb2wgbV9hbmltYXRl
ZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZDsKICAgICAgICAgVXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSBtX3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k7CiAgICAgICAgIFRl
eHREaXJlY3Rpb24gbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb247Ci0gICAgICAgIFBERkltYWdlQ2Fj
aGluZ1BvbGljeSBtX3BkZkltYWdlQ2FjaGluZ1BvbGljeTsKKyAgICAgICAgV2ViQ29yZTo6UERG
SW1hZ2VDYWNoaW5nUG9saWN5IG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5OwogICAgICAgICBTZXR0
aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIG1fZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRB
Y2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgbV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlOwogICAg
ICAgICBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIG1fZm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWU7CiAgICAgICAgIFNldHRpbmdzOjpGb250TG9h
ZFRpbWluZ092ZXJyaWRlIG1fZm9udExvYWRUaW1pbmdPdmVycmlkZTsKICAgICAgICAgRnJhbWVG
bGF0dGVuaW5nIG1fZnJhbWVGbGF0dGVuaW5nOwogCi0gICAgICAgIC8vIFJ1bnRpbWUgZW5hYmxl
ZCBzZXR0aW5ncy4KKyAgICAgICAgLy8gUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICAgICAgICBi
b29sIG1fd2ViR0wyRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJ
RW5hYmxlZDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgbV9zaG91bGRNb2NrQm9sZFN5c3RlbUZv
bnRGb3JBY2Nlc3NpYmlsaXR5OworICAgICAgICBib29sIG1fY3VzdG9tUGFzdGVib2FyZERhdGFF
bmFibGVkOworCisgICAgICAgIC8vIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncworICAgICAgICBi
b29sIG1fb3JpZ2luYWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7CiAjaWYgVVNFKEFVRElPX1NFU1NJ
T04pCiAgICAgICAgIGJvb2wgbV9zaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeTsKICNl
bmRpZgotICAgICAgICBib29sIG1fY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOworCisgICAg
ICAgIC8vIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcgorICAgICAgICBib29sIG1fc2hvdWxk
RGVhY3RpdmF0ZUF1ZGlvU2Vzc2lvbjsKKworICAgICAgICAvLyBSZW5kZXJUaGVtZS9Gb250Q2Fj
aGUKKyAgICAgICAgYm9vbCBtX3Nob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxp
dHk7CiAgICAgfTsKIAogICAgIFBhZ2UqIG1fcGFnZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkocmV2aXNpb24gMjY5NzYxKQorKysgU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI0LDE4
ICsyNCwyMiBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCitlbnVtIEVkaXRpbmdCZWhhdmlvciB7ICJt
YWMiLCAid2luIiwgInVuaXgiLCAiaW9zIiB9OworZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRl
IHsgIk5vbmUiLCAiQmxvY2siLCAiU3dhcCIsICJGYWlsdXJlIiB9OwogZW51bSBGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgeyAic3lzdGVtIiwgIm9uIiwgIm9mZiIgfTsKIGVudW0gRnJhbWVGbGF0
dGVuaW5nVmFsdWUgeyAiRGlzYWJsZWQiLCAiRW5hYmxlZEZvck5vbkZ1bGxTY3JlZW5JRnJhbWVz
IiwgIkZ1bGx5RW5hYmxlZCIgfTsKLWVudW0gRm9udExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9j
ayIsICJTd2FwIiwgIkZhaWx1cmUiIH07CitlbnVtIFBERkltYWdlQ2FjaGluZ1BvbGljeSB7ICJl
bmFibGVkIiwgImJlbG93TWVtb3J5TGltaXQiLCAiZGlzYWJsZWQiLCAiY2xpcEJvdW5kc09ubHki
IH07CitlbnVtIFN0b3JhZ2VCbG9ja2luZ1BvbGljeSB7ICJBbGxvd0FsbCIsICJCbG9ja1RoaXJk
UGFydHkiLCAiQmxvY2tBbGwiIH07CitlbnVtIFN5c3RlbUxheW91dERpcmVjdGlvbiB7ICJMVFIi
LCAiUlRMIiB9OworZW51bSBUcmFja0tpbmQgeyAiU3VidGl0bGVzIiwgIkNhcHRpb25zIiwgIlRl
eHREZXNjcmlwdGlvbnMiIH07CitlbnVtIFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgeyAi
Q29udGVudCIsICJTeXN0ZW0iIH07CiAKIFsKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwK
ICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX1RFU1RT
VVBQT1JUX0VYUE9SVCwKIF0gaW50ZXJmYWNlIEludGVybmFsU2V0dGluZ3MgOiBJbnRlcm5hbFNl
dHRpbmdzR2VuZXJhdGVkIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRU
b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotCi0gICAgLy8gRm9u
dHMsIHRleHQKKyAgICAvLyBTZXR0aW5ncwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldFN0YW5kYXJkRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5LCBET01TdHJpbmcgc2Ny
aXB0KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTZXJpZkZvbnRGYW1p
bHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShET01TdHJpbmcgZmFtaWx5
LCBET01TdHJpbmcgc2NyaXB0KTsKQEAgLTQzLDgzICs0Nyw0OSBAQCBlbnVtIEZvbnRMb2FkVGlt
aW5nT3ZlcnJpZGUgeyAiQmxvY2siLCAiCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmlu
ZWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlw
dCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RmFudGFzeUZvbnRGYW1p
bHkoRE9NU3RyaW5nIGZhbWlseSwgRE9NU3RyaW5nIHNjcmlwdCk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSB1bmRlZmluZWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoRE9NU3RyaW5nIGZhbWls
eSwgRE9NU3RyaW5nIHNjcmlwdCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQg
c2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJlZmVyUGljdG9ncmFw
aHMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEZvbnRMb2FkVGltaW5n
T3ZlcnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlkZSBvdmVycmlkZSk7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhi
b29sZWFuIGlnbm9yZSk7Ci0KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRU
ZXh0QXV0b3NpemluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKKyAgICAvLyBGb3J3YXJkcyB0
byBUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZUhlaWdodCBhbmQgVGV4dEF1dG9zaXpp
bmdXaW5kb3dTaXplT3ZlcnJpZGVXaWR0aC4KICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShsb25nIHdpZHRoLCBsb25n
IGhlaWdodCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VGV4dEF1dG9z
aXppbmdVc2VzSWRlbXBvdGVudE1vZGUoYm9vbGVhbiBlbmFibGVkKTsKLQotICAgIC8vIE1lZGlh
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0Q2FuU3RhcnRNZWRpYShib29s
ZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3Vs
ZERpc3BsYXlUcmFja0tpbmQoRE9NU3RyaW5nIGtpbmQsIGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIHNob3VsZERpc3BsYXlUcmFja0tpbmQoRE9NU3Ry
aW5nIHRyYWNrS2luZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0RGVm
YXVsdFZpZGVvUG9zdGVyVVJMKERPTVN0cmluZyBwb3N0ZXIpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKHVucmVzdHJpY3RlZCBkb3VibGUgdGltZSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0TWVkaWFUeXBlT3ZlcnJpZGUoRE9NU3RyaW5nIG1lZGlhVHlwZU92ZXJy
aWRlKTsKLSAgICB1bmRlZmluZWQgc2V0QWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2soYm9v
bGVhbiBhdmFpbGFibGUpOwotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sIE1heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0TWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0
aW9uKGJvb2xlYW4gZW5hYmxlKTsKLSAgICB1bmRlZmluZWQgc2V0RGVmYXVsdEF1ZGlvQ29udGV4
dFNhbXBsZVJhdGUoZmxvYXQgc2FtcGxlUmF0ZSk7Ci0KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRGb3JjZVBlbmRpbmdXZWJHTFBvbGljeShib29sZWFuIGZvcmNlZCk7Ci0K
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRRdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRZb3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKLQotICAgIC8vIEVkaXRpbmcsIGZvcm1zCi0gICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0RWRpdGluZ0JlaGF2aW9yKERPTVN0cmluZyBiZWhhdmlvcik7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkQ29udmVydFBvc2l0aW9u
U3R5bGVPbkNvcHkoYm9vbGVhbiBjb252ZXJ0UG9zaXRpb24pOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2xlYW4gcHJlZmVy
TWltZVR5cGVGb3JJbWFnZSk7Ci0KLSAgICAvLyBPdGhlciBzd2l0Y2hlcwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFVzZURhcmtBcHBlYXJhbmNlKGJvb2xlYW4gZW5hYmxl
ZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U3RvcmFnZUJsb2NraW5n
UG9saWN5KERPTVN0cmluZyBwb2xpY3kpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldEltYWdlc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHVuZGVmaW5lZCBzZXRQREZJbWFnZUNhY2hpbmdQb2xpY3koRE9NU3RyaW5nIHBvbGlj
eSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0VXNlTGVnYWN5QmFja2dy
b3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcihib29sZWFuIGVuYWJsZWQpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEF1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQo
Ym9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRC
YWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sZWFuIGhhc0V4dGVuZGVkQmFja2dy
b3VuZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0U2Nyb2xsaW5nVHJl
ZUluY2x1ZGVzRnJhbWVzKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgc2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sZWFuIGFsbG93
VW5jbGFtcGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbmltYXRl
ZEltYWdlRGVidWdDYW52YXNEcmF3aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZSk7Ci0KKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scyh1bnJlc3RyaWN0ZWQgZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRNaW5pbXVtVGltZXJJbnRl
cnZhbCh1bnJlc3RyaWN0ZWQgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGJvb2xl
YW4gYWxsb3dzKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGJvb2xlYW4gYWxsb3dzKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWly
ZXNQbGF5c0lubGluZUF0dHJpYnV0ZShib29sZWFuIHJlcXVpcmVzKTsKKyAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFZGl0aW5nQmVoYXZpb3IoRWRpdGluZ0JlaGF2aW9yIGJl
aGF2aW9yKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTdG9yYWdlQmxv
Y2tpbmdQb2xpY3koU3RvcmFnZUJsb2NraW5nUG9saWN5IHBvbGljeSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0UERGSW1hZ2VDYWNoaW5nUG9saWN5KFBERkltYWdlQ2Fj
aGluZ1BvbGljeSBwb2xpY3kpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNl
dEZyYW1lRmxhdHRlbmluZyhGcmFtZUZsYXR0ZW5pbmdWYWx1ZSBmcmFtZUZsYXR0ZW5pbmcpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEluY29tcGxldGVJbWFnZUJvcmRl
ckVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVm
aW5lZCBzZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1Nl
bGVjdGlvbihib29sZWFuIHNob3VsZERpc3BhdGNoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBzZXRTaG91bGREaXNwYXRjaFN5bnRoZXRpY01vdXNlT3V0QWZ0ZXJTeW50aGV0
aWNDbGljayhib29sZWFuIHNob3VsZERpc3BhdGNoKTsKLQotICAgIC8vIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuCi0gICAgdW5kZWZpbmVkIHNldFdlYkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKLSAgICB1bmRlZmluZWQgc2V0V2ViR1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwotICAg
IHVuZGVmaW5lZCBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
LQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KERPTVN0cmluZyBwb2xpY3kpOwotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gRE9NU3RyaW5nIHN5c3RlbUxheW91dERpcmVjdGlvbigpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFN5c3RlbUxheW91dERpcmVjdGlvbihET01TdHJpbmcg
ZGlyZWN0aW9uKTsKLQotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBkZWZlcnJlZENT
U1BhcnNlckVuYWJsZWQoKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRE
ZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLQotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vz
c2liaWxpdHkoYm9vbGVhbiBzaG91bGRNb2NrKTsKLQorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koVXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSBwb2xpY3kpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHNldFN5c3RlbUxheW91dERpcmVjdGlvbihTeXN0ZW1MYXlvdXREaXJlY3Rpb24gZGlyZWN0aW9u
KTsKICAgICBhdHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZENvbG9yc0Fy
ZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZTsK
ICAgICBhdHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlOwogICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgZm9yY2VkU3VwcG9ydHNIaWdoRHluYW1pY1JhbmdlVmFsdWU7CiAKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25D
YXRlZ29yeShib29sZWFuIHNob3VsZCk7CisgICAgLy8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4K
KyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgc2V0V2ViR1BV
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZp
bmVkIHNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxl
ZChib29sZWFuIGVuYWJsZWQpOwogCi0gICAgdW5kZWZpbmVkIHNldFNob3VsZERlYWN0aXZhdGVB
dWRpb1Nlc3Npb24oYm9vbGVhbiBzaG91bGREZWFjdGl2YXRlKTsKLSAgICAKLSAgICB1bmRlZmlu
ZWQgc2V0U3RvcmFnZUFjY2Vzc0FQSVBlclBhZ2VTY29wZUVuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKKyAgICAvLyBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuCisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdvcnkoYm9vbGVh
biBzaG91bGQpOworCisgICAgLy8gQ2FwdGlvblVzZXJQcmVmZXJlbmNlcworICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5k
IGtpbmQsIGJvb2xlYW4gZW5hYmxlZCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFu
IHNob3VsZERpc3BsYXlUcmFja0tpbmQoVHJhY2tLaW5kIGtpbmQpOwogCisgICAgLy8gUGFnZQor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldENhblN0YXJ0TWVkaWEoYm9vbGVh
biBlbmFibGVkKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRFZGl0YWJs
ZVJlZ2lvbkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLX07CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgc2V0VXNlRGFya0FwcGVhcmFuY2UoYm9vbGVhbiBlbmFibGVkKTsKIAor
ICAgIC8vIFNjcm9sbFZpZXcKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRB
bGxvd1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uKGJvb2xlYW4gYWxsb3dVbmNsYW1wZWQpOworCisg
ICAgLy8gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLgorICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gdW5kZWZpbmVkIHNldFNob3VsZERlYWN0aXZhdGVBdWRpb1Nlc3Npb24oYm9vbGVhbiBzaG91
bGREZWFjdGl2YXRlKTsKKworICAgIC8vIFJlbmRlclRoZW1lL0ZvbnRDYWNoZQorICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldFNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFj
Y2Vzc2liaWxpdHkoYm9vbGVhbiBzaG91bGRNb2NrKTsKKworICAgIC8vIEF1ZGlvQ29udGV4dAor
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldERlZmF1bHRBdWRpb0NvbnRleHRT
YW1wbGVSYXRlKGZsb2F0IHNhbXBsZVJhdGUpOworfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI2OTc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk2LDEwICs1OTYsNiBAQCBJbnRl
cm5hbHM6OkludGVybmFscyhEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgICAgIGRvY3VtZW50LnBh
Z2UoKS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zZXRUZXN0aW5nTW9kZSh0cnVlKTsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBzZXRNZWRpYUNhcHR1cmVS
ZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oZmFsc2UpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgIGlmIChkb2N1bWVudC5wYWdlKCkpCiAgICAgICAg
IGRvY3VtZW50LnBhZ2UoKS0+c2V0TW9ja01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJFbmFibGVk
KHRydWUpOwpAQCAtMTYxNywxMyArMTYxMyw2IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRTaG91bGRJ
bnRlcnJ1cHRBdWRpb08KICAgICAgICAgcGFnZS0+c2V0dGluZ3MoKS5zZXRJbnRlcnJ1cHRBdWRp
b09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVkKHNob3VsZEludGVycnVwdCk7CiB9CiAKLXZv
aWQgSW50ZXJuYWxzOjpzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oYm9v
bCBlbmFibGVkKQotewotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgp
OwotICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
c2V0dGluZ3MoKS5zZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24oZW5hYmxl
ZCk7Ci19Ci0KIHN0YXRpYyBFeGNlcHRpb25PcjxzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRl
clByaXZhdGU+PiBjcmVhdGVSZWNvcmRlck1vY2tTb3VyY2UoTWVkaWFTdHJlYW1Qcml2YXRlJiBz
dHJlYW0sIGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYpCiB7CiAgICAgcmV0dXJu
IHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZT4obmV3IE1lZGlhUmVjb3JkZXJQ
cml2YXRlTW9jayhzdHJlYW0pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAko
cmV2aXNpb24gMjY5NzYxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAko
d29ya2luZyBjb3B5KQpAQCAtNTkxLDcgKzU5MSw2IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgdm9pZCBzZXRTaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2li
aWxpdHlDaGFuZ2UoYm9vbCk7Ci0gICAgdm9pZCBzZXRNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3Vy
ZUNvbm5lY3Rpb24oYm9vbCk7CiAgICAgdm9pZCBzZXRDdXN0b21Qcml2YXRlUmVjb3JkZXJDcmVh
dG9yKCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcAkocmV2aXNpb24gMjY5NzYxKQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRlc3RT
dXBwb3J0LmgiCiAKKyNpbmNsdWRlICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJ
bnRlcm5hbHMuaCIKQEAgLTE0Myw3ICsxNDQsNyBAQCB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVs
c0lmTmVjZXNzYXJ5KCkKIAogdm9pZCBzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sIGFs
bG93QW55U1NMQ2VydGlmaWNhdGUpCiB7Ci0gICAgSW50ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dz
QW55U1NMQ2VydGlmaWNhdGUoYWxsb3dBbnlTU0xDZXJ0aWZpY2F0ZSk7CisgICAgRGVwcmVjYXRl
ZEdsb2JhbFNldHRpbmdzOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShhbGxvd0FueVNTTENl
cnRpZmljYXRlKTsKIH0KIAogdm9pZCBzZXRMaW5rZWRPbk9yQWZ0ZXJFdmVyeXRoaW5nRm9yVGVz
dGluZygpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw3NSBAQAorMjAyMC0xMS0xMiAgU2FtIFdlaW5p
ZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW51cCBJbnRlcm5hbFNldHRpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg4ODEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUg
dGVzdHMgdG8gd29yayB3aXRoIHVwZGF0ZSBJbnRlcm5hbFNldHRpbmdzIHJlbGF0ZWQgZW51bSB2
YWx1ZXMuCisgICAgICAgIC0gUGxhdGZvcm1zIHBhc3NlZCB0byBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yIG5vdyBtdXN0IGJlIGFsbCBsb3dlcmNhc2UuCisgICAgICAgIC0g
VGhlIHZhbHVlICJWaWV3IiBoYXMgYmVlbiByZW5hbWVkIHRvICJTeXN0ZW0iIGZvciBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeQorCisgICAgICAgICog
ZWRpdGluZy9tYWMvc2VsZWN0aW9uL2RvdWJsZS1jbGljay1hbmQtZHJhZy1vdmVyLWFuY2hvci10
by1zZWxlY3QuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1p
bmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgtc2hpZnQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1hbHRlcm5hdGUtYm9keS1kaXItYXR0
ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVudC0yLWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYWx0ZXJuYXRlLWlmcmFtZS1i
b2R5LWRpci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LWV4cGVjdGVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9u
LXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
ZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNv
bHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFt
ZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0LWV4cGVj
dGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC1zZWxlY3QtbGVmdC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRp
ci1ydGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhw
ZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gt
Y29udGVudHMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRl
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24t
Zml4ZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1wb3NpdGlvbi1maXhlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3Vt
ZW50LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtc3RpY2t5LWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3Zl
cmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTIuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVj
dGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LW92ZXJmbG93LXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlv
bi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXRleHQtc2VsZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMuaHRtbDoKKwogMjAyMC0xMS0xMiAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFsgTWFjIHdrMiBdIHdlYnJ0Yy9jYXB0dXJlQ2Fu
dmFzLXdlYnJ0Yy1zb2Z0d2FyZS1oMjY0LWJhc2VsaW5lLmh0bWwgaXMgZmxha3kgZmFpbGluZwpJ
bmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc2VsZWN0aW9uL2RvdWJsZS1jbGljay1hbmQt
ZHJhZy1vdmVyLWFuY2hvci10by1zZWxlY3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9lZGl0aW5nL21hYy9zZWxlY3Rpb24vZG91YmxlLWNsaWNrLWFuZC1kcmFnLW92ZXItYW5jaG9y
LXRvLXNlbGVjdC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5n
L21hYy9zZWxlY3Rpb24vZG91YmxlLWNsaWNrLWFuZC1kcmFnLW92ZXItYW5jaG9yLXRvLXNlbGVj
dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIHAgKyBwIHsKICAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RWRpdGluZ0JlaGF2aW9yKCJtYWMiKTsKICAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5kaW5nIHRoZSBzZWxlY3Rpb24i
KTsKIAogICAgIFVJSGVscGVyLmRvdWJsZUNsaWNrRWxlbWVudE1vdXNlRG93bihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RhcnQiKSk7CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9zaGlmdC1jbGljay1pbmNsdWRlcy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9zaGlmdC1jbGljay1pbmNsdWRl
cy1leGlzdGluZy1zZWxlY3Rpb24uaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vc2hpZnQtY2xpY2staW5jbHVkZXMtZXhpc3Rpbmctc2VsZWN0
aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgTWFya3VwLndhaXRVbnRp
bERvbmUoKTsKICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJNYWMiKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJtYWMiKTsKICAgICBNYXJrdXAu
ZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIiksICJCZWZvcmUgZXh0ZW5k
aW5nIHRoZSBzZWxlY3Rpb24iKTsKIAogICAgIGF3YWl0IFVJSGVscGVyLmNhbGxGdW5jdGlvbkFu
ZFdhaXRGb3JFdmVudCgoKSA9PiBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImVuZCIpLCBbInNoaWZ0S2V5Il0pLCBkb2N1bWVudC5ib2R5LCAiY2xpY2si
KTsKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VzZXItc2VsZWN0LWFsbC13
aXRoLXNoaWZ0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3VzZXItc2VsZWN0
LWFsbC13aXRoLXNoaWZ0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcg
QEAKIFRoaXMgdGVzdHMgc2hpZnQgKyBzZWxlY3RpbmcgdHdvIGRpc2NvbnRpbnVvdXMgZWxlbWVu
dHMgd2l0aCB1c2VyLXNlbGVjdDogYWxsLiBXZWJLaXQgc2hvdWxkIHNlbGVjdCB0aGUgYm90aCBl
bGVtZW50cyBpbnN0ZWFkIG9mIG1vdmluZyB0aGUgc2VsZWN0aW9uLgogVG8gbWFudWFsbHkgdGVz
dCwgY2xpY2sgdG8gc2VsZWN0IHRoZSBmaXJzdCBlbGVtZW50IGFuZCBzaGlmdC1jbGljayB0aGUg
c2Vjb25kIGVsZW1lbnQuIFdlYktpdCBzaG91bGQgc2VsZWN0IGJvdGggZWxlbWVudHMuCiAKLUFm
dGVyIGNsaWNraW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50IChNYWMpOgorQWZ0ZXIgY2xpY2tpbmcg
b24gdGhlIGZpcnN0IGVsZW1lbnQgKG1hYyk6CiB8ICIKICIKIHwgPGRpdj4KQEAgLTE4LDcgKzE4
LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIHNoaWZ0IGNsaWNraW5nIG9u
IHRoZSBzZWNvbmQgZWxlbWVudCAoTWFjKToKK0FmdGVyIHNoaWZ0IGNsaWNraW5nIG9uIHRoZSBz
ZWNvbmQgZWxlbWVudCAobWFjKToKIHwgIgogIgogfCA8ZGl2PgpAQCAtMzUsNyArMzUsNyBAQCBT
b21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBl
bGVtZW50IChNYWMpOgorQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50IChtYWMp
OgogfCAiCiAiCiB8IDxkaXY+CkBAIC01Miw3ICs1Miw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwg
IgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoTWFjKToK
K0FmdGVyIHNoaWZ0IGNsaWNraW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50IChtYWMpOgogfCAiCiAi
CiB8IDxkaXY+CkBAIC02OSw3ICs2OSw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgogIgogCi1B
ZnRlciBjbGlja2luZyBvbiB0aGUgZmlyc3QgZWxlbWVudCAoV2luKToKK0FmdGVyIGNsaWNraW5n
IG9uIHRoZSBmaXJzdCBlbGVtZW50ICh3aW4pOgogfCAiCiAiCiB8IDxkaXY+CkBAIC04Niw3ICs4
Niw3IEBAIFNvbWUgb3RoZXIgdGV4dC4KIHwgIgogIgogCi1BZnRlciBzaGlmdCBjbGlja2luZyBv
biB0aGUgc2Vjb25kIGVsZW1lbnQgKFdpbik6CitBZnRlciBzaGlmdCBjbGlja2luZyBvbiB0aGUg
c2Vjb25kIGVsZW1lbnQgKHdpbik6CiB8ICIKICIKIHwgPGRpdj4KQEAgLTEwMyw3ICsxMDMsNyBA
QCBTb21lIG90aGVyIHRleHQuCiB8ICIKICIKIAotQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29u
ZCBlbGVtZW50IChXaW4pOgorQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIHNlY29uZCBlbGVtZW50ICh3
aW4pOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xMjAsNyArMTIwLDcgQEAgU29tZSBvdGhlciB0ZXh0
LgogfCAiCiAiCiAKLUFmdGVyIHNoaWZ0IGNsaWNraW5nIG9uIHRoZSBmaXJzdCBlbGVtZW50IChX
aW4pOgorQWZ0ZXIgc2hpZnQgY2xpY2tpbmcgb24gdGhlIGZpcnN0IGVsZW1lbnQgKHdpbik6CiB8
ICIKICIKIHwgPGRpdj4KQEAgLTEzNyw3ICsxMzcsNyBAQCBTb21lIG90aGVyIHRleHQuCiB8ICIK
ICIKIAotQWZ0ZXIgY2xpY2tpbmcgb24gdGhlIGZpcnN0IGVsZW1lbnQgKFVuaXgpOgorQWZ0ZXIg
Y2xpY2tpbmcgb24gdGhlIGZpcnN0IGVsZW1lbnQgKHVuaXgpOgogfCAiCiAiCiB8IDxkaXY+CkBA
IC0xNTQsNyArMTU0LDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIHNoaWZ0
IGNsaWNraW5nIG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoVW5peCk6CitBZnRlciBzaGlmdCBjbGlj
a2luZyBvbiB0aGUgc2Vjb25kIGVsZW1lbnQgKHVuaXgpOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0x
NzEsNyArMTcxLDcgQEAgU29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIGNsaWNraW5n
IG9uIHRoZSBzZWNvbmQgZWxlbWVudCAoVW5peCk6CitBZnRlciBjbGlja2luZyBvbiB0aGUgc2Vj
b25kIGVsZW1lbnQgKHVuaXgpOgogfCAiCiAiCiB8IDxkaXY+CkBAIC0xODgsNyArMTg4LDcgQEAg
U29tZSBvdGhlciB0ZXh0LgogfCAiCiAiCiAKLUFmdGVyIHNoaWZ0IGNsaWNraW5nIG9uIHRoZSBm
aXJzdCBlbGVtZW50IChVbml4KToKK0FmdGVyIHNoaWZ0IGNsaWNraW5nIG9uIHRoZSBmaXJzdCBl
bGVtZW50ICh1bml4KToKIHwgIgogIgogfCA8ZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vdXNlci1zZWxlY3QtYWxsLXdpdGgtc2hpZnQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlm
dC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi91c2VyLXNlbGVjdC1hbGwtd2l0aC1zaGlmdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5
ICs0OSw5IEBAIGZ1bmN0aW9uIHJ1blRlc3QoZWRpdGluZ0JlaGF2aW9yKSB7CiB9CiAKIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICBydW5UZXN0KCdNYWMnKTsKLSAgICBydW5UZXN0KCdX
aW4nKTsKLSAgICBydW5UZXN0KCdVbml4Jyk7CisgICAgcnVuVGVzdCgnbWFjJyk7CisgICAgcnVu
VGVzdCgnd2luJyk7CisgICAgcnVuVGVzdCgndW5peCcpOwogCiB9IGVsc2UKICAgICBNYXJrdXAu
bm9BdXRvRHVtcCgpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtYWx0ZXJuYXRlLWJvZHktZGlyLWF0dHItZG9lcy1ub3QtdXBkYXRlLXNjcm9sbGJhci1w
bGFjZW1lbnQtMi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0ZS1ib2R5LWRpci1hdHRyLWRvZXMtbm90
LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LTItZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5
NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYWx0ZXJu
YXRlLWJvZHktZGlyLWF0dHItZG9lcy1ub3QtdXBkYXRlLXNjcm9sbGJhci1wbGFjZW1lbnQtMi1l
eHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogICAgIDwvc3R5bGU+
CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYWx0ZXJu
YXRlLWlmcmFtZS1ib2R5LWRpci1hdHRyLWRvZXMtbm90LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2Vt
ZW50LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtYWx0ZXJuYXRlLWlmcmFtZS1ib2R5LWRpci1hdHRyLWRvZXMtbm90
LXVwZGF0ZS1zY3JvbGxiYXItcGxhY2VtZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2
MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFsdGVybmF0
ZS1pZnJhbWUtYm9keS1kaXItYXR0ci1kb2VzLW5vdC11cGRhdGUtc2Nyb2xsYmFyLXBsYWNlbWVu
dC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPGh0bWw+CiAg
ICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJWaWV3
Iik7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiU3lzdGVtIik7CiAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9u
LXByb3BlcnR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1w
cm9wZXJ0eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2Ny
aXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxl
bWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCShy
ZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1lbGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAy
Njk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBl
Y3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0
PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1l
LW9mZnNldC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbAkocmV2aXNp
b24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLW9mZnNldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+
CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0K
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtaWZyYW1lLXBvc2l0aW9uLWFic29sdXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXBvc2l0aW9uLWFic29sdXRl
Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0
PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1l
LXNjcm9sbGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysr
IExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0Pgog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNj
cm9sbC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNjcm9sbC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNl
RGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBl
Y3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMjY5
NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQu
aHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1y
aWdodC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+
CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0K
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC5odG1sCShy
ZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sCShy
ZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1saXN0Ym94LXNpbXBsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAog
PGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0i
KTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwi
KTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0
bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVu
dEZyb21Qb2ludC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRtbAkocmV2aXNpb24g
MjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcuaHRt
bAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1w
b3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1w
b3NpdGlvbi1hYnNvbHV0ZS5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRV
c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2lt
cGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1z
ZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNl
RGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAog
PGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0i
KTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwi
KTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1u
by1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250
ZW50cy1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+
CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0K
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRz
Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0
ZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8
c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCShyZXZpc2lvbiAy
Njk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3Np
dGlvbi1hYnNvbHV0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+
CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0K
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
LSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgi
VmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9u
UG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0
RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhl
ZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmlu
Zy5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc2ltcGxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkK
KysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50
LTItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCShyZXZpc2lv
biAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
dGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMs
NyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJT
eXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5o
dG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRv
Y3VtZW50LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LWRvY3VtZW50Lmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2
MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1p
ZnJhbWUtMi1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhl
YWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
IH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwJKHJldmlzaW9u
IDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUtMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+
CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0K
IDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRt
bAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1z
Y3JvbGwtMi1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhl
YWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
IH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9s
bC0yLmh0bWwJKHJldmlzaW9uIDI2OTc2MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBl
Y3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3Rp
Y2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcg
KzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5
KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVy
Zmxvdy1zY3JvbGwuaHRtbAkocmV2aXNpb24gMjY5NzYxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVj
dGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJm
YWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy10ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlv
bi1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8
c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3Jv
bGxlZC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhlYWQ+CiA8c2NyaXB0Pgog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsKICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKIH0KIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxl
Y3Rpb24tc2Nyb2xsZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCShyZXZpc2lv
biAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10
ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBA
QAogPGh0bWw+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sCShyZXZp
c2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy10ZXh0LXNlbGVjdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogPGhl
YWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0ZW0iKTsK
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
IH0KIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy5odG1sCShyZXZpc2lvbiAyNjk3NjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBA
QAogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCJTeXN0
ZW0iKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKIH0KIDwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>