<?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>218393</bug_id>
          
          <creation_ts>2020-10-30 10:07:19 -0700</creation_ts>
          <short_desc>Add SwiftUI MiniBrowser</short_desc>
          <delta_ts>2020-11-03 12:17:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>dino</cc>
    
    <cc>james.savage</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1703106</commentid>
    <comment_count>0</comment_count>
      <attachid>412762</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2020-10-30 10:07:19 -0700</bug_when>
    <thetext>Created attachment 412762
Patch

This change provides a SwiftUI MiniBrowser implementation as well as a very preliminary SwiftUI wrapper for WKWebView, originally authored by James Savage. This only exposes a subset of the WKWebView API, and is definitely not production ready yet, but will give us a place to experiment with ways to make WebKit and SwiftUI work together better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703109</commentid>
    <comment_count>1</comment_count>
      <attachid>412765</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2020-10-30 10:09:47 -0700</bug_when>
    <thetext>Created attachment 412765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703156</commentid>
    <comment_count>2</comment_count>
      <attachid>412765</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-10-30 12:18:18 -0700</bug_when>
    <thetext>Comment on attachment 412765
Patch

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

I haven&apos;t looked deeply at the Swift, at all, but since it&apos;s a tool and meant for iteration, I think this is fine. rs=me

&gt; Tools/MiniBrowserSwiftUI/Shared/URLField.swift:74
&gt; +        #if os(macOS)

does Swift not let you outdent these like we usually do? (applies to many places)

&gt; Tools/MiniBrowserSwiftUI/Shared/URLField.swift:139
&gt; +        // FIXME: In real Safari, this is actually a material not a solid color.

Probably OK to elide this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703165</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2020-10-30 12:46:25 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)

Thanks for the review!

&gt; &gt; Tools/MiniBrowserSwiftUI/Shared/URLField.swift:74
&gt; &gt; +        #if os(macOS)
&gt; 
&gt; does Swift not let you outdent these like we usually do? (applies to many
&gt; places)

Swift does let you outdent them. Xcode&apos;s default is to keep them at the same indentation level, unlike its default for ObjC/C++ code.

I did some quick searching around on GitHub and saw a mix of styles, even within a single project. I checked SwiftLint but couldn&apos;t find a rule to enforce this either way.

I&apos;m fine with outdenting even though it will mean fighting Xcode a little bit.

&gt; &gt; Tools/MiniBrowserSwiftUI/Shared/URLField.swift:139
&gt; &gt; +        // FIXME: In real Safari, this is actually a material not a solid color.
&gt; 
&gt; Probably OK to elide this

Agreed, I&apos;ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704106</commentid>
    <comment_count>4</comment_count>
      <attachid>413082</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2020-11-03 11:28:06 -0800</bug_when>
    <thetext>Created attachment 413082
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704132</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 12:16:19 -0800</bug_when>
    <thetext>Committed r269326: &lt;https://trac.webkit.org/changeset/269326&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413082.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704133</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-03 12:17:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/71005682&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412762</attachid>
            <date>2020-10-30 10:07:19 -0700</date>
            <delta_ts>2020-10-30 10:09:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>20201030130718.patch</filename>
            <type>text/plain</type>
            <size>116475</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDM1ZWRkZWNlNTVjNGM4YWVlOWVlYTdhYTI1OGMxYzA2
NTQ4MDMwOC4uMjBmZWFhOTRmOGQ3NTY5YmVjMTJmYjYxNjA5NGI5ZThkYTgwOGViYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
NyBAQAorMjAyMC0xMC0yOSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIFN3aWZ0VUkgTWluaUJyb3dzZXIKKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09Q
UyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVz
aW5nIFdLV2ViVmlldyBpbiBTd2lmdFVJIGlzIHByZXR0eSBjdW1iZXJzb21lIHRvZGF5LiBBdCBh
IG1pbmltdW0sCisgICAgICAgIHlvdSBuZWVkIHRvIHdyYXAgdGhlIFdLV2ViVmlldyBpbiBhIE5T
L1VJVmlld1JlcHJlc2VudGFibGUgU3dpZnRVSQorICAgICAgICB2aWV3LCBidXQgdG8gcmVhY3Qg
dG8gYW55IHN0YXRlIGNoYW5nZXMgaW4gdGhlIFdLV2ViVmlldyAoZS5nLiwKKyAgICAgICAgLWNh
bkdvQmFjayBjaGFuZ2luZyBmcm9tIE5PIHRvIFlFUykgeW91IG5lZWQgdG8gYnJpZGdlIGJldHdl
ZW4KKyAgICAgICAgV0tXZWJWaWV3J3MgS1ZPIGFuZCBTd2lmdFVJJ3MgdXNlIG9mIENvbWJpbmUg
cHVibGlzaGVycyBvcgorICAgICAgICBPYnNlcnZhYmxlT2JqZWN0cy4gU2V0dGluZyB1cCBXS1dl
YlZpZXcncyB2YXJpb3VzIGRlbGVnYXRlcyBoYXMgdG8KKyAgICAgICAgaGFwcGVuIGRvd24gaW5z
aWRlIHRoZSBOUy9VSVZpZXdSZXByZXNlbnRhYmxlJ3MgQ29vcmRpbmF0b3Igb2JqZWN0LgorICAg
ICAgICBBbmQgc28gb24uCisKKyAgICAgICAgVGhlcmUgaGF2ZSBiZWVuIHNvbWUgYXR0ZW1wdHMg
YXQgdGhpcyBpbiB0aGUgcGFzdCwgZS5nLjoKKworICAgICAgICBodHRwczovL21lZGl1bS5jb20v
bWFjb2Nsb2NrL2hvdy10by11c2Utd2Via2l0LXdlYnZpZXctaW4tc3dpZnR1aS00Yjk0NGQwNDE5
MGEKKyAgICAgICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BtZHlhbWluL3N3aWZ0dWktbWFzdGVyaW5n
LXdlYnZpZXctNTc5MGU2ODY4MzNlCisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9reWxlaGlj
a2luc29uL1N3aWZ0VUktV2ViVmlldworCisgICAgICAgIFNvbWVkYXkgaXQgd291bGQgYmUgbmlj
ZSB0byBwcm92aWRlIGFuIGlkaW9tYXRpYyBTd2lmdFVJIEFQSSBmb3IKKyAgICAgICAgV2ViS2l0
IG91dCBvZiB0aGUgYm94LCBsaWtlIHRoZSBuZXcgVmlkZW9QbGF5ZXIgQVBJIHRoYXQgd3JhcHMK
KyAgICAgICAgQVZQbGF5ZXIuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcHJvdmlkZXMgYSBTd2lm
dFVJIE1pbmlCcm93c2VyIGltcGxlbWVudGF0aW9uIGFzIHdlbGwgYXMgYQorICAgICAgICB2ZXJ5
IHByZWxpbWluYXJ5IFN3aWZ0VUkgd3JhcHBlciBmb3IgV0tXZWJWaWV3LCBvcmlnaW5hbGx5IGF1
dGhvcmVkIGJ5CisgICAgICAgIEphbWVzIFNhdmFnZS4gVGhpcyBvbmx5IGV4cG9zZXMgYSBzdWJz
ZXQgb2YgdGhlIFdLV2ViVmlldyBBUEksIGFuZCBpcworICAgICAgICBkZWZpbml0ZWx5IG5vdCBw
cm9kdWN0aW9uIHJlYWR5IHlldCwgYnV0IHdpbGwgZ2l2ZSB1cyBhIHBsYWNlIHRvCisgICAgICAg
IGV4cGVyaW1lbnQgd2l0aCB3YXlzIHRvIG1ha2UgV2ViS2l0IGFuZCBTd2lmdFVJIHdvcmsgdG9n
ZXRoZXIgYmV0dGVyLgorCisgICAgICAgIEhlcmUncyBKYW1lcydzIGRlc2NyaXB0aW9uIG9mIHRo
ZSBBUEk6CisKKyAgICAgICAgPiBUaGUgaW5pdGlhbCB2ZXJzaW9uIG9mIHRoaXMgQVBJIGlzIGNv
bXBvc2VkIG9mIHR3byBwcmltYXJ5CisgICAgICAgID4gY29tcG9uZW50czogYFdlYlZpZXdgIGFu
ZCBgV2ViVmlld1N0YXRlYC4gYFdlYlZpZXdgIGNvbmZvcm1zIHRvCisgICAgICAgID4gYFZpZXdg
LCBhbmQgaXRzIHVzYWdlIGlzIHN0cmFpZ2h0LWZvcndhcmQuIGBXZWJWaWV3U3RhdGVgIGlzIG5v
dmVsLAorICAgICAgICA+IGFuZCBtYXkgbm90IHN1cnZpdmUgdG8gdGhlIGZpbmFsIEFQSS4gSXQg
ZXhpc3RzIGFzIGEgcmVhZC13cml0ZQorICAgICAgICA+IGhhbmRsZSBvbiB0aGUgcmF0aGVyIGxh
cmdlIGFtb3VudCBvZiBzdGF0ZSB0aGF0IGEgd2ViIHZpZXcgb2ZmZXJzLgorICAgICAgICA+IFRo
aXMgaW5jbHVkZXMgcmVhZC1vbmx5IGFjY2VzcyB0byBwcm9wZXJ0aWVzIGFib3V0IHRoZSBjdXJy
ZW50CisgICAgICAgID4gcGFnZSAoYHRpdGxlYCwgYHVybGAsIGBoYXNPbmx5U2VjdXJlQ29udGVu
dGApLCBuYXZpZ2F0aW9ucworICAgICAgICA+IChgZXN0aW1hdGVkUHJvZ3Jlc3NgLCBgaXNMb2Fk
aW5nYCksIGFuZCBiYWNrL2ZvcndhcmQgaGlzdG9yeQorICAgICAgICA+IChgY2FuR29CYWNrYCwg
YGNhbkdvRm9yd2FyZGApLiBJdCBhbHNvIG9mZmVycyBpbXBlcmF0aXZlIG1ldGhvZHMKKyAgICAg
ICAgPiBmb3IgbmF2aWdhdGlvbiB3aGljaCBtYXAgMToxIHdpdGggb3VyIGV4aXN0aW5nIE9iamVj
dGl2ZS1DIEFQSS4KKyAgICAgICAgPgorICAgICAgICA+IHN0cnVjdCBCcm93c2VyVmlldyA6IFZp
ZXcgeworICAgICAgICA+ICAgICBAU3RhdGVPYmplY3QgdmFyIHN0YXRlID0gV2ViVmlld1N0YXRl
KGluaXRpYWxVUkw6IFVSTChzdHJpbmc6ICJodHRwczovL2FwcGxlLmNvbSIpISkKKyAgICAgICAg
PiAgICAgdmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgID4gICAgICAgICBIU3RhY2sgewor
ICAgICAgICA+ICAgICAgICAgICAgIFRleHQodmVyYmF0aW06IHN0YXRlLnRpdGxlID8/ICJOb3Ro
aW5nIExvYWRlZCIpCisgICAgICAgID4gICAgICAgICAgICAgVGV4dCh2ZXJiYXRpbTogc3RhdGUu
dXJsID8/ICItLSIpCisgICAgICAgID4gICAgICAgICAgICAgV2ViVmlldyhzdGF0ZTogc3RhdGUp
CisgICAgICAgID4gICAgICAgICB9CisgICAgICAgID4gICAgIH0KKyAgICAgICAgPiB9CisgICAg
ICAgID4KKyAgICAgICAgPiBKYXZhU2NyaXB0IGRpYWxvZ3MgYXJlIHN1cHBvcnRlZCB3aXRoIGJv
dGggYnVpbHQtaW4gYmVoYXZpb3IgZm9yIGFsbAorICAgICAgICA+IGNsaWVudHMsIGFuZCBhIGN1
c3RvbWl6YXRpb24gcG9pbnQgaWYgZGVzaXJlZC4gQ2xpZW50cyBjYW4gcGFzcyBhCisgICAgICAg
ID4gYEJpbmRpbmc8RGlhbG9nPz5gIHRvIHRoZWlyIGBXZWJWaWV3YCB0byBkaXNhYmxlIHRoZSBi
dWlsdC1pbgorICAgICAgICA+IGRpc3BsYXksIGFuZCBwcm92aWRlIGN1c3RvbSBoYW5kbGluZy4K
KyAgICAgICAgPgorICAgICAgICA+IE5hdmlnYXRpb24gcG9saWNpZXMgY2FuIGJlIGN1c3RvbWl6
ZWQgdXNpbmcKKyAgICAgICAgPiBgd2ViVmlld05hdmlnYXRpb25Qb2xpY3kob25BY3Rpb246b25S
ZXNwb25zZTopYCB0byBwcm92aWRlIGN1c3RvbQorICAgICAgICA+IGRlY2lkZXIgZm9yIHRoZSBh
Y3Rpb24gYW5kIHJlc3BvbnNlIHBoYXNlcy4gVGhlc2UgcHJvcGFnYXRlIHZpYSB0aGUKKyAgICAg
ICAgPiBlbnZpcm9ubWVudCwgYWxsb3dpbmcgdGhlbSB0byBiZSBkZWZpbmVkIGF0IGFuIGFwcCwg
d2luZG93LCBvcgorICAgICAgICA+IGluZGl2aWR1YWwgdmlldyBsZXZlbC4KKyAgICAgICAgPgor
ICAgICAgICA+IEZ1dHVyZSBEaXJlY3Rpb25zCisgICAgICAgID4KKyAgICAgICAgPiBUbyBtYWtl
IGBXZWJWaWV3YCBhcyBkZWNsYXJhdGl2ZSBhcyBwb3NzaWJsZSwgd2UncmUgaW52ZXN0aWdhdGlu
ZworICAgICAgICA+IGhvdyB0byBtYWtlIGJyb2FkZXIgdXNlIG9mIGBCaW5kaW5nYCBmb3IgbmF2
aWdhdGlvbi4gQXMgYSBzaW1wbGUKKyAgICAgICAgPiBleGFtcGxlLCB5b3UgY291bGQgaW1hZ2lu
ZSBpZiB0aGUgYFdlYlZpZXdgJ3MgaW5pdGlhbGl6ZXIgdG9vayBhCisgICAgICAgID4gYEJpbmRp
bmc8VVJMPz5gIGZvciB0aGUgY3VycmVudCBwYWdlLiBIb3dldmVyLCB0aGlzIGRlc2lnbiBhbG9u
ZSBpcworICAgICAgICA+IHRvbyBzaW1wbGlzdGljIHRvIG1vZGVsIGFsbCBzdGF0ZXMgdGhhdCB0
aGUgd2ViIHZpZXcgY291bGQgYmUsIHNvIHdlCisgICAgICAgID4gd2lsbCBsaWtlbHkgbmVlZCB0
byBpbnRyb2R1Y2UgYSBtb3JlIGNvbXBsZXggdHlwZSBmb3IgdGhlIGJpbmRpbmcuCisgICAgICAg
ID4KKyAgICAgICAgPiBDdXJyZW50bHkgbmF2aWdhdGlvbiBwb2xpY2llcyBhcmUgYXR0YWNoZWQg
dmlhIGBWaWV3YCBtb2RpZmllcnMuCisgICAgICAgID4gVGhpcyBoYXMgdGhlIGJlbmVmaXQgdGhh
dCB0aGV5IGNhbiBiZSBpbnN0YWxsZWQgYXQgdGhlIHJvb3Qgb2YgYW4KKyAgICAgICAgPiBhcHBs
aWNhdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBhIHdlYiBicm93c2VyIHdoZXJlIGFsbCB0YWJz
IHdhbnQKKyAgICAgICAgPiB0byBoYXZlIHVuaWZvcm0gcG9saWNpZXMuIEdpdmVuIHRoZSBudW1i
ZXIgb2YgY3VzdG9taXphdGlvbiBwb2ludHMKKyAgICAgICAgPiBpbiBleGlzdGluZyBgV0tXZWJW
aWV3YCBkZWxlZ2F0ZXMsIHRoaXMgbWF5IGZhaWwgdG8gc2NhbGUgYW5kIGxlYWQKKyAgICAgICAg
PiB0byB1bmRlc2lyYWJsZSBlcmdvbm9taWNzLiBBbm90aGVyIGFwcHJvYWNoIHdvdWxkIHRvIGJl
IGp1c3QgdXNlIGEKKyAgICAgICAgPiBkZWxlZ2F0ZSBwcm90b2NvbCAoYSBsYSBEcm9wRGVsZWdh
dGU6CisgICAgICAgID4gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24v
c3dpZnR1aS9kcm9wZGVsZWdhdGUpLgorICAgICAgICA+CisgICAgICAgID4gQXMgYSBwcmFjdGlj
YWwgbWF0dGVyLCB3ZSB3YW50IHRvIG1pbmltaXplIHRoZSBhbW91bnQgb2Ygd29yayB0aGF0Cisg
ICAgICAgID4gYWRkaW5nIG5ldyBmdW5jdGlvbmFsaXR5IHRvIFdlYktpdCBBUEkgaW5jdXJzIGZv
ciBlbmdpbmVlcnMuIFdoaWxlCisgICAgICAgID4gd2UgY291bGQgcmVkZWZpbmUgZXZlcnkgT2Jq
ZWN0aXZlLUMgdHlwZSBmb3IgU3dpZnRVSSwgYnV0IHRoaXMgY291bGQKKyAgICAgICAgPiBsZWFk
IHRvIFN3aWZ0VUkgZmFsbGluZyBiZWhpbmQgYXMgb3VyIE9iamVjdGl2ZS1DIEFQSSBnZXRzIHVw
ZGF0ZWQuCisgICAgICAgID4gV2UgY291bGQgdXNlIHRvb2xzIGxpa2UgYEBkeW5hbWljTWVtYmVy
TG9va3VwYCB0byBhdXRvbWF0aWNhbGx5IHB1bGwKKyAgICAgICAgPiBvdXIgT2JqZWN0aXZlLUMg
QVBJcyBvdmVyIHRvIFN3aWZ0LCBob3dldmVyIHRoaXMgY291bGQgaGF2ZQorICAgICAgICA+IHVu
ZGVzaXJhYmxlIGltcGFjdCBvdXIgb3VyIEFCSS4gVGhlcmUgbWF5IGJlIGEgYmV0dGVyIGNvbXBy
b21pc2Ugd2UKKyAgICAgICAgPiBoYXZlbuKAmXQgeWV0IHJlYWNoZWQuCisKKyAgICAgICAgKiBN
aW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAg
KiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvRGVidWcueGNjb25maWc6CisgICAg
ICAgICogTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL01pbmlCcm93c2VyU3dpZnRV
SS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMv
UmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJh
dGlvbnMvV2ViS2l0X1N3aWZ0VUkueGNjb25maWc6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lm
dFVJL01pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIE1pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3hjc2hh
cmVkZGF0YS94Y3NjaGVtZXMvTWluaUJyb3dzZXJTd2lmdFVJLnhjc2NoZW1lOgorICAgICAgICBB
ZGRlZCB0aGUgbmV3IHByb2plY3QgYW5kIGl0cyBjb25maWd1cmF0aW9uLiBUaGUgcHJvamVjdCB3
YXMgZ2VuZXJhdGVkCisgICAgICAgIGZyb20gWGNvZGUncyAiTXVsdGlwbGF0Zm9ybSBBcHAiIHRl
bXBsYXRlLiBUaGVyZSBhcmUgdHdvIHRhcmdldHM6IHRoZQorICAgICAgICBNaW5pQnJvd3NlclN3
aWZ0VUkgYXBwLCBhbmQgdGhlIF9XZWJLaXRfU3dpZnRVSSBmcmFtZXdvcmsuIEJvdGggYXJlCisg
ICAgICAgIGNyb3NzLXBsYXRmb3JtLiBUaGUgYnVpbGQgc2V0dGluZ3Mgd2VyZSBleHRyYWN0ZWQg
b3V0IG9mIHRoZSAucGJ4cHJvagorICAgICAgICBpbnRvIHRoZSAueGNjb25maWcgZmlsZXMuCisK
KyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BY2Nl
bnRDb2xvci5jb2xvcnNldC9Db250ZW50cy5qc29uOgorICAgICAgICAqIE1pbmlCcm93c2VyU3dp
ZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0FwcEljb24uYXBwaWNvbnNldC9Db250ZW50cy5q
c29uOgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRz
L0NvbnRlbnRzLmpzb246CisJKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fz
c2V0cy9VUkxGaWVsZEJhY2tncm91bmQuY29sb3JzZXQvQ29udGVudHMuanNvbjoKKyAgICAgICAg
RGVmaW5lcyBhIGNvdXBsZSBvZiBjb2xvcnMgYW5kIGFuIGVtcHR5IGljb24gZm9yIHRoZSBhcHAu
CisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvaU9TL0luZm8ucGxpc3Q6CisgICAgICAg
ICogTWluaUJyb3dzZXJTd2lmdFVJL21hY09TL0luZm8ucGxpc3Q6CisgICAgICAgICogTWluaUJy
b3dzZXJTd2lmdFVJL21hY09TL21hY09TLmVudGl0bGVtZW50czoKKyAgICAgICAgKiBNaW5pQnJv
d3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViS2l0X1N3aWZ0VUktSW5mby5wbGlzdDogQWRk
ZWQuCisgICAgICAgIEFkZGVkIHRoZXNlIGZpbGVzIGdlbmVyYXRlZCBieSBYY29kZS4gVGhlIG9u
bHkgY2hhbmdlIHdhcyBhZGRpbmcKKyAgICAgICAgY29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsu
Y2xpZW50IHRvIHRoZSBlbnRpdGxlbWVudHMgc28gdGhlIGJyb3dzZXIKKyAgICAgICAgY2FuIGNv
bm5lY3QgdG8gc2VydmVycy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQv
QnJvd3NlckFwcC5zd2lmdDogQWRkZWQuIFRoaXMgaXMgdGhlIGVudHJ5CisgICAgICAgIHBvaW50
IG9mIHRoZSBhcHAsIGFuZCBqdXN0IHNldHMgdXAgYSBCcm93c2VyU2NlbmUuCisKKyAgICAgICAg
KiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJTY2VuZS5zd2lmdDogQWRkZWQuIFRo
aXMgc2V0cyB1cAorICAgICAgICB0aGUgYnJvd3NlcidzIHdpbmRvd3MsIGVhY2ggb2Ygd2hpY2gg
anVzdCBjb250YWluIGEgc2luZ2xlIEJyb3dzZXJUYWIuCisgICAgICAgIE9uIGlPUyB3ZSB3cmFw
IHRoZSBCcm93c2VyVGFiIGluIGEgTmF2aWdhdGlvblZpZXcgc28gdGhlcmUgd2lsbCBiZQorICAg
ICAgICBzb21ld2hlcmUgdG8gc2hvdyBvdXIgdG9vbGJhciBidXR0b25zLgorCisgICAgICAgICog
TWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2VyVGFiLnN3aWZ0OiBBZGRlZC4gVGhpcyBp
cyB0aGUgaGVhcnQKKyAgICAgICAgb2YgdGhlIGJyb3dzZXIuCisgICAgICAgIChCcm93c2VyVGFi
LmJvZHkpOiBTZXRzIHVwIHRoZSBXZWJWaWV3IGl0c2VsZiBwbHVzIHNvbWUgdG9vbGJhciBpdGVt
czoKKyAgICAgICAgdGhlIGJhY2svZm9yd2FyZCBidXR0b25zIGFuZCBVUkwgZmllbGQuCisgICAg
ICAgIChCcm93c2VyVGFiLm9uTmF2aWdhdGUodG86KSk6IENhbGxiYWNrIGNhbGxlZCB3aGVuIHRo
ZSB1c2VyIHByZXNzZXMKKyAgICAgICAgUmV0dXJuIGluIHRoZSBVUkwgZmllbGQuCisgICAgICAg
IChCcm93c2VyVGFiLmRlY2lkZVBvbGljeShmb3I6c3RhdGU6KSk6IENhbGxiYWNrIGNhbGxlZCB3
aGVuIHRoZQorICAgICAgICBXZWJWaWV3IGlzIGFib3V0IHRvIG5hdmlnYXRlLCBzaW1pbGFyIHRv
IFdLTmF2aWdhdGlvbkRlbGVnYXRlJ3MKKyAgICAgICAgLXdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6LgorICAgICAgICAoQnJvd3NlclRhYi5t
YWtlRXh0ZXJuYWxOYXZpZ2F0aW9uQWxlcnQoXzopKTogRGlzcGxheXMgYW4gYWxlcnQgdG8gbGV0
CisgICAgICAgIHRoZSB1c2VyIGRlY2lkZSB3aGV0aGVyIHRvIGZvbGxvdyBhIFVSTCB0aGF0IHdp
bGwgb3BlbiBpbiBzb21lIG90aGVyCisgICAgICAgIGFwcGxpY2F0aW9uLgorICAgICAgICAoVXNl
cklucHV0KTogUmVwcmVzZW50cyB0ZXh0IHR5cGVkIGluIHRoZSBVUkwgZmllbGQgYWZ0ZXIgZGV0
ZXJtaW5pbmcKKyAgICAgICAgd2hldGhlciBpdCBpcyBhIFVSTCBvciBhIHNlYXJjaCBxdWVyeS4K
KyAgICAgICAgKEV4dGVybmFsVVJMTmF2aWdhdGlvbik6IFByb3ZpZGVzIHRoZSBkYXRhIGZvciB0
aGUgZXh0ZXJuYWwgbmF2aWdhdGlvbgorICAgICAgICBhbGVydC4KKyAgICAgICAgKEJyb3dzZXJU
YWJfUHJldmlld3MpOiBTaG93cyBhIGNhbm5lZCBCcm93c2VyVGFiIGluIFhjb2RlJ3MgcHJldmll
dworICAgICAgICBjYW52YXMuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVk
L0ZvdW5kYXRpb25FeHRyYXMuc3dpZnQ6IEFkZGVkLiBQcm92aWRlcyBhCisgICAgICAgIGZldyB1
dGlsaXR5IGZ1bmN0aW9ucyBmb3IgVVJMcy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRV
SS9TaGFyZWQvVVJMRmllbGQuc3dpZnQ6IEFkZGVkLgorICAgICAgICAoVVJMRmllbGQpOiBUaGUg
U3dpZnRVSSB2aWV3IHlvdSB1c2UgZGlyZWN0bHkuIEl0IGNvbnRhaW5zIGEgbGVhZGluZworICAg
ICAgICBnbHlwaCAoZS5nLiwgYSBsb2NrIGljb24gd2hlbiB2aWV3aW5nIGEgc2VjdXJlIHBhZ2Up
LCBhIHRleHQgZmllbGQsCisgICAgICAgIGEgdHJhaWxpbmcgYWNjZXNzb3J5IHZpZXcgcHJvdmlk
ZWQgYnkgdGhlIGNhbGxlciwgYW5kIGEgcHJvZ3Jlc3MgYmFyLgorICAgICAgICBJdCBhbHNvIHN1
cHBvcnRzIGNhbGxiYWNrcyB0byBub3RpZnkgdGhlIGNhbGxlciB3aGVuIHRoZSB0ZXh0IGZpZWxk
CisgICAgICAgIGdhaW5zL2xvc2VzIGZvY3VzIGFuZCB3aGVuIHRoZSB1c2VyIGhhcyBjb21taXR0
ZWQgdGhlIHRleHQgaW4gdGhlCisgICAgICAgIGZpZWxkIChlLmcuLCBieSBwcmVzc2luZyBSZXR1
cm4pLgorICAgICAgICAoQmFja2dyb3VuZCk6IFRoZSBiYWNrZ3JvdW5kIHZpZXcgZm9yIHRoZSBV
UkxGaWVsZCwgd2hpY2ggZGVmaW5lcyBib3RoCisgICAgICAgIHRoZSByb3VuZGVkIHJlY3Rhbmds
ZSBzaGFwZSBmb3IgdGhlIGZpZWxkIGFuZCB0aGUgcHJvZ3Jlc3MgYmFyLgorICAgICAgICAoVVJM
RmllbGRfUHJldmlld3MpOiBTaG93cyBzb21lIGNhbm5lZCBVUkxGaWVsZHMgaW4gWGNvZGUncyBw
cmV2aWV3CisgICAgICAgIGNhbnZhcy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9X
ZWJLaXRfU3dpZnRVSS9EaWFsb2cuc3dpZnQ6IEFkZGVkLgorICAgICAgICAoRGlhbG9nKTogUmVw
cmVzZW50cyBhIHNpbmdsZSBKYXZhU2NyaXB0IGRpYWxvZyAoYWxlcnQsIGNvbmZpcm0sIG9yCisg
ICAgICAgIHByb21wdCkuCisgICAgICAgIChEaWFsb2dDb250YWluZXIpOiBQcm92aWRlcyB0aGUg
ZGVmYXVsdCBVSSBzaGFyZWQgYnkgYWxsIEphdmFTY3JpcHQKKyAgICAgICAgZGlhbG9nIHR5cGVz
LgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL0phdmFTY3Jp
cHREaWFsb2dzLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKEphdmFTY3JpcHRBbGVydCk6IERlZmF1
bHQgVUkgZm9yIGEgSmF2YVNjcmlwdCBhbGVydCBkaWFsb2cuCisgICAgICAgIChKYXZhU2NyaXB0
Q29uZmlybSk6IERlZmF1bHQgVUkgZm9yIGEgSmF2YVNjcmlwdCBjb25maXJtIGRpYWxvZy4KKyAg
ICAgICAgKEphdmFTY3JpcHRQcm9tcHQpOiBEZWZhdWx0IFVJIGZvciBhIEphdmFTY3JpcHQgcHJv
bXB0IGRpYWxvZy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRV
SS9OYXZpZ2F0aW9uLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKFZpZXcud2ViVmlld05hdmlnYXRp
b25Qb2xpY3kob25BY3Rpb246KSk6CisgICAgICAgIChWaWV3LndlYlZpZXdOYXZpZ2F0aW9uUG9s
aWN5KG9uUmVzcG9uc2U6KSk6CisgICAgICAgIChWaWV3LndlYlZpZXdOYXZpZ2F0aW9uUG9saWN5
KG9uQWN0aW9uOm9uUmVzcG9uc2U6KSk6CisgICAgICAgIFRoZXNlIGxldCB0aGUgYXBwbGljYXRp
b24gc3BlY2lmeSBuYXZpZ2F0aW9uIHBvbGljeSBsb2dpYyBmb3IgYW55CisgICAgICAgIGRlc2Nl
bmRhbnQgV2ViVmlld3MgaW4gdGhlIHZpZXcgaGllcmFyY2h5LCB1c2luZyBTd2lmdFVJJ3MgRW52
aXJvbm1lbnQKKyAgICAgICAgZmFjaWxpdHkuCisgICAgICAgIChOYXZpZ2F0aW9uQWN0aW9uKTog
SWRpb21hdGljIFN3aWZ0VUkgd3JhcHBlciBhcm91bmQKKyAgICAgICAgV0tOYXZpZ2F0aW9uQWN0
aW9uIGFuZCBpdHMgZGVjaXNpb24gaGFuZGxlciBjYWxsYmFjay4KKyAgICAgICAgKE5hdmlnYXRp
b25SZXNwb25zZSk6IElkaW9tYXRpYyBTd2lmdFVJIHdyYXBwZXIgYXJvdW5kCisgICAgICAgIFdL
TmF2aWdhdGlvblJlc3BvbnNlIGFuZCBpdHMgZGVjaXNpb24gaGFuZGxlciBjYWxsYmFjay4KKwor
ICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9Td2lmdFVJRXh0cmFz
LnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKENvbG9yLnBsYXRmb3JtU2VwYXJhdG9yKToKKyAgICAg
ICAgKENvbG9yLnBsYXRmb3JtQmFja2dyb3VuZCk6CisgICAgICAgIENyb3NzLXBsYXRmb3JtIHdy
YXBwZXJzIGFyb3VuZCBwbGF0Zm9ybS1zcGVjaWZpYyBjb2xvcnMuCisKKyAgICAgICAgKiBNaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmlldy5zd2lmdDogQWRkZWQuCisgICAg
ICAgIChXZWJWaWV3KTogVGhlIGhlYXJ0IG9mIHRoZSBTd2lmdFVJIEFQSS4gWW91IHByb3ZpZGUg
aXQgYSBXZWJWaWV3U3RhdGUKKyAgICAgICAgc3RydWN0IHRvIHJlcHJlc2VudCBhbmQgY29udHJv
bCBpdHMgc3RhdGUgKHNpbWlsYXIgdG8gQVZGb3VuZGF0aW9uJ3MKKyAgICAgICAgVmlkZW9QbGF5
ZXIgdmlldyBjb250cm9sbGVkIGJ5IEFWUGxheWVyKS4gWW91IGNhbiBvcHRpb25hbGx5IHByb3Zp
ZGUgYQorICAgICAgICBCaW5kaW5nIHRvIGJlIG5vdGlmaWVkIG9mIHRoZSBjdXJyZW50IEphdmFT
Y3JpcHQgZGlhbG9nIHRoYXQgdGhlIHdlYgorICAgICAgICBjb250ZW50IHdpc2hlcyB0byBkaXNw
bGF5LiBJZiB5b3UgZG9uJ3QgcHJvdmlkZSB0aGlzIGJpbmRpbmcsIFdlYlZpZXcKKyAgICAgICAg
d2lsbCBwcmVzZW50IHRoZSBkaWFsb2cgdXNpbmcgZGVmYXVsdCBVSS4KKyAgICAgICAgKFdlYlZp
ZXcuZGlhbG9nVmlldyk6IENvbmZpZ3VyZXMgdGhlIGRlZmF1bHQgZGlhbG9nIFVJIGlmIHRoZSBj
YWxsZXIKKyAgICAgICAgZG9lc24ndCB3YW50IHRvIGhhbmRsZSBkaWFsb2dzIG9uIGl0cyBvd24u
CisgICAgICAgIChfV2ViVmlldyk6IEludGVybmFsIHZpZXcgdGhhdCBicmlkZ2VzIFN3aWZ0VUkg
dG8gV0tXZWJWaWV3LgorICAgICAgICAoQ29vcmRpbmF0b3IpOiBJbnRlcm5hbCBjbGFzcyB0aGF0
IGZ1bmN0aW9ucyBhcyB0aGUgV0tXZWJWaWV3J3MKKyAgICAgICAgV0tOYXZpZ2F0aW9uRGVsZWdh
dGUgYW5kIFdLVUlEZWxlZ2F0ZS4KKyAgICAgICAgKENvb3JkaW5hdG9yLndlYlZpZXcoXzpkZWNp
ZGVQb2xpY3lGb3I6cHJlZmVyZW5jZXM6ZGVjaXNpb25IYW5kbGVyOikpOgorICAgICAgICBMb29r
cyBmb3IgYSBuYXZpZ2F0aW9uIGRlY2lkZXIgaW4gdGhlIHZpZXcncyBlbnZpcm9ubWVudCBhbmQg
ZGVsZWdhdGVzCisgICAgICAgIHRvIGl0IGlmIGZvdW5kLCBvdGhlcndpc2UgYWxsb3dzIGFsbCBu
YXZpZ2F0aW9ucy4KKworICAgICAgICAoQ29vcmRpbmF0b3Iud2ViVmlldyhfOnJ1bkphdmFTY3Jp
cHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxl
cjopKToKKyAgICAgICAgKENvb3JkaW5hdG9yLndlYlZpZXcoXzpydW5KYXZhU2NyaXB0Q29uZmly
bVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopKToK
KyAgICAgICAgKENvb3JkaW5hdG9yLndlYlZpZXcoXzpydW5KYXZhU2NyaXB0VGV4dElucHV0UGFu
ZWxXaXRoUHJvbXB0OmRlZmF1bHRUZXh0OmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRs
ZXI6KSk6CisgICAgICAgIFBhc3NlcyB0aGUgZGlhbG9nIGluZm9ybWF0aW9uIHVwIHRvIHRoZSBX
ZWJWaWV3LCB3aGljaCB0aGVuIGRlY2lkZXMKKyAgICAgICAgd2hldGhlciB0byBwcmVzZW50IGRl
ZmF1bHQgVUkgaXRzZWxmIG9yIGxldCB0aGUgY2FsbGVyIGhhbmRsZSBpdC4KKworICAgICAgICAq
IE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3TW9kaWZpZXJzLnN3aWZ0
OiBBZGRlZC4KKyAgICAgICAgKFZpZXcud2ViVmlld0FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlv
bkdlc3R1cmVzKF86KSk6IFNwZWNpZmllcworICAgICAgICB3aGV0aGVyIFdlYlZpZXdzIGJlbG93
IHRoaXMgcG9pbnQgaW4gdGhlIHZpZXcgaGllcmFyY2h5IHNob3VsZCBzdXBwb3J0CisgICAgICAg
IHN3aXBlIGdlc3R1cmVzIHRvIG5hdmlnYXRlIGJhY2svZm9yd2FyZC4KKworICAgICAgICAqIE1p
bmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3U3RhdGUuc3dpZnQ6IEFkZGVk
LgorICAgICAgICAoV2ViVmlld1N0YXRlKTogUmVwcmVzZW50cyB0aGUgc3RhdGUgYW5kIGFjdGlv
bnMgb2YgYSBXZWJWaWV3LgorICAgICAgICBDb25mb3JtcyB0byBPYnNlcnZhYmxlT2JqZWN0IHNv
IFN3aWZ0VUkgdmlld3MgY2FuIHJlYWN0IHRvIGNoYW5nZXMgaW4KKyAgICAgICAgdGhlIFdlYlZp
ZXdTdGF0ZS4KKyAgICAgICAgKFdlYlZpZXdTdGF0ZS53ZWJWaWV3KF86ZGlkQ2hhbmdlS2V5UGF0
aDopKTogRGV0ZWN0cyB3aGVuIHRoZQorICAgICAgICBXS1dlYlZpZXcncyBzdGF0ZSBoYXMgY2hh
bmdlZCB2aWEgS1ZPIGFuZCByZWZsZWN0cyB0aG9zZSB0aHJvdWdoIHRoZQorICAgICAgICBPYnNl
cnZhYmxlT2JqZWN0Lm9iamVjdFdpbGxDaGFuZ2UgbWVjaGFuaXNtIHNvIFN3aWZ0VUkgdmlld3Mg
d2lsbCBiZQorICAgICAgICB1cGRhdGVkLgorCisgICAgICAgIChXZWJWaWV3U3RhdGUuY2FuR29C
YWNrKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS5jYW5Hb0ZvcndhcmQpOgorICAgICAgICAoV2Vi
Vmlld1N0YXRlLnRpdGxlKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS51cmwpOgorICAgICAgICAo
V2ViVmlld1N0YXRlLmlzTG9hZGluZyk6CisgICAgICAgIChXZWJWaWV3U3RhdGUuZXN0aW1hdGVk
UHJvZ3Jlc3MpOgorICAgICAgICAoV2ViVmlld1N0YXRlLmhhc09ubHlTZWN1cmVDb250ZW50KToK
KyAgICAgICAgV3JhcHBlcnMgYXJvdW5kIFdLV2ViVmlldyBwcm9wZXJ0aWVzLgorCisgICAgICAg
IChXZWJWaWV3U3RhdGUubG9hZChfOikpOgorICAgICAgICAoV2ViVmlld1N0YXRlLmdvQmFjayk6
CisgICAgICAgIChXZWJWaWV3U3RhdGUuZ29Gb3J3YXJkKToKKyAgICAgICAgKFdlYlZpZXdTdGF0
ZS5yZWxvYWQpOgorICAgICAgICAoV2ViVmlld1N0YXRlLnN0b3BMb2FkaW5nKToKKyAgICAgICAg
KFdlYlZpZXdTdGF0ZS5jcmVhdGVQREYoY29uZmlndXJhdGlvbjpjb21wbGV0aW9uOikpOgorICAg
ICAgICBXcmFwcGVycyBhcm91bmQgV0tXZWJWaWV3IG1ldGhvZHMuCisKIDIwMjAtMTAtMjggIEFh
a2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBidWls
ZC53ZWJraXQub3JnLWNvbmZpZyBkaXJlY3RvcnkgdG8gYnVpbGQtd2Via2l0LW9yZwpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZTFlMDlhY2M1MzViMjU4MTg4YWU1MjMyYTAwYWNiMjM4NGM0MmNmCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKQEAgLTAsMCArMSw3NyBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworLy8gQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKy8vIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorLy8gVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworU0RLUk9PVCA9IG1h
Y29zeC5pbnRlcm5hbAorCitJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDE0LjAKK01BQ09T
WF9ERVBMT1lNRU5UX1RBUkdFVCA9IDExLjAKK1NVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVz
aW11bGF0b3IgaXBob25lb3MgbWFjb3N4CitUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gMSwyLDYK
KworU1dJRlRfVkVSU0lPTiA9IDUuMAorCitBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTwor
Q09QWV9QSEFTRV9TVFJJUCA9IE5PCisKK0NMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVMKK0NM
QU5HX0FOQUxZWkVSX05VTUJFUl9PQkpFQ1RfQ09OVkVSU0lPTiA9IFlFU19BR0dSRVNTSVZFCitD
TEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0CitDTEFOR19DWFhfTElCUkFSWSA9
IGxpYmMrKworQ0xBTkdfRU5BQkxFX01PRFVMRVMgPSBZRVMKK0NMQU5HX0VOQUJMRV9PQkpDX0FS
QyA9IFlFUworQ0xBTkdfRU5BQkxFX09CSkNfV0VBSyA9IFlFUworQ0xBTkdfV0FSTl9CTE9DS19D
QVBUVVJFX0FVVE9SRUxFQVNJTkcgPSBZRVMKK0NMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0g
WUVTCitDTEFOR19XQVJOX0NPTU1BID0gWUVTCitDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJ
T04gPSBZRVMKK0NMQU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlF
UworQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1IKK0NMQU5HX1dB
Uk5fRE9DVU1FTlRBVElPTl9DT01NRU5UUyA9IFlFUworQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0g
WUVTCitDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUworQ0xBTkdfV0FSTl9JTkZJTklU
RV9SRUNVUlNJT04gPSBZRVMKK0NMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVMKK0NMQU5H
X1dBUk5fTk9OX0xJVEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19XQVJOX09CSkNf
SU1QTElDSVRfUkVUQUlOX1NFTEYgPSBZRVMKK0NMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZF
UlNJT04gPSBZRVMKK0NMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SCitDTEFO
R19XQVJOX1FVT1RFRF9JTkNMVURFX0lOX0ZSQU1FV09SS19IRUFERVIgPSBZRVMKK0NMQU5HX1dB
Uk5fUkFOR0VfTE9PUF9BTkFMWVNJUyA9IFlFUworQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBF
UyA9IFlFUworQ0xBTkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVMKK0NMQU5HX1dBUk5fVU5H
VUFSREVEX0FWQUlMQUJJTElUWSA9IFlFU19BR0dSRVNTSVZFCitDTEFOR19XQVJOX1VOUkVBQ0hB
QkxFX0NPREUgPSBZRVMKK0NMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVMK
K0VOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTCitHQ0NfQ19MQU5HVUFHRV9TVEFOREFS
RCA9IGdudTExCitHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTworR0NDX05PX0NPTU1PTl9CTE9DS1Mg
PSBZRVMKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTCitHQ0NfV0FSTl9B
Qk9VVF9SRVRVUk5fVFlQRSA9IFlFU19FUlJPUgorR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RP
UiA9IFlFUworR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFCitH
Q0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVMKK0dDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9
IFlFUworTVRMX0ZBU1RfTUFUSCA9IFlFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJT
d2lmdFVJL0NvbmZpZ3VyYXRpb25zL0RlYnVnLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXJT
d2lmdFVJL0NvbmZpZ3VyYXRpb25zL0RlYnVnLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYjU2ZmJi
NWZhMjcyYjUxOTMyYTgwNTI1ZmNiMmNmNGVlN2MyYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvRGVidWcueGNjb25maWcKQEAgLTAs
MCArMSwzOSBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6
CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorLy8KKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisKK09OTFlf
QUNUSVZFX0FSQ0ggPSBZRVMKKworR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDAKK0dDQ19QUkVQ
Uk9DRVNTT1JfREVGSU5JVElPTlMgPSBERUJVRz0xICQoaW5oZXJpdGVkKQorCitERUJVR19JTkZP
Uk1BVElPTl9GT1JNQVQgPSBkd2FyZgorRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTCisKK1NXSUZU
X0FDVElWRV9DT01QSUxBVElPTl9DT05ESVRJT05TID0gREVCVUcKK1NXSUZUX09QVElNSVpBVElP
Tl9MRVZFTCA9IC1Pbm9uZQorCitNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBJTkNMVURFX1NPVVJD
RQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL01p
bmlCcm93c2VyU3dpZnRVSS54Y2NvbmZpZyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25m
aWd1cmF0aW9ucy9NaW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZkNTA1
OWJhNWQ0MDg5OTBjMTIzYmZmMGVhOWFmNTU1N2ZlODJhZQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9NaW5pQnJvd3NlclN3aWZ0VUku
eGNjb25maWcKQEAgLTAsMCArMSwzOSBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Ky8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworLy8gQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
Ky8vIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8v
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8g
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworUFJPRFVDVF9CVU5ETEVfSURF
TlRJRklFUiA9IG9yZy53ZWJraXQuTWluaUJyb3dzZXJTd2lmdFVJCitQUk9EVUNUX05BTUUgPSBN
aW5pQnJvd3NlclN3aWZ0VUkKKworQ09ERV9TSUdOX0VOVElUTEVNRU5UU1tzZGs9bWFjb3N4Kl0g
PSBtYWNPUy9tYWNPUy5lbnRpdGxlbWVudHMKK0lORk9QTElTVF9GSUxFID0gbWFjT1MvSW5mby5w
bGlzdAorSU5GT1BMSVNUX0ZJTEVbc2RrPWlwaG9uZW9zKl0gPSBpT1MvSW5mby5wbGlzdAorCitB
U1NFVENBVEFMT0dfQ09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbgorQVNTRVRDQVRBTE9H
X0NPTVBJTEVSX0dMT0JBTF9BQ0NFTlRfQ09MT1JfTkFNRSA9IEFjY2VudENvbG9yCitDT01CSU5F
X0hJRFBJX0lNQUdFU1tzZGs9bWFjb3N4Kl0gPSBZRVMKKworTERfUlVOUEFUSF9TRUFSQ0hfUEFU
SFMgPSAkKGluaGVyaXRlZCkgQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzCisKK0VOQUJMRV9Q
UkVWSUVXUyA9IFlFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZp
Z3VyYXRpb25zL1JlbGVhc2UueGNjb25maWcgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29u
ZmlndXJhdGlvbnMvUmVsZWFzZS54Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDIyZGZlOWVmZTM2MTQz
MDc3ZDk2YzBiOTY5MTkwNzRhNDNkMjZlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL1JlbGVhc2UueGNjb25maWcKQEAgLTAsMCArMSwz
NyBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8v
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisv
LyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy8v
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisvLyBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorLy8KKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisKK0VOQUJMRV9OU19B
U1NFUlRJT05TID0gTk8KKworREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmYtd2l0aC1k
c3ltCisKK1NXSUZUX0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZQorU1dJRlRfT1BUSU1J
WkFUSU9OX0xFVkVMID0gLU8KKworTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk8KKworVkFMSURB
VEVfUFJPRFVDVCA9IFlFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0Nv
bmZpZ3VyYXRpb25zL1dlYktpdF9Td2lmdFVJLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXJT
d2lmdFVJL0NvbmZpZ3VyYXRpb25zL1dlYktpdF9Td2lmdFVJLnhjY29uZmlnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdmZTFhMGJiM2RhYTYxMmNlOTUxNDRkNGI0MGI4MWNjMmJiMzAzMTQKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvV2ViS2l0X1N3aWZ0
VUkueGNjb25maWcKQEAgLTAsMCArMSw0MiBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworLy8gQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKy8vIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
Ky8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
Ly8gVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworUFJPRFVDVF9CVU5ETEVf
SURFTlRJRklFUiA9IG9yZy53ZWJraXQuV2ViS2l0LVN3aWZ0VUkKK1BST0RVQ1RfTkFNRSA9IF9X
ZWJLaXRfU3dpZnRVSQorCitJTkZPUExJU1RfRklMRSA9IFdlYktpdF9Td2lmdFVJL1dlYktpdF9T
d2lmdFVJLUluZm8ucGxpc3QKKworQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxCitEWUxJQl9D
T01QQVRJQklMSVRZX1ZFUlNJT04gPSAxCitEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxCitWRVJT
SU9OSU5HX1NZU1RFTSA9IGFwcGxlLWdlbmVyaWMKKworREVGSU5FU19NT0RVTEUgPSBZRVMKKwor
RFlMSUJfSU5TVEFMTF9OQU1FX0JBU0UgPSBAcnBhdGgKK0lOU1RBTExfUEFUSCA9ICQoTE9DQUxf
TElCUkFSWV9ESVIpL0ZyYW1ld29ya3MKK1NLSVBfSU5TVEFMTCA9IFlFUworCitMRF9SVU5QQVRI
X1NFQVJDSF9QQVRIUyA9ICQoaW5oZXJpdGVkKSBAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3Mg
QGxvYWRlcl9wYXRoL0ZyYW1ld29ya3MKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dp
ZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xz
L01pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NzNjMjQ0YTdmMWQzNTlhNTNlZTJlZjdmYTBjNTNlMzIzNjkz
NTE4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93
c2VyU3dpZnRVSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0wLDAgKzEsMzU5IEBACisv
LyAhJCpVVEY4KiQhCit7CisJYXJjaGl2ZVZlcnNpb24gPSAxOworCWNsYXNzZXMgPSB7CisJfTsK
KwlvYmplY3RWZXJzaW9uID0gNTA7CisJb2JqZWN0cyA9IHsKKworLyogQmVnaW4gUEJYQnVpbGRG
aWxlIHNlY3Rpb24gKi8KKwkJQzA1QkU4RDMyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fz
c2V0cyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1
QkU4QkQyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyAqLzsgfTsKKwkJQzA1QkU4
RkEyNTQ5RjA3QTAwNTU0Qjk0IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRThFMTI1NDlGMDIyMDA1NTRCOTQg
LyogU3dpZnRVSUV4dHJhcy5zd2lmdCAqLzsgfTsKKwkJQzA1QkU4RkIyNTQ5RjA3QTAwNTU0Qjk0
IC8qIFdlYlZpZXdTdGF0ZS5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMwNUJFOEU1MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dp
ZnQgKi87IH07CisJCUMwNUJFOEZDMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3LnN3aWZ0IGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU4RTQyNTQ5
RjAyMjAwNTU0Qjk0IC8qIFdlYlZpZXcuc3dpZnQgKi87IH07CisJCUMwNUJFOEZEMjU0OUYwN0Ew
MDU1NEI5NCAvKiBKYXZhU2NyaXB0RGlhbG9ncy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOEUzMjU0OUYwMjIwMDU1NEI5NCAvKiBKYXZh
U2NyaXB0RGlhbG9ncy5zd2lmdCAqLzsgfTsKKwkJQzA1QkU4RkUyNTQ5RjA3QTAwNTU0Qjk0IC8q
IE5hdmlnYXRpb24uc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMDVCRThERjI1NDlGMDIyMDA1NTRCOTQgLyogTmF2aWdhdGlvbi5zd2lmdCAqLzsg
fTsKKwkJQzA1QkU4RkYyNTQ5RjA3QTAwNTU0Qjk0IC8qIERpYWxvZy5zd2lmdCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOEU2MjU0OUYwMjIwMDU1
NEI5NCAvKiBEaWFsb2cuc3dpZnQgKi87IH07CisJCUMwNUJFOTAwMjU0OUYwN0EwMDU1NEI5NCAv
KiBXZWJWaWV3TW9kaWZpZXJzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzA1QkU4RTAyNTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYlZpZXdNb2RpZmll
cnMuc3dpZnQgKi87IH07CisJCUMwNUJFOTFDMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyU2Nl
bmUuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MDVCRTkxNzI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3aWZ0ICovOyB9OworCQlD
MDVCRTkxRTI1NDlGMUIwMDA1NTRCOTQgLyogVVJMRmllbGQuc3dpZnQgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRTkxODI1NDlGMUIwMDA1NTRCOTQg
LyogVVJMRmllbGQuc3dpZnQgKi87IH07CisJCUMwNUJFOTIwMjU0OUYxQjAwMDU1NEI5NCAvKiBC
cm93c2VyVGFiLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzA1QkU5MTkyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJUYWIuc3dpZnQgKi87IH07
CisJCUMwNUJFOTIyMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyQXBwLnN3aWZ0IGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU5MUEyNTQ5RjFCMDAw
NTU0Qjk0IC8qIEJyb3dzZXJBcHAuc3dpZnQgKi87IH07CisJCUMwNUJFOTJFMjU0OUYxRjcwMDU1
NEI5NCAvKiBGb3VuZGF0aW9uRXh0cmFzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU5MkEyNTQ5RjFGNzAwNTU0Qjk0IC8qIEZvdW5kYXRp
b25FeHRyYXMuc3dpZnQgKi87IH07CisJCUMwNUJFOTQ0MjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJL
aXRfU3dpZnRVSS54Y2NvbmZpZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzA1QkU5NDIyNTQ5RjI1NDAwNTU0Qjk0IC8qIFdlYktpdF9Td2lmdFVJLnhj
Y29uZmlnICovOyB9OworCQlDMDVCRTk3RjI1NDlGODM5MDA1NTRCOTQgLyogX1dlYktpdF9Td2lm
dFVJLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMwNUJFOEVDMjU0OUYwNTMwMDU1NEI5NCAvKiBfV2ViS2l0X1N3aWZ0VUkuZnJhbWV3
b3JrICovOyB9OworLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBC
WEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQlDMDVCRThCRDI1NDlFRkRBMDA1NTRCOTQgLyog
QXNzZXRzLnhjYXNzZXRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gZm9sZGVyLmFzc2V0Y2F0YWxvZzsgcGF0aCA9IEFzc2V0cy54Y2Fzc2V0czsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4QzUyNTQ5RUZEQTAwNTU0Qjk0IC8qIElu
Zm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMwNUJFOENBMjU0OUVGREEwMDU1NEI5NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUku
YXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFw
cGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBNaW5pQnJvd3NlclN3
aWZ0VUkuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlDMDVCRThD
QzI1NDlFRkRBMDA1NTRCOTQgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlz
dDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4Q0QyNTQ5RUZEQTAwNTU0Qjk0
IC8qIG1hY09TLmVudGl0bGVtZW50cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QuZW50aXRsZW1lbnRzOyBwYXRoID0gbWFjT1MuZW50
aXRsZW1lbnRzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThERjI1NDlGMDIy
MDA1NTRCOTQgLyogTmF2aWdhdGlvbi5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBOYXZpZ2F0aW9u
LnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFMDI1NDlGMDIyMDA1
NTRCOTQgLyogV2ViVmlld01vZGlmaWVycy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBXZWJWaWV3
TW9kaWZpZXJzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFMTI1
NDlGMDIyMDA1NTRCOTQgLyogU3dpZnRVSUV4dHJhcy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBT
d2lmdFVJRXh0cmFzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThF
MjI1NDlGMDIyMDA1NTRCOTQgLyogV2ViS2l0X1N3aWZ0VUktSW5mby5wbGlzdCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBw
YXRoID0gIldlYktpdF9Td2lmdFVJLUluZm8ucGxpc3QiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDMDVCRThFMzI1NDlGMDIyMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Muc3dp
ZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLnN3aWZ0OyBwYXRoID0gSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQ7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOEU0MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3LnN3
aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5zd2lmdDsgcGF0aCA9IFdlYlZpZXcuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMwNUJFOEU1MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLnN3aWZ0OyBwYXRoID0gV2ViVmlld1N0YXRlLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDMDVCRThFNjI1NDlGMDIyMDA1NTRCOTQgLyogRGlhbG9nLnN3aWZ0ICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5z
d2lmdDsgcGF0aCA9IERpYWxvZy5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QzA1QkU4RUMyNTQ5RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBfV2ViS2l0X1N3aWZ0VUkuZnJhbWV3
b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlDMDVCRTkxNzI1NDlG
MUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5z
d2lmdDsgcGF0aCA9IEJyb3dzZXJTY2VuZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzA1QkU5MTgyNTQ5RjFCMDAwNTU0Qjk0IC8qIFVSTEZpZWxkLnN3aWZ0ICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IFVSTEZpZWxkLnN3aWZ0OyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMDVCRTkxOTI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclRhYi5z
d2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBCcm93c2VyVGFiLnN3aWZ0
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRTkxQTI1NDlGMUIwMDA1NTRCOTQg
LyogQnJvd3NlckFwcC5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBC
cm93c2VyQXBwLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRTkyQTI1
NDlGMUY3MDA1NTRCOTQgLyogRm91bmRhdGlvbkV4dHJhcy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuc3dpZnQ7IHBhdGggPSBGb3VuZGF0aW9uRXh0cmFzLnN3aWZ0OyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJT
d2lmdFVJLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IE1pbmlCcm93c2VyU3dpZnRVSS54Y2NvbmZp
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5NDIyNTQ5RjI1NDAwNTU0Qjk0
IC8qIFdlYktpdF9Td2lmdFVJLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdF9Td2lmdFVJ
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRTk0QjI1NDlGMjZC
MDA1NTRCOTQgLyogRGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gRGVidWcueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOTRDMjU0OUYyNzUwMDU1NEI5NCAv
KiBSZWxlYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFJlbGVhc2UueGNjb25maWc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOTU2MjU0OUYyRkYwMDU1NEI5NCAvKiBCYXNl
LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisKKy8qIEJlZ2lu
IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJQzA1QkU4QzcyNTQ5RUZEQTAw
NTU0Qjk0IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQ
aGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJ
CQlDMDVCRTk3RjI1NDlGODM5MDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOworCQl9OworCQlDMDVCRThFOTI1NDlGMDUzMDA1NTRCOTQgLyogRnJhbWV3b3Jr
cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rp
b25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQlD
MDVCRThCNTI1NDlFRkQ5MDA1NTRCOTQgPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCUMwNUJFOTNGMjU0OUYyMjcwMDU1NEI5NCAvKiBDb25maWd1cmF0aW9ucyAq
LywKKwkJCQlDMDVCRThCQTI1NDlFRkQ5MDA1NTRCOTQgLyogU2hhcmVkICovLAorCQkJCUMwNUJF
OEM0MjU0OUVGREEwMDU1NEI5NCAvKiBpT1MgKi8sCisJCQkJQzA1QkU4Q0IyNTQ5RUZEQTAwNTU0
Qjk0IC8qIG1hY09TICovLAorCQkJCUMwNUJFOERFMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJLaXRf
U3dpZnRVSSAqLywKKwkJCQlDMDVCRThDMzI1NDlFRkRBMDA1NTRCOTQgLyogUHJvZHVjdHMgKi8s
CisJCQkpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQzA1QkU4QkEyNTQ5
RUZEOTAwNTU0Qjk0IC8qIFNoYXJlZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJQzA1QkU5MUEyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJBcHAuc3dp
ZnQgKi8sCisJCQkJQzA1QkU5MTcyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJTY2VuZS5zd2lm
dCAqLywKKwkJCQlDMDVCRTkxOTI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclRhYi5zd2lmdCAq
LywKKwkJCQlDMDVCRTkyQTI1NDlGMUY3MDA1NTRCOTQgLyogRm91bmRhdGlvbkV4dHJhcy5zd2lm
dCAqLywKKwkJCQlDMDVCRTkxODI1NDlGMUIwMDA1NTRCOTQgLyogVVJMRmllbGQuc3dpZnQgKi8s
CisJCQkJQzA1QkU4QkQyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyAqLywKKwkJ
CSk7CisJCQlwYXRoID0gU2hhcmVkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
KwkJQzA1QkU4QzMyNTQ5RUZEQTAwNTU0Qjk0IC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDMDVCRThDQTI1NDlFRkRBMDA1NTRCOTQg
LyogTWluaUJyb3dzZXJTd2lmdFVJLmFwcCAqLywKKwkJCQlDMDVCRThFQzI1NDlGMDUzMDA1NTRC
OTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayAqLywKKwkJCSk7CisJCQluYW1lID0gUHJv
ZHVjdHM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMDVCRThDNDI1NDlF
RkRBMDA1NTRCOTQgLyogaU9TICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQlDMDVCRThDNTI1NDlFRkRBMDA1NTRCOTQgLyogSW5mby5wbGlzdCAqLywKKwkJ
CSk7CisJCQlwYXRoID0gaU9TOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJ
QzA1QkU4Q0IyNTQ5RUZEQTAwNTU0Qjk0IC8qIG1hY09TICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDMDVCRThDQzI1NDlFRkRBMDA1NTRCOTQgLyogSW5m
by5wbGlzdCAqLywKKwkJCQlDMDVCRThDRDI1NDlFRkRBMDA1NTRCOTQgLyogbWFjT1MuZW50aXRs
ZW1lbnRzICovLAorCQkJKTsKKwkJCXBhdGggPSBtYWNPUzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCUMwNUJFOERFMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRV
SSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzA1QkU4
REYyNTQ5RjAyMjAwNTU0Qjk0IC8qIE5hdmlnYXRpb24uc3dpZnQgKi8sCisJCQkJQzA1QkU4RTAy
NTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYlZpZXdNb2RpZmllcnMuc3dpZnQgKi8sCisJCQkJQzA1QkU4
RTEyNTQ5RjAyMjAwNTU0Qjk0IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgKi8sCisJCQkJQzA1QkU4
RTIyNTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYktpdF9Td2lmdFVJLUluZm8ucGxpc3QgKi8sCisJCQkJ
QzA1QkU4RTMyNTQ5RjAyMjAwNTU0Qjk0IC8qIEphdmFTY3JpcHREaWFsb2dzLnN3aWZ0ICovLAor
CQkJCUMwNUJFOEU0MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3LnN3aWZ0ICovLAorCQkJCUMw
NUJFOEU1MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQgKi8sCisJCQkJQzA1
QkU4RTYyNTQ5RjAyMjAwNTU0Qjk0IC8qIERpYWxvZy5zd2lmdCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gV2ViS2l0X1N3aWZ0VUk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlD
MDVCRTkzRjI1NDlGMjI3MDA1NTRCOTQgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7CisJCQlpc2Eg
PSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUMwNUJFOTU2MjU0OUYyRkYwMDU1NEI5
NCAvKiBCYXNlLnhjY29uZmlnICovLAorCQkJCUMwNUJFOTQxMjU0OUYyNDcwMDU1NEI5NCAvKiBN
aW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcgKi8sCisJCQkJQzA1QkU5NDIyNTQ5RjI1NDAwNTU0
Qjk0IC8qIFdlYktpdF9Td2lmdFVJLnhjY29uZmlnICovLAorCQkJCUMwNUJFOTRCMjU0OUYyNkIw
MDU1NEI5NCAvKiBEZWJ1Zy54Y2NvbmZpZyAqLywKKwkJCQlDMDVCRTk0QzI1NDlGMjc1MDA1NTRC
OTQgLyogUmVsZWFzZS54Y2NvbmZpZyAqLywKKwkJCSk7CisJCQlwYXRoID0gQ29uZmlndXJhdGlv
bnM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworLyogRW5kIFBCWEdyb3VwIHNl
Y3Rpb24gKi8KKworLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQlD
MDVCRThFNzI1NDlGMDUzMDA1NTRCOTQgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhl
YWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZp
bGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OworCQl9OworLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVn
aW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0
IC8qIE1pbmlCcm93c2VyU3dpZnRVSSAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMDVCRThEOTI1NDlFRkRBMDA1NTRCOTQgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIk1pbmlCcm93c2Vy
U3dpZnRVSSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlDMDVCRThDNjI1NDlFRkRBMDA1
NTRCOTQgLyogU291cmNlcyAqLywKKwkJCQlDMDVCRThDNzI1NDlFRkRBMDA1NTRCOTQgLyogRnJh
bWV3b3JrcyAqLywKKwkJCQlDMDVCRThDODI1NDlFRkRBMDA1NTRCOTQgLyogUmVzb3VyY2VzICov
LAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAor
CQkJKTsKKwkJCW5hbWUgPSBNaW5pQnJvd3NlclN3aWZ0VUk7CisJCQlwcm9kdWN0TmFtZSA9ICJN
aW5pQnJvd3NlclN3aWZ0VUkgKG1hY09TKSI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQzA1QkU4
Q0EyNTQ5RUZEQTAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSS5hcHAgKi87CisJCQlwcm9k
dWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmFwcGxpY2F0aW9uIjsKKwkJfTsKKwkJ
QzA1QkU4RUIyNTQ5RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSSAqLyA9IHsKKwkJCWlz
YSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMDVCRThG
MTI1NDlGMDUzMDA1NTRCOTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRp
dmVUYXJnZXQgIl9XZWJLaXRfU3dpZnRVSSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlD
MDVCRThFNzI1NDlGMDUzMDA1NTRCOTQgLyogSGVhZGVycyAqLywKKwkJCQlDMDVCRThFODI1NDlG
MDUzMDA1NTRCOTQgLyogU291cmNlcyAqLywKKwkJCQlDMDVCRThFOTI1NDlGMDUzMDA1NTRCOTQg
LyogRnJhbWV3b3JrcyAqLywKKwkJCQlDMDVCRThFQTI1NDlGMDUzMDA1NTRCOTQgLyogUmVzb3Vy
Y2VzICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVz
ID0gKAorCQkJKTsKKwkJCW5hbWUgPSBfV2ViS2l0X1N3aWZ0VUk7CisJCQlwcm9kdWN0TmFtZSA9
IF9XZWJLaXRfU3dpZnRVSTsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSBDMDVCRThFQzI1NDlGMDUz
MDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBl
ID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhO
YXRpdmVUYXJnZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8K
KwkJQzA1QkU4QjYyNTQ5RUZEOTAwNTU0Qjk0IC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJ
aXNhID0gUEJYUHJvamVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFN3aWZ0VXBkYXRl
Q2hlY2sgPSAxMjIwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAxMjIwOworCQkJCVRhcmdldEF0
dHJpYnV0ZXMgPSB7CisJCQkJCUMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCA9IHsKKwkJCQkJCUNy
ZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDEyLjI7CisJCQkJCX07CisJCQkJCUMwNUJFOEVCMjU0OUYw
NTMwMDU1NEI5NCA9IHsKKwkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDEyLjI7CisJCQkJ
CX07CisJCQkJfTsKKwkJCX07CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQzA1QkU4Qjky
NTQ5RUZEOTAwNTU0Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVj
dCAiTWluaUJyb3dzZXJTd2lmdFVJIiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhj
b2RlIDkuMyI7CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IGVuOworCQkJaGFzU2Nhbm5lZEZvckVu
Y29kaW5ncyA9IDA7CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJZW4sCisJCQkJQmFzZSwKKwkJ
CSk7CisJCQltYWluR3JvdXAgPSBDMDVCRThCNTI1NDlFRkQ5MDA1NTRCOTQ7CisJCQlwcm9kdWN0
UmVmR3JvdXAgPSBDMDVCRThDMzI1NDlFRkRBMDA1NTRCOTQgLyogUHJvZHVjdHMgKi87CisJCQlw
cm9qZWN0RGlyUGF0aCA9ICIiOworCQkJcHJvamVjdFJvb3QgPSAiIjsKKwkJCXRhcmdldHMgPSAo
CisJCQkJQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSSAqLywK
KwkJCQlDMDVCRThFQjI1NDlGMDUzMDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJICovLAorCQkJ
KTsKKwkJfTsKKy8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYUmVz
b3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCUMwNUJFOEM4MjU0OUVGREEwMDU1NEI5NCAv
KiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJ
YnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUMwNUJFOTQ0
MjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyBpbiBSZXNvdXJjZXMg
Ki8sCisJCQkJQzA1QkU4RDMyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBS
ZXNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CisJCX07CisJCUMwNUJFOEVBMjU0OUYwNTMwMDU1NEI5NCAvKiBSZXNvdXJjZXMgKi8g
PSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhh
c2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICov
CisJCUMwNUJFOEM2MjU0OUVGREEwMDU1NEI5NCAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0g
UEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owor
CQkJZmlsZXMgPSAoCisJCQkJQzA1QkU5MUUyNTQ5RjFCMDAwNTU0Qjk0IC8qIFVSTEZpZWxkLnN3
aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU5MjIyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dz
ZXJBcHAuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRTkxQzI1NDlGMUIwMDA1NTRCOTQg
LyogQnJvd3NlclNjZW5lLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU5MjAyNTQ5RjFC
MDAwNTU0Qjk0IC8qIEJyb3dzZXJUYWIuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRTky
RTI1NDlGMUY3MDA1NTRCOTQgLyogRm91bmRhdGlvbkV4dHJhcy5zd2lmdCBpbiBTb3VyY2VzICov
LAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9
OworCQlDMDVCRThFODI1NDlGMDUzMDA1NTRCOTQgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9
IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCUMwNUJFOEZEMjU0OUYwN0EwMDU1NEI5NCAvKiBKYXZhU2NyaXB0
RGlhbG9ncy5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJCUMwNUJFOEZDMjU0OUYwN0EwMDU1NEI5
NCAvKiBXZWJWaWV3LnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU4RkUyNTQ5RjA3QTAw
NTU0Qjk0IC8qIE5hdmlnYXRpb24uc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRThGRjI1
NDlGMDdBMDA1NTRCOTQgLyogRGlhbG9nLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU5
MDAyNTQ5RjA3QTAwNTU0Qjk0IC8qIFdlYlZpZXdNb2RpZmllcnMuc3dpZnQgaW4gU291cmNlcyAq
LywKKwkJCQlDMDVCRThGQTI1NDlGMDdBMDA1NTRCOTQgLyogU3dpZnRVSUV4dHJhcy5zd2lmdCBp
biBTb3VyY2VzICovLAorCQkJCUMwNUJFOEZCMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3U3Rh
dGUuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisKKy8qIEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJQzA1
QkU4RDQyNTQ5RUZEQTAwNTU0Qjk0IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMwNUJFOTRCMjU0
OUYyNkIwMDU1NEI5NCAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDMDVCRThENTI1NDlFRkRBMDA1NTRC
OTQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJ
YmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDMDVCRTk0QzI1NDlGMjc1MDA1NTRCOTQgLyog
UmVsZWFzZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFt
ZSA9IFJlbGVhc2U7CisJCX07CisJCUMwNUJFOERBMjU0OUVGREEwMDU1NEI5NCAvKiBEZWJ1ZyAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSBDMDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJTd2lm
dFVJLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0g
RGVidWc7CisJCX07CisJCUMwNUJFOERCMjU0OUVGREEwMDU1NEI5NCAvKiBSZWxlYXNlICovID0g
eworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJl
ZmVyZW5jZSA9IEMwNUJFOTQxMjU0OUYyNDcwMDU1NEI5NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUku
eGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxl
YXNlOworCQl9OworCQlDMDVCRThGMjI1NDlGMDUzMDA1NTRCOTQgLyogRGVidWcgKi8gPSB7CisJ
CQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJl
bmNlID0gQzA1QkU5NDIyNTQ5RjI1NDAwNTU0Qjk0IC8qIFdlYktpdF9Td2lmdFVJLnhjY29uZmln
ICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07
CisJCUMwNUJFOEYzMjU0OUYwNTMwMDU1NEI5NCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMw
NUJFOTQyMjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyAqLzsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBF
bmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0NvbmZpZ3Vy
YXRpb25MaXN0IHNlY3Rpb24gKi8KKwkJQzA1QkU4QjkyNTQ5RUZEOTAwNTU0Qjk0IC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiTWluaUJyb3dzZXJTd2lmdFVJIiAq
LyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKAorCQkJCUMwNUJFOEQ0MjU0OUVGREEwMDU1NEI5NCAvKiBEZWJ1ZyAqLywKKwkJCQlD
MDVCRThENTI1NDlFRkRBMDA1NTRCOTQgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0
Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUg
PSBSZWxlYXNlOworCQl9OworCQlDMDVCRThEOTI1NDlFRkRBMDA1NTRCOTQgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIk1pbmlCcm93c2VyU3dpZnRVSSIg
Ki8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKKwkJCQlDMDVCRThEQTI1NDlFRkRBMDA1NTRCOTQgLyogRGVidWcgKi8sCisJCQkJ
QzA1QkU4REIyNTQ5RUZEQTAwNTU0Qjk0IC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVs
dENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1l
ID0gUmVsZWFzZTsKKwkJfTsKKwkJQzA1QkU4RjEyNTQ5RjA1MzAwNTU0Qjk0IC8qIEJ1aWxkIGNv
bmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJfV2ViS2l0X1N3aWZ0VUkiICov
ID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlv
bnMgPSAoCisJCQkJQzA1QkU4RjIyNTQ5RjA1MzAwNTU0Qjk0IC8qIERlYnVnICovLAorCQkJCUMw
NUJFOEYzMjU0OUYwNTMwMDU1NEI5NCAvKiBSZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRD
b25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9
IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJ
fTsKKwlyb290T2JqZWN0ID0gQzA1QkU4QjYyNTQ5RUZEOTAwNTU0Qjk0IC8qIFByb2plY3Qgb2Jq
ZWN0ICovOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93
c2VyU3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9NaW5pQnJvd3NlclN3
aWZ0VUkueGNzY2hlbWUgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvTWluaUJyb3dzZXJTd2lm
dFVJLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL01pbmlCcm93c2VyU3dpZnRVSS54
Y3NjaGVtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40YTZiZGFhNWYxZWI4ODZmMzAwNjYxMjQzZjFhMjgzOWVlNmM3
NzY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93
c2VyU3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9NaW5pQnJvd3NlclN3
aWZ0VUkueGNzY2hlbWUKQEAgLTAsMCArMSw4MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KKzxTY2hlbWUKKyAgIExhc3RVcGdyYWRlVmVyc2lvbiA9ICIxMjIwIgor
ICAgdmVyc2lvbiA9ICIxLjciPgorICAgPEJ1aWxkQWN0aW9uCisgICAgICBwYXJhbGxlbGl6ZUJ1
aWxkYWJsZXMgPSAiWUVTIgorICAgICAgYnVpbGRJbXBsaWNpdERlcGVuZGVuY2llcyA9ICJZRVMi
PgorICAgICAgPEJ1aWxkQWN0aW9uRW50cmllcz4KKyAgICAgICAgIDxCdWlsZEFjdGlvbkVudHJ5
CisgICAgICAgICAgICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgorICAgICAgICAgICAgYnVpbGRG
b3JSdW5uaW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUHJvZmlsaW5nID0gIllFUyIK
KyAgICAgICAgICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxk
Rm9yQW5hbHl6aW5nID0gIllFUyI+CisgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCisg
ICAgICAgICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCisgICAgICAgICAg
ICAgICBCbHVlcHJpbnRJZGVudGlmaWVyID0gIkMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCIKKyAg
ICAgICAgICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJLmFwcCIKKyAg
ICAgICAgICAgICAgIEJsdWVwcmludE5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJIgorICAgICAg
ICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6TWluaUJyb3dzZXJTd2lm
dFVJLnhjb2RlcHJvaiI+CisgICAgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4KKyAgICAg
ICAgIDwvQnVpbGRBY3Rpb25FbnRyeT4KKyAgICAgIDwvQnVpbGRBY3Rpb25FbnRyaWVzPgorICAg
PC9CdWlsZEFjdGlvbj4KKyAgIDxUZXN0QWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24g
PSAiRGVidWciCisgICAgICBzZWxlY3RlZERlYnVnZ2VySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1
Z2dlckZvdW5kYXRpb24uRGVidWdnZXIuTExEQiIKKyAgICAgIHNlbGVjdGVkTGF1bmNoZXJJZGVu
dGlmaWVyID0gIlhjb2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5MYXVuY2hlci5MTERCIgorICAgICAg
c2hvdWxkVXNlTGF1bmNoU2NoZW1lQXJnc0VudiA9ICJZRVMiPgorICAgICAgPFRlc3RhYmxlcz4K
KyAgICAgIDwvVGVzdGFibGVzPgorICAgPC9UZXN0QWN0aW9uPgorICAgPExhdW5jaEFjdGlvbgor
ICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIgorICAgICAgc2VsZWN0ZWREZWJ1Z2dl
cklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIiCisg
ICAgICBzZWxlY3RlZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRp
b24uTGF1bmNoZXIuTExEQiIKKyAgICAgIGxhdW5jaFN0eWxlID0gIjAiCisgICAgICB1c2VDdXN0
b21Xb3JraW5nRGlyZWN0b3J5ID0gIk5PIgorICAgICAgaWdub3Jlc1BlcnNpc3RlbnRTdGF0ZU9u
TGF1bmNoID0gIk5PIgorICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgorICAg
ICAgZGVidWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgorICAgICAgYWxsb3dMb2NhdGlv
blNpbXVsYXRpb24gPSAiWUVTIj4KKyAgICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFibGUKKyAg
ICAgICAgIHJ1bm5hYmxlRGVidWdnaW5nTW9kZSA9ICIwIj4KKyAgICAgICAgIDxCdWlsZGFibGVS
ZWZlcmVuY2UKKyAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAg
ICAgICAgICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0
IgorICAgICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkuYXBwIgor
ICAgICAgICAgICAgQmx1ZXByaW50TmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkiCisgICAgICAg
ICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpNaW5pQnJvd3NlclN3aWZ0VUku
eGNvZGVwcm9qIj4KKyAgICAgICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgorICAgICAgPC9CdWls
ZGFibGVQcm9kdWN0UnVubmFibGU+CisgICA8L0xhdW5jaEFjdGlvbj4KKyAgIDxQcm9maWxlQWN0
aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKKyAgICAgIHNob3VsZFVz
ZUxhdW5jaFNjaGVtZUFyZ3NFbnYgPSAiWUVTIgorICAgICAgc2F2ZWRUb29sSWRlbnRpZmllciA9
ICIiCisgICAgICB1c2VDdXN0b21Xb3JraW5nRGlyZWN0b3J5ID0gIk5PIgorICAgICAgZGVidWdE
b2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIj4KKyAgICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFi
bGUKKyAgICAgICAgIHJ1bm5hYmxlRGVidWdnaW5nTW9kZSA9ICIwIj4KKyAgICAgICAgIDxCdWls
ZGFibGVSZWZlcmVuY2UKKyAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFy
eSIKKyAgICAgICAgICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiQzA1QkU4QzkyNTQ5RUZEQTAw
NTU0Qjk0IgorICAgICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUku
YXBwIgorICAgICAgICAgICAgQmx1ZXByaW50TmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkiCisg
ICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpNaW5pQnJvd3NlclN3
aWZ0VUkueGNvZGVwcm9qIj4KKyAgICAgICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgorICAgICAg
PC9CdWlsZGFibGVQcm9kdWN0UnVubmFibGU+CisgICA8L1Byb2ZpbGVBY3Rpb24+CisgICA8QW5h
bHl6ZUFjdGlvbgorICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIj4KKyAgIDwvQW5h
bHl6ZUFjdGlvbj4KKyAgIDxBcmNoaXZlQWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24g
PSAiUmVsZWFzZSIKKyAgICAgIHJldmVhbEFyY2hpdmVJbk9yZ2FuaXplciA9ICJZRVMiPgorICAg
PC9BcmNoaXZlQWN0aW9uPgorICAgPEluc3RhbGxBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJh
dGlvbiA9ICJSZWxlYXNlIj4KKyAgIDwvSW5zdGFsbEFjdGlvbj4KKzwvU2NoZW1lPgpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQWNj
ZW50Q29sb3IuY29sb3JzZXQvQ29udGVudHMuanNvbiBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0FjY2VudENvbG9yLmNvbG9yc2V0L0NvbnRlbnRzLmpz
b24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjNlZGJmNWIwMzY3M2M5ODYxM2FjNGIwYjU5MDUzM2VkZTI0ZmVmNwot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRz
LnhjYXNzZXRzL0FjY2VudENvbG9yLmNvbG9yc2V0L0NvbnRlbnRzLmpzb24KQEAgLTAsMCArMSwx
NSBAQAoreworICAiY29sb3JzIiA6IFsKKyAgICB7CisgICAgICAiY29sb3IiIDogeworICAgICAg
ICAicGxhdGZvcm0iIDogIm9zeCIsCisgICAgICAgICJyZWZlcmVuY2UiIDogInN5c3RlbVRlYWxD
b2xvciIKKyAgICAgIH0sCisgICAgICAiaWRpb20iIDogInVuaXZlcnNhbCIKKyAgICB9CisgIF0s
CisgICJpbmZvIiA6IHsKKyAgICAiYXV0aG9yIiA6ICJ4Y29kZSIsCisgICAgInZlcnNpb24iIDog
MQorICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fz
c2V0cy54Y2Fzc2V0cy9BcHBJY29uLmFwcGljb25zZXQvQ29udGVudHMuanNvbiBiL1Rvb2xzL01p
bmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0FwcEljb24uYXBwaWNvbnNl
dC9Db250ZW50cy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxMzZlYWZmNzY3NTdlMzUwYjY0YzdiNTk4MmQ5
YzFmMWRkNDQ4MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
U2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BcHBJY29uLmFwcGljb25zZXQvQ29udGVudHMuanNvbgpA
QCAtMCwwICsxLDE0OCBAQAoreworICAiaW1hZ2VzIiA6IFsKKyAgICB7CisgICAgICAiaWRpb20i
IDogImlwaG9uZSIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIyMHgy
MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJzY2Fs
ZSIgOiAiM3giLAorICAgICAgInNpemUiIDogIjIweDIwIgorICAgIH0sCisgICAgeworICAgICAg
ImlkaW9tIiA6ICJpcGhvbmUiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIg
OiAiMjl4MjkiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9uZSIsCisgICAg
ICAic2NhbGUiIDogIjN4IiwKKyAgICAgICJzaXplIiA6ICIyOXgyOSIKKyAgICB9LAorICAgIHsK
KyAgICAgICJpZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAg
InNpemUiIDogIjQweDQwIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGhvbmUi
LAorICAgICAgInNjYWxlIiA6ICIzeCIsCisgICAgICAic2l6ZSIgOiAiNDB4NDAiCisgICAgfSwK
KyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9uZSIsCisgICAgICAic2NhbGUiIDogIjJ4IiwK
KyAgICAgICJzaXplIiA6ICI2MHg2MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAi
aXBob25lIiwKKyAgICAgICJzY2FsZSIgOiAiM3giLAorICAgICAgInNpemUiIDogIjYweDYwIgor
ICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIgOiAi
MXgiLAorICAgICAgInNpemUiIDogIjIweDIwIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9t
IiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjIweDIw
IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIg
OiAiMXgiLAorICAgICAgInNpemUiIDogIjI5eDI5IgorICAgIH0sCisgICAgeworICAgICAgImlk
aW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjI5
eDI5IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2Fs
ZSIgOiAiMXgiLAorICAgICAgInNpemUiIDogIjQweDQwIgorICAgIH0sCisgICAgeworICAgICAg
ImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDog
IjQweDQwIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJz
Y2FsZSIgOiAiMXgiLAorICAgICAgInNpemUiIDogIjc2eDc2IgorICAgIH0sCisgICAgeworICAg
ICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUi
IDogIjc2eDc2IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGFkIiwKKyAgICAg
ICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjgzLjV4ODMuNSIKKyAgICB9LAorICAg
IHsKKyAgICAgICJpZGlvbSIgOiAiaW9zLW1hcmtldGluZyIsCisgICAgICAic2NhbGUiIDogIjF4
IiwKKyAgICAgICJzaXplIiA6ICIxMDI0eDEwMjQiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRp
b20iIDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIxNngx
NiIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIg
OiAiMngiLAorICAgICAgInNpemUiIDogIjE2eDE2IgorICAgIH0sCisgICAgeworICAgICAgImlk
aW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6ICIxeCIsCisgICAgICAic2l6ZSIgOiAiMzJ4
MzIiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2NhbGUi
IDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIzMngzMiIKKyAgICB9LAorICAgIHsKKyAgICAgICJp
ZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIgOiAiMXgiLAorICAgICAgInNpemUiIDogIjEy
OHgxMjgiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2Nh
bGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIxMjh4MTI4IgorICAgIH0sCisgICAgeworICAg
ICAgImlkaW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6ICIxeCIsCisgICAgICAic2l6ZSIg
OiAiMjU2eDI1NiIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAg
ICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjI1NngyNTYiCisgICAgfSwKKyAgICB7
CisgICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJz
aXplIiA6ICI1MTJ4NTEyIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJtYWMiLAor
ICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiNTEyeDUxMiIKKyAgICB9Cisg
IF0sCisgICJpbmZvIiA6IHsKKyAgICAiYXV0aG9yIiA6ICJ4Y29kZSIsCisgICAgInZlcnNpb24i
IDogMQorICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVk
L0Fzc2V0cy54Y2Fzc2V0cy9Db250ZW50cy5qc29uIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43M2MwMDU5
NmE3ZmNhM2YzZDRiZGQ2NDA1M2I2OWQ4Njc0NWY5ZTEwCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNv
bgpAQCAtMCwwICsxLDYgQEAKK3sKKyAgImluZm8iIDogeworICAgICJhdXRob3IiIDogInhjb2Rl
IiwKKyAgICAidmVyc2lvbiIgOiAxCisgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL1VSTEZpZWxkQmFja2dyb3VuZC5jb2xv
cnNldC9Db250ZW50cy5qc29uIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3Nl
dHMueGNhc3NldHMvVVJMRmllbGRCYWNrZ3JvdW5kLmNvbG9yc2V0L0NvbnRlbnRzLmpzb24KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWYzMzQxOGQxY2MwMzIxZGEzODUzZGJkMWU2ZjFlOGFmZmY5OTU0YQotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNz
ZXRzL1VSTEZpZWxkQmFja2dyb3VuZC5jb2xvcnNldC9Db250ZW50cy5qc29uCkBAIC0wLDAgKzEs
MzggQEAKK3sKKyAgImNvbG9ycyIgOiBbCisgICAgeworICAgICAgImNvbG9yIiA6IHsKKyAgICAg
ICAgImNvbG9yLXNwYWNlIiA6ICJkaXNwbGF5LXAzIiwKKyAgICAgICAgImNvbXBvbmVudHMiIDog
eworICAgICAgICAgICJhbHBoYSIgOiAiMS4wMDAiLAorICAgICAgICAgICJibHVlIiA6ICIwLjk0
OSIsCisgICAgICAgICAgImdyZWVuIiA6ICIwLjk0OSIsCisgICAgICAgICAgInJlZCIgOiAiMC45
NDkiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAiaWRpb20iIDogInVuaXZlcnNhbCIKKyAg
ICB9LAorICAgIHsKKyAgICAgICJhcHBlYXJhbmNlcyIgOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAiYXBwZWFyYW5jZSIgOiAibHVtaW5vc2l0eSIsCisgICAgICAgICAgInZhbHVlIiA6ICJkYXJr
IgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImNvbG9yIiA6IHsKKyAgICAgICAgImNvbG9y
LXNwYWNlIiA6ICJkaXNwbGF5LXAzIiwKKyAgICAgICAgImNvbXBvbmVudHMiIDogeworICAgICAg
ICAgICJhbHBoYSIgOiAiMS4wMDAiLAorICAgICAgICAgICJibHVlIiA6ICIwLjA3OCIsCisgICAg
ICAgICAgImdyZWVuIiA6ICIwLjA2MyIsCisgICAgICAgICAgInJlZCIgOiAiMC4wNDciCisgICAg
ICAgIH0KKyAgICAgIH0sCisgICAgICAiaWRpb20iIDogInVuaXZlcnNhbCIKKyAgICB9CisgIF0s
CisgICJpbmZvIiA6IHsKKyAgICAiYXV0aG9yIiA6ICJ4Y29kZSIsCisgICAgInZlcnNpb24iIDog
MQorICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jy
b3dzZXJBcHAuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJB
cHAuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZiNjI2M2I3Mjc3ZTk2ZjI4NTYwMGIyNWUyNTAyYjQwODQ0
Y2FlYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQv
QnJvd3NlckFwcC5zd2lmdApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3
aWZ0VUkKKworQG1haW4KK3N0cnVjdCBCcm93c2VyQXBwOiBBcHAgeworICAgIHZhciBib2R5OiBz
b21lIFNjZW5lIHsKKyAgICAgICAgQnJvd3NlclNjZW5lKCkKKyAgICB9Cit9CmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJTY2VuZS5zd2lmdCBiL1Rv
b2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJvd3NlclNjZW5lLnN3aWZ0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYyMmM4NzYwZjUwZTNiNDQ2ZWJmZGM0NDU3NDA4MjQzMjllMjhjZWMKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJTY2VuZS5zd2lm
dApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkKKworc3RydWN0
IEJyb3dzZXJTY2VuZSA6IFNjZW5lIHsKKyAgICB2YXIgYm9keTogc29tZSBTY2VuZSB7CisgICAg
ICAgICNpZiBvcyhtYWNPUykKKyAgICAgICAgV2luZG93R3JvdXAgeworICAgICAgICAgICAgQnJv
d3NlclRhYigpCisgICAgICAgIH0KKyAgICAgICAgLndpbmRvd1Rvb2xiYXJTdHlsZShVbmlmaWVk
V2luZG93VG9vbGJhclN0eWxlKHNob3dzVGl0bGU6IGZhbHNlKSkKKyAgICAgICAgI2Vsc2UKKyAg
ICAgICAgV2luZG93R3JvdXAgeworICAgICAgICAgICAgTmF2aWdhdGlvblZpZXcgeworICAgICAg
ICAgICAgICAgIEJyb3dzZXJUYWIoKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgLm5hdmln
YXRpb25WaWV3U3R5bGUoU3RhY2tOYXZpZ2F0aW9uVmlld1N0eWxlKCkpCisgICAgICAgIH0KKyAg
ICAgICAgI2VuZGlmCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lm
dFVJL1NoYXJlZC9Ccm93c2VyVGFiLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1No
YXJlZC9Ccm93c2VyVGFiLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNzExOWFmNzE3YjVkNTU5OTNlZmQz
ZGE3MDA1MWQwMmU2ZDA4OTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3
aWZ0VUkvU2hhcmVkL0Jyb3dzZXJUYWIuc3dpZnQKQEAgLTAsMCArMSwxNzAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitpbXBvcnQgU3dpZnRVSQoraW1wb3J0IF9XZWJLaXRfU3dpZnRVSQorCitzdHJ1Y3QgQnJv
d3NlclRhYiA6IFZpZXcgeworICAgIEBTdGF0ZU9iamVjdCBwcml2YXRlIHZhciBzdGF0ZSA9IFdl
YlZpZXdTdGF0ZShpbml0aWFsVVJMOiBVUkwoc3RyaW5nOiAiaHR0cHM6Ly93ZWJraXQub3JnLyIp
ISkKKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAgICBsZXQgY29udGVudCA9IFdl
YlZpZXcoc3RhdGU6IHN0YXRlKQorICAgICAgICAgICAgLndlYlZpZXdOYXZpZ2F0aW9uUG9saWN5
KG9uQWN0aW9uOiBkZWNpZGVQb2xpY3koZm9yOnN0YXRlOikpCisgICAgICAgICAgICAuYWxlcnQo
aXRlbTogJGV4dGVybmFsTmF2aWdhdGlvbiwgY29udGVudDogbWFrZUV4dGVybmFsTmF2aWdhdGlv
bkFsZXJ0KF86KSkKKworICAgICAgICAjaWYgb3MobWFjT1MpCisgICAgICAgIHJldHVybiBjb250
ZW50CisgICAgICAgICAgICAuZWRnZXNJZ25vcmluZ1NhZmVBcmVhKC5hbGwpCisgICAgICAgICAg
ICAubmF2aWdhdGlvblRpdGxlKHN0YXRlLnRpdGxlLmlzRW1wdHkgPyAiTWluaUJyb3dzZXJTd2lm
dFVJIiA6IHN0YXRlLnRpdGxlKQorICAgICAgICAgICAgLnRvb2xiYXIgeworICAgICAgICAgICAg
ICAgIFRvb2xiYXJJdGVtR3JvdXAocGxhY2VtZW50OiAubmF2aWdhdGlvbikgeworICAgICAgICAg
ICAgICAgICAgICBiYWNrSXRlbQorICAgICAgICAgICAgICAgICAgICBmb3J3YXJkSXRlbQorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBUb29sYmFySXRlbShwbGFjZW1lbnQ6IC5w
cmluY2lwYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgdXJsRmllbGQKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgICNlbHNlCisgICAgICAgIHJldHVybiBjb250ZW50
CisgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYC5hbGxgLCBidXQgb24gaU9T
IHNhZmUgYXJlYSBpbnNldHMgZG8gbm90IHNlZW0gdG8gYmUgcmVzcGVjdGVkCisgICAgICAgICAg
ICAvLyBjb3JyZWN0bHkgd2hlbiBlbWJlZGRlZCBpbiBhIGBOYXZpZ2F0aW9uVmlld2AuCisgICAg
ICAgICAgICAuZWRnZXNJZ25vcmluZ1NhZmVBcmVhKC5ib3R0b20pCisgICAgICAgICAgICAubmF2
aWdhdGlvbkJhclRpdGxlRGlzcGxheU1vZGUoLmlubGluZSkKKyAgICAgICAgICAgIC50b29sYmFy
IHsKKyAgICAgICAgICAgICAgICBUb29sYmFySXRlbUdyb3VwKHBsYWNlbWVudDogLm5hdmlnYXRp
b25CYXJMZWFkaW5nKSB7CisgICAgICAgICAgICAgICAgICAgIGJhY2tJdGVtLmxhYmVsU3R5bGUo
SWNvbk9ubHlMYWJlbFN0eWxlKCkpCisgICAgICAgICAgICAgICAgICAgIGZvcndhcmRJdGVtLmxh
YmVsU3R5bGUoSWNvbk9ubHlMYWJlbFN0eWxlKCkpCisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIFRvb2xiYXJJdGVtKHBsYWNlbWVudDogLnByaW5jaXBhbCkgeworICAgICAgICAg
ICAgICAgICAgICB1cmxGaWVsZAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgI2VuZGlmCisgICAgfQorCisgICAgcHJpdmF0ZSB2YXIgdXJsRmllbGQ6IHNvbWUgVmll
dyB7CisgICAgICAgIFVSTEZpZWxkKAorICAgICAgICAgICAgdXJsOiBzdGF0ZS51cmwsCisgICAg
ICAgICAgICBpc1NlY3VyZTogc3RhdGUuaGFzT25seVNlY3VyZUNvbnRlbnQsCisgICAgICAgICAg
ICBsb2FkaW5nUHJvZ3Jlc3M6IHN0YXRlLmVzdGltYXRlZFByb2dyZXNzLAorICAgICAgICAgICAg
b25OYXZpZ2F0ZTogb25OYXZpZ2F0ZSh0bzopCisgICAgICAgICkgeworICAgICAgICAgICAgaWYg
c3RhdGUuaXNMb2FkaW5nIHsKKyAgICAgICAgICAgICAgICBCdXR0b24oYWN0aW9uOiBzdGF0ZS5z
dG9wTG9hZGluZykgeworICAgICAgICAgICAgICAgICAgICBMYWJlbCgiU3RvcCBMb2FkaW5nIiwg
c3lzdGVtSW1hZ2U6ICJ4bWFyayIpCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBCdXR0b24oYWN0aW9uOiBzdGF0ZS5yZWxvYWQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgTGFiZWwoIlJlbG9hZCIsIHN5c3RlbUltYWdlOiAiYXJyb3cuY2xv
Y2t3aXNlIikKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLmRpc2FibGVkKHN0
YXRlLnVybCA9PSBuaWwpCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBw
cml2YXRlIHZhciBiYWNrSXRlbTogc29tZSBWaWV3IHsKKyAgICAgICAgQnV0dG9uKGFjdGlvbjog
c3RhdGUuZ29CYWNrKSB7CisgICAgICAgICAgICBMYWJlbCgiQmFjayIsIHN5c3RlbUltYWdlOiAi
Y2hldnJvbi5sZWZ0IikKKyAgICAgICAgICAgICAgICAuZnJhbWUobWluV2lkdGg6IDIwKQorICAg
ICAgICB9CisgICAgICAgIC5kaXNhYmxlZCghc3RhdGUuY2FuR29CYWNrKQorICAgIH0KKworICAg
IHByaXZhdGUgdmFyIGZvcndhcmRJdGVtOiBzb21lIFZpZXcgeworICAgICAgICBCdXR0b24oYWN0
aW9uOiBzdGF0ZS5nb0ZvcndhcmQpIHsKKyAgICAgICAgICAgIExhYmVsKCJGb3J3YXJkIiwgc3lz
dGVtSW1hZ2U6ICJjaGV2cm9uLnJpZ2h0IikKKyAgICAgICAgICAgICAgICAuZnJhbWUobWluV2lk
dGg6IDIwKQorICAgICAgICB9CisgICAgICAgIC5kaXNhYmxlZCghc3RhdGUuY2FuR29Gb3J3YXJk
KQorICAgIH0KKworICAgIHByaXZhdGUgZnVuYyBvbk5hdmlnYXRlKHRvIHN0cmluZzogU3RyaW5n
KSB7CisgICAgICAgIHN3aXRjaCBVc2VySW5wdXQoc3RyaW5nOiBzdHJpbmcpIHsKKyAgICAgICAg
Y2FzZSAuc2VhcmNoKGxldCB0ZXJtKToKKyAgICAgICAgICAgIHN0YXRlLmxvYWQoVVJMKHNlYXJj
aFRlcm06IHRlcm0pKQorICAgICAgICBjYXNlIC51cmwobGV0IHVybCk6CisgICAgICAgICAgICBz
dGF0ZS5sb2FkKHVybCkKKyAgICAgICAgY2FzZSAuaW52YWxpZDoKKyAgICAgICAgICAgIGJyZWFr
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBAU3RhdGUgcHJpdmF0ZSB2YXIgZXh0ZXJuYWxOYXZp
Z2F0aW9uOiBFeHRlcm5hbFVSTE5hdmlnYXRpb24/CisgICAgQEVudmlyb25tZW50KFwub3BlblVS
TCkgcHJpdmF0ZSB2YXIgb3BlblVSTAorCisgICAgcHJpdmF0ZSBmdW5jIGRlY2lkZVBvbGljeShm
b3IgYWN0aW9uOiBOYXZpZ2F0aW9uQWN0aW9uLCBzdGF0ZTogV2ViVmlld1N0YXRlKSB7CisgICAg
ICAgIGlmIGxldCBleHRlcm5hbFVSTCA9IGFjdGlvbi5yZXF1ZXN0LnVybCwgIVdlYlZpZXcuY2Fu
SGFuZGxlKGV4dGVybmFsVVJMKSB7CisgICAgICAgICAgICBleHRlcm5hbE5hdmlnYXRpb24gPSBF
eHRlcm5hbFVSTE5hdmlnYXRpb24oCisgICAgICAgICAgICAgICAgc291cmNlOiBzdGF0ZS51cmwg
Pz8gLmFib3V0QmxhbmssIGRlc3RpbmF0aW9uOiBleHRlcm5hbFVSTCkKKyAgICAgICAgICAgIGFj
dGlvbi5kZWNpZGVQb2xpY3koLmNhbmNlbCkKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGFjdGlvbi5kZWNpZGVQb2xpY3koLmFsbG93KQorICAgICAgICB9CisgICAgfQorCisgICAgcHJp
dmF0ZSBmdW5jIG1ha2VFeHRlcm5hbE5hdmlnYXRpb25BbGVydChfIG5hdmlnYXRpb246IEV4dGVy
bmFsVVJMTmF2aWdhdGlvbikgLT4gQWxlcnQgeworICAgICAgICBBbGVydCh0aXRsZTogVGV4dCgi
QWxsb3cg4oCcXChuYXZpZ2F0aW9uLnNvdXJjZS5oaWdoTGV2ZWxEb21haW4p4oCdIHRvIG9wZW4g
4oCcXChuYXZpZ2F0aW9uLmRlc3RpbmF0aW9uLnNjaGVtZSA/PyAiIinigJ0/IiksCisgICAgICAg
ICAgICAgIHByaW1hcnlCdXR0b246IC5kZWZhdWx0KFRleHQoIkFsbG93IiksIGFjdGlvbjogeyBv
cGVuVVJMKG5hdmlnYXRpb24uZGVzdGluYXRpb24pIH0pLAorICAgICAgICAgICAgICBzZWNvbmRh
cnlCdXR0b246IC5jYW5jZWwoKSkKKyAgICB9CisKK30KKworcHJpdmF0ZSBlbnVtIFVzZXJJbnB1
dCB7CisgICAgY2FzZSBzZWFyY2goU3RyaW5nKQorICAgIGNhc2UgdXJsKFVSTCkKKyAgICBjYXNl
IGludmFsaWQKKworICAgIGluaXQoc3RyaW5nIF9zdHJpbmc6IFN0cmluZykgeworICAgICAgICBs
ZXQgc3RyaW5nID0gX3N0cmluZy50cmltbWluZ0NoYXJhY3RlcnMoaW46IC53aGl0ZXNwYWNlcykK
KworICAgICAgICBpZiBzdHJpbmcuaXNFbXB0eSB7CisgICAgICAgICAgICBzZWxmID0gLmludmFs
aWQKKyAgICAgICAgfSBlbHNlIGlmICFzdHJpbmcuY29udGFpbnMod2hlcmU6IFwuaXNXaGl0ZXNw
YWNlKSwgc3RyaW5nLmNvbnRhaW5zKCIuIiksIGxldCB1cmwgPSBVUkwoc3RyaW5nOiBzdHJpbmcp
IHsKKyAgICAgICAgICAgIHNlbGYgPSAudXJsKHVybCkKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIHNlbGYgPSAuc2VhcmNoKHN0cmluZykKKyAgICAgICAgfQorICAgIH0KK30KKworcHJp
dmF0ZSBzdHJ1Y3QgRXh0ZXJuYWxVUkxOYXZpZ2F0aW9uIDogSWRlbnRpZmlhYmxlLCBIYXNoYWJs
ZSB7CisgICAgdmFyIHNvdXJjZTogVVJMCisgICAgdmFyIGRlc3RpbmF0aW9uOiBVUkwKKworICAg
IHZhciBpZDogU2VsZiB7IHNlbGYgfQorfQorCitzdHJ1Y3QgQnJvd3NlclRhYl9QcmV2aWV3czog
UHJldmlld1Byb3ZpZGVyIHsKKyAgICBzdGF0aWMgdmFyIHByZXZpZXdzOiBzb21lIFZpZXcgewor
ICAgICAgICAjaWYgb3MoaU9TKQorICAgICAgICBOYXZpZ2F0aW9uVmlldyB7CisgICAgICAgICAg
ICBCcm93c2VyVGFiKCkKKyAgICAgICAgfQorICAgICAgICAubmF2aWdhdGlvblZpZXdTdHlsZShT
dGFja05hdmlnYXRpb25WaWV3U3R5bGUoKSkKKyAgICAgICAgI2VuZGlmCisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0aW9uRXh0cmFz
LnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0aW9uRXh0cmFz
LnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQzZTQxNjg5YWViODJlZDg4NDcyMDkyYmJhYzZhOTE3MjVmYjg4
OWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Zv
dW5kYXRpb25FeHRyYXMuc3dpZnQKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9y
dCBGb3VuZGF0aW9uCisKK2V4dGVuc2lvbiBVUkwgeworICAgIHN0YXRpYyBsZXQgYWJvdXRCbGFu
ayA9IFVSTChzdHJpbmc6ICJhYm91dDpibGFuayIpIQorCisgICAgaW5pdChzZWFyY2hUZXJtOiBT
dHJpbmcpIHsKKyAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBVUkxDb21wb25lbnRzKHN0cmluZzog
Imh0dHBzOi8vZHVja2R1Y2tnby5jb20vIikhCisgICAgICAgIGNvbXBvbmVudHMucXVlcnlJdGVt
cyA9IFsgVVJMUXVlcnlJdGVtKG5hbWU6ICJxIiwgdmFsdWU6IHNlYXJjaFRlcm0pIF0KKyAgICAg
ICAgc2VsZiA9IGNvbXBvbmVudHMudXJsIQorICAgIH0KKworICAgIHZhciBoaWdoTGV2ZWxEb21h
aW46IFN0cmluZyB7CisgICAgICAgIGd1YXJkIGxldCBob3N0ID0gaG9zdCBlbHNlIHsKKyAgICAg
ICAgICAgIHJldHVybiAiIgorICAgICAgICB9CisKKyAgICAgICAgZm9yIHByZWZpeCBpbiBbInd3
dyJdIHdoZXJlIGhvc3QuaGFzUHJlZml4KCJcKHByZWZpeCkuIikgeworICAgICAgICAgICAgbGV0
IGluZGV4QWZ0ZXJQcmVmaXggPSBob3N0LmluZGV4KGhvc3Quc3RhcnRJbmRleCwgb2Zmc2V0Qnk6
IHByZWZpeC5jb3VudCArIDEpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKGhvc3RbaW5kZXhB
ZnRlclByZWZpeC4uLl0pCisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gaG9zdAorICAgIH0K
KworICAgIHZhciBpc1dlYlNlYXJjaDogQm9vbCB7CisgICAgICAgIGhvc3QgPT0gImR1Y2tkdWNr
Z28uY29tIiB8fCBob3N0Py5oYXNTdWZmaXgoIi5kdWNrZHVja2dvLmNvbSIpID09IHRydWUKKyAg
ICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL1VSTEZp
ZWxkLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9VUkxGaWVsZC5zd2lm
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lYTFjZGZjN2JjOTZhMjkwZmQzMjk2M2I3MWE2YzYxODRmMDI5MWNhCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9VUkxGaWVs
ZC5zd2lmdApAQCAtMCwwICsxLDE5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBTd2lmdFVJCisK
K3N0cnVjdCBVUkxGaWVsZDxBY2Nlc3Nvcnk+IDogVmlldyB3aGVyZSBBY2Nlc3NvcnkgOiBWaWV3
IHsKKyAgICBpbml0KAorICAgICAgICB1cmw6IFVSTD8sCisgICAgICAgIGlzU2VjdXJlOiBCb29s
ID0gZmFsc2UsCisgICAgICAgIGxvYWRpbmdQcm9ncmVzczogRG91YmxlPyA9IG5pbCwKKyAgICAg
ICAgb25FZGl0aW5nQ2hhbmdlOiBAZXNjYXBpbmcgKEJvb2wpIC0+IFZvaWQgPSB7IF8gaW4gfSwK
KyAgICAgICAgb25OYXZpZ2F0ZTogQGVzY2FwaW5nIChTdHJpbmcpIC0+IFZvaWQgPSB7IF8gaW4g
fSwKKyAgICAgICAgQFZpZXdCdWlsZGVyIGFjY2Vzc29yeTogKCkgLT4gQWNjZXNzb3J5CisgICAg
KSB7CisgICAgICAgIHNlbGYudHJhaWxpbmdBY2Nlc3NvcnkgPSBhY2Nlc3NvcnkoKQorICAgICAg
ICBzZWxmLmV4dGVybmFsT25FZGl0aW5nQ2hhbmdlID0gb25FZGl0aW5nQ2hhbmdlCisgICAgICAg
IHNlbGYubG9hZGluZ1Byb2dyZXNzID0gbG9hZGluZ1Byb2dyZXNzCisgICAgICAgIHNlbGYub25O
YXZpZ2F0ZSA9IG9uTmF2aWdhdGUKKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKyAgICAgICAgc2Vs
Zi51cmxJc1NlY3VyZSA9IGlzU2VjdXJlCisgICAgICAgIHNlbGYuX3RleHQgPSBTdGF0ZSh3cmFw
cGVkVmFsdWU6IHVybD8uYWJzb2x1dGVTdHJpbmcgPz8gIiIpCisgICAgfQorCisgICAgcHJpdmF0
ZSB2YXIgZXh0ZXJuYWxPbkVkaXRpbmdDaGFuZ2U6IChCb29sKSAtPiBWb2lkCisgICAgQFN0YXRl
IHByaXZhdGUgdmFyIGlzRWRpdGluZyA9IGZhbHNlCisgICAgcHJpdmF0ZSB2YXIgbG9hZGluZ1By
b2dyZXNzOiBEb3VibGU/CisgICAgcHJpdmF0ZSB2YXIgb25OYXZpZ2F0ZTogKFN0cmluZykgLT4g
Vm9pZAorICAgIEBTdGF0ZSBwcml2YXRlIHZhciB0ZXh0OiBTdHJpbmcgPSAiIgorICAgIHByaXZh
dGUgdmFyIHRyYWlsaW5nQWNjZXNzb3J5OiBBY2Nlc3NvcnkKKyAgICBwcml2YXRlIHZhciB1cmw6
IFVSTD8KKyAgICBwcml2YXRlIHZhciB1cmxJc1NlY3VyZTogQm9vbAorCisgICAgdmFyIGJvZHk6
IHNvbWUgVmlldyB7CisgICAgICAgIGxldCBjb250ZW50ID0gSFN0YWNrIHsKKyAgICAgICAgICAg
IGxlYWRpbmdBY2Nlc3NvcnkKKworICAgICAgICAgICAgdGV4dEZpZWxkCisKKyAgICAgICAgICAg
IGlmICFpc0VkaXRpbmcgeworICAgICAgICAgICAgICAgIHRyYWlsaW5nQWNjZXNzb3J5CisgICAg
ICAgICAgICAgICAgICAgIC5sYWJlbFN0eWxlKEljb25Pbmx5TGFiZWxTdHlsZSgpKQorICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIC5idXR0b25TdHlsZShQbGFpbkJ1dHRvblN0eWxl
KCkpCisgICAgICAgIC5mb250KC5ib2R5KQorICAgICAgICAucGFkZGluZygudmVydGljYWwsIDYp
CisgICAgICAgIC5wYWRkaW5nKC5ob3Jpem9udGFsLCAxMCkKKyAgICAgICAgLmJhY2tncm91bmQo
QmFja2dyb3VuZChsb2FkaW5nUHJvZ3Jlc3M6IGxvYWRpbmdQcm9ncmVzcykpCisgICAgICAgIC5m
cmFtZShtaW5XaWR0aDogMjAwLCBpZGVhbFdpZHRoOiA0MDAsIG1heFdpZHRoOiA2MDApCisgICAg
ICAgIC5vbkNoYW5nZShvZjogdXJsLCBwZXJmb3JtOiB7IF8gaW4gdXJsRGlkQ2hhbmdlKCkgfSkK
KworICAgICAgICAjaWYgb3MobWFjT1MpCisgICAgICAgIHJldHVybiBjb250ZW50CisgICAgICAg
ICAgICAub3ZlcmxheShSb3VuZGVkUmVjdGFuZ2xlKGNvcm5lclJhZGl1czogNikKKyAgICAgICAg
ICAgICAgICAgICAgICAgIC5zdHJva2UoQ29sb3IuYWNjZW50Q29sb3IpKQorICAgICAgICAjZWxz
ZQorICAgICAgICByZXR1cm4gY29udGVudAorICAgICAgICAjZW5kaWYKKyAgICB9CisKKyAgICBA
Vmlld0J1aWxkZXIKKyAgICBwcml2YXRlIHZhciBsZWFkaW5nQWNjZXNzb3J5OiBzb21lIFZpZXcg
eworICAgICAgICBpZiBpc0VkaXRpbmcgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTog
Imdsb2JlIikuZm9yZWdyb3VuZENvbG9yKC5zZWNvbmRhcnkpCisgICAgICAgIH0gZWxzZSBpZiB1
cmw/LmlzV2ViU2VhcmNoID09IHRydWUgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTog
Im1hZ25pZnlpbmdnbGFzcyIpLmZvcmVncm91bmRDb2xvcigub3JhbmdlKQorICAgICAgICB9IGVs
c2UgaWYgdXJsSXNTZWN1cmUgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogImxvY2su
ZmlsbCIpLmZvcmVncm91bmRDb2xvciguZ3JlZW4pCisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBJbWFnZShzeXN0ZW1OYW1lOiAiZ2xvYmUiKS5mb3JlZ3JvdW5kQ29sb3IoLnNlY29uZGFy
eSkKKyAgICAgICAgfQorICAgIH0KKworICAgIHByaXZhdGUgdmFyIHRleHRGaWVsZDogc29tZSBW
aWV3IHsKKyAgICAgICAgbGV0IHZpZXcgPSBUZXh0RmllbGQoCisgICAgICAgICAgICAiU2VhcmNo
IG9yIHdlYnNpdGUgYWRkcmVzcyIsCisgICAgICAgICAgICB0ZXh0OiAkdGV4dCwKKyAgICAgICAg
ICAgIG9uRWRpdGluZ0NoYW5nZWQ6IG9uRWRpdGluZ0NoYW5nZShfOiksCisgICAgICAgICAgICBv
bkNvbW1pdDogb25Db21taXQKKyAgICAgICAgKQorICAgICAgICAudGV4dEZpZWxkU3R5bGUoUGxh
aW5UZXh0RmllbGRTdHlsZSgpKQorICAgICAgICAuZGlzYWJsZUF1dG9jb3JyZWN0aW9uKHRydWUp
CisKKyAgICAgICAgI2lmIG9zKG1hY09TKQorICAgICAgICByZXR1cm4gdmlldworICAgICAgICAj
ZWxzZQorICAgICAgICByZXR1cm4gdmlldworICAgICAgICAgICAgLnRleHRDb250ZW50VHlwZSgu
VVJMKQorICAgICAgICAgICAgLmF1dG9jYXBpdGFsaXphdGlvbigubm9uZSkKKyAgICAgICAgI2Vu
ZGlmCisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jIHVybERpZENoYW5nZSgpIHsKKyAgICAgICAg
aWYgIWlzRWRpdGluZyB7CisgICAgICAgICAgICB0ZXh0ID0gdXJsPy5hYnNvbHV0ZVN0cmluZyA/
PyAiIgorICAgICAgICB9CisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jIG9uRWRpdGluZ0NoYW5n
ZShfIGlzRWRpdGluZzogQm9vbCkgeworICAgICAgICBzZWxmLmlzRWRpdGluZyA9IGlzRWRpdGlu
ZworICAgICAgICBpZiAhaXNFZGl0aW5nIHsKKyAgICAgICAgICAgIHVybERpZENoYW5nZSgpCisg
ICAgICAgIH0KKworICAgICAgICBleHRlcm5hbE9uRWRpdGluZ0NoYW5nZShpc0VkaXRpbmcpCisg
ICAgfQorCisgICAgcHJpdmF0ZSBmdW5jIG9uQ29tbWl0KCkgeworICAgICAgICBvbk5hdmlnYXRl
KHRleHQpCisgICAgfQorfQorCitwcml2YXRlIHN0cnVjdCBCYWNrZ3JvdW5kIDogVmlldyB7Cisg
ICAgdmFyIGxvYWRpbmdQcm9ncmVzczogRG91YmxlPworCisgICAgdmFyIGJvZHk6IHNvbWUgVmll
dyB7CisgICAgICAgIC8vIEZJWE1FOiBJbiByZWFsIFNhZmFyaSwgdGhpcyBpcyBhY3R1YWxseSBh
IG1hdGVyaWFsIG5vdCBhIHNvbGlkIGNvbG9yLgorICAgICAgICBSb3VuZGVkUmVjdGFuZ2xlKGNv
cm5lclJhZGl1czogNikKKyAgICAgICAgICAgIC5mb3JlZ3JvdW5kQ29sb3IoQ29sb3IoIlVSTEZp
ZWxkQmFja2dyb3VuZCIpKQorICAgICAgICAgICAgLm92ZXJsYXkocHJvZ3Jlc3MpCisgICAgfQor
CisgICAgcHJpdmF0ZSB2YXIgcHJvZ3Jlc3M6IHNvbWUgVmlldyB7CisgICAgICAgIEdlb21ldHJ5
UmVhZGVyIHsgcHJveHkgaW4KKyAgICAgICAgICAgIGlmIGxldCBsb2FkaW5nUHJvZ3Jlc3MgPSBs
b2FkaW5nUHJvZ3Jlc3MgeworICAgICAgICAgICAgICAgIFByb2dyZXNzVmlldyh2YWx1ZTogbG9h
ZGluZ1Byb2dyZXNzKQorICAgICAgICAgICAgICAgICAgICAub2Zmc2V0KHk6IHByb3h5LnNpemUu
aGVpZ2h0IC0gNCkKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKworc3RydWN0
IFVSTEZpZWxkX1ByZXZpZXdzOiBQcmV2aWV3UHJvdmlkZXIgeworICAgIHN0YXRpYyB2YXIgcHJl
dmlld3M6IHNvbWUgVmlldyB7CisgICAgICAgIEdyb3VwIHsKKyAgICAgICAgICAgIFVSTEZpZWxk
KAorICAgICAgICAgICAgICAgIHVybDogbmlsLAorICAgICAgICAgICAgICAgIGlzU2VjdXJlOiBm
YWxzZSwKKyAgICAgICAgICAgICAgICBsb2FkaW5nUHJvZ3Jlc3M6IG5pbCwKKyAgICAgICAgICAg
ICAgICBvbkVkaXRpbmdDaGFuZ2U6IHsgXyBpbiB9LAorICAgICAgICAgICAgICAgIG9uTmF2aWdh
dGU6IHsgXyBpbiB9CisgICAgICAgICAgICApIHsKKyAgICAgICAgICAgICAgICBFbXB0eVZpZXco
KQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBVUkxGaWVsZCgKKyAgICAgICAgICAgICAg
ICB1cmw6IFVSTChzdHJpbmc6ICJodHRwczovL3dlYmtpdC5vcmciKSEsCisgICAgICAgICAgICAg
ICAgaXNTZWN1cmU6IHRydWUsCisgICAgICAgICAgICAgICAgbG9hZGluZ1Byb2dyZXNzOiBuaWws
CisgICAgICAgICAgICAgICAgb25FZGl0aW5nQ2hhbmdlOiB7IF8gaW4gfSwKKyAgICAgICAgICAg
ICAgICBvbk5hdmlnYXRlOiB7IF8gaW4gfQorICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAg
ICAgSW1hZ2Uoc3lzdGVtTmFtZTogImFycm93LmNsb2Nrd2lzZSIpCisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIFVSTEZpZWxkKAorICAgICAgICAgICAgICAgIHVybDogVVJMKHN0cmluZzog
Imh0dHBzOi8vd2Via2l0Lm9yZyIpISwKKyAgICAgICAgICAgICAgICBpc1NlY3VyZTogdHJ1ZSwK
KyAgICAgICAgICAgICAgICBsb2FkaW5nUHJvZ3Jlc3M6IG5pbCwKKyAgICAgICAgICAgICAgICBv
bkVkaXRpbmdDaGFuZ2U6IHsgXyBpbiB9LAorICAgICAgICAgICAgICAgIG9uTmF2aWdhdGU6IHsg
XyBpbiB9CisgICAgICAgICAgICApIHsKKyAgICAgICAgICAgICAgICBJbWFnZShzeXN0ZW1OYW1l
OiAiYXJyb3cuY2xvY2t3aXNlIikKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5lbnZpcm9u
bWVudChcLmNvbG9yU2NoZW1lLCAuZGFyaykKKyAgICAgICAgfQorICAgICAgICAucGFkZGluZygp
CisgICAgICAgIC5mcmFtZShtYXhXaWR0aDogNDAwKQorICAgICAgICAucHJldmlld0xheW91dCgu
c2l6ZVRoYXRGaXRzKQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dp
ZnRVSS9XZWJLaXRfU3dpZnRVSS9EaWFsb2cuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0
VUkvV2ViS2l0X1N3aWZ0VUkvRGlhbG9nLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzNTA1Yzg0NThkOWQ1
YjAzMTFjYzM4ODZlNmM5YWE0ZTc0ZjY1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvRGlhbG9nLnN3aWZ0CkBAIC0wLDAgKzEsMTg0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkKKworLy8vIEEgZGlhbG9nIHJlcXVlc3Rl
ZCBmb3IgZGlzcGxheSBieSBzb21lIGFzcGVjdCBvZiB3ZWIgY29udGVudC4KK3B1YmxpYyBzdHJ1
Y3QgRGlhbG9nIDogSWRlbnRpZmlhYmxlLCBIYXNoYWJsZSB7CisgICAgLy8vIEFuIG9wYXF1ZSBp
ZGVudGlmaWVyIGZvciB0aGlzIGRpYWxvZy4KKyAgICBwdWJsaWMgdmFyIGlkID0gSUQoKQorCisg
ICAgLy8vIEEgY29uZmlndXJhdGlvbiBkZXNjcmliaW5nIHRoZSBwdXJwb3NlIGFuZCBjb250ZW50
cyBvZiB0aGlzIGRpYWxvZyBmb3IgZGlzcGxheS4KKyAgICBwdWJsaWMgdmFyIGNvbmZpZ3VyYXRp
b246IENvbmZpZ3VyYXRpb24KKworICAgIC8vLyBDb25zdHJ1Y3RzIGEgZGlhbG9nIGZyb20gaXRz
IGNvbXBvbmVudCBwYXJ0cy4KKyAgICBwdWJsaWMgaW5pdChpZDogSUQgPSBJRCgpLCBfIGNvbmZp
Z3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHsKKyAgICAgICAgc2VsZi5pZCA9IGlkCisgICAgICAg
IHNlbGYuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICB9CisKKyAgICAvLy8gQ29u
c3RydWN0cyBhIGRpYWxvZyBmb3IgYSBKYXZhU2NyaXB0IGBhbGVydCgpYCwgd2hpY2ggY29udGFp
bnMgb25seSBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIuCisgICAgLy8vIC0gUGFyYW1ldGVyczoKKyAg
ICAvLy8gICAtIGlkOiBBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRpYWxvZy4KKyAgICAv
Ly8gICAtIG1lc3NhZ2U6IEEgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLgorICAgIC8v
LyAgIC0gY29tcGxldGlvbjogQSBibG9jayB0byBiZSBpbnZva2VkIHdoZW4gdGhlIGRpYWxvZyBo
YXMgYmVlbiBkaXNtaXNzZWQuIFRoZSB3ZWJwYWdlIHdpbGwKKyAgICAvLy8gICBiZSBwYXVzZWQg
dW50aWwgdGhpcyBibG9jayBpcyBpbnZva2VkLCBhbmQgZmFpbHVyZSB0byBpbnZva2UgdGhlIGJs
b2NrLCBvciBtdWx0aXBsZQorICAgIC8vLyAgIGludm9jYXRpb25zIHdpbGwgcmVzdWx0IGluIGEg
cnVudGltZSBleGNlcHRpb24uCisgICAgcHVibGljIHN0YXRpYyBmdW5jIGphdmFTY3JpcHRBbGVy
dCgKKyAgICAgICAgaWQ6IElEID0gSUQoKSwgXyBtZXNzYWdlOiBTdHJpbmcsIGNvbXBsZXRpb246
IEBlc2NhcGluZyAoKSAtPiBWb2lkCisgICAgKSAtPiBTZWxmIHsKKyAgICAgICAgRGlhbG9nKGlk
OiBpZCwgLmphdmFTY3JpcHRBbGVydChtZXNzYWdlLCBjb21wbGV0aW9uKSkKKyAgICB9CisKKyAg
ICAvLy8gQ29uc3RydWN0cyBhIGRpYWxvZyBmb3IgYSBKYXZhU2NyaXB0IGBjb25maXJtKClgLCB3
aGljaCBjb250YWlucyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kCisgICAgLy8vIGV4cGVjdHMg
YSBiaW5hcnkgcmVzcG9uc2UgZm9yIHRoZSB3ZWJwYWdlLgorICAgIC8vLyAtIFBhcmFtZXRlcnM6
CisgICAgLy8vICAgLSBpZDogQW4gb3BhcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkaWFsb2cuCisg
ICAgLy8vICAgLSBtZXNzYWdlOiBBIG1lc3NhZ2UgdG8gZGlzcGxheSB0byB0aGUgdXNlci4KKyAg
ICAvLy8gICAtIGNvbXBsZXRpb246IEEgYmxvY2sgdG8gYmUgaW52b2tlZCB3aXRoIHRoZSB1c2Vy
J3MgZGVjaXNpb24uIFRoZSB3ZWJwYWdlIHdpbGwgYmUgcGF1c2VkCisgICAgLy8vICAgdW50aWwg
dGhpcyBibG9jayBpcyBpbnZva2VkLCBhbmQgZmFpbHVyZSB0byBpbnZva2UgdGhlIGJsb2NrLCBv
ciBtdWx0aXBsZSBpbnZvY2F0aW9ucyB3aWxsCisgICAgLy8vICAgcmVzdWx0IGluIGEgcnVudGlt
ZSBleGNlcHRpb24uCisgICAgcHVibGljIHN0YXRpYyBmdW5jIGphdmFTY3JpcHRDb25maXJtKAor
ICAgICAgICBpZDogSUQgPSBJRCgpLCBfIG1lc3NhZ2U6IFN0cmluZywgY29tcGxldGlvbjogQGVz
Y2FwaW5nIChCb29sKSAtPiBWb2lkCisgICAgKSAtPiBTZWxmIHsKKyAgICAgICAgRGlhbG9nKGlk
OiBpZCwgLmphdmFTY3JpcHRDb25maXJtKG1lc3NhZ2UsIGNvbXBsZXRpb24pKQorICAgIH0KKwor
ICAgIC8vLyBDb25zdHJ1Y3RzIGEgZGlhbG9nIGZvciBhIEphdmFTY3JpcHQgYHByb21wdCgpYCwg
d2hpY2ggY29udGFpbnMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZAorICAgIC8vLyBleHBlY3Rz
IHRoZSByZXNwb25zZSBvZiBlaXRoZXIgYSBzdHJpbmcgb3IgYG5pbGAuCisgICAgLy8vIC0gUGFy
YW1ldGVyczoKKyAgICAvLy8gICAtIGlkOiBBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRp
YWxvZy4KKyAgICAvLy8gICAtIG1lc3NhZ2U6IEEgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHRoZSB1
c2VyLgorICAgIC8vLyAgIC0gZGVmYXVsdFRleHQ6IEEgZGVmYXVsdCByZXNwb25zZSBmb3IgdGhl
IHVzZXIsIHByb3ZpZGVkIGJ5IHRoZSB3ZWJwYWdlLgorICAgIC8vLyAgIC0gY29tcGxldGlvbjog
QSBibG9jayB0byBiZSBpbnZva2VkIHdpdGggdGhlIHVzZXIncyBkZWNpc2lvbi4gRm9yIHRoaXMg
cmVwbHksIGBuaWxgIGFuZAorICAgIC8vLyAgIGFuIGVtcHR5IHN0cmluZyAoYCIiYCkgYXJlIHRy
ZWF0ZWQgZGlmZmVyZW50bHkuIGBuaWxgIG1lYW5zIHRoYXQgdGhlIHVzZXIgc2VsZWN0ZWQgYQor
ICAgIC8vLyAgIF9jYW5jZWxfIG9wZXJhdGlvbiwgd2hpbGUgYW55IG5vbi1gbmlsYCByZXNwb25z
ZSBpbXBsaWVzIGFuIF9va18gb3BlcmF0aW9uLiBUaGUgd2VicGFnZQorICAgIC8vLyAgIHdpbGwg
YmUgcGF1c2VkIHVudGlsIHRoaXMgYmxvY2sgaXMgaW52b2tlZCwgYW5kIGZhaWx1cmUgdG8gaW52
b2tlIHRoZSBibG9jaywgb3IgbXVsdGlwbGUKKyAgICAvLy8gICBpbnZvY2F0aW9ucyB3aWxsIHJl
c3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIHB1YmxpYyBzdGF0aWMgZnVuYyBqYXZh
U2NyaXB0UHJvbXB0KAorICAgICAgICBpZDogSUQgPSBJRCgpLCBfIG1lc3NhZ2U6IFN0cmluZywg
ZGVmYXVsdFRleHQ6IFN0cmluZyA9ICIiLAorICAgICAgICBjb21wbGV0aW9uOiBAZXNjYXBpbmcg
KFN0cmluZz8pIC0+IFZvaWQKKyAgICApIC0+IFNlbGYgeworICAgICAgICBEaWFsb2coaWQ6IGlk
LCAuamF2YVNjcmlwdFByb21wdChtZXNzYWdlLCBkZWZhdWx0VGV4dDogZGVmYXVsdFRleHQsIGNv
bXBsZXRpb24pKQorICAgIH0KKworICAgIHB1YmxpYyBmdW5jIGhhc2goaW50byBoYXNoZXI6IGlu
b3V0IEhhc2hlcikgeworICAgICAgICBoYXNoZXIuY29tYmluZShpZCkKKyAgICB9CisKKyAgICBw
dWJsaWMgc3RhdGljIGZ1bmMgPT0gKGxoczogRGlhbG9nLCByaHM6IERpYWxvZykgLT4gQm9vbCB7
CisgICAgICAgIGxocy5pZCA9PSByaHMuaWQKKyAgICB9CisKKyAgICAvLy8gQW4gb3BhcXVlIGlk
ZW50aWZpZXIgZm9yIGEgYERpYWxvZ2AuCisgICAgcHVibGljIHN0cnVjdCBJRCA6IEhhc2hhYmxl
IHsKKyAgICAgICAgcHJpdmF0ZSB2YXIgcmF3VmFsdWUgPSBVVUlEKCkKKworICAgICAgICAvLy8g
Q29uc3RydWN0cyBhIG5ldywgdW5pcXVlIGlkZW50aWZpZXIuCisgICAgICAgIHB1YmxpYyBpbml0
KCkgeworICAgICAgICB9CisgICAgfQorCisgICAgLy8vIERlc2NyaWJlcyBhIHNwZWNpZmljIHR5
cGUgb2YgZGlhbG9nLCBhbG9uZyB3aXRoIGFueSBzcGVjaWZpYyB2YWx1ZXMgZm9yIHRoYXQgdHlw
ZS4KKyAgICBwdWJsaWMgZW51bSBDb25maWd1cmF0aW9uIHsKKyAgICAgICAgLy8vIEEgZGlhbG9n
IHRyaWdnZXJlZCBieSB0aGUgSmF2YVNjcmlwdCBgd2luZG93LmFsZXJ0KClgIEFQSS4KKyAgICAg
ICAgLy8vIC0gUGFyYW1hdGVyczoKKyAgICAgICAgLy8vICAgLSAwOiBBIG1lc3NhZ2UgZnJvbSB0
aGUgd2VicGFnZSBmb3IgdGhlIHVzZXIuCisgICAgICAgIC8vLyAgIC0gMTogQSBibG9jayB0byBi
ZSBpbnZva2VkIHdoZW4gdGhlIGRpYWxvZyBoYXMgYmVlbiBkaXNtaXNzZWQuIFRoZSB3ZWJwYWdl
IHdpbGwgYmUKKyAgICAgICAgLy8vICAgcGF1c2VkIHVudGlsIHRoaXMgYmxvY2sgaXMgaW52b2tl
ZCwgYW5kIGZhaWx1cmUgdG8gaW52b2tlIHRoZSBibG9jaywgb3IgbXVsdGlwbGUKKyAgICAgICAg
Ly8vICAgaW52b2NhdGlvbnMgd2lsbCByZXN1bHQgaW4gYSBydW50aW1lIGV4Y2VwdGlvbi4KKyAg
ICAgICAgY2FzZSBqYXZhU2NyaXB0QWxlcnQoU3RyaW5nLCAoKSAtPiBWb2lkKQorCisgICAgICAg
IC8vLyBBIGRpYWxvZyB0cmlnZ2VyZWQgYnkgdGhlIEphdmFTY3JpcHQgYHdpbmRvdy5jb25maXJt
KClgIEFQSS4KKyAgICAgICAgLy8vICAgLSAwOiBBIG1lc3NhZ2UgZnJvbSB0aGUgd2VicGFnZSBm
b3IgdGhlIHVzZXIuCisgICAgICAgIC8vLyAgIC0gMTogQSBibG9jayB0byBiZSBpbnZva2VkIHdp
dGggYSBiaW5hcnkgZGVjaXNpb24gZnJvbSB0aGUgdXNlci4gVGhlIHdlYnBhZ2Ugd2lsbCBiZQor
ICAgICAgICAvLy8gICBwYXVzZWQgdW50aWwgdGhpcyBibG9jayBpcyBpbnZva2VkLCBhbmQgZmFp
bHVyZSB0byBpbnZva2UgdGhlIGJsb2NrLCBvciBtdWx0aXBsZQorICAgICAgICAvLy8gICBpbnZv
Y2F0aW9ucyB3aWxsIHJlc3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgICAgICBjYXNl
IGphdmFTY3JpcHRDb25maXJtKFN0cmluZywgKEJvb2wpIC0+IFZvaWQpCisKKyAgICAgICAgLy8v
IEEgZGlhbG9nIHRyaWdnZXJlZCBieSB0aGUgSmF2YVNjcmlwdCBgd2luZG93LnByb21wdCgpYCBB
UEkuCisgICAgICAgIC8vLyAtIFBhcmFtYXRlcnM6CisgICAgICAgIC8vLyAgIC0gMDogQSBtZXNz
YWdlIGZyb20gdGhlIHdlYnBhZ2UgZm9yIHRoZSB1c2VyLgorICAgICAgICAvLy8gICAtIGRlZmF1
bHRUZXh0OiBBIHdlYnBhZ2UgcHJvdmlkZWQgZGVmYXVsdCByZXNwb25zZSBmb3IgdGhlIHVzZXIu
CisgICAgICAgIC8vLyAgIC0gMTogQSBibG9jayB0byBiZSBpbnZva2VkIHdpdGggdGhlIHVzZXIn
cyBkZWNpc2lvbi4gRm9yIHRoaXMgcmVwbHksIGBuaWxgIGFuZCBhbgorICAgICAgICAvLy8gICBl
bXB0eSBzdHJpbmcgKGAiImApIGFyZSB0cmVhdGVkIGRpZmZlcmVudGx5LiBgbmlsYCBtZWFucyB0
aGF0IHRoZSB1c2VyIHNlbGVjdGVkIGEKKyAgICAgICAgLy8vICAgX2NhbmNlbF8gb3BlcmF0aW9u
LCB3aGlsZSBhbnkgbm9uLWBuaWxgIHJlc3BvbnNlIGltcGxpZXMgYW4gX29rXyBvcGVyYXRpb24u
IFRoZQorICAgICAgICAvLy8gICB3ZWJwYWdlIHdpbGwgYmUgcGF1c2VkIHVudGlsIHRoaXMgYmxv
Y2sgaXMgaW52b2tlZCwgYW5kIGZhaWx1cmUgdG8gaW52b2tlIHRoZSBibG9jaywKKyAgICAgICAg
Ly8vICAgb3IgbXVsdGlwbGUgaW52b2NhdGlvbnMgd2lsbCByZXN1bHQgaW4gYSBydW50aW1lIGV4
Y2VwdGlvbi4KKyAgICAgICAgY2FzZSBqYXZhU2NyaXB0UHJvbXB0KFN0cmluZywgZGVmYXVsdFRl
eHQ6IFN0cmluZywgKFN0cmluZz8pIC0+IFZvaWQpCisgICAgfQorfQorCisvLy8gQSB2aWV3IHBy
b3ZpZGluZyB0aGUgV2ViS2l0LWRlZmF1bHQgVUkgZm9yIGdlbmVyaWMgd2VicGFnZSBkaWFsb2dz
Lgorc3RydWN0IERpYWxvZ0NvbnRhaW5lcjxDb250ZW50cywgQWN0aW9ucz4gOiBWaWV3IHdoZXJl
IENvbnRlbnRzIDogVmlldywgQWN0aW9ucyA6IFZpZXcgeworICAgIHZhciBjb250ZW50czogQ29u
dGVudHMKKyAgICB2YXIgYWN0aW9uczogQWN0aW9ucworCisgICAgaW5pdChAVmlld0J1aWxkZXIg
Y29udGVudHM6ICgpIC0+IENvbnRlbnRzLCBAVmlld0J1aWxkZXIgYWN0aW9uczogKCkgLT4gQWN0
aW9ucykgeworICAgICAgICBzZWxmLmNvbnRlbnRzID0gY29udGVudHMoKQorICAgICAgICBzZWxm
LmFjdGlvbnMgPSBhY3Rpb25zKCkKKyAgICB9CisKKyAgICB2YXIgYm9keTogc29tZSBWaWV3IHsK
KyAgICAgICAgWlN0YWNrIHsKKyAgICAgICAgICAgIENvbG9yKHdoaXRlOiAwLCBvcGFjaXR5OiAw
LjE1KQorCisgICAgICAgICAgICBWU3RhY2soc3BhY2luZzogMCkgeworICAgICAgICAgICAgICAg
IFZTdGFjayhhbGlnbm1lbnQ6IC5sZWFkaW5nKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnRl
bnRzCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC5mcmFtZShtYXhXaWR0aDog
LmluZmluaXR5LCBhbGlnbm1lbnQ6IC5sZWFkaW5nKQorICAgICAgICAgICAgICAgIC50ZXh0Rmll
bGRTdHlsZShSb3VuZGVkQm9yZGVyVGV4dEZpZWxkU3R5bGUoKSkKKyAgICAgICAgICAgICAgICAu
cGFkZGluZygpCisKKyAgICAgICAgICAgICAgICBEaXZpZGVyKCkKKworICAgICAgICAgICAgICAg
IEhTdGFjayhzcGFjaW5nOiAxMikgeworICAgICAgICAgICAgICAgICAgICBTcGFjZXIoKQorICAg
ICAgICAgICAgICAgICAgICBhY3Rpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9u
U3R5bGUoX0xpbmtCdXR0b25TdHlsZSgpKQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAucGFkZGluZyguaG9yaXpvbnRhbCkKKyAgICAgICAgICAgICAgICAucGFkZGluZygudmVy
dGljYWwsIDEyKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgLmZyYW1lKG1heFdpZHRoOiAz
MDApCisgICAgICAgICAgICAuYmFja2dyb3VuZChSb3VuZGVkUmVjdGFuZ2xlKGNvcm5lclJhZGl1
czogMTApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcmVncm91bmRDb2xvcihDb2xv
ci5wbGF0Zm9ybUJhY2tncm91bmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNoYWRv
dyhyYWRpdXM6IDEyKSkKKyAgICAgICAgICAgIC5vdmVybGF5KFJvdW5kZWRSZWN0YW5nbGUoY29y
bmVyUmFkaXVzOiAxMCkuc3Ryb2tlKENvbG9yLnBsYXRmb3JtU2VwYXJhdG9yKSkKKyAgICAgICAg
fQorICAgIH0KK30KKworI2lmIG9zKG1hY09TKQorcHJpdmF0ZSB0eXBlYWxpYXMgX0xpbmtCdXR0
b25TdHlsZSA9IExpbmtCdXR0b25TdHlsZQorI2Vsc2UKK3ByaXZhdGUgc3RydWN0IF9MaW5rQnV0
dG9uU3R5bGUgOiBCdXR0b25TdHlsZSB7CisgICAgZnVuYyBtYWtlQm9keShjb25maWd1cmF0aW9u
OiBDb25maWd1cmF0aW9uKSAtPiBzb21lIFZpZXcgeworICAgICAgICBjb25maWd1cmF0aW9uLmxh
YmVsCisgICAgICAgICAgICAuZm9yZWdyb3VuZENvbG9yKC5ibHVlKQorICAgIH0KK30KKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL0ph
dmFTY3JpcHREaWFsb2dzLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9T
d2lmdFVJL0phdmFTY3JpcHREaWFsb2dzLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNjA2NjIxMzFmNzk0
Y2FlM2YwNWE1ZmEwZGY3OTY1NGZmYWE4ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQKQEAg
LTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBTd2lmdFVJCisKKy8vLyBBIHZpZXcg
cHJvdmlkaW5nIHRoZSBXZWJLaXQtZGVmYXVsdCBVSSBmb3IgYSBKYXZhU2NyaXB0IGFsZXJ0Lgor
c3RydWN0IEphdmFTY3JpcHRBbGVydCA6IFZpZXcgeworICAgIHByaXZhdGUgdmFyIG1lc3NhZ2U6
IFN0cmluZworICAgIHByaXZhdGUgdmFyIGNvbXBsZXRpb246ICgpIC0+IFZvaWQKKworICAgIGlu
aXQobWVzc2FnZTogU3RyaW5nLCBjb21wbGV0aW9uOiBAZXNjYXBpbmcgKCkgLT4gVm9pZCkgewor
ICAgICAgICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisgICAgICAgIHNlbGYuY29tcGxldGlvbiA9
IGNvbXBsZXRpb24KKyAgICB9CisKKyAgICB2YXIgYm9keTogc29tZSBWaWV3IHsKKyAgICAgICAg
RGlhbG9nQ29udGFpbmVyIHsKKyAgICAgICAgICAgIFRleHQobWVzc2FnZSkKKyAgICAgICAgfSBh
Y3Rpb25zOiB7CisgICAgICAgICAgICBCdXR0b24oIk9LIiwgYWN0aW9uOiBjb21wbGV0aW9uKQor
ICAgICAgICAgICAgICAgIC5rZXlib2FyZFNob3J0Y3V0KC5yZXR1cm4pCisgICAgICAgIH0KKyAg
ICB9Cit9CisKKy8vLyBBIHZpZXcgcHJvdmlkaW5nIHRoZSBXZWJLaXQtZGVmYXVsdCBVSSBmb3Ig
YSBKYXZhU2NyaXB0IGFsZXJ0Lgorc3RydWN0IEphdmFTY3JpcHRDb25maXJtIDogVmlldyB7Cisg
ICAgcHJpdmF0ZSB2YXIgbWVzc2FnZTogU3RyaW5nCisgICAgcHJpdmF0ZSB2YXIgY29tcGxldGlv
bjogKEJvb2wpIC0+IFZvaWQKKworICAgIGluaXQobWVzc2FnZTogU3RyaW5nLCBjb21wbGV0aW9u
OiBAZXNjYXBpbmcgKEJvb2wpIC0+IFZvaWQpIHsKKyAgICAgICAgc2VsZi5tZXNzYWdlID0gbWVz
c2FnZQorICAgICAgICBzZWxmLmNvbXBsZXRpb24gPSBjb21wbGV0aW9uCisgICAgfQorCisgICAg
dmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIERpYWxvZ0NvbnRhaW5lciB7CisgICAgICAg
ICAgICBUZXh0KG1lc3NhZ2UpCisgICAgICAgIH0gYWN0aW9uczogeworICAgICAgICAgICAgQnV0
dG9uKCJDYW5jZWwiLCBhY3Rpb246IHsgY29tcGxldGlvbihmYWxzZSkgfSkKKyAgICAgICAgICAg
ICAgICAua2V5Ym9hcmRTaG9ydGN1dCgiLiIpCisgICAgICAgICAgICBCdXR0b24oIk9LIiwgYWN0
aW9uOiB7IGNvbXBsZXRpb24odHJ1ZSkgfSkKKyAgICAgICAgICAgICAgICAua2V5Ym9hcmRTaG9y
dGN1dCgucmV0dXJuKQorICAgICAgICB9CisgICAgfQorfQorCisvLy8gQSB2aWV3IHByb3ZpZGlu
ZyB0aGUgV2ViS2l0LWRlZmF1bHQgVUkgZm9yIGEgSmF2YVNjcmlwdCBhbGVydC4KK3N0cnVjdCBK
YXZhU2NyaXB0UHJvbXB0IDogVmlldyB7CisgICAgcHJpdmF0ZSB2YXIgbWVzc2FnZTogU3RyaW5n
CisgICAgcHJpdmF0ZSB2YXIgY29tcGxldGlvbjogKFN0cmluZz8pIC0+IFZvaWQKKyAgICBAU3Rh
dGUgcHJpdmF0ZSB2YXIgdGV4dDogU3RyaW5nCisKKyAgICBpbml0KG1lc3NhZ2U6IFN0cmluZywg
ZGVmYXVsdFRleHQ6IFN0cmluZyA9ICIiLCBjb21wbGV0aW9uOiBAZXNjYXBpbmcgKFN0cmluZz8p
IC0+IFZvaWQpIHsKKyAgICAgICAgc2VsZi5tZXNzYWdlID0gbWVzc2FnZQorICAgICAgICBzZWxm
Ll90ZXh0ID0gU3RhdGUod3JhcHBlZFZhbHVlOiBkZWZhdWx0VGV4dCkKKyAgICAgICAgc2VsZi5j
b21wbGV0aW9uID0gY29tcGxldGlvbgorICAgIH0KKworICAgIHZhciBib2R5OiBzb21lIFZpZXcg
eworICAgICAgICBEaWFsb2dDb250YWluZXIgeworICAgICAgICAgICAgVGV4dChtZXNzYWdlKQor
ICAgICAgICAgICAgVGV4dEZpZWxkKCJZb3VyIFJlc3BvbnNlIiwgdGV4dDogJHRleHQsIG9uQ29t
bWl0OiB7IGNvbXBsZXRpb24odGV4dCkgfSkKKyAgICAgICAgfSBhY3Rpb25zOiB7CisgICAgICAg
ICAgICBCdXR0b24oIkNhbmNlbCIsIGFjdGlvbjogeyBjb21wbGV0aW9uKG5pbCkgfSkKKyAgICAg
ICAgICAgICAgICAua2V5Ym9hcmRTaG9ydGN1dCgiLiIpCisgICAgICAgICAgICBCdXR0b24oIk9L
IiwgYWN0aW9uOiB7IGNvbXBsZXRpb24odGV4dCkgfSkKKyAgICAgICAgICAgICAgICAua2V5Ym9h
cmRTaG9ydGN1dCgucmV0dXJuKQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL05hdmlnYXRpb24uc3dpZnQgYi9U
b29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvTmF2aWdhdGlvbi5zd2lmdApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNmJiMjcxMGE0ODM2YzAwNzAxM2NiYTJmMmY5NGQzZmVmYmFhOWIxCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL05h
dmlnYXRpb24uc3dpZnQKQEAgLTAsMCArMSwxNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgV2Vi
S2l0CitpbXBvcnQgU3dpZnRVSQorCitleHRlbnNpb24gVmlldyB7CisgICAgLy8vIFByb3ZpZGVz
IGEgYmxvY2sgdG8gYmUgZXhlY3V0ZWQgb24gbmF2aWdhdGlvbiBtaWxlc3RvbmVzLCBhbmQgYWxs
b3dzIGZvciBjdXN0b21pemVkIGhhbmRsaW5nCisgICAgLy8vIG9mIG5hdmlnYXRpb24gcG9saWN5
LgorICAgIC8vLworICAgIC8vLyBXaGVuIHByb3ZpZGluZyBhIGN1c3RvbSBwb2xpY3kgZGVjaWRl
ciB5b3UgKiptdXN0KiogZW5zdXJlIHRoYXQgdGhlIGNvcmVzcG9uZGluZyBkZWNpZGVyJ3MKKyAg
ICAvLy8gY29tcGxldGlvbiBtZXRob2QgaXMgaW52b2tlZCBleGFjdGx5IG9uY2UuIEZhaWx1cmUg
dG8gZG8gc28gd2lsbCByZXN1bHQgaW4gYQorICAgIC8vLyBydW50aW1lIGV4Y2VwdGlvbi4KKyAg
ICAvLy8KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gYWN0aW9uRGVjaWRlcjog
RGVjaWRlcyB3aGV0aGVyIHRvIGFsbG93IG9yIGNhbmNlbCBhIG5hdmlnYXRpb24uCisgICAgcHVi
bGljIGZ1bmMgd2ViVmlld05hdmlnYXRpb25Qb2xpY3koCisgICAgICAgIG9uQWN0aW9uIGFjdGlv
bkRlY2lkZXI6IEBlc2NhcGluZyAoTmF2aWdhdGlvbkFjdGlvbiwgV2ViVmlld1N0YXRlKSAtPiBW
b2lkCisgICAgKSAtPiBzb21lIFZpZXcgeworICAgICAgICBlbnZpcm9ubWVudChcLm5hdmlnYXRp
b25BY3Rpb25EZWNpZGVyLCBhY3Rpb25EZWNpZGVyKQorICAgIH0KKworICAgIC8vLyBQcm92aWRl
cyBhIGJsb2NrIHRvIGJlIGV4ZWN1dGVkIG9uIG5hdmlnYXRpb24gbWlsZXN0b25lcywgYW5kIGFs
bG93cyBmb3IgY3VzdG9taXplZCBoYW5kbGluZworICAgIC8vLyBvZiBuYXZpZ2F0aW9uIHBvbGlj
eS4KKyAgICAvLy8KKyAgICAvLy8gV2hlbiBwcm92aWRpbmcgYSBjdXN0b20gcG9saWN5IGRlY2lk
ZXIgeW91ICoqbXVzdCoqIGVuc3VyZSB0aGF0IHRoZSBjb3Jlc3BvbmRpbmcgZGVjaWRlcidzCisg
ICAgLy8vIGNvbXBsZXRpb24gbWV0aG9kIGlzIGludm9rZWQgZXhhY3RseSBvbmNlLiBGYWlsdXJl
IHRvIGRvIHNvIHdpbGwgcmVzdWx0IGluIGEKKyAgICAvLy8gcnVudGltZSBleGNlcHRpb24uCisg
ICAgLy8vCisgICAgLy8vIC0gUGFyYW1ldGVyczoKKyAgICAvLy8gICAtIHJlc3BvbnNlRGVjaWRl
cjogRGVjaWRlcyB3aGV0aGVyIHRvIGFsbG93IG9yIGNhbmNlbCBhIG5hdmlnYXRpb24sIGFmdGVy
IGl0cyByZXNwb25zZQorICAgIC8vLyAgIGlzIGtub3duLgorICAgIHB1YmxpYyBmdW5jIHdlYlZp
ZXdOYXZpZ2F0aW9uUG9saWN5KAorICAgICAgICBvblJlc3BvbnNlIHJlc3BvbnNlRGVjaWRlcjog
QGVzY2FwaW5nIChOYXZpZ2F0aW9uUmVzcG9uc2UsIFdlYlZpZXdTdGF0ZSkgLT4gVm9pZAorICAg
ICkgLT4gc29tZSBWaWV3IHsKKyAgICAgICAgZW52aXJvbm1lbnQoXC5uYXZpZ2F0aW9uUmVzcG9u
c2VEZWNpZGVyLCByZXNwb25zZURlY2lkZXIpCisgICAgfQorCisgICAgLy8vIFByb3ZpZGVzIGEg
YmxvY2sgdG8gYmUgZXhlY3V0ZWQgb24gbmF2aWdhdGlvbiBtaWxlc3RvbmVzLCBhbmQgYWxsb3dz
IGZvciBjdXN0b21pemVkIGhhbmRsaW5nCisgICAgLy8vIG9mIG5hdmlnYXRpb24gcG9saWN5Lgor
ICAgIC8vLworICAgIC8vLyBXaGVuIHByb3ZpZGluZyBhIGN1c3RvbSBwb2xpY3kgZGVjaWRlciB5
b3UgKiptdXN0KiogZW5zdXJlIHRoYXQgdGhlIGNvcmVzcG9uZGluZyBkZWNpZGVyJ3MKKyAgICAv
Ly8gY29tcGxldGlvbiBtZXRob2QgaXMgaW52b2tlZCBleGFjdGx5IG9uY2UuIEZhaWx1cmUgdG8g
ZG8gc28gd2lsbCByZXN1bHQgaW4gYQorICAgIC8vLyBydW50aW1lIGV4Y2VwdGlvbi4KKyAgICAv
Ly8KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gYWN0aW9uRGVjaWRlcjogRGVj
aWRlcyB3aGV0aGVyIHRvIGFsbG93IG9yIGNhbmNlbCBhIG5hdmlnYXRpb24uCisgICAgLy8vICAg
LSByZXNwb25zZURlY2lkZXI6IERlY2lkZXMgd2hldGhlciB0byBhbGxvdyBvciBjYW5jZWwgYSBu
YXZpZ2F0aW9uLCBhZnRlciBpdHMgcmVzcG9uc2UKKyAgICAvLy8gICBpcyBrbm93bi4KKyAgICBw
dWJsaWMgZnVuYyB3ZWJWaWV3TmF2aWdhdGlvblBvbGljeSgKKyAgICAgICAgb25BY3Rpb24gYWN0
aW9uRGVjaWRlcjogQGVzY2FwaW5nIChOYXZpZ2F0aW9uQWN0aW9uLCBXZWJWaWV3U3RhdGUpIC0+
IFZvaWQsCisgICAgICAgIG9uUmVzcG9uc2UgcmVzcG9uc2VEZWNpZGVyOiBAZXNjYXBpbmcgKE5h
dmlnYXRpb25SZXNwb25zZSwgV2ViVmlld1N0YXRlKSAtPiBWb2lkCisgICAgKSAtPiBzb21lIFZp
ZXcgeworICAgICAgICBlbnZpcm9ubWVudChcLm5hdmlnYXRpb25BY3Rpb25EZWNpZGVyLCBhY3Rp
b25EZWNpZGVyKQorICAgICAgICAgICAgLmVudmlyb25tZW50KFwubmF2aWdhdGlvblJlc3BvbnNl
RGVjaWRlciwgcmVzcG9uc2VEZWNpZGVyKQorICAgIH0KK30KKworLy8vIENvbnRhaW5zIGluZm9y
bWF0aW9uIGFib3V0IGFuIGFjdGlvbiB0aGF0IG1heSBjYXVzZSBhIG5hdmlnYXRpb24sIHVzZWQg
Zm9yIG1ha2luZworLy8vIHBvbGljeSBkZWNpc2lvbnMuCitAZHluYW1pY01lbWJlckxvb2t1cAor
cHVibGljIHN0cnVjdCBOYXZpZ2F0aW9uQWN0aW9uIHsKKyAgICBwdWJsaWMgdHlwZWFsaWFzIFBv
bGljeSA9IFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeQorCisgICAgcHJpdmF0ZSB2YXIgYWN0aW9u
OiBXS05hdmlnYXRpb25BY3Rpb24KKyAgICBwcml2YXRlIHZhciByZXBseTogKFdLTmF2aWdhdGlv
bkFjdGlvblBvbGljeSwgV0tXZWJwYWdlUHJlZmVyZW5jZXMpIC0+IFZvaWQKKworICAgIC8vLyBU
aGUgZGVmYXVsdCBzZXQgb2Ygd2VicGFnZSBwcmVmZXJlbmNlcy4gVGhpcyBtYXkgYmUgY2hhbmdl
ZCBieSBwYXNzaW5nIG1vZGlmaWVkIHByZWZlcmVuY2VzCisgICAgLy8vIHRvIGBkZWNpZGVQb2xp
Y3koXzp3ZWJwYWdlUHJlZmVyZW5jZXM6KWAuCisgICAgcHVibGljIHByaXZhdGUoc2V0KSB2YXIg
d2VicGFnZVByZWZlcmVuY2VzOiBXS1dlYnBhZ2VQcmVmZXJlbmNlcworCisgICAgLy8gRklYTUU6
IGB3ZWJwYWdlUHJlZmVyZW5jZXNgIGxhY2tzIHZhbHVlIHNlbWFudGljcywgd2hpY2ggYnJlYWtz
IHRoZSBBUEkgY29udHJhY3QuIFRoaXMKKyAgICAvLyBpbnN0YW5jZSBzaG91bGQgbm90IGJlIG11
dGFibGUsIGJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgYW4gT2JqZWN0aXZlLUMgdHlwZSBicmlkZ2Uu
IFdlIGNvdWxkCisgICAgLy8gYWxzbyBjb25mb3JtIGl0IHRvIGBOU0NvcHlpbmdgIGFuZCBtYXJr
IHRoaXMgcHJvcGVydHkgYXMgYEBOU0NvcHlpbmdgLgorCisgICAgaW5pdCgKKyAgICAgICAgXyBh
Y3Rpb246IFdLTmF2aWdhdGlvbkFjdGlvbiwKKyAgICAgICAgd2VicGFnZVByZWZlcmVuY2VzOiBX
S1dlYnBhZ2VQcmVmZXJlbmNlcywKKyAgICAgICAgcmVwbHk6IEBlc2NhcGluZyAoV0tOYXZpZ2F0
aW9uQWN0aW9uUG9saWN5LCBXS1dlYnBhZ2VQcmVmZXJlbmNlcykgLT4gVm9pZAorICAgICkgewor
ICAgICAgICBzZWxmLmFjdGlvbiA9IGFjdGlvbgorICAgICAgICBzZWxmLnJlcGx5ID0gcmVwbHkK
KyAgICAgICAgc2VsZi53ZWJwYWdlUHJlZmVyZW5jZXMgPSB3ZWJwYWdlUHJlZmVyZW5jZXMKKyAg
ICB9CisKKyAgICAvLy8gRGVjaWRlcyB3aGF0IGFjdGlvbiB0byB0YWtlIGZvciB0aGlzIG5hdmln
YXRpb24uIFRoaXMgbWV0aG9kICoqbXVzdCoqIGJlIGludm9rZWQgZXhhY3RseQorICAgIC8vLyBv
bmNlLCBvdGhlcndpc2UgV2ViS2l0IHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uLgorICAgIC8vLyAt
IFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBwb2xpY3k6IFRoZSBkZXNpcmVkIHBvbGljeSBmb3Ig
dGhpcyBuYXZpZ2F0aW9uLgorICAgIC8vLyAgIC0gd2VicGFnZVByZWZlcmVuY2VzOiBUaGUgcHJl
ZmVyZW5jZXMgdG8gdXNlIGZvciB0aGlzIG5hdmlnYXRpb24sIG9yIGBuaWxgIHRvIHVzZSB0aGUK
KyAgICAvLy8gICBkZWZhdWx0IHByZWZlcmVuY2VzLgorICAgIHB1YmxpYyBmdW5jIGRlY2lkZVBv
bGljeShfIHBvbGljeTogUG9saWN5LCB3ZWJwYWdlUHJlZmVyZW5jZXM6IFdLV2VicGFnZVByZWZl
cmVuY2VzPyA9IG5pbCkgeworICAgICAgICByZXBseShwb2xpY3ksIHdlYnBhZ2VQcmVmZXJlbmNl
cyA/PyBzZWxmLndlYnBhZ2VQcmVmZXJlbmNlcykKKyAgICB9CisKKyAgICBwdWJsaWMgc3Vic2Ny
aXB0PFQ+KGR5bmFtaWNNZW1iZXIga2V5UGF0aDogS2V5UGF0aDxXS05hdmlnYXRpb25BY3Rpb24s
IFQ+KSAtPiBUIHsKKyAgICAgICAgYWN0aW9uW2tleVBhdGg6IGtleVBhdGhdCisgICAgfQorCisg
ICAgZmlsZXByaXZhdGUgc3RydWN0IERlY2lkZXJLZXkgOiBFbnZpcm9ubWVudEtleSB7CisgICAg
ICAgIHN0YXRpYyBsZXQgZGVmYXVsdFZhbHVlOiAoKE5hdmlnYXRpb25BY3Rpb24sIFdlYlZpZXdT
dGF0ZSkgLT4gVm9pZCk/ID0gbmlsCisgICAgfQorfQorCisvLy8gQ29udGFpbnMgaW5mb3JtYXRp
b24gYWJvdXQgYSBuYXZpZ2F0aW9uIHJlc3BvbnNlLCB1c2VkIGZvciBtYWtpbmcgcG9saWN5IGRl
Y2lzaW9ucy4KK0BkeW5hbWljTWVtYmVyTG9va3VwCitwdWJsaWMgc3RydWN0IE5hdmlnYXRpb25S
ZXNwb25zZSB7CisgICAgcHVibGljIHR5cGVhbGlhcyBQb2xpY3kgPSBXS05hdmlnYXRpb25SZXNw
b25zZVBvbGljeQorCisgICAgcHJpdmF0ZSB2YXIgcmVzcG9uc2U6IFdLTmF2aWdhdGlvblJlc3Bv
bnNlCisgICAgcHJpdmF0ZSB2YXIgcmVwbHk6IChQb2xpY3kpIC0+IFZvaWQKKworICAgIGluaXQo
XyByZXNwb25zZTogV0tOYXZpZ2F0aW9uUmVzcG9uc2UsIHJlcGx5OiBAZXNjYXBpbmcgKFBvbGlj
eSkgLT4gVm9pZCkgeworICAgICAgICBzZWxmLnJlc3BvbnNlID0gcmVzcG9uc2UKKyAgICAgICAg
c2VsZi5yZXBseSA9IHJlcGx5CisgICAgfQorCisgICAgLy8vIERlY2lkZXMgd2hhdCBhY3Rpb24g
dG8gdGFrZSBmb3IgdGhpcyBuYXZpZ2F0aW9uLiBUaGlzIG1ldGhvZCAqKm11c3QqKiBiZSBpbnZv
a2VkIGV4YWN0bHkKKyAgICAvLy8gb25jZSwgb3RoZXJ3aXNlIFdlYktpdCB3aWxsIHJhaXNlIGFu
IGV4Y2VwdGlvbi4KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gcG9saWN5OiBU
aGUgZGVzaXJlZCBwb2xpY3kgZm9yIHRoaXMgbmF2aWdhdGlvbi4KKyAgICBwdWJsaWMgZnVuYyBk
ZWNpZGVQb2xpY3koXyBwb2xpY3k6IFBvbGljeSkgeworICAgICAgICByZXBseShwb2xpY3kpCisg
ICAgfQorCisgICAgcHVibGljIHN1YnNjcmlwdDxUPihkeW5hbWljTWVtYmVyIGtleVBhdGg6IEtl
eVBhdGg8V0tOYXZpZ2F0aW9uUmVzcG9uc2UsIFQ+KSAtPiBUIHsKKyAgICAgICAgcmVzcG9uc2Vb
a2V5UGF0aDoga2V5UGF0aF0KKyAgICB9CisKKyAgICBmaWxlcHJpdmF0ZSBzdHJ1Y3QgRGVjaWRl
cktleSA6IEVudmlyb25tZW50S2V5IHsKKyAgICAgICAgc3RhdGljIGxldCBkZWZhdWx0VmFsdWU6
ICgoTmF2aWdhdGlvblJlc3BvbnNlLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQpPyA9IG5pbAorICAg
IH0KK30KKworZXh0ZW5zaW9uIEVudmlyb25tZW50VmFsdWVzIHsKKyAgICB2YXIgbmF2aWdhdGlv
bkFjdGlvbkRlY2lkZXI6ICgoTmF2aWdhdGlvbkFjdGlvbiwgV2ViVmlld1N0YXRlKSAtPiBWb2lk
KT8geworICAgICAgICBnZXQgeyBzZWxmW05hdmlnYXRpb25BY3Rpb24uRGVjaWRlcktleS5zZWxm
XSB9CisgICAgICAgIHNldCB7IHNlbGZbTmF2aWdhdGlvbkFjdGlvbi5EZWNpZGVyS2V5LnNlbGZd
ID0gbmV3VmFsdWUgfQorICAgIH0KKworICAgIHZhciBuYXZpZ2F0aW9uUmVzcG9uc2VEZWNpZGVy
OiAoKE5hdmlnYXRpb25SZXNwb25zZSwgV2ViVmlld1N0YXRlKSAtPiBWb2lkKT8geworICAgICAg
ICBnZXQgeyBzZWxmW05hdmlnYXRpb25SZXNwb25zZS5EZWNpZGVyS2V5LnNlbGZdIH0KKyAgICAg
ICAgc2V0IHsgc2VsZltOYXZpZ2F0aW9uUmVzcG9uc2UuRGVjaWRlcktleS5zZWxmXSA9IG5ld1Zh
bHVlIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2Vi
S2l0X1N3aWZ0VUkvU3dpZnRVSUV4dHJhcy5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9XZWJLaXRfU3dpZnRVSS9Td2lmdFVJRXh0cmFzLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYjcyMTZl
NTJkZTliNTU4YjUyODYxY2M0MDM4MDE3ZGE4M2ViZTgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvU3dpZnRVSUV4dHJhcy5zd2lmdApA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkKKworZXh0ZW5zaW9u
IENvbG9yIHsKKyAgICBzdGF0aWMgdmFyIHBsYXRmb3JtU2VwYXJhdG9yOiBDb2xvciB7CisgICAg
ICAgICNpZiBvcyhtYWNPUykKKyAgICAgICAgcmV0dXJuIENvbG9yKE5TQ29sb3Iuc2VwYXJhdG9y
Q29sb3IpCisgICAgICAgICNlbHNlCisgICAgICAgIHJldHVybiBDb2xvcihVSUNvbG9yLnNlcGFy
YXRvcikKKyAgICAgICAgI2VuZGlmCisgICAgfQorCisgICAgc3RhdGljIHZhciBwbGF0Zm9ybUJh
Y2tncm91bmQ6IENvbG9yIHsKKyAgICAgICAgI2lmIG9zKG1hY09TKQorICAgICAgICByZXR1cm4g
Q29sb3IoTlNDb2xvci53aW5kb3dCYWNrZ3JvdW5kQ29sb3IpCisgICAgICAgICNlbHNlCisgICAg
ICAgIHJldHVybiBDb2xvcihVSUNvbG9yLnN5c3RlbUJhY2tncm91bmQpCisgICAgICAgICNlbmRp
ZgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRf
U3dpZnRVSS9XZWJLaXRfU3dpZnRVSS1JbmZvLnBsaXN0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lm
dFVJL1dlYktpdF9Td2lmdFVJL1dlYktpdF9Td2lmdFVJLUluZm8ucGxpc3QKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWJjYjI0NDQyOWVjMWRiMDYwNmNlNmIzZDk1OTYyMjc2YTdjMjM3NwotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJLaXRfU3dpZnRV
SS1JbmZvLnBsaXN0CkBAIC0wLDAgKzEsMjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNU
IDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRk
Ij4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZURldmVsb3Bt
ZW50UmVnaW9uPC9rZXk+CisJPHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5n
PgorCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+CisJPHN0cmluZz4kKEVYRUNVVEFCTEVf
TkFNRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+
JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJbmZv
RGljdGlvbmFyeVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxrZXk+Q0ZC
dW5kbGVOYW1lPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfTkFNRSk8L3N0cmluZz4KKwk8a2V5
PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5ETEVfUEFD
S0FHRV9UWVBFKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tl
eT4KKwk8c3RyaW5nPjEuMDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+CisJ
PHN0cmluZz4kKENVUlJFTlRfUFJPSkVDVF9WRVJTSU9OKTwvc3RyaW5nPgorPC9kaWN0PgorPC9w
bGlzdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRV
SS9XZWJWaWV3LnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJ
L1dlYlZpZXcuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU1MDdiNWZhOGViZjc0YmQ0NWZhMzM5NTU3ZTc1
ZTA3Y2MwZmZiMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9X
ZWJLaXRfU3dpZnRVSS9XZWJWaWV3LnN3aWZ0CkBAIC0wLDAgKzEsMjQzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworaW1wb3J0IFN3aWZ0VUkKK2ltcG9ydCBXZWJLaXQKKworLy8vIEEgdmlldyB0aGF0IGRpc3Bs
YXlzIGludGVyYWN0aXZlIHdlYiBjb250ZW50LgorLy8vCisvLy8gQSBgV2ViVmlld2AgaXMgdXNl
ZnVsIGluIGFueSBzY2VuYXJpbyB0aGF0IHJlcXVpcmVzIHJlbmRlcmluZyBIVE1MLCBzdWNoIGFz
IGZvciBhIHdlYiBicm93c2VyLAorLy8vIGVQdWIgcmVhZGVyLCBvciBzaW1wbHkgdG8gZGlzcGxh
eSBsb2NhbCBIVE1MIHJlc291cmNlcy4gSXQgcHJvdmlkZXMgYmFzaWMgYmVoYXZpb3JzIGZvciBo
YW5kbGluZworLy8vIHdlYiBjb250ZW50IGJ5IGRlZmF1bHQsIHdoaWNoIGNhbiBiZSBjdXN0b21p
emVkIHRvIHByb3ZpZGUgYWx0ZXJuYXRlIGJlaGF2aW9ycy4KK3B1YmxpYyBzdHJ1Y3QgV2ViVmll
dyA6IFZpZXcgeworICAgIC8vLyBDaGVja3Mgd2hldGhlciBvciBub3QgV2ViVmlldyBjYW4gaGFu
ZGxlIHRoZSBnaXZlbiBVUkwgYnkgZGVmYXVsdC4KKyAgICBwdWJsaWMgc3RhdGljIGZ1bmMgY2Fu
SGFuZGxlKF8gdXJsOiBVUkwpIC0+IEJvb2wgeworICAgICAgICByZXR1cm4gdXJsLnNjaGVtZS5t
YXAoV0tXZWJWaWV3LmhhbmRsZXNVUkxTY2hlbWUoXzopKSA/PyBmYWxzZQorICAgIH0KKworICAg
IGZpbGVwcml2YXRlIHZhciBzdGF0ZTogV2ViVmlld1N0YXRlCisgICAgQFN0YXRlIHByaXZhdGUg
dmFyIGRlZmF1bHREaWFsb2c6IERpYWxvZz8gPSBuaWwKKyAgICBwcml2YXRlIHZhciBjdXN0b21E
aWFsb2c6IEJpbmRpbmc8RGlhbG9nPz4/ID0gbmlsCisgICAgZmlsZXByaXZhdGUgdmFyIGRpYWxv
ZzogRGlhbG9nPyB7CisgICAgICAgIGdldCB7IChzZWxmLmN1c3RvbURpYWxvZyA/PyBzZWxmLiRk
ZWZhdWx0RGlhbG9nKS53cmFwcGVkVmFsdWUgfQorICAgICAgICBub25tdXRhdGluZyBzZXQgeyAo
c2VsZi5jdXN0b21EaWFsb2cgPz8gc2VsZi4kZGVmYXVsdERpYWxvZykud3JhcHBlZFZhbHVlID0g
bmV3VmFsdWUgfQorICAgIH0KKyAgICBwcml2YXRlIHZhciB1c2VJbnRlcm5hbERpYWxvZ0hhbmRs
aW5nID0gdHJ1ZQorCisgICAgLy8vIENyZWF0ZSBhIG5ldyBgV2ViVmlld2AgaW5zdGFuY2UuCisg
ICAgLy8vCisgICAgLy8vIEluIG9yZGVyIHRvIHN0b3JlIHRoZSBzdGF0ZSBvZiB3ZWJwYWdlcywg
YSBgV2ViVmlld1N0YXRlYCBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZQorICAgIC8v
LyBjYWxsZXIuIE9uY2UgdGhlIHdlYiB2aWV3IGlzIGRpc3BsYXllZCBpdHMgc3RhdGUgY2FuIGJl
IGJvdGggcmVhZCBhbmQgbW9kaWZpZWQgZnJvbSB0aGUKKyAgICAvLy8gYFdlYlZpZXdTdGF0ZWAs
IHN1Y2ggYXMgZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgYFdlYlZpZXdgIGNvbnRhaW5zIGJhY2st
Zm9yd2FyZCBoaXN0b3J5LCBvcgorICAgIC8vLyB0byByZWxvYWQgdGhlIGN1cnJlbnQgcGFnZS4K
KyAgICAvLy8KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gc3RhdGU6IFN0YXRl
IHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHdlYiB2aWV3LgorICAgIC8vLyAgIC0gZGlhbG9n
OiBBIGJpbmRpbmcgcmVwcmVzZW50aW5nIGFueSBkaWFsb2cgdGhhdCB0aGUgd2VicGFnZSBuZWVk
cyBkaXNwbGF5ZWQuIEEgY3VzdG9tCisgICAgLy8vICAgYmluZGluZyBzaG91bGQgb25seSBiZSBw
cm92aWRlZCBpZiB5b3UgbmVlZCB0byBjdXN0b21pemUgdGhlIGRpc3BsYXkgb2YgZGlhbG9ncywg
b3RoZXJ3aXNlCisgICAgLy8vICAgYFdlYlZpZXdgIHdpbGwgbWFuYWdlIGRpc3BsYXkuCisgICAg
cHVibGljIGluaXQoc3RhdGU6IFdlYlZpZXdTdGF0ZSwgZGlhbG9nOiBCaW5kaW5nPERpYWxvZz8+
PyA9IG5pbCkgeworICAgICAgICBzZWxmLnN0YXRlID0gc3RhdGUKKyAgICAgICAgc2VsZi5jdXN0
b21EaWFsb2cgPSBkaWFsb2cKKyAgICAgICAgc2VsZi51c2VJbnRlcm5hbERpYWxvZ0hhbmRsaW5n
ID0gZGlhbG9nID09IG5pbAorICAgIH0KKworICAgIHB1YmxpYyB2YXIgYm9keTogc29tZSBWaWV3
IHsKKyAgICAgICAgX1dlYlZpZXcob3duZXI6IHNlbGYpCisgICAgICAgICAgICAub3ZlcmxheShk
aWFsb2dWaWV3KQorICAgIH0KKworICAgIEBWaWV3QnVpbGRlcgorICAgIHByaXZhdGUgdmFyIGRp
YWxvZ1ZpZXc6IHNvbWUgVmlldyB7CisgICAgICAgIGlmIHVzZUludGVybmFsRGlhbG9nSGFuZGxp
bmcsIGxldCBjb25maWd1cmF0aW9uID0gZGlhbG9nPy5jb25maWd1cmF0aW9uIHsKKyAgICAgICAg
ICAgIHN3aXRjaCBjb25maWd1cmF0aW9uIHsKKyAgICAgICAgICAgIGNhc2UgbGV0IC5qYXZhU2Ny
aXB0QWxlcnQobWVzc2FnZSwgY29tcGxldGlvbik6CisgICAgICAgICAgICAgICAgSmF2YVNjcmlw
dEFsZXJ0KG1lc3NhZ2U6IG1lc3NhZ2UsIGNvbXBsZXRpb246IHsKKyAgICAgICAgICAgICAgICAg
ICAgZGlhbG9nID0gbmlsCisgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb24oKQorICAgICAg
ICAgICAgICAgIH0pCisgICAgICAgICAgICBjYXNlIGxldCAuamF2YVNjcmlwdENvbmZpcm0obWVz
c2FnZSwgY29tcGxldGlvbik6CisgICAgICAgICAgICAgICAgSmF2YVNjcmlwdENvbmZpcm0obWVz
c2FnZTogbWVzc2FnZSwgY29tcGxldGlvbjogeworICAgICAgICAgICAgICAgICAgICBkaWFsb2cg
PSBuaWwKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbigkMCkKKyAgICAgICAgICAgICAg
ICB9KQorICAgICAgICAgICAgY2FzZSBsZXQgLmphdmFTY3JpcHRQcm9tcHQobWVzc2FnZSwgZGVm
YXVsdFRleHQsIGNvbXBsZXRpb24pOgorICAgICAgICAgICAgICAgIEphdmFTY3JpcHRQcm9tcHQo
bWVzc2FnZTogbWVzc2FnZSwgZGVmYXVsdFRleHQ6IGRlZmF1bHRUZXh0LCBjb21wbGV0aW9uOiB7
CisgICAgICAgICAgICAgICAgICAgIGRpYWxvZyA9IG5pbAorICAgICAgICAgICAgICAgICAgICBj
b21wbGV0aW9uKCQwKQorICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICB9CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBFbXB0eVZpZXcoKS5oaWRkZW4oKQorICAgICAgICB9Cisg
ICAgfQorfQorCitwcml2YXRlIHN0cnVjdCBfV2ViVmlldyB7CisgICAgbGV0IG93bmVyOiBXZWJW
aWV3CisKKyAgICBmdW5jIG1ha2VWaWV3KGNvb3JkaW5hdG9yOiBDb29yZGluYXRvciwgZW52aXJv
bm1lbnQ6IEVudmlyb25tZW50VmFsdWVzKSAtPiBXS1dlYlZpZXcgeworICAgICAgICBsZXQgdmll
dyA9IFdLV2ViVmlldygpCisgICAgICAgIHZpZXcubmF2aWdhdGlvbkRlbGVnYXRlID0gY29vcmRp
bmF0b3IKKyAgICAgICAgdmlldy51aURlbGVnYXRlID0gY29vcmRpbmF0b3IKKyAgICAgICAgY29v
cmRpbmF0b3Iud2ViVmlldyA9IHZpZXcKKyAgICAgICAgY29vcmRpbmF0b3IuZW52aXJvbm1lbnQg
PSBlbnZpcm9ubWVudAorCisgICAgICAgIGlmIGxldCByZXF1ZXN0ID0gY29vcmRpbmF0b3IuaW5p
dGlhbFJlcXVlc3QgeworICAgICAgICAgICAgdmlldy5sb2FkKHJlcXVlc3QpCisgICAgICAgIH0K
KworICAgICAgICByZXR1cm4gdmlldworICAgIH0KKworICAgIGZ1bmMgdXBkYXRlVmlldyhfIHZp
ZXc6IFdLV2ViVmlldywgY29vcmRpbmF0b3I6IENvb3JkaW5hdG9yLCBlbnZpcm9ubWVudDogRW52
aXJvbm1lbnRWYWx1ZXMpIHsKKyAgICAgICAgY29vcmRpbmF0b3IuZW52aXJvbm1lbnQgPSBlbnZp
cm9ubWVudAorCisgICAgICAgIGlmIGxldCBmbGFnID0gZW52aXJvbm1lbnQuYWxsb3dzQmFja0Zv
cndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgeworICAgICAgICAgICAgdmlldy5hbGxvd3NCYWNrRm9y
d2FyZE5hdmlnYXRpb25HZXN0dXJlcyA9IGZsYWcKKyAgICAgICAgfQorICAgIH0KKworICAgIHN0
YXRpYyBmdW5jIGRpc21hbnRsZVZpZXcoXyB2aWV3OiBXS1dlYlZpZXcsIGNvb3JkaW5hdG9yOiBD
b29yZGluYXRvcikgeworICAgICAgICBjb29yZGluYXRvci53ZWJWaWV3ID0gbmlsCisgICAgfQor
CisgICAgZnVuYyBtYWtlQ29vcmRpbmF0b3IoKSAtPiBDb29yZGluYXRvciB7CisgICAgICAgIENv
b3JkaW5hdG9yKG93bmVyOiBvd25lcikKKyAgICB9Cit9CisKKyNpZiBvcyhtYWNPUykKK2V4dGVu
c2lvbiBfV2ViVmlldyA6IE5TVmlld1JlcHJlc2VudGFibGUgeworICAgIGZ1bmMgbWFrZU5TVmll
dyhjb250ZXh0OiBDb250ZXh0KSAtPiBXS1dlYlZpZXcgeworICAgICAgICBtYWtlVmlldyhjb29y
ZGluYXRvcjogY29udGV4dC5jb29yZGluYXRvciwgZW52aXJvbm1lbnQ6IGNvbnRleHQuZW52aXJv
bm1lbnQpCisgICAgfQorCisgICAgZnVuYyB1cGRhdGVOU1ZpZXcoXyBuc1ZpZXc6IFdLV2ViVmll
dywgY29udGV4dDogQ29udGV4dCkgeworICAgICAgICB1cGRhdGVWaWV3KG5zVmlldywgY29vcmRp
bmF0b3I6IGNvbnRleHQuY29vcmRpbmF0b3IsIGVudmlyb25tZW50OiBjb250ZXh0LmVudmlyb25t
ZW50KQorICAgIH0KKworICAgIHN0YXRpYyBmdW5jIGRpc21hbnRsZU5TVmlldyhfIG5zVmlldzog
V0tXZWJWaWV3LCBjb29yZGluYXRvcjogQ29vcmRpbmF0b3IpIHsKKyAgICAgICAgZGlzbWFudGxl
Vmlldyhuc1ZpZXcsIGNvb3JkaW5hdG9yOiBjb29yZGluYXRvcikKKyAgICB9Cit9CisjZWxzZQor
ZXh0ZW5zaW9uIF9XZWJWaWV3IDogVUlWaWV3UmVwcmVzZW50YWJsZSB7CisgICAgZnVuYyBtYWtl
VUlWaWV3KGNvbnRleHQ6IENvbnRleHQpIC0+IFdLV2ViVmlldyB7CisgICAgICAgIG1ha2VWaWV3
KGNvb3JkaW5hdG9yOiBjb250ZXh0LmNvb3JkaW5hdG9yLCBlbnZpcm9ubWVudDogY29udGV4dC5l
bnZpcm9ubWVudCkKKyAgICB9CisKKyAgICBmdW5jIHVwZGF0ZVVJVmlldyhfIHVpVmlldzogV0tX
ZWJWaWV3LCBjb250ZXh0OiBDb250ZXh0KSB7CisgICAgICAgIHVwZGF0ZVZpZXcodWlWaWV3LCBj
b29yZGluYXRvcjogY29udGV4dC5jb29yZGluYXRvciwgZW52aXJvbm1lbnQ6IGNvbnRleHQuZW52
aXJvbm1lbnQpCisgICAgfQorCisgICAgc3RhdGljIGZ1bmMgZGlzbWFudGxlVUlWaWV3KF8gdWlW
aWV3OiBXS1dlYlZpZXcsIGNvb3JkaW5hdG9yOiBDb29yZGluYXRvcikgeworICAgICAgICBkaXNt
YW50bGVWaWV3KHVpVmlldywgY29vcmRpbmF0b3I6IGNvb3JkaW5hdG9yKQorICAgIH0KK30KKyNl
bmRpZgorCitAZHluYW1pY01lbWJlckxvb2t1cAorcHJpdmF0ZSBmaW5hbCBjbGFzcyBDb29yZGlu
YXRvciA6IE5TT2JqZWN0LCBXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tVSURlbGVnYXRlIHsKKyAg
ICBwcml2YXRlIHZhciBvd25lcjogV2ViVmlldworICAgIGZpbGVwcml2YXRlIHZhciBlbnZpcm9u
bWVudDogRW52aXJvbm1lbnRWYWx1ZXM/CisKKyAgICBpbml0KG93bmVyOiBXZWJWaWV3KSB7Cisg
ICAgICAgIHNlbGYub3duZXIgPSBvd25lcgorICAgIH0KKworICAgIC8vIE1BUks6IFdlYlZpZXdT
dGF0ZSBQcm94eQorCisgICAgdmFyIHdlYlZpZXc6IFdLV2ViVmlldz8geworICAgICAgICBnZXQg
eyBvd25lci5zdGF0ZS53ZWJWaWV3IH0KKyAgICAgICAgc2V0IHsgb3duZXIuc3RhdGUud2ViVmll
dyA9IG5ld1ZhbHVlIH0KKyAgICB9CisKKyAgICBzdWJzY3JpcHQ8VD4oZHluYW1pY01lbWJlciBr
ZXlQYXRoOiBSZWZlcmVuY2VXcml0YWJsZUtleVBhdGg8V2ViVmlld1N0YXRlLCBUPikgLT4gVCB7
CisgICAgICAgIGdldCB7IG93bmVyLnN0YXRlW2tleVBhdGg6IGtleVBhdGhdIH0KKyAgICAgICAg
c2V0IHsgb3duZXIuc3RhdGVba2V5UGF0aDoga2V5UGF0aF0gPSBuZXdWYWx1ZSB9CisgICAgfQor
CisgICAgLy8gTUFSSzogTmF2aWdhdGlvbgorCisgICAgZnVuYyB3ZWJWaWV3KAorICAgICAgICBf
IHdlYlZpZXc6IFdLV2ViVmlldywKKyAgICAgICAgZGVjaWRlUG9saWN5Rm9yIG5hdmlnYXRpb25B
Y3Rpb246IFdLTmF2aWdhdGlvbkFjdGlvbiwKKyAgICAgICAgcHJlZmVyZW5jZXM6IFdLV2VicGFn
ZVByZWZlcmVuY2VzLAorICAgICAgICBkZWNpc2lvbkhhbmRsZXI6IEBlc2NhcGluZyAoV0tOYXZp
Z2F0aW9uQWN0aW9uUG9saWN5LCBXS1dlYnBhZ2VQcmVmZXJlbmNlcykgLT4gVm9pZAorICAgICkg
eworICAgICAgICBpZiBsZXQgZGVjaWRlciA9IGVudmlyb25tZW50Py5uYXZpZ2F0aW9uQWN0aW9u
RGVjaWRlciB7CisgICAgICAgICAgICBsZXQgYWN0aW9uID0gTmF2aWdhdGlvbkFjdGlvbigKKyAg
ICAgICAgICAgICAgICBuYXZpZ2F0aW9uQWN0aW9uLCB3ZWJwYWdlUHJlZmVyZW5jZXM6IHByZWZl
cmVuY2VzLCByZXBseTogZGVjaXNpb25IYW5kbGVyKQorICAgICAgICAgICAgZGVjaWRlcihhY3Rp
b24sIG93bmVyLnN0YXRlKQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVjaXNpb25I
YW5kbGVyKC5hbGxvdywgcHJlZmVyZW5jZXMpCisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5j
IHdlYlZpZXcoCisgICAgICAgIF8gd2ViVmlldzogV0tXZWJWaWV3LAorICAgICAgICBkZWNpZGVQ
b2xpY3lGb3IgbmF2aWdhdGlvblJlc3BvbnNlOiBXS05hdmlnYXRpb25SZXNwb25zZSwKKyAgICAg
ICAgZGVjaXNpb25IYW5kbGVyOiBAZXNjYXBpbmcgKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5
KSAtPiBWb2lkCisgICAgKSB7CisgICAgICAgIGlmIGxldCBkZWNpZGVyID0gZW52aXJvbm1lbnQ/
Lm5hdmlnYXRpb25SZXNwb25zZURlY2lkZXIgeworICAgICAgICAgICAgbGV0IHJlc3BvbnNlID0g
TmF2aWdhdGlvblJlc3BvbnNlKG5hdmlnYXRpb25SZXNwb25zZSwgcmVwbHk6IGRlY2lzaW9uSGFu
ZGxlcikKKyAgICAgICAgICAgIGRlY2lkZXIocmVzcG9uc2UsIG93bmVyLnN0YXRlKQorICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgZGVjaXNpb25IYW5kbGVyKC5hbGxvdykKKyAgICAgICAg
fQorICAgIH0KKworICAgIC8vIE1BUks6IERpYWxvZ3MKKworICAgIGZ1bmMgd2ViVmlldygKKyAg
ICAgICAgXyB3ZWJWaWV3OiBXS1dlYlZpZXcsCisgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydFBh
bmVsV2l0aE1lc3NhZ2UgbWVzc2FnZTogU3RyaW5nLAorICAgICAgICBpbml0aWF0ZWRCeUZyYW1l
IGZyYW1lOiBXS0ZyYW1lSW5mbywKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXI6IEBlc2NhcGlu
ZyAoKSAtPiBWb2lkCisgICAgKSB7CisgICAgICAgIG93bmVyLmRpYWxvZyA9IC5qYXZhU2NyaXB0
QWxlcnQobWVzc2FnZSwgY29tcGxldGlvbjogY29tcGxldGlvbkhhbmRsZXIpCisgICAgfQorCisg
ICAgZnVuYyB3ZWJWaWV3KAorICAgICAgICBfIHdlYlZpZXc6IFdLV2ViVmlldywKKyAgICAgICAg
cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlIG1lc3NhZ2U6IFN0cmluZywKKyAg
ICAgICAgaW5pdGlhdGVkQnlGcmFtZSBmcmFtZTogV0tGcmFtZUluZm8sCisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyOiBAZXNjYXBpbmcgKEJvb2wpIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAg
b3duZXIuZGlhbG9nID0gLmphdmFTY3JpcHRDb25maXJtKG1lc3NhZ2UsIGNvbXBsZXRpb246IGNv
bXBsZXRpb25IYW5kbGVyKQorICAgIH0KKworICAgIGZ1bmMgd2ViVmlldygKKyAgICAgICAgXyB3
ZWJWaWV3OiBXS1dlYlZpZXcsCisgICAgICAgIHJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdp
dGhQcm9tcHQgcHJvbXB0OiBTdHJpbmcsCisgICAgICAgIGRlZmF1bHRUZXh0OiBTdHJpbmc/LAor
ICAgICAgICBpbml0aWF0ZWRCeUZyYW1lIGZyYW1lOiBXS0ZyYW1lSW5mbywKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXI6IEBlc2NhcGluZyAoU3RyaW5nPykgLT4gVm9pZAorICAgICkgeworICAg
ICAgICBvd25lci5kaWFsb2cgPSAuamF2YVNjcmlwdFByb21wdCgKKyAgICAgICAgICAgIHByb21w
dCwgZGVmYXVsdFRleHQ6IGRlZmF1bHRUZXh0ID8/ICIiLCBjb21wbGV0aW9uOiBjb21wbGV0aW9u
SGFuZGxlcikKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
V2ViS2l0X1N3aWZ0VUkvV2ViVmlld01vZGlmaWVycy5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3TW9kaWZpZXJzLnN3aWZ0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2YTU1MDFhNDRkMmY2NjM4NGIwOWQwYjdlZTRmNWIwOGZiNWMxMGQKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmlld01vZGlm
aWVycy5zd2lmdApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkK
KworZXh0ZW5zaW9uIFZpZXcgeworICAgIC8vLyBDdXN0b21pemVzIHdoZXRoZXIgaG9yaXpvbnRh
bCBzd2lwZSBnZXN0dXJlcyB3aWxsIHRyaWdnZXIgYmFjay1mb3J3YXJkIGxpc3QgbmF2aWdhdGlv
bnMKKyAgICAvLy8gaW4gYSBgV2Vidmlld2AuCisgICAgcHVibGljIGZ1bmMgd2ViVmlld0FsbG93
c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKF8gYWxsb3dlZDogQm9vbCkgLT4gc29tZSBW
aWV3IHsKKyAgICAgICAgZW52aXJvbm1lbnQoXC5hbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25H
ZXN0dXJlcywgYWxsb3dlZCkKKyAgICB9Cit9CisKK3ByaXZhdGUgc3RydWN0IFdlYlZpZXdBbGxv
d3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlc0tleSA6IEVudmlyb25tZW50S2V5IHsKKyAg
ICBzdGF0aWMgbGV0IGRlZmF1bHRWYWx1ZTogQm9vbD8gPSBuaWwKK30KKworZXh0ZW5zaW9uIEVu
dmlyb25tZW50VmFsdWVzIHsKKyAgICB2YXIgYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2Vz
dHVyZXM6IEJvb2w/IHsKKyAgICAgICAgZ2V0IHsgc2VsZltXZWJWaWV3QWxsb3dzQmFja0Zvcndh
cmROYXZpZ2F0aW9uR2VzdHVyZXNLZXkuc2VsZl0gfQorICAgICAgICBzZXQgeyBzZWxmW1dlYlZp
ZXdBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlc0tleS5zZWxmXSA9IG5ld1ZhbHVl
IH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0
X1N3aWZ0VUkvV2ViVmlld1N0YXRlLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dl
YktpdF9Td2lmdFVJL1dlYlZpZXdTdGF0ZS5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MmQwYWNjNDhmMDBm
YTJkNGE1MmEyMmRlNDk1MmM3ZTVlZTg3YWFlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWlu
aUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dlYlZpZXdTdGF0ZS5zd2lmdApAQCAtMCww
ICsxLDEzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBDb21iaW5lCitpbXBvcnQgU3dpZnRVSQor
aW1wb3J0IFdlYktpdAorCisvLy8gSG9sZHMgdGhlIGR5bmFtaWMgc3RhdGUgb2YgYSBgV2ViVmll
d2AuCitmaW5hbCBwdWJsaWMgY2xhc3MgV2ViVmlld1N0YXRlIDogT2JzZXJ2YWJsZU9iamVjdCB7
CisgICAgdmFyIGluaXRpYWxSZXF1ZXN0OiBVUkxSZXF1ZXN0PworICAgIHZhciB3ZWJWaWV3T2Jz
ZXJ2YXRpb25zOiBbTlNLZXlWYWx1ZU9ic2VydmF0aW9uXSA9IFtdCisgICAgdmFyIHdlYlZpZXc6
IFdLV2ViVmlldz8geworICAgICAgICBkaWRTZXQgeworICAgICAgICAgICAgd2ViVmlld09ic2Vy
dmF0aW9ucy5mb3JFYWNoIHsgJDAuaW52YWxpZGF0ZSgpIH0KKyAgICAgICAgICAgIGd1YXJkIGxl
dCB3ZWJWaWV3ID0gd2ViVmlldyBlbHNlIHsKKyAgICAgICAgICAgICAgICB3ZWJWaWV3T2JzZXJ2
YXRpb25zLnJlbW92ZUFsbCgpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmMgcmVnaXN0ZXI8VD4oCisgICAgICAgICAgICAgICAgXyBrZXlQ
YXRoOiBLZXlQYXRoPFdLV2ViVmlldywgVD4KKyAgICAgICAgICAgICkgLT4gTlNLZXlWYWx1ZU9i
c2VydmF0aW9uIHdoZXJlIFQgOiBFcXVhdGFibGUgeworICAgICAgICAgICAgICAgIHdlYlZpZXcu
b2JzZXJ2ZSgKKyAgICAgICAgICAgICAgICAgICAga2V5UGF0aCwgb3B0aW9uczogWy5wcmlvciwg
Lm9sZCwgLm5ld10sCisgICAgICAgICAgICAgICAgICAgIGNoYW5nZUhhbmRsZXI6IHdlYlZpZXco
XzpkaWRDaGFuZ2VLZXlQYXRoOikpCisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRP
RE86IEV2YWx1YXRlIHRoZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgcHJlLXJlZ2lzdGVyaW5nIGFs
bCBvZiB0aGVzZSBvYnNlcnZhdGlvbnMuCisgICAgICAgICAgICAvLyBXZSBjYW4ndCBrbm93IHdo
YXQgY2hhbmdlcyB3aWxsIHRyaWdnZXIgdmlldyB1cGRhdGVzLCBzbyB3ZSBuZWVkIHRvIG9ic2Vy
dmUgZXZlcnkKKyAgICAgICAgICAgIC8vIHByb3BlcnR5IHRoYXQgZ2V0J3MgcmVwdWJsaXNoZWQg
YmVsb3c7IGhvd2V2ZXIsIHRoZXJlIG1heSBiZSBtb3JlIGVmZmljaWVudCB3YXlzIHRvCisgICAg
ICAgICAgICAvLyBhY2hpZXZlIHRoaXMuCisgICAgICAgICAgICB3ZWJWaWV3T2JzZXJ2YXRpb25z
ID0gWworICAgICAgICAgICAgICAgIHJlZ2lzdGVyKFwuY2FuR29CYWNrKSwgcmVnaXN0ZXIoXC5j
YW5Hb0ZvcndhcmQpLCByZWdpc3RlcihcLnRpdGxlKSwgcmVnaXN0ZXIoXC51cmwpLAorICAgICAg
ICAgICAgICAgIHJlZ2lzdGVyKFwuaXNMb2FkaW5nKSwgcmVnaXN0ZXIoXC5lc3RpbWF0ZWRQcm9n
cmVzcyksCisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICB9CisKKyAgICBwdWJsaWMgbGV0
IG9iamVjdFdpbGxDaGFuZ2UgPSBPYnNlcnZhYmxlT2JqZWN0UHVibGlzaGVyKCkKKworICAgIC8v
LyBDcmVhdGVzIGEgbmV3IGBXZWJWaWV3U3RhdGVgLgorICAgIC8vLyAtIFBhcmFtZXRlcnM6Cisg
ICAgLy8vICAgLSBpbml0aWFsVVJMOiBUaGUgYFVSTGAgdG8gbmF2aWdhdGUgdG8gaW1tZWRpYXRs
eSB1cG9uIGBXZWJWaWV3YCBjcmVhdGlvbi4KKyAgICAvLy8gICAtIGNvbmZpZ3VyYXRpb246IENv
bmZpZ3VyYXRpb24gZm9yIHRoZSBgV2ViVmlld2AuCisgICAgcHVibGljIGNvbnZlbmllbmNlIGlu
aXQoCisgICAgICAgIGluaXRpYWxVUkw6IFVSTD8gPSBuaWwsIGNvbmZpZ3VyYXRpb246IFdLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gPSAuaW5pdCgpCisgICAgKSB7CisgICAgICAgIHNlbGYuaW5pdCgK
KyAgICAgICAgICAgIGluaXRpYWxSZXF1ZXN0OiBpbml0aWFsVVJMLm1hcCB7IFVSTFJlcXVlc3Qo
dXJsOiAkMCkgfSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb246IGNvbmZpZ3VyYXRpb24pCisg
ICAgfQorCisgICAgLy8vIENyZWF0ZXMgYSBuZXcgYFdlYlZpZXdTdGF0ZWAuCisgICAgLy8vIC0g
UGFyYW1ldGVyczoKKyAgICAvLy8gICAtIGluaXRpYWxSZXF1ZXN0OiBUaGUgYFVSTFJlcXVlc3Rg
IHRvIG5hdmlnYXRlIHRvIGltbWVkaWF0bHkgdXBvbiBgV2ViVmlld2AgY3JlYXRpb24uCisgICAg
Ly8vICAgLSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uIGZvciB0aGUgYFdlYlZpZXdgLgor
ICAgIHB1YmxpYyBpbml0KGluaXRpYWxSZXF1ZXN0OiBVUkxSZXF1ZXN0PywgY29uZmlndXJhdGlv
bjogV0tXZWJWaWV3Q29uZmlndXJhdGlvbiA9IC5pbml0KCkpIHsKKyAgICAgICAgc2VsZi5pbml0
aWFsUmVxdWVzdCA9IGluaXRpYWxSZXF1ZXN0CisgICAgfQorCisgICAgZnVuYyB3ZWJWaWV3PFZh
bHVlPigKKyAgICAgICAgXzogV0tXZWJWaWV3LCBkaWRDaGFuZ2VLZXlQYXRoIGNoYW5nZTogTlNL
ZXlWYWx1ZU9ic2VydmVkQ2hhbmdlPFZhbHVlPgorICAgICkgd2hlcmUgVmFsdWUgOiBFcXVhdGFi
bGUgeworICAgICAgICBpZiBjaGFuZ2UuaXNQcmlvciAmJiBjaGFuZ2Uub2xkVmFsdWUgIT0gY2hh
bmdlLm5ld1ZhbHVlIHsKKyAgICAgICAgICAgIG9iamVjdFdpbGxDaGFuZ2Uuc2VuZCgpCisgICAg
ICAgIH0KKyAgICB9CisKKyAgICAvLyBOT1RFOiBJJ20gZWxpZGluZyBkb2N1bWVudGF0aW9uIGNv
bW1lbnRzIGhlcmUuIFRoZXNlIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgcmVsYXRlZCAxOjEgd2l0
aAorICAgIC8vIHRoZWlyIGBXS1dlYlZpZXdgIGNvdW50ZXJwYXJ0cy4KKworICAgIHB1YmxpYyB2
YXIgY2FuR29CYWNrOiBCb29sIHsgd2ViVmlldz8uY2FuR29CYWNrID8/IGZhbHNlIH0KKyAgICBw
dWJsaWMgdmFyIGNhbkdvRm9yd2FyZDogQm9vbCB7IHdlYlZpZXc/LmNhbkdvRm9yd2FyZCA/PyBm
YWxzZSB9CisgICAgcHVibGljIHZhciB0aXRsZTogU3RyaW5nIHsgd2ViVmlldz8udGl0bGUgPz8g
IiIgfQorICAgIHB1YmxpYyB2YXIgdXJsOiBVUkw/IHsgd2ViVmlldz8udXJsIH0KKyAgICBwdWJs
aWMgdmFyIGlzTG9hZGluZzogQm9vbCB7IHdlYlZpZXc/LmlzTG9hZGluZyA/PyBmYWxzZSB9Cisg
ICAgcHVibGljIHZhciBlc3RpbWF0ZWRQcm9ncmVzczogRG91YmxlPyB7IGlzTG9hZGluZyA/IHdl
YlZpZXc/LmVzdGltYXRlZFByb2dyZXNzIDogbmlsIH0KKyAgICBwdWJsaWMgdmFyIGhhc09ubHlT
ZWN1cmVDb250ZW50OiBCb29sIHsgd2ViVmlldz8uaGFzT25seVNlY3VyZUNvbnRlbnQgPz8gZmFs
c2UgfQorCisgICAgcHVibGljIGZ1bmMgbG9hZChfIHVybDogVVJMKSB7CisgICAgICAgIGxvYWQo
VVJMUmVxdWVzdCh1cmw6IHVybCkpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMgbG9hZChfIHJl
cXVlc3Q6IFVSTFJlcXVlc3QpIHsKKyAgICAgICAgd2ViVmlldz8ubG9hZChyZXF1ZXN0KQorICAg
IH0KKworICAgIHB1YmxpYyBmdW5jIGdvQmFjaygpIHsKKyAgICAgICAgd2ViVmlldz8uZ29CYWNr
KCkKKyAgICB9CisKKyAgICBwdWJsaWMgZnVuYyBnb0ZvcndhcmQoKSB7CisgICAgICAgIHdlYlZp
ZXc/LmdvRm9yd2FyZCgpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMgcmVsb2FkKCkgeworICAg
ICAgICB3ZWJWaWV3Py5yZWxvYWQoKQorICAgIH0KKworICAgIHB1YmxpYyBmdW5jIHN0b3BMb2Fk
aW5nKCkgeworICAgICAgICB3ZWJWaWV3Py5zdG9wTG9hZGluZygpCisgICAgfQorCisgICAgZnVu
YyBjcmVhdGVQREYoCisgICAgICAgIGNvbmZpZ3VyYXRpb246IFdLUERGQ29uZmlndXJhdGlvbiA9
IC5pbml0KCksCisgICAgICAgIGNvbXBsZXRpb246IEBlc2NhcGluZyAoUmVzdWx0PERhdGEsIEVy
cm9yPikgLT4gVm9pZAorICAgICkgeworICAgICAgICBpZiBsZXQgd2ViVmlldyA9IHdlYlZpZXcg
eworICAgICAgICAgICAgd2ViVmlldy5jcmVhdGVQREYoY29uZmlndXJhdGlvbjogY29uZmlndXJh
dGlvbiwgY29tcGxldGlvbkhhbmRsZXI6IGNvbXBsZXRpb24pCisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBjb21wbGV0aW9uKC5mYWlsdXJlKFdLRXJyb3IoLnVua25vd24pKSkKKyAgICAg
ICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9pT1Mv
SW5mby5wbGlzdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9pT1MvSW5mby5wbGlzdApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZmMyMTFhMGMxYjFhMzg3OGZmOWJiMjhjYjFiN2RmNzE3MDRmNTQxCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL2lPUy9JbmZvLnBsaXN0CkBAIC0w
LDAgKzEsNTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURP
Q1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8v
d3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9u
PSIxLjAiPgorPGRpY3Q+CisJPGtleT5DRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uPC9rZXk+CisJ
PHN0cmluZz4kKERFVkVMT1BNRU5UX0xBTkdVQUdFKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVF
eGVjdXRhYmxlPC9rZXk+CisJPHN0cmluZz4kKEVYRUNVVEFCTEVfTkFNRSk8L3N0cmluZz4KKwk8
a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9J
REVOVElGSUVSKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb248
L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+CisJ
PHN0cmluZz4kKFBST0RVQ1RfTkFNRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlUGFja2FnZVR5
cGU8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5ETEVfUEFDS0FHRV9UWVBFKTwvc3RyaW5n
PgorCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmc8L2tleT4KKwk8c3RyaW5nPjEuMDwv
c3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+CisJPHN0cmluZz4xPC9zdHJpbmc+
CisJPGtleT5MU1JlcXVpcmVzSVBob25lT1M8L2tleT4KKwk8dHJ1ZS8+CisJPGtleT5VSUFwcGxp
Y2F0aW9uU2NlbmVNYW5pZmVzdDwva2V5PgorCTxkaWN0PgorCQk8a2V5PlVJQXBwbGljYXRpb25T
dXBwb3J0c011bHRpcGxlU2NlbmVzPC9rZXk+CisJCTx0cnVlLz4KKwk8L2RpY3Q+CisJPGtleT5V
SUFwcGxpY2F0aW9uU3VwcG9ydHNJbmRpcmVjdElucHV0RXZlbnRzPC9rZXk+CisJPHRydWUvPgor
CTxrZXk+VUlMYXVuY2hTY3JlZW48L2tleT4KKwk8ZGljdC8+CisJPGtleT5VSVJlcXVpcmVkRGV2
aWNlQ2FwYWJpbGl0aWVzPC9rZXk+CisJPGFycmF5PgorCQk8c3RyaW5nPmFybXY3PC9zdHJpbmc+
CisJPC9hcnJheT4KKwk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zPC9rZXk+
CisJPGFycmF5PgorCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdDwvc3Ry
aW5nPgorCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVMZWZ0PC9zdHJp
bmc+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZVJpZ2h0PC9zdHJp
bmc+CisJPC9hcnJheT4KKwk8a2V5PlVJU3VwcG9ydGVkSW50ZXJmYWNlT3JpZW50YXRpb25zfmlw
YWQ8L2tleT4KKwk8YXJyYXk+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRy
YWl0PC9zdHJpbmc+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0VXBz
aWRlRG93bjwvc3RyaW5nPgorCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2Nh
cGVMZWZ0PC9zdHJpbmc+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2Fw
ZVJpZ2h0PC9zdHJpbmc+CisJPC9hcnJheT4KKzwvZGljdD4KKzwvcGxpc3Q+CmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvbWFjT1MvSW5mby5wbGlzdCBiL1Rvb2xzL01pbmlC
cm93c2VyU3dpZnRVSS9tYWNPUy9JbmZvLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhY2JjNTY4OGNhODA2
ZWFjNDVjYzU4NDdjNWQyNzhhNmY2ZDY4ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvbWFjT1MvSW5mby5wbGlzdApAQCAtMCwwICsxLDI2IEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAi
LS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Q
cm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxkaWN0PgorCTxr
ZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgorCTxzdHJpbmc+JChERVZFTE9QTUVO
VF9MQU5HVUFHRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxz
dHJpbmc+JChFWEVDVVRBQkxFX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUljb25GaWxl
PC9rZXk+CisJPHN0cmluZz48L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWRlbnRpZmllcjwva2V5
PgorCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSKTwvc3RyaW5nPgorCTxrZXk+
Q0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjYuMDwvc3RyaW5n
PgorCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfTkFNRSk8L3N0
cmluZz4KKwk8a2V5PkNGQnVuZGxlUGFja2FnZVR5cGU8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVD
VF9CVU5ETEVfUEFDS0FHRV9UWVBFKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVTaG9ydFZlcnNp
b25TdHJpbmc8L2tleT4KKwk8c3RyaW5nPjEuMDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJz
aW9uPC9rZXk+CisJPHN0cmluZz4xPC9zdHJpbmc+CisJPGtleT5MU01pbmltdW1TeXN0ZW1WZXJz
aW9uPC9rZXk+CisJPHN0cmluZz4kKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCk8L3N0cmluZz4K
KzwvZGljdD4KKzwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
bWFjT1MvbWFjT1MuZW50aXRsZW1lbnRzIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL21hY09T
L21hY09TLmVudGl0bGVtZW50cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjVhZjAzZDk5YjJlYTk5MWI0YTZkYzhl
ZWQ5ZGIwODhlNWFmYmExCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lm
dFVJL21hY09TL21hY09TLmVudGl0bGVtZW50cwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8v
QXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9w
ZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxkaWN0PgorCTxrZXk+
Y29tLmFwcGxlLnNlY3VyaXR5LmFwcC1zYW5kYm94PC9rZXk+CisJPHRydWUvPgorCTxrZXk+Y29t
LmFwcGxlLnNlY3VyaXR5LmZpbGVzLnVzZXItc2VsZWN0ZWQucmVhZC1vbmx5PC9rZXk+CisJPHRy
dWUvPgorCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsuY2xpZW50PC9rZXk+CisJPHRy
dWUvPgorPC9kaWN0PgorPC9wbGlzdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412765</attachid>
            <date>2020-10-30 10:09:47 -0700</date>
            <delta_ts>2020-11-03 11:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218393-20201030130946.patch</filename>
            <type>text/plain</type>
            <size>116503</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDM1ZWRkZWNlNTVjNGM4YWVlOWVlYTdhYTI1OGMxYzA2
NTQ4MDMwOC4uOTMzNmZkNDcyODUzNzc4NzcwYjgwNzRiMDllYWRjOGE0M2YwMTMxMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
NyBAQAorMjAyMC0xMC0yOSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIFN3aWZ0VUkgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxODM5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzaW5nIFdLV2ViVmlldyBpbiBTd2lmdFVJIGlzIHByZXR0eSBj
dW1iZXJzb21lIHRvZGF5LiBBdCBhIG1pbmltdW0sCisgICAgICAgIHlvdSBuZWVkIHRvIHdyYXAg
dGhlIFdLV2ViVmlldyBpbiBhIE5TL1VJVmlld1JlcHJlc2VudGFibGUgU3dpZnRVSQorICAgICAg
ICB2aWV3LCBidXQgdG8gcmVhY3QgdG8gYW55IHN0YXRlIGNoYW5nZXMgaW4gdGhlIFdLV2ViVmll
dyAoZS5nLiwKKyAgICAgICAgLWNhbkdvQmFjayBjaGFuZ2luZyBmcm9tIE5PIHRvIFlFUykgeW91
IG5lZWQgdG8gYnJpZGdlIGJldHdlZW4KKyAgICAgICAgV0tXZWJWaWV3J3MgS1ZPIGFuZCBTd2lm
dFVJJ3MgdXNlIG9mIENvbWJpbmUgcHVibGlzaGVycyBvcgorICAgICAgICBPYnNlcnZhYmxlT2Jq
ZWN0cy4gU2V0dGluZyB1cCBXS1dlYlZpZXcncyB2YXJpb3VzIGRlbGVnYXRlcyBoYXMgdG8KKyAg
ICAgICAgaGFwcGVuIGRvd24gaW5zaWRlIHRoZSBOUy9VSVZpZXdSZXByZXNlbnRhYmxlJ3MgQ29v
cmRpbmF0b3Igb2JqZWN0LgorICAgICAgICBBbmQgc28gb24uCisKKyAgICAgICAgVGhlcmUgaGF2
ZSBiZWVuIHNvbWUgYXR0ZW1wdHMgYXQgdGhpcyBpbiB0aGUgcGFzdCwgZS5nLjoKKworICAgICAg
ICBodHRwczovL21lZGl1bS5jb20vbWFjb2Nsb2NrL2hvdy10by11c2Utd2Via2l0LXdlYnZpZXct
aW4tc3dpZnR1aS00Yjk0NGQwNDE5MGEKKyAgICAgICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BtZHlh
bWluL3N3aWZ0dWktbWFzdGVyaW5nLXdlYnZpZXctNTc5MGU2ODY4MzNlCisgICAgICAgIGh0dHBz
Oi8vZ2l0aHViLmNvbS9reWxlaGlja2luc29uL1N3aWZ0VUktV2ViVmlldworCisgICAgICAgIFNv
bWVkYXkgaXQgd291bGQgYmUgbmljZSB0byBwcm92aWRlIGFuIGlkaW9tYXRpYyBTd2lmdFVJIEFQ
SSBmb3IKKyAgICAgICAgV2ViS2l0IG91dCBvZiB0aGUgYm94LCBsaWtlIHRoZSBuZXcgVmlkZW9Q
bGF5ZXIgQVBJIHRoYXQgd3JhcHMKKyAgICAgICAgQVZQbGF5ZXIuCisKKyAgICAgICAgVGhpcyBj
aGFuZ2UgcHJvdmlkZXMgYSBTd2lmdFVJIE1pbmlCcm93c2VyIGltcGxlbWVudGF0aW9uIGFzIHdl
bGwgYXMgYQorICAgICAgICB2ZXJ5IHByZWxpbWluYXJ5IFN3aWZ0VUkgd3JhcHBlciBmb3IgV0tX
ZWJWaWV3LCBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5CisgICAgICAgIEphbWVzIFNhdmFnZS4gVGhp
cyBvbmx5IGV4cG9zZXMgYSBzdWJzZXQgb2YgdGhlIFdLV2ViVmlldyBBUEksIGFuZCBpcworICAg
ICAgICBkZWZpbml0ZWx5IG5vdCBwcm9kdWN0aW9uIHJlYWR5IHlldCwgYnV0IHdpbGwgZ2l2ZSB1
cyBhIHBsYWNlIHRvCisgICAgICAgIGV4cGVyaW1lbnQgd2l0aCB3YXlzIHRvIG1ha2UgV2ViS2l0
IGFuZCBTd2lmdFVJIHdvcmsgdG9nZXRoZXIgYmV0dGVyLgorCisgICAgICAgIEhlcmUncyBKYW1l
cydzIGRlc2NyaXB0aW9uIG9mIHRoZSBBUEk6CisKKyAgICAgICAgPiBUaGUgaW5pdGlhbCB2ZXJz
aW9uIG9mIHRoaXMgQVBJIGlzIGNvbXBvc2VkIG9mIHR3byBwcmltYXJ5CisgICAgICAgID4gY29t
cG9uZW50czogYFdlYlZpZXdgIGFuZCBgV2ViVmlld1N0YXRlYC4gYFdlYlZpZXdgIGNvbmZvcm1z
IHRvCisgICAgICAgID4gYFZpZXdgLCBhbmQgaXRzIHVzYWdlIGlzIHN0cmFpZ2h0LWZvcndhcmQu
IGBXZWJWaWV3U3RhdGVgIGlzIG5vdmVsLAorICAgICAgICA+IGFuZCBtYXkgbm90IHN1cnZpdmUg
dG8gdGhlIGZpbmFsIEFQSS4gSXQgZXhpc3RzIGFzIGEgcmVhZC13cml0ZQorICAgICAgICA+IGhh
bmRsZSBvbiB0aGUgcmF0aGVyIGxhcmdlIGFtb3VudCBvZiBzdGF0ZSB0aGF0IGEgd2ViIHZpZXcg
b2ZmZXJzLgorICAgICAgICA+IFRoaXMgaW5jbHVkZXMgcmVhZC1vbmx5IGFjY2VzcyB0byBwcm9w
ZXJ0aWVzIGFib3V0IHRoZSBjdXJyZW50CisgICAgICAgID4gcGFnZSAoYHRpdGxlYCwgYHVybGAs
IGBoYXNPbmx5U2VjdXJlQ29udGVudGApLCBuYXZpZ2F0aW9ucworICAgICAgICA+IChgZXN0aW1h
dGVkUHJvZ3Jlc3NgLCBgaXNMb2FkaW5nYCksIGFuZCBiYWNrL2ZvcndhcmQgaGlzdG9yeQorICAg
ICAgICA+IChgY2FuR29CYWNrYCwgYGNhbkdvRm9yd2FyZGApLiBJdCBhbHNvIG9mZmVycyBpbXBl
cmF0aXZlIG1ldGhvZHMKKyAgICAgICAgPiBmb3IgbmF2aWdhdGlvbiB3aGljaCBtYXAgMToxIHdp
dGggb3VyIGV4aXN0aW5nIE9iamVjdGl2ZS1DIEFQSS4KKyAgICAgICAgPgorICAgICAgICA+IHN0
cnVjdCBCcm93c2VyVmlldyA6IFZpZXcgeworICAgICAgICA+ICAgICBAU3RhdGVPYmplY3QgdmFy
IHN0YXRlID0gV2ViVmlld1N0YXRlKGluaXRpYWxVUkw6IFVSTChzdHJpbmc6ICJodHRwczovL2Fw
cGxlLmNvbSIpISkKKyAgICAgICAgPiAgICAgdmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAg
ID4gICAgICAgICBIU3RhY2sgeworICAgICAgICA+ICAgICAgICAgICAgIFRleHQodmVyYmF0aW06
IHN0YXRlLnRpdGxlID8/ICJOb3RoaW5nIExvYWRlZCIpCisgICAgICAgID4gICAgICAgICAgICAg
VGV4dCh2ZXJiYXRpbTogc3RhdGUudXJsID8/ICItLSIpCisgICAgICAgID4gICAgICAgICAgICAg
V2ViVmlldyhzdGF0ZTogc3RhdGUpCisgICAgICAgID4gICAgICAgICB9CisgICAgICAgID4gICAg
IH0KKyAgICAgICAgPiB9CisgICAgICAgID4KKyAgICAgICAgPiBKYXZhU2NyaXB0IGRpYWxvZ3Mg
YXJlIHN1cHBvcnRlZCB3aXRoIGJvdGggYnVpbHQtaW4gYmVoYXZpb3IgZm9yIGFsbAorICAgICAg
ICA+IGNsaWVudHMsIGFuZCBhIGN1c3RvbWl6YXRpb24gcG9pbnQgaWYgZGVzaXJlZC4gQ2xpZW50
cyBjYW4gcGFzcyBhCisgICAgICAgID4gYEJpbmRpbmc8RGlhbG9nPz5gIHRvIHRoZWlyIGBXZWJW
aWV3YCB0byBkaXNhYmxlIHRoZSBidWlsdC1pbgorICAgICAgICA+IGRpc3BsYXksIGFuZCBwcm92
aWRlIGN1c3RvbSBoYW5kbGluZy4KKyAgICAgICAgPgorICAgICAgICA+IE5hdmlnYXRpb24gcG9s
aWNpZXMgY2FuIGJlIGN1c3RvbWl6ZWQgdXNpbmcKKyAgICAgICAgPiBgd2ViVmlld05hdmlnYXRp
b25Qb2xpY3kob25BY3Rpb246b25SZXNwb25zZTopYCB0byBwcm92aWRlIGN1c3RvbQorICAgICAg
ICA+IGRlY2lkZXIgZm9yIHRoZSBhY3Rpb24gYW5kIHJlc3BvbnNlIHBoYXNlcy4gVGhlc2UgcHJv
cGFnYXRlIHZpYSB0aGUKKyAgICAgICAgPiBlbnZpcm9ubWVudCwgYWxsb3dpbmcgdGhlbSB0byBi
ZSBkZWZpbmVkIGF0IGFuIGFwcCwgd2luZG93LCBvcgorICAgICAgICA+IGluZGl2aWR1YWwgdmll
dyBsZXZlbC4KKyAgICAgICAgPgorICAgICAgICA+IEZ1dHVyZSBEaXJlY3Rpb25zCisgICAgICAg
ID4KKyAgICAgICAgPiBUbyBtYWtlIGBXZWJWaWV3YCBhcyBkZWNsYXJhdGl2ZSBhcyBwb3NzaWJs
ZSwgd2UncmUgaW52ZXN0aWdhdGluZworICAgICAgICA+IGhvdyB0byBtYWtlIGJyb2FkZXIgdXNl
IG9mIGBCaW5kaW5nYCBmb3IgbmF2aWdhdGlvbi4gQXMgYSBzaW1wbGUKKyAgICAgICAgPiBleGFt
cGxlLCB5b3UgY291bGQgaW1hZ2luZSBpZiB0aGUgYFdlYlZpZXdgJ3MgaW5pdGlhbGl6ZXIgdG9v
ayBhCisgICAgICAgID4gYEJpbmRpbmc8VVJMPz5gIGZvciB0aGUgY3VycmVudCBwYWdlLiBIb3dl
dmVyLCB0aGlzIGRlc2lnbiBhbG9uZSBpcworICAgICAgICA+IHRvbyBzaW1wbGlzdGljIHRvIG1v
ZGVsIGFsbCBzdGF0ZXMgdGhhdCB0aGUgd2ViIHZpZXcgY291bGQgYmUsIHNvIHdlCisgICAgICAg
ID4gd2lsbCBsaWtlbHkgbmVlZCB0byBpbnRyb2R1Y2UgYSBtb3JlIGNvbXBsZXggdHlwZSBmb3Ig
dGhlIGJpbmRpbmcuCisgICAgICAgID4KKyAgICAgICAgPiBDdXJyZW50bHkgbmF2aWdhdGlvbiBw
b2xpY2llcyBhcmUgYXR0YWNoZWQgdmlhIGBWaWV3YCBtb2RpZmllcnMuCisgICAgICAgID4gVGhp
cyBoYXMgdGhlIGJlbmVmaXQgdGhhdCB0aGV5IGNhbiBiZSBpbnN0YWxsZWQgYXQgdGhlIHJvb3Qg
b2YgYW4KKyAgICAgICAgPiBhcHBsaWNhdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBhIHdlYiBi
cm93c2VyIHdoZXJlIGFsbCB0YWJzIHdhbnQKKyAgICAgICAgPiB0byBoYXZlIHVuaWZvcm0gcG9s
aWNpZXMuIEdpdmVuIHRoZSBudW1iZXIgb2YgY3VzdG9taXphdGlvbiBwb2ludHMKKyAgICAgICAg
PiBpbiBleGlzdGluZyBgV0tXZWJWaWV3YCBkZWxlZ2F0ZXMsIHRoaXMgbWF5IGZhaWwgdG8gc2Nh
bGUgYW5kIGxlYWQKKyAgICAgICAgPiB0byB1bmRlc2lyYWJsZSBlcmdvbm9taWNzLiBBbm90aGVy
IGFwcHJvYWNoIHdvdWxkIHRvIGJlIGp1c3QgdXNlIGEKKyAgICAgICAgPiBkZWxlZ2F0ZSBwcm90
b2NvbCAoYSBsYSBEcm9wRGVsZWdhdGU6CisgICAgICAgID4gaHR0cHM6Ly9kZXZlbG9wZXIuYXBw
bGUuY29tL2RvY3VtZW50YXRpb24vc3dpZnR1aS9kcm9wZGVsZWdhdGUpLgorICAgICAgICA+Cisg
ICAgICAgID4gQXMgYSBwcmFjdGljYWwgbWF0dGVyLCB3ZSB3YW50IHRvIG1pbmltaXplIHRoZSBh
bW91bnQgb2Ygd29yayB0aGF0CisgICAgICAgID4gYWRkaW5nIG5ldyBmdW5jdGlvbmFsaXR5IHRv
IFdlYktpdCBBUEkgaW5jdXJzIGZvciBlbmdpbmVlcnMuIFdoaWxlCisgICAgICAgID4gd2UgY291
bGQgcmVkZWZpbmUgZXZlcnkgT2JqZWN0aXZlLUMgdHlwZSBmb3IgU3dpZnRVSSwgYnV0IHRoaXMg
Y291bGQKKyAgICAgICAgPiBsZWFkIHRvIFN3aWZ0VUkgZmFsbGluZyBiZWhpbmQgYXMgb3VyIE9i
amVjdGl2ZS1DIEFQSSBnZXRzIHVwZGF0ZWQuCisgICAgICAgID4gV2UgY291bGQgdXNlIHRvb2xz
IGxpa2UgYEBkeW5hbWljTWVtYmVyTG9va3VwYCB0byBhdXRvbWF0aWNhbGx5IHB1bGwKKyAgICAg
ICAgPiBvdXIgT2JqZWN0aXZlLUMgQVBJcyBvdmVyIHRvIFN3aWZ0LCBob3dldmVyIHRoaXMgY291
bGQgaGF2ZQorICAgICAgICA+IHVuZGVzaXJhYmxlIGltcGFjdCBvdXIgb3VyIEFCSS4gVGhlcmUg
bWF5IGJlIGEgYmV0dGVyIGNvbXByb21pc2Ugd2UKKyAgICAgICAgPiBoYXZlbuKAmXQgeWV0IHJl
YWNoZWQuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMv
RGVidWcueGNjb25maWc6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRp
b25zL01pbmlCcm93c2VyU3dpZnRVSS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3
aWZ0VUkvQ29uZmlndXJhdGlvbnMvUmVsZWFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJv
d3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvV2ViS2l0X1N3aWZ0VUkueGNjb25maWc6CisgICAg
ICAgICogTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3
aWZ0VUkueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvTWluaUJyb3dzZXJTd2lmdFVJ
Lnhjc2NoZW1lOgorICAgICAgICBBZGRlZCB0aGUgbmV3IHByb2plY3QgYW5kIGl0cyBjb25maWd1
cmF0aW9uLiBUaGUgcHJvamVjdCB3YXMgZ2VuZXJhdGVkCisgICAgICAgIGZyb20gWGNvZGUncyAi
TXVsdGlwbGF0Zm9ybSBBcHAiIHRlbXBsYXRlLiBUaGVyZSBhcmUgdHdvIHRhcmdldHM6IHRoZQor
ICAgICAgICBNaW5pQnJvd3NlclN3aWZ0VUkgYXBwLCBhbmQgdGhlIF9XZWJLaXRfU3dpZnRVSSBm
cmFtZXdvcmsuIEJvdGggYXJlCisgICAgICAgIGNyb3NzLXBsYXRmb3JtLiBUaGUgYnVpbGQgc2V0
dGluZ3Mgd2VyZSBleHRyYWN0ZWQgb3V0IG9mIHRoZSAucGJ4cHJvagorICAgICAgICBpbnRvIHRo
ZSAueGNjb25maWcgZmlsZXMuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVk
L0Fzc2V0cy54Y2Fzc2V0cy9BY2NlbnRDb2xvci5jb2xvcnNldC9Db250ZW50cy5qc29uOgorICAg
ICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0FwcEljb24u
YXBwaWNvbnNldC9Db250ZW50cy5qc29uOgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9T
aGFyZWQvQXNzZXRzLnhjYXNzZXRzL0NvbnRlbnRzLmpzb246CisgICAgICAgICogTWluaUJyb3dz
ZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvVVJMRmllbGRCYWNrZ3JvdW5kLmNvbG9y
c2V0L0NvbnRlbnRzLmpzb246CisgICAgICAgIERlZmluZXMgYSBjb3VwbGUgb2YgY29sb3JzIGFu
ZCBhbiBlbXB0eSBpY29uIGZvciB0aGUgYXBwLgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lm
dFVJL2lPUy9JbmZvLnBsaXN0OgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9tYWNPUy9J
bmZvLnBsaXN0OgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9tYWNPUy9tYWNPUy5lbnRp
dGxlbWVudHM6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dl
YktpdF9Td2lmdFVJLUluZm8ucGxpc3Q6IEFkZGVkLgorICAgICAgICBBZGRlZCB0aGVzZSBmaWxl
cyBnZW5lcmF0ZWQgYnkgWGNvZGUuIFRoZSBvbmx5IGNoYW5nZSB3YXMgYWRkaW5nCisgICAgICAg
IGNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3JrLmNsaWVudCB0byB0aGUgZW50aXRsZW1lbnRzIHNv
IHRoZSBicm93c2VyCisgICAgICAgIGNhbiBjb25uZWN0IHRvIHNlcnZlcnMuCisKKyAgICAgICAg
KiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJBcHAuc3dpZnQ6IEFkZGVkLiBUaGlz
IGlzIHRoZSBlbnRyeQorICAgICAgICBwb2ludCBvZiB0aGUgYXBwLCBhbmQganVzdCBzZXRzIHVw
IGEgQnJvd3NlclNjZW5lLgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9C
cm93c2VyU2NlbmUuc3dpZnQ6IEFkZGVkLiBUaGlzIHNldHMgdXAKKyAgICAgICAgdGhlIGJyb3dz
ZXIncyB3aW5kb3dzLCBlYWNoIG9mIHdoaWNoIGp1c3QgY29udGFpbiBhIHNpbmdsZSBCcm93c2Vy
VGFiLgorICAgICAgICBPbiBpT1Mgd2Ugd3JhcCB0aGUgQnJvd3NlclRhYiBpbiBhIE5hdmlnYXRp
b25WaWV3IHNvIHRoZXJlIHdpbGwgYmUKKyAgICAgICAgc29tZXdoZXJlIHRvIHNob3cgb3VyIHRv
b2xiYXIgYnV0dG9ucy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJv
d3NlclRhYi5zd2lmdDogQWRkZWQuIFRoaXMgaXMgdGhlIGhlYXJ0CisgICAgICAgIG9mIHRoZSBi
cm93c2VyLgorICAgICAgICAoQnJvd3NlclRhYi5ib2R5KTogU2V0cyB1cCB0aGUgV2ViVmlldyBp
dHNlbGYgcGx1cyBzb21lIHRvb2xiYXIgaXRlbXM6CisgICAgICAgIHRoZSBiYWNrL2ZvcndhcmQg
YnV0dG9ucyBhbmQgVVJMIGZpZWxkLgorICAgICAgICAoQnJvd3NlclRhYi5vbk5hdmlnYXRlKHRv
OikpOiBDYWxsYmFjayBjYWxsZWQgd2hlbiB0aGUgdXNlciBwcmVzc2VzCisgICAgICAgIFJldHVy
biBpbiB0aGUgVVJMIGZpZWxkLgorICAgICAgICAoQnJvd3NlclRhYi5kZWNpZGVQb2xpY3koZm9y
OnN0YXRlOikpOiBDYWxsYmFjayBjYWxsZWQgd2hlbiB0aGUKKyAgICAgICAgV2ViVmlldyBpcyBh
Ym91dCB0byBuYXZpZ2F0ZSwgc2ltaWxhciB0byBXS05hdmlnYXRpb25EZWxlZ2F0ZSdzCisgICAg
ICAgIC13ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5k
bGVyOi4KKyAgICAgICAgKEJyb3dzZXJUYWIubWFrZUV4dGVybmFsTmF2aWdhdGlvbkFsZXJ0KF86
KSk6IERpc3BsYXlzIGFuIGFsZXJ0IHRvIGxldAorICAgICAgICB0aGUgdXNlciBkZWNpZGUgd2hl
dGhlciB0byBmb2xsb3cgYSBVUkwgdGhhdCB3aWxsIG9wZW4gaW4gc29tZSBvdGhlcgorICAgICAg
ICBhcHBsaWNhdGlvbi4KKyAgICAgICAgKFVzZXJJbnB1dCk6IFJlcHJlc2VudHMgdGV4dCB0eXBl
ZCBpbiB0aGUgVVJMIGZpZWxkIGFmdGVyIGRldGVybWluaW5nCisgICAgICAgIHdoZXRoZXIgaXQg
aXMgYSBVUkwgb3IgYSBzZWFyY2ggcXVlcnkuCisgICAgICAgIChFeHRlcm5hbFVSTE5hdmlnYXRp
b24pOiBQcm92aWRlcyB0aGUgZGF0YSBmb3IgdGhlIGV4dGVybmFsIG5hdmlnYXRpb24KKyAgICAg
ICAgYWxlcnQuCisgICAgICAgIChCcm93c2VyVGFiX1ByZXZpZXdzKTogU2hvd3MgYSBjYW5uZWQg
QnJvd3NlclRhYiBpbiBYY29kZSdzIHByZXZpZXcKKyAgICAgICAgY2FudmFzLgorCisgICAgICAg
ICogTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0aW9uRXh0cmFzLnN3aWZ0OiBBZGRl
ZC4gUHJvdmlkZXMgYQorICAgICAgICBmZXcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIFVSTHMuCisK
KyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL1VSTEZpZWxkLnN3aWZ0OiBBZGRl
ZC4KKyAgICAgICAgKFVSTEZpZWxkKTogVGhlIFN3aWZ0VUkgdmlldyB5b3UgdXNlIGRpcmVjdGx5
LiBJdCBjb250YWlucyBhIGxlYWRpbmcKKyAgICAgICAgZ2x5cGggKGUuZy4sIGEgbG9jayBpY29u
IHdoZW4gdmlld2luZyBhIHNlY3VyZSBwYWdlKSwgYSB0ZXh0IGZpZWxkLAorICAgICAgICBhIHRy
YWlsaW5nIGFjY2Vzc29yeSB2aWV3IHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXIsIGFuZCBhIHByb2dy
ZXNzIGJhci4KKyAgICAgICAgSXQgYWxzbyBzdXBwb3J0cyBjYWxsYmFja3MgdG8gbm90aWZ5IHRo
ZSBjYWxsZXIgd2hlbiB0aGUgdGV4dCBmaWVsZAorICAgICAgICBnYWlucy9sb3NlcyBmb2N1cyBh
bmQgd2hlbiB0aGUgdXNlciBoYXMgY29tbWl0dGVkIHRoZSB0ZXh0IGluIHRoZQorICAgICAgICBm
aWVsZCAoZS5nLiwgYnkgcHJlc3NpbmcgUmV0dXJuKS4KKyAgICAgICAgKEJhY2tncm91bmQpOiBU
aGUgYmFja2dyb3VuZCB2aWV3IGZvciB0aGUgVVJMRmllbGQsIHdoaWNoIGRlZmluZXMgYm90aAor
ICAgICAgICB0aGUgcm91bmRlZCByZWN0YW5nbGUgc2hhcGUgZm9yIHRoZSBmaWVsZCBhbmQgdGhl
IHByb2dyZXNzIGJhci4KKyAgICAgICAgKFVSTEZpZWxkX1ByZXZpZXdzKTogU2hvd3Mgc29tZSBj
YW5uZWQgVVJMRmllbGRzIGluIFhjb2RlJ3MgcHJldmlldworICAgICAgICBjYW52YXMuCisKKyAg
ICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvRGlhbG9nLnN3aWZ0OiBB
ZGRlZC4KKyAgICAgICAgKERpYWxvZyk6IFJlcHJlc2VudHMgYSBzaW5nbGUgSmF2YVNjcmlwdCBk
aWFsb2cgKGFsZXJ0LCBjb25maXJtLCBvcgorICAgICAgICBwcm9tcHQpLgorICAgICAgICAoRGlh
bG9nQ29udGFpbmVyKTogUHJvdmlkZXMgdGhlIGRlZmF1bHQgVUkgc2hhcmVkIGJ5IGFsbCBKYXZh
U2NyaXB0CisgICAgICAgIGRpYWxvZyB0eXBlcy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dp
ZnRVSS9XZWJLaXRfU3dpZnRVSS9KYXZhU2NyaXB0RGlhbG9ncy5zd2lmdDogQWRkZWQuCisgICAg
ICAgIChKYXZhU2NyaXB0QWxlcnQpOiBEZWZhdWx0IFVJIGZvciBhIEphdmFTY3JpcHQgYWxlcnQg
ZGlhbG9nLgorICAgICAgICAoSmF2YVNjcmlwdENvbmZpcm0pOiBEZWZhdWx0IFVJIGZvciBhIEph
dmFTY3JpcHQgY29uZmlybSBkaWFsb2cuCisgICAgICAgIChKYXZhU2NyaXB0UHJvbXB0KTogRGVm
YXVsdCBVSSBmb3IgYSBKYXZhU2NyaXB0IHByb21wdCBkaWFsb2cuCisKKyAgICAgICAgKiBNaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvTmF2aWdhdGlvbi5zd2lmdDogQWRkZWQuCisg
ICAgICAgIChWaWV3LndlYlZpZXdOYXZpZ2F0aW9uUG9saWN5KG9uQWN0aW9uOikpOgorICAgICAg
ICAoVmlldy53ZWJWaWV3TmF2aWdhdGlvblBvbGljeShvblJlc3BvbnNlOikpOgorICAgICAgICAo
Vmlldy53ZWJWaWV3TmF2aWdhdGlvblBvbGljeShvbkFjdGlvbjpvblJlc3BvbnNlOikpOgorICAg
ICAgICBUaGVzZSBsZXQgdGhlIGFwcGxpY2F0aW9uIHNwZWNpZnkgbmF2aWdhdGlvbiBwb2xpY3kg
bG9naWMgZm9yIGFueQorICAgICAgICBkZXNjZW5kYW50IFdlYlZpZXdzIGluIHRoZSB2aWV3IGhp
ZXJhcmNoeSwgdXNpbmcgU3dpZnRVSSdzIEVudmlyb25tZW50CisgICAgICAgIGZhY2lsaXR5Lgor
ICAgICAgICAoTmF2aWdhdGlvbkFjdGlvbik6IElkaW9tYXRpYyBTd2lmdFVJIHdyYXBwZXIgYXJv
dW5kCisgICAgICAgIFdLTmF2aWdhdGlvbkFjdGlvbiBhbmQgaXRzIGRlY2lzaW9uIGhhbmRsZXIg
Y2FsbGJhY2suCisgICAgICAgIChOYXZpZ2F0aW9uUmVzcG9uc2UpOiBJZGlvbWF0aWMgU3dpZnRV
SSB3cmFwcGVyIGFyb3VuZAorICAgICAgICBXS05hdmlnYXRpb25SZXNwb25zZSBhbmQgaXRzIGRl
Y2lzaW9uIGhhbmRsZXIgY2FsbGJhY2suCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkv
V2ViS2l0X1N3aWZ0VUkvU3dpZnRVSUV4dHJhcy5zd2lmdDogQWRkZWQuCisgICAgICAgIChDb2xv
ci5wbGF0Zm9ybVNlcGFyYXRvcik6CisgICAgICAgIChDb2xvci5wbGF0Zm9ybUJhY2tncm91bmQp
OgorICAgICAgICBDcm9zcy1wbGF0Zm9ybSB3cmFwcGVycyBhcm91bmQgcGxhdGZvcm0tc3BlY2lm
aWMgY29sb3JzLgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJ
L1dlYlZpZXcuc3dpZnQ6IEFkZGVkLgorICAgICAgICAoV2ViVmlldyk6IFRoZSBoZWFydCBvZiB0
aGUgU3dpZnRVSSBBUEkuIFlvdSBwcm92aWRlIGl0IGEgV2ViVmlld1N0YXRlCisgICAgICAgIHN0
cnVjdCB0byByZXByZXNlbnQgYW5kIGNvbnRyb2wgaXRzIHN0YXRlIChzaW1pbGFyIHRvIEFWRm91
bmRhdGlvbidzCisgICAgICAgIFZpZGVvUGxheWVyIHZpZXcgY29udHJvbGxlZCBieSBBVlBsYXll
cikuIFlvdSBjYW4gb3B0aW9uYWxseSBwcm92aWRlIGEKKyAgICAgICAgQmluZGluZyB0byBiZSBu
b3RpZmllZCBvZiB0aGUgY3VycmVudCBKYXZhU2NyaXB0IGRpYWxvZyB0aGF0IHRoZSB3ZWIKKyAg
ICAgICAgY29udGVudCB3aXNoZXMgdG8gZGlzcGxheS4gSWYgeW91IGRvbid0IHByb3ZpZGUgdGhp
cyBiaW5kaW5nLCBXZWJWaWV3CisgICAgICAgIHdpbGwgcHJlc2VudCB0aGUgZGlhbG9nIHVzaW5n
IGRlZmF1bHQgVUkuCisgICAgICAgIChXZWJWaWV3LmRpYWxvZ1ZpZXcpOiBDb25maWd1cmVzIHRo
ZSBkZWZhdWx0IGRpYWxvZyBVSSBpZiB0aGUgY2FsbGVyCisgICAgICAgIGRvZXNuJ3Qgd2FudCB0
byBoYW5kbGUgZGlhbG9ncyBvbiBpdHMgb3duLgorICAgICAgICAoX1dlYlZpZXcpOiBJbnRlcm5h
bCB2aWV3IHRoYXQgYnJpZGdlcyBTd2lmdFVJIHRvIFdLV2ViVmlldy4KKyAgICAgICAgKENvb3Jk
aW5hdG9yKTogSW50ZXJuYWwgY2xhc3MgdGhhdCBmdW5jdGlvbnMgYXMgdGhlIFdLV2ViVmlldydz
CisgICAgICAgIFdLTmF2aWdhdGlvbkRlbGVnYXRlIGFuZCBXS1VJRGVsZWdhdGUuCisgICAgICAg
IChDb29yZGluYXRvci53ZWJWaWV3KF86ZGVjaWRlUG9saWN5Rm9yOnByZWZlcmVuY2VzOmRlY2lz
aW9uSGFuZGxlcjopKToKKyAgICAgICAgTG9va3MgZm9yIGEgbmF2aWdhdGlvbiBkZWNpZGVyIGlu
IHRoZSB2aWV3J3MgZW52aXJvbm1lbnQgYW5kIGRlbGVnYXRlcworICAgICAgICB0byBpdCBpZiBm
b3VuZCwgb3RoZXJ3aXNlIGFsbG93cyBhbGwgbmF2aWdhdGlvbnMuCisKKyAgICAgICAgKENvb3Jk
aW5hdG9yLndlYlZpZXcoXzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRp
YXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KSk6CisgICAgICAgIChDb29yZGluYXRvci53
ZWJWaWV3KF86cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5
RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KSk6CisgICAgICAgIChDb29yZGluYXRvci53ZWJWaWV3
KF86cnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdDpkZWZhdWx0VGV4dDppbml0
aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOikpOgorICAgICAgICBQYXNzZXMgdGhlIGRp
YWxvZyBpbmZvcm1hdGlvbiB1cCB0byB0aGUgV2ViVmlldywgd2hpY2ggdGhlbiBkZWNpZGVzCisg
ICAgICAgIHdoZXRoZXIgdG8gcHJlc2VudCBkZWZhdWx0IFVJIGl0c2VsZiBvciBsZXQgdGhlIGNh
bGxlciBoYW5kbGUgaXQuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3
aWZ0VUkvV2ViVmlld01vZGlmaWVycy5zd2lmdDogQWRkZWQuCisgICAgICAgIChWaWV3LndlYlZp
ZXdBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcyhfOikpOiBTcGVjaWZpZXMKKyAg
ICAgICAgd2hldGhlciBXZWJWaWV3cyBiZWxvdyB0aGlzIHBvaW50IGluIHRoZSB2aWV3IGhpZXJh
cmNoeSBzaG91bGQgc3VwcG9ydAorICAgICAgICBzd2lwZSBnZXN0dXJlcyB0byBuYXZpZ2F0ZSBi
YWNrL2ZvcndhcmQuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0
VUkvV2ViVmlld1N0YXRlLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKFdlYlZpZXdTdGF0ZSk6IFJl
cHJlc2VudHMgdGhlIHN0YXRlIGFuZCBhY3Rpb25zIG9mIGEgV2ViVmlldy4KKyAgICAgICAgQ29u
Zm9ybXMgdG8gT2JzZXJ2YWJsZU9iamVjdCBzbyBTd2lmdFVJIHZpZXdzIGNhbiByZWFjdCB0byBj
aGFuZ2VzIGluCisgICAgICAgIHRoZSBXZWJWaWV3U3RhdGUuCisgICAgICAgIChXZWJWaWV3U3Rh
dGUud2ViVmlldyhfOmRpZENoYW5nZUtleVBhdGg6KSk6IERldGVjdHMgd2hlbiB0aGUKKyAgICAg
ICAgV0tXZWJWaWV3J3Mgc3RhdGUgaGFzIGNoYW5nZWQgdmlhIEtWTyBhbmQgcmVmbGVjdHMgdGhv
c2UgdGhyb3VnaCB0aGUKKyAgICAgICAgT2JzZXJ2YWJsZU9iamVjdC5vYmplY3RXaWxsQ2hhbmdl
IG1lY2hhbmlzbSBzbyBTd2lmdFVJIHZpZXdzIHdpbGwgYmUKKyAgICAgICAgdXBkYXRlZC4KKwor
ICAgICAgICAoV2ViVmlld1N0YXRlLmNhbkdvQmFjayk6CisgICAgICAgIChXZWJWaWV3U3RhdGUu
Y2FuR29Gb3J3YXJkKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS50aXRsZSk6CisgICAgICAgIChX
ZWJWaWV3U3RhdGUudXJsKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS5pc0xvYWRpbmcpOgorICAg
ICAgICAoV2ViVmlld1N0YXRlLmVzdGltYXRlZFByb2dyZXNzKToKKyAgICAgICAgKFdlYlZpZXdT
dGF0ZS5oYXNPbmx5U2VjdXJlQ29udGVudCk6CisgICAgICAgIFdyYXBwZXJzIGFyb3VuZCBXS1dl
YlZpZXcgcHJvcGVydGllcy4KKworICAgICAgICAoV2ViVmlld1N0YXRlLmxvYWQoXzopKToKKyAg
ICAgICAgKFdlYlZpZXdTdGF0ZS5nb0JhY2spOgorICAgICAgICAoV2ViVmlld1N0YXRlLmdvRm9y
d2FyZCk6CisgICAgICAgIChXZWJWaWV3U3RhdGUucmVsb2FkKToKKyAgICAgICAgKFdlYlZpZXdT
dGF0ZS5zdG9wTG9hZGluZyk6CisgICAgICAgIChXZWJWaWV3U3RhdGUuY3JlYXRlUERGKGNvbmZp
Z3VyYXRpb246Y29tcGxldGlvbjopKToKKyAgICAgICAgV3JhcHBlcnMgYXJvdW5kIFdLV2ViVmll
dyBtZXRob2RzLgorCiAyMDIwLTEwLTI4ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW5hbWUgYnVpbGQud2Via2l0Lm9yZy1jb25maWcgZGlyZWN0b3J5
IHRvIGJ1aWxkLXdlYmtpdC1vcmcKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UxZTA5YWNjNTM1YjI1
ODE4OGFlNTIzMmEwMGFjYjIzODRjNDJjZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0wLDAgKzEsNzcg
QEAKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKy8vIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8g
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisvLyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisvLyBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorLy8gU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorLy8gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKy8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKy8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKy8vCisKK1NES1JPT1QgPSBtYWNvc3guaW50ZXJuYWwKKworSVBIT05FT1NfREVQ
TE9ZTUVOVF9UQVJHRVQgPSAxNC4wCitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMS4wCitT
VVBQT1JURURfUExBVEZPUk1TID0gaXBob25lc2ltdWxhdG9yIGlwaG9uZW9zIG1hY29zeAorVEFS
R0VURURfREVWSUNFX0ZBTUlMWSA9IDEsMiw2CisKK1NXSUZUX1ZFUlNJT04gPSA1LjAKKworQUxX
QVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk8KK0NPUFlfUEhBU0VfU1RSSVAgPSBOTworCitDTEFO
R19BTkFMWVpFUl9OT05OVUxMID0gWUVTCitDTEFOR19BTkFMWVpFUl9OVU1CRVJfT0JKRUNUX0NP
TlZFUlNJT04gPSBZRVNfQUdHUkVTU0lWRQorQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0g
Z251KysxNAorQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKysKK0NMQU5HX0VOQUJMRV9NT0RVTEVT
ID0gWUVTCitDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVMKK0NMQU5HX0VOQUJMRV9PQkpDX1dF
QUsgPSBZRVMKK0NMQU5HX1dBUk5fQkxPQ0tfQ0FQVFVSRV9BVVRPUkVMRUFTSU5HID0gWUVTCitD
TEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUworQ0xBTkdfV0FSTl9DT01NQSA9IFlFUwor
Q0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19XQVJOX0RFUFJFQ0FU
RURfT0JKQ19JTVBMRU1FTlRBVElPTlMgPSBZRVMKK0NMQU5HX1dBUk5fRElSRUNUX09CSkNfSVNB
X1VTQUdFID0gWUVTX0VSUk9SCitDTEFOR19XQVJOX0RPQ1VNRU5UQVRJT05fQ09NTUVOVFMgPSBZ
RVMKK0NMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUworQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJ
T04gPSBZRVMKK0NMQU5HX1dBUk5fSU5GSU5JVEVfUkVDVVJTSU9OID0gWUVTCitDTEFOR19XQVJO
X0lOVF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19XQVJOX05PTl9MSVRFUkFMX05VTExfQ09OVkVS
U0lPTiA9IFlFUworQ0xBTkdfV0FSTl9PQkpDX0lNUExJQ0lUX1JFVEFJTl9TRUxGID0gWUVTCitD
TEFOR19XQVJOX09CSkNfTElURVJBTF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19XQVJOX09CSkNf
Uk9PVF9DTEFTUyA9IFlFU19FUlJPUgorQ0xBTkdfV0FSTl9RVU9URURfSU5DTFVERV9JTl9GUkFN
RVdPUktfSEVBREVSID0gWUVTCitDTEFOR19XQVJOX1JBTkdFX0xPT1BfQU5BTFlTSVMgPSBZRVMK
K0NMQU5HX1dBUk5fU1RSSUNUX1BST1RPVFlQRVMgPSBZRVMKK0NMQU5HX1dBUk5fU1VTUElDSU9V
U19NT1ZFID0gWUVTCitDTEFOR19XQVJOX1VOR1VBUkRFRF9BVkFJTEFCSUxJVFkgPSBZRVNfQUdH
UkVTU0lWRQorQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTCitDTEFOR19XQVJOX19E
VVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTCitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9
IFlFUworR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUxMQorR0NDX0RZTkFNSUNfTk9fUElD
ID0gTk8KK0dDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTCitHQ0NfV0FSTl82NF9UT18zMl9CSVRf
Q09OVkVSU0lPTiA9IFlFUworR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVNfRVJST1IK
K0dDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1IgPSBZRVMKK0dDQ19XQVJOX1VOSU5JVElBTEla
RURfQVVUT1MgPSBZRVNfQUdHUkVTU0lWRQorR0NDX1dBUk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVT
CitHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVMKK01UTF9GQVNUX01BVEggPSBZRVMKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9EZWJ1Zy54
Y2NvbmZpZyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9EZWJ1Zy54
Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZGI1NmZiYjVmYTI3MmI1MTkzMmE4MDUyNWZjYjJjZjRlZTdj
MmM4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3Vy
YXRpb25zL0RlYnVnLnhjY29uZmlnCkBAIC0wLDAgKzEsMzkgQEAKKy8vCisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8v
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8v
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKy8vIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisvLyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisvLyBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorLy8gU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorLy8gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKy8vIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKy8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKy8vCisKKyNpbmNs
dWRlICJCYXNlLnhjY29uZmlnIgorCitPTkxZX0FDVElWRV9BUkNIID0gWUVTCisKK0dDQ19PUFRJ
TUlaQVRJT05fTEVWRUwgPSAwCitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gREVCVUc9
MSAkKGluaGVyaXRlZCkKKworREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmYKK0VOQUJM
RV9URVNUQUJJTElUWSA9IFlFUworCitTV0lGVF9BQ1RJVkVfQ09NUElMQVRJT05fQ09ORElUSU9O
UyA9IERFQlVHCitTV0lGVF9PUFRJTUlaQVRJT05fTEVWRUwgPSAtT25vbmUKKworTVRMX0VOQUJM
RV9ERUJVR19JTkZPID0gSU5DTFVERV9TT1VSQ0UKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9NaW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcgYi9U
b29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvTWluaUJyb3dzZXJTd2lmdFVJ
LnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZDUwNTliYTVkNDA4OTkwYzEyM2JmZjBlYTlhZjU1NTdm
ZTgyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmln
dXJhdGlvbnMvTWluaUJyb3dzZXJTd2lmdFVJLnhjY29uZmlnCkBAIC0wLDAgKzEsMzkgQEAKKy8v
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Ky8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKy8vIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisvLyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisvLyBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorLy8gU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorLy8gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKy8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKy8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKy8vCisKK1BST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSBvcmcud2Via2l0Lk1pbmlCcm93
c2VyU3dpZnRVSQorUFJPRFVDVF9OQU1FID0gTWluaUJyb3dzZXJTd2lmdFVJCisKK0NPREVfU0lH
Tl9FTlRJVExFTUVOVFNbc2RrPW1hY29zeCpdID0gbWFjT1MvbWFjT1MuZW50aXRsZW1lbnRzCitJ
TkZPUExJU1RfRklMRSA9IG1hY09TL0luZm8ucGxpc3QKK0lORk9QTElTVF9GSUxFW3Nkaz1pcGhv
bmVvcypdID0gaU9TL0luZm8ucGxpc3QKKworQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0FQUElDT05f
TkFNRSA9IEFwcEljb24KK0FTU0VUQ0FUQUxPR19DT01QSUxFUl9HTE9CQUxfQUNDRU5UX0NPTE9S
X05BTUUgPSBBY2NlbnRDb2xvcgorQ09NQklORV9ISURQSV9JTUFHRVNbc2RrPW1hY29zeCpdID0g
WUVTCisKK0xEX1JVTlBBVEhfU0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpIEBleGVjdXRhYmxl
X3BhdGgvRnJhbWV3b3JrcworCitFTkFCTEVfUFJFVklFV1MgPSBZRVMKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9SZWxlYXNlLnhjY29uZmlnIGIv
VG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL1JlbGVhc2UueGNjb25maWcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjAyMmRmZTllZmUzNjE0MzA3N2Q5NmMwYjk2OTE5MDc0YTQzZDI2ZQotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9S
ZWxlYXNlLnhjY29uZmlnCkBAIC0wLDAgKzEsMzcgQEAKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8g
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKy8vIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorLy8gUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisvLyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisvLyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorLy8gU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorLy8gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKy8vIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKy8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKy8vCisKKyNpbmNsdWRlICJC
YXNlLnhjY29uZmlnIgorCitFTkFCTEVfTlNfQVNTRVJUSU9OUyA9IE5PCisKK0RFQlVHX0lORk9S
TUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bQorCitTV0lGVF9DT01QSUxBVElPTl9NT0RF
ID0gd2hvbGVtb2R1bGUKK1NXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9IC1PCisKK01UTF9FTkFC
TEVfREVCVUdfSU5GTyA9IE5PCisKK1ZBTElEQVRFX1BST0RVQ1QgPSBZRVMKZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9XZWJLaXRfU3dpZnRVSS54
Y2NvbmZpZyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9XZWJLaXRf
U3dpZnRVSS54Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZmUxYTBiYjNkYWE2MTJjZTk1MTQ0ZDRiNDBi
ODFjYzJiYjMwMzE0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L0NvbmZpZ3VyYXRpb25zL1dlYktpdF9Td2lmdFVJLnhjY29uZmlnCkBAIC0wLDAgKzEsNDIgQEAK
Ky8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisvLyBhcmUgbWV0OgorLy8gMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKy8vIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorLy8gVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorLy8gUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisvLyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisvLyBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorLy8gU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisvLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorLy8gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKy8vIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKy8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKy8vCisKK1BST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSBvcmcud2Via2l0LldlYktp
dC1Td2lmdFVJCitQUk9EVUNUX05BTUUgPSBfV2ViS2l0X1N3aWZ0VUkKKworSU5GT1BMSVNUX0ZJ
TEUgPSBXZWJLaXRfU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS1JbmZvLnBsaXN0CisKK0NVUlJFTlRf
UFJPSkVDVF9WRVJTSU9OID0gMQorRFlMSUJfQ09NUEFUSUJJTElUWV9WRVJTSU9OID0gMQorRFlM
SUJfQ1VSUkVOVF9WRVJTSU9OID0gMQorVkVSU0lPTklOR19TWVNURU0gPSBhcHBsZS1nZW5lcmlj
CisKK0RFRklORVNfTU9EVUxFID0gWUVTCisKK0RZTElCX0lOU1RBTExfTkFNRV9CQVNFID0gQHJw
YXRoCitJTlNUQUxMX1BBVEggPSAkKExPQ0FMX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzCitTS0lQ
X0lOU1RBTEwgPSBZRVMKKworTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAkKGluaGVyaXRlZCkg
QGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzIEBsb2FkZXJfcGF0aC9GcmFtZXdvcmtzCmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvTWluaUJyb3dzZXJTd2lmdFVJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvTWluaUJyb3dz
ZXJTd2lmdFVJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTczYzI0NGE3
ZjFkMzU5YTUzZWUyZWY3ZmEwYzUzZTMyMzY5MzUxOAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMCwwICsxLDM1OSBAQAorLy8gISQqVVRGOCokIQoreworCWFyY2hpdmVWZXJz
aW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9IDUwOworCW9iamVj
dHMgPSB7CisKKy8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCUMwNUJFOEQzMjU0
OUVGREEwMDU1NEI5NCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOEJEMjU0OUVGREEwMDU1NEI5NCAvKiBBc3Nl
dHMueGNhc3NldHMgKi87IH07CisJCUMwNUJFOEZBMjU0OUYwN0EwMDU1NEI5NCAvKiBTd2lmdFVJ
RXh0cmFzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzA1QkU4RTEyNTQ5RjAyMjAwNTU0Qjk0IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgKi87IH07
CisJCUMwNUJFOEZCMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRThFNTI1NDlGMDIy
MDA1NTRCOTQgLyogV2ViVmlld1N0YXRlLnN3aWZ0ICovOyB9OworCQlDMDVCRThGQzI1NDlGMDdB
MDA1NTRCOTQgLyogV2ViVmlldy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMwNUJFOEU0MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3LnN3aWZ0
ICovOyB9OworCQlDMDVCRThGRDI1NDlGMDdBMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Mu
c3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVC
RThFMzI1NDlGMDIyMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQgKi87IH07CisJ
CUMwNUJFOEZFMjU0OUYwN0EwMDU1NEI5NCAvKiBOYXZpZ2F0aW9uLnN3aWZ0IGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU4REYyNTQ5RjAyMjAwNTU0
Qjk0IC8qIE5hdmlnYXRpb24uc3dpZnQgKi87IH07CisJCUMwNUJFOEZGMjU0OUYwN0EwMDU1NEI5
NCAvKiBEaWFsb2cuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMDVCRThFNjI1NDlGMDIyMDA1NTRCOTQgLyogRGlhbG9nLnN3aWZ0ICovOyB9Owor
CQlDMDVCRTkwMDI1NDlGMDdBMDA1NTRCOTQgLyogV2ViVmlld01vZGlmaWVycy5zd2lmdCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOEUwMjU0OUYw
MjIwMDU1NEI5NCAvKiBXZWJWaWV3TW9kaWZpZXJzLnN3aWZ0ICovOyB9OworCQlDMDVCRTkxQzI1
NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU5MTcyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJy
b3dzZXJTY2VuZS5zd2lmdCAqLzsgfTsKKwkJQzA1QkU5MUUyNTQ5RjFCMDAwNTU0Qjk0IC8qIFVS
TEZpZWxkLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzA1QkU5MTgyNTQ5RjFCMDAwNTU0Qjk0IC8qIFVSTEZpZWxkLnN3aWZ0ICovOyB9OworCQlD
MDVCRTkyMDI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclRhYi5zd2lmdCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOTE5MjU0OUYxQjAwMDU1NEI5
NCAvKiBCcm93c2VyVGFiLnN3aWZ0ICovOyB9OworCQlDMDVCRTkyMjI1NDlGMUIwMDA1NTRCOTQg
LyogQnJvd3NlckFwcC5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMwNUJFOTFBMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyQXBwLnN3aWZ0ICov
OyB9OworCQlDMDVCRTkyRTI1NDlGMUY3MDA1NTRCOTQgLyogRm91bmRhdGlvbkV4dHJhcy5zd2lm
dCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOTJB
MjU0OUYxRjcwMDU1NEI5NCAvKiBGb3VuZGF0aW9uRXh0cmFzLnN3aWZ0ICovOyB9OworCQlDMDVC
RTk0NDI1NDlGMjU0MDA1NTRCOTQgLyogV2ViS2l0X1N3aWZ0VUkueGNjb25maWcgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOTQyMjU0OUYyNTQw
MDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyAqLzsgfTsKKwkJQzA1QkU5N0YyNTQ5
RjgzOTAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRThFQzI1NDlGMDUzMDA1NTRC
OTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayAqLzsgfTsKKy8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJ
QzA1QkU4QkQyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZvbGRlci5hc3NldGNhdGFsb2c7
IHBhdGggPSBBc3NldHMueGNhc3NldHM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMw
NUJFOEM1MjU0OUVGREEwMDU1NEI5NCAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZv
LnBsaXN0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThDQTI1NDlFRkRBMDA1
NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJLmFwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5hcHBsaWNhdGlvbjsgaW5jbHVkZUluSW5k
ZXggPSAwOyBwYXRoID0gTWluaUJyb3dzZXJTd2lmdFVJLmFwcDsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKKwkJQzA1QkU4Q0MyNTQ5RUZEQTAwNTU0Qjk0IC8qIEluZm8ucGxp
c3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUMwNUJFOENEMjU0OUVGREEwMDU1NEI5NCAvKiBtYWNPUy5lbnRpdGxlbWVudHMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LmVu
dGl0bGVtZW50czsgcGF0aCA9IG1hY09TLmVudGl0bGVtZW50czsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzA1QkU4REYyNTQ5RjAyMjAwNTU0Qjk0IC8qIE5hdmlnYXRpb24uc3dpZnQg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLnN3aWZ0OyBwYXRoID0gTmF2aWdhdGlvbi5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzA1QkU4RTAyNTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYlZpZXdNb2RpZmllcnMuc3dp
ZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLnN3aWZ0OyBwYXRoID0gV2ViVmlld01vZGlmaWVycy5zd2lmdDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4RTEyNTQ5RjAyMjAwNTU0Qjk0IC8qIFN3aWZ0VUlFeHRy
YXMuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gU3dpZnRVSUV4dHJhcy5zd2lmdDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4RTIyNTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYktpdF9T
d2lmdFVJLUluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9ICJXZWJLaXRfU3dpZnRVSS1JbmZvLnBs
aXN0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4RTMyNTQ5RjAyMjAwNTU0
Qjk0IC8qIEphdmFTY3JpcHREaWFsb2dzLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IEphdmFTY3Jp
cHREaWFsb2dzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFNDI1
NDlGMDIyMDA1NTRCOTQgLyogV2ViVmlldy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBXZWJWaWV3
LnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFNTI1NDlGMDIyMDA1
NTRCOTQgLyogV2ViVmlld1N0YXRlLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9IFdlYlZpZXdTdGF0
ZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4RTYyNTQ5RjAyMjAw
NTU0Qjk0IC8qIERpYWxvZy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBEaWFsb2cuc3dpZnQ7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOEVDMjU0OUYwNTMwMDU1NEI5NCAvKiBf
V2ViS2l0X1N3aWZ0VUkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4
cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUluSW5kZXggPSAwOyBw
YXRoID0gX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJQzA1QkU5MTcyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJTY2VuZS5z
d2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBCcm93c2VyU2NlbmUuc3dp
ZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOTE4MjU0OUYxQjAwMDU1NEI5
NCAvKiBVUkxGaWVsZC5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBV
UkxGaWVsZC5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5MTkyNTQ5
RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJUYWIuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3
aWZ0OyBwYXRoID0gQnJvd3NlclRhYi5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQzA1QkU5MUEyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJBcHAuc3dpZnQgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gQnJvd3NlckFwcC5zd2lmdDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5MkEyNTQ5RjFGNzAwNTU0Qjk0IC8qIEZvdW5kYXRpb25F
eHRyYXMuc3dpZnQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBwYXRoID0gRm91bmRhdGlv
bkV4dHJhcy5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5NDEyNTQ5
RjI0NzAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBNaW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUMwNUJFOTQyMjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzA1QkU5NEIyNTQ5RjI2QjAwNTU0Qjk0IC8qIERlYnVnLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2Nv
bmZpZzsgcGF0aCA9IERlYnVnLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMDVCRTk0QzI1NDlGMjc1MDA1NTRCOTQgLyogUmVsZWFzZS54Y2NvbmZpZyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBh
dGggPSBSZWxlYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVC
RTk1NjI1NDlGMkZGMDA1NTRCOTQgLyogQmFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNl
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworLyogRW5kIFBCWEZpbGVSZWZl
cmVuY2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCUMwNUJFOEM3MjU0OUVGREEwMDU1NEI5NCAvKiBGcmFtZXdvcmtzICovID0gewor
CQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJQzA1QkU5N0YyNTQ5RjgzOTAwNTU0Qjk0IC8q
IF9XZWJLaXRfU3dpZnRVSS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJQzA1QkU4RTky
NTQ5RjA1MzAwNTU0Qjk0IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdv
cmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxl
cyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
KwkJfTsKKy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJl
Z2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJQzA1QkU4QjUyNTQ5RUZEOTAwNTU0Qjk0ID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDMDVCRTkzRjI1NDlGMjI3
MDA1NTRCOTQgLyogQ29uZmlndXJhdGlvbnMgKi8sCisJCQkJQzA1QkU4QkEyNTQ5RUZEOTAwNTU0
Qjk0IC8qIFNoYXJlZCAqLywKKwkJCQlDMDVCRThDNDI1NDlFRkRBMDA1NTRCOTQgLyogaU9TICov
LAorCQkJCUMwNUJFOENCMjU0OUVGREEwMDU1NEI5NCAvKiBtYWNPUyAqLywKKwkJCQlDMDVCRThE
RTI1NDlGMDIyMDA1NTRCOTQgLyogV2ViS2l0X1N3aWZ0VUkgKi8sCisJCQkJQzA1QkU4QzMyNTQ5
RUZEQTAwNTU0Qjk0IC8qIFByb2R1Y3RzICovLAorCQkJKTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCUMwNUJFOEJBMjU0OUVGRDkwMDU1NEI5NCAvKiBTaGFyZWQgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUMwNUJFOTFBMjU0OUYx
QjAwMDU1NEI5NCAvKiBCcm93c2VyQXBwLnN3aWZ0ICovLAorCQkJCUMwNUJFOTE3MjU0OUYxQjAw
MDU1NEI5NCAvKiBCcm93c2VyU2NlbmUuc3dpZnQgKi8sCisJCQkJQzA1QkU5MTkyNTQ5RjFCMDAw
NTU0Qjk0IC8qIEJyb3dzZXJUYWIuc3dpZnQgKi8sCisJCQkJQzA1QkU5MkEyNTQ5RjFGNzAwNTU0
Qjk0IC8qIEZvdW5kYXRpb25FeHRyYXMuc3dpZnQgKi8sCisJCQkJQzA1QkU5MTgyNTQ5RjFCMDAw
NTU0Qjk0IC8qIFVSTEZpZWxkLnN3aWZ0ICovLAorCQkJCUMwNUJFOEJEMjU0OUVGREEwMDU1NEI5
NCAvKiBBc3NldHMueGNhc3NldHMgKi8sCisJCQkpOworCQkJcGF0aCA9IFNoYXJlZDsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUMwNUJFOEMzMjU0OUVGREEwMDU1NEI5NCAv
KiBQcm9kdWN0cyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQzA1QkU4Q0EyNTQ5RUZEQTAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSS5hcHAgKi8s
CisJCQkJQzA1QkU4RUMyNTQ5RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSS5mcmFtZXdv
cmsgKi8sCisJCQkpOworCQkJbmFtZSA9IFByb2R1Y3RzOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKKwkJQzA1QkU4QzQyNTQ5RUZEQTAwNTU0Qjk0IC8qIGlPUyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzA1QkU4QzUyNTQ5RUZEQTAw
NTU0Qjk0IC8qIEluZm8ucGxpc3QgKi8sCisJCQkpOworCQkJcGF0aCA9IGlPUzsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUMwNUJFOENCMjU0OUVGREEwMDU1NEI5NCAvKiBt
YWNPUyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzA1
QkU4Q0MyNTQ5RUZEQTAwNTU0Qjk0IC8qIEluZm8ucGxpc3QgKi8sCisJCQkJQzA1QkU4Q0QyNTQ5
RUZEQTAwNTU0Qjk0IC8qIG1hY09TLmVudGl0bGVtZW50cyAqLywKKwkJCSk7CisJCQlwYXRoID0g
bWFjT1M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMDVCRThERTI1NDlG
MDIyMDA1NTRCOTQgLyogV2ViS2l0X1N3aWZ0VUkgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCUMwNUJFOERGMjU0OUYwMjIwMDU1NEI5NCAvKiBOYXZpZ2F0
aW9uLnN3aWZ0ICovLAorCQkJCUMwNUJFOEUwMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3TW9k
aWZpZXJzLnN3aWZ0ICovLAorCQkJCUMwNUJFOEUxMjU0OUYwMjIwMDU1NEI5NCAvKiBTd2lmdFVJ
RXh0cmFzLnN3aWZ0ICovLAorCQkJCUMwNUJFOEUyMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJLaXRf
U3dpZnRVSS1JbmZvLnBsaXN0ICovLAorCQkJCUMwNUJFOEUzMjU0OUYwMjIwMDU1NEI5NCAvKiBK
YXZhU2NyaXB0RGlhbG9ncy5zd2lmdCAqLywKKwkJCQlDMDVCRThFNDI1NDlGMDIyMDA1NTRCOTQg
LyogV2ViVmlldy5zd2lmdCAqLywKKwkJCQlDMDVCRThFNTI1NDlGMDIyMDA1NTRCOTQgLyogV2Vi
Vmlld1N0YXRlLnN3aWZ0ICovLAorCQkJCUMwNUJFOEU2MjU0OUYwMjIwMDU1NEI5NCAvKiBEaWFs
b2cuc3dpZnQgKi8sCisJCQkpOworCQkJcGF0aCA9IFdlYktpdF9Td2lmdFVJOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQzA1QkU5M0YyNTQ5RjIyNzAwNTU0Qjk0IC8qIENv
bmZpZ3VyYXRpb25zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQlDMDVCRTk1NjI1NDlGMkZGMDA1NTRCOTQgLyogQmFzZS54Y2NvbmZpZyAqLywKKwkJCQlD
MDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJLnhjY29uZmlnICov
LAorCQkJCUMwNUJFOTQyMjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZp
ZyAqLywKKwkJCQlDMDVCRTk0QjI1NDlGMjZCMDA1NTRCOTQgLyogRGVidWcueGNjb25maWcgKi8s
CisJCQkJQzA1QkU5NEMyNTQ5RjI3NTAwNTU0Qjk0IC8qIFJlbGVhc2UueGNjb25maWcgKi8sCisJ
CQkpOworCQkJcGF0aCA9IENvbmZpZ3VyYXRpb25zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKy8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEhlYWRl
cnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJQzA1QkU4RTcyNTQ5RjA1MzAwNTU0Qjk0IC8qIEhl
YWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhIZWFkZXJzQnVp
bGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9uICov
CisJCUMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUkgKi8gPSB7
CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0g
QzA1QkU4RDkyNTQ5RUZEQTAwNTU0Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYTmF0aXZlVGFyZ2V0ICJNaW5pQnJvd3NlclN3aWZ0VUkiICovOworCQkJYnVpbGRQaGFzZXMg
PSAoCisJCQkJQzA1QkU4QzYyNTQ5RUZEQTAwNTU0Qjk0IC8qIFNvdXJjZXMgKi8sCisJCQkJQzA1
QkU4QzcyNTQ5RUZEQTAwNTU0Qjk0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJQzA1QkU4QzgyNTQ5
RUZEQTAwNTU0Qjk0IC8qIFJlc291cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAor
CQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gTWluaUJyb3dzZXJT
d2lmdFVJOworCQkJcHJvZHVjdE5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJIChtYWNPUykiOwor
CQkJcHJvZHVjdFJlZmVyZW5jZSA9IEMwNUJFOENBMjU0OUVGREEwMDU1NEI5NCAvKiBNaW5pQnJv
d3NlclN3aWZ0VUkuYXBwICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3Qt
dHlwZS5hcHBsaWNhdGlvbiI7CisJCX07CisJCUMwNUJFOEVCMjU0OUYwNTMwMDU1NEI5NCAvKiBf
V2ViS2l0X1N3aWZ0VUkgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWls
ZENvbmZpZ3VyYXRpb25MaXN0ID0gQzA1QkU4RjEyNTQ5RjA1MzAwNTU0Qjk0IC8qIEJ1aWxkIGNv
bmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJfV2ViS2l0X1N3aWZ0VUkiICov
OworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJQzA1QkU4RTcyNTQ5RjA1MzAwNTU0Qjk0IC8qIEhl
YWRlcnMgKi8sCisJCQkJQzA1QkU4RTgyNTQ5RjA1MzAwNTU0Qjk0IC8qIFNvdXJjZXMgKi8sCisJ
CQkJQzA1QkU4RTkyNTQ5RjA1MzAwNTU0Qjk0IC8qIEZyYW1ld29ya3MgKi8sCisJCQkJQzA1QkU4
RUEyNTQ5RjA1MzAwNTU0Qjk0IC8qIFJlc291cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVz
ID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gX1dlYktp
dF9Td2lmdFVJOworCQkJcHJvZHVjdE5hbWUgPSBfV2ViS2l0X1N3aWZ0VUk7CisJCQlwcm9kdWN0
UmVmZXJlbmNlID0gQzA1QkU4RUMyNTQ5RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSS5m
cmFtZXdvcmsgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmZy
YW1ld29yayI7CisJCX07CisvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKworLyog
QmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCisJCUMwNUJFOEI2MjU0OUVGRDkwMDU1NEI5NCAv
KiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWFByb2plY3Q7CisJCQlhdHRyaWJ1
dGVzID0geworCQkJCUxhc3RTd2lmdFVwZGF0ZUNoZWNrID0gMTIyMDsKKwkJCQlMYXN0VXBncmFk
ZUNoZWNrID0gMTIyMDsKKwkJCQlUYXJnZXRBdHRyaWJ1dGVzID0geworCQkJCQlDMDVCRThDOTI1
NDlFRkRBMDA1NTRCOTQgPSB7CisJCQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxMi4yOwor
CQkJCQl9OworCQkJCQlDMDVCRThFQjI1NDlGMDUzMDA1NTRCOTQgPSB7CisJCQkJCQlDcmVhdGVk
T25Ub29sc1ZlcnNpb24gPSAxMi4yOworCQkJCQl9OworCQkJCX07CisJCQl9OworCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IEMwNUJFOEI5MjU0OUVGRDkwMDU1NEI5NCAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIk1pbmlCcm93c2VyU3dpZnRVSSIgKi87CisJ
CQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSA5LjMiOworCQkJZGV2ZWxvcG1lbnRSZWdp
b24gPSBlbjsKKwkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAwOworCQkJa25vd25SZWdpb25z
ID0gKAorCQkJCWVuLAorCQkJCUJhc2UsCisJCQkpOworCQkJbWFpbkdyb3VwID0gQzA1QkU4QjUy
NTQ5RUZEOTAwNTU0Qjk0OworCQkJcHJvZHVjdFJlZkdyb3VwID0gQzA1QkU4QzMyNTQ5RUZEQTAw
NTU0Qjk0IC8qIFByb2R1Y3RzICovOworCQkJcHJvamVjdERpclBhdGggPSAiIjsKKwkJCXByb2pl
Y3RSb290ID0gIiI7CisJCQl0YXJnZXRzID0gKAorCQkJCUMwNUJFOEM5MjU0OUVGREEwMDU1NEI5
NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUkgKi8sCisJCQkJQzA1QkU4RUIyNTQ5RjA1MzAwNTU0Qjk0
IC8qIF9XZWJLaXRfU3dpZnRVSSAqLywKKwkJCSk7CisJCX07CisvKiBFbmQgUEJYUHJvamVjdCBz
ZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwor
CQlDMDVCRThDODI1NDlFRkRBMDA1NTRCOTQgLyogUmVzb3VyY2VzICovID0geworCQkJaXNhID0g
UEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CisJCQlmaWxlcyA9ICgKKwkJCQlDMDVCRTk0NDI1NDlGMjU0MDA1NTRCOTQgLyogV2ViS2l0X1N3
aWZ0VUkueGNjb25maWcgaW4gUmVzb3VyY2VzICovLAorCQkJCUMwNUJFOEQzMjU0OUVGREEwMDU1
NEI5NCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworCQlDMDVCRThFQTI1NDlG
MDUzMDA1NTRCOTQgLyogUmVzb3VyY2VzICovID0geworCQkJaXNhID0gUEJYUmVzb3VyY2VzQnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsK
Ky8qIEVuZCBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJY
U291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQlDMDVCRThDNjI1NDlFRkRBMDA1NTRCOTQg
LyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUMwNUJFOTFFMjU0
OUYxQjAwMDU1NEI5NCAvKiBVUkxGaWVsZC5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJCUMwNUJF
OTIyMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyQXBwLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJ
CQkJQzA1QkU5MUMyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJTY2VuZS5zd2lmdCBpbiBTb3Vy
Y2VzICovLAorCQkJCUMwNUJFOTIwMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyVGFiLnN3aWZ0
IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU5MkUyNTQ5RjFGNzAwNTU0Qjk0IC8qIEZvdW5kYXRp
b25FeHRyYXMuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKwkJQzA1QkU4RTgyNTQ5RjA1MzAwNTU0Qjk0
IC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlDMDVCRThGRDI1
NDlGMDdBMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQgaW4gU291cmNlcyAqLywK
KwkJCQlDMDVCRThGQzI1NDlGMDdBMDA1NTRCOTQgLyogV2ViVmlldy5zd2lmdCBpbiBTb3VyY2Vz
ICovLAorCQkJCUMwNUJFOEZFMjU0OUYwN0EwMDU1NEI5NCAvKiBOYXZpZ2F0aW9uLnN3aWZ0IGlu
IFNvdXJjZXMgKi8sCisJCQkJQzA1QkU4RkYyNTQ5RjA3QTAwNTU0Qjk0IC8qIERpYWxvZy5zd2lm
dCBpbiBTb3VyY2VzICovLAorCQkJCUMwNUJFOTAwMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3
TW9kaWZpZXJzLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU4RkEyNTQ5RjA3QTAwNTU0
Qjk0IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRThGQjI1
NDlGMDdBMDA1NTRCOTQgLyogV2ViVmlld1N0YXRlLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkp
OworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisvKiBF
bmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0J1aWxkQ29u
ZmlndXJhdGlvbiBzZWN0aW9uICovCisJCUMwNUJFOEQ0MjU0OUVGREEwMDU1NEI5NCAvKiBEZWJ1
ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3Vy
YXRpb25SZWZlcmVuY2UgPSBDMDVCRTk0QjI1NDlGMjZCMDA1NTRCOTQgLyogRGVidWcueGNjb25m
aWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJ
fTsKKwkJQzA1QkU4RDUyNTQ5RUZEQTAwNTU0Qjk0IC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0g
QzA1QkU5NEMyNTQ5RjI3NTAwNTU0Qjk0IC8qIFJlbGVhc2UueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQlDMDVCRThE
QTI1NDlFRkRBMDA1NTRCOTQgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQzA1QkU5NDEyNTQ5RjI0
NzAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0
dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDMDVCRThEQjI1NDlF
RkRBMDA1NTRCOTQgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDMDVCRTk0MTI1NDlGMjQ3MDA1
NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5n
cyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJQzA1QkU4RjIyNTQ5RjA1
MzAwNTU0Qjk0IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMwNUJFOTQyMjU0OUYyNTQwMDU1NEI5
NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlDMDVCRThGMzI1NDlGMDUzMDA1NTRCOTQg
LyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFz
ZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBDMDVCRTk0MjI1NDlGMjU0MDA1NTRCOTQgLyogV2Vi
S2l0X1N3aWZ0VUkueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJ
CW5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rp
b24gKi8KKworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCUMwNUJF
OEI5MjU0OUVGRDkwMDU1NEI5NCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFBy
b2plY3QgIk1pbmlCcm93c2VyU3dpZnRVSSIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlDMDVCRThENDI1NDlFRkRB
MDA1NTRCOTQgLyogRGVidWcgKi8sCisJCQkJQzA1QkU4RDUyNTQ5RUZEQTAwNTU0Qjk0IC8qIFJl
bGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwor
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJQzA1QkU4RDky
NTQ5RUZEQTAwNTU0Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZl
VGFyZ2V0ICJNaW5pQnJvd3NlclN3aWZ0VUkiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0
aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJQzA1QkU4REEyNTQ5RUZE
QTAwNTU0Qjk0IC8qIERlYnVnICovLAorCQkJCUMwNUJFOERCMjU0OUVGREEwMDU1NEI5NCAvKiBS
ZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsK
KwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUMwNUJFOEYx
MjU0OUYwNTMwMDU1NEI5NCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2
ZVRhcmdldCAiX1dlYktpdF9Td2lmdFVJIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlv
bkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCUMwNUJFOEYyMjU0OUYwNTMw
MDU1NEI5NCAvKiBEZWJ1ZyAqLywKKwkJCQlDMDVCRThGMzI1NDlGMDUzMDA1NTRCOTQgLyogUmVs
ZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJ
CQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQ29u
ZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLworCX07CisJcm9vdE9iamVjdCA9IEMwNUJFOEI2MjU0
OUVGRDkwMDU1NEI5NCAvKiBQcm9qZWN0IG9iamVjdCAqLzsKK30KZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3hjc2hhcmVk
ZGF0YS94Y3NjaGVtZXMvTWluaUJyb3dzZXJTd2lmdFVJLnhjc2NoZW1lIGIvVG9vbHMvTWluaUJy
b3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hj
c2NoZW1lcy9NaW5pQnJvd3NlclN3aWZ0VUkueGNzY2hlbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE2YmRhYTVm
MWViODg2ZjMwMDY2MTI0M2YxYTI4MzllZTZjNzc2NgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3hjc2hhcmVk
ZGF0YS94Y3NjaGVtZXMvTWluaUJyb3dzZXJTd2lmdFVJLnhjc2NoZW1lCkBAIC0wLDAgKzEsODEg
QEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8U2NoZW1lCisgICBM
YXN0VXBncmFkZVZlcnNpb24gPSAiMTIyMCIKKyAgIHZlcnNpb24gPSAiMS43Ij4KKyAgIDxCdWls
ZEFjdGlvbgorICAgICAgcGFyYWxsZWxpemVCdWlsZGFibGVzID0gIllFUyIKKyAgICAgIGJ1aWxk
SW1wbGljaXREZXBlbmRlbmNpZXMgPSAiWUVTIj4KKyAgICAgIDxCdWlsZEFjdGlvbkVudHJpZXM+
CisgICAgICAgICA8QnVpbGRBY3Rpb25FbnRyeQorICAgICAgICAgICAgYnVpbGRGb3JUZXN0aW5n
ID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUnVubmluZyA9ICJZRVMiCisgICAgICAgICAg
ICBidWlsZEZvclByb2ZpbGluZyA9ICJZRVMiCisgICAgICAgICAgICBidWlsZEZvckFyY2hpdmlu
ZyA9ICJZRVMiCisgICAgICAgICAgICBidWlsZEZvckFuYWx5emluZyA9ICJZRVMiPgorICAgICAg
ICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5jZQorICAgICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRp
ZmllciA9ICJwcmltYXJ5IgorICAgICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICJD
MDVCRThDOTI1NDlFRkRBMDA1NTRCOTQiCisgICAgICAgICAgICAgICBCdWlsZGFibGVOYW1lID0g
Ik1pbmlCcm93c2VyU3dpZnRVSS5hcHAiCisgICAgICAgICAgICAgICBCbHVlcHJpbnROYW1lID0g
Ik1pbmlCcm93c2VyU3dpZnRVSSIKKyAgICAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIg
PSAiY29udGFpbmVyOk1pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2oiPgorICAgICAgICAgICAg
PC9CdWlsZGFibGVSZWZlcmVuY2U+CisgICAgICAgICA8L0J1aWxkQWN0aW9uRW50cnk+CisgICAg
ICA8L0J1aWxkQWN0aW9uRW50cmllcz4KKyAgIDwvQnVpbGRBY3Rpb24+CisgICA8VGVzdEFjdGlv
bgorICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIgorICAgICAgc2VsZWN0ZWREZWJ1
Z2dlcklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIi
CisgICAgICBzZWxlY3RlZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5k
YXRpb24uTGF1bmNoZXIuTExEQiIKKyAgICAgIHNob3VsZFVzZUxhdW5jaFNjaGVtZUFyZ3NFbnYg
PSAiWUVTIj4KKyAgICAgIDxUZXN0YWJsZXM+CisgICAgICA8L1Rlc3RhYmxlcz4KKyAgIDwvVGVz
dEFjdGlvbj4KKyAgIDxMYXVuY2hBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJE
ZWJ1ZyIKKyAgICAgIHNlbGVjdGVkRGVidWdnZXJJZGVudGlmaWVyID0gIlhjb2RlLkRlYnVnZ2Vy
Rm91bmRhdGlvbi5EZWJ1Z2dlci5MTERCIgorICAgICAgc2VsZWN0ZWRMYXVuY2hlcklkZW50aWZp
ZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkxhdW5jaGVyLkxMREIiCisgICAgICBsYXVu
Y2hTdHlsZSA9ICIwIgorICAgICAgdXNlQ3VzdG9tV29ya2luZ0RpcmVjdG9yeSA9ICJOTyIKKyAg
ICAgIGlnbm9yZXNQZXJzaXN0ZW50U3RhdGVPbkxhdW5jaCA9ICJOTyIKKyAgICAgIGRlYnVnRG9j
dW1lbnRWZXJzaW9uaW5nID0gIllFUyIKKyAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJp
bnRlcm5hbCIKKyAgICAgIGFsbG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8
QnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUg
PSAiMCI+CisgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCisgICAgICAgICAgICBCdWlsZGFi
bGVJZGVudGlmaWVyID0gInByaW1hcnkiCisgICAgICAgICAgICBCbHVlcHJpbnRJZGVudGlmaWVy
ID0gIkMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCIKKyAgICAgICAgICAgIEJ1aWxkYWJsZU5hbWUg
PSAiTWluaUJyb3dzZXJTd2lmdFVJLmFwcCIKKyAgICAgICAgICAgIEJsdWVwcmludE5hbWUgPSAi
TWluaUJyb3dzZXJTd2lmdFVJIgorICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJj
b250YWluZXI6TWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJvaiI+CisgICAgICAgICA8L0J1aWxk
YWJsZVJlZmVyZW5jZT4KKyAgICAgIDwvQnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlPgorICAgPC9M
YXVuY2hBY3Rpb24+CisgICA8UHJvZmlsZUFjdGlvbgorICAgICAgYnVpbGRDb25maWd1cmF0aW9u
ID0gIlJlbGVhc2UiCisgICAgICBzaG91bGRVc2VMYXVuY2hTY2hlbWVBcmdzRW52ID0gIllFUyIK
KyAgICAgIHNhdmVkVG9vbElkZW50aWZpZXIgPSAiIgorICAgICAgdXNlQ3VzdG9tV29ya2luZ0Rp
cmVjdG9yeSA9ICJOTyIKKyAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyI+Cisg
ICAgICA8QnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2lu
Z01vZGUgPSAiMCI+CisgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCisgICAgICAgICAgICBC
dWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCisgICAgICAgICAgICBCbHVlcHJpbnRJZGVu
dGlmaWVyID0gIkMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCIKKyAgICAgICAgICAgIEJ1aWxkYWJs
ZU5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJLmFwcCIKKyAgICAgICAgICAgIEJsdWVwcmludE5h
bWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJIgorICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5l
ciA9ICJjb250YWluZXI6TWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJvaiI+CisgICAgICAgICA8
L0J1aWxkYWJsZVJlZmVyZW5jZT4KKyAgICAgIDwvQnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlPgor
ICAgPC9Qcm9maWxlQWN0aW9uPgorICAgPEFuYWx5emVBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmln
dXJhdGlvbiA9ICJEZWJ1ZyI+CisgICA8L0FuYWx5emVBY3Rpb24+CisgICA8QXJjaGl2ZUFjdGlv
bgorICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCisgICAgICByZXZlYWxBcmNo
aXZlSW5Pcmdhbml6ZXIgPSAiWUVTIj4KKyAgIDwvQXJjaGl2ZUFjdGlvbj4KKyAgIDxJbnN0YWxs
QWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSI+CisgICA8L0luc3Rh
bGxBY3Rpb24+Cis8L1NjaGVtZT4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0FjY2VudENvbG9yLmNvbG9yc2V0L0NvbnRlbnRzLmpz
b24gYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BY2Nl
bnRDb2xvci5jb2xvcnNldC9Db250ZW50cy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZWRiZjViMDM2NzNj
OTg2MTNhYzRiMGI1OTA1MzNlZGUyNGZlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BY2NlbnRDb2xvci5jb2xvcnNl
dC9Db250ZW50cy5qc29uCkBAIC0wLDAgKzEsMTUgQEAKK3sKKyAgImNvbG9ycyIgOiBbCisgICAg
eworICAgICAgImNvbG9yIiA6IHsKKyAgICAgICAgInBsYXRmb3JtIiA6ICJvc3giLAorICAgICAg
ICAicmVmZXJlbmNlIiA6ICJzeXN0ZW1UZWFsQ29sb3IiCisgICAgICB9LAorICAgICAgImlkaW9t
IiA6ICJ1bml2ZXJzYWwiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhvciIg
OiAieGNvZGUiLAorICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBpY29u
c2V0L0NvbnRlbnRzLmpzb24gYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0
cy54Y2Fzc2V0cy9BcHBJY29uLmFwcGljb25zZXQvQ29udGVudHMuanNvbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MTM2ZWFmZjc2NzU3ZTM1MGI2NGM3YjU5ODJkOWMxZjFkZDQ0ODFmCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQXBwSWNv
bi5hcHBpY29uc2V0L0NvbnRlbnRzLmpzb24KQEAgLTAsMCArMSwxNDggQEAKK3sKKyAgImltYWdl
cyIgOiBbCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGhvbmUiLAorICAgICAgInNjYWxlIiA6
ICIyeCIsCisgICAgICAic2l6ZSIgOiAiMjB4MjAiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRp
b20iIDogImlwaG9uZSIsCisgICAgICAic2NhbGUiIDogIjN4IiwKKyAgICAgICJzaXplIiA6ICIy
MHgyMCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJz
Y2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjI5eDI5IgorICAgIH0sCisgICAgeworICAg
ICAgImlkaW9tIiA6ICJpcGhvbmUiLAorICAgICAgInNjYWxlIiA6ICIzeCIsCisgICAgICAic2l6
ZSIgOiAiMjl4MjkiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9uZSIsCisg
ICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICI0MHg0MCIKKyAgICB9LAorICAg
IHsKKyAgICAgICJpZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJzY2FsZSIgOiAiM3giLAorICAg
ICAgInNpemUiIDogIjQweDQwIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGhv
bmUiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiNjB4NjAiCisgICAg
fSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9uZSIsCisgICAgICAic2NhbGUiIDogIjN4
IiwKKyAgICAgICJzaXplIiA6ICI2MHg2MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIg
OiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIyMHgyMCIK
KyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDog
IjJ4IiwKKyAgICAgICJzaXplIiA6ICIyMHgyMCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlv
bSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIyOXgy
OSIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUi
IDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIyOXgyOSIKKyAgICB9LAorICAgIHsKKyAgICAgICJp
ZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICI0
MHg0MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2Nh
bGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICI0MHg0MCIKKyAgICB9LAorICAgIHsKKyAgICAg
ICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6
ICI3Nng3NiIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAi
c2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICI3Nng3NiIKKyAgICB9LAorICAgIHsKKyAg
ICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXpl
IiA6ICI4My41eDgzLjUiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlvcy1tYXJr
ZXRpbmciLAorICAgICAgInNjYWxlIiA6ICIxeCIsCisgICAgICAic2l6ZSIgOiAiMTAyNHgxMDI0
IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6
ICIxeCIsCisgICAgICAic2l6ZSIgOiAiMTZ4MTYiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRp
b20iIDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIxNngx
NiIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIg
OiAiMXgiLAorICAgICAgInNpemUiIDogIjMyeDMyIgorICAgIH0sCisgICAgeworICAgICAgImlk
aW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiMzJ4
MzIiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2NhbGUi
IDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIxMjh4MTI4IgorICAgIH0sCisgICAgeworICAgICAg
ImlkaW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAi
MTI4eDEyOCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJz
Y2FsZSIgOiAiMXgiLAorICAgICAgInNpemUiIDogIjI1NngyNTYiCisgICAgfSwKKyAgICB7Cisg
ICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXpl
IiA6ICIyNTZ4MjU2IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJtYWMiLAorICAg
ICAgInNjYWxlIiA6ICIxeCIsCisgICAgICAic2l6ZSIgOiAiNTEyeDUxMiIKKyAgICB9LAorICAg
IHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAg
InNpemUiIDogIjUxMng1MTIiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhv
ciIgOiAieGNvZGUiLAorICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNv
biBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0NvbnRl
bnRzLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNjMDA1OTZhN2ZjYTNmM2Q0YmRkNjQwNTNiNjlkODY3NDVm
OWUxMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQv
QXNzZXRzLnhjYXNzZXRzL0NvbnRlbnRzLmpzb24KQEAgLTAsMCArMSw2IEBACit7CisgICJpbmZv
IiA6IHsKKyAgICAiYXV0aG9yIiA6ICJ4Y29kZSIsCisgICAgInZlcnNpb24iIDogMQorICB9Cit9
CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fz
c2V0cy9VUkxGaWVsZEJhY2tncm91bmQuY29sb3JzZXQvQ29udGVudHMuanNvbiBiL1Rvb2xzL01p
bmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL1VSTEZpZWxkQmFja2dyb3Vu
ZC5jb2xvcnNldC9Db250ZW50cy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMzM0MThkMWNjMDMyMWRhMzg1
M2RiZDFlNmYxZThhZmZmOTk1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nl
clN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9VUkxGaWVsZEJhY2tncm91bmQuY29sb3Jz
ZXQvQ29udGVudHMuanNvbgpAQCAtMCwwICsxLDM4IEBACit7CisgICJjb2xvcnMiIDogWworICAg
IHsKKyAgICAgICJjb2xvciIgOiB7CisgICAgICAgICJjb2xvci1zcGFjZSIgOiAiZGlzcGxheS1w
MyIsCisgICAgICAgICJjb21wb25lbnRzIiA6IHsKKyAgICAgICAgICAiYWxwaGEiIDogIjEuMDAw
IiwKKyAgICAgICAgICAiYmx1ZSIgOiAiMC45NDkiLAorICAgICAgICAgICJncmVlbiIgOiAiMC45
NDkiLAorICAgICAgICAgICJyZWQiIDogIjAuOTQ5IgorICAgICAgICB9CisgICAgICB9LAorICAg
ICAgImlkaW9tIiA6ICJ1bml2ZXJzYWwiCisgICAgfSwKKyAgICB7CisgICAgICAiYXBwZWFyYW5j
ZXMiIDogWworICAgICAgICB7CisgICAgICAgICAgImFwcGVhcmFuY2UiIDogImx1bWlub3NpdHki
LAorICAgICAgICAgICJ2YWx1ZSIgOiAiZGFyayIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAg
ICJjb2xvciIgOiB7CisgICAgICAgICJjb2xvci1zcGFjZSIgOiAiZGlzcGxheS1wMyIsCisgICAg
ICAgICJjb21wb25lbnRzIiA6IHsKKyAgICAgICAgICAiYWxwaGEiIDogIjEuMDAwIiwKKyAgICAg
ICAgICAiYmx1ZSIgOiAiMC4wNzgiLAorICAgICAgICAgICJncmVlbiIgOiAiMC4wNjMiLAorICAg
ICAgICAgICJyZWQiIDogIjAuMDQ3IgorICAgICAgICB9CisgICAgICB9LAorICAgICAgImlkaW9t
IiA6ICJ1bml2ZXJzYWwiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhvciIg
OiAieGNvZGUiLAorICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2VyQXBwLnN3aWZ0IGIvVG9vbHMvTWluaUJy
b3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2VyQXBwLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmYjYyNjNi
NzI3N2U5NmYyODU2MDBiMjVlMjUwMmI0MDg0NGNhZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJBcHAuc3dpZnQKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK2ltcG9ydCBTd2lmdFVJCisKK0BtYWluCitzdHJ1Y3QgQnJvd3Nl
ckFwcDogQXBwIHsKKyAgICB2YXIgYm9keTogc29tZSBTY2VuZSB7CisgICAgICAgIEJyb3dzZXJT
Y2VuZSgpCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1No
YXJlZC9Ccm93c2VyU2NlbmUuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVk
L0Jyb3dzZXJTY2VuZS5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjJjODc2MGY1MGUzYjQ0NmViZmRjNDQ1
NzQwODI0MzI5ZTI4Y2VjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lm
dFVJL1NoYXJlZC9Ccm93c2VyU2NlbmUuc3dpZnQKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK2ltcG9ydCBTd2lmdFVJCisKK3N0cnVjdCBCcm93c2VyU2NlbmUgOiBTY2VuZSB7CisgICAg
dmFyIGJvZHk6IHNvbWUgU2NlbmUgeworICAgICAgICAjaWYgb3MobWFjT1MpCisgICAgICAgIFdp
bmRvd0dyb3VwIHsKKyAgICAgICAgICAgIEJyb3dzZXJUYWIoKQorICAgICAgICB9CisgICAgICAg
IC53aW5kb3dUb29sYmFyU3R5bGUoVW5pZmllZFdpbmRvd1Rvb2xiYXJTdHlsZShzaG93c1RpdGxl
OiBmYWxzZSkpCisgICAgICAgICNlbHNlCisgICAgICAgIFdpbmRvd0dyb3VwIHsKKyAgICAgICAg
ICAgIE5hdmlnYXRpb25WaWV3IHsKKyAgICAgICAgICAgICAgICBCcm93c2VyVGFiKCkKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIC5uYXZpZ2F0aW9uVmlld1N0eWxlKFN0YWNrTmF2aWdhdGlv
blZpZXdTdHlsZSgpKQorICAgICAgICB9CisgICAgICAgICNlbmRpZgorICAgIH0KK30KZGlmZiAt
LWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJvd3NlclRhYi5zd2lmdCBi
L1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJvd3NlclRhYi5zd2lmdApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lZjcxMTlhZjcxN2I1ZDU1OTkzZWZkM2RhNzAwNTFkMDJlNmQwODk1Ci0tLSAvZGV2L251
bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2VyVGFiLnN3aWZ0
CkBAIC0wLDAgKzEsMTcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkKK2ltcG9ydCBf
V2ViS2l0X1N3aWZ0VUkKKworc3RydWN0IEJyb3dzZXJUYWIgOiBWaWV3IHsKKyAgICBAU3RhdGVP
YmplY3QgcHJpdmF0ZSB2YXIgc3RhdGUgPSBXZWJWaWV3U3RhdGUoaW5pdGlhbFVSTDogVVJMKHN0
cmluZzogImh0dHBzOi8vd2Via2l0Lm9yZy8iKSEpCisKKyAgICB2YXIgYm9keTogc29tZSBWaWV3
IHsKKyAgICAgICAgbGV0IGNvbnRlbnQgPSBXZWJWaWV3KHN0YXRlOiBzdGF0ZSkKKyAgICAgICAg
ICAgIC53ZWJWaWV3TmF2aWdhdGlvblBvbGljeShvbkFjdGlvbjogZGVjaWRlUG9saWN5KGZvcjpz
dGF0ZTopKQorICAgICAgICAgICAgLmFsZXJ0KGl0ZW06ICRleHRlcm5hbE5hdmlnYXRpb24sIGNv
bnRlbnQ6IG1ha2VFeHRlcm5hbE5hdmlnYXRpb25BbGVydChfOikpCisKKyAgICAgICAgI2lmIG9z
KG1hY09TKQorICAgICAgICByZXR1cm4gY29udGVudAorICAgICAgICAgICAgLmVkZ2VzSWdub3Jp
bmdTYWZlQXJlYSguYWxsKQorICAgICAgICAgICAgLm5hdmlnYXRpb25UaXRsZShzdGF0ZS50aXRs
ZS5pc0VtcHR5ID8gIk1pbmlCcm93c2VyU3dpZnRVSSIgOiBzdGF0ZS50aXRsZSkKKyAgICAgICAg
ICAgIC50b29sYmFyIHsKKyAgICAgICAgICAgICAgICBUb29sYmFySXRlbUdyb3VwKHBsYWNlbWVu
dDogLm5hdmlnYXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgYmFja0l0ZW0KKyAgICAgICAg
ICAgICAgICAgICAgZm9yd2FyZEl0ZW0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgVG9vbGJhckl0ZW0ocGxhY2VtZW50OiAucHJpbmNpcGFsKSB7CisgICAgICAgICAgICAgICAg
ICAgIHVybEZpZWxkCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAj
ZWxzZQorICAgICAgICByZXR1cm4gY29udGVudAorICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIGAuYWxsYCwgYnV0IG9uIGlPUyBzYWZlIGFyZWEgaW5zZXRzIGRvIG5vdCBzZWVt
IHRvIGJlIHJlc3BlY3RlZAorICAgICAgICAgICAgLy8gY29ycmVjdGx5IHdoZW4gZW1iZWRkZWQg
aW4gYSBgTmF2aWdhdGlvblZpZXdgLgorICAgICAgICAgICAgLmVkZ2VzSWdub3JpbmdTYWZlQXJl
YSguYm90dG9tKQorICAgICAgICAgICAgLm5hdmlnYXRpb25CYXJUaXRsZURpc3BsYXlNb2RlKC5p
bmxpbmUpCisgICAgICAgICAgICAudG9vbGJhciB7CisgICAgICAgICAgICAgICAgVG9vbGJhckl0
ZW1Hcm91cChwbGFjZW1lbnQ6IC5uYXZpZ2F0aW9uQmFyTGVhZGluZykgeworICAgICAgICAgICAg
ICAgICAgICBiYWNrSXRlbS5sYWJlbFN0eWxlKEljb25Pbmx5TGFiZWxTdHlsZSgpKQorICAgICAg
ICAgICAgICAgICAgICBmb3J3YXJkSXRlbS5sYWJlbFN0eWxlKEljb25Pbmx5TGFiZWxTdHlsZSgp
KQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBUb29sYmFySXRlbShwbGFjZW1l
bnQ6IC5wcmluY2lwYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgdXJsRmllbGQKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICNlbmRpZgorICAgIH0KKworICAgIHBy
aXZhdGUgdmFyIHVybEZpZWxkOiBzb21lIFZpZXcgeworICAgICAgICBVUkxGaWVsZCgKKyAgICAg
ICAgICAgIHVybDogc3RhdGUudXJsLAorICAgICAgICAgICAgaXNTZWN1cmU6IHN0YXRlLmhhc09u
bHlTZWN1cmVDb250ZW50LAorICAgICAgICAgICAgbG9hZGluZ1Byb2dyZXNzOiBzdGF0ZS5lc3Rp
bWF0ZWRQcm9ncmVzcywKKyAgICAgICAgICAgIG9uTmF2aWdhdGU6IG9uTmF2aWdhdGUodG86KQor
ICAgICAgICApIHsKKyAgICAgICAgICAgIGlmIHN0YXRlLmlzTG9hZGluZyB7CisgICAgICAgICAg
ICAgICAgQnV0dG9uKGFjdGlvbjogc3RhdGUuc3RvcExvYWRpbmcpIHsKKyAgICAgICAgICAgICAg
ICAgICAgTGFiZWwoIlN0b3AgTG9hZGluZyIsIHN5c3RlbUltYWdlOiAieG1hcmsiKQorICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgQnV0dG9u
KGFjdGlvbjogc3RhdGUucmVsb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIExhYmVsKCJSZWxv
YWQiLCBzeXN0ZW1JbWFnZTogImFycm93LmNsb2Nrd2lzZSIpCisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIC5kaXNhYmxlZChzdGF0ZS51cmwgPT0gbmlsKQorICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgcHJpdmF0ZSB2YXIgYmFja0l0ZW06IHNvbWUgVmll
dyB7CisgICAgICAgIEJ1dHRvbihhY3Rpb246IHN0YXRlLmdvQmFjaykgeworICAgICAgICAgICAg
TGFiZWwoIkJhY2siLCBzeXN0ZW1JbWFnZTogImNoZXZyb24ubGVmdCIpCisgICAgICAgICAgICAg
ICAgLmZyYW1lKG1pbldpZHRoOiAyMCkKKyAgICAgICAgfQorICAgICAgICAuZGlzYWJsZWQoIXN0
YXRlLmNhbkdvQmFjaykKKyAgICB9CisKKyAgICBwcml2YXRlIHZhciBmb3J3YXJkSXRlbTogc29t
ZSBWaWV3IHsKKyAgICAgICAgQnV0dG9uKGFjdGlvbjogc3RhdGUuZ29Gb3J3YXJkKSB7CisgICAg
ICAgICAgICBMYWJlbCgiRm9yd2FyZCIsIHN5c3RlbUltYWdlOiAiY2hldnJvbi5yaWdodCIpCisg
ICAgICAgICAgICAgICAgLmZyYW1lKG1pbldpZHRoOiAyMCkKKyAgICAgICAgfQorICAgICAgICAu
ZGlzYWJsZWQoIXN0YXRlLmNhbkdvRm9yd2FyZCkKKyAgICB9CisKKyAgICBwcml2YXRlIGZ1bmMg
b25OYXZpZ2F0ZSh0byBzdHJpbmc6IFN0cmluZykgeworICAgICAgICBzd2l0Y2ggVXNlcklucHV0
KHN0cmluZzogc3RyaW5nKSB7CisgICAgICAgIGNhc2UgLnNlYXJjaChsZXQgdGVybSk6CisgICAg
ICAgICAgICBzdGF0ZS5sb2FkKFVSTChzZWFyY2hUZXJtOiB0ZXJtKSkKKyAgICAgICAgY2FzZSAu
dXJsKGxldCB1cmwpOgorICAgICAgICAgICAgc3RhdGUubG9hZCh1cmwpCisgICAgICAgIGNhc2Ug
LmludmFsaWQ6CisgICAgICAgICAgICBicmVhaworICAgICAgICB9CisgICAgfQorCisgICAgQFN0
YXRlIHByaXZhdGUgdmFyIGV4dGVybmFsTmF2aWdhdGlvbjogRXh0ZXJuYWxVUkxOYXZpZ2F0aW9u
PworICAgIEBFbnZpcm9ubWVudChcLm9wZW5VUkwpIHByaXZhdGUgdmFyIG9wZW5VUkwKKworICAg
IHByaXZhdGUgZnVuYyBkZWNpZGVQb2xpY3koZm9yIGFjdGlvbjogTmF2aWdhdGlvbkFjdGlvbiwg
c3RhdGU6IFdlYlZpZXdTdGF0ZSkgeworICAgICAgICBpZiBsZXQgZXh0ZXJuYWxVUkwgPSBhY3Rp
b24ucmVxdWVzdC51cmwsICFXZWJWaWV3LmNhbkhhbmRsZShleHRlcm5hbFVSTCkgeworICAgICAg
ICAgICAgZXh0ZXJuYWxOYXZpZ2F0aW9uID0gRXh0ZXJuYWxVUkxOYXZpZ2F0aW9uKAorICAgICAg
ICAgICAgICAgIHNvdXJjZTogc3RhdGUudXJsID8/IC5hYm91dEJsYW5rLCBkZXN0aW5hdGlvbjog
ZXh0ZXJuYWxVUkwpCisgICAgICAgICAgICBhY3Rpb24uZGVjaWRlUG9saWN5KC5jYW5jZWwpCisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhY3Rpb24uZGVjaWRlUG9saWN5KC5hbGxvdykK
KyAgICAgICAgfQorICAgIH0KKworICAgIHByaXZhdGUgZnVuYyBtYWtlRXh0ZXJuYWxOYXZpZ2F0
aW9uQWxlcnQoXyBuYXZpZ2F0aW9uOiBFeHRlcm5hbFVSTE5hdmlnYXRpb24pIC0+IEFsZXJ0IHsK
KyAgICAgICAgQWxlcnQodGl0bGU6IFRleHQoIkFsbG93IOKAnFwobmF2aWdhdGlvbi5zb3VyY2Uu
aGlnaExldmVsRG9tYWluKeKAnSB0byBvcGVuIOKAnFwobmF2aWdhdGlvbi5kZXN0aW5hdGlvbi5z
Y2hlbWUgPz8gIiIp4oCdPyIpLAorICAgICAgICAgICAgICBwcmltYXJ5QnV0dG9uOiAuZGVmYXVs
dChUZXh0KCJBbGxvdyIpLCBhY3Rpb246IHsgb3BlblVSTChuYXZpZ2F0aW9uLmRlc3RpbmF0aW9u
KSB9KSwKKyAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uOiAuY2FuY2VsKCkpCisgICAgfQor
Cit9CisKK3ByaXZhdGUgZW51bSBVc2VySW5wdXQgeworICAgIGNhc2Ugc2VhcmNoKFN0cmluZykK
KyAgICBjYXNlIHVybChVUkwpCisgICAgY2FzZSBpbnZhbGlkCisKKyAgICBpbml0KHN0cmluZyBf
c3RyaW5nOiBTdHJpbmcpIHsKKyAgICAgICAgbGV0IHN0cmluZyA9IF9zdHJpbmcudHJpbW1pbmdD
aGFyYWN0ZXJzKGluOiAud2hpdGVzcGFjZXMpCisKKyAgICAgICAgaWYgc3RyaW5nLmlzRW1wdHkg
eworICAgICAgICAgICAgc2VsZiA9IC5pbnZhbGlkCisgICAgICAgIH0gZWxzZSBpZiAhc3RyaW5n
LmNvbnRhaW5zKHdoZXJlOiBcLmlzV2hpdGVzcGFjZSksIHN0cmluZy5jb250YWlucygiLiIpLCBs
ZXQgdXJsID0gVVJMKHN0cmluZzogc3RyaW5nKSB7CisgICAgICAgICAgICBzZWxmID0gLnVybCh1
cmwpCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxmID0gLnNlYXJjaChzdHJpbmcp
CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ByaXZhdGUgc3RydWN0IEV4dGVybmFsVVJMTmF2aWdh
dGlvbiA6IElkZW50aWZpYWJsZSwgSGFzaGFibGUgeworICAgIHZhciBzb3VyY2U6IFVSTAorICAg
IHZhciBkZXN0aW5hdGlvbjogVVJMCisKKyAgICB2YXIgaWQ6IFNlbGYgeyBzZWxmIH0KK30KKwor
c3RydWN0IEJyb3dzZXJUYWJfUHJldmlld3M6IFByZXZpZXdQcm92aWRlciB7CisgICAgc3RhdGlj
IHZhciBwcmV2aWV3czogc29tZSBWaWV3IHsKKyAgICAgICAgI2lmIG9zKGlPUykKKyAgICAgICAg
TmF2aWdhdGlvblZpZXcgeworICAgICAgICAgICAgQnJvd3NlclRhYigpCisgICAgICAgIH0KKyAg
ICAgICAgLm5hdmlnYXRpb25WaWV3U3R5bGUoU3RhY2tOYXZpZ2F0aW9uVmlld1N0eWxlKCkpCisg
ICAgICAgICNlbmRpZgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dp
ZnRVSS9TaGFyZWQvRm91bmRhdGlvbkV4dHJhcy5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dp
ZnRVSS9TaGFyZWQvRm91bmRhdGlvbkV4dHJhcy5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2U0MTY4OWFl
YjgyZWQ4ODQ3MjA5MmJiYWM2YTkxNzI1ZmI4ODllCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0aW9uRXh0cmFzLnN3aWZ0CkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgRm91bmRhdGlvbgorCitleHRlbnNpb24gVVJM
IHsKKyAgICBzdGF0aWMgbGV0IGFib3V0QmxhbmsgPSBVUkwoc3RyaW5nOiAiYWJvdXQ6Ymxhbmsi
KSEKKworICAgIGluaXQoc2VhcmNoVGVybTogU3RyaW5nKSB7CisgICAgICAgIHZhciBjb21wb25l
bnRzID0gVVJMQ29tcG9uZW50cyhzdHJpbmc6ICJodHRwczovL2R1Y2tkdWNrZ28uY29tLyIpIQor
ICAgICAgICBjb21wb25lbnRzLnF1ZXJ5SXRlbXMgPSBbIFVSTFF1ZXJ5SXRlbShuYW1lOiAicSIs
IHZhbHVlOiBzZWFyY2hUZXJtKSBdCisgICAgICAgIHNlbGYgPSBjb21wb25lbnRzLnVybCEKKyAg
ICB9CisKKyAgICB2YXIgaGlnaExldmVsRG9tYWluOiBTdHJpbmcgeworICAgICAgICBndWFyZCBs
ZXQgaG9zdCA9IGhvc3QgZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gIiIKKyAgICAgICAgfQor
CisgICAgICAgIGZvciBwcmVmaXggaW4gWyJ3d3ciXSB3aGVyZSBob3N0Lmhhc1ByZWZpeCgiXChw
cmVmaXgpLiIpIHsKKyAgICAgICAgICAgIGxldCBpbmRleEFmdGVyUHJlZml4ID0gaG9zdC5pbmRl
eChob3N0LnN0YXJ0SW5kZXgsIG9mZnNldEJ5OiBwcmVmaXguY291bnQgKyAxKQorICAgICAgICAg
ICAgcmV0dXJuIFN0cmluZyhob3N0W2luZGV4QWZ0ZXJQcmVmaXguLi5dKQorICAgICAgICB9CisK
KyAgICAgICAgcmV0dXJuIGhvc3QKKyAgICB9CisKKyAgICB2YXIgaXNXZWJTZWFyY2g6IEJvb2wg
eworICAgICAgICBob3N0ID09ICJkdWNrZHVja2dvLmNvbSIgfHwgaG9zdD8uaGFzU3VmZml4KCIu
ZHVja2R1Y2tnby5jb20iKSA9PSB0cnVlCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWlu
aUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9VUkxGaWVsZC5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9TaGFyZWQvVVJMRmllbGQuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWExY2RmYzdiYzk2YTI5
MGZkMzI5NjNiNzFhNmM2MTg0ZjAyOTFjYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyU3dpZnRVSS9TaGFyZWQvVVJMRmllbGQuc3dpZnQKQEAgLTAsMCArMSwxOTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitpbXBvcnQgU3dpZnRVSQorCitzdHJ1Y3QgVVJMRmllbGQ8QWNjZXNzb3J5PiA6
IFZpZXcgd2hlcmUgQWNjZXNzb3J5IDogVmlldyB7CisgICAgaW5pdCgKKyAgICAgICAgdXJsOiBV
Ukw/LAorICAgICAgICBpc1NlY3VyZTogQm9vbCA9IGZhbHNlLAorICAgICAgICBsb2FkaW5nUHJv
Z3Jlc3M6IERvdWJsZT8gPSBuaWwsCisgICAgICAgIG9uRWRpdGluZ0NoYW5nZTogQGVzY2FwaW5n
IChCb29sKSAtPiBWb2lkID0geyBfIGluIH0sCisgICAgICAgIG9uTmF2aWdhdGU6IEBlc2NhcGlu
ZyAoU3RyaW5nKSAtPiBWb2lkID0geyBfIGluIH0sCisgICAgICAgIEBWaWV3QnVpbGRlciBhY2Nl
c3Nvcnk6ICgpIC0+IEFjY2Vzc29yeQorICAgICkgeworICAgICAgICBzZWxmLnRyYWlsaW5nQWNj
ZXNzb3J5ID0gYWNjZXNzb3J5KCkKKyAgICAgICAgc2VsZi5leHRlcm5hbE9uRWRpdGluZ0NoYW5n
ZSA9IG9uRWRpdGluZ0NoYW5nZQorICAgICAgICBzZWxmLmxvYWRpbmdQcm9ncmVzcyA9IGxvYWRp
bmdQcm9ncmVzcworICAgICAgICBzZWxmLm9uTmF2aWdhdGUgPSBvbk5hdmlnYXRlCisgICAgICAg
IHNlbGYudXJsID0gdXJsCisgICAgICAgIHNlbGYudXJsSXNTZWN1cmUgPSBpc1NlY3VyZQorICAg
ICAgICBzZWxmLl90ZXh0ID0gU3RhdGUod3JhcHBlZFZhbHVlOiB1cmw/LmFic29sdXRlU3RyaW5n
ID8/ICIiKQorICAgIH0KKworICAgIHByaXZhdGUgdmFyIGV4dGVybmFsT25FZGl0aW5nQ2hhbmdl
OiAoQm9vbCkgLT4gVm9pZAorICAgIEBTdGF0ZSBwcml2YXRlIHZhciBpc0VkaXRpbmcgPSBmYWxz
ZQorICAgIHByaXZhdGUgdmFyIGxvYWRpbmdQcm9ncmVzczogRG91YmxlPworICAgIHByaXZhdGUg
dmFyIG9uTmF2aWdhdGU6IChTdHJpbmcpIC0+IFZvaWQKKyAgICBAU3RhdGUgcHJpdmF0ZSB2YXIg
dGV4dDogU3RyaW5nID0gIiIKKyAgICBwcml2YXRlIHZhciB0cmFpbGluZ0FjY2Vzc29yeTogQWNj
ZXNzb3J5CisgICAgcHJpdmF0ZSB2YXIgdXJsOiBVUkw/CisgICAgcHJpdmF0ZSB2YXIgdXJsSXNT
ZWN1cmU6IEJvb2wKKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAgICBsZXQgY29u
dGVudCA9IEhTdGFjayB7CisgICAgICAgICAgICBsZWFkaW5nQWNjZXNzb3J5CisKKyAgICAgICAg
ICAgIHRleHRGaWVsZAorCisgICAgICAgICAgICBpZiAhaXNFZGl0aW5nIHsKKyAgICAgICAgICAg
ICAgICB0cmFpbGluZ0FjY2Vzc29yeQorICAgICAgICAgICAgICAgICAgICAubGFiZWxTdHlsZShJ
Y29uT25seUxhYmVsU3R5bGUoKSkKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAu
YnV0dG9uU3R5bGUoUGxhaW5CdXR0b25TdHlsZSgpKQorICAgICAgICAuZm9udCguYm9keSkKKyAg
ICAgICAgLnBhZGRpbmcoLnZlcnRpY2FsLCA2KQorICAgICAgICAucGFkZGluZyguaG9yaXpvbnRh
bCwgMTApCisgICAgICAgIC5iYWNrZ3JvdW5kKEJhY2tncm91bmQobG9hZGluZ1Byb2dyZXNzOiBs
b2FkaW5nUHJvZ3Jlc3MpKQorICAgICAgICAuZnJhbWUobWluV2lkdGg6IDIwMCwgaWRlYWxXaWR0
aDogNDAwLCBtYXhXaWR0aDogNjAwKQorICAgICAgICAub25DaGFuZ2Uob2Y6IHVybCwgcGVyZm9y
bTogeyBfIGluIHVybERpZENoYW5nZSgpIH0pCisKKyAgICAgICAgI2lmIG9zKG1hY09TKQorICAg
ICAgICByZXR1cm4gY29udGVudAorICAgICAgICAgICAgLm92ZXJsYXkoUm91bmRlZFJlY3Rhbmds
ZShjb3JuZXJSYWRpdXM6IDYpCisgICAgICAgICAgICAgICAgICAgICAgICAuc3Ryb2tlKENvbG9y
LmFjY2VudENvbG9yKSkKKyAgICAgICAgI2Vsc2UKKyAgICAgICAgcmV0dXJuIGNvbnRlbnQKKyAg
ICAgICAgI2VuZGlmCisgICAgfQorCisgICAgQFZpZXdCdWlsZGVyCisgICAgcHJpdmF0ZSB2YXIg
bGVhZGluZ0FjY2Vzc29yeTogc29tZSBWaWV3IHsKKyAgICAgICAgaWYgaXNFZGl0aW5nIHsKKyAg
ICAgICAgICAgIEltYWdlKHN5c3RlbU5hbWU6ICJnbG9iZSIpLmZvcmVncm91bmRDb2xvciguc2Vj
b25kYXJ5KQorICAgICAgICB9IGVsc2UgaWYgdXJsPy5pc1dlYlNlYXJjaCA9PSB0cnVlIHsKKyAg
ICAgICAgICAgIEltYWdlKHN5c3RlbU5hbWU6ICJtYWduaWZ5aW5nZ2xhc3MiKS5mb3JlZ3JvdW5k
Q29sb3IoLm9yYW5nZSkKKyAgICAgICAgfSBlbHNlIGlmIHVybElzU2VjdXJlIHsKKyAgICAgICAg
ICAgIEltYWdlKHN5c3RlbU5hbWU6ICJsb2NrLmZpbGwiKS5mb3JlZ3JvdW5kQ29sb3IoLmdyZWVu
KQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogImdsb2Jl
IikuZm9yZWdyb3VuZENvbG9yKC5zZWNvbmRhcnkpCisgICAgICAgIH0KKyAgICB9CisKKyAgICBw
cml2YXRlIHZhciB0ZXh0RmllbGQ6IHNvbWUgVmlldyB7CisgICAgICAgIGxldCB2aWV3ID0gVGV4
dEZpZWxkKAorICAgICAgICAgICAgIlNlYXJjaCBvciB3ZWJzaXRlIGFkZHJlc3MiLAorICAgICAg
ICAgICAgdGV4dDogJHRleHQsCisgICAgICAgICAgICBvbkVkaXRpbmdDaGFuZ2VkOiBvbkVkaXRp
bmdDaGFuZ2UoXzopLAorICAgICAgICAgICAgb25Db21taXQ6IG9uQ29tbWl0CisgICAgICAgICkK
KyAgICAgICAgLnRleHRGaWVsZFN0eWxlKFBsYWluVGV4dEZpZWxkU3R5bGUoKSkKKyAgICAgICAg
LmRpc2FibGVBdXRvY29ycmVjdGlvbih0cnVlKQorCisgICAgICAgICNpZiBvcyhtYWNPUykKKyAg
ICAgICAgcmV0dXJuIHZpZXcKKyAgICAgICAgI2Vsc2UKKyAgICAgICAgcmV0dXJuIHZpZXcKKyAg
ICAgICAgICAgIC50ZXh0Q29udGVudFR5cGUoLlVSTCkKKyAgICAgICAgICAgIC5hdXRvY2FwaXRh
bGl6YXRpb24oLm5vbmUpCisgICAgICAgICNlbmRpZgorICAgIH0KKworICAgIHByaXZhdGUgZnVu
YyB1cmxEaWRDaGFuZ2UoKSB7CisgICAgICAgIGlmICFpc0VkaXRpbmcgeworICAgICAgICAgICAg
dGV4dCA9IHVybD8uYWJzb2x1dGVTdHJpbmcgPz8gIiIKKyAgICAgICAgfQorICAgIH0KKworICAg
IHByaXZhdGUgZnVuYyBvbkVkaXRpbmdDaGFuZ2UoXyBpc0VkaXRpbmc6IEJvb2wpIHsKKyAgICAg
ICAgc2VsZi5pc0VkaXRpbmcgPSBpc0VkaXRpbmcKKyAgICAgICAgaWYgIWlzRWRpdGluZyB7Cisg
ICAgICAgICAgICB1cmxEaWRDaGFuZ2UoKQorICAgICAgICB9CisKKyAgICAgICAgZXh0ZXJuYWxP
bkVkaXRpbmdDaGFuZ2UoaXNFZGl0aW5nKQorICAgIH0KKworICAgIHByaXZhdGUgZnVuYyBvbkNv
bW1pdCgpIHsKKyAgICAgICAgb25OYXZpZ2F0ZSh0ZXh0KQorICAgIH0KK30KKworcHJpdmF0ZSBz
dHJ1Y3QgQmFja2dyb3VuZCA6IFZpZXcgeworICAgIHZhciBsb2FkaW5nUHJvZ3Jlc3M6IERvdWJs
ZT8KKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAgICAvLyBGSVhNRTogSW4gcmVh
bCBTYWZhcmksIHRoaXMgaXMgYWN0dWFsbHkgYSBtYXRlcmlhbCBub3QgYSBzb2xpZCBjb2xvci4K
KyAgICAgICAgUm91bmRlZFJlY3RhbmdsZShjb3JuZXJSYWRpdXM6IDYpCisgICAgICAgICAgICAu
Zm9yZWdyb3VuZENvbG9yKENvbG9yKCJVUkxGaWVsZEJhY2tncm91bmQiKSkKKyAgICAgICAgICAg
IC5vdmVybGF5KHByb2dyZXNzKQorICAgIH0KKworICAgIHByaXZhdGUgdmFyIHByb2dyZXNzOiBz
b21lIFZpZXcgeworICAgICAgICBHZW9tZXRyeVJlYWRlciB7IHByb3h5IGluCisgICAgICAgICAg
ICBpZiBsZXQgbG9hZGluZ1Byb2dyZXNzID0gbG9hZGluZ1Byb2dyZXNzIHsKKyAgICAgICAgICAg
ICAgICBQcm9ncmVzc1ZpZXcodmFsdWU6IGxvYWRpbmdQcm9ncmVzcykKKyAgICAgICAgICAgICAg
ICAgICAgLm9mZnNldCh5OiBwcm94eS5zaXplLmhlaWdodCAtIDQpCisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKK3N0cnVjdCBVUkxGaWVsZF9QcmV2aWV3czogUHJldmlld1By
b3ZpZGVyIHsKKyAgICBzdGF0aWMgdmFyIHByZXZpZXdzOiBzb21lIFZpZXcgeworICAgICAgICBH
cm91cCB7CisgICAgICAgICAgICBVUkxGaWVsZCgKKyAgICAgICAgICAgICAgICB1cmw6IG5pbCwK
KyAgICAgICAgICAgICAgICBpc1NlY3VyZTogZmFsc2UsCisgICAgICAgICAgICAgICAgbG9hZGlu
Z1Byb2dyZXNzOiBuaWwsCisgICAgICAgICAgICAgICAgb25FZGl0aW5nQ2hhbmdlOiB7IF8gaW4g
fSwKKyAgICAgICAgICAgICAgICBvbk5hdmlnYXRlOiB7IF8gaW4gfQorICAgICAgICAgICAgKSB7
CisgICAgICAgICAgICAgICAgRW1wdHlWaWV3KCkKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgVVJMRmllbGQoCisgICAgICAgICAgICAgICAgdXJsOiBVUkwoc3RyaW5nOiAiaHR0cHM6Ly93
ZWJraXQub3JnIikhLAorICAgICAgICAgICAgICAgIGlzU2VjdXJlOiB0cnVlLAorICAgICAgICAg
ICAgICAgIGxvYWRpbmdQcm9ncmVzczogbmlsLAorICAgICAgICAgICAgICAgIG9uRWRpdGluZ0No
YW5nZTogeyBfIGluIH0sCisgICAgICAgICAgICAgICAgb25OYXZpZ2F0ZTogeyBfIGluIH0KKyAg
ICAgICAgICAgICkgeworICAgICAgICAgICAgICAgIEltYWdlKHN5c3RlbU5hbWU6ICJhcnJvdy5j
bG9ja3dpc2UiKQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBVUkxGaWVsZCgKKyAgICAg
ICAgICAgICAgICB1cmw6IFVSTChzdHJpbmc6ICJodHRwczovL3dlYmtpdC5vcmciKSEsCisgICAg
ICAgICAgICAgICAgaXNTZWN1cmU6IHRydWUsCisgICAgICAgICAgICAgICAgbG9hZGluZ1Byb2dy
ZXNzOiBuaWwsCisgICAgICAgICAgICAgICAgb25FZGl0aW5nQ2hhbmdlOiB7IF8gaW4gfSwKKyAg
ICAgICAgICAgICAgICBvbk5hdmlnYXRlOiB7IF8gaW4gfQorICAgICAgICAgICAgKSB7CisgICAg
ICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogImFycm93LmNsb2Nrd2lzZSIpCisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAuZW52aXJvbm1lbnQoXC5jb2xvclNjaGVtZSwgLmRhcmspCisg
ICAgICAgIH0KKyAgICAgICAgLnBhZGRpbmcoKQorICAgICAgICAuZnJhbWUobWF4V2lkdGg6IDQw
MCkKKyAgICAgICAgLnByZXZpZXdMYXlvdXQoLnNpemVUaGF0Rml0cykKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvRGlhbG9nLnN3
aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL0RpYWxvZy5zd2lm
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMzUwNWM4NDU4ZDlkNWIwMzExY2MzODg2ZTZjOWFhNGU3NGY2NTQ3Ci0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJ
L0RpYWxvZy5zd2lmdApAQCAtMCwwICsxLDE4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBTd2lm
dFVJCisKKy8vLyBBIGRpYWxvZyByZXF1ZXN0ZWQgZm9yIGRpc3BsYXkgYnkgc29tZSBhc3BlY3Qg
b2Ygd2ViIGNvbnRlbnQuCitwdWJsaWMgc3RydWN0IERpYWxvZyA6IElkZW50aWZpYWJsZSwgSGFz
aGFibGUgeworICAgIC8vLyBBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBkaWFsb2cuCisg
ICAgcHVibGljIHZhciBpZCA9IElEKCkKKworICAgIC8vLyBBIGNvbmZpZ3VyYXRpb24gZGVzY3Jp
YmluZyB0aGUgcHVycG9zZSBhbmQgY29udGVudHMgb2YgdGhpcyBkaWFsb2cgZm9yIGRpc3BsYXku
CisgICAgcHVibGljIHZhciBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uCisKKyAgICAvLy8g
Q29uc3RydWN0cyBhIGRpYWxvZyBmcm9tIGl0cyBjb21wb25lbnQgcGFydHMuCisgICAgcHVibGlj
IGluaXQoaWQ6IElEID0gSUQoKSwgXyBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7Cisg
ICAgICAgIHNlbGYuaWQgPSBpZAorICAgICAgICBzZWxmLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1
cmF0aW9uCisgICAgfQorCisgICAgLy8vIENvbnN0cnVjdHMgYSBkaWFsb2cgZm9yIGEgSmF2YVNj
cmlwdCBgYWxlcnQoKWAsIHdoaWNoIGNvbnRhaW5zIG9ubHkgYSBtZXNzYWdlIHRvIHRoZSB1c2Vy
LgorICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBpZDogQW4gb3BhcXVlIGlkZW50
aWZpZXIgZm9yIHRoZSBkaWFsb2cuCisgICAgLy8vICAgLSBtZXNzYWdlOiBBIG1lc3NhZ2UgdG8g
ZGlzcGxheSB0byB0aGUgdXNlci4KKyAgICAvLy8gICAtIGNvbXBsZXRpb246IEEgYmxvY2sgdG8g
YmUgaW52b2tlZCB3aGVuIHRoZSBkaWFsb2cgaGFzIGJlZW4gZGlzbWlzc2VkLiBUaGUgd2VicGFn
ZSB3aWxsCisgICAgLy8vICAgYmUgcGF1c2VkIHVudGlsIHRoaXMgYmxvY2sgaXMgaW52b2tlZCwg
YW5kIGZhaWx1cmUgdG8gaW52b2tlIHRoZSBibG9jaywgb3IgbXVsdGlwbGUKKyAgICAvLy8gICBp
bnZvY2F0aW9ucyB3aWxsIHJlc3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIHB1Ymxp
YyBzdGF0aWMgZnVuYyBqYXZhU2NyaXB0QWxlcnQoCisgICAgICAgIGlkOiBJRCA9IElEKCksIF8g
bWVzc2FnZTogU3RyaW5nLCBjb21wbGV0aW9uOiBAZXNjYXBpbmcgKCkgLT4gVm9pZAorICAgICkg
LT4gU2VsZiB7CisgICAgICAgIERpYWxvZyhpZDogaWQsIC5qYXZhU2NyaXB0QWxlcnQobWVzc2Fn
ZSwgY29tcGxldGlvbikpCisgICAgfQorCisgICAgLy8vIENvbnN0cnVjdHMgYSBkaWFsb2cgZm9y
IGEgSmF2YVNjcmlwdCBgY29uZmlybSgpYCwgd2hpY2ggY29udGFpbnMgYSBtZXNzYWdlIHRvIHRo
ZSB1c2VyIGFuZAorICAgIC8vLyBleHBlY3RzIGEgYmluYXJ5IHJlc3BvbnNlIGZvciB0aGUgd2Vi
cGFnZS4KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gaWQ6IEFuIG9wYXF1ZSBp
ZGVudGlmaWVyIGZvciB0aGUgZGlhbG9nLgorICAgIC8vLyAgIC0gbWVzc2FnZTogQSBtZXNzYWdl
IHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuCisgICAgLy8vICAgLSBjb21wbGV0aW9uOiBBIGJsb2Nr
IHRvIGJlIGludm9rZWQgd2l0aCB0aGUgdXNlcidzIGRlY2lzaW9uLiBUaGUgd2VicGFnZSB3aWxs
IGJlIHBhdXNlZAorICAgIC8vLyAgIHVudGlsIHRoaXMgYmxvY2sgaXMgaW52b2tlZCwgYW5kIGZh
aWx1cmUgdG8gaW52b2tlIHRoZSBibG9jaywgb3IgbXVsdGlwbGUgaW52b2NhdGlvbnMgd2lsbAor
ICAgIC8vLyAgIHJlc3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIHB1YmxpYyBzdGF0
aWMgZnVuYyBqYXZhU2NyaXB0Q29uZmlybSgKKyAgICAgICAgaWQ6IElEID0gSUQoKSwgXyBtZXNz
YWdlOiBTdHJpbmcsIGNvbXBsZXRpb246IEBlc2NhcGluZyAoQm9vbCkgLT4gVm9pZAorICAgICkg
LT4gU2VsZiB7CisgICAgICAgIERpYWxvZyhpZDogaWQsIC5qYXZhU2NyaXB0Q29uZmlybShtZXNz
YWdlLCBjb21wbGV0aW9uKSkKKyAgICB9CisKKyAgICAvLy8gQ29uc3RydWN0cyBhIGRpYWxvZyBm
b3IgYSBKYXZhU2NyaXB0IGBwcm9tcHQoKWAsIHdoaWNoIGNvbnRhaW5zIGEgbWVzc2FnZSB0byB0
aGUgdXNlciBhbmQKKyAgICAvLy8gZXhwZWN0cyB0aGUgcmVzcG9uc2Ugb2YgZWl0aGVyIGEgc3Ry
aW5nIG9yIGBuaWxgLgorICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBpZDogQW4g
b3BhcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBkaWFsb2cuCisgICAgLy8vICAgLSBtZXNzYWdlOiBB
IG1lc3NhZ2UgdG8gZGlzcGxheSB0byB0aGUgdXNlci4KKyAgICAvLy8gICAtIGRlZmF1bHRUZXh0
OiBBIGRlZmF1bHQgcmVzcG9uc2UgZm9yIHRoZSB1c2VyLCBwcm92aWRlZCBieSB0aGUgd2VicGFn
ZS4KKyAgICAvLy8gICAtIGNvbXBsZXRpb246IEEgYmxvY2sgdG8gYmUgaW52b2tlZCB3aXRoIHRo
ZSB1c2VyJ3MgZGVjaXNpb24uIEZvciB0aGlzIHJlcGx5LCBgbmlsYCBhbmQKKyAgICAvLy8gICBh
biBlbXB0eSBzdHJpbmcgKGAiImApIGFyZSB0cmVhdGVkIGRpZmZlcmVudGx5LiBgbmlsYCBtZWFu
cyB0aGF0IHRoZSB1c2VyIHNlbGVjdGVkIGEKKyAgICAvLy8gICBfY2FuY2VsXyBvcGVyYXRpb24s
IHdoaWxlIGFueSBub24tYG5pbGAgcmVzcG9uc2UgaW1wbGllcyBhbiBfb2tfIG9wZXJhdGlvbi4g
VGhlIHdlYnBhZ2UKKyAgICAvLy8gICB3aWxsIGJlIHBhdXNlZCB1bnRpbCB0aGlzIGJsb2NrIGlz
IGludm9rZWQsIGFuZCBmYWlsdXJlIHRvIGludm9rZSB0aGUgYmxvY2ssIG9yIG11bHRpcGxlCisg
ICAgLy8vICAgaW52b2NhdGlvbnMgd2lsbCByZXN1bHQgaW4gYSBydW50aW1lIGV4Y2VwdGlvbi4K
KyAgICBwdWJsaWMgc3RhdGljIGZ1bmMgamF2YVNjcmlwdFByb21wdCgKKyAgICAgICAgaWQ6IElE
ID0gSUQoKSwgXyBtZXNzYWdlOiBTdHJpbmcsIGRlZmF1bHRUZXh0OiBTdHJpbmcgPSAiIiwKKyAg
ICAgICAgY29tcGxldGlvbjogQGVzY2FwaW5nIChTdHJpbmc/KSAtPiBWb2lkCisgICAgKSAtPiBT
ZWxmIHsKKyAgICAgICAgRGlhbG9nKGlkOiBpZCwgLmphdmFTY3JpcHRQcm9tcHQobWVzc2FnZSwg
ZGVmYXVsdFRleHQ6IGRlZmF1bHRUZXh0LCBjb21wbGV0aW9uKSkKKyAgICB9CisKKyAgICBwdWJs
aWMgZnVuYyBoYXNoKGludG8gaGFzaGVyOiBpbm91dCBIYXNoZXIpIHsKKyAgICAgICAgaGFzaGVy
LmNvbWJpbmUoaWQpCisgICAgfQorCisgICAgcHVibGljIHN0YXRpYyBmdW5jID09IChsaHM6IERp
YWxvZywgcmhzOiBEaWFsb2cpIC0+IEJvb2wgeworICAgICAgICBsaHMuaWQgPT0gcmhzLmlkCisg
ICAgfQorCisgICAgLy8vIEFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciBhIGBEaWFsb2dgLgorICAg
IHB1YmxpYyBzdHJ1Y3QgSUQgOiBIYXNoYWJsZSB7CisgICAgICAgIHByaXZhdGUgdmFyIHJhd1Zh
bHVlID0gVVVJRCgpCisKKyAgICAgICAgLy8vIENvbnN0cnVjdHMgYSBuZXcsIHVuaXF1ZSBpZGVu
dGlmaWVyLgorICAgICAgICBwdWJsaWMgaW5pdCgpIHsKKyAgICAgICAgfQorICAgIH0KKworICAg
IC8vLyBEZXNjcmliZXMgYSBzcGVjaWZpYyB0eXBlIG9mIGRpYWxvZywgYWxvbmcgd2l0aCBhbnkg
c3BlY2lmaWMgdmFsdWVzIGZvciB0aGF0IHR5cGUuCisgICAgcHVibGljIGVudW0gQ29uZmlndXJh
dGlvbiB7CisgICAgICAgIC8vLyBBIGRpYWxvZyB0cmlnZ2VyZWQgYnkgdGhlIEphdmFTY3JpcHQg
YHdpbmRvdy5hbGVydCgpYCBBUEkuCisgICAgICAgIC8vLyAtIFBhcmFtYXRlcnM6CisgICAgICAg
IC8vLyAgIC0gMDogQSBtZXNzYWdlIGZyb20gdGhlIHdlYnBhZ2UgZm9yIHRoZSB1c2VyLgorICAg
ICAgICAvLy8gICAtIDE6IEEgYmxvY2sgdG8gYmUgaW52b2tlZCB3aGVuIHRoZSBkaWFsb2cgaGFz
IGJlZW4gZGlzbWlzc2VkLiBUaGUgd2VicGFnZSB3aWxsIGJlCisgICAgICAgIC8vLyAgIHBhdXNl
ZCB1bnRpbCB0aGlzIGJsb2NrIGlzIGludm9rZWQsIGFuZCBmYWlsdXJlIHRvIGludm9rZSB0aGUg
YmxvY2ssIG9yIG11bHRpcGxlCisgICAgICAgIC8vLyAgIGludm9jYXRpb25zIHdpbGwgcmVzdWx0
IGluIGEgcnVudGltZSBleGNlcHRpb24uCisgICAgICAgIGNhc2UgamF2YVNjcmlwdEFsZXJ0KFN0
cmluZywgKCkgLT4gVm9pZCkKKworICAgICAgICAvLy8gQSBkaWFsb2cgdHJpZ2dlcmVkIGJ5IHRo
ZSBKYXZhU2NyaXB0IGB3aW5kb3cuY29uZmlybSgpYCBBUEkuCisgICAgICAgIC8vLyAgIC0gMDog
QSBtZXNzYWdlIGZyb20gdGhlIHdlYnBhZ2UgZm9yIHRoZSB1c2VyLgorICAgICAgICAvLy8gICAt
IDE6IEEgYmxvY2sgdG8gYmUgaW52b2tlZCB3aXRoIGEgYmluYXJ5IGRlY2lzaW9uIGZyb20gdGhl
IHVzZXIuIFRoZSB3ZWJwYWdlIHdpbGwgYmUKKyAgICAgICAgLy8vICAgcGF1c2VkIHVudGlsIHRo
aXMgYmxvY2sgaXMgaW52b2tlZCwgYW5kIGZhaWx1cmUgdG8gaW52b2tlIHRoZSBibG9jaywgb3Ig
bXVsdGlwbGUKKyAgICAgICAgLy8vICAgaW52b2NhdGlvbnMgd2lsbCByZXN1bHQgaW4gYSBydW50
aW1lIGV4Y2VwdGlvbi4KKyAgICAgICAgY2FzZSBqYXZhU2NyaXB0Q29uZmlybShTdHJpbmcsIChC
b29sKSAtPiBWb2lkKQorCisgICAgICAgIC8vLyBBIGRpYWxvZyB0cmlnZ2VyZWQgYnkgdGhlIEph
dmFTY3JpcHQgYHdpbmRvdy5wcm9tcHQoKWAgQVBJLgorICAgICAgICAvLy8gLSBQYXJhbWF0ZXJz
OgorICAgICAgICAvLy8gICAtIDA6IEEgbWVzc2FnZSBmcm9tIHRoZSB3ZWJwYWdlIGZvciB0aGUg
dXNlci4KKyAgICAgICAgLy8vICAgLSBkZWZhdWx0VGV4dDogQSB3ZWJwYWdlIHByb3ZpZGVkIGRl
ZmF1bHQgcmVzcG9uc2UgZm9yIHRoZSB1c2VyLgorICAgICAgICAvLy8gICAtIDE6IEEgYmxvY2sg
dG8gYmUgaW52b2tlZCB3aXRoIHRoZSB1c2VyJ3MgZGVjaXNpb24uIEZvciB0aGlzIHJlcGx5LCBg
bmlsYCBhbmQgYW4KKyAgICAgICAgLy8vICAgZW1wdHkgc3RyaW5nIChgIiJgKSBhcmUgdHJlYXRl
ZCBkaWZmZXJlbnRseS4gYG5pbGAgbWVhbnMgdGhhdCB0aGUgdXNlciBzZWxlY3RlZCBhCisgICAg
ICAgIC8vLyAgIF9jYW5jZWxfIG9wZXJhdGlvbiwgd2hpbGUgYW55IG5vbi1gbmlsYCByZXNwb25z
ZSBpbXBsaWVzIGFuIF9va18gb3BlcmF0aW9uLiBUaGUKKyAgICAgICAgLy8vICAgd2VicGFnZSB3
aWxsIGJlIHBhdXNlZCB1bnRpbCB0aGlzIGJsb2NrIGlzIGludm9rZWQsIGFuZCBmYWlsdXJlIHRv
IGludm9rZSB0aGUgYmxvY2ssCisgICAgICAgIC8vLyAgIG9yIG11bHRpcGxlIGludm9jYXRpb25z
IHdpbGwgcmVzdWx0IGluIGEgcnVudGltZSBleGNlcHRpb24uCisgICAgICAgIGNhc2UgamF2YVNj
cmlwdFByb21wdChTdHJpbmcsIGRlZmF1bHRUZXh0OiBTdHJpbmcsIChTdHJpbmc/KSAtPiBWb2lk
KQorICAgIH0KK30KKworLy8vIEEgdmlldyBwcm92aWRpbmcgdGhlIFdlYktpdC1kZWZhdWx0IFVJ
IGZvciBnZW5lcmljIHdlYnBhZ2UgZGlhbG9ncy4KK3N0cnVjdCBEaWFsb2dDb250YWluZXI8Q29u
dGVudHMsIEFjdGlvbnM+IDogVmlldyB3aGVyZSBDb250ZW50cyA6IFZpZXcsIEFjdGlvbnMgOiBW
aWV3IHsKKyAgICB2YXIgY29udGVudHM6IENvbnRlbnRzCisgICAgdmFyIGFjdGlvbnM6IEFjdGlv
bnMKKworICAgIGluaXQoQFZpZXdCdWlsZGVyIGNvbnRlbnRzOiAoKSAtPiBDb250ZW50cywgQFZp
ZXdCdWlsZGVyIGFjdGlvbnM6ICgpIC0+IEFjdGlvbnMpIHsKKyAgICAgICAgc2VsZi5jb250ZW50
cyA9IGNvbnRlbnRzKCkKKyAgICAgICAgc2VsZi5hY3Rpb25zID0gYWN0aW9ucygpCisgICAgfQor
CisgICAgdmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIFpTdGFjayB7CisgICAgICAgICAg
ICBDb2xvcih3aGl0ZTogMCwgb3BhY2l0eTogMC4xNSkKKworICAgICAgICAgICAgVlN0YWNrKHNw
YWNpbmc6IDApIHsKKyAgICAgICAgICAgICAgICBWU3RhY2soYWxpZ25tZW50OiAubGVhZGluZykg
eworICAgICAgICAgICAgICAgICAgICBjb250ZW50cworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAuZnJhbWUobWF4V2lkdGg6IC5pbmZpbml0eSwgYWxpZ25tZW50OiAubGVhZGlu
ZykKKyAgICAgICAgICAgICAgICAudGV4dEZpZWxkU3R5bGUoUm91bmRlZEJvcmRlclRleHRGaWVs
ZFN0eWxlKCkpCisgICAgICAgICAgICAgICAgLnBhZGRpbmcoKQorCisgICAgICAgICAgICAgICAg
RGl2aWRlcigpCisKKyAgICAgICAgICAgICAgICBIU3RhY2soc3BhY2luZzogMTIpIHsKKyAgICAg
ICAgICAgICAgICAgICAgU3BhY2VyKCkKKyAgICAgICAgICAgICAgICAgICAgYWN0aW9ucworICAg
ICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvblN0eWxlKF9MaW5rQnV0dG9uU3R5bGUoKSkKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLnBhZGRpbmcoLmhvcml6b250YWwpCisg
ICAgICAgICAgICAgICAgLnBhZGRpbmcoLnZlcnRpY2FsLCAxMikKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIC5mcmFtZShtYXhXaWR0aDogMzAwKQorICAgICAgICAgICAgLmJhY2tncm91bmQo
Um91bmRlZFJlY3RhbmdsZShjb3JuZXJSYWRpdXM6IDEwKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC5mb3JlZ3JvdW5kQ29sb3IoQ29sb3IucGxhdGZvcm1CYWNrZ3JvdW5kKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC5zaGFkb3cocmFkaXVzOiAxMikpCisgICAgICAgICAgICAu
b3ZlcmxheShSb3VuZGVkUmVjdGFuZ2xlKGNvcm5lclJhZGl1czogMTApLnN0cm9rZShDb2xvci5w
bGF0Zm9ybVNlcGFyYXRvcikpCisgICAgICAgIH0KKyAgICB9Cit9CisKKyNpZiBvcyhtYWNPUykK
K3ByaXZhdGUgdHlwZWFsaWFzIF9MaW5rQnV0dG9uU3R5bGUgPSBMaW5rQnV0dG9uU3R5bGUKKyNl
bHNlCitwcml2YXRlIHN0cnVjdCBfTGlua0J1dHRvblN0eWxlIDogQnV0dG9uU3R5bGUgeworICAg
IGZ1bmMgbWFrZUJvZHkoY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikgLT4gc29tZSBWaWV3
IHsKKyAgICAgICAgY29uZmlndXJhdGlvbi5sYWJlbAorICAgICAgICAgICAgLmZvcmVncm91bmRD
b2xvciguYmx1ZSkKKyAgICB9Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9KYXZhU2NyaXB0RGlhbG9ncy5zd2lmdCBiL1Rvb2xz
L01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9KYXZhU2NyaXB0RGlhbG9ncy5zd2lm
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MDYwNjYyMTMxZjc5NGNhZTNmMDVhNWZhMGRmNzk2NTRmZmFhOGZhCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJ
L0phdmFTY3JpcHREaWFsb2dzLnN3aWZ0CkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitp
bXBvcnQgU3dpZnRVSQorCisvLy8gQSB2aWV3IHByb3ZpZGluZyB0aGUgV2ViS2l0LWRlZmF1bHQg
VUkgZm9yIGEgSmF2YVNjcmlwdCBhbGVydC4KK3N0cnVjdCBKYXZhU2NyaXB0QWxlcnQgOiBWaWV3
IHsKKyAgICBwcml2YXRlIHZhciBtZXNzYWdlOiBTdHJpbmcKKyAgICBwcml2YXRlIHZhciBjb21w
bGV0aW9uOiAoKSAtPiBWb2lkCisKKyAgICBpbml0KG1lc3NhZ2U6IFN0cmluZywgY29tcGxldGlv
bjogQGVzY2FwaW5nICgpIC0+IFZvaWQpIHsKKyAgICAgICAgc2VsZi5tZXNzYWdlID0gbWVzc2Fn
ZQorICAgICAgICBzZWxmLmNvbXBsZXRpb24gPSBjb21wbGV0aW9uCisgICAgfQorCisgICAgdmFy
IGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIERpYWxvZ0NvbnRhaW5lciB7CisgICAgICAgICAg
ICBUZXh0KG1lc3NhZ2UpCisgICAgICAgIH0gYWN0aW9uczogeworICAgICAgICAgICAgQnV0dG9u
KCJPSyIsIGFjdGlvbjogY29tcGxldGlvbikKKyAgICAgICAgICAgICAgICAua2V5Ym9hcmRTaG9y
dGN1dCgucmV0dXJuKQorICAgICAgICB9CisgICAgfQorfQorCisvLy8gQSB2aWV3IHByb3ZpZGlu
ZyB0aGUgV2ViS2l0LWRlZmF1bHQgVUkgZm9yIGEgSmF2YVNjcmlwdCBhbGVydC4KK3N0cnVjdCBK
YXZhU2NyaXB0Q29uZmlybSA6IFZpZXcgeworICAgIHByaXZhdGUgdmFyIG1lc3NhZ2U6IFN0cmlu
ZworICAgIHByaXZhdGUgdmFyIGNvbXBsZXRpb246IChCb29sKSAtPiBWb2lkCisKKyAgICBpbml0
KG1lc3NhZ2U6IFN0cmluZywgY29tcGxldGlvbjogQGVzY2FwaW5nIChCb29sKSAtPiBWb2lkKSB7
CisgICAgICAgIHNlbGYubWVzc2FnZSA9IG1lc3NhZ2UKKyAgICAgICAgc2VsZi5jb21wbGV0aW9u
ID0gY29tcGxldGlvbgorICAgIH0KKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAg
ICBEaWFsb2dDb250YWluZXIgeworICAgICAgICAgICAgVGV4dChtZXNzYWdlKQorICAgICAgICB9
IGFjdGlvbnM6IHsKKyAgICAgICAgICAgIEJ1dHRvbigiQ2FuY2VsIiwgYWN0aW9uOiB7IGNvbXBs
ZXRpb24oZmFsc2UpIH0pCisgICAgICAgICAgICAgICAgLmtleWJvYXJkU2hvcnRjdXQoIi4iKQor
ICAgICAgICAgICAgQnV0dG9uKCJPSyIsIGFjdGlvbjogeyBjb21wbGV0aW9uKHRydWUpIH0pCisg
ICAgICAgICAgICAgICAgLmtleWJvYXJkU2hvcnRjdXQoLnJldHVybikKKyAgICAgICAgfQorICAg
IH0KK30KKworLy8vIEEgdmlldyBwcm92aWRpbmcgdGhlIFdlYktpdC1kZWZhdWx0IFVJIGZvciBh
IEphdmFTY3JpcHQgYWxlcnQuCitzdHJ1Y3QgSmF2YVNjcmlwdFByb21wdCA6IFZpZXcgeworICAg
IHByaXZhdGUgdmFyIG1lc3NhZ2U6IFN0cmluZworICAgIHByaXZhdGUgdmFyIGNvbXBsZXRpb246
IChTdHJpbmc/KSAtPiBWb2lkCisgICAgQFN0YXRlIHByaXZhdGUgdmFyIHRleHQ6IFN0cmluZwor
CisgICAgaW5pdChtZXNzYWdlOiBTdHJpbmcsIGRlZmF1bHRUZXh0OiBTdHJpbmcgPSAiIiwgY29t
cGxldGlvbjogQGVzY2FwaW5nIChTdHJpbmc/KSAtPiBWb2lkKSB7CisgICAgICAgIHNlbGYubWVz
c2FnZSA9IG1lc3NhZ2UKKyAgICAgICAgc2VsZi5fdGV4dCA9IFN0YXRlKHdyYXBwZWRWYWx1ZTog
ZGVmYXVsdFRleHQpCisgICAgICAgIHNlbGYuY29tcGxldGlvbiA9IGNvbXBsZXRpb24KKyAgICB9
CisKKyAgICB2YXIgYm9keTogc29tZSBWaWV3IHsKKyAgICAgICAgRGlhbG9nQ29udGFpbmVyIHsK
KyAgICAgICAgICAgIFRleHQobWVzc2FnZSkKKyAgICAgICAgICAgIFRleHRGaWVsZCgiWW91ciBS
ZXNwb25zZSIsIHRleHQ6ICR0ZXh0LCBvbkNvbW1pdDogeyBjb21wbGV0aW9uKHRleHQpIH0pCisg
ICAgICAgIH0gYWN0aW9uczogeworICAgICAgICAgICAgQnV0dG9uKCJDYW5jZWwiLCBhY3Rpb246
IHsgY29tcGxldGlvbihuaWwpIH0pCisgICAgICAgICAgICAgICAgLmtleWJvYXJkU2hvcnRjdXQo
Ii4iKQorICAgICAgICAgICAgQnV0dG9uKCJPSyIsIGFjdGlvbjogeyBjb21wbGV0aW9uKHRleHQp
IH0pCisgICAgICAgICAgICAgICAgLmtleWJvYXJkU2hvcnRjdXQoLnJldHVybikKKyAgICAgICAg
fQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRf
U3dpZnRVSS9OYXZpZ2F0aW9uLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktp
dF9Td2lmdFVJL05hdmlnYXRpb24uc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZiYjI3MTBhNDgzNmMwMDcw
MTNjYmEyZjJmOTRkM2ZlZmJhYTliMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9OYXZpZ2F0aW9uLnN3aWZ0CkBAIC0wLDAgKzEsMTY3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFdlYktpdAoraW1wb3J0IFN3aWZ0VUkKKworZXh0ZW5z
aW9uIFZpZXcgeworICAgIC8vLyBQcm92aWRlcyBhIGJsb2NrIHRvIGJlIGV4ZWN1dGVkIG9uIG5h
dmlnYXRpb24gbWlsZXN0b25lcywgYW5kIGFsbG93cyBmb3IgY3VzdG9taXplZCBoYW5kbGluZwor
ICAgIC8vLyBvZiBuYXZpZ2F0aW9uIHBvbGljeS4KKyAgICAvLy8KKyAgICAvLy8gV2hlbiBwcm92
aWRpbmcgYSBjdXN0b20gcG9saWN5IGRlY2lkZXIgeW91ICoqbXVzdCoqIGVuc3VyZSB0aGF0IHRo
ZSBjb3Jlc3BvbmRpbmcgZGVjaWRlcidzCisgICAgLy8vIGNvbXBsZXRpb24gbWV0aG9kIGlzIGlu
dm9rZWQgZXhhY3RseSBvbmNlLiBGYWlsdXJlIHRvIGRvIHNvIHdpbGwgcmVzdWx0IGluIGEKKyAg
ICAvLy8gcnVudGltZSBleGNlcHRpb24uCisgICAgLy8vCisgICAgLy8vIC0gUGFyYW1ldGVyczoK
KyAgICAvLy8gICAtIGFjdGlvbkRlY2lkZXI6IERlY2lkZXMgd2hldGhlciB0byBhbGxvdyBvciBj
YW5jZWwgYSBuYXZpZ2F0aW9uLgorICAgIHB1YmxpYyBmdW5jIHdlYlZpZXdOYXZpZ2F0aW9uUG9s
aWN5KAorICAgICAgICBvbkFjdGlvbiBhY3Rpb25EZWNpZGVyOiBAZXNjYXBpbmcgKE5hdmlnYXRp
b25BY3Rpb24sIFdlYlZpZXdTdGF0ZSkgLT4gVm9pZAorICAgICkgLT4gc29tZSBWaWV3IHsKKyAg
ICAgICAgZW52aXJvbm1lbnQoXC5uYXZpZ2F0aW9uQWN0aW9uRGVjaWRlciwgYWN0aW9uRGVjaWRl
cikKKyAgICB9CisKKyAgICAvLy8gUHJvdmlkZXMgYSBibG9jayB0byBiZSBleGVjdXRlZCBvbiBu
YXZpZ2F0aW9uIG1pbGVzdG9uZXMsIGFuZCBhbGxvd3MgZm9yIGN1c3RvbWl6ZWQgaGFuZGxpbmcK
KyAgICAvLy8gb2YgbmF2aWdhdGlvbiBwb2xpY3kuCisgICAgLy8vCisgICAgLy8vIFdoZW4gcHJv
dmlkaW5nIGEgY3VzdG9tIHBvbGljeSBkZWNpZGVyIHlvdSAqKm11c3QqKiBlbnN1cmUgdGhhdCB0
aGUgY29yZXNwb25kaW5nIGRlY2lkZXIncworICAgIC8vLyBjb21wbGV0aW9uIG1ldGhvZCBpcyBp
bnZva2VkIGV4YWN0bHkgb25jZS4gRmFpbHVyZSB0byBkbyBzbyB3aWxsIHJlc3VsdCBpbiBhCisg
ICAgLy8vIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIC8vLworICAgIC8vLyAtIFBhcmFtZXRlcnM6
CisgICAgLy8vICAgLSByZXNwb25zZURlY2lkZXI6IERlY2lkZXMgd2hldGhlciB0byBhbGxvdyBv
ciBjYW5jZWwgYSBuYXZpZ2F0aW9uLCBhZnRlciBpdHMgcmVzcG9uc2UKKyAgICAvLy8gICBpcyBr
bm93bi4KKyAgICBwdWJsaWMgZnVuYyB3ZWJWaWV3TmF2aWdhdGlvblBvbGljeSgKKyAgICAgICAg
b25SZXNwb25zZSByZXNwb25zZURlY2lkZXI6IEBlc2NhcGluZyAoTmF2aWdhdGlvblJlc3BvbnNl
LCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQKKyAgICApIC0+IHNvbWUgVmlldyB7CisgICAgICAgIGVu
dmlyb25tZW50KFwubmF2aWdhdGlvblJlc3BvbnNlRGVjaWRlciwgcmVzcG9uc2VEZWNpZGVyKQor
ICAgIH0KKworICAgIC8vLyBQcm92aWRlcyBhIGJsb2NrIHRvIGJlIGV4ZWN1dGVkIG9uIG5hdmln
YXRpb24gbWlsZXN0b25lcywgYW5kIGFsbG93cyBmb3IgY3VzdG9taXplZCBoYW5kbGluZworICAg
IC8vLyBvZiBuYXZpZ2F0aW9uIHBvbGljeS4KKyAgICAvLy8KKyAgICAvLy8gV2hlbiBwcm92aWRp
bmcgYSBjdXN0b20gcG9saWN5IGRlY2lkZXIgeW91ICoqbXVzdCoqIGVuc3VyZSB0aGF0IHRoZSBj
b3Jlc3BvbmRpbmcgZGVjaWRlcidzCisgICAgLy8vIGNvbXBsZXRpb24gbWV0aG9kIGlzIGludm9r
ZWQgZXhhY3RseSBvbmNlLiBGYWlsdXJlIHRvIGRvIHNvIHdpbGwgcmVzdWx0IGluIGEKKyAgICAv
Ly8gcnVudGltZSBleGNlcHRpb24uCisgICAgLy8vCisgICAgLy8vIC0gUGFyYW1ldGVyczoKKyAg
ICAvLy8gICAtIGFjdGlvbkRlY2lkZXI6IERlY2lkZXMgd2hldGhlciB0byBhbGxvdyBvciBjYW5j
ZWwgYSBuYXZpZ2F0aW9uLgorICAgIC8vLyAgIC0gcmVzcG9uc2VEZWNpZGVyOiBEZWNpZGVzIHdo
ZXRoZXIgdG8gYWxsb3cgb3IgY2FuY2VsIGEgbmF2aWdhdGlvbiwgYWZ0ZXIgaXRzIHJlc3BvbnNl
CisgICAgLy8vICAgaXMga25vd24uCisgICAgcHVibGljIGZ1bmMgd2ViVmlld05hdmlnYXRpb25Q
b2xpY3koCisgICAgICAgIG9uQWN0aW9uIGFjdGlvbkRlY2lkZXI6IEBlc2NhcGluZyAoTmF2aWdh
dGlvbkFjdGlvbiwgV2ViVmlld1N0YXRlKSAtPiBWb2lkLAorICAgICAgICBvblJlc3BvbnNlIHJl
c3BvbnNlRGVjaWRlcjogQGVzY2FwaW5nIChOYXZpZ2F0aW9uUmVzcG9uc2UsIFdlYlZpZXdTdGF0
ZSkgLT4gVm9pZAorICAgICkgLT4gc29tZSBWaWV3IHsKKyAgICAgICAgZW52aXJvbm1lbnQoXC5u
YXZpZ2F0aW9uQWN0aW9uRGVjaWRlciwgYWN0aW9uRGVjaWRlcikKKyAgICAgICAgICAgIC5lbnZp
cm9ubWVudChcLm5hdmlnYXRpb25SZXNwb25zZURlY2lkZXIsIHJlc3BvbnNlRGVjaWRlcikKKyAg
ICB9Cit9CisKKy8vLyBDb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCBhbiBhY3Rpb24gdGhhdCBt
YXkgY2F1c2UgYSBuYXZpZ2F0aW9uLCB1c2VkIGZvciBtYWtpbmcKKy8vLyBwb2xpY3kgZGVjaXNp
b25zLgorQGR5bmFtaWNNZW1iZXJMb29rdXAKK3B1YmxpYyBzdHJ1Y3QgTmF2aWdhdGlvbkFjdGlv
biB7CisgICAgcHVibGljIHR5cGVhbGlhcyBQb2xpY3kgPSBXS05hdmlnYXRpb25BY3Rpb25Qb2xp
Y3kKKworICAgIHByaXZhdGUgdmFyIGFjdGlvbjogV0tOYXZpZ2F0aW9uQWN0aW9uCisgICAgcHJp
dmF0ZSB2YXIgcmVwbHk6IChXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3ksIFdLV2VicGFnZVByZWZl
cmVuY2VzKSAtPiBWb2lkCisKKyAgICAvLy8gVGhlIGRlZmF1bHQgc2V0IG9mIHdlYnBhZ2UgcHJl
ZmVyZW5jZXMuIFRoaXMgbWF5IGJlIGNoYW5nZWQgYnkgcGFzc2luZyBtb2RpZmllZCBwcmVmZXJl
bmNlcworICAgIC8vLyB0byBgZGVjaWRlUG9saWN5KF86d2VicGFnZVByZWZlcmVuY2VzOilgLgor
ICAgIHB1YmxpYyBwcml2YXRlKHNldCkgdmFyIHdlYnBhZ2VQcmVmZXJlbmNlczogV0tXZWJwYWdl
UHJlZmVyZW5jZXMKKworICAgIC8vIEZJWE1FOiBgd2VicGFnZVByZWZlcmVuY2VzYCBsYWNrcyB2
YWx1ZSBzZW1hbnRpY3MsIHdoaWNoIGJyZWFrcyB0aGUgQVBJIGNvbnRyYWN0LiBUaGlzCisgICAg
Ly8gaW5zdGFuY2Ugc2hvdWxkIG5vdCBiZSBtdXRhYmxlLCBidXQgdGhhdCB3b3VsZCByZXF1aXJl
IGFuIE9iamVjdGl2ZS1DIHR5cGUgYnJpZGdlLiBXZSBjb3VsZAorICAgIC8vIGFsc28gY29uZm9y
bSBpdCB0byBgTlNDb3B5aW5nYCBhbmQgbWFyayB0aGlzIHByb3BlcnR5IGFzIGBATlNDb3B5aW5n
YC4KKworICAgIGluaXQoCisgICAgICAgIF8gYWN0aW9uOiBXS05hdmlnYXRpb25BY3Rpb24sCisg
ICAgICAgIHdlYnBhZ2VQcmVmZXJlbmNlczogV0tXZWJwYWdlUHJlZmVyZW5jZXMsCisgICAgICAg
IHJlcGx5OiBAZXNjYXBpbmcgKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSwgV0tXZWJwYWdlUHJl
ZmVyZW5jZXMpIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAgc2VsZi5hY3Rpb24gPSBhY3Rpb24K
KyAgICAgICAgc2VsZi5yZXBseSA9IHJlcGx5CisgICAgICAgIHNlbGYud2VicGFnZVByZWZlcmVu
Y2VzID0gd2VicGFnZVByZWZlcmVuY2VzCisgICAgfQorCisgICAgLy8vIERlY2lkZXMgd2hhdCBh
Y3Rpb24gdG8gdGFrZSBmb3IgdGhpcyBuYXZpZ2F0aW9uLiBUaGlzIG1ldGhvZCAqKm11c3QqKiBi
ZSBpbnZva2VkIGV4YWN0bHkKKyAgICAvLy8gb25jZSwgb3RoZXJ3aXNlIFdlYktpdCB3aWxsIHJh
aXNlIGFuIGV4Y2VwdGlvbi4KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gcG9s
aWN5OiBUaGUgZGVzaXJlZCBwb2xpY3kgZm9yIHRoaXMgbmF2aWdhdGlvbi4KKyAgICAvLy8gICAt
IHdlYnBhZ2VQcmVmZXJlbmNlczogVGhlIHByZWZlcmVuY2VzIHRvIHVzZSBmb3IgdGhpcyBuYXZp
Z2F0aW9uLCBvciBgbmlsYCB0byB1c2UgdGhlCisgICAgLy8vICAgZGVmYXVsdCBwcmVmZXJlbmNl
cy4KKyAgICBwdWJsaWMgZnVuYyBkZWNpZGVQb2xpY3koXyBwb2xpY3k6IFBvbGljeSwgd2VicGFn
ZVByZWZlcmVuY2VzOiBXS1dlYnBhZ2VQcmVmZXJlbmNlcz8gPSBuaWwpIHsKKyAgICAgICAgcmVw
bHkocG9saWN5LCB3ZWJwYWdlUHJlZmVyZW5jZXMgPz8gc2VsZi53ZWJwYWdlUHJlZmVyZW5jZXMp
CisgICAgfQorCisgICAgcHVibGljIHN1YnNjcmlwdDxUPihkeW5hbWljTWVtYmVyIGtleVBhdGg6
IEtleVBhdGg8V0tOYXZpZ2F0aW9uQWN0aW9uLCBUPikgLT4gVCB7CisgICAgICAgIGFjdGlvbltr
ZXlQYXRoOiBrZXlQYXRoXQorICAgIH0KKworICAgIGZpbGVwcml2YXRlIHN0cnVjdCBEZWNpZGVy
S2V5IDogRW52aXJvbm1lbnRLZXkgeworICAgICAgICBzdGF0aWMgbGV0IGRlZmF1bHRWYWx1ZTog
KChOYXZpZ2F0aW9uQWN0aW9uLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQpPyA9IG5pbAorICAgIH0K
K30KKworLy8vIENvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGEgbmF2aWdhdGlvbiByZXNwb25z
ZSwgdXNlZCBmb3IgbWFraW5nIHBvbGljeSBkZWNpc2lvbnMuCitAZHluYW1pY01lbWJlckxvb2t1
cAorcHVibGljIHN0cnVjdCBOYXZpZ2F0aW9uUmVzcG9uc2UgeworICAgIHB1YmxpYyB0eXBlYWxp
YXMgUG9saWN5ID0gV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kKKworICAgIHByaXZhdGUgdmFy
IHJlc3BvbnNlOiBXS05hdmlnYXRpb25SZXNwb25zZQorICAgIHByaXZhdGUgdmFyIHJlcGx5OiAo
UG9saWN5KSAtPiBWb2lkCisKKyAgICBpbml0KF8gcmVzcG9uc2U6IFdLTmF2aWdhdGlvblJlc3Bv
bnNlLCByZXBseTogQGVzY2FwaW5nIChQb2xpY3kpIC0+IFZvaWQpIHsKKyAgICAgICAgc2VsZi5y
ZXNwb25zZSA9IHJlc3BvbnNlCisgICAgICAgIHNlbGYucmVwbHkgPSByZXBseQorICAgIH0KKwor
ICAgIC8vLyBEZWNpZGVzIHdoYXQgYWN0aW9uIHRvIHRha2UgZm9yIHRoaXMgbmF2aWdhdGlvbi4g
VGhpcyBtZXRob2QgKiptdXN0KiogYmUgaW52b2tlZCBleGFjdGx5CisgICAgLy8vIG9uY2UsIG90
aGVyd2lzZSBXZWJLaXQgd2lsbCByYWlzZSBhbiBleGNlcHRpb24uCisgICAgLy8vIC0gUGFyYW1l
dGVyczoKKyAgICAvLy8gICAtIHBvbGljeTogVGhlIGRlc2lyZWQgcG9saWN5IGZvciB0aGlzIG5h
dmlnYXRpb24uCisgICAgcHVibGljIGZ1bmMgZGVjaWRlUG9saWN5KF8gcG9saWN5OiBQb2xpY3kp
IHsKKyAgICAgICAgcmVwbHkocG9saWN5KQorICAgIH0KKworICAgIHB1YmxpYyBzdWJzY3JpcHQ8
VD4oZHluYW1pY01lbWJlciBrZXlQYXRoOiBLZXlQYXRoPFdLTmF2aWdhdGlvblJlc3BvbnNlLCBU
PikgLT4gVCB7CisgICAgICAgIHJlc3BvbnNlW2tleVBhdGg6IGtleVBhdGhdCisgICAgfQorCisg
ICAgZmlsZXByaXZhdGUgc3RydWN0IERlY2lkZXJLZXkgOiBFbnZpcm9ubWVudEtleSB7CisgICAg
ICAgIHN0YXRpYyBsZXQgZGVmYXVsdFZhbHVlOiAoKE5hdmlnYXRpb25SZXNwb25zZSwgV2ViVmll
d1N0YXRlKSAtPiBWb2lkKT8gPSBuaWwKKyAgICB9Cit9CisKK2V4dGVuc2lvbiBFbnZpcm9ubWVu
dFZhbHVlcyB7CisgICAgdmFyIG5hdmlnYXRpb25BY3Rpb25EZWNpZGVyOiAoKE5hdmlnYXRpb25B
Y3Rpb24sIFdlYlZpZXdTdGF0ZSkgLT4gVm9pZCk/IHsKKyAgICAgICAgZ2V0IHsgc2VsZltOYXZp
Z2F0aW9uQWN0aW9uLkRlY2lkZXJLZXkuc2VsZl0gfQorICAgICAgICBzZXQgeyBzZWxmW05hdmln
YXRpb25BY3Rpb24uRGVjaWRlcktleS5zZWxmXSA9IG5ld1ZhbHVlIH0KKyAgICB9CisKKyAgICB2
YXIgbmF2aWdhdGlvblJlc3BvbnNlRGVjaWRlcjogKChOYXZpZ2F0aW9uUmVzcG9uc2UsIFdlYlZp
ZXdTdGF0ZSkgLT4gVm9pZCk/IHsKKyAgICAgICAgZ2V0IHsgc2VsZltOYXZpZ2F0aW9uUmVzcG9u
c2UuRGVjaWRlcktleS5zZWxmXSB9CisgICAgICAgIHNldCB7IHNlbGZbTmF2aWdhdGlvblJlc3Bv
bnNlLkRlY2lkZXJLZXkuc2VsZl0gPSBuZXdWYWx1ZSB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1N3aWZ0VUlFeHRyYXMuc3dp
ZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvU3dpZnRVSUV4dHJh
cy5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kM2I3MjE2ZTUyZGU5YjU1OGI1Mjg2MWNjNDAzODAxN2RhODNl
YmU4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9T
d2lmdFVJL1N3aWZ0VUlFeHRyYXMuc3dpZnQKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2ltcG9ydCBTd2lmdFVJCisKK2V4dGVuc2lvbiBDb2xvciB7CisgICAgc3RhdGljIHZhciBwbGF0
Zm9ybVNlcGFyYXRvcjogQ29sb3IgeworICAgICAgICAjaWYgb3MobWFjT1MpCisgICAgICAgIHJl
dHVybiBDb2xvcihOU0NvbG9yLnNlcGFyYXRvckNvbG9yKQorICAgICAgICAjZWxzZQorICAgICAg
ICByZXR1cm4gQ29sb3IoVUlDb2xvci5zZXBhcmF0b3IpCisgICAgICAgICNlbmRpZgorICAgIH0K
KworICAgIHN0YXRpYyB2YXIgcGxhdGZvcm1CYWNrZ3JvdW5kOiBDb2xvciB7CisgICAgICAgICNp
ZiBvcyhtYWNPUykKKyAgICAgICAgcmV0dXJuIENvbG9yKE5TQ29sb3Iud2luZG93QmFja2dyb3Vu
ZENvbG9yKQorICAgICAgICAjZWxzZQorICAgICAgICByZXR1cm4gQ29sb3IoVUlDb2xvci5zeXN0
ZW1CYWNrZ3JvdW5kKQorICAgICAgICAjZW5kaWYKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29s
cy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViS2l0X1N3aWZ0VUktSW5mby5w
bGlzdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJLaXRfU3dp
ZnRVSS1JbmZvLnBsaXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliY2IyNDQ0MjllYzFkYjA2MDZjZTZiM2Q5NTk2
MjI3NmE3YzIzNzcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
V2ViS2l0X1N3aWZ0VUkvV2ViS2l0X1N3aWZ0VUktSW5mby5wbGlzdApAQCAtMCwwICsxLDIyIEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0
IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5j
b20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxk
aWN0PgorCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgorCTxzdHJpbmc+JChE
RVZFTE9QTUVOVF9MQU5HVUFHRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwv
a2V5PgorCTxzdHJpbmc+JChFWEVDVVRBQkxFX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRs
ZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUik8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0
cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JChQ
Uk9EVUNUX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJ
PHN0cmluZz4kKFBST0RVQ1RfQlVORExFX1BBQ0tBR0VfVFlQRSk8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+CisJPHN0cmluZz4xLjA8L3N0cmluZz4KKwk8
a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+JChDVVJSRU5UX1BST0pFQ1RfVkVS
U0lPTik8L3N0cmluZz4KKzwvZGljdD4KKzwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmlldy5zd2lmdCBiL1Rvb2xzL01pbmlC
cm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3LnN3aWZ0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFl
NTA3YjVmYThlYmY3NGJkNDVmYTMzOTU1N2U3NWUwN2NjMGZmYjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmlldy5zd2lmdApA
QCAtMCwwICsxLDI0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBTd2lmdFVJCitpbXBvcnQgV2Vi
S2l0CisKKy8vLyBBIHZpZXcgdGhhdCBkaXNwbGF5cyBpbnRlcmFjdGl2ZSB3ZWIgY29udGVudC4K
Ky8vLworLy8vIEEgYFdlYlZpZXdgIGlzIHVzZWZ1bCBpbiBhbnkgc2NlbmFyaW8gdGhhdCByZXF1
aXJlcyByZW5kZXJpbmcgSFRNTCwgc3VjaCBhcyBmb3IgYSB3ZWIgYnJvd3NlciwKKy8vLyBlUHVi
IHJlYWRlciwgb3Igc2ltcGx5IHRvIGRpc3BsYXkgbG9jYWwgSFRNTCByZXNvdXJjZXMuIEl0IHBy
b3ZpZGVzIGJhc2ljIGJlaGF2aW9ycyBmb3IgaGFuZGxpbmcKKy8vLyB3ZWIgY29udGVudCBieSBk
ZWZhdWx0LCB3aGljaCBjYW4gYmUgY3VzdG9taXplZCB0byBwcm92aWRlIGFsdGVybmF0ZSBiZWhh
dmlvcnMuCitwdWJsaWMgc3RydWN0IFdlYlZpZXcgOiBWaWV3IHsKKyAgICAvLy8gQ2hlY2tzIHdo
ZXRoZXIgb3Igbm90IFdlYlZpZXcgY2FuIGhhbmRsZSB0aGUgZ2l2ZW4gVVJMIGJ5IGRlZmF1bHQu
CisgICAgcHVibGljIHN0YXRpYyBmdW5jIGNhbkhhbmRsZShfIHVybDogVVJMKSAtPiBCb29sIHsK
KyAgICAgICAgcmV0dXJuIHVybC5zY2hlbWUubWFwKFdLV2ViVmlldy5oYW5kbGVzVVJMU2NoZW1l
KF86KSkgPz8gZmFsc2UKKyAgICB9CisKKyAgICBmaWxlcHJpdmF0ZSB2YXIgc3RhdGU6IFdlYlZp
ZXdTdGF0ZQorICAgIEBTdGF0ZSBwcml2YXRlIHZhciBkZWZhdWx0RGlhbG9nOiBEaWFsb2c/ID0g
bmlsCisgICAgcHJpdmF0ZSB2YXIgY3VzdG9tRGlhbG9nOiBCaW5kaW5nPERpYWxvZz8+PyA9IG5p
bAorICAgIGZpbGVwcml2YXRlIHZhciBkaWFsb2c6IERpYWxvZz8geworICAgICAgICBnZXQgeyAo
c2VsZi5jdXN0b21EaWFsb2cgPz8gc2VsZi4kZGVmYXVsdERpYWxvZykud3JhcHBlZFZhbHVlIH0K
KyAgICAgICAgbm9ubXV0YXRpbmcgc2V0IHsgKHNlbGYuY3VzdG9tRGlhbG9nID8/IHNlbGYuJGRl
ZmF1bHREaWFsb2cpLndyYXBwZWRWYWx1ZSA9IG5ld1ZhbHVlIH0KKyAgICB9CisgICAgcHJpdmF0
ZSB2YXIgdXNlSW50ZXJuYWxEaWFsb2dIYW5kbGluZyA9IHRydWUKKworICAgIC8vLyBDcmVhdGUg
YSBuZXcgYFdlYlZpZXdgIGluc3RhbmNlLgorICAgIC8vLworICAgIC8vLyBJbiBvcmRlciB0byBz
dG9yZSB0aGUgc3RhdGUgb2Ygd2VicGFnZXMsIGEgYFdlYlZpZXdTdGF0ZWAgaW5zdGFuY2UgbXVz
dCBiZSBwcm92aWRlZCBieSB0aGUKKyAgICAvLy8gY2FsbGVyLiBPbmNlIHRoZSB3ZWIgdmlldyBp
cyBkaXNwbGF5ZWQgaXRzIHN0YXRlIGNhbiBiZSBib3RoIHJlYWQgYW5kIG1vZGlmaWVkIGZyb20g
dGhlCisgICAgLy8vIGBXZWJWaWV3U3RhdGVgLCBzdWNoIGFzIGRldGVybWluaW5nIHdoZXRoZXIg
dGhlIGBXZWJWaWV3YCBjb250YWlucyBiYWNrLWZvcndhcmQgaGlzdG9yeSwgb3IKKyAgICAvLy8g
dG8gcmVsb2FkIHRoZSBjdXJyZW50IHBhZ2UuCisgICAgLy8vCisgICAgLy8vIC0gUGFyYW1ldGVy
czoKKyAgICAvLy8gICAtIHN0YXRlOiBTdGF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhpcyB3
ZWIgdmlldy4KKyAgICAvLy8gICAtIGRpYWxvZzogQSBiaW5kaW5nIHJlcHJlc2VudGluZyBhbnkg
ZGlhbG9nIHRoYXQgdGhlIHdlYnBhZ2UgbmVlZHMgZGlzcGxheWVkLiBBIGN1c3RvbQorICAgIC8v
LyAgIGJpbmRpbmcgc2hvdWxkIG9ubHkgYmUgcHJvdmlkZWQgaWYgeW91IG5lZWQgdG8gY3VzdG9t
aXplIHRoZSBkaXNwbGF5IG9mIGRpYWxvZ3MsIG90aGVyd2lzZQorICAgIC8vLyAgIGBXZWJWaWV3
YCB3aWxsIG1hbmFnZSBkaXNwbGF5LgorICAgIHB1YmxpYyBpbml0KHN0YXRlOiBXZWJWaWV3U3Rh
dGUsIGRpYWxvZzogQmluZGluZzxEaWFsb2c/Pj8gPSBuaWwpIHsKKyAgICAgICAgc2VsZi5zdGF0
ZSA9IHN0YXRlCisgICAgICAgIHNlbGYuY3VzdG9tRGlhbG9nID0gZGlhbG9nCisgICAgICAgIHNl
bGYudXNlSW50ZXJuYWxEaWFsb2dIYW5kbGluZyA9IGRpYWxvZyA9PSBuaWwKKyAgICB9CisKKyAg
ICBwdWJsaWMgdmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIF9XZWJWaWV3KG93bmVyOiBz
ZWxmKQorICAgICAgICAgICAgLm92ZXJsYXkoZGlhbG9nVmlldykKKyAgICB9CisKKyAgICBAVmll
d0J1aWxkZXIKKyAgICBwcml2YXRlIHZhciBkaWFsb2dWaWV3OiBzb21lIFZpZXcgeworICAgICAg
ICBpZiB1c2VJbnRlcm5hbERpYWxvZ0hhbmRsaW5nLCBsZXQgY29uZmlndXJhdGlvbiA9IGRpYWxv
Zz8uY29uZmlndXJhdGlvbiB7CisgICAgICAgICAgICBzd2l0Y2ggY29uZmlndXJhdGlvbiB7Cisg
ICAgICAgICAgICBjYXNlIGxldCAuamF2YVNjcmlwdEFsZXJ0KG1lc3NhZ2UsIGNvbXBsZXRpb24p
OgorICAgICAgICAgICAgICAgIEphdmFTY3JpcHRBbGVydChtZXNzYWdlOiBtZXNzYWdlLCBjb21w
bGV0aW9uOiB7CisgICAgICAgICAgICAgICAgICAgIGRpYWxvZyA9IG5pbAorICAgICAgICAgICAg
ICAgICAgICBjb21wbGV0aW9uKCkKKyAgICAgICAgICAgICAgICB9KQorICAgICAgICAgICAgY2Fz
ZSBsZXQgLmphdmFTY3JpcHRDb25maXJtKG1lc3NhZ2UsIGNvbXBsZXRpb24pOgorICAgICAgICAg
ICAgICAgIEphdmFTY3JpcHRDb25maXJtKG1lc3NhZ2U6IG1lc3NhZ2UsIGNvbXBsZXRpb246IHsK
KyAgICAgICAgICAgICAgICAgICAgZGlhbG9nID0gbmlsCisgICAgICAgICAgICAgICAgICAgIGNv
bXBsZXRpb24oJDApCisgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIGNhc2UgbGV0IC5q
YXZhU2NyaXB0UHJvbXB0KG1lc3NhZ2UsIGRlZmF1bHRUZXh0LCBjb21wbGV0aW9uKToKKyAgICAg
ICAgICAgICAgICBKYXZhU2NyaXB0UHJvbXB0KG1lc3NhZ2U6IG1lc3NhZ2UsIGRlZmF1bHRUZXh0
OiBkZWZhdWx0VGV4dCwgY29tcGxldGlvbjogeworICAgICAgICAgICAgICAgICAgICBkaWFsb2cg
PSBuaWwKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbigkMCkKKyAgICAgICAgICAgICAg
ICB9KQorICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgRW1wdHlW
aWV3KCkuaGlkZGVuKCkKKyAgICAgICAgfQorICAgIH0KK30KKworcHJpdmF0ZSBzdHJ1Y3QgX1dl
YlZpZXcgeworICAgIGxldCBvd25lcjogV2ViVmlldworCisgICAgZnVuYyBtYWtlVmlldyhjb29y
ZGluYXRvcjogQ29vcmRpbmF0b3IsIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFZhbHVlcykgLT4g
V0tXZWJWaWV3IHsKKyAgICAgICAgbGV0IHZpZXcgPSBXS1dlYlZpZXcoKQorICAgICAgICB2aWV3
Lm5hdmlnYXRpb25EZWxlZ2F0ZSA9IGNvb3JkaW5hdG9yCisgICAgICAgIHZpZXcudWlEZWxlZ2F0
ZSA9IGNvb3JkaW5hdG9yCisgICAgICAgIGNvb3JkaW5hdG9yLndlYlZpZXcgPSB2aWV3CisgICAg
ICAgIGNvb3JkaW5hdG9yLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQKKworICAgICAgICBpZiBs
ZXQgcmVxdWVzdCA9IGNvb3JkaW5hdG9yLmluaXRpYWxSZXF1ZXN0IHsKKyAgICAgICAgICAgIHZp
ZXcubG9hZChyZXF1ZXN0KQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHZpZXcKKyAgICB9
CisKKyAgICBmdW5jIHVwZGF0ZVZpZXcoXyB2aWV3OiBXS1dlYlZpZXcsIGNvb3JkaW5hdG9yOiBD
b29yZGluYXRvciwgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50VmFsdWVzKSB7CisgICAgICAgIGNv
b3JkaW5hdG9yLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQKKworICAgICAgICBpZiBsZXQgZmxh
ZyA9IGVudmlyb25tZW50LmFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzIHsKKyAg
ICAgICAgICAgIHZpZXcuYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgPSBmbGFn
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgZnVuYyBkaXNtYW50bGVWaWV3KF8gdmll
dzogV0tXZWJWaWV3LCBjb29yZGluYXRvcjogQ29vcmRpbmF0b3IpIHsKKyAgICAgICAgY29vcmRp
bmF0b3Iud2ViVmlldyA9IG5pbAorICAgIH0KKworICAgIGZ1bmMgbWFrZUNvb3JkaW5hdG9yKCkg
LT4gQ29vcmRpbmF0b3IgeworICAgICAgICBDb29yZGluYXRvcihvd25lcjogb3duZXIpCisgICAg
fQorfQorCisjaWYgb3MobWFjT1MpCitleHRlbnNpb24gX1dlYlZpZXcgOiBOU1ZpZXdSZXByZXNl
bnRhYmxlIHsKKyAgICBmdW5jIG1ha2VOU1ZpZXcoY29udGV4dDogQ29udGV4dCkgLT4gV0tXZWJW
aWV3IHsKKyAgICAgICAgbWFrZVZpZXcoY29vcmRpbmF0b3I6IGNvbnRleHQuY29vcmRpbmF0b3Is
IGVudmlyb25tZW50OiBjb250ZXh0LmVudmlyb25tZW50KQorICAgIH0KKworICAgIGZ1bmMgdXBk
YXRlTlNWaWV3KF8gbnNWaWV3OiBXS1dlYlZpZXcsIGNvbnRleHQ6IENvbnRleHQpIHsKKyAgICAg
ICAgdXBkYXRlVmlldyhuc1ZpZXcsIGNvb3JkaW5hdG9yOiBjb250ZXh0LmNvb3JkaW5hdG9yLCBl
bnZpcm9ubWVudDogY29udGV4dC5lbnZpcm9ubWVudCkKKyAgICB9CisKKyAgICBzdGF0aWMgZnVu
YyBkaXNtYW50bGVOU1ZpZXcoXyBuc1ZpZXc6IFdLV2ViVmlldywgY29vcmRpbmF0b3I6IENvb3Jk
aW5hdG9yKSB7CisgICAgICAgIGRpc21hbnRsZVZpZXcobnNWaWV3LCBjb29yZGluYXRvcjogY29v
cmRpbmF0b3IpCisgICAgfQorfQorI2Vsc2UKK2V4dGVuc2lvbiBfV2ViVmlldyA6IFVJVmlld1Jl
cHJlc2VudGFibGUgeworICAgIGZ1bmMgbWFrZVVJVmlldyhjb250ZXh0OiBDb250ZXh0KSAtPiBX
S1dlYlZpZXcgeworICAgICAgICBtYWtlVmlldyhjb29yZGluYXRvcjogY29udGV4dC5jb29yZGlu
YXRvciwgZW52aXJvbm1lbnQ6IGNvbnRleHQuZW52aXJvbm1lbnQpCisgICAgfQorCisgICAgZnVu
YyB1cGRhdGVVSVZpZXcoXyB1aVZpZXc6IFdLV2ViVmlldywgY29udGV4dDogQ29udGV4dCkgewor
ICAgICAgICB1cGRhdGVWaWV3KHVpVmlldywgY29vcmRpbmF0b3I6IGNvbnRleHQuY29vcmRpbmF0
b3IsIGVudmlyb25tZW50OiBjb250ZXh0LmVudmlyb25tZW50KQorICAgIH0KKworICAgIHN0YXRp
YyBmdW5jIGRpc21hbnRsZVVJVmlldyhfIHVpVmlldzogV0tXZWJWaWV3LCBjb29yZGluYXRvcjog
Q29vcmRpbmF0b3IpIHsKKyAgICAgICAgZGlzbWFudGxlVmlldyh1aVZpZXcsIGNvb3JkaW5hdG9y
OiBjb29yZGluYXRvcikKKyAgICB9Cit9CisjZW5kaWYKKworQGR5bmFtaWNNZW1iZXJMb29rdXAK
K3ByaXZhdGUgZmluYWwgY2xhc3MgQ29vcmRpbmF0b3IgOiBOU09iamVjdCwgV0tOYXZpZ2F0aW9u
RGVsZWdhdGUsIFdLVUlEZWxlZ2F0ZSB7CisgICAgcHJpdmF0ZSB2YXIgb3duZXI6IFdlYlZpZXcK
KyAgICBmaWxlcHJpdmF0ZSB2YXIgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50VmFsdWVzPworCisg
ICAgaW5pdChvd25lcjogV2ViVmlldykgeworICAgICAgICBzZWxmLm93bmVyID0gb3duZXIKKyAg
ICB9CisKKyAgICAvLyBNQVJLOiBXZWJWaWV3U3RhdGUgUHJveHkKKworICAgIHZhciB3ZWJWaWV3
OiBXS1dlYlZpZXc/IHsKKyAgICAgICAgZ2V0IHsgb3duZXIuc3RhdGUud2ViVmlldyB9CisgICAg
ICAgIHNldCB7IG93bmVyLnN0YXRlLndlYlZpZXcgPSBuZXdWYWx1ZSB9CisgICAgfQorCisgICAg
c3Vic2NyaXB0PFQ+KGR5bmFtaWNNZW1iZXIga2V5UGF0aDogUmVmZXJlbmNlV3JpdGFibGVLZXlQ
YXRoPFdlYlZpZXdTdGF0ZSwgVD4pIC0+IFQgeworICAgICAgICBnZXQgeyBvd25lci5zdGF0ZVtr
ZXlQYXRoOiBrZXlQYXRoXSB9CisgICAgICAgIHNldCB7IG93bmVyLnN0YXRlW2tleVBhdGg6IGtl
eVBhdGhdID0gbmV3VmFsdWUgfQorICAgIH0KKworICAgIC8vIE1BUks6IE5hdmlnYXRpb24KKwor
ICAgIGZ1bmMgd2ViVmlldygKKyAgICAgICAgXyB3ZWJWaWV3OiBXS1dlYlZpZXcsCisgICAgICAg
IGRlY2lkZVBvbGljeUZvciBuYXZpZ2F0aW9uQWN0aW9uOiBXS05hdmlnYXRpb25BY3Rpb24sCisg
ICAgICAgIHByZWZlcmVuY2VzOiBXS1dlYnBhZ2VQcmVmZXJlbmNlcywKKyAgICAgICAgZGVjaXNp
b25IYW5kbGVyOiBAZXNjYXBpbmcgKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSwgV0tXZWJwYWdl
UHJlZmVyZW5jZXMpIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAgaWYgbGV0IGRlY2lkZXIgPSBl
bnZpcm9ubWVudD8ubmF2aWdhdGlvbkFjdGlvbkRlY2lkZXIgeworICAgICAgICAgICAgbGV0IGFj
dGlvbiA9IE5hdmlnYXRpb25BY3Rpb24oCisgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkFjdGlv
biwgd2VicGFnZVByZWZlcmVuY2VzOiBwcmVmZXJlbmNlcywgcmVwbHk6IGRlY2lzaW9uSGFuZGxl
cikKKyAgICAgICAgICAgIGRlY2lkZXIoYWN0aW9uLCBvd25lci5zdGF0ZSkKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGRlY2lzaW9uSGFuZGxlciguYWxsb3csIHByZWZlcmVuY2VzKQor
ICAgICAgICB9CisgICAgfQorCisgICAgZnVuYyB3ZWJWaWV3KAorICAgICAgICBfIHdlYlZpZXc6
IFdLV2ViVmlldywKKyAgICAgICAgZGVjaWRlUG9saWN5Rm9yIG5hdmlnYXRpb25SZXNwb25zZTog
V0tOYXZpZ2F0aW9uUmVzcG9uc2UsCisgICAgICAgIGRlY2lzaW9uSGFuZGxlcjogQGVzY2FwaW5n
IChXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkgLT4gVm9pZAorICAgICkgeworICAgICAgICBp
ZiBsZXQgZGVjaWRlciA9IGVudmlyb25tZW50Py5uYXZpZ2F0aW9uUmVzcG9uc2VEZWNpZGVyIHsK
KyAgICAgICAgICAgIGxldCByZXNwb25zZSA9IE5hdmlnYXRpb25SZXNwb25zZShuYXZpZ2F0aW9u
UmVzcG9uc2UsIHJlcGx5OiBkZWNpc2lvbkhhbmRsZXIpCisgICAgICAgICAgICBkZWNpZGVyKHJl
c3BvbnNlLCBvd25lci5zdGF0ZSkKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRlY2lz
aW9uSGFuZGxlciguYWxsb3cpCisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBNQVJLOiBEaWFs
b2dzCisKKyAgICBmdW5jIHdlYlZpZXcoCisgICAgICAgIF8gd2ViVmlldzogV0tXZWJWaWV3LAor
ICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlIG1lc3NhZ2U6IFN0cmlu
ZywKKyAgICAgICAgaW5pdGlhdGVkQnlGcmFtZSBmcmFtZTogV0tGcmFtZUluZm8sCisgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyOiBAZXNjYXBpbmcgKCkgLT4gVm9pZAorICAgICkgeworICAgICAg
ICBvd25lci5kaWFsb2cgPSAuamF2YVNjcmlwdEFsZXJ0KG1lc3NhZ2UsIGNvbXBsZXRpb246IGNv
bXBsZXRpb25IYW5kbGVyKQorICAgIH0KKworICAgIGZ1bmMgd2ViVmlldygKKyAgICAgICAgXyB3
ZWJWaWV3OiBXS1dlYlZpZXcsCisgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRo
TWVzc2FnZSBtZXNzYWdlOiBTdHJpbmcsCisgICAgICAgIGluaXRpYXRlZEJ5RnJhbWUgZnJhbWU6
IFdLRnJhbWVJbmZvLAorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjogQGVzY2FwaW5nIChCb29s
KSAtPiBWb2lkCisgICAgKSB7CisgICAgICAgIG93bmVyLmRpYWxvZyA9IC5qYXZhU2NyaXB0Q29u
ZmlybShtZXNzYWdlLCBjb21wbGV0aW9uOiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICB9CisKKyAg
ICBmdW5jIHdlYlZpZXcoCisgICAgICAgIF8gd2ViVmlldzogV0tXZWJWaWV3LAorICAgICAgICBy
dW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0IHByb21wdDogU3RyaW5nLAorICAg
ICAgICBkZWZhdWx0VGV4dDogU3RyaW5nPywKKyAgICAgICAgaW5pdGlhdGVkQnlGcmFtZSBmcmFt
ZTogV0tGcmFtZUluZm8sCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyOiBAZXNjYXBpbmcgKFN0
cmluZz8pIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAgb3duZXIuZGlhbG9nID0gLmphdmFTY3Jp
cHRQcm9tcHQoCisgICAgICAgICAgICBwcm9tcHQsIGRlZmF1bHRUZXh0OiBkZWZhdWx0VGV4dCA/
PyAiIiwgY29tcGxldGlvbjogY29tcGxldGlvbkhhbmRsZXIpCisgICAgfQorfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dlYlZpZXdNb2RpZmll
cnMuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmll
d01vZGlmaWVycy5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmE1NTAxYTQ0ZDJmNjYzODRiMDlkMGI3ZWU0
ZjViMDhmYjVjMTBkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L1dlYktpdF9Td2lmdFVJL1dlYlZpZXdNb2RpZmllcnMuc3dpZnQKQEAgLTAsMCArMSw0NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK2ltcG9ydCBTd2lmdFVJCisKK2V4dGVuc2lvbiBWaWV3IHsKKyAgICAvLy8g
Q3VzdG9taXplcyB3aGV0aGVyIGhvcml6b250YWwgc3dpcGUgZ2VzdHVyZXMgd2lsbCB0cmlnZ2Vy
IGJhY2stZm9yd2FyZCBsaXN0IG5hdmlnYXRpb25zCisgICAgLy8vIGluIGEgYFdlYnZpZXdgLgor
ICAgIHB1YmxpYyBmdW5jIHdlYlZpZXdBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJl
cyhfIGFsbG93ZWQ6IEJvb2wpIC0+IHNvbWUgVmlldyB7CisgICAgICAgIGVudmlyb25tZW50KFwu
YWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMsIGFsbG93ZWQpCisgICAgfQorfQor
Citwcml2YXRlIHN0cnVjdCBXZWJWaWV3QWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVy
ZXNLZXkgOiBFbnZpcm9ubWVudEtleSB7CisgICAgc3RhdGljIGxldCBkZWZhdWx0VmFsdWU6IEJv
b2w/ID0gbmlsCit9CisKK2V4dGVuc2lvbiBFbnZpcm9ubWVudFZhbHVlcyB7CisgICAgdmFyIGFs
bG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOiBCb29sPyB7CisgICAgICAgIGdldCB7
IHNlbGZbV2ViVmlld0FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzS2V5LnNlbGZd
IH0KKyAgICAgICAgc2V0IHsgc2VsZltXZWJWaWV3QWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9u
R2VzdHVyZXNLZXkuc2VsZl0gPSBuZXdWYWx1ZSB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dlYlZpZXdTdGF0ZS5zd2lmdCBi
L1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3U3RhdGUuc3dp
ZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTJkMGFjYzQ4ZjAwZmEyZDRhNTJhMjJkZTQ5NTJjN2U1ZWU4N2FhZQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRV
SS9XZWJWaWV3U3RhdGUuc3dpZnQKQEAgLTAsMCArMSwxMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBv
cnQgQ29tYmluZQoraW1wb3J0IFN3aWZ0VUkKK2ltcG9ydCBXZWJLaXQKKworLy8vIEhvbGRzIHRo
ZSBkeW5hbWljIHN0YXRlIG9mIGEgYFdlYlZpZXdgLgorZmluYWwgcHVibGljIGNsYXNzIFdlYlZp
ZXdTdGF0ZSA6IE9ic2VydmFibGVPYmplY3QgeworICAgIHZhciBpbml0aWFsUmVxdWVzdDogVVJM
UmVxdWVzdD8KKyAgICB2YXIgd2ViVmlld09ic2VydmF0aW9uczogW05TS2V5VmFsdWVPYnNlcnZh
dGlvbl0gPSBbXQorICAgIHZhciB3ZWJWaWV3OiBXS1dlYlZpZXc/IHsKKyAgICAgICAgZGlkU2V0
IHsKKyAgICAgICAgICAgIHdlYlZpZXdPYnNlcnZhdGlvbnMuZm9yRWFjaCB7ICQwLmludmFsaWRh
dGUoKSB9CisgICAgICAgICAgICBndWFyZCBsZXQgd2ViVmlldyA9IHdlYlZpZXcgZWxzZSB7Cisg
ICAgICAgICAgICAgICAgd2ViVmlld09ic2VydmF0aW9ucy5yZW1vdmVBbGwoKQorICAgICAgICAg
ICAgICAgIHJldHVybgorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jIHJlZ2lzdGVy
PFQ+KAorICAgICAgICAgICAgICAgIF8ga2V5UGF0aDogS2V5UGF0aDxXS1dlYlZpZXcsIFQ+Cisg
ICAgICAgICAgICApIC0+IE5TS2V5VmFsdWVPYnNlcnZhdGlvbiB3aGVyZSBUIDogRXF1YXRhYmxl
IHsKKyAgICAgICAgICAgICAgICB3ZWJWaWV3Lm9ic2VydmUoCisgICAgICAgICAgICAgICAgICAg
IGtleVBhdGgsIG9wdGlvbnM6IFsucHJpb3IsIC5vbGQsIC5uZXddLAorICAgICAgICAgICAgICAg
ICAgICBjaGFuZ2VIYW5kbGVyOiB3ZWJWaWV3KF86ZGlkQ2hhbmdlS2V5UGF0aDopKQorICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAvLyBUT0RPOiBFdmFsdWF0ZSB0aGUgcGVyZm9ybWFuY2Ug
aW1wYWN0IG9mIHByZS1yZWdpc3RlcmluZyBhbGwgb2YgdGhlc2Ugb2JzZXJ2YXRpb25zLgorICAg
ICAgICAgICAgLy8gV2UgY2FuJ3Qga25vdyB3aGF0IGNoYW5nZXMgd2lsbCB0cmlnZ2VyIHZpZXcg
dXBkYXRlcywgc28gd2UgbmVlZCB0byBvYnNlcnZlIGV2ZXJ5CisgICAgICAgICAgICAvLyBwcm9w
ZXJ0eSB0aGF0IGdldCdzIHJlcHVibGlzaGVkIGJlbG93OyBob3dldmVyLCB0aGVyZSBtYXkgYmUg
bW9yZSBlZmZpY2llbnQgd2F5cyB0bworICAgICAgICAgICAgLy8gYWNoaWV2ZSB0aGlzLgorICAg
ICAgICAgICAgd2ViVmlld09ic2VydmF0aW9ucyA9IFsKKyAgICAgICAgICAgICAgICByZWdpc3Rl
cihcLmNhbkdvQmFjayksIHJlZ2lzdGVyKFwuY2FuR29Gb3J3YXJkKSwgcmVnaXN0ZXIoXC50aXRs
ZSksIHJlZ2lzdGVyKFwudXJsKSwKKyAgICAgICAgICAgICAgICByZWdpc3RlcihcLmlzTG9hZGlu
ZyksIHJlZ2lzdGVyKFwuZXN0aW1hdGVkUHJvZ3Jlc3MpLAorICAgICAgICAgICAgXQorICAgICAg
ICB9CisgICAgfQorCisgICAgcHVibGljIGxldCBvYmplY3RXaWxsQ2hhbmdlID0gT2JzZXJ2YWJs
ZU9iamVjdFB1Ymxpc2hlcigpCisKKyAgICAvLy8gQ3JlYXRlcyBhIG5ldyBgV2ViVmlld1N0YXRl
YC4KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gaW5pdGlhbFVSTDogVGhlIGBV
UkxgIHRvIG5hdmlnYXRlIHRvIGltbWVkaWF0bHkgdXBvbiBgV2ViVmlld2AgY3JlYXRpb24uCisg
ICAgLy8vICAgLSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uIGZvciB0aGUgYFdlYlZpZXdg
LgorICAgIHB1YmxpYyBjb252ZW5pZW5jZSBpbml0KAorICAgICAgICBpbml0aWFsVVJMOiBVUkw/
ID0gbmlsLCBjb25maWd1cmF0aW9uOiBXS1dlYlZpZXdDb25maWd1cmF0aW9uID0gLmluaXQoKQor
ICAgICkgeworICAgICAgICBzZWxmLmluaXQoCisgICAgICAgICAgICBpbml0aWFsUmVxdWVzdDog
aW5pdGlhbFVSTC5tYXAgeyBVUkxSZXF1ZXN0KHVybDogJDApIH0sCisgICAgICAgICAgICBjb25m
aWd1cmF0aW9uOiBjb25maWd1cmF0aW9uKQorICAgIH0KKworICAgIC8vLyBDcmVhdGVzIGEgbmV3
IGBXZWJWaWV3U3RhdGVgLgorICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBpbml0
aWFsUmVxdWVzdDogVGhlIGBVUkxSZXF1ZXN0YCB0byBuYXZpZ2F0ZSB0byBpbW1lZGlhdGx5IHVw
b24gYFdlYlZpZXdgIGNyZWF0aW9uLgorICAgIC8vLyAgIC0gY29uZmlndXJhdGlvbjogQ29uZmln
dXJhdGlvbiBmb3IgdGhlIGBXZWJWaWV3YC4KKyAgICBwdWJsaWMgaW5pdChpbml0aWFsUmVxdWVz
dDogVVJMUmVxdWVzdD8sIGNvbmZpZ3VyYXRpb246IFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gPSAu
aW5pdCgpKSB7CisgICAgICAgIHNlbGYuaW5pdGlhbFJlcXVlc3QgPSBpbml0aWFsUmVxdWVzdAor
ICAgIH0KKworICAgIGZ1bmMgd2ViVmlldzxWYWx1ZT4oCisgICAgICAgIF86IFdLV2ViVmlldywg
ZGlkQ2hhbmdlS2V5UGF0aCBjaGFuZ2U6IE5TS2V5VmFsdWVPYnNlcnZlZENoYW5nZTxWYWx1ZT4K
KyAgICApIHdoZXJlIFZhbHVlIDogRXF1YXRhYmxlIHsKKyAgICAgICAgaWYgY2hhbmdlLmlzUHJp
b3IgJiYgY2hhbmdlLm9sZFZhbHVlICE9IGNoYW5nZS5uZXdWYWx1ZSB7CisgICAgICAgICAgICBv
YmplY3RXaWxsQ2hhbmdlLnNlbmQoKQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gTk9URTog
SSdtIGVsaWRpbmcgZG9jdW1lbnRhdGlvbiBjb21tZW50cyBoZXJlLiBUaGVzZSBwcm9wZXJ0aWVz
IGFuZCBtZXRob2RzIHJlbGF0ZWQgMToxIHdpdGgKKyAgICAvLyB0aGVpciBgV0tXZWJWaWV3YCBj
b3VudGVycGFydHMuCisKKyAgICBwdWJsaWMgdmFyIGNhbkdvQmFjazogQm9vbCB7IHdlYlZpZXc/
LmNhbkdvQmFjayA/PyBmYWxzZSB9CisgICAgcHVibGljIHZhciBjYW5Hb0ZvcndhcmQ6IEJvb2wg
eyB3ZWJWaWV3Py5jYW5Hb0ZvcndhcmQgPz8gZmFsc2UgfQorICAgIHB1YmxpYyB2YXIgdGl0bGU6
IFN0cmluZyB7IHdlYlZpZXc/LnRpdGxlID8/ICIiIH0KKyAgICBwdWJsaWMgdmFyIHVybDogVVJM
PyB7IHdlYlZpZXc/LnVybCB9CisgICAgcHVibGljIHZhciBpc0xvYWRpbmc6IEJvb2wgeyB3ZWJW
aWV3Py5pc0xvYWRpbmcgPz8gZmFsc2UgfQorICAgIHB1YmxpYyB2YXIgZXN0aW1hdGVkUHJvZ3Jl
c3M6IERvdWJsZT8geyBpc0xvYWRpbmcgPyB3ZWJWaWV3Py5lc3RpbWF0ZWRQcm9ncmVzcyA6IG5p
bCB9CisgICAgcHVibGljIHZhciBoYXNPbmx5U2VjdXJlQ29udGVudDogQm9vbCB7IHdlYlZpZXc/
Lmhhc09ubHlTZWN1cmVDb250ZW50ID8/IGZhbHNlIH0KKworICAgIHB1YmxpYyBmdW5jIGxvYWQo
XyB1cmw6IFVSTCkgeworICAgICAgICBsb2FkKFVSTFJlcXVlc3QodXJsOiB1cmwpKQorICAgIH0K
KworICAgIHB1YmxpYyBmdW5jIGxvYWQoXyByZXF1ZXN0OiBVUkxSZXF1ZXN0KSB7CisgICAgICAg
IHdlYlZpZXc/LmxvYWQocmVxdWVzdCkKKyAgICB9CisKKyAgICBwdWJsaWMgZnVuYyBnb0JhY2so
KSB7CisgICAgICAgIHdlYlZpZXc/LmdvQmFjaygpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMg
Z29Gb3J3YXJkKCkgeworICAgICAgICB3ZWJWaWV3Py5nb0ZvcndhcmQoKQorICAgIH0KKworICAg
IHB1YmxpYyBmdW5jIHJlbG9hZCgpIHsKKyAgICAgICAgd2ViVmlldz8ucmVsb2FkKCkKKyAgICB9
CisKKyAgICBwdWJsaWMgZnVuYyBzdG9wTG9hZGluZygpIHsKKyAgICAgICAgd2ViVmlldz8uc3Rv
cExvYWRpbmcoKQorICAgIH0KKworICAgIGZ1bmMgY3JlYXRlUERGKAorICAgICAgICBjb25maWd1
cmF0aW9uOiBXS1BERkNvbmZpZ3VyYXRpb24gPSAuaW5pdCgpLAorICAgICAgICBjb21wbGV0aW9u
OiBAZXNjYXBpbmcgKFJlc3VsdDxEYXRhLCBFcnJvcj4pIC0+IFZvaWQKKyAgICApIHsKKyAgICAg
ICAgaWYgbGV0IHdlYlZpZXcgPSB3ZWJWaWV3IHsKKyAgICAgICAgICAgIHdlYlZpZXcuY3JlYXRl
UERGKGNvbmZpZ3VyYXRpb246IGNvbmZpZ3VyYXRpb24sIGNvbXBsZXRpb25IYW5kbGVyOiBjb21w
bGV0aW9uKQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY29tcGxldGlvbiguZmFpbHVy
ZShXS0Vycm9yKC51bmtub3duKSkpCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9U
b29scy9NaW5pQnJvd3NlclN3aWZ0VUkvaU9TL0luZm8ucGxpc3QgYi9Ub29scy9NaW5pQnJvd3Nl
clN3aWZ0VUkvaU9TL0luZm8ucGxpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWZjMjExYTBjMWIxYTM4NzhmZjli
YjI4Y2IxYjdkZjcxNzA0ZjU0MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9pT1MvSW5mby5wbGlzdApAQCAtMCwwICsxLDUwIEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUv
L0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxp
c3QtMS4wLmR0ZCI+Cis8cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxkaWN0PgorCTxrZXk+Q0ZCdW5k
bGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgorCTxzdHJpbmc+JChERVZFTE9QTUVOVF9MQU5HVUFH
RSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgorCTxzdHJpbmc+JChF
WEVDVVRBQkxFX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4K
Kwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUik8L3N0cmluZz4KKwk8a2V5PkNG
QnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9uPC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4K
Kwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5PgorCTxzdHJpbmc+JChQUk9EVUNUX05BTUUpPC9zdHJp
bmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1Rf
QlVORExFX1BBQ0tBR0VfVFlQRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9u
U3RyaW5nPC9rZXk+CisJPHN0cmluZz4xLjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlVmVyc2lv
bjwva2V5PgorCTxzdHJpbmc+MTwvc3RyaW5nPgorCTxrZXk+TFNSZXF1aXJlc0lQaG9uZU9TPC9r
ZXk+CisJPHRydWUvPgorCTxrZXk+VUlBcHBsaWNhdGlvblNjZW5lTWFuaWZlc3Q8L2tleT4KKwk8
ZGljdD4KKwkJPGtleT5VSUFwcGxpY2F0aW9uU3VwcG9ydHNNdWx0aXBsZVNjZW5lczwva2V5Pgor
CQk8dHJ1ZS8+CisJPC9kaWN0PgorCTxrZXk+VUlBcHBsaWNhdGlvblN1cHBvcnRzSW5kaXJlY3RJ
bnB1dEV2ZW50czwva2V5PgorCTx0cnVlLz4KKwk8a2V5PlVJTGF1bmNoU2NyZWVuPC9rZXk+CisJ
PGRpY3QvPgorCTxrZXk+VUlSZXF1aXJlZERldmljZUNhcGFiaWxpdGllczwva2V5PgorCTxhcnJh
eT4KKwkJPHN0cmluZz5hcm12Nzwvc3RyaW5nPgorCTwvYXJyYXk+CisJPGtleT5VSVN1cHBvcnRl
ZEludGVyZmFjZU9yaWVudGF0aW9uczwva2V5PgorCTxhcnJheT4KKwkJPHN0cmluZz5VSUludGVy
ZmFjZU9yaWVudGF0aW9uUG9ydHJhaXQ8L3N0cmluZz4KKwkJPHN0cmluZz5VSUludGVyZmFjZU9y
aWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgorCQk8c3RyaW5nPlVJSW50ZXJmYWNlT3Jp
ZW50YXRpb25MYW5kc2NhcGVSaWdodDwvc3RyaW5nPgorCTwvYXJyYXk+CisJPGtleT5VSVN1cHBv
cnRlZEludGVyZmFjZU9yaWVudGF0aW9uc35pcGFkPC9rZXk+CisJPGFycmF5PgorCQk8c3RyaW5n
PlVJSW50ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdDwvc3RyaW5nPgorCQk8c3RyaW5nPlVJSW50
ZXJmYWNlT3JpZW50YXRpb25Qb3J0cmFpdFVwc2lkZURvd248L3N0cmluZz4KKwkJPHN0cmluZz5V
SUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlTGVmdDwvc3RyaW5nPgorCQk8c3RyaW5nPlVJ
SW50ZXJmYWNlT3JpZW50YXRpb25MYW5kc2NhcGVSaWdodDwvc3RyaW5nPgorCTwvYXJyYXk+Cis8
L2RpY3Q+Cis8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL21h
Y09TL0luZm8ucGxpc3QgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvbWFjT1MvSW5mby5wbGlz
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYWNiYzU2ODhjYTgwNmVhYzQ1Y2M1ODQ3YzVkMjc4YTZmNmQ2OGU3Ci0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL21hY09TL0luZm8ucGxp
c3QKQEAgLTAsMCArMSwyNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIg
Imh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgorPHBsaXN0
IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248
L2tleT4KKwk8c3RyaW5nPiQoREVWRUxPUE1FTlRfTEFOR1VBR0UpPC9zdHJpbmc+CisJPGtleT5D
RkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KKwk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3Ry
aW5nPgorCTxrZXk+Q0ZCdW5kbGVJY29uRmlsZTwva2V5PgorCTxzdHJpbmc+PC9zdHJpbmc+CisJ
PGtleT5DRkJ1bmRsZUlkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9CVU5ETEVf
SURFTlRJRklFUik8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSW5mb0RpY3Rpb25hcnlWZXJzaW9u
PC9rZXk+CisJPHN0cmluZz42LjA8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlTmFtZTwva2V5Pgor
CTxzdHJpbmc+JChQUk9EVUNUX05BTUUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVBhY2thZ2VU
eXBlPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfQlVORExFX1BBQ0tBR0VfVFlQRSk8L3N0cmlu
Zz4KKwk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+CisJPHN0cmluZz4xLjA8
L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+MTwvc3RyaW5n
PgorCTxrZXk+TFNNaW5pbXVtU3lzdGVtVmVyc2lvbjwva2V5PgorCTxzdHJpbmc+JChNQUNPU1hf
REVQTE9ZTUVOVF9UQVJHRVQpPC9zdHJpbmc+Cis8L2RpY3Q+Cis8L3BsaXN0PgpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL21hY09TL21hY09TLmVudGl0bGVtZW50cyBiL1Rv
b2xzL01pbmlCcm93c2VyU3dpZnRVSS9tYWNPUy9tYWNPUy5lbnRpdGxlbWVudHMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjI1YWYwM2Q5OWIyZWE5OTFiNGE2ZGM4ZWVkOWRiMDg4ZTVhZmJhMQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9tYWNPUy9tYWNPUy5lbnRpdGxlbWVudHMK
QEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
KzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0
dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgorPHBsaXN0IHZl
cnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5hcHAtc2FuZGJv
eDwva2V5PgorCTx0cnVlLz4KKwk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5maWxlcy51c2VyLXNl
bGVjdGVkLnJlYWQtb25seTwva2V5PgorCTx0cnVlLz4KKwk8a2V5PmNvbS5hcHBsZS5zZWN1cml0
eS5uZXR3b3JrLmNsaWVudDwva2V5PgorCTx0cnVlLz4KKzwvZGljdD4KKzwvcGxpc3Q+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413082</attachid>
            <date>2020-11-03 11:28:06 -0800</date>
            <delta_ts>2020-11-03 12:16:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218393-20201103142808.patch</filename>
            <type>text/plain</type>
            <size>119441</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MzExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGVhNWZmNzFmNzI2MDk2MTIxMjA1ZjI0ZWIwNWI3ZThk
NjIxYWE5Ni4uYjVhZDQyNGNkN2MyZWI5NjAxNWQ0NmIzODY4ODgwMDQwYjE0OTJkYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
OCBAQAorMjAyMC0xMC0yOSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIFN3aWZ0VUkgTWluaUJyb3dzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxODM5MworCisgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgVXNpbmcgV0tXZWJWaWV3IGluIFN3aWZ0VUkgaXMgcHJldHR5
IGN1bWJlcnNvbWUgdG9kYXkuIEF0IGEgbWluaW11bSwKKyAgICAgICAgeW91IG5lZWQgdG8gd3Jh
cCB0aGUgV0tXZWJWaWV3IGluIGEgTlMvVUlWaWV3UmVwcmVzZW50YWJsZSBTd2lmdFVJCisgICAg
ICAgIHZpZXcsIGJ1dCB0byByZWFjdCB0byBhbnkgc3RhdGUgY2hhbmdlcyBpbiB0aGUgV0tXZWJW
aWV3IChlLmcuLAorICAgICAgICAtY2FuR29CYWNrIGNoYW5naW5nIGZyb20gTk8gdG8gWUVTKSB5
b3UgbmVlZCB0byBicmlkZ2UgYmV0d2VlbgorICAgICAgICBXS1dlYlZpZXcncyBLVk8gYW5kIFN3
aWZ0VUkncyB1c2Ugb2YgQ29tYmluZSBwdWJsaXNoZXJzIG9yCisgICAgICAgIE9ic2VydmFibGVP
YmplY3RzLiBTZXR0aW5nIHVwIFdLV2ViVmlldydzIHZhcmlvdXMgZGVsZWdhdGVzIGhhcyB0bwor
ICAgICAgICBoYXBwZW4gZG93biBpbnNpZGUgdGhlIE5TL1VJVmlld1JlcHJlc2VudGFibGUncyBD
b29yZGluYXRvciBvYmplY3QuCisgICAgICAgIEFuZCBzbyBvbi4KKworICAgICAgICBUaGVyZSBo
YXZlIGJlZW4gc29tZSBhdHRlbXB0cyBhdCB0aGlzIGluIHRoZSBwYXN0LCBlLmcuOgorCisgICAg
ICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9tYWNvY2xvY2svaG93LXRvLXVzZS13ZWJraXQtd2Vidmll
dy1pbi1zd2lmdHVpLTRiOTQ0ZDA0MTkwYQorICAgICAgICBodHRwczovL21lZGl1bS5jb20vQG1k
eWFtaW4vc3dpZnR1aS1tYXN0ZXJpbmctd2Vidmlldy01NzkwZTY4NjgzM2UKKyAgICAgICAgaHR0
cHM6Ly9naXRodWIuY29tL2t5bGVoaWNraW5zb24vU3dpZnRVSS1XZWJWaWV3CisKKyAgICAgICAg
U29tZWRheSBpdCB3b3VsZCBiZSBuaWNlIHRvIHByb3ZpZGUgYW4gaWRpb21hdGljIFN3aWZ0VUkg
QVBJIGZvcgorICAgICAgICBXZWJLaXQgb3V0IG9mIHRoZSBib3gsIGxpa2UgdGhlIG5ldyBWaWRl
b1BsYXllciBBUEkgdGhhdCB3cmFwcworICAgICAgICBBVlBsYXllci4KKworICAgICAgICBUaGlz
IGNoYW5nZSBwcm92aWRlcyBhIFN3aWZ0VUkgTWluaUJyb3dzZXIgaW1wbGVtZW50YXRpb24gYXMg
d2VsbCBhcyBhCisgICAgICAgIHZlcnkgcHJlbGltaW5hcnkgU3dpZnRVSSB3cmFwcGVyIGZvciBX
S1dlYlZpZXcsIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkKKyAgICAgICAgSmFtZXMgU2F2YWdlLiBU
aGlzIG9ubHkgZXhwb3NlcyBhIHN1YnNldCBvZiB0aGUgV0tXZWJWaWV3IEFQSSwgYW5kIGlzCisg
ICAgICAgIGRlZmluaXRlbHkgbm90IHByb2R1Y3Rpb24gcmVhZHkgeWV0LCBidXQgd2lsbCBnaXZl
IHVzIGEgcGxhY2UgdG8KKyAgICAgICAgZXhwZXJpbWVudCB3aXRoIHdheXMgdG8gbWFrZSBXZWJL
aXQgYW5kIFN3aWZ0VUkgd29yayB0b2dldGhlciBiZXR0ZXIuCisKKyAgICAgICAgSGVyZSdzIEph
bWVzJ3MgZGVzY3JpcHRpb24gb2YgdGhlIEFQSToKKworICAgICAgICA+IFRoZSBpbml0aWFsIHZl
cnNpb24gb2YgdGhpcyBBUEkgaXMgY29tcG9zZWQgb2YgdHdvIHByaW1hcnkKKyAgICAgICAgPiBj
b21wb25lbnRzOiBgV2ViVmlld2AgYW5kIGBXZWJWaWV3U3RhdGVgLiBgV2ViVmlld2AgY29uZm9y
bXMgdG8KKyAgICAgICAgPiBgVmlld2AsIGFuZCBpdHMgdXNhZ2UgaXMgc3RyYWlnaHQtZm9yd2Fy
ZC4gYFdlYlZpZXdTdGF0ZWAgaXMgbm92ZWwsCisgICAgICAgID4gYW5kIG1heSBub3Qgc3Vydml2
ZSB0byB0aGUgZmluYWwgQVBJLiBJdCBleGlzdHMgYXMgYSByZWFkLXdyaXRlCisgICAgICAgID4g
aGFuZGxlIG9uIHRoZSByYXRoZXIgbGFyZ2UgYW1vdW50IG9mIHN0YXRlIHRoYXQgYSB3ZWIgdmll
dyBvZmZlcnMuCisgICAgICAgID4gVGhpcyBpbmNsdWRlcyByZWFkLW9ubHkgYWNjZXNzIHRvIHBy
b3BlcnRpZXMgYWJvdXQgdGhlIGN1cnJlbnQKKyAgICAgICAgPiBwYWdlIChgdGl0bGVgLCBgdXJs
YCwgYGhhc09ubHlTZWN1cmVDb250ZW50YCksIG5hdmlnYXRpb25zCisgICAgICAgID4gKGBlc3Rp
bWF0ZWRQcm9ncmVzc2AsIGBpc0xvYWRpbmdgKSwgYW5kIGJhY2svZm9yd2FyZCBoaXN0b3J5Cisg
ICAgICAgID4gKGBjYW5Hb0JhY2tgLCBgY2FuR29Gb3J3YXJkYCkuIEl0IGFsc28gb2ZmZXJzIGlt
cGVyYXRpdmUgbWV0aG9kcworICAgICAgICA+IGZvciBuYXZpZ2F0aW9uIHdoaWNoIG1hcCAxOjEg
d2l0aCBvdXIgZXhpc3RpbmcgT2JqZWN0aXZlLUMgQVBJLgorICAgICAgICA+CisgICAgICAgID4g
c3RydWN0IEJyb3dzZXJWaWV3IDogVmlldyB7CisgICAgICAgID4gICAgIEBTdGF0ZU9iamVjdCB2
YXIgc3RhdGUgPSBXZWJWaWV3U3RhdGUoaW5pdGlhbFVSTDogVVJMKHN0cmluZzogImh0dHBzOi8v
YXBwbGUuY29tIikhKQorICAgICAgICA+ICAgICB2YXIgYm9keTogc29tZSBWaWV3IHsKKyAgICAg
ICAgPiAgICAgICAgIEhTdGFjayB7CisgICAgICAgID4gICAgICAgICAgICAgVGV4dCh2ZXJiYXRp
bTogc3RhdGUudGl0bGUgPz8gIk5vdGhpbmcgTG9hZGVkIikKKyAgICAgICAgPiAgICAgICAgICAg
ICBUZXh0KHZlcmJhdGltOiBzdGF0ZS51cmwgPz8gIi0tIikKKyAgICAgICAgPiAgICAgICAgICAg
ICBXZWJWaWV3KHN0YXRlOiBzdGF0ZSkKKyAgICAgICAgPiAgICAgICAgIH0KKyAgICAgICAgPiAg
ICAgfQorICAgICAgICA+IH0KKyAgICAgICAgPgorICAgICAgICA+IEphdmFTY3JpcHQgZGlhbG9n
cyBhcmUgc3VwcG9ydGVkIHdpdGggYm90aCBidWlsdC1pbiBiZWhhdmlvciBmb3IgYWxsCisgICAg
ICAgID4gY2xpZW50cywgYW5kIGEgY3VzdG9taXphdGlvbiBwb2ludCBpZiBkZXNpcmVkLiBDbGll
bnRzIGNhbiBwYXNzIGEKKyAgICAgICAgPiBgQmluZGluZzxEaWFsb2c/PmAgdG8gdGhlaXIgYFdl
YlZpZXdgIHRvIGRpc2FibGUgdGhlIGJ1aWx0LWluCisgICAgICAgID4gZGlzcGxheSwgYW5kIHBy
b3ZpZGUgY3VzdG9tIGhhbmRsaW5nLgorICAgICAgICA+CisgICAgICAgID4gTmF2aWdhdGlvbiBw
b2xpY2llcyBjYW4gYmUgY3VzdG9taXplZCB1c2luZworICAgICAgICA+IGB3ZWJWaWV3TmF2aWdh
dGlvblBvbGljeShvbkFjdGlvbjpvblJlc3BvbnNlOilgIHRvIHByb3ZpZGUgY3VzdG9tCisgICAg
ICAgID4gZGVjaWRlciBmb3IgdGhlIGFjdGlvbiBhbmQgcmVzcG9uc2UgcGhhc2VzLiBUaGVzZSBw
cm9wYWdhdGUgdmlhIHRoZQorICAgICAgICA+IGVudmlyb25tZW50LCBhbGxvd2luZyB0aGVtIHRv
IGJlIGRlZmluZWQgYXQgYW4gYXBwLCB3aW5kb3csIG9yCisgICAgICAgID4gaW5kaXZpZHVhbCB2
aWV3IGxldmVsLgorICAgICAgICA+CisgICAgICAgID4gRnV0dXJlIERpcmVjdGlvbnMKKyAgICAg
ICAgPgorICAgICAgICA+IFRvIG1ha2UgYFdlYlZpZXdgIGFzIGRlY2xhcmF0aXZlIGFzIHBvc3Np
YmxlLCB3ZSdyZSBpbnZlc3RpZ2F0aW5nCisgICAgICAgID4gaG93IHRvIG1ha2UgYnJvYWRlciB1
c2Ugb2YgYEJpbmRpbmdgIGZvciBuYXZpZ2F0aW9uLiBBcyBhIHNpbXBsZQorICAgICAgICA+IGV4
YW1wbGUsIHlvdSBjb3VsZCBpbWFnaW5lIGlmIHRoZSBgV2ViVmlld2AncyBpbml0aWFsaXplciB0
b29rIGEKKyAgICAgICAgPiBgQmluZGluZzxVUkw/PmAgZm9yIHRoZSBjdXJyZW50IHBhZ2UuIEhv
d2V2ZXIsIHRoaXMgZGVzaWduIGFsb25lIGlzCisgICAgICAgID4gdG9vIHNpbXBsaXN0aWMgdG8g
bW9kZWwgYWxsIHN0YXRlcyB0aGF0IHRoZSB3ZWIgdmlldyBjb3VsZCBiZSwgc28gd2UKKyAgICAg
ICAgPiB3aWxsIGxpa2VseSBuZWVkIHRvIGludHJvZHVjZSBhIG1vcmUgY29tcGxleCB0eXBlIGZv
ciB0aGUgYmluZGluZy4KKyAgICAgICAgPgorICAgICAgICA+IEN1cnJlbnRseSBuYXZpZ2F0aW9u
IHBvbGljaWVzIGFyZSBhdHRhY2hlZCB2aWEgYFZpZXdgIG1vZGlmaWVycy4KKyAgICAgICAgPiBU
aGlzIGhhcyB0aGUgYmVuZWZpdCB0aGF0IHRoZXkgY2FuIGJlIGluc3RhbGxlZCBhdCB0aGUgcm9v
dCBvZiBhbgorICAgICAgICA+IGFwcGxpY2F0aW9uLCB3aGljaCBpcyB1c2VmdWwgZm9yIGEgd2Vi
IGJyb3dzZXIgd2hlcmUgYWxsIHRhYnMgd2FudAorICAgICAgICA+IHRvIGhhdmUgdW5pZm9ybSBw
b2xpY2llcy4gR2l2ZW4gdGhlIG51bWJlciBvZiBjdXN0b21pemF0aW9uIHBvaW50cworICAgICAg
ICA+IGluIGV4aXN0aW5nIGBXS1dlYlZpZXdgIGRlbGVnYXRlcywgdGhpcyBtYXkgZmFpbCB0byBz
Y2FsZSBhbmQgbGVhZAorICAgICAgICA+IHRvIHVuZGVzaXJhYmxlIGVyZ29ub21pY3MuIEFub3Ro
ZXIgYXBwcm9hY2ggd291bGQgdG8gYmUganVzdCB1c2UgYQorICAgICAgICA+IGRlbGVnYXRlIHBy
b3RvY29sIChhIGxhIERyb3BEZWxlZ2F0ZToKKyAgICAgICAgPiBodHRwczovL2RldmVsb3Blci5h
cHBsZS5jb20vZG9jdW1lbnRhdGlvbi9zd2lmdHVpL2Ryb3BkZWxlZ2F0ZSkuCisgICAgICAgID4K
KyAgICAgICAgPiBBcyBhIHByYWN0aWNhbCBtYXR0ZXIsIHdlIHdhbnQgdG8gbWluaW1pemUgdGhl
IGFtb3VudCBvZiB3b3JrIHRoYXQKKyAgICAgICAgPiBhZGRpbmcgbmV3IGZ1bmN0aW9uYWxpdHkg
dG8gV2ViS2l0IEFQSSBpbmN1cnMgZm9yIGVuZ2luZWVycy4gV2hpbGUKKyAgICAgICAgPiB3ZSBj
b3VsZCByZWRlZmluZSBldmVyeSBPYmplY3RpdmUtQyB0eXBlIGZvciBTd2lmdFVJLCBidXQgdGhp
cyBjb3VsZAorICAgICAgICA+IGxlYWQgdG8gU3dpZnRVSSBmYWxsaW5nIGJlaGluZCBhcyBvdXIg
T2JqZWN0aXZlLUMgQVBJIGdldHMgdXBkYXRlZC4KKyAgICAgICAgPiBXZSBjb3VsZCB1c2UgdG9v
bHMgbGlrZSBgQGR5bmFtaWNNZW1iZXJMb29rdXBgIHRvIGF1dG9tYXRpY2FsbHkgcHVsbAorICAg
ICAgICA+IG91ciBPYmplY3RpdmUtQyBBUElzIG92ZXIgdG8gU3dpZnQsIGhvd2V2ZXIgdGhpcyBj
b3VsZCBoYXZlCisgICAgICAgID4gdW5kZXNpcmFibGUgaW1wYWN0IG91ciBvdXIgQUJJLiBUaGVy
ZSBtYXkgYmUgYSBiZXR0ZXIgY29tcHJvbWlzZSB3ZQorICAgICAgICA+IGhhdmVu4oCZdCB5ZXQg
cmVhY2hlZC4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnOgorICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9u
cy9EZWJ1Zy54Y2NvbmZpZzoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJh
dGlvbnMvTWluaUJyb3dzZXJTd2lmdFVJLnhjY29uZmlnOgorICAgICAgICAqIE1pbmlCcm93c2Vy
U3dpZnRVSS9Db25maWd1cmF0aW9ucy9SZWxlYXNlLnhjY29uZmlnOgorICAgICAgICAqIE1pbmlC
cm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9XZWJLaXRfU3dpZnRVSS54Y2NvbmZpZzoKKyAg
ICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvTWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2Vy
U3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9NaW5pQnJvd3NlclN3aWZ0
VUkueGNzY2hlbWU6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dp
ZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9fV2ViS2l0X1N3aWZ0VUkueGNz
Y2hlbWU6CisgICAgICAgIEFkZGVkIHRoZSBuZXcgcHJvamVjdCBhbmQgaXRzIGNvbmZpZ3VyYXRp
b24uIFRoZSBwcm9qZWN0IHdhcyBnZW5lcmF0ZWQKKyAgICAgICAgZnJvbSBYY29kZSdzICJNdWx0
aXBsYXRmb3JtIEFwcCIgdGVtcGxhdGUuIFRoZXJlIGFyZSB0d28gdGFyZ2V0czogdGhlCisgICAg
ICAgIE1pbmlCcm93c2VyU3dpZnRVSSBhcHAsIGFuZCB0aGUgX1dlYktpdF9Td2lmdFVJIGZyYW1l
d29yay4gQm90aCBhcmUKKyAgICAgICAgY3Jvc3MtcGxhdGZvcm0uIFRoZSBidWlsZCBzZXR0aW5n
cyB3ZXJlIGV4dHJhY3RlZCBvdXQgb2YgdGhlIC5wYnhwcm9qCisgICAgICAgIGludG8gdGhlIC54
Y2NvbmZpZyBmaWxlcy4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNz
ZXRzLnhjYXNzZXRzL0FjY2VudENvbG9yLmNvbG9yc2V0L0NvbnRlbnRzLmpzb246CisgICAgICAg
ICogTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBp
Y29uc2V0L0NvbnRlbnRzLmpzb246CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJl
ZC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNvbjoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3
aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9VUkxGaWVsZEJhY2tncm91bmQuY29sb3JzZXQv
Q29udGVudHMuanNvbjoKKyAgICAgICAgRGVmaW5lcyBhIGNvdXBsZSBvZiBjb2xvcnMgYW5kIGFu
IGVtcHR5IGljb24gZm9yIHRoZSBhcHAuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkv
aU9TL0luZm8ucGxpc3Q6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL21hY09TL0luZm8u
cGxpc3Q6CisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL21hY09TL21hY09TLmVudGl0bGVt
ZW50czoKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViS2l0
X1N3aWZ0VUktSW5mby5wbGlzdDogQWRkZWQuCisgICAgICAgIEFkZGVkIHRoZXNlIGZpbGVzIGdl
bmVyYXRlZCBieSBYY29kZS4gVGhlIG9ubHkgY2hhbmdlIHdhcyBhZGRpbmcKKyAgICAgICAgY29t
LmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsuY2xpZW50IHRvIHRoZSBlbnRpdGxlbWVudHMgc28gdGhl
IGJyb3dzZXIKKyAgICAgICAgY2FuIGNvbm5lY3QgdG8gc2VydmVycy4KKworICAgICAgICAqIE1p
bmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJvd3NlckFwcC5zd2lmdDogQWRkZWQuIFRoaXMgaXMg
dGhlIGVudHJ5CisgICAgICAgIHBvaW50IG9mIHRoZSBhcHAsIGFuZCBqdXN0IHNldHMgdXAgYSBC
cm93c2VyU2NlbmUuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dz
ZXJTY2VuZS5zd2lmdDogQWRkZWQuIFRoaXMgc2V0cyB1cAorICAgICAgICB0aGUgYnJvd3Nlcidz
IHdpbmRvd3MsIGVhY2ggb2Ygd2hpY2gganVzdCBjb250YWluIGEgc2luZ2xlIEJyb3dzZXJUYWIu
CisgICAgICAgIE9uIGlPUyB3ZSB3cmFwIHRoZSBCcm93c2VyVGFiIGluIGEgTmF2aWdhdGlvblZp
ZXcgc28gdGhlcmUgd2lsbCBiZQorICAgICAgICBzb21ld2hlcmUgdG8gc2hvdyBvdXIgdG9vbGJh
ciBidXR0b25zLgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2Vy
VGFiLnN3aWZ0OiBBZGRlZC4gVGhpcyBpcyB0aGUgaGVhcnQKKyAgICAgICAgb2YgdGhlIGJyb3dz
ZXIuCisgICAgICAgIChCcm93c2VyVGFiLmJvZHkpOiBTZXRzIHVwIHRoZSBXZWJWaWV3IGl0c2Vs
ZiBwbHVzIHNvbWUgdG9vbGJhciBpdGVtczoKKyAgICAgICAgdGhlIGJhY2svZm9yd2FyZCBidXR0
b25zIGFuZCBVUkwgZmllbGQuCisgICAgICAgIChCcm93c2VyVGFiLm9uTmF2aWdhdGUodG86KSk6
IENhbGxiYWNrIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHByZXNzZXMKKyAgICAgICAgUmV0dXJuIGlu
IHRoZSBVUkwgZmllbGQuCisgICAgICAgIChCcm93c2VyVGFiLmRlY2lkZVBvbGljeShmb3I6c3Rh
dGU6KSk6IENhbGxiYWNrIGNhbGxlZCB3aGVuIHRoZQorICAgICAgICBXZWJWaWV3IGlzIGFib3V0
IHRvIG5hdmlnYXRlLCBzaW1pbGFyIHRvIFdLTmF2aWdhdGlvbkRlbGVnYXRlJ3MKKyAgICAgICAg
LXdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6
LgorICAgICAgICAoQnJvd3NlclRhYi5tYWtlRXh0ZXJuYWxOYXZpZ2F0aW9uQWxlcnQoXzopKTog
RGlzcGxheXMgYW4gYWxlcnQgdG8gbGV0CisgICAgICAgIHRoZSB1c2VyIGRlY2lkZSB3aGV0aGVy
IHRvIGZvbGxvdyBhIFVSTCB0aGF0IHdpbGwgb3BlbiBpbiBzb21lIG90aGVyCisgICAgICAgIGFw
cGxpY2F0aW9uLgorICAgICAgICAoVXNlcklucHV0KTogUmVwcmVzZW50cyB0ZXh0IHR5cGVkIGlu
IHRoZSBVUkwgZmllbGQgYWZ0ZXIgZGV0ZXJtaW5pbmcKKyAgICAgICAgd2hldGhlciBpdCBpcyBh
IFVSTCBvciBhIHNlYXJjaCBxdWVyeS4KKyAgICAgICAgKEV4dGVybmFsVVJMTmF2aWdhdGlvbik6
IFByb3ZpZGVzIHRoZSBkYXRhIGZvciB0aGUgZXh0ZXJuYWwgbmF2aWdhdGlvbgorICAgICAgICBh
bGVydC4KKyAgICAgICAgKEJyb3dzZXJUYWJfUHJldmlld3MpOiBTaG93cyBhIGNhbm5lZCBCcm93
c2VyVGFiIGluIFhjb2RlJ3MgcHJldmlldworICAgICAgICBjYW52YXMuCisKKyAgICAgICAgKiBN
aW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0ZvdW5kYXRpb25FeHRyYXMuc3dpZnQ6IEFkZGVkLiBQ
cm92aWRlcyBhCisgICAgICAgIGZldyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgVVJMcy4KKworICAg
ICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvVVJMRmllbGQuc3dpZnQ6IEFkZGVkLgor
ICAgICAgICAoVVJMRmllbGQpOiBUaGUgU3dpZnRVSSB2aWV3IHlvdSB1c2UgZGlyZWN0bHkuIEl0
IGNvbnRhaW5zIGEgbGVhZGluZworICAgICAgICBnbHlwaCAoZS5nLiwgYSBsb2NrIGljb24gd2hl
biB2aWV3aW5nIGEgc2VjdXJlIHBhZ2UpLCBhIHRleHQgZmllbGQsCisgICAgICAgIGEgdHJhaWxp
bmcgYWNjZXNzb3J5IHZpZXcgcHJvdmlkZWQgYnkgdGhlIGNhbGxlciwgYW5kIGEgcHJvZ3Jlc3Mg
YmFyLgorICAgICAgICBJdCBhbHNvIHN1cHBvcnRzIGNhbGxiYWNrcyB0byBub3RpZnkgdGhlIGNh
bGxlciB3aGVuIHRoZSB0ZXh0IGZpZWxkCisgICAgICAgIGdhaW5zL2xvc2VzIGZvY3VzIGFuZCB3
aGVuIHRoZSB1c2VyIGhhcyBjb21taXR0ZWQgdGhlIHRleHQgaW4gdGhlCisgICAgICAgIGZpZWxk
IChlLmcuLCBieSBwcmVzc2luZyBSZXR1cm4pLgorICAgICAgICAoQmFja2dyb3VuZCk6IFRoZSBi
YWNrZ3JvdW5kIHZpZXcgZm9yIHRoZSBVUkxGaWVsZCwgd2hpY2ggZGVmaW5lcyBib3RoCisgICAg
ICAgIHRoZSByb3VuZGVkIHJlY3RhbmdsZSBzaGFwZSBmb3IgdGhlIGZpZWxkIGFuZCB0aGUgcHJv
Z3Jlc3MgYmFyLgorICAgICAgICAoVVJMRmllbGRfUHJldmlld3MpOiBTaG93cyBzb21lIGNhbm5l
ZCBVUkxGaWVsZHMgaW4gWGNvZGUncyBwcmV2aWV3CisgICAgICAgIGNhbnZhcy4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9EaWFsb2cuc3dpZnQ6IEFkZGVk
LgorICAgICAgICAoRGlhbG9nKTogUmVwcmVzZW50cyBhIHNpbmdsZSBKYXZhU2NyaXB0IGRpYWxv
ZyAoYWxlcnQsIGNvbmZpcm0sIG9yCisgICAgICAgIHByb21wdCkuCisgICAgICAgIChEaWFsb2dD
b250YWluZXIpOiBQcm92aWRlcyB0aGUgZGVmYXVsdCBVSSBzaGFyZWQgYnkgYWxsIEphdmFTY3Jp
cHQKKyAgICAgICAgZGlhbG9nIHR5cGVzLgorCisgICAgICAgICogTWluaUJyb3dzZXJTd2lmdFVJ
L1dlYktpdF9Td2lmdFVJL0phdmFTY3JpcHREaWFsb2dzLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAg
KEphdmFTY3JpcHRBbGVydCk6IERlZmF1bHQgVUkgZm9yIGEgSmF2YVNjcmlwdCBhbGVydCBkaWFs
b2cuCisgICAgICAgIChKYXZhU2NyaXB0Q29uZmlybSk6IERlZmF1bHQgVUkgZm9yIGEgSmF2YVNj
cmlwdCBjb25maXJtIGRpYWxvZy4KKyAgICAgICAgKEphdmFTY3JpcHRQcm9tcHQpOiBEZWZhdWx0
IFVJIGZvciBhIEphdmFTY3JpcHQgcHJvbXB0IGRpYWxvZy4KKworICAgICAgICAqIE1pbmlCcm93
c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9OYXZpZ2F0aW9uLnN3aWZ0OiBBZGRlZC4KKyAgICAg
ICAgKFZpZXcud2ViVmlld05hdmlnYXRpb25Qb2xpY3kob25BY3Rpb246KSk6CisgICAgICAgIChW
aWV3LndlYlZpZXdOYXZpZ2F0aW9uUG9saWN5KG9uUmVzcG9uc2U6KSk6CisgICAgICAgIChWaWV3
LndlYlZpZXdOYXZpZ2F0aW9uUG9saWN5KG9uQWN0aW9uOm9uUmVzcG9uc2U6KSk6CisgICAgICAg
IFRoZXNlIGxldCB0aGUgYXBwbGljYXRpb24gc3BlY2lmeSBuYXZpZ2F0aW9uIHBvbGljeSBsb2dp
YyBmb3IgYW55CisgICAgICAgIGRlc2NlbmRhbnQgV2ViVmlld3MgaW4gdGhlIHZpZXcgaGllcmFy
Y2h5LCB1c2luZyBTd2lmdFVJJ3MgRW52aXJvbm1lbnQKKyAgICAgICAgZmFjaWxpdHkuCisgICAg
ICAgIChOYXZpZ2F0aW9uQWN0aW9uKTogSWRpb21hdGljIFN3aWZ0VUkgd3JhcHBlciBhcm91bmQK
KyAgICAgICAgV0tOYXZpZ2F0aW9uQWN0aW9uIGFuZCBpdHMgZGVjaXNpb24gaGFuZGxlciBjYWxs
YmFjay4KKyAgICAgICAgKE5hdmlnYXRpb25SZXNwb25zZSk6IElkaW9tYXRpYyBTd2lmdFVJIHdy
YXBwZXIgYXJvdW5kCisgICAgICAgIFdLTmF2aWdhdGlvblJlc3BvbnNlIGFuZCBpdHMgZGVjaXNp
b24gaGFuZGxlciBjYWxsYmFjay4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJL
aXRfU3dpZnRVSS9Td2lmdFVJRXh0cmFzLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKENvbG9yLnBs
YXRmb3JtU2VwYXJhdG9yKToKKyAgICAgICAgKENvbG9yLnBsYXRmb3JtQmFja2dyb3VuZCk6Cisg
ICAgICAgIENyb3NzLXBsYXRmb3JtIHdyYXBwZXJzIGFyb3VuZCBwbGF0Zm9ybS1zcGVjaWZpYyBj
b2xvcnMuCisKKyAgICAgICAgKiBNaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2Vi
Vmlldy5zd2lmdDogQWRkZWQuCisgICAgICAgIChXZWJWaWV3KTogVGhlIGhlYXJ0IG9mIHRoZSBT
d2lmdFVJIEFQSS4gWW91IHByb3ZpZGUgaXQgYSBXZWJWaWV3U3RhdGUKKyAgICAgICAgc3RydWN0
IHRvIHJlcHJlc2VudCBhbmQgY29udHJvbCBpdHMgc3RhdGUgKHNpbWlsYXIgdG8gQVZGb3VuZGF0
aW9uJ3MKKyAgICAgICAgVmlkZW9QbGF5ZXIgdmlldyBjb250cm9sbGVkIGJ5IEFWUGxheWVyKS4g
WW91IGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgYQorICAgICAgICBCaW5kaW5nIHRvIGJlIG5vdGlm
aWVkIG9mIHRoZSBjdXJyZW50IEphdmFTY3JpcHQgZGlhbG9nIHRoYXQgdGhlIHdlYgorICAgICAg
ICBjb250ZW50IHdpc2hlcyB0byBkaXNwbGF5LiBJZiB5b3UgZG9uJ3QgcHJvdmlkZSB0aGlzIGJp
bmRpbmcsIFdlYlZpZXcKKyAgICAgICAgd2lsbCBwcmVzZW50IHRoZSBkaWFsb2cgdXNpbmcgZGVm
YXVsdCBVSS4KKyAgICAgICAgKFdlYlZpZXcuZGlhbG9nVmlldyk6IENvbmZpZ3VyZXMgdGhlIGRl
ZmF1bHQgZGlhbG9nIFVJIGlmIHRoZSBjYWxsZXIKKyAgICAgICAgZG9lc24ndCB3YW50IHRvIGhh
bmRsZSBkaWFsb2dzIG9uIGl0cyBvd24uCisgICAgICAgIChfV2ViVmlldyk6IEludGVybmFsIHZp
ZXcgdGhhdCBicmlkZ2VzIFN3aWZ0VUkgdG8gV0tXZWJWaWV3LgorICAgICAgICAoQ29vcmRpbmF0
b3IpOiBJbnRlcm5hbCBjbGFzcyB0aGF0IGZ1bmN0aW9ucyBhcyB0aGUgV0tXZWJWaWV3J3MKKyAg
ICAgICAgV0tOYXZpZ2F0aW9uRGVsZWdhdGUgYW5kIFdLVUlEZWxlZ2F0ZS4KKyAgICAgICAgKENv
b3JkaW5hdG9yLndlYlZpZXcoXzpkZWNpZGVQb2xpY3lGb3I6cHJlZmVyZW5jZXM6ZGVjaXNpb25I
YW5kbGVyOikpOgorICAgICAgICBMb29rcyBmb3IgYSBuYXZpZ2F0aW9uIGRlY2lkZXIgaW4gdGhl
IHZpZXcncyBlbnZpcm9ubWVudCBhbmQgZGVsZWdhdGVzCisgICAgICAgIHRvIGl0IGlmIGZvdW5k
LCBvdGhlcndpc2UgYWxsb3dzIGFsbCBuYXZpZ2F0aW9ucy4KKworICAgICAgICAoQ29vcmRpbmF0
b3Iud2ViVmlldyhfOnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVk
QnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopKToKKyAgICAgICAgKENvb3JkaW5hdG9yLndlYlZp
ZXcoXzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFt
ZTpjb21wbGV0aW9uSGFuZGxlcjopKToKKyAgICAgICAgKENvb3JkaW5hdG9yLndlYlZpZXcoXzpy
dW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0OmRlZmF1bHRUZXh0OmluaXRpYXRl
ZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KSk6CisgICAgICAgIFBhc3NlcyB0aGUgZGlhbG9n
IGluZm9ybWF0aW9uIHVwIHRvIHRoZSBXZWJWaWV3LCB3aGljaCB0aGVuIGRlY2lkZXMKKyAgICAg
ICAgd2hldGhlciB0byBwcmVzZW50IGRlZmF1bHQgVUkgaXRzZWxmIG9yIGxldCB0aGUgY2FsbGVy
IGhhbmRsZSBpdC4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRV
SS9XZWJWaWV3TW9kaWZpZXJzLnN3aWZ0OiBBZGRlZC4KKyAgICAgICAgKFZpZXcud2ViVmlld0Fs
bG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKF86KSk6IFNwZWNpZmllcworICAgICAg
ICB3aGV0aGVyIFdlYlZpZXdzIGJlbG93IHRoaXMgcG9pbnQgaW4gdGhlIHZpZXcgaGllcmFyY2h5
IHNob3VsZCBzdXBwb3J0CisgICAgICAgIHN3aXBlIGdlc3R1cmVzIHRvIG5hdmlnYXRlIGJhY2sv
Zm9yd2FyZC4KKworICAgICAgICAqIE1pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9X
ZWJWaWV3U3RhdGUuc3dpZnQ6IEFkZGVkLgorICAgICAgICAoV2ViVmlld1N0YXRlKTogUmVwcmVz
ZW50cyB0aGUgc3RhdGUgYW5kIGFjdGlvbnMgb2YgYSBXZWJWaWV3LgorICAgICAgICBDb25mb3Jt
cyB0byBPYnNlcnZhYmxlT2JqZWN0IHNvIFN3aWZ0VUkgdmlld3MgY2FuIHJlYWN0IHRvIGNoYW5n
ZXMgaW4KKyAgICAgICAgdGhlIFdlYlZpZXdTdGF0ZS4KKyAgICAgICAgKFdlYlZpZXdTdGF0ZS53
ZWJWaWV3KF86ZGlkQ2hhbmdlS2V5UGF0aDopKTogRGV0ZWN0cyB3aGVuIHRoZQorICAgICAgICBX
S1dlYlZpZXcncyBzdGF0ZSBoYXMgY2hhbmdlZCB2aWEgS1ZPIGFuZCByZWZsZWN0cyB0aG9zZSB0
aHJvdWdoIHRoZQorICAgICAgICBPYnNlcnZhYmxlT2JqZWN0Lm9iamVjdFdpbGxDaGFuZ2UgbWVj
aGFuaXNtIHNvIFN3aWZ0VUkgdmlld3Mgd2lsbCBiZQorICAgICAgICB1cGRhdGVkLgorCisgICAg
ICAgIChXZWJWaWV3U3RhdGUuY2FuR29CYWNrKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS5jYW5H
b0ZvcndhcmQpOgorICAgICAgICAoV2ViVmlld1N0YXRlLnRpdGxlKToKKyAgICAgICAgKFdlYlZp
ZXdTdGF0ZS51cmwpOgorICAgICAgICAoV2ViVmlld1N0YXRlLmlzTG9hZGluZyk6CisgICAgICAg
IChXZWJWaWV3U3RhdGUuZXN0aW1hdGVkUHJvZ3Jlc3MpOgorICAgICAgICAoV2ViVmlld1N0YXRl
Lmhhc09ubHlTZWN1cmVDb250ZW50KToKKyAgICAgICAgV3JhcHBlcnMgYXJvdW5kIFdLV2ViVmll
dyBwcm9wZXJ0aWVzLgorCisgICAgICAgIChXZWJWaWV3U3RhdGUubG9hZChfOikpOgorICAgICAg
ICAoV2ViVmlld1N0YXRlLmdvQmFjayk6CisgICAgICAgIChXZWJWaWV3U3RhdGUuZ29Gb3J3YXJk
KToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS5yZWxvYWQpOgorICAgICAgICAoV2ViVmlld1N0YXRl
LnN0b3BMb2FkaW5nKToKKyAgICAgICAgKFdlYlZpZXdTdGF0ZS5jcmVhdGVQREYoY29uZmlndXJh
dGlvbjpjb21wbGV0aW9uOikpOgorICAgICAgICBXcmFwcGVycyBhcm91bmQgV0tXZWJWaWV3IG1l
dGhvZHMuCisKIDIwMjAtMTEtMDMgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEV4dGVuZCBjaGVjay1mb3ItaW5hcHByb3ByaWF0ZS1maWxlcy1pbi1mcmFtZXdv
cmsgdG8gV2ViS2l0TGVnYWN5IGFuZCBKYXZhU2NyaXB0Q29yZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9N
aW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZTFlMDlhY2M1MzViMjU4MTg4YWU1MjMyYTAwYWNiMjM4NGM0MmNmCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKQEAgLTAsMCArMSw3NyBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8g
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5h
bAorCitJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9IDE0LjAKK01BQ09TWF9ERVBMT1lNRU5U
X1RBUkdFVCA9IDExLjAKK1NVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVzaW11bGF0b3IgaXBo
b25lb3MgbWFjb3N4CitUQVJHRVRFRF9ERVZJQ0VfRkFNSUxZID0gMSwyLDYKKworU1dJRlRfVkVS
U0lPTiA9IDUuMAorCitBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTworQ09QWV9QSEFTRV9T
VFJJUCA9IE5PCisKK0NMQU5HX0FOQUxZWkVSX05PTk5VTEwgPSBZRVMKK0NMQU5HX0FOQUxZWkVS
X05VTUJFUl9PQkpFQ1RfQ09OVkVSU0lPTiA9IFlFU19BR0dSRVNTSVZFCitDTEFOR19DWFhfTEFO
R1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0CitDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKworQ0xB
TkdfRU5BQkxFX01PRFVMRVMgPSBZRVMKK0NMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUworQ0xB
TkdfRU5BQkxFX09CSkNfV0VBSyA9IFlFUworQ0xBTkdfV0FSTl9CTE9DS19DQVBUVVJFX0FVVE9S
RUxFQVNJTkcgPSBZRVMKK0NMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19X
QVJOX0NPTU1BID0gWUVTCitDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVMKK0NM
QU5HX1dBUk5fREVQUkVDQVRFRF9PQkpDX0lNUExFTUVOVEFUSU9OUyA9IFlFUworQ0xBTkdfV0FS
Tl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1IKK0NMQU5HX1dBUk5fRE9DVU1FTlRB
VElPTl9DT01NRU5UUyA9IFlFUworQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTCitDTEFOR19X
QVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUworQ0xBTkdfV0FSTl9JTkZJTklURV9SRUNVUlNJT04g
PSBZRVMKK0NMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVMKK0NMQU5HX1dBUk5fTk9OX0xJ
VEVSQUxfTlVMTF9DT05WRVJTSU9OID0gWUVTCitDTEFOR19XQVJOX09CSkNfSU1QTElDSVRfUkVU
QUlOX1NFTEYgPSBZRVMKK0NMQU5HX1dBUk5fT0JKQ19MSVRFUkFMX0NPTlZFUlNJT04gPSBZRVMK
K0NMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SCitDTEFOR19XQVJOX1FVT1RF
RF9JTkNMVURFX0lOX0ZSQU1FV09SS19IRUFERVIgPSBZRVMKK0NMQU5HX1dBUk5fUkFOR0VfTE9P
UF9BTkFMWVNJUyA9IFlFUworQ0xBTkdfV0FSTl9TVFJJQ1RfUFJPVE9UWVBFUyA9IFlFUworQ0xB
TkdfV0FSTl9TVVNQSUNJT1VTX01PVkUgPSBZRVMKK0NMQU5HX1dBUk5fVU5HVUFSREVEX0FWQUlM
QUJJTElUWSA9IFlFU19BR0dSRVNTSVZFCitDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZ
RVMKK0NMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVMKK0VOQUJMRV9TVFJJ
Q1RfT0JKQ19NU0dTRU5EID0gWUVTCitHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTExCitH
Q0NfRFlOQU1JQ19OT19QSUMgPSBOTworR0NDX05PX0NPTU1PTl9CTE9DS1MgPSBZRVMKK0dDQ19X
QVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTCitHQ0NfV0FSTl9BQk9VVF9SRVRVUk5f
VFlQRSA9IFlFU19FUlJPUgorR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUworR0ND
X1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFU19BR0dSRVNTSVZFCitHQ0NfV0FSTl9VTlVT
RURfRlVOQ1RJT04gPSBZRVMKK0dDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUworTVRMX0ZB
U1RfTUFUSCA9IFlFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZp
Z3VyYXRpb25zL0RlYnVnLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZp
Z3VyYXRpb25zL0RlYnVnLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYjU2ZmJiNWZhMjcyYjUxOTMy
YTgwNTI1ZmNiMmNmNGVlN2MyYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nl
clN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvRGVidWcueGNjb25maWcKQEAgLTAsMCArMSwzOSBAQAor
Ly8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy8vIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisvLyBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorLy8KKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisKK09OTFlfQUNUSVZFX0FSQ0gg
PSBZRVMKKworR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDAKK0dDQ19QUkVQUk9DRVNTT1JfREVG
SU5JVElPTlMgPSBERUJVRz0xICQoaW5oZXJpdGVkKQorCitERUJVR19JTkZPUk1BVElPTl9GT1JN
QVQgPSBkd2FyZgorRU5BQkxFX1RFU1RBQklMSVRZID0gWUVTCisKK1NXSUZUX0FDVElWRV9DT01Q
SUxBVElPTl9DT05ESVRJT05TID0gREVCVUcKK1NXSUZUX09QVElNSVpBVElPTl9MRVZFTCA9IC1P
bm9uZQorCitNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBJTkNMVURFX1NPVVJDRQpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL01pbmlCcm93c2VyU3dp
ZnRVSS54Y2NvbmZpZyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9N
aW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZkNTA1OWJhNWQ0MDg5OTBj
MTIzYmZmMGVhOWFmNTU1N2ZlODJhZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyU3dpZnRVSS9Db25maWd1cmF0aW9ucy9NaW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcKQEAg
LTAsMCArMSwzOSBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBt
ZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9IG9y
Zy53ZWJraXQuTWluaUJyb3dzZXJTd2lmdFVJCitQUk9EVUNUX05BTUUgPSBNaW5pQnJvd3NlclN3
aWZ0VUkKKworQ09ERV9TSUdOX0VOVElUTEVNRU5UU1tzZGs9bWFjb3N4Kl0gPSBtYWNPUy9tYWNP
Uy5lbnRpdGxlbWVudHMKK0lORk9QTElTVF9GSUxFID0gbWFjT1MvSW5mby5wbGlzdAorSU5GT1BM
SVNUX0ZJTEVbc2RrPWlwaG9uZW9zKl0gPSBpT1MvSW5mby5wbGlzdAorCitBU1NFVENBVEFMT0df
Q09NUElMRVJfQVBQSUNPTl9OQU1FID0gQXBwSWNvbgorQVNTRVRDQVRBTE9HX0NPTVBJTEVSX0dM
T0JBTF9BQ0NFTlRfQ09MT1JfTkFNRSA9IEFjY2VudENvbG9yCitDT01CSU5FX0hJRFBJX0lNQUdF
U1tzZGs9bWFjb3N4Kl0gPSBZRVMKKworTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAkKGluaGVy
aXRlZCkgQGV4ZWN1dGFibGVfcGF0aC9GcmFtZXdvcmtzCisKK0VOQUJMRV9QUkVWSUVXUyA9IFlF
UwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25zL1Jl
bGVhc2UueGNjb25maWcgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMv
UmVsZWFzZS54Y2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDIyZGZlOWVmZTM2MTQzMDc3ZDk2YzBiOTY5
MTkwNzRhNDNkMjZlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L0NvbmZpZ3VyYXRpb25zL1JlbGVhc2UueGNjb25maWcKQEAgLTAsMCArMSwzNyBAQAorLy8KKy8v
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLwor
Ly8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8g
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisvLyBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
Ly8KKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisKK0VOQUJMRV9OU19BU1NFUlRJT05TID0g
Tk8KKworREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmYtd2l0aC1kc3ltCisKK1NXSUZU
X0NPTVBJTEFUSU9OX01PREUgPSB3aG9sZW1vZHVsZQorU1dJRlRfT1BUSU1JWkFUSU9OX0xFVkVM
ID0gLU8KKworTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk8KKworVkFMSURBVEVfUFJPRFVDVCA9
IFlFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZpZ3VyYXRpb25z
L1dlYktpdF9Td2lmdFVJLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL0NvbmZp
Z3VyYXRpb25zL1dlYktpdF9Td2lmdFVJLnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmZTFhMGJiM2Rh
YTYxMmNlOTUxNDRkNGI0MGI4MWNjMmJiMzAzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9N
aW5pQnJvd3NlclN3aWZ0VUkvQ29uZmlndXJhdGlvbnMvV2ViS2l0X1N3aWZ0VUkueGNjb25maWcK
QEAgLTAsMCArMSw0MiBAQAorLy8KKy8vIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFy
ZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworLy8gQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisvLyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKy8vIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKy8vIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisvLyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKy8vIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisvLyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorLy8gQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorLy8gVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLy8KKworUFJPRFVDVF9CVU5ETEVfSURFTlRJRklFUiA9
IG9yZy53ZWJraXQuV2ViS2l0LVN3aWZ0VUkKK1BST0RVQ1RfTkFNRSA9IF9XZWJLaXRfU3dpZnRV
SQorCitJTkZPUExJU1RfRklMRSA9IFdlYktpdF9Td2lmdFVJL1dlYktpdF9Td2lmdFVJLUluZm8u
cGxpc3QKKworQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04gPSAxCitEWUxJQl9DT01QQVRJQklMSVRZ
X1ZFUlNJT04gPSAxCitEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxCitWRVJTSU9OSU5HX1NZU1RF
TSA9IGFwcGxlLWdlbmVyaWMKKworREVGSU5FU19NT0RVTEUgPSBZRVMKKworRFlMSUJfSU5TVEFM
TF9OQU1FX0JBU0UgPSBAcnBhdGgKK0lOU1RBTExfUEFUSCA9ICQoTE9DQUxfTElCUkFSWV9ESVIp
L0ZyYW1ld29ya3MKK1NLSVBfSU5TVEFMTCA9IFlFUworCitMRF9SVU5QQVRIX1NFQVJDSF9QQVRI
UyA9ICQoaW5oZXJpdGVkKSBAZXhlY3V0YWJsZV9wYXRoL0ZyYW1ld29ya3MgQGxvYWRlcl9wYXRo
L0ZyYW1ld29ya3MKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9NaW5pQnJv
d3NlclN3aWZ0VUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9NaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYWVhZjIyN2U1ZDQ4MDE3NjJkNTBmOTk2NmRmMDMzZDIwNTc2ODI1Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0wLDAgKzEsMzU5IEBACisvLyAhJCpVVEY4KiQh
Cit7CisJYXJjaGl2ZVZlcnNpb24gPSAxOworCWNsYXNzZXMgPSB7CisJfTsKKwlvYmplY3RWZXJz
aW9uID0gNTA7CisJb2JqZWN0cyA9IHsKKworLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24g
Ki8KKwkJQzA1QkU4RDMyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU4QkQyNTQ5RUZE
QTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyAqLzsgfTsKKwkJQzA1QkU4RkEyNTQ5RjA3QTAw
NTU0Qjk0IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRThFMTI1NDlGMDIyMDA1NTRCOTQgLyogU3dpZnRVSUV4
dHJhcy5zd2lmdCAqLzsgfTsKKwkJQzA1QkU4RkIyNTQ5RjA3QTAwNTU0Qjk0IC8qIFdlYlZpZXdT
dGF0ZS5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMwNUJFOEU1MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQgKi87IH07CisJ
CUMwNUJFOEZDMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3LnN3aWZ0IGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU4RTQyNTQ5RjAyMjAwNTU0Qjk0
IC8qIFdlYlZpZXcuc3dpZnQgKi87IH07CisJCUMwNUJFOEZEMjU0OUYwN0EwMDU1NEI5NCAvKiBK
YXZhU2NyaXB0RGlhbG9ncy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEMwNUJFOEUzMjU0OUYwMjIwMDU1NEI5NCAvKiBKYXZhU2NyaXB0RGlhbG9n
cy5zd2lmdCAqLzsgfTsKKwkJQzA1QkU4RkUyNTQ5RjA3QTAwNTU0Qjk0IC8qIE5hdmlnYXRpb24u
c3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVC
RThERjI1NDlGMDIyMDA1NTRCOTQgLyogTmF2aWdhdGlvbi5zd2lmdCAqLzsgfTsKKwkJQzA1QkU4
RkYyNTQ5RjA3QTAwNTU0Qjk0IC8qIERpYWxvZy5zd2lmdCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJFOEU2MjU0OUYwMjIwMDU1NEI5NCAvKiBEaWFs
b2cuc3dpZnQgKi87IH07CisJCUMwNUJFOTAwMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3TW9k
aWZpZXJzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzA1QkU4RTAyNTQ5RjAyMjAwNTU0Qjk0IC8qIFdlYlZpZXdNb2RpZmllcnMuc3dpZnQgKi87
IH07CisJCUMwNUJFOTFDMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyU2NlbmUuc3dpZnQgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRTkxNzI1NDlG
MUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3aWZ0ICovOyB9OworCQlDMDVCRTkxRTI1NDlG
MUIwMDA1NTRCOTQgLyogVVJMRmllbGQuc3dpZnQgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMDVCRTkxODI1NDlGMUIwMDA1NTRCOTQgLyogVVJMRmllbGQu
c3dpZnQgKi87IH07CisJCUMwNUJFOTIwMjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyVGFiLnN3
aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU5
MTkyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJUYWIuc3dpZnQgKi87IH07CisJCUMwNUJFOTIy
MjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyQXBwLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzA1QkU5MUEyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJy
b3dzZXJBcHAuc3dpZnQgKi87IH07CisJCUMwNUJFOTJFMjU0OUYxRjcwMDU1NEI5NCAvKiBGb3Vu
ZGF0aW9uRXh0cmFzLnN3aWZ0IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzA1QkU5MkEyNTQ5RjFGNzAwNTU0Qjk0IC8qIEZvdW5kYXRpb25FeHRyYXMuc3dp
ZnQgKi87IH07CisJCUMwNUJFOTQ0MjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54
Y2NvbmZpZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzA1QkU5NDIyNTQ5RjI1NDAwNTU0Qjk0IC8qIFdlYktpdF9Td2lmdFVJLnhjY29uZmlnICovOyB9
OworCQlDMDVCRTk3RjI1NDlGODM5MDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwNUJF
OEVDMjU0OUYwNTMwMDU1NEI5NCAvKiBfV2ViS2l0X1N3aWZ0VUkuZnJhbWV3b3JrICovOyB9Owor
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZpbGVSZWZlcmVu
Y2Ugc2VjdGlvbiAqLworCQlDMDVCRThCRDI1NDlFRkRBMDA1NTRCOTQgLyogQXNzZXRzLnhjYXNz
ZXRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZm9s
ZGVyLmFzc2V0Y2F0YWxvZzsgcGF0aCA9IEFzc2V0cy54Y2Fzc2V0czsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzA1QkU4QzUyNTQ5RUZEQTAwNTU0Qjk0IC8qIEluZm8ucGxpc3QgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0
LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMw
NUJFOENBMjU0OUVGREEwMDU1NEI5NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUkuYXBwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0
aW9uOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBNaW5pQnJvd3NlclN3aWZ0VUkuYXBwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlDMDVCRThDQzI1NDlFRkRBMDA1
NTRCOTQgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4Q0QyNTQ5RUZEQTAwNTU0Qjk0IC8qIG1hY09TLmVu
dGl0bGVtZW50cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQucGxpc3QuZW50aXRsZW1lbnRzOyBwYXRoID0gbWFjT1MuZW50aXRsZW1lbnRzOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThERjI1NDlGMDIyMDA1NTRCOTQgLyog
TmF2aWdhdGlvbi5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBOYXZpZ2F0aW9uLnN3aWZ0OyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFMDI1NDlGMDIyMDA1NTRCOTQgLyogV2Vi
Vmlld01vZGlmaWVycy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBXZWJWaWV3TW9kaWZpZXJzLnN3
aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFMTI1NDlGMDIyMDA1NTRC
OTQgLyogU3dpZnRVSUV4dHJhcy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBTd2lmdFVJRXh0cmFz
LnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRThFMjI1NDlGMDIyMDA1
NTRCOTQgLyogV2ViS2l0X1N3aWZ0VUktSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gIldlYktp
dF9Td2lmdFVJLUluZm8ucGxpc3QiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVC
RThFMzI1NDlGMDIyMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0
OyBwYXRoID0gSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMwNUJFOEU0MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3LnN3aWZ0ICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lm
dDsgcGF0aCA9IFdlYlZpZXcuc3dpZnQ7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMw
NUJFOEU1MjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnN3aWZ0OyBw
YXRoID0gV2ViVmlld1N0YXRlLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
MDVCRThFNjI1NDlGMDIyMDA1NTRCOTQgLyogRGlhbG9nLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9
IERpYWxvZy5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU4RUMyNTQ5
RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNs
dWRlSW5JbmRleCA9IDA7IHBhdGggPSBfV2ViS2l0X1N3aWZ0VUkuZnJhbWV3b3JrOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlDMDVCRTkxNzI1NDlGMUIwMDA1NTRCOTQg
LyogQnJvd3NlclNjZW5lLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5zd2lmdDsgcGF0aCA9
IEJyb3dzZXJTY2VuZS5zd2lmdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5
MTgyNTQ5RjFCMDAwNTU0Qjk0IC8qIFVSTEZpZWxkLnN3aWZ0ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5zd2lmdDsgcGF0aCA9IFVSTEZpZWxkLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMDVCRTkxOTI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclRhYi5zd2lmdCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBCcm93c2VyVGFiLnN3aWZ0OyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDMDVCRTkxQTI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlckFw
cC5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7IHBhdGggPSBCcm93c2VyQXBwLnN3
aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRTkyQTI1NDlGMUY3MDA1NTRC
OTQgLyogRm91bmRhdGlvbkV4dHJhcy5zd2lmdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuc3dpZnQ7
IHBhdGggPSBGb3VuZGF0aW9uRXh0cmFzLnN3aWZ0OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJLnhjY29u
ZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC54Y2NvbmZpZzsgcGF0aCA9IE1pbmlCcm93c2VyU3dpZnRVSS54Y2NvbmZpZzsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzA1QkU5NDIyNTQ5RjI1NDAwNTU0Qjk0IC8qIFdlYktpdF9T
d2lmdFVJLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYktpdF9Td2lmdFVJLnhjY29uZmlnOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMDVCRTk0QjI1NDlGMjZCMDA1NTRCOTQgLyog
RGVidWcueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gRGVidWcueGNjb25maWc7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUMwNUJFOTRDMjU0OUYyNzUwMDU1NEI5NCAvKiBSZWxlYXNlLnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC54Y2NvbmZpZzsgcGF0aCA9IFJlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMwNUJFOTU2MjU0OUYyRkYwMDU1NEI5NCAvKiBCYXNlLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2Nv
bmZpZzsgcGF0aCA9IEJhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Cisv
KiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEZyYW1ld29y
a3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJQzA1QkU4QzcyNTQ5RUZEQTAwNTU0Qjk0IC8qIEZy
YW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1
aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlDMDVCRTk3RjI1
NDlGODM5MDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwor
CQl9OworCQlDMDVCRThFOTI1NDlGMDUzMDA1NTRCOTQgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNl
Y3Rpb24gKi8KKworLyogQmVnaW4gUEJYR3JvdXAgc2VjdGlvbiAqLworCQlDMDVCRThCNTI1NDlF
RkQ5MDA1NTRCOTQgPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUMwNUJFOTNGMjU0OUYyMjcwMDU1NEI5NCAvKiBDb25maWd1cmF0aW9ucyAqLywKKwkJCQlDMDVC
RThCQTI1NDlFRkQ5MDA1NTRCOTQgLyogU2hhcmVkICovLAorCQkJCUMwNUJFOEM0MjU0OUVGREEw
MDU1NEI5NCAvKiBpT1MgKi8sCisJCQkJQzA1QkU4Q0IyNTQ5RUZEQTAwNTU0Qjk0IC8qIG1hY09T
ICovLAorCQkJCUMwNUJFOERFMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSSAqLywK
KwkJCQlDMDVCRThDMzI1NDlFRkRBMDA1NTRCOTQgLyogUHJvZHVjdHMgKi8sCisJCQkpOworCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQzA1QkU4QkEyNTQ5RUZEOTAwNTU0Qjk0
IC8qIFNoYXJlZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQzA1QkU4QkQyNTQ5RUZEQTAwNTU0Qjk0IC8qIEFzc2V0cy54Y2Fzc2V0cyAqLywKKwkJCQlD
MDVCRTkxQTI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlckFwcC5zd2lmdCAqLywKKwkJCQlDMDVC
RTkxNzI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3aWZ0ICovLAorCQkJCUMwNUJF
OTE5MjU0OUYxQjAwMDU1NEI5NCAvKiBCcm93c2VyVGFiLnN3aWZ0ICovLAorCQkJCUMwNUJFOTJB
MjU0OUYxRjcwMDU1NEI5NCAvKiBGb3VuZGF0aW9uRXh0cmFzLnN3aWZ0ICovLAorCQkJCUMwNUJF
OTE4MjU0OUYxQjAwMDU1NEI5NCAvKiBVUkxGaWVsZC5zd2lmdCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gU2hhcmVkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQzA1QkU4QzMy
NTQ5RUZEQTAwNTU0Qjk0IC8qIFByb2R1Y3RzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlDMDVCRThFQzI1NDlGMDUzMDA1NTRCOTQgLyogX1dlYktpdF9T
d2lmdFVJLmZyYW1ld29yayAqLywKKwkJCQlDMDVCRThDQTI1NDlFRkRBMDA1NTRCOTQgLyogTWlu
aUJyb3dzZXJTd2lmdFVJLmFwcCAqLywKKwkJCSk7CisJCQluYW1lID0gUHJvZHVjdHM7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMDVCRThDNDI1NDlFRkRBMDA1NTRCOTQg
LyogaU9TICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlD
MDVCRThDNTI1NDlFRkRBMDA1NTRCOTQgLyogSW5mby5wbGlzdCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gaU9TOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQzA1QkU4Q0IyNTQ5
RUZEQTAwNTU0Qjk0IC8qIG1hY09TICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQlDMDVCRThDQzI1NDlFRkRBMDA1NTRCOTQgLyogSW5mby5wbGlzdCAqLywK
KwkJCQlDMDVCRThDRDI1NDlFRkRBMDA1NTRCOTQgLyogbWFjT1MuZW50aXRsZW1lbnRzICovLAor
CQkJKTsKKwkJCXBhdGggPSBtYWNPUzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CisJCUMwNUJFOERFMjU0OUYwMjIwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQzA1QkU4RTYyNTQ5RjAyMjAw
NTU0Qjk0IC8qIERpYWxvZy5zd2lmdCAqLywKKwkJCQlDMDVCRThFMzI1NDlGMDIyMDA1NTRCOTQg
LyogSmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQgKi8sCisJCQkJQzA1QkU4REYyNTQ5RjAyMjAwNTU0
Qjk0IC8qIE5hdmlnYXRpb24uc3dpZnQgKi8sCisJCQkJQzA1QkU4RTEyNTQ5RjAyMjAwNTU0Qjk0
IC8qIFN3aWZ0VUlFeHRyYXMuc3dpZnQgKi8sCisJCQkJQzA1QkU4RTIyNTQ5RjAyMjAwNTU0Qjk0
IC8qIFdlYktpdF9Td2lmdFVJLUluZm8ucGxpc3QgKi8sCisJCQkJQzA1QkU4RTQyNTQ5RjAyMjAw
NTU0Qjk0IC8qIFdlYlZpZXcuc3dpZnQgKi8sCisJCQkJQzA1QkU4RTAyNTQ5RjAyMjAwNTU0Qjk0
IC8qIFdlYlZpZXdNb2RpZmllcnMuc3dpZnQgKi8sCisJCQkJQzA1QkU4RTUyNTQ5RjAyMjAwNTU0
Qjk0IC8qIFdlYlZpZXdTdGF0ZS5zd2lmdCAqLywKKwkJCSk7CisJCQlwYXRoID0gV2ViS2l0X1N3
aWZ0VUk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMDVCRTkzRjI1NDlG
MjI3MDA1NTRCOTQgLyogQ29uZmlndXJhdGlvbnMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCUMwNUJFOTU2MjU0OUYyRkYwMDU1NEI5NCAvKiBCYXNlLnhj
Y29uZmlnICovLAorCQkJCUMwNUJFOTRCMjU0OUYyNkIwMDU1NEI5NCAvKiBEZWJ1Zy54Y2NvbmZp
ZyAqLywKKwkJCQlDMDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJ
LnhjY29uZmlnICovLAorCQkJCUMwNUJFOTRDMjU0OUYyNzUwMDU1NEI5NCAvKiBSZWxlYXNlLnhj
Y29uZmlnICovLAorCQkJCUMwNUJFOTQyMjU0OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRV
SS54Y2NvbmZpZyAqLywKKwkJCSk7CisJCQlwYXRoID0gQ29uZmlndXJhdGlvbnM7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwor
LyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQlDMDVCRThFNzI1NDlG
MDUzMDA1NTRCOTQgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworLyog
RW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYTmF0aXZl
VGFyZ2V0IHNlY3Rpb24gKi8KKwkJQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0IC8qIE1pbmlCcm93
c2VyU3dpZnRVSSAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29u
ZmlndXJhdGlvbkxpc3QgPSBDMDVCRThEOTI1NDlFRkRBMDA1NTRCOTQgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIk1pbmlCcm93c2VyU3dpZnRVSSIgKi87
CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlDMDVCRThDNjI1NDlFRkRBMDA1NTRCOTQgLyogU291
cmNlcyAqLywKKwkJCQlDMDVCRThDNzI1NDlFRkRBMDA1NTRCOTQgLyogRnJhbWV3b3JrcyAqLywK
KwkJCQlDMDVCRThDODI1NDlFRkRBMDA1NTRCOTQgLyogUmVzb3VyY2VzICovLAorCQkJKTsKKwkJ
CWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJCW5h
bWUgPSBNaW5pQnJvd3NlclN3aWZ0VUk7CisJCQlwcm9kdWN0TmFtZSA9ICJNaW5pQnJvd3NlclN3
aWZ0VUkgKG1hY09TKSI7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQzA1QkU4Q0EyNTQ5RUZEQTAw
NTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSS5hcHAgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJj
b20uYXBwbGUucHJvZHVjdC10eXBlLmFwcGxpY2F0aW9uIjsKKwkJfTsKKwkJQzA1QkU4RUIyNTQ5
RjA1MzAwNTU0Qjk0IC8qIF9XZWJLaXRfU3dpZnRVSSAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMDVCRThGMTI1NDlGMDUzMDA1
NTRCOTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIl9X
ZWJLaXRfU3dpZnRVSSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlDMDVCRThFNzI1NDlG
MDUzMDA1NTRCOTQgLyogSGVhZGVycyAqLywKKwkJCQlDMDVCRThFODI1NDlGMDUzMDA1NTRCOTQg
LyogU291cmNlcyAqLywKKwkJCQlDMDVCRThFOTI1NDlGMDUzMDA1NTRCOTQgLyogRnJhbWV3b3Jr
cyAqLywKKwkJCQlDMDVCRThFQTI1NDlGMDUzMDA1NTRCOTQgLyogUmVzb3VyY2VzICovLAorCQkJ
KTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsK
KwkJCW5hbWUgPSBfV2ViS2l0X1N3aWZ0VUk7CisJCQlwcm9kdWN0TmFtZSA9IF9XZWJLaXRfU3dp
ZnRVSTsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSBDMDVCRThFQzI1NDlGMDUzMDA1NTRCOTQgLyog
X1dlYktpdF9Td2lmdFVJLmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBs
ZS5wcm9kdWN0LXR5cGUuZnJhbWV3b3JrIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVUYXJnZXQg
c2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJQzA1QkU4QjYy
NTQ5RUZEOTAwNTU0Qjk0IC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0gUEJYUHJv
amVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFN3aWZ0VXBkYXRlQ2hlY2sgPSAxMjIw
OworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAxMjIwOworCQkJCVRhcmdldEF0dHJpYnV0ZXMgPSB7
CisJCQkJCUMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCA9IHsKKwkJCQkJCUNyZWF0ZWRPblRvb2xz
VmVyc2lvbiA9IDEyLjI7CisJCQkJCX07CisJCQkJCUMwNUJFOEVCMjU0OUYwNTMwMDU1NEI5NCA9
IHsKKwkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDEyLjI7CisJCQkJCX07CisJCQkJfTsK
KwkJCX07CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQzA1QkU4QjkyNTQ5RUZEOTAwNTU0
Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiTWluaUJyb3dz
ZXJTd2lmdFVJIiAqLzsKKwkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDkuMyI7CisJ
CQlkZXZlbG9wbWVudFJlZ2lvbiA9IGVuOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7
CisJCQlrbm93blJlZ2lvbnMgPSAoCisJCQkJZW4sCisJCQkJQmFzZSwKKwkJCSk7CisJCQltYWlu
R3JvdXAgPSBDMDVCRThCNTI1NDlFRkQ5MDA1NTRCOTQ7CisJCQlwcm9kdWN0UmVmR3JvdXAgPSBD
MDVCRThDMzI1NDlFRkRBMDA1NTRCOTQgLyogUHJvZHVjdHMgKi87CisJCQlwcm9qZWN0RGlyUGF0
aCA9ICIiOworCQkJcHJvamVjdFJvb3QgPSAiIjsKKwkJCXRhcmdldHMgPSAoCisJCQkJQzA1QkU4
QzkyNTQ5RUZEQTAwNTU0Qjk0IC8qIE1pbmlCcm93c2VyU3dpZnRVSSAqLywKKwkJCQlDMDVCRThF
QjI1NDlGMDUzMDA1NTRCOTQgLyogX1dlYktpdF9Td2lmdFVJICovLAorCQkJKTsKKwkJfTsKKy8q
IEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYUmVzb3VyY2VzQnVpbGRQ
aGFzZSBzZWN0aW9uICovCisJCUMwNUJFOEM4MjU0OUVGREEwMDU1NEI5NCAvKiBSZXNvdXJjZXMg
Ki8gPSB7CisJCQlpc2EgPSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUMwNUJFOEQzMjU0OUVGREEwMDU1
NEI5NCAvKiBBc3NldHMueGNhc3NldHMgaW4gUmVzb3VyY2VzICovLAorCQkJCUMwNUJFOTQ0MjU0
OUYyNTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyBpbiBSZXNvdXJjZXMgKi8s
CisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07
CisJCUMwNUJFOEVBMjU0OUYwNTMwMDU1NEI5NCAvKiBSZXNvdXJjZXMgKi8gPSB7CisJCQlpc2Eg
PSBQQlhSZXNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOworCQl9OworLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCisvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCUMwNUJFOEM2
MjU0OUVGREEwMDU1NEI5NCAvKiBTb3VyY2VzICovID0geworCQkJaXNhID0gUEJYU291cmNlc0J1
aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAo
CisJCQkJQzA1QkU5MjIyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dzZXJBcHAuc3dpZnQgaW4gU291
cmNlcyAqLywKKwkJCQlDMDVCRTkxQzI1NDlGMUIwMDA1NTRCOTQgLyogQnJvd3NlclNjZW5lLnN3
aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU5MjAyNTQ5RjFCMDAwNTU0Qjk0IC8qIEJyb3dz
ZXJUYWIuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRTkyRTI1NDlGMUY3MDA1NTRCOTQg
LyogRm91bmRhdGlvbkV4dHJhcy5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJCUMwNUJFOTFFMjU0
OUYxQjAwMDU1NEI5NCAvKiBVUkxGaWVsZC5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJKTsKKwkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OworCQlDMDVCRThF
ODI1NDlGMDUzMDA1NTRCOTQgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJCUMwNUJFOEZGMjU0OUYwN0EwMDU1NEI5NCAvKiBEaWFsb2cuc3dpZnQgaW4gU291cmNl
cyAqLywKKwkJCQlDMDVCRThGRDI1NDlGMDdBMDA1NTRCOTQgLyogSmF2YVNjcmlwdERpYWxvZ3Mu
c3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRThGRTI1NDlGMDdBMDA1NTRCOTQgLyogTmF2
aWdhdGlvbi5zd2lmdCBpbiBTb3VyY2VzICovLAorCQkJCUMwNUJFOEZBMjU0OUYwN0EwMDU1NEI5
NCAvKiBTd2lmdFVJRXh0cmFzLnN3aWZ0IGluIFNvdXJjZXMgKi8sCisJCQkJQzA1QkU4RkMyNTQ5
RjA3QTAwNTU0Qjk0IC8qIFdlYlZpZXcuc3dpZnQgaW4gU291cmNlcyAqLywKKwkJCQlDMDVCRTkw
MDI1NDlGMDdBMDA1NTRCOTQgLyogV2ViVmlld01vZGlmaWVycy5zd2lmdCBpbiBTb3VyY2VzICov
LAorCQkJCUMwNUJFOEZCMjU0OUYwN0EwMDU1NEI5NCAvKiBXZWJWaWV3U3RhdGUuc3dpZnQgaW4g
U291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8q
IEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJQzA1QkU4RDQyNTQ5RUZE
QTAwNTU0Qjk0IC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMwNUJFOTRCMjU0OUYyNkIwMDU1NEI5
NCAvKiBEZWJ1Zy54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJ
bmFtZSA9IERlYnVnOworCQl9OworCQlDMDVCRThENTI1NDlFRkRBMDA1NTRCOTQgLyogUmVsZWFz
ZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3Vy
YXRpb25SZWZlcmVuY2UgPSBDMDVCRTk0QzI1NDlGMjc1MDA1NTRCOTQgLyogUmVsZWFzZS54Y2Nv
bmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7
CisJCX07CisJCUMwNUJFOERBMjU0OUVGREEwMDU1NEI5NCAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2Ug
PSBDMDVCRTk0MTI1NDlGMjQ3MDA1NTRCOTQgLyogTWluaUJyb3dzZXJTd2lmdFVJLnhjY29uZmln
ICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07
CisJCUMwNUJFOERCMjU0OUVGREEwMDU1NEI5NCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMw
NUJFOTQxMjU0OUYyNDcwMDU1NEI5NCAvKiBNaW5pQnJvd3NlclN3aWZ0VUkueGNjb25maWcgKi87
CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9Owor
CQlDMDVCRThGMjI1NDlGMDUzMDA1NTRCOTQgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQzA1QkU5
NDIyNTQ5RjI1NDAwNTU0Qjk0IC8qIFdlYktpdF9Td2lmdFVJLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCUMwNUJFOEYz
MjU0OUYwNTMwMDU1NEI5NCAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEMwNUJFOTQyMjU0OUYy
NTQwMDU1NEI5NCAvKiBXZWJLaXRfU3dpZnRVSS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGlu
Z3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisvKiBFbmQgWENCdWlsZENv
bmZpZ3VyYXRpb24gc2VjdGlvbiAqLworCisvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNl
Y3Rpb24gKi8KKwkJQzA1QkU4QjkyNTQ5RUZEOTAwNTU0Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYUHJvamVjdCAiTWluaUJyb3dzZXJTd2lmdFVJIiAqLyA9IHsKKwkJCWlz
YSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJ
CUMwNUJFOEQ0MjU0OUVGREEwMDU1NEI5NCAvKiBEZWJ1ZyAqLywKKwkJCQlDMDVCRThENTI1NDlF
RkRBMDA1NTRCOTQgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxlYXNlOwor
CQl9OworCQlDMDVCRThEOTI1NDlFRkRBMDA1NTRCOTQgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIk1pbmlCcm93c2VyU3dpZnRVSSIgKi8gPSB7CisJCQlp
c2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJ
CQlDMDVCRThEQTI1NDlFRkRBMDA1NTRCOTQgLyogRGVidWcgKi8sCisJCQkJQzA1QkU4REIyNTQ5
RUZEQTAwNTU0Qjk0IC8qIFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsK
KwkJfTsKKwkJQzA1QkU4RjEyNTQ5RjA1MzAwNTU0Qjk0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJfV2ViS2l0X1N3aWZ0VUkiICovID0geworCQkJaXNh
ID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJ
QzA1QkU4RjIyNTQ5RjA1MzAwNTU0Qjk0IC8qIERlYnVnICovLAorCQkJCUMwNUJFOEYzMjU0OUYw
NTMwMDU1NEI5NCAvKiBSZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9u
SXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJ
CX07CisvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJfTsKKwlyb290T2Jq
ZWN0ID0gQzA1QkU4QjYyNTQ5RUZEOTAwNTU0Qjk0IC8qIFByb2plY3Qgb2JqZWN0ICovOworfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54
Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9NaW5pQnJvd3NlclN3aWZ0VUkueGNzY2hl
bWUgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvTWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJv
ai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL01pbmlCcm93c2VyU3dpZnRVSS54Y3NjaGVtZQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YTZiZGFhNWYxZWI4ODZmMzAwNjYxMjQzZjFhMjgzOWVlNmM3NzY2Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54
Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9NaW5pQnJvd3NlclN3aWZ0VUkueGNzY2hl
bWUKQEAgLTAsMCArMSw4MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KKzxTY2hlbWUKKyAgIExhc3RVcGdyYWRlVmVyc2lvbiA9ICIxMjIwIgorICAgdmVyc2lvbiA9
ICIxLjciPgorICAgPEJ1aWxkQWN0aW9uCisgICAgICBwYXJhbGxlbGl6ZUJ1aWxkYWJsZXMgPSAi
WUVTIgorICAgICAgYnVpbGRJbXBsaWNpdERlcGVuZGVuY2llcyA9ICJZRVMiPgorICAgICAgPEJ1
aWxkQWN0aW9uRW50cmllcz4KKyAgICAgICAgIDxCdWlsZEFjdGlvbkVudHJ5CisgICAgICAgICAg
ICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgorICAgICAgICAgICAgYnVpbGRGb3JSdW5uaW5nID0g
IllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUHJvZmlsaW5nID0gIllFUyIKKyAgICAgICAgICAg
IGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yQW5hbHl6aW5n
ID0gIllFUyI+CisgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCisgICAgICAgICAgICAg
ICBCdWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCisgICAgICAgICAgICAgICBCbHVlcHJp
bnRJZGVudGlmaWVyID0gIkMwNUJFOEM5MjU0OUVGREEwMDU1NEI5NCIKKyAgICAgICAgICAgICAg
IEJ1aWxkYWJsZU5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJLmFwcCIKKyAgICAgICAgICAgICAg
IEJsdWVwcmludE5hbWUgPSAiTWluaUJyb3dzZXJTd2lmdFVJIgorICAgICAgICAgICAgICAgUmVm
ZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6TWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJv
aiI+CisgICAgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4KKyAgICAgICAgIDwvQnVpbGRB
Y3Rpb25FbnRyeT4KKyAgICAgIDwvQnVpbGRBY3Rpb25FbnRyaWVzPgorICAgPC9CdWlsZEFjdGlv
bj4KKyAgIDxUZXN0QWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiRGVidWciCisg
ICAgICBzZWxlY3RlZERlYnVnZ2VySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRp
b24uRGVidWdnZXIuTExEQiIKKyAgICAgIHNlbGVjdGVkTGF1bmNoZXJJZGVudGlmaWVyID0gIlhj
b2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5MYXVuY2hlci5MTERCIgorICAgICAgc2hvdWxkVXNlTGF1
bmNoU2NoZW1lQXJnc0VudiA9ICJZRVMiPgorICAgICAgPFRlc3RhYmxlcz4KKyAgICAgIDwvVGVz
dGFibGVzPgorICAgPC9UZXN0QWN0aW9uPgorICAgPExhdW5jaEFjdGlvbgorICAgICAgYnVpbGRD
b25maWd1cmF0aW9uID0gIkRlYnVnIgorICAgICAgc2VsZWN0ZWREZWJ1Z2dlcklkZW50aWZpZXIg
PSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkRlYnVnZ2VyLkxMREIiCisgICAgICBzZWxlY3Rl
ZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uTGF1bmNoZXIu
TExEQiIKKyAgICAgIGxhdW5jaFN0eWxlID0gIjAiCisgICAgICB1c2VDdXN0b21Xb3JraW5nRGly
ZWN0b3J5ID0gIk5PIgorICAgICAgaWdub3Jlc1BlcnNpc3RlbnRTdGF0ZU9uTGF1bmNoID0gIk5P
IgorICAgICAgZGVidWdEb2N1bWVudFZlcnNpb25pbmcgPSAiWUVTIgorICAgICAgZGVidWdTZXJ2
aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgorICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRpb24g
PSAiWUVTIj4KKyAgICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFibGUKKyAgICAgICAgIHJ1bm5h
YmxlRGVidWdnaW5nTW9kZSA9ICIwIj4KKyAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVuY2UKKyAg
ICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAgICAgICAgICAgIEJs
dWVwcmludElkZW50aWZpZXIgPSAiQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0IgorICAgICAgICAg
ICAgQnVpbGRhYmxlTmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkuYXBwIgorICAgICAgICAgICAg
Qmx1ZXByaW50TmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkiCisgICAgICAgICAgICBSZWZlcmVu
Y2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpNaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVwcm9qIj4K
KyAgICAgICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgorICAgICAgPC9CdWlsZGFibGVQcm9kdWN0
UnVubmFibGU+CisgICA8L0xhdW5jaEFjdGlvbj4KKyAgIDxQcm9maWxlQWN0aW9uCisgICAgICBi
dWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKKyAgICAgIHNob3VsZFVzZUxhdW5jaFNjaGVt
ZUFyZ3NFbnYgPSAiWUVTIgorICAgICAgc2F2ZWRUb29sSWRlbnRpZmllciA9ICIiCisgICAgICB1
c2VDdXN0b21Xb3JraW5nRGlyZWN0b3J5ID0gIk5PIgorICAgICAgZGVidWdEb2N1bWVudFZlcnNp
b25pbmcgPSAiWUVTIj4KKyAgICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFibGUKKyAgICAgICAg
IHJ1bm5hYmxlRGVidWdnaW5nTW9kZSA9ICIwIj4KKyAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVu
Y2UKKyAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAgICAgICAg
ICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiQzA1QkU4QzkyNTQ5RUZEQTAwNTU0Qjk0IgorICAg
ICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkuYXBwIgorICAgICAg
ICAgICAgQmx1ZXByaW50TmFtZSA9ICJNaW5pQnJvd3NlclN3aWZ0VUkiCisgICAgICAgICAgICBS
ZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5lcjpNaW5pQnJvd3NlclN3aWZ0VUkueGNvZGVw
cm9qIj4KKyAgICAgICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgorICAgICAgPC9CdWlsZGFibGVQ
cm9kdWN0UnVubmFibGU+CisgICA8L1Byb2ZpbGVBY3Rpb24+CisgICA8QW5hbHl6ZUFjdGlvbgor
ICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIj4KKyAgIDwvQW5hbHl6ZUFjdGlvbj4K
KyAgIDxBcmNoaXZlQWN0aW9uCisgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIK
KyAgICAgIHJldmVhbEFyY2hpdmVJbk9yZ2FuaXplciA9ICJZRVMiPgorICAgPC9BcmNoaXZlQWN0
aW9uPgorICAgPEluc3RhbGxBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxl
YXNlIj4KKyAgIDwvSW5zdGFsbEFjdGlvbj4KKzwvU2NoZW1lPgpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRk
YXRhL3hjc2NoZW1lcy9fV2ViS2l0X1N3aWZ0VUkueGNzY2hlbWUgYi9Ub29scy9NaW5pQnJvd3Nl
clN3aWZ0VUkvTWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hl
bWVzL19XZWJLaXRfU3dpZnRVSS54Y3NjaGVtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmMyZTM1OGViNzg5OTM2
ZWQ2MDU0ODhkMGEzMmQ2ZjI5NmE1ZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXJTd2lmdFVJL01pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hj
c2NoZW1lcy9fV2ViS2l0X1N3aWZ0VUkueGNzY2hlbWUKQEAgLTAsMCArMSw3MCBAQAorPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxTY2hlbWUKKyAgIExhc3RVcGdyYWRl
VmVyc2lvbiA9ICIxMjIwIgorICAgdmVyc2lvbiA9ICIxLjciPgorICAgPEJ1aWxkQWN0aW9uCisg
ICAgICBwYXJhbGxlbGl6ZUJ1aWxkYWJsZXMgPSAiWUVTIgorICAgICAgYnVpbGRJbXBsaWNpdERl
cGVuZGVuY2llcyA9ICJZRVMiPgorICAgICAgPEJ1aWxkQWN0aW9uRW50cmllcz4KKyAgICAgICAg
IDxCdWlsZEFjdGlvbkVudHJ5CisgICAgICAgICAgICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgor
ICAgICAgICAgICAgYnVpbGRGb3JSdW5uaW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9y
UHJvZmlsaW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIK
KyAgICAgICAgICAgIGJ1aWxkRm9yQW5hbHl6aW5nID0gIllFUyI+CisgICAgICAgICAgICA8QnVp
bGRhYmxlUmVmZXJlbmNlCisgICAgICAgICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInBy
aW1hcnkiCisgICAgICAgICAgICAgICBCbHVlcHJpbnRJZGVudGlmaWVyID0gIkMwNUJFOEVCMjU0
OUYwNTMwMDU1NEI5NCIKKyAgICAgICAgICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAiX1dlYktpdF9T
d2lmdFVJLmZyYW1ld29yayIKKyAgICAgICAgICAgICAgIEJsdWVwcmludE5hbWUgPSAiX1dlYktp
dF9Td2lmdFVJIgorICAgICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWlu
ZXI6TWluaUJyb3dzZXJTd2lmdFVJLnhjb2RlcHJvaiI+CisgICAgICAgICAgICA8L0J1aWxkYWJs
ZVJlZmVyZW5jZT4KKyAgICAgICAgIDwvQnVpbGRBY3Rpb25FbnRyeT4KKyAgICAgIDwvQnVpbGRB
Y3Rpb25FbnRyaWVzPgorICAgPC9CdWlsZEFjdGlvbj4KKyAgIDxUZXN0QWN0aW9uCisgICAgICBi
dWlsZENvbmZpZ3VyYXRpb24gPSAiRGVidWciCisgICAgICBzZWxlY3RlZERlYnVnZ2VySWRlbnRp
ZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uRGVidWdnZXIuTExEQiIKKyAgICAgIHNl
bGVjdGVkTGF1bmNoZXJJZGVudGlmaWVyID0gIlhjb2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5MYXVu
Y2hlci5MTERCIgorICAgICAgc2hvdWxkVXNlTGF1bmNoU2NoZW1lQXJnc0VudiA9ICJZRVMiPgor
ICAgICAgPFRlc3RhYmxlcz4KKyAgICAgIDwvVGVzdGFibGVzPgorICAgPC9UZXN0QWN0aW9uPgor
ICAgPExhdW5jaEFjdGlvbgorICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIgorICAg
ICAgc2VsZWN0ZWREZWJ1Z2dlcklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9u
LkRlYnVnZ2VyLkxMREIiCisgICAgICBzZWxlY3RlZExhdW5jaGVySWRlbnRpZmllciA9ICJYY29k
ZS5EZWJ1Z2dlckZvdW5kYXRpb24uTGF1bmNoZXIuTExEQiIKKyAgICAgIGxhdW5jaFN0eWxlID0g
IjAiCisgICAgICB1c2VDdXN0b21Xb3JraW5nRGlyZWN0b3J5ID0gIk5PIgorICAgICAgaWdub3Jl
c1BlcnNpc3RlbnRTdGF0ZU9uTGF1bmNoID0gIk5PIgorICAgICAgZGVidWdEb2N1bWVudFZlcnNp
b25pbmcgPSAiWUVTIgorICAgICAgZGVidWdTZXJ2aWNlRXh0ZW5zaW9uID0gImludGVybmFsIgor
ICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRpb24gPSAiWUVTIj4KKyAgIDwvTGF1bmNoQWN0aW9u
PgorICAgPFByb2ZpbGVBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNl
IgorICAgICAgc2hvdWxkVXNlTGF1bmNoU2NoZW1lQXJnc0VudiA9ICJZRVMiCisgICAgICBzYXZl
ZFRvb2xJZGVudGlmaWVyID0gIiIKKyAgICAgIHVzZUN1c3RvbVdvcmtpbmdEaXJlY3RvcnkgPSAi
Tk8iCisgICAgICBkZWJ1Z0RvY3VtZW50VmVyc2lvbmluZyA9ICJZRVMiPgorICAgICAgPE1hY3Jv
RXhwYW5zaW9uPgorICAgICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5jZQorICAgICAgICAgICAgQnVp
bGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5IgorICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRp
ZmllciA9ICJDMDVCRThFQjI1NDlGMDUzMDA1NTRCOTQiCisgICAgICAgICAgICBCdWlsZGFibGVO
YW1lID0gIl9XZWJLaXRfU3dpZnRVSS5mcmFtZXdvcmsiCisgICAgICAgICAgICBCbHVlcHJpbnRO
YW1lID0gIl9XZWJLaXRfU3dpZnRVSSIKKyAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIg
PSAiY29udGFpbmVyOk1pbmlCcm93c2VyU3dpZnRVSS54Y29kZXByb2oiPgorICAgICAgICAgPC9C
dWlsZGFibGVSZWZlcmVuY2U+CisgICAgICA8L01hY3JvRXhwYW5zaW9uPgorICAgPC9Qcm9maWxl
QWN0aW9uPgorICAgPEFuYWx5emVBY3Rpb24KKyAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJE
ZWJ1ZyI+CisgICA8L0FuYWx5emVBY3Rpb24+CisgICA8QXJjaGl2ZUFjdGlvbgorICAgICAgYnVp
bGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCisgICAgICByZXZlYWxBcmNoaXZlSW5Pcmdhbml6
ZXIgPSAiWUVTIj4KKyAgIDwvQXJjaGl2ZUFjdGlvbj4KKyAgIDxJbnN0YWxsQWN0aW9uCisgICAg
ICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSI+CisgICA8L0luc3RhbGxBY3Rpb24+Cis8
L1NjaGVtZT4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNz
ZXRzLnhjYXNzZXRzL0FjY2VudENvbG9yLmNvbG9yc2V0L0NvbnRlbnRzLmpzb24gYi9Ub29scy9N
aW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BY2NlbnRDb2xvci5jb2xv
cnNldC9Db250ZW50cy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZWRiZjViMDM2NzNjOTg2MTNhYzRiMGI1
OTA1MzNlZGUyNGZlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0
VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9BY2NlbnRDb2xvci5jb2xvcnNldC9Db250ZW50cy5q
c29uCkBAIC0wLDAgKzEsMTUgQEAKK3sKKyAgImNvbG9ycyIgOiBbCisgICAgeworICAgICAgImNv
bG9yIiA6IHsKKyAgICAgICAgInBsYXRmb3JtIiA6ICJvc3giLAorICAgICAgICAicmVmZXJlbmNl
IiA6ICJzeXN0ZW1UZWFsQ29sb3IiCisgICAgICB9LAorICAgICAgImlkaW9tIiA6ICJ1bml2ZXJz
YWwiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhvciIgOiAieGNvZGUiLAor
ICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJT
d2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBpY29uc2V0L0NvbnRlbnRz
Lmpzb24gYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9B
cHBJY29uLmFwcGljb25zZXQvQ29udGVudHMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTM2ZWFmZjc2NzU3
ZTM1MGI2NGM3YjU5ODJkOWMxZjFkZDQ0ODFmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWlu
aUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBpY29uc2V0
L0NvbnRlbnRzLmpzb24KQEAgLTAsMCArMSwxNDggQEAKK3sKKyAgImltYWdlcyIgOiBbCisgICAg
eworICAgICAgImlkaW9tIiA6ICJpcGhvbmUiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAg
ICAic2l6ZSIgOiAiMjB4MjAiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9u
ZSIsCisgICAgICAic2NhbGUiIDogIjN4IiwKKyAgICAgICJzaXplIiA6ICIyMHgyMCIKKyAgICB9
LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJzY2FsZSIgOiAiMngi
LAorICAgICAgInNpemUiIDogIjI5eDI5IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6
ICJpcGhvbmUiLAorICAgICAgInNjYWxlIiA6ICIzeCIsCisgICAgICAic2l6ZSIgOiAiMjl4Mjki
CisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlwaG9uZSIsCisgICAgICAic2NhbGUi
IDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICI0MHg0MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJp
ZGlvbSIgOiAiaXBob25lIiwKKyAgICAgICJzY2FsZSIgOiAiM3giLAorICAgICAgInNpemUiIDog
IjQweDQwIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJpcGhvbmUiLAorICAgICAg
InNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiNjB4NjAiCisgICAgfSwKKyAgICB7Cisg
ICAgICAiaWRpb20iIDogImlwaG9uZSIsCisgICAgICAic2NhbGUiIDogIjN4IiwKKyAgICAgICJz
aXplIiA6ICI2MHg2MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisg
ICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIyMHgyMCIKKyAgICB9LAorICAg
IHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAg
ICJzaXplIiA6ICIyMHgyMCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIs
CisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICIyOXgyOSIKKyAgICB9LAor
ICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAg
ICAgICJzaXplIiA6ICIyOXgyOSIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBh
ZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICI0MHg0MCIKKyAgICB9
LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4IiwK
KyAgICAgICJzaXplIiA6ICI0MHg0MCIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAi
aXBhZCIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAgICAgICJzaXplIiA6ICI3Nng3NiIKKyAg
ICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4
IiwKKyAgICAgICJzaXplIiA6ICI3Nng3NiIKKyAgICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIg
OiAiaXBhZCIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICI4My41eDgz
LjUiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogImlvcy1tYXJrZXRpbmciLAorICAg
ICAgInNjYWxlIiA6ICIxeCIsCisgICAgICAic2l6ZSIgOiAiMTAyNHgxMDI0IgorICAgIH0sCisg
ICAgeworICAgICAgImlkaW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6ICIxeCIsCisgICAg
ICAic2l6ZSIgOiAiMTZ4MTYiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20iIDogIm1hYyIs
CisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIxNngxNiIKKyAgICB9LAor
ICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIgOiAiMXgiLAorICAg
ICAgInNpemUiIDogIjMyeDMyIgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJtYWMi
LAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiMzJ4MzIiCisgICAgfSwK
KyAgICB7CisgICAgICAiaWRpb20iIDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjF4IiwKKyAg
ICAgICJzaXplIiA6ICIxMjh4MTI4IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJt
YWMiLAorICAgICAgInNjYWxlIiA6ICIyeCIsCisgICAgICAic2l6ZSIgOiAiMTI4eDEyOCIKKyAg
ICB9LAorICAgIHsKKyAgICAgICJpZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIgOiAiMXgi
LAorICAgICAgInNpemUiIDogIjI1NngyNTYiCisgICAgfSwKKyAgICB7CisgICAgICAiaWRpb20i
IDogIm1hYyIsCisgICAgICAic2NhbGUiIDogIjJ4IiwKKyAgICAgICJzaXplIiA6ICIyNTZ4MjU2
IgorICAgIH0sCisgICAgeworICAgICAgImlkaW9tIiA6ICJtYWMiLAorICAgICAgInNjYWxlIiA6
ICIxeCIsCisgICAgICAic2l6ZSIgOiAiNTEyeDUxMiIKKyAgICB9LAorICAgIHsKKyAgICAgICJp
ZGlvbSIgOiAibWFjIiwKKyAgICAgICJzY2FsZSIgOiAiMngiLAorICAgICAgInNpemUiIDogIjUx
Mng1MTIiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhvciIgOiAieGNvZGUi
LAorICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXJTd2lmdFVJL1NoYXJlZC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNvbiBiL1Rvb2xzL01p
bmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL0NvbnRlbnRzLmpzb24KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzNjMDA1OTZhN2ZjYTNmM2Q0YmRkNjQwNTNiNjlkODY3NDVmOWUxMAotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNz
ZXRzL0NvbnRlbnRzLmpzb24KQEAgLTAsMCArMSw2IEBACit7CisgICJpbmZvIiA6IHsKKyAgICAi
YXV0aG9yIiA6ICJ4Y29kZSIsCisgICAgInZlcnNpb24iIDogMQorICB9Cit9CmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Fzc2V0cy54Y2Fzc2V0cy9VUkxGaWVs
ZEJhY2tncm91bmQuY29sb3JzZXQvQ29udGVudHMuanNvbiBiL1Rvb2xzL01pbmlCcm93c2VyU3dp
ZnRVSS9TaGFyZWQvQXNzZXRzLnhjYXNzZXRzL1VSTEZpZWxkQmFja2dyb3VuZC5jb2xvcnNldC9D
b250ZW50cy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMzM0MThkMWNjMDMyMWRhMzg1M2RiZDFlNmYxZThh
ZmZmOTk1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hh
cmVkL0Fzc2V0cy54Y2Fzc2V0cy9VUkxGaWVsZEJhY2tncm91bmQuY29sb3JzZXQvQ29udGVudHMu
anNvbgpAQCAtMCwwICsxLDM4IEBACit7CisgICJjb2xvcnMiIDogWworICAgIHsKKyAgICAgICJj
b2xvciIgOiB7CisgICAgICAgICJjb2xvci1zcGFjZSIgOiAiZGlzcGxheS1wMyIsCisgICAgICAg
ICJjb21wb25lbnRzIiA6IHsKKyAgICAgICAgICAiYWxwaGEiIDogIjEuMDAwIiwKKyAgICAgICAg
ICAiYmx1ZSIgOiAiMC45NDkiLAorICAgICAgICAgICJncmVlbiIgOiAiMC45NDkiLAorICAgICAg
ICAgICJyZWQiIDogIjAuOTQ5IgorICAgICAgICB9CisgICAgICB9LAorICAgICAgImlkaW9tIiA6
ICJ1bml2ZXJzYWwiCisgICAgfSwKKyAgICB7CisgICAgICAiYXBwZWFyYW5jZXMiIDogWworICAg
ICAgICB7CisgICAgICAgICAgImFwcGVhcmFuY2UiIDogImx1bWlub3NpdHkiLAorICAgICAgICAg
ICJ2YWx1ZSIgOiAiZGFyayIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJjb2xvciIgOiB7
CisgICAgICAgICJjb2xvci1zcGFjZSIgOiAiZGlzcGxheS1wMyIsCisgICAgICAgICJjb21wb25l
bnRzIiA6IHsKKyAgICAgICAgICAiYWxwaGEiIDogIjEuMDAwIiwKKyAgICAgICAgICAiYmx1ZSIg
OiAiMC4wNzgiLAorICAgICAgICAgICJncmVlbiIgOiAiMC4wNjMiLAorICAgICAgICAgICJyZWQi
IDogIjAuMDQ3IgorICAgICAgICB9CisgICAgICB9LAorICAgICAgImlkaW9tIiA6ICJ1bml2ZXJz
YWwiCisgICAgfQorICBdLAorICAiaW5mbyIgOiB7CisgICAgImF1dGhvciIgOiAieGNvZGUiLAor
ICAgICJ2ZXJzaW9uIiA6IDEKKyAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJT
d2lmdFVJL1NoYXJlZC9Ccm93c2VyQXBwLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L1NoYXJlZC9Ccm93c2VyQXBwLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmYjYyNjNiNzI3N2U5NmYyODU2
MDBiMjVlMjUwMmI0MDg0NGNhZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nl
clN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJBcHAuc3dpZnQKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK2ltcG9ydCBTd2lmdFVJCisKK0BtYWluCitzdHJ1Y3QgQnJvd3NlckFwcDogQXBwIHsK
KyAgICB2YXIgYm9keTogc29tZSBTY2VuZSB7CisgICAgICAgIEJyb3dzZXJTY2VuZSgpCisgICAg
fQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Ccm93c2Vy
U2NlbmUuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hhcmVkL0Jyb3dzZXJTY2Vu
ZS5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42YmFkNjQ1ZDkzMTY5MTJjZDA3MDUyMzBhNjA2NDAzMzY5NDVk
N2JkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9C
cm93c2VyU2NlbmUuc3dpZnQKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBT
d2lmdFVJCisKK3N0cnVjdCBCcm93c2VyU2NlbmUgOiBTY2VuZSB7CisgICAgdmFyIGJvZHk6IHNv
bWUgU2NlbmUgeworI2lmIG9zKG1hY09TKQorICAgICAgICBXaW5kb3dHcm91cCB7CisgICAgICAg
ICAgICBCcm93c2VyVGFiKCkKKyAgICAgICAgfQorICAgICAgICAud2luZG93VG9vbGJhclN0eWxl
KFVuaWZpZWRXaW5kb3dUb29sYmFyU3R5bGUoc2hvd3NUaXRsZTogZmFsc2UpKQorI2Vsc2UKKyAg
ICAgICAgV2luZG93R3JvdXAgeworICAgICAgICAgICAgTmF2aWdhdGlvblZpZXcgeworICAgICAg
ICAgICAgICAgIEJyb3dzZXJUYWIoKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgLm5hdmln
YXRpb25WaWV3U3R5bGUoU3RhY2tOYXZpZ2F0aW9uVmlld1N0eWxlKCkpCisgICAgICAgIH0KKyNl
bmRpZgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFy
ZWQvQnJvd3NlclRhYi5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9TaGFyZWQvQnJv
d3NlclRhYi5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmRlNjZlODYyNDllNjA2ZWUzMjhkYTRkZDExZTIy
MTc3NDBjYWI0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1No
YXJlZC9Ccm93c2VyVGFiLnN3aWZ0CkBAIC0wLDAgKzEsMTcwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1w
b3J0IFN3aWZ0VUkKK2ltcG9ydCBfV2ViS2l0X1N3aWZ0VUkKKworc3RydWN0IEJyb3dzZXJUYWIg
OiBWaWV3IHsKKyAgICBAU3RhdGVPYmplY3QgcHJpdmF0ZSB2YXIgc3RhdGUgPSBXZWJWaWV3U3Rh
dGUoaW5pdGlhbFVSTDogVVJMKHN0cmluZzogImh0dHBzOi8vd2Via2l0Lm9yZy8iKSEpCisKKyAg
ICB2YXIgYm9keTogc29tZSBWaWV3IHsKKyAgICAgICAgbGV0IGNvbnRlbnQgPSBXZWJWaWV3KHN0
YXRlOiBzdGF0ZSkKKyAgICAgICAgICAgIC53ZWJWaWV3TmF2aWdhdGlvblBvbGljeShvbkFjdGlv
bjogZGVjaWRlUG9saWN5KGZvcjpzdGF0ZTopKQorICAgICAgICAgICAgLmFsZXJ0KGl0ZW06ICRl
eHRlcm5hbE5hdmlnYXRpb24sIGNvbnRlbnQ6IG1ha2VFeHRlcm5hbE5hdmlnYXRpb25BbGVydChf
OikpCisKKyNpZiBvcyhtYWNPUykKKyAgICAgICAgcmV0dXJuIGNvbnRlbnQKKyAgICAgICAgICAg
IC5lZGdlc0lnbm9yaW5nU2FmZUFyZWEoLmFsbCkKKyAgICAgICAgICAgIC5uYXZpZ2F0aW9uVGl0
bGUoc3RhdGUudGl0bGUuaXNFbXB0eSA/ICJNaW5pQnJvd3NlclN3aWZ0VUkiIDogc3RhdGUudGl0
bGUpCisgICAgICAgICAgICAudG9vbGJhciB7CisgICAgICAgICAgICAgICAgVG9vbGJhckl0ZW1H
cm91cChwbGFjZW1lbnQ6IC5uYXZpZ2F0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIGJhY2tJ
dGVtCisgICAgICAgICAgICAgICAgICAgIGZvcndhcmRJdGVtCisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIFRvb2xiYXJJdGVtKHBsYWNlbWVudDogLnByaW5jaXBhbCkgeworICAg
ICAgICAgICAgICAgICAgICB1cmxGaWVsZAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyNlbHNlCisgICAgICAgIHJldHVybiBjb250ZW50CisgICAgICAgICAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgYmUgYC5hbGxgLCBidXQgb24gaU9TIHNhZmUgYXJlYSBpbnNldHMgZG8gbm90
IHNlZW0gdG8gYmUgcmVzcGVjdGVkCisgICAgICAgICAgICAvLyBjb3JyZWN0bHkgd2hlbiBlbWJl
ZGRlZCBpbiBhIGBOYXZpZ2F0aW9uVmlld2AuCisgICAgICAgICAgICAuZWRnZXNJZ25vcmluZ1Nh
ZmVBcmVhKC5ib3R0b20pCisgICAgICAgICAgICAubmF2aWdhdGlvbkJhclRpdGxlRGlzcGxheU1v
ZGUoLmlubGluZSkKKyAgICAgICAgICAgIC50b29sYmFyIHsKKyAgICAgICAgICAgICAgICBUb29s
YmFySXRlbUdyb3VwKHBsYWNlbWVudDogLm5hdmlnYXRpb25CYXJMZWFkaW5nKSB7CisgICAgICAg
ICAgICAgICAgICAgIGJhY2tJdGVtLmxhYmVsU3R5bGUoSWNvbk9ubHlMYWJlbFN0eWxlKCkpCisg
ICAgICAgICAgICAgICAgICAgIGZvcndhcmRJdGVtLmxhYmVsU3R5bGUoSWNvbk9ubHlMYWJlbFN0
eWxlKCkpCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFRvb2xiYXJJdGVtKHBs
YWNlbWVudDogLnByaW5jaXBhbCkgeworICAgICAgICAgICAgICAgICAgICB1cmxGaWVsZAorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKworICAgIHByaXZh
dGUgdmFyIHVybEZpZWxkOiBzb21lIFZpZXcgeworICAgICAgICBVUkxGaWVsZCgKKyAgICAgICAg
ICAgIHVybDogc3RhdGUudXJsLAorICAgICAgICAgICAgaXNTZWN1cmU6IHN0YXRlLmhhc09ubHlT
ZWN1cmVDb250ZW50LAorICAgICAgICAgICAgbG9hZGluZ1Byb2dyZXNzOiBzdGF0ZS5lc3RpbWF0
ZWRQcm9ncmVzcywKKyAgICAgICAgICAgIG9uTmF2aWdhdGU6IG9uTmF2aWdhdGUodG86KQorICAg
ICAgICApIHsKKyAgICAgICAgICAgIGlmIHN0YXRlLmlzTG9hZGluZyB7CisgICAgICAgICAgICAg
ICAgQnV0dG9uKGFjdGlvbjogc3RhdGUuc3RvcExvYWRpbmcpIHsKKyAgICAgICAgICAgICAgICAg
ICAgTGFiZWwoIlN0b3AgTG9hZGluZyIsIHN5c3RlbUltYWdlOiAieG1hcmsiKQorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgQnV0dG9uKGFj
dGlvbjogc3RhdGUucmVsb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIExhYmVsKCJSZWxvYWQi
LCBzeXN0ZW1JbWFnZTogImFycm93LmNsb2Nrd2lzZSIpCisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIC5kaXNhYmxlZChzdGF0ZS51cmwgPT0gbmlsKQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorCisgICAgcHJpdmF0ZSB2YXIgYmFja0l0ZW06IHNvbWUgVmlldyB7
CisgICAgICAgIEJ1dHRvbihhY3Rpb246IHN0YXRlLmdvQmFjaykgeworICAgICAgICAgICAgTGFi
ZWwoIkJhY2siLCBzeXN0ZW1JbWFnZTogImNoZXZyb24ubGVmdCIpCisgICAgICAgICAgICAgICAg
LmZyYW1lKG1pbldpZHRoOiAyMCkKKyAgICAgICAgfQorICAgICAgICAuZGlzYWJsZWQoIXN0YXRl
LmNhbkdvQmFjaykKKyAgICB9CisKKyAgICBwcml2YXRlIHZhciBmb3J3YXJkSXRlbTogc29tZSBW
aWV3IHsKKyAgICAgICAgQnV0dG9uKGFjdGlvbjogc3RhdGUuZ29Gb3J3YXJkKSB7CisgICAgICAg
ICAgICBMYWJlbCgiRm9yd2FyZCIsIHN5c3RlbUltYWdlOiAiY2hldnJvbi5yaWdodCIpCisgICAg
ICAgICAgICAgICAgLmZyYW1lKG1pbldpZHRoOiAyMCkKKyAgICAgICAgfQorICAgICAgICAuZGlz
YWJsZWQoIXN0YXRlLmNhbkdvRm9yd2FyZCkKKyAgICB9CisKKyAgICBwcml2YXRlIGZ1bmMgb25O
YXZpZ2F0ZSh0byBzdHJpbmc6IFN0cmluZykgeworICAgICAgICBzd2l0Y2ggVXNlcklucHV0KHN0
cmluZzogc3RyaW5nKSB7CisgICAgICAgIGNhc2UgLnNlYXJjaChsZXQgdGVybSk6CisgICAgICAg
ICAgICBzdGF0ZS5sb2FkKFVSTChzZWFyY2hUZXJtOiB0ZXJtKSkKKyAgICAgICAgY2FzZSAudXJs
KGxldCB1cmwpOgorICAgICAgICAgICAgc3RhdGUubG9hZCh1cmwpCisgICAgICAgIGNhc2UgLmlu
dmFsaWQ6CisgICAgICAgICAgICBicmVhaworICAgICAgICB9CisgICAgfQorCisgICAgQFN0YXRl
IHByaXZhdGUgdmFyIGV4dGVybmFsTmF2aWdhdGlvbjogRXh0ZXJuYWxVUkxOYXZpZ2F0aW9uPwor
ICAgIEBFbnZpcm9ubWVudChcLm9wZW5VUkwpIHByaXZhdGUgdmFyIG9wZW5VUkwKKworICAgIHBy
aXZhdGUgZnVuYyBkZWNpZGVQb2xpY3koZm9yIGFjdGlvbjogTmF2aWdhdGlvbkFjdGlvbiwgc3Rh
dGU6IFdlYlZpZXdTdGF0ZSkgeworICAgICAgICBpZiBsZXQgZXh0ZXJuYWxVUkwgPSBhY3Rpb24u
cmVxdWVzdC51cmwsICFXZWJWaWV3LmNhbkhhbmRsZShleHRlcm5hbFVSTCkgeworICAgICAgICAg
ICAgZXh0ZXJuYWxOYXZpZ2F0aW9uID0gRXh0ZXJuYWxVUkxOYXZpZ2F0aW9uKAorICAgICAgICAg
ICAgICAgIHNvdXJjZTogc3RhdGUudXJsID8/IC5hYm91dEJsYW5rLCBkZXN0aW5hdGlvbjogZXh0
ZXJuYWxVUkwpCisgICAgICAgICAgICBhY3Rpb24uZGVjaWRlUG9saWN5KC5jYW5jZWwpCisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhY3Rpb24uZGVjaWRlUG9saWN5KC5hbGxvdykKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHByaXZhdGUgZnVuYyBtYWtlRXh0ZXJuYWxOYXZpZ2F0aW9u
QWxlcnQoXyBuYXZpZ2F0aW9uOiBFeHRlcm5hbFVSTE5hdmlnYXRpb24pIC0+IEFsZXJ0IHsKKyAg
ICAgICAgQWxlcnQodGl0bGU6IFRleHQoIkFsbG93IOKAnFwobmF2aWdhdGlvbi5zb3VyY2UuaGln
aExldmVsRG9tYWluKeKAnSB0byBvcGVuIOKAnFwobmF2aWdhdGlvbi5kZXN0aW5hdGlvbi5zY2hl
bWUgPz8gIiIp4oCdPyIpLAorICAgICAgICAgICAgICBwcmltYXJ5QnV0dG9uOiAuZGVmYXVsdChU
ZXh0KCJBbGxvdyIpLCBhY3Rpb246IHsgb3BlblVSTChuYXZpZ2F0aW9uLmRlc3RpbmF0aW9uKSB9
KSwKKyAgICAgICAgICAgICAgc2Vjb25kYXJ5QnV0dG9uOiAuY2FuY2VsKCkpCisgICAgfQorCit9
CisKK3ByaXZhdGUgZW51bSBVc2VySW5wdXQgeworICAgIGNhc2Ugc2VhcmNoKFN0cmluZykKKyAg
ICBjYXNlIHVybChVUkwpCisgICAgY2FzZSBpbnZhbGlkCisKKyAgICBpbml0KHN0cmluZyBfc3Ry
aW5nOiBTdHJpbmcpIHsKKyAgICAgICAgbGV0IHN0cmluZyA9IF9zdHJpbmcudHJpbW1pbmdDaGFy
YWN0ZXJzKGluOiAud2hpdGVzcGFjZXMpCisKKyAgICAgICAgaWYgc3RyaW5nLmlzRW1wdHkgewor
ICAgICAgICAgICAgc2VsZiA9IC5pbnZhbGlkCisgICAgICAgIH0gZWxzZSBpZiAhc3RyaW5nLmNv
bnRhaW5zKHdoZXJlOiBcLmlzV2hpdGVzcGFjZSksIHN0cmluZy5jb250YWlucygiLiIpLCBsZXQg
dXJsID0gVVJMKHN0cmluZzogc3RyaW5nKSB7CisgICAgICAgICAgICBzZWxmID0gLnVybCh1cmwp
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxmID0gLnNlYXJjaChzdHJpbmcpCisg
ICAgICAgIH0KKyAgICB9Cit9CisKK3ByaXZhdGUgc3RydWN0IEV4dGVybmFsVVJMTmF2aWdhdGlv
biA6IElkZW50aWZpYWJsZSwgSGFzaGFibGUgeworICAgIHZhciBzb3VyY2U6IFVSTAorICAgIHZh
ciBkZXN0aW5hdGlvbjogVVJMCisKKyAgICB2YXIgaWQ6IFNlbGYgeyBzZWxmIH0KK30KKworc3Ry
dWN0IEJyb3dzZXJUYWJfUHJldmlld3M6IFByZXZpZXdQcm92aWRlciB7CisgICAgc3RhdGljIHZh
ciBwcmV2aWV3czogc29tZSBWaWV3IHsKKyNpZiBvcyhpT1MpCisgICAgICAgIE5hdmlnYXRpb25W
aWV3IHsKKyAgICAgICAgICAgIEJyb3dzZXJUYWIoKQorICAgICAgICB9CisgICAgICAgIC5uYXZp
Z2F0aW9uVmlld1N0eWxlKFN0YWNrTmF2aWdhdGlvblZpZXdTdHlsZSgpKQorI2VuZGlmCisgICAg
fQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0
aW9uRXh0cmFzLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9Gb3VuZGF0
aW9uRXh0cmFzLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZTQxNjg5YWViODJlZDg4NDcyMDkyYmJhYzZh
OTE3MjVmYjg4OWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
U2hhcmVkL0ZvdW5kYXRpb25FeHRyYXMuc3dpZnQKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK2ltcG9ydCBGb3VuZGF0aW9uCisKK2V4dGVuc2lvbiBVUkwgeworICAgIHN0YXRpYyBsZXQg
YWJvdXRCbGFuayA9IFVSTChzdHJpbmc6ICJhYm91dDpibGFuayIpIQorCisgICAgaW5pdChzZWFy
Y2hUZXJtOiBTdHJpbmcpIHsKKyAgICAgICAgdmFyIGNvbXBvbmVudHMgPSBVUkxDb21wb25lbnRz
KHN0cmluZzogImh0dHBzOi8vZHVja2R1Y2tnby5jb20vIikhCisgICAgICAgIGNvbXBvbmVudHMu
cXVlcnlJdGVtcyA9IFsgVVJMUXVlcnlJdGVtKG5hbWU6ICJxIiwgdmFsdWU6IHNlYXJjaFRlcm0p
IF0KKyAgICAgICAgc2VsZiA9IGNvbXBvbmVudHMudXJsIQorICAgIH0KKworICAgIHZhciBoaWdo
TGV2ZWxEb21haW46IFN0cmluZyB7CisgICAgICAgIGd1YXJkIGxldCBob3N0ID0gaG9zdCBlbHNl
IHsKKyAgICAgICAgICAgIHJldHVybiAiIgorICAgICAgICB9CisKKyAgICAgICAgZm9yIHByZWZp
eCBpbiBbInd3dyJdIHdoZXJlIGhvc3QuaGFzUHJlZml4KCJcKHByZWZpeCkuIikgeworICAgICAg
ICAgICAgbGV0IGluZGV4QWZ0ZXJQcmVmaXggPSBob3N0LmluZGV4KGhvc3Quc3RhcnRJbmRleCwg
b2Zmc2V0Qnk6IHByZWZpeC5jb3VudCArIDEpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKGhv
c3RbaW5kZXhBZnRlclByZWZpeC4uLl0pCisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gaG9z
dAorICAgIH0KKworICAgIHZhciBpc1dlYlNlYXJjaDogQm9vbCB7CisgICAgICAgIGhvc3QgPT0g
ImR1Y2tkdWNrZ28uY29tIiB8fCBob3N0Py5oYXNTdWZmaXgoIi5kdWNrZHVja2dvLmNvbSIpID09
IHRydWUKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvU2hh
cmVkL1VSTEZpZWxkLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJlZC9VUkxG
aWVsZC5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjE0MzlhOTkyNzk2YTA1OTkwOWE1Y2ZkYWE4N2YxOGFi
MDczNzdhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1NoYXJl
ZC9VUkxGaWVsZC5zd2lmdApAQCAtMCwwICsxLDE5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBT
d2lmdFVJCisKK3N0cnVjdCBVUkxGaWVsZDxBY2Nlc3Nvcnk+IDogVmlldyB3aGVyZSBBY2Nlc3Nv
cnkgOiBWaWV3IHsKKyAgICBpbml0KAorICAgICAgICB1cmw6IFVSTD8sCisgICAgICAgIGlzU2Vj
dXJlOiBCb29sID0gZmFsc2UsCisgICAgICAgIGxvYWRpbmdQcm9ncmVzczogRG91YmxlPyA9IG5p
bCwKKyAgICAgICAgb25FZGl0aW5nQ2hhbmdlOiBAZXNjYXBpbmcgKEJvb2wpIC0+IFZvaWQgPSB7
IF8gaW4gfSwKKyAgICAgICAgb25OYXZpZ2F0ZTogQGVzY2FwaW5nIChTdHJpbmcpIC0+IFZvaWQg
PSB7IF8gaW4gfSwKKyAgICAgICAgQFZpZXdCdWlsZGVyIGFjY2Vzc29yeTogKCkgLT4gQWNjZXNz
b3J5CisgICAgKSB7CisgICAgICAgIHNlbGYudHJhaWxpbmdBY2Nlc3NvcnkgPSBhY2Nlc3Nvcnko
KQorICAgICAgICBzZWxmLmV4dGVybmFsT25FZGl0aW5nQ2hhbmdlID0gb25FZGl0aW5nQ2hhbmdl
CisgICAgICAgIHNlbGYubG9hZGluZ1Byb2dyZXNzID0gbG9hZGluZ1Byb2dyZXNzCisgICAgICAg
IHNlbGYub25OYXZpZ2F0ZSA9IG9uTmF2aWdhdGUKKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKyAg
ICAgICAgc2VsZi51cmxJc1NlY3VyZSA9IGlzU2VjdXJlCisgICAgICAgIHNlbGYuX3RleHQgPSBT
dGF0ZSh3cmFwcGVkVmFsdWU6IHVybD8uYWJzb2x1dGVTdHJpbmcgPz8gIiIpCisgICAgfQorCisg
ICAgcHJpdmF0ZSB2YXIgZXh0ZXJuYWxPbkVkaXRpbmdDaGFuZ2U6IChCb29sKSAtPiBWb2lkCisg
ICAgQFN0YXRlIHByaXZhdGUgdmFyIGlzRWRpdGluZyA9IGZhbHNlCisgICAgcHJpdmF0ZSB2YXIg
bG9hZGluZ1Byb2dyZXNzOiBEb3VibGU/CisgICAgcHJpdmF0ZSB2YXIgb25OYXZpZ2F0ZTogKFN0
cmluZykgLT4gVm9pZAorICAgIEBTdGF0ZSBwcml2YXRlIHZhciB0ZXh0OiBTdHJpbmcgPSAiIgor
ICAgIHByaXZhdGUgdmFyIHRyYWlsaW5nQWNjZXNzb3J5OiBBY2Nlc3NvcnkKKyAgICBwcml2YXRl
IHZhciB1cmw6IFVSTD8KKyAgICBwcml2YXRlIHZhciB1cmxJc1NlY3VyZTogQm9vbAorCisgICAg
dmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIGxldCBjb250ZW50ID0gSFN0YWNrIHsKKyAg
ICAgICAgICAgIGxlYWRpbmdBY2Nlc3NvcnkKKworICAgICAgICAgICAgdGV4dEZpZWxkCisKKyAg
ICAgICAgICAgIGlmICFpc0VkaXRpbmcgeworICAgICAgICAgICAgICAgIHRyYWlsaW5nQWNjZXNz
b3J5CisgICAgICAgICAgICAgICAgICAgIC5sYWJlbFN0eWxlKEljb25Pbmx5TGFiZWxTdHlsZSgp
KQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIC5idXR0b25TdHlsZShQbGFpbkJ1
dHRvblN0eWxlKCkpCisgICAgICAgIC5mb250KC5ib2R5KQorICAgICAgICAucGFkZGluZygudmVy
dGljYWwsIDYpCisgICAgICAgIC5wYWRkaW5nKC5ob3Jpem9udGFsLCAxMCkKKyAgICAgICAgLmJh
Y2tncm91bmQoQmFja2dyb3VuZChsb2FkaW5nUHJvZ3Jlc3M6IGxvYWRpbmdQcm9ncmVzcykpCisg
ICAgICAgIC5mcmFtZShtaW5XaWR0aDogMjAwLCBpZGVhbFdpZHRoOiA0MDAsIG1heFdpZHRoOiA2
MDApCisgICAgICAgIC5vbkNoYW5nZShvZjogdXJsLCBwZXJmb3JtOiB7IF8gaW4gdXJsRGlkQ2hh
bmdlKCkgfSkKKworI2lmIG9zKG1hY09TKQorICAgICAgICByZXR1cm4gY29udGVudAorICAgICAg
ICAgICAgLm92ZXJsYXkoUm91bmRlZFJlY3RhbmdsZShjb3JuZXJSYWRpdXM6IDYpCisgICAgICAg
ICAgICAgICAgICAgICAgICAuc3Ryb2tlKENvbG9yLmFjY2VudENvbG9yKSkKKyNlbHNlCisgICAg
ICAgIHJldHVybiBjb250ZW50CisjZW5kaWYKKyAgICB9CisKKyAgICBAVmlld0J1aWxkZXIKKyAg
ICBwcml2YXRlIHZhciBsZWFkaW5nQWNjZXNzb3J5OiBzb21lIFZpZXcgeworICAgICAgICBpZiBp
c0VkaXRpbmcgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogImdsb2JlIikuZm9yZWdy
b3VuZENvbG9yKC5zZWNvbmRhcnkpCisgICAgICAgIH0gZWxzZSBpZiB1cmw/LmlzV2ViU2VhcmNo
ID09IHRydWUgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogIm1hZ25pZnlpbmdnbGFz
cyIpLmZvcmVncm91bmRDb2xvcigub3JhbmdlKQorICAgICAgICB9IGVsc2UgaWYgdXJsSXNTZWN1
cmUgeworICAgICAgICAgICAgSW1hZ2Uoc3lzdGVtTmFtZTogImxvY2suZmlsbCIpLmZvcmVncm91
bmRDb2xvciguZ3JlZW4pCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBJbWFnZShzeXN0
ZW1OYW1lOiAiZ2xvYmUiKS5mb3JlZ3JvdW5kQ29sb3IoLnNlY29uZGFyeSkKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHByaXZhdGUgdmFyIHRleHRGaWVsZDogc29tZSBWaWV3IHsKKyAgICAgICAg
bGV0IHZpZXcgPSBUZXh0RmllbGQoCisgICAgICAgICAgICAiU2VhcmNoIG9yIHdlYnNpdGUgYWRk
cmVzcyIsCisgICAgICAgICAgICB0ZXh0OiAkdGV4dCwKKyAgICAgICAgICAgIG9uRWRpdGluZ0No
YW5nZWQ6IG9uRWRpdGluZ0NoYW5nZShfOiksCisgICAgICAgICAgICBvbkNvbW1pdDogb25Db21t
aXQKKyAgICAgICAgKQorICAgICAgICAudGV4dEZpZWxkU3R5bGUoUGxhaW5UZXh0RmllbGRTdHls
ZSgpKQorICAgICAgICAuZGlzYWJsZUF1dG9jb3JyZWN0aW9uKHRydWUpCisKKyNpZiBvcyhtYWNP
UykKKyAgICAgICAgcmV0dXJuIHZpZXcKKyNlbHNlCisgICAgICAgIHJldHVybiB2aWV3CisgICAg
ICAgICAgICAudGV4dENvbnRlbnRUeXBlKC5VUkwpCisgICAgICAgICAgICAuYXV0b2NhcGl0YWxp
emF0aW9uKC5ub25lKQorI2VuZGlmCisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jIHVybERpZENo
YW5nZSgpIHsKKyAgICAgICAgaWYgIWlzRWRpdGluZyB7CisgICAgICAgICAgICB0ZXh0ID0gdXJs
Py5hYnNvbHV0ZVN0cmluZyA/PyAiIgorICAgICAgICB9CisgICAgfQorCisgICAgcHJpdmF0ZSBm
dW5jIG9uRWRpdGluZ0NoYW5nZShfIGlzRWRpdGluZzogQm9vbCkgeworICAgICAgICBzZWxmLmlz
RWRpdGluZyA9IGlzRWRpdGluZworICAgICAgICBpZiAhaXNFZGl0aW5nIHsKKyAgICAgICAgICAg
IHVybERpZENoYW5nZSgpCisgICAgICAgIH0KKworICAgICAgICBleHRlcm5hbE9uRWRpdGluZ0No
YW5nZShpc0VkaXRpbmcpCisgICAgfQorCisgICAgcHJpdmF0ZSBmdW5jIG9uQ29tbWl0KCkgewor
ICAgICAgICBvbk5hdmlnYXRlKHRleHQpCisgICAgfQorfQorCitwcml2YXRlIHN0cnVjdCBCYWNr
Z3JvdW5kIDogVmlldyB7CisgICAgdmFyIGxvYWRpbmdQcm9ncmVzczogRG91YmxlPworCisgICAg
dmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAgICAgIFJvdW5kZWRSZWN0YW5nbGUoY29ybmVyUmFk
aXVzOiA2KQorICAgICAgICAgICAgLmZvcmVncm91bmRDb2xvcihDb2xvcigiVVJMRmllbGRCYWNr
Z3JvdW5kIikpCisgICAgICAgICAgICAub3ZlcmxheShwcm9ncmVzcykKKyAgICB9CisKKyAgICBw
cml2YXRlIHZhciBwcm9ncmVzczogc29tZSBWaWV3IHsKKyAgICAgICAgR2VvbWV0cnlSZWFkZXIg
eyBwcm94eSBpbgorICAgICAgICAgICAgaWYgbGV0IGxvYWRpbmdQcm9ncmVzcyA9IGxvYWRpbmdQ
cm9ncmVzcyB7CisgICAgICAgICAgICAgICAgUHJvZ3Jlc3NWaWV3KHZhbHVlOiBsb2FkaW5nUHJv
Z3Jlc3MpCisgICAgICAgICAgICAgICAgICAgIC5vZmZzZXQoeTogcHJveHkuc2l6ZS5oZWlnaHQg
LSA0KQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCitzdHJ1Y3QgVVJMRmll
bGRfUHJldmlld3M6IFByZXZpZXdQcm92aWRlciB7CisgICAgc3RhdGljIHZhciBwcmV2aWV3czog
c29tZSBWaWV3IHsKKyAgICAgICAgR3JvdXAgeworICAgICAgICAgICAgVVJMRmllbGQoCisgICAg
ICAgICAgICAgICAgdXJsOiBuaWwsCisgICAgICAgICAgICAgICAgaXNTZWN1cmU6IGZhbHNlLAor
ICAgICAgICAgICAgICAgIGxvYWRpbmdQcm9ncmVzczogbmlsLAorICAgICAgICAgICAgICAgIG9u
RWRpdGluZ0NoYW5nZTogeyBfIGluIH0sCisgICAgICAgICAgICAgICAgb25OYXZpZ2F0ZTogeyBf
IGluIH0KKyAgICAgICAgICAgICkgeworICAgICAgICAgICAgICAgIEVtcHR5VmlldygpCisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIFVSTEZpZWxkKAorICAgICAgICAgICAgICAgIHVybDog
VVJMKHN0cmluZzogImh0dHBzOi8vd2Via2l0Lm9yZyIpISwKKyAgICAgICAgICAgICAgICBpc1Nl
Y3VyZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICBsb2FkaW5nUHJvZ3Jlc3M6IG5pbCwKKyAgICAg
ICAgICAgICAgICBvbkVkaXRpbmdDaGFuZ2U6IHsgXyBpbiB9LAorICAgICAgICAgICAgICAgIG9u
TmF2aWdhdGU6IHsgXyBpbiB9CisgICAgICAgICAgICApIHsKKyAgICAgICAgICAgICAgICBJbWFn
ZShzeXN0ZW1OYW1lOiAiYXJyb3cuY2xvY2t3aXNlIikKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgVVJMRmllbGQoCisgICAgICAgICAgICAgICAgdXJsOiBVUkwoc3RyaW5nOiAiaHR0cHM6
Ly93ZWJraXQub3JnIikhLAorICAgICAgICAgICAgICAgIGlzU2VjdXJlOiB0cnVlLAorICAgICAg
ICAgICAgICAgIGxvYWRpbmdQcm9ncmVzczogbmlsLAorICAgICAgICAgICAgICAgIG9uRWRpdGlu
Z0NoYW5nZTogeyBfIGluIH0sCisgICAgICAgICAgICAgICAgb25OYXZpZ2F0ZTogeyBfIGluIH0K
KyAgICAgICAgICAgICkgeworICAgICAgICAgICAgICAgIEltYWdlKHN5c3RlbU5hbWU6ICJhcnJv
dy5jbG9ja3dpc2UiKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgLmVudmlyb25tZW50KFwu
Y29sb3JTY2hlbWUsIC5kYXJrKQorICAgICAgICB9CisgICAgICAgIC5wYWRkaW5nKCkKKyAgICAg
ICAgLmZyYW1lKG1heFdpZHRoOiA0MDApCisgICAgICAgIC5wcmV2aWV3TGF5b3V0KC5zaXplVGhh
dEZpdHMpCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dl
YktpdF9Td2lmdFVJL0RpYWxvZy5zd2lmdCBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJL
aXRfU3dpZnRVSS9EaWFsb2cuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM1MDVjODQ1OGQ5ZDViMDMxMWNj
Mzg4NmU2YzlhYTRlNzRmNjU0NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9EaWFsb2cuc3dpZnQKQEAgLTAsMCArMSwxODQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitpbXBvcnQgU3dpZnRVSQorCisvLy8gQSBkaWFsb2cgcmVxdWVzdGVkIGZvciBk
aXNwbGF5IGJ5IHNvbWUgYXNwZWN0IG9mIHdlYiBjb250ZW50LgorcHVibGljIHN0cnVjdCBEaWFs
b2cgOiBJZGVudGlmaWFibGUsIEhhc2hhYmxlIHsKKyAgICAvLy8gQW4gb3BhcXVlIGlkZW50aWZp
ZXIgZm9yIHRoaXMgZGlhbG9nLgorICAgIHB1YmxpYyB2YXIgaWQgPSBJRCgpCisKKyAgICAvLy8g
QSBjb25maWd1cmF0aW9uIGRlc2NyaWJpbmcgdGhlIHB1cnBvc2UgYW5kIGNvbnRlbnRzIG9mIHRo
aXMgZGlhbG9nIGZvciBkaXNwbGF5LgorICAgIHB1YmxpYyB2YXIgY29uZmlndXJhdGlvbjogQ29u
ZmlndXJhdGlvbgorCisgICAgLy8vIENvbnN0cnVjdHMgYSBkaWFsb2cgZnJvbSBpdHMgY29tcG9u
ZW50IHBhcnRzLgorICAgIHB1YmxpYyBpbml0KGlkOiBJRCA9IElEKCksIF8gY29uZmlndXJhdGlv
bjogQ29uZmlndXJhdGlvbikgeworICAgICAgICBzZWxmLmlkID0gaWQKKyAgICAgICAgc2VsZi5j
b25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbgorICAgIH0KKworICAgIC8vLyBDb25zdHJ1Y3Rz
IGEgZGlhbG9nIGZvciBhIEphdmFTY3JpcHQgYGFsZXJ0KClgLCB3aGljaCBjb250YWlucyBvbmx5
IGEgbWVzc2FnZSB0byB0aGUgdXNlci4KKyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAg
IC0gaWQ6IEFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGlhbG9nLgorICAgIC8vLyAgIC0g
bWVzc2FnZTogQSBtZXNzYWdlIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuCisgICAgLy8vICAgLSBj
b21wbGV0aW9uOiBBIGJsb2NrIHRvIGJlIGludm9rZWQgd2hlbiB0aGUgZGlhbG9nIGhhcyBiZWVu
IGRpc21pc3NlZC4gVGhlIHdlYnBhZ2Ugd2lsbAorICAgIC8vLyAgIGJlIHBhdXNlZCB1bnRpbCB0
aGlzIGJsb2NrIGlzIGludm9rZWQsIGFuZCBmYWlsdXJlIHRvIGludm9rZSB0aGUgYmxvY2ssIG9y
IG11bHRpcGxlCisgICAgLy8vICAgaW52b2NhdGlvbnMgd2lsbCByZXN1bHQgaW4gYSBydW50aW1l
IGV4Y2VwdGlvbi4KKyAgICBwdWJsaWMgc3RhdGljIGZ1bmMgamF2YVNjcmlwdEFsZXJ0KAorICAg
ICAgICBpZDogSUQgPSBJRCgpLCBfIG1lc3NhZ2U6IFN0cmluZywgY29tcGxldGlvbjogQGVzY2Fw
aW5nICgpIC0+IFZvaWQKKyAgICApIC0+IFNlbGYgeworICAgICAgICBEaWFsb2coaWQ6IGlkLCAu
amF2YVNjcmlwdEFsZXJ0KG1lc3NhZ2UsIGNvbXBsZXRpb24pKQorICAgIH0KKworICAgIC8vLyBD
b25zdHJ1Y3RzIGEgZGlhbG9nIGZvciBhIEphdmFTY3JpcHQgYGNvbmZpcm0oKWAsIHdoaWNoIGNv
bnRhaW5zIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQKKyAgICAvLy8gZXhwZWN0cyBhIGJpbmFy
eSByZXNwb25zZSBmb3IgdGhlIHdlYnBhZ2UuCisgICAgLy8vIC0gUGFyYW1ldGVyczoKKyAgICAv
Ly8gICAtIGlkOiBBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRpYWxvZy4KKyAgICAvLy8g
ICAtIG1lc3NhZ2U6IEEgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLgorICAgIC8vLyAg
IC0gY29tcGxldGlvbjogQSBibG9jayB0byBiZSBpbnZva2VkIHdpdGggdGhlIHVzZXIncyBkZWNp
c2lvbi4gVGhlIHdlYnBhZ2Ugd2lsbCBiZSBwYXVzZWQKKyAgICAvLy8gICB1bnRpbCB0aGlzIGJs
b2NrIGlzIGludm9rZWQsIGFuZCBmYWlsdXJlIHRvIGludm9rZSB0aGUgYmxvY2ssIG9yIG11bHRp
cGxlIGludm9jYXRpb25zIHdpbGwKKyAgICAvLy8gICByZXN1bHQgaW4gYSBydW50aW1lIGV4Y2Vw
dGlvbi4KKyAgICBwdWJsaWMgc3RhdGljIGZ1bmMgamF2YVNjcmlwdENvbmZpcm0oCisgICAgICAg
IGlkOiBJRCA9IElEKCksIF8gbWVzc2FnZTogU3RyaW5nLCBjb21wbGV0aW9uOiBAZXNjYXBpbmcg
KEJvb2wpIC0+IFZvaWQKKyAgICApIC0+IFNlbGYgeworICAgICAgICBEaWFsb2coaWQ6IGlkLCAu
amF2YVNjcmlwdENvbmZpcm0obWVzc2FnZSwgY29tcGxldGlvbikpCisgICAgfQorCisgICAgLy8v
IENvbnN0cnVjdHMgYSBkaWFsb2cgZm9yIGEgSmF2YVNjcmlwdCBgcHJvbXB0KClgLCB3aGljaCBj
b250YWlucyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kCisgICAgLy8vIGV4cGVjdHMgdGhlIHJl
c3BvbnNlIG9mIGVpdGhlciBhIHN0cmluZyBvciBgbmlsYC4KKyAgICAvLy8gLSBQYXJhbWV0ZXJz
OgorICAgIC8vLyAgIC0gaWQ6IEFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGlhbG9nLgor
ICAgIC8vLyAgIC0gbWVzc2FnZTogQSBtZXNzYWdlIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuCisg
ICAgLy8vICAgLSBkZWZhdWx0VGV4dDogQSBkZWZhdWx0IHJlc3BvbnNlIGZvciB0aGUgdXNlciwg
cHJvdmlkZWQgYnkgdGhlIHdlYnBhZ2UuCisgICAgLy8vICAgLSBjb21wbGV0aW9uOiBBIGJsb2Nr
IHRvIGJlIGludm9rZWQgd2l0aCB0aGUgdXNlcidzIGRlY2lzaW9uLiBGb3IgdGhpcyByZXBseSwg
YG5pbGAgYW5kCisgICAgLy8vICAgYW4gZW1wdHkgc3RyaW5nIChgIiJgKSBhcmUgdHJlYXRlZCBk
aWZmZXJlbnRseS4gYG5pbGAgbWVhbnMgdGhhdCB0aGUgdXNlciBzZWxlY3RlZCBhCisgICAgLy8v
ICAgX2NhbmNlbF8gb3BlcmF0aW9uLCB3aGlsZSBhbnkgbm9uLWBuaWxgIHJlc3BvbnNlIGltcGxp
ZXMgYW4gX29rXyBvcGVyYXRpb24uIFRoZSB3ZWJwYWdlCisgICAgLy8vICAgd2lsbCBiZSBwYXVz
ZWQgdW50aWwgdGhpcyBibG9jayBpcyBpbnZva2VkLCBhbmQgZmFpbHVyZSB0byBpbnZva2UgdGhl
IGJsb2NrLCBvciBtdWx0aXBsZQorICAgIC8vLyAgIGludm9jYXRpb25zIHdpbGwgcmVzdWx0IGlu
IGEgcnVudGltZSBleGNlcHRpb24uCisgICAgcHVibGljIHN0YXRpYyBmdW5jIGphdmFTY3JpcHRQ
cm9tcHQoCisgICAgICAgIGlkOiBJRCA9IElEKCksIF8gbWVzc2FnZTogU3RyaW5nLCBkZWZhdWx0
VGV4dDogU3RyaW5nID0gIiIsCisgICAgICAgIGNvbXBsZXRpb246IEBlc2NhcGluZyAoU3RyaW5n
PykgLT4gVm9pZAorICAgICkgLT4gU2VsZiB7CisgICAgICAgIERpYWxvZyhpZDogaWQsIC5qYXZh
U2NyaXB0UHJvbXB0KG1lc3NhZ2UsIGRlZmF1bHRUZXh0OiBkZWZhdWx0VGV4dCwgY29tcGxldGlv
bikpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMgaGFzaChpbnRvIGhhc2hlcjogaW5vdXQgSGFz
aGVyKSB7CisgICAgICAgIGhhc2hlci5jb21iaW5lKGlkKQorICAgIH0KKworICAgIHB1YmxpYyBz
dGF0aWMgZnVuYyA9PSAobGhzOiBEaWFsb2csIHJoczogRGlhbG9nKSAtPiBCb29sIHsKKyAgICAg
ICAgbGhzLmlkID09IHJocy5pZAorICAgIH0KKworICAgIC8vLyBBbiBvcGFxdWUgaWRlbnRpZmll
ciBmb3IgYSBgRGlhbG9nYC4KKyAgICBwdWJsaWMgc3RydWN0IElEIDogSGFzaGFibGUgeworICAg
ICAgICBwcml2YXRlIHZhciByYXdWYWx1ZSA9IFVVSUQoKQorCisgICAgICAgIC8vLyBDb25zdHJ1
Y3RzIGEgbmV3LCB1bmlxdWUgaWRlbnRpZmllci4KKyAgICAgICAgcHVibGljIGluaXQoKSB7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICAvLy8gRGVzY3JpYmVzIGEgc3BlY2lmaWMgdHlwZSBvZiBk
aWFsb2csIGFsb25nIHdpdGggYW55IHNwZWNpZmljIHZhbHVlcyBmb3IgdGhhdCB0eXBlLgorICAg
IHB1YmxpYyBlbnVtIENvbmZpZ3VyYXRpb24geworICAgICAgICAvLy8gQSBkaWFsb2cgdHJpZ2dl
cmVkIGJ5IHRoZSBKYXZhU2NyaXB0IGB3aW5kb3cuYWxlcnQoKWAgQVBJLgorICAgICAgICAvLy8g
LSBQYXJhbWF0ZXJzOgorICAgICAgICAvLy8gICAtIDA6IEEgbWVzc2FnZSBmcm9tIHRoZSB3ZWJw
YWdlIGZvciB0aGUgdXNlci4KKyAgICAgICAgLy8vICAgLSAxOiBBIGJsb2NrIHRvIGJlIGludm9r
ZWQgd2hlbiB0aGUgZGlhbG9nIGhhcyBiZWVuIGRpc21pc3NlZC4gVGhlIHdlYnBhZ2Ugd2lsbCBi
ZQorICAgICAgICAvLy8gICBwYXVzZWQgdW50aWwgdGhpcyBibG9jayBpcyBpbnZva2VkLCBhbmQg
ZmFpbHVyZSB0byBpbnZva2UgdGhlIGJsb2NrLCBvciBtdWx0aXBsZQorICAgICAgICAvLy8gICBp
bnZvY2F0aW9ucyB3aWxsIHJlc3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgICAgICBj
YXNlIGphdmFTY3JpcHRBbGVydChTdHJpbmcsICgpIC0+IFZvaWQpCisKKyAgICAgICAgLy8vIEEg
ZGlhbG9nIHRyaWdnZXJlZCBieSB0aGUgSmF2YVNjcmlwdCBgd2luZG93LmNvbmZpcm0oKWAgQVBJ
LgorICAgICAgICAvLy8gICAtIDA6IEEgbWVzc2FnZSBmcm9tIHRoZSB3ZWJwYWdlIGZvciB0aGUg
dXNlci4KKyAgICAgICAgLy8vICAgLSAxOiBBIGJsb2NrIHRvIGJlIGludm9rZWQgd2l0aCBhIGJp
bmFyeSBkZWNpc2lvbiBmcm9tIHRoZSB1c2VyLiBUaGUgd2VicGFnZSB3aWxsIGJlCisgICAgICAg
IC8vLyAgIHBhdXNlZCB1bnRpbCB0aGlzIGJsb2NrIGlzIGludm9rZWQsIGFuZCBmYWlsdXJlIHRv
IGludm9rZSB0aGUgYmxvY2ssIG9yIG11bHRpcGxlCisgICAgICAgIC8vLyAgIGludm9jYXRpb25z
IHdpbGwgcmVzdWx0IGluIGEgcnVudGltZSBleGNlcHRpb24uCisgICAgICAgIGNhc2UgamF2YVNj
cmlwdENvbmZpcm0oU3RyaW5nLCAoQm9vbCkgLT4gVm9pZCkKKworICAgICAgICAvLy8gQSBkaWFs
b2cgdHJpZ2dlcmVkIGJ5IHRoZSBKYXZhU2NyaXB0IGB3aW5kb3cucHJvbXB0KClgIEFQSS4KKyAg
ICAgICAgLy8vIC0gUGFyYW1hdGVyczoKKyAgICAgICAgLy8vICAgLSAwOiBBIG1lc3NhZ2UgZnJv
bSB0aGUgd2VicGFnZSBmb3IgdGhlIHVzZXIuCisgICAgICAgIC8vLyAgIC0gZGVmYXVsdFRleHQ6
IEEgd2VicGFnZSBwcm92aWRlZCBkZWZhdWx0IHJlc3BvbnNlIGZvciB0aGUgdXNlci4KKyAgICAg
ICAgLy8vICAgLSAxOiBBIGJsb2NrIHRvIGJlIGludm9rZWQgd2l0aCB0aGUgdXNlcidzIGRlY2lz
aW9uLiBGb3IgdGhpcyByZXBseSwgYG5pbGAgYW5kIGFuCisgICAgICAgIC8vLyAgIGVtcHR5IHN0
cmluZyAoYCIiYCkgYXJlIHRyZWF0ZWQgZGlmZmVyZW50bHkuIGBuaWxgIG1lYW5zIHRoYXQgdGhl
IHVzZXIgc2VsZWN0ZWQgYQorICAgICAgICAvLy8gICBfY2FuY2VsXyBvcGVyYXRpb24sIHdoaWxl
IGFueSBub24tYG5pbGAgcmVzcG9uc2UgaW1wbGllcyBhbiBfb2tfIG9wZXJhdGlvbi4gVGhlCisg
ICAgICAgIC8vLyAgIHdlYnBhZ2Ugd2lsbCBiZSBwYXVzZWQgdW50aWwgdGhpcyBibG9jayBpcyBp
bnZva2VkLCBhbmQgZmFpbHVyZSB0byBpbnZva2UgdGhlIGJsb2NrLAorICAgICAgICAvLy8gICBv
ciBtdWx0aXBsZSBpbnZvY2F0aW9ucyB3aWxsIHJlc3VsdCBpbiBhIHJ1bnRpbWUgZXhjZXB0aW9u
LgorICAgICAgICBjYXNlIGphdmFTY3JpcHRQcm9tcHQoU3RyaW5nLCBkZWZhdWx0VGV4dDogU3Ry
aW5nLCAoU3RyaW5nPykgLT4gVm9pZCkKKyAgICB9Cit9CisKKy8vLyBBIHZpZXcgcHJvdmlkaW5n
IHRoZSBXZWJLaXQtZGVmYXVsdCBVSSBmb3IgZ2VuZXJpYyB3ZWJwYWdlIGRpYWxvZ3MuCitzdHJ1
Y3QgRGlhbG9nQ29udGFpbmVyPENvbnRlbnRzLCBBY3Rpb25zPiA6IFZpZXcgd2hlcmUgQ29udGVu
dHMgOiBWaWV3LCBBY3Rpb25zIDogVmlldyB7CisgICAgdmFyIGNvbnRlbnRzOiBDb250ZW50cwor
ICAgIHZhciBhY3Rpb25zOiBBY3Rpb25zCisKKyAgICBpbml0KEBWaWV3QnVpbGRlciBjb250ZW50
czogKCkgLT4gQ29udGVudHMsIEBWaWV3QnVpbGRlciBhY3Rpb25zOiAoKSAtPiBBY3Rpb25zKSB7
CisgICAgICAgIHNlbGYuY29udGVudHMgPSBjb250ZW50cygpCisgICAgICAgIHNlbGYuYWN0aW9u
cyA9IGFjdGlvbnMoKQorICAgIH0KKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAg
ICBaU3RhY2sgeworICAgICAgICAgICAgQ29sb3Iod2hpdGU6IDAsIG9wYWNpdHk6IDAuMTUpCisK
KyAgICAgICAgICAgIFZTdGFjayhzcGFjaW5nOiAwKSB7CisgICAgICAgICAgICAgICAgVlN0YWNr
KGFsaWdubWVudDogLmxlYWRpbmcpIHsKKyAgICAgICAgICAgICAgICAgICAgY29udGVudHMKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLmZyYW1lKG1heFdpZHRoOiAuaW5maW5p
dHksIGFsaWdubWVudDogLmxlYWRpbmcpCisgICAgICAgICAgICAgICAgLnRleHRGaWVsZFN0eWxl
KFJvdW5kZWRCb3JkZXJUZXh0RmllbGRTdHlsZSgpKQorICAgICAgICAgICAgICAgIC5wYWRkaW5n
KCkKKworICAgICAgICAgICAgICAgIERpdmlkZXIoKQorCisgICAgICAgICAgICAgICAgSFN0YWNr
KHNwYWNpbmc6IDEyKSB7CisgICAgICAgICAgICAgICAgICAgIFNwYWNlcigpCisgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b25TdHlsZShf
TGlua0J1dHRvblN0eWxlKCkpCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC5w
YWRkaW5nKC5ob3Jpem9udGFsKQorICAgICAgICAgICAgICAgIC5wYWRkaW5nKC52ZXJ0aWNhbCwg
MTIpCisgICAgICAgICAgICB9CisgICAgICAgICAgICAuZnJhbWUobWF4V2lkdGg6IDMwMCkKKyAg
ICAgICAgICAgIC5iYWNrZ3JvdW5kKFJvdW5kZWRSZWN0YW5nbGUoY29ybmVyUmFkaXVzOiAxMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9yZWdyb3VuZENvbG9yKENvbG9yLnBsYXRm
b3JtQmFja2dyb3VuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2hhZG93KHJhZGl1
czogMTIpKQorICAgICAgICAgICAgLm92ZXJsYXkoUm91bmRlZFJlY3RhbmdsZShjb3JuZXJSYWRp
dXM6IDEwKS5zdHJva2UoQ29sb3IucGxhdGZvcm1TZXBhcmF0b3IpKQorICAgICAgICB9CisgICAg
fQorfQorCisjaWYgb3MobWFjT1MpCitwcml2YXRlIHR5cGVhbGlhcyBfTGlua0J1dHRvblN0eWxl
ID0gTGlua0J1dHRvblN0eWxlCisjZWxzZQorcHJpdmF0ZSBzdHJ1Y3QgX0xpbmtCdXR0b25TdHls
ZSA6IEJ1dHRvblN0eWxlIHsKKyAgICBmdW5jIG1ha2VCb2R5KGNvbmZpZ3VyYXRpb246IENvbmZp
Z3VyYXRpb24pIC0+IHNvbWUgVmlldyB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24ubGFiZWwKKyAg
ICAgICAgICAgIC5mb3JlZ3JvdW5kQ29sb3IoLmJsdWUpCisgICAgfQorfQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvSmF2YVNjcmlw
dERpYWxvZ3Muc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkv
SmF2YVNjcmlwdERpYWxvZ3Muc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA2MDY2MjEzMWY3OTRjYWUzZjA1
YTVmYTBkZjc5NjU0ZmZhYThmYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
U3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9KYXZhU2NyaXB0RGlhbG9ncy5zd2lmdApAQCAtMCwwICsx
LDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFN3aWZ0VUkKKworLy8vIEEgdmlldyBwcm92aWRp
bmcgdGhlIFdlYktpdC1kZWZhdWx0IFVJIGZvciBhIEphdmFTY3JpcHQgYWxlcnQuCitzdHJ1Y3Qg
SmF2YVNjcmlwdEFsZXJ0IDogVmlldyB7CisgICAgcHJpdmF0ZSB2YXIgbWVzc2FnZTogU3RyaW5n
CisgICAgcHJpdmF0ZSB2YXIgY29tcGxldGlvbjogKCkgLT4gVm9pZAorCisgICAgaW5pdChtZXNz
YWdlOiBTdHJpbmcsIGNvbXBsZXRpb246IEBlc2NhcGluZyAoKSAtPiBWb2lkKSB7CisgICAgICAg
IHNlbGYubWVzc2FnZSA9IG1lc3NhZ2UKKyAgICAgICAgc2VsZi5jb21wbGV0aW9uID0gY29tcGxl
dGlvbgorICAgIH0KKworICAgIHZhciBib2R5OiBzb21lIFZpZXcgeworICAgICAgICBEaWFsb2dD
b250YWluZXIgeworICAgICAgICAgICAgVGV4dChtZXNzYWdlKQorICAgICAgICB9IGFjdGlvbnM6
IHsKKyAgICAgICAgICAgIEJ1dHRvbigiT0siLCBhY3Rpb246IGNvbXBsZXRpb24pCisgICAgICAg
ICAgICAgICAgLmtleWJvYXJkU2hvcnRjdXQoLnJldHVybikKKyAgICAgICAgfQorICAgIH0KK30K
KworLy8vIEEgdmlldyBwcm92aWRpbmcgdGhlIFdlYktpdC1kZWZhdWx0IFVJIGZvciBhIEphdmFT
Y3JpcHQgYWxlcnQuCitzdHJ1Y3QgSmF2YVNjcmlwdENvbmZpcm0gOiBWaWV3IHsKKyAgICBwcml2
YXRlIHZhciBtZXNzYWdlOiBTdHJpbmcKKyAgICBwcml2YXRlIHZhciBjb21wbGV0aW9uOiAoQm9v
bCkgLT4gVm9pZAorCisgICAgaW5pdChtZXNzYWdlOiBTdHJpbmcsIGNvbXBsZXRpb246IEBlc2Nh
cGluZyAoQm9vbCkgLT4gVm9pZCkgeworICAgICAgICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisg
ICAgICAgIHNlbGYuY29tcGxldGlvbiA9IGNvbXBsZXRpb24KKyAgICB9CisKKyAgICB2YXIgYm9k
eTogc29tZSBWaWV3IHsKKyAgICAgICAgRGlhbG9nQ29udGFpbmVyIHsKKyAgICAgICAgICAgIFRl
eHQobWVzc2FnZSkKKyAgICAgICAgfSBhY3Rpb25zOiB7CisgICAgICAgICAgICBCdXR0b24oIkNh
bmNlbCIsIGFjdGlvbjogeyBjb21wbGV0aW9uKGZhbHNlKSB9KQorICAgICAgICAgICAgICAgIC5r
ZXlib2FyZFNob3J0Y3V0KCIuIikKKyAgICAgICAgICAgIEJ1dHRvbigiT0siLCBhY3Rpb246IHsg
Y29tcGxldGlvbih0cnVlKSB9KQorICAgICAgICAgICAgICAgIC5rZXlib2FyZFNob3J0Y3V0KC5y
ZXR1cm4pCisgICAgICAgIH0KKyAgICB9Cit9CisKKy8vLyBBIHZpZXcgcHJvdmlkaW5nIHRoZSBX
ZWJLaXQtZGVmYXVsdCBVSSBmb3IgYSBKYXZhU2NyaXB0IGFsZXJ0Lgorc3RydWN0IEphdmFTY3Jp
cHRQcm9tcHQgOiBWaWV3IHsKKyAgICBwcml2YXRlIHZhciBtZXNzYWdlOiBTdHJpbmcKKyAgICBw
cml2YXRlIHZhciBjb21wbGV0aW9uOiAoU3RyaW5nPykgLT4gVm9pZAorICAgIEBTdGF0ZSBwcml2
YXRlIHZhciB0ZXh0OiBTdHJpbmcKKworICAgIGluaXQobWVzc2FnZTogU3RyaW5nLCBkZWZhdWx0
VGV4dDogU3RyaW5nID0gIiIsIGNvbXBsZXRpb246IEBlc2NhcGluZyAoU3RyaW5nPykgLT4gVm9p
ZCkgeworICAgICAgICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisgICAgICAgIHNlbGYuX3RleHQg
PSBTdGF0ZSh3cmFwcGVkVmFsdWU6IGRlZmF1bHRUZXh0KQorICAgICAgICBzZWxmLmNvbXBsZXRp
b24gPSBjb21wbGV0aW9uCisgICAgfQorCisgICAgdmFyIGJvZHk6IHNvbWUgVmlldyB7CisgICAg
ICAgIERpYWxvZ0NvbnRhaW5lciB7CisgICAgICAgICAgICBUZXh0KG1lc3NhZ2UpCisgICAgICAg
ICAgICBUZXh0RmllbGQoIllvdXIgUmVzcG9uc2UiLCB0ZXh0OiAkdGV4dCwgb25Db21taXQ6IHsg
Y29tcGxldGlvbih0ZXh0KSB9KQorICAgICAgICB9IGFjdGlvbnM6IHsKKyAgICAgICAgICAgIEJ1
dHRvbigiQ2FuY2VsIiwgYWN0aW9uOiB7IGNvbXBsZXRpb24obmlsKSB9KQorICAgICAgICAgICAg
ICAgIC5rZXlib2FyZFNob3J0Y3V0KCIuIikKKyAgICAgICAgICAgIEJ1dHRvbigiT0siLCBhY3Rp
b246IHsgY29tcGxldGlvbih0ZXh0KSB9KQorICAgICAgICAgICAgICAgIC5rZXlib2FyZFNob3J0
Y3V0KC5yZXR1cm4pCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvTmF2aWdhdGlvbi5zd2lmdCBiL1Rvb2xzL01p
bmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9OYXZpZ2F0aW9uLnN3aWZ0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI2YmIyNzEwYTQ4MzZjMDA3MDEzY2JhMmYyZjk0ZDNmZWZiYWE5YjEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvTmF2aWdhdGlv
bi5zd2lmdApAQCAtMCwwICsxLDE2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ltcG9ydCBXZWJLaXQKK2lt
cG9ydCBTd2lmdFVJCisKK2V4dGVuc2lvbiBWaWV3IHsKKyAgICAvLy8gUHJvdmlkZXMgYSBibG9j
ayB0byBiZSBleGVjdXRlZCBvbiBuYXZpZ2F0aW9uIG1pbGVzdG9uZXMsIGFuZCBhbGxvd3MgZm9y
IGN1c3RvbWl6ZWQgaGFuZGxpbmcKKyAgICAvLy8gb2YgbmF2aWdhdGlvbiBwb2xpY3kuCisgICAg
Ly8vCisgICAgLy8vIFdoZW4gcHJvdmlkaW5nIGEgY3VzdG9tIHBvbGljeSBkZWNpZGVyIHlvdSAq
Km11c3QqKiBlbnN1cmUgdGhhdCB0aGUgY29yZXNwb25kaW5nIGRlY2lkZXIncworICAgIC8vLyBj
b21wbGV0aW9uIG1ldGhvZCBpcyBpbnZva2VkIGV4YWN0bHkgb25jZS4gRmFpbHVyZSB0byBkbyBz
byB3aWxsIHJlc3VsdCBpbiBhCisgICAgLy8vIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIC8vLwor
ICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBhY3Rpb25EZWNpZGVyOiBEZWNpZGVz
IHdoZXRoZXIgdG8gYWxsb3cgb3IgY2FuY2VsIGEgbmF2aWdhdGlvbi4KKyAgICBwdWJsaWMgZnVu
YyB3ZWJWaWV3TmF2aWdhdGlvblBvbGljeSgKKyAgICAgICAgb25BY3Rpb24gYWN0aW9uRGVjaWRl
cjogQGVzY2FwaW5nIChOYXZpZ2F0aW9uQWN0aW9uLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQKKyAg
ICApIC0+IHNvbWUgVmlldyB7CisgICAgICAgIGVudmlyb25tZW50KFwubmF2aWdhdGlvbkFjdGlv
bkRlY2lkZXIsIGFjdGlvbkRlY2lkZXIpCisgICAgfQorCisgICAgLy8vIFByb3ZpZGVzIGEgYmxv
Y2sgdG8gYmUgZXhlY3V0ZWQgb24gbmF2aWdhdGlvbiBtaWxlc3RvbmVzLCBhbmQgYWxsb3dzIGZv
ciBjdXN0b21pemVkIGhhbmRsaW5nCisgICAgLy8vIG9mIG5hdmlnYXRpb24gcG9saWN5LgorICAg
IC8vLworICAgIC8vLyBXaGVuIHByb3ZpZGluZyBhIGN1c3RvbSBwb2xpY3kgZGVjaWRlciB5b3Ug
KiptdXN0KiogZW5zdXJlIHRoYXQgdGhlIGNvcmVzcG9uZGluZyBkZWNpZGVyJ3MKKyAgICAvLy8g
Y29tcGxldGlvbiBtZXRob2QgaXMgaW52b2tlZCBleGFjdGx5IG9uY2UuIEZhaWx1cmUgdG8gZG8g
c28gd2lsbCByZXN1bHQgaW4gYQorICAgIC8vLyBydW50aW1lIGV4Y2VwdGlvbi4KKyAgICAvLy8K
KyAgICAvLy8gLSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gcmVzcG9uc2VEZWNpZGVyOiBEZWNp
ZGVzIHdoZXRoZXIgdG8gYWxsb3cgb3IgY2FuY2VsIGEgbmF2aWdhdGlvbiwgYWZ0ZXIgaXRzIHJl
c3BvbnNlCisgICAgLy8vICAgaXMga25vd24uCisgICAgcHVibGljIGZ1bmMgd2ViVmlld05hdmln
YXRpb25Qb2xpY3koCisgICAgICAgIG9uUmVzcG9uc2UgcmVzcG9uc2VEZWNpZGVyOiBAZXNjYXBp
bmcgKE5hdmlnYXRpb25SZXNwb25zZSwgV2ViVmlld1N0YXRlKSAtPiBWb2lkCisgICAgKSAtPiBz
b21lIFZpZXcgeworICAgICAgICBlbnZpcm9ubWVudChcLm5hdmlnYXRpb25SZXNwb25zZURlY2lk
ZXIsIHJlc3BvbnNlRGVjaWRlcikKKyAgICB9CisKKyAgICAvLy8gUHJvdmlkZXMgYSBibG9jayB0
byBiZSBleGVjdXRlZCBvbiBuYXZpZ2F0aW9uIG1pbGVzdG9uZXMsIGFuZCBhbGxvd3MgZm9yIGN1
c3RvbWl6ZWQgaGFuZGxpbmcKKyAgICAvLy8gb2YgbmF2aWdhdGlvbiBwb2xpY3kuCisgICAgLy8v
CisgICAgLy8vIFdoZW4gcHJvdmlkaW5nIGEgY3VzdG9tIHBvbGljeSBkZWNpZGVyIHlvdSAqKm11
c3QqKiBlbnN1cmUgdGhhdCB0aGUgY29yZXNwb25kaW5nIGRlY2lkZXIncworICAgIC8vLyBjb21w
bGV0aW9uIG1ldGhvZCBpcyBpbnZva2VkIGV4YWN0bHkgb25jZS4gRmFpbHVyZSB0byBkbyBzbyB3
aWxsIHJlc3VsdCBpbiBhCisgICAgLy8vIHJ1bnRpbWUgZXhjZXB0aW9uLgorICAgIC8vLworICAg
IC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBhY3Rpb25EZWNpZGVyOiBEZWNpZGVzIHdo
ZXRoZXIgdG8gYWxsb3cgb3IgY2FuY2VsIGEgbmF2aWdhdGlvbi4KKyAgICAvLy8gICAtIHJlc3Bv
bnNlRGVjaWRlcjogRGVjaWRlcyB3aGV0aGVyIHRvIGFsbG93IG9yIGNhbmNlbCBhIG5hdmlnYXRp
b24sIGFmdGVyIGl0cyByZXNwb25zZQorICAgIC8vLyAgIGlzIGtub3duLgorICAgIHB1YmxpYyBm
dW5jIHdlYlZpZXdOYXZpZ2F0aW9uUG9saWN5KAorICAgICAgICBvbkFjdGlvbiBhY3Rpb25EZWNp
ZGVyOiBAZXNjYXBpbmcgKE5hdmlnYXRpb25BY3Rpb24sIFdlYlZpZXdTdGF0ZSkgLT4gVm9pZCwK
KyAgICAgICAgb25SZXNwb25zZSByZXNwb25zZURlY2lkZXI6IEBlc2NhcGluZyAoTmF2aWdhdGlv
blJlc3BvbnNlLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQKKyAgICApIC0+IHNvbWUgVmlldyB7Cisg
ICAgICAgIGVudmlyb25tZW50KFwubmF2aWdhdGlvbkFjdGlvbkRlY2lkZXIsIGFjdGlvbkRlY2lk
ZXIpCisgICAgICAgICAgICAuZW52aXJvbm1lbnQoXC5uYXZpZ2F0aW9uUmVzcG9uc2VEZWNpZGVy
LCByZXNwb25zZURlY2lkZXIpCisgICAgfQorfQorCisvLy8gQ29udGFpbnMgaW5mb3JtYXRpb24g
YWJvdXQgYW4gYWN0aW9uIHRoYXQgbWF5IGNhdXNlIGEgbmF2aWdhdGlvbiwgdXNlZCBmb3IgbWFr
aW5nCisvLy8gcG9saWN5IGRlY2lzaW9ucy4KK0BkeW5hbWljTWVtYmVyTG9va3VwCitwdWJsaWMg
c3RydWN0IE5hdmlnYXRpb25BY3Rpb24geworICAgIHB1YmxpYyB0eXBlYWxpYXMgUG9saWN5ID0g
V0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5CisKKyAgICBwcml2YXRlIHZhciBhY3Rpb246IFdLTmF2
aWdhdGlvbkFjdGlvbgorICAgIHByaXZhdGUgdmFyIHJlcGx5OiAoV0tOYXZpZ2F0aW9uQWN0aW9u
UG9saWN5LCBXS1dlYnBhZ2VQcmVmZXJlbmNlcykgLT4gVm9pZAorCisgICAgLy8vIFRoZSBkZWZh
dWx0IHNldCBvZiB3ZWJwYWdlIHByZWZlcmVuY2VzLiBUaGlzIG1heSBiZSBjaGFuZ2VkIGJ5IHBh
c3NpbmcgbW9kaWZpZWQgcHJlZmVyZW5jZXMKKyAgICAvLy8gdG8gYGRlY2lkZVBvbGljeShfOndl
YnBhZ2VQcmVmZXJlbmNlczopYC4KKyAgICBwdWJsaWMgcHJpdmF0ZShzZXQpIHZhciB3ZWJwYWdl
UHJlZmVyZW5jZXM6IFdLV2VicGFnZVByZWZlcmVuY2VzCisKKyAgICAvLyBGSVhNRTogYHdlYnBh
Z2VQcmVmZXJlbmNlc2AgbGFja3MgdmFsdWUgc2VtYW50aWNzLCB3aGljaCBicmVha3MgdGhlIEFQ
SSBjb250cmFjdC4gVGhpcworICAgIC8vIGluc3RhbmNlIHNob3VsZCBub3QgYmUgbXV0YWJsZSwg
YnV0IHRoYXQgd291bGQgcmVxdWlyZSBhbiBPYmplY3RpdmUtQyB0eXBlIGJyaWRnZS4gV2UgY291
bGQKKyAgICAvLyBhbHNvIGNvbmZvcm0gaXQgdG8gYE5TQ29weWluZ2AgYW5kIG1hcmsgdGhpcyBw
cm9wZXJ0eSBhcyBgQE5TQ29weWluZ2AuCisKKyAgICBpbml0KAorICAgICAgICBfIGFjdGlvbjog
V0tOYXZpZ2F0aW9uQWN0aW9uLAorICAgICAgICB3ZWJwYWdlUHJlZmVyZW5jZXM6IFdLV2VicGFn
ZVByZWZlcmVuY2VzLAorICAgICAgICByZXBseTogQGVzY2FwaW5nIChXS05hdmlnYXRpb25BY3Rp
b25Qb2xpY3ksIFdLV2VicGFnZVByZWZlcmVuY2VzKSAtPiBWb2lkCisgICAgKSB7CisgICAgICAg
IHNlbGYuYWN0aW9uID0gYWN0aW9uCisgICAgICAgIHNlbGYucmVwbHkgPSByZXBseQorICAgICAg
ICBzZWxmLndlYnBhZ2VQcmVmZXJlbmNlcyA9IHdlYnBhZ2VQcmVmZXJlbmNlcworICAgIH0KKwor
ICAgIC8vLyBEZWNpZGVzIHdoYXQgYWN0aW9uIHRvIHRha2UgZm9yIHRoaXMgbmF2aWdhdGlvbi4g
VGhpcyBtZXRob2QgKiptdXN0KiogYmUgaW52b2tlZCBleGFjdGx5CisgICAgLy8vIG9uY2UsIG90
aGVyd2lzZSBXZWJLaXQgd2lsbCByYWlzZSBhbiBleGNlcHRpb24uCisgICAgLy8vIC0gUGFyYW1l
dGVyczoKKyAgICAvLy8gICAtIHBvbGljeTogVGhlIGRlc2lyZWQgcG9saWN5IGZvciB0aGlzIG5h
dmlnYXRpb24uCisgICAgLy8vICAgLSB3ZWJwYWdlUHJlZmVyZW5jZXM6IFRoZSBwcmVmZXJlbmNl
cyB0byB1c2UgZm9yIHRoaXMgbmF2aWdhdGlvbiwgb3IgYG5pbGAgdG8gdXNlIHRoZQorICAgIC8v
LyAgIGRlZmF1bHQgcHJlZmVyZW5jZXMuCisgICAgcHVibGljIGZ1bmMgZGVjaWRlUG9saWN5KF8g
cG9saWN5OiBQb2xpY3ksIHdlYnBhZ2VQcmVmZXJlbmNlczogV0tXZWJwYWdlUHJlZmVyZW5jZXM/
ID0gbmlsKSB7CisgICAgICAgIHJlcGx5KHBvbGljeSwgd2VicGFnZVByZWZlcmVuY2VzID8/IHNl
bGYud2VicGFnZVByZWZlcmVuY2VzKQorICAgIH0KKworICAgIHB1YmxpYyBzdWJzY3JpcHQ8VD4o
ZHluYW1pY01lbWJlciBrZXlQYXRoOiBLZXlQYXRoPFdLTmF2aWdhdGlvbkFjdGlvbiwgVD4pIC0+
IFQgeworICAgICAgICBhY3Rpb25ba2V5UGF0aDoga2V5UGF0aF0KKyAgICB9CisKKyAgICBmaWxl
cHJpdmF0ZSBzdHJ1Y3QgRGVjaWRlcktleSA6IEVudmlyb25tZW50S2V5IHsKKyAgICAgICAgc3Rh
dGljIGxldCBkZWZhdWx0VmFsdWU6ICgoTmF2aWdhdGlvbkFjdGlvbiwgV2ViVmlld1N0YXRlKSAt
PiBWb2lkKT8gPSBuaWwKKyAgICB9Cit9CisKKy8vLyBDb250YWlucyBpbmZvcm1hdGlvbiBhYm91
dCBhIG5hdmlnYXRpb24gcmVzcG9uc2UsIHVzZWQgZm9yIG1ha2luZyBwb2xpY3kgZGVjaXNpb25z
LgorQGR5bmFtaWNNZW1iZXJMb29rdXAKK3B1YmxpYyBzdHJ1Y3QgTmF2aWdhdGlvblJlc3BvbnNl
IHsKKyAgICBwdWJsaWMgdHlwZWFsaWFzIFBvbGljeSA9IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9s
aWN5CisKKyAgICBwcml2YXRlIHZhciByZXNwb25zZTogV0tOYXZpZ2F0aW9uUmVzcG9uc2UKKyAg
ICBwcml2YXRlIHZhciByZXBseTogKFBvbGljeSkgLT4gVm9pZAorCisgICAgaW5pdChfIHJlc3Bv
bnNlOiBXS05hdmlnYXRpb25SZXNwb25zZSwgcmVwbHk6IEBlc2NhcGluZyAoUG9saWN5KSAtPiBW
b2lkKSB7CisgICAgICAgIHNlbGYucmVzcG9uc2UgPSByZXNwb25zZQorICAgICAgICBzZWxmLnJl
cGx5ID0gcmVwbHkKKyAgICB9CisKKyAgICAvLy8gRGVjaWRlcyB3aGF0IGFjdGlvbiB0byB0YWtl
IGZvciB0aGlzIG5hdmlnYXRpb24uIFRoaXMgbWV0aG9kICoqbXVzdCoqIGJlIGludm9rZWQgZXhh
Y3RseQorICAgIC8vLyBvbmNlLCBvdGhlcndpc2UgV2ViS2l0IHdpbGwgcmFpc2UgYW4gZXhjZXB0
aW9uLgorICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBwb2xpY3k6IFRoZSBkZXNp
cmVkIHBvbGljeSBmb3IgdGhpcyBuYXZpZ2F0aW9uLgorICAgIHB1YmxpYyBmdW5jIGRlY2lkZVBv
bGljeShfIHBvbGljeTogUG9saWN5KSB7CisgICAgICAgIHJlcGx5KHBvbGljeSkKKyAgICB9CisK
KyAgICBwdWJsaWMgc3Vic2NyaXB0PFQ+KGR5bmFtaWNNZW1iZXIga2V5UGF0aDogS2V5UGF0aDxX
S05hdmlnYXRpb25SZXNwb25zZSwgVD4pIC0+IFQgeworICAgICAgICByZXNwb25zZVtrZXlQYXRo
OiBrZXlQYXRoXQorICAgIH0KKworICAgIGZpbGVwcml2YXRlIHN0cnVjdCBEZWNpZGVyS2V5IDog
RW52aXJvbm1lbnRLZXkgeworICAgICAgICBzdGF0aWMgbGV0IGRlZmF1bHRWYWx1ZTogKChOYXZp
Z2F0aW9uUmVzcG9uc2UsIFdlYlZpZXdTdGF0ZSkgLT4gVm9pZCk/ID0gbmlsCisgICAgfQorfQor
CitleHRlbnNpb24gRW52aXJvbm1lbnRWYWx1ZXMgeworICAgIHZhciBuYXZpZ2F0aW9uQWN0aW9u
RGVjaWRlcjogKChOYXZpZ2F0aW9uQWN0aW9uLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQpPyB7Cisg
ICAgICAgIGdldCB7IHNlbGZbTmF2aWdhdGlvbkFjdGlvbi5EZWNpZGVyS2V5LnNlbGZdIH0KKyAg
ICAgICAgc2V0IHsgc2VsZltOYXZpZ2F0aW9uQWN0aW9uLkRlY2lkZXJLZXkuc2VsZl0gPSBuZXdW
YWx1ZSB9CisgICAgfQorCisgICAgdmFyIG5hdmlnYXRpb25SZXNwb25zZURlY2lkZXI6ICgoTmF2
aWdhdGlvblJlc3BvbnNlLCBXZWJWaWV3U3RhdGUpIC0+IFZvaWQpPyB7CisgICAgICAgIGdldCB7
IHNlbGZbTmF2aWdhdGlvblJlc3BvbnNlLkRlY2lkZXJLZXkuc2VsZl0gfQorICAgICAgICBzZXQg
eyBzZWxmW05hdmlnYXRpb25SZXNwb25zZS5EZWNpZGVyS2V5LnNlbGZdID0gbmV3VmFsdWUgfQor
ICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dp
ZnRVSS9Td2lmdFVJRXh0cmFzLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktp
dF9Td2lmdFVJL1N3aWZ0VUlFeHRyYXMuc3dpZnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjcxOTYwNTEwZWZjYTVi
YjZhMWUxOWIzM2I0MDE3ZWQ3MTM2NDM2MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9Td2lmdFVJRXh0cmFzLnN3aWZ0CkBAIC0wLDAg
KzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgU3dpZnRVSQorCitleHRlbnNpb24gQ29sb3Ig
eworICAgIHN0YXRpYyB2YXIgcGxhdGZvcm1TZXBhcmF0b3I6IENvbG9yIHsKKyNpZiBvcyhtYWNP
UykKKyAgICAgICAgcmV0dXJuIENvbG9yKE5TQ29sb3Iuc2VwYXJhdG9yQ29sb3IpCisjZWxzZQor
ICAgICAgICByZXR1cm4gQ29sb3IoVUlDb2xvci5zZXBhcmF0b3IpCisjZW5kaWYKKyAgICB9CisK
KyAgICBzdGF0aWMgdmFyIHBsYXRmb3JtQmFja2dyb3VuZDogQ29sb3IgeworI2lmIG9zKG1hY09T
KQorICAgICAgICByZXR1cm4gQ29sb3IoTlNDb2xvci53aW5kb3dCYWNrZ3JvdW5kQ29sb3IpCisj
ZWxzZQorICAgICAgICByZXR1cm4gQ29sb3IoVUlDb2xvci5zeXN0ZW1CYWNrZ3JvdW5kKQorI2Vu
ZGlmCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktp
dF9Td2lmdFVJL1dlYktpdF9Td2lmdFVJLUluZm8ucGxpc3QgYi9Ub29scy9NaW5pQnJvd3NlclN3
aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViS2l0X1N3aWZ0VUktSW5mby5wbGlzdApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YmNiMjQ0NDI5ZWMxZGIwNjA2Y2U2YjNkOTU5NjIyNzZhN2MyMzc3Ci0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dlYktpdF9Td2lm
dFVJLUluZm8ucGxpc3QKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJ
U1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5k
dGQiPgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxv
cG1lbnRSZWdpb248L2tleT4KKwk8c3RyaW5nPiQoREVWRUxPUE1FTlRfTEFOR1VBR0UpPC9zdHJp
bmc+CisJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KKwk8c3RyaW5nPiQoRVhFQ1VUQUJM
RV9OQU1FKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJPHN0cmlu
Zz4kKFBST0RVQ1RfQlVORExFX0lERU5USUZJRVIpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUlu
Zm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+Ni4wPC9zdHJpbmc+CisJPGtleT5D
RkJ1bmRsZU5hbWU8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9OQU1FKTwvc3RyaW5nPgorCTxr
ZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9Q
QUNLQUdFX1RZUEUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwv
a2V5PgorCTxzdHJpbmc+MS4wPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4K
Kwk8c3RyaW5nPiQoQ1VSUkVOVF9QUk9KRUNUX1ZFUlNJT04pPC9zdHJpbmc+Cis8L2RpY3Q+Cis8
L3BsaXN0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL1dlYktpdF9Td2lm
dFVJL1dlYlZpZXcuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0
VUkvV2ViVmlldy5zd2lmdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTUwN2I1ZmE4ZWJmNzRiZDQ1ZmEzMzk1NTdl
NzVlMDdjYzBmZmIwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJ
L1dlYktpdF9Td2lmdFVJL1dlYlZpZXcuc3dpZnQKQEAgLTAsMCArMSwyNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitpbXBvcnQgU3dpZnRVSQoraW1wb3J0IFdlYktpdAorCisvLy8gQSB2aWV3IHRoYXQgZGlz
cGxheXMgaW50ZXJhY3RpdmUgd2ViIGNvbnRlbnQuCisvLy8KKy8vLyBBIGBXZWJWaWV3YCBpcyB1
c2VmdWwgaW4gYW55IHNjZW5hcmlvIHRoYXQgcmVxdWlyZXMgcmVuZGVyaW5nIEhUTUwsIHN1Y2gg
YXMgZm9yIGEgd2ViIGJyb3dzZXIsCisvLy8gZVB1YiByZWFkZXIsIG9yIHNpbXBseSB0byBkaXNw
bGF5IGxvY2FsIEhUTUwgcmVzb3VyY2VzLiBJdCBwcm92aWRlcyBiYXNpYyBiZWhhdmlvcnMgZm9y
IGhhbmRsaW5nCisvLy8gd2ViIGNvbnRlbnQgYnkgZGVmYXVsdCwgd2hpY2ggY2FuIGJlIGN1c3Rv
bWl6ZWQgdG8gcHJvdmlkZSBhbHRlcm5hdGUgYmVoYXZpb3JzLgorcHVibGljIHN0cnVjdCBXZWJW
aWV3IDogVmlldyB7CisgICAgLy8vIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBXZWJWaWV3IGNhbiBo
YW5kbGUgdGhlIGdpdmVuIFVSTCBieSBkZWZhdWx0LgorICAgIHB1YmxpYyBzdGF0aWMgZnVuYyBj
YW5IYW5kbGUoXyB1cmw6IFVSTCkgLT4gQm9vbCB7CisgICAgICAgIHJldHVybiB1cmwuc2NoZW1l
Lm1hcChXS1dlYlZpZXcuaGFuZGxlc1VSTFNjaGVtZShfOikpID8/IGZhbHNlCisgICAgfQorCisg
ICAgZmlsZXByaXZhdGUgdmFyIHN0YXRlOiBXZWJWaWV3U3RhdGUKKyAgICBAU3RhdGUgcHJpdmF0
ZSB2YXIgZGVmYXVsdERpYWxvZzogRGlhbG9nPyA9IG5pbAorICAgIHByaXZhdGUgdmFyIGN1c3Rv
bURpYWxvZzogQmluZGluZzxEaWFsb2c/Pj8gPSBuaWwKKyAgICBmaWxlcHJpdmF0ZSB2YXIgZGlh
bG9nOiBEaWFsb2c/IHsKKyAgICAgICAgZ2V0IHsgKHNlbGYuY3VzdG9tRGlhbG9nID8/IHNlbGYu
JGRlZmF1bHREaWFsb2cpLndyYXBwZWRWYWx1ZSB9CisgICAgICAgIG5vbm11dGF0aW5nIHNldCB7
IChzZWxmLmN1c3RvbURpYWxvZyA/PyBzZWxmLiRkZWZhdWx0RGlhbG9nKS53cmFwcGVkVmFsdWUg
PSBuZXdWYWx1ZSB9CisgICAgfQorICAgIHByaXZhdGUgdmFyIHVzZUludGVybmFsRGlhbG9nSGFu
ZGxpbmcgPSB0cnVlCisKKyAgICAvLy8gQ3JlYXRlIGEgbmV3IGBXZWJWaWV3YCBpbnN0YW5jZS4K
KyAgICAvLy8KKyAgICAvLy8gSW4gb3JkZXIgdG8gc3RvcmUgdGhlIHN0YXRlIG9mIHdlYnBhZ2Vz
LCBhIGBXZWJWaWV3U3RhdGVgIGluc3RhbmNlIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlCisgICAg
Ly8vIGNhbGxlci4gT25jZSB0aGUgd2ViIHZpZXcgaXMgZGlzcGxheWVkIGl0cyBzdGF0ZSBjYW4g
YmUgYm90aCByZWFkIGFuZCBtb2RpZmllZCBmcm9tIHRoZQorICAgIC8vLyBgV2ViVmlld1N0YXRl
YCwgc3VjaCBhcyBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBgV2ViVmlld2AgY29udGFpbnMgYmFj
ay1mb3J3YXJkIGhpc3RvcnksIG9yCisgICAgLy8vIHRvIHJlbG9hZCB0aGUgY3VycmVudCBwYWdl
LgorICAgIC8vLworICAgIC8vLyAtIFBhcmFtZXRlcnM6CisgICAgLy8vICAgLSBzdGF0ZTogU3Rh
dGUgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgd2ViIHZpZXcuCisgICAgLy8vICAgLSBkaWFs
b2c6IEEgYmluZGluZyByZXByZXNlbnRpbmcgYW55IGRpYWxvZyB0aGF0IHRoZSB3ZWJwYWdlIG5l
ZWRzIGRpc3BsYXllZC4gQSBjdXN0b20KKyAgICAvLy8gICBiaW5kaW5nIHNob3VsZCBvbmx5IGJl
IHByb3ZpZGVkIGlmIHlvdSBuZWVkIHRvIGN1c3RvbWl6ZSB0aGUgZGlzcGxheSBvZiBkaWFsb2dz
LCBvdGhlcndpc2UKKyAgICAvLy8gICBgV2ViVmlld2Agd2lsbCBtYW5hZ2UgZGlzcGxheS4KKyAg
ICBwdWJsaWMgaW5pdChzdGF0ZTogV2ViVmlld1N0YXRlLCBkaWFsb2c6IEJpbmRpbmc8RGlhbG9n
Pz4/ID0gbmlsKSB7CisgICAgICAgIHNlbGYuc3RhdGUgPSBzdGF0ZQorICAgICAgICBzZWxmLmN1
c3RvbURpYWxvZyA9IGRpYWxvZworICAgICAgICBzZWxmLnVzZUludGVybmFsRGlhbG9nSGFuZGxp
bmcgPSBkaWFsb2cgPT0gbmlsCisgICAgfQorCisgICAgcHVibGljIHZhciBib2R5OiBzb21lIFZp
ZXcgeworICAgICAgICBfV2ViVmlldyhvd25lcjogc2VsZikKKyAgICAgICAgICAgIC5vdmVybGF5
KGRpYWxvZ1ZpZXcpCisgICAgfQorCisgICAgQFZpZXdCdWlsZGVyCisgICAgcHJpdmF0ZSB2YXIg
ZGlhbG9nVmlldzogc29tZSBWaWV3IHsKKyAgICAgICAgaWYgdXNlSW50ZXJuYWxEaWFsb2dIYW5k
bGluZywgbGV0IGNvbmZpZ3VyYXRpb24gPSBkaWFsb2c/LmNvbmZpZ3VyYXRpb24geworICAgICAg
ICAgICAgc3dpdGNoIGNvbmZpZ3VyYXRpb24geworICAgICAgICAgICAgY2FzZSBsZXQgLmphdmFT
Y3JpcHRBbGVydChtZXNzYWdlLCBjb21wbGV0aW9uKToKKyAgICAgICAgICAgICAgICBKYXZhU2Ny
aXB0QWxlcnQobWVzc2FnZTogbWVzc2FnZSwgY29tcGxldGlvbjogeworICAgICAgICAgICAgICAg
ICAgICBkaWFsb2cgPSBuaWwKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbigpCisgICAg
ICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIGNhc2UgbGV0IC5qYXZhU2NyaXB0Q29uZmlybSht
ZXNzYWdlLCBjb21wbGV0aW9uKToKKyAgICAgICAgICAgICAgICBKYXZhU2NyaXB0Q29uZmlybSht
ZXNzYWdlOiBtZXNzYWdlLCBjb21wbGV0aW9uOiB7CisgICAgICAgICAgICAgICAgICAgIGRpYWxv
ZyA9IG5pbAorICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uKCQwKQorICAgICAgICAgICAg
ICAgIH0pCisgICAgICAgICAgICBjYXNlIGxldCAuamF2YVNjcmlwdFByb21wdChtZXNzYWdlLCBk
ZWZhdWx0VGV4dCwgY29tcGxldGlvbik6CisgICAgICAgICAgICAgICAgSmF2YVNjcmlwdFByb21w
dChtZXNzYWdlOiBtZXNzYWdlLCBkZWZhdWx0VGV4dDogZGVmYXVsdFRleHQsIGNvbXBsZXRpb246
IHsKKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nID0gbmlsCisgICAgICAgICAgICAgICAgICAg
IGNvbXBsZXRpb24oJDApCisgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEVtcHR5VmlldygpLmhpZGRlbigpCisgICAgICAgIH0K
KyAgICB9Cit9CisKK3ByaXZhdGUgc3RydWN0IF9XZWJWaWV3IHsKKyAgICBsZXQgb3duZXI6IFdl
YlZpZXcKKworICAgIGZ1bmMgbWFrZVZpZXcoY29vcmRpbmF0b3I6IENvb3JkaW5hdG9yLCBlbnZp
cm9ubWVudDogRW52aXJvbm1lbnRWYWx1ZXMpIC0+IFdLV2ViVmlldyB7CisgICAgICAgIGxldCB2
aWV3ID0gV0tXZWJWaWV3KCkKKyAgICAgICAgdmlldy5uYXZpZ2F0aW9uRGVsZWdhdGUgPSBjb29y
ZGluYXRvcgorICAgICAgICB2aWV3LnVpRGVsZWdhdGUgPSBjb29yZGluYXRvcgorICAgICAgICBj
b29yZGluYXRvci53ZWJWaWV3ID0gdmlldworICAgICAgICBjb29yZGluYXRvci5lbnZpcm9ubWVu
dCA9IGVudmlyb25tZW50CisKKyAgICAgICAgaWYgbGV0IHJlcXVlc3QgPSBjb29yZGluYXRvci5p
bml0aWFsUmVxdWVzdCB7CisgICAgICAgICAgICB2aWV3LmxvYWQocmVxdWVzdCkKKyAgICAgICAg
fQorCisgICAgICAgIHJldHVybiB2aWV3CisgICAgfQorCisgICAgZnVuYyB1cGRhdGVWaWV3KF8g
dmlldzogV0tXZWJWaWV3LCBjb29yZGluYXRvcjogQ29vcmRpbmF0b3IsIGVudmlyb25tZW50OiBF
bnZpcm9ubWVudFZhbHVlcykgeworICAgICAgICBjb29yZGluYXRvci5lbnZpcm9ubWVudCA9IGVu
dmlyb25tZW50CisKKyAgICAgICAgaWYgbGV0IGZsYWcgPSBlbnZpcm9ubWVudC5hbGxvd3NCYWNr
Rm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcyB7CisgICAgICAgICAgICB2aWV3LmFsbG93c0JhY2tG
b3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzID0gZmxhZworICAgICAgICB9CisgICAgfQorCisgICAg
c3RhdGljIGZ1bmMgZGlzbWFudGxlVmlldyhfIHZpZXc6IFdLV2ViVmlldywgY29vcmRpbmF0b3I6
IENvb3JkaW5hdG9yKSB7CisgICAgICAgIGNvb3JkaW5hdG9yLndlYlZpZXcgPSBuaWwKKyAgICB9
CisKKyAgICBmdW5jIG1ha2VDb29yZGluYXRvcigpIC0+IENvb3JkaW5hdG9yIHsKKyAgICAgICAg
Q29vcmRpbmF0b3Iob3duZXI6IG93bmVyKQorICAgIH0KK30KKworI2lmIG9zKG1hY09TKQorZXh0
ZW5zaW9uIF9XZWJWaWV3IDogTlNWaWV3UmVwcmVzZW50YWJsZSB7CisgICAgZnVuYyBtYWtlTlNW
aWV3KGNvbnRleHQ6IENvbnRleHQpIC0+IFdLV2ViVmlldyB7CisgICAgICAgIG1ha2VWaWV3KGNv
b3JkaW5hdG9yOiBjb250ZXh0LmNvb3JkaW5hdG9yLCBlbnZpcm9ubWVudDogY29udGV4dC5lbnZp
cm9ubWVudCkKKyAgICB9CisKKyAgICBmdW5jIHVwZGF0ZU5TVmlldyhfIG5zVmlldzogV0tXZWJW
aWV3LCBjb250ZXh0OiBDb250ZXh0KSB7CisgICAgICAgIHVwZGF0ZVZpZXcobnNWaWV3LCBjb29y
ZGluYXRvcjogY29udGV4dC5jb29yZGluYXRvciwgZW52aXJvbm1lbnQ6IGNvbnRleHQuZW52aXJv
bm1lbnQpCisgICAgfQorCisgICAgc3RhdGljIGZ1bmMgZGlzbWFudGxlTlNWaWV3KF8gbnNWaWV3
OiBXS1dlYlZpZXcsIGNvb3JkaW5hdG9yOiBDb29yZGluYXRvcikgeworICAgICAgICBkaXNtYW50
bGVWaWV3KG5zVmlldywgY29vcmRpbmF0b3I6IGNvb3JkaW5hdG9yKQorICAgIH0KK30KKyNlbHNl
CitleHRlbnNpb24gX1dlYlZpZXcgOiBVSVZpZXdSZXByZXNlbnRhYmxlIHsKKyAgICBmdW5jIG1h
a2VVSVZpZXcoY29udGV4dDogQ29udGV4dCkgLT4gV0tXZWJWaWV3IHsKKyAgICAgICAgbWFrZVZp
ZXcoY29vcmRpbmF0b3I6IGNvbnRleHQuY29vcmRpbmF0b3IsIGVudmlyb25tZW50OiBjb250ZXh0
LmVudmlyb25tZW50KQorICAgIH0KKworICAgIGZ1bmMgdXBkYXRlVUlWaWV3KF8gdWlWaWV3OiBX
S1dlYlZpZXcsIGNvbnRleHQ6IENvbnRleHQpIHsKKyAgICAgICAgdXBkYXRlVmlldyh1aVZpZXcs
IGNvb3JkaW5hdG9yOiBjb250ZXh0LmNvb3JkaW5hdG9yLCBlbnZpcm9ubWVudDogY29udGV4dC5l
bnZpcm9ubWVudCkKKyAgICB9CisKKyAgICBzdGF0aWMgZnVuYyBkaXNtYW50bGVVSVZpZXcoXyB1
aVZpZXc6IFdLV2ViVmlldywgY29vcmRpbmF0b3I6IENvb3JkaW5hdG9yKSB7CisgICAgICAgIGRp
c21hbnRsZVZpZXcodWlWaWV3LCBjb29yZGluYXRvcjogY29vcmRpbmF0b3IpCisgICAgfQorfQor
I2VuZGlmCisKK0BkeW5hbWljTWVtYmVyTG9va3VwCitwcml2YXRlIGZpbmFsIGNsYXNzIENvb3Jk
aW5hdG9yIDogTlNPYmplY3QsIFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBXS1VJRGVsZWdhdGUgewor
ICAgIHByaXZhdGUgdmFyIG93bmVyOiBXZWJWaWV3CisgICAgZmlsZXByaXZhdGUgdmFyIGVudmly
b25tZW50OiBFbnZpcm9ubWVudFZhbHVlcz8KKworICAgIGluaXQob3duZXI6IFdlYlZpZXcpIHsK
KyAgICAgICAgc2VsZi5vd25lciA9IG93bmVyCisgICAgfQorCisgICAgLy8gTUFSSzogV2ViVmll
d1N0YXRlIFByb3h5CisKKyAgICB2YXIgd2ViVmlldzogV0tXZWJWaWV3PyB7CisgICAgICAgIGdl
dCB7IG93bmVyLnN0YXRlLndlYlZpZXcgfQorICAgICAgICBzZXQgeyBvd25lci5zdGF0ZS53ZWJW
aWV3ID0gbmV3VmFsdWUgfQorICAgIH0KKworICAgIHN1YnNjcmlwdDxUPihkeW5hbWljTWVtYmVy
IGtleVBhdGg6IFJlZmVyZW5jZVdyaXRhYmxlS2V5UGF0aDxXZWJWaWV3U3RhdGUsIFQ+KSAtPiBU
IHsKKyAgICAgICAgZ2V0IHsgb3duZXIuc3RhdGVba2V5UGF0aDoga2V5UGF0aF0gfQorICAgICAg
ICBzZXQgeyBvd25lci5zdGF0ZVtrZXlQYXRoOiBrZXlQYXRoXSA9IG5ld1ZhbHVlIH0KKyAgICB9
CisKKyAgICAvLyBNQVJLOiBOYXZpZ2F0aW9uCisKKyAgICBmdW5jIHdlYlZpZXcoCisgICAgICAg
IF8gd2ViVmlldzogV0tXZWJWaWV3LAorICAgICAgICBkZWNpZGVQb2xpY3lGb3IgbmF2aWdhdGlv
bkFjdGlvbjogV0tOYXZpZ2F0aW9uQWN0aW9uLAorICAgICAgICBwcmVmZXJlbmNlczogV0tXZWJw
YWdlUHJlZmVyZW5jZXMsCisgICAgICAgIGRlY2lzaW9uSGFuZGxlcjogQGVzY2FwaW5nIChXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3ksIFdLV2VicGFnZVByZWZlcmVuY2VzKSAtPiBWb2lkCisgICAg
KSB7CisgICAgICAgIGlmIGxldCBkZWNpZGVyID0gZW52aXJvbm1lbnQ/Lm5hdmlnYXRpb25BY3Rp
b25EZWNpZGVyIHsKKyAgICAgICAgICAgIGxldCBhY3Rpb24gPSBOYXZpZ2F0aW9uQWN0aW9uKAor
ICAgICAgICAgICAgICAgIG5hdmlnYXRpb25BY3Rpb24sIHdlYnBhZ2VQcmVmZXJlbmNlczogcHJl
ZmVyZW5jZXMsIHJlcGx5OiBkZWNpc2lvbkhhbmRsZXIpCisgICAgICAgICAgICBkZWNpZGVyKGFj
dGlvbiwgb3duZXIuc3RhdGUpCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWNpc2lv
bkhhbmRsZXIoLmFsbG93LCBwcmVmZXJlbmNlcykKKyAgICAgICAgfQorICAgIH0KKworICAgIGZ1
bmMgd2ViVmlldygKKyAgICAgICAgXyB3ZWJWaWV3OiBXS1dlYlZpZXcsCisgICAgICAgIGRlY2lk
ZVBvbGljeUZvciBuYXZpZ2F0aW9uUmVzcG9uc2U6IFdLTmF2aWdhdGlvblJlc3BvbnNlLAorICAg
ICAgICBkZWNpc2lvbkhhbmRsZXI6IEBlc2NhcGluZyAoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xp
Y3kpIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAgaWYgbGV0IGRlY2lkZXIgPSBlbnZpcm9ubWVu
dD8ubmF2aWdhdGlvblJlc3BvbnNlRGVjaWRlciB7CisgICAgICAgICAgICBsZXQgcmVzcG9uc2Ug
PSBOYXZpZ2F0aW9uUmVzcG9uc2UobmF2aWdhdGlvblJlc3BvbnNlLCByZXBseTogZGVjaXNpb25I
YW5kbGVyKQorICAgICAgICAgICAgZGVjaWRlcihyZXNwb25zZSwgb3duZXIuc3RhdGUpCisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRsZXIoLmFsbG93KQorICAgICAg
ICB9CisgICAgfQorCisgICAgLy8gTUFSSzogRGlhbG9ncworCisgICAgZnVuYyB3ZWJWaWV3KAor
ICAgICAgICBfIHdlYlZpZXc6IFdLV2ViVmlldywKKyAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0
UGFuZWxXaXRoTWVzc2FnZSBtZXNzYWdlOiBTdHJpbmcsCisgICAgICAgIGluaXRpYXRlZEJ5RnJh
bWUgZnJhbWU6IFdLRnJhbWVJbmZvLAorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjogQGVzY2Fw
aW5nICgpIC0+IFZvaWQKKyAgICApIHsKKyAgICAgICAgb3duZXIuZGlhbG9nID0gLmphdmFTY3Jp
cHRBbGVydChtZXNzYWdlLCBjb21wbGV0aW9uOiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICB9CisK
KyAgICBmdW5jIHdlYlZpZXcoCisgICAgICAgIF8gd2ViVmlldzogV0tXZWJWaWV3LAorICAgICAg
ICBydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2UgbWVzc2FnZTogU3RyaW5nLAor
ICAgICAgICBpbml0aWF0ZWRCeUZyYW1lIGZyYW1lOiBXS0ZyYW1lSW5mbywKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXI6IEBlc2NhcGluZyAoQm9vbCkgLT4gVm9pZAorICAgICkgeworICAgICAg
ICBvd25lci5kaWFsb2cgPSAuamF2YVNjcmlwdENvbmZpcm0obWVzc2FnZSwgY29tcGxldGlvbjog
Y29tcGxldGlvbkhhbmRsZXIpCisgICAgfQorCisgICAgZnVuYyB3ZWJWaWV3KAorICAgICAgICBf
IHdlYlZpZXc6IFdLV2ViVmlldywKKyAgICAgICAgcnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVs
V2l0aFByb21wdCBwcm9tcHQ6IFN0cmluZywKKyAgICAgICAgZGVmYXVsdFRleHQ6IFN0cmluZz8s
CisgICAgICAgIGluaXRpYXRlZEJ5RnJhbWUgZnJhbWU6IFdLRnJhbWVJbmZvLAorICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcjogQGVzY2FwaW5nIChTdHJpbmc/KSAtPiBWb2lkCisgICAgKSB7Cisg
ICAgICAgIG93bmVyLmRpYWxvZyA9IC5qYXZhU2NyaXB0UHJvbXB0KAorICAgICAgICAgICAgcHJv
bXB0LCBkZWZhdWx0VGV4dDogZGVmYXVsdFRleHQgPz8gIiIsIGNvbXBsZXRpb246IGNvbXBsZXRp
b25IYW5kbGVyKQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3TW9kaWZpZXJzLnN3aWZ0IGIvVG9vbHMvTWluaUJyb3dz
ZXJTd2lmdFVJL1dlYktpdF9Td2lmdFVJL1dlYlZpZXdNb2RpZmllcnMuc3dpZnQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzZhNTUwMWE0NGQyZjY2Mzg0YjA5ZDBiN2VlNGY1YjA4ZmI1YzEwZAotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJLaXRfU3dpZnRVSS9XZWJWaWV3TW9k
aWZpZXJzLnN3aWZ0CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgU3dpZnRV
SQorCitleHRlbnNpb24gVmlldyB7CisgICAgLy8vIEN1c3RvbWl6ZXMgd2hldGhlciBob3Jpem9u
dGFsIHN3aXBlIGdlc3R1cmVzIHdpbGwgdHJpZ2dlciBiYWNrLWZvcndhcmQgbGlzdCBuYXZpZ2F0
aW9ucworICAgIC8vLyBpbiBhIGBXZWJ2aWV3YC4KKyAgICBwdWJsaWMgZnVuYyB3ZWJWaWV3QWxs
b3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMoXyBhbGxvd2VkOiBCb29sKSAtPiBzb21l
IFZpZXcgeworICAgICAgICBlbnZpcm9ubWVudChcLmFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlv
bkdlc3R1cmVzLCBhbGxvd2VkKQorICAgIH0KK30KKworcHJpdmF0ZSBzdHJ1Y3QgV2ViVmlld0Fs
bG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzS2V5IDogRW52aXJvbm1lbnRLZXkgewor
ICAgIHN0YXRpYyBsZXQgZGVmYXVsdFZhbHVlOiBCb29sPyA9IG5pbAorfQorCitleHRlbnNpb24g
RW52aXJvbm1lbnRWYWx1ZXMgeworICAgIHZhciBhbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25H
ZXN0dXJlczogQm9vbD8geworICAgICAgICBnZXQgeyBzZWxmW1dlYlZpZXdBbGxvd3NCYWNrRm9y
d2FyZE5hdmlnYXRpb25HZXN0dXJlc0tleS5zZWxmXSB9CisgICAgICAgIHNldCB7IHNlbGZbV2Vi
Vmlld0FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzS2V5LnNlbGZdID0gbmV3VmFs
dWUgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9XZWJL
aXRfU3dpZnRVSS9XZWJWaWV3U3RhdGUuc3dpZnQgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkv
V2ViS2l0X1N3aWZ0VUkvV2ViVmlld1N0YXRlLnN3aWZ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZDBhY2M0OGYw
MGZhMmQ0YTUyYTIyZGU0OTUyYzdlNWVlODdhYWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9N
aW5pQnJvd3NlclN3aWZ0VUkvV2ViS2l0X1N3aWZ0VUkvV2ViVmlld1N0YXRlLnN3aWZ0CkBAIC0w
LDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW1wb3J0IENvbWJpbmUKK2ltcG9ydCBTd2lmdFVJ
CitpbXBvcnQgV2ViS2l0CisKKy8vLyBIb2xkcyB0aGUgZHluYW1pYyBzdGF0ZSBvZiBhIGBXZWJW
aWV3YC4KK2ZpbmFsIHB1YmxpYyBjbGFzcyBXZWJWaWV3U3RhdGUgOiBPYnNlcnZhYmxlT2JqZWN0
IHsKKyAgICB2YXIgaW5pdGlhbFJlcXVlc3Q6IFVSTFJlcXVlc3Q/CisgICAgdmFyIHdlYlZpZXdP
YnNlcnZhdGlvbnM6IFtOU0tleVZhbHVlT2JzZXJ2YXRpb25dID0gW10KKyAgICB2YXIgd2ViVmll
dzogV0tXZWJWaWV3PyB7CisgICAgICAgIGRpZFNldCB7CisgICAgICAgICAgICB3ZWJWaWV3T2Jz
ZXJ2YXRpb25zLmZvckVhY2ggeyAkMC5pbnZhbGlkYXRlKCkgfQorICAgICAgICAgICAgZ3VhcmQg
bGV0IHdlYlZpZXcgPSB3ZWJWaWV3IGVsc2UgeworICAgICAgICAgICAgICAgIHdlYlZpZXdPYnNl
cnZhdGlvbnMucmVtb3ZlQWxsKCkKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuYyByZWdpc3RlcjxUPigKKyAgICAgICAgICAgICAgICBfIGtl
eVBhdGg6IEtleVBhdGg8V0tXZWJWaWV3LCBUPgorICAgICAgICAgICAgKSAtPiBOU0tleVZhbHVl
T2JzZXJ2YXRpb24gd2hlcmUgVCA6IEVxdWF0YWJsZSB7CisgICAgICAgICAgICAgICAgd2ViVmll
dy5vYnNlcnZlKAorICAgICAgICAgICAgICAgICAgICBrZXlQYXRoLCBvcHRpb25zOiBbLnByaW9y
LCAub2xkLCAubmV3XSwKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlSGFuZGxlcjogd2ViVmll
dyhfOmRpZENoYW5nZUtleVBhdGg6KSkKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8g
VE9ETzogRXZhbHVhdGUgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBvZiBwcmUtcmVnaXN0ZXJpbmcg
YWxsIG9mIHRoZXNlIG9ic2VydmF0aW9ucy4KKyAgICAgICAgICAgIC8vIFdlIGNhbid0IGtub3cg
d2hhdCBjaGFuZ2VzIHdpbGwgdHJpZ2dlciB2aWV3IHVwZGF0ZXMsIHNvIHdlIG5lZWQgdG8gb2Jz
ZXJ2ZSBldmVyeQorICAgICAgICAgICAgLy8gcHJvcGVydHkgdGhhdCBnZXQncyByZXB1Ymxpc2hl
ZCBiZWxvdzsgaG93ZXZlciwgdGhlcmUgbWF5IGJlIG1vcmUgZWZmaWNpZW50IHdheXMgdG8KKyAg
ICAgICAgICAgIC8vIGFjaGlldmUgdGhpcy4KKyAgICAgICAgICAgIHdlYlZpZXdPYnNlcnZhdGlv
bnMgPSBbCisgICAgICAgICAgICAgICAgcmVnaXN0ZXIoXC5jYW5Hb0JhY2spLCByZWdpc3Rlcihc
LmNhbkdvRm9yd2FyZCksIHJlZ2lzdGVyKFwudGl0bGUpLCByZWdpc3RlcihcLnVybCksCisgICAg
ICAgICAgICAgICAgcmVnaXN0ZXIoXC5pc0xvYWRpbmcpLCByZWdpc3RlcihcLmVzdGltYXRlZFBy
b2dyZXNzKSwKKyAgICAgICAgICAgIF0KKyAgICAgICAgfQorICAgIH0KKworICAgIHB1YmxpYyBs
ZXQgb2JqZWN0V2lsbENoYW5nZSA9IE9ic2VydmFibGVPYmplY3RQdWJsaXNoZXIoKQorCisgICAg
Ly8vIENyZWF0ZXMgYSBuZXcgYFdlYlZpZXdTdGF0ZWAuCisgICAgLy8vIC0gUGFyYW1ldGVyczoK
KyAgICAvLy8gICAtIGluaXRpYWxVUkw6IFRoZSBgVVJMYCB0byBuYXZpZ2F0ZSB0byBpbW1lZGlh
dGx5IHVwb24gYFdlYlZpZXdgIGNyZWF0aW9uLgorICAgIC8vLyAgIC0gY29uZmlndXJhdGlvbjog
Q29uZmlndXJhdGlvbiBmb3IgdGhlIGBXZWJWaWV3YC4KKyAgICBwdWJsaWMgY29udmVuaWVuY2Ug
aW5pdCgKKyAgICAgICAgaW5pdGlhbFVSTDogVVJMPyA9IG5pbCwgY29uZmlndXJhdGlvbjogV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiA9IC5pbml0KCkKKyAgICApIHsKKyAgICAgICAgc2VsZi5pbml0
KAorICAgICAgICAgICAgaW5pdGlhbFJlcXVlc3Q6IGluaXRpYWxVUkwubWFwIHsgVVJMUmVxdWVz
dCh1cmw6ICQwKSB9LAorICAgICAgICAgICAgY29uZmlndXJhdGlvbjogY29uZmlndXJhdGlvbikK
KyAgICB9CisKKyAgICAvLy8gQ3JlYXRlcyBhIG5ldyBgV2ViVmlld1N0YXRlYC4KKyAgICAvLy8g
LSBQYXJhbWV0ZXJzOgorICAgIC8vLyAgIC0gaW5pdGlhbFJlcXVlc3Q6IFRoZSBgVVJMUmVxdWVz
dGAgdG8gbmF2aWdhdGUgdG8gaW1tZWRpYXRseSB1cG9uIGBXZWJWaWV3YCBjcmVhdGlvbi4KKyAg
ICAvLy8gICAtIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gZm9yIHRoZSBgV2ViVmlld2Au
CisgICAgcHVibGljIGluaXQoaW5pdGlhbFJlcXVlc3Q6IFVSTFJlcXVlc3Q/LCBjb25maWd1cmF0
aW9uOiBXS1dlYlZpZXdDb25maWd1cmF0aW9uID0gLmluaXQoKSkgeworICAgICAgICBzZWxmLmlu
aXRpYWxSZXF1ZXN0ID0gaW5pdGlhbFJlcXVlc3QKKyAgICB9CisKKyAgICBmdW5jIHdlYlZpZXc8
VmFsdWU+KAorICAgICAgICBfOiBXS1dlYlZpZXcsIGRpZENoYW5nZUtleVBhdGggY2hhbmdlOiBO
U0tleVZhbHVlT2JzZXJ2ZWRDaGFuZ2U8VmFsdWU+CisgICAgKSB3aGVyZSBWYWx1ZSA6IEVxdWF0
YWJsZSB7CisgICAgICAgIGlmIGNoYW5nZS5pc1ByaW9yICYmIGNoYW5nZS5vbGRWYWx1ZSAhPSBj
aGFuZ2UubmV3VmFsdWUgeworICAgICAgICAgICAgb2JqZWN0V2lsbENoYW5nZS5zZW5kKCkKKyAg
ICAgICAgfQorICAgIH0KKworICAgIC8vIE5PVEU6IEknbSBlbGlkaW5nIGRvY3VtZW50YXRpb24g
Y29tbWVudHMgaGVyZS4gVGhlc2UgcHJvcGVydGllcyBhbmQgbWV0aG9kcyByZWxhdGVkIDE6MSB3
aXRoCisgICAgLy8gdGhlaXIgYFdLV2ViVmlld2AgY291bnRlcnBhcnRzLgorCisgICAgcHVibGlj
IHZhciBjYW5Hb0JhY2s6IEJvb2wgeyB3ZWJWaWV3Py5jYW5Hb0JhY2sgPz8gZmFsc2UgfQorICAg
IHB1YmxpYyB2YXIgY2FuR29Gb3J3YXJkOiBCb29sIHsgd2ViVmlldz8uY2FuR29Gb3J3YXJkID8/
IGZhbHNlIH0KKyAgICBwdWJsaWMgdmFyIHRpdGxlOiBTdHJpbmcgeyB3ZWJWaWV3Py50aXRsZSA/
PyAiIiB9CisgICAgcHVibGljIHZhciB1cmw6IFVSTD8geyB3ZWJWaWV3Py51cmwgfQorICAgIHB1
YmxpYyB2YXIgaXNMb2FkaW5nOiBCb29sIHsgd2ViVmlldz8uaXNMb2FkaW5nID8/IGZhbHNlIH0K
KyAgICBwdWJsaWMgdmFyIGVzdGltYXRlZFByb2dyZXNzOiBEb3VibGU/IHsgaXNMb2FkaW5nID8g
d2ViVmlldz8uZXN0aW1hdGVkUHJvZ3Jlc3MgOiBuaWwgfQorICAgIHB1YmxpYyB2YXIgaGFzT25s
eVNlY3VyZUNvbnRlbnQ6IEJvb2wgeyB3ZWJWaWV3Py5oYXNPbmx5U2VjdXJlQ29udGVudCA/PyBm
YWxzZSB9CisKKyAgICBwdWJsaWMgZnVuYyBsb2FkKF8gdXJsOiBVUkwpIHsKKyAgICAgICAgbG9h
ZChVUkxSZXF1ZXN0KHVybDogdXJsKSkKKyAgICB9CisKKyAgICBwdWJsaWMgZnVuYyBsb2FkKF8g
cmVxdWVzdDogVVJMUmVxdWVzdCkgeworICAgICAgICB3ZWJWaWV3Py5sb2FkKHJlcXVlc3QpCisg
ICAgfQorCisgICAgcHVibGljIGZ1bmMgZ29CYWNrKCkgeworICAgICAgICB3ZWJWaWV3Py5nb0Jh
Y2soKQorICAgIH0KKworICAgIHB1YmxpYyBmdW5jIGdvRm9yd2FyZCgpIHsKKyAgICAgICAgd2Vi
Vmlldz8uZ29Gb3J3YXJkKCkKKyAgICB9CisKKyAgICBwdWJsaWMgZnVuYyByZWxvYWQoKSB7Cisg
ICAgICAgIHdlYlZpZXc/LnJlbG9hZCgpCisgICAgfQorCisgICAgcHVibGljIGZ1bmMgc3RvcExv
YWRpbmcoKSB7CisgICAgICAgIHdlYlZpZXc/LnN0b3BMb2FkaW5nKCkKKyAgICB9CisKKyAgICBm
dW5jIGNyZWF0ZVBERigKKyAgICAgICAgY29uZmlndXJhdGlvbjogV0tQREZDb25maWd1cmF0aW9u
ID0gLmluaXQoKSwKKyAgICAgICAgY29tcGxldGlvbjogQGVzY2FwaW5nIChSZXN1bHQ8RGF0YSwg
RXJyb3I+KSAtPiBWb2lkCisgICAgKSB7CisgICAgICAgIGlmIGxldCB3ZWJWaWV3ID0gd2ViVmll
dyB7CisgICAgICAgICAgICB3ZWJWaWV3LmNyZWF0ZVBERihjb25maWd1cmF0aW9uOiBjb25maWd1
cmF0aW9uLCBjb21wbGV0aW9uSGFuZGxlcjogY29tcGxldGlvbikKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb24oLmZhaWx1cmUoV0tFcnJvcigudW5rbm93bikpKQorICAg
ICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL2lP
Uy9JbmZvLnBsaXN0IGIvVG9vbHMvTWluaUJyb3dzZXJTd2lmdFVJL2lPUy9JbmZvLnBsaXN0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVmYzIxMWEwYzFiMWEzODc4ZmY5YmIyOGNiMWI3ZGY3MTcwNGY1NDEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvaU9TL0luZm8ucGxpc3QKQEAg
LTAsMCArMSw1MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwh
RE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6
Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgorPHBsaXN0IHZlcnNp
b249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4K
Kwk8c3RyaW5nPiQoREVWRUxPUE1FTlRfTEFOR1VBR0UpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRs
ZUV4ZWN1dGFibGU8L2tleT4KKwk8c3RyaW5nPiQoRVhFQ1VUQUJMRV9OQU1FKTwvc3RyaW5nPgor
CTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfQlVORExF
X0lERU5USUZJRVIpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lv
bjwva2V5PgorCTxzdHJpbmc+Ni4wPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4K
Kwk8c3RyaW5nPiQoUFJPRFVDVF9OQU1FKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVQYWNrYWdl
VHlwZTwva2V5PgorCTxzdHJpbmc+JChQUk9EVUNUX0JVTkRMRV9QQUNLQUdFX1RZUEUpPC9zdHJp
bmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+MS4w
PC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZlcnNpb248L2tleT4KKwk8c3RyaW5nPjE8L3N0cmlu
Zz4KKwk8a2V5PkxTUmVxdWlyZXNJUGhvbmVPUzwva2V5PgorCTx0cnVlLz4KKwk8a2V5PlVJQXBw
bGljYXRpb25TY2VuZU1hbmlmZXN0PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+VUlBcHBsaWNhdGlv
blN1cHBvcnRzTXVsdGlwbGVTY2VuZXM8L2tleT4KKwkJPHRydWUvPgorCTwvZGljdD4KKwk8a2V5
PlVJQXBwbGljYXRpb25TdXBwb3J0c0luZGlyZWN0SW5wdXRFdmVudHM8L2tleT4KKwk8dHJ1ZS8+
CisJPGtleT5VSUxhdW5jaFNjcmVlbjwva2V5PgorCTxkaWN0Lz4KKwk8a2V5PlVJUmVxdWlyZWRE
ZXZpY2VDYXBhYmlsaXRpZXM8L2tleT4KKwk8YXJyYXk+CisJCTxzdHJpbmc+YXJtdjc8L3N0cmlu
Zz4KKwk8L2FycmF5PgorCTxrZXk+VUlTdXBwb3J0ZWRJbnRlcmZhY2VPcmllbnRhdGlvbnM8L2tl
eT4KKwk8YXJyYXk+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvblBvcnRyYWl0PC9z
dHJpbmc+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRzY2FwZUxlZnQ8L3N0
cmluZz4KKwkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNjYXBlUmlnaHQ8L3N0
cmluZz4KKwk8L2FycmF5PgorCTxrZXk+VUlTdXBwb3J0ZWRJbnRlcmZhY2VPcmllbnRhdGlvbnN+
aXBhZDwva2V5PgorCTxhcnJheT4KKwkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9y
dHJhaXQ8L3N0cmluZz4KKwkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uUG9ydHJhaXRV
cHNpZGVEb3duPC9zdHJpbmc+CisJCTxzdHJpbmc+VUlJbnRlcmZhY2VPcmllbnRhdGlvbkxhbmRz
Y2FwZUxlZnQ8L3N0cmluZz4KKwkJPHN0cmluZz5VSUludGVyZmFjZU9yaWVudGF0aW9uTGFuZHNj
YXBlUmlnaHQ8L3N0cmluZz4KKwk8L2FycmF5PgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRVSS9tYWNPUy9JbmZvLnBsaXN0IGIvVG9vbHMvTWlu
aUJyb3dzZXJTd2lmdFVJL21hY09TL0luZm8ucGxpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFjYmM1Njg4Y2E4
MDZlYWM0NWNjNTg0N2M1ZDI3OGE2ZjZkNjhlNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01p
bmlCcm93c2VyU3dpZnRVSS9tYWNPUy9JbmZvLnBsaXN0CkBAIC0wLDAgKzEsMjYgQEAKKzw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElD
ICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERz
L1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJ
PGtleT5DRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uPC9rZXk+CisJPHN0cmluZz4kKERFVkVMT1BN
RU5UX0xBTkdVQUdFKTwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+CisJ
PHN0cmluZz4kKEVYRUNVVEFCTEVfTkFNRSk8L3N0cmluZz4KKwk8a2V5PkNGQnVuZGxlSWNvbkZp
bGU8L2tleT4KKwk8c3RyaW5nPjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJZGVudGlmaWVyPC9r
ZXk+CisJPHN0cmluZz4kKFBST0RVQ1RfQlVORExFX0lERU5USUZJRVIpPC9zdHJpbmc+CisJPGtl
eT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+Ni4wPC9zdHJp
bmc+CisJPGtleT5DRkJ1bmRsZU5hbWU8L2tleT4KKwk8c3RyaW5nPiQoUFJPRFVDVF9OQU1FKTwv
c3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVQYWNrYWdlVHlwZTwva2V5PgorCTxzdHJpbmc+JChQUk9E
VUNUX0JVTkRMRV9QQUNLQUdFX1RZUEUpPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVy
c2lvblN0cmluZzwva2V5PgorCTxzdHJpbmc+MS4wPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZVZl
cnNpb248L2tleT4KKwk8c3RyaW5nPjE8L3N0cmluZz4KKwk8a2V5PkxTTWluaW11bVN5c3RlbVZl
cnNpb248L2tleT4KKwk8c3RyaW5nPiQoTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUKTwvc3RyaW5n
PgorPC9kaWN0PgorPC9wbGlzdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyU3dpZnRV
SS9tYWNPUy9tYWNPUy5lbnRpdGxlbWVudHMgYi9Ub29scy9NaW5pQnJvd3NlclN3aWZ0VUkvbWFj
T1MvbWFjT1MuZW50aXRsZW1lbnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNWFmMDNkOTliMmVhOTkxYjRhNmRj
OGVlZDlkYjA4OGU1YWZiYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3NlclN3
aWZ0VUkvbWFjT1MvbWFjT1MuZW50aXRsZW1lbnRzCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICIt
Ly9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1By
b3BlcnR5TGlzdC0xLjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtl
eT5jb20uYXBwbGUuc2VjdXJpdHkuYXBwLXNhbmRib3g8L2tleT4KKwk8dHJ1ZS8+CisJPGtleT5j
b20uYXBwbGUuc2VjdXJpdHkuZmlsZXMudXNlci1zZWxlY3RlZC5yZWFkLW9ubHk8L2tleT4KKwk8
dHJ1ZS8+CisJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkubmV0d29yay5jbGllbnQ8L2tleT4KKwk8
dHJ1ZS8+Cis8L2RpY3Q+Cis8L3BsaXN0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>