<?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>91707</bug_id>
          
          <creation_ts>2012-07-18 20:25:50 -0700</creation_ts>
          <short_desc>Implement the experimental Content Security Policy script interface.</short_desc>
          <delta_ts>2012-07-26 02:50:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>673120</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-18 20:25:50 -0700</bug_when>
    <thetext>CSP 1.1 defines a script interface meant to give developers the ability to query the currently active policy for details about the context in which their scripts and other resources will be loaded. See https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces--experimental for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673141</commentid>
    <comment_count>1</comment_count>
      <attachid>153176</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-18 21:43:07 -0700</bug_when>
    <thetext>Created attachment 153176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673145</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-18 21:46:29 -0700</bug_when>
    <thetext>Dropping the r?, as this can&apos;t land as-is. I still need to add the files to the xcode project, and I&apos;m having a devil of a time doing so.

Still, if you wouldn&apos;t mind having a look, Adam, I&apos;d appreciate it. This is more or less the same patch I&apos;ve been running by you on GitHub for a while now, rebased on top of trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673154</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-18 21:58:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Dropping the r?, as this can&apos;t land as-is. I still need to add the files to the xcode project, and I&apos;m having a devil of a time doing so.

You basically need a Mac for that.

&gt; Still, if you wouldn&apos;t mind having a look, Adam, I&apos;d appreciate it. This is more or less the same patch I&apos;ve been running by you on GitHub for a while now, rebased on top of trunk.

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673156</commentid>
    <comment_count>4</comment_count>
      <attachid>153176</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-18 22:00:15 -0700</bug_when>
    <thetext>Comment on attachment 153176
Patch

Attachment 153176 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13279798</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673157</commentid>
    <comment_count>5</comment_count>
      <attachid>153176</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-18 22:01:47 -0700</bug_when>
    <thetext>Comment on attachment 153176
Patch

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

Looks pretty good.  Weaving the sendReport everywhere is kind of ugly.  Maybe using an enum would have better readability at the call sites?

&gt; Source/WebCore/page/DOMSecurityPolicy.idl:30
&gt; +        InterfaceName=securityPolicy

securityPolicy -&gt; SecurityPolicy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673174</commentid>
    <comment_count>6</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-18 22:26:34 -0700</bug_when>
    <thetext>Thanks! If/when I can get WebKit checked out on my laptop, I&apos;ll keep fiddling with the xcode file.

(In reply to comment #5)
&gt; (From update of attachment 153176 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153176&amp;action=review
&gt; 
&gt; Looks pretty good.  Weaving the sendReport everywhere is kind of ugly.  Maybe using an enum would have better readability at the call sites?

It is ugly. While rebasing I was wondering again whether it made sense. I think it does, but it&apos;s ugly.

I&apos;m not sure an enum makes it less ugly, but it probably would make it more readable.

&gt; 
&gt; &gt; Source/WebCore/page/DOMSecurityPolicy.idl:30
&gt; &gt; +        InterfaceName=securityPolicy
&gt; 
&gt; securityPolicy -&gt; SecurityPolicy

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673241</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-19 00:21:41 -0700</bug_when>
    <thetext>In my humble opinion, it looks you missed to touch below file for GTK port.

http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/gobject/GNUmakefile.am

For example, as below,

+       DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.h \
+       DerivedSources/webkit/WebKitDOMDOMSecurityPolicyPrivate.h \

@@ -277,6 +279,7 @@ webkitgtk_built_h_api += \
        DerivedSources/webkit/WebKitDOMDocumentFragment.h \
        DerivedSources/webkit/WebKitDOMDocumentType.h \
        DerivedSources/webkit/WebKitDOMDOMImplementation.h \
+       DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.h \</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673611</commentid>
    <comment_count>8</comment_count>
      <attachid>153285</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-19 10:01:54 -0700</bug_when>
    <thetext>Created attachment 153285
Adam&apos;s feedback + GTK, still no XCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673614</commentid>
    <comment_count>9</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-19 10:03:35 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; In my humble opinion, it looks you missed to touch below file for GTK port.
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/gobject/GNUmakefile.am
&gt; 
&gt; For example, as below,
&gt; 
&gt; +       DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.h \
&gt; +       DerivedSources/webkit/WebKitDOMDOMSecurityPolicyPrivate.h \
&gt; 
&gt; @@ -277,6 +279,7 @@ webkitgtk_built_h_api += \
&gt;         DerivedSources/webkit/WebKitDOMDocumentFragment.h \
&gt;         DerivedSources/webkit/WebKitDOMDocumentType.h \
&gt;         DerivedSources/webkit/WebKitDOMDOMImplementation.h \
&gt; +       DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.h \

Thank you! I&apos;ve added these to the file (though it looks like I need to add `DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.cpp`, based on what others have done). Can you take a look at the current patch and verify that I&apos;ve done it correctly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673635</commentid>
    <comment_count>10</comment_count>
      <attachid>153285</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-19 10:25:04 -0700</bug_when>
    <thetext>Comment on attachment 153285
Adam&apos;s feedback + GTK, still no XCode.

Attachment 153285 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13272889</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674611</commentid>
    <comment_count>11</comment_count>
      <attachid>153517</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-20 08:56:43 -0700</bug_when>
    <thetext>Created attachment 153517
AdGTK again. I hate XCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674618</commentid>
    <comment_count>12</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-20 09:07:21 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=153517) [details]
&gt; AdGTK again. I hate XCode.

I&apos;ve been kicking around with XCode for a few hours, and all I have to show for it are an ever-widening variety of error messages. It&apos;s driving me nuts.

Can you give me some pointers as to exactly where I need to add these files? Or should I hop over to webkit-dev for help?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674620</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-20 09:08:45 -0700</bug_when>
    <thetext>&gt; I&apos;ve been kicking around with XCode for a few hours, and all I have to show for it are an ever-widening variety of error messages. It&apos;s driving me nuts.

What do the error messages look like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674636</commentid>
    <comment_count>14</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-20 09:26:50 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; I&apos;ve been kicking around with XCode for a few hours, and all I have to show for it are an ever-widening variety of error messages. It&apos;s driving me nuts.
&gt; 
&gt; What do the error messages look like?

I started with:

In file included from /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/DerivedSources/WebCore/DOMDocument.mm:48:
/Users/mkwst/Repositories/webkit/WebKitBuild/Debug/DerivedSources/WebCore/DOMDOMSecurityPolicyInternal.h:27:9: fatal error: &apos;WebCore/DOMDOMSecurityPolicy.h&apos; file not found [2]
 #import &lt;WebCore/DOMDOMSecurityPolicy.h&gt;

And the most recent failure at resolving that was:

PBXCp /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/DerivedSources/WebCore/../../../../../../WebKitBuild/Debug/DerivedSources/WebCore/DOMDOMSecurityPolicy.h /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/WebCore.framework/Versions/A/PrivateHeaders/DOMDOMSecurityPolicy.h
    cd /Users/mkwst/Repositories/webkit/Source/WebCore
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -strip-debug-symbols -resolve-src-symlinks /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/DerivedSources/WebCore/../../../../../../WebKitBuild/Debug/DerivedSources/WebCore/DOMDOMSecurityPolicy.h /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/WebCore.framework/Versions/A/PrivateHeaders
error: /Users/mkwst/Repositories/webkit/WebKitBuild/Debug/DerivedSources/WebCore/../../../../../../WebKitBuild/Debug/DerivedSources/WebCore/DOMDOMSecurityPolicy.h: No such file or directory

Basically, adding the three files I actually wrote seems to be no problem. I&apos;m failing to add the generated files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674641</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-20 09:31:47 -0700</bug_when>
    <thetext>DOMDOMSecurityPolicy.h is related to the Objective-C bindings.  You might need to add the header to bindings/objc/DerivedSources in the Xcode project file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674660</commentid>
    <comment_count>16</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-20 09:55:45 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; DOMDOMSecurityPolicy.h is related to the Objective-C bindings.  You might need to add the header to bindings/objc/DerivedSources in the Xcode project file.

I love you. :)

It looks like it&apos;s compiling. If it continues to look like it&apos;s compiling, I&apos;ll upload a patch for review.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674936</commentid>
    <comment_count>17</comment_count>
      <attachid>153592</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-20 13:58:32 -0700</bug_when>
    <thetext>Created attachment 153592
XCode is happy. I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678946</commentid>
    <comment_count>18</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-26 00:16:48 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=153592) [details]
&gt; XCode is happy. I think.

Friendly ping. :) This patch now compiles cleanly under XCode, and I&apos;ve swapped out the boolean flag for an enum. Would you mind taking another look, Adam?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678954</commentid>
    <comment_count>19</comment_count>
      <attachid>153592</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-26 00:32:54 -0700</bug_when>
    <thetext>Comment on attachment 153592
XCode is happy. I think.

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

&gt; Source/WebCore/page/DOMSecurityPolicy.cpp:37
&gt; +

extra blank line here.

&gt; Source/WebCore/page/DOMSecurityPolicy.h:63
&gt; +    bool allowsConnectionTo(String url) const;
&gt; +    bool allowsFontFrom(String url) const;
&gt; +    bool allowsFrameFrom(String url) const;
&gt; +    bool allowsImageFrom(String url) const;
&gt; +    bool allowsMediaFrom(String url) const;
&gt; +    bool allowsObjectFrom(String url) const;
&gt; +    bool allowsScriptFrom(String url) const;
&gt; +    bool allowsStyleFrom(String url) const;

These should all be const String&amp;

&gt; Source/WebCore/page/DOMSecurityPolicy.idl:30
&gt; +        InterfaceName=securityPolicy

securityPolicy -&gt; SecurityPolicy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679011</commentid>
    <comment_count>20</comment_count>
      <attachid>154574</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-26 01:21:47 -0700</bug_when>
    <thetext>Created attachment 154574
Patch for landing.

Thanks, Adam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679048</commentid>
    <comment_count>21</comment_count>
      <attachid>154574</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-26 01:55:00 -0700</bug_when>
    <thetext>Comment on attachment 154574
Patch for landing.

Aren&apos;t you a committer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679049</commentid>
    <comment_count>22</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-26 01:55:12 -0700</bug_when>
    <thetext>You can set the commit-queue flag yourself.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679054</commentid>
    <comment_count>23</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-26 01:56:19 -0700</bug_when>
    <thetext>Maybe your paperwork hasn&apos;t gone through yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679096</commentid>
    <comment_count>24</comment_count>
      <attachid>154574</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 02:50:16 -0700</bug_when>
    <thetext>Comment on attachment 154574
Patch for landing.

Clearing flags on attachment: 154574

Committed r123722: &lt;http://trac.webkit.org/changeset/123722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679097</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 02:50:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153176</attachid>
            <date>2012-07-18 21:43:07 -0700</date>
            <delta_ts>2012-07-19 10:01:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91707-20120719064306.patch</filename>
            <type>text/plain</type>
            <size>78063</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjU3NWY2YWRiMDFlYjFk
ODBkOTE0N2JiZDY1MTJmYTVjYzZlNDIyZC4uYjNjZjIxNWQwNzhhOGVhNDA0OThlOWFlYWMyMGVl
YzlmMGQ1YTgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNSBAQAorMjAxMi0wNy0xOCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTUCAxLjEgZWRpdG9y
J3MgZHJhZnQgZGVmaW5lcyBhIHNjcmlwdCBpbnRlcmZhY2UgdGhhdCBnaXZlcworICAgICAgICBk
ZXZlbG9wZXJzIHRoZSBhYmlsaXR5IHRvIHF1ZXJ5IGEgZG9jdW1lbnQgcmVnYXJkaW5nIHRoZSBy
ZXN0cmljdGlvbnMKKyAgICAgICAgc2V0IGJ5IGl0J3MgY3VycmVudGx5IGFjdGl2ZSBjb250ZW50
IHNlY3VyaXR5IHBvbGljeS5bMV0gVGhpcyBwYXRjaAorICAgICAgICBleHBvc2VzIHRoYXQgQVBJ
IGluIHRlcm1zIG9mIGEgbmV3IERPTVNlY3VyaXR5UG9saWN5IG9iamVjdC4KKworICAgICAgICBE
YXRhIGZvciB0aGUgQVBJIGlzIGdhdGhlcmVkIGZyb20gdGhlIGV4aXN0aW5nIENvbnRlbnRTZWN1
cml0eVBvbGljeQorICAgICAgICBvYmplY3Qgb24gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuIENT
UCdzIHZhcmlvdXMgbWV0aG9kcyBoYXZlIGJlZW4KKyAgICAgICAgZXh0ZW5kZWQgd2l0aCBhIGBz
ZW5kUmVwb3J0YCBwYXJhbWV0ZXIgd2hpY2gsIHVuc3VycHJpc2luZ2x5LCBkZXRlcm1pbmVzCisg
ICAgICAgIHdoZXRoZXIgYSB2aW9sYXRpb24gcmVwb3J0IHNob3VsZCBiZSBzZW50IGZvciBibG9j
a2VkIHJlc291cmNlcy4gVGhpcworICAgICAgICBhbGxvd3MgdXMgdG8gcmV1c2UgdGhlIHNhbWUg
Y29kZXBhdGhzIGJ5IHNpbXBseSBzZXR0aW5nIGBzZW5kUmVwb3J0YCB0bworICAgICAgICBgZmFs
c2VgIHdoZW4gcXVlcnlpbmcgb24gYmVoYWxmIG9mIHRoZSBBUEksIGFuZCB0byBgdHJ1ZWAgd2hl
biBjaGVja2luZworICAgICAgICByZXNvdXJjZXMgYSBwYWdlIHdhbnRzIHRvIGxvYWQuCisKKyAg
ICAgICAgVGhpcyBmZWF0dXJlIGlzIGdhdGVkIG9uIHRoZSBDU1BfTkVYVCBmbGFnLCB3aGljaCBp
cyBjdXJyZW50bHkgZGlzYWJsZWQKKyAgICAgICAgZm9yIGFsbCBwb3J0cyBvdGhlciB0aGFuIENo
cm9taXVtLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9jb250ZW50LXNl
Y3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmljYXRpb24uZGV2Lmh0bWwjc2Ny
aXB0LWludGVyZmFjZXMtLWV4cGVyaW1lbnRhbAorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dj
b25uZWN0aW9udG8uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC5odG1sCisgICAg
ICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dmcmFtZWZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1hZ2Vmcm9tLmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21lZGlhZnJvbS5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dvYmplY3Rmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZy
b20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWwKKyAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0
bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgICAgIFdlIGFkZGVkIGEgbmV3IG9iamVjdCwgc28gbGV0J3Mg
dGVsbCBfZXZlcnlvbmUhXworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6c2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAgICAgRXhwb3NlIHRo
ZSBTZWN1cml0eVBvbGljeSBvYmplY3QgdmlhIERvY3VtZW50LCBnYXRlZCBvbiBDU1BfTkVYVC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmlk
bDoKKyAgICAgICAgICAgIEFkZGluZyB0aGUgU2VjdXJpdHlQb2xpY3kgb2JqZWN0IHRvIHRoZSBk
b2N1bWVudCwgZ2F0ZWQgb24gQ1NQX05FWFQuCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwOgorICAgICAgICAoQ1NQRGlyZWN0aXZlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0lubGluZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVj
dGl2ZUxpc3Q6OmNoZWNrU291cmNlKToKKyAgICAgICAgICAgIEV4dHJhY3RpbmcgdGhlIGNvcmUg
Y2hlY2tzIG91dCBpbnRvIHNlcGFyYXRlIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpDU1BE
aXJlY3RpdmVMaXN0OjpjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAg
VXNlIGNoZWNrRXZhbC4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNr
Tm9uY2VBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrTm9uY2UuCisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0lubGluZUFuZFJlcG9ydFZp
b2xhdGlvbik6CisgICAgICAgICAgICBVc2UgY2hlY2tJbmxpbmUuCisgICAgICAgIChXZWJDb3Jl
OjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbik6CisgICAg
ICAgICAgICBVc2UgY2hlY2tTb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0phdmFTY3JpcHRVUkxzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93SW5saW5lRXZlbnRIYW5kbGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93RXZhbCk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0
aXZlTGlzdDo6YWxsb3dPYmplY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21Tb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZSk6Cisg
ICAgICAgICAgICBUaGVzZSBtZXRob2RzIG5vdyBicmFuY2ggb24gYHNlbmRSZXBvcnRgOiBpZiBg
dHJ1ZWAsIHRoZXkgY2FsbAorICAgICAgICAgICAgYGNoZWNrWEFuZFJlcG9ydFZpb2xhdGlvbmAs
IG90aGVyd2lzZSwgdGhleSBjYWxsIGBjaGVja1hgLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGly
ZWN0aXZlTGlzdDo6Z2F0aGVyUmVwb3J0VVJJcyk6CisgICAgICAgICAgICBOZXcgbWV0aG9kIHRo
YXQgZ2F0aGVycyB0aGUgdmlvbGF0aW9uIHJlcG9ydCBVUklzIGludG8gYSBET01TdHJpbmdMaXN0
LgorICAgICAgICAoV2ViQ29yZTo6aXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6aXNBbGxvd2VkQnlBbGxXaXRoVVJMKToKKyAgICAgICAgICAgIFRoZXNlIG5vdyBwYXNzIHNl
bmRSZXBvcnQgdGhyb3VnaCB0byB0aGUgdmFyaW91cyBgYWxsb3dYYCBtZXRob2RzLgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxzKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVu
dEhhbmRsZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dJbmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd0lubGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dFdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21T
b3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Zv
bnRGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dNZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZSk6CisgICAgICAgICAgICBUaGVzZSBhY2NlcHQg
YSBuZXcgYHNlbmRSZXBvcnRgIHBhcmFtZXRlciwgd2hpY2ggaXMgcGFzc2VkIHRocm91Z2gKKyAg
ICAgICAgICAgIHRvIHRoZSBDU1BEaXJlY3RpdmVMaXN0IG1ldGhvZHMuCisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmlzQWN0aXZlKToKKyAgICAgICAgICAgIE5ldyBt
ZXRob2QgdGhhdCByZXR1cm5zIGB0cnVlYCBpZiBwb2xpY3kgaXMgYWN0aXZlLgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpnYXRoZXJSZXBvcnRVUklzKToKKyAgICAg
ICAgICAgIE5ldyBtZXRob2QgdGhhdCByZXR1cm5zIGEgRE9NU3RyaW5nTGlzdCBvZiB2aW9sYXRp
b24gcmVwb3J0IFVSSXMuCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjpET01TZWN1cml0
eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3Vy
aXR5UG9saWN5Ojp+RE9NU2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vj
dXJpdHlQb2xpY3k6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9s
aWN5OjpyZXBvcnRVUklzKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5Ojph
bGxvd3NJbmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6
OmFsbG93c0lubGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5
OjphbGxvd3NFdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NDb25uZWN0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFs
bG93c0ZvbnRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NGcmFtZUZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c0ltYWdlRnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dz
TWVkaWFGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NP
YmplY3RGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NT
Y3JpcHRGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NT
dHlsZUZyb20pOgorICAgICAgICAqIHBhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERPTVNlY3VyaXR5UG9saWN5KToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvRE9N
U2VjdXJpdHlQb2xpY3kuaWRsOiBBZGRlZC4KKwogMjAxMi0wNy0xOCAgSGlyb25vcmkgQm9ubyAg
PGhib25vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNb3ZlIGNvbnRlbnRzIHJpZ2h0IHdoZW4g
YSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaXMgc2hvd24gYXQgdGhlIGxlZnQgc2lkZSBvZiBhbiBSVEwg
ZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzJmN2IyYzdmZWNiYzMzYzVmYmZkN2Nk
ZmFjNDYyODFkNWFkNTNlYS4uOWIxNzFhZjUxZWNhNGYzN2UzNTg0ZGI2ZGM2NmEyZmViZjIwYzE4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM4OSw2ICszODksNyBAQCBTRVQoV2ViQ29yZV9J
RExfRklMRVMKICAgICBwYWdlL0NvbnNvbGUuaWRsCiAgICAgcGFnZS9Db29yZGluYXRlcy5pZGwK
ICAgICBwYWdlL0NyeXB0by5pZGwKKyAgICBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbAogICAg
IHBhZ2UvRE9NU2VsZWN0aW9uLmlkbAogICAgIHBhZ2UvRE9NV2luZG93LmlkbAogICAgIHBhZ2Uv
RXZlbnRTb3VyY2UuaWRsCkBAIC0xMDY5LDYgKzEwNzAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCiAgICAgcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwCiAgICAgcGFnZS9DcnlwdG8uY3BwCisgICAgcGFnZS9ET01TZWN1cml0
eVBvbGljeS5jcHAKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5jcHAKICAgICBwYWdlL0RPTVRpbWVy
LmNwcAogICAgIHBhZ2UvRE9NV2luZG93LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmlu
ZGV4IDcyODdkOWNiYjI3NmUzMTczYTIwY2M0NWU3ZTY1Nzc4M2VlZmVjZWYuLjJlOTNhNDA2YjZi
YzgzNTFlODcyOGUzYjBiMGU3NDU1NzI5N2JkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKQEAgLTk0LDYgKzk0LDcgQEAKICNpbmNsdWRlICJKU0RPTVBhcnNlci5jcHAiCiAjaW5jbHVk
ZSAiSlNET01QbHVnaW4uY3BwIgogI2luY2x1ZGUgIkpTRE9NUGx1Z2luQXJyYXkuY3BwIgorI2lu
Y2x1ZGUgIkpTRE9NU2VjdXJpdHlQb2xpY3kuY3BwIgogI2luY2x1ZGUgIkpTRE9NU2VsZWN0aW9u
LmNwcCIKICNpbmNsdWRlICJKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJK
U0RPTVN0cmluZ0xpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzY3
MDczZTdkMjdiYzE3NThjN2U2NGI2NjU2ZWQ0ZWRmZTBkNTVlMi4uZTA1ZDhhMzMzZWIyNmMyM2I3
ODNlMzFkNDYzOWZlMWE2N2M1ODNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC00MDUsNiArNDA1LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9D
b25zb2xlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL0NyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9ET01TZWN1
cml0eVBvbGljeS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NV2luZG93LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L0V2ZW50U291cmNlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMmMyOWM4
ZjUyYTYyODA1ZmFjNTY0OTcwNjQ1MTgzYTcwMjY3MWFlNC4uNjQyOGUzYzMzZTk5NTI4ZWM1YWQ4
ZjQ4MGU4NDMxN2IzZDJjMGM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDEz
LDYgKzQxMyw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9Db25zb2xlLmlk
bCBcCiAgICAgJCRQV0QvcGFnZS9Db29yZGluYXRlcy5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ3J5
cHRvLmlkbCBcCisgICAgJCRQV0QvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwgXAogICAgICQk
UFdEL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9ET01XaW5kb3cuaWRs
IFwKICAgICAkJFBXRC9wYWdlL0V2ZW50U291cmNlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCAzZWI5NDM5OTFkN2VmMzdjMmMwOTRhYTM3MjgwMDA3NzMyZjk5MDQ4Li4z
MjRjYzYxNDdhMzk2NzZiODU0ZmU2ZDc4YzVhMGU1NTQ1NGUyY2U4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTE0Miw2ICsxNDIsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMg
Kz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVnaW5BcnJheS5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVBsdWdpbi5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJp
dHlQb2xpY3kuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xp
Y3kuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlbGVjdGlvbi5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWxlY3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCBcCkBAIC05NTcsNiArOTU5LDcgQEAg
ZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwKIAkk
KFdlYkNvcmUpL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQ3J5cHRv
LmlkbCBcCisJJChXZWJDb3JlKS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbCBcCiAJJChXZWJD
b3JlKS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9ET01XaW5kb3cu
aWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvRXZlbnRTb3VyY2UuaWRsIFwKQEAgLTMwMDgsNiArMzAx
MSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db29yZGlu
YXRlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ3J5cHRvLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xp
Y3kuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmggXAogCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01TZWxlY3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGQyNTJlYmY1YjY0OTQ2MDc0NjkwNTBkNGYwOWRhOThiNTVmM2Zl
NWMuLjA4NjkyNDIxZmFlNzI2NzE2ZDE1OWQzNzljNGU0MjQ4MjNiZjM3MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTIyMyw2ICsyMjMsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaCcsCiAgICAgICAgICAgICAncGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCcsCiAg
ICAgICAgICAgICAncGFnZS9Db29yZGluYXRlcy5oJywKKyAgICAgICAgICAgICdwYWdlL0RPTVNl
Y3VyaXR5UG9saWN5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NV2luZG93LmgnLAogICAgICAg
ICAgICAgJ3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmgnLAogICAgICAgICAgICAgJ3BhZ2UvRHJh
Z0FjdGlvbnMuaCcsCkBAIC0xMTU5LDYgKzExNjAsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29u
c29sZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ29vcmRpbmF0ZXMuaWRsJywKICAgICAgICAg
ICAgICdwYWdlL0NyeXB0by5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvRE9NU2VjdXJpdHlQb2xp
Y3kuaWRsJywKICAgICAgICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5pZGwnLAogICAgICAgICAg
ICAgJ3BhZ2UvRE9NV2luZG93LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9ET01XaW5kb3dQYWdl
UG9wdXAuaWRsJywKQEAgLTMwMzAsNiArMzAzMiw3IEBACiAgICAgICAgICAgICAncGFnZS9Db250
ZXh0TWVudVByb3ZpZGVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ3J5cHRvLmNwcCcsCiAgICAg
ICAgICAgICAncGFnZS9DcnlwdG8uaCcsCisgICAgICAgICAgICAncGFnZS9ET01TZWN1cml0eVBv
bGljeS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAncGFnZS9ET01TZWxlY3Rpb24uaCcsCiAgICAgICAgICAgICAncGFnZS9ET01UaW1lci5j
cHAnLApAQCAtNzI2Miw2ICs3MjY1LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luLmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVnaW5BcnJheS5jcHAnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Q
bHVnaW5BcnJheS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xpY3kuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xpY3kuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNl
bGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNET01TZWxlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCBhZmE3MzJmYTEwMjVhYTA0MTY4NDEwMDAzNTEyOTIxM2E4
NmQ0NWJmLi4zYmM1NjE4N2Q0MjIxOTg0YTA5MzUyNjY4MzNmNGUyYjk0NjM4YWFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJDb250ZXh0RmVh
dHVyZXMuaCIKICNpbmNsdWRlICJDb29raWVKYXIuaCIKICNpbmNsdWRlICJET01JbXBsZW1lbnRh
dGlvbi5oIgorI2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRE9NU2Vs
ZWN0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVu
dHMuaCIKQEAgLTE2NDEsNiArMTY0MiwxNSBAQCB2b2lkIERvY3VtZW50OjpkaXNwYXRjaFZpc2li
aWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhU
KQorRE9NU2VjdXJpdHlQb2xpY3kqIERvY3VtZW50OjpzZWN1cml0eVBvbGljeSgpCit7CisgICAg
aWYgKCFtX2RvbVNlY3VyaXR5UG9saWN5KQorICAgICAgICBtX2RvbVNlY3VyaXR5UG9saWN5ID0g
RE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSh0aGlzKTsKKyAgICByZXR1cm4gbV9kb21TZWN1cml0
eVBvbGljeS5nZXQoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgRG9jdW1lbnQ6Om5vZGVOYW1lKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gIiNkb2N1bWVudCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IGI2MzYxODQ5MjhkNTM2NjZkNTA3NTRiODMyZDkwMGQ1MGNjZGM1OWQuLjA5MzllMGIyZTI4YTk2
MzhiMWJiZmJkNDk4MjFjODJlOTA1Y2YwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xNzks
NiArMTc5LDEwIEBAIGNsYXNzIFByZXJlbmRlcmVyOwogY2xhc3MgVGV4dEF1dG9zaXplcjsKICNl
bmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorY2xhc3MgRE9NU2VjdXJpdHlQb2xpY3k7Cisj
ZW5kaWYKKwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogZW51bSBQYWdlc2hvd0V2ZW50
UGVyc2lzdGVuY2UgewpAQCAtNDE2LDYgKzQyMCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNw
YXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShD
U1BfTkVYVCkKKyAgICBET01TZWN1cml0eVBvbGljeSogc2VjdXJpdHlQb2xpY3koKTsKKyNlbmRp
ZgorCiAgICAgUGFzc1JlZlB0cjxOb2RlPiBhZG9wdE5vZGUoUGFzc1JlZlB0cjxOb2RlPiBzb3Vy
Y2UsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIFBhc3NSZWZQdHI8SFRNTENvbGxlY3Rpb24+IGlt
YWdlcygpOwpAQCAtMTUzMiw2ICsxNTQwLDEwIEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8V2Vi
S2l0TmFtZWRGbG93Q29sbGVjdGlvbj4gbV9uYW1lZEZsb3dzOwogCisjaWYgRU5BQkxFKENTUF9O
RVhUKQorICAgIFJlZlB0cjxET01TZWN1cml0eVBvbGljeT4gbV9kb21TZWN1cml0eVBvbGljeTsK
KyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wgbV9kaWREaXNwYXRjaFZpZXdwb3J0
UHJvcGVydGllc0NoYW5nZWQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDdj
MWM0ODM5YzI5Mjg3MDJlNzMyMDgxN2FmNzRkNjM0NmM3NDMwZTIuLjc2ZmIyYTg3NjM2NDkzYjYz
MmE4ZmExYjJjOTRkZTg5NDg5YjBkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzc1
LDYgKzM3NSw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1QQUdFX1ZJU0lCSUxJVFlfQVBJXSBET01TdHJpbmcgd2Via2l0VmlzaWJpbGl0
eVN0YXRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVBBR0VfVklT
SUJJTElUWV9BUEldIGJvb2xlYW4gd2Via2l0SGlkZGVuOwogCisgICAgICAgIC8vIFNlY3VyaXR5
IFBvbGljeSBBUEk6IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGlj
eS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmljYXRpb24uZGV2Lmh0bWwjc2NyaXB0LWludGVyZmFj
ZXMKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1DU1BfTkVYVF0gRE9N
U2VjdXJpdHlQb2xpY3kgc2VjdXJpdHlQb2xpY3k7CisKICAgICB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZGFjNjVjMzM2ODZk
NTg2YTQ5N2M5OWIzNTZjZWY4ZmQ2MDJiYzRhNy4uOTgxZGIzYjJmNWUxZGZmNzE4MzRmYzkyYjcw
N2M5ODljMjI0ZDFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBv
bGljeS5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgorI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3Qu
aCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVk
ZSAiRm9ybURhdGFMaXN0LmgiCkBAIC01NDYsMjEgKzU0NywyMyBAQCBwdWJsaWM6CiAgICAgY29u
c3QgU3RyaW5nJiBoZWFkZXIoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcjsgfQogICAgIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBoZWFkZXJUeXBlKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBvcnRPbmx5ID8gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRPbmx5IDogQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpFbmZvcmNlUG9saWN5OyB9CiAKLSAgICBib29sIGFsbG93SmF2YVNj
cmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1i
ZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVy
cyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5n
JiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25z
dDsKLSAgICBib29sIGFsbG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFs
bG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIGNvbnN0OworICAgIGJvb2wgYWxs
b3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9v
bCBhbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0
OworICAgIGJvb2wgYWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQpIGNv
bnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkws
IGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgc2VuZFJlcG9ydCkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBi
b29sIHNlbmRSZXBvcnQpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dTY3JpcHROb25jZShjb25zdCBT
dHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIGNvbnN0IEtVUkwmKSBjb25zdDsKIAotICAgIGJvb2wgYWxs
b3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93T2Jq
ZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0NoaWxkRnJh
bWVGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93SW1hZ2VGcm9t
U291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93U3R5bGVGcm9tU291cmNl
KGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3Qg
S1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYp
IGNvbnN0OwotICAgIGJvb2wgYWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0
OworICAgIGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBib29sIHNlbmRS
ZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwm
LCBib29sIHNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNv
dXJjZShjb25zdCBLVVJMJiwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdDsKKyAgICBib29sIGFsbG93
SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0OworICAg
IGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIGJvb2wgc2VuZFJlcG9ydCkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBib29sIHNl
bmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VS
TCYsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJj
ZShjb25zdCBLVVJMJiwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdDsKKworICAgIHZvaWQgZ2F0aGVy
UmVwb3J0VVJJcyhET01TdHJpbmdMaXN0JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgQ1NQRGlyZWN0aXZlTGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CkBAIC01ODAsMTEg
KzU4MywxNSBAQCBwcml2YXRlOgogICAgIHZvaWQgbG9nVW5yZWNvZ25pemVkRGlyZWN0aXZlKGNv
bnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CiAgICAgdm9pZCBsb2dEdXBsaWNhdGVEaXJlY3RpdmUo
Y29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdDsKICAgICB2b2lkIGxvZ0ludmFsaWROb25jZShjb25z
dCBTdHJpbmcmIG5vbmNlKSBjb25zdDsKKwogICAgIGJvb2wgY2hlY2tFdmFsKENTUERpcmVjdGl2
ZSopIGNvbnN0OworICAgIGJvb2wgY2hlY2tJbmxpbmUoQ1NQRGlyZWN0aXZlKikgY29uc3Q7Cisg
ICAgYm9vbCBjaGVja05vbmNlKGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIGJvb2wgY2hlY2tT
b3VyY2UoQ1NQRGlyZWN0aXZlKiwgY29uc3QgS1VSTCYpIGNvbnN0OwogCisgICAgYm9vbCBjaGVj
a0V2YWxBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiwgY29uc3QgU3RyaW5nJiBjb25z
b2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3RyaW5nKCksIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9y
ZUZpcnN0KCksIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDApIGNvbnN0OwogICAgIGJv
b2wgY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiwgY29uc3QgU3Ry
aW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6
Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKICAgICBib29sIGNoZWNrTm9uY2VB
bmRSZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb25z
b2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGNoZWNrRXZhbEFuZFJlcG9ydFZp
b2xhdGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBjaGVja1NvdXJjZUFu
ZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5n
JiB0eXBlKSBjb25zdDsKIAogICAgIGJvb2wgZGVueUlmRW5mb3JjaW5nUG9saWN5KCkgY29uc3Qg
eyByZXR1cm4gbV9yZXBvcnRPbmx5OyB9CkBAIC03MDcsNzQgKzcxNCwxMDcgQEAgYm9vbCBDU1BE
aXJlY3RpdmVMaXN0OjpjaGVja0V2YWwoQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUpIGNvbnN0CiAg
ICAgcmV0dXJuICFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd0V2YWwoKTsKIH0KIAorYm9v
bCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0lubGluZShDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSkg
Y29uc3QKK3sKKyAgICByZXR1cm4gIWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUtPmFsbG93SW5saW5l
KCk7Cit9CisKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tOb25jZShjb25zdCBTdHJpbmcm
IG5vbmNlKSBjb25zdAoreworICAgIHJldHVybiAobV9zY3JpcHROb25jZS5pc051bGwoKQorICAg
ICAgICAgICAgfHwgKCFtX3NjcmlwdE5vbmNlLmlzRW1wdHkoKQorICAgICAgICAgICAgICAgICYm
IG5vbmNlLnN0cmlwV2hpdGVTcGFjZSgpID09IG1fc2NyaXB0Tm9uY2UpKTsKK30KKworYm9vbCBD
U1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJjZShDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29u
c3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIHJldHVybiAhZGlyZWN0aXZlIHx8IGRpcmVjdGl2
ZS0+YWxsb3dzKHVybCk7Cit9CisKIENTUERpcmVjdGl2ZSogQ1NQRGlyZWN0aXZlTGlzdDo6b3Bl
cmF0aXZlRGlyZWN0aXZlKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlKSBjb25zdAogewogICAgIHJl
dHVybiBkaXJlY3RpdmUgPyBkaXJlY3RpdmUgOiBtX2RlZmF1bHRTcmMuZ2V0KCk7CiB9CiAKLWJv
b2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGly
ZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkg
Y29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9u
KENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spIGNvbnN0CiB7Ci0g
ICAgaWYgKCFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd0lubGluZSgpKQorICAgIGlmIChj
aGVja0V2YWwoZGlyZWN0aXZlKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmVwb3J0Vmlv
bGF0aW9uKGRpcmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSArICJcIiIgKyBkaXJlY3Rp
dmUtPnRleHQoKSArICJcIi5cbiIsIEtVUkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOwor
ICAgIHJlcG9ydFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgY29uc29sZU1lc3NhZ2UgKyAi
XCIiICsgZGlyZWN0aXZlLT50ZXh0KCkgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNv
bnRleHRMaW5lLCBjYWxsU3RhY2spOwogICAgIHJldHVybiBkZW55SWZFbmZvcmNpbmdQb2xpY3ko
KTsKIH0KIAogYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0
aW9uKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0
TGluZSkgY29uc3QKIHsKLSAgICBpZiAobV9zY3JpcHROb25jZS5pc051bGwoKSB8fCAoIW1fc2Ny
aXB0Tm9uY2UuaXNFbXB0eSgpICYmIG5vbmNlLnN0cmlwV2hpdGVTcGFjZSgpID09IG1fc2NyaXB0
Tm9uY2UpKQorICAgIGlmIChjaGVja05vbmNlKG5vbmNlKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgcmVwb3J0VmlvbGF0aW9uKG1fc2NyaXB0Tm9uY2UsIGNvbnNvbGVNZXNzYWdlICsgIlwi
c2NyaXB0LW5vbmNlICIgKyBtX3NjcmlwdE5vbmNlICsgIlwiLlxuIiwgS1VSTCgpLCBjb250ZXh0
VVJMLCBjb250ZXh0TGluZSk7CiAgICAgcmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwog
fQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZhbEFuZFJlcG9ydFZpb2xhdGlvbihD
U1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRM
aW5lLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKSBjb25zdAorYm9vbCBD
U1BEaXJlY3RpdmVMaXN0OjpjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3Rp
dmUqIGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25z
dAogewotICAgIGlmIChjaGVja0V2YWwoZGlyZWN0aXZlKSkKKyAgICBpZiAoY2hlY2tJbmxpbmUo
ZGlyZWN0aXZlKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmVwb3J0VmlvbGF0aW9uKGRp
cmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSArICJcIiIgKyBkaXJlY3RpdmUtPnRleHQo
KSArICJcIi5cbiIsIEtVUkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIGNhbGxTdGFjayk7
CisgICAgcmVwb3J0VmlvbGF0aW9uKGRpcmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSAr
ICJcIiIgKyBkaXJlY3RpdmUtPnRleHQoKSArICJcIi5cbiIsIEtVUkwoKSwgY29udGV4dFVSTCwg
Y29udGV4dExpbmUpOwogICAgIHJldHVybiBkZW55SWZFbmZvcmNpbmdQb2xpY3koKTsKIH0KIAog
Ym9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BE
aXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHR5cGUp
IGNvbnN0CiB7Ci0gICAgaWYgKCFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd3ModXJsKSkK
KyAgICBpZiAoY2hlY2tTb3VyY2UoZGlyZWN0aXZlLCB1cmwpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICBTdHJpbmcgdmVyYiA9IHR5cGUgPT0gImNvbm5lY3QiID8gImNvbm5lY3QgdG8iIDog
ImxvYWQgdGhlIjsKICAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksICJSZWZ1
c2VkIHRvICIgKyB2ZXJiICsgIiAiICsgdHlwZSArICIgJyIgKyB1cmwuc3RyaW5nKCkgKyAiJyBi
ZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZGlyZWN0aXZlOiBcIiIgKyBkaXJlY3RpdmUtPnRleHQoKSArICJcIi5cbiIsIHVybCk7CiAgICAg
cmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBX
VEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAog
ewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1
c2VkIHRvIGV4ZWN1dGUgSmF2YVNjcmlwdCBVUkwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9s
bG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikpOwotICAgIHJldHVy
biAoY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2Ny
aXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKQot
ICAgICAgICAgICAgJiYgY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihTdHJpbmcoKSwgY29u
c29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKSk7CisgICAgaWYgKHNlbmRSZXBv
cnQpIHsKKyAgICAgICAgcmV0dXJuIChjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVy
YXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUpCisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZUFuZFJlcG9y
dFZpb2xhdGlvbihTdHJpbmcoKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRM
aW5lKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIChjaGVja0lubGluZShvcGVyYXRp
dmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpKQorICAgICAgICAgICAgICAgICYmIGNoZWNr
Tm9uY2UoU3RyaW5nKCkpKTsKKyAgICB9CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBzZW5kUmVwb3J0KSBjb25z
dAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJS
ZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIGV2ZW50IGhhbmRsZXIgYmVjYXVzZSBpdCB2aW9sYXRl
cyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikpOwot
ICAgIHJldHVybiAoY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRl
eHRMaW5lKQotICAgICAgICAgICAgJiYgY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihTdHJp
bmcoKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKSk7CisgICAgaWYg
KHNlbmRSZXBvcnQpIHsKKyAgICAgICAgcmV0dXJuIChjaGVja0lubGluZUFuZFJlcG9ydFZpb2xh
dGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2Fn
ZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpCisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25j
ZUFuZFJlcG9ydFZpb2xhdGlvbihTdHJpbmcoKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIChjaGVja0lubGlu
ZShvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpKQorICAgICAgICAgICAgICAg
ICYmIGNoZWNrTm9uY2UoU3RyaW5nKCkpKTsKKyAgICB9CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZl
TGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBX
VEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3QKIHsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNl
ZCB0byBleGVjdXRlIGlubGluZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93
aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikpOwotICAgIHJldHVybiBj
aGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRT
cmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAg
IHJldHVybiBzZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRp
b24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2Us
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKSA6CisgICAgICAgIGNoZWNrSW5saW5lKG9wZXJhdGl2
ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSkpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6
Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0
OjphbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpP
cmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAogewogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRv
IGFwcGx5IGlubGluZSBzdHlsZSBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0dXJuIGNoZWNrSW5s
aW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgp
KSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4g
c2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJh
dGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRV
UkwsIGNvbnRleHRMaW5lKSA6CisgICAgICAgIGNoZWNrSW5saW5lKG9wZXJhdGl2ZURpcmVjdGl2
ZShtX3N0eWxlU3JjLmdldCgpKSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dF
dmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spIGNvbnN0Citib29sIENT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXZhbHVhdGUgc2NyaXB0IGJl
Y2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBk
aXJlY3RpdmU6ICIpKTsKLSAgICByZXR1cm4gY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKG9w
ZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBTdHJp
bmcoKSwgV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBjYWxsU3RhY2spOworICAg
IHJldHVybiBzZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9u
KG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBT
dHJpbmcoKSwgV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBjYWxsU3RhY2spIDoK
KyAgICAgICAgY2hlY2tFdmFsKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSkp
OwogfQogCiBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3Ry
aW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC03ODUsNTYgKzgy
NSw3OCBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3Ry
aW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZQogICAgIHJldHVybiBjaGVja05vbmNlQW5k
UmVwb3J0VmlvbGF0aW9uKG5vbmNlLCAiUmVmdXNlZCB0byBsb2FkICciICsgdXJsLnN0cmluZygp
ICsgIicgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZTogIiwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOwogfQogCi1ib29s
IENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwp
IGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmluZywgdHlwZSwgKCJzY3JpcHQiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNl
QW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSks
IHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1NvdXJj
ZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkp
LCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1f
c2NyaXB0U3JjLmdldCgpKSwgdXJsKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxv
d09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBib29sIHNlbmRS
ZXBvcnQpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgi
b2JqZWN0IikpOwogICAgIGlmICh1cmwuaXNCbGFua1VSTCgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGly
ZWN0aXZlKG1fb2JqZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gc2VuZFJl
cG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURp
cmVjdGl2ZShtX29iamVjdFNyYy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1Nv
dXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9vYmplY3RTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1i
b29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VS
TCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9t
U291cmNlKGNvbnN0IEtVUkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAogewogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoImZyYW1lIikpOwogICAgIGlmICh1cmwu
aXNCbGFua1VSTCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gY2hlY2tTb3Vy
Y2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fZnJhbWVTcmMuZ2V0KCkp
LCB1cmwsIHR5cGUpOworICAgIHJldHVybiBzZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3Vy
Y2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fZnJhbWVTcmMuZ2V0KCkp
LCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1f
ZnJhbWVTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93
SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZl
TGlzdDo6YWxsb3dJbWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBib29sIHNlbmRSZXBv
cnQpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiaW1h
Z2UiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2
ZURpcmVjdGl2ZShtX2ltZ1NyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHNlbmRS
ZXBvcnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVE
aXJlY3RpdmUobV9pbWdTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3Vy
Y2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1faW1nU3JjLmdldCgpKSwgdXJsKTsKIH0KIAotYm9vbCBD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNv
bnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9D
QUwoU3RyaW5nLCB0eXBlLCAoInN0eWxlIikpOwotICAgIHJldHVybiBjaGVja1NvdXJjZUFuZFJl
cG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zdHlsZVNyYy5nZXQoKSksIHVybCwg
dHlwZSk7CisgICAgcmV0dXJuIHNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJl
cG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zdHlsZVNyYy5nZXQoKSksIHVybCwg
dHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9zdHlsZVNy
Yy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJv
bVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93Rm9udEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0
CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiZm9udCIpKTsKLSAg
ICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZl
KG1fZm9udFNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHNlbmRSZXBvcnQgPwor
ICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUo
bV9mb250U3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJh
dGl2ZURpcmVjdGl2ZShtX2ZvbnRTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVj
dGl2ZUxpc3Q6OmFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jv
b2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJs
LCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIHR5cGUsICgibWVkaWEiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0Vmlv
bGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX21lZGlhU3JjLmdldCgpKSwgdXJsLCB0eXBlKTsK
KyAgICByZXR1cm4gc2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0Vmlv
bGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX21lZGlhU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6
CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX21lZGlhU3JjLmdldCgp
KSwgdXJsKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJj
ZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q29u
bmVjdFRvU291cmNlKGNvbnN0IEtVUkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAogewog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoImNvbm5lY3QiKSk7Ci0gICAg
cmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZSht
X2Nvbm5lY3RTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiBzZW5kUmVwb3J0ID8K
KyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZl
KG1fY29ubmVjdFNyYy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShv
cGVyYXRpdmVEaXJlY3RpdmUobV9jb25uZWN0U3JjLmdldCgpKSwgdXJsKTsKK30KKwordm9pZCBD
U1BEaXJlY3RpdmVMaXN0OjpnYXRoZXJSZXBvcnRVUklzKERPTVN0cmluZ0xpc3QmIGxpc3QpIGNv
bnN0Cit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3JlcG9ydFVSSXMuc2l6ZSgpOyAr
K2kpCisgICAgICAgIGxpc3QuYXBwZW5kKG1fcmVwb3J0VVJJc1tpXS5zdHJpbmcoKSk7CiB9CiAK
IC8vIHBvbGljeSAgICAgICAgICAgID0gZGlyZWN0aXZlLWxpc3QKQEAgLTEwODIsMjEgKzExNDQs
MjEgQEAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6ZGVwcmVjYXRlZEhlYWRlclR5cGUoKQogICAgIHJldHVybiBtX3BvbGljaWVzLmlzRW1w
dHkoKSA/IEVuZm9yY2VQb2xpY3kgOiBtX3BvbGljaWVzWzBdLT5oZWFkZXJUeXBlKCk7CiB9CiAK
LXRlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd2VkKShQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4pIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDYWxsU3RhY2so
Y29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit0ZW1wbGF0ZTxib29sIChDU1BEaXJlY3RpdmVMaXN0Ojoq
YWxsb3dlZCkoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBib29sKSBjb25zdD4KK2Jvb2wg
aXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrKGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3Im
IHBvbGljaWVzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBib29sIHNl
bmRSZXBvcnQpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb2xpY2llcy5zaXplKCk7
ICsraSkgewotICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93ZWQpKGNhbGxT
dGFjaykpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dlZCkoY2FsbFN0
YWNrLCBzZW5kUmVwb3J0KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLXRlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxv
d2VkKShjb25zdCBTdHJpbmcmLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImKSBjb25zdD4KLWJv
b2wgaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dChjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9y
JiBwb2xpY2llcywgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lKQordGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFs
bG93ZWQpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYsIGJvb2wpIGNv
bnN0PgorYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNvbnN0IENTUERpcmVjdGl2ZUxp
c3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6
T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgc2VuZFJlcG9ydCkKIHsKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHBvbGljaWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmICgh
KHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dlZCkoY29udGV4dFVSTCwgY29udGV4dExpbmUpKQor
ICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93ZWQpKGNvbnRleHRVUkwsIGNv
bnRleHRMaW5lLCBzZW5kUmVwb3J0KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTEyLDQ0ICsxMTc0LDQ0IEBAIGJvb2wgaXNBbGxvd2Vk
QnlBbGxXaXRoTm9uY2UoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNv
bnN0IFN0cmluCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXRlbXBsYXRlPGJvb2wgKENTUERpcmVj
dGl2ZUxpc3Q6OiphbGxvd0Zyb21VUkwpKGNvbnN0IEtVUkwmKSBjb25zdD4KLWJvb2wgaXNBbGxv
d2VkQnlBbGxXaXRoVVJMKGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBj
b25zdCBLVVJMJiB1cmwpCit0ZW1wbGF0ZTxib29sIChDU1BEaXJlY3RpdmVMaXN0OjoqYWxsb3dG
cm9tVVJMKShjb25zdCBLVVJMJiwgYm9vbCkgY29uc3Q+Citib29sIGlzQWxsb3dlZEJ5QWxsV2l0
aFVSTChjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgY29uc3QgS1VSTCYg
dXJsLCBib29sIHNlbmRSZXBvcnQpCiB7CiAgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVT
aG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9saWNpZXMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxvd0Zyb21V
UkwpKHVybCkpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dGcm9tVVJM
KSh1cmwsIHNlbmRSZXBvcnQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SmF2
YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93
SmF2YVNjcmlwdFVSTHM+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAg
ICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dKYXZhU2NyaXB0VVJMcz4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUsIHNl
bmRSZXBvcnQpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVF
dmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFs
TnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBX
VEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2ZUxpc3Q6
OmFsbG93SW5saW5lRXZlbnRIYW5kbGVycz4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4
dExpbmUpOworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnM+KG1fcG9saWNpZXMsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLCBzZW5kUmVwb3J0KTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5
UG9saWN5OjphbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3QK
IHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
KTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
LCBzZW5kUmVwb3J0KTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5s
aW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1i
ZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7CiAgICAgaWYgKG1f
b3ZlcnJpZGVJbmxpbmVTdHlsZUFsbG93ZWQpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJl
dHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lu
bGluZVN0eWxlPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmV0
dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5s
aW5lU3R5bGU+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCBzZW5kUmVwb3J0
KTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93RXZhbChQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBi
b29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENh
bGxTdGFjazwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dFdmFsPihtX3BvbGljaWVzLCBjYWxsU3Rh
Y2spOworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDYWxsU3RhY2s8JkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93RXZhbD4obV9wb2xpY2llcywgY2FsbFN0YWNrLCBzZW5kUmVwb3J0KTsKIH0K
IAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3Ry
aW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC0xMTU3LDQ0ICsx
MjE5LDU1IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdE5vbmNlKGNv
bnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoTm9uY2U8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2U+KG1fcG9saWNp
ZXMsIG5vbmNlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgdXJsKTsKIH0KIAotYm9vbCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwp
IGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9tU291cmNl
KGNvbnN0IEtVUkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAoreworICAgIHJldHVybiBp
c0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNv
dXJjZT4obV9wb2xpY2llcywgdXJsLCBzZW5kUmVwb3J0KTsKK30KKworYm9vbCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIGJvb2wg
c2VuZFJlcG9ydCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwg
c2VuZFJlcG9ydCk7Cit9CisKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0NoaWxk
RnJhbWVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAog
ewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93U2NyaXB0RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxv
d2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9tU291
cmNlPihtX3BvbGljaWVzLCB1cmwsIHNlbmRSZXBvcnQpOwogfQogCi1ib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QK
K2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBL
VVJMJiB1cmwsIGJvb2wgc2VuZFJlcG9ydCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2Vk
QnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3VyY2U+KG1f
cG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgc2VuZFJl
cG9ydCk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0NoaWxkRnJhbWVG
cm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjphbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIGJvb2wgc2VuZFJlcG9y
dCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAg
IHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5
bGVGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwsIHNlbmRSZXBvcnQpOwogfQogCi1ib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJs
KSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2Uo
Y29uc3QgS1VSTCYgdXJsLCBib29sIHNlbmRSZXBvcnQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlz
QWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3Vy
Y2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwm
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCBz
ZW5kUmVwb3J0KTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U3R5bGVG
cm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIGJvb2wgc2VuZFJlcG9y
dCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1
cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJv
bVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCBzZW5kUmVwb3J0KTsKIH0KIAotYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25z
dAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0
IEtVUkwmIHVybCwgYm9vbCBzZW5kUmVwb3J0KSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93
ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Rm9udEZyb21Tb3VyY2U+KG1f
cG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgc2VuZFJl
cG9ydCk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJvbVNv
dXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
aXNBY3RpdmUoKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93TWVkaWFGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOwor
ICAgIHJldHVybiAhbV9wb2xpY2llcy5pc0VtcHR5KCk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6Z2F0aGVyUmVwb3J0VVJJcyhET01TdHJpbmdMaXN0
JiBsaXN0KSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93Q29ubmVjdFRvU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wb2xpY2llcy5zaXplKCk7ICsraSkKKyAgICAgICAg
bV9wb2xpY2llc1tpXS5nZXQoKS0+Z2F0aGVyUmVwb3J0VVJJcyhsaXN0KTsKIH0KIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggY2I2YmVhZDUx
NDk1OGFkMzAxYzQ5M2Y2MDBmNGU2YTQ2MGQ3ODE1OC4uOGJkNTgyMDgwZDM5YTRmMGQ2ZDM2ZWVi
YzRmYTcyY2MwNDQwYWVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5oCkBAIC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Q1NQRGlyZWN0aXZlTGlzdDsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKK2NsYXNzIERPTVN0cmlu
Z0xpc3Q7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB0eXBlZGVmIFZlY3RvcjxP
d25QdHI8Q1NQRGlyZWN0aXZlTGlzdD4gPiBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yOwpAQCAtNjEs
MjkgKzYyLDMyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBT
dHJpbmcmLCBIZWFkZXJUeXBlKTsKIAotICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgd3Jvbmcg
YmVjdWFzZSB0aGV5IGFzc3VtZSB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIGhlYWRlci4KKyAgICAv
LyBUaGVzZSBmdW5jdGlvbnMgYXJlIHdyb25nIGJlY2F1c2UgdGhleSBhc3N1bWUgdGhhdCB0aGVy
ZSBpcyBvbmx5IG9uZSBoZWFkZXIuCiAgICAgLy8gRklYTUU6IFJlcGxhY2UgdGhlbSB3aXRoIGZ1
bmN0aW9ucyB0aGF0IHJldHVybiB2ZWN0b3JzLgogICAgIGNvbnN0IFN0cmluZyYgZGVwcmVjYXRl
ZEhlYWRlcigpIGNvbnN0OwogICAgIEhlYWRlclR5cGUgZGVwcmVjYXRlZEhlYWRlclR5cGUoKSBj
b25zdDsKIAotICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAg
IGJvb2wgYWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwg
Y29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBh
bGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTdHls
ZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPikgY29uc3Q7CisgICAgYm9vbCBhbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmlu
ZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9v
bCBzZW5kUmVwb3J0ID0gdHJ1ZSkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZUV2ZW50SGFu
ZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXIm
IGNvbnRleHRMaW5lLCBib29sIHNlbmRSZXBvcnQgPSB0cnVlKSBjb25zdDsKKyAgICBib29sIGFs
bG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRp
bmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBzZW5kUmVwb3J0ID0gdHJ1ZSkgY29uc3Q7Cisg
ICAgYm9vbCBhbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBzZW5kUmVwb3J0ID0gdHJ1ZSkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBi
b29sIHNlbmRSZXBvcnQgPSB0cnVlKSBjb25zdDsKICAgICBib29sIGFsbG93U2NyaXB0Tm9uY2Uo
Y29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6
Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJiA9IEtVUkwoKSkgY29uc3Q7
CiAKLSAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0g
ICAgYm9vbCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJv
b2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9v
bCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxv
d1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0ZvbnRG
cm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93TWVkaWFGcm9tU291
cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q29ubmVjdFRvU291cmNlKGNv
bnN0IEtVUkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBL
VVJMJiwgYm9vbCBzZW5kUmVwb3J0ID0gdHJ1ZSkgY29uc3Q7CisgICAgYm9vbCBhbGxvd09iamVj
dEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIGJvb2wgc2VuZFJlcG9ydCA9IHRydWUpIGNvbnN0Owor
ICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgYm9vbCBzZW5k
UmVwb3J0ID0gdHJ1ZSkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25z
dCBLVVJMJiwgYm9vbCBzZW5kUmVwb3J0ID0gdHJ1ZSkgY29uc3Q7CisgICAgYm9vbCBhbGxvd1N0
eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgYm9vbCBzZW5kUmVwb3J0ID0gdHJ1ZSkgY29uc3Q7
CisgICAgYm9vbCBhbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBib29sIHNlbmRSZXBv
cnQgPSB0cnVlKSBjb25zdDsKKyAgICBib29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtV
UkwmLCBib29sIHNlbmRSZXBvcnQgPSB0cnVlKSBjb25zdDsKKyAgICBib29sIGFsbG93Q29ubmVj
dFRvU291cmNlKGNvbnN0IEtVUkwmLCBib29sIHNlbmRSZXBvcnQgPSB0cnVlKSBjb25zdDsKIAog
ICAgIHZvaWQgc2V0T3ZlcnJpZGVBbGxvd0lubGluZVN0eWxlKGJvb2wpOwogCisgICAgYm9vbCBp
c0FjdGl2ZSgpIGNvbnN0OworICAgIHZvaWQgZ2F0aGVyUmVwb3J0VVJJcyhET01TdHJpbmdMaXN0
JikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ29udGVudFNlY3VyaXR5UG9saWN5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmQwNDE1NzQyNDRmYjIxOTgwMWNjYzQ0ZjdjMzZj
Mjg2NTg2NjExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1
cml0eVBvbGljeS5jcHAKQEAgLTAsMCArMSwxNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9saWN5LmgiCisKKyNpbmNsdWRlICJDb250ZW50U2VjdXJp
dHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2lu
Y2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24u
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK25hbWVzcGFjZSB7CisKK2Jvb2wgaXNQb2xpY3lBY3RpdmVJbkNvbnRleHQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3sKKyAgICAvLyBJZiB0aGUgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCBoYXMgYmVlbiBkZXN0cm95ZWQsIHRoZXJlJ3Mgbm8gYWN0aXZlIHBvbGljeS4K
KyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBj
b250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+aXNBY3RpdmUoKTsKK30KKwordGVtcGxh
dGU8Ym9vbCAoQ29udGVudFNlY3VyaXR5UG9saWN5OjoqYWxsb3dXaXRoVVJMKShjb25zdCBLVVJM
JiwgYm9vbCkgY29uc3Q+Citib29sIGlzQWxsb3dlZFdpdGhVUkwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgU3RyaW5nIHVybCkKK3sKKyAgICBpZiAoIWlzUG9saWN5QWN0aXZlSW5D
b250ZXh0KGNvbnRleHQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIEtVUkwgcGFyc2Vk
VVJMID0gY29udGV4dC0+Y29tcGxldGVVUkwodXJsKTsKKyAgICBpZiAoIXBhcnNlZFVSTC5pc1Zh
bGlkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRv
IHRocm93IGEgSmF2YVNjcmlwdCBlcnJvci4KKworICAgIHJldHVybiAoY29udGV4dC0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPiphbGxvd1dpdGhVUkwpKHBhcnNlZFVSTCwgZmFsc2UpOworfQor
Cit0ZW1wbGF0ZTxib29sIChDb250ZW50U2VjdXJpdHlQb2xpY3k6OiphbGxvd1dpdGhDb250ZXh0
KShjb25zdCBTdHJpbmcmLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImLCBib29sKSBjb25zdD4K
K2Jvb2wgaXNBbGxvd2VkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAg
aWYgKCFpc1BvbGljeUFjdGl2ZUluQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICByZXR1cm4gKGNvbnRleHQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT4qYWxs
b3dXaXRoQ29udGV4dCkoS1VSTCgpLCBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCks
IGZhbHNlKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworRE9NU2VjdXJpdHlQb2xpY3k6OkRPTVNl
Y3VyaXR5UG9saWN5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBDb250
ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0KQoreworfQorCitET01TZWN1cml0eVBvbGlj
eTo6fkRPTVNlY3VyaXR5UG9saWN5KCkKK3sKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6
aXNBY3RpdmUoKSBjb25zdAoreworICAgIHJldHVybiBpc1BvbGljeUFjdGl2ZUluQ29udGV4dChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+
IERPTVNlY3VyaXR5UG9saWN5OjpyZXBvcnRVUklzKCkgY29uc3QKK3sKKyAgICBSZWZQdHI8RE9N
U3RyaW5nTGlzdD4gcmVzdWx0ID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7CisKKyAgICBpZiAo
aXNBY3RpdmUoKSkKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2Vj
dXJpdHlQb2xpY3koKS0+Z2F0aGVyUmVwb3J0VVJJcygqcmVzdWx0LmdldCgpKTsKKworICAgIHJl
dHVybiByZXN1bHQucmVsZWFzZSgpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NJbmxpbmVTY3JpcHQoKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWQ8JkNvbnRlbnRT
ZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTY3JpcHQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0lubGluZVN0eWxlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
SW5saW5lU3R5bGU+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK2Jvb2wgRE9NU2Vj
dXJpdHlQb2xpY3k6OmFsbG93c0V2YWwoKSBjb25zdAoreworICAgIGlmICghaXNBY3RpdmUoKSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dFdmFsKDAsIGZhbHNlKTsKK30KKwor
Citib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NDb25uZWN0aW9uVG8oU3RyaW5nIHVybCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9s
aWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwp
OworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NGb250RnJvbShTdHJpbmcgdXJs
KSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRXaXRoVVJMPCZDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJs
KTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzRnJhbWVGcm9tKFN0cmluZyB1
cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0
eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NJbWFnZUZyb20o
U3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVu
dFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NNZWRpYUZy
b20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29u
dGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NPYmpl
Y3RGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8
JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlPihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIHVybCk7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0
aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZyb21Tb3VyY2U+KHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6
YWxsb3dzU3R5bGVGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dl
ZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21Tb3VyY2U+KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNDZh
NjE2NGY0M2RjNjUxYmU4OTUxMjMzYmE5OTIzNzJjNDYwZjcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmgKQEAgLTAsMCArMSw3MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIERPTVNlY3VyaXR5UG9saWN5X2gKKyNkZWZpbmUgRE9NU2VjdXJpdHlQb2xpY3lf
aAorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeTsKK2NsYXNzIERPTVN0
cmluZ0xpc3Q7CitjbGFzcyBGcmFtZTsKKworY2xhc3MgRE9NU2VjdXJpdHlQb2xpY3kgOiBwdWJs
aWMgUmVmQ291bnRlZDxET01TZWN1cml0eVBvbGljeT4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rp
b25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2VjdXJpdHlQ
b2xpY3k+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01TZWN1cml0eVBvbGljeShjb250ZXh0KSk7Cisg
ICAgfQorICAgIH5ET01TZWN1cml0eVBvbGljeSgpOworCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNv
bnN0OworICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gcmVwb3J0VVJJcygpIGNvbnN0Owor
CisgICAgYm9vbCBhbGxvd3NJbmxpbmVTY3JpcHQoKSBjb25zdDsKKyAgICBib29sIGFsbG93c0lu
bGluZVN0eWxlKCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NFdmFsKCkgY29uc3Q7CisKKyAgICBi
b29sIGFsbG93c0Nvbm5lY3Rpb25UbyhTdHJpbmcgdXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93
c0ZvbnRGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzRnJhbWVGcm9tKFN0
cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzSW1hZ2VGcm9tKFN0cmluZyB1cmwpIGNv
bnN0OworICAgIGJvb2wgYWxsb3dzTWVkaWFGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJv
b2wgYWxsb3dzT2JqZWN0RnJvbShTdHJpbmcgdXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93c1Nj
cmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NTdHlsZUZyb20oU3Ry
aW5nIHVybCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRE9NU2VjdXJpdHlQb2xp
Y3koU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI0MWJkZWYwZWM0
NDM2ZmJlY2NhYmQ2MWFkODM1MWViODgxY2FiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPUNTUF9ORVhULAorICAgICAgICBPbWl0Q29uc3RydWN0b3IsCisgICAgICAgIEludGVy
ZmFjZU5hbWU9c2VjdXJpdHlQb2xpY3kKKyAgICBdIERPTVNlY3VyaXR5UG9saWN5IHsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgcmVwb3J0VVJJczsKKworICAgICAg
ICBib29sZWFuIGlzQWN0aXZlKCk7CisKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NDb25uZWN0aW9u
VG8oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzRm9udEZyb20oaW4g
RE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzRnJhbWVGcm9tKGluIERPTVN0
cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c0ltYWdlRnJvbShpbiBET01TdHJpbmcg
dXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NNZWRpYUZyb20oaW4gRE9NU3RyaW5nIHVybCk7
CisgICAgICAgIGJvb2xlYW4gYWxsb3dzT2JqZWN0RnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAg
ICAgICAgYm9vbGVhbiBhbGxvd3NTY3JpcHRGcm9tKGluIERPTVN0cmluZyB1cmwpOworICAgICAg
ICBib29sZWFuIGFsbG93c1N0eWxlRnJvbShpbiBET01TdHJpbmcgdXJsKTsKKworICAgICAgICBi
b29sZWFuIGFsbG93c0V2YWwoKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NJbmxpbmVTY3JpcHQo
KTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NJbmxpbmVTdHlsZSgpOworICAgIH07CisKK30KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDFlMGYwNTJhZjQ0Mzg4MTkyZGY2NmU2YWFiMDE0MGZiM2Q2ZjRmYWIuLjRhZDRjMTU5
M2ViNzkyM2RjN2EyOTE0OWViNTU1NDc4Y2U4NjQ4MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxMi0wNy0xOCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIElt
cGxlbWVudCB0aGUgZXhwZXJpbWVudGFsIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHNjcmlwdCBp
bnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MTcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2
YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFs
bG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJh
bWVmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVj
dGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4x
L3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2Fj
dGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LXJlcG9ydHVyaS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVz
dHMtYmFzZS5qczogQWRkZWQuCisgICAgICAgIChsb2cpOgorICAgICAgICAoaW5qZWN0UG9saWN5
KToKKwogMjAxMi0wNy0xOCAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBNb3ZlIGNvbnRlbnRzIHJpZ2h0IHdoZW4gYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaXMg
c2hvd24gYXQgdGhlIGxlZnQgc2lkZSBvZiBhbiBSVEwgZWxlbWVudC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkYThkNWRl
OGFiZDg3MDk5MmUxOGY3ZTMyNzcwMTc2OTA2ZjQ3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorUEFTUyBjb25uZWN0aW9uIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFT
UyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3djb25uZWN0aW9udG8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWMzYzA2YmU4ODFmNzZm
MDE2NjQ4ZTk0YjcxOTM0NTliMDZlMWIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5zZWN1cml0eVBvbGlj
eS5hbGxvd3NDb25uZWN0aW9uVG8oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBs
b2coJ1BBU1MgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlvbiBpcyBub3QgYWxsb3dl
ZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKworICAgICAgaW5qZWN0UG9saWN5KCJjb25u
ZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50
LnNlY3VyaXR5UG9saWN5LmFsbG93c0Nvbm5lY3Rpb25UbygnaHR0cDovL2V4YW1wbGUuY29tLycp
KQorICAgICAgICAgIGxvZygnUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9s
aWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlv
biBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40Zjk4YTVmYjEyZDFkZTQ0MDQwYjAyMWNiZjE0NTU4MDZmZGY0NzA0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACitQQVNTIGV2YWwgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNT
IGV2YWwgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmUyMDY0OWI4MGRhM2ExNzg5YWFmZTQ4ZjJhNWVkYWJjMjA4NGQx
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwuaHRtbApAQCAt
MCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1
cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAg
aWYgKGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFsbG93c0V2YWwoKSkKKyAgICAgICAgICBsb2co
J1BBU1MgZXZhbCBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVs
c2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGlj
eSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyAndW5zYWZlLWlu
bGluZSc7Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWxsb3dzRXZh
bCgpKQorICAgICAgICAgIGxvZygnUEFTUyBldmFsIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5
IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBhbGxv
d2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ1YjVkMTUwZjk3NzkwY2MyOWVhOTM5YTZmZmU1MjBhMmM1YzFkZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQ
QVNTIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFs
bG93Zm9udGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGUyMGEwM2I4YTc0ODZlYzk5MmEyZWNlNzIx
MjM1NTYyNmQ1YTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9u
dGZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFsbG93c0ZvbnRGcm9t
KCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGZvbnQgaXMgYWxs
b3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9n
KCdGQUlMIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisg
ICAgICBpbmplY3RQb2xpY3koImZvbnQtc3JjIGh0dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisK
KyAgICAgIGlmICghZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWxsb3dzRm9udEZyb20oJ2h0dHA6
Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1MgZm9udCBpcyBub3QgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdQQVNT
IGZvbnQgaXMgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+Cisg
IDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJh
bWVmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA2ZDQzMjEyNGNjNDNhNDJkNzkwYjU1YmU5M2E1N2IwN2Rj
MzE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBu
byBwb2xpY3kgZXhpc3RzLgorUEFTUyBmcmFtZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBl
eGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM5M2Rl
YmJhMmIwNGY5OTEzZDAyZTU4ZDA0MDg1NGY2NmMzODBlOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9k
eT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJh
c2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuc2VjdXJp
dHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAg
ICAgbG9nKCdQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOwor
ICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBmcmFtZSBpcyBub3QgYWxsb3dlZCB3aGVu
IG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgiZnJhbWUtc3JjIGh0
dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuc2VjdXJpdHlQ
b2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAg
bG9nKCdQQVNTIGZyYW1lIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAg
ICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZnJhbWUgaXMgYWxsb3dlZCB3aGVuIHBvbGlj
eSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1hZ2Vmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI1OGEw
NTlkMGM3ZWI2M2U2YTEzNzQ3MzVlNGU5MjJhNWJkMDBkZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CitQQVNTIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBpbWFn
ZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1h
Z2Vmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY0MWQ4MDQ3YTViNWFlNDcyOTA0ZTc5ODhmZDAxMTJj
ZWU1YmEwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJv
bS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgICBpZiAoZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWxsb3dzSW1hZ2VGcm9tKCdo
dHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGltYWdlIGlzIGFsbG93
ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygn
RkFJTCBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAg
ICAgIGluamVjdFBvbGljeSgiaW1nLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisg
ICAgICBpZiAoIWRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFsbG93c0ltYWdlRnJvbSgnaHR0cDov
L2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBpbWFnZSBpcyBub3QgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlM
IGltYWdlIGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0Pgor
ICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21l
ZGlhZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NTcyZWY5Nzk0ODI1NjU5MTQ2ODgyN2E0NTZlYjA0ZDJh
NjFhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4g
bm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgbWVkaWEgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kg
ZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21lZGlhZnJvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyZGVl
ZGU1N2ZiNjE5MGM4NTg1ZWU0ZWJhY2IzNTZlNGI0NzNhY2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJv
ZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1i
YXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LnNlY3Vy
aXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAg
ICAgIGxvZygnUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgbWVkaWEgaXMgbm90IGFsbG93ZWQgd2hl
biBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koIm1lZGlhLXNyYyBo
dHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LnNlY3VyaXR5
UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAg
IGxvZygnUEFTUyBtZWRpYSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7Cisg
ICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG1lZGlhIGlzIGFsbG93ZWQgd2hlbiBwb2xp
Y3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE5
YzJhZTJiZWFjNjY4NGUwZGE1OGQyMmI1ZDBkMDAwNTc1MDc1ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNT
IG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd29iamVjdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTBhNTBjZjk4OWRjNDMxMzczOGUxOTIx
YzI5NmFjZWU2OWU1NGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
b2JqZWN0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWxsb3dzT2Jq
ZWN0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBvYmpl
Y3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlz
dHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgib2JqZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBs
ZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFsbG93c09i
amVjdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgb2Jq
ZWN0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAg
ICAgICAgICBsb2coJ0ZBSUwgb2JqZWN0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicp
OworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5
LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMxZGY1ZWVhZDMxN2M0
MzkzZGMyNDc5ZmNmM2UzMDUwYzY1ZjdmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBz
Y3JpcHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNTIHNjcmlwdCBpcyBu
b3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZy
b20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MzA5NjAzOGY0YmM0ZGZmNDljMmQyYTVjYzc1NDFhMTdlMmM3
ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS5o
dG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
CisgICAgICBpZiAoZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWxsb3dzU2NyaXB0RnJvbSgnaHR0
cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzY3JpcHQgaXMgYWxsb3dl
ZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdG
QUlMIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAg
ICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOwor
CisgICAgICBpZiAoIWRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFsbG93c1NjcmlwdEZyb20oJ2h0
dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgc2NyaXB0IGlzIG5vdCBh
bGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2co
J0ZBSUwgc2NyaXB0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2Ny
aXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd3N0eWxlZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZy
b20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZTUwODU5MzljZTJhNDkxOTA4ZDRmOWE5NTRi
MjdhNWQyZWEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHls
ZWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBzdHlsZSBpcyBhbGxvd2Vk
IHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1Mgc3R5bGUgaXMgbm90IGFsbG93ZWQgd2hlbiBw
b2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZy
b20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkN2IyNjg2ODJlMDIwNjYzMDUyZTEzNGRlMTQxMTE0NWIzMDE2OGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbApAQCAtMCwwICsxLDE5IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10
ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50
LnNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQor
ICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0
cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgc3R5bGUgaXMgbm90IGFsbG93
ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koInN0eWxl
LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LnNl
Y3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAg
ICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMu
Jyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHN0eWxlIGlzIGFsbG93ZWQgd2hl
biBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTliY2VmOGU4MGI0
Y2NiMTE2ZTk5MjRjNzE0ODI2YTNlN2MzMWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1MgZG9jdW1l
bnQuc2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIGZhbHNlIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4K
K1BBU1MgZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRydWUgd2hlbiBwb2xpY3kg
ZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4OTYzY2RmMWUwMTczOTY5
M2M3ODU3NTQwNDQyNzVlYTA4YzhlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktaXNhY3RpdmUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgICAgaWYgKCFkb2N1bWVudC5zZWN1cml0eVBvbGljeS5pc0FjdGl2
ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5zZWN1cml0eVBvbGljeS5hY3RpdmUg
aXMgZmFsc2Ugd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAg
IGxvZygnRkFJTCBkb2N1bWVudC5zZWN1cml0eVBvbGljeS5hY3RpdmUgaXMgdHJ1dyB3aGVuIG5v
IHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyAndW5z
YWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmIChkb2N1bWVudC5zZWN1cml0eVBvbGljeS5pc0Fj
dGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5zZWN1cml0eVBvbGljeS5hY3Rp
dmUgaXMgdHJ1ZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAg
bG9nKCdGQUlMIGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LmFjdGl2ZSBpcyBmYWxzZSB3aGVuIHBv
bGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LXJlcG9ydHVyaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY3Nzk0MWM0NjRiYzJh
ZmRjNGRhOTEwNDMyNzE2MzZlYjYyMTYxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUEFTUyBkb2N1bWVu
dC5zZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuCitQQVNTIGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0
aCAxIHdoZW4gcG9saWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kucmVw
b3J0VVJJc1swXSBpcyBjb3JyZWN0LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVw
b3J0dXJpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmE5ZGIwYWE4MGI4MzdmODUzMGFkNjFiODY3MWMwZDg5OTUyODAyMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJv
ZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1i
YXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LnNlY3Vy
aXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09PSAwKQorICAgICAgICAgIGxvZygnUEFTUyBk
b2N1bWVudC5zZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3aGVuIG5vIHBv
bGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50
LnNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0aCAnICsgZG9jdW1lbnQuc2VjdXJp
dHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KworICAgICAgaW5qZWN0UG9saWN5KCdyZXBvcnQtdXJpIGh0dHA6Ly9leGFtcGxlLmNvbS8nKTsK
KworICAgICAgaWYgKGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09
PSAxKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5zZWN1cml0eVBvbGljeS5yZXBvcnRV
UklzIGhhcyBsZW5ndGggMSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LnNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxl
bmd0aCAnICsgZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdo
ZW4gcG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaWYgKGRvY3VtZW50LnNlY3VyaXR5UG9saWN5
LnJlcG9ydFVSSXNbMF0gPT09ICJodHRwOi8vZXhhbXBsZS5jb20vIikKKyAgICAgICAgICBsb2co
J1BBU1MgZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJc1swXSBpcyBjb3JyZWN0Licp
OworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5zZWN1cml0eVBvbGlj
eS5yZXBvcnRVUklzWzBdIGlzICcgKyBkb2N1bWVudC5zZWN1cml0eVBvbGljeS5yZXBvcnRVUklz
WzBdICsgJyAoc2hvdWxkIGJlIGBodHRwOi8vZXhhbXBsZS5jb20vYCkuJyk7CisgICAgPC9zY3Jp
cHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGlj
eS10ZXN0cy1iYXNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzMzNzM5OTYwNjNmZjE5MmE1YjdkZDRmM2RkZDBjYmY0Njc0N2MxNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzCkBAIC0wLDAg
KzEsMTkgQEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2cobXNnKSB7CisgICAgdmFy
IHR4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyk7CisgICAgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKHR4dCk7CisgICAgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignYm9keScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOwor
fQorCitmdW5jdGlvbiBpbmplY3RQb2xpY3kocG9saWN5KSB7CisgICAgdmFyIG1ldGEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7CisgICAgbWV0YS5zZXRBdHRyaWJ1dGUoJ2h0dHAt
ZXF1aXYnLCAnWC1XZWJLaXQtQ1NQJyk7CisgICAgbWV0YS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnQn
LCBwb2xpY3kpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWV0YSk7Cit9CisKK2lm
ICghZG9jdW1lbnQuc2VjdXJpdHlQb2xpY3kpCisgICAgbG9nKCdGQUlMIGRvY3VtZW50LnNlY3Vy
aXR5UG9saWN5IGlzIG5vdCBkZWZpbmVkLicpCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153285</attachid>
            <date>2012-07-19 10:01:54 -0700</date>
            <delta_ts>2012-07-20 08:56:33 -0700</delta_ts>
            <desc>Adam&apos;s feedback + GTK, still no XCode.</desc>
            <filename>bug-91707-20120719190153.patch</filename>
            <type>text/plain</type>
            <size>81666</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY1Y2NlYzBkMmNkMzFm
ZjJlOTlmNzBiOGU1MjkwODE0OGFiMTJkMC4uMjYwMDc3ZDFkZGFkMTE1YzVjYzZmMDA1MTg2NGU1
ZmU0ZDIxYjUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNyBAQAorMjAxMi0wNy0xOSAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTUCAxLjEgZWRpdG9y
J3MgZHJhZnQgZGVmaW5lcyBhIHNjcmlwdCBpbnRlcmZhY2UgdGhhdCBnaXZlcworICAgICAgICBk
ZXZlbG9wZXJzIHRoZSBhYmlsaXR5IHRvIHF1ZXJ5IGEgZG9jdW1lbnQgcmVnYXJkaW5nIHRoZSBy
ZXN0cmljdGlvbnMKKyAgICAgICAgc2V0IGJ5IGl0J3MgY3VycmVudGx5IGFjdGl2ZSBjb250ZW50
IHNlY3VyaXR5IHBvbGljeVsxXS4gVGhpcyBwYXRjaAorICAgICAgICBleHBvc2VzIHRoYXQgQVBJ
IGluIHRlcm1zIG9mIGEgbmV3IERPTVNlY3VyaXR5UG9saWN5IG9iamVjdC4KKworICAgICAgICBE
YXRhIGZvciB0aGUgQVBJIGlzIGdhdGhlcmVkIGZyb20gdGhlIGV4aXN0aW5nIENvbnRlbnRTZWN1
cml0eVBvbGljeQorICAgICAgICBvYmplY3Qgb24gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuIENT
UCdzIHZhcmlvdXMgbWV0aG9kcyBoYXZlIGJlZW4KKyAgICAgICAgZXh0ZW5kZWQgd2l0aCBhIGBy
ZXBvcnRpbmdTdGF0dXNgIHBhcmFtZXRlciB3aGljaCwgdW5zdXJwcmlzaW5nbHksCisgICAgICAg
IGRldGVybWluZXMgd2hldGhlciBhIHZpb2xhdGlvbiByZXBvcnQgc2hvdWxkIGJlIHNlbnQgZm9y
IGJsb2NrZWQKKyAgICAgICAgcmVzb3VyY2VzLiBUaGlzIGFsbG93cyB1cyB0byByZXVzZSB0aGUg
c2FtZSBjb2RlcGF0aHMgYnkgc2ltcGx5IHVzaW5nCisgICAgICAgIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6U3VwcHJlc3NSZXBvcnQgd2hlbiBxdWVyeWluZyBvbiBiZWhhbGYgb2YgdGhlCisgICAg
ICAgIEFQSSwgYW5kIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCB3aGVuIGNoZWNr
aW5nIHJlc291cmNlcyBhCisgICAgICAgIHBhZ2Ugd2FudHMgdG8gbG9hZC4KKworICAgICAgICBU
aGlzIGZlYXR1cmUgaXMgZ2F0ZWQgb24gdGhlIENTUF9ORVhUIGZsYWcsIHdoaWNoIGlzIGN1cnJl
bnRseSBkaXNhYmxlZAorICAgICAgICBmb3IgYWxsIHBvcnRzIG90aGVyIHRoYW4gQ2hyb21pdW0u
CisKKyAgICAgICAgWzFdOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlvbi5kZXYuaHRtbCNzY3JpcHQtaW50
ZXJmYWNlcy0tZXhwZXJpbWVudGFsCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rp
b250by5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2ZvbnRmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1l
ZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20uaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d29iamVjdGZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWlzYWN0aXZlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
cHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICAgICBXZSBhZGRlZCBhIG5ldyBvYmplY3QsIHNvIGxldCdzIHRlbGwgX2V2ZXJ5b25lIV8KKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNl
Y3VyaXR5UG9saWN5KToKKyAgICAgICAgICAgIEV4cG9zZSB0aGUgU2VjdXJpdHlQb2xpY3kgb2Jq
ZWN0IHZpYSBEb2N1bWVudCwgZ2F0ZWQgb24gQ1NQX05FWFQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIFNlY3VyaXR5UG9saWN5IG9iamVjdCB0byB0aGUgZG9jdW1lbnQsIGdhdGVkIG9uIENT
UF9ORVhULgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKENTUERpcmVjdGl2ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlz
dDo6Y2hlY2tJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hl
Y2tOb25jZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJj
ZSk6CisgICAgICAgICAgICBFeHRyYWN0aW5nIHRoZSBjb3JlIGNoZWNrcyBvdXQgaW50byBzZXBh
cmF0ZSBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tF
dmFsQW5kUmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAgICAgIFVzZSBjaGVja0V2YWwuCisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0
aW9uKToKKyAgICAgICAgICAgIFVzZSBjaGVja05vbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NQ
RGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAg
ICAgVXNlIGNoZWNrSW5saW5lLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrU291
cmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0
VVJMcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2
ZW50SGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bmxpbmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0V2
YWwpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHRGcm9t
U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0
RnJvbVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0No
aWxkRnJhbWVGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6
OmFsbG93SW1hZ2VGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93U3R5bGVGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93Rm9udEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0
aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2UpOgorICAgICAgICAgICAgVGhlc2UgbWV0
aG9kcyBub3cgYnJhbmNoIG9uIGByZXBvcnRpbmdTdGF0dXNgOiBpZiBgU2VuZFJlb3BvcnRgLAor
ICAgICAgICAgICAgdGhleSBjYWxsIGBjaGVja1hBbmRSZXBvcnRWaW9sYXRpb25gLCBvdGhlcndp
c2UsIHRoZXkgY2FsbCBgY2hlY2tYYC4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxp
c3Q6OmdhdGhlclJlcG9ydFVSSXMpOgorICAgICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IGdhdGhl
cnMgdGhlIHZpb2xhdGlvbiByZXBvcnQgVVJJcyBpbnRvIGEgRE9NU3RyaW5nTGlzdC4KKyAgICAg
ICAgKFdlYkNvcmU6OmlzQWxsb3dlZEJ5QWxsV2l0aENhbGxTdGFjayk6CisgICAgICAgIChXZWJD
b3JlOjppc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxs
b3dlZEJ5QWxsV2l0aFVSTCk6CisgICAgICAgICAgICBUaGVzZSBub3cgcGFzcyByZXBvcnRpbmdT
dGF0dXMgdGhyb3VnaCB0byB0aGUgdmFyaW91cyBgYWxsb3dYYCBtZXRob2RzLgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVudEhh
bmRsZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJ
bmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd0lubGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dFdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0
eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21Tb3Vy
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRG
cm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dNZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZSk6CisgICAgICAgICAgICBUaGVzZSBhY2NlcHQgYSBu
ZXcgYHJlcG9ydGluZ1N0YXR1c2AgcGFyYW1ldGVyLCB3aGljaCBpcyBwYXNzZWQgdGhyb3VnaAor
ICAgICAgICAgICAgdG8gdGhlIENTUERpcmVjdGl2ZUxpc3QgbWV0aG9kcy4KKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6aXNBY3RpdmUpOgorICAgICAgICAgICAgTmV3
IG1ldGhvZCB0aGF0IHJldHVybnMgYHRydWVgIGlmIHBvbGljeSBpcyBhY3RpdmUuCisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVSSXMpOgorICAg
ICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IHJldHVybnMgYSBET01TdHJpbmdMaXN0IG9mIHZpb2xh
dGlvbiByZXBvcnQgVVJJcy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OkRPTVNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vj
dXJpdHlQb2xpY3k6On5ET01TZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpET01T
ZWN1cml0eVBvbGljeTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQ
b2xpY3k6OnJlcG9ydFVSSXMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6
OmFsbG93c0lubGluZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGlj
eTo6YWxsb3dzSW5saW5lU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xp
Y3k6OmFsbG93c0V2YWwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFs
bG93c0Nvbm5lY3Rpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6
YWxsb3dzRm9udEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFs
bG93c0ZyYW1lRnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxs
b3dzSW1hZ2VGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NNZWRpYUZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c09iamVjdEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c1NjcmlwdEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c1N0eWxlRnJvbSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRE9NU2VjdXJpdHlQb2xpY3kpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9E
T01TZWN1cml0eVBvbGljeS5pZGw6IEFkZGVkLgorCiAyMDEyLTA3LTE5ICBBbmRyZXkgS29zeWFr
b3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogbWluaW1p
emUgbnVtYmVyIG9mIHByb3BlcnRpZXMgb24gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuUmVjb3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTlj
ZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLjYyMThkMTQxYTU3NWMyMzU4YjAxNGExMjQ5ZWJhNzhk
NmY4Njg1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MzAsNiArNTMwLDcgQEAgU0VUKFdl
YkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Db25zb2xlLmlkbAogICAgIHBhZ2UvQ29vcmRpbmF0
ZXMuaWRsCiAgICAgcGFnZS9DcnlwdG8uaWRsCisgICAgcGFnZS9ET01TZWN1cml0eVBvbGljeS5p
ZGwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKICAg
ICBwYWdlL0V2ZW50U291cmNlLmlkbApAQCAtMTYyMCw2ICsxNjIxLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAogICAgIHBhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcAogICAgIHBhZ2UvQ3J5cHRvLmNwcAorICAgIHBhZ2UvRE9N
U2VjdXJpdHlQb2xpY3kuY3BwCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3BwCiAgICAgcGFnZS9E
T01UaW1lci5jcHAKICAgICBwYWdlL0RPTVdpbmRvdy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAppbmRleCA3Mjg3ZDljYmIyNzZlMzE3M2EyMGNjNDVlN2U2NTc3ODNlZWZlY2VmLi4yZTkz
YTQwNmI2YmM4MzUxZTg3MjhlM2IwYjBlNzQ1NTcyOTdiZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC05NCw2ICs5NCw3IEBACiAjaW5jbHVkZSAiSlNET01QYXJzZXIuY3BwIgog
I2luY2x1ZGUgIkpTRE9NUGx1Z2luLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbkFycmF5LmNw
cCIKKyNpbmNsdWRlICJKU0RPTVNlY3VyaXR5UG9saWN5LmNwcCIKICNpbmNsdWRlICJKU0RPTVNl
bGVjdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAiCiAjaW5j
bHVkZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDc2NzA3M2U3ZDI3YmMxNzU4YzdlNjRiNjY1NmVkNGVkZmUwZDU1ZTIuLmUwNWQ4YTMzM2Vi
MjZjMjNiNzgzZTMxZDQ2MzlmZTFhNjdjNTgzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNDA1LDYgKzQwNSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvQ29uc29sZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db29yZGluYXRlcy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2Uv
RE9NU2VjdXJpdHlQb2xpY3kuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4
IDJjMjljOGY1MmE2MjgwNWZhYzU2NDk3MDY0NTE4M2E3MDI2NzFhZTQuLjY0MjhlM2MzM2U5OTUy
OGVjNWFkOGY0ODBlODQzMTdiM2QyYzBjNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
QEAgLTQxMyw2ICs0MTMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL3BhZ2UvQ29u
c29sZS5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKICAgICAkJFBXRC9w
YWdlL0NyeXB0by5pZGwgXAorICAgICQkUFdEL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsIFwK
ICAgICAkJFBXRC9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogICAgICQkUFdEL3BhZ2UvRE9NV2lu
ZG93LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9FdmVudFNvdXJjZS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggM2ViOTQzOTkxZDdlZjM3YzJjMDk0YWEzNzI4MDAwNzczMmY5
OTA0OC4uMzI0Y2M2MTQ3YTM5Njc2Yjg1NGZlNmQ3OGM1YTBlNTU0NTRlMmNlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNDIsNiArMTQyLDggQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBsdWdpbi5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01QbHVnaW4uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVNlY3VyaXR5UG9saWN5LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3Vy
aXR5UG9saWN5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWxlY3Rpb24uY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VsZWN0aW9uLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgXApAQCAtOTU3LDYgKzk1
OSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvcGFnZS9Db25zb2xlLmlk
bCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdl
L0NyeXB0by5pZGwgXAorCSQoV2ViQ29yZSkvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwgXAog
CSQoV2ViQ29yZSkvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvRE9N
V2luZG93LmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0V2ZW50U291cmNlLmlkbCBcCkBAIC0zMDA4
LDYgKzMwMTEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29vcmRpbmF0ZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NyeXB0by5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0ZTljMDJmOTBlYzI3Mjk2MDY5MzRiMzg3YTdjNTU4
Y2FjNjMxMDQxLi42NTU4ZjgzNTc1MjljYzdiNTFlMTU2MTQ5NzM1MTdlMDBkZWQzZTE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yMjMsNiArMjIzLDcgQEAKICAgICAgICAgICAgICdwYWdlL0NvbnRl
eHRNZW51Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ29vcmRpbmF0ZXMuaCcsCisgICAgICAgICAgICAncGFn
ZS9ET01TZWN1cml0eVBvbGljeS5oJywKICAgICAgICAgICAgICdwYWdlL0RPTVdpbmRvdy5oJywK
ICAgICAgICAgICAgICdwYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5oJywKICAgICAgICAgICAgICdw
YWdlL0RyYWdBY3Rpb25zLmgnLApAQCAtMTE1OSw2ICsxMTYwLDcgQEAKICAgICAgICAgICAgICdw
YWdlL0NvbnNvbGUuaWRsJywKICAgICAgICAgICAgICdwYWdlL0Nvb3JkaW5hdGVzLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9DcnlwdG8uaWRsJywKKyAgICAgICAgICAgICdwYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9ET01TZWxlY3Rpb24uaWRsJywKICAg
ICAgICAgICAgICdwYWdlL0RPTVdpbmRvdy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NV2lu
ZG93UGFnZVBvcHVwLmlkbCcsCkBAIC0zMDMwLDYgKzMwMzIsNyBAQAogICAgICAgICAgICAgJ3Bh
Z2UvQ29udGV4dE1lbnVQcm92aWRlci5oJywKICAgICAgICAgICAgICdwYWdlL0NyeXB0by5jcHAn
LAogICAgICAgICAgICAgJ3BhZ2UvQ3J5cHRvLmgnLAorICAgICAgICAgICAgJ3BhZ2UvRE9NU2Vj
dXJpdHlQb2xpY3kuY3BwJywKICAgICAgICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ3BhZ2UvRE9NU2VsZWN0aW9uLmgnLAogICAgICAgICAgICAgJ3BhZ2UvRE9N
VGltZXIuY3BwJywKQEAgLTcyNjMsNiArNzI2Niw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBsdWdpbi5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXku
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NUGx1Z2luQXJyYXkuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3VyaXR5UG9saWN5LmNwcCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3VyaXR5UG9saWN5
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNET01TZWxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NU2VsZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmls
ZS5hbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KaW5k
ZXggZmEwNDU0MjAzY2I2Y2FiM2JjMTE2ODY4ZGE4ZGM2M2I5YjY3ZWNjZC4uMTlkYjg3Yzc4N2Nl
N2VkOTI3YjBlMzJhMTE0NDc1ZjA5NmI0OGI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00NDgsNiArNDQ4LDE0IEBAIHdlYmtpdGd0
a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01QZXJmb3JtYW5jZVRpbWluZ1ByaXZhdGUuaAogZW5kaWYKIAoraWYgRU5BQkxFX0NTUF9ORVhU
Cit3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAorICAgIERlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01ET01TZWN1cml0eVBvbGljeS5oCit3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2Vz
ICs9IFwKKyAgICBEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU2VjdXJpdHlQb2xp
Y3kuY3BwIFwKKyAgICBEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU2VjdXJpdHlQ
b2xpY3lQcml2YXRlLmgKK2VuZGlmCisKIGdkb21fY2xhc3NfbGlzdCA6PSAkKHN1YnN0IFdlYktp
dERPTSwsICQoZmlsdGVyLW91dCAlUHJpdmF0ZSwgJChiYXNlbmFtZSAkKG5vdGRpciAkKHdlYmtp
dGd0a19nZG9tX2J1aWx0X3NvdXJjZXMpKSkpKQogZ2RvbV9jbGFzc19saXN0ICs9IEN1c3RvbSBF
dmVudFRhcmdldCBPYmplY3QKIERlcml2ZWRTb3VyY2VzL3dlYmtpdC93ZWJraXRkb20uaDogJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dvYmplY3QtZ2VuZXJhdGUtaGVhZGVycy5wbCAkKFdl
YkNvcmUpL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IGFmYTczMmZhMTAyNWFhMDQxNjg0MTAwMDM1MTI5MjEzYTg2ZDQ1YmYuLmMyMDBj
MDc1N2JjNzgzZjY1ZGIzNDIzZGQxYTkyZGI4ZDY1ZmQ1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMjIyLDYgKzIyMiwxMCBAQAogI2luY2x1ZGUgIlRleHRBdXRvc2l6ZXIuaCIKICNl
bmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorI2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9saWN5
LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7
CiB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKQEAgLTE2NDEsNiArMTY0NSwxNSBAQCB2b2lkIERv
Y3VtZW50OjpkaXNwYXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCkKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKENTUF9ORVhUKQorRE9NU2VjdXJpdHlQb2xpY3kqIERvY3VtZW50OjpzZWN1
cml0eVBvbGljeSgpCit7CisgICAgaWYgKCFtX2RvbVNlY3VyaXR5UG9saWN5KQorICAgICAgICBt
X2RvbVNlY3VyaXR5UG9saWN5ID0gRE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSh0aGlzKTsKKyAg
ICByZXR1cm4gbV9kb21TZWN1cml0eVBvbGljeS5nZXQoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcg
RG9jdW1lbnQ6Om5vZGVOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIiNkb2N1bWVudCI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IGI2MzYxODQ5MjhkNTM2NjZkNTA3NTRiODMyZDkwMGQ1MGNj
ZGM1OWQuLjA5MzllMGIyZTI4YTk2MzhiMWJiZmJkNDk4MjFjODJlOTA1Y2YwYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC0xNzksNiArMTc5LDEwIEBAIGNsYXNzIFByZXJlbmRlcmVyOwogY2xh
c3MgVGV4dEF1dG9zaXplcjsKICNlbmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorY2xhc3Mg
RE9NU2VjdXJpdHlQb2xpY3k7CisjZW5kaWYKKwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsK
IAogZW51bSBQYWdlc2hvd0V2ZW50UGVyc2lzdGVuY2UgewpAQCAtNDE2LDYgKzQyMCwxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaXNwYXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShDU1BfTkVYVCkKKyAgICBET01TZWN1cml0eVBvbGljeSogc2Vj
dXJpdHlQb2xpY3koKTsKKyNlbmRpZgorCiAgICAgUGFzc1JlZlB0cjxOb2RlPiBhZG9wdE5vZGUo
UGFzc1JlZlB0cjxOb2RlPiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIFBhc3NSZWZQ
dHI8SFRNTENvbGxlY3Rpb24+IGltYWdlcygpOwpAQCAtMTUzMiw2ICsxNTQwLDEwIEBAIHByaXZh
dGU6CiAKICAgICBSZWZQdHI8V2ViS2l0TmFtZWRGbG93Q29sbGVjdGlvbj4gbV9uYW1lZEZsb3dz
OwogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorICAgIFJlZlB0cjxET01TZWN1cml0eVBvbGljeT4g
bV9kb21TZWN1cml0eVBvbGljeTsKKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wg
bV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQ7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaWRsCmluZGV4IDdjMWM0ODM5YzI5Mjg3MDJlNzMyMDgxN2FmNzRkNjM0NmM3NDMw
ZTIuLjc0MjM4MWYyYWI1MjE1MTE3ZmJhMmUwZTlkNDMyNjc3OGU2ZDIyMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbApAQCAtMzc1LDYgKzM3NSw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1QQUdFX1ZJU0lCSUxJVFlfQVBJXSBET01T
dHJpbmcgd2Via2l0VmlzaWJpbGl0eVN0YXRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPVBBR0VfVklTSUJJTElUWV9BUEldIGJvb2xlYW4gd2Via2l0SGlkZGVuOwog
CisgICAgICAgIC8vIFNlY3VyaXR5IFBvbGljeSBBUEk6IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9j
b250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmljYXRpb24uZGV2
Lmh0bWwjc2NyaXB0LWludGVyZmFjZXMKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1DU1BfTkVYVF0gRE9NU2VjdXJpdHlQb2xpY3kgU2VjdXJpdHlQb2xpY3k7CisKICAg
ICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKaW5kZXggZGFjNjVjMzM2ODZkNTg2YTQ5N2M5OWIzNTZjZWY4ZmQ2MDJiYzRhNy4uNzg2NGZj
NGQzNjExOTVmYjdjMjJmYTg0ZWJhZjM5NTNhNTY3YzY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1
ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgorI2lu
Y2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCkBAIC01NDYsMjEgKzU0Nywy
MyBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBoZWFkZXIoKSBjb25zdCB7IHJldHVybiBt
X2hlYWRlcjsgfQogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBoZWFkZXJU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRPbmx5ID8gQ29udGVudFNlY3VyaXR5UG9saWN5
OjpSZXBvcnRPbmx5IDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpFbmZvcmNlUG9saWN5OyB9CiAK
LSAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFs
bG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxp
bmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1i
ZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lU3R5bGUoY29uc3Qg
U3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5l
KSBjb25zdDsKLSAgICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4p
IGNvbnN0OworICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93SW5saW5l
RXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3Rh
dHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29u
dGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxp
bmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJl
ciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBj
b25zdDsKKyAgICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKICAgICBib29sIGFs
bG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0
VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJikg
Y29uc3Q7CiAKLSAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29u
c3Q7Ci0gICAgYm9vbCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0Owot
ICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0g
ICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9v
bCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxv
d0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93TWVkaWFG
cm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q29ubmVjdFRvU291
cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShj
b25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0
OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0NoaWxk
RnJhbWVGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9y
dGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBL
VVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAg
IGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93Rm9udEZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBj
b25zdDsKKyAgICBib29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0Nv
bm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRp
bmdTdGF0dXMpIGNvbnN0OworCisgICAgdm9pZCBnYXRoZXJSZXBvcnRVUklzKERPTVN0cmluZ0xp
c3QmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1BEaXJlY3RpdmVMaXN0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKQEAgLTU4MCwxMSArNTgzLDE1IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBsb2dVbnJlY29nbml6ZWREaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25z
dDsKICAgICB2b2lkIGxvZ0R1cGxpY2F0ZURpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUpIGNv
bnN0OwogICAgIHZvaWQgbG9nSW52YWxpZE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0
OworCiAgICAgYm9vbCBjaGVja0V2YWwoQ1NQRGlyZWN0aXZlKikgY29uc3Q7CisgICAgYm9vbCBj
aGVja0lubGluZShDU1BEaXJlY3RpdmUqKSBjb25zdDsKKyAgICBib29sIGNoZWNrTm9uY2UoY29u
c3QgU3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjaGVja1NvdXJjZShDU1BEaXJlY3RpdmUqLCBj
b25zdCBLVVJMJikgY29uc3Q7CiAKKyAgICBib29sIGNoZWNrRXZhbEFuZFJlcG9ydFZpb2xhdGlv
bihDU1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBjaGVja0lubGluZUFuZFJlcG9y
dFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihjb25z
dCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNv
bnN0OwotICAgIGJvb2wgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSos
IGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9
IFN0cmluZygpLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpP
cmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
PSAwKSBjb25zdDsKICAgICBib29sIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKENTUERp
cmVjdGl2ZSosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0OwogCiAgICAg
Ym9vbCBkZW55SWZFbmZvcmNpbmdQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlcG9ydE9ubHk7
IH0KQEAgLTcwNyw3NCArNzE0LDEwNyBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZh
bChDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSkgY29uc3QKICAgICByZXR1cm4gIWRpcmVjdGl2ZSB8
fCBkaXJlY3RpdmUtPmFsbG93RXZhbCgpOwogfQogCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNo
ZWNrSW5saW5lKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlKSBjb25zdAoreworICAgIHJldHVybiAh
ZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+YWxsb3dJbmxpbmUoKTsKK30KKworYm9vbCBDU1BEaXJl
Y3RpdmVMaXN0OjpjaGVja05vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0Cit7CisgICAg
cmV0dXJuIChtX3NjcmlwdE5vbmNlLmlzTnVsbCgpCisgICAgICAgICAgICB8fCAoIW1fc2NyaXB0
Tm9uY2UuaXNFbXB0eSgpCisgICAgICAgICAgICAgICAgJiYgbm9uY2Uuc3RyaXBXaGl0ZVNwYWNl
KCkgPT0gbV9zY3JpcHROb25jZSkpOworfQorCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNr
U291cmNlKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7
CisgICAgcmV0dXJuICFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd3ModXJsKTsKK30KKwog
Q1NQRGlyZWN0aXZlKiBDU1BEaXJlY3RpdmVMaXN0OjpvcGVyYXRpdmVEaXJlY3RpdmUoQ1NQRGly
ZWN0aXZlKiBkaXJlY3RpdmUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRpcmVjdGl2ZSA/IGRpcmVj
dGl2ZSA6IG1fZGVmYXVsdFNyYy5nZXQoKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0Ojpj
aGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29u
c3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjpjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJlY3Rp
dmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKIHsKLSAgICBpZiAoIWRpcmVjdGl2ZSB8fCBk
aXJlY3RpdmUtPmFsbG93SW5saW5lKCkpCisgICAgaWYgKGNoZWNrRXZhbChkaXJlY3RpdmUpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0
KCksIGNvbnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwg
S1VSTCgpLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmVwb3J0VmlvbGF0aW9uKGRp
cmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSArICJcIiIgKyBkaXJlY3RpdmUtPnRleHQo
KSArICJcIi5cbiIsIEtVUkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIGNhbGxTdGFjayk7
CiAgICAgcmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERpcmVj
dGl2ZUxpc3Q6OmNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBub25j
ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJM
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAogewotICAgIGlm
IChtX3NjcmlwdE5vbmNlLmlzTnVsbCgpIHx8ICghbV9zY3JpcHROb25jZS5pc0VtcHR5KCkgJiYg
bm9uY2Uuc3RyaXBXaGl0ZVNwYWNlKCkgPT0gbV9zY3JpcHROb25jZSkpCisgICAgaWYgKGNoZWNr
Tm9uY2Uobm9uY2UpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXBvcnRWaW9sYXRpb24o
bV9zY3JpcHROb25jZSwgY29uc29sZU1lc3NhZ2UgKyAiXCJzY3JpcHQtbm9uY2UgIiArIG1fc2Ny
aXB0Tm9uY2UgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKICAg
ICByZXR1cm4gZGVueUlmRW5mb3JjaW5nUG9saWN5KCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZl
TGlzdDo6Y2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZl
LCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkws
IGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjYWxsU3RhY2spIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNr
SW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBT
dHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0CiB7Ci0gICAgaWYgKGNoZWNrRXZh
bChkaXJlY3RpdmUpKQorICAgIGlmIChjaGVja0lubGluZShkaXJlY3RpdmUpKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNv
bGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBj
b250ZXh0VVJMLCBjb250ZXh0TGluZSwgY2FsbFN0YWNrKTsKKyAgICByZXBvcnRWaW9sYXRpb24o
ZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4
dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CiAgICAgcmV0
dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERpcmVjdGl2ZUxpc3Q6
OmNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICBpZiAoIWRp
cmVjdGl2ZSB8fCBkaXJlY3RpdmUtPmFsbG93cyh1cmwpKQorICAgIGlmIChjaGVja1NvdXJjZShk
aXJlY3RpdmUsIHVybCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIFN0cmluZyB2ZXJiID0g
dHlwZSA9PSAiY29ubmVjdCIgPyAiY29ubmVjdCB0byIgOiAibG9hZCB0aGUiOwogICAgIHJlcG9y
dFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgIlJlZnVzZWQgdG8gIiArIHZlcmIgKyAiICIg
KyB0eXBlICsgIiAnIiArIHVybC5zdHJpbmcoKSArICInIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhl
IGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6IFwiIiArIGRpcmVj
dGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgdXJsKTsKICAgICByZXR1cm4gZGVueUlmRW5mb3JjaW5n
UG9saWN5KCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0VVJM
cyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNjcmlwdFVS
THMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRp
bmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNv
bGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IFVSTCBiZWNhdXNlIGl0
IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZl
OiAiKSk7Ci0gICAgcmV0dXJuIChjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRp
dmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVS
TCwgY29udGV4dExpbmUpCi0gICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0
aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsK
KyAgICBpZiAocmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJl
cG9ydCkgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9w
ZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250
ZXh0VVJMLCBjb250ZXh0TGluZSkKKyAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVw
b3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4
dExpbmUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lKG9wZXJh
dGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSkpCisgICAgICAgICAgICAgICAgJiYgY2hl
Y2tOb25jZShTdHJpbmcoKSkpOworICAgIH0KIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0Ojph
bGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBX
VEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhlY3V0
ZSBpbmxpbmUgZXZlbnQgaGFuZGxlciBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0dXJuIChjaGVj
a0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMu
Z2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpCi0gICAgICAg
ICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVz
c2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICBpZiAocmVwb3J0aW5nU3RhdHVz
ID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCkgeworICAgICAgICByZXR1cm4g
KGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3Njcmlw
dFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkKKyAg
ICAgICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBj
b25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNy
Yy5nZXQoKSkpCisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZShTdHJpbmcoKSkpOworICAg
IH0KIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVNjcmlwdChjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUp
IGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0
cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBj
b25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwg
KCJSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRo
ZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAg
cmV0dXJuIGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZSht
X3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGlu
ZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVy
YXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxpbmUob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc2NyaXB0U3JjLmdldCgpKSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93
SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1
cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gYXBwbHkgaW5saW5lIHN0eWxlIGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICIpKTsKLSAgICByZXR1cm4gY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3Bl
cmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tJbmxpbmVBbmRSZXBv
cnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25zb2xl
TWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxpbmUo
b3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpKTsKIH0KIAotYm9vbCBDU1BEaXJl
Y3RpdmVMaXN0OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFj
aykgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dFdmFsKFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVj
YXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRp
cmVjdGl2ZTogIikpOwotICAgIHJldHVybiBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24ob3Bl
cmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0cmlu
ZygpLCBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjayk7CisgICAg
cmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBv
cnQgPworICAgICAgICBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0cmluZygpLCBXVEY6Ok9y
ZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjaykgOgorICAgICAgICBjaGVja0V2
YWwob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSk7CiB9CiAKIGJvb2wgQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExp
bmUsIGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTc4NSw1NiArODI1LDc4IEBAIGJvb2wgQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25z
dCBTdHJpbmcmIGNvbnRlCiAgICAgcmV0dXJuIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24o
bm9uY2UsICJSZWZ1c2VkIHRvIGxvYWQgJyIgKyB1cmwuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIGl0
IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZl
OiAiLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25z
dAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoInNjcmlwdCIpKTsK
LSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5n
U3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNo
ZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNy
Yy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJl
Y3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29u
c3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJvYmplY3QiKSk7
CiAgICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJl
dHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9v
YmplY3RTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMg
PT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3Vy
Y2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fb2JqZWN0U3JjLmdldCgp
KSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZSht
X29iamVjdFNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNv
bnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiZnJhbWUiKSk7
CiAgICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJl
dHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9m
cmFtZVNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9
PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1NvdXJj
ZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mcmFtZVNyYy5nZXQoKSks
IHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9m
cmFtZVNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJpbWFnZSIpKTsKLSAgICByZXR1cm4g
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1faW1nU3Jj
LmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRl
bnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVw
b3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ltZ1NyYy5nZXQoKSksIHVybCwgdHlw
ZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9pbWdTcmMuZ2V0
KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5bGVGcm9tU291
cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dT
dHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHJpbmcsIHR5cGUsICgic3R5bGUiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNl
QW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwg
dXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0
eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0
aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6Cisg
ICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwg
dXJsKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ZvbnRGcm9tU291cmNlKGNv
bnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJv
bVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0cmluZywgdHlwZSwgKCJmb250IikpOwotICAgIHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9y
dFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mb250U3JjLmdldCgpKSwgdXJsLCB0eXBl
KTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6
U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJh
dGl2ZURpcmVjdGl2ZShtX2ZvbnRTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hl
Y2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1fZm9udFNyYy5nZXQoKSksIHVybCk7CiB9CiAK
LWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYg
dXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZShj
b25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJl
cG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywg
dHlwZSwgKCJtZWRpYSIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRp
b24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAg
IHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVw
b3J0ID8KKyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGly
ZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3Vy
Y2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29s
IENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtVUkwmIHVybCkg
Y29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3Qg
S1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRp
bmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUs
ICgiY29ubmVjdCIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24o
b3BlcmF0aXZlRGlyZWN0aXZlKG1fY29ubmVjdFNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAg
cmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBv
cnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJl
Y3RpdmUobV9jb25uZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291
cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2Nvbm5lY3RTcmMuZ2V0KCkpLCB1cmwpOworfQorCit2
b2lkIENTUERpcmVjdGl2ZUxpc3Q6OmdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYgbGlz
dCkgY29uc3QKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcmVwb3J0VVJJcy5zaXpl
KCk7ICsraSkKKyAgICAgICAgbGlzdC5hcHBlbmQobV9yZXBvcnRVUklzW2ldLnN0cmluZygpKTsK
IH0KIAogLy8gcG9saWN5ICAgICAgICAgICAgPSBkaXJlY3RpdmUtbGlzdApAQCAtMTA4MiwyMSAr
MTE0NCwyMSBAQCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpkZXByZWNhdGVkSGVhZGVyVHlwZSgpCiAgICAgcmV0dXJuIG1fcG9saWNpZXMu
aXNFbXB0eSgpID8gRW5mb3JjZVBvbGljeSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlclR5cGUoKTsK
IH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPikgY29uc3Q+Ci1ib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENhbGxT
dGFjayhjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxp
c3Q6OiphbGxvd2VkKShQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkQnlBbGxXaXRo
Q2FsbFN0YWNrKGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwb2xpY2llcy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5n
ZXQoKS0+KmFsbG93ZWQpKGNhbGxTdGFjaykpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdl
dCgpLT4qYWxsb3dlZCkoY2FsbFN0YWNrLCByZXBvcnRpbmdTdGF0dXMpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8Ym9v
bCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdURjo6
T3JkaW5hbE51bWJlciYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNv
bnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpCit0ZW1wbGF0ZTxi
b29sIChDU1BEaXJlY3RpdmVMaXN0OjoqYWxsb3dlZCkoY29uc3QgU3RyaW5nJiwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMp
IGNvbnN0PgorYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNvbnN0IENTUERpcmVjdGl2
ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHBvbGljaWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdl
dCgpLT4qYWxsb3dlZCkoY29udGV4dFVSTCwgY29udGV4dExpbmUpKQorICAgICAgICBpZiAoIShw
b2xpY2llc1tpXS5nZXQoKS0+KmFsbG93ZWQpKGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBv
cnRpbmdTdGF0dXMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTExMTIsNDQgKzExNzQsNDQgQEAgYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhO
b25jZShjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgY29uc3QgU3RyaW4K
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6
KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdp
dGhVUkwoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwm
IHVybCkKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd0Zyb21VUkwpKGNv
bnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q+
Citib29sIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTChjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9y
JiBwb2xpY2llcywgY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9y
dGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5Ojpz
Y2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9saWNp
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxv
d0Zyb21VUkwpKHVybCkpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dG
cm9tVVJMKSh1cmwsIHJlcG9ydGluZ1N0YXR1cykpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4g
aXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2Ny
aXB0VVJMcz4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVy
biBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0phdmFT
Y3JpcHRVUkxzPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0aW5n
U3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lRXZl
bnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93
ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFu
ZGxlcnM+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4g
aXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVF
dmVudEhhbmRsZXJzPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0
aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5l
U2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lu
bGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
IHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRo
Q29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMs
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRo
Q29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMs
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsK
ICAgICBpZiAobV9vdmVycmlkZUlubGluZVN0eWxlQWxsb3dlZCkKICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93SW5saW5lU3R5bGU+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
KTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dJbmxpbmVTdHlsZT4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUs
IHJlcG9ydGluZ1N0YXR1cyk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKK2Jvb2wg
Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjaywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVw
b3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDYWxs
U3RhY2s8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbD4obV9wb2xpY2llcywgY2FsbFN0YWNr
KTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrPCZDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0V2YWw+KG1fcG9saWNpZXMsIGNhbGxTdGFjaywgcmVwb3J0aW5nU3RhdHVzKTsK
IH0KIAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3Qg
U3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGlu
YWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC0xMTU3LDQ0
ICsxMjE5LDU1IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdE5vbmNl
KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gaXNBbGxvd2Vk
QnlBbGxXaXRoTm9uY2U8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2U+KG1fcG9s
aWNpZXMsIG5vbmNlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgdXJsKTsKIH0KIAotYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1
cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9tU291
cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0
dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdp
dGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNvdXJjZT4obV9wb2xpY2ll
cywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAoreworICAgIHJl
dHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0
RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOworfQorCitib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBL
VVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGlu
Z1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd1NjcmlwdEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7Cisg
ICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dD
aGlsZEZyYW1lRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOwog
fQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKGNv
bnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lt
YWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxv
d2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3VyY2U+
KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgcmVw
b3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q2hp
bGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAog
ewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93Q2hpbGRGcmFtZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlz
QWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21Tb3Vy
Y2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29u
c3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0
IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0
aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93SW1hZ2VGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOwor
ICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93
Rm9udEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAot
Ym9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtV
UkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJv
bVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZT4obV9wb2xp
Y2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdT
dGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dGb250RnJvbVNv
dXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNv
dXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJM
PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xpY2llcywgdXJs
LCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmlzQWN0aXZlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZT4obV9wb2xp
Y2llcywgdXJsKTsKKyAgICByZXR1cm4gIW1fcG9saWNpZXMuaXNFbXB0eSgpOwogfQogCi1ib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYg
dXJsKSBjb25zdAordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVSSXMo
RE9NU3RyaW5nTGlzdCYgbGlzdCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxX
aXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xpY2ll
cywgdXJsKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcG9saWNpZXMuc2l6ZSgpOyAr
K2kpCisgICAgICAgIG1fcG9saWNpZXNbaV0uZ2V0KCktPmdhdGhlclJlcG9ydFVSSXMobGlzdCk7
CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmlu
ZGV4IGNiNmJlYWQ1MTQ5NThhZDMwMWM0OTNmNjAwZjRlNmE0NjBkNzgxNTguLmNkYjZiNWY4OThh
ZWU0NDMzMTdmODZhYzE2ZmYyZTQxMDA2ZTRkY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuaApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIENTUERpcmVjdGl2ZUxpc3Q7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7Citj
bGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogdHlw
ZWRlZiBWZWN0b3I8T3duUHRyPENTUERpcmVjdGl2ZUxpc3Q+ID4gQ1NQRGlyZWN0aXZlTGlzdFZl
Y3RvcjsKQEAgLTU5LDMxICs2MCwzOSBAQCBwdWJsaWM6CiAgICAgICAgIEVuZm9yY2VQb2xpY3kK
ICAgICB9OwogCisgICAgZW51bSBSZXBvcnRpbmdTdGF0dXMgeworICAgICAgICBTZW5kUmVwb3J0
LAorICAgICAgICBTdXBwcmVzc1JlcG9ydAorICAgIH07CisKICAgICB2b2lkIGRpZFJlY2VpdmVI
ZWFkZXIoY29uc3QgU3RyaW5nJiwgSGVhZGVyVHlwZSk7CiAKLSAgICAvLyBUaGVzZSBmdW5jdGlv
bnMgYXJlIHdyb25nIGJlY3Vhc2UgdGhleSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBo
ZWFkZXIuCisgICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSB3cm9uZyBiZWNhdXNlIHRoZXkgYXNz
dW1lIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgaGVhZGVyLgogICAgIC8vIEZJWE1FOiBSZXBsYWNl
IHRoZW0gd2l0aCBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdmVjdG9ycy4KICAgICBjb25zdCBTdHJp
bmcmIGRlcHJlY2F0ZWRIZWFkZXIoKSBjb25zdDsKICAgICBIZWFkZXJUeXBlIGRlcHJlY2F0ZWRI
ZWFkZXJUeXBlKCkgY29uc3Q7CiAKLSAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3Qg
U3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5l
KSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0
OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFs
bG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGlu
YWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93RXZhbChQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4pIGNvbnN0OworICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJM
cyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJl
cG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFJlcG9ydGlu
Z1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxs
b3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgUmVwb3J0aW5nU3RhdHVzID0gU2Vu
ZFJlcG9ydCkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1NjcmlwdE5vbmNlKGNvbnN0IFN0cmluZyYg
bm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSwgY29uc3QgS1VSTCYgPSBLVVJMKCkpIGNvbnN0OwogCi0gICAgYm9vbCBh
bGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dP
YmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q2hpbGRG
cmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbWFnZUZy
b21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dTdHlsZUZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25z
dCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJM
JikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJikgY29u
c3Q7CisgICAgYm9vbCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGlu
Z1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291
cmNlKGNvbnN0IEtVUkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsKKyAg
ICBib29sIGFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0
YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbWFnZUZyb21Tb3VyY2Uo
Y29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJv
b2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNl
bmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBLVVJM
JiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd01l
ZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0
aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CiAKICAgICB2b2lkIHNldE92ZXJyaWRlQWxs
b3dJbmxpbmVTdHlsZShib29sKTsKIAorICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKKyAgICB2
b2lkIGdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYpIGNvbnN0OworCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IENvbnRlbnRTZWN1cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2QxNzNlNmYyOWFkNjY1YTRmNmZlZDgyMmU4ODA1MmZjYWM3YWZlZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0wLDAg
KzEsMTU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSwgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgR09PR0xFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01TZWN1cml0eVBv
bGljeS5oIgorCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAi
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJET01TdHJpbmdMaXN0Lmgi
CisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgeworCiti
b29sIGlzUG9saWN5QWN0aXZlSW5Db250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCit7CisgICAgLy8gSWYgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgaGFzIGJlZW4gZGVz
dHJveWVkLCB0aGVyZSdzIG5vIGFjdGl2ZSBwb2xpY3kuCisgICAgaWYgKCFjb250ZXh0KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY29udGV4dC0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPmlzQWN0aXZlKCk7Cit9CisKK3RlbXBsYXRlPGJvb2wgKENvbnRlbnRTZWN1cml0
eVBvbGljeTo6KmFsbG93V2l0aFVSTCkoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkV2l0aFVSTChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBTdHJpbmcgdXJsKQoreworICAgIGlmICghaXNQb2xp
Y3lBY3RpdmVJbkNvbnRleHQoY29udGV4dCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
S1VSTCBwYXJzZWRVUkwgPSBjb250ZXh0LT5jb21wbGV0ZVVSTCh1cmwpOworICAgIGlmICghcGFy
c2VkVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBGSVhNRTogRmlndXJl
IG91dCBob3cgdG8gdGhyb3cgYSBKYXZhU2NyaXB0IGVycm9yLgorCisgICAgcmV0dXJuIChjb250
ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+KmFsbG93V2l0aFVSTCkocGFyc2VkVVJMLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KTsKK30KKwordGVtcGxhdGU8Ym9v
bCAoQ29udGVudFNlY3VyaXR5UG9saWN5OjoqYWxsb3dXaXRoQ29udGV4dCkoY29uc3QgU3RyaW5n
JiwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXMpIGNvbnN0PgorYm9vbCBpc0FsbG93ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKK3sKKyAgICBpZiAoIWlzUG9saWN5QWN0aXZlSW5Db250ZXh0KGNvbnRleHQp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAoY29udGV4dC0+Y29udGVudFNl
Y3VyaXR5UG9saWN5KCktPiphbGxvd1dpdGhDb250ZXh0KShLVVJMKCksIFdURjo6T3JkaW5hbE51
bWJlcjo6YmVmb3JlRmlyc3QoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9y
dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKK0RPTVNlY3VyaXR5UG9saWN5OjpET01TZWN1cml0
eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKK3sKK30KKworRE9NU2VjdXJpdHlQb2xpY3k6On5E
T01TZWN1cml0eVBvbGljeSgpCit7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmlzQWN0
aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNQb2xpY3lBY3RpdmVJbkNvbnRleHQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBET01T
ZWN1cml0eVBvbGljeTo6cmVwb3J0VVJJcygpIGNvbnN0Cit7CisgICAgUmVmUHRyPERPTVN0cmlu
Z0xpc3Q+IHJlc3VsdCA9IERPTVN0cmluZ0xpc3Q6OmNyZWF0ZSgpOworCisgICAgaWYgKGlzQWN0
aXZlKCkpCisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPmdhdGhlclJlcG9ydFVSSXMoKnJlc3VsdC5nZXQoKSk7CisKKyAgICByZXR1cm4g
cmVzdWx0LnJlbGVhc2UoKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzSW5s
aW5lU2NyaXB0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkPCZDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmFsbG93SW5saW5lU2NyaXB0PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwor
fQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NJbmxpbmVTdHlsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGlzQWxsb3dlZDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGlu
ZVN0eWxlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitib29sIERPTVNlY3VyaXR5
UG9saWN5OjphbGxvd3NFdmFsKCkgY29uc3QKK3sKKyAgICBpZiAoIWlzQWN0aXZlKCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlN1cHByZXNzUmVwb3J0KTsKK30KKworCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NDb25uZWN0aW9uVG8oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2Vk
V2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4oc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5
OjphbGxvd3NGb250RnJvbShTdHJpbmcgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93
ZWRXaXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2U+KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGlj
eTo6YWxsb3dzRnJhbWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxs
b3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNv
dXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3Vy
aXR5UG9saWN5OjphbGxvd3NJbWFnZUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1
cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJv
bVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNl
Y3VyaXR5UG9saWN5OjphbGxvd3NNZWRpYUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlh
RnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERP
TVNlY3VyaXR5UG9saWN5OjphbGxvd3NPYmplY3RGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dP
YmplY3RGcm9tU291cmNlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCk7Cit9CisKK2Jv
b2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd1NjcmlwdEZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30K
KworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzU3R5bGVGcm9tKFN0cmluZyB1cmwpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dTdHlsZUZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01TZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0
eVBvbGljeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNDZhNjE2NGY0M2RjNjUxYmU4OTUxMjMzYmE5OTIzNzJj
NDYwZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5
UG9saWN5LmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVNlY3VyaXR5UG9saWN5X2gK
KyNkZWZpbmUgRE9NU2VjdXJpdHlQb2xpY3lfaAorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENvbnRlbnRT
ZWN1cml0eVBvbGljeTsKK2NsYXNzIERPTVN0cmluZ0xpc3Q7CitjbGFzcyBGcmFtZTsKKworY2xh
c3MgRE9NU2VjdXJpdHlQb2xpY3kgOiBwdWJsaWMgUmVmQ291bnRlZDxET01TZWN1cml0eVBvbGlj
eT4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RE9NU2VjdXJpdHlQb2xpY3k+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01T
ZWN1cml0eVBvbGljeShjb250ZXh0KSk7CisgICAgfQorICAgIH5ET01TZWN1cml0eVBvbGljeSgp
OworCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5n
TGlzdD4gcmVwb3J0VVJJcygpIGNvbnN0OworCisgICAgYm9vbCBhbGxvd3NJbmxpbmVTY3JpcHQo
KSBjb25zdDsKKyAgICBib29sIGFsbG93c0lubGluZVN0eWxlKCkgY29uc3Q7CisgICAgYm9vbCBh
bGxvd3NFdmFsKCkgY29uc3Q7CisKKyAgICBib29sIGFsbG93c0Nvbm5lY3Rpb25UbyhTdHJpbmcg
dXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93c0ZvbnRGcm9tKFN0cmluZyB1cmwpIGNvbnN0Owor
ICAgIGJvb2wgYWxsb3dzRnJhbWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxs
b3dzSW1hZ2VGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzTWVkaWFGcm9t
KFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzT2JqZWN0RnJvbShTdHJpbmcgdXJs
KSBjb25zdDsKKyAgICBib29sIGFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3Q7Cisg
ICAgYm9vbCBhbGxvd3NTdHlsZUZyb20oU3RyaW5nIHVybCkgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgZXhwbGljaXQgRE9NU2VjdXJpdHlQb2xpY3koU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwor
fTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2Vj
dXJpdHlQb2xpY3kuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTI0MWJkZWYwZWM0NDM2ZmJlY2NhYmQ2MWFkODM1MWViODgxY2FiMwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
aWRsCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUNTUF9ORVhULAorICAgICAgICBPbWl0
Q29uc3RydWN0b3IsCisgICAgICAgIEludGVyZmFjZU5hbWU9c2VjdXJpdHlQb2xpY3kKKyAgICBd
IERPTVNlY3VyaXR5UG9saWN5IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
Z0xpc3QgcmVwb3J0VVJJczsKKworICAgICAgICBib29sZWFuIGlzQWN0aXZlKCk7CisKKyAgICAg
ICAgYm9vbGVhbiBhbGxvd3NDb25uZWN0aW9uVG8oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAg
IGJvb2xlYW4gYWxsb3dzRm9udEZyb20oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xl
YW4gYWxsb3dzRnJhbWVGcm9tKGluIERPTVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFs
bG93c0ltYWdlRnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NN
ZWRpYUZyb20oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzT2JqZWN0
RnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NTY3JpcHRGcm9t
KGluIERPTVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c1N0eWxlRnJvbShpbiBE
T01TdHJpbmcgdXJsKTsKKworICAgICAgICBib29sZWFuIGFsbG93c0V2YWwoKTsKKyAgICAgICAg
Ym9vbGVhbiBhbGxvd3NJbmxpbmVTY3JpcHQoKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NJbmxp
bmVTdHlsZSgpOworICAgIH07CisKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZmMTMyNThhZGNmYjViMGQxZmUzMWU4
ZjE5ZTAzOTE0NWNhYjdhMmUuLjQ2Yjc1MThjNjc5MjA1NzRmODEzMmIwMDYwNDA4Y2IwODI2NTcz
NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMi0wNy0xOSAgTWlrZSBXZXN0ICA8bWt3c3RA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgZXhwZXJpbWVudGFsIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IHNjcmlwdCBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTcwNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktYWxsb3dldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRm
cm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20uaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd2ltYWdlZnJvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd3NjcmlwdGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9t
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2FjdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJp
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qczogQWRkZWQuCisgICAgICAgIChs
b2cpOgorICAgICAgICAoaW5qZWN0UG9saWN5KToKKwogMjAxMi0wNy0xOSAgWmFuIERvYmVyc2Vr
ICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRl
bmluZywgYWRkaW5nIG1pc3NpbmcgYmFzZWxpbmUgcmVxdWlyZWQgYWZ0ZXIgcjEyMjc2MS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJkYThkNWRlOGFiZDg3MDk5MmUxOGY3ZTMyNzcwMTc2OTA2ZjQ3OTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorUEFTUyBjb25uZWN0aW9uIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kg
ZXhpc3RzLgorUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0
cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDc3
MzMyM2IxOTZmNTc2YzgzMzI3MWM4Zjg5NTdmNDBmYjFlYTQyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4x
L3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwKQEAgLTAsMCArMSwyMCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cisg
IDxib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVz
dHMtYmFzZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5T
ZWN1cml0eVBvbGljeS5hbGxvd3NDb25uZWN0aW9uVG8oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkK
KyAgICAgICAgICBsb2coJ1BBU1MgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5
IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlvbiBp
cyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKworICAgICAgaW5qZWN0
UG9saWN5KCJjb25uZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBp
ZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0Nvbm5lY3Rpb25UbygnaHR0cDovL2V4
YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBhbGxv
d2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZB
SUwgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3Nj
cmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFs
bG93ZXZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40Zjk4YTVmYjEyZDFkZTQ0MDQwYjAyMWNiZjE0NTU4MDZmZGY0NzA0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGV2YWwgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuCitQQVNTIGV2YWwgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dldmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIzNzkxYTQyZDgxMmQ2MmYxNTg5NDE1MTk5
YTAwZDY0ODcwNWI3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2
YWwuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0V2YWwoKSkKKyAg
ICAgICAgICBsb2coJ1BBU1MgZXZhbCBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4n
KTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBub3QgYWxsb3dlZCB3
aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNy
YyAndW5zYWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xp
Y3kuYWxsb3dzRXZhbCgpKQorICAgICAgICAgIGxvZygnUEFTUyBldmFsIGlzIG5vdCBhbGxvd2Vk
IHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwg
ZXZhbCBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZy
b20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ1YjVkMTUwZjk3NzkwY2MyOWVhOTM5YTZmZmU1MjBhMmM1YzFkZWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGlj
eSBleGlzdHMuCitQQVNTIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjVlYjBjZDJmYjA0ZDk1
NjJkMzdkZDQxMmY1YjcwNzhkYjgwZDQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93Zm9udGZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFs
bG93c0ZvbnRGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNT
IGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisg
ICAgICAgICAgbG9nKCdGQUlMIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhp
c3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koImZvbnQtc3JjIGh0dHA6Ly9ub3RleGFtcGxl
LmNvbS87Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRm9u
dEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1MgZm9udCBp
cyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAg
ICAgbG9nKCdQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAg
PC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Zy
YW1lZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA2ZDQzMjEyNGNjNDNhNDJkNzkwYjU1
YmU5M2E1N2IwN2RjMzE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d2ZyYW1lZnJvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZyYW1lIGlzIGFs
bG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBmcmFtZSBpcyBub3QgYWxsb3dlZCB3
aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Zy
YW1lZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTYxYWE1OTJhYzljMDkzNzE5MTBhMzg4ZjUwYjVjZTU3MjViNjljZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1sCkBAIC0wLDAgKzEs
MjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9s
aWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9j
dW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20v
JykpCisgICAgICAgICAgbG9nKCdQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kg
ZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBmcmFtZSBpcyBub3Qg
YWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgi
ZnJhbWUtc3JjIGh0dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisKKyAgICAgIGlmICghZG9jdW1l
bnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykp
CisgICAgICAgICAgbG9nKCdQQVNTIGZyYW1lIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4
aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZnJhbWUgaXMgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRt
bD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1hZ2Vmcm9tLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmI1OGEwNTlkMGM3ZWI2M2U2YTEzNzQ3MzVlNGU5MjJhNWJkMDBkZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACitQQVNTIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3Rz
LgorUEFTUyBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93aW1hZ2Vmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlZmI1MGYyMTQ2OTMwMGZkMmIw
YzRlNDY5OTY3Njc3ZmQwYTAyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd2ltYWdlZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dz
SW1hZ2VGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGlt
YWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAg
ICAgICAgIGxvZygnRkFJTCBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlz
dHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgiaW1nLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5j
b20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0ltYWdl
RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBpbWFnZSBp
cyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAg
ICAgbG9nKCdGQUlMIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAg
IDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd21lZGlhZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dt
ZWRpYWZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NTcyZWY5Nzk0ODI1NjU5MTQ2ODgy
N2E0NTZlYjA0ZDJhNjFhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dtZWRpYWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBtZWRpYSBpcyBh
bGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgbWVkaWEgaXMgbm90IGFsbG93ZWQg
d2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dt
ZWRpYWZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21lZGlhZnJvbS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg1ZDBlMjM3OGRmYzU1OGU4OTY2ZjY4MjI2MTZiZTA2MzU2ZDcxYTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbApAQCAtMCwwICsx
LDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBv
bGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRv
Y3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29t
LycpKQorICAgICAgICAgIGxvZygnUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5
IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgbWVkaWEgaXMgbm90
IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3ko
Im1lZGlhLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3Vt
ZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycp
KQorICAgICAgICAgIGxvZygnUEFTUyBtZWRpYSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBl
eGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG1lZGlhIGlzIGFsbG93
ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDE5YzJhZTJiZWFjNjY4NGUwZGE1OGQyMmI1ZDBkMDAwNTc1MDc1ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuCitQQVNTIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2E2OTRjZDgzNmRj
NzE2MGRjMmMxN2YyM2NjMTdhZmJhYWIxOGViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93b2JqZWN0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMi
Pjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xp
Y3kuYWxsb3dzT2JqZWN0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxv
ZygnUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAg
ICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5v
IHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgib2JqZWN0LXNyYyBodHRw
Oi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9s
aWN5LmFsbG93c09iamVjdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBs
b2coJ1BBU1Mgb2JqZWN0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAg
ICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgb2JqZWN0IGlzIGFsbG93ZWQgd2hlbiBwb2xp
Y3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMx
ZGY1ZWVhZDMxN2M0MzkzZGMyNDc5ZmNmM2UzMDUwYzY1ZjdmOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorUEFTUyBzY3JpcHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNT
IHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd3NjcmlwdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWYxMDU1NzcyMTFjMjEyMWM3OGI5YjI4
MDRkMWVjYmI3YWRmM2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
c2NyaXB0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzU2Ny
aXB0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzY3Jp
cHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlz
dHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyBodHRwOi8vbm90ZXhhbXBs
ZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1Nj
cmlwdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgc2Ny
aXB0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAg
ICAgICAgICBsb2coJ0ZBSUwgc2NyaXB0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicp
OworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dzdHlsZWZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZTUwODU5MzljZTJhNDkx
OTA4ZDRmOWE5NTRiMjdhNWQyZWEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dzdHlsZWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBzdHls
ZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1Mgc3R5bGUgaXMgbm90IGFs
bG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dzdHlsZWZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc5YmUwMmZkODNmZjRmMTJiNTAxNzQyMGYwNDJjMTNhZmE5ODQzNGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbApAQCAt
MCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1
cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAg
aWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1w
bGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBhbGxvd2VkIHdoZW4gbm8g
cG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgc3R5bGUg
aXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQ
b2xpY3koInN0eWxlLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAo
IWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1wbGUu
Y29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBv
bGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHN0eWxlIGlz
IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NTFkZjFjNGUzOWVjNjRlYTQwMjhmMTM1MjRkN2UzYzA2MmVkNGY4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
K1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIGZhbHNlIHdoZW4gbm8gcG9s
aWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRydWUg
d2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3Rp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMzQ0
MjQzNjg0MzczMTIxMGVlMjY3NzdlNWQwNzU5M2IyNmJlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5pc0FjdGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5hY3RpdmUgaXMgZmFsc2Ugd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxz
ZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3RpdmUgaXMg
dHJ1dyB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2Ny
aXB0LXNyYyAndW5zYWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0
eVBvbGljeS5pc0FjdGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0
eVBvbGljeS5hY3RpdmUgaXMgdHJ1ZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNl
CisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFjdGl2ZSBpcyBm
YWxzZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRh
YjI2ZTU5YTMwYTA0NmVhZDA0ODQyNjJlM2YxZDE4ZGY2ZGQ3OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
UEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3aGVu
IG5vIHBvbGljeSBleGlzdHMuCitQQVNTIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVS
SXMgaGFzIGxlbmd0aCAxIHdoZW4gcG9saWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuU2VjdXJp
dHlQb2xpY3kucmVwb3J0VVJJc1swXSBpcyBjb3JyZWN0LgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDIzNmEwMTFiNmE0ZmNhNTgxYThlNjVhZTYwOGMwNjdkMmExNzEyZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbApAQCAtMCwwICsx
LDI0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBv
bGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRv
Y3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09PSAwKQorICAgICAgICAg
IGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGgg
MCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdG
QUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0aCAnICsgZG9j
dW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdoZW4gbm8gcG9saWN5
IGV4aXN0cy4nKTsKKworICAgICAgaW5qZWN0UG9saWN5KCdyZXBvcnQtdXJpIGh0dHA6Ly9leGFt
cGxlLmNvbS8nKTsKKworICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVS
SXMubGVuZ3RoID09PSAxKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAg
ICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9y
dFVSSXMgaGFzIGxlbmd0aCAnICsgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcy5s
ZW5ndGggKyAnIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaWYgKGRvY3VtZW50LlNl
Y3VyaXR5UG9saWN5LnJlcG9ydFVSSXNbMF0gPT09ICJodHRwOi8vZXhhbXBsZS5jb20vIikKKyAg
ICAgICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJc1swXSBp
cyBjb3JyZWN0LicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5T
ZWN1cml0eVBvbGljeS5yZXBvcnRVUklzWzBdIGlzICcgKyBkb2N1bWVudC5TZWN1cml0eVBvbGlj
eS5yZXBvcnRVUklzWzBdICsgJyAoc2hvdWxkIGJlIGBodHRwOi8vZXhhbXBsZS5jb20vYCkuJyk7
CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9z
ZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3Rz
LWJhc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZkYjEyYWU2N2YyNzM5MTVhMWRjN2RkNDJmMGRkMjQwNWNj
MmNmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNl
LmpzCkBAIC0wLDAgKzEsMTkgQEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2cobXNn
KSB7CisgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyk7CisgICAgZG9j
dW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKHR4dCk7CisgICAgZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2JyJykpOworfQorCitmdW5jdGlvbiBpbmplY3RQb2xpY3kocG9saWN5KSB7CisgICAgdmFy
IG1ldGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7CisgICAgbWV0YS5zZXRBdHRy
aWJ1dGUoJ2h0dHAtZXF1aXYnLCAnWC1XZWJLaXQtQ1NQJyk7CisgICAgbWV0YS5zZXRBdHRyaWJ1
dGUoJ2NvbnRlbnQnLCBwb2xpY3kpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWV0
YSk7Cit9CisKK2lmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kpCisgICAgbG9nKCdGQUlMIGRv
Y3VtZW50LnNlY3VyaXR5UG9saWN5IGlzIG5vdCBkZWZpbmVkLicpCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153517</attachid>
            <date>2012-07-20 08:56:43 -0700</date>
            <delta_ts>2012-07-20 13:58:19 -0700</delta_ts>
            <desc>AdGTK again. I hate XCode.</desc>
            <filename>bug-91707-20120720175638.patch</filename>
            <type>text/plain</type>
            <size>81882</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY1Y2NlYzBkMmNkMzFm
ZjJlOTlmNzBiOGU1MjkwODE0OGFiMTJkMC4uMjYwMDc3ZDFkZGFkMTE1YzVjYzZmMDA1MTg2NGU1
ZmU0ZDIxYjUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNyBAQAorMjAxMi0wNy0xOSAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTUCAxLjEgZWRpdG9y
J3MgZHJhZnQgZGVmaW5lcyBhIHNjcmlwdCBpbnRlcmZhY2UgdGhhdCBnaXZlcworICAgICAgICBk
ZXZlbG9wZXJzIHRoZSBhYmlsaXR5IHRvIHF1ZXJ5IGEgZG9jdW1lbnQgcmVnYXJkaW5nIHRoZSBy
ZXN0cmljdGlvbnMKKyAgICAgICAgc2V0IGJ5IGl0J3MgY3VycmVudGx5IGFjdGl2ZSBjb250ZW50
IHNlY3VyaXR5IHBvbGljeVsxXS4gVGhpcyBwYXRjaAorICAgICAgICBleHBvc2VzIHRoYXQgQVBJ
IGluIHRlcm1zIG9mIGEgbmV3IERPTVNlY3VyaXR5UG9saWN5IG9iamVjdC4KKworICAgICAgICBE
YXRhIGZvciB0aGUgQVBJIGlzIGdhdGhlcmVkIGZyb20gdGhlIGV4aXN0aW5nIENvbnRlbnRTZWN1
cml0eVBvbGljeQorICAgICAgICBvYmplY3Qgb24gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuIENT
UCdzIHZhcmlvdXMgbWV0aG9kcyBoYXZlIGJlZW4KKyAgICAgICAgZXh0ZW5kZWQgd2l0aCBhIGBy
ZXBvcnRpbmdTdGF0dXNgIHBhcmFtZXRlciB3aGljaCwgdW5zdXJwcmlzaW5nbHksCisgICAgICAg
IGRldGVybWluZXMgd2hldGhlciBhIHZpb2xhdGlvbiByZXBvcnQgc2hvdWxkIGJlIHNlbnQgZm9y
IGJsb2NrZWQKKyAgICAgICAgcmVzb3VyY2VzLiBUaGlzIGFsbG93cyB1cyB0byByZXVzZSB0aGUg
c2FtZSBjb2RlcGF0aHMgYnkgc2ltcGx5IHVzaW5nCisgICAgICAgIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6U3VwcHJlc3NSZXBvcnQgd2hlbiBxdWVyeWluZyBvbiBiZWhhbGYgb2YgdGhlCisgICAg
ICAgIEFQSSwgYW5kIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCB3aGVuIGNoZWNr
aW5nIHJlc291cmNlcyBhCisgICAgICAgIHBhZ2Ugd2FudHMgdG8gbG9hZC4KKworICAgICAgICBU
aGlzIGZlYXR1cmUgaXMgZ2F0ZWQgb24gdGhlIENTUF9ORVhUIGZsYWcsIHdoaWNoIGlzIGN1cnJl
bnRseSBkaXNhYmxlZAorICAgICAgICBmb3IgYWxsIHBvcnRzIG90aGVyIHRoYW4gQ2hyb21pdW0u
CisKKyAgICAgICAgWzFdOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlvbi5kZXYuaHRtbCNzY3JpcHQtaW50
ZXJmYWNlcy0tZXhwZXJpbWVudGFsCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rp
b250by5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2ZvbnRmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1l
ZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20uaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d29iamVjdGZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWlzYWN0aXZlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
cHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICAgICBXZSBhZGRlZCBhIG5ldyBvYmplY3QsIHNvIGxldCdzIHRlbGwgX2V2ZXJ5b25lIV8KKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNl
Y3VyaXR5UG9saWN5KToKKyAgICAgICAgICAgIEV4cG9zZSB0aGUgU2VjdXJpdHlQb2xpY3kgb2Jq
ZWN0IHZpYSBEb2N1bWVudCwgZ2F0ZWQgb24gQ1NQX05FWFQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICAgICBBZGRp
bmcgdGhlIFNlY3VyaXR5UG9saWN5IG9iamVjdCB0byB0aGUgZG9jdW1lbnQsIGdhdGVkIG9uIENT
UF9ORVhULgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAg
ICAgKENTUERpcmVjdGl2ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlz
dDo6Y2hlY2tJbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hl
Y2tOb25jZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJj
ZSk6CisgICAgICAgICAgICBFeHRyYWN0aW5nIHRoZSBjb3JlIGNoZWNrcyBvdXQgaW50byBzZXBh
cmF0ZSBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tF
dmFsQW5kUmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAgICAgIFVzZSBjaGVja0V2YWwuCisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0
aW9uKToKKyAgICAgICAgICAgIFVzZSBjaGVja05vbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NQ
RGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAg
ICAgVXNlIGNoZWNrSW5saW5lLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrU291
cmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0
VVJMcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2
ZW50SGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bmxpbmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0V2
YWwpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHRGcm9t
U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0
RnJvbVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0No
aWxkRnJhbWVGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6
OmFsbG93SW1hZ2VGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93U3R5bGVGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93Rm9udEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0
aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2UpOgorICAgICAgICAgICAgVGhlc2UgbWV0
aG9kcyBub3cgYnJhbmNoIG9uIGByZXBvcnRpbmdTdGF0dXNgOiBpZiBgU2VuZFJlb3BvcnRgLAor
ICAgICAgICAgICAgdGhleSBjYWxsIGBjaGVja1hBbmRSZXBvcnRWaW9sYXRpb25gLCBvdGhlcndp
c2UsIHRoZXkgY2FsbCBgY2hlY2tYYC4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxp
c3Q6OmdhdGhlclJlcG9ydFVSSXMpOgorICAgICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IGdhdGhl
cnMgdGhlIHZpb2xhdGlvbiByZXBvcnQgVVJJcyBpbnRvIGEgRE9NU3RyaW5nTGlzdC4KKyAgICAg
ICAgKFdlYkNvcmU6OmlzQWxsb3dlZEJ5QWxsV2l0aENhbGxTdGFjayk6CisgICAgICAgIChXZWJD
b3JlOjppc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxs
b3dlZEJ5QWxsV2l0aFVSTCk6CisgICAgICAgICAgICBUaGVzZSBub3cgcGFzcyByZXBvcnRpbmdT
dGF0dXMgdGhyb3VnaCB0byB0aGUgdmFyaW91cyBgYWxsb3dYYCBtZXRob2RzLgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVudEhh
bmRsZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJ
bmxpbmVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd0lubGluZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dFdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0
eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21Tb3Vy
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRG
cm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dNZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZSk6CisgICAgICAgICAgICBUaGVzZSBhY2NlcHQgYSBu
ZXcgYHJlcG9ydGluZ1N0YXR1c2AgcGFyYW1ldGVyLCB3aGljaCBpcyBwYXNzZWQgdGhyb3VnaAor
ICAgICAgICAgICAgdG8gdGhlIENTUERpcmVjdGl2ZUxpc3QgbWV0aG9kcy4KKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6aXNBY3RpdmUpOgorICAgICAgICAgICAgTmV3
IG1ldGhvZCB0aGF0IHJldHVybnMgYHRydWVgIGlmIHBvbGljeSBpcyBhY3RpdmUuCisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVSSXMpOgorICAg
ICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IHJldHVybnMgYSBET01TdHJpbmdMaXN0IG9mIHZpb2xh
dGlvbiByZXBvcnQgVVJJcy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OkRPTVNlY3Vy
aXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vj
dXJpdHlQb2xpY3k6On5ET01TZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpET01T
ZWN1cml0eVBvbGljeTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQ
b2xpY3k6OnJlcG9ydFVSSXMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6
OmFsbG93c0lubGluZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGlj
eTo6YWxsb3dzSW5saW5lU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xp
Y3k6OmFsbG93c0V2YWwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFs
bG93c0Nvbm5lY3Rpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6
YWxsb3dzRm9udEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFs
bG93c0ZyYW1lRnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxs
b3dzSW1hZ2VGcm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NNZWRpYUZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c09iamVjdEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c1NjcmlwdEZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93
c1N0eWxlRnJvbSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRE9NU2VjdXJpdHlQb2xpY3kpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9E
T01TZWN1cml0eVBvbGljeS5pZGw6IEFkZGVkLgorCiAyMDEyLTA3LTE5ICBBbmRyZXkgS29zeWFr
b3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogbWluaW1p
emUgbnVtYmVyIG9mIHByb3BlcnRpZXMgb24gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuUmVjb3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg5ZDQ1MDI4MTJiNzc0YTlj
ZjBkYzdmOTkwNGQ3NmM4ZDA1ZWJlOTguLjYyMThkMTQxYTU3NWMyMzU4YjAxNGExMjQ5ZWJhNzhk
NmY4Njg1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MzAsNiArNTMwLDcgQEAgU0VUKFdl
YkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Db25zb2xlLmlkbAogICAgIHBhZ2UvQ29vcmRpbmF0
ZXMuaWRsCiAgICAgcGFnZS9DcnlwdG8uaWRsCisgICAgcGFnZS9ET01TZWN1cml0eVBvbGljeS5p
ZGwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKICAg
ICBwYWdlL0V2ZW50U291cmNlLmlkbApAQCAtMTYyMCw2ICsxNjIxLDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAogICAgIHBhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcAogICAgIHBhZ2UvQ3J5cHRvLmNwcAorICAgIHBhZ2UvRE9N
U2VjdXJpdHlQb2xpY3kuY3BwCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3BwCiAgICAgcGFnZS9E
T01UaW1lci5jcHAKICAgICBwYWdlL0RPTVdpbmRvdy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAppbmRleCA3Mjg3ZDljYmIyNzZlMzE3M2EyMGNjNDVlN2U2NTc3ODNlZWZlY2VmLi4yZTkz
YTQwNmI2YmM4MzUxZTg3MjhlM2IwYjBlNzQ1NTcyOTdiZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC05NCw2ICs5NCw3IEBACiAjaW5jbHVkZSAiSlNET01QYXJzZXIuY3BwIgog
I2luY2x1ZGUgIkpTRE9NUGx1Z2luLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbkFycmF5LmNw
cCIKKyNpbmNsdWRlICJKU0RPTVNlY3VyaXR5UG9saWN5LmNwcCIKICNpbmNsdWRlICJKU0RPTVNl
bGVjdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAiCiAjaW5j
bHVkZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDc2NzA3M2U3ZDI3YmMxNzU4YzdlNjRiNjY1NmVkNGVkZmUwZDU1ZTIuLmUwNWQ4YTMzM2Vi
MjZjMjNiNzgzZTMxZDQ2MzlmZTFhNjdjNTgzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtNDA1LDYgKzQwNSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvQ29uc29sZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db29yZGluYXRlcy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2Uv
RE9NU2VjdXJpdHlQb2xpY3kuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4
IDJjMjljOGY1MmE2MjgwNWZhYzU2NDk3MDY0NTE4M2E3MDI2NzFhZTQuLjY0MjhlM2MzM2U5OTUy
OGVjNWFkOGY0ODBlODQzMTdiM2QyYzBjNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
QEAgLTQxMyw2ICs0MTMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL3BhZ2UvQ29u
c29sZS5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKICAgICAkJFBXRC9w
YWdlL0NyeXB0by5pZGwgXAorICAgICQkUFdEL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsIFwK
ICAgICAkJFBXRC9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogICAgICQkUFdEL3BhZ2UvRE9NV2lu
ZG93LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9FdmVudFNvdXJjZS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggM2ViOTQzOTkxZDdlZjM3YzJjMDk0YWEzNzI4MDAwNzczMmY5
OTA0OC4uMzI0Y2M2MTQ3YTM5Njc2Yjg1NGZlNmQ3OGM1YTBlNTU0NTRlMmNlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNDIsNiArMTQyLDggQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBsdWdpbi5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01QbHVnaW4uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVNlY3VyaXR5UG9saWN5LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3Vy
aXR5UG9saWN5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWxlY3Rpb24uY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VsZWN0aW9uLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgXApAQCAtOTU3LDYgKzk1
OSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvcGFnZS9Db25zb2xlLmlk
bCBcCiAJJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdl
L0NyeXB0by5pZGwgXAorCSQoV2ViQ29yZSkvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwgXAog
CSQoV2ViQ29yZSkvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvRE9N
V2luZG93LmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL0V2ZW50U291cmNlLmlkbCBcCkBAIC0zMDA4
LDYgKzMwMTEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29vcmRpbmF0ZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NyeXB0by5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0ZTljMDJmOTBlYzI3Mjk2MDY5MzRiMzg3YTdjNTU4
Y2FjNjMxMDQxLi42NTU4ZjgzNTc1MjljYzdiNTFlMTU2MTQ5NzM1MTdlMDBkZWQzZTE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yMjMsNiArMjIzLDcgQEAKICAgICAgICAgICAgICdwYWdlL0NvbnRl
eHRNZW51Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ29vcmRpbmF0ZXMuaCcsCisgICAgICAgICAgICAncGFn
ZS9ET01TZWN1cml0eVBvbGljeS5oJywKICAgICAgICAgICAgICdwYWdlL0RPTVdpbmRvdy5oJywK
ICAgICAgICAgICAgICdwYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5oJywKICAgICAgICAgICAgICdw
YWdlL0RyYWdBY3Rpb25zLmgnLApAQCAtMTE1OSw2ICsxMTYwLDcgQEAKICAgICAgICAgICAgICdw
YWdlL0NvbnNvbGUuaWRsJywKICAgICAgICAgICAgICdwYWdlL0Nvb3JkaW5hdGVzLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9DcnlwdG8uaWRsJywKKyAgICAgICAgICAgICdwYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9ET01TZWxlY3Rpb24uaWRsJywKICAg
ICAgICAgICAgICdwYWdlL0RPTVdpbmRvdy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NV2lu
ZG93UGFnZVBvcHVwLmlkbCcsCkBAIC0zMDMwLDYgKzMwMzIsNyBAQAogICAgICAgICAgICAgJ3Bh
Z2UvQ29udGV4dE1lbnVQcm92aWRlci5oJywKICAgICAgICAgICAgICdwYWdlL0NyeXB0by5jcHAn
LAogICAgICAgICAgICAgJ3BhZ2UvQ3J5cHRvLmgnLAorICAgICAgICAgICAgJ3BhZ2UvRE9NU2Vj
dXJpdHlQb2xpY3kuY3BwJywKICAgICAgICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5jcHAnLAog
ICAgICAgICAgICAgJ3BhZ2UvRE9NU2VsZWN0aW9uLmgnLAogICAgICAgICAgICAgJ3BhZ2UvRE9N
VGltZXIuY3BwJywKQEAgLTcyNjMsNiArNzI2Niw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBsdWdpbi5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXku
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NUGx1Z2luQXJyYXkuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3VyaXR5UG9saWN5LmNwcCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlY3VyaXR5UG9saWN5
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNET01TZWxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NU2VsZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmls
ZS5hbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KaW5k
ZXggZmEwNDU0MjAzY2I2Y2FiM2JjMTE2ODY4ZGE4ZGM2M2I5YjY3ZWNjZC4uNmY2MjA0OTI0NTFk
NWE3ZGM4ODY5NzFlMzdiOTVjNGYzMzJmZDU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00Myw2ICs0Myw4IEBAIHdlYmtpdGd0a19n
ZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01E
T01QbHVnaW5BcnJheVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TURPTVBsdWdpbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01QbHVn
aW5Qcml2YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TZWN1cml0
eVBvbGljeS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TZWN1cml0
eVBvbGljeVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNl
bGVjdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TZWxlY3Rp
b25Qcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdM
aXN0LmNwcCBcCkBAIC0yNzgsNiArMjgwLDcgQEAgd2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwK
IAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRG9jdW1lbnRUeXBlLmggXAogCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01JbXBsZW1lbnRhdGlvbi5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNlY3VyaXR5UG9saWN5LmggXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdNYXAuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTURPTVRva2VuTGlzdC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGFm
YTczMmZhMTAyNWFhMDQxNjg0MTAwMDM1MTI5MjEzYTg2ZDQ1YmYuLmMyMDBjMDc1N2JjNzgzZjY1
ZGIzNDIzZGQxYTkyZGI4ZDY1ZmQ1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjIy
LDYgKzIyMiwxMCBAQAogI2luY2x1ZGUgIlRleHRBdXRvc2l6ZXIuaCIKICNlbmRpZgogCisjaWYg
RU5BQkxFKENTUF9ORVhUKQorI2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9saWN5LmgiCisjZW5kaWYK
KwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1c2luZyBuYW1l
c3BhY2UgVW5pY29kZTsKQEAgLTE2NDEsNiArMTY0NSwxNSBAQCB2b2lkIERvY3VtZW50OjpkaXNw
YXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCkKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KENTUF9ORVhUKQorRE9NU2VjdXJpdHlQb2xpY3kqIERvY3VtZW50OjpzZWN1cml0eVBvbGljeSgp
Cit7CisgICAgaWYgKCFtX2RvbVNlY3VyaXR5UG9saWN5KQorICAgICAgICBtX2RvbVNlY3VyaXR5
UG9saWN5ID0gRE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSh0aGlzKTsKKyAgICByZXR1cm4gbV9k
b21TZWN1cml0eVBvbGljeS5nZXQoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgRG9jdW1lbnQ6Om5v
ZGVOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIiNkb2N1bWVudCI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IGI2MzYxODQ5MjhkNTM2NjZkNTA3NTRiODMyZDkwMGQ1MGNjZGM1OWQuLjA5Mzll
MGIyZTI4YTk2MzhiMWJiZmJkNDk4MjFjODJlOTA1Y2YwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CkBAIC0xNzksNiArMTc5LDEwIEBAIGNsYXNzIFByZXJlbmRlcmVyOwogY2xhc3MgVGV4dEF1dG9z
aXplcjsKICNlbmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorY2xhc3MgRE9NU2VjdXJpdHlQ
b2xpY3k7CisjZW5kaWYKKwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogZW51bSBQYWdl
c2hvd0V2ZW50UGVyc2lzdGVuY2UgewpAQCAtNDE2LDYgKzQyMCwxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkaXNwYXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCk7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShDU1BfTkVYVCkKKyAgICBET01TZWN1cml0eVBvbGljeSogc2VjdXJpdHlQb2xpY3ko
KTsKKyNlbmRpZgorCiAgICAgUGFzc1JlZlB0cjxOb2RlPiBhZG9wdE5vZGUoUGFzc1JlZlB0cjxO
b2RlPiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIFBhc3NSZWZQdHI8SFRNTENvbGxl
Y3Rpb24+IGltYWdlcygpOwpAQCAtMTUzMiw2ICsxNTQwLDEwIEBAIHByaXZhdGU6CiAKICAgICBS
ZWZQdHI8V2ViS2l0TmFtZWRGbG93Q29sbGVjdGlvbj4gbV9uYW1lZEZsb3dzOwogCisjaWYgRU5B
QkxFKENTUF9ORVhUKQorICAgIFJlZlB0cjxET01TZWN1cml0eVBvbGljeT4gbV9kb21TZWN1cml0
eVBvbGljeTsKKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wgbV9kaWREaXNwYXRj
aFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
CmluZGV4IDdjMWM0ODM5YzI5Mjg3MDJlNzMyMDgxN2FmNzRkNjM0NmM3NDMwZTIuLjc0MjM4MWYy
YWI1MjE1MTE3ZmJhMmUwZTlkNDMyNjc3OGU2ZDIyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bApAQCAtMzc1LDYgKzM3NSw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFtDb25kaXRpb25hbD1QQUdFX1ZJU0lCSUxJVFlfQVBJXSBET01TdHJpbmcgd2Via2l0
VmlzaWJpbGl0eVN0YXRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVBBR0VfVklTSUJJTElUWV9BUEldIGJvb2xlYW4gd2Via2l0SGlkZGVuOwogCisgICAgICAgIC8v
IFNlY3VyaXR5IFBvbGljeSBBUEk6IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9jb250ZW50LXNlY3Vy
aXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmljYXRpb24uZGV2Lmh0bWwjc2NyaXB0
LWludGVyZmFjZXMKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1DU1Bf
TkVYVF0gRE9NU2VjdXJpdHlQb2xpY3kgU2VjdXJpdHlQb2xpY3k7CisKICAgICB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZGFj
NjVjMzM2ODZkNTg2YTQ5N2M5OWIzNTZjZWY4ZmQ2MDJiYzRhNy4uNzg2NGZjNGQzNjExOTVmYjdj
MjJmYTg0ZWJhZjM5NTNhNTY3YzY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeS5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgorI2luY2x1ZGUgIkRPTVN0
cmluZ0xpc3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgi
CiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCkBAIC01NDYsMjEgKzU0NywyMyBAQCBwdWJsaWM6
CiAgICAgY29uc3QgU3RyaW5nJiBoZWFkZXIoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcjsgfQog
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBoZWFkZXJUeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXBvcnRPbmx5ID8gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRPbmx5
IDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpFbmZvcmNlUG9saWN5OyB9CiAKLSAgICBib29sIGFs
bG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lRXZl
bnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTY3JpcHQoY29u
c3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRM
aW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250
ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAg
ICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIGNvbnN0OworICAg
IGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVy
cyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsK
KyAgICBib29sIGFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExp
bmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBi
b29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKICAgICBib29sIGFsbG93U2NyaXB0Tm9u
Y2UoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBX
VEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJikgY29uc3Q7CiAKLSAg
ICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9v
bCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxs
b3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxv
d0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd1N0eWxl
RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0ZvbnRGcm9tU291
cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNv
bnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtV
UkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0NoaWxkRnJhbWVGcm9tU291
cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dT
dHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0
aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3QgS1VS
TCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBi
b29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJj
ZShjb25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNv
bnN0OworCisgICAgdm9pZCBnYXRoZXJSZXBvcnRVUklzKERPTVN0cmluZ0xpc3QmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1BEaXJlY3RpdmVMaXN0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKTsKQEAgLTU4MCwxMSArNTgzLDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2dV
bnJlY29nbml6ZWREaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdDsKICAgICB2b2lk
IGxvZ0R1cGxpY2F0ZURpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0OwogICAgIHZv
aWQgbG9nSW52YWxpZE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0OworCiAgICAgYm9v
bCBjaGVja0V2YWwoQ1NQRGlyZWN0aXZlKikgY29uc3Q7CisgICAgYm9vbCBjaGVja0lubGluZShD
U1BEaXJlY3RpdmUqKSBjb25zdDsKKyAgICBib29sIGNoZWNrTm9uY2UoY29uc3QgU3RyaW5nJikg
Y29uc3Q7CisgICAgYm9vbCBjaGVja1NvdXJjZShDU1BEaXJlY3RpdmUqLCBjb25zdCBLVVJMJikg
Y29uc3Q7CiAKKyAgICBib29sIGNoZWNrRXZhbEFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3Rp
dmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRV
UkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSA9IFdU
Rjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihD
U1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0
OwogICAgIGJvb2wgY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJpbmcmIG5v
bmNlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRV
UkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJv
b2wgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSosIGNvbnN0IFN0cmlu
ZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0cmluZygpLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRpbmFsTnVtYmVy
OjpiZWZvcmVGaXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwKSBjb25zdDsK
ICAgICBib29sIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSosIGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0OwogCiAgICAgYm9vbCBkZW55SWZF
bmZvcmNpbmdQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlcG9ydE9ubHk7IH0KQEAgLTcwNyw3
NCArNzE0LDEwNyBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZhbChDU1BEaXJlY3Rp
dmUqIGRpcmVjdGl2ZSkgY29uc3QKICAgICByZXR1cm4gIWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUt
PmFsbG93RXZhbCgpOwogfQogCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrSW5saW5lKENT
UERpcmVjdGl2ZSogZGlyZWN0aXZlKSBjb25zdAoreworICAgIHJldHVybiAhZGlyZWN0aXZlIHx8
IGRpcmVjdGl2ZS0+YWxsb3dJbmxpbmUoKTsKK30KKworYm9vbCBDU1BEaXJlY3RpdmVMaXN0Ojpj
aGVja05vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX3Nj
cmlwdE5vbmNlLmlzTnVsbCgpCisgICAgICAgICAgICB8fCAoIW1fc2NyaXB0Tm9uY2UuaXNFbXB0
eSgpCisgICAgICAgICAgICAgICAgJiYgbm9uY2Uuc3RyaXBXaGl0ZVNwYWNlKCkgPT0gbV9zY3Jp
cHROb25jZSkpOworfQorCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrU291cmNlKENTUERp
cmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd3ModXJsKTsKK30KKwogQ1NQRGlyZWN0aXZl
KiBDU1BEaXJlY3RpdmVMaXN0OjpvcGVyYXRpdmVEaXJlY3RpdmUoQ1NQRGlyZWN0aXZlKiBkaXJl
Y3RpdmUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRpcmVjdGl2ZSA/IGRpcmVjdGl2ZSA6IG1fZGVm
YXVsdFNyYy5nZXQoKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0lubGluZUFu
ZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBj
b25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGlu
YWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVj
a0V2YWxBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IFN0
cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykgY29uc3QKIHsKLSAgICBpZiAoIWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUtPmFs
bG93SW5saW5lKCkpCisgICAgaWYgKGNoZWNrRXZhbChkaXJlY3RpdmUpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNvbGVN
ZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBjb250
ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmVwb3J0VmlvbGF0aW9uKGRpcmVjdGl2ZS0+dGV4
dCgpLCBjb25zb2xlTWVzc2FnZSArICJcIiIgKyBkaXJlY3RpdmUtPnRleHQoKSArICJcIi5cbiIs
IEtVUkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIGNhbGxTdGFjayk7CiAgICAgcmV0dXJu
IGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNo
ZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3Ry
aW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6
Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAogewotICAgIGlmIChtX3NjcmlwdE5v
bmNlLmlzTnVsbCgpIHx8ICghbV9zY3JpcHROb25jZS5pc0VtcHR5KCkgJiYgbm9uY2Uuc3RyaXBX
aGl0ZVNwYWNlKCkgPT0gbV9zY3JpcHROb25jZSkpCisgICAgaWYgKGNoZWNrTm9uY2Uobm9uY2Up
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXBvcnRWaW9sYXRpb24obV9zY3JpcHROb25j
ZSwgY29uc29sZU1lc3NhZ2UgKyAiXCJzY3JpcHQtbm9uY2UgIiArIG1fc2NyaXB0Tm9uY2UgKyAi
XCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKICAgICByZXR1cm4gZGVu
eUlmRW5mb3JjaW5nUG9saWN5KCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tF
dmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBTdHJp
bmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6
T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2spIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrSW5saW5lQW5kUmVw
b3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBTdHJpbmcmIGNvbnNv
bGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUpIGNvbnN0CiB7Ci0gICAgaWYgKGNoZWNrRXZhbChkaXJlY3RpdmUp
KQorICAgIGlmIChjaGVja0lubGluZShkaXJlY3RpdmUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNvbGVNZXNzYWdlICsg
IlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBjb250ZXh0VVJMLCBj
b250ZXh0TGluZSwgY2FsbFN0YWNrKTsKKyAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50
ZXh0KCksIGNvbnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxu
IiwgS1VSTCgpLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CiAgICAgcmV0dXJuIGRlbnlJZkVu
Zm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrU291cmNl
QW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICBpZiAoIWRpcmVjdGl2ZSB8fCBk
aXJlY3RpdmUtPmFsbG93cyh1cmwpKQorICAgIGlmIChjaGVja1NvdXJjZShkaXJlY3RpdmUsIHVy
bCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIFN0cmluZyB2ZXJiID0gdHlwZSA9PSAiY29u
bmVjdCIgPyAiY29ubmVjdCB0byIgOiAibG9hZCB0aGUiOwogICAgIHJlcG9ydFZpb2xhdGlvbihk
aXJlY3RpdmUtPnRleHQoKSwgIlJlZnVzZWQgdG8gIiArIHZlcmIgKyAiICIgKyB0eXBlICsgIiAn
IiArIHVybC5zdHJpbmcoKSArICInIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBD
b250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6IFwiIiArIGRpcmVjdGl2ZS0+dGV4dCgp
ICsgIlwiLlxuIiwgdXJsKTsKICAgICByZXR1cm4gZGVueUlmRW5mb3JjaW5nUG9saWN5KCk7CiB9
CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNv
bnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3Ry
aW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNv
bnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAo
IlJlZnVzZWQgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IFVSTCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRo
ZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAg
cmV0dXJuIChjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUo
bV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExp
bmUpCi0gICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygp
LCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICBpZiAocmVw
b3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCkgeworICAg
ICAgICByZXR1cm4gKGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVj
dGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250
ZXh0TGluZSkKKyAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9u
KFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lKG9wZXJhdGl2ZURpcmVjdGl2
ZShtX3NjcmlwdFNyYy5nZXQoKSkpCisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZShTdHJp
bmcoKSkpOworICAgIH0KIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2
ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lu
bGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGlu
Z1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgZXZl
bnQgaGFuZGxlciBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0dXJuIChjaGVja0lubGluZUFuZFJl
cG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25z
b2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpCi0gICAgICAgICAgICAmJiBjaGVj
a05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICBpZiAocmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCkgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5l
QW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSks
IGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkKKyAgICAgICAgICAgICAg
ICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2Fn
ZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1
cm4gKGNoZWNrSW5saW5lKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSkpCisg
ICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZShTdHJpbmcoKSkpOworICAgIH0KIH0KIAotYm9v
bCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29s
IENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRv
IGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0dXJuIGNoZWNr
SW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5n
ZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmV0
dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQg
PworICAgICAgICBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3Rp
dmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4
dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxpbmUob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0
U3JjLmdldCgpKSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTdHls
ZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lU3R5bGUo
Y29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRl
eHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdT
dGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVN
ZXNzYWdlLCAoIlJlZnVzZWQgdG8gYXBwbHkgaW5saW5lIHN0eWxlIGJlY2F1c2UgaXQgdmlvbGF0
ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICIpKTsK
LSAgICByZXR1cm4gY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4
dExpbmUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24o
b3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29u
dGV4dFVSTCwgY29udGV4dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxpbmUob3BlcmF0aXZlRGly
ZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0Ojph
bGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKK2Jv
b2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2ssIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9y
dGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29u
c29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9s
YXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikp
OwotICAgIHJldHVybiBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0
aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0cmluZygpLCBXVEY6Ok9y
ZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjayk7CisgICAgcmV0dXJuIHJlcG9y
dGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAg
ICBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0
U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0cmluZygpLCBXVEY6Ok9yZGluYWxOdW1iZXI6
OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjaykgOgorICAgICAgICBjaGVja0V2YWwob3BlcmF0aXZl
RGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSk7CiB9CiAKIGJvb2wgQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGNvbnN0IEtV
UkwmIHVybCkgY29uc3QKQEAgLTc4NSw1NiArODI1LDc4IEBAIGJvb2wgQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNv
bnRlCiAgICAgcmV0dXJuIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24obm9uY2UsICJSZWZ1
c2VkIHRvIGxvYWQgJyIgKyB1cmwuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRo
ZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiLCBjb250ZXh0
VVJMLCBjb250ZXh0TGluZSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3Jp
cHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoInNjcmlwdCIpKTsKLSAgICByZXR1cm4g
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0
U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENv
bnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5k
UmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIHVy
bCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3Jp
cHRTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2Jq
ZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJvYmplY3QiKSk7CiAgICAgaWYgKHVy
bC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBjaGVja1Nv
dXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9vYmplY3RTcmMuZ2V0
KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRW
aW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fb2JqZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBl
KSA6CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX29iamVjdFNyYy5n
ZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDaGlsZEZyYW1l
RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6
OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiZnJhbWUiKSk7CiAgICAgaWYgKHVy
bC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBjaGVja1Nv
dXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mcmFtZVNyYy5nZXQo
KSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZp
b2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mcmFtZVNyYy5nZXQoKSksIHVybCwgdHlwZSkg
OgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9mcmFtZVNyYy5nZXQo
KSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lt
YWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmluZywgdHlwZSwgKCJpbWFnZSIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VB
bmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1faW1nU3JjLmdldCgpKSwgdXJs
LCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBv
bGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9u
KG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ltZ1NyYy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAg
ICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9pbWdTcmMuZ2V0KCkpLCB1cmwpOwog
fQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtV
UkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1
cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIHR5cGUsICgic3R5bGUiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0Vmlv
bGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgdXJsLCB0eXBlKTsK
KyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2Vu
ZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2
ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNr
U291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgdXJsKTsKIH0KIAot
Ym9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVy
bCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9y
dGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlw
ZSwgKCJmb250IikpOwotICAgIHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihv
cGVyYXRpdmVEaXJlY3RpdmUobV9mb250U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1
cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/
CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2
ZShtX2ZvbnRTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3Bl
cmF0aXZlRGlyZWN0aXZlKG1fZm9udFNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAor
Ym9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1
cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1
cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJtZWRp
YSIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZl
RGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBv
cnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAg
ICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fbWVk
aWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3BlcmF0aXZl
RGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNv
bnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiY29ubmVjdCIp
KTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGly
ZWN0aXZlKG1fY29ubmVjdFNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHJlcG9y
dGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAg
ICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9jb25u
ZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2
ZURpcmVjdGl2ZShtX2Nvbm5lY3RTcmMuZ2V0KCkpLCB1cmwpOworfQorCit2b2lkIENTUERpcmVj
dGl2ZUxpc3Q6OmdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYgbGlzdCkgY29uc3QKK3sK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcmVwb3J0VVJJcy5zaXplKCk7ICsraSkKKyAg
ICAgICAgbGlzdC5hcHBlbmQobV9yZXBvcnRVUklzW2ldLnN0cmluZygpKTsKIH0KIAogLy8gcG9s
aWN5ICAgICAgICAgICAgPSBkaXJlY3RpdmUtbGlzdApAQCAtMTA4MiwyMSArMTE0NCwyMSBAQCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpk
ZXByZWNhdGVkSGVhZGVyVHlwZSgpCiAgICAgcmV0dXJuIG1fcG9saWNpZXMuaXNFbXB0eSgpID8g
RW5mb3JjZVBvbGljeSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlclR5cGUoKTsKIH0KIAotdGVtcGxh
dGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPikgY29uc3Q+Ci1ib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENhbGxTdGFjayhjb25zdCBD
U1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjaykKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd2Vk
KShQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrKGNv
bnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1
cyByZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb2xpY2ll
cy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93
ZWQpKGNhbGxTdGFjaykpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dl
ZCkoY2FsbFN0YWNrLCByZXBvcnRpbmdTdGF0dXMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0
aXZlTGlzdDo6KmFsbG93ZWQpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJl
ciYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNvbnN0IENTUERpcmVj
dGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpCit0ZW1wbGF0ZTxib29sIChDU1BEaXJl
Y3RpdmVMaXN0OjoqYWxsb3dlZCkoY29uc3QgU3RyaW5nJiwgY29uc3QgV1RGOjpPcmRpbmFsTnVt
YmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0PgorYm9v
bCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3Im
IHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
IHJlcG9ydGluZ1N0YXR1cykKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBvbGljaWVz
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dl
ZCkoY29udGV4dFVSTCwgY29udGV4dExpbmUpKQorICAgICAgICBpZiAoIShwb2xpY2llc1tpXS5n
ZXQoKS0+KmFsbG93ZWQpKGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTExMTIsNDQgKzExNzQsNDQgQEAgYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhOb25jZShjb25zdCBD
U1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgY29uc3QgU3RyaW4KICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93RnJvbVVS
TCkoY29uc3QgS1VSTCYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwoY29uc3Qg
Q1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHVybCkKK3RlbXBs
YXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd0Zyb21VUkwpKGNvbnN0IEtVUkwmLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q+Citib29sIGlzQWxs
b3dlZEJ5QWxsV2l0aFVSTChjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywg
Y29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyBy
ZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVTaG91bGRC
eXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9saWNpZXMuc2l6ZSgpOyAr
K2kpIHsKLSAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxvd0Zyb21VUkwpKHVy
bCkpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dGcm9tVVJMKSh1cmws
IHJlcG9ydGluZ1N0YXR1cykpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAg
IHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dKYXZh
U2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0VVJMcz4obV9w
b2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVybiBpc0FsbG93ZWRC
eUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0phdmFTY3JpcHRVUkxzPiht
X3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0aW5nU3RhdHVzKTsKIH0K
IAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVu
dEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVt
YmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMg
cmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhD
b250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnM+KG1fcG9s
aWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJz
PihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0aW5nU3RhdHVzKTsK
IH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0
IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGlu
ZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZVNjcmlwdChj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0
YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQ
RGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNpZXMsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBpZiAobV9v
dmVycmlkZUlubGluZVN0eWxlQWxsb3dlZCkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0
dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5s
aW5lU3R5bGU+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1
cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxp
bmVTdHlsZT4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUsIHJlcG9ydGluZ1N0
YXR1cyk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2YWwoUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKK2Jvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFj
aywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVz
KSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDYWxsU3RhY2s8JkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93RXZhbD4obV9wb2xpY2llcywgY2FsbFN0YWNrKTsKKyAgICByZXR1
cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0V2
YWw+KG1fcG9saWNpZXMsIGNhbGxTdGFjaywgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAogYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25j
ZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC0xMTU3LDQ0ICsxMjE5LDU1IEBA
IGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdE5vbmNlKGNvbnN0IFN0cmlu
ZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoTm9u
Y2U8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2U+KG1fcG9saWNpZXMsIG5vbmNl
LCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgdXJsKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citi
b29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtV
UkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5n
U3RhdHVzKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBv
cnRpbmdTdGF0dXMpOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmpl
Y3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93
ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZT4o
bV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOworfQorCitib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29u
c3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0
OjphbGxvd1NjcmlwdEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlz
QWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDaGlsZEZyYW1lRnJv
bVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVy
bCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJvbVNvdXJj
ZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
IHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRo
VVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3VyY2U+KG1fcG9saWNpZXMs
IHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dJbWFnZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVz
KTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q2hpbGRGcmFtZUZyb21T
b3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVy
biBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFt
ZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxs
V2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21Tb3VyY2U+KG1fcG9saWNp
ZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBj
b25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93SW1hZ2VGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAgIHJldHVybiBp
c0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Rm9udEZyb21Tb3Vy
Y2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29u
c3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9y
dGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsK
KyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxv
d01lZGlhRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOwogfQog
Ci1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBL
VVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDb25uZWN0
VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGlu
Z1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5
QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNvdXJjZT4obV9wb2xp
Y2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdT
dGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dNZWRpYUZyb21T
b3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmlzQWN0aXZlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsK
KyAgICByZXR1cm4gIW1fcG9saWNpZXMuaXNFbXB0eSgpOwogfQogCi1ib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAor
dm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlz
dCYgbGlzdCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcG9saWNpZXMuc2l6ZSgpOyArK2kpCisgICAgICAg
IG1fcG9saWNpZXNbaV0uZ2V0KCktPmdhdGhlclJlcG9ydFVSSXMobGlzdCk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmluZGV4IGNiNmJlYWQ1
MTQ5NThhZDMwMWM0OTNmNjAwZjRlNmE0NjBkNzgxNTguLmNkYjZiNWY4OThhZWU0NDMzMTdmODZh
YzE2ZmYyZTQxMDA2ZTRkY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IENTUERpcmVjdGl2ZUxpc3Q7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CitjbGFzcyBET01TdHJp
bmdMaXN0OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogdHlwZWRlZiBWZWN0b3I8
T3duUHRyPENTUERpcmVjdGl2ZUxpc3Q+ID4gQ1NQRGlyZWN0aXZlTGlzdFZlY3RvcjsKQEAgLTU5
LDMxICs2MCwzOSBAQCBwdWJsaWM6CiAgICAgICAgIEVuZm9yY2VQb2xpY3kKICAgICB9OwogCisg
ICAgZW51bSBSZXBvcnRpbmdTdGF0dXMgeworICAgICAgICBTZW5kUmVwb3J0LAorICAgICAgICBT
dXBwcmVzc1JlcG9ydAorICAgIH07CisKICAgICB2b2lkIGRpZFJlY2VpdmVIZWFkZXIoY29uc3Qg
U3RyaW5nJiwgSGVhZGVyVHlwZSk7CiAKLSAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIHdyb25n
IGJlY3Vhc2UgdGhleSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBoZWFkZXIuCisgICAg
Ly8gVGhlc2UgZnVuY3Rpb25zIGFyZSB3cm9uZyBiZWNhdXNlIHRoZXkgYXNzdW1lIHRoYXQgdGhl
cmUgaXMgb25seSBvbmUgaGVhZGVyLgogICAgIC8vIEZJWE1FOiBSZXBsYWNlIHRoZW0gd2l0aCBm
dW5jdGlvbnMgdGhhdCByZXR1cm4gdmVjdG9ycy4KICAgICBjb25zdCBTdHJpbmcmIGRlcHJlY2F0
ZWRIZWFkZXIoKSBjb25zdDsKICAgICBIZWFkZXJUeXBlIGRlcHJlY2F0ZWRIZWFkZXJUeXBlKCkg
Y29uc3Q7CiAKLSAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250
ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAg
ICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkws
IGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wg
YWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lU3R5
bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4pIGNvbnN0OworICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFJl
cG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVF
dmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFs
TnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7
CisgICAgYm9vbCBhbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFJlcG9ydGluZ1N0YXR1cyA9IFNl
bmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFJlcG9y
dGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dFdmFsKFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29u
c3Q7CiAgICAgYm9vbCBhbGxvd1NjcmlwdE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0
IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGlu
ZSwgY29uc3QgS1VSTCYgPSBLVVJMKCkpIGNvbnN0OwogCi0gICAgYm9vbCBhbGxvd1NjcmlwdEZy
b21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291
cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q2hpbGRGcmFtZUZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbWFnZUZyb21Tb3VyY2UoY29u
c3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VS
TCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29u
c3Q7Ci0gICAgYm9vbCBhbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0g
ICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7CisgICAgYm9v
bCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNl
bmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtV
UkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsKKyAgICBib29sIGFsbG93
Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRS
ZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYs
IFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dTdHls
ZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNv
bnN0OworICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5n
U3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd01lZGlhRnJvbVNvdXJj
ZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAg
Ym9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0g
U2VuZFJlcG9ydCkgY29uc3Q7CiAKICAgICB2b2lkIHNldE92ZXJyaWRlQWxsb3dJbmxpbmVTdHls
ZShib29sKTsKIAorICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKKyAgICB2b2lkIGdhdGhlclJl
cG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IENvbnRlbnRTZWN1cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2QxNzNlNmYy
OWFkNjY1YTRmNmZlZDgyMmU4ODA1MmZjYWM3YWZlZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0wLDAgKzEsMTU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01TZWN1cml0eVBvbGljeS5oIgorCisj
aW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCisjaW5jbHVkZSAi
RnJhbWUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgeworCitib29sIGlzUG9saWN5
QWN0aXZlSW5Db250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAg
Ly8gSWYgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgaGFzIGJlZW4gZGVzdHJveWVkLCB0aGVy
ZSdzIG5vIGFjdGl2ZSBwb2xpY3kuCisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gY29udGV4dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmlz
QWN0aXZlKCk7Cit9CisKK3RlbXBsYXRlPGJvb2wgKENvbnRlbnRTZWN1cml0eVBvbGljeTo6KmFs
bG93V2l0aFVSTCkoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkV2l0aFVSTChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBTdHJpbmcgdXJsKQoreworICAgIGlmICghaXNQb2xpY3lBY3RpdmVJbkNv
bnRleHQoY29udGV4dCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgS1VSTCBwYXJzZWRV
UkwgPSBjb250ZXh0LT5jb21wbGV0ZVVSTCh1cmwpOworICAgIGlmICghcGFyc2VkVVJMLmlzVmFs
aWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdG8g
dGhyb3cgYSBKYXZhU2NyaXB0IGVycm9yLgorCisgICAgcmV0dXJuIChjb250ZXh0LT5jb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+KmFsbG93V2l0aFVSTCkocGFyc2VkVVJMLCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KTsKK30KKwordGVtcGxhdGU8Ym9vbCAoQ29udGVudFNl
Y3VyaXR5UG9saWN5OjoqYWxsb3dXaXRoQ29udGV4dCkoY29uc3QgU3RyaW5nJiwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMp
IGNvbnN0PgorYm9vbCBpc0FsbG93ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkK
K3sKKyAgICBpZiAoIWlzUG9saWN5QWN0aXZlSW5Db250ZXh0KGNvbnRleHQpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAoY29udGV4dC0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCktPiphbGxvd1dpdGhDb250ZXh0KShLVVJMKCksIFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3Jl
Rmlyc3QoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9ydCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlCisKK0RPTVNlY3VyaXR5UG9saWN5OjpET01TZWN1cml0eVBvbGljeShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIoY29udGV4dCkKK3sKK30KKworRE9NU2VjdXJpdHlQb2xpY3k6On5ET01TZWN1cml0eVBv
bGljeSgpCit7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmlzQWN0aXZlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaXNQb2xpY3lBY3RpdmVJbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKTsKK30KKworUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBET01TZWN1cml0eVBvbGlj
eTo6cmVwb3J0VVJJcygpIGNvbnN0Cit7CisgICAgUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHJlc3Vs
dCA9IERPTVN0cmluZ0xpc3Q6OmNyZWF0ZSgpOworCisgICAgaWYgKGlzQWN0aXZlKCkpCisgICAg
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmdh
dGhlclJlcG9ydFVSSXMoKnJlc3VsdC5nZXQoKSk7CisKKyAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzSW5saW5lU2NyaXB0KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93SW5saW5lU2NyaXB0PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitib29sIERP
TVNlY3VyaXR5UG9saWN5OjphbGxvd3NJbmxpbmVTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGlzQWxsb3dlZDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZVN0eWxlPihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxv
d3NFdmFsKCkgY29uc3QKK3sKKyAgICBpZiAoIWlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNz
UmVwb3J0KTsKK30KKworCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NDb25uZWN0aW9u
VG8oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29u
dGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4oc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NGb250
RnJvbShTdHJpbmcgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRXaXRoVVJMPCZD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzRnJh
bWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8
JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZT4oc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5Ojph
bGxvd3NJbWFnZUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2Vk
V2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJvbVNvdXJjZT4oc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5
OjphbGxvd3NNZWRpYUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxv
d2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZT4o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9s
aWN5OjphbGxvd3NPYmplY3RGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlz
QWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291
cmNlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCk7Cit9CisKK2Jvb2wgRE9NU2VjdXJp
dHlQb2xpY3k6OmFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1
cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZy
b21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01T
ZWN1cml0eVBvbGljeTo6YWxsb3dzU3R5bGVGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHls
ZUZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1
cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzNDZhNjE2NGY0M2RjNjUxYmU4OTUxMjMzYmE5OTIzNzJjNDYwZjcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmgKQEAg
LTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUsIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEdPT0dMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVNlY3VyaXR5UG9saWN5X2gKKyNkZWZpbmUgRE9N
U2VjdXJpdHlQb2xpY3lfaAorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENvbnRlbnRTZWN1cml0eVBvbGlj
eTsKK2NsYXNzIERPTVN0cmluZ0xpc3Q7CitjbGFzcyBGcmFtZTsKKworY2xhc3MgRE9NU2VjdXJp
dHlQb2xpY3kgOiBwdWJsaWMgUmVmQ291bnRlZDxET01TZWN1cml0eVBvbGljeT4sIHB1YmxpYyBD
b250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RE9NU2VjdXJpdHlQb2xpY3k+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01TZWN1cml0eVBvbGlj
eShjb250ZXh0KSk7CisgICAgfQorICAgIH5ET01TZWN1cml0eVBvbGljeSgpOworCisgICAgYm9v
bCBpc0FjdGl2ZSgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gcmVwb3J0
VVJJcygpIGNvbnN0OworCisgICAgYm9vbCBhbGxvd3NJbmxpbmVTY3JpcHQoKSBjb25zdDsKKyAg
ICBib29sIGFsbG93c0lubGluZVN0eWxlKCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NFdmFsKCkg
Y29uc3Q7CisKKyAgICBib29sIGFsbG93c0Nvbm5lY3Rpb25UbyhTdHJpbmcgdXJsKSBjb25zdDsK
KyAgICBib29sIGFsbG93c0ZvbnRGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxs
b3dzRnJhbWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzSW1hZ2VGcm9t
KFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzTWVkaWFGcm9tKFN0cmluZyB1cmwp
IGNvbnN0OworICAgIGJvb2wgYWxsb3dzT2JqZWN0RnJvbShTdHJpbmcgdXJsKSBjb25zdDsKKyAg
ICBib29sIGFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3Q7CisgICAgYm9vbCBhbGxv
d3NTdHlsZUZyb20oU3RyaW5nIHVybCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQg
RE9NU2VjdXJpdHlQb2xpY3koU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworfTsKKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTI0MWJkZWYwZWM0NDM2ZmJlY2NhYmQ2MWFkODM1MWViODgxY2FiMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsCkBAIC0wLDAg
KzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPUNTUF9ORVhULAorICAgICAgICBPbWl0Q29uc3RydWN0b3Is
CisgICAgICAgIEludGVyZmFjZU5hbWU9c2VjdXJpdHlQb2xpY3kKKyAgICBdIERPTVNlY3VyaXR5
UG9saWN5IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgcmVwb3J0
VVJJczsKKworICAgICAgICBib29sZWFuIGlzQWN0aXZlKCk7CisKKyAgICAgICAgYm9vbGVhbiBh
bGxvd3NDb25uZWN0aW9uVG8oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxs
b3dzRm9udEZyb20oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzRnJh
bWVGcm9tKGluIERPTVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c0ltYWdlRnJv
bShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NNZWRpYUZyb20oaW4g
RE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzT2JqZWN0RnJvbShpbiBET01T
dHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NTY3JpcHRGcm9tKGluIERPTVN0cmlu
ZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c1N0eWxlRnJvbShpbiBET01TdHJpbmcgdXJs
KTsKKworICAgICAgICBib29sZWFuIGFsbG93c0V2YWwoKTsKKyAgICAgICAgYm9vbGVhbiBhbGxv
d3NJbmxpbmVTY3JpcHQoKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NJbmxpbmVTdHlsZSgpOwor
ICAgIH07CisKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZmMTMyNThhZGNmYjViMGQxZmUzMWU4ZjE5ZTAzOTE0NWNh
YjdhMmUuLjQ2Yjc1MThjNjc5MjA1NzRmODEzMmIwMDYwNDA4Y2IwODI2NTczNTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzNiBAQAorMjAxMi0wNy0xOSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEltcGxlbWVudCB0aGUgZXhwZXJpbWVudGFsIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IHNjcmlwdCBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2V2YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2lt
YWdlZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJv
bS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd29iamVjdGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2Ny
aXB0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZy
b20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1pc2FjdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1p
c2FjdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2Vj
dXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qczogQWRkZWQuCisgICAgICAgIChsb2cpOgorICAgICAg
ICAoaW5qZWN0UG9saWN5KToKKwogMjAxMi0wNy0xOSAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJz
ZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZywgYWRkaW5n
IG1pc3NpbmcgYmFzZWxpbmUgcmVxdWlyZWQgYWZ0ZXIgcjEyMjc2MS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkYThkNWRl
OGFiZDg3MDk5MmUxOGY3ZTMyNzcwMTc2OTA2ZjQ3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorUEFTUyBjb25uZWN0aW9uIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFT
UyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3djb25uZWN0aW9udG8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDc3MzMyM2IxOTZmNTc2
YzgzMzI3MWM4Zjg5NTdmNDBmYjFlYTQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGlj
eS5hbGxvd3NDb25uZWN0aW9uVG8oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBs
b2coJ1BBU1MgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlvbiBpcyBub3QgYWxsb3dl
ZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKworICAgICAgaW5qZWN0UG9saWN5KCJjb25u
ZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50
LlNlY3VyaXR5UG9saWN5LmFsbG93c0Nvbm5lY3Rpb25UbygnaHR0cDovL2V4YW1wbGUuY29tLycp
KQorICAgICAgICAgIGxvZygnUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9s
aWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlv
biBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40Zjk4YTVmYjEyZDFkZTQ0MDQwYjAyMWNiZjE0NTU4MDZmZGY0NzA0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACitQQVNTIGV2YWwgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNT
IGV2YWwgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFs
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmIzNzkxYTQyZDgxMmQ2MmYxNTg5NDE1MTk5YTAwZDY0ODcwNWI3
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwuaHRtbApAQCAt
MCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1
cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAg
aWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0V2YWwoKSkKKyAgICAgICAgICBsb2co
J1BBU1MgZXZhbCBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVs
c2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGlj
eSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyAndW5zYWZlLWlu
bGluZSc7Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRXZh
bCgpKQorICAgICAgICAgIGxvZygnUEFTUyBldmFsIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5
IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBhbGxv
d2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ1YjVkMTUwZjk3NzkwY2MyOWVhOTM5YTZmZmU1MjBhMmM1YzFkZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQ
QVNTIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFs
bG93Zm9udGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjVlYjBjZDJmYjA0ZDk1NjJkMzdkZDQxMmY1
YjcwNzhkYjgwZDQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9u
dGZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0ZvbnRGcm9t
KCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGZvbnQgaXMgYWxs
b3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9n
KCdGQUlMIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisg
ICAgICBpbmplY3RQb2xpY3koImZvbnQtc3JjIGh0dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisK
KyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRm9udEZyb20oJ2h0dHA6
Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1MgZm9udCBpcyBub3QgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdQQVNT
IGZvbnQgaXMgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+Cisg
IDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJh
bWVmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA2ZDQzMjEyNGNjNDNhNDJkNzkwYjU1YmU5M2E1N2IwN2Rj
MzE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBu
byBwb2xpY3kgZXhpc3RzLgorUEFTUyBmcmFtZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBl
eGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYxYWE1
OTJhYzljMDkzNzE5MTBhMzg4ZjUwYjVjZTU3MjViNjljZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9k
eT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJh
c2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJp
dHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAg
ICAgbG9nKCdQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOwor
ICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBmcmFtZSBpcyBub3QgYWxsb3dlZCB3aGVu
IG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgiZnJhbWUtc3JjIGh0
dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQ
b2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAg
bG9nKCdQQVNTIGZyYW1lIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAg
ICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZnJhbWUgaXMgYWxsb3dlZCB3aGVuIHBvbGlj
eSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1hZ2Vmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI1OGEw
NTlkMGM3ZWI2M2U2YTEzNzQ3MzVlNGU5MjJhNWJkMDBkZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CitQQVNTIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBpbWFn
ZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1h
Z2Vmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlZmI1MGYyMTQ2OTMwMGZkMmIwYzRlNDY5OTY3Njc3
ZmQwYTAyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJv
bS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzSW1hZ2VGcm9tKCdo
dHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGltYWdlIGlzIGFsbG93
ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygn
RkFJTCBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAg
ICAgIGluamVjdFBvbGljeSgiaW1nLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisg
ICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0ltYWdlRnJvbSgnaHR0cDov
L2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBpbWFnZSBpcyBub3QgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlM
IGltYWdlIGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0Pgor
ICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21l
ZGlhZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NTcyZWY5Nzk0ODI1NjU5MTQ2ODgyN2E0NTZlYjA0ZDJh
NjFhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4g
bm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgbWVkaWEgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kg
ZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21lZGlhZnJvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1ZDBl
MjM3OGRmYzU1OGU4OTY2ZjY4MjI2MTZiZTA2MzU2ZDcxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJv
ZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1i
YXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3Vy
aXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAg
ICAgIGxvZygnUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgbWVkaWEgaXMgbm90IGFsbG93ZWQgd2hl
biBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koIm1lZGlhLXNyYyBo
dHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5
UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAg
IGxvZygnUEFTUyBtZWRpYSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7Cisg
ICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG1lZGlhIGlzIGFsbG93ZWQgd2hlbiBwb2xp
Y3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE5
YzJhZTJiZWFjNjY4NGUwZGE1OGQyMmI1ZDBkMDAwNTc1MDc1ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNT
IG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd29iamVjdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2E2OTRjZDgzNmRjNzE2MGRjMmMxN2Yy
M2NjMTdhZmJhYWIxOGViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
b2JqZWN0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzT2Jq
ZWN0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBvYmpl
Y3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlz
dHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgib2JqZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBs
ZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c09i
amVjdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgb2Jq
ZWN0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAg
ICAgICAgICBsb2coJ0ZBSUwgb2JqZWN0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicp
OworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5
LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMxZGY1ZWVhZDMxN2M0
MzkzZGMyNDc5ZmNmM2UzMDUwYzY1ZjdmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBz
Y3JpcHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNTIHNjcmlwdCBpcyBu
b3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZy
b20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kZWYxMDU1NzcyMTFjMjEyMWM3OGI5YjI4MDRkMWVjYmI3YWRm
M2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS5o
dG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzU2NyaXB0RnJvbSgnaHR0
cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzY3JpcHQgaXMgYWxsb3dl
ZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdG
QUlMIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAg
ICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOwor
CisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1NjcmlwdEZyb20oJ2h0
dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgc2NyaXB0IGlzIG5vdCBh
bGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2co
J0ZBSUwgc2NyaXB0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2Ny
aXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd3N0eWxlZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZy
b20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZTUwODU5MzljZTJhNDkxOTA4ZDRmOWE5NTRi
MjdhNWQyZWEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHls
ZWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBzdHlsZSBpcyBhbGxvd2Vk
IHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1Mgc3R5bGUgaXMgbm90IGFsbG93ZWQgd2hlbiBw
b2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZy
b20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc5YmUwMmZkODNmZjRmMTJiNTAxNzQyMGYwNDJjMTNhZmE5ODQzNGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbApAQCAtMCwwICsxLDE5IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10
ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50
LlNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQor
ICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0
cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgc3R5bGUgaXMgbm90IGFsbG93
ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koInN0eWxl
LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNl
Y3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAg
ICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMu
Jyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHN0eWxlIGlzIGFsbG93ZWQgd2hl
biBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTFkZjFjNGUzOWVj
NjRlYTQwMjhmMTM1MjRkN2UzYzA2MmVkNGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1MgZG9jdW1l
bnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIGZhbHNlIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4K
K1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRydWUgd2hlbiBwb2xpY3kg
ZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMzQ0MjQzNjg0MzczMTIx
MGVlMjY3NzdlNWQwNzU5M2IyNmJlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktaXNhY3RpdmUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBvbGljeS5pc0FjdGl2
ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3RpdmUg
aXMgZmFsc2Ugd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAg
IGxvZygnRkFJTCBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3RpdmUgaXMgdHJ1dyB3aGVuIG5v
IHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyAndW5z
YWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5pc0Fj
dGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3Rp
dmUgaXMgdHJ1ZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAg
bG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFjdGl2ZSBpcyBmYWxzZSB3aGVuIHBv
bGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LXJlcG9ydHVyaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRhYjI2ZTU5YTMwYTA0
NmVhZDA0ODQyNjJlM2YxZDE4ZGY2ZGQ3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUEFTUyBkb2N1bWVu
dC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuCitQQVNTIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0
aCAxIHdoZW4gcG9saWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVw
b3J0VVJJc1swXSBpcyBjb3JyZWN0LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVw
b3J0dXJpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDIzNmEwMTFiNmE0ZmNhNTgxYThlNjVhZTYwOGMwNjdkMmExNzEyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJv
ZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1i
YXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3Vy
aXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09PSAwKQorICAgICAgICAgIGxvZygnUEFTUyBk
b2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3aGVuIG5vIHBv
bGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50
LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0aCAnICsgZG9jdW1lbnQuU2VjdXJp
dHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsK
KworICAgICAgaW5qZWN0UG9saWN5KCdyZXBvcnQtdXJpIGh0dHA6Ly9leGFtcGxlLmNvbS8nKTsK
KworICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09
PSAxKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRV
UklzIGhhcyBsZW5ndGggMSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxl
bmd0aCAnICsgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdo
ZW4gcG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5
LnJlcG9ydFVSSXNbMF0gPT09ICJodHRwOi8vZXhhbXBsZS5jb20vIikKKyAgICAgICAgICBsb2co
J1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJc1swXSBpcyBjb3JyZWN0Licp
OworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5TZWN1cml0eVBvbGlj
eS5yZXBvcnRVUklzWzBdIGlzICcgKyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklz
WzBdICsgJyAoc2hvdWxkIGJlIGBodHRwOi8vZXhhbXBsZS5jb20vYCkuJyk7CisgICAgPC9zY3Jp
cHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGlj
eS10ZXN0cy1iYXNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDZkYjEyYWU2N2YyNzM5MTVhMWRjN2RkNDJmMGRkMjQwNWNjMmNmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzCkBAIC0wLDAg
KzEsMTkgQEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2cobXNnKSB7CisgICAgdmFy
IHR4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyk7CisgICAgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKHR4dCk7CisgICAgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignYm9keScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOwor
fQorCitmdW5jdGlvbiBpbmplY3RQb2xpY3kocG9saWN5KSB7CisgICAgdmFyIG1ldGEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7CisgICAgbWV0YS5zZXRBdHRyaWJ1dGUoJ2h0dHAt
ZXF1aXYnLCAnWC1XZWJLaXQtQ1NQJyk7CisgICAgbWV0YS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnQn
LCBwb2xpY3kpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWV0YSk7Cit9CisKK2lm
ICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kpCisgICAgbG9nKCdGQUlMIGRvY3VtZW50LnNlY3Vy
aXR5UG9saWN5IGlzIG5vdCBkZWZpbmVkLicpCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153592</attachid>
            <date>2012-07-20 13:58:32 -0700</date>
            <delta_ts>2012-07-26 01:21:37 -0700</delta_ts>
            <desc>XCode is happy. I think.</desc>
            <filename>bug-91707-20120720225826.patch</filename>
            <type>text/plain</type>
            <size>89649</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY1Y2NlYzBkMmNkMzFm
ZjJlOTlmNzBiOGU1MjkwODE0OGFiMTJkMC4uNTM0OWM0OGFmMTYwMTkzMTU2ZDVhYmIyMGY1NWUx
YjZjYzNkZDE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzOCBAQAorMjAxMi0wNy0xOSAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTUCAxLjEgZWRpdG9y
J3MgZHJhZnQgZGVmaW5lcyBhIHNjcmlwdCBpbnRlcmZhY2UgdGhhdCBnaXZlcworICAgICAgICBk
ZXZlbG9wZXJzIHRoZSBhYmlsaXR5IHRvIHF1ZXJ5IGEgZG9jdW1lbnQgcmVnYXJkaW5nIHRoZSBy
ZXN0cmljdGlvbnMKKyAgICAgICAgc2V0IGJ5IGl0J3MgY3VycmVudGx5IGFjdGl2ZSBjb250ZW50
IHNlY3VyaXR5IHBvbGljeVsxXS4gVGhpcyBwYXRjaAorICAgICAgICBleHBvc2VzIHRoYXQgQVBJ
IGluIHRlcm1zIG9mIGEgbmV3IERPTVNlY3VyaXR5UG9saWN5IG9iamVjdC4KKworICAgICAgICBE
YXRhIGZvciB0aGUgQVBJIGlzIGdhdGhlcmVkIGZyb20gdGhlIGV4aXN0aW5nIENvbnRlbnRTZWN1
cml0eVBvbGljeQorICAgICAgICBvYmplY3Qgb24gdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQuIENT
UCdzIHZhcmlvdXMgbWV0aG9kcyBoYXZlIGJlZW4KKyAgICAgICAgZXh0ZW5kZWQgd2l0aCBhIGBy
ZXBvcnRpbmdTdGF0dXNgIHBhcmFtZXRlciB3aGljaCwgdW5zdXJwcmlzaW5nbHksCisgICAgICAg
IGRldGVybWluZXMgd2hldGhlciBhIHZpb2xhdGlvbiByZXBvcnQgc2hvdWxkIGJlIHNlbnQgZm9y
IGJsb2NrZWQKKyAgICAgICAgcmVzb3VyY2VzLiBUaGlzIGFsbG93cyB1cyB0byByZXVzZSB0aGUg
c2FtZSBjb2RlcGF0aHMgYnkgc2ltcGx5IHVzaW5nCisgICAgICAgIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6U3VwcHJlc3NSZXBvcnQgd2hlbiBxdWVyeWluZyBvbiBiZWhhbGYgb2YgdGhlCisgICAg
ICAgIEFQSSwgYW5kIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCB3aGVuIGNoZWNr
aW5nIHJlc291cmNlcyBhCisgICAgICAgIHBhZ2Ugd2FudHMgdG8gbG9hZC4KKworICAgICAgICBU
aGlzIGZlYXR1cmUgaXMgZ2F0ZWQgb24gdGhlIENTUF9ORVhUIGZsYWcsIHdoaWNoIGlzIGN1cnJl
bnRseSBkaXNhYmxlZAorICAgICAgICBmb3IgYWxsIHBvcnRzIG90aGVyIHRoYW4gQ2hyb21pdW0u
CisKKyAgICAgICAgWzFdOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlvbi5kZXYuaHRtbCNzY3JpcHQtaW50
ZXJmYWNlcy0tZXhwZXJpbWVudGFsCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rp
b250by5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2ZvbnRmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1l
ZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20uaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d29iamVjdGZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWlzYWN0aXZlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
cHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiAKKyAgICAgICAgICAgIFdlIGFk
ZGVkIGEgbmV3IG9iamVjdCwgc28gbGV0J3MgdGVsbCBfZXZlcnlvbmUhXworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2VjdXJpdHlQb2xp
Y3kpOgorICAgICAgICAgICAgRXhwb3NlIHRoZSBTZWN1cml0eVBvbGljeSBvYmplY3QgdmlhIERv
Y3VtZW50LCBnYXRlZCBvbiBDU1BfTkVYVC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEb2N1bWVudCk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgICAgIEFkZGluZyB0aGUgU2Vj
dXJpdHlQb2xpY3kgb2JqZWN0IHRvIHRoZSBkb2N1bWVudCwgZ2F0ZWQgb24gQ1NQX05FWFQuCisg
ICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoQ1NQRGly
ZWN0aXZlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0lu
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrU291cmNlKToKKyAgICAg
ICAgICAgIEV4dHJhY3RpbmcgdGhlIGNvcmUgY2hlY2tzIG91dCBpbnRvIHNlcGFyYXRlIG1ldGhv
ZHMuCisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0V2YWxBbmRSZXBv
cnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrRXZhbC4KKyAgICAgICAgKFdlYkNv
cmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24pOgorICAg
ICAgICAgICAgVXNlIGNoZWNrTm9uY2UuCisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVM
aXN0OjpjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbik6CisgICAgICAgICAgICBVc2UgY2hl
Y2tJbmxpbmUuCisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJj
ZUFuZFJlcG9ydFZpb2xhdGlvbik6CisgICAgICAgICAgICBVc2UgY2hlY2tTb3VyY2UuCisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0phdmFTY3JpcHRVUkxzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lRXZlbnRIYW5kbGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVN0eWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dPYmplY3RGcm9tU291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFtZUZy
b21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFn
ZUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dT
dHlsZUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dGb250RnJvbVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0Ojph
bGxvd01lZGlhRnJvbVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0
OjphbGxvd0Nvbm5lY3RUb1NvdXJjZSk6CisgICAgICAgICAgICBUaGVzZSBtZXRob2RzIG5vdyBi
cmFuY2ggb24gYHJlcG9ydGluZ1N0YXR1c2A6IGlmIGBTZW5kUmVvcG9ydGAsCisgICAgICAgICAg
ICB0aGV5IGNhbGwgYGNoZWNrWEFuZFJlcG9ydFZpb2xhdGlvbmAsIG90aGVyd2lzZSwgdGhleSBj
YWxsIGBjaGVja1hgLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Z2F0aGVy
UmVwb3J0VVJJcyk6CisgICAgICAgICAgICBOZXcgbWV0aG9kIHRoYXQgZ2F0aGVycyB0aGUgdmlv
bGF0aW9uIHJlcG9ydCBVUklzIGludG8gYSBET01TdHJpbmdMaXN0LgorICAgICAgICAoV2ViQ29y
ZTo6aXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxs
b3dlZEJ5QWxsV2l0aENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6aXNBbGxvd2VkQnlBbGxX
aXRoVVJMKToKKyAgICAgICAgICAgIFRoZXNlIG5vdyBwYXNzIHJlcG9ydGluZ1N0YXR1cyB0aHJv
dWdoIHRvIHRoZSB2YXJpb3VzIGBhbGxvd1hgIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SmF2YVNjcmlwdFVSTHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZVNjcmlw
dCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5l
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2
YWwpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Njcmlw
dEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd09iamVjdEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5OjphbGxvd0NoaWxkRnJhbWVGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbWFnZUZyb21Tb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1N0eWxlRnJvbVNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJv
bVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
Q29ubmVjdFRvU291cmNlKToKKyAgICAgICAgICAgIFRoZXNlIGFjY2VwdCBhIG5ldyBgcmVwb3J0
aW5nU3RhdHVzYCBwYXJhbWV0ZXIsIHdoaWNoIGlzIHBhc3NlZCB0aHJvdWdoCisgICAgICAgICAg
ICB0byB0aGUgQ1NQRGlyZWN0aXZlTGlzdCBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5Ojppc0FjdGl2ZSk6CisgICAgICAgICAgICBOZXcgbWV0aG9kIHRo
YXQgcmV0dXJucyBgdHJ1ZWAgaWYgcG9saWN5IGlzIGFjdGl2ZS4KKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6Z2F0aGVyUmVwb3J0VVJJcyk6CisgICAgICAgICAgICBO
ZXcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIERPTVN0cmluZ0xpc3Qgb2YgdmlvbGF0aW9uIHJlcG9y
dCBVUklzLgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6RE9NU2VjdXJpdHlQb2xpY3kp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGlj
eTo6fkRPTVNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9s
aWN5Ojppc0FjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6cmVw
b3J0VVJJcyk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzSW5s
aW5lU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NJ
bmxpbmVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dz
RXZhbCk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzQ29ubmVj
dGlvblRvKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NGb250
RnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzRnJhbWVG
cm9tKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NJbWFnZUZy
b20pOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c01lZGlhRnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzT2JqZWN0RnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzU2NyaXB0RnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzU3R5bGVGcm9t
KToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5UG9saWN5Lmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChET01TZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01TZWN1cml0eVBvbGljeTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0RPTVNlY3VyaXR5
UG9saWN5LmlkbDogQWRkZWQuCisKIDIwMTItMDctMTkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2Vx
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBtaW5pbWl6ZSBudW1iZXIg
b2YgcHJvcGVydGllcyBvbiBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5S
ZWNvcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODlkNDUwMjgxMmI3NzRhOWNmMGRjN2Y5OTA0
ZDc2YzhkMDVlYmU5OC4uNjIxOGQxNDFhNTc1YzIzNThiMDE0YTEyNDllYmE3OGQ2Zjg2ODVhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUzMCw2ICs1MzAsNyBAQCBTRVQoV2ViQ29yZV9JRExf
RklMRVMKICAgICBwYWdlL0NvbnNvbGUuaWRsCiAgICAgcGFnZS9Db29yZGluYXRlcy5pZGwKICAg
ICBwYWdlL0NyeXB0by5pZGwKKyAgICBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbAogICAgIHBh
Z2UvRE9NU2VsZWN0aW9uLmlkbAogICAgIHBhZ2UvRE9NV2luZG93LmlkbAogICAgIHBhZ2UvRXZl
bnRTb3VyY2UuaWRsCkBAIC0xNjIwLDYgKzE2MjEsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCiAgICAgcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwCiAgICAgcGFnZS9DcnlwdG8uY3BwCisgICAgcGFnZS9ET01TZWN1cml0eVBv
bGljeS5jcHAKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5jcHAKICAgICBwYWdlL0RPTVRpbWVyLmNw
cAogICAgIHBhZ2UvRE9NV2luZG93LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4
IDcyODdkOWNiYjI3NmUzMTczYTIwY2M0NWU3ZTY1Nzc4M2VlZmVjZWYuLjJlOTNhNDA2YjZiYzgz
NTFlODcyOGUzYjBiMGU3NDU1NzI5N2JkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTk0LDYgKzk0LDcgQEAKICNpbmNsdWRlICJKU0RPTVBhcnNlci5jcHAiCiAjaW5jbHVkZSAi
SlNET01QbHVnaW4uY3BwIgogI2luY2x1ZGUgIkpTRE9NUGx1Z2luQXJyYXkuY3BwIgorI2luY2x1
ZGUgIkpTRE9NU2VjdXJpdHlQb2xpY3kuY3BwIgogI2luY2x1ZGUgIkpTRE9NU2VsZWN0aW9uLmNw
cCIKICNpbmNsdWRlICJKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RP
TVN0cmluZ0xpc3QuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNzY3MDcz
ZTdkMjdiYzE3NThjN2U2NGI2NjU2ZWQ0ZWRmZTBkNTVlMi4uZTA1ZDhhMzMzZWIyNmMyM2I3ODNl
MzFkNDYzOWZlMWE2N2M1ODNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00
MDUsNiArNDA1LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9Db25z
b2xlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL0NyeXB0by5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9ET01TZWN1cml0
eVBvbGljeS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvRE9NV2luZG93LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0V2
ZW50U291cmNlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMmMyOWM4ZjUy
YTYyODA1ZmFjNTY0OTcwNjQ1MTgzYTcwMjY3MWFlNC4uNjQyOGUzYzMzZTk5NTI4ZWM1YWQ4ZjQ4
MGU4NDMxN2IzZDJjMGM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDEzLDYg
KzQxMyw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9Db25zb2xlLmlkbCBc
CiAgICAgJCRQV0QvcGFnZS9Db29yZGluYXRlcy5pZGwgXAogICAgICQkUFdEL3BhZ2UvQ3J5cHRv
LmlkbCBcCisgICAgJCRQV0QvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwgXAogICAgICQkUFdE
L3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9ET01XaW5kb3cuaWRsIFwK
ICAgICAkJFBXRC9wYWdlL0V2ZW50U291cmNlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCAzZWI5NDM5OTFkN2VmMzdjMmMwOTRhYTM3MjgwMDA3NzMyZjk5MDQ4Li4zMjRj
YzYxNDdhMzk2NzZiODU0ZmU2ZDc4YzVhMGU1NTQ1NGUyY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTE0Miw2ICsxNDIsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVnaW5BcnJheS5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVBsdWdpbi5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQ
b2xpY3kuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xpY3ku
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlbGVjdGlvbi5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWxlY3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCBcCkBAIC05NTcsNiArOTU5LDcgQEAgZG9t
X2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwKIAkkKFdl
YkNvcmUpL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvQ3J5cHRvLmlk
bCBcCisJJChXZWJDb3JlKS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbCBcCiAJJChXZWJDb3Jl
KS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9ET01XaW5kb3cuaWRs
IFwKIAkkKFdlYkNvcmUpL3BhZ2UvRXZlbnRTb3VyY2UuaWRsIFwKQEAgLTMwMDgsNiArMzAxMSw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Db29yZGluYXRl
cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0NyeXB0by5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ3J5cHRvLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9E
T01TZWxlY3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDRlOWMwMmY5MGVjMjcyOTYwNjkzNGIzODdhN2M1NThjYWM2MzEwNDEu
LjY1NThmODM1NzUyOWNjN2I1MWUxNTYxNDk3MzUxN2UwMGRlZDNlMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTIyMyw2ICsyMjMsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDbGll
bnQuaCcsCiAgICAgICAgICAgICAncGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCcsCiAgICAg
ICAgICAgICAncGFnZS9Db29yZGluYXRlcy5oJywKKyAgICAgICAgICAgICdwYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NV2luZG93LmgnLAogICAgICAgICAg
ICAgJ3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmgnLAogICAgICAgICAgICAgJ3BhZ2UvRHJhZ0Fj
dGlvbnMuaCcsCkBAIC0xMTU5LDYgKzExNjAsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29s
ZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ29vcmRpbmF0ZXMuaWRsJywKICAgICAgICAgICAg
ICdwYWdlL0NyeXB0by5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3ku
aWRsJywKICAgICAgICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvRE9NV2luZG93LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9ET01XaW5kb3dQYWdlUG9w
dXAuaWRsJywKQEAgLTMwMzAsNiArMzAzMiw3IEBACiAgICAgICAgICAgICAncGFnZS9Db250ZXh0
TWVudVByb3ZpZGVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ3J5cHRvLmNwcCcsCiAgICAgICAg
ICAgICAncGFnZS9DcnlwdG8uaCcsCisgICAgICAgICAgICAncGFnZS9ET01TZWN1cml0eVBvbGlj
eS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCcsCiAgICAgICAgICAg
ICAncGFnZS9ET01TZWxlY3Rpb24uaCcsCiAgICAgICAgICAgICAncGFnZS9ET01UaW1lci5jcHAn
LApAQCAtNzI2Myw2ICs3MjY2LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVnaW5BcnJheS5jcHAnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVn
aW5BcnJheS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xpY3kuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VjdXJpdHlQb2xpY3kuaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlbGVj
dGlvbi5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNET01TZWxlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTNi
ZTI3NTA0OTEwYjhiMDk0ZjhiOTEzODFjMDdlNzg2ZjI0YTBmNy4uYjllMWJlNTc2YzdjN2NjMTMw
ZjQzYTY3M2RkMjhiNWY3MTY3MjM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzc1LDYgKzc3NSwxMiBAQAogCQkyRDhGRUJE
RDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOEZFQkRCMTQzRTNFRjcwMDcyNTAyQiAv
KiBDU1NDcm9zc2ZhZGVWYWx1ZS5oICovOyB9OwogCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ5MDY2MDQwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLzsg
fTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5
NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkyRDlBMjQ2RTE1QjlCRDAwMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQ
b2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OUEyNDZCMTVCOUJCREQwMEQzNDUyNyAvKiBET01TZWN1cml0eVBvbGljeS5oICovOyB9OworCQky
RDlBMjQ2RjE1QjlCRDJGMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQb2xpY3kuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NkExNUI5QkJERDAw
RDM0NTI3IC8qIERPTVNlY3VyaXR5UG9saWN5LmNwcCAqLzsgfTsKKwkJMkQ5QTI0NzMxNUI5QzJE
MTAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NzIxNUI5QzJDNzAwRDM0NTI3IC8qIERP
TURPTVNlY3VyaXR5UG9saWN5Lm1tICovOyB9OworCQkyRDlBMjQ3NDE1QjlDMkUzMDBEMzQ1Mjcg
LyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJEOUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0
eVBvbGljeS5oICovOyB9OworCQkyRDlBMjQ3NTE1QjlDMkUzMDBEMzQ1MjcgLyogRE9NRE9NU2Vj
dXJpdHlQb2xpY3lJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5QTI0NzExNUI5QzI5NTAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9s
aWN5SW50ZXJuYWwuaCAqLzsgfTsKKwkJMkQ5QTI0NzYxNUI5QzJGNDAwRDM0NTI3IC8qIERPTURP
TVNlY3VyaXR5UG9saWN5LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBMjQ3MDE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9N
U2VjdXJpdHlQb2xpY3kuaCAqLzsgfTsKIAkJMkQ5RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8qIGxp
bmVhclNSR0IuaWNjIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi87IH07CiAJ
CTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFG
NDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmgg
Ki87IH07CkBAIC02NTQ3LDYgKzY1NTMsNyBAQAogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDE7CiAJ
CQlmaWxlcyA9ICgKIAkJCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NTUHJvcGVydHlO
YW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCisJCQkJMkQ5QTI0NzYxNUI5QzJG
NDAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVh
ZGVycyAqLywKIAkJCQk4NTM4RjAzMDBBRDcxQ0RCMDA2QTgxRDEgLyogRE9NQWJzdHJhY3RWaWV3
LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQkxQzExQ0NCQzBBQTYwOTM3MDBE
QURCMjAgLyogRE9NQXR0ci5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJMkUy
RDk5RUIxMEUyQkQzOTAwNDk2MzM3IC8qIERPTUJsb2IuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovLApAQCAtNzc5OSw2ICs3ODA2LDExIEBACiAJCTJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5
OCAvKiBMYXlvdXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5
b3V0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MEIwNjY1RDkz
NzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTJEOTA2NjBDMDY2NUQ5Mzcw
MDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDbGlwYm9hcmRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQkyRDlBMjQ2QTE1
QjlCQkREMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQb2xpY3kuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRE9NU2VjdXJpdHlQb2xpY3kuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlBMjQ2QjE1QjlCQkREMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQ
b2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU2VjdXJpdHlQb2xp
Y3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QTI0NzAxNUI5QzI5NTAwRDM0
NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTURPTVNlY3VyaXR5UG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUEyNDcxMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVNlY3VyaXR5UG9s
aWN5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QTI0NzIxNUI5
QzJDNzAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3kubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJT
UkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkUwODg4QzMxMTQ4ODNBOTAwQUY0MjY1IC8qIERPTUZvcm1EYXRhLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBET01Gb3JtRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU1ODAsNiArMTU1OTIsOCBAQAogCQk2NUJGMDIxODA5
NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMkQ5QTI0NkExNUI5QkJERDAwRDM0NTI3IC8qIERPTVNlY3VyaXR5UG9s
aWN5LmNwcCAqLywKKwkJCQkyRDlBMjQ2QjE1QjlCQkREMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQ
b2xpY3kuaCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9uICov
LAogCQkJCTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJMUFGNjJFRTEx
NERBMjJBNzAwNDE1NTZDIC8qIHNjcm9sbGluZyAqLywKQEAgLTE1ODUzLDYgKzE1ODY3LDkgQEAK
IAkJODU5NjdEOUYwQUE4QkI1OTAwNUZFREVFIC8qIENvcmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTJEOUEyNDcyMTVCOUMyQzcwMEQzNDUyNyAvKiBE
T01ET01TZWN1cml0eVBvbGljeS5tbSAqLywKKwkJCQkyRDlBMjQ3MDE1QjlDMjk1MDBEMzQ1Mjcg
LyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCAqLywKKwkJCQkyRDlBMjQ3MTE1QjlDMjk1MDBEMzQ1
MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oICovLAogCQkJCTg1RDM4OUIwMEE5
OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggKi8sCiAJCQkJODVEMzg5QjEwQTk5MUE3RjAwMjgy
MTQ1IC8qIERPTUF0dHIubW0gKi8sCiAJCQkJODUwODlDQ0YwQTk4QzQyNzAwQTI3NUFBIC8qIERP
TUNEQVRBU2VjdGlvbi5oICovLApAQCAtMjI3ODIsNiArMjI3OTksOCBAQAogCQkJCTg1MDJBQjVB
MEFENDM4QzAwMDM3ODU0MCAvKiBET01TVkdGRUltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMkFCOUIwQUQ0Mzk0RTAwMzc4NTQwIC8qIERPTVNWR0ZFSW1hZ2VFbGVtZW50SW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDJBQjVDMEFENDM4QzAwMDM3ODU0MCAvKiBE
T01TVkdGRU1lcmdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QTI0NzQxNUI5QzJF
MzAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQky
RDlBMjQ3NTE1QjlDMkUzMDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMkFCOUMwQUQ0Mzk0RTAwMzc4NTQwIC8qIERPTVNWR0ZF
TWVyZ2VFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDJBQjVFMEFENDM4
QzAwMDM3ODU0MCAvKiBET01TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg1MDJBQjlEMEFENDM5NEUwMDM3ODU0MCAvKiBET01TVkdGRU1lcmdlTm9kZUVsZW1lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzI5Niw2ICsyMzMxNSw3IEBACiAJCQkJOTc3
QjM4NkQxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxFbnRpdHlUYWJsZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgxMzY5RDQwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxGaWVsZFNldEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0E2MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MRm9udEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUEyNDZFMTVCOUJEMDAwMEQzNDUyNyAvKiBE
T01TZWN1cml0eVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NkYxMjI4ODNFOTAw
QjgxRkY4IC8qIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4REYzRkNFMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbGxlY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MTM2OUNFMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NjA4LDYgKzI1NjI4LDcgQEAKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQlGREU2ODYwMjE1QjBB
OTNCMDBCQjQ4MEMgLyogV3JhcFNoYXBlRnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUEyNDczMTVCOUMyRDEwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTk3QkM2OURBMTUwNUYwNzYwMDFCNzRBQyAvKiBBYnN0cmFjdERhdGFi
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRTFCMUQwMEZGNTk4NjkwMDU3NkIzQiAvKiBB
YnN0cmFjdFdvcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjI5QzE2RTEzMDBDMkUyMDAy
RDc5NEUgLyogQWNjZXNzaWJpbGl0eUFsbEluT25lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjYw
NjYsNiArMjYwODcsNyBAQAogCQkJCTg1MzhGMDVDMEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5n
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1OEMzOEE4MEFBOEYyMDQwMEIxODdBNCAvKiBET01S
ZWN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBRUZDQUUxMDE2Q0U0QTAwNDBEMzRFIC8qIERP
TVJHQkNvbG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QTI0NkYxNUI5QkQyRjAwRDM0NTI3
IC8qIERPTVNlY3VyaXR5UG9saWN5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUE4Njg0MEMz
MzY3NjAwMEVFQTY0OSAvKiBET01TZWxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEFD
QkMwQzMxMjcxM0NDQTAwOTRGOUIyIC8qIERPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUM1NTYxMEYxMTFBNzA0RUIwMEI4MkQyNyAvKiBET01TdHJpbmdMaXN0LmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0KaW5kZXggZmEwNDU0MjAzY2I2Y2FiM2JjMTE2ODY4ZGE4ZGM2M2I5YjY3ZWNj
ZC4uNmY2MjA0OTI0NTFkNWE3ZGM4ODY5NzFlMzdiOTVjNGYzMzJmZDU1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00Myw2ICs0Myw4
IEBAIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01ET01QbHVnaW5BcnJheVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTURPTVBsdWdpbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01ET01QbHVnaW5Qcml2YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01ET01TZWN1cml0eVBvbGljeS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01ET01TZWN1cml0eVBvbGljeVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTURPTVNlbGVjdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01ET01TZWxlY3Rpb25Qcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01ET01TdHJpbmdMaXN0LmNwcCBcCkBAIC0yNzgsNiArMjgwLDcgQEAgd2Via2l0Z3RrX2J1
aWx0X2hfYXBpICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRG9jdW1lbnRU
eXBlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01JbXBsZW1lbnRhdGlv
bi5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU2V0dGFibGVUb2tlbkxp
c3QuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNlY3VyaXR5UG9saWN5
LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdMaXN0LmggXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdNYXAuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVRva2VuTGlzdC5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGFmYTczMmZhMTAyNWFhMDQxNjg0MTAwMDM1MTI5MjEzYTg2ZDQ1YmYuLmMy
MDBjMDc1N2JjNzgzZjY1ZGIzNDIzZGQxYTkyZGI4ZDY1ZmQ1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMjIyLDYgKzIyMiwxMCBAQAogI2luY2x1ZGUgIlRleHRBdXRvc2l6ZXIuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorI2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9s
aWN5LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBX
VEY7CiB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKQEAgLTE2NDEsNiArMTY0NSwxNSBAQCB2b2lk
IERvY3VtZW50OjpkaXNwYXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCkKIH0KICNlbmRp
ZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorRE9NU2VjdXJpdHlQb2xpY3kqIERvY3VtZW50Ojpz
ZWN1cml0eVBvbGljeSgpCit7CisgICAgaWYgKCFtX2RvbVNlY3VyaXR5UG9saWN5KQorICAgICAg
ICBtX2RvbVNlY3VyaXR5UG9saWN5ID0gRE9NU2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSh0aGlzKTsK
KyAgICByZXR1cm4gbV9kb21TZWN1cml0eVBvbGljeS5nZXQoKTsKK30KKyNlbmRpZgorCiBTdHJp
bmcgRG9jdW1lbnQ6Om5vZGVOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIiNkb2N1bWVudCI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGI2MzYxODQ5MjhkNTM2NjZkNTA3NTRiODMyZDkwMGQ1
MGNjZGM1OWQuLjA5MzllMGIyZTI4YTk2MzhiMWJiZmJkNDk4MjFjODJlOTA1Y2YwYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCkBAIC0xNzksNiArMTc5LDEwIEBAIGNsYXNzIFByZXJlbmRlcmVyOwog
Y2xhc3MgVGV4dEF1dG9zaXplcjsKICNlbmRpZgogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorY2xh
c3MgRE9NU2VjdXJpdHlQb2xpY3k7CisjZW5kaWYKKwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKIAogZW51bSBQYWdlc2hvd0V2ZW50UGVyc2lzdGVuY2UgewpAQCAtNDE2LDYgKzQyMCwxMCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaXNwYXRjaFZpc2liaWxpdHlTdGF0ZUNoYW5nZUV2ZW50KCk7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1BfTkVYVCkKKyAgICBET01TZWN1cml0eVBvbGljeSog
c2VjdXJpdHlQb2xpY3koKTsKKyNlbmRpZgorCiAgICAgUGFzc1JlZlB0cjxOb2RlPiBhZG9wdE5v
ZGUoUGFzc1JlZlB0cjxOb2RlPiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIFBhc3NS
ZWZQdHI8SFRNTENvbGxlY3Rpb24+IGltYWdlcygpOwpAQCAtMTUzMiw2ICsxNTQwLDEwIEBAIHBy
aXZhdGU6CiAKICAgICBSZWZQdHI8V2ViS2l0TmFtZWRGbG93Q29sbGVjdGlvbj4gbV9uYW1lZEZs
b3dzOwogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorICAgIFJlZlB0cjxET01TZWN1cml0eVBvbGlj
eT4gbV9kb21TZWN1cml0eVBvbGljeTsKKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwogICAgIGJv
b2wgbV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQ7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCmluZGV4IDdjMWM0ODM5YzI5Mjg3MDJlNzMyMDgxN2FmNzRkNjM0NmM3
NDMwZTIuLjc0MjM4MWYyYWI1MjE1MTE3ZmJhMmUwZTlkNDMyNjc3OGU2ZDIyMzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbApAQCAtMzc1LDYgKzM3NSw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1QQUdFX1ZJU0lCSUxJVFlfQVBJXSBE
T01TdHJpbmcgd2Via2l0VmlzaWJpbGl0eVN0YXRlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVBBR0VfVklTSUJJTElUWV9BUEldIGJvb2xlYW4gd2Via2l0SGlkZGVu
OwogCisgICAgICAgIC8vIFNlY3VyaXR5IFBvbGljeSBBUEk6IGh0dHA6Ly9kdmNzLnczLm9yZy9o
Zy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmljYXRpb24u
ZGV2Lmh0bWwjc2NyaXB0LWludGVyZmFjZXMKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1DU1BfTkVYVF0gRE9NU2VjdXJpdHlQb2xpY3kgU2VjdXJpdHlQb2xpY3k7CisK
ICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5jcHAKaW5kZXggZGFjNjVjMzM2ODZkNTg2YTQ5N2M5OWIzNTZjZWY4ZmQ2MDJiYzRhNy4uNzg2
NGZjNGQzNjExOTVmYjdjMjJmYTg0ZWJhZjM5NTNhNTY3YzY4YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgor
I2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCkBAIC01NDYsMjEgKzU0
NywyMyBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBoZWFkZXIoKSBjb25zdCB7IHJldHVy
biBtX2hlYWRlcjsgfQogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBoZWFk
ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRPbmx5ID8gQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpSZXBvcnRPbmx5IDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpFbmZvcmNlUG9saWN5OyB9
CiAKLSAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJM
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29s
IGFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJ
bmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lU3R5bGUoY29u
c3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRM
aW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4pIGNvbnN0OworICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93SW5s
aW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYg
Y29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJ
bmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
KSBjb25zdDsKKyAgICBib29sIGFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKICAgICBib29s
IGFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250
ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJM
JikgY29uc3Q7CiAKLSAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJikg
Y29uc3Q7Ci0gICAgYm9vbCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0
OwotICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7
Ci0gICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAg
Ym9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBh
bGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93TWVk
aWFGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q29ubmVjdFRv
U291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJj
ZShjb25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNv
bnN0OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0No
aWxkRnJhbWVGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25z
dCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0Owor
ICAgIGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93Rm9udEZyb21T
b3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
KSBjb25zdDsKKyAgICBib29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxv
d0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXMpIGNvbnN0OworCisgICAgdm9pZCBnYXRoZXJSZXBvcnRVUklzKERPTVN0cmlu
Z0xpc3QmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1BEaXJlY3RpdmVMaXN0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKQEAgLTU4MCwxMSArNTgzLDE1IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBsb2dVbnJlY29nbml6ZWREaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lKSBj
b25zdDsKICAgICB2b2lkIGxvZ0R1cGxpY2F0ZURpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUp
IGNvbnN0OwogICAgIHZvaWQgbG9nSW52YWxpZE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNv
bnN0OworCiAgICAgYm9vbCBjaGVja0V2YWwoQ1NQRGlyZWN0aXZlKikgY29uc3Q7CisgICAgYm9v
bCBjaGVja0lubGluZShDU1BEaXJlY3RpdmUqKSBjb25zdDsKKyAgICBib29sIGNoZWNrTm9uY2Uo
Y29uc3QgU3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjaGVja1NvdXJjZShDU1BEaXJlY3RpdmUq
LCBjb25zdCBLVVJMJikgY29uc3Q7CiAKKyAgICBib29sIGNoZWNrRXZhbEFuZFJlcG9ydFZpb2xh
dGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBj
b250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBjaGVja0lubGluZUFuZFJl
cG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihj
b25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUp
IGNvbnN0OwotICAgIGJvb2wgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2
ZSosIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCA9IFN0cmluZygpLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RG
OjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gPSAwKSBjb25zdDsKICAgICBib29sIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKENT
UERpcmVjdGl2ZSosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0OwogCiAg
ICAgYm9vbCBkZW55SWZFbmZvcmNpbmdQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlcG9ydE9u
bHk7IH0KQEAgLTcwNyw3NCArNzE0LDEwNyBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNr
RXZhbChDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSkgY29uc3QKICAgICByZXR1cm4gIWRpcmVjdGl2
ZSB8fCBkaXJlY3RpdmUtPmFsbG93RXZhbCgpOwogfQogCitib29sIENTUERpcmVjdGl2ZUxpc3Q6
OmNoZWNrSW5saW5lKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlKSBjb25zdAoreworICAgIHJldHVy
biAhZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+YWxsb3dJbmxpbmUoKTsKK30KKworYm9vbCBDU1BE
aXJlY3RpdmVMaXN0OjpjaGVja05vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIChtX3NjcmlwdE5vbmNlLmlzTnVsbCgpCisgICAgICAgICAgICB8fCAoIW1fc2Ny
aXB0Tm9uY2UuaXNFbXB0eSgpCisgICAgICAgICAgICAgICAgJiYgbm9uY2Uuc3RyaXBXaGl0ZVNw
YWNlKCkgPT0gbV9zY3JpcHROb25jZSkpOworfQorCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNo
ZWNrU291cmNlKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0
Cit7CisgICAgcmV0dXJuICFkaXJlY3RpdmUgfHwgZGlyZWN0aXZlLT5hbGxvd3ModXJsKTsKK30K
KwogQ1NQRGlyZWN0aXZlKiBDU1BEaXJlY3RpdmVMaXN0OjpvcGVyYXRpdmVEaXJlY3RpdmUoQ1NQ
RGlyZWN0aXZlKiBkaXJlY3RpdmUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRpcmVjdGl2ZSA/IGRp
cmVjdGl2ZSA6IG1fZGVmYXVsdFNyYy5nZXQoKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0
OjpjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwg
Y29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJl
Y3RpdmVMaXN0OjpjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJl
Y3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKIHsKLSAgICBpZiAoIWRpcmVjdGl2ZSB8
fCBkaXJlY3RpdmUtPmFsbG93SW5saW5lKCkpCisgICAgaWYgKGNoZWNrRXZhbChkaXJlY3RpdmUp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50
ZXh0KCksIGNvbnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxu
IiwgS1VSTCgpLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmVwb3J0VmlvbGF0aW9u
KGRpcmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSArICJcIiIgKyBkaXJlY3RpdmUtPnRl
eHQoKSArICJcIi5cbiIsIEtVUkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIGNhbGxTdGFj
ayk7CiAgICAgcmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERp
cmVjdGl2ZUxpc3Q6OmNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBu
b25jZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0
VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAogewotICAg
IGlmIChtX3NjcmlwdE5vbmNlLmlzTnVsbCgpIHx8ICghbV9zY3JpcHROb25jZS5pc0VtcHR5KCkg
JiYgbm9uY2Uuc3RyaXBXaGl0ZVNwYWNlKCkgPT0gbV9zY3JpcHROb25jZSkpCisgICAgaWYgKGNo
ZWNrTm9uY2Uobm9uY2UpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXBvcnRWaW9sYXRp
b24obV9zY3JpcHROb25jZSwgY29uc29sZU1lc3NhZ2UgKyAiXCJzY3JpcHQtbm9uY2UgIiArIG1f
c2NyaXB0Tm9uY2UgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsK
ICAgICByZXR1cm4gZGVueUlmRW5mb3JjaW5nUG9saWN5KCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0
aXZlTGlzdDo6Y2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0
aXZlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRV
UkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNo
ZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25z
dCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0CiB7Ci0gICAgaWYgKGNoZWNr
RXZhbChkaXJlY3RpdmUpKQorICAgIGlmIChjaGVja0lubGluZShkaXJlY3RpdmUpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNv
bnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgp
LCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgY2FsbFN0YWNrKTsKKyAgICByZXBvcnRWaW9sYXRp
b24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNvbGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+
dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CiAgICAg
cmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCiBib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZl
LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKIHsKLSAgICBpZiAo
IWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUtPmFsbG93cyh1cmwpKQorICAgIGlmIChjaGVja1NvdXJj
ZShkaXJlY3RpdmUsIHVybCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIFN0cmluZyB2ZXJi
ID0gdHlwZSA9PSAiY29ubmVjdCIgPyAiY29ubmVjdCB0byIgOiAibG9hZCB0aGUiOwogICAgIHJl
cG9ydFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgIlJlZnVzZWQgdG8gIiArIHZlcmIgKyAi
ICIgKyB0eXBlICsgIiAnIiArIHVybC5zdHJpbmcoKSArICInIGJlY2F1c2UgaXQgdmlvbGF0ZXMg
dGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6IFwiIiArIGRp
cmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgdXJsKTsKICAgICByZXR1cm4gZGVueUlmRW5mb3Jj
aW5nUG9saWN5KCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0
VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYg
Y29udGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNjcmlw
dFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXIm
IGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBv
cnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNv
bnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IFVSTCBiZWNhdXNl
IGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlOiAiKSk7Ci0gICAgcmV0dXJuIChjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVy
YXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4
dFVSTCwgY29udGV4dExpbmUpCi0gICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0Vmlv
bGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUp
KTsKKyAgICBpZiAocmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2Vu
ZFJlcG9ydCkgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9u
KG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBj
b250ZXh0VVJMLCBjb250ZXh0TGluZSkKKyAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlQW5k
UmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29u
dGV4dExpbmUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lKG9w
ZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSkpCisgICAgICAgICAgICAgICAgJiYg
Y2hlY2tOb25jZShTdHJpbmcoKSkpOworICAgIH0KIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0
OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJM
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhl
Y3V0ZSBpbmxpbmUgZXZlbnQgaGFuZGxlciBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dp
bmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0dXJuIChj
aGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRT
cmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpCi0gICAg
ICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygpLCBjb25zb2xl
TWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICBpZiAocmVwb3J0aW5nU3Rh
dHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCkgeworICAgICAgICByZXR1
cm4gKGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3Nj
cmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkK
KyAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKFN0cmluZygp
LCBjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICByZXR1cm4gKGNoZWNrSW5saW5lKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3Njcmlw
dFNyYy5nZXQoKSkpCisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZShTdHJpbmcoKSkpOwor
ICAgIH0KIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVNjcmlwdChjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExp
bmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0
IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGlu
ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVz
KSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2Fn
ZSwgKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVz
IHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0g
ICAgcmV0dXJuIGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2
ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0
TGluZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihv
cGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29u
dGV4dFVSTCwgY29udGV4dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxpbmUob3BlcmF0aXZlRGly
ZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6
YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGlu
YWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0
YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChT
dHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gYXBwbHkgaW5saW5lIHN0eWxlIGJl
Y2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBk
aXJlY3RpdmU6ICIpKTsKLSAgICByZXR1cm4gY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24o
b3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgY29u
dGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tJbmxpbmVBbmRS
ZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCBjb25z
b2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpIDoKKyAgICAgICAgY2hlY2tJbmxp
bmUob3BlcmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpKTsKIH0KIAotYm9vbCBDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxT
dGFjaykgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dFdmFsKFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0
aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQg
YmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZTogIikpOwotICAgIHJldHVybiBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24o
b3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0
cmluZygpLCBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjayk7Cisg
ICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRS
ZXBvcnQgPworICAgICAgICBjaGVja0V2YWxBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGly
ZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIFN0cmluZygpLCBXVEY6
Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCksIGNhbGxTdGFjaykgOgorICAgICAgICBjaGVj
a0V2YWwob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSk7CiB9CiAKIGJvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBj
b25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4
dExpbmUsIGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTc4NSw1NiArODI1LDc4IEBAIGJvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBj
b25zdCBTdHJpbmcmIGNvbnRlCiAgICAgcmV0dXJuIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRp
b24obm9uY2UsICJSZWZ1c2VkIHRvIGxvYWQgJyIgKyB1cmwuc3RyaW5nKCkgKyAiJyBiZWNhdXNl
IGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlOiAiLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZl
TGlzdDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBj
b25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoInNjcmlwdCIp
KTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGly
ZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0
aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAg
IGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3Njcmlw
dFNyYy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVE
aXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29s
IENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmws
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykg
Y29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJvYmplY3Qi
KSk7CiAgICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAg
IHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUo
bV9vYmplY3RTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0
dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tT
b3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fb2JqZWN0U3JjLmdl
dCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2
ZShtX29iamVjdFNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6
YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJs
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMp
IGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgiZnJhbWUi
KSk7CiAgICAgaWYgKHVybC5pc0JsYW5rVVJMKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAg
IHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUo
bV9mcmFtZVNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1
cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1Nv
dXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mcmFtZVNyYy5nZXQo
KSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUo
bV9mcmFtZVNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dJbWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJpbWFnZSIpKTsKLSAgICByZXR1
cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1faW1n
U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENv
bnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5k
UmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ltZ1NyYy5nZXQoKSksIHVybCwg
dHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUobV9pbWdTcmMu
Z2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5bGVGcm9t
U291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIHR5cGUsICgic3R5bGUiKSk7Ci0gICAgcmV0dXJuIGNoZWNrU291
cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgp
KSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1
cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0Vmlv
bGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6
CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgp
KSwgdXJsKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ZvbnRGcm9tU291cmNl
KGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250
RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0
aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgdHlwZSwgKCJmb250IikpOwotICAgIHJldHVybiBjaGVja1NvdXJjZUFuZFJl
cG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9mb250U3JjLmdldCgpKSwgdXJsLCB0
eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9w
ZXJhdGl2ZURpcmVjdGl2ZShtX2ZvbnRTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAg
Y2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1fZm9udFNyYy5nZXQoKSksIHVybCk7CiB9
CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VS
TCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJj
ZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVz
IHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgdHlwZSwgKCJtZWRpYSIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9s
YXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOwor
ICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5k
UmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZl
RGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tT
b3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1fbWVkaWFTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1i
b29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtVUkwmIHVy
bCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29u
c3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBv
cnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHR5
cGUsICgiY29ubmVjdCIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRp
b24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fY29ubmVjdFNyYy5nZXQoKSksIHVybCwgdHlwZSk7Cisg
ICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRS
ZXBvcnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVE
aXJlY3RpdmUobV9jb25uZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNr
U291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2Nvbm5lY3RTcmMuZ2V0KCkpLCB1cmwpOworfQor
Cit2b2lkIENTUERpcmVjdGl2ZUxpc3Q6OmdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYg
bGlzdCkgY29uc3QKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcmVwb3J0VVJJcy5z
aXplKCk7ICsraSkKKyAgICAgICAgbGlzdC5hcHBlbmQobV9yZXBvcnRVUklzW2ldLnN0cmluZygp
KTsKIH0KIAogLy8gcG9saWN5ICAgICAgICAgICAgPSBkaXJlY3RpdmUtbGlzdApAQCAtMTA4Miwy
MSArMTE0NCwyMSBAQCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpkZXByZWNhdGVkSGVhZGVyVHlwZSgpCiAgICAgcmV0dXJuIG1fcG9saWNp
ZXMuaXNFbXB0eSgpID8gRW5mb3JjZVBvbGljeSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlclR5cGUo
KTsKIH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgY29uc3Q+Ci1ib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENh
bGxTdGFjayhjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2
ZUxpc3Q6OiphbGxvd2VkKShQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkQnlBbGxX
aXRoQ2FsbFN0YWNrKGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBwb2xpY2llcy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAoIShwb2xpY2llc1tp
XS5nZXQoKS0+KmFsbG93ZWQpKGNhbGxTdGFjaykpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ld
LmdldCgpLT4qYWxsb3dlZCkoY2FsbFN0YWNrLCByZXBvcnRpbmdTdGF0dXMpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8
Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdU
Rjo6T3JkaW5hbE51bWJlciYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0
KGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpCit0ZW1wbGF0
ZTxib29sIChDU1BEaXJlY3RpdmVMaXN0OjoqYWxsb3dlZCkoY29uc3QgU3RyaW5nJiwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0
dXMpIGNvbnN0PgorYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0KGNvbnN0IENTUERpcmVj
dGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykKIHsKICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHBvbGljaWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmICghKHBvbGljaWVzW2ld
LmdldCgpLT4qYWxsb3dlZCkoY29udGV4dFVSTCwgY29udGV4dExpbmUpKQorICAgICAgICBpZiAo
IShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93ZWQpKGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCBy
ZXBvcnRpbmdTdGF0dXMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTExMTIsNDQgKzExNzQsNDQgQEAgYm9vbCBpc0FsbG93ZWRCeUFsbFdp
dGhOb25jZShjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yJiBwb2xpY2llcywgY29uc3QgU3Ry
aW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlz
dDo6KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYpIGNvbnN0PgotYm9vbCBpc0FsbG93ZWRCeUFs
bFdpdGhVUkwoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtV
UkwmIHVybCkKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd0Zyb21VUkwp
KGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29u
c3Q+Citib29sIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTChjb25zdCBDU1BEaXJlY3RpdmVMaXN0VmVj
dG9yJiBwb2xpY2llcywgY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpCiB7CiAgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5
OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9s
aWNpZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiph
bGxvd0Zyb21VUkwpKHVybCkpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxs
b3dGcm9tVVJMKSh1cmwsIHJlcG9ydGluZ1N0YXR1cykpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkws
IGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1
cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZh
U2NyaXB0VVJMcz4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJl
dHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ph
dmFTY3JpcHRVUkxzPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0
aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5l
RXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0Fs
bG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50
SGFuZGxlcnM+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1
cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxp
bmVFdmVudEhhbmRsZXJzPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVw
b3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5s
aW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVt
YmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3Rh
dHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxX
aXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNp
ZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxX
aXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQ+KG1fcG9saWNp
ZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNv
bnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citi
b29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QK
IHsKICAgICBpZiAobV9vdmVycmlkZUlubGluZVN0eWxlQWxsb3dlZCkKICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93SW5saW5lU3R5bGU+KG1fcG9saWNpZXMsIGNvbnRleHRVUkwsIGNvbnRleHRM
aW5lKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZl
TGlzdDo6YWxsb3dJbmxpbmVTdHlsZT4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExp
bmUsIHJlcG9ydGluZ1N0YXR1cyk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29uc3QKK2Jv
b2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMg
cmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhD
YWxsU3RhY2s8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbD4obV9wb2xpY2llcywgY2FsbFN0
YWNrKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrPCZDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0V2YWw+KG1fcG9saWNpZXMsIGNhbGxTdGFjaywgcmVwb3J0aW5nU3RhdHVz
KTsKIH0KIAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29u
c3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC0xMTU3
LDQ0ICsxMjE5LDU1IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdE5v
bmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYKICAgICByZXR1cm4gaXNBbGxv
d2VkQnlBbGxXaXRoTm9uY2U8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2U+KG1f
cG9saWNpZXMsIG5vbmNlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgdXJsKTsKIH0KIAotYm9v
bCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBLVVJM
JiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9t
U291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdT
dGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRCeUFs
bFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0RnJvbVNvdXJjZT4obV9wb2xp
Y2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAoreworICAg
IHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2Jq
ZWN0RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOworfQorCiti
b29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9y
dGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd1NjcmlwdEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7
CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dDaGlsZEZyYW1lRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMp
OwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dPYmplY3RGcm9tU291cmNl
KGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNB
bGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd09iamVjdEZyb21Tb3Vy
Y2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwm
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbWFnZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwg
cmVwb3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25z
dAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6
OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJu
IGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21T
b3VyY2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAotYm9vbCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkg
Y29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRGcm9tU291cmNlKGNv
bnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVw
b3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8
JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW1hZ2VGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwp
OworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93Rm9udEZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCwgcmVwb3J0aW5nU3RhdHVzKTsKIH0K
IAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0
IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlh
RnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0
aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2Vk
QnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZT4obV9w
b2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJl
Y3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRp
bmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dGb250RnJv
bVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJv
bVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRo
VVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xpY2llcywg
dXJsLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmlzQWN0aXZlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2Vk
QnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd01lZGlhRnJvbVNvdXJjZT4obV9w
b2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gIW1fcG9saWNpZXMuaXNFbXB0eSgpOwogfQogCi1i
b29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VS
TCYgdXJsKSBjb25zdAordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVS
SXMoRE9NU3RyaW5nTGlzdCYgbGlzdCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4obV9wb2xp
Y2llcywgdXJsKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcG9saWNpZXMuc2l6ZSgp
OyArK2kpCisgICAgICAgIG1fcG9saWNpZXNbaV0uZ2V0KCktPmdhdGhlclJlcG9ydFVSSXMobGlz
dCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
CmluZGV4IGNiNmJlYWQ1MTQ5NThhZDMwMWM0OTNmNjAwZjRlNmE0NjBkNzgxNTguLmNkYjZiNWY4
OThhZWU0NDMzMTdmODZhYzE2ZmYyZTQxMDA2ZTRkY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTUERpcmVjdGl2ZUxpc3Q7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
CitjbGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
dHlwZWRlZiBWZWN0b3I8T3duUHRyPENTUERpcmVjdGl2ZUxpc3Q+ID4gQ1NQRGlyZWN0aXZlTGlz
dFZlY3RvcjsKQEAgLTU5LDMxICs2MCwzOSBAQCBwdWJsaWM6CiAgICAgICAgIEVuZm9yY2VQb2xp
Y3kKICAgICB9OwogCisgICAgZW51bSBSZXBvcnRpbmdTdGF0dXMgeworICAgICAgICBTZW5kUmVw
b3J0LAorICAgICAgICBTdXBwcmVzc1JlcG9ydAorICAgIH07CisKICAgICB2b2lkIGRpZFJlY2Vp
dmVIZWFkZXIoY29uc3QgU3RyaW5nJiwgSGVhZGVyVHlwZSk7CiAKLSAgICAvLyBUaGVzZSBmdW5j
dGlvbnMgYXJlIHdyb25nIGJlY3Vhc2UgdGhleSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBvbmx5IG9u
ZSBoZWFkZXIuCisgICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSB3cm9uZyBiZWNhdXNlIHRoZXkg
YXNzdW1lIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgaGVhZGVyLgogICAgIC8vIEZJWE1FOiBSZXBs
YWNlIHRoZW0gd2l0aCBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdmVjdG9ycy4KICAgICBjb25zdCBT
dHJpbmcmIGRlcHJlY2F0ZWRIZWFkZXIoKSBjb25zdDsKICAgICBIZWFkZXJUeXBlIGRlcHJlY2F0
ZWRIZWFkZXJUeXBlKCkgY29uc3Q7CiAKLSAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29u
c3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRM
aW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNv
bnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJM
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29s
IGFsbG93SW5saW5lU3R5bGUoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKLSAgICBib29sIGFsbG93RXZhbChQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIGNvbnN0OworICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0
VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYg
Y29udGV4dExpbmUsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJv
b2wgYWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3RhdHVzID0gU2Vu
ZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFJlcG9y
dGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVTdHls
ZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgUmVwb3J0aW5nU3RhdHVzID0g
U2VuZFJlcG9ydCkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1NjcmlwdE5vbmNlKGNvbnN0IFN0cmlu
ZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVt
YmVyJiBjb250ZXh0TGluZSwgY29uc3QgS1VSTCYgPSBLVVJMKCkpIGNvbnN0OwogCi0gICAgYm9v
bCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxs
b3dPYmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Q2hp
bGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbWFn
ZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dTdHlsZUZyb21T
b3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShj
b25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBL
VVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJikg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9y
dGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dPYmplY3RGcm9t
U291cmNlKGNvbnN0IEtVUkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsK
KyAgICBib29sIGFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGlu
Z1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbWFnZUZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAg
IGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9ydGluZ1N0YXR1cyA9
IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBL
VVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxv
d01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9y
dCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiwgUmVw
b3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CiAKICAgICB2b2lkIHNldE92ZXJyaWRl
QWxsb3dJbmxpbmVTdHlsZShib29sKTsKIAorICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKKyAg
ICB2b2lkIGdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYpIGNvbnN0OworCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IENvbnRlbnRTZWN1cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xp
Y3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2QxNzNlNmYyOWFkNjY1YTRmNmZlZDgyMmU4ODA1MmZjYWM3YWZlZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0w
LDAgKzEsMTU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSwgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgR09PR0xFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01TZWN1cml0
eVBvbGljeS5oIgorCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVk
ZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJET01TdHJpbmdMaXN0
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2Ugewor
Citib29sIGlzUG9saWN5QWN0aXZlSW5Db250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCit7CisgICAgLy8gSWYgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgaGFzIGJlZW4g
ZGVzdHJveWVkLCB0aGVyZSdzIG5vIGFjdGl2ZSBwb2xpY3kuCisgICAgaWYgKCFjb250ZXh0KQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY29udGV4dC0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmlzQWN0aXZlKCk7Cit9CisKK3RlbXBsYXRlPGJvb2wgKENvbnRlbnRTZWN1
cml0eVBvbGljeTo6KmFsbG93V2l0aFVSTCkoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkV2l0aFVSTChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBTdHJpbmcgdXJsKQoreworICAgIGlmICghaXNQ
b2xpY3lBY3RpdmVJbkNvbnRleHQoY29udGV4dCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgS1VSTCBwYXJzZWRVUkwgPSBjb250ZXh0LT5jb21wbGV0ZVVSTCh1cmwpOworICAgIGlmICgh
cGFyc2VkVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBGSVhNRTogRmln
dXJlIG91dCBob3cgdG8gdGhyb3cgYSBKYXZhU2NyaXB0IGVycm9yLgorCisgICAgcmV0dXJuIChj
b250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+KmFsbG93V2l0aFVSTCkocGFyc2VkVVJM
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KTsKK30KKwordGVtcGxhdGU8
Ym9vbCAoQ29udGVudFNlY3VyaXR5UG9saWN5OjoqYWxsb3dXaXRoQ29udGV4dCkoY29uc3QgU3Ry
aW5nJiwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRpbmdTdGF0dXMpIGNvbnN0PgorYm9vbCBpc0FsbG93ZWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICBpZiAoIWlzUG9saWN5QWN0aXZlSW5Db250ZXh0KGNvbnRl
eHQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAoY29udGV4dC0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPiphbGxvd1dpdGhDb250ZXh0KShLVVJMKCksIFdURjo6T3JkaW5h
bE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1Jl
cG9ydCk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKK0RPTVNlY3VyaXR5UG9saWN5OjpET01TZWN1
cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29udGV4
dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKK3sKK30KKworRE9NU2VjdXJpdHlQb2xpY3k6
On5ET01TZWN1cml0eVBvbGljeSgpCit7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6Omlz
QWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNQb2xpY3lBY3RpdmVJbkNvbnRleHQoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBE
T01TZWN1cml0eVBvbGljeTo6cmVwb3J0VVJJcygpIGNvbnN0Cit7CisgICAgUmVmUHRyPERPTVN0
cmluZ0xpc3Q+IHJlc3VsdCA9IERPTVN0cmluZ0xpc3Q6OmNyZWF0ZSgpOworCisgICAgaWYgKGlz
QWN0aXZlKCkpCisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmdhdGhlclJlcG9ydFVSSXMoKnJlc3VsdC5nZXQoKSk7CisKKyAgICByZXR1
cm4gcmVzdWx0LnJlbGVhc2UoKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dz
SW5saW5lU2NyaXB0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkPCZDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmFsbG93SW5saW5lU2NyaXB0PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkp
OworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NJbmxpbmVTdHlsZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lu
bGluZVN0eWxlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitib29sIERPTVNlY3Vy
aXR5UG9saWN5OjphbGxvd3NFdmFsKCkgY29uc3QKK3sKKyAgICBpZiAoIWlzQWN0aXZlKCkpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlN1cHByZXNzUmVwb3J0KTsKK30KKworCitib29sIERPTVNlY3VyaXR5UG9saWN5Ojph
bGxvd3NDb25uZWN0aW9uVG8oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxv
d2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZT4o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9s
aWN5OjphbGxvd3NGb250RnJvbShTdHJpbmcgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0Fs
bG93ZWRXaXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2U+
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01TZWN1cml0eVBv
bGljeTo6YWxsb3dzRnJhbWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlz
QWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJv
bVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNl
Y3VyaXR5UG9saWN5OjphbGxvd3NJbWFnZUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdl
RnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERP
TVNlY3VyaXR5UG9saWN5OjphbGxvd3NNZWRpYUZyb20oU3RyaW5nIHVybCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01l
ZGlhRnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29s
IERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NPYmplY3RGcm9tKFN0cmluZyB1cmwpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxs
b3dPYmplY3RGcm9tU291cmNlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCk7Cit9CisK
K2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29u
c3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd1NjcmlwdEZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsK
K30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzU3R5bGVGcm9tKFN0cmluZyB1cmwp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dTdHlsZUZyb21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJs
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1
cml0eVBvbGljeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNDZhNjE2NGY0M2RjNjUxYmU4OTUxMjMzYmE5OTIz
NzJjNDYwZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3Vy
aXR5UG9saWN5LmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVNlY3VyaXR5UG9saWN5
X2gKKyNkZWZpbmUgRE9NU2VjdXJpdHlQb2xpY3lfaAorCisjaW5jbHVkZSAiQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENvbnRl
bnRTZWN1cml0eVBvbGljeTsKK2NsYXNzIERPTVN0cmluZ0xpc3Q7CitjbGFzcyBGcmFtZTsKKwor
Y2xhc3MgRE9NU2VjdXJpdHlQb2xpY3kgOiBwdWJsaWMgUmVmQ291bnRlZDxET01TZWN1cml0eVBv
bGljeT4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8RE9NU2VjdXJpdHlQb2xpY3k+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBE
T01TZWN1cml0eVBvbGljeShjb250ZXh0KSk7CisgICAgfQorICAgIH5ET01TZWN1cml0eVBvbGlj
eSgpOworCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8RE9NU3Ry
aW5nTGlzdD4gcmVwb3J0VVJJcygpIGNvbnN0OworCisgICAgYm9vbCBhbGxvd3NJbmxpbmVTY3Jp
cHQoKSBjb25zdDsKKyAgICBib29sIGFsbG93c0lubGluZVN0eWxlKCkgY29uc3Q7CisgICAgYm9v
bCBhbGxvd3NFdmFsKCkgY29uc3Q7CisKKyAgICBib29sIGFsbG93c0Nvbm5lY3Rpb25UbyhTdHJp
bmcgdXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93c0ZvbnRGcm9tKFN0cmluZyB1cmwpIGNvbnN0
OworICAgIGJvb2wgYWxsb3dzRnJhbWVGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dzSW1hZ2VGcm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzTWVkaWFG
cm9tKFN0cmluZyB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzT2JqZWN0RnJvbShTdHJpbmcg
dXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93c1NjcmlwdEZyb20oU3RyaW5nIHVybCkgY29uc3Q7
CisgICAgYm9vbCBhbGxvd3NTdHlsZUZyb20oU3RyaW5nIHVybCkgY29uc3Q7CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgRE9NU2VjdXJpdHlQb2xpY3koU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
U2VjdXJpdHlQb2xpY3kuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGlj
eS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTI0MWJkZWYwZWM0NDM2ZmJlY2NhYmQ2MWFkODM1MWViODgxY2Fi
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VjdXJpdHlQb2xp
Y3kuaWRsCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKwor
ICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUNTUF9ORVhULAorICAgICAgICBP
bWl0Q29uc3RydWN0b3IsCisgICAgICAgIEludGVyZmFjZU5hbWU9c2VjdXJpdHlQb2xpY3kKKyAg
ICBdIERPTVNlY3VyaXR5UG9saWN5IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZ0xpc3QgcmVwb3J0VVJJczsKKworICAgICAgICBib29sZWFuIGlzQWN0aXZlKCk7CisKKyAg
ICAgICAgYm9vbGVhbiBhbGxvd3NDb25uZWN0aW9uVG8oaW4gRE9NU3RyaW5nIHVybCk7CisgICAg
ICAgIGJvb2xlYW4gYWxsb3dzRm9udEZyb20oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJv
b2xlYW4gYWxsb3dzRnJhbWVGcm9tKGluIERPTVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFu
IGFsbG93c0ltYWdlRnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxv
d3NNZWRpYUZyb20oaW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzT2Jq
ZWN0RnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NTY3JpcHRG
cm9tKGluIERPTVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c1N0eWxlRnJvbShp
biBET01TdHJpbmcgdXJsKTsKKworICAgICAgICBib29sZWFuIGFsbG93c0V2YWwoKTsKKyAgICAg
ICAgYm9vbGVhbiBhbGxvd3NJbmxpbmVTY3JpcHQoKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NJ
bmxpbmVTdHlsZSgpOworICAgIH07CisKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZmMTMyNThhZGNmYjViMGQxZmUz
MWU4ZjE5ZTAzOTE0NWNhYjdhMmUuLjQ2Yjc1MThjNjc5MjA1NzRmODEzMmIwMDYwNDA4Y2IwODI2
NTczNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMi0wNy0xOSAgTWlrZSBXZXN0ICA8bWt3
c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcGxlbWVudCB0aGUgZXhwZXJpbWVudGFsIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IHNjcmlwdCBpbnRlcmZhY2UuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTcwNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Zv
bnRmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20u
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd2ltYWdlZnJvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZy
b20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd3NjcmlwdGZyb20uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVm
cm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2FjdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0
dXJpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qczogQWRkZWQuCisgICAgICAg
IChsb2cpOgorICAgICAgICAoaW5qZWN0UG9saWN5KToKKwogMjAxMi0wNy0xOSAgWmFuIERvYmVy
c2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdh
cmRlbmluZywgYWRkaW5nIG1pc3NpbmcgYmFzZWxpbmUgcmVxdWlyZWQgYWZ0ZXIgcjEyMjc2MS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJkYThkNWRlOGFiZDg3MDk5MmUxOGY3ZTMyNzcwMTc2OTA2ZjQ3OTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBjb25uZWN0aW9uIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xp
Y3kgZXhpc3RzLgorUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4
aXN0cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3djb25uZWN0aW9udG8uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZDc3MzMyM2IxOTZmNTc2YzgzMzI3MWM4Zjg5NTdmNDBmYjFlYTQyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRvLmh0bWwKQEAgLTAsMCArMSwyMCBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
CisgIDxib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3kt
dGVzdHMtYmFzZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVu
dC5TZWN1cml0eVBvbGljeS5hbGxvd3NDb25uZWN0aW9uVG8oJ2h0dHA6Ly9leGFtcGxlLmNvbS8n
KSkKKyAgICAgICAgICBsb2coJ1BBU1MgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gbm8gcG9s
aWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgY29ubmVjdGlv
biBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKworICAgICAgaW5q
ZWN0UG9saWN5KCJjb25uZWN0LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAg
ICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0Nvbm5lY3Rpb25UbygnaHR0cDov
L2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBjb25uZWN0aW9uIGlzIG5vdCBh
bGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2co
J0ZBSUwgY29ubmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8
L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5
LWFsbG93ZXZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40Zjk4YTVmYjEyZDFkZTQ0MDQwYjAyMWNiZjE0NTU4MDZmZGY0
NzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGV2YWwgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGlj
eSBleGlzdHMuCitQQVNTIGV2YWwgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3dldmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIzNzkxYTQyZDgxMmQ2MmYxNTg5NDE1
MTk5YTAwZDY0ODcwNWI3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d2V2YWwuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0V2YWwoKSkK
KyAgICAgICAgICBsb2coJ1BBU1MgZXZhbCBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0
cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZXZhbCBpcyBub3QgYWxsb3dl
ZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0
LXNyYyAndW5zYWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQ
b2xpY3kuYWxsb3dzRXZhbCgpKQorICAgICAgICAgIGxvZygnUEFTUyBldmFsIGlzIG5vdCBhbGxv
d2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZB
SUwgZXZhbCBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4K
KyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9u
dGZyb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ1YjVkMTUwZjk3NzkwY2MyOWVhOTM5YTZmZmU1MjBhMmM1YzFk
ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBv
bGljeSBleGlzdHMuCitQQVNTIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3Rz
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjVlYjBjZDJmYjA0
ZDk1NjJkMzdkZDQxMmY1YjcwNzhkYjgwZDQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5
LmFsbG93c0ZvbnRGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQ
QVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNl
CisgICAgICAgICAgbG9nKCdGQUlMIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kg
ZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koImZvbnQtc3JjIGh0dHA6Ly9ub3RleGFt
cGxlLmNvbS87Iik7CisKKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dz
Rm9udEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1MgZm9u
dCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdQQVNTIGZvbnQgaXMgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7Cisg
ICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93ZnJhbWVmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d2ZyYW1lZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA2ZDQzMjEyNGNjNDNhNDJkNzkw
YjU1YmU5M2E1N2IwN2RjMzE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd2ZyYW1lZnJvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGZyYW1lIGlz
IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBmcmFtZSBpcyBub3QgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d2ZyYW1lZnJvbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9tLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTYxYWE1OTJhYzljMDkzNzE5MTBhMzg4ZjUwYjVjZTU3MjViNjljZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1sCkBAIC0wLDAg
KzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5
cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAo
ZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5j
b20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xp
Y3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBmcmFtZSBpcyBu
b3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGlj
eSgiZnJhbWUtc3JjIGh0dHA6Ly9ub3RleGFtcGxlLmNvbS87Iik7CisKKyAgICAgIGlmICghZG9j
dW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzRnJhbWVGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20v
JykpCisgICAgICAgICAgbG9nKCdQQVNTIGZyYW1lIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5
IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZnJhbWUgaXMgYWxs
b3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwv
aHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93aW1hZ2Vmcm9tLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmI1OGEwNTlkMGM3ZWI2M2U2YTEzNzQ3MzVlNGU5MjJhNWJkMDBkZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACitQQVNTIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhp
c3RzLgorUEFTUyBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93aW1hZ2Vmcm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlZmI1MGYyMTQ2OTMwMGZk
MmIwYzRlNDY5OTY3Njc3ZmQwYTAyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd2ltYWdlZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxs
b3dzSW1hZ2VGcm9tKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNT
IGltYWdlIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQor
ICAgICAgICAgIGxvZygnRkFJTCBpbWFnZSBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgiaW1nLXNyYyBodHRwOi8vbm90ZXhhbXBs
ZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0lt
YWdlRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBpbWFn
ZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAg
ICAgICAgbG9nKCdGQUlMIGltYWdlIGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOwor
ICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd21lZGlhZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dtZWRpYWZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NTcyZWY5Nzk0ODI1NjU5MTQ2
ODgyN2E0NTZlYjA0ZDJhNjFhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dtZWRpYWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBtZWRpYSBp
cyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgbWVkaWEgaXMgbm90IGFsbG93
ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dtZWRpYWZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd21lZGlhZnJvbS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg1ZDBlMjM3OGRmYzU1OGU4OTY2ZjY4MjI2MTZiZTA2MzU2ZDcxYTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0
eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYg
KGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUu
Y29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBtZWRpYSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9s
aWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgbWVkaWEgaXMg
bm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xp
Y3koIm1lZGlhLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRv
Y3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c01lZGlhRnJvbSgnaHR0cDovL2V4YW1wbGUuY29t
LycpKQorICAgICAgICAgIGxvZygnUEFTUyBtZWRpYSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGlj
eSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG1lZGlhIGlzIGFs
bG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDE5YzJhZTJiZWFjNjY4NGUwZGE1OGQyMmI1ZDBkMDAwNTc1MDc1ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGlj
eSBleGlzdHMuCitQQVNTIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2E2OTRjZDgz
NmRjNzE2MGRjMmMxN2YyM2NjMTdhZmJhYWIxOGViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWFsbG93b2JqZWN0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2Uu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQ
b2xpY3kuYWxsb3dzT2JqZWN0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAg
IGxvZygnUEFTUyBvYmplY3QgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7Cisg
ICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIG9iamVjdCBpcyBub3QgYWxsb3dlZCB3aGVu
IG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgib2JqZWN0LXNyYyBo
dHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5
UG9saWN5LmFsbG93c09iamVjdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAg
ICBsb2coJ1BBU1Mgb2JqZWN0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsK
KyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgb2JqZWN0IGlzIGFsbG93ZWQgd2hlbiBw
b2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4x
L3NlY3VyaXR5cG9saWN5LWFsbG93c2NyaXB0ZnJvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODMxZGY1ZWVhZDMxN2M0MzkzZGMyNDc5ZmNmM2UzMDUwYzY1ZjdmOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorUEFTUyBzY3JpcHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQ
QVNTIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd3NjcmlwdGZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWYxMDU1NzcyMTFjMjEyMWM3OGI5
YjI4MDRkMWVjYmI3YWRmM2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFs
bG93c2NyaXB0ZnJvbS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dz
U2NyaXB0RnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBz
Y3JpcHQgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisg
ICAgICAgICAgbG9nKCdGQUlMIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgic2NyaXB0LXNyYyBodHRwOi8vbm90ZXhh
bXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93
c1NjcmlwdEZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mg
c2NyaXB0IGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UK
KyAgICAgICAgICBsb2coJ0ZBSUwgc2NyaXB0IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3Rz
LicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dzdHlsZWZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZTUwODU5MzljZTJh
NDkxOTA4ZDRmOWE5NTRiMjdhNWQyZWEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3dzdHlsZWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBz
dHlsZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1Mgc3R5bGUgaXMgbm90
IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dzdHlsZWZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc5YmUwMmZkODNmZjRmMTJiNTAxNzQyMGYwNDJjMTNhZmE5ODQzNGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbApA
QCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9z
ZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAg
ICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4
YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBhbGxvd2VkIHdoZW4g
bm8gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgc3R5
bGUgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmpl
Y3RQb2xpY3koInN0eWxlLXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBp
ZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1N0eWxlRnJvbSgnaHR0cDovL2V4YW1w
bGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBzdHlsZSBpcyBub3QgYWxsb3dlZCB3aGVu
IHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHN0eWxl
IGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NTFkZjFjNGUzOWVjNjRlYTQwMjhmMTM1MjRkN2UzYzA2MmVkNGY4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKK1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIGZhbHNlIHdoZW4gbm8g
cG9saWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRy
dWUgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNh
Y3RpdmUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2FjdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
MzQ0MjQzNjg0MzczMTIxMGVlMjY3NzdlNWQwNzU5M2IyNmJlYTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+
CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNl
LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0
eVBvbGljeS5pc0FjdGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0
eVBvbGljeS5hY3RpdmUgaXMgZmFsc2Ugd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAg
ZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3RpdmUg
aXMgdHJ1dyB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGluamVjdFBvbGljeSgi
c2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSc7Iik7CisKKyAgICAgIGlmIChkb2N1bWVudC5TZWN1
cml0eVBvbGljeS5pc0FjdGl2ZSgpKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1
cml0eVBvbGljeS5hY3RpdmUgaXMgdHJ1ZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBl
bHNlCisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFjdGl2ZSBp
cyBmYWxzZSB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWRhYjI2ZTU5YTMwYTA0NmVhZDA0ODQyNjJlM2YxZDE4ZGY2ZGQ3OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBA
QAorUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMCB3
aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNTIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9y
dFVSSXMgaGFzIGxlbmd0aCAxIHdoZW4gcG9saWN5IGV4aXN0cy4KK1BBU1MgZG9jdW1lbnQuU2Vj
dXJpdHlQb2xpY3kucmVwb3J0VVJJc1swXSBpcyBjb3JyZWN0LgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0dXJpLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDIzNmEwMTFiNmE0ZmNhNTgxYThlNjVhZTYwOGMwNjdkMmExNzEyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbApAQCAtMCww
ICsxLDI0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0
eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYg
KGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoID09PSAwKQorICAgICAg
ICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5n
dGggMCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9n
KCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMgaGFzIGxlbmd0aCAnICsg
ZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcy5sZW5ndGggKyAnIHdoZW4gbm8gcG9s
aWN5IGV4aXN0cy4nKTsKKworICAgICAgaW5qZWN0UG9saWN5KCdyZXBvcnQtdXJpIGh0dHA6Ly9l
eGFtcGxlLmNvbS8nKTsKKworICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9y
dFVSSXMubGVuZ3RoID09PSAxKQorICAgICAgICAgIGxvZygnUEFTUyBkb2N1bWVudC5TZWN1cml0
eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMSB3aGVuIHBvbGljeSBleGlzdHMuJyk7Cisg
ICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJl
cG9ydFVSSXMgaGFzIGxlbmd0aCAnICsgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJ
cy5sZW5ndGggKyAnIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaWYgKGRvY3VtZW50
LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXNbMF0gPT09ICJodHRwOi8vZXhhbXBsZS5jb20vIikK
KyAgICAgICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJc1sw
XSBpcyBjb3JyZWN0LicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVu
dC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzWzBdIGlzICcgKyBkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5yZXBvcnRVUklzWzBdICsgJyAoc2hvdWxkIGJlIGBodHRwOi8vZXhhbXBsZS5jb20vYCku
Jyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNl
cy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRl
c3RzLWJhc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZkYjEyYWU2N2YyNzM5MTVhMWRjN2RkNDJmMGRkMjQw
NWNjMmNmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1i
YXNlLmpzCkBAIC0wLDAgKzEsMTkgQEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBsb2co
bXNnKSB7CisgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyk7CisgICAg
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKHR4dCk7CisgICAgZG9j
dW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2JyJykpOworfQorCitmdW5jdGlvbiBpbmplY3RQb2xpY3kocG9saWN5KSB7CisgICAg
dmFyIG1ldGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7CisgICAgbWV0YS5zZXRB
dHRyaWJ1dGUoJ2h0dHAtZXF1aXYnLCAnWC1XZWJLaXQtQ1NQJyk7CisgICAgbWV0YS5zZXRBdHRy
aWJ1dGUoJ2NvbnRlbnQnLCBwb2xpY3kpOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo
bWV0YSk7Cit9CisKK2lmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kpCisgICAgbG9nKCdGQUlM
IGRvY3VtZW50LnNlY3VyaXR5UG9saWN5IGlzIG5vdCBkZWZpbmVkLicpCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154574</attachid>
            <date>2012-07-26 01:21:47 -0700</date>
            <delta_ts>2012-07-26 02:50:16 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-91707-20120726102135.patch</filename>
            <type>text/plain</type>
            <size>89737</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5NjI5MWUwMDliYjYy
OGYxYjNkMjhmNGE0ZjliMDY4MDU4MDgzMi4uMjA0N2I5MGQ5M2RlODkzZjU5OWUyZjA5OTY0N2Q1
MTM3N2NhMGVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzOCBAQAorMjAxMi0wNy0yNiAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBUaGUgQ1NQIDEuMSBlZGl0b3IncyBk
cmFmdCBkZWZpbmVzIGEgc2NyaXB0IGludGVyZmFjZSB0aGF0IGdpdmVzCisgICAgICAgIGRldmVs
b3BlcnMgdGhlIGFiaWxpdHkgdG8gcXVlcnkgYSBkb2N1bWVudCByZWdhcmRpbmcgdGhlIHJlc3Ry
aWN0aW9ucworICAgICAgICBzZXQgYnkgaXQncyBjdXJyZW50bHkgYWN0aXZlIGNvbnRlbnQgc2Vj
dXJpdHkgcG9saWN5WzFdLiBUaGlzIHBhdGNoCisgICAgICAgIGV4cG9zZXMgdGhhdCBBUEkgaW4g
dGVybXMgb2YgYSBuZXcgRE9NU2VjdXJpdHlQb2xpY3kgb2JqZWN0LgorCisgICAgICAgIERhdGEg
Zm9yIHRoZSBBUEkgaXMgZ2F0aGVyZWQgZnJvbSB0aGUgZXhpc3RpbmcgQ29udGVudFNlY3VyaXR5
UG9saWN5CisgICAgICAgIG9iamVjdCBvbiB0aGUgY29udGFpbmluZyBkb2N1bWVudC4gQ1NQJ3Mg
dmFyaW91cyBtZXRob2RzIGhhdmUgYmVlbgorICAgICAgICBleHRlbmRlZCB3aXRoIGEgYHJlcG9y
dGluZ1N0YXR1c2AgcGFyYW1ldGVyIHdoaWNoLCB1bnN1cnByaXNpbmdseSwKKyAgICAgICAgZGV0
ZXJtaW5lcyB3aGV0aGVyIGEgdmlvbGF0aW9uIHJlcG9ydCBzaG91bGQgYmUgc2VudCBmb3IgYmxv
Y2tlZAorICAgICAgICByZXNvdXJjZXMuIFRoaXMgYWxsb3dzIHVzIHRvIHJldXNlIHRoZSBzYW1l
IGNvZGVwYXRocyBieSBzaW1wbHkgdXNpbmcKKyAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpTdXBwcmVzc1JlcG9ydCB3aGVuIHF1ZXJ5aW5nIG9uIGJlaGFsZiBvZiB0aGUKKyAgICAgICAg
QVBJLCBhbmQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0IHdoZW4gY2hlY2tpbmcg
cmVzb3VyY2VzIGEKKyAgICAgICAgcGFnZSB3YW50cyB0byBsb2FkLgorCisgICAgICAgIFRoaXMg
ZmVhdHVyZSBpcyBnYXRlZCBvbiB0aGUgQ1NQX05FWFQgZmxhZywgd2hpY2ggaXMgY3VycmVudGx5
IGRpc2FibGVkCisgICAgICAgIGZvciBhbGwgcG9ydHMgb3RoZXIgdGhhbiBDaHJvbWl1bS4KKwor
ICAgICAgICBbMV06IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvY29udGVudC1zZWN1cml0eS1wb2xp
Y3kvcmF3LWZpbGUvdGlwL2NzcC1zcGVjaWZpY2F0aW9uLmRldi5odG1sI3NjcmlwdC1pbnRlcmZh
Y2VzLS1leHBlcmltZW50YWwKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93Y29ubmVjdGlvbnRv
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93Zm9udGZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZnJhbWVmcm9t
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93b2Jq
ZWN0ZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzY3JpcHRmcm9tLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
aXNhY3RpdmUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBXZSBhZGRlZCBh
IG5ldyBvYmplY3QsIHNvIGxldCdzIHRlbGwgX2V2ZXJ5b25lIV8KKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNlY3VyaXR5UG9saWN5KToK
KyAgICAgICAgICAgIEV4cG9zZSB0aGUgU2VjdXJpdHlQb2xpY3kgb2JqZWN0IHZpYSBEb2N1bWVu
dCwgZ2F0ZWQgb24gQ1NQX05FWFQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRG9jdW1lbnQpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICAgICBBZGRpbmcgdGhlIFNlY3VyaXR5
UG9saWN5IG9iamVjdCB0byB0aGUgZG9jdW1lbnQsIGdhdGVkIG9uIENTUF9ORVhULgorICAgICAg
ICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAgKENTUERpcmVjdGl2
ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tOb25jZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJjZSk6CisgICAgICAgICAg
ICBFeHRyYWN0aW5nIHRoZSBjb3JlIGNoZWNrcyBvdXQgaW50byBzZXBhcmF0ZSBtZXRob2RzLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsQW5kUmVwb3J0Vmlv
bGF0aW9uKToKKyAgICAgICAgICAgIFVzZSBjaGVja0V2YWwuCisgICAgICAgIChXZWJDb3JlOjpD
U1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAg
ICAgIFVzZSBjaGVja05vbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6
Y2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrSW5s
aW5lLgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tTb3VyY2VBbmRS
ZXBvcnRWaW9sYXRpb24pOgorICAgICAgICAgICAgVXNlIGNoZWNrU291cmNlLgorICAgICAgICAo
V2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0VVJMcyk6CisgICAgICAg
IChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTdHlsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0V2YWwpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9tU291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW1hZ2VGcm9t
U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U3R5bGVG
cm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93Rm9u
dEZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dN
ZWRpYUZyb21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dDb25uZWN0VG9Tb3VyY2UpOgorICAgICAgICAgICAgVGhlc2UgbWV0aG9kcyBub3cgYnJhbmNo
IG9uIGByZXBvcnRpbmdTdGF0dXNgOiBpZiBgU2VuZFJlb3BvcnRgLAorICAgICAgICAgICAgdGhl
eSBjYWxsIGBjaGVja1hBbmRSZXBvcnRWaW9sYXRpb25gLCBvdGhlcndpc2UsIHRoZXkgY2FsbCBg
Y2hlY2tYYC4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmdhdGhlclJlcG9y
dFVSSXMpOgorICAgICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IGdhdGhlcnMgdGhlIHZpb2xhdGlv
biByZXBvcnQgVVJJcyBpbnRvIGEgRE9NU3RyaW5nTGlzdC4KKyAgICAgICAgKFdlYkNvcmU6Omlz
QWxsb3dlZEJ5QWxsV2l0aENhbGxTdGFjayk6CisgICAgICAgIChXZWJDb3JlOjppc0FsbG93ZWRC
eUFsbFdpdGhDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxsb3dlZEJ5QWxsV2l0aFVS
TCk6CisgICAgICAgICAgICBUaGVzZSBub3cgcGFzcyByZXBvcnRpbmdTdGF0dXMgdGhyb3VnaCB0
byB0aGUgdmFyaW91cyBgYWxsb3dYYCBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZVN0eWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dFdmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9t
U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dP
YmplY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21Tb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRGcm9tU291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dNZWRpYUZyb21Tb3Vy
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Nvbm5l
Y3RUb1NvdXJjZSk6CisgICAgICAgICAgICBUaGVzZSBhY2NlcHQgYSBuZXcgYHJlcG9ydGluZ1N0
YXR1c2AgcGFyYW1ldGVyLCB3aGljaCBpcyBwYXNzZWQgdGhyb3VnaAorICAgICAgICAgICAgdG8g
dGhlIENTUERpcmVjdGl2ZUxpc3QgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeTo6aXNBY3RpdmUpOgorICAgICAgICAgICAgTmV3IG1ldGhvZCB0aGF0IHJl
dHVybnMgYHRydWVgIGlmIHBvbGljeSBpcyBhY3RpdmUuCisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVSSXMpOgorICAgICAgICAgICAgTmV3IG1l
dGhvZCB0aGF0IHJldHVybnMgYSBET01TdHJpbmdMaXN0IG9mIHZpb2xhdGlvbiByZXBvcnQgVVJJ
cy4KKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OkRPTVNlY3VyaXR5UG9saWN5KToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6On5E
T01TZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6
aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OnJlcG9ydFVS
SXMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0lubGluZVNj
cmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzSW5saW5l
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0V2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0Nvbm5lY3Rpb25U
byk6CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzRm9udEZyb20p
OgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0ZyYW1lRnJvbSk6
CisgICAgICAgIChXZWJDb3JlOjpET01TZWN1cml0eVBvbGljeTo6YWxsb3dzSW1hZ2VGcm9tKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NNZWRpYUZyb20pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c09iamVjdEZyb20pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c1NjcmlwdEZyb20pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c1N0eWxlRnJvbSk6Cisg
ICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGljeS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoRE9NU2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
U2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9ET01TZWN1cml0eVBvbGlj
eS5pZGw6IEFkZGVkLgorCiAyMDEyLTA3LTI2ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1
YmhAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFtEUlRdIExUQzo6IHBhZ2VOdW1iZXJGb3JFbGVt
ZW50QnlJZCgpIGNvdWxkIGJlIG1vdmVkIHRvIEludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCAyOGI2OWUzYTU0YTVmNTJmMTljNTI5NzE3M2JlMGI3NGViOWYyNWQxLi44MDIxZTNkNjY3
MGZkYjVlNmRhODFjYzAwMzYxMzMxYjY3N2MxMTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
NTMyLDYgKzUzMiw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvQ29uc29sZS5p
ZGwKICAgICBwYWdlL0Nvb3JkaW5hdGVzLmlkbAogICAgIHBhZ2UvQ3J5cHRvLmlkbAorICAgIHBh
Z2UvRE9NU2VjdXJpdHlQb2xpY3kuaWRsCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAgICAg
cGFnZS9ET01XaW5kb3cuaWRsCiAgICAgcGFnZS9FdmVudFNvdXJjZS5pZGwKQEAgLTE2MjQsNiAr
MTYyNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHAKICAgICBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKICAgICBwYWdlL0Ny
eXB0by5jcHAKKyAgICBwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcAogICAgIHBhZ2UvRE9NU2Vs
ZWN0aW9uLmNwcAogICAgIHBhZ2UvRE9NVGltZXIuY3BwCiAgICAgcGFnZS9ET01XaW5kb3cuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNjA4Mzg2YTUwNDljYjgwZjAzN2JiNzhk
YzIwODgyMTg2OTBhYzcwZC4uZjgwYTllMjBiNThlZDIwNTA5MTZmYjhjMjE2ODhhODYwNjhhMzE5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtOTQsNiArOTQsNyBAQAogI2luY2x1
ZGUgIkpTRE9NUGFyc2VyLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbi5jcHAiCiAjaW5jbHVk
ZSAiSlNET01QbHVnaW5BcnJheS5jcHAiCisjaW5jbHVkZSAiSlNET01TZWN1cml0eVBvbGljeS5j
cHAiCiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NU2V0dGFi
bGVUb2tlbkxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5jcHAiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3MGM5NDZkYWJhZjRmZWQ4OTQwMzNjNmI1NjY0NjBk
ODE1ZGQ1M2Y2Li40YzRmYWM4OWYwYjM2YmMwNGRlY2FiYmQyODhiNjg0YzRkMjk4MTBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQxMSw2ICs0MTEsNyBAQCBCSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0NvbnNvbGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvQ29vcmRpbmF0ZXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQ3J5cHRvLmlkbCBc
CisgICAgJChXZWJDb3JlKS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9ET01XaW5k
b3cuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRXZlbnRTb3VyY2UuaWRsIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQppbmRleCBmMjlmYWViN2QyY2Q0OTU3NmYwM2UwZGQxYjBlOGViNjI0
NGFkNGFkLi5lZTQ0ZmVhNzg0YmFhZTE4YWNjNmQ1YzhlMzBhN2NjZWU0NmIzZTRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC00MTUsNiArNDE1LDcgQEAgSURMX0JJTkRJTkdTICs9
IFwKICAgICAkJFBXRC9wYWdlL0NvbnNvbGUuaWRsIFwKICAgICAkJFBXRC9wYWdlL0Nvb3JkaW5h
dGVzLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9DcnlwdG8uaWRsIFwKKyAgICAkJFBXRC9wYWdlL0RP
TVNlY3VyaXR5UG9saWN5LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwK
ICAgICAkJFBXRC9wYWdlL0RPTVdpbmRvdy5pZGwgXAogICAgICQkUFdEL3BhZ2UvRXZlbnRTb3Vy
Y2UuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRiNWY4NjQ0YmQ5ZjYw
Y2Y2MDc5ZWZkOTBlMDM1YjAyNDI0NGZiODcuLjNjZjVmNzY1M2ExOGE5YTM2ZTk0NDdhZDk5MDgx
ZDAxZGUzYzY5YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTQyLDYgKzE0
Miw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVBsdWdpbkFycmF5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01QbHVn
aW4uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWN1cml0eVBvbGljeS5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01TZWN1cml0eVBvbGljeS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NU2VsZWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNl
bGVjdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2V0dGFibGVUb2tlbkxp
c3QuY3BwIFwKQEAgLTk2OSw2ICs5NzEsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdl
YkNvcmUpL3BhZ2UvQ29uc29sZS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9Db29yZGluYXRlcy5p
ZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRsIFwKKwkkKFdlYkNvcmUpL3BhZ2UvRE9N
U2VjdXJpdHlQb2xpY3kuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBc
CiAJJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9FdmVu
dFNvdXJjZS5pZGwgXApAQCAtMzAzMCw2ICszMDMzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ3J5cHRvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DcnlwdG8uaCBcCisJU291cmNl
L1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NU2VjdXJpdHlQb2xpY3kuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rp
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzkxYzQxNTE3
MDg5YTVkZTA1MmEwZDYzZjE1MGYwYjMzMTE2MWZlMC4uMDdhYWNlMWZkOWM3MzExMjkyYzU3NTNj
Y2ZkNTBiOTkxN2Q5ODRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjIzLDYgKzIyMyw3IEBACiAg
ICAgICAgICAgICAncGFnZS9Db250ZXh0TWVudUNsaWVudC5oJywKICAgICAgICAgICAgICdwYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oJywKICAgICAgICAgICAgICdwYWdlL0Nvb3JkaW5hdGVz
LmgnLAorICAgICAgICAgICAgJ3BhZ2UvRE9NU2VjdXJpdHlQb2xpY3kuaCcsCiAgICAgICAgICAg
ICAncGFnZS9ET01XaW5kb3cuaCcsCiAgICAgICAgICAgICAncGFnZS9ET01XaW5kb3dFeHRlbnNp
b24uaCcsCiAgICAgICAgICAgICAncGFnZS9EcmFnQWN0aW9ucy5oJywKQEAgLTExNjUsNiArMTE2
Niw3IEBACiAgICAgICAgICAgICAncGFnZS9Db25zb2xlLmlkbCcsCiAgICAgICAgICAgICAncGFn
ZS9Db29yZGluYXRlcy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvQ3J5cHRvLmlkbCcsCisgICAg
ICAgICAgICAncGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2Uv
RE9NU2VsZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9ET01XaW5kb3cuaWRsJywKICAg
ICAgICAgICAgICdwYWdlL0RPTVdpbmRvd1BhZ2VQb3B1cC5pZGwnLApAQCAtMzA0Nyw2ICszMDQ5
LDcgQEAKICAgICAgICAgICAgICdwYWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaCcsCiAgICAgICAg
ICAgICAncGFnZS9DcnlwdG8uY3BwJywKICAgICAgICAgICAgICdwYWdlL0NyeXB0by5oJywKKyAg
ICAgICAgICAgICdwYWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcCcsCiAgICAgICAgICAgICAncGFn
ZS9ET01TZWxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5oJywK
ICAgICAgICAgICAgICdwYWdlL0RPTVRpbWVyLmNwcCcsCkBAIC03MjQ1LDYgKzcyNDgsOCBAQAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Q
bHVnaW4uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVBsdWdpbkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBsdWdpbkFycmF5LmgnLAorICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TZWN1cml0eVBvbGlj
eS5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01TZWN1cml0eVBvbGljeS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU2VsZWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlbGVjdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
U2V0dGFibGVUb2tlbkxpc3QuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjOWEyMjliNWEzNDNlNzAyM2UyZDJmYjAyMGEx
OTgyNWI3MjllOWUzLi5mM2NmODQxMDBkZTdjMzM5NjUwZTcxYTUwMmFiZTBiNTJjOTA0NGM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC03ODEsNiArNzgxLDEyIEBACiAJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1ND
cm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ4RkVCREIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87
IH07CiAJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0
MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5
NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUEyNDZF
MTVCOUJEMDAwMEQzNDUyNyAvKiBET01TZWN1cml0eVBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NkIxNUI5QkJERDAwRDM0NTI3IC8q
IERPTVNlY3VyaXR5UG9saWN5LmggKi87IH07CisJCTJEOUEyNDZGMTVCOUJEMkYwMEQzNDUyNyAv
KiBET01TZWN1cml0eVBvbGljeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDlBMjQ2QTE1QjlCQkREMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQb2xp
Y3kuY3BwICovOyB9OworCQkyRDlBMjQ3MzE1QjlDMkQxMDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJp
dHlQb2xpY3kubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlBMjQ3MjE1QjlDMkM3MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kubW0gKi87
IH07CisJCTJEOUEyNDc0MTVCOUMyRTMwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NzAx
NUI5QzI5NTAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggKi87IH07CisJCTJEOUEy
NDc1MTVCOUMyRTMwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBMjQ3MTE1QjlD
Mjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oICovOyB9OworCQky
RDlBMjQ3NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCBpbiBDb3B5
IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5oICovOyB9Owog
CQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUYwRTEyMTRGRjFDQkYwMEJB
MEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLzsgfTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1
IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3Bw
ICovOyB9OwogCQkyRTA4ODhENTExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDMxMTQ4
ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLzsgfTsKQEAgLTY1NTIsNiArNjU1OCw3
IEBACiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTsKIAkJCWZpbGVzID0gKAogCQkJCTVERjdGNUMy
MEYwMUY5MkEwMDUyNkI0QiAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQg
SGVhZGVycyAqLywKKwkJCQkyRDlBMjQ3NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJp
dHlQb2xpY3kuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1MzhGMDMwMEFE
NzFDREIwMDZBODFEMSAvKiBET01BYnN0cmFjdFZpZXcuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovLAogCQkJCTFDMTFDQ0JDMEFBNjA5MzcwMERBREIyMCAvKiBET01BdHRyLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKIAkJCQkyRTJEOTlFQjEwRTJCRDM5MDA0OTYzMzcgLyog
RE9NQmxvYi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCkBAIC03ODEyLDYgKzc4MTks
MTEgQEAKIAkJMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFj
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENs
aXBib2FyZE1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNU
YWJzID0gMDsgfTsKIAkJMkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IENsaXBib2FyZE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CisJCTJEOUEyNDZBMTVCOUJCREQwMEQzNDUyNyAvKiBET01TZWN1
cml0eVBvbGljeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01T
ZWN1cml0eVBvbGljeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUEyNDZC
MTVCOUJCREQwMEQzNDUyNyAvKiBET01TZWN1cml0eVBvbGljeS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01TZWN1cml0eVBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlBMjQ3MDE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xp
Y3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xp
Y3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QTI0NzExNUI5QzI5NTAwRDM0
NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDlBMjQ3MjE1QjlDMkM3MDBEMzQ1MjcgLyogRE9NRE9NU2Vj
dXJpdHlQb2xpY3kubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01ET01TZWN1cml0eVBvbGljeS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5
RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0Iu
aWNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQy
NjUgLyogRE9NRm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRh
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NTU5OSw2ICsxNTYxMSw4IEBACiAJCTY1QkYwMjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyRDlBMjQ2QTE1
QjlCQkREMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQb2xpY3kuY3BwICovLAorCQkJCTJEOUEyNDZC
MTVCOUJCREQwMEQzNDUyNyAvKiBET01TZWN1cml0eVBvbGljeS5oICovLAogCQkJCTMxNkZFMTA2
MEU2RTFEODQwMEJGNjA4OCAvKiBhbmltYXRpb24gKi8sCiAJCQkJOTNDMDlBODIwQjA2NEYwNTAw
NUFCRDREIC8qIG1hYyAqLywKIAkJCQkxQUY2MkVFMTE0REEyMkE3MDA0MTU1NkMgLyogc2Nyb2xs
aW5nICovLApAQCAtMTU4NzIsNiArMTU4ODYsOSBAQAogCQk4NTk2N0Q5RjBBQThCQjU5MDA1RkVE
RUUgLyogQ29yZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJMkQ5QTI0NzIxNUI5QzJDNzAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tICov
LAorCQkJCTJEOUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5o
ICovLAorCQkJCTJEOUEyNDcxMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGlj
eUludGVybmFsLmggKi8sCiAJCQkJODVEMzg5QjAwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIu
aCAqLywKIAkJCQk4NUQzODlCMTBBOTkxQTdGMDAyODIxNDUgLyogRE9NQXR0ci5tbSAqLywKIAkJ
CQk4NTA4OUNDRjBBOThDNDI3MDBBMjc1QUEgLyogRE9NQ0RBVEFTZWN0aW9uLmggKi8sCkBAIC0y
MjgyNCw2ICsyMjg0MSw4IEBACiAJCQkJODUwMkFCNUEwQUQ0MzhDMDAwMzc4NTQwIC8qIERPTVNW
R0ZFSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAyQUI5QjBBRDQzOTRFMDAz
Nzg1NDAgLyogRE9NU1ZHRkVJbWFnZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODUwMkFCNUMwQUQ0MzhDMDAwMzc4NTQwIC8qIERPTVNWR0ZFTWVyZ2VFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQkyRDlBMjQ3NDE1QjlDMkUzMDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJp
dHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUEyNDc1MTVCOUMyRTMwMEQzNDUyNyAv
KiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAy
QUI5QzBBRDQzOTRFMDAzNzg1NDAgLyogRE9NU1ZHRkVNZXJnZUVsZW1lbnRJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODUwMkFCNUUwQUQ0MzhDMDAwMzc4NTQwIC8qIERPTVNWR0ZFTWVy
Z2VOb2RlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMkFCOUQwQUQ0Mzk0RTAwMzc4
NTQwIC8qIERPTVNWR0ZFTWVyZ2VOb2RlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywK
QEAgLTIzMzM4LDYgKzIzMzU3LDcgQEAKIAkJCQk5NzdCMzg2RDEyMjg4M0U5MDBCODFGRjggLyog
SFRNTEVudGl0eVRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODEzNjlENDA5NzM3NEY2MDBE
NzQ0NjMgLyogSFRNTEZpZWxkU2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3
QTYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMkQ5QTI0NkUxNUI5QkQwMDAwRDM0NTI3IC8qIERPTVNlY3VyaXR5UG9saWN5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5NzdCMzg2RjEyMjg4M0U5MDBCODFGRjggLyogSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGQ0UwOTdGQTBGQzAwNTI5ODFC
IC8qIEhUTUxGb3JtQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxMzY5Q0UwOTcz
NzRGNjAwRDc0NDYzIC8qIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtMjU2NTMsNiArMjU2NzMsNyBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAogCQkJCUZERTY4NjAyMTVCMEE5M0IwMEJCNDgwQyAvKiBXcmFwU2hhcGVG
dW5jdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QTI0NzMxNUI5QzJEMTAwRDM0NTI3
IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdCQzY5REEx
NTA1RjA3NjAwMUI3NEFDIC8qIEFic3RyYWN0RGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDFFMUIxRDAwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMjlDMTZFMTMwMEMyRTIwMDJENzk0RSAvKiBBY2Nlc3NpYmlsaXR5QWxs
SW5PbmUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjExMCw2ICsyNjEzMSw3IEBACiAJCQkJODUz
OEYwNUMwQUQ3MjJGMTAwNkE4MUQxIC8qIERPTVJhbmdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODU4QzM4QTgwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0FFRkNBRTEwMTZDRTRBMDA0MEQzNEUgLyogRE9NUkdCQ29sb3IubW0gaW4gU291cmNlcyAq
LywKKwkJCQkyRDlBMjQ2RjE1QjlCRDJGMDBEMzQ1MjcgLyogRE9NU2VjdXJpdHlQb2xpY3kuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1QTg2ODQwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVj
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QUNCQzBDMzEyNzEzQ0NBMDA5NEY5QjIgLyog
RE9NU2V0dGFibGVUb2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU1NjEwRjExMUE3
MDRFQjAwQjgyRDI3IC8qIERPTVN0cmluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRleCA0MDBmZjlh
NmFmZmEyN2M1ZjNkYjg2MzlkNjNjY2E3YzY4MWJjMjMxLi44ZWY5NjYzY2JmNWMwMTdiZWNjZmU5
ZjY2OTg2NTA5YTdjNzFhNjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvR05VbWFrZWZpbGUuYW0KQEAgLTQzLDYgKzQzLDggQEAgd2Via2l0Z3RrX2dkb21fYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVBsdWdpbkFy
cmF5UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NUGx1Z2lu
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVBsdWdpblByaXZhdGUu
aCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNlY3VyaXR5UG9saWN5LmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNlY3VyaXR5UG9saWN5UHJp
dmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU2VsZWN0aW9uLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVNlbGVjdGlvblByaXZhdGUu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVN0cmluZ0xpc3QuY3BwIFwK
QEAgLTI3OCw2ICsyODAsNyBAQCB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01Eb2N1bWVudFR5cGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTURPTUltcGxlbWVudGF0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01ET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKKwlEZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NRE9NU2VjdXJpdHlQb2xpY3kuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTURPTVN0cmluZ0xpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTURPTVN0cmluZ01hcC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
RE9NVG9rZW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZjBiMGI2NWNkOWE4
YjVmMjM1MGZhOGZhYjQwMzM0ZjRlNmViY2NhZS4uNDFiYzY3OGNkOWIyNjJkYjY2OTc2Njk4NmJm
ZjlmYTJlNjYxMDZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yMjIsNiArMjIyLDEw
IEBACiAjaW5jbHVkZSAiVGV4dEF1dG9zaXplci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NQ
X05FWFQpCisjaW5jbHVkZSAiRE9NU2VjdXJpdHlQb2xpY3kuaCIKKyNlbmRpZgorCiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdURjsKIHVzaW5nIG5hbWVzcGFjZSBVbmlj
b2RlOwpAQCAtMTY0Myw2ICsxNjQ3LDE1IEBAIHZvaWQgRG9jdW1lbnQ6OmRpc3BhdGNoVmlzaWJp
bGl0eVN0YXRlQ2hhbmdlRXZlbnQoKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NQX05FWFQp
CitET01TZWN1cml0eVBvbGljeSogRG9jdW1lbnQ6OnNlY3VyaXR5UG9saWN5KCkKK3sKKyAgICBp
ZiAoIW1fZG9tU2VjdXJpdHlQb2xpY3kpCisgICAgICAgIG1fZG9tU2VjdXJpdHlQb2xpY3kgPSBE
T01TZWN1cml0eVBvbGljeTo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBtX2RvbVNlY3VyaXR5
UG9saWN5LmdldCgpOworfQorI2VuZGlmCisKIFN0cmluZyBEb2N1bWVudDo6bm9kZU5hbWUoKSBj
b25zdAogewogICAgIHJldHVybiAiI2RvY3VtZW50IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZDllYjY3MDNkYWQxOGY0NmM5OGViMjUxOGVkZWZhNjQ3ZDE1NzAzZC4uMDE3ZWI4Yzg1MTk3ZDBj
ODUwMTIxYTcwZDU3NjkyN2M4ZGQ4MTJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE3OSw2
ICsxNzksMTAgQEAgY2xhc3MgUHJlcmVuZGVyZXI7CiBjbGFzcyBUZXh0QXV0b3NpemVyOwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQ1NQX05FWFQpCitjbGFzcyBET01TZWN1cml0eVBvbGljeTsKKyNl
bmRpZgorCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBlbnVtIFBhZ2VzaG93RXZlbnRQ
ZXJzaXN0ZW5jZSB7CkBAIC00MTYsNiArNDIwLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3Bh
dGNoVmlzaWJpbGl0eVN0YXRlQ2hhbmdlRXZlbnQoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKENT
UF9ORVhUKQorICAgIERPTVNlY3VyaXR5UG9saWN5KiBzZWN1cml0eVBvbGljeSgpOworI2VuZGlm
CisKICAgICBQYXNzUmVmUHRyPE5vZGU+IGFkb3B0Tm9kZShQYXNzUmVmUHRyPE5vZGU+IHNvdXJj
ZSwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gaW1h
Z2VzKCk7CkBAIC0xNTM5LDYgKzE1NDcsMTAgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJL
aXROYW1lZEZsb3dDb2xsZWN0aW9uPiBtX25hbWVkRmxvd3M7CiAKKyNpZiBFTkFCTEUoQ1NQX05F
WFQpCisgICAgUmVmUHRyPERPTVNlY3VyaXR5UG9saWN5PiBtX2RvbVNlY3VyaXR5UG9saWN5Owor
I2VuZGlmCisKICNpZm5kZWYgTkRFQlVHCiAgICAgYm9vbCBtX2RpZERpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzQ2hhbmdlZDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggN2Mx
YzQ4MzljMjkyODcwMmU3MzIwODE3YWY3NGQ2MzQ2Yzc0MzBlMi4uNzQyMzgxZjJhYjUyMTUxMTdm
YmEyZTBlOWQ0MzI2Nzc4ZTZkMjIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0zNzUs
NiArMzc1LDkgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVBBR0VfVklTSUJJTElUWV9BUEldIERPTVN0cmluZyB3ZWJraXRWaXNpYmlsaXR5
U3RhdGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9UEFHRV9WSVNJ
QklMSVRZX0FQSV0gYm9vbGVhbiB3ZWJraXRIaWRkZW47CiAKKyAgICAgICAgLy8gU2VjdXJpdHkg
UG9saWN5IEFQSTogaHR0cDovL2R2Y3MudzMub3JnL2hnL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlvbi5kZXYuaHRtbCNzY3JpcHQtaW50ZXJmYWNl
cworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUNTUF9ORVhUXSBET01T
ZWN1cml0eVBvbGljeSBTZWN1cml0eVBvbGljeTsKKwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCBkYWM2NWMzMzY4NmQ1
ODZhNDk3Yzk5YjM1NmNlZjhmZDYwMmJjNGE3Li43ODY0ZmM0ZDM2MTE5NWZiN2MyMmZhODRlYmFm
Mzk1M2E1NjdjNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgiCiAKICNpbmNsdWRlICJDb25zb2xlLmgiCisjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9ybURhdGEuaCIKICNpbmNsdWRl
ICJGb3JtRGF0YUxpc3QuaCIKQEAgLTU0NiwyMSArNTQ3LDIzIEBAIHB1YmxpYzoKICAgICBjb25z
dCBTdHJpbmcmIGhlYWRlcigpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyOyB9CiAgICAgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGhlYWRlclR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3JlcG9ydE9ubHkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydE9ubHkgOiBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2VQb2xpY3k7IH0KIAotICAgIGJvb2wgYWxsb3dKYXZhU2Ny
aXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJl
ciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVFdmVudEhhbmRsZXJz
KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0lubGluZVNjcmlwdChjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0
OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxs
b3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgY29uc3Q7CisgICAgYm9vbCBhbGxv
d0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRp
bmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdT
dGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0
cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGlu
Z1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYg
Y29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dF
dmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRpbmdTdGF0dXMpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dTY3JpcHROb25jZShjb25zdCBT
dHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIGNvbnN0IEtVUkwmKSBjb25zdDsKIAotICAgIGJvb2wgYWxs
b3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93T2Jq
ZWN0RnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0NoaWxkRnJh
bWVGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93SW1hZ2VGcm9t
U291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93U3R5bGVGcm9tU291cmNl
KGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3Qg
S1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dNZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYp
IGNvbnN0OwotICAgIGJvb2wgYWxsb3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0
OworICAgIGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd09iamVj
dEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3Qg
S1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdDsKKyAg
ICBib29sIGFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNv
dXJjZShjb25zdCBLVVJMJiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMp
IGNvbnN0OworICAgIGJvb2wgYWxsb3dGb250RnJvbVNvdXJjZShjb25zdCBLVVJMJiwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OworICAgIGJvb2wgYWxsb3dN
ZWRpYUZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0
aW5nU3RhdHVzKSBjb25zdDsKKyAgICBib29sIGFsbG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtV
UkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CisKKyAg
ICB2b2lkIGdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IENTUERpcmVjdGl2ZUxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwpAQCAtNTgwLDExICs1ODMsMTUgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ1VucmVjb2duaXpl
ZERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0OwogICAgIHZvaWQgbG9nRHVwbGlj
YXRlRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CiAgICAgdm9pZCBsb2dJbnZh
bGlkTm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSkgY29uc3Q7CisKICAgICBib29sIGNoZWNrRXZh
bChDU1BEaXJlY3RpdmUqKSBjb25zdDsKKyAgICBib29sIGNoZWNrSW5saW5lKENTUERpcmVjdGl2
ZSopIGNvbnN0OworICAgIGJvb2wgY2hlY2tOb25jZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAg
ICBib29sIGNoZWNrU291cmNlKENTUERpcmVjdGl2ZSosIGNvbnN0IEtVUkwmKSBjb25zdDsKIAor
ICAgIGJvb2wgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSosIGNvbnN0
IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0cmlu
ZygpLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRpbmFs
TnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwKSBj
b25zdDsKICAgICBib29sIGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2
ZSosIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7CiAgICAgYm9v
bCBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0
IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3Qg
V1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBjaGVja0V2
YWxBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiwgY29uc3QgU3RyaW5nJiBjb25zb2xl
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMID0gU3RyaW5nKCksIGNvbnN0IFdURjo6
T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUgPSBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZp
cnN0KCksIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDApIGNvbnN0OwogICAgIGJvb2wg
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiwgY29uc3QgS1VSTCYs
IGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3Q7CiAKICAgICBib29sIGRlbnlJZkVuZm9yY2luZ1Bv
bGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwb3J0T25seTsgfQpAQCAtNzA3LDc0ICs3MTQsMTA3
IEBAIGJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsKENTUERpcmVjdGl2ZSogZGlyZWN0
aXZlKSBjb25zdAogICAgIHJldHVybiAhZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+YWxsb3dFdmFs
KCk7CiB9CiAKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmUoQ1NQRGlyZWN0aXZl
KiBkaXJlY3RpdmUpIGNvbnN0Cit7CisgICAgcmV0dXJuICFkaXJlY3RpdmUgfHwgZGlyZWN0aXZl
LT5hbGxvd0lubGluZSgpOworfQorCitib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrTm9uY2Uo
Y29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QKK3sKKyAgICByZXR1cm4gKG1fc2NyaXB0Tm9uY2Uu
aXNOdWxsKCkKKyAgICAgICAgICAgIHx8ICghbV9zY3JpcHROb25jZS5pc0VtcHR5KCkKKyAgICAg
ICAgICAgICAgICAmJiBub25jZS5zdHJpcFdoaXRlU3BhY2UoKSA9PSBtX3NjcmlwdE5vbmNlKSk7
Cit9CisKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tTb3VyY2UoQ1NQRGlyZWN0aXZlKiBk
aXJlY3RpdmUsIGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK3sKKyAgICByZXR1cm4gIWRpcmVjdGl2
ZSB8fCBkaXJlY3RpdmUtPmFsbG93cyh1cmwpOworfQorCiBDU1BEaXJlY3RpdmUqIENTUERpcmVj
dGl2ZUxpc3Q6Om9wZXJhdGl2ZURpcmVjdGl2ZShDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSkgY29u
c3QKIHsKICAgICByZXR1cm4gZGlyZWN0aXZlID8gZGlyZWN0aXZlIDogbV9kZWZhdWx0U3JjLmdl
dCgpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrSW5saW5lQW5kUmVwb3J0Vmlv
bGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYg
Y29udGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZhbEFuZFJl
cG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25z
b2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxO
dW1iZXImIGNvbnRleHRMaW5lLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNr
KSBjb25zdAogewotICAgIGlmICghZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+YWxsb3dJbmxpbmUo
KSkKKyAgICBpZiAoY2hlY2tFdmFsKGRpcmVjdGl2ZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIHJlcG9ydFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgY29uc29sZU1lc3NhZ2UgKyAi
XCIiICsgZGlyZWN0aXZlLT50ZXh0KCkgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNv
bnRleHRMaW5lKTsKKyAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNv
bGVNZXNzYWdlICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBj
b250ZXh0VVJMLCBjb250ZXh0TGluZSwgY2FsbFN0YWNrKTsKICAgICByZXR1cm4gZGVueUlmRW5m
b3JjaW5nUG9saWN5KCk7CiB9CiAKIGJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tOb25jZUFu
ZFJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnNv
bGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51
bWJlciYgY29udGV4dExpbmUpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc2NyaXB0Tm9uY2UuaXNOdWxs
KCkgfHwgKCFtX3NjcmlwdE5vbmNlLmlzRW1wdHkoKSAmJiBub25jZS5zdHJpcFdoaXRlU3BhY2Uo
KSA9PSBtX3NjcmlwdE5vbmNlKSkKKyAgICBpZiAoY2hlY2tOb25jZShub25jZSkpCiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIHJlcG9ydFZpb2xhdGlvbihtX3NjcmlwdE5vbmNlLCBjb25zb2xl
TWVzc2FnZSArICJcInNjcmlwdC1ub25jZSAiICsgbV9zY3JpcHROb25jZSArICJcIi5cbiIsIEtV
UkwoKSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOwogICAgIHJldHVybiBkZW55SWZFbmZvcmNp
bmdQb2xpY3koKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0V2YWxBbmRSZXBv
cnRWaW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29s
ZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVt
YmVyJiBjb250ZXh0TGluZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykg
Y29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRp
b24oQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSkgY29uc3QKIHsKLSAgICBpZiAoY2hlY2tFdmFsKGRpcmVjdGl2ZSkpCisgICAgaWYg
KGNoZWNrSW5saW5lKGRpcmVjdGl2ZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHJlcG9y
dFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgY29uc29sZU1lc3NhZ2UgKyAiXCIiICsgZGly
ZWN0aXZlLT50ZXh0KCkgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
LCBjYWxsU3RhY2spOworICAgIHJlcG9ydFZpb2xhdGlvbihkaXJlY3RpdmUtPnRleHQoKSwgY29u
c29sZU1lc3NhZ2UgKyAiXCIiICsgZGlyZWN0aXZlLT50ZXh0KCkgKyAiXCIuXG4iLCBLVVJMKCks
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKICAgICByZXR1cm4gZGVueUlmRW5mb3JjaW5nUG9s
aWN5KCk7CiB9CiAKIGJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tTb3VyY2VBbmRSZXBvcnRW
aW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiB0eXBlKSBjb25zdAogewotICAgIGlmICghZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+
YWxsb3dzKHVybCkpCisgICAgaWYgKGNoZWNrU291cmNlKGRpcmVjdGl2ZSwgdXJsKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgU3RyaW5nIHZlcmIgPSB0eXBlID09ICJjb25uZWN0IiA/ICJj
b25uZWN0IHRvIiA6ICJsb2FkIHRoZSI7CiAgICAgcmVwb3J0VmlvbGF0aW9uKGRpcmVjdGl2ZS0+
dGV4dCgpLCAiUmVmdXNlZCB0byAiICsgdmVyYiArICIgIiArIHR5cGUgKyAiICciICsgdXJsLnN0
cmluZygpICsgIicgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogXCIiICsgZGlyZWN0aXZlLT50ZXh0KCkgKyAiXCIuXG4i
LCB1cmwpOwogICAgIHJldHVybiBkZW55SWZFbmZvcmNpbmdQb2xpY3koKTsKIH0KIAotYm9vbCBD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRl
eHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0
byBleGVjdXRlIEphdmFTY3JpcHQgVVJMIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2lu
ZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICIpKTsKLSAgICByZXR1cm4gKGNo
ZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNy
Yy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkKLSAgICAg
ICAgICAgICYmIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oU3RyaW5nKCksIGNvbnNvbGVN
ZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkpOworICAgIGlmIChyZXBvcnRpbmdTdGF0
dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0KSB7CisgICAgICAgIHJldHVy
biAoY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2Ny
aXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKQor
ICAgICAgICAgICAgICAgICYmIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oU3RyaW5nKCks
IGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkpOworICAgIH0gZWxzZSB7
CisgICAgICAgIHJldHVybiAoY2hlY2tJbmxpbmUob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0
U3JjLmdldCgpKSkKKyAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlKFN0cmluZygpKSk7Cisg
ICAgfQogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lRXZlbnRIYW5kbGVy
cyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29u
dGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lRXZlbnRI
YW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJl
ciYgY29udGV4dExpbmUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJl
cG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywg
Y29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBleGVjdXRlIGlubGluZSBldmVudCBoYW5kbGVy
IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSBkaXJlY3RpdmU6ICIpKTsKLSAgICByZXR1cm4gKGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0
aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdl
LCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkKLSAgICAgICAgICAgICYmIGNoZWNrTm9uY2VBbmRS
ZXBvcnRWaW9sYXRpb24oU3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250
ZXh0TGluZSkpOworICAgIGlmIChyZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpTZW5kUmVwb3J0KSB7CisgICAgICAgIHJldHVybiAoY2hlY2tJbmxpbmVBbmRSZXBvcnRW
aW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1l
c3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKQorICAgICAgICAgICAgICAgICYmIGNoZWNr
Tm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oU3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0
VVJMLCBjb250ZXh0TGluZSkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiAoY2hlY2tJ
bmxpbmUob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSkKKyAgICAgICAgICAg
ICAgICAmJiBjaGVja05vbmNlKFN0cmluZygpKSk7CisgICAgfQogfQogCi1ib29sIENTUERpcmVj
dGl2ZUxpc3Q6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0
aXZlTGlzdDo6YWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVzZWQgdG8gZXhlY3V0ZSBp
bmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICIpKTsKLSAgICByZXR1cm4gY2hlY2tJbmxpbmVBbmRS
ZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29u
c29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1cm4gcmVwb3J0
aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAg
IGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3Njcmlw
dFNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkgOgor
ICAgICAgICBjaGVja0lubGluZShvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkp
KTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0
cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkg
Y29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTdHlsZShjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29u
c3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgi
UmVmdXNlZCB0byBhcHBseSBpbmxpbmUgc3R5bGUgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9s
bG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikpOwotICAgIHJldHVy
biBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zdHls
ZVNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSk7Cisg
ICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRS
ZXBvcnQgPworICAgICAgICBjaGVja0lubGluZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVE
aXJlY3RpdmUobV9zdHlsZVNyYy5nZXQoKSksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBj
b250ZXh0TGluZSkgOgorICAgICAgICBjaGVja0lubGluZShvcGVyYXRpdmVEaXJlY3RpdmUobV9z
dHlsZVNyYy5nZXQoKSkpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbChQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKSBjb25zdAorYm9vbCBDU1BEaXJl
Y3RpdmVMaXN0OjphbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFj
aywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVz
KSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2Fn
ZSwgKCJSZWZ1c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBm
b2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7Ci0gICAgcmV0
dXJuIGNoZWNrRXZhbEFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3Jp
cHRTcmMuZ2V0KCkpLCBjb25zb2xlTWVzc2FnZSwgU3RyaW5nKCksIFdURjo6T3JkaW5hbE51bWJl
cjo6YmVmb3JlRmlyc3QoKSwgY2FsbFN0YWNrKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVz
ID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrRXZh
bEFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkp
LCBjb25zb2xlTWVzc2FnZSwgU3RyaW5nKCksIFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmly
c3QoKSwgY2FsbFN0YWNrKSA6CisgICAgICAgIGNoZWNrRXZhbChvcGVyYXRpdmVEaXJlY3RpdmUo
bV9zY3JpcHRTcmMuZ2V0KCkpKTsKIH0KIAogYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1Nj
cmlwdE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwg
Y29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgY29uc3QgS1VSTCYgdXJsKSBj
b25zdApAQCAtNzg1LDU2ICs4MjUsNzggQEAgYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1Nj
cmlwdE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGUKICAgICBy
ZXR1cm4gY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihub25jZSwgIlJlZnVzZWQgdG8gbG9h
ZCAnIiArIHVybC5zdHJpbmcoKSArICInIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2lu
ZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICIsIGNvbnRleHRVUkwsIGNvbnRl
eHRMaW5lKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1NjcmlwdEZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1Nj
cmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHJpbmcsIHR5cGUsICgic2NyaXB0IikpOwotICAgIHJldHVybiBjaGVja1NvdXJj
ZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCkp
LCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9s
YXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6
CisgICAgICAgIGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQo
KSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dPYmplY3RGcm9tU291
cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dP
YmplY3RGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoIm9iamVjdCIpKTsKICAgICBpZiAodXJsLmlzQmxhbmtV
UkwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVw
b3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX29iamVjdFNyYy5nZXQoKSksIHVybCwg
dHlwZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1cyA9PSBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihv
cGVyYXRpdmVEaXJlY3RpdmUobV9vYmplY3RTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAg
ICAgY2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZlKG1fb2JqZWN0U3JjLmdldCgpKSwgdXJs
KTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9tU291cmNl
KGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDaGls
ZEZyYW1lRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJmcmFtZSIpKTsKICAgICBpZiAodXJsLmlzQmxhbmtV
UkwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVw
b3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ZyYW1lU3JjLmdldCgpKSwgdXJsLCB0
eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVzID09IENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9w
ZXJhdGl2ZURpcmVjdGl2ZShtX2ZyYW1lU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAg
IGNoZWNrU291cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ZyYW1lU3JjLmdldCgpKSwgdXJsKTsK
IH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBL
VVJMJiB1cmwpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SW1hZ2VGcm9tU291
cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0
dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3Ry
aW5nLCB0eXBlLCAoImltYWdlIikpOwotICAgIHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZp
b2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9pbWdTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOwor
ICAgIHJldHVybiByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5k
UmVwb3J0ID8KKyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZl
RGlyZWN0aXZlKG1faW1nU3JjLmdldCgpKSwgdXJsLCB0eXBlKSA6CisgICAgICAgIGNoZWNrU291
cmNlKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2ltZ1NyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wg
Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBj
b25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBL
VVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGlu
Z1N0YXR1cykgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwg
KCJzdHlsZSIpKTsKLSAgICByZXR1cm4gY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3Bl
cmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVy
biByZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8K
KyAgICAgICAgY2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZl
KG1fc3R5bGVTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3Bl
cmF0aXZlRGlyZWN0aXZlKG1fc3R5bGVTcmMuZ2V0KCkpLCB1cmwpOwogfQogCi1ib29sIENTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAor
Ym9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVy
bCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVz
KSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoImZvbnQi
KSk7Ci0gICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURp
cmVjdGl2ZShtX2ZvbnRTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOworICAgIHJldHVybiByZXBvcnRp
bmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KKyAgICAgICAg
Y2hlY2tTb3VyY2VBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fZm9udFNy
Yy5nZXQoKSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJl
Y3RpdmUobV9mb250U3JjLmdldCgpKSwgdXJsKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0
OjphbGxvd01lZGlhRnJvbVNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAog
ewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0eXBlLCAoIm1lZGlhIikpOwotICAg
IHJldHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUo
bV9tZWRpYVNyYy5nZXQoKSksIHVybCwgdHlwZSk7CisgICAgcmV0dXJuIHJlcG9ydGluZ1N0YXR1
cyA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlNlbmRSZXBvcnQgPworICAgICAgICBjaGVja1Nv
dXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9tZWRpYVNyYy5nZXQo
KSksIHVybCwgdHlwZSkgOgorICAgICAgICBjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUo
bV9tZWRpYVNyYy5nZXQoKSksIHVybCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6YWxs
b3dDb25uZWN0VG9Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjphbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykgY29uc3QKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgdHlwZSwgKCJjb25uZWN0IikpOwotICAgIHJl
dHVybiBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihvcGVyYXRpdmVEaXJlY3RpdmUobV9j
b25uZWN0U3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKKyAgICByZXR1cm4gcmVwb3J0aW5nU3RhdHVz
ID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U2VuZFJlcG9ydCA/CisgICAgICAgIGNoZWNrU291
cmNlQW5kUmVwb3J0VmlvbGF0aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2Nvbm5lY3RTcmMuZ2V0
KCkpLCB1cmwsIHR5cGUpIDoKKyAgICAgICAgY2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZl
KG1fY29ubmVjdFNyYy5nZXQoKSksIHVybCk7Cit9CisKK3ZvaWQgQ1NQRGlyZWN0aXZlTGlzdDo6
Z2F0aGVyUmVwb3J0VVJJcyhET01TdHJpbmdMaXN0JiBsaXN0KSBjb25zdAoreworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9yZXBvcnRVUklzLnNpemUoKTsgKytpKQorICAgICAgICBsaXN0
LmFwcGVuZChtX3JlcG9ydFVSSXNbaV0uc3RyaW5nKCkpOwogfQogCiAvLyBwb2xpY3kgICAgICAg
ICAgICA9IGRpcmVjdGl2ZS1saXN0CkBAIC0xMDgyLDIxICsxMTQ0LDIxIEBAIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6SGVhZGVyVHlwZSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRlcHJlY2F0ZWRI
ZWFkZXJUeXBlKCkKICAgICByZXR1cm4gbV9wb2xpY2llcy5pc0VtcHR5KCkgPyBFbmZvcmNlUG9s
aWN5IDogbV9wb2xpY2llc1swXS0+aGVhZGVyVHlwZSgpOwogfQogCi10ZW1wbGF0ZTxib29sIChD
U1BEaXJlY3RpdmVMaXN0OjoqYWxsb3dlZCkoUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBj
b25zdD4KLWJvb2wgaXNBbGxvd2VkQnlBbGxXaXRoQ2FsbFN0YWNrKGNvbnN0IENTUERpcmVjdGl2
ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0
YWNrKQordGVtcGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0
dXMpIGNvbnN0PgorYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhDYWxsU3RhY2soY29uc3QgQ1NQRGly
ZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2ssIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGlu
Z1N0YXR1cykKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBvbGljaWVzLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxsb3dlZCkoY2FsbFN0
YWNrKSkKKyAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxvd2VkKShjYWxsU3Rh
Y2ssIHJlcG9ydGluZ1N0YXR1cykpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQog
ICAgIHJldHVybiB0cnVlOwogfQogCi10ZW1wbGF0ZTxib29sIChDU1BEaXJlY3RpdmVMaXN0Ojoq
YWxsb3dlZCkoY29uc3QgU3RyaW5nJiwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJikgY29uc3Q+
Ci1ib29sIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZl
Y3RvciYgcG9saWNpZXMsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRp
bmFsTnVtYmVyJiBjb250ZXh0TGluZSkKK3RlbXBsYXRlPGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6
OiphbGxvd2VkKShjb25zdCBTdHJpbmcmLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q+Citib29sIGlzQWxsb3dl
ZEJ5QWxsV2l0aENvbnRleHQoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMs
IGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5n
U3RhdHVzKQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9saWNpZXMuc2l6ZSgpOyAr
K2kpIHsKLSAgICAgICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxvd2VkKShjb250ZXh0
VVJMLCBjb250ZXh0TGluZSkpCisgICAgICAgIGlmICghKHBvbGljaWVzW2ldLmdldCgpLT4qYWxs
b3dlZCkoY29udGV4dFVSTCwgY29udGV4dExpbmUsIHJlcG9ydGluZ1N0YXR1cykpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpAQCAtMTExMiw0NCAr
MTE3NCw0NCBAQCBib29sIGlzQWxsb3dlZEJ5QWxsV2l0aE5vbmNlKGNvbnN0IENTUERpcmVjdGl2
ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBTdHJpbgogICAgIHJldHVybiB0cnVlOwogfQog
Ci10ZW1wbGF0ZTxib29sIChDU1BEaXJlY3RpdmVMaXN0OjoqYWxsb3dGcm9tVVJMKShjb25zdCBL
VVJMJikgY29uc3Q+Ci1ib29sIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTChjb25zdCBDU1BEaXJlY3Rp
dmVMaXN0VmVjdG9yJiBwb2xpY2llcywgY29uc3QgS1VSTCYgdXJsKQordGVtcGxhdGU8Ym9vbCAo
Q1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93RnJvbVVSTCkoY29uc3QgS1VSTCYsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KK2Jvb2wgaXNBbGxvd2VkQnlBbGxX
aXRoVVJMKGNvbnN0IENTUERpcmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBjb25zdCBLVVJM
JiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0
YXR1cykKIHsKICAgICBpZiAoU2NoZW1lUmVnaXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRl
bnRTZWN1cml0eVBvbGljeSh1cmwucHJvdG9jb2woKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb2xpY2llcy5zaXplKCk7ICsraSkgewotICAg
ICAgICBpZiAoIShwb2xpY2llc1tpXS5nZXQoKS0+KmFsbG93RnJvbVVSTCkodXJsKSkKKyAgICAg
ICAgaWYgKCEocG9saWNpZXNbaV0uZ2V0KCktPiphbGxvd0Zyb21VUkwpKHVybCwgcmVwb3J0aW5n
U3RhdHVzKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxz
KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3Jp
cHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVw
b3J0aW5nU3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250
ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0phdmFTY3JpcHRVUkxzPihtX3BvbGljaWVzLCBj
b250ZXh0VVJMLCBjb250ZXh0TGluZSk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENv
bnRleHQ8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNjcmlwdFVSTHM+KG1fcG9saWNpZXMs
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmlu
ZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29u
c3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMo
Y29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRl
eHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdT
dGF0dXMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENvbnRleHQ8JkNT
UERpcmVjdGl2ZUxpc3Q6OmFsbG93SW5saW5lRXZlbnRIYW5kbGVycz4obV9wb2xpY2llcywgY29u
dGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250
ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnM+KG1fcG9saWNp
ZXMsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTY3JpcHQoY29uc3QgU3RyaW5nJiBj
b250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAor
Ym9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmlu
ZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25z
dAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0lubGluZVNjcmlwdD4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExp
bmUpOworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVM
aXN0OjphbGxvd0lubGluZVNjcmlwdD4obV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExp
bmUsIHJlcG9ydGluZ1N0YXR1cyk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRp
bmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpP
cmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRp
bmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAgIGlmIChtX292ZXJyaWRlSW5s
aW5lU3R5bGVBbGxvd2VkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gaXNBbGxv
d2VkQnlBbGxXaXRoQ29udGV4dDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVTdHlsZT4o
bV9wb2xpY2llcywgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAgIHJldHVybiBpc0FsbG93
ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lubGluZVN0eWxlPiht
X3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVwb3J0aW5nU3RhdHVzKTsKIH0K
IAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4gY2FsbFN0YWNrKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmFsbG93RXZhbChQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aENhbGxTdGFjazwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dFdmFsPihtX3BvbGljaWVzLCBjYWxsU3RhY2spOworICAgIHJldHVybiBpc0FsbG93
ZWRCeUFsbFdpdGhDYWxsU3RhY2s8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93RXZhbD4obV9wb2xp
Y2llcywgY2FsbFN0YWNrLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCiBib29sIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6YWxsb3dTY3JpcHROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUs
IGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTExNTcsNDQgKzEyMTksNTUgQEAgYm9vbCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSwg
Y29uc3QgU3RyaW5nJgogICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhOb25jZTwmQ1NQRGly
ZWN0aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZT4obV9wb2xpY2llcywgbm9uY2UsIGNvbnRleHRV
UkwsIGNvbnRleHRMaW5lLCB1cmwpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKK2Jvb2wgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlz
dDo6YWxsb3dTY3JpcHRGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwsIHJlcG9ydGluZ1N0YXR1
cyk7Cit9CisKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd09iamVjdEZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1
cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0
aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dPYmplY3RGcm9tU291cmNlPihtX3BvbGljaWVz
LCB1cmwsIHJlcG9ydGluZ1N0YXR1cyk7Cit9CisKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd0NoaWxkRnJhbWVGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewotICAg
IHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2Ny
aXB0RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlB
bGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0NoaWxkRnJhbWVGcm9tU291cmNlPiht
X3BvbGljaWVzLCB1cmwsIHJlcG9ydGluZ1N0YXR1cyk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjphbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAor
Ym9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IEtV
UkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5n
U3RhdHVzKSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERp
cmVjdGl2ZUxpc3Q6OmFsbG93T2JqZWN0RnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsKTsKKyAg
ICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0lt
YWdlRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1i
b29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHls
ZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9y
dGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlzQWxsb3dl
ZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJj
ZT4obV9wb2xpY2llcywgdXJsKTsKKyAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJMPCZD
U1BEaXJlY3RpdmVMaXN0OjphbGxvd1N0eWxlRnJvbVNvdXJjZT4obV9wb2xpY2llcywgdXJsLCBy
ZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJ
bWFnZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIGlzQWxsb3dlZEJ5QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJ
bWFnZUZyb21Tb3VyY2U+KG1fcG9saWNpZXMsIHVybCk7CisgICAgcmV0dXJuIGlzQWxsb3dlZEJ5
QWxsV2l0aFVSTDwmQ1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dGb250RnJvbVNvdXJjZT4obV9wb2xp
Y2llcywgdXJsLCByZXBvcnRpbmdTdGF0dXMpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVy
bCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVz
KSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93U3R5bGVGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAgIHJldHVy
biBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93TWVkaWFGcm9t
U291cmNlPihtX3BvbGljaWVzLCB1cmwsIHJlcG9ydGluZ1N0YXR1cyk7CiB9CiAKLWJvb2wgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCkg
Y29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0Nvbm5lY3RUb1NvdXJjZShj
b25zdCBLVVJMJiB1cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJl
cG9ydGluZ1N0YXR1cykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxXaXRoVVJM
PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0ZvbnRGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwp
OworICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxpc3Q6OmFs
bG93Q29ubmVjdFRvU291cmNlPihtX3BvbGljaWVzLCB1cmwsIHJlcG9ydGluZ1N0YXR1cyk7CiB9
CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZShjb25z
dCBLVVJMJiB1cmwpIGNvbnN0Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6aXNBY3RpdmUo
KSBjb25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2
ZUxpc3Q6OmFsbG93TWVkaWFGcm9tU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAgIHJldHVy
biAhbV9wb2xpY2llcy5pc0VtcHR5KCk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd0Nvbm5lY3RUb1NvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit2b2lkIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6Z2F0aGVyUmVwb3J0VVJJcyhET01TdHJpbmdMaXN0JiBsaXN0KSBj
b25zdAogewotICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhVUkw8JkNTUERpcmVjdGl2ZUxp
c3Q6OmFsbG93Q29ubmVjdFRvU291cmNlPihtX3BvbGljaWVzLCB1cmwpOworICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9wb2xpY2llcy5zaXplKCk7ICsraSkKKyAgICAgICAgbV9wb2xpY2ll
c1tpXS5nZXQoKS0+Z2F0aGVyUmVwb3J0VVJJcyhsaXN0KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggY2I2YmVhZDUxNDk1OGFkMzAx
YzQ5M2Y2MDBmNGU2YTQ2MGQ3ODE1OC4uY2RiNmI1Zjg5OGFlZTQ0MzMxN2Y4NmFjMTZmZjJlNDEw
MDZlNGRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5o
CkBAIC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ1NQRGlyZWN0
aXZlTGlzdDsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKK2NsYXNzIERPTVN0cmluZ0xpc3Q7CiBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB0eXBlZGVmIFZlY3RvcjxPd25QdHI8Q1NQ
RGlyZWN0aXZlTGlzdD4gPiBDU1BEaXJlY3RpdmVMaXN0VmVjdG9yOwpAQCAtNTksMzEgKzYwLDM5
IEBAIHB1YmxpYzoKICAgICAgICAgRW5mb3JjZVBvbGljeQogICAgIH07CiAKKyAgICBlbnVtIFJl
cG9ydGluZ1N0YXR1cyB7CisgICAgICAgIFNlbmRSZXBvcnQsCisgICAgICAgIFN1cHByZXNzUmVw
b3J0CisgICAgfTsKKwogICAgIHZvaWQgZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJpbmcmLCBI
ZWFkZXJUeXBlKTsKIAotICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgd3JvbmcgYmVjdWFzZSB0
aGV5IGFzc3VtZSB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIGhlYWRlci4KKyAgICAvLyBUaGVzZSBm
dW5jdGlvbnMgYXJlIHdyb25nIGJlY2F1c2UgdGhleSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBvbmx5
IG9uZSBoZWFkZXIuCiAgICAgLy8gRklYTUU6IFJlcGxhY2UgdGhlbSB3aXRoIGZ1bmN0aW9ucyB0
aGF0IHJldHVybiB2ZWN0b3JzLgogICAgIGNvbnN0IFN0cmluZyYgZGVwcmVjYXRlZEhlYWRlcigp
IGNvbnN0OwogICAgIEhlYWRlclR5cGUgZGVwcmVjYXRlZEhlYWRlclR5cGUoKSBjb25zdDsKIAot
ICAgIGJvb2wgYWxsb3dKYXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxs
b3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0lubGlu
ZVNjcmlwdChjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJl
ciYgY29udGV4dExpbmUpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dJbmxpbmVTdHlsZShjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUp
IGNvbnN0OwotICAgIGJvb2wgYWxsb3dFdmFsKFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3Rh
dHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZUV2ZW50SGFuZGxl
cnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsKKyAgICBib29s
IGFsbG93SW5saW5lU2NyaXB0KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpP
cmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd0lubGluZVN0eWxlKGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgUmVwb3J0aW5nU3RhdHVz
ID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd0V2YWwoUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsKICAgICBi
b29sIGFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBj
b250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBjb25zdCBL
VVJMJiA9IEtVUkwoKSkgY29uc3Q7CiAKLSAgICBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShj
b25zdCBLVVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3Qg
S1VSTCYpIGNvbnN0OwotICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1lRnJvbVNvdXJjZShjb25zdCBL
VVJMJikgY29uc3Q7Ci0gICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJikg
Y29uc3Q7Ci0gICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7
Ci0gICAgYm9vbCBhbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBi
b29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGFs
bG93Q29ubmVjdFRvU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93U2Ny
aXB0RnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkg
Y29uc3Q7CisgICAgYm9vbCBhbGxvd09iamVjdEZyb21Tb3VyY2UoY29uc3QgS1VSTCYsIFJlcG9y
dGluZ1N0YXR1cyA9IFNlbmRSZXBvcnQpIGNvbnN0OworICAgIGJvb2wgYWxsb3dDaGlsZEZyYW1l
RnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29u
c3Q7CisgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBLVVJMJiwgUmVwb3J0aW5n
U3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJj
ZShjb25zdCBLVVJMJiwgUmVwb3J0aW5nU3RhdHVzID0gU2VuZFJlcG9ydCkgY29uc3Q7CisgICAg
Ym9vbCBhbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IEtVUkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBT
ZW5kUmVwb3J0KSBjb25zdDsKKyAgICBib29sIGFsbG93TWVkaWFGcm9tU291cmNlKGNvbnN0IEtV
UkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0KSBjb25zdDsKKyAgICBib29sIGFsbG93
Q29ubmVjdFRvU291cmNlKGNvbnN0IEtVUkwmLCBSZXBvcnRpbmdTdGF0dXMgPSBTZW5kUmVwb3J0
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0T3ZlcnJpZGVBbGxvd0lubGluZVN0eWxlKGJvb2wpOwog
CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OworICAgIHZvaWQgZ2F0aGVyUmVwb3J0VVJJcyhE
T01TdHJpbmdMaXN0JikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ29udGVudFNl
Y3VyaXR5UG9saWN5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVNlY3VyaXR5UG9saWN5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTUwNDgzOWFhZjc2ZmM0NDFh
MTYzMzExNzA4NWI5OGViYjdiMjY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01TZWN1cml0eVBvbGljeS5jcHAKQEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRPTVNlY3VyaXR5UG9saWN5LmgiCisKKyNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlci5oIgorI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0UG9zaXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgeworCitib29sIGlzUG9saWN5QWN0aXZlSW5Db250
ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisgICAgLy8gSWYgdGhlIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQgaGFzIGJlZW4gZGVzdHJveWVkLCB0aGVyZSdzIG5vIGFjdGl2
ZSBwb2xpY3kuCisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICByZXR1cm4gY29udGV4dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmlzQWN0aXZlKCk7Cit9
CisKK3RlbXBsYXRlPGJvb2wgKENvbnRlbnRTZWN1cml0eVBvbGljeTo6KmFsbG93V2l0aFVSTCko
Y29uc3QgS1VSTCYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25z
dD4KK2Jvb2wgaXNBbGxvd2VkV2l0aFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAgICBpZiAoIWlzUG9saWN5QWN0aXZlSW5Db250ZXh0
KGNvbnRleHQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIEtVUkwgcGFyc2VkVVJMID0g
Y29udGV4dC0+Y29tcGxldGVVUkwodXJsKTsKKyAgICBpZiAoIXBhcnNlZFVSTC5pc1ZhbGlkKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaG93IHRvIHRocm93
IGEgSmF2YVNjcmlwdCBlcnJvci4KKworICAgIHJldHVybiAoY29udGV4dC0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPiphbGxvd1dpdGhVUkwpKHBhcnNlZFVSTCwgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpTdXBwcmVzc1JlcG9ydCk7Cit9CisKK3RlbXBsYXRlPGJvb2wgKENvbnRlbnRTZWN1cml0
eVBvbGljeTo6KmFsbG93V2l0aENvbnRleHQpKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25z
dD4KK2Jvb2wgaXNBbGxvd2VkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit7Cisg
ICAgaWYgKCFpc1BvbGljeUFjdGl2ZUluQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICByZXR1cm4gKGNvbnRleHQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT4q
YWxsb3dXaXRoQ29udGV4dCkoS1VSTCgpLCBXVEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0
KCksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpOworfQorCit9IC8vIG5h
bWVzcGFjZQorCitET01TZWN1cml0eVBvbGljeTo6RE9NU2VjdXJpdHlQb2xpY3koU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
KGNvbnRleHQpCit7Cit9CisKK0RPTVNlY3VyaXR5UG9saWN5Ojp+RE9NU2VjdXJpdHlQb2xpY3ko
KQoreworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5Ojppc0FjdGl2ZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGlzUG9saWN5QWN0aXZlSW5Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7Cit9CisKK1Bhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gRE9NU2VjdXJpdHlQb2xpY3k6OnJl
cG9ydFVSSXMoKSBjb25zdAoreworICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiByZXN1bHQgPSBE
T01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKKworICAgIGlmIChpc0FjdGl2ZSgpKQorICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5nYXRoZXJS
ZXBvcnRVUklzKCpyZXN1bHQuZ2V0KCkpOworCisgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7
Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0lubGluZVNjcmlwdCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGlzQWxsb3dlZDwmQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0lu
bGluZVNjcmlwdD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKworYm9vbCBET01TZWN1
cml0eVBvbGljeTo6YWxsb3dzSW5saW5lU3R5bGUoKSBjb25zdAoreworICAgIHJldHVybiBpc0Fs
bG93ZWQ8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbmxpbmVTdHlsZT4oc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzRXZh
bCgpIGNvbnN0Cit7CisgICAgaWYgKCFpc0FjdGl2ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIHJldHVybiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBv
bGljeSgpLT5hbGxvd0V2YWwoMCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9y
dCk7Cit9CisKKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6YWxsb3dzQ29ubmVjdGlvblRvKGNv
bnN0IFN0cmluZyYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRXaXRoVVJMPCZD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q29ubmVjdFRvU291cmNlPihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIHVybCk7Cit9CisKK2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c0Zv
bnRGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRX
aXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Rm9udEZyb21Tb3VyY2U+KHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01TZWN1cml0eVBvbGljeTo6
YWxsb3dzRnJhbWVGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBp
c0FsbG93ZWRXaXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q2hpbGRGcmFtZUZy
b21Tb3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworYm9vbCBET01T
ZWN1cml0eVBvbGljeTo6YWxsb3dzSW1hZ2VGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdAor
eworICAgIHJldHVybiBpc0FsbG93ZWRXaXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93SW1hZ2VGcm9tU291cmNlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCk7Cit9CisK
K2Jvb2wgRE9NU2VjdXJpdHlQb2xpY3k6OmFsbG93c01lZGlhRnJvbShjb25zdCBTdHJpbmcmIHVy
bCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBbGxvd2VkV2l0aFVSTDwmQ29udGVudFNlY3VyaXR5
UG9saWN5OjphbGxvd01lZGlhRnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1
cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NPYmplY3RGcm9tKGNvbnN0
IFN0cmluZyYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRXaXRoVVJMPCZDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93T2JqZWN0RnJvbVNvdXJjZT4oc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5OjphbGxvd3NTY3Jp
cHRGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBpc0FsbG93ZWRX
aXRoVVJMPCZDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZT4oc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwpOworfQorCitib29sIERPTVNlY3VyaXR5UG9saWN5
OjphbGxvd3NTdHlsZUZyb20oY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGlzQWxsb3dlZFdpdGhVUkw8JkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTdHlsZUZyb21T
b3VyY2U+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBv
bGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNlOGY0ZTdmNzk2MzAwZjZhMDQzYjMzMmJmNmY5NzhkYmUxMGFjYWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmgKQEAgLTAsMCAr
MSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEdPT0dMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIERPTVNlY3VyaXR5UG9saWN5X2gKKyNkZWZpbmUgRE9NU2VjdXJp
dHlQb2xpY3lfaAorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeTsKK2Ns
YXNzIERPTVN0cmluZ0xpc3Q7CitjbGFzcyBGcmFtZTsKKworY2xhc3MgRE9NU2VjdXJpdHlQb2xp
Y3kgOiBwdWJsaWMgUmVmQ291bnRlZDxET01TZWN1cml0eVBvbGljeT4sIHB1YmxpYyBDb250ZXh0
RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9N
U2VjdXJpdHlQb2xpY3k+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01TZWN1cml0eVBvbGljeShjb250
ZXh0KSk7CisgICAgfQorICAgIH5ET01TZWN1cml0eVBvbGljeSgpOworCisgICAgYm9vbCBpc0Fj
dGl2ZSgpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gcmVwb3J0VVJJcygp
IGNvbnN0OworCisgICAgYm9vbCBhbGxvd3NJbmxpbmVTY3JpcHQoKSBjb25zdDsKKyAgICBib29s
IGFsbG93c0lubGluZVN0eWxlKCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NFdmFsKCkgY29uc3Q7
CisKKyAgICBib29sIGFsbG93c0Nvbm5lY3Rpb25Ubyhjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7
CisgICAgYm9vbCBhbGxvd3NGb250RnJvbShjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CisgICAg
Ym9vbCBhbGxvd3NGcmFtZUZyb20oY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0OworICAgIGJvb2wg
YWxsb3dzSW1hZ2VGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93
c01lZGlhRnJvbShjb25zdCBTdHJpbmcmIHVybCkgY29uc3Q7CisgICAgYm9vbCBhbGxvd3NPYmpl
Y3RGcm9tKGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdDsKKyAgICBib29sIGFsbG93c1NjcmlwdEZy
b20oY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0OworICAgIGJvb2wgYWxsb3dzU3R5bGVGcm9tKGNv
bnN0IFN0cmluZyYgdXJsKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBET01TZWN1
cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Cit9OworCit9CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Ux
MWIyZWU0MTIzMjMwYTIxOTEyNjA4MWUzZjY2ZDg4MWM2Y2FlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGwKQEAgLTAsMCArMSw1MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9Q1NQX05FWFQsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKKyAgICAg
ICAgSW50ZXJmYWNlTmFtZT1TZWN1cml0eVBvbGljeQorICAgIF0gRE9NU2VjdXJpdHlQb2xpY3kg
eworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCByZXBvcnRVUklzOwor
CisgICAgICAgIGJvb2xlYW4gaXNBY3RpdmUoKTsKKworICAgICAgICBib29sZWFuIGFsbG93c0Nv
bm5lY3Rpb25UbyhpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NGb250
RnJvbShpbiBET01TdHJpbmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NGcmFtZUZyb20o
aW4gRE9NU3RyaW5nIHVybCk7CisgICAgICAgIGJvb2xlYW4gYWxsb3dzSW1hZ2VGcm9tKGluIERP
TVN0cmluZyB1cmwpOworICAgICAgICBib29sZWFuIGFsbG93c01lZGlhRnJvbShpbiBET01TdHJp
bmcgdXJsKTsKKyAgICAgICAgYm9vbGVhbiBhbGxvd3NPYmplY3RGcm9tKGluIERPTVN0cmluZyB1
cmwpOworICAgICAgICBib29sZWFuIGFsbG93c1NjcmlwdEZyb20oaW4gRE9NU3RyaW5nIHVybCk7
CisgICAgICAgIGJvb2xlYW4gYWxsb3dzU3R5bGVGcm9tKGluIERPTVN0cmluZyB1cmwpOworCisg
ICAgICAgIGJvb2xlYW4gYWxsb3dzRXZhbCgpOworICAgICAgICBib29sZWFuIGFsbG93c0lubGlu
ZVNjcmlwdCgpOworICAgICAgICBib29sZWFuIGFsbG93c0lubGluZVN0eWxlKCk7CisgICAgfTsK
KworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYzRiNDI1YjY1ZWQ5N2ZmMmYxNDNiMGVjMTdjMmNlMzc0YzMzM2I0Mi4u
MDIyN2Y2YjI2NjE4ODFlOGZkYjY1NjMxZDE0ZjJlZmY2ZTk4YWYyNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDEyLTA3LTI2ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSW1wbGVtZW50IHRoZSBleHBlcmltZW50YWwgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
c2NyaXB0IGludGVyZmFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkxNzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxs
b3dldmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmb250ZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd2ZyYW1lZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxv
d2ZyYW1lZnJvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20uaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1h
bGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dv
YmplY3Rmcm9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzY3JpcHRmcm9tLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd3N0eWxlZnJvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
aXNhY3RpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktaXNhY3RpdmUuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1yZXBvcnR1cmkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5
LXRlc3RzLWJhc2UuanM6IEFkZGVkLgorICAgICAgICAobG9nKToKKyAgICAgICAgKGluamVjdFBv
bGljeSk6CisKIDIwMTItMDctMjYgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgW0RSVF0gTFRDOjogcGFnZU51bWJlckZvckVsZW1lbnRCeUlk
KCkgY291bGQgYmUgbW92ZWQgdG8gSW50ZXJuYWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3djb25uZWN0aW9udG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
Y29ubmVjdGlvbnRvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGE4ZDVkZThhYmQ4NzA5OTJl
MThmN2UzMjc3MDE3NjkwNmY0NzkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5
LWFsbG93Y29ubmVjdGlvbnRvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1MgY29u
bmVjdGlvbiBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgY29ubmVjdGlv
biBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2Nvbm5lY3Rpb250by5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93
Y29ubmVjdGlvbnRvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ3NzMzMjNiMTk2ZjU3NmM4MzMyNzFjOGY4
OTU3ZjQwZmIxZWE0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2Nv
bm5lY3Rpb250by5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3NlY3VyaXR5cG9saWN5LXRlc3RzLWJhc2UuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWxsb3dzQ29u
bmVjdGlvblRvKCdodHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGNv
bm5lY3Rpb24gaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNl
CisgICAgICAgICAgbG9nKCdGQUlMIGNvbm5lY3Rpb24gaXMgbm90IGFsbG93ZWQgd2hlbiBubyBw
b2xpY3kgZXhpc3RzLicpOworCisKKyAgICAgIGluamVjdFBvbGljeSgiY29ubmVjdC1zcmMgaHR0
cDovL25vdGV4YW1wbGUuY29tLzsiKTsKKworICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5hbGxvd3NDb25uZWN0aW9uVG8oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAg
ICBsb2coJ1BBU1MgY29ubmVjdGlvbiBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMu
Jyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGNvbm5lY3Rpb24gaXMgYWxsb3dl
ZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2V2YWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4x
L3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY5OGE1
ZmIxMmQxZGU0NDA0MGIwMjFjYmYxNDU1ODA2ZmRmNDcwNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeS1hbGxvd2V2YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFT
UyBldmFsIGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBldmFsIGlzIG5v
dCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93ZXZhbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93ZXZhbC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJiMzc5MWE0MmQ4MTJkNjJmMTU4OTQxNTE5OWEwMGQ2NDg3MDViNzkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dldmFsLmh0bWwKQEAgLTAsMCArMSwxOSBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
CisgIDxib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3kt
dGVzdHMtYmFzZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVu
dC5TZWN1cml0eVBvbGljeS5hbGxvd3NFdmFsKCkpCisgICAgICAgICAgbG9nKCdQQVNTIGV2YWwg
aXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAg
ICAgbG9nKCdGQUlMIGV2YWwgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicp
OworCisgICAgICBpbmplY3RQb2xpY3koInNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnOyIpOwor
CisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0V2YWwoKSkKKyAgICAg
ICAgICBsb2coJ1BBU1MgZXZhbCBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7
CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIGV2YWwgaXMgYWxsb3dlZCB3aGVuIHBv
bGljeSBleGlzdHMuJyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWI1ZDE1
MGY5Nzc5MGNjMjllYTkzOWE2ZmZlNTIwYTJjNWMxZGVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nl
Y3VyaXR5cG9saWN5LWFsbG93Zm9udGZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
UEFTUyBmb250IGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBmb250IGlz
IG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5
cG9saWN5LWFsbG93Zm9udGZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9t
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTY1ZWIwY2QyZmIwNGQ5NTYyZDM3ZGQ0MTJmNWI3MDc4ZGI4MGQ0
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZvbnRmcm9tLmh0bWwK
QEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
c2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hbGxvd3NGb250RnJvbSgnaHR0cDovL2V4
YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBmb250IGlzIGFsbG93ZWQgd2hlbiBu
byBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBmb250
IGlzIG5vdCBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaW5qZWN0
UG9saWN5KCJmb250LXNyYyBodHRwOi8vbm90ZXhhbXBsZS5jb20vOyIpOworCisgICAgICBpZiAo
IWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0ZvbnRGcm9tKCdodHRwOi8vZXhhbXBsZS5j
b20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIGZvbnQgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xp
Y3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnUEFTUyBmb250IGlzIGFs
bG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmcmFtZWZyb20tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEwNmQ0MzIxMjRjYzQzYTQyZDc5MGI1NWJlOTNhNTdiMDdkYzMxOTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmcmFtZWZyb20tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBmcmFtZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4
aXN0cy4KK1BBU1MgZnJhbWUgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dmcmFtZWZyb20uaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeS1hbGxvd2ZyYW1lZnJvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MWFhNTkyYWM5YzA5Mzcx
OTEwYTM4OGY1MGI1Y2U1NzI1YjY5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dmcmFtZWZyb20uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFs
bG93c0ZyYW1lRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFT
UyBmcmFtZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UK
KyAgICAgICAgICBsb2coJ0ZBSUwgZnJhbWUgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kg
ZXhpc3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koImZyYW1lLXNyYyBodHRwOi8vbm90ZXhh
bXBsZS5jb20vOyIpOworCisgICAgICBpZiAoIWRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93
c0ZyYW1lRnJvbSgnaHR0cDovL2V4YW1wbGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBm
cmFtZSBpcyBub3QgYWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisg
ICAgICAgICAgbG9nKCdGQUlMIGZyYW1lIGlzIGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicp
OworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1
cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dpbWFnZWZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNThhMDU5ZDBjN2ViNjNl
NmExMzc0NzM1ZTRlOTIyYTViZDAwZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktYWxsb3dpbWFnZWZyb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorUEFTUyBpbWFn
ZSBpcyBhbGxvd2VkIHdoZW4gbm8gcG9saWN5IGV4aXN0cy4KK1BBU1MgaW1hZ2UgaXMgbm90IGFs
bG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dpbWFnZWZyb20uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd2ltYWdlZnJvbS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM2ZWZiNTBmMjE0NjkzMDBmZDJiMGM0ZTQ2OTk2NzY3N2ZkMGEwMjMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dpbWFnZWZyb20uaHRtbApAQCAt
MCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1
cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAg
aWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c0ltYWdlRnJvbSgnaHR0cDovL2V4YW1w
bGUuY29tLycpKQorICAgICAgICAgIGxvZygnUEFTUyBpbWFnZSBpcyBhbGxvd2VkIHdoZW4gbm8g
cG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwgaW1hZ2Ug
aXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQ
b2xpY3koImltZy1zcmMgaHR0cDovL25vdGV4YW1wbGUuY29tLzsiKTsKKworICAgICAgaWYgKCFk
b2N1bWVudC5TZWN1cml0eVBvbGljeS5hbGxvd3NJbWFnZUZyb20oJ2h0dHA6Ly9leGFtcGxlLmNv
bS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1MgaW1hZ2UgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xp
Y3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBpbWFnZSBpcyBh
bGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dtZWRpYWZyb20tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zOTU3MmVmOTc5NDgyNTY1OTE0Njg4MjdhNDU2ZWIwNGQyYTYxYWZjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1BBU1MgbWVkaWEgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBl
eGlzdHMuCitQQVNTIG1lZGlhIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93bWVkaWFmcm9tLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktYWxsb3dtZWRpYWZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NWQwZTIzNzhkZmM1NThl
ODk2NmY2ODIyNjE2YmUwNjM1NmQ3MWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9s
aWN5LWFsbG93bWVkaWFmcm9tLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5h
bGxvd3NNZWRpYUZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BB
U1MgbWVkaWEgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNl
CisgICAgICAgICAgbG9nKCdGQUlMIG1lZGlhIGlzIG5vdCBhbGxvd2VkIHdoZW4gbm8gcG9saWN5
IGV4aXN0cy4nKTsKKworICAgICAgaW5qZWN0UG9saWN5KCJtZWRpYS1zcmMgaHR0cDovL25vdGV4
YW1wbGUuY29tLzsiKTsKKworICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hbGxv
d3NNZWRpYUZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mg
bWVkaWEgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQor
ICAgICAgICAgIGxvZygnRkFJTCBtZWRpYSBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4n
KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktYWxsb3dvYmplY3Rmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGlj
eS1hbGxvd29iamVjdGZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxOWMyYWUyYmVhYzY2
ODRlMGRhNThkMjJiNWQwZDAwMDU3NTA3NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3dvYmplY3Rmcm9tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1Mg
b2JqZWN0IGlzIGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBvYmplY3QgaXMg
bm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3ktYWxsb3dvYmplY3Rmcm9tLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dvYmplY3Rm
cm9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNhNjk0Y2Q4MzZkYzcxNjBkYzJjMTdmMjNjYzE3YWZiYWFi
MThlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd29iamVjdGZyb20u
aHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
PgorICAgICAgaWYgKGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c09iamVjdEZyb20oJ2h0
dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgb2JqZWN0IGlzIGFsbG93
ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygn
RkFJTCBvYmplY3QgaXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisg
ICAgICBpbmplY3RQb2xpY3koIm9iamVjdC1zcmMgaHR0cDovL25vdGV4YW1wbGUuY29tLzsiKTsK
KworICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hbGxvd3NPYmplY3RGcm9tKCdo
dHRwOi8vZXhhbXBsZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIG9iamVjdCBpcyBub3Qg
YWxsb3dlZCB3aGVuIHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9n
KCdGQUlMIG9iamVjdCBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3Nj
cmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3kt
YWxsb3dzY3JpcHRmcm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3Njcmlw
dGZyb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMWRmNWVlYWQzMTdjNDM5M2RjMjQ3OWZj
ZjNlMzA1MGM2NWY3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dz
Y3JpcHRmcm9tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1Mgc2NyaXB0IGlzIGFs
bG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFTUyBzY3JpcHQgaXMgbm90IGFsbG93ZWQg
d2hlbiBwb2xpY3kgZXhpc3RzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dz
Y3JpcHRmcm9tLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzY3JpcHRmcm9tLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGVmMTA1NTc3MjExYzIxMjFjNzhiOWIyODA0ZDFlY2JiN2FkZjNkMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1hbGxvd3NjcmlwdGZyb20uaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGJvZHk+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zZWN1cml0
eXBvbGljeS10ZXN0cy1iYXNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgaWYg
KGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LmFsbG93c1NjcmlwdEZyb20oJ2h0dHA6Ly9leGFtcGxl
LmNvbS8nKSkKKyAgICAgICAgICBsb2coJ1BBU1Mgc2NyaXB0IGlzIGFsbG93ZWQgd2hlbiBubyBw
b2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBzY3JpcHQg
aXMgbm90IGFsbG93ZWQgd2hlbiBubyBwb2xpY3kgZXhpc3RzLicpOworCisgICAgICBpbmplY3RQ
b2xpY3koInNjcmlwdC1zcmMgaHR0cDovL25vdGV4YW1wbGUuY29tLzsiKTsKKworICAgICAgaWYg
KCFkb2N1bWVudC5TZWN1cml0eVBvbGljeS5hbGxvd3NTY3JpcHRGcm9tKCdodHRwOi8vZXhhbXBs
ZS5jb20vJykpCisgICAgICAgICAgbG9nKCdQQVNTIHNjcmlwdCBpcyBub3QgYWxsb3dlZCB3aGVu
IHBvbGljeSBleGlzdHMuJyk7CisgICAgICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHNjcmlw
dCBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZy
b20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YmU1MDg1OTM5Y2UyYTQ5MTkwOGQ0ZjlhOTU0YjI3YTVkMmVhMDdm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1Mgc3R5bGUgaXMgYWxsb3dlZCB3aGVuIG5vIHBv
bGljeSBleGlzdHMuCitQQVNTIHN0eWxlIGlzIG5vdCBhbGxvd2VkIHdoZW4gcG9saWN5IGV4aXN0
cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3ktYWxsb3dzdHlsZWZyb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OWJlMDJmZDgz
ZmY0ZjEyYjUwMTc0MjBmMDQyYzEzYWZhOTg0MzRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3Vy
aXR5cG9saWN5LWFsbG93c3R5bGVmcm9tLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5Pgor
ICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5hbGxvd3NTdHlsZUZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBs
b2coJ1BBU1Mgc3R5bGUgaXMgYWxsb3dlZCB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisgICAg
ICBlbHNlCisgICAgICAgICAgbG9nKCdGQUlMIHN0eWxlIGlzIG5vdCBhbGxvd2VkIHdoZW4gbm8g
cG9saWN5IGV4aXN0cy4nKTsKKworICAgICAgaW5qZWN0UG9saWN5KCJzdHlsZS1zcmMgaHR0cDov
L25vdGV4YW1wbGUuY29tLzsiKTsKKworICAgICAgaWYgKCFkb2N1bWVudC5TZWN1cml0eVBvbGlj
eS5hbGxvd3NTdHlsZUZyb20oJ2h0dHA6Ly9leGFtcGxlLmNvbS8nKSkKKyAgICAgICAgICBsb2co
J1BBU1Mgc3R5bGUgaXMgbm90IGFsbG93ZWQgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgICAg
ZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBzdHlsZSBpcyBhbGxvd2VkIHdoZW4gcG9saWN5IGV4
aXN0cy4nKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4x
L3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1p
c2FjdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUxZGYxYzRlMzllYzY0ZWE0MDI4ZjEz
NTI0ZDdlM2MwNjJlZDRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1pc2Fj
dGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQQVNTIGRvY3VtZW50LlNlY3VyaXR5
UG9saWN5LmFjdGl2ZSBpcyBmYWxzZSB3aGVuIG5vIHBvbGljeSBleGlzdHMuCitQQVNTIGRvY3Vt
ZW50LlNlY3VyaXR5UG9saWN5LmFjdGl2ZSBpcyB0cnVlIHdoZW4gcG9saWN5IGV4aXN0cy4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3ktaXNhY3RpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDM0NDI0MzY4NDM3MzEyMTBlZTI2Nzc3ZTVk
MDc1OTNiMjZiZWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LWlzYWN0aXZl
Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dD4KKyAgICAgIGlmICghZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuaXNBY3RpdmUoKSkKKyAgICAg
ICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIGZhbHNlIHdo
ZW4gbm8gcG9saWN5IGV4aXN0cy4nKTsKKyAgICAgIGVsc2UKKyAgICAgICAgICBsb2coJ0ZBSUwg
ZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRydXcgd2hlbiBubyBwb2xpY3kgZXhp
c3RzLicpOworCisgICAgICBpbmplY3RQb2xpY3koInNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUn
OyIpOworCisgICAgICBpZiAoZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuaXNBY3RpdmUoKSkKKyAg
ICAgICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kuYWN0aXZlIGlzIHRydWUg
d2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBk
b2N1bWVudC5TZWN1cml0eVBvbGljeS5hY3RpdmUgaXMgZmFsc2Ugd2hlbiBwb2xpY3kgZXhpc3Rz
LicpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3ktcmVwb3J0dXJpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeS1yZXBv
cnR1cmktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkYWIyNmU1OWEzMGEwNDZlYWQwNDg0MjYy
ZTNmMWQxOGRmNmRkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3ktcmVwb3J0
dXJpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQ
b2xpY3kucmVwb3J0VVJJcyBoYXMgbGVuZ3RoIDAgd2hlbiBubyBwb2xpY3kgZXhpc3RzLgorUEFT
UyBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggMSB3aGVuIHBv
bGljeSBleGlzdHMuCitQQVNTIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXNbMF0g
aXMgY29ycmVjdC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
MS4xL3NlY3VyaXR5cG9saWN5LXJlcG9ydHVyaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMzZhMDExYjZh
NGZjYTU4MWE4ZTY1YWU2MDhjMDY3ZDJhMTcxMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJp
dHlwb2xpY3ktcmVwb3J0dXJpLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxib2R5PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5y
ZXBvcnRVUklzLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2Vj
dXJpdHlQb2xpY3kucmVwb3J0VVJJcyBoYXMgbGVuZ3RoIDAgd2hlbiBubyBwb2xpY3kgZXhpc3Rz
LicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygnRkFJTCBkb2N1bWVudC5TZWN1cml0eVBv
bGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggJyArIGRvY3VtZW50LlNlY3VyaXR5UG9saWN5LnJl
cG9ydFVSSXMubGVuZ3RoICsgJyB3aGVuIG5vIHBvbGljeSBleGlzdHMuJyk7CisKKyAgICAgIGlu
amVjdFBvbGljeSgncmVwb3J0LXVyaSBodHRwOi8vZXhhbXBsZS5jb20vJyk7CisKKyAgICAgIGlm
IChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzLmxlbmd0aCA9PT0gMSkKKyAgICAg
ICAgICBsb2coJ1BBU1MgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJcyBoYXMgbGVu
Z3RoIDEgd2hlbiBwb2xpY3kgZXhpc3RzLicpOworICAgICAgZWxzZQorICAgICAgICAgIGxvZygn
RkFJTCBkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklzIGhhcyBsZW5ndGggJyArIGRv
Y3VtZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXMubGVuZ3RoICsgJyB3aGVuIHBvbGljeSBl
eGlzdHMuJyk7CisKKyAgICAgIGlmIChkb2N1bWVudC5TZWN1cml0eVBvbGljeS5yZXBvcnRVUklz
WzBdID09PSAiaHR0cDovL2V4YW1wbGUuY29tLyIpCisgICAgICAgICAgbG9nKCdQQVNTIGRvY3Vt
ZW50LlNlY3VyaXR5UG9saWN5LnJlcG9ydFVSSXNbMF0gaXMgY29ycmVjdC4nKTsKKyAgICAgIGVs
c2UKKyAgICAgICAgICBsb2coJ0ZBSUwgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJ
c1swXSBpcyAnICsgZG9jdW1lbnQuU2VjdXJpdHlQb2xpY3kucmVwb3J0VVJJc1swXSArICcgKHNo
b3VsZCBiZSBgaHR0cDovL2V4YW1wbGUuY29tL2ApLicpOworICAgIDwvc2NyaXB0PgorICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFz
ZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3Jlc291cmNlcy9zZWN1cml0eXBvbGljeS10ZXN0cy1iYXNlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2
ZGIxMmFlNjdmMjczOTE1YTFkYzdkZDQyZjBkZDI0MDVjYzJjZjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXNvdXJjZXMvc2VjdXJpdHlwb2xpY3ktdGVzdHMtYmFzZS5qcwpAQCAtMCwwICsxLDE5IEBACitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gbG9nKG1zZykgeworICAgIHZhciB0eHQgPSBkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cpOworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jv
ZHknKS5hcHBlbmRDaGlsZCh0eHQpOworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHkn
KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKK30KKworZnVuY3Rp
b24gaW5qZWN0UG9saWN5KHBvbGljeSkgeworICAgIHZhciBtZXRhID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnbWV0YScpOworICAgIG1ldGEuc2V0QXR0cmlidXRlKCdodHRwLWVxdWl2JywgJ1gt
V2ViS2l0LUNTUCcpOworICAgIG1ldGEuc2V0QXR0cmlidXRlKCdjb250ZW50JywgcG9saWN5KTsK
KyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG1ldGEpOworfQorCitpZiAoIWRvY3VtZW50
LlNlY3VyaXR5UG9saWN5KQorICAgIGxvZygnRkFJTCBkb2N1bWVudC5zZWN1cml0eVBvbGljeSBp
cyBub3QgZGVmaW5lZC4nKQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>