<?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>127233</bug_id>
          
          <creation_ts>2014-01-18 13:27:26 -0800</creation_ts>
          <short_desc>Remove view source code</short_desc>
          <delta_ts>2014-02-17 17:48:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>128945</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>berto</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>969514</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-18 13:27:26 -0800</bug_when>
    <thetext>Remove view source code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969515</commentid>
    <comment_count>1</comment_count>
      <attachid>221567</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-18 13:29:06 -0800</bug_when>
    <thetext>Created attachment 221567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969517</commentid>
    <comment_count>2</comment_count>
      <attachid>221568</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-18 13:46:19 -0800</bug_when>
    <thetext>Created attachment 221568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969518</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-18 13:55:50 -0800</bug_when>
    <thetext>I&apos;m going to hold off doing this until we&apos;ve found a solution for the GTK+ port which exposes this as API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981661</commentid>
    <comment_count>4</comment_count>
      <attachid>224431</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-17 15:17:14 -0800</bug_when>
    <thetext>Created attachment 224431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981686</commentid>
    <comment_count>5</comment_count>
      <attachid>224431</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-02-17 15:44:33 -0800</bug_when>
    <thetext>Comment on attachment 224431
Patch

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

&gt; Source/WebCore/css/DocumentRuleSets.cpp:103
&gt; -void DocumentRuleSets::collectFeatures(bool isViewSource)
&gt; +void DocumentRuleSets::collectFeatures()

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981688</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-17 15:48:27 -0800</bug_when>
    <thetext>Committed r164254: &lt;http://trac.webkit.org/changeset/164254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981728</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-02-17 17:25:58 -0800</bug_when>
    <thetext>EFL port has been broken since r164254. Coordinated Graphics is still using setMainFrameInViewSourceMode() and mainFrameInViewSourceMode(). Any reason to remove it ?

http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/12942</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981732</commentid>
    <comment_count>8</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-17 17:33:33 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; EFL port has been broken since r164254. Coordinated Graphics is still using setMainFrameInViewSourceMode() and mainFrameInViewSourceMode(). Any reason to remove it ?
&gt; 
&gt; http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/12942

I&apos;m sorry, I was unaware that the EFL port also used this API!

We&apos;re removing it for the reasons described in a previous WebKitGTK+ ChangeLog:

        This is a first step towards getting rid of the view source mode from WebCore. 
        View source shouldn&apos;t be a mode on the web page and can be implemented in other ways by
        embedding apps. Furthermore, the inspector has an excellent view source mode.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221567</attachid>
            <date>2014-01-18 13:29:06 -0800</date>
            <delta_ts>2014-01-18 13:46:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127233-20140118132902.patch</filename>
            <type>text/plain</type>
            <size>76356</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ2YmI5NzkyNzZmZDZi
MmUyYjc5ZjEyODgyNGU4MDE2ZjcxOWE0Ni4uY2E5NTVkYTBhZDdmYTFjOGRjYjE1YTE5OGZkMmYy
MDhhOTRmZGMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY1IEBACiAyMDE0LTAxLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIHZpZXcg
c291cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzKToKKyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcDoK
KyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmg6CisgICAgICAgICogY3NzL0Rv
Y3VtZW50UnVsZVNldHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxlU2V0czo6
YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxl
U2V0czo6Y29sbGVjdEZlYXR1cmVzKToKKyAgICAgICAgKiBjc3MvRG9jdW1lbnRSdWxlU2V0cy5o
OgorICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBl
bmRBdXRob3JTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpz
dHlsZUZvckVsZW1lbnQpOgorICAgICAgICAqIGNzcy92aWV3LXNvdXJjZS5jc3M6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1M
RnJhbWVFbGVtZW50QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50
QmFzZTo6SFRNTEZyYW1lRWxlbWVudEJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZyYW1l
RWxlbWVudEJhc2U6Om9wZW5VUkwpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuaDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tlbi5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hU
TUxWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MVmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvcGFyc2VyL1Rl
eHRWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5UGFnZS5jc3M6CisgICAgICAgICgudGFnLW5hbWUpOgorICAgICAgICAoLm5v
ZGUtaWQpOgorICAgICAgICAoLmNsYXNzLW5hbWUpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVu
dFdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6Y3JlYXRlRG9j
dW1lbnQpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgICogeG1sL0RPTVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01QYXJzZXI6OnBhcnNlRnJvbVN0cmluZyk6CisKKzIwMTQtMDEtMTggIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3Ig
dGhlIHZpZXdzb3VyY2UgYXR0cmlidXRlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjcyMzIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzMzY2NWY4
NjgwYmNlYzQzZTY2MmRiNTU2NTg0OWUyZWQxM2M2MWQwLi44Y2JmNjc3ZGNkMWM2YTA4NDUyNWE3
NmUxODczZjgyMGY0Mzk0MmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTQ1Niw3ICsxNDU2
LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAK
ICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmNwcAotICAgIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKICAgICBodG1sL0hpZGRl
bklucHV0VHlwZS5jcHAKICAgICBodG1sL0ltYWdlRGF0YS5jcHAKICAgICBodG1sL0ltYWdlRG9j
dW1lbnQuY3BwCkBAIC0xNTU0LDkgKzE1NTMsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
aHRtbC9wYXJzZXIvSFRNTFNvdXJjZVRyYWNrZXIuY3BwCiAgICAgaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5jcHAKICAgICBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCi0gICAgaHRt
bC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3BwCiAgICAgaHRtbC9wYXJzZXIvVGV4dERv
Y3VtZW50UGFyc2VyLmNwcAotICAgIGh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmNw
cAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVk
aXRvckRlbGVnYXRlLmNwcAogCkBAIC0yNjA5LDcgKzI2MDYsNiBAQCBzZXQoV2ViQ29yZV9VU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUwogICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9wbHVnSW5zLmNzcwog
ICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9xdWlya3MuY3NzCiAgICAgJHtXRUJDT1JFX0RJUn0vY3Nz
L3N2Zy5jc3MKLSAgICAke1dFQkNPUkVfRElSfS9jc3Mvdmlldy1zb3VyY2UuY3NzCiApCiAKIHNl
dChXZWJDb3JlX1BMVUdfSU5TX1JFU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggMzgyYjQ3YjkwYTA2MDc3YTJkZmY3ODQ5NmNmN2MyY2RlODE5NTM4Yi4uZGY1MmMzMzRh
NjM1Zjk2MjQxNzI5MjgyOWMwM2EwMjgyYWI0YzQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC04NTksNyArODU5LDcgQEAgWFBhdGhHcmFtbWFyLmNwcCA6IHhtbC9YUGF0aEdy
YW1tYXIueSAkKFBST0pFQ1RfRklMRSkKIAogIyB1c2VyIGFnZW50IHN0eWxlIHNoZWV0cwogCi1V
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3NzL2h0bWwuY3NzICQoV2ViQ29y
ZSkvY3NzL3F1aXJrcy5jc3MgJChXZWJDb3JlKS9jc3Mvdmlldy1zb3VyY2UuY3NzICQoV2ViQ29y
ZSkvY3NzL3RoZW1lV2luLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpblF1aXJrcy5jc3MgJChX
ZWJDb3JlKS9jc3MvcGx1Z0lucy5jc3MKK1VTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gJChXZWJD
b3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtzLmNzcyAkKFdlYkNvcmUpL2Nz
cy90aGVtZVdpbi5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzICQoV2ViQ29y
ZSkvY3NzL3BsdWdJbnMuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZHLCQoRkVB
VFVSRV9ERUZJTkVTKSksIEVOQUJMRV9TVkcpCiAgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMg
Oj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCAyM2M4OTRkMTQ0ZGZiMjNiYzQ0MDlhMmE5YTJiNTkyZjBhYjdm
Yzc3Li41NWRjOWQzMWM1ZmEyMTRmYjJiNDRlOTFlZWJmYjk1YjZmOGQ4NTE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQpAQCAtMjcxLDcgKzI3MSw2IEBAIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0g
XAogCSQoV2ViQ29yZSkvY3NzL2h0bWwuY3NzIFwKIAkkKFdlYkNvcmUpL2Nzcy9tYXRobWwuY3Nz
IFwKIAkkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzIFwKLQkkKFdlYkNvcmUpL2Nzcy92aWV3LXNv
dXJjZS5jc3MgXAogCSQoV2ViQ29yZSkvY3NzL3N2Zy5jc3MgXAogCSQoV2ViQ29yZSkvY3NzL21l
ZGlhQ29udHJvbHMuY3NzIFwKIAkkKFdlYkNvcmUpL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcyBc
CkBAIC02OTksNyArNjk4LDYgQEAgRVhUUkFfRElTVCArPSBcCiAJU291cmNlL1dlYkNvcmUvY3Nz
L3N2Zy5jc3MgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQcm9wZXJ0eU5hbWVzLmluIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbiBcCi0JU291cmNlL1dl
YkNvcmUvY3NzL3ZpZXctc291cmNlLmNzcyBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdEZv
bnRGYW1pbHlOYW1lcy5pbiBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggNzFlZGFkYTgzOWI3ZWJkNGUxOGVmZGIxMjZiMTU5ZGY2OWI4
OWFkYy4uMGVhOTJhNDMwODQ4NmM4ZGVjZmZlZjU2ZmMwNzNkMTI2MTRlNTg5NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zNTQxLDggKzM1NDEsNiBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFVMaXN0RWxlbWVudC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1Nv
dXJjZURvY3VtZW50LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURv
Y3VtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5JbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9JbWFnZURhdGEuY3BwIFwKQEAgLTM2MTYsMTQgKzM2MTQsMTAgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAgXAotCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L1RleHRWaWV3U291cmNlUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hT
U0F1ZGl0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXgg
ZGMzMjdlMjhhZjQ2YTlkMWE3NDMzMDUzOTk0MDBmYmJjMzkxYjgyOC4uOTZjMjkxZDlmNGFlOWNi
M2JhNjMwZmRmYmJkNThlOTJiZTk3NzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNTY2Myw3ICsxNTY2Myw2IEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEYXRh
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEb2N1bWVudC5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmNw
cCIgLz4KQEAgLTE1NzE1LDkgKzE1NzE0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGh0bWxccGFyc2VyXEhUTUxTb3VyY2VUcmFja2VyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxUb2tlbml6ZXIuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcSFRNTFRyZWVCdWlsZGVyLmNwcCIgLz4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHREb2N1bWVu
dFBhcnNlci5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxU
ZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHBhcnNlclxYU1NBdWRpdG9yLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuY3BwIiAvPgpAQCAtMjA1
MjksNyArMjA1MjYsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVHJh
Y2tFbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxVTGlz
dEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVv
RWxlbWVudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVmlld1Nv
dXJjZURvY3VtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEltYWdl
RGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxJbWFnZURvY3VtZW50
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmgi
IC8+CkBAIC0yMDU4OSwxMSArMjA1ODUsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxwYXJzZXJcSFRNTFRva2VuLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
dG1sXHBhcnNlclxIVE1MVG9rZW5pemVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxodG1sXHBhcnNlclxIVE1MVHJlZUJ1aWxkZXIuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxJbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcTmVzdGluZ0xldmVsSW5j
cmVtZW50ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRl
eHREb2N1bWVudFBhcnNlci5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxw
YXJzZXJcVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcQ29udGVudERpc3RyaWJ1dG9yLmgiIC8+CkBAIC0yMTA1
Myw3ICsyMTA0Nyw2IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHN2Zy5jc3MiIC8+CiAg
ICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHRoZW1lV2luLmNzcyIgLz4KICAgICA8Tm9uZSBJbmNs
dWRlPSIuLlxjc3NcdGhlbWVXaW5RdWlya3MuY3NzIiAvPgotICAgIDxOb25lIEluY2x1ZGU9Ii4u
XGNzc1x2aWV3LXNvdXJjZS5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cTW9kdWxlc1xt
ZWRpYWNvbnRyb2xzXG1lZGlhQ29udHJvbHNBcHBsZS5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVk
ZT0iLi5cTW9kdWxlc1xtZWRpYWNvbnRyb2xzXG1lZGlhQ29udHJvbHNBcHBsZS5qcyIgLz4KICAg
ICA8Tm9uZSBJbmNsdWRlPSIuLlx4bWxcWFBhdGhHcmFtbWFyLnkiIC8+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5k
ZXggYWJkZDZlNDUzZTcyNjYyOGVjOGYzZmI0NTUyYjYxNzQ0NzYzMTgzYi4uODFlZjdjZThkZGYz
M2Q5NzNhYmQ3NmYxNTRmZGM1NTk5MThmNTQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDAxNCw5ICs0
MDE0LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVvRWxlbWVu
dC5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3Bw
Ij4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxJbWFnZURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+
aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNDE3MCwxNSArNDE2Nyw5IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxIVE1MVHJlZUJ1aWxkZXIuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFy
c2VyLmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1l
bnRQYXJzZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8
L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHRW
aWV3U291cmNlUGFyc2VyLmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+
Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNl
clxYU1NBdWRpdG9yLmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAg
ICAgPC9DbENvbXBpbGU+CkBAIC0xMTExNyw5ICsxMTEwOCw2IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxodG1sXEhUTUxWaWRlb0VsZW1lbnQuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0
bWxcSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVy
PgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxJbWFn
ZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
QEAgLTExMjk3LDkgKzExMjg1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxc
cGFyc2VyXEhUTUxUcmVlQnVpbGRlci5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxc
cGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmgiPgotICAgICAgPEZpbHRlcj5odG1sXHBhcnNl
cjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxwYXJzZXJcSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCI+CiAgICAgICA8RmlsdGVyPmh0
bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMTMwOSw5ICsxMTI5NCw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1lbnRQ
YXJzZXIuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1Nv
dXJjZVBhcnNlci5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KLSAgICA8
L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1
ZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xNTA3Miw5ICsxNTA1NCw2IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3Nz
XG1hdGhtbC5jc3MiPgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8L05vbmU+Ci0g
ICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHZpZXctc291cmNlLmNzcyI+Ci0gICAgICA8RmlsdGVy
PmNzczwvRmlsdGVyPgotICAgIDwvTm9uZT4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxjc3Ncc3Zn
LmNzcyI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvTm9uZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4ZmM0
NGE5NTYzZjNjNmYwODg0MzkxOTUyZmQ3NTdiNTlhYjIyZTk0Li4zYTllN2QwNmI2NzE2MjhhYWIz
Y2FkMjBlZDkyMWMwOWI2NTNiZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMzk3LDggKzMzOTcsNiBAQAogCQk5NzdCMzg3
NjEyMjg4M0U5MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lckhvc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3N0IzODVEMTIyODgzRTkwMEI4MUZG
OCAvKiBIVE1MU2NyaXB0UnVubmVySG9zdC5oICovOyB9OwogCQk5NzdCMzg3NzEyMjg4M0U5MDBC
ODFGRjggLyogSFRNTFRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg1RTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXpl
ci5jcHAgKi87IH07CiAJCTk3N0IzODc4MTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVG9rZW5pemVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg1
RjEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5oICovOyB9OwotCQk5NzdCMzg3OTEy
Mjg4M0U5MDBCODFGRjggLyogSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4
IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLzsgfTsKLQkJOTc3QjM4N0ExMjI4ODNFOTAw
QjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg2MTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFZp
ZXdTb3VyY2VQYXJzZXIuaCAqLzsgfTsKIAkJOTc3RTJEQ0QxMkYwRTI4MzAwQzEzMzc5IC8qIEhU
TUxTb3VyY2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk3N0UyRENCMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5j
cHAgKi87IH07CiAJCTk3N0UyRENFMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3RTJE
Q0MxMkYwRTI4MzAwQzEzMzc5IC8qIEhUTUxTb3VyY2VUcmFja2VyLmggKi87IH07CiAJCTk3N0Uy
RTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3N0UyRTBCMTJGMEZDOUMwMEMxMzM3OSAvKiBY
U1NBdWRpdG9yLmNwcCAqLzsgfTsKQEAgLTM0OTIsOCArMzQ5MCw2IEBACiAJCTk3QkM4NDgzMTIz
NkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0ODExMjM2RkQ5MzAwMEM2MTYxIC8q
IFRleHREb2N1bWVudFBhcnNlci5jcHAgKi87IH07CiAJCTk3QkM4NDg0MTIzNkZEOTMwMDBDNjE2
MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3QkM4NDgyMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQ
YXJzZXIuaCAqLzsgfTsKIAkJOTdCQzg0OUIxMjM3MEE0QjAwMEM2MTYxIC8qIEhUTUxJbnB1dFN0
cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdC
Qzg0OUExMjM3MEE0QjAwMEM2MTYxIC8qIEhUTUxJbnB1dFN0cmVhbS5oICovOyB9OwotCQk5N0JD
ODRBNDEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0QTIxMjM3MERDNzAw
MEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmNwcCAqLzsgfTsKLQkJOTdCQzg0QTUxMjM3
MERDODAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyog
VGV4dFZpZXdTb3VyY2VQYXJzZXIuaCAqLzsgfTsKIAkJOTdCQzg0QjMxMjM3MTE4MDAwMEM2MTYx
IC8qIFRleHREb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5N0JDODRCMTEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCAq
LzsgfTsKIAkJOTdCQzg0QjQxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0QjIxMjM3MTE4
MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5oICovOyB9OwogCQk5N0MwNzg1MDExNjVENUJFMDAz
QTMyRUYgLyogU3VmZml4VHJlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdDMDc4NEYxMTY1RDVCRTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCAqLzsg
fTsKQEAgLTUyNDIsOCArNTIzOCw2IEBACiAJCUJDQ0JBRDNCMEMxOEJGRjgwMENFODkwRiAvKiBK
U0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0
aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJQkNDQkFENDAwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRN
TENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNDQkFEM0UwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24uY3BwICov
OyB9OwogCQlCQ0NCQUQ0MTBDMThDMTQyMDBDRTg5MEYgLyogSlNIVE1MQ29sbGVjdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNDQkFEM0YwQzE4
QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24uaCAqLzsgfTsKLQkJQkNDRDc0REMwQTRD
OEQzNTAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2RCAv
KiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggKi87IH07Ci0JCUJDQ0Q3NEU1MEE0QzhEREYwMDVG
REE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NEU0MEE0QzhEREYwMDVGREE2RCAvKiBIVE1M
Vmlld1NvdXJjZURvY3VtZW50LmNwcCAqLzsgfTsKIAkJQkNDRkJBRTgwQjUxNTJFRDAwMDFGMUQ3
IC8qIERvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0NGQkFFNzBCNTE1MkVEMDAwMUYxRDcgLyogRG9jdW1lbnRQYXJzZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0QwRTBG
QTBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNEMEUwRjcwRTk3MkMzNTAwMjY1REVBIC8q
IFNlY3VyaXR5T3JpZ2luLmNwcCAqLzsgfTsKIAkJQkNEMEUwRkIwRTk3MkMzNTAwMjY1REVBIC8q
IFNlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0QwRTBGODBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAzODYsOCAr
MTAzODAsNiBAQAogCQk5NzdCMzg1RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5l
ckhvc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFNjcmlwdFJ1bm5l
ckhvc3QuaDsgcGF0aCA9IHBhcnNlci9IVE1MU2NyaXB0UnVubmVySG9zdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5NzdCMzg1RTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2Vu
aXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MVG9rZW5p
emVyLmNwcDsgcGF0aCA9IHBhcnNlci9IVE1MVG9rZW5pemVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTc3QjM4NUYxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxUb2tlbml6ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFRva2VuaXplci5oOyBwYXRo
ID0gcGFyc2VyL0hUTUxUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxWaWV3U291cmNlUGFyc2VyLmNw
cDsgcGF0aCA9IHBhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTk3N0IzODYxMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1NvdXJj
ZVBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIVE1MVmlld1NvdXJj
ZVBhcnNlci5oOyBwYXRoID0gcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3N0UyRENCMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291
cmNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1M
U291cmNlVHJhY2tlci5jcHA7IHBhdGggPSBwYXJzZXIvSFRNTFNvdXJjZVRyYWNrZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzdFMkRDQzEyRjBFMjgzMDBDMTMzNzkgLyog
SFRNTFNvdXJjZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRN
TFNvdXJjZVRyYWNrZXIuaDsgcGF0aCA9IHBhcnNlci9IVE1MU291cmNlVHJhY2tlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNT
QXVkaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBYU1NBdWRp
dG9yLmNwcDsgcGF0aCA9IHBhcnNlci9YU1NBdWRpdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEwNDk3LDggKzEwNDg5LDYgQEAKIAkJOTdCQzg0ODExMjM2RkQ5MzAwMEM2
MTYxIC8qIFRleHREb2N1bWVudFBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBUZXh0RG9jdW1lbnRQYXJzZXIuY3BwOyBwYXRoID0gcGFyc2VyL1RleHREb2N1
bWVudFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDgyMTIz
NkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gVGV4dERvY3VtZW50UGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvVGV4dERv
Y3VtZW50UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDlBMTIz
NzBBNEIwMDBDNjE2MSAvKiBIVE1MSW5wdXRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gSFRNTElucHV0U3RyZWFtLmg7IHBhdGggPSBwYXJzZXIvSFRNTElucHV0U3Ry
ZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3QkM4NEEyMTIzNzBEQzcwMDBD
NjE2MSAvKiBUZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBUZXh0Vmlld1NvdXJjZVBhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvVGV4
dFZpZXdTb3VyY2VQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0JD
ODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dFZpZXdTb3VyY2VQYXJzZXIuaDsgcGF0aCA9IHBh
cnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5N0JDODRCMTEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHREb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NEIyMTIzNzExODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dERvY3VtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QzA3ODRGMTE2NUQ1QkUwMDNBMzJFRiAvKiBT
dWZmaXhUcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZmZpeFRyZWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjk4LDcgKzEyMjg4LDYgQEAKIAkJ
QkM1RUI5N0YwRTgyMDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IENvbnRlbnREYXRhLmg7IHBhdGggPSBzdHlsZS9Db250ZW50RGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQkEwRTBFODIzRTQ3MDBCMjU5
NjUgLyogS2V5ZnJhbWVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEtleWZyYW1lTGlzdC5jcHA7IHBhdGggPSBzdHlsZS9LZXlmcmFtZUxpc3QuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQkEwRjBFODIzRTQ3MDBCMjU5NjUgLyogS2V5
ZnJhbWVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEtleWZyYW1lTGlz
dC5oOyBwYXRoID0gc3R5bGUvS2V5ZnJhbWVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUJDNUVDMTc2MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9ICJ2aWV3LXNvdXJjZS5jc3MiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzYwNDlDQjBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2FudmFzVmFsdWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0Nh
bnZhc1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0Nh
bnZhc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2MDkwMUUwRTkx
QjhFQzAwMEM2OEI1IC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVudFRhcmdldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMjQ5NSw4ICsxMjQ4NCw2IEBACiAJCUJDQ0JBRDNBMEMxOEJG
RjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0NCQUQzRTBDMThDMTQyMDBDRTg5MEYgLyogSlNIVE1M
Q29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNI
VE1MQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQ0JBRDNG
MEMxOEMxNDIwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0hUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3Vt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVmlld1NvdXJjZURv
Y3VtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDQ0Q3NEU0MEE0QzhEREYw
MDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIERvY3VtZW50
UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudFBhcnNl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0QwRTBGNzBFOTcyQzM1MDAyNjVE
RUEgLyogU2VjdXJpdHlPcmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2VjdXJpdHlPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
Q0QwRTBGODBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjdXJpdHlPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE3NDg2LDggKzE3NDczLDYgQEAKIAkJCQlFNDQ2MTM5ODBDRDYzMzEwMDBG
QURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5jcHAgKi8sCiAJCQkJRTQ0NjEzOTkwQ0Q2MzMxMDAw
RkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQuaCAqLywKIAkJCQlFNDQ2MTM5QTBDRDYzMzEwMDBG
QURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5pZGwgKi8sCi0JCQkJQkNDRDc0RTQwQTRDOERERjAw
NUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwICovLAotCQkJCUJDQ0Q3NERCMEE0
QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggKi8sCiAJCQkJQTc3OTc5
MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5MTQwRDZC
OUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5oICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4
NTFCOSAvKiBJbWFnZURhdGEuaWRsICovLApAQCAtMTc5NDUsMTQgKzE3OTMwLDEwIEBACiAJCQkJ
OTc3QjM4NUYxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxUb2tlbml6ZXIuaCAqLywKIAkJCQk5NzdC
MzcyMTEyMjg3MjE3MDBCODFGRjggLyogSFRNTFRyZWVCdWlsZGVyLmNwcCAqLywKIAkJCQk5NzdC
MzcyMjEyMjg3MjE3MDBCODFGRjggLyogSFRNTFRyZWVCdWlsZGVyLmggKi8sCi0JCQkJOTc3QjM4
NjAxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLywKLQkJCQk5
NzdCMzg2MTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFZpZXdTb3VyY2VQYXJzZXIuaCAqLywKIAkJ
CQlBODgwNUFGMTE2Qzk2QUVBMDAwRTlEOTggLyogSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCAq
LywKIAkJCQk4QTMwOUM5RTEyMzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50
ZXIuaCAqLywKIAkJCQk5N0JDODQ4MTEyMzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFy
c2VyLmNwcCAqLywKIAkJCQk5N0JDODQ4MjEyMzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50
UGFyc2VyLmggKi8sCi0JCQkJOTdCQzg0QTIxMjM3MERDNzAwMEM2MTYxIC8qIFRleHRWaWV3U291
cmNlUGFyc2VyLmNwcCAqLywKLQkJCQk5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZp
ZXdTb3VyY2VQYXJzZXIuaCAqLywKIAkJCQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNT
QXVkaXRvci5jcHAgKi8sCiAJCQkJOTc3RTJFMEMxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0
b3IuaCAqLywKIAkJCQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVn
YXRlLmNwcCAqLywKQEAgLTIxNjkyLDcgKzIxNjczLDYgQEAKIAkJCQlCMjIyN0IwNDBEMDBCRkYx
MDA3MUI3ODIgLyogU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbiAqLywKIAkJCQlGQjQ4NEY0QTE3MUY4
MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmNwcCAqLywKIAkJCQlGQjQ4NEY0QjE3
MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggKi8sCi0JCQkJQkM1RUMxNzYw
QTUwN0UzRTAwNjAwN0Y1IC8qIHZpZXctc291cmNlLmNzcyAqLywKIAkJCQkzRkZGRjlBQjE1OUQ5
QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCAqLywKIAkJCQkzRkZGRjlB
QzE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmggKi8sCiAJCQkJMTUw
QjkyMzcxNUYwOERDNDAwRTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAg
Ki8sCkBAIC0yNDA0Niw4ICsyNDAyNiw2IEBACiAJCQkJQThFQTc5RjIwQTE5MTZERjAwQThFRjVG
IC8qIEhUTUxVTGlzdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0FCMENENjMz
MTAwMEZBREE3NSAvKiBIVE1MVmlkZW9FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3
N0U0RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJQkNDRDc0REMwQTRDOEQzNTAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBp
biBIZWFkZXJzICovLAotCQkJCTk3N0IzODdBMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1Nv
dXJjZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzEwQ0U5MjNBMTAwN0VGM0NE
IC8qIEhUVFBIZWFkZXJNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3M0FCNEI4MTdGOTJFQ0Yw
MDZFMEQ2RiAvKiBKU0NhcGFiaWxpdHlSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2
NzMwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBQYXJzZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI1
ODU0LDcgKzI1ODMyLDYgQEAKIAkJCQkwNzY5NzA4NzE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRy
YWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRFNzQxM0ExMkE0NjAwODQ2QjI3IC8q
IFRleHRUcmFja0xvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk4NzcwRjExMjQyQzUzNTAw
MjIyNkJBIC8qIFRleHR1cmUuaCBpbiBIZWFkZXJzICovLAotCQkJCTk3QkM4NEE1MTIzNzBEQzgw
MDBDNjE2MSAvKiBUZXh0Vmlld1NvdXJjZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
NjU4RkYwRUE5MjQ4QTAwN0U0NTMzIC8qIFRoZW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0U2
NTlFNjBFQTkyRkIyMDA3RTQ1MzMgLyogVGhlbWVNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0
MkFGN0E5MTAyQ0RERUEwMDhGRDREMyAvKiBRdWlja0xvb2suaCBpbiBIZWFkZXJzICovLApAQCAt
Mjc0MTMsOCArMjczOTAsNiBAQAogCQkJCUE4RUE3OUYzMEExOTE2REYwMEE4RUY1RiAvKiBIVE1M
VUxpc3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0FBMENENjMzMTAwMEZB
REE3NSAvKiBIVE1MVmlkZW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjVGODM4
MTgyMkYxRUIwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1ITUFDTWFjLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUJDQ0Q3NEU1MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3Vt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTk3N0IzODc5MTIyODgzRTkwMEI4MUZGOCAvKiBI
VE1MVmlld1NvdXJjZVBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMyNjZEODE4MzE3
QUI0MDAzRjhCMzMgLyogQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVNYWMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTU4NEZFMkYxODY0Q0I4NDAwODQzQjEwIC8qIFBhZ2VJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4QzU2RDQwRjI4NjI3RjAw
MDUwMkUxIC8qIEhUVFBIZWFkZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTEwOCw3ICsy
OTA4Myw2IEBACiAJCQkJQjFBRDRFNzMxM0ExMkE0NjAwODQ2QjI3IC8qIFRleHRUcmFja0xvYWRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDFFNzM0NzE2N0JDNzhFMDA5QTg4NUQgLyogVGV4
dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4NzcwRjAxMjQy
QzUzNTAwMjIyNkJBIC8qIFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTdCQzg0QTQx
MjM3MERDODAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRTY1RDMyMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlFNEMzQjFGQzBGMEU0MTcwMDA5NjkzRjYgLyogVGlsZUNhY2hlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNFNjU5RTkwRUE5MkZGQTAwN0U0NTMzIC8qIFRoZW1lTWFjLm1tIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xs
ZXIuY3BwCmluZGV4IDcxOGY4ODg0MzBhN2EzN2YzMTRlNjhhNWM5OTEzODA0YjY3MzBmYTYuLmMy
ZTFjMjNjZTdlZmE5ZTMxYjcwMmRjZjZmMTk3YzA2OTQ3YjM1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC00OTEsMTEgKzQ5MSw2
IEBAIGJvb2wgU2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2Fs
bGluZ0NhbkV4ZWN1dGVTY3JpcHRzIHJlYXNvCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAKLSAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpICYmIG1fZnJhbWUuZG9jdW1lbnQoKS0+aXNW
aWV3U291cmNlKCkpIHsKLSAgICAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+aXNVbmlxdWUoKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQog
ICAgIGlmICghbV9mcmFtZS5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcAppbmRleCBlNzAwMjQzMTM0
NjA4MjVkN2MzODE0MzYwYjA1N2JiMmQwMzVmNjQ1Li44NjY5MGU5ZmQyMzkyNGJmYmY1MDI5MzFh
MmQxZGU3MDA0ZTkzMTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVs
dFN0eWxlU2hlZXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxl
U2hlZXRzLmNwcApAQCAtNDcsNyArNDcsNiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
UnVsZVNldCogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGU7CiBSdWxlU2V0KiBD
U1NEZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1bHRRdWlya3NTdHlsZTsKIFJ1bGVTZXQqIENTU0Rl
ZmF1bHRTdHlsZVNoZWV0czo6ZGVmYXVsdFByaW50U3R5bGU7Ci1SdWxlU2V0KiBDU1NEZWZhdWx0
U3R5bGVTaGVldHM6OmRlZmF1bHRWaWV3U291cmNlU3R5bGU7CiAKIFN0eWxlU2hlZXRDb250ZW50
cyogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpzaW1wbGVEZWZhdWx0U3R5bGVTaGVldDsKIFN0eWxl
U2hlZXRDb250ZW50cyogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGVTaGVldDsK
QEAgLTE0NSwxNyArMTQ0LDYgQEAgdm9pZCBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmxvYWRTaW1w
bGVEZWZhdWx0U3R5bGUoKQogICAgIC8vIE5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBxdWlya3Mgc2hl
ZXQgeWV0IGFzIHRoZXJlIGFyZSBubyBxdWlyayBydWxlcyBmb3IgZWxlbWVudHMgYWxsb3dlZCBp
biBzaW1wbGUgZGVmYXVsdCBzdHlsZS4KIH0KIAotUnVsZVNldCogQ1NTRGVmYXVsdFN0eWxlU2hl
ZXRzOjp2aWV3U291cmNlU3R5bGUoKQotewotICAgIGlmICghZGVmYXVsdFZpZXdTb3VyY2VTdHls
ZSkgewotICAgICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiB2aWV3U291cmNlU3R5bGVT
aGVldCA9IHBhcnNlVUFTaGVldChzb3VyY2VVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yoc291
cmNlVXNlckFnZW50U3R5bGVTaGVldCkpOwotICAgICAgICBkZWZhdWx0Vmlld1NvdXJjZVN0eWxl
ID0gUnVsZVNldDo6Y3JlYXRlKCkubGVha1B0cigpOwotICAgICAgICBkZWZhdWx0Vmlld1NvdXJj
ZVN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldCh2aWV3U291cmNlU3R5bGVTaGVldCwgc2NyZWVuRXZh
bCgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGRlZmF1bHRWaWV3U291cmNlU3R5bGU7Ci19Ci0KLQog
dm9pZCBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCwgYm9vbCYgY2hhbmdlZERlZmF1bHRTdHlsZSkKIHsKICAg
ICBpZiAoc2ltcGxlRGVmYXVsdFN0eWxlU2hlZXQgJiYgIWVsZW1lbnRDYW5Vc2VTaW1wbGVEZWZh
dWx0U3R5bGUoZWxlbWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NE
ZWZhdWx0U3R5bGVTaGVldHMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0U3R5bGVT
aGVldHMuaAppbmRleCBjY2RiMTk2NWQ4OGI4NDAxOGNjZjMzZWY1ZTNhMjhkNmRhYzViNDg3Li5j
YjEzN2FhODEzYmQ0MTU2OTQ4OTdiODEzMzI1NWYzMWVkMjc4MzhhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5oCkBAIC0zNCw3ICszNCw2IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUnVsZVNldCogZGVmYXVsdFN0eWxlOwogICAgIHN0YXRpYyBSdWxlU2V0KiBk
ZWZhdWx0UXVpcmtzU3R5bGU7CiAgICAgc3RhdGljIFJ1bGVTZXQqIGRlZmF1bHRQcmludFN0eWxl
OwotICAgIHN0YXRpYyBSdWxlU2V0KiBkZWZhdWx0Vmlld1NvdXJjZVN0eWxlOwogCiAgICAgc3Rh
dGljIFN0eWxlU2hlZXRDb250ZW50cyogc2ltcGxlRGVmYXVsdFN0eWxlU2hlZXQ7CiAgICAgc3Rh
dGljIFN0eWxlU2hlZXRDb250ZW50cyogZGVmYXVsdFN0eWxlU2hlZXQ7CkBAIC00OSw3ICs0OCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkRnVsbERlZmF1bHRTdHlsZSgpOwogICAg
IHN0YXRpYyB2b2lkIGxvYWRTaW1wbGVEZWZhdWx0U3R5bGUoKTsKICAgICBzdGF0aWMgdm9pZCBp
bml0RGVmYXVsdFN0eWxlKEVsZW1lbnQqKTsKLSAgICBzdGF0aWMgUnVsZVNldCogdmlld1NvdXJj
ZVN0eWxlKCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RG9jdW1lbnRSdWxlU2V0cy5jcHAKaW5kZXggZDBkZDM3NDM0NTQyMzg3N2I1MTI0YzZhMWRiNmNl
ZTdlMjhmOWQ0OS4uYTlkOTgzYTVkYjk4ODk1NDAyYjcwYTUxNGJmMTlkOTg1ZTgyMzMyOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmNwcApAQCAtODMsNyArODMsNyBAQCB2
b2lkIERvY3VtZW50UnVsZVNldHM6OnJlc2V0QXV0aG9yU3R5bGUoKQogICAgIG1fYXV0aG9yU3R5
bGUtPmRpc2FibGVBdXRvU2hyaW5rVG9GaXQoKTsKIH0KIAotdm9pZCBEb2N1bWVudFJ1bGVTZXRz
OjphcHBlbmRBdXRob3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVjdG9y
PFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mIHN0eWxlU2hlZXRzLCBNZWRpYVF1ZXJ5RXZhbHVhdG9y
KiBtZWRpdW0sIEluc3BlY3RvckNTU09NV3JhcHBlcnMmIGluc3BlY3RvckNTU09NV3JhcHBlcnMs
IGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVJlc29sdmVyKiByZXNvbHZlcikKK3ZvaWQgRG9jdW1l
bnRSdWxlU2V0czo6YXBwZW5kQXV0aG9yU3R5bGVTaGVldHModW5zaWduZWQgZmlyc3ROZXcsIGNv
bnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiBzdHlsZVNoZWV0cywgTWVkaWFRdWVy
eUV2YWx1YXRvciogbWVkaXVtLCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzJiBpbnNwZWN0b3JDU1NP
TVdyYXBwZXJzLCBTdHlsZVJlc29sdmVyKiByZXNvbHZlcikKIHsKICAgICAvLyBUaGlzIGhhbmRs
ZXMgc2hlZXRzIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIHN0eWxlc2hlZXQgbGlzdCBvbmx5LiBJ
biBvdGhlciBjYXNlcyB0aGUgc3R5bGUgcmVzb2x2ZXIKICAgICAvLyBuZWVkcyB0byBiZSByZWNv
bnN0cnVjdGVkLiBUbyBoYW5kbGUgaW5zZXJ0aW9ucyB0b28gdGhlIHJ1bGUgb3JkZXIgbnVtYmVy
cyB3b3VsZCBuZWVkIHRvIGJlIHVwZGF0ZWQuCkBAIC0xMDcsMTAgKzEwNywxMCBAQCB2b2lkIERv
Y3VtZW50UnVsZVNldHM6OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3
LCBjb25zdCBWZWN0b3I8UgogICAgICAgICBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNvbGxlY3RG
cm9tU3R5bGVTaGVldElmTmVlZGVkKGNzc1NoZWV0KTsKICAgICB9CiAgICAgbV9hdXRob3JTdHls
ZS0+c2hyaW5rVG9GaXQoKTsKLSAgICBjb2xsZWN0RmVhdHVyZXMoaXNWaWV3U291cmNlLCByZXNv
bHZlci0+c2NvcGVSZXNvbHZlcigpKTsKKyAgICBjb2xsZWN0RmVhdHVyZXMocmVzb2x2ZXItPnNj
b3BlUmVzb2x2ZXIoKSk7CiB9CiAKLXZvaWQgRG9jdW1lbnRSdWxlU2V0czo6Y29sbGVjdEZlYXR1
cmVzKGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVNjb3BlUmVzb2x2ZXIqIHNjb3BlUmVzb2x2ZXIp
Cit2b2lkIERvY3VtZW50UnVsZVNldHM6OmNvbGxlY3RGZWF0dXJlcyhTdHlsZVNjb3BlUmVzb2x2
ZXIqIHNjb3BlUmVzb2x2ZXIpCiB7CiAgICAgbV9mZWF0dXJlcy5jbGVhcigpOwogICAgIC8vIENv
bGxlY3QgYWxsIGlkcyBhbmQgcnVsZXMgdXNpbmcgc2libGluZyBzZWxlY3RvcnMgKDpmaXJzdC1j
aGlsZCBhbmQgc2ltaWxhcikKQEAgLTEyMCw5ICsxMjAsNiBAQCB2b2lkIERvY3VtZW50UnVsZVNl
dHM6OmNvbGxlY3RGZWF0dXJlcyhib29sIGlzVmlld1NvdXJjZSwgU3R5bGVTY29wZVJlc29sdmVy
KiBzYwogICAgICAgICBtX2ZlYXR1cmVzLmFkZChDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1
bHRTdHlsZS0+ZmVhdHVyZXMoKSk7CiAgICAgaWYgKG1fYXV0aG9yU3R5bGUpCiAgICAgICAgIG1f
ZmVhdHVyZXMuYWRkKG1fYXV0aG9yU3R5bGUtPmZlYXR1cmVzKCkpOwotICAgIGlmIChpc1ZpZXdT
b3VyY2UpCi0gICAgICAgIG1fZmVhdHVyZXMuYWRkKENTU0RlZmF1bHRTdHlsZVNoZWV0czo6dmll
d1NvdXJjZVN0eWxlKCktPmZlYXR1cmVzKCkpOwotCiAgICAgaWYgKHNjb3BlUmVzb2x2ZXIpCiAg
ICAgICAgIHNjb3BlUmVzb2x2ZXItPmNvbGxlY3RGZWF0dXJlc1RvKG1fZmVhdHVyZXMpOwogICAg
IGlmIChtX3VzZXJTdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVu
dFJ1bGVTZXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5oCmluZGV4
IDAwYTI3MTkzODlmYzk0NjM0MDNmZTc2NzVhZTFiMGFkMWVkZWYzMjQuLmJiNzBlMTRjM2I2ODMy
MzExYjE2MDQyMDE0NjMwYjgxMzhkZjA0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Eb2N1bWVudFJ1bGVTZXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVs
ZVNldHMuaApAQCAtNTMsOSArNTMsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGluaXRVc2VyU3R5
bGUoRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbiYsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0
b3ImLCBTdHlsZVJlc29sdmVyJik7CiAgICAgdm9pZCByZXNldEF1dGhvclN0eWxlKCk7Ci0gICAg
dm9pZCBhcHBlbmRBdXRob3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVj
dG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgSW5zcGVj
dG9yQ1NTT01XcmFwcGVycyYsIGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVJlc29sdmVyKik7Cisg
ICAgdm9pZCBhcHBlbmRBdXRob3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3Qg
VmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgSW5z
cGVjdG9yQ1NTT01XcmFwcGVycyYsIFN0eWxlUmVzb2x2ZXIqKTsKIAotICAgIHZvaWQgY29sbGVj
dEZlYXR1cmVzKGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVNjb3BlUmVzb2x2ZXIqKTsKKyAgICB2
b2lkIGNvbGxlY3RGZWF0dXJlcyhTdHlsZVNjb3BlUmVzb2x2ZXIqKTsKIAogcHJpdmF0ZToKICAg
ICB2b2lkIGNvbGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0
cjxDU1NTdHlsZVNoZWV0Pj4mLCBSdWxlU2V0JiB1c2VyU3R5bGUsIGNvbnN0IE1lZGlhUXVlcnlF
dmFsdWF0b3ImLCBTdHlsZVJlc29sdmVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmNwcAppbmRleCBiYTliN2EyMmJkODc4ZjJmMTE4OTUzNTVkZWE4ZWEyN2E5
YTA0YzM2Li4wNzNhNGIzZTQyYmQ1Y2ViZGQ0MWVkYWUzMzE5MWMwNzkyNzcyYzU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTI3MiwxMCArMjcy
LDYgQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKCkKICAgICAvLyBJ
biBxdWlya3MgbW9kZSwgd2UgbWF0Y2ggcnVsZXMgZnJvbSB0aGUgcXVpcmtzIHVzZXIgYWdlbnQg
c2hlZXQuCiAgICAgaWYgKGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpCiAgICAgICAgIG1hdGNo
VUFSdWxlcyhDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1bHRRdWlya3NTdHlsZSk7Ci0KLSAg
ICAvLyBJZiBkb2N1bWVudCB1c2VzIHZpZXcgc291cmNlIHN0eWxlcyAoaW4gdmlldyBzb3VyY2Ug
bW9kZSBvciBpbiB4bWwgdmlld2VyIG1vZGUpLCB0aGVuIHdlIG1hdGNoIHJ1bGVzIGZyb20gdGhl
IHZpZXcgc291cmNlIHN0eWxlIHNoZWV0LgotICAgIGlmIChkb2N1bWVudCgpLmlzVmlld1NvdXJj
ZSgpKQotICAgICAgICBtYXRjaFVBUnVsZXMoQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjp2aWV3U291
cmNlU3R5bGUoKSk7CiB9CiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoVUFSdWxl
cyhSdWxlU2V0KiBydWxlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAy
Y2ZjZTIyYTFiZTc1YWNmYmViMTc3NGI0OTA1N2YzZTEyMjdkMDgxLi5mNThiMWNiYmQ2MTZkMThl
MTczMjZiMGE4YjQ0NjNjOTZkNjkzZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCkBAIC0zMjcsNyArMzI3LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1
bWVudCYgZG9jdW1lbnQsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogCiB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBj
b25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYgc3R5bGVTaGVldHMpCiB7Ci0gICAg
bV9ydWxlU2V0cy5hcHBlbmRBdXRob3JTdHlsZVNoZWV0cyhmaXJzdE5ldywgc3R5bGVTaGVldHMs
IG1fbWVkaXVtLmdldCgpLCBtX2luc3BlY3RvckNTU09NV3JhcHBlcnMsIGRvY3VtZW50KCkuaXNW
aWV3U291cmNlKCksIHRoaXMpOworICAgIG1fcnVsZVNldHMuYXBwZW5kQXV0aG9yU3R5bGVTaGVl
dHMoZmlyc3ROZXcsIHN0eWxlU2hlZXRzLCBtX21lZGl1bS5nZXQoKSwgbV9pbnNwZWN0b3JDU1NP
TVdyYXBwZXJzLCB0aGlzKTsKICAgICBpZiAoYXV0byByZW5kZXJWaWV3ID0gZG9jdW1lbnQoKS5y
ZW5kZXJWaWV3KCkpCiAgICAgICAgIHJlbmRlclZpZXctPnN0eWxlKCkuZm9udCgpLnVwZGF0ZShm
b250U2VsZWN0b3IoKSk7CiAKQEAgLTg2Miw3ICs4NjIsNyBAQCBQYXNzUmVmPFJlbmRlclN0eWxl
PiBTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgUmVuZGVy
U3R5bAogICAgIGJvb2wgbmVlZHNDb2xsZWN0aW9uID0gZmFsc2U7CiAgICAgQ1NTRGVmYXVsdFN0
eWxlU2hlZXRzOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGVsZW1lbnQsIG5l
ZWRzQ29sbGVjdGlvbik7CiAgICAgaWYgKG5lZWRzQ29sbGVjdGlvbikKLSAgICAgICAgbV9ydWxl
U2V0cy5jb2xsZWN0RmVhdHVyZXMoZG9jdW1lbnQoKS5pc1ZpZXdTb3VyY2UoKSwgbV9zY29wZVJl
c29sdmVyLmdldCgpKTsKKyAgICAgICAgbV9ydWxlU2V0cy5jb2xsZWN0RmVhdHVyZXMobV9zY29w
ZVJlc29sdmVyLmdldCgpKTsKIAogICAgIEVsZW1lbnRSdWxlQ29sbGVjdG9yIGNvbGxlY3Rvcih0
aGlzLCBzdGF0ZSk7CiAgICAgY29sbGVjdG9yLnNldFJlZ2lvbkZvclN0eWxpbmcocmVnaW9uRm9y
U3R5bGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mvdmlldy1zb3VyY2UuY3Nz
IGIvU291cmNlL1dlYkNvcmUvY3NzL3ZpZXctc291cmNlLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzgyNWM1ZmJiNDVmYjVhYjMwNTY3NmY2MzY1NDM0MmNkYjEwYmE1Yi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3Mvdmlldy1zb3VyY2UuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTYyICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi1ib2R5IHsKLSAgICBtYXJnaW46IDAKLX0KLQotdGFibGUgewotICAgIHdpZHRoOiAxMDAl
OwotICAgIGJvcmRlci1zcGFjaW5nOiAwOwotICAgIGNvdW50ZXItcmVzZXQ6IGxpbmVzOwotICAg
IHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50OwotICAgIG1hcmdpbjogMDsKLSAgICB3
b3JkLWJyZWFrOiBicmVhay13b3JkOwotICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsKLSAgICBmb250
LWZhbWlseTogbW9ub3NwYWNlOwotfQotCi10ZCB7Ci0gICAgcGFkZGluZzogMCAhaW1wb3J0YW50
OwotICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZQotfQotCi0ud2Via2l0LWxpbmUtZ3V0dGVy
LWJhY2tkcm9wLCAud2Via2l0LWxpbmUtbnVtYmVyIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3lu
YyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ryb3ApICovCi0g
ICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAgICBwYWRkaW5nOiAwIDRweCAhaW1wb3J0YW50
OwotICAgIHdpZHRoOiAzMXB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwg
MjQwKTsKLSAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2IoMTg3LCAxODcsIDE4NykgIWlt
cG9ydGFudDsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotfQotCi0ud2Via2l0LWxp
bmUtZ3V0dGVyLWJhY2tkcm9wIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3Bl
Y3Rvci5jc3MgKC53ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ryb3ApICovCi0gICAgcG9zaXRpb246
IGFic29sdXRlOwotICAgIHotaW5kZXg6IC0xOwotICAgIGxlZnQ6IDA7Ci0gICAgdG9wOiAwOwot
ICAgIGhlaWdodDogMTAwJQotfQotCi0ud2Via2l0LWxpbmUtbnVtYmVyIHsKLSAgICB0ZXh0LWFs
aWduOiByaWdodDsKLSAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwotICAgIHdvcmQtYnJl
YWs6IG5vcm1hbDsKLSAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwotICAgIGZvbnQtc2l6ZTogOXB4
OwotICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EKLX0KLQotLndlYmtpdC1saW5lLW51bWJlcjo6
YmVmb3JlIHsKLSAgICBjb250ZW50OiBjb3VudGVyKGxpbmVzKTsKLSAgICBjb3VudGVyLWluY3Jl
bWVudDogbGluZXM7Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQotfQotCi10Ym9keTps
YXN0LWNoaWxkIC53ZWJraXQtbGluZS1jb250ZW50OmVtcHR5OmJlZm9yZSB7Ci0gICAgY29udGVu
dDogIiAiOwotfQotCi0ud2Via2l0LWxpbmUtY29udGVudCB7Ci0gICAgcGFkZGluZzogMCA1cHgg
IWltcG9ydGFudDsKLX0KLQotLndlYmtpdC1odG1sLXRhZyB7Ci0gICAgLyogS2VlcCB0aGlzIGlu
IHN5bmMgd2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtdGFnKSAqLwotICAgIGNvbG9y
OiByZ2IoMTM2LCAxOCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIHsK
LSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtbmFtZSkgKi8KLSAgICBjb2xvcjogcmdiKDE1MywgNjksIDApOwotfQotCi0u
d2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3
aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUpICovCi0gICAg
Y29sb3I6IHJnYigyNiwgMjYsIDE2Nik7Ci19Ci0KLS53ZWJraXQtaHRtbC1leHRlcm5hbC1saW5r
LCAud2Via2l0LWh0bWwtcmVzb3VyY2UtbGluayB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMg
d2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtZXh0ZXJuYWwtbGluaywgLndlYmtpdC1o
dG1sLXJlc291cmNlLWxpbmspICovCi0gICAgY29sb3I6ICMwMGU7Ci19Ci0KLS53ZWJraXQtaHRt
bC1leHRlcm5hbC1saW5rIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rv
ci5jc3MgKC53ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rKSAqLwotICAgIHRleHQtZGVjb3JhdGlv
bjogbm9uZTsKLX0KLQotLndlYmtpdC1odG1sLWV4dGVybmFsLWxpbms6aG92ZXIgewotICAgIC8q
IEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggaW5zcGVjdG9yLmNzcyAoLndlYmtpdC1odG1sLWV4dGVy
bmFsLWxpbms6aG92ZXIpICovCi0gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ci19Ci0K
LS53ZWJraXQtaHRtbC1jb21tZW50IHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGlu
c3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1jb21tZW50KSAqLwotICAgIGNvbG9yOiByZ2IoMzUs
IDExMCwgMzcpOwotfQotCi0ud2Via2l0LWh0bWwtZG9jdHlwZSB7Ci0gICAgLyogS2VlcCB0aGlz
IGluIHN5bmMgd2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtZG9jdHlwZSkgKi8KLSAg
ICBjb2xvcjogcmdiKDE5MiwgMTkyLCAxOTIpOwotfQotCi0ud2Via2l0LWh0bWwtZW50aXR5IHsK
LSAgICByZ2IoMTM2LCAxOCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLW1lc3NhZ2UtYnViYmxl
IHsKLSAgICBib3gtc2hhZG93OiBibGFjayAwcHggMnB4IDVweDsKLSAgICBib3JkZXItcmFkaXVz
OiA5cHg7Ci0gICAgLXdlYmtpdC1ib3JkZXItZml0OiBsaW5lczsKLSAgICBtaW4taGVpZ2h0OiAx
M3B4OwotICAgIGZvbnQtc2l6ZTogOXB4OwotICAgIGZvbnQtZmFtaWx5OiBMdWNpZGEgR3JhbmRl
LCBzYW5zLXNlcmlmOwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIG1hcmdpbjogNnB4IDI1
cHg7Ci0gICAgcGFkZGluZzogMCA3cHggMXB4OwotfQotCi0ud2Via2l0LWh0bWwtd2FybmluZy1t
ZXNzYWdlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAwJSwgNjIlLCA0MiUpOwotICAg
IGJvcmRlcjogMnB4IHNvbGlkIHJnYigxMDAlLCA1MiUsIDIxJSk7Ci19Ci0KLS53ZWJraXQtaHRt
bC1lcnJvci1tZXNzYWdlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAwJSwgNDIlLCA0
MiUpOwotICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYigxMDAlLCAzMSUsIDMxJSk7Ci19Ci0KLS53
ZWJraXQtaHRtbC1tZXNzYWdlLWxpbmUgewotICAgIHBhZGRpbmctbGVmdDogMjNweDsKLSAgICB0
ZXh0LWluZGVudDogLTIwcHg7Ci19Ci0KLS53ZWJraXQtaHRtbC1tZXNzYWdlLWljb24gewotICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICB0b3A6IDJweDsKLSAgICBtYXJnaW46IDAgNHB4Owot
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKaW5kZXggMDgxYzg1NjBh
MWE4ZjhlNzRmODBiMGVkNTdiZGQzNTM5ZDY3MDcyZC4uZDY4ODBlY2E4Mjg3NTYxYjhiMWVkNWMx
ZjRkYmQ1ZGRhN2YxYWI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxl
bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24u
Y3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNp
bmNsdWRlICJGVFBEaXJlY3RvcnlEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5o
IgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZS5o
IgogI2luY2x1ZGUgIkltYWdlRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYURvY3VtZW50Lmgi
CkBAIC0zMTYsMTEgKzMxNSw4IEBAIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBET01JbXBsZW1l
bnRhdGlvbjo6Y3JlYXRlSFRNTERvY3VtZW50KGNvbnN0IFN0cmluZyYgdGl0CiAgICAgcmV0dXJu
IGQucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlv
bjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSogZnJhbWUsIGNvbnN0
IFVSTCYgdXJsLCBib29sIGluVmlld1NvdXJjZU1vZGUpCitQYXNzUmVmUHRyPERvY3VtZW50PiBE
T01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFt
ZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsKQogewotICAgIGlmIChpblZpZXdTb3VyY2VNb2RlKQot
ICAgICAgICByZXR1cm4gSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmws
IHR5cGUpOwotCiAgICAgLy8gUGx1Z2lucyBjYW5ub3QgdGFrZSBIVE1MIGFuZCBYSFRNTCBmcm9t
IHVzLCBhbmQgd2UgZG9uJ3QgZXZlbiBuZWVkIHRvIGluaXRpYWxpemUgdGhlIHBsdWdpbiBkYXRh
YmFzZSBmb3IgdGhvc2UuCiAgICAgaWYgKHR5cGUgPT0gInRleHQvaHRtbCIpCiAgICAgICAgIHJl
dHVybiBIVE1MRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUltcGxlbWVudGF0aW9uLmgKaW5kZXggYWJhZmNhNTNmMzBhZjM2ZDMyOWNkODJhZTU4NjFkMmM5
NDhkYzY5YS4uMWY2MzcwNTc0MGE1MjFjMDMwYWIzMzM0MzcxMzU1OGFiOTc3YzgwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGlj
OgogICAgIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBjcmVhdGVIVE1MRG9jdW1lbnQoY29uc3Qg
U3RyaW5nJiB0aXRsZSk7CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00p
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGNyZWF0ZURvY3VtZW50KGNvbnN0IFN0
cmluZyYgTUlNRVR5cGUsIEZyYW1lKiwgY29uc3QgVVJMJiwgYm9vbCBpblZpZXdTb3VyY2VNb2Rl
KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudD4gY3JlYXRlRG9jdW1lbnQoY29uc3Qg
U3RyaW5nJiBNSU1FVHlwZSwgRnJhbWUqLCBjb25zdCBVUkwmKTsKIAogICAgIHN0YXRpYyBib29s
IGlzWE1MTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CiAgICAgc3RhdGljIGJvb2wg
aXNUZXh0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA2ZGY4NWM3NzUzZjhjZmUzMTMyMWFkMGI1NzdmMmZlYzdjNDQ0OTU2Li44Zjdk
ODRmZDM5NjUzOTUyYmVhODIzMjc3NjI0NzQwOTNiODI0MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTQ1OCw3ICs0NTgsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1l
LCBjb25zdCBVUkwmIHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICwg
bV9kb2N1bWVudENsYXNzZXMoZG9jdW1lbnRDbGFzc2VzKQogICAgICwgbV9pc1N5bnRoZXNpemVk
KGNvbnN0cnVjdGlvbkZsYWdzICYgU3ludGhlc2l6ZWQpCiAgICAgLCBtX2lzTm9uUmVuZGVyZWRQ
bGFjZWhvbGRlcihjb25zdHJ1Y3Rpb25GbGFncyAmIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIpCi0g
ICAgLCBtX2lzVmlld1NvdXJjZShmYWxzZSkKICAgICAsIG1fc2F3RWxlbWVudHNJbktub3duTmFt
ZXNwYWNlcyhmYWxzZSkKICAgICAsIG1faXNTcmNkb2NEb2N1bWVudChmYWxzZSkKICAgICAsIG1f
ZXZlbnRRdWV1ZSgqdGhpcykKQEAgLTE5MjAsMTUgKzE5MTksNiBAQCB2b2lkIERvY3VtZW50Ojpw
YWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4LCBJbnRTaXplJiBwYWdlU2l6
ZSwgaW50JgogICAgIG1hcmdpbkxlZnQgPSBzdHlsZS0+bWFyZ2luTGVmdCgpLmlzQXV0bygpID8g
bWFyZ2luTGVmdCA6IGludFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5tYXJnaW5MZWZ0KCksIHdpZHRo
LCB2aWV3KTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c2V0SXNWaWV3U291cmNlKGJvb2wgaXNWaWV3
U291cmNlKQotewotICAgIG1faXNWaWV3U291cmNlID0gaXNWaWV3U291cmNlOwotICAgIGlmICgh
bV9pc1ZpZXdTb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIHNldFNlY3VyaXR5T3JpZ2lu
KFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKSk7Ci19Ci0KIHZvaWQgRG9jdW1lbnQ6OmNy
ZWF0ZVN0eWxlUmVzb2x2ZXIoKQogewogICAgIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVz
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FlN2Y0OWZiNDQzMmYyYWJlN2JhNDlk
OGM5OTFiZmM4ZTRkODVkZS4uMTE2NzM0ZGI3YjdhZDVjZjBhODg1OTQ3ZWY4ODI5MzFmZGU3OGI3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQ3OSw5ICs0NzksNiBAQCBwdWJsaWM6CiAKICAg
ICBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVySWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlUmVzb2x2ZXIuZ2V0KCk7IH0KIAotICAgIGJvb2wgaXNWaWV3U291cmNlKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1ZpZXdTb3VyY2U7IH0KLSAgICB2b2lkIHNldElzVmlld1NvdXJjZShib29s
KTsKLQogICAgIGJvb2wgc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlcygpIGNvbnN0IHsgcmV0
dXJuIG1fc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlczsgfQogCiAgICAgU3R5bGVSZXNvbHZl
ciYgZW5zdXJlU3R5bGVSZXNvbHZlcigpCkBAIC0xNTAyLDcgKzE0OTksNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9pc1N5bnRoZXNpemVkOwogICAgIGJvb2wgbV9pc05vblJlbmRlcmVkUGxhY2Vo
b2xkZXI7CiAKLSAgICBib29sIG1faXNWaWV3U291cmNlOwogICAgIGJvb2wgbV9zYXdFbGVtZW50
c0luS25vd25OYW1lc3BhY2VzOwogICAgIGJvb2wgbV9pc1NyY2RvY0RvY3VtZW50OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDk0OWQwNGZkZjY0OWNh
NjZjMTcyNmU3MmIyYThkZjYyMjllMjkyMjYuLmRkNzdkYzNjZjY0MzQ5YTM0YjRjNWI5ZDkyZjc0
YTZkN2ZiNDg1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
CkBAIC0zMzgsNyArMzM4LDYgQEAgdmFsaWduCiB2YWx1ZQogdmFsdWV0eXBlCiB2ZXJzaW9uCi12
aWV3c291cmNlCiB2bGluawogdnNwYWNlCiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXggYmI4MTNhNWVlNzBj
MDFkMDIzNDE3ZDhhZGNhNThjNGUxNmEwOGRjMi4uZmM4MWU4ZGVkMjJhNjFjMmZmZWQ4NWM5ZDBk
N2YwZWY3ZjQ4ZGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVF
bGVtZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50
QmFzZS5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgSFRNTEZyYW1lRWxlbWVudEJhc2U6OkhUTUxGcmFt
ZUVsZW1lbnRCYXNlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW4KICAgICAs
IG1fc2Nyb2xsaW5nKFNjcm9sbGJhckF1dG8pCiAgICAgLCBtX21hcmdpbldpZHRoKC0xKQogICAg
ICwgbV9tYXJnaW5IZWlnaHQoLTEpCi0gICAgLCBtX3ZpZXdTb3VyY2UoZmFsc2UpCiB7CiAgICAg
c2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC04Nyw4ICs4Niw2IEBA
IHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6Om9wZW5VUkwoYm9vbCBsb2NrSGlzdG9yeSwgYm9v
bCBsb2NrQmFja0ZvcndhcmRMaXN0KQogICAgICAgICByZXR1cm47CiAKICAgICBwYXJlbnRGcmFt
ZS0+bG9hZGVyKCkuc3ViZnJhbWVMb2FkZXIoKS5yZXF1ZXN0RnJhbWUoKnRoaXMsIG1fVVJMLCBt
X2ZyYW1lTmFtZSwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QpOwotICAgIGlmIChj
b250ZW50RnJhbWUoKSkKLSAgICAgICAgY29udGVudEZyYW1lKCktPnNldEluVmlld1NvdXJjZU1v
ZGUodmlld1NvdXJjZU1vZGUoKSk7CiB9CiAKIHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1l
bnRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKaW5k
ZXggMDA3ZmY1NDhhMzU5NjQ4Y2Q1NjVjYzc1MDc1ZDRlNzMzMDRjNTMyNS4uMjA1NjI2MWI5ZWY0
Njc2MjQzYWYyODI2NWE2NzBkY2QwNjE3MzA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZyYW1lRWxlbWVudEJhc2UuaApAQCAtNjUsOCArNjUsNiBAQCBwcml2YXRlOgogCiAgICAgdmly
dHVhbCBib29sIGFyZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIGJvb2wgdmlld1NvdXJjZU1vZGUoKSBjb25zdCB7IHJldHVybiBt
X3ZpZXdTb3VyY2U7IH0KLQogICAgIHZvaWQgc2V0TmFtZUFuZE9wZW5VUkwoKTsKICAgICB2b2lk
IG9wZW5VUkwoYm9vbCBsb2NrSGlzdG9yeSA9IHRydWUsIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlz
dCA9IHRydWUpOwogCkBAIC03Nyw4ICs3NSw2IEBAIHByaXZhdGU6CiAKICAgICBpbnQgbV9tYXJn
aW5XaWR0aDsKICAgICBpbnQgbV9tYXJnaW5IZWlnaHQ7Ci0KLSAgICBib29sIG1fdmlld1NvdXJj
ZTsKIH07CiAKIHZvaWQgaXNIVE1MRnJhbWVFbGVtZW50QmFzZShjb25zdCBIVE1MRnJhbWVFbGVt
ZW50QmFzZSYpOyAvLyBDYXRjaCB1bm5lY2Vzc2FyeSBydW50aW1lIGNoZWNrIG9mIHR5cGUga25v
d24gYXQgY29tcGlsZSB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Vmlld1NvdXJjZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNzA1ZDljZWI3
YzA5MDM2YmE1ZTA3NzdhODhhZTRlN2E0NGY3MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5NCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCIK
LQotI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnRTdHls
ZVNoZWV0Q29sbGVjdGlvbi5oIgotI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCi0jaW5j
bHVkZSAiSFRNTEJSRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVudC5oIgotI2lu
Y2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCi0j
aW5jbHVkZSAiSFRNTEh0bWxFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRhYmxlQ2VsbEVsZW1l
bnQuaCIKLSNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRhYmxl
Um93RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmgiCi0jaW5j
bHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgIlRleHRWaWV3U291cmNlUGFyc2VyLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotSFRNTFZpZXdT
b3VyY2VEb2N1bWVudDo6SFRNTFZpZXdTb3VyY2VEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQotICAgIDogSFRNTERvY3VtZW50KGZy
YW1lLCB1cmwpCi0gICAgLCBtX3R5cGUobWltZVR5cGUpCi17Ci0gICAgc3R5bGVTaGVldENvbGxl
Y3Rpb24oKS5zZXRVc2VzQmVmb3JlQWZ0ZXJSdWxlc092ZXJyaWRlKHRydWUpOwotICAgIHNldElz
Vmlld1NvdXJjZSh0cnVlKTsKLQotICAgIHNldENvbXBhdGliaWxpdHlNb2RlKFF1aXJrc01vZGUp
OwotICAgIGxvY2tDb21wYXRpYmlsaXR5TW9kZSgpOwotfQotCi1QYXNzUmVmUHRyPERvY3VtZW50
UGFyc2VyPiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjpjcmVhdGVQYXJzZXIoKQotewotICAgIGlm
IChtX3R5cGUgPT0gInRleHQvaHRtbCIgfHwgbV90eXBlID09ICJhcHBsaWNhdGlvbi94aHRtbCt4
bWwiIHx8IG1fdHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIgfHwgRE9NSW1wbGVtZW50YXRpb246Omlz
WE1MTUlNRVR5cGUobV90eXBlKSkKLSAgICAgICAgcmV0dXJuIEhUTUxWaWV3U291cmNlUGFyc2Vy
OjpjcmVhdGUoKnRoaXMpOwotCi0gICAgcmV0dXJuIFRleHRWaWV3U291cmNlUGFyc2VyOjpjcmVh
dGUoKnRoaXMpOwotfQotCi12b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmNyZWF0ZUNvbnRh
aW5pbmdUYWJsZSgpCi17Ci0gICAgUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gaHRtbCA9IEhUTUxI
dG1sRWxlbWVudDo6Y3JlYXRlKCp0aGlzKTsKLSAgICBwYXJzZXJBcHBlbmRDaGlsZChodG1sKTsK
LSAgICBSZWZQdHI8SFRNTEJvZHlFbGVtZW50PiBib2R5ID0gSFRNTEJvZHlFbGVtZW50OjpjcmVh
dGUoKnRoaXMpOwotICAgIGh0bWwtPnBhcnNlckFwcGVuZENoaWxkKGJvZHkpOwotICAgIC8vIENy
ZWF0ZSBhIGxpbmUgZ3V0dGVyIGRpdiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSB0aGUg
Z3V0dGVyIGV4dGVuZHMgZG93biB0aGUgaGVpZ2h0IG9mIHRoZSB3aG9sZQotICAgIC8vIGRvY3Vt
ZW50LgotICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gZGl2ID0gSFRNTERpdkVsZW1lbnQ6OmNy
ZWF0ZSgqdGhpcyk7Ci0gICAgZGl2LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0LWxp
bmUtZ3V0dGVyLWJhY2tkcm9wIik7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQoZGl2KTsK
LQotICAgIFJlZlB0cjxIVE1MVGFibGVFbGVtZW50PiB0YWJsZSA9IEhUTUxUYWJsZUVsZW1lbnQ6
OmNyZWF0ZSgqdGhpcyk7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQodGFibGUpOwotICAg
IG1fdGJvZHkgPSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6Y3JlYXRlKHRib2R5VGFnLCAqdGhp
cyk7Ci0gICAgdGFibGUtPnBhcnNlckFwcGVuZENoaWxkKG1fdGJvZHkpOwotICAgIG1fY3VycmVu
dCA9IG1fdGJvZHk7Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkU291cmNl
KGNvbnN0IFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQotewotICAgIGlmICghbV9j
dXJyZW50KQotICAgICAgICBjcmVhdGVDb250YWluaW5nVGFibGUoKTsKLQotICAgIHN3aXRjaCAo
dG9rZW4udHlwZSgpKSB7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlVuaW5pdGlhbGl6ZWQ6Ci0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUTUxU
b2tlbjo6RE9DVFlQRToKLSAgICAgICAgcHJvY2Vzc0RvY3R5cGVUb2tlbihzb3VyY2UsIHRva2Vu
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkVuZE9mRmlsZToKLSAgICAg
ICAgaWYgKCFtX3Rib2R5LT5oYXNDaGlsZE5vZGVzKCkpCi0gICAgICAgICAgICBhZGRMaW5lKFN0
cmluZygpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgot
ICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6Ci0gICAgICAgIHByb2Nlc3NUYWdUb2tlbihzb3Vy
Y2UsIHRva2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6
Ci0gICAgICAgIHByb2Nlc3NDb21tZW50VG9rZW4oc291cmNlLCB0b2tlbik7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgIHByb2Nlc3NDaGFy
YWN0ZXJUb2tlbihzb3VyY2UsIHRva2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi12
b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OnByb2Nlc3NEb2N0eXBlVG9rZW4oY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYpCi17Ci0gICAgaWYgKCFtX2N1cnJlbnQpCi0gICAgICAg
IGNyZWF0ZUNvbnRhaW5pbmdUYWJsZSgpOwotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRoQ2xh
c3NOYW1lKCJ3ZWJraXQtaHRtbC1kb2N0eXBlIik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3ZWJr
aXQtaHRtbC1kb2N0eXBlIik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBIVE1M
Vmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2Us
IEhUTUxUb2tlbiYgdG9rZW4pCi17Ci0gICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhDbGFzc05h
bWUoIndlYmtpdC1odG1sLXRhZyIpOwotCi0gICAgQXRvbWljU3RyaW5nIHRhZ05hbWUodG9rZW4u
bmFtZSgpKTsKLQotICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKLSAgICBIVE1MVG9rZW46OkF0dHJp
YnV0ZUxpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSB0b2tlbi5hdHRyaWJ1dGVzKCkuYmVnaW4o
KTsKLSAgICB3aGlsZSAoaW5kZXggPCBzb3VyY2UubGVuZ3RoKCkpIHsKLSAgICAgICAgaWYgKGl0
ZXIgPT0gdG9rZW4uYXR0cmlidXRlcygpLmVuZCgpKSB7Ci0gICAgICAgICAgICAvLyBXZSB3YW50
IHRvIHNob3cgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGluIHRoZSB0b2tlbi4KLSAgICAgICAg
ICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgc291cmNlLmxlbmd0aCgpLCAiIik7
Ci0gICAgICAgICAgICBBU1NFUlQoaW5kZXggPT0gc291cmNlLmxlbmd0aCgpKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgQXRvbWljU3RyaW5nIG5hbWUoaXRlci0+
bmFtZSk7Ci0gICAgICAgIFN0cmluZyB2YWx1ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBv
c3NpYmxlKGl0ZXItPnZhbHVlKTsKLQotICAgICAgICBpbmRleCA9IGFkZFJhbmdlKHNvdXJjZSwg
aW5kZXgsIGl0ZXItPm5hbWVSYW5nZS5zdGFydCAtIHRva2VuLnN0YXJ0SW5kZXgoKSwgIiIpOwot
ICAgICAgICBpbmRleCA9IGFkZFJhbmdlKHNvdXJjZSwgaW5kZXgsIGl0ZXItPm5hbWVSYW5nZS5l
bmQgLSB0b2tlbi5zdGFydEluZGV4KCksICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIpOwot
Ci0gICAgICAgIGlmICh0YWdOYW1lID09IGJhc2VUYWcgJiYgbmFtZSA9PSBocmVmQXR0cikKLSAg
ICAgICAgICAgIG1fY3VycmVudCA9IGFkZEJhc2UodmFsdWUpOwotCi0gICAgICAgIGluZGV4ID0g
YWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgaXRlci0+dmFsdWVSYW5nZS5zdGFydCAtIHRva2VuLnN0
YXJ0SW5kZXgoKSwgIiIpOwotCi0gICAgICAgIGJvb2wgaXNMaW5rID0gbmFtZSA9PSBzcmNBdHRy
IHx8IG5hbWUgPT0gaHJlZkF0dHI7Ci0gICAgICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291cmNlLCBp
bmRleCwgaXRlci0+dmFsdWVSYW5nZS5lbmQgLSB0b2tlbi5zdGFydEluZGV4KCksICJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtdmFsdWUiLCBpc0xpbmssIHRhZ05hbWUgPT0gYVRhZywgdmFsdWUpOwot
Ci0gICAgICAgICsraXRlcjsKLSAgICB9Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9p
ZCBIVE1MVmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzQ29tbWVudFRva2VuKGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBIVE1MVG9rZW4mKQotewotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRoQ2xh
c3NOYW1lKCJ3ZWJraXQtaHRtbC1jb21tZW50Iik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3ZWJr
aXQtaHRtbC1jb21tZW50Iik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBIVE1M
Vmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3RyaW5nJiBz
b3VyY2UsIEhUTUxUb2tlbiYpCi17Ci0gICAgYWRkVGV4dChzb3VyY2UsICIiKTsKLX0KLQotUGFz
c1JlZlB0cjxFbGVtZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRTcGFuV2l0aENsYXNz
TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAobV9jdXJyZW50
ID09IG1fdGJvZHkpIHsKLSAgICAgICAgYWRkTGluZShjbGFzc05hbWUpOwotICAgICAgICByZXR1
cm4gbV9jdXJyZW50OwotICAgIH0KLQotICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gc3BhbiA9IEhU
TUxFbGVtZW50OjpjcmVhdGUoc3BhblRhZywgKnRoaXMpOwotICAgIHNwYW4tPnNldEF0dHJpYnV0
ZShjbGFzc0F0dHIsIGNsYXNzTmFtZSk7Ci0gICAgbV9jdXJyZW50LT5wYXJzZXJBcHBlbmRDaGls
ZChzcGFuKTsKLSAgICByZXR1cm4gc3Bhbi5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgSFRNTFZpZXdT
b3VyY2VEb2N1bWVudDo6YWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsK
LSAgICAvLyBDcmVhdGUgYSB0YWJsZSByb3cuCi0gICAgUmVmUHRyPEhUTUxUYWJsZVJvd0VsZW1l
bnQ+IHRyb3cgPSBIVE1MVGFibGVSb3dFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIG1fdGJv
ZHktPnBhcnNlckFwcGVuZENoaWxkKHRyb3cpOwotCi0gICAgLy8gQ3JlYXRlIGEgY2VsbCB0aGF0
IHdpbGwgaG9sZCB0aGUgbGluZSBudW1iZXIgKGl0IGlzIGdlbmVyYXRlZCBpbiB0aGUgc3R5bGVz
aGVldCB1c2luZyBjb3VudGVycykuCi0gICAgUmVmUHRyPEhUTUxUYWJsZUNlbGxFbGVtZW50PiB0
ZCA9IEhUTUxUYWJsZUNlbGxFbGVtZW50OjpjcmVhdGUodGRUYWcsICp0aGlzKTsKLSAgICB0ZC0+
c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgIndlYmtpdC1saW5lLW51bWJlciIpOwotICAgIHRyb3ct
PnBhcnNlckFwcGVuZENoaWxkKHRkKTsKLQotICAgIC8vIENyZWF0ZSBhIHNlY29uZCBjZWxsIGZv
ciB0aGUgbGluZSBjb250ZW50cwotICAgIHRkID0gSFRNTFRhYmxlQ2VsbEVsZW1lbnQ6OmNyZWF0
ZSh0ZFRhZywgKnRoaXMpOwotICAgIHRkLT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0
LWxpbmUtY29udGVudCIpOwotICAgIHRyb3ctPnBhcnNlckFwcGVuZENoaWxkKHRkKTsKLSAgICBt
X2N1cnJlbnQgPSBtX3RkID0gdGQ7Ci0KLSNpZmRlZiBERUJVR19MSU5FX05VTUJFUlMKLSAgICBS
ZWZQdHI8VGV4dD4gbGluZU51bWJlclRleHQgPSBUZXh0OjpjcmVhdGUoKnRoaXMsIFN0cmluZzo6
bnVtYmVyKHBhcnNlcigpLT5saW5lTnVtYmVyKCkgKyAxKSArICIgIik7Ci0gICAgdGQtPmFkZENo
aWxkKGxpbmVOdW1iZXJUZXh0KTsKLSNlbmRpZgotCi0gICAgLy8gT3BlbiB1cCB0aGUgbmVlZGVk
IHNwYW5zLgotICAgIGlmICghY2xhc3NOYW1lLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoY2xh
c3NOYW1lID09ICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIgfHwgY2xhc3NOYW1lID09ICJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiKQotICAgICAgICAgICAgbV9jdXJyZW50ID0gYWRk
U3BhbldpdGhDbGFzc05hbWUoIndlYmtpdC1odG1sLXRhZyIpOwotICAgICAgICBtX2N1cnJlbnQg
PSBhZGRTcGFuV2l0aENsYXNzTmFtZShjbGFzc05hbWUpOwotICAgIH0KLX0KLQotdm9pZCBIVE1M
Vmlld1NvdXJjZURvY3VtZW50OjpmaW5pc2hMaW5lKCkKLXsKLSAgICBpZiAoIW1fY3VycmVudC0+
aGFzQ2hpbGROb2RlcygpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQlJFbGVtZW50PiBiciA9IEhU
TUxCUkVsZW1lbnQ6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2VyQXBw
ZW5kQ2hpbGQoYnIpOwotICAgIH0KLSAgICBtX2N1cnJlbnQgPSBtX3Rib2R5OwotfQotCi12b2lk
IEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25z
dCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAodGV4dC5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIC8vIEFkZCBpbiB0aGUgY29udGVudCwgc3BsaXR0aW5nIG9u
IG5ld2xpbmVzLgotICAgIFZlY3RvcjxTdHJpbmc+IGxpbmVzOwotICAgIHRleHQuc3BsaXQoJ1xu
JywgdHJ1ZSwgbGluZXMpOwotICAgIHVuc2lnbmVkIHNpemUgPSBsaW5lcy5zaXplKCk7Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICBTdHJpbmcgc3Vi
c3RyaW5nID0gbGluZXNbaV07Ci0gICAgICAgIGlmIChtX2N1cnJlbnQgPT0gbV90Ym9keSkKLSAg
ICAgICAgICAgIGFkZExpbmUoY2xhc3NOYW1lKTsKLSAgICAgICAgaWYgKHN1YnN0cmluZy5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgICAgIGlmIChpID09IHNpemUgLSAxKQotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgZmluaXNoTGluZSgpOwotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIH0KLSAgICAgICAgUmVmUHRyPFRleHQ+IHRleHQgPSBUZXh0OjpjcmVhdGUoKnRo
aXMsIHN1YnN0cmluZyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQodGV4
dCk7Ci0gICAgICAgIGlmIChpIDwgc2l6ZSAtIDEpCi0gICAgICAgICAgICBmaW5pc2hMaW5lKCk7
Ci0gICAgfQotfQotCi1pbnQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkUmFuZ2UoY29uc3Qg
U3RyaW5nJiBzb3VyY2UsIGludCBzdGFydCwgaW50IGVuZCwgY29uc3QgU3RyaW5nJiBjbGFzc05h
bWUsIGJvb2wgaXNMaW5rLCBib29sIGlzQW5jaG9yLCBjb25zdCBTdHJpbmcmIGxpbmspCi17Ci0g
ICAgQVNTRVJUKHN0YXJ0IDw9IGVuZCk7Ci0gICAgaWYgKHN0YXJ0ID09IGVuZCkKLSAgICAgICAg
cmV0dXJuIHN0YXJ0OwotCi0gICAgU3RyaW5nIHRleHQgPSBzb3VyY2Uuc3Vic3RyaW5nKHN0YXJ0
LCBlbmQgLSBzdGFydCk7Ci0gICAgaWYgKCFjbGFzc05hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAg
IGlmIChpc0xpbmspCi0gICAgICAgICAgICBtX2N1cnJlbnQgPSBhZGRMaW5rKGxpbmssIGlzQW5j
aG9yKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhD
bGFzc05hbWUoY2xhc3NOYW1lKTsKLSAgICB9Ci0gICAgYWRkVGV4dCh0ZXh0LCBjbGFzc05hbWUp
OwotICAgIGlmICghY2xhc3NOYW1lLmlzRW1wdHkoKSAmJiBtX2N1cnJlbnQgIT0gbV90Ym9keSkK
LSAgICAgICAgbV9jdXJyZW50ID0gdG9FbGVtZW50KG1fY3VycmVudC0+cGFyZW50Tm9kZSgpKTsK
LSAgICByZXR1cm4gZW5kOwotfQotCi1QYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxWaWV3U291cmNl
RG9jdW1lbnQ6OmFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKQotewotICAgIFJlZlB0
cjxIVE1MQmFzZUVsZW1lbnQ+IGJhc2UgPSBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShiYXNlVGFn
LCAqdGhpcyk7Ci0gICAgYmFzZS0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCBocmVmKTsKLSAgICBt
X2N1cnJlbnQtPnBhcnNlckFwcGVuZENoaWxkKGJhc2UpOwotICAgIHJldHVybiBiYXNlLnJlbGVh
c2UoKTsKLX0KLQotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50Ojph
ZGRMaW5rKGNvbnN0IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKQotewotICAgIGlm
IChtX2N1cnJlbnQgPT0gbV90Ym9keSkKLSAgICAgICAgYWRkTGluZSgid2Via2l0LWh0bWwtdGFn
Iik7Ci0KLSAgICAvLyBOb3cgY3JlYXRlIGEgbGluayBmb3IgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBp
bnN0ZWFkIG9mIGEgc3Bhbi4KLSAgICBSZWZQdHI8SFRNTEFuY2hvckVsZW1lbnQ+IGFuY2hvciA9
IEhUTUxBbmNob3JFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIGNvbnN0IGNoYXIqIGNsYXNz
VmFsdWU7Ci0gICAgaWYgKGlzQW5jaG9yKQotICAgICAgICBjbGFzc1ZhbHVlID0gIndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS12YWx1ZSB3ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rIjsKLSAgICBlbHNl
Ci0gICAgICAgIGNsYXNzVmFsdWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIHdlYmtp
dC1odG1sLXJlc291cmNlLWxpbmsiOwotICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGNsYXNzQXR0
ciwgY2xhc3NWYWx1ZSk7Ci0gICAgYW5jaG9yLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgIl9i
bGFuayIpOwotICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCB1cmwpOwotICAgIG1f
Y3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQoYW5jaG9yKTsKLSAgICByZXR1cm4gYW5jaG9yLnJl
bGVhc2UoKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmll
d1NvdXJjZURvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9j
dW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM1OTJkMjI4OGJiYmI4MTg4
YWZkMDQ1MWU1ZmNkMTljY2NhYTk3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQu
aAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBIVE1MVmll
d1NvdXJjZURvY3VtZW50X2gKLSNkZWZpbmUgSFRNTFZpZXdTb3VyY2VEb2N1bWVudF9oCi0KLSNp
bmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBI
VE1MVGFibGVDZWxsRWxlbWVudDsKLWNsYXNzIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OwotY2xh
c3MgSFRNTFRva2VuOwotCi1jbGFzcyBIVE1MVmlld1NvdXJjZURvY3VtZW50IGZpbmFsIDogcHVi
bGljIEhUTUxEb2N1bWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTFZp
ZXdTb3VyY2VEb2N1bWVudD4gY3JlYXRlKEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEhUTUxWaWV3U291cmNlRG9jdW1lbnQoZnJhbWUsIHVybCwgbWltZVR5cGUpKTsKLSAgICB9Ci0K
LSAgICB2b2lkIGFkZFNvdXJjZShjb25zdCBTdHJpbmcmLCBIVE1MVG9rZW4mKTsKLQotcHJpdmF0
ZToKLSAgICBIVE1MVmlld1NvdXJjZURvY3VtZW50KEZyYW1lKiwgY29uc3QgVVJMJiwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSk7Ci0KLSAgICAvLyBSZXR1cm5zIEhUTUxWaWV3U291cmNlUGFyc2Vy
IG9yIFRleHREb2N1bWVudFBhcnNlciBiYXNlZCBvbiBtX3R5cGUuCi0gICAgdmlydHVhbCBQYXNz
UmVmUHRyPERvY3VtZW50UGFyc2VyPiBjcmVhdGVQYXJzZXIoKSBvdmVycmlkZTsKLQotICAgIHZv
aWQgcHJvY2Vzc0RvY3R5cGVUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJik7
Ci0gICAgdm9pZCBwcm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tl
biYpOwotICAgIHZvaWQgcHJvY2Vzc0NvbW1lbnRUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJjZSwg
SFRNTFRva2VuJik7Ci0gICAgdm9pZCBwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3RyaW5n
JiBzb3VyY2UsIEhUTUxUb2tlbiYpOwotCi0gICAgdm9pZCBjcmVhdGVDb250YWluaW5nVGFibGUo
KTsKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGFkZFNwYW5XaXRoQ2xhc3NOYW1lKGNvbnN0IEF0
b21pY1N0cmluZyYpOwotICAgIHZvaWQgYWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNz
TmFtZSk7Ci0gICAgdm9pZCBmaW5pc2hMaW5lKCk7Ci0gICAgdm9pZCBhZGRUZXh0KGNvbnN0IFN0
cmluZyYgdGV4dCwgY29uc3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUpOwotICAgIGludCBhZGRS
YW5nZShjb25zdCBTdHJpbmcmIHNvdXJjZSwgaW50IHN0YXJ0LCBpbnQgZW5kLCBjb25zdCBTdHJp
bmcmIGNsYXNzTmFtZSwgYm9vbCBpc0xpbmsgPSBmYWxzZSwgYm9vbCBpc0FuY2hvciA9IGZhbHNl
LCBjb25zdCBTdHJpbmcmIGxpbmsgPSBTdHJpbmcoKSk7Ci0gICAgUGFzc1JlZlB0cjxFbGVtZW50
PiBhZGRMaW5rKGNvbnN0IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKTsKLSAgICBQ
YXNzUmVmUHRyPEVsZW1lbnQ+IGFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKTsKLQot
ICAgIFN0cmluZyBtX3R5cGU7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IG1fY3VycmVudDsKLSAgICBS
ZWZQdHI8SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ+IG1fdGJvZHk7Ci0gICAgUmVmUHRyPEhUTUxU
YWJsZUNlbGxFbGVtZW50PiBtX3RkOwotfTsKLQotfQotCi0jZW5kaWYgLy8gSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDAz
NjNlM2E2MTA0M2NkMDFlN2EzYzY0MWZlZmQyNjg3ZWExODJhNjcuLmU3NDE4ZTUwMTRjMWZhNTAy
Mjg5NGQxNWY0NzRjMjQyZWU5OTFjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbi5oCkBAIC0xMTQsNyArMTE0LDcgQEAgcHVibGljOgogICAgICAgICBtX3R5cGUgPSBFbmRP
ZkZpbGU7CiAgICAgfQogCi0gICAgLyogUmFuZ2UgYW5kIG9mZnNldCBtZXRob2RzIGV4cG9zZWQg
Zm9yIEhUTUxTb3VyY2VUcmFja2VyIGFuZCBIVE1MVmlld1NvdXJjZVBhcnNlciAqLworICAgIC8q
IFJhbmdlIGFuZCBvZmZzZXQgbWV0aG9kcyBleHBvc2VkIGZvciBIVE1MU291cmNlVHJhY2tlciAq
LwogICAgIGludCBzdGFydEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5zdGFydDsgfQog
ICAgIGludCBlbmRJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2UuZW5kOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDNmZjBhMTRkZjkwNzk4YmRjYzU5ZmFmZWM1
OWFhNmYwZjllY2Y2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSFRN
TFZpZXdTb3VyY2VQYXJzZXIuaCIKLQotI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgot
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUhUTUxWaWV3
U291cmNlUGFyc2VyOjpIVE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3VtZW50
JiBkb2N1bWVudCkKLSAgICA6IERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQpCi0g
ICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoSFRNTFBhcnNlck9wdGlvbnMo
ZG9jdW1lbnQpKSkKLXsKLX0KLQotSFRNTFZpZXdTb3VyY2VQYXJzZXI6On5IVE1MVmlld1NvdXJj
ZVBhcnNlcigpCi17Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VQYXJzZXI6Omluc2VydChjb25z
dCBTZWdtZW50ZWRTdHJpbmcmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12
b2lkIEhUTUxWaWV3U291cmNlUGFyc2VyOjpwdW1wVG9rZW5pemVyKCkKLXsKLSAgICB3aGlsZSAo
dHJ1ZSkgewotICAgICAgICBtX3NvdXJjZVRyYWNrZXIuc3RhcnQobV9pbnB1dC5jdXJyZW50KCks
IG1fdG9rZW5pemVyLmdldCgpLCBtX3Rva2VuKTsKLSAgICAgICAgaWYgKCFtX3Rva2VuaXplci0+
bmV4dFRva2VuKG1faW5wdXQuY3VycmVudCgpLCBtX3Rva2VuKSkKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBtX3NvdXJjZVRyYWNrZXIuZW5kKG1faW5wdXQuY3VycmVudCgpLCBtX3Rva2Vu
aXplci5nZXQoKSwgbV90b2tlbik7Ci0KLSAgICAgICAgZG9jdW1lbnQoKS0+YWRkU291cmNlKHNv
dXJjZUZvclRva2VuKCksIG1fdG9rZW4pOwotICAgICAgICB1cGRhdGVUb2tlbml6ZXJTdGF0ZSgp
OwotICAgICAgICBtX3Rva2VuLmNsZWFyKCk7Ci0gICAgfQotfQotCi12b2lkIEhUTUxWaWV3U291
cmNlUGFyc2VyOjphcHBlbmQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBpbnB1dCkKLXsKLSAgICBt
X2lucHV0LmFwcGVuZFRvRW5kKFN0cmluZyhpbnB1dCkpOwotICAgIHB1bXBUb2tlbml6ZXIoKTsK
LX0KLQotU3RyaW5nIEhUTUxWaWV3U291cmNlUGFyc2VyOjpzb3VyY2VGb3JUb2tlbigpCi17Ci0g
ICAgcmV0dXJuIG1fc291cmNlVHJhY2tlci5zb3VyY2VGb3JUb2tlbihtX3Rva2VuKTsKLX0KLQot
dm9pZCBIVE1MVmlld1NvdXJjZVBhcnNlcjo6dXBkYXRlVG9rZW5pemVyU3RhdGUoKQotewotICAg
IC8vIEZJWE1FOiBUaGUgdG9rZW5pemVyIHNob3VsZCBkbyB0aGlzIHdvcmsgZm9yIHVzLgotICAg
IGlmIChtX3Rva2VuLnR5cGUoKSAhPSBIVE1MVG9rZW46OlN0YXJ0VGFnKQotICAgICAgICByZXR1
cm47Ci0gICAgbV90b2tlbml6ZXItPnVwZGF0ZVN0YXRlRm9yKEF0b21pY1N0cmluZyhtX3Rva2Vu
Lm5hbWUoKSkpOwotfQotCi12b2lkIEhUTUxWaWV3U291cmNlUGFyc2VyOjpmaW5pc2goKQotewot
ICAgIGlmICghbV9pbnB1dC5oYXZlU2VlbkVuZE9mRmlsZSgpKQotICAgICAgICBtX2lucHV0Lm1h
cmtFbmRPZkZpbGUoKTsKLSAgICBwdW1wVG9rZW5pemVyKCk7Ci0gICAgZG9jdW1lbnQoKS0+Zmlu
aXNoZWRQYXJzaW5nKCk7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVmlld1NvdXJjZVBhcnNlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
MTYxYzc4OTIwYjIzOTEyOGNlYmQ5MjQyMjMzMDQwMDQzYjBmZWZiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxWaWV3U291cmNlUGFyc2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEhU
TUxWaWV3U291cmNlUGFyc2VyX2gKLSNkZWZpbmUgSFRNTFZpZXdTb3VyY2VQYXJzZXJfaAotCi0j
aW5jbHVkZSAiRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oIgotI2luY2x1ZGUgIkhUTUxJbnB1
dFN0cmVhbS5oIgotI2luY2x1ZGUgIkhUTUxTb3VyY2VUcmFja2VyLmgiCi0jaW5jbHVkZSAiSFRN
TFRva2VuLmgiCi0jaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgotI2luY2x1ZGUgIkhUTUxWaWV3
U291cmNlRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEhUTUxUb2tlbml6ZXI7Ci1jbGFzcyBIVE1MU2NyaXB0UnVu
bmVyOwotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOwotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyOwot
Y2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKLWNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7Ci0KLWNsYXNz
IEhUTUxWaWV3U291cmNlUGFyc2VyIDogcHVibGljIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIg
ewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxWaWV3U291cmNlUGFyc2VyPiBj
cmVhdGUoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxWaWV3U291cmNlUGFyc2VyKGRvY3VtZW50KSk7Ci0gICAg
fQotICAgIHZpcnR1YWwgfkhUTUxWaWV3U291cmNlUGFyc2VyKCk7Ci0KLXByb3RlY3RlZDoKLSAg
ICBleHBsaWNpdCBIVE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3VtZW50Jik7
Ci0KLSAgICBIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIoKSBjb25zdCB7IHJldHVybiBtX3Rva2Vu
aXplci5nZXQoKTsgfQotCi1wcml2YXRlOgotICAgIC8vIERvY3VtZW50UGFyc2VyCi0gICAgdmly
dHVhbCB2b2lkIGluc2VydChjb25zdCBTZWdtZW50ZWRTdHJpbmcmKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgYXBwZW5kKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCBmaW5pc2goKSBvdmVycmlkZTsKLQotICAgIEhUTUxWaWV3U291cmNlRG9j
dW1lbnQqIGRvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudCo+KERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXI6OmRvY3VtZW50KCkpOyB9Ci0K
LSAgICB2b2lkIHB1bXBUb2tlbml6ZXIoKTsKLSAgICBTdHJpbmcgc291cmNlRm9yVG9rZW4oKTsK
LSAgICB2b2lkIHVwZGF0ZVRva2VuaXplclN0YXRlKCk7Ci0KLSAgICBIVE1MSW5wdXRTdHJlYW0g
bV9pbnB1dDsKLSAgICBIVE1MVG9rZW4gbV90b2tlbjsKLSAgICBIVE1MU291cmNlVHJhY2tlciBt
X3NvdXJjZVRyYWNrZXI7Ci0gICAgT3duUHRyPEhUTUxUb2tlbml6ZXI+IG1fdG9rZW5pemVyOwot
fTsKLQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L1RleHRWaWV3U291cmNlUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1Rl
eHRWaWV3U291cmNlUGFyc2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWYy
NTcyMWViNGEwZTkwNDczYjE3ZmFhODcwYjI4ZTBkNTkyYjRhMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCIKLQotI2luY2x1ZGUg
IkhUTUxUb2tlbml6ZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1UZXh0Vmlld1NvdXJj
ZVBhcnNlcjo6VGV4dFZpZXdTb3VyY2VQYXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCYgZG9j
dW1lbnQpCi0gICAgOiBIVE1MVmlld1NvdXJjZVBhcnNlcihkb2N1bWVudCkKLXsKLSAgICB0b2tl
bml6ZXIoKS0+c2V0U3RhdGUoSFRNTFRva2VuaXplcjo6UExBSU5URVhUU3RhdGUpOwotfQotCi1U
ZXh0Vmlld1NvdXJjZVBhcnNlcjo6flRleHRWaWV3U291cmNlUGFyc2VyKCkKLXsKLX0KLQotfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4MDkzMmNhNmE2NDQ2OGU2Nzg2ZGVkM2Y5
NTM0N2U0ODkyMjZhNzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgVGV4dFZpZXdTb3VyY2VQYXJzZXJfaAotI2Rl
ZmluZSBUZXh0Vmlld1NvdXJjZVBhcnNlcl9oCi0KLSNpbmNsdWRlICJIVE1MVmlld1NvdXJjZVBh
cnNlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHRWaWV3U291cmNlUGFy
c2VyIGZpbmFsIDogcHVibGljIEhUTUxWaWV3U291cmNlUGFyc2VyIHsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxUZXh0Vmlld1NvdXJjZVBhcnNlcj4gY3JlYXRlKEhUTUxWaWV3U291
cmNlRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBUZXh0Vmlld1NvdXJjZVBhcnNlcihkb2N1bWVudCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5U
ZXh0Vmlld1NvdXJjZVBhcnNlcigpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFRleHRWaWV3
U291cmNlUGFyc2VyKEhUTUxWaWV3U291cmNlRG9jdW1lbnQmKTsKLX07Ci0KLX0KLQotI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheVBh
Z2UuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXlQYWdlLmNz
cwppbmRleCA2MTllMzU2ZjgwNzM0NzQ3MjU1ZmMwYzdhZWRhYzc4MzIyZjJhYmZiLi5kZTM3OTFh
ZWUzZmI4N2ZkODNjNjMwYmY2ZWYyMWMwMjgxY2MyM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheVBhZ2UuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5UGFnZS5jc3MKQEAgLTU2LDE3ICs1NiwxNyBA
QCBib2R5LnBsYXRmb3JtLWxpbnV4IHsKIH0KIAogLnRhZy1uYW1lIHsKLSAgICAvKiBLZWVwIHRo
aXMgaW4gc3luYyB3aXRoIHZpZXctc291cmNlLmNzcyAoLndlYmtpdC1odG1sLXRhZy1uYW1lKSAq
LworICAgIC8qIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggWE1MVmlld2VyLmNzcyAoLndlYmtpdC1o
dG1sLXRhZy1uYW1lKSAqLwogICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4KTsKIH0KIAogLm5v
ZGUtaWQgewotICAgIC8qIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggdmlldy1zb3VyY2UuY3NzICgu
d2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlKSAqLworICAgIC8qIEtlZXAgdGhpcyBpbiBzeW5j
IHdpdGggWE1MVmlld2VyLmNzcyAoLndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSkgKi8KICAg
ICBjb2xvcjogcmdiKDI2LCAyNiwgMTY2KTsKIH0KIAogLmNsYXNzLW5hbWUgewotICAgIC8qIEtl
ZXAgdGhpcyBpbiBzeW5jIHdpdGggdmlldy1zb3VyY2UuY3NzICgud2Via2l0LWh0bWwtYXR0cmli
dXRlLW5hbWUpICovCisgICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBYTUxWaWV3ZXIuY3Nz
ICgud2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUpICovCiAgICAgY29sb3I6IHJnYigxNTMsIDY5
LCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXgg
NzQyZWI5OTA3MzdkMDY2ZmU3NjgxM2MwYTE0OWQwN2EzOGQ5OWRlYS4uNjUzMTQ4YjQ2OTA5Yjdi
NmI2ZjdjYjNiNGJkMThjNTczODdlZTczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRXcml0ZXIuY3BwCkBAIC0xMTIsNyArMTEyLDggQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRG9j
dW1lbnRXcml0ZXI6OmNyZWF0ZURvY3VtZW50KGNvbnN0IFVSTCYgdXJsKQogI2VuZGlmCiAgICAg
aWYgKCFtX2ZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5oYXNIVE1MVmlldygpKQogICAgICAgICBy
ZXR1cm4gRG9jdW1lbnQ6OmNyZWF0ZU5vblJlbmRlcmVkUGxhY2Vob2xkZXIobV9mcmFtZSwgdXJs
KTsKLSAgICByZXR1cm4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KG1fbWltZVR5
cGUsIG1fZnJhbWUsIHVybCwgbV9mcmFtZS0+aW5WaWV3U291cmNlTW9kZSgpKTsKKworICAgIHJl
dHVybiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQobV9taW1lVHlwZSwgbV9mcmFt
ZSwgdXJsKTsKIH0KIAogdm9pZCBEb2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgVVJMJiB1cmxS
ZWZlcmVuY2UsIGJvb2wgZGlzcGF0Y2gsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMWM0YTI3ZjM2ZmFiZTE1ZDhkMzJlYjgy
MTMwZGI0MWI2ZTUzNGE5ZC4uZDU3MDQ4Yzc2MjFmYTQ2NWUxMjE2ZjQ3NWZmZDg0NmRhYjY1NmYx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC02NjksOCArNjY5LDYg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEoKQogCiAgICAgaWYgKCFtX2Rv
Y3VtZW50TG9hZGVyKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQo
KS0+aXNWaWV3U291cmNlKCkpCi0gICAgICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheTsK
ICAgICBTdHJpbmcgdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA0ZmJkMzdmMTg3YmFlNWFh
YWYwNTg2NDk5ZTYzOWM5MDNjNTFkYzE3Li4xYjM0N2Q0ZGRiNGIzOTQ2ZDYxZTdkODViZDAzMjZk
ZDJhMDdjN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTgxLDcgKzE4MSw2IEBAIEZyYW1l
OjpGcmFtZShQYWdlJiBwYWdlLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwg
RnJhbWVMb2FkZXJDbGllbnQmCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICAs
IG1fb3JpZW50YXRpb24oMCkKICNlbmRpZgotICAgICwgbV9pblZpZXdTb3VyY2VNb2RlKGZhbHNl
KQogICAgICwgbV9hY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9uc1N1c3BlbmRlZENvdW50KDAp
CiB7CiAgICAgQXRvbWljU3RyaW5nOjppbml0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggNzgyZjI1
MWE1MmMwZGY2OTVhNDhhMjI0ZTI4ZjU1MzYxMmZiYzE4NS4uNzdiNzFmODNlYjYxMDUyNmE2ZWIw
OTkxNjhhOTBjZmFhMDA3MjEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTc4LDkgKzE3OCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBzaG91bGRVc2VQcmludGluZ0xheW91
dCgpIGNvbnN0OwogICAgICAgICBGbG9hdFNpemUgcmVzaXplUGFnZVJlY3RzS2VlcGluZ1JhdGlv
KGNvbnN0IEZsb2F0U2l6ZSYgb3JpZ2luYWxTaXplLCBjb25zdCBGbG9hdFNpemUmIGV4cGVjdGVk
U2l6ZSk7CiAKLSAgICAgICAgYm9vbCBpblZpZXdTb3VyY2VNb2RlKCkgY29uc3Q7Ci0gICAgICAg
IHZvaWQgc2V0SW5WaWV3U291cmNlTW9kZShib29sID0gdHJ1ZSk7Ci0KICAgICAgICAgdm9pZCBz
ZXREb2N1bWVudChQYXNzUmVmUHRyPERvY3VtZW50Pik7CiAKICAgICAgICAgdm9pZCBzZXRQYWdl
Wm9vbUZhY3RvcihmbG9hdCBmYWN0b3IpOwpAQCAtMzM4LDggKzMzNSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgaW50IG1fb3JpZW50YXRpb247CiAjZW5kaWYKIAotICAgICAgICBi
b29sIG1faW5WaWV3U291cmNlTW9kZTsKLQogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQog
ICAgIC8vIEZJWE1FOiBUaGUgdGlsZWQgYmFja2luZyBzdG9yZSBiZWxvbmdzIGluIEZyYW1lVmll
dywgbm90IEZyYW1lLgogCkBAIC00MTIsMTYgKzQwNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgcmV0dXJuIG1fb3duZXJFbGVtZW50OwogICAgIH0KIAotICAgIGlubGluZSBib29s
IEZyYW1lOjppblZpZXdTb3VyY2VNb2RlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBt
X2luVmlld1NvdXJjZU1vZGU7Ci0gICAgfQotCi0gICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldElu
Vmlld1NvdXJjZU1vZGUoYm9vbCBtb2RlKQotICAgIHsKLSAgICAgICAgbV9pblZpZXdTb3VyY2VN
b2RlID0gbW9kZTsKLSAgICB9Ci0KICAgICBpbmxpbmUgRnJhbWVUcmVlJiBGcmFtZTo6dHJlZSgp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV90cmVlTm9kZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9ET01QYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL0RPTVBh
cnNlci5jcHAKaW5kZXggM2UyMGQ5N2ViODkyOThjYzk2ZGQ3YjQ4MmQ1YmE4ZjQ3YWQ3NTFmZS4u
ZWI0MzY3MjlhMDFhOWViM2YxNzc0OGRmY2JkMWY2NTNhMGQzYzE5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL0RP
TVBhcnNlci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NUGFy
c2VyOjpwYXJzZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHIsIGNvbnN0IFN0cmluZyYKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgUmVmUHRyPERvY3VtZW50PiBkb2MgPSBET01J
bXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29udGVudFR5cGUsIDAsIFVSTCgpLCBmYWxz
ZSk7CisgICAgUmVmUHRyPERvY3VtZW50PiBkb2MgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRl
RG9jdW1lbnQoY29udGVudFR5cGUsIDAsIFVSTCgpKTsKICAgICBkb2MtPnNldENvbnRlbnQoc3Ry
KTsKICAgICByZXR1cm4gZG9jLnJlbGVhc2UoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221568</attachid>
            <date>2014-01-18 13:46:19 -0800</date>
            <delta_ts>2014-02-17 15:17:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127233-20140118134618.patch</filename>
            <type>text/plain</type>
            <size>83728</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ2YmI5NzkyNzZmZDZi
MmUyYjc5ZjEyODgyNGU4MDE2ZjcxOWE0Ni4uY2E5NTVkYTBhZDdmYTFjOGRjYjE1YTE5OGZkMmYy
MDhhOTRmZGMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY1IEBACiAyMDE0LTAxLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIHZpZXcg
c291cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzKToKKyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcDoK
KyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmg6CisgICAgICAgICogY3NzL0Rv
Y3VtZW50UnVsZVNldHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxlU2V0czo6
YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxl
U2V0czo6Y29sbGVjdEZlYXR1cmVzKToKKyAgICAgICAgKiBjc3MvRG9jdW1lbnRSdWxlU2V0cy5o
OgorICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBl
bmRBdXRob3JTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpz
dHlsZUZvckVsZW1lbnQpOgorICAgICAgICAqIGNzcy92aWV3LXNvdXJjZS5jc3M6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1M
RnJhbWVFbGVtZW50QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50
QmFzZTo6SFRNTEZyYW1lRWxlbWVudEJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZyYW1l
RWxlbWVudEJhc2U6Om9wZW5VUkwpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuaDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tlbi5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hU
TUxWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MVmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvcGFyc2VyL1Rl
eHRWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5UGFnZS5jc3M6CisgICAgICAgICgudGFnLW5hbWUpOgorICAgICAgICAoLm5v
ZGUtaWQpOgorICAgICAgICAoLmNsYXNzLW5hbWUpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVu
dFdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6Y3JlYXRlRG9j
dW1lbnQpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgICogeG1sL0RPTVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01QYXJzZXI6OnBhcnNlRnJvbVN0cmluZyk6CisKKzIwMTQtMDEtMTggIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3Ig
dGhlIHZpZXdzb3VyY2UgYXR0cmlidXRlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjcyMzIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGRiOTdhZWFiNzNh
ZmI4NTlhZjJjZGEzMmI1ZDRlOGMwNDNmMWYxMjIuLjFhZWQ4OTQ1YmJmN2FmM2Q2YjEzMWZiNWFi
NmYwMzNhNWM1MDkxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0w
MS0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSB2aWV3IHNvdXJjZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjcyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19zZXRfdmlld19zb3VyY2VfbW9kZSk6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3ZpZXdfc291cmNlX21vZGUpOgorICAgICAgICBNYWtlIHRoZXNlIG5vLW9wcy4KKwog
MjAxNC0wMS0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBQYWdlIHNob3VsZCB1c2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBJbnNwZWN0b3JD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMTMzYWRlMWI5YjE1MTFiODE2ODY1YzdlYzg4
YmE0Y2YzMjY5N2UwYy4uNWI3NDUwN2Y5ODAyZDI0MmMyOTcxZDg5MzlmZDcxYmEyMmU4ODMzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAxLTE4ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpZXcgc291cmNl
IGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoK
KwogMjAxNC0wMS0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBQYWdlIHNob3VsZCB1c2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBJbnNwZWN0
b3JDb250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYmI4YTYyOTVmYWI2YzMwZjg1NTM4MjIy
MWM3NjJhNDM1MmY4YjA1MS4uMTI2NDBhNTNiNWNjY2Y2OTM4MmExYmUyNWUwY2Y4OTAwZWU3Yjgy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTE4ICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpZXcgc291
cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViRnJhbWU6OmluVmlld1NvdXJjZU1vZGUpOgor
ICAgICAgICAoV2ViRnJhbWU6OnNldEluVmlld1NvdXJjZU1vZGUpOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6c2V0SW5WaWV3U291cmNlTW9kZSk6CisgICAgICAg
IChXZWJWaWV3OjppblZpZXdTb3VyY2VNb2RlKToKKyAgICAgICAgTWFrZSB0aGVzZSBuby1vcHMu
CisKIDIwMTQtMDEtMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogUGFnZSBzaG91bGQgdXNlIHN0ZDo6dW5pcXVlX3B0ciBmb3IgSW5zcGVj
dG9yQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzMzY2NWY4NjgwYmNlYzQzZTY2
MmRiNTU2NTg0OWUyZWQxM2M2MWQwLi44Y2JmNjc3ZGNkMWM2YTA4NDUyNWE3NmUxODczZjgyMGY0
Mzk0MmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTQ1Niw3ICsxNDU2LDYgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKICAgICBodG1sL0hU
TUxVTGlzdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAotICAgIGh0
bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKICAgICBodG1sL0hpZGRlbklucHV0VHlwZS5j
cHAKICAgICBodG1sL0ltYWdlRGF0YS5jcHAKICAgICBodG1sL0ltYWdlRG9jdW1lbnQuY3BwCkBA
IC0xNTU0LDkgKzE1NTMsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9wYXJzZXIv
SFRNTFNvdXJjZVRyYWNrZXIuY3BwCiAgICAgaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAK
ICAgICBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCi0gICAgaHRtbC9wYXJzZXIvSFRN
TFZpZXdTb3VyY2VQYXJzZXIuY3BwCiAgICAgaHRtbC9wYXJzZXIvVGV4dERvY3VtZW50UGFyc2Vy
LmNwcAotICAgIGh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmNwcAogICAgIGh0bWwv
cGFyc2VyL1hTU0F1ZGl0b3IuY3BwCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRl
LmNwcAogCkBAIC0yNjA5LDcgKzI2MDYsNiBAQCBzZXQoV2ViQ29yZV9VU0VSX0FHRU5UX1NUWUxF
X1NIRUVUUwogICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9wbHVnSW5zLmNzcwogICAgICR7V0VCQ09S
RV9ESVJ9L2Nzcy9xdWlya3MuY3NzCiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL3N2Zy5jc3MKLSAg
ICAke1dFQkNPUkVfRElSfS9jc3Mvdmlldy1zb3VyY2UuY3NzCiApCiAKIHNldChXZWJDb3JlX1BM
VUdfSU5TX1JFU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzgyYjQ3
YjkwYTA2MDc3YTJkZmY3ODQ5NmNmN2MyY2RlODE5NTM4Yi4uZGY1MmMzMzRhNjM1Zjk2MjQxNzI5
MjgyOWMwM2EwMjgyYWI0YzQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04
NTksNyArODU5LDcgQEAgWFBhdGhHcmFtbWFyLmNwcCA6IHhtbC9YUGF0aEdyYW1tYXIueSAkKFBS
T0pFQ1RfRklMRSkKIAogIyB1c2VyIGFnZW50IHN0eWxlIHNoZWV0cwogCi1VU0VSX0FHRU5UX1NU
WUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3NzL2h0bWwuY3NzICQoV2ViQ29yZSkvY3NzL3F1aXJr
cy5jc3MgJChXZWJDb3JlKS9jc3Mvdmlldy1zb3VyY2UuY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1l
V2luLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpblF1aXJrcy5jc3MgJChXZWJDb3JlKS9jc3Mv
cGx1Z0lucy5jc3MKK1VTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRt
bC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5j
c3MgJChXZWJDb3JlKS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzICQoV2ViQ29yZSkvY3NzL3BsdWdJ
bnMuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZHLCQoRkVBVFVSRV9ERUZJTkVT
KSksIEVOQUJMRV9TVkcpCiAgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VSX0FH
RU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQppbmRleCAyM2M4OTRkMTQ0ZGZiMjNiYzQ0MDlhMmE5YTJiNTkyZjBhYjdmYzc3Li41NWRjOWQz
MWM1ZmEyMTRmYjJiNDRlOTFlZWJmYjk1YjZmOGQ4NTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpA
QCAtMjcxLDcgKzI3MSw2IEBAIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gXAogCSQoV2ViQ29y
ZSkvY3NzL2h0bWwuY3NzIFwKIAkkKFdlYkNvcmUpL2Nzcy9tYXRobWwuY3NzIFwKIAkkKFdlYkNv
cmUpL2Nzcy9xdWlya3MuY3NzIFwKLQkkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgXAog
CSQoV2ViQ29yZSkvY3NzL3N2Zy5jc3MgXAogCSQoV2ViQ29yZSkvY3NzL21lZGlhQ29udHJvbHMu
Y3NzIFwKIAkkKFdlYkNvcmUpL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcyBcCkBAIC02OTksNyAr
Njk4LDYgQEAgRVhUUkFfRElTVCArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL3N2Zy5jc3MgXAog
CVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQcm9wZXJ0eU5hbWVzLmluIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbiBcCi0JU291cmNlL1dlYkNvcmUvY3NzL3Zp
ZXctc291cmNlLmNzcyBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdEZvbnRGYW1pbHlOYW1l
cy5pbiBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggNzFlZGFkYTgzOWI3ZWJkNGUxOGVmZGIxMjZiMTU5ZGY2OWI4OWFkYy4uMGVhOTJh
NDMwODQ4NmM4ZGVjZmZlZjU2ZmMwNzNkMTI2MTRlNTg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0zNTQxLDggKzM1NDEsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFVMaXN0RWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRl
b0VsZW1lbnQuaCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50
LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9IaWRkZW5JbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURh
dGEuY3BwIFwKQEAgLTM2MTYsMTQgKzM2MTQsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxWaWV3U291cmNlUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0lu
cHV0U3RyZWFtUHJlcHJvY2Vzc29yLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05l
c3RpbmdMZXZlbEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1Rl
eHREb2N1bWVudFBhcnNlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRE
b2N1bWVudFBhcnNlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0Vmlld1Nv
dXJjZVBhcnNlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291
cmNlUGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZGMzMjdlMjhhZjQ2
YTlkMWE3NDMzMDUzOTk0MDBmYmJjMzkxYjgyOC4uOTZjMjkxZDlmNGFlOWNiM2JhNjMwZmRmYmJk
NThlOTJiZTk3NzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0xNTY2Myw3ICsxNTY2Myw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0
aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEYXRhLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEb2N1bWVudC5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmNwcCIgLz4KQEAgLTE1
NzE1LDkgKzE1NzE0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2Vy
XEhUTUxTb3VyY2VUcmFja2VyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0
bWxccGFyc2VyXEhUTUxUb2tlbml6ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxwYXJzZXJcSFRNTFRyZWVCdWlsZGVyLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHREb2N1bWVudFBhcnNlci5jcHAi
IC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJj
ZVBhcnNlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxY
U1NBdWRpdG9yLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2Vy
XFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuY3BwIiAvPgpAQCAtMjA1MjksNyArMjA1MjYs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVHJhY2tFbGVtZW50Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxVTGlzdEVsZW1lbnQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVvRWxlbWVudC5oIiAv
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVmlld1NvdXJjZURvY3VtZW50
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlRGF0YS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxJbWFnZURvY3VtZW50LmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmgiIC8+CkBAIC0yMDU4
OSwxMSArMjA1ODUsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJc
SFRNTFRva2VuLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxI
VE1MVG9rZW5pemVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNl
clxIVE1MVHJlZUJ1aWxkZXIuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxc
cGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXHBhcnNlclxJbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHREb2N1bWVudFBh
cnNlci5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4dFZp
ZXdTb3VyY2VQYXJzZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFy
c2VyXFhTU0F1ZGl0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFy
c2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxzaGFkb3dcQ29udGVudERpc3RyaWJ1dG9yLmgiIC8+CkBAIC0yMTA1Myw3ICsyMTA0Nyw2
IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHN2Zy5jc3MiIC8+CiAgICAgPE5vbmUgSW5j
bHVkZT0iLi5cY3NzXHRoZW1lV2luLmNzcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxjc3Nc
dGhlbWVXaW5RdWlya3MuY3NzIiAvPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXGNzc1x2aWV3LXNv
dXJjZS5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cTW9kdWxlc1xtZWRpYWNvbnRyb2xz
XG1lZGlhQ29udHJvbHNBcHBsZS5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cTW9kdWxl
c1xtZWRpYWNvbnRyb2xzXG1lZGlhQ29udHJvbHNBcHBsZS5qcyIgLz4KICAgICA8Tm9uZSBJbmNs
dWRlPSIuLlx4bWxcWFBhdGhHcmFtbWFyLnkiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggYWJkZDZlNDUz
ZTcyNjYyOGVjOGYzZmI0NTUyYjYxNzQ0NzYzMTgzYi4uODFlZjdjZThkZGYzM2Q5NzNhYmQ3NmYx
NTRmZGM1NTk5MThmNTQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDAxNCw5ICs0MDE0LDYgQEAKICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVvRWxlbWVudC5jcHAiPgogICAg
ICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIj4KLSAgICAgIDxG
aWx0ZXI+aHRtbDwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxJbWFnZURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgpAQCAtNDE3MCwxNSArNDE2Nyw5IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxIVE1MVHJlZUJ1aWxkZXIuY3BwIj4KICAgICAgIDxG
aWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1lbnRQYXJzZXIuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHRWaWV3U291cmNlUGFy
c2VyLmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxYU1NBdWRpdG9y
LmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBp
bGU+CkBAIC0xMTExNyw5ICsxMTEwOCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
dG1sXEhUTUxWaWRlb0VsZW1lbnQuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZXdT
b3VyY2VEb2N1bWVudC5oIj4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgotICAgIDwvQ2xJ
bmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxJbWFnZURhdGEuaCI+CiAg
ICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTExMjk3LDkg
KzExMjg1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxU
cmVlQnVpbGRlci5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxW
aWV3U291cmNlUGFyc2VyLmgiPgotICAgICAgPEZpbHRlcj5odG1sXHBhcnNlcjwvRmlsdGVyPgot
ICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJc
SW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9G
aWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMTMwOSw5ICsxMTI5NCw2IEBACiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1lbnRQYXJzZXIuaCI+CiAg
ICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJjZVBhcnNlci5o
Ij4KLSAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3IuaCI+CiAg
ICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0x
NTA3Miw5ICsxNTA1NCw2IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXG1hdGhtbC5jc3Mi
PgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8L05vbmU+Ci0gICAgPE5vbmUgSW5j
bHVkZT0iLi5cY3NzXHZpZXctc291cmNlLmNzcyI+Ci0gICAgICA8RmlsdGVyPmNzczwvRmlsdGVy
PgotICAgIDwvTm9uZT4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxjc3Ncc3ZnLmNzcyI+CiAgICAg
ICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvTm9uZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4ZmM0NGE5NTYzZjNjNmYw
ODg0MzkxOTUyZmQ3NTdiNTlhYjIyZTk0Li4zYTllN2QwNmI2NzE2MjhhYWIzY2FkMjBlZDkyMWMw
OWI2NTNiZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0zMzk3LDggKzMzOTcsNiBAQAogCQk5NzdCMzg3NjEyMjg4M0U5MDBC
ODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lckhvc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3N0IzODVEMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MU2Ny
aXB0UnVubmVySG9zdC5oICovOyB9OwogCQk5NzdCMzg3NzEyMjg4M0U5MDBCODFGRjggLyogSFRN
TFRva2VuaXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NzdCMzg1RTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5jcHAgKi87IH07
CiAJCTk3N0IzODc4MTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVG9rZW5pemVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg1RjEyMjg4M0U5MDBC
ODFGRjggLyogSFRNTFRva2VuaXplci5oICovOyB9OwotCQk5NzdCMzg3OTEyMjg4M0U5MDBCODFG
RjggLyogSFRNTFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3
U291cmNlUGFyc2VyLmNwcCAqLzsgfTsKLQkJOTc3QjM4N0ExMjI4ODNFOTAwQjgxRkY4IC8qIEhU
TUxWaWV3U291cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzdCMzg2MTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFZpZXdTb3VyY2VQYXJz
ZXIuaCAqLzsgfTsKIAkJOTc3RTJEQ0QxMkYwRTI4MzAwQzEzMzc5IC8qIEhUTUxTb3VyY2VUcmFj
a2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3
N0UyRENCMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5jcHAgKi87IH07CiAJ
CTk3N0UyRENFMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3RTJEQ0MxMkYwRTI4MzAw
QzEzMzc5IC8qIEhUTUxTb3VyY2VUcmFja2VyLmggKi87IH07CiAJCTk3N0UyRTBFMTJGMEZDOUMw
MEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3N0UyRTBCMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNw
cCAqLzsgfTsKQEAgLTM0OTIsOCArMzQ5MCw2IEBACiAJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2
MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0ODExMjM2RkQ5MzAwMEM2MTYxIC8qIFRleHREb2N1bWVu
dFBhcnNlci5jcHAgKi87IH07CiAJCTk3QkM4NDg0MTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9j
dW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3QkM4NDgyMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCAqLzsg
fTsKIAkJOTdCQzg0OUIxMjM3MEE0QjAwMEM2MTYxIC8qIEhUTUxJbnB1dFN0cmVhbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0OUExMjM3MEE0
QjAwMEM2MTYxIC8qIEhUTUxJbnB1dFN0cmVhbS5oICovOyB9OwotCQk5N0JDODRBNDEyMzcwREM4
MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0QTIxMjM3MERDNzAwMEM2MTYxIC8qIFRl
eHRWaWV3U291cmNlUGFyc2VyLmNwcCAqLzsgfTsKLQkJOTdCQzg0QTUxMjM3MERDODAwMEM2MTYx
IC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3Vy
Y2VQYXJzZXIuaCAqLzsgfTsKIAkJOTdCQzg0QjMxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
N0JDODRCMTEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCAqLzsgfTsKIAkJOTdC
Qzg0QjQxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0QjIxMjM3MTE4MDAwMEM2MTYxIC8q
IFRleHREb2N1bWVudC5oICovOyB9OwogCQk5N0MwNzg1MDExNjVENUJFMDAzQTMyRUYgLyogU3Vm
Zml4VHJlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTdDMDc4NEYxMTY1RDVCRTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCAqLzsgfTsKQEAgLTUyNDIs
OCArNTIzOCw2IEBACiAJCUJDQ0JBRDNCMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0
aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNw
cCAqLzsgfTsKIAkJQkNDQkFENDAwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNDQkFE
M0UwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24uY3BwICovOyB9OwogCQlCQ0NC
QUQ0MTBDMThDMTQyMDBDRTg5MEYgLyogSlNIVE1MQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNDQkFEM0YwQzE4QzE0MjAwQ0U4OTBG
IC8qIEpTSFRNTENvbGxlY3Rpb24uaCAqLzsgfTsKLQkJQkNDRDc0REMwQTRDOEQzNTAwNUZEQTZE
IC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1Nv
dXJjZURvY3VtZW50LmggKi87IH07Ci0JCUJDQ0Q3NEU1MEE0QzhEREYwMDVGREE2RCAvKiBIVE1M
Vmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDQ0Q3NEU0MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcCAqLzsgfTsKIAkJQkNDRkJBRTgwQjUxNTJFRDAwMDFGMUQ3IC8qIERvY3VtZW50
UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0NGQkFFNzBCNTE1MkVEMDAwMUYxRDcgLyogRG9jdW1lbnRQYXJzZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0QwRTBGQTBFOTcyQzM1MDAy
NjVERUEgLyogU2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNEMEUwRjcwRTk3MkMzNTAwMjY1REVBIC8qIFNlY3VyaXR5T3Jp
Z2luLmNwcCAqLzsgfTsKIAkJQkNEMEUwRkIwRTk3MkMzNTAwMjY1REVBIC8qIFNlY3VyaXR5T3Jp
Z2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Qw
RTBGODBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAzODYsOCArMTAzODAsNiBAQAog
CQk5NzdCMzg1RDEyMjg4M0U5MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lckhvc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFNjcmlwdFJ1bm5lckhvc3QuaDsgcGF0
aCA9IHBhcnNlci9IVE1MU2NyaXB0UnVubmVySG9zdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5NzdCMzg1RTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MVG9rZW5pemVyLmNwcDsgcGF0
aCA9IHBhcnNlci9IVE1MVG9rZW5pemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc3QjM4NUYxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxUb2tlbml6ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFRva2VuaXplci5oOyBwYXRoID0gcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTc3QjM4NjAxMjI4
ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcDsgcGF0aCA9IHBh
cnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTk3N0IzODYxMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1NvdXJjZVBhcnNlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIVE1MVmlld1NvdXJjZVBhcnNlci5oOyBw
YXRoID0gcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk3N0UyRENCMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MU291cmNlVHJhY2tl
ci5jcHA7IHBhdGggPSBwYXJzZXIvSFRNTFNvdXJjZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5NzdFMkRDQzEyRjBFMjgzMDBDMTMzNzkgLyogSFRNTFNvdXJjZVRy
YWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFNvdXJjZVRyYWNr
ZXIuaDsgcGF0aCA9IHBhcnNlci9IVE1MU291cmNlVHJhY2tlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBYU1NBdWRpdG9yLmNwcDsgcGF0
aCA9IHBhcnNlci9YU1NBdWRpdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEwNDk3LDggKzEwNDg5LDYgQEAKIAkJOTdCQzg0ODExMjM2RkQ5MzAwMEM2MTYxIC8qIFRleHRE
b2N1bWVudFBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBU
ZXh0RG9jdW1lbnRQYXJzZXIuY3BwOyBwYXRoID0gcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDgyMTIzNkZEOTMwMDBDNjE2
MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gVGV4dERvY3VtZW50UGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvVGV4dERvY3VtZW50UGFyc2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDlBMTIzNzBBNEIwMDBDNjE2
MSAvKiBIVE1MSW5wdXRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SFRNTElucHV0U3RyZWFtLmg7IHBhdGggPSBwYXJzZXIvSFRNTElucHV0U3RyZWFtLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3QkM4NEEyMTIzNzBEQzcwMDBDNjE2MSAvKiBUZXh0
Vmlld1NvdXJjZVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBUZXh0Vmlld1NvdXJjZVBhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvVGV4dFZpZXdTb3VyY2VQ
YXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0JDODRBMzEyMzcwREM4
MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gVGV4dFZpZXdTb3VyY2VQYXJzZXIuaDsgcGF0aCA9IHBhcnNlci9UZXh0Vmll
d1NvdXJjZVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0JDODRCMTEy
MzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRleHREb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk3QkM4NEIyMTIzNzExODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dERvY3VtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk3QzA3ODRGMTE2NUQ1QkUwMDNBMzJFRiAvKiBTdWZmaXhUcmVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZmZpeFRyZWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjk4LDcgKzEyMjg4LDYgQEAKIAkJQkM1RUI5N0YwRTgy
MDcyNTAwQjI1OTY1IC8qIENvbnRlbnREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IENvbnRlbnREYXRhLmg7IHBhdGggPSBzdHlsZS9Db250ZW50RGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQkEwRTBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJh
bWVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEtleWZyYW1l
TGlzdC5jcHA7IHBhdGggPSBzdHlsZS9LZXlmcmFtZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzVFQkEwRjBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJhbWVMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEtleWZyYW1lTGlzdC5oOyBwYXRoID0g
c3R5bGUvS2V5ZnJhbWVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNUVD
MTc2MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9ICJ2aWV3LXNvdXJjZS5jc3MiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
QzYwNDlDQjBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ2FudmFzVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM2MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0NhbnZhc1ZhbHVlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2MDkwMUUwRTkxQjhFQzAwMEM2OEI1
IC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNFdmVudFRhcmdldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMjQ5NSw4ICsxMjQ4NCw2IEBACiAJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAv
KiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQ0NCQUQzRTBDMThDMTQyMDBDRTg5MEYgLyogSlNIVE1MQ29sbGVjdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQ29sbGVjdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQ0JBRDNGMEMxOEMxNDIwMENF
ODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0hUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJD
Q0Q3NERCMEE0QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDQ0Q3NEU0MEE0QzhEREYwMDVGREE2RCAvKiBI
VE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIERvY3VtZW50UGFyc2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudFBhcnNlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0QwRTBGNzBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJp
dHlPcmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VjdXJp
dHlPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0QwRTBGODBFOTcy
QzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2VjdXJpdHlPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE3NDg2LDggKzE3NDczLDYgQEAKIAkJCQlFNDQ2MTM5ODBDRDYzMzEwMDBGQURBNzUgLyogSFRN
TFZpZGVvRWxlbWVudC5jcHAgKi8sCiAJCQkJRTQ0NjEzOTkwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhU
TUxWaWRlb0VsZW1lbnQuaCAqLywKIAkJCQlFNDQ2MTM5QTBDRDYzMzEwMDBGQURBNzUgLyogSFRN
TFZpZGVvRWxlbWVudC5pZGwgKi8sCi0JCQkJQkNDRDc0RTQwQTRDOERERjAwNUZEQTZEIC8qIEhU
TUxWaWV3U291cmNlRG9jdW1lbnQuY3BwICovLAotCQkJCUJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2
RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggKi8sCiAJCQkJQTc3OTc5MTMwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5
IC8qIEltYWdlRGF0YS5oICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFn
ZURhdGEuaWRsICovLApAQCAtMTc5NDUsMTQgKzE3OTMwLDEwIEBACiAJCQkJOTc3QjM4NUYxMjI4
ODNFOTAwQjgxRkY4IC8qIEhUTUxUb2tlbml6ZXIuaCAqLywKIAkJCQk5NzdCMzcyMTEyMjg3MjE3
MDBCODFGRjggLyogSFRNTFRyZWVCdWlsZGVyLmNwcCAqLywKIAkJCQk5NzdCMzcyMjEyMjg3MjE3
MDBCODFGRjggLyogSFRNTFRyZWVCdWlsZGVyLmggKi8sCi0JCQkJOTc3QjM4NjAxMjI4ODNFOTAw
QjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLywKLQkJCQk5NzdCMzg2MTEyMjg4
M0U5MDBCODFGRjggLyogSFRNTFZpZXdTb3VyY2VQYXJzZXIuaCAqLywKIAkJCQlBODgwNUFGMTE2
Qzk2QUVBMDAwRTlEOTggLyogSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCAqLywKIAkJCQk4QTMw
OUM5RTEyMzk1MEJFMDBDQjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCAqLywKIAkJ
CQk5N0JDODQ4MTEyMzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFyc2VyLmNwcCAqLywK
IAkJCQk5N0JDODQ4MjEyMzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFyc2VyLmggKi8s
Ci0JCQkJOTdCQzg0QTIxMjM3MERDNzAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmNw
cCAqLywKLQkJCQk5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJz
ZXIuaCAqLywKIAkJCQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAg
Ki8sCiAJCQkJOTc3RTJFMEMxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCAqLywKIAkJ
CQk5NzdFMkUwQjEyRjBGQzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCAqLywK
QEAgLTIxNjkyLDcgKzIxNjczLDYgQEAKIAkJCQlCMjIyN0IwNDBEMDBCRkYxMDA3MUI3ODIgLyog
U1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbiAqLywKIAkJCQlGQjQ4NEY0QTE3MUY4MjFFMDAwNDA3NTUg
LyogVHJhbnNmb3JtRnVuY3Rpb25zLmNwcCAqLywKIAkJCQlGQjQ4NEY0QjE3MUY4MjFFMDAwNDA3
NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggKi8sCi0JCQkJQkM1RUMxNzYwQTUwN0UzRTAwNjAw
N0Y1IC8qIHZpZXctc291cmNlLmNzcyAqLywKIAkJCQkzRkZGRjlBQjE1OUQ5QjA2MDAyMEJCRDUg
LyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCAqLywKIAkJCQkzRkZGRjlBQzE1OUQ5QjA2MDAy
MEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmggKi8sCiAJCQkJMTUwQjkyMzcxNUYwOERD
NDAwRTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAgKi8sCkBAIC0yNDA0
Niw4ICsyNDAyNiw2IEBACiAJCQkJQThFQTc5RjIwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxVTGlz
dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0FCMENENjMzMTAwMEZBREE3NSAv
KiBIVE1MVmlkZW9FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U0RDE3RDAxOEND
MDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNDRDc0REMw
QTRDOEQzNTAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAotCQkJCTk3N0IzODdBMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1NvdXJjZVBhcnNlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzEwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBIZWFk
ZXJNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3M0FCNEI4MTdGOTJFQ0YwMDZFMEQ2RiAvKiBK
U0NhcGFiaWxpdHlSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzMwQ0U5MjNBMTAw
N0VGM0NEIC8qIEhUVFBQYXJzZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODU0LDcgKzI1ODMy
LDYgQEAKIAkJCQkwNzY5NzA4NzE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRyYWNrTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjFBRDRFNzQxM0ExMkE0NjAwODQ2QjI3IC8qIFRleHRUcmFja0xv
YWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk4NzcwRjExMjQyQzUzNTAwMjIyNkJBIC8qIFRl
eHR1cmUuaCBpbiBIZWFkZXJzICovLAotCQkJCTk3QkM4NEE1MTIzNzBEQzgwMDBDNjE2MSAvKiBU
ZXh0Vmlld1NvdXJjZVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNjU4RkYwRUE5MjQ4
QTAwN0U0NTMzIC8qIFRoZW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0U2NTlFNjBFQTkyRkIy
MDA3RTQ1MzMgLyogVGhlbWVNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0MkFGN0E5MTAyQ0RE
RUEwMDhGRDREMyAvKiBRdWlja0xvb2suaCBpbiBIZWFkZXJzICovLApAQCAtMjc0MTMsOCArMjcz
OTAsNiBAQAogCQkJCUE4RUE3OUYzMEExOTE2REYwMEE4RUY1RiAvKiBIVE1MVUxpc3RFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0FBMENENjMzMTAwMEZBREE3NSAvKiBIVE1M
VmlkZW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjVGODM4MTgyMkYxRUIwMEQ4
NENEOSAvKiBDcnlwdG9BbGdvcml0aG1ITUFDTWFjLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJD
Q0Q3NEU1MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTk3N0IzODc5MTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMyNjZEODE4MzE3QUI0MDAzRjhCMzMg
LyogQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVNYWMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTU4NEZFMkYxODY0Q0I4NDAwODQzQjEwIC8qIFBhZ2VJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4QzU2RDQwRjI4NjI3RjAwMDUwMkUxIC8qIEhU
VFBIZWFkZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTEwOCw3ICsyOTA4Myw2IEBACiAJ
CQkJQjFBRDRFNzMxM0ExMkE0NjAwODQ2QjI3IC8qIFRleHRUcmFja0xvYWRlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDRDFFNzM0NzE2N0JDNzhFMDA5QTg4NUQgLyogVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4NzcwRjAxMjQyQzUzNTAwMjIyNkJB
IC8qIFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTdCQzg0QTQxMjM3MERDODAwMEM2
MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTY1
RDMyMEVBRDEyMTEwMDdFNDUzMyAvKiBUaGVtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEMz
QjFGQzBGMEU0MTcwMDA5NjkzRjYgLyogVGlsZUNhY2hlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNFNjU5RTkwRUE5MkZGQTAwN0U0NTMzIC8qIFRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4
IDcxOGY4ODg0MzBhN2EzN2YzMTRlNjhhNWM5OTEzODA0YjY3MzBmYTYuLmMyZTFjMjNjZTdlZmE5
ZTMxYjcwMmRjZjZmMTk3YzA2OTQ3YjM1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC00OTEsMTEgKzQ5MSw2IEBAIGJvb2wgU2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1
dGVTY3JpcHRzIHJlYXNvCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAo
bV9mcmFtZS5kb2N1bWVudCgpICYmIG1fZnJhbWUuZG9jdW1lbnQoKS0+aXNWaWV3U291cmNlKCkp
IHsKLSAgICAgICAgQVNTRVJUKG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
aXNVbmlxdWUoKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQogICAgIGlmICghbV9m
cmFtZS5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcAppbmRleCBlNzAwMjQzMTM0NjA4MjVkN2MzODE0
MzYwYjA1N2JiMmQwMzVmNjQ1Li44NjY5MGU5ZmQyMzkyNGJmYmY1MDI5MzFhMmQxZGU3MDA0ZTkz
MTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcApA
QCAtNDcsNyArNDcsNiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogUnVsZVNldCogQ1NT
RGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGU7CiBSdWxlU2V0KiBDU1NEZWZhdWx0U3R5
bGVTaGVldHM6OmRlZmF1bHRRdWlya3NTdHlsZTsKIFJ1bGVTZXQqIENTU0RlZmF1bHRTdHlsZVNo
ZWV0czo6ZGVmYXVsdFByaW50U3R5bGU7Ci1SdWxlU2V0KiBDU1NEZWZhdWx0U3R5bGVTaGVldHM6
OmRlZmF1bHRWaWV3U291cmNlU3R5bGU7CiAKIFN0eWxlU2hlZXRDb250ZW50cyogQ1NTRGVmYXVs
dFN0eWxlU2hlZXRzOjpzaW1wbGVEZWZhdWx0U3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50
cyogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGVTaGVldDsKQEAgLTE0NSwxNyAr
MTQ0LDYgQEAgdm9pZCBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmxvYWRTaW1wbGVEZWZhdWx0U3R5
bGUoKQogICAgIC8vIE5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBxdWlya3Mgc2hlZXQgeWV0IGFzIHRo
ZXJlIGFyZSBubyBxdWlyayBydWxlcyBmb3IgZWxlbWVudHMgYWxsb3dlZCBpbiBzaW1wbGUgZGVm
YXVsdCBzdHlsZS4KIH0KIAotUnVsZVNldCogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjp2aWV3U291
cmNlU3R5bGUoKQotewotICAgIGlmICghZGVmYXVsdFZpZXdTb3VyY2VTdHlsZSkgewotICAgICAg
ICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiB2aWV3U291cmNlU3R5bGVTaGVldCA9IHBhcnNl
VUFTaGVldChzb3VyY2VVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yoc291cmNlVXNlckFnZW50
U3R5bGVTaGVldCkpOwotICAgICAgICBkZWZhdWx0Vmlld1NvdXJjZVN0eWxlID0gUnVsZVNldDo6
Y3JlYXRlKCkubGVha1B0cigpOwotICAgICAgICBkZWZhdWx0Vmlld1NvdXJjZVN0eWxlLT5hZGRS
dWxlc0Zyb21TaGVldCh2aWV3U291cmNlU3R5bGVTaGVldCwgc2NyZWVuRXZhbCgpKTsKLSAgICB9
Ci0gICAgcmV0dXJuIGRlZmF1bHRWaWV3U291cmNlU3R5bGU7Ci19Ci0KLQogdm9pZCBDU1NEZWZh
dWx0U3R5bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCwgYm9vbCYgY2hhbmdlZERlZmF1bHRTdHlsZSkKIHsKICAgICBpZiAoc2ltcGxl
RGVmYXVsdFN0eWxlU2hlZXQgJiYgIWVsZW1lbnRDYW5Vc2VTaW1wbGVEZWZhdWx0U3R5bGUoZWxl
bWVudCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0U3R5bGVT
aGVldHMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0U3R5bGVTaGVldHMuaAppbmRl
eCBjY2RiMTk2NWQ4OGI4NDAxOGNjZjMzZWY1ZTNhMjhkNmRhYzViNDg3Li5jYjEzN2FhODEzYmQ0
MTU2OTQ4OTdiODEzMzI1NWYzMWVkMjc4MzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Rl
ZmF1bHRTdHlsZVNoZWV0cy5oCkBAIC0zNCw3ICszNCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UnVsZVNldCogZGVmYXVsdFN0eWxlOwogICAgIHN0YXRpYyBSdWxlU2V0KiBkZWZhdWx0UXVpcmtz
U3R5bGU7CiAgICAgc3RhdGljIFJ1bGVTZXQqIGRlZmF1bHRQcmludFN0eWxlOwotICAgIHN0YXRp
YyBSdWxlU2V0KiBkZWZhdWx0Vmlld1NvdXJjZVN0eWxlOwogCiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogc2ltcGxlRGVmYXVsdFN0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogZGVmYXVsdFN0eWxlU2hlZXQ7CkBAIC00OSw3ICs0OCw2IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBsb2FkRnVsbERlZmF1bHRTdHlsZSgpOwogICAgIHN0YXRpYyB2b2lk
IGxvYWRTaW1wbGVEZWZhdWx0U3R5bGUoKTsKICAgICBzdGF0aWMgdm9pZCBpbml0RGVmYXVsdFN0
eWxlKEVsZW1lbnQqKTsKLSAgICBzdGF0aWMgUnVsZVNldCogdmlld1NvdXJjZVN0eWxlKCk7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRG9jdW1lbnRSdWxlU2V0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxl
U2V0cy5jcHAKaW5kZXggZDBkZDM3NDM0NTQyMzg3N2I1MTI0YzZhMWRiNmNlZTdlMjhmOWQ0OS4u
YTlkOTgzYTVkYjk4ODk1NDAyYjcwYTUxNGJmMTlkOTg1ZTgyMzMyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERvY3VtZW50
UnVsZVNldHM6OnJlc2V0QXV0aG9yU3R5bGUoKQogICAgIG1fYXV0aG9yU3R5bGUtPmRpc2FibGVB
dXRvU2hyaW5rVG9GaXQoKTsKIH0KIAotdm9pZCBEb2N1bWVudFJ1bGVTZXRzOjphcHBlbmRBdXRo
b3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NT
dHlsZVNoZWV0Pj4mIHN0eWxlU2hlZXRzLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpdW0sIElu
c3BlY3RvckNTU09NV3JhcHBlcnMmIGluc3BlY3RvckNTU09NV3JhcHBlcnMsIGJvb2wgaXNWaWV3
U291cmNlLCBTdHlsZVJlc29sdmVyKiByZXNvbHZlcikKK3ZvaWQgRG9jdW1lbnRSdWxlU2V0czo6
YXBwZW5kQXV0aG9yU3R5bGVTaGVldHModW5zaWduZWQgZmlyc3ROZXcsIGNvbnN0IFZlY3RvcjxS
ZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiBzdHlsZVNoZWV0cywgTWVkaWFRdWVyeUV2YWx1YXRvciog
bWVkaXVtLCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzJiBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzLCBT
dHlsZVJlc29sdmVyKiByZXNvbHZlcikKIHsKICAgICAvLyBUaGlzIGhhbmRsZXMgc2hlZXRzIGFk
ZGVkIHRvIHRoZSBlbmQgb2YgdGhlIHN0eWxlc2hlZXQgbGlzdCBvbmx5LiBJbiBvdGhlciBjYXNl
cyB0aGUgc3R5bGUgcmVzb2x2ZXIKICAgICAvLyBuZWVkcyB0byBiZSByZWNvbnN0cnVjdGVkLiBU
byBoYW5kbGUgaW5zZXJ0aW9ucyB0b28gdGhlIHJ1bGUgb3JkZXIgbnVtYmVycyB3b3VsZCBuZWVk
IHRvIGJlIHVwZGF0ZWQuCkBAIC0xMDcsMTAgKzEwNywxMCBAQCB2b2lkIERvY3VtZW50UnVsZVNl
dHM6OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBjb25zdCBWZWN0
b3I8UgogICAgICAgICBpbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNvbGxlY3RGcm9tU3R5bGVTaGVl
dElmTmVlZGVkKGNzc1NoZWV0KTsKICAgICB9CiAgICAgbV9hdXRob3JTdHlsZS0+c2hyaW5rVG9G
aXQoKTsKLSAgICBjb2xsZWN0RmVhdHVyZXMoaXNWaWV3U291cmNlLCByZXNvbHZlci0+c2NvcGVS
ZXNvbHZlcigpKTsKKyAgICBjb2xsZWN0RmVhdHVyZXMocmVzb2x2ZXItPnNjb3BlUmVzb2x2ZXIo
KSk7CiB9CiAKLXZvaWQgRG9jdW1lbnRSdWxlU2V0czo6Y29sbGVjdEZlYXR1cmVzKGJvb2wgaXNW
aWV3U291cmNlLCBTdHlsZVNjb3BlUmVzb2x2ZXIqIHNjb3BlUmVzb2x2ZXIpCit2b2lkIERvY3Vt
ZW50UnVsZVNldHM6OmNvbGxlY3RGZWF0dXJlcyhTdHlsZVNjb3BlUmVzb2x2ZXIqIHNjb3BlUmVz
b2x2ZXIpCiB7CiAgICAgbV9mZWF0dXJlcy5jbGVhcigpOwogICAgIC8vIENvbGxlY3QgYWxsIGlk
cyBhbmQgcnVsZXMgdXNpbmcgc2libGluZyBzZWxlY3RvcnMgKDpmaXJzdC1jaGlsZCBhbmQgc2lt
aWxhcikKQEAgLTEyMCw5ICsxMjAsNiBAQCB2b2lkIERvY3VtZW50UnVsZVNldHM6OmNvbGxlY3RG
ZWF0dXJlcyhib29sIGlzVmlld1NvdXJjZSwgU3R5bGVTY29wZVJlc29sdmVyKiBzYwogICAgICAg
ICBtX2ZlYXR1cmVzLmFkZChDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1bHRTdHlsZS0+ZmVh
dHVyZXMoKSk7CiAgICAgaWYgKG1fYXV0aG9yU3R5bGUpCiAgICAgICAgIG1fZmVhdHVyZXMuYWRk
KG1fYXV0aG9yU3R5bGUtPmZlYXR1cmVzKCkpOwotICAgIGlmIChpc1ZpZXdTb3VyY2UpCi0gICAg
ICAgIG1fZmVhdHVyZXMuYWRkKENTU0RlZmF1bHRTdHlsZVNoZWV0czo6dmlld1NvdXJjZVN0eWxl
KCktPmZlYXR1cmVzKCkpOwotCiAgICAgaWYgKHNjb3BlUmVzb2x2ZXIpCiAgICAgICAgIHNjb3Bl
UmVzb2x2ZXItPmNvbGxlY3RGZWF0dXJlc1RvKG1fZmVhdHVyZXMpOwogICAgIGlmIChtX3VzZXJT
dHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5oCmluZGV4IDAwYTI3MTkzODlm
Yzk0NjM0MDNmZTc2NzVhZTFiMGFkMWVkZWYzMjQuLmJiNzBlMTRjM2I2ODMyMzExYjE2MDQyMDE0
NjMwYjgxMzhkZjA0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1
bGVTZXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50UnVsZVNldHMuaApAQCAt
NTMsOSArNTMsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGluaXRVc2VyU3R5bGUoRG9jdW1lbnRT
dHlsZVNoZWV0Q29sbGVjdGlvbiYsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImLCBTdHlsZVJl
c29sdmVyJik7CiAgICAgdm9pZCByZXNldEF1dGhvclN0eWxlKCk7Ci0gICAgdm9pZCBhcHBlbmRB
dXRob3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVjdG9yPFJlZlB0cjxD
U1NTdHlsZVNoZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgSW5zcGVjdG9yQ1NTT01XcmFw
cGVycyYsIGJvb2wgaXNWaWV3U291cmNlLCBTdHlsZVJlc29sdmVyKik7CisgICAgdm9pZCBhcHBl
bmRBdXRob3JTdHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVjdG9yPFJlZlB0
cjxDU1NTdHlsZVNoZWV0Pj4mLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiwgSW5zcGVjdG9yQ1NTT01X
cmFwcGVycyYsIFN0eWxlUmVzb2x2ZXIqKTsKIAotICAgIHZvaWQgY29sbGVjdEZlYXR1cmVzKGJv
b2wgaXNWaWV3U291cmNlLCBTdHlsZVNjb3BlUmVzb2x2ZXIqKTsKKyAgICB2b2lkIGNvbGxlY3RG
ZWF0dXJlcyhTdHlsZVNjb3BlUmVzb2x2ZXIqKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNvbGxl
Y3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNo
ZWV0Pj4mLCBSdWxlU2V0JiB1c2VyU3R5bGUsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImLCBT
dHlsZVJlc29sdmVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1
bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
LmNwcAppbmRleCBiYTliN2EyMmJkODc4ZjJmMTE4OTUzNTVkZWE4ZWEyN2E5YTA0YzM2Li4wNzNh
NGIzZTQyYmQ1Y2ViZGQ0MWVkYWUzMzE5MWMwNzkyNzcyYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTI3MiwxMCArMjcyLDYgQEAgdm9pZCBF
bGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKCkKICAgICAvLyBJbiBxdWlya3MgbW9k
ZSwgd2UgbWF0Y2ggcnVsZXMgZnJvbSB0aGUgcXVpcmtzIHVzZXIgYWdlbnQgc2hlZXQuCiAgICAg
aWYgKGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpCiAgICAgICAgIG1hdGNoVUFSdWxlcyhDU1NE
ZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1bHRRdWlya3NTdHlsZSk7Ci0KLSAgICAvLyBJZiBkb2N1
bWVudCB1c2VzIHZpZXcgc291cmNlIHN0eWxlcyAoaW4gdmlldyBzb3VyY2UgbW9kZSBvciBpbiB4
bWwgdmlld2VyIG1vZGUpLCB0aGVuIHdlIG1hdGNoIHJ1bGVzIGZyb20gdGhlIHZpZXcgc291cmNl
IHN0eWxlIHNoZWV0LgotICAgIGlmIChkb2N1bWVudCgpLmlzVmlld1NvdXJjZSgpKQotICAgICAg
ICBtYXRjaFVBUnVsZXMoQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjp2aWV3U291cmNlU3R5bGUoKSk7
CiB9CiAKIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6Om1hdGNoVUFSdWxlcyhSdWxlU2V0KiBy
dWxlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAyY2ZjZTIyYTFiZTc1
YWNmYmViMTc3NGI0OTA1N2YzZTEyMjdkMDgxLi5mNThiMWNiYmQ2MTZkMThlMTczMjZiMGE4YjQ0
NjNjOTZkNjkzZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zMjcs
NyArMzI3LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVudCYgZG9jdW1l
bnQsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBjb25zdCBWZWN0b3I8
UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYgc3R5bGVTaGVldHMpCiB7Ci0gICAgbV9ydWxlU2V0cy5h
cHBlbmRBdXRob3JTdHlsZVNoZWV0cyhmaXJzdE5ldywgc3R5bGVTaGVldHMsIG1fbWVkaXVtLmdl
dCgpLCBtX2luc3BlY3RvckNTU09NV3JhcHBlcnMsIGRvY3VtZW50KCkuaXNWaWV3U291cmNlKCks
IHRoaXMpOworICAgIG1fcnVsZVNldHMuYXBwZW5kQXV0aG9yU3R5bGVTaGVldHMoZmlyc3ROZXcs
IHN0eWxlU2hlZXRzLCBtX21lZGl1bS5nZXQoKSwgbV9pbnNwZWN0b3JDU1NPTVdyYXBwZXJzLCB0
aGlzKTsKICAgICBpZiAoYXV0byByZW5kZXJWaWV3ID0gZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCkp
CiAgICAgICAgIHJlbmRlclZpZXctPnN0eWxlKCkuZm9udCgpLnVwZGF0ZShmb250U2VsZWN0b3Io
KSk7CiAKQEAgLTg2Miw3ICs4NjIsNyBAQCBQYXNzUmVmPFJlbmRlclN0eWxlPiBTdHlsZVJlc29s
dmVyOjpzdHlsZUZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgUmVuZGVyU3R5bAogICAgIGJv
b2wgbmVlZHNDb2xsZWN0aW9uID0gZmFsc2U7CiAgICAgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpl
bnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGVsZW1lbnQsIG5lZWRzQ29sbGVjdGlv
bik7CiAgICAgaWYgKG5lZWRzQ29sbGVjdGlvbikKLSAgICAgICAgbV9ydWxlU2V0cy5jb2xsZWN0
RmVhdHVyZXMoZG9jdW1lbnQoKS5pc1ZpZXdTb3VyY2UoKSwgbV9zY29wZVJlc29sdmVyLmdldCgp
KTsKKyAgICAgICAgbV9ydWxlU2V0cy5jb2xsZWN0RmVhdHVyZXMobV9zY29wZVJlc29sdmVyLmdl
dCgpKTsKIAogICAgIEVsZW1lbnRSdWxlQ29sbGVjdG9yIGNvbGxlY3Rvcih0aGlzLCBzdGF0ZSk7
CiAgICAgY29sbGVjdG9yLnNldFJlZ2lvbkZvclN0eWxpbmcocmVnaW9uRm9yU3R5bGluZyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mvdmlldy1zb3VyY2UuY3NzIGIvU291cmNlL1dl
YkNvcmUvY3NzL3ZpZXctc291cmNlLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzgyNWM1ZmJiNDVmYjVhYjMwNTY3NmY2MzY1NDM0MmNkYjEwYmE1Yi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mvdmlldy1z
b3VyY2UuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi1ib2R5IHsK
LSAgICBtYXJnaW46IDAKLX0KLQotdGFibGUgewotICAgIHdpZHRoOiAxMDAlOwotICAgIGJvcmRl
ci1zcGFjaW5nOiAwOwotICAgIGNvdW50ZXItcmVzZXQ6IGxpbmVzOwotICAgIHdoaXRlLXNwYWNl
OiBwcmUtd3JhcCAhaW1wb3J0YW50OwotICAgIG1hcmdpbjogMDsKLSAgICB3b3JkLWJyZWFrOiBi
cmVhay13b3JkOwotICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsKLSAgICBmb250LWZhbWlseTogbW9u
b3NwYWNlOwotfQotCi10ZCB7Ci0gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwotICAgIHZlcnRp
Y2FsLWFsaWduOiBiYXNlbGluZQotfQotCi0ud2Via2l0LWxpbmUtZ3V0dGVyLWJhY2tkcm9wLCAu
d2Via2l0LWxpbmUtbnVtYmVyIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3Bl
Y3Rvci5jc3MgKC53ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ryb3ApICovCi0gICAgYm94LXNpemlu
ZzogYm9yZGVyLWJveDsKLSAgICBwYWRkaW5nOiAwIDRweCAhaW1wb3J0YW50OwotICAgIHdpZHRo
OiAzMXB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTsKLSAgICBi
b3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2IoMTg3LCAxODcsIDE4NykgIWltcG9ydGFudDsKLSAg
ICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotfQotCi0ud2Via2l0LWxpbmUtZ3V0dGVyLWJh
Y2tkcm9wIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53
ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ryb3ApICovCi0gICAgcG9zaXRpb246IGFic29sdXRlOwot
ICAgIHotaW5kZXg6IC0xOwotICAgIGxlZnQ6IDA7Ci0gICAgdG9wOiAwOwotICAgIGhlaWdodDog
MTAwJQotfQotCi0ud2Via2l0LWxpbmUtbnVtYmVyIHsKLSAgICB0ZXh0LWFsaWduOiByaWdodDsK
LSAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwotICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsK
LSAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwotICAgIGZvbnQtc2l6ZTogOXB4OwotICAgIGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2EKLX0KLQotLndlYmtpdC1saW5lLW51bWJlcjo6YmVmb3JlIHsKLSAg
ICBjb250ZW50OiBjb3VudGVyKGxpbmVzKTsKLSAgICBjb3VudGVyLWluY3JlbWVudDogbGluZXM7
Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQotfQotCi10Ym9keTpsYXN0LWNoaWxkIC53
ZWJraXQtbGluZS1jb250ZW50OmVtcHR5OmJlZm9yZSB7Ci0gICAgY29udGVudDogIiAiOwotfQot
Ci0ud2Via2l0LWxpbmUtY29udGVudCB7Ci0gICAgcGFkZGluZzogMCA1cHggIWltcG9ydGFudDsK
LX0KLQotLndlYmtpdC1odG1sLXRhZyB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBp
bnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtdGFnKSAqLwotICAgIGNvbG9yOiByZ2IoMTM2LCAx
OCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIHsKLSAgICAvKiBLZWVw
IHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
bmFtZSkgKi8KLSAgICBjb2xvcjogcmdiKDE1MywgNjksIDApOwotfQotCi0ud2Via2l0LWh0bWwt
YXR0cmlidXRlLXZhbHVlIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rv
ci5jc3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUpICovCi0gICAgY29sb3I6IHJnYigy
NiwgMjYsIDE2Nik7Ci19Ci0KLS53ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rLCAud2Via2l0LWh0
bWwtcmVzb3VyY2UtbGluayB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBpbnNwZWN0
b3IuY3NzICgud2Via2l0LWh0bWwtZXh0ZXJuYWwtbGluaywgLndlYmtpdC1odG1sLXJlc291cmNl
LWxpbmspICovCi0gICAgY29sb3I6ICMwMGU7Ci19Ci0KLS53ZWJraXQtaHRtbC1leHRlcm5hbC1s
aW5rIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJr
aXQtaHRtbC1leHRlcm5hbC1saW5rKSAqLwotICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLX0K
LQotLndlYmtpdC1odG1sLWV4dGVybmFsLWxpbms6aG92ZXIgewotICAgIC8qIEtlZXAgdGhpcyBp
biBzeW5jIHdpdGggaW5zcGVjdG9yLmNzcyAoLndlYmtpdC1odG1sLWV4dGVybmFsLWxpbms6aG92
ZXIpICovCi0gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ci19Ci0KLS53ZWJraXQtaHRt
bC1jb21tZW50IHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3Mg
KC53ZWJraXQtaHRtbC1jb21tZW50KSAqLwotICAgIGNvbG9yOiByZ2IoMzUsIDExMCwgMzcpOwot
fQotCi0ud2Via2l0LWh0bWwtZG9jdHlwZSB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0
aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtZG9jdHlwZSkgKi8KLSAgICBjb2xvcjogcmdi
KDE5MiwgMTkyLCAxOTIpOwotfQotCi0ud2Via2l0LWh0bWwtZW50aXR5IHsKLSAgICByZ2IoMTM2
LCAxOCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLW1lc3NhZ2UtYnViYmxlIHsKLSAgICBib3gt
c2hhZG93OiBibGFjayAwcHggMnB4IDVweDsKLSAgICBib3JkZXItcmFkaXVzOiA5cHg7Ci0gICAg
LXdlYmtpdC1ib3JkZXItZml0OiBsaW5lczsKLSAgICBtaW4taGVpZ2h0OiAxM3B4OwotICAgIGZv
bnQtc2l6ZTogOXB4OwotICAgIGZvbnQtZmFtaWx5OiBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlm
OwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIG1hcmdpbjogNnB4IDI1cHg7Ci0gICAgcGFk
ZGluZzogMCA3cHggMXB4OwotfQotCi0ud2Via2l0LWh0bWwtd2FybmluZy1tZXNzYWdlIHsKLSAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAwJSwgNjIlLCA0MiUpOwotICAgIGJvcmRlcjogMnB4
IHNvbGlkIHJnYigxMDAlLCA1MiUsIDIxJSk7Ci19Ci0KLS53ZWJraXQtaHRtbC1lcnJvci1tZXNz
YWdlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAwJSwgNDIlLCA0MiUpOwotICAgIGJv
cmRlcjogMnB4IHNvbGlkIHJnYigxMDAlLCAzMSUsIDMxJSk7Ci19Ci0KLS53ZWJraXQtaHRtbC1t
ZXNzYWdlLWxpbmUgewotICAgIHBhZGRpbmctbGVmdDogMjNweDsKLSAgICB0ZXh0LWluZGVudDog
LTIwcHg7Ci19Ci0KLS53ZWJraXQtaHRtbC1tZXNzYWdlLWljb24gewotICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKLSAgICB0b3A6IDJweDsKLSAgICBtYXJnaW46IDAgNHB4OwotfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKaW5kZXggMDgxYzg1NjBhMWE4ZjhlNzRmODBi
MGVkNTdiZGQzNTM5ZDY3MDcyZC4uZDY4ODBlY2E4Mjg3NTYxYjhiMWVkNWMxZjRkYmQ1ZGRhN2Yx
YWI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGVFBE
aXJlY3RvcnlEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgotI2luY2x1ZGUg
IkhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUg
IkltYWdlRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYURvY3VtZW50LmgiCkBAIC0zMTYsMTEg
KzMxNSw4IEBAIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3Jl
YXRlSFRNTERvY3VtZW50KGNvbnN0IFN0cmluZyYgdGl0CiAgICAgcmV0dXJuIGQucmVsZWFzZSgp
OwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9j
dW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCBi
b29sIGluVmlld1NvdXJjZU1vZGUpCitQYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBsZW1lbnRh
dGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSogZnJhbWUsIGNv
bnN0IFVSTCYgdXJsKQogewotICAgIGlmIChpblZpZXdTb3VyY2VNb2RlKQotICAgICAgICByZXR1
cm4gSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6Y3JlYXRlKGZyYW1lLCB1cmwsIHR5cGUpOwotCiAg
ICAgLy8gUGx1Z2lucyBjYW5ub3QgdGFrZSBIVE1MIGFuZCBYSFRNTCBmcm9tIHVzLCBhbmQgd2Ug
ZG9uJ3QgZXZlbiBuZWVkIHRvIGluaXRpYWxpemUgdGhlIHBsdWdpbiBkYXRhYmFzZSBmb3IgdGhv
c2UuCiAgICAgaWYgKHR5cGUgPT0gInRleHQvaHRtbCIpCiAgICAgICAgIHJldHVybiBIVE1MRG9j
dW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9ET01JbXBsZW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmgKaW5kZXggYWJhZmNhNTNmMzBhZjM2ZDMyOWNkODJhZTU4NjFkMmM5NDhkYzY5YS4uMWY2
MzcwNTc0MGE1MjFjMDMwYWIzMzM0MzcxMzU1OGFiOTc3YzgwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIFBhc3NS
ZWZQdHI8SFRNTERvY3VtZW50PiBjcmVhdGVIVE1MRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0aXRs
ZSk7CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFydCBvZiBET00pCi0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGNyZWF0ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgTUlNRVR5
cGUsIEZyYW1lKiwgY29uc3QgVVJMJiwgYm9vbCBpblZpZXdTb3VyY2VNb2RlKTsKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEb2N1bWVudD4gY3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBNSU1F
VHlwZSwgRnJhbWUqLCBjb25zdCBVUkwmKTsKIAogICAgIHN0YXRpYyBib29sIGlzWE1MTUlNRVR5
cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CiAgICAgc3RhdGljIGJvb2wgaXNUZXh0TUlNRVR5
cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA2
ZGY4NWM3NzUzZjhjZmUzMTMyMWFkMGI1NzdmMmZlYzdjNDQ0OTU2Li44ZjdkODRmZDM5NjUzOTUy
YmVhODIzMjc3NjI0NzQwOTNiODI0MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ1
OCw3ICs0NTgsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBVUkwm
IHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAgICwgbV9kb2N1bWVudENs
YXNzZXMoZG9jdW1lbnRDbGFzc2VzKQogICAgICwgbV9pc1N5bnRoZXNpemVkKGNvbnN0cnVjdGlv
bkZsYWdzICYgU3ludGhlc2l6ZWQpCiAgICAgLCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRlcihj
b25zdHJ1Y3Rpb25GbGFncyAmIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIpCi0gICAgLCBtX2lzVmll
d1NvdXJjZShmYWxzZSkKICAgICAsIG1fc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlcyhmYWxz
ZSkKICAgICAsIG1faXNTcmNkb2NEb2N1bWVudChmYWxzZSkKICAgICAsIG1fZXZlbnRRdWV1ZSgq
dGhpcykKQEAgLTE5MjAsMTUgKzE5MTksNiBAQCB2b2lkIERvY3VtZW50OjpwYWdlU2l6ZUFuZE1h
cmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4LCBJbnRTaXplJiBwYWdlU2l6ZSwgaW50JgogICAg
IG1hcmdpbkxlZnQgPSBzdHlsZS0+bWFyZ2luTGVmdCgpLmlzQXV0bygpID8gbWFyZ2luTGVmdCA6
IGludFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5tYXJnaW5MZWZ0KCksIHdpZHRoLCB2aWV3KTsKIH0K
IAotdm9pZCBEb2N1bWVudDo6c2V0SXNWaWV3U291cmNlKGJvb2wgaXNWaWV3U291cmNlKQotewot
ICAgIG1faXNWaWV3U291cmNlID0gaXNWaWV3U291cmNlOwotICAgIGlmICghbV9pc1ZpZXdTb3Vy
Y2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIHNldFNlY3VyaXR5T3JpZ2luKFNlY3VyaXR5T3Jp
Z2luOjpjcmVhdGVVbmlxdWUoKSk7Ci19Ci0KIHZvaWQgRG9jdW1lbnQ6OmNyZWF0ZVN0eWxlUmVz
b2x2ZXIoKQogewogICAgIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggM2FlN2Y0OWZiNDQzMmYyYWJlN2JhNDlkOGM5OTFiZmM4ZTRk
ODVkZS4uMTE2NzM0ZGI3YjdhZDVjZjBhODg1OTQ3ZWY4ODI5MzFmZGU3OGI3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTQ3OSw5ICs0NzksNiBAQCBwdWJsaWM6CiAKICAgICBTdHlsZVJlc29s
dmVyKiBzdHlsZVJlc29sdmVySWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlUmVzb2x2
ZXIuZ2V0KCk7IH0KIAotICAgIGJvb2wgaXNWaWV3U291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9p
c1ZpZXdTb3VyY2U7IH0KLSAgICB2b2lkIHNldElzVmlld1NvdXJjZShib29sKTsKLQogICAgIGJv
b2wgc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2F3RWxl
bWVudHNJbktub3duTmFtZXNwYWNlczsgfQogCiAgICAgU3R5bGVSZXNvbHZlciYgZW5zdXJlU3R5
bGVSZXNvbHZlcigpCkBAIC0xNTAyLDcgKzE0OTksNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9p
c1N5bnRoZXNpemVkOwogICAgIGJvb2wgbV9pc05vblJlbmRlcmVkUGxhY2Vob2xkZXI7CiAKLSAg
ICBib29sIG1faXNWaWV3U291cmNlOwogICAgIGJvb2wgbV9zYXdFbGVtZW50c0luS25vd25OYW1l
c3BhY2VzOwogICAgIGJvb2wgbV9pc1NyY2RvY0RvY3VtZW50OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDk0OWQwNGZkZjY0OWNhNjZjMTcyNmU3MmIy
YThkZjYyMjllMjkyMjYuLmRkNzdkYzNjZjY0MzQ5YTM0YjRjNWI5ZDkyZjc0YTZkN2ZiNDg1Y2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0zMzgsNyAr
MzM4LDYgQEAgdmFsaWduCiB2YWx1ZQogdmFsdWV0eXBlCiB2ZXJzaW9uCi12aWV3c291cmNlCiB2
bGluawogdnNwYWNlCiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXggYmI4MTNhNWVlNzBjMDFkMDIzNDE3ZDhh
ZGNhNThjNGUxNmEwOGRjMi4uZmM4MWU4ZGVkMjJhNjFjMmZmZWQ4NWM5ZDBkN2YwZWY3ZjQ4ZGRk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKQEAg
LTQ5LDcgKzQ5LDYgQEAgSFRNTEZyYW1lRWxlbWVudEJhc2U6OkhUTUxGcmFtZUVsZW1lbnRCYXNl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW4KICAgICAsIG1fc2Nyb2xsaW5n
KFNjcm9sbGJhckF1dG8pCiAgICAgLCBtX21hcmdpbldpZHRoKC0xKQogICAgICwgbV9tYXJnaW5I
ZWlnaHQoLTEpCi0gICAgLCBtX3ZpZXdTb3VyY2UoZmFsc2UpCiB7CiAgICAgc2V0SGFzQ3VzdG9t
U3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC04Nyw4ICs4Niw2IEBAIHZvaWQgSFRNTEZy
YW1lRWxlbWVudEJhc2U6Om9wZW5VUkwoYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0Zv
cndhcmRMaXN0KQogICAgICAgICByZXR1cm47CiAKICAgICBwYXJlbnRGcmFtZS0+bG9hZGVyKCku
c3ViZnJhbWVMb2FkZXIoKS5yZXF1ZXN0RnJhbWUoKnRoaXMsIG1fVVJMLCBtX2ZyYW1lTmFtZSwg
bG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QpOwotICAgIGlmIChjb250ZW50RnJhbWUo
KSkKLSAgICAgICAgY29udGVudEZyYW1lKCktPnNldEluVmlld1NvdXJjZU1vZGUodmlld1NvdXJj
ZU1vZGUoKSk7CiB9CiAKIHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmgKaW5kZXggMDA3ZmY1NDhh
MzU5NjQ4Y2Q1NjVjYzc1MDc1ZDRlNzMzMDRjNTMyNS4uMjA1NjI2MWI5ZWY0Njc2MjQzYWYyODI2
NWE2NzBkY2QwNjE3MzA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJh
bWVFbGVtZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVu
dEJhc2UuaApAQCAtNjUsOCArNjUsNiBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIGFy
ZUF1dGhvclNoYWRvd3NBbGxvd2VkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
IAotICAgIGJvb2wgdmlld1NvdXJjZU1vZGUoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdTb3VyY2U7
IH0KLQogICAgIHZvaWQgc2V0TmFtZUFuZE9wZW5VUkwoKTsKICAgICB2b2lkIG9wZW5VUkwoYm9v
bCBsb2NrSGlzdG9yeSA9IHRydWUsIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCA9IHRydWUpOwog
CkBAIC03Nyw4ICs3NSw2IEBAIHByaXZhdGU6CiAKICAgICBpbnQgbV9tYXJnaW5XaWR0aDsKICAg
ICBpbnQgbV9tYXJnaW5IZWlnaHQ7Ci0KLSAgICBib29sIG1fdmlld1NvdXJjZTsKIH07CiAKIHZv
aWQgaXNIVE1MRnJhbWVFbGVtZW50QmFzZShjb25zdCBIVE1MRnJhbWVFbGVtZW50QmFzZSYpOyAv
LyBDYXRjaCB1bm5lY2Vzc2FyeSBydW50aW1lIGNoZWNrIG9mIHR5cGUga25vd24gYXQgY29tcGls
ZSB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNzA1ZDljZWI3YzA5MDM2YmE1ZTA3
NzdhODhhZTRlN2E0NGY3MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDI5NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCIKLQotI2luY2x1ZGUg
IkRPTUltcGxlbWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVj
dGlvbi5oIgotI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTEJS
RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxC
b2R5RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRN
TEh0bWxFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaCIKLSNpbmNs
dWRlICJIVE1MVGFibGVFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRhYmxlUm93RWxlbWVudC5o
IgotI2luY2x1ZGUgIkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmgiCi0jaW5jbHVkZSAiVGV4dC5o
IgotI2luY2x1ZGUgIlRleHRWaWV3U291cmNlUGFyc2VyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotSFRNTFZpZXdTb3VyY2VEb2N1bWVu
dDo6SFRNTFZpZXdTb3VyY2VEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQotICAgIDogSFRNTERvY3VtZW50KGZyYW1lLCB1cmwpCi0g
ICAgLCBtX3R5cGUobWltZVR5cGUpCi17Ci0gICAgc3R5bGVTaGVldENvbGxlY3Rpb24oKS5zZXRV
c2VzQmVmb3JlQWZ0ZXJSdWxlc092ZXJyaWRlKHRydWUpOwotICAgIHNldElzVmlld1NvdXJjZSh0
cnVlKTsKLQotICAgIHNldENvbXBhdGliaWxpdHlNb2RlKFF1aXJrc01vZGUpOwotICAgIGxvY2tD
b21wYXRpYmlsaXR5TW9kZSgpOwotfQotCi1QYXNzUmVmUHRyPERvY3VtZW50UGFyc2VyPiBIVE1M
Vmlld1NvdXJjZURvY3VtZW50OjpjcmVhdGVQYXJzZXIoKQotewotICAgIGlmIChtX3R5cGUgPT0g
InRleHQvaHRtbCIgfHwgbV90eXBlID09ICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiIHx8IG1fdHlw
ZSA9PSAiaW1hZ2Uvc3ZnK3htbCIgfHwgRE9NSW1wbGVtZW50YXRpb246OmlzWE1MTUlNRVR5cGUo
bV90eXBlKSkKLSAgICAgICAgcmV0dXJuIEhUTUxWaWV3U291cmNlUGFyc2VyOjpjcmVhdGUoKnRo
aXMpOwotCi0gICAgcmV0dXJuIFRleHRWaWV3U291cmNlUGFyc2VyOjpjcmVhdGUoKnRoaXMpOwot
fQotCi12b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmNyZWF0ZUNvbnRhaW5pbmdUYWJsZSgp
Ci17Ci0gICAgUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gaHRtbCA9IEhUTUxIdG1sRWxlbWVudDo6
Y3JlYXRlKCp0aGlzKTsKLSAgICBwYXJzZXJBcHBlbmRDaGlsZChodG1sKTsKLSAgICBSZWZQdHI8
SFRNTEJvZHlFbGVtZW50PiBib2R5ID0gSFRNTEJvZHlFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwot
ICAgIGh0bWwtPnBhcnNlckFwcGVuZENoaWxkKGJvZHkpOwotICAgIC8vIENyZWF0ZSBhIGxpbmUg
Z3V0dGVyIGRpdiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSB0aGUgZ3V0dGVyIGV4dGVu
ZHMgZG93biB0aGUgaGVpZ2h0IG9mIHRoZSB3aG9sZQotICAgIC8vIGRvY3VtZW50LgotICAgIFJl
ZlB0cjxIVE1MRGl2RWxlbWVudD4gZGl2ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZSgqdGhpcyk7
Ci0gICAgZGl2LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0LWxpbmUtZ3V0dGVyLWJh
Y2tkcm9wIik7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQoZGl2KTsKLQotICAgIFJlZlB0
cjxIVE1MVGFibGVFbGVtZW50PiB0YWJsZSA9IEhUTUxUYWJsZUVsZW1lbnQ6OmNyZWF0ZSgqdGhp
cyk7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQodGFibGUpOwotICAgIG1fdGJvZHkgPSBI
VE1MVGFibGVTZWN0aW9uRWxlbWVudDo6Y3JlYXRlKHRib2R5VGFnLCAqdGhpcyk7Ci0gICAgdGFi
bGUtPnBhcnNlckFwcGVuZENoaWxkKG1fdGJvZHkpOwotICAgIG1fY3VycmVudCA9IG1fdGJvZHk7
Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkU291cmNlKGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQotewotICAgIGlmICghbV9jdXJyZW50KQotICAg
ICAgICBjcmVhdGVDb250YWluaW5nVGFibGUoKTsKLQotICAgIHN3aXRjaCAodG9rZW4udHlwZSgp
KSB7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlVuaW5pdGlhbGl6ZWQ6Ci0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUTUxUb2tlbjo6RE9DVFlQ
RToKLSAgICAgICAgcHJvY2Vzc0RvY3R5cGVUb2tlbihzb3VyY2UsIHRva2VuKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkVuZE9mRmlsZToKLSAgICAgICAgaWYgKCFtX3Ri
b2R5LT5oYXNDaGlsZE5vZGVzKCkpCi0gICAgICAgICAgICBhZGRMaW5lKFN0cmluZygpKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFnOgotICAgIGNhc2UgSFRN
TFRva2VuOjpFbmRUYWc6Ci0gICAgICAgIHByb2Nlc3NUYWdUb2tlbihzb3VyY2UsIHRva2VuKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkNvbW1lbnQ6Ci0gICAgICAgIHBy
b2Nlc3NDb21tZW50VG9rZW4oc291cmNlLCB0b2tlbik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgIHByb2Nlc3NDaGFyYWN0ZXJUb2tlbihz
b3VyY2UsIHRva2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi12b2lkIEhUTUxWaWV3
U291cmNlRG9jdW1lbnQ6OnByb2Nlc3NEb2N0eXBlVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2Us
IEhUTUxUb2tlbiYpCi17Ci0gICAgaWYgKCFtX2N1cnJlbnQpCi0gICAgICAgIGNyZWF0ZUNvbnRh
aW5pbmdUYWJsZSgpOwotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRoQ2xhc3NOYW1lKCJ3ZWJr
aXQtaHRtbC1kb2N0eXBlIik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3ZWJraXQtaHRtbC1kb2N0
eXBlIik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBIVE1MVmlld1NvdXJjZURv
Y3VtZW50Ojpwcm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYg
dG9rZW4pCi17Ci0gICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhDbGFzc05hbWUoIndlYmtpdC1o
dG1sLXRhZyIpOwotCi0gICAgQXRvbWljU3RyaW5nIHRhZ05hbWUodG9rZW4ubmFtZSgpKTsKLQot
ICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKLSAgICBIVE1MVG9rZW46OkF0dHJpYnV0ZUxpc3Q6OmNv
bnN0X2l0ZXJhdG9yIGl0ZXIgPSB0b2tlbi5hdHRyaWJ1dGVzKCkuYmVnaW4oKTsKLSAgICB3aGls
ZSAoaW5kZXggPCBzb3VyY2UubGVuZ3RoKCkpIHsKLSAgICAgICAgaWYgKGl0ZXIgPT0gdG9rZW4u
YXR0cmlidXRlcygpLmVuZCgpKSB7Ci0gICAgICAgICAgICAvLyBXZSB3YW50IHRvIHNob3cgdGhl
IHJlbWFpbmluZyBjaGFyYWN0ZXJzIGluIHRoZSB0b2tlbi4KLSAgICAgICAgICAgIGluZGV4ID0g
YWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgc291cmNlLmxlbmd0aCgpLCAiIik7Ci0gICAgICAgICAg
ICBBU1NFUlQoaW5kZXggPT0gc291cmNlLmxlbmd0aCgpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQXRvbWljU3RyaW5nIG5hbWUoaXRlci0+bmFtZSk7Ci0gICAg
ICAgIFN0cmluZyB2YWx1ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJZlBvc3NpYmxlKGl0ZXIt
PnZhbHVlKTsKLQotICAgICAgICBpbmRleCA9IGFkZFJhbmdlKHNvdXJjZSwgaW5kZXgsIGl0ZXIt
Pm5hbWVSYW5nZS5zdGFydCAtIHRva2VuLnN0YXJ0SW5kZXgoKSwgIiIpOwotICAgICAgICBpbmRl
eCA9IGFkZFJhbmdlKHNvdXJjZSwgaW5kZXgsIGl0ZXItPm5hbWVSYW5nZS5lbmQgLSB0b2tlbi5z
dGFydEluZGV4KCksICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIpOwotCi0gICAgICAgIGlm
ICh0YWdOYW1lID09IGJhc2VUYWcgJiYgbmFtZSA9PSBocmVmQXR0cikKLSAgICAgICAgICAgIG1f
Y3VycmVudCA9IGFkZEJhc2UodmFsdWUpOwotCi0gICAgICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291
cmNlLCBpbmRleCwgaXRlci0+dmFsdWVSYW5nZS5zdGFydCAtIHRva2VuLnN0YXJ0SW5kZXgoKSwg
IiIpOwotCi0gICAgICAgIGJvb2wgaXNMaW5rID0gbmFtZSA9PSBzcmNBdHRyIHx8IG5hbWUgPT0g
aHJlZkF0dHI7Ci0gICAgICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgaXRlci0+
dmFsdWVSYW5nZS5lbmQgLSB0b2tlbi5zdGFydEluZGV4KCksICJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtdmFsdWUiLCBpc0xpbmssIHRhZ05hbWUgPT0gYVRhZywgdmFsdWUpOwotCi0gICAgICAgICsr
aXRlcjsKLSAgICB9Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBIVE1MVmlld1Nv
dXJjZURvY3VtZW50Ojpwcm9jZXNzQ29tbWVudFRva2VuKGNvbnN0IFN0cmluZyYgc291cmNlLCBI
VE1MVG9rZW4mKQotewotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRoQ2xhc3NOYW1lKCJ3ZWJr
aXQtaHRtbC1jb21tZW50Iik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3ZWJraXQtaHRtbC1jb21t
ZW50Iik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBIVE1MVmlld1NvdXJjZURv
Y3VtZW50Ojpwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhUTUxU
b2tlbiYpCi17Ci0gICAgYWRkVGV4dChzb3VyY2UsICIiKTsKLX0KLQotUGFzc1JlZlB0cjxFbGVt
ZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRTcGFuV2l0aENsYXNzTmFtZShjb25zdCBB
dG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAobV9jdXJyZW50ID09IG1fdGJvZHkp
IHsKLSAgICAgICAgYWRkTGluZShjbGFzc05hbWUpOwotICAgICAgICByZXR1cm4gbV9jdXJyZW50
OwotICAgIH0KLQotICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gc3BhbiA9IEhUTUxFbGVtZW50Ojpj
cmVhdGUoc3BhblRhZywgKnRoaXMpOwotICAgIHNwYW4tPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIs
IGNsYXNzTmFtZSk7Ci0gICAgbV9jdXJyZW50LT5wYXJzZXJBcHBlbmRDaGlsZChzcGFuKTsKLSAg
ICByZXR1cm4gc3Bhbi5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VEb2N1bWVu
dDo6YWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICAvLyBDcmVh
dGUgYSB0YWJsZSByb3cuCi0gICAgUmVmUHRyPEhUTUxUYWJsZVJvd0VsZW1lbnQ+IHRyb3cgPSBI
VE1MVGFibGVSb3dFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIG1fdGJvZHktPnBhcnNlckFw
cGVuZENoaWxkKHRyb3cpOwotCi0gICAgLy8gQ3JlYXRlIGEgY2VsbCB0aGF0IHdpbGwgaG9sZCB0
aGUgbGluZSBudW1iZXIgKGl0IGlzIGdlbmVyYXRlZCBpbiB0aGUgc3R5bGVzaGVldCB1c2luZyBj
b3VudGVycykuCi0gICAgUmVmUHRyPEhUTUxUYWJsZUNlbGxFbGVtZW50PiB0ZCA9IEhUTUxUYWJs
ZUNlbGxFbGVtZW50OjpjcmVhdGUodGRUYWcsICp0aGlzKTsKLSAgICB0ZC0+c2V0QXR0cmlidXRl
KGNsYXNzQXR0ciwgIndlYmtpdC1saW5lLW51bWJlciIpOwotICAgIHRyb3ctPnBhcnNlckFwcGVu
ZENoaWxkKHRkKTsKLQotICAgIC8vIENyZWF0ZSBhIHNlY29uZCBjZWxsIGZvciB0aGUgbGluZSBj
b250ZW50cwotICAgIHRkID0gSFRNTFRhYmxlQ2VsbEVsZW1lbnQ6OmNyZWF0ZSh0ZFRhZywgKnRo
aXMpOwotICAgIHRkLT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0LWxpbmUtY29udGVu
dCIpOwotICAgIHRyb3ctPnBhcnNlckFwcGVuZENoaWxkKHRkKTsKLSAgICBtX2N1cnJlbnQgPSBt
X3RkID0gdGQ7Ci0KLSNpZmRlZiBERUJVR19MSU5FX05VTUJFUlMKLSAgICBSZWZQdHI8VGV4dD4g
bGluZU51bWJlclRleHQgPSBUZXh0OjpjcmVhdGUoKnRoaXMsIFN0cmluZzo6bnVtYmVyKHBhcnNl
cigpLT5saW5lTnVtYmVyKCkgKyAxKSArICIgIik7Ci0gICAgdGQtPmFkZENoaWxkKGxpbmVOdW1i
ZXJUZXh0KTsKLSNlbmRpZgotCi0gICAgLy8gT3BlbiB1cCB0aGUgbmVlZGVkIHNwYW5zLgotICAg
IGlmICghY2xhc3NOYW1lLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoY2xhc3NOYW1lID09ICJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIgfHwgY2xhc3NOYW1lID09ICJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtdmFsdWUiKQotICAgICAgICAgICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhDbGFz
c05hbWUoIndlYmtpdC1odG1sLXRhZyIpOwotICAgICAgICBtX2N1cnJlbnQgPSBhZGRTcGFuV2l0
aENsYXNzTmFtZShjbGFzc05hbWUpOwotICAgIH0KLX0KLQotdm9pZCBIVE1MVmlld1NvdXJjZURv
Y3VtZW50OjpmaW5pc2hMaW5lKCkKLXsKLSAgICBpZiAoIW1fY3VycmVudC0+aGFzQ2hpbGROb2Rl
cygpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQlJFbGVtZW50PiBiciA9IEhUTUxCUkVsZW1lbnQ6
OmNyZWF0ZSgqdGhpcyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQoYnIp
OwotICAgIH0KLSAgICBtX2N1cnJlbnQgPSBtX3Rib2R5OwotfQotCi12b2lkIEhUTUxWaWV3U291
cmNlRG9jdW1lbnQ6OmFkZFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBBdG9taWNTdHJp
bmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAodGV4dC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIC8vIEFkZCBpbiB0aGUgY29udGVudCwgc3BsaXR0aW5nIG9uIG5ld2xpbmVzLgot
ICAgIFZlY3RvcjxTdHJpbmc+IGxpbmVzOwotICAgIHRleHQuc3BsaXQoJ1xuJywgdHJ1ZSwgbGlu
ZXMpOwotICAgIHVuc2lnbmVkIHNpemUgPSBsaW5lcy5zaXplKCk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICBTdHJpbmcgc3Vic3RyaW5nID0gbGlu
ZXNbaV07Ci0gICAgICAgIGlmIChtX2N1cnJlbnQgPT0gbV90Ym9keSkKLSAgICAgICAgICAgIGFk
ZExpbmUoY2xhc3NOYW1lKTsKLSAgICAgICAgaWYgKHN1YnN0cmluZy5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgICAgIGlmIChpID09IHNpemUgLSAxKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgZmluaXNoTGluZSgpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0K
LSAgICAgICAgUmVmUHRyPFRleHQ+IHRleHQgPSBUZXh0OjpjcmVhdGUoKnRoaXMsIHN1YnN0cmlu
Zyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQodGV4dCk7Ci0gICAgICAg
IGlmIChpIDwgc2l6ZSAtIDEpCi0gICAgICAgICAgICBmaW5pc2hMaW5lKCk7Ci0gICAgfQotfQot
Ci1pbnQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkUmFuZ2UoY29uc3QgU3RyaW5nJiBzb3Vy
Y2UsIGludCBzdGFydCwgaW50IGVuZCwgY29uc3QgU3RyaW5nJiBjbGFzc05hbWUsIGJvb2wgaXNM
aW5rLCBib29sIGlzQW5jaG9yLCBjb25zdCBTdHJpbmcmIGxpbmspCi17Ci0gICAgQVNTRVJUKHN0
YXJ0IDw9IGVuZCk7Ci0gICAgaWYgKHN0YXJ0ID09IGVuZCkKLSAgICAgICAgcmV0dXJuIHN0YXJ0
OwotCi0gICAgU3RyaW5nIHRleHQgPSBzb3VyY2Uuc3Vic3RyaW5nKHN0YXJ0LCBlbmQgLSBzdGFy
dCk7Ci0gICAgaWYgKCFjbGFzc05hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGlmIChpc0xpbmsp
Ci0gICAgICAgICAgICBtX2N1cnJlbnQgPSBhZGRMaW5rKGxpbmssIGlzQW5jaG9yKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhDbGFzc05hbWUoY2xh
c3NOYW1lKTsKLSAgICB9Ci0gICAgYWRkVGV4dCh0ZXh0LCBjbGFzc05hbWUpOwotICAgIGlmICgh
Y2xhc3NOYW1lLmlzRW1wdHkoKSAmJiBtX2N1cnJlbnQgIT0gbV90Ym9keSkKLSAgICAgICAgbV9j
dXJyZW50ID0gdG9FbGVtZW50KG1fY3VycmVudC0+cGFyZW50Tm9kZSgpKTsKLSAgICByZXR1cm4g
ZW5kOwotfQotCi1QYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFk
ZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKQotewotICAgIFJlZlB0cjxIVE1MQmFzZUVs
ZW1lbnQ+IGJhc2UgPSBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShiYXNlVGFnLCAqdGhpcyk7Ci0g
ICAgYmFzZS0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCBocmVmKTsKLSAgICBtX2N1cnJlbnQtPnBh
cnNlckFwcGVuZENoaWxkKGJhc2UpOwotICAgIHJldHVybiBiYXNlLnJlbGVhc2UoKTsKLX0KLQot
UGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRMaW5rKGNvbnN0
IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKQotewotICAgIGlmIChtX2N1cnJlbnQg
PT0gbV90Ym9keSkKLSAgICAgICAgYWRkTGluZSgid2Via2l0LWh0bWwtdGFnIik7Ci0KLSAgICAv
LyBOb3cgY3JlYXRlIGEgbGluayBmb3IgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpbnN0ZWFkIG9mIGEg
c3Bhbi4KLSAgICBSZWZQdHI8SFRNTEFuY2hvckVsZW1lbnQ+IGFuY2hvciA9IEhUTUxBbmNob3JF
bGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIGNvbnN0IGNoYXIqIGNsYXNzVmFsdWU7Ci0gICAg
aWYgKGlzQW5jaG9yKQotICAgICAgICBjbGFzc1ZhbHVlID0gIndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSB3ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rIjsKLSAgICBlbHNlCi0gICAgICAgIGNs
YXNzVmFsdWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIHdlYmtpdC1odG1sLXJlc291
cmNlLWxpbmsiOwotICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgY2xhc3NWYWx1
ZSk7Ci0gICAgYW5jaG9yLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgIl9ibGFuayIpOwotICAg
IGFuY2hvci0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCB1cmwpOwotICAgIG1fY3VycmVudC0+cGFy
c2VyQXBwZW5kQ2hpbGQoYW5jaG9yKTsKLSAgICByZXR1cm4gYW5jaG9yLnJlbGVhc2UoKTsKLX0K
LQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3Vt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM1OTJkMjI4OGJiYmI4MTg4YWZkMDQ1MWU1ZmNk
MTljY2NhYTk3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDczICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBIVE1MVmlld1NvdXJjZURvY3Vt
ZW50X2gKLSNkZWZpbmUgSFRNTFZpZXdTb3VyY2VEb2N1bWVudF9oCi0KLSNpbmNsdWRlICJIVE1M
RG9jdW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MVGFibGVDZWxs
RWxlbWVudDsKLWNsYXNzIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50OwotY2xhc3MgSFRNTFRva2Vu
OwotCi1jbGFzcyBIVE1MVmlld1NvdXJjZURvY3VtZW50IGZpbmFsIDogcHVibGljIEhUTUxEb2N1
bWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTFZpZXdTb3VyY2VEb2N1
bWVudD4gY3JlYXRlKEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxWaWV3U291
cmNlRG9jdW1lbnQoZnJhbWUsIHVybCwgbWltZVR5cGUpKTsKLSAgICB9Ci0KLSAgICB2b2lkIGFk
ZFNvdXJjZShjb25zdCBTdHJpbmcmLCBIVE1MVG9rZW4mKTsKLQotcHJpdmF0ZToKLSAgICBIVE1M
Vmlld1NvdXJjZURvY3VtZW50KEZyYW1lKiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSk7Ci0KLSAgICAvLyBSZXR1cm5zIEhUTUxWaWV3U291cmNlUGFyc2VyIG9yIFRleHREb2N1
bWVudFBhcnNlciBiYXNlZCBvbiBtX3R5cGUuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3Vt
ZW50UGFyc2VyPiBjcmVhdGVQYXJzZXIoKSBvdmVycmlkZTsKLQotICAgIHZvaWQgcHJvY2Vzc0Rv
Y3R5cGVUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJik7Ci0gICAgdm9pZCBw
cm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYpOwotICAgIHZv
aWQgcHJvY2Vzc0NvbW1lbnRUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuJik7
Ci0gICAgdm9pZCBwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhU
TUxUb2tlbiYpOwotCi0gICAgdm9pZCBjcmVhdGVDb250YWluaW5nVGFibGUoKTsKLSAgICBQYXNz
UmVmUHRyPEVsZW1lbnQ+IGFkZFNwYW5XaXRoQ2xhc3NOYW1lKGNvbnN0IEF0b21pY1N0cmluZyYp
OwotICAgIHZvaWQgYWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSk7Ci0gICAg
dm9pZCBmaW5pc2hMaW5lKCk7Ci0gICAgdm9pZCBhZGRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUpOwotICAgIGludCBhZGRSYW5nZShjb25zdCBT
dHJpbmcmIHNvdXJjZSwgaW50IHN0YXJ0LCBpbnQgZW5kLCBjb25zdCBTdHJpbmcmIGNsYXNzTmFt
ZSwgYm9vbCBpc0xpbmsgPSBmYWxzZSwgYm9vbCBpc0FuY2hvciA9IGZhbHNlLCBjb25zdCBTdHJp
bmcmIGxpbmsgPSBTdHJpbmcoKSk7Ci0gICAgUGFzc1JlZlB0cjxFbGVtZW50PiBhZGRMaW5rKGNv
bnN0IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKTsKLSAgICBQYXNzUmVmUHRyPEVs
ZW1lbnQ+IGFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKTsKLQotICAgIFN0cmluZyBt
X3R5cGU7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IG1fY3VycmVudDsKLSAgICBSZWZQdHI8SFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQ+IG1fdGJvZHk7Ci0gICAgUmVmUHRyPEhUTUxUYWJsZUNlbGxFbGVt
ZW50PiBtX3RkOwotfTsKLQotfQotCi0jZW5kaWYgLy8gSFRNTFZpZXdTb3VyY2VEb2N1bWVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDAzNjNlM2E2MTA0M2Nk
MDFlN2EzYzY0MWZlZmQyNjg3ZWExODJhNjcuLmU3NDE4ZTUwMTRjMWZhNTAyMjg5NGQxNWY0NzRj
MjQyZWU5OTFjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0x
MTQsNyArMTE0LDcgQEAgcHVibGljOgogICAgICAgICBtX3R5cGUgPSBFbmRPZkZpbGU7CiAgICAg
fQogCi0gICAgLyogUmFuZ2UgYW5kIG9mZnNldCBtZXRob2RzIGV4cG9zZWQgZm9yIEhUTUxTb3Vy
Y2VUcmFja2VyIGFuZCBIVE1MVmlld1NvdXJjZVBhcnNlciAqLworICAgIC8qIFJhbmdlIGFuZCBv
ZmZzZXQgbWV0aG9kcyBleHBvc2VkIGZvciBIVE1MU291cmNlVHJhY2tlciAqLwogICAgIGludCBz
dGFydEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5zdGFydDsgfQogICAgIGludCBlbmRJ
bmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2UuZW5kOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDNmZjBhMTRkZjkwNzk4YmRjYzU5ZmFmZWM1OWFhNmYwZjllY2Y2
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSFRNTFZpZXdTb3VyY2VQ
YXJzZXIuaCIKLQotI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5oIgotI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUhUTUxWaWV3U291cmNlUGFyc2Vy
OjpIVE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3VtZW50JiBkb2N1bWVudCkK
LSAgICA6IERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2Vu
aXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoSFRNTFBhcnNlck9wdGlvbnMoZG9jdW1lbnQpKSkK
LXsKLX0KLQotSFRNTFZpZXdTb3VyY2VQYXJzZXI6On5IVE1MVmlld1NvdXJjZVBhcnNlcigpCi17
Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VQYXJzZXI6Omluc2VydChjb25zdCBTZWdtZW50ZWRT
dHJpbmcmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIEhUTUxWaWV3
U291cmNlUGFyc2VyOjpwdW1wVG9rZW5pemVyKCkKLXsKLSAgICB3aGlsZSAodHJ1ZSkgewotICAg
ICAgICBtX3NvdXJjZVRyYWNrZXIuc3RhcnQobV9pbnB1dC5jdXJyZW50KCksIG1fdG9rZW5pemVy
LmdldCgpLCBtX3Rva2VuKTsKLSAgICAgICAgaWYgKCFtX3Rva2VuaXplci0+bmV4dFRva2VuKG1f
aW5wdXQuY3VycmVudCgpLCBtX3Rva2VuKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBt
X3NvdXJjZVRyYWNrZXIuZW5kKG1faW5wdXQuY3VycmVudCgpLCBtX3Rva2VuaXplci5nZXQoKSwg
bV90b2tlbik7Ci0KLSAgICAgICAgZG9jdW1lbnQoKS0+YWRkU291cmNlKHNvdXJjZUZvclRva2Vu
KCksIG1fdG9rZW4pOwotICAgICAgICB1cGRhdGVUb2tlbml6ZXJTdGF0ZSgpOwotICAgICAgICBt
X3Rva2VuLmNsZWFyKCk7Ci0gICAgfQotfQotCi12b2lkIEhUTUxWaWV3U291cmNlUGFyc2VyOjph
cHBlbmQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBpbnB1dCkKLXsKLSAgICBtX2lucHV0LmFwcGVu
ZFRvRW5kKFN0cmluZyhpbnB1dCkpOwotICAgIHB1bXBUb2tlbml6ZXIoKTsKLX0KLQotU3RyaW5n
IEhUTUxWaWV3U291cmNlUGFyc2VyOjpzb3VyY2VGb3JUb2tlbigpCi17Ci0gICAgcmV0dXJuIG1f
c291cmNlVHJhY2tlci5zb3VyY2VGb3JUb2tlbihtX3Rva2VuKTsKLX0KLQotdm9pZCBIVE1MVmll
d1NvdXJjZVBhcnNlcjo6dXBkYXRlVG9rZW5pemVyU3RhdGUoKQotewotICAgIC8vIEZJWE1FOiBU
aGUgdG9rZW5pemVyIHNob3VsZCBkbyB0aGlzIHdvcmsgZm9yIHVzLgotICAgIGlmIChtX3Rva2Vu
LnR5cGUoKSAhPSBIVE1MVG9rZW46OlN0YXJ0VGFnKQotICAgICAgICByZXR1cm47Ci0gICAgbV90
b2tlbml6ZXItPnVwZGF0ZVN0YXRlRm9yKEF0b21pY1N0cmluZyhtX3Rva2VuLm5hbWUoKSkpOwot
fQotCi12b2lkIEhUTUxWaWV3U291cmNlUGFyc2VyOjpmaW5pc2goKQotewotICAgIGlmICghbV9p
bnB1dC5oYXZlU2VlbkVuZE9mRmlsZSgpKQotICAgICAgICBtX2lucHV0Lm1hcmtFbmRPZkZpbGUo
KTsKLSAgICBwdW1wVG9rZW5pemVyKCk7Ci0gICAgZG9jdW1lbnQoKS0+ZmluaXNoZWRQYXJzaW5n
KCk7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxW
aWV3U291cmNlUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1Nv
dXJjZVBhcnNlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTYxYzc4OTIwYjIz
OTEyOGNlYmQ5MjQyMjMzMDQwMDQzYjBmZWZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291
cmNlUGFyc2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEhUTUxWaWV3U291cmNl
UGFyc2VyX2gKLSNkZWZpbmUgSFRNTFZpZXdTb3VyY2VQYXJzZXJfaAotCi0jaW5jbHVkZSAiRGVj
b2RlZERhdGFEb2N1bWVudFBhcnNlci5oIgotI2luY2x1ZGUgIkhUTUxJbnB1dFN0cmVhbS5oIgot
I2luY2x1ZGUgIkhUTUxTb3VyY2VUcmFja2VyLmgiCi0jaW5jbHVkZSAiSFRNTFRva2VuLmgiCi0j
aW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1l
bnQuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIEhUTUxUb2tlbml6ZXI7Ci1jbGFzcyBIVE1MU2NyaXB0UnVubmVyOwotY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyOwotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyOwotY2xhc3MgU2NyaXB0
Q29udHJvbGxlcjsKLWNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7Ci0KLWNsYXNzIEhUTUxWaWV3U291
cmNlUGFyc2VyIDogcHVibGljIERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxWaWV3U291cmNlUGFyc2VyPiBjcmVhdGUoSFRNTFZp
ZXdTb3VyY2VEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEhUTUxWaWV3U291cmNlUGFyc2VyKGRvY3VtZW50KSk7Ci0gICAgfQotICAgIHZpcnR1
YWwgfkhUTUxWaWV3U291cmNlUGFyc2VyKCk7Ci0KLXByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBI
VE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3VtZW50Jik7Ci0KLSAgICBIVE1M
VG9rZW5pemVyKiB0b2tlbml6ZXIoKSBjb25zdCB7IHJldHVybiBtX3Rva2VuaXplci5nZXQoKTsg
fQotCi1wcml2YXRlOgotICAgIC8vIERvY3VtZW50UGFyc2VyCi0gICAgdmlydHVhbCB2b2lkIGlu
c2VydChjb25zdCBTZWdtZW50ZWRTdHJpbmcmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
YXBwZW5kKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9p
ZCBmaW5pc2goKSBvdmVycmlkZTsKLQotICAgIEhUTUxWaWV3U291cmNlRG9jdW1lbnQqIGRvY3Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFZpZXdTb3VyY2VEb2N1bWVudCo+
KERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXI6OmRvY3VtZW50KCkpOyB9Ci0KLSAgICB2b2lkIHB1
bXBUb2tlbml6ZXIoKTsKLSAgICBTdHJpbmcgc291cmNlRm9yVG9rZW4oKTsKLSAgICB2b2lkIHVw
ZGF0ZVRva2VuaXplclN0YXRlKCk7Ci0KLSAgICBIVE1MSW5wdXRTdHJlYW0gbV9pbnB1dDsKLSAg
ICBIVE1MVG9rZW4gbV90b2tlbjsKLSAgICBIVE1MU291cmNlVHJhY2tlciBtX3NvdXJjZVRyYWNr
ZXI7Ci0gICAgT3duUHRyPEhUTUxUb2tlbml6ZXI+IG1fdG9rZW5pemVyOwotfTsKLQotfQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291
cmNlUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291cmNl
UGFyc2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWYyNTcyMWViNGEwZTkw
NDczYjE3ZmFhODcwYjI4ZTBkNTkyYjRhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0Vmlld1NvdXJj
ZVBhcnNlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCIKLQotI2luY2x1ZGUgIkhUTUxUb2tlbml6
ZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1UZXh0Vmlld1NvdXJjZVBhcnNlcjo6VGV4
dFZpZXdTb3VyY2VQYXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAg
OiBIVE1MVmlld1NvdXJjZVBhcnNlcihkb2N1bWVudCkKLXsKLSAgICB0b2tlbml6ZXIoKS0+c2V0
U3RhdGUoSFRNTFRva2VuaXplcjo6UExBSU5URVhUU3RhdGUpOwotfQotCi1UZXh0Vmlld1NvdXJj
ZVBhcnNlcjo6flRleHRWaWV3U291cmNlUGFyc2VyKCkKLXsKLX0KLQotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM4MDkzMmNhNmE2NDQ2OGU2Nzg2ZGVkM2Y5NTM0N2U0ODkyMjZh
NzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuaAorKysgL2Rldi9udWxs
CkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlLCBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZm5kZWYgVGV4dFZpZXdTb3VyY2VQYXJzZXJfaAotI2RlZmluZSBUZXh0Vmll
d1NvdXJjZVBhcnNlcl9oCi0KLSNpbmNsdWRlICJIVE1MVmlld1NvdXJjZVBhcnNlci5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHRWaWV3U291cmNlUGFyc2VyIGZpbmFsIDog
cHVibGljIEhUTUxWaWV3U291cmNlUGFyc2VyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxUZXh0Vmlld1NvdXJjZVBhcnNlcj4gY3JlYXRlKEhUTUxWaWV3U291cmNlRG9jdW1lbnQm
IGRvY3VtZW50KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0Vmlld1Nv
dXJjZVBhcnNlcihkb2N1bWVudCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5UZXh0Vmlld1NvdXJj
ZVBhcnNlcigpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFRleHRWaWV3U291cmNlUGFyc2Vy
KEhUTUxWaWV3U291cmNlRG9jdW1lbnQmKTsKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheVBhZ2UuY3NzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXlQYWdlLmNzcwppbmRleCA2MTll
MzU2ZjgwNzM0NzQ3MjU1ZmMwYzdhZWRhYzc4MzIyZjJhYmZiLi5kZTM3OTFhZWUzZmI4N2ZkODNj
NjMwYmY2ZWYyMWMwMjgxY2MyM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yT3ZlcmxheVBhZ2UuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JPdmVybGF5UGFnZS5jc3MKQEAgLTU2LDE3ICs1NiwxNyBAQCBib2R5LnBsYXRm
b3JtLWxpbnV4IHsKIH0KIAogLnRhZy1uYW1lIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3
aXRoIHZpZXctc291cmNlLmNzcyAoLndlYmtpdC1odG1sLXRhZy1uYW1lKSAqLworICAgIC8qIEtl
ZXAgdGhpcyBpbiBzeW5jIHdpdGggWE1MVmlld2VyLmNzcyAoLndlYmtpdC1odG1sLXRhZy1uYW1l
KSAqLwogICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4KTsKIH0KIAogLm5vZGUtaWQgewotICAg
IC8qIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggdmlldy1zb3VyY2UuY3NzICgud2Via2l0LWh0bWwt
YXR0cmlidXRlLXZhbHVlKSAqLworICAgIC8qIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggWE1MVmll
d2VyLmNzcyAoLndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSkgKi8KICAgICBjb2xvcjogcmdi
KDI2LCAyNiwgMTY2KTsKIH0KIAogLmNsYXNzLW5hbWUgewotICAgIC8qIEtlZXAgdGhpcyBpbiBz
eW5jIHdpdGggdmlldy1zb3VyY2UuY3NzICgud2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUpICov
CisgICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBYTUxWaWV3ZXIuY3NzICgud2Via2l0LWh0
bWwtYXR0cmlidXRlLW5hbWUpICovCiAgICAgY29sb3I6IHJnYigxNTMsIDY5LCAwKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXggNzQyZWI5OTA3Mzdk
MDY2ZmU3NjgxM2MwYTE0OWQwN2EzOGQ5OWRlYS4uNjUzMTQ4YjQ2OTA5YjdiNmI2ZjdjYjNiNGJk
MThjNTczODdlZTczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3Bw
CkBAIC0xMTIsNyArMTEyLDggQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRG9jdW1lbnRXcml0ZXI6
OmNyZWF0ZURvY3VtZW50KGNvbnN0IFVSTCYgdXJsKQogI2VuZGlmCiAgICAgaWYgKCFtX2ZyYW1l
LT5sb2FkZXIoKS5jbGllbnQoKS5oYXNIVE1MVmlldygpKQogICAgICAgICByZXR1cm4gRG9jdW1l
bnQ6OmNyZWF0ZU5vblJlbmRlcmVkUGxhY2Vob2xkZXIobV9mcmFtZSwgdXJsKTsKLSAgICByZXR1
cm4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KG1fbWltZVR5cGUsIG1fZnJhbWUs
IHVybCwgbV9mcmFtZS0+aW5WaWV3U291cmNlTW9kZSgpKTsKKworICAgIHJldHVybiBET01JbXBs
ZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQobV9taW1lVHlwZSwgbV9mcmFtZSwgdXJsKTsKIH0K
IAogdm9pZCBEb2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgVVJMJiB1cmxSZWZlcmVuY2UsIGJv
b2wgZGlzcGF0Y2gsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKaW5kZXggMWM0YTI3ZjM2ZmFiZTE1ZDhkMzJlYjgyMTMwZGI0MWI2ZTUz
NGE5ZC4uZDU3MDQ4Yzc2MjFmYTQ2NWUxMjE2ZjQ3NWZmZDg0NmRhYjY1NmYxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC02NjksOCArNjY5LDYgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEoKQogCiAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVy
KQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKS0+aXNWaWV3U291
cmNlKCkpCi0gICAgICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheTsKICAgICBTdHJpbmcg
dXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA0ZmJkMzdmMTg3YmFlNWFhYWYwNTg2NDk5ZTYz
OWM5MDNjNTFkYzE3Li4xYjM0N2Q0ZGRiNGIzOTQ2ZDYxZTdkODViZDAzMjZkZDJhMDdjN2VmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTgxLDcgKzE4MSw2IEBAIEZyYW1lOjpGcmFtZShQYWdl
JiBwYWdlLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVMb2FkZXJD
bGllbnQmCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICAsIG1fb3JpZW50YXRp
b24oMCkKICNlbmRpZgotICAgICwgbV9pblZpZXdTb3VyY2VNb2RlKGZhbHNlKQogICAgICwgbV9h
Y3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9uc1N1c3BlbmRlZENvdW50KDApCiB7CiAgICAgQXRv
bWljU3RyaW5nOjppbml0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggNzgyZjI1MWE1MmMwZGY2OTVh
NDhhMjI0ZTI4ZjU1MzYxMmZiYzE4NS4uNzdiNzFmODNlYjYxMDUyNmE2ZWIwOTkxNjhhOTBjZmFh
MDA3MjEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTc4LDkgKzE3OCw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgYm9vbCBzaG91bGRVc2VQcmludGluZ0xheW91dCgpIGNvbnN0Owog
ICAgICAgICBGbG9hdFNpemUgcmVzaXplUGFnZVJlY3RzS2VlcGluZ1JhdGlvKGNvbnN0IEZsb2F0
U2l6ZSYgb3JpZ2luYWxTaXplLCBjb25zdCBGbG9hdFNpemUmIGV4cGVjdGVkU2l6ZSk7CiAKLSAg
ICAgICAgYm9vbCBpblZpZXdTb3VyY2VNb2RlKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0SW5W
aWV3U291cmNlTW9kZShib29sID0gdHJ1ZSk7Ci0KICAgICAgICAgdm9pZCBzZXREb2N1bWVudChQ
YXNzUmVmUHRyPERvY3VtZW50Pik7CiAKICAgICAgICAgdm9pZCBzZXRQYWdlWm9vbUZhY3Rvcihm
bG9hdCBmYWN0b3IpOwpAQCAtMzM4LDggKzMzNSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgaW50IG1fb3JpZW50YXRpb247CiAjZW5kaWYKIAotICAgICAgICBib29sIG1faW5WaWV3
U291cmNlTW9kZTsKLQogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIC8vIEZJWE1F
OiBUaGUgdGlsZWQgYmFja2luZyBzdG9yZSBiZWxvbmdzIGluIEZyYW1lVmlldywgbm90IEZyYW1l
LgogCkBAIC00MTIsMTYgKzQwNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgcmV0
dXJuIG1fb3duZXJFbGVtZW50OwogICAgIH0KIAotICAgIGlubGluZSBib29sIEZyYW1lOjppblZp
ZXdTb3VyY2VNb2RlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2luVmlld1NvdXJj
ZU1vZGU7Ci0gICAgfQotCi0gICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldEluVmlld1NvdXJjZU1v
ZGUoYm9vbCBtb2RlKQotICAgIHsKLSAgICAgICAgbV9pblZpZXdTb3VyY2VNb2RlID0gbW9kZTsK
LSAgICB9Ci0KICAgICBpbmxpbmUgRnJhbWVUcmVlJiBGcmFtZTo6dHJlZSgpIGNvbnN0CiAgICAg
ewogICAgICAgICByZXR1cm4gbV90cmVlTm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9ET01QYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5jcHAKaW5k
ZXggM2UyMGQ5N2ViODkyOThjYzk2ZGQ3YjQ4MmQ1YmE4ZjQ3YWQ3NTFmZS4uZWI0MzY3MjlhMDFh
OWViM2YxNzc0OGRmY2JkMWY2NTNhMGQzYzE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL0RPTVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5jcHAK
QEAgLTM2LDcgKzM2LDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NUGFyc2VyOjpwYXJzZUZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHIsIGNvbnN0IFN0cmluZyYKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQogCi0gICAgUmVmUHRyPERvY3VtZW50PiBkb2MgPSBET01JbXBsZW1lbnRhdGlv
bjo6Y3JlYXRlRG9jdW1lbnQoY29udGVudFR5cGUsIDAsIFVSTCgpLCBmYWxzZSk7CisgICAgUmVm
UHRyPERvY3VtZW50PiBkb2MgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29u
dGVudFR5cGUsIDAsIFVSTCgpKTsKICAgICBkb2MtPnNldENvbnRlbnQoc3RyKTsKICAgICByZXR1
cm4gZG9jLnJlbGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xU
UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmNwcAppbmRl
eCBjZjBjMTVhYjY2MDc2MDJlMzllMTlmZDExMmQyOGUxY2ZjYzE5NTQzLi4wZTI3NjE5YzBhNmIx
YzJjNjg1ZTE1OWQ0ODUzNzVlZjcxN2QzODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFNMVFByb2Nlc3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNz
b3IuY3BwCkBAIC03OSw3ICs3OSw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IFhTTFRQcm9jZXNz
b3I6OmNyZWF0ZURvY3VtZW50RnJvbVNvdXJjZShjb25zdCBTdHJpbmcmIHNvdXJjCiAgICAgICAg
IHJlc3VsdCA9IERvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHNvdXJjZUlzRG9jdW1lbnQgPyBvd25l
ckRvY3VtZW50LT51cmwoKSA6IFVSTCgpKTsKICAgICAgICAgdHJhbnNmb3JtVGV4dFN0cmluZ1Rv
WEhUTUxEb2N1bWVudFN0cmluZyhkb2N1bWVudFNvdXJjZSk7CiAgICAgfSBlbHNlCi0gICAgICAg
IHJlc3VsdCA9IERPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudChzb3VyY2VNSU1FVHlw
ZSwgZnJhbWUsIHNvdXJjZUlzRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LT51cmwoKSA6IFVSTCgp
LCBmYWxzZSk7CisgICAgICAgIHJlc3VsdCA9IERPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1
bWVudChzb3VyY2VNSU1FVHlwZSwgZnJhbWUsIHNvdXJjZUlzRG9jdW1lbnQgPyBvd25lckRvY3Vt
ZW50LT51cmwoKSA6IFVSTCgpKTsKIAogICAgIC8vIEJlZm9yZSBwYXJzaW5nLCB3ZSBuZWVkIHRv
IHNhdmUgJiBkZXRhY2ggdGhlIG9sZCBkb2N1bWVudCBhbmQgZ2V0IHRoZSBuZXcgZG9jdW1lbnQK
ICAgICAvLyBpbiBwbGFjZS4gV2UgaGF2ZSB0byBkbyB0aGlzIG9ubHkgaWYgd2UncmUgcmVuZGVy
aW5nIHRoZSByZXN1bHQgZG9jdW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKaW5kZXggYjRmOWE5YzViODU0MWY2Mjg2MzUwMDBlYzVjZDJhOGRmNWFkZGQx
YS4uNGJmM2JjYzRlY2JiODk2NDZjYjUzMWY2MTI1NzVmMTFlYzY3MTdkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtNTIwMiw4ICs1MjAyLDYgQEAg
dm9pZCB3ZWJraXRfd2ViX3ZpZXdfcmVkbyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogdm9pZCB3
ZWJraXRfd2ViX3ZpZXdfc2V0X3ZpZXdfc291cmNlX21vZGUgKFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIGdib29sZWFuIG1vZGUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VC
X1ZJRVcod2ViVmlldykpOwotCi0gICAgY29yZSh3ZWJWaWV3KS0+bWFpbkZyYW1lKCkuc2V0SW5W
aWV3U291cmNlTW9kZShtb2RlKTsKIH0KIAogLyoqCkBAIC01MjE4LDcgKzUyMTYsNyBAQCBnYm9v
bGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3ZpZXdfc291cmNlX21vZGUgKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVX
KHdlYlZpZXcpLCBGQUxTRSk7CiAKLSAgICByZXR1cm4gY29yZSh3ZWJWaWV3KS0+bWFpbkZyYW1l
KCkuaW5WaWV3U291cmNlTW9kZSgpOworICAgIHJldHVybiBGQUxTRToKIH0KIAogLy8gSW50ZXJu
YWwgc3VicmVzb3VyY2UgbWFuYWdlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IGExZmZkMzE2MjNlMWEwOGU1Mjg5MDFiMjIzODEzZDI2MDRmMzhkOGEuLjM3OTg5ZGI3
ZjQyODNiOWRhNGFhMTkzZmU5MjJjNzk4OWNhNTAxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KQEAgLTMzMzMsMTggKzMzMzMsNiBAQCBzdGF0aWMgaW5saW5lIElNUCBnZXRN
ZXRob2QoaWQgbywgU0VMIHMpCiB9CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAotLSAodm9p
ZClfc2V0SW5WaWV3U291cmNlTW9kZTooQk9PTClmbGFnCi17Ci0gICAgaWYgKEZyYW1lKiBtYWlu
RnJhbWUgPSBbc2VsZiBfbWFpbkNvcmVGcmFtZV0pCi0gICAgICAgIG1haW5GcmFtZS0+c2V0SW5W
aWV3U291cmNlTW9kZShmbGFnKTsKLX0KLQotLSAoQk9PTClfaW5WaWV3U291cmNlTW9kZQotewot
ICAgIEZyYW1lKiBtYWluRnJhbWUgPSBbc2VsZiBfbWFpbkNvcmVGcmFtZV07Ci0gICAgcmV0dXJu
IG1haW5GcmFtZSAmJiBtYWluRnJhbWUtPmluVmlld1NvdXJjZU1vZGUoKTsKLX0KLQogLSAodm9p
ZClfc2V0VXNlRmFzdEltYWdlU2NhbGluZ01vZGU6KEJPT0wpZmxhZwogewogICAgIGlmIChfcHJp
dmF0ZS0+cGFnZSAmJiBfcHJpdmF0ZS0+cGFnZS0+aW5Mb3dRdWFsaXR5SW1hZ2VJbnRlcnBvbGF0
aW9uTW9kZSgpICE9IGZsYWcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1By
aXZhdGUuaAppbmRleCAwODhiOTIwOGMwZDUzODk4ZjgyYzViMmUwZjQzZTIxZTQ1YTIyMWY1Li5j
NmVkNDBjM2UzZGMxZWRjNjExZTJiNmNjNTBjMjk3ZGY3ZjA4YjdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC02OTQsMTcgKzY5NCw2IEBAIENvdWxk
IGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJLgogLSAodm9pZClfc2V0TmVlZHNVbnJlc3RyaWN0
ZWRHZXRNYXRjaGVkQ1NTUnVsZXM6KEJPT0wpZmxhZzsKICNlbmRpZiAvKiBUQVJHRVRfT1NfSVBI
T05FICovCiAKLS8qIQotICAgIEBtZXRob2QgX3NldEluVmlld1NvdXJjZU1vZGU6Ci0gICAgQGFi
c3RyYWN0IFVzZWQgdG8gcGxhY2UgYSBXZWJWaWV3IGludG8gYSBzcGVjaWFsIHNvdXJjZS12aWV3
aW5nIG1vZGUuCi0gICovCi0tICh2b2lkKV9zZXRJblZpZXdTb3VyY2VNb2RlOihCT09MKWZsYWc7
Ci0KLS8qIQotICAgIEBtZXRob2QgX2luVmlld1NvdXJjZU1vZGU7Ci0gICAgQGFic3RyYWN0IFdo
ZXRoZXIgb3Igbm90IHRoZSBXZWJWaWV3IGlzIGluIHNvdXJjZS12aWV3IG1vZGUgZm9yIEhUTUwu
Ci0gICovCi0tIChCT09MKV9pblZpZXdTb3VyY2VNb2RlOwogCiAvKiEKICAgICBAbWV0aG9kIF9h
dHRhY2hTY3JpcHREZWJ1Z2dlclRvQWxsRnJhbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXgg
MzZiMmI4OWYxMGZkZGVkMWZlNjZmZGQ0ZDAxZDAxZWMyNWU3NzAzOC4uMzIyMDNkMWJkMjFkNDMx
ZjVkOGI1N2ZhOWFiMWM1ZDc2NmE0YzdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcApAQCAtMTEx
MywyOSArMTExMywxMiBAQCB2b2lkIFdlYkZyYW1lOjppbnZhbGlkYXRlKCkKIAogSFJFU1VMVCBX
ZWJGcmFtZTo6aW5WaWV3U291cmNlTW9kZShCT09MKiBmbGFnKQogewotICAgIGlmICghZmxhZykg
ewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRF
UjsKLSAgICB9Ci0KLSAgICAqZmxhZyA9IEZBTFNFOwotCi0gICAgRnJhbWUqIGNvcmVGcmFtZSA9
IGNvcmUodGhpcyk7Ci0gICAgaWYgKCFjb3JlRnJhbWUpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7
Ci0KLSAgICAqZmxhZyA9IGNvcmVGcmFtZS0+aW5WaWV3U291cmNlTW9kZSgpID8gVFJVRSA6IEZB
TFNFOwotICAgIHJldHVybiBTX09LOworICAgIHJldHVybiBFX05PVElNUEw7CiB9CiAKIEhSRVNV
TFQgV2ViRnJhbWU6OnNldEluVmlld1NvdXJjZU1vZGUoQk9PTCBmbGFnKQogewotICAgIEZyYW1l
KiBjb3JlRnJhbWUgPSBjb3JlKHRoaXMpOwotICAgIGlmICghY29yZUZyYW1lKQotICAgICAgICBy
ZXR1cm4gRV9GQUlMOwotCi0gICAgY29yZUZyYW1lLT5zZXRJblZpZXdTb3VyY2VNb2RlKCEhZmxh
Zyk7Ci0gICAgcmV0dXJuIFNfT0s7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAogSFJFU1VM
VCBXZWJGcmFtZTo6ZWxlbWVudFdpdGhOYW1lKEJTVFIgbmFtZSwgSURPTUVsZW1lbnQqIGZvcm0s
IElET01FbGVtZW50KiogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggMGE5ZDQyN2Rk
ZGE5NWVjMDYyMmU5MmQ3YjdkMGIxOTA0YTIyMDUzYi4uOTBkNTk1ZjA2ZGJmMDk0NzYyYjc2MWI4
OTQxNzQxOWI0ZDE0ZjYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTUxMjMsMTkgKzUxMjMs
MTMgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjpyZW1vdmVDdXN0b21Ecm9w
VGFyZ2V0KCkKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6c2V0SW5WaWV3U291
cmNlTW9kZSggCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBmbGFnKQogewotICAgIGlmICghbV9t
YWluRnJhbWUpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICByZXR1cm4gbV9tYWluRnJh
bWUtPnNldEluVmlld1NvdXJjZU1vZGUoZmxhZyk7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0K
ICAgICAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5WaWV3U291cmNlTW9k
ZSggCiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCogZmxhZykKIHsKLSAgICBpZiAo
IW1fbWFpbkZyYW1lKQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0gICAgcmV0dXJuIG1fbWFp
bkZyYW1lLT5pblZpZXdTb3VyY2VNb2RlKGZsYWcpOworICAgIHJldHVybiBFX05PVElNUEw7CiB9
CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6dmlld1dpbmRvdyggCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224431</attachid>
            <date>2014-02-17 15:17:14 -0800</date>
            <delta_ts>2014-02-17 15:44:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127233-20140217151712.patch</filename>
            <type>text/plain</type>
            <size>87332</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZlMDdiNWFiMWM3ODU4
MTI5ZjcwNmRmOGJhYWEwNDFmZjMzZjIxNi4uMDZmODIzOTE5NWE1ZDU4OWM1NjExNzkzMzZmYzA4
MDJmMTlhMmQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE0LTAyLTE3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpZXcg
c291cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbkV4
ZWN1dGVTY3JpcHRzKToKKyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmNwcDoK
KyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmg6CisgICAgICAgICogY3NzL0Rv
Y3VtZW50UnVsZVNldHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxlU2V0czo6
YXBwZW5kQXV0aG9yU3R5bGVTaGVldHMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRSdWxl
U2V0czo6Y29sbGVjdEZlYXR1cmVzKToKKyAgICAgICAgKiBjc3MvRG9jdW1lbnRSdWxlU2V0cy5o
OgorICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBl
bmRBdXRob3JTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpz
dHlsZUZvckVsZW1lbnQpOgorICAgICAgICAqIGNzcy92aWV3LXNvdXJjZS5jc3M6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1M
RnJhbWVFbGVtZW50QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50
QmFzZTo6SFRNTEZyYW1lRWxlbWVudEJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZyYW1l
RWxlbWVudEJhc2U6Om9wZW5VUkwpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuaDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tlbi5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hU
TUxWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MVmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvcGFyc2VyL1Rl
eHRWaWV3U291cmNlUGFyc2VyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5UGFnZS5jc3M6CisgICAgICAgICgudGFnLW5hbWUpOgorICAgICAgICAoLm5v
ZGUtaWQpOgorICAgICAgICAoLmNsYXNzLW5hbWUpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVu
dFdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6Y3JlYXRlRG9j
dW1lbnQpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgICogeG1sL0RPTVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01QYXJzZXI6OnBhcnNlRnJvbVN0cmluZyk6CisgICAgICAgICogeG1sL1hNTFZpZXdlci5j
c3M6CisgICAgICAgICgudGFnKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYU0xUUHJvY2Vzc29yOjpjcmVhdGVEb2N1bWVudEZyb21Tb3VyY2Up
OgorCiAyMDE0LTAyLTE3ICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KIAogICAg
ICAgICBbQ1NTIFJlZ2lvbnNdIE1ha2UgcmVnaW9ucyB1bnNwbGl0dGFibGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA5M2I3YTdiZGE5MjVjYmUyZDAzYjJiMmRkMjVkYjZiZjU0NTE4YTM4Li4zZTIzZTkz
NDg4MTFhOTBjNTA5YjA5NTBiNGZhZjc1MGZkZjk1NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTQtMDItMTcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW1vdmUgdmlldyBzb3VyY2UgY29kZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MjMzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oOgorCiAyMDE0LTAyLTE1ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFJlbW92ZSBXZWJT
ZXJpYWxpemVkSlNWYWx1ZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2ZGJkNzRiZDRlODk1NDc2
NjEwYjYyNjRiOGVkNjZkOTYyZjAwNjRmLi5hNTcyNDZkYjJkOGI1MGRmNDlhMTkxYzViOWE4MTA3
YjJmZmYxMDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDItMTcg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUg
dmlldyBzb3VyY2UgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6aW5WaWV3U291cmNl
TW9kZSk6CisgICAgICAgIChXZWJGcmFtZTo6c2V0SW5WaWV3U291cmNlTW9kZSk6CisgICAgICAg
ICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpzZXRJblZpZXdTb3VyY2VNb2RlKToK
KyAgICAgICAgKFdlYlZpZXc6OmluVmlld1NvdXJjZU1vZGUpOgorCiAyMDE0LTAyLTE0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIE1ha2UgdGVz
dHMgbW9yZSBjb25zaXN0ZW50IHdpdGggTWFjIHBsYXRmb3JtCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjA5YTIy
NDRjNGY0ZmMzODgyN2QyMDA5ODQ1MGY4ZmM3ZTQ2YzZjMy4uZjQwNzdhODQ1N2FhOTM2MzkzYzBm
MGY4NzNlYTViZDU5NGVkZWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE0LTAy
LTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVt
b3ZlIHZpZXcgc291cmNlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNzIzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKKzIwMTQtMDItMTcgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWJLaXRHVEsrIHNob3Vs
ZCBzdG9wIGNhbGxpbmcgZnVuY3Rpb25zIHRvIHNldCB0aGUgdmlldyBzb3VyY2UgbW9kZQogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4OTE5CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggNWZiM2M2YTI4YWRjOTM1NzkwOTY4MzQ2OTNhNzU2ZGNiM2Uy
NjhiZS4uNzdiMmMyNTFlNmY2NmY5YzNhYjg2ODM0YzY5MjlkY2JlNWViYWJhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTE0NDksNyArMTQ0OSw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmNw
cAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKLSAgICBodG1sL0hUTUxWaWV3U291cmNl
RG9jdW1lbnQuY3BwCiAgICAgaHRtbC9IaWRkZW5JbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9JbWFn
ZURhdGEuY3BwCiAgICAgaHRtbC9JbWFnZURvY3VtZW50LmNwcApAQCAtMTU0OCw5ICsxNTQ3LDcg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvcGFyc2VyL0hUTUxTb3VyY2VUcmFja2Vy
LmNwcAogICAgIGh0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCiAgICAgaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcAotICAgIGh0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2Vy
LmNwcAogICAgIGh0bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5jcHAKLSAgICBodG1sL3Bh
cnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAKICAgICBodG1sL3BhcnNlci9YU1NBdWRpdG9y
LmNwcAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKIApAQCAtMjU2OCw3
ICsyNTY1LDYgQEAgc2V0KFdlYkNvcmVfVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMKICAgICAke1dF
QkNPUkVfRElSfS9jc3MvcGx1Z0lucy5jc3MKICAgICAke1dFQkNPUkVfRElSfS9jc3MvcXVpcmtz
LmNzcwogICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9zdmcuY3NzCi0gICAgJHtXRUJDT1JFX0RJUn0v
Y3NzL3ZpZXctc291cmNlLmNzcwogKQogCiBzZXQoV2ViQ29yZV9QTFVHX0lOU19SRVNPVVJDRVMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQzM2Y3Mzg0ZjgyY2Q4YTA0YzI1NTg5
Yzc2MzEyY2JjOWY4NmZiODguLmY3ZjRhOGM5MWFkM2VmYTdhNmJhNjY2ZjZiN2FiMjhmODJkNjJm
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODQ2LDcgKzg0Niw3IEBAIFhQ
YXRoR3JhbW1hci5jcHAgOiB4bWwvWFBhdGhHcmFtbWFyLnkgJChQUk9KRUNUX0ZJTEUpCiAKICMg
dXNlciBhZ2VudCBzdHlsZSBzaGVldHMKIAotVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzICQoV2ViQ29yZSkvY3NzL3BsdWdJbnMuY3NzCitVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3NzL2h0bWwuY3NzICQoV2ViQ29yZSkv
Y3NzL3F1aXJrcy5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVXaW4uY3NzICQoV2ViQ29yZSkvY3Nz
L3RoZW1lV2luUXVpcmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcwogVVNFUl9BR0VO
VF9TVFlMRV9TSEVFVFMgOj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9j
c3Mvc3ZnLmNzcwogCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01BVEhNTCwkKEZFQVRVUkVf
REVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0YzM3MWZh
NGNlMGUwYTgyMTRhZjhkYmM2YWNmY2RmZWIwNWM1YzZlLi5mNTNkNmRhNmNmNWYyZjFmMjc5MDIz
MDlhZDcyMDViNzFkMTVkZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjc2LDcgKzI3Niw2
IEBAIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gXAogCSQoV2ViQ29yZSkvY3NzL2h0bWwuY3Nz
IFwKIAkkKFdlYkNvcmUpL2Nzcy9tYXRobWwuY3NzIFwKIAkkKFdlYkNvcmUpL2Nzcy9xdWlya3Mu
Y3NzIFwKLQkkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgXAogCSQoV2ViQ29yZSkvY3Nz
L3N2Zy5jc3MgXAogCSQoV2ViQ29yZSkvY3NzL21lZGlhQ29udHJvbHMuY3NzIFwKIAkkKFdlYkNv
cmUpL2Nzcy9tZWRpYUNvbnRyb2xzR3RrLmNzcyBcCkBAIC03MDIsNyArNzAxLDYgQEAgRVhUUkFf
RElTVCArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL3N2Zy5jc3MgXAogCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9TVkdDU1NQcm9wZXJ0eU5hbWVzLmluIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NT
VmFsdWVLZXl3b3Jkcy5pbiBcCi0JU291cmNlL1dlYkNvcmUvY3NzL3ZpZXctc291cmNlLmNzcyBc
CiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdEZvbnRGYW1pbHlOYW1lcy5pbiBcCiAJU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEZhY3RvcnkuaW4gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZDE2ZjUw
M2YzOWRkYTBkZjlmY2Y3NjQyODllMDZhNTdhNWM4NTAxNC4uMmY5ZjE4MTFjYjBjNjlkZWJkNzlh
YjUxNTViMmEwZjZmOTY2YjY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0z
NTI2LDggKzM1MjYsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFVMaXN0RWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0Vs
ZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBcCi0J
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBcCi0JU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvSGlkZGVuSW5wdXRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5J
bnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURhdGEuY3BwIFwKQEAgLTM2
MDEsMTQgKzM1OTksMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNl
UGFyc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0lucHV0U3RyZWFtUHJlcHJv
Y2Vzc29yLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3Jl
bWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNl
ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5o
IFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAg
XAotCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMTg1NjFmNGEwNzFkODU3M2YxNDQyYzFjMWNh
ODIwMDY1NTA3MWYzZS4uZTFmOTUwZWIzOTcyZTkxYTczY2YwNzczNDFjMzlhY2FmYTc3ZmM2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0xNTU3OCw3ICsxNTU3OCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEYXRhLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxcSW1hZ2VEb2N1bWVudC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmNwcCIgLz4KQEAgLTE1NjMwLDkgKzE1NjI5LDcg
QEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxTb3VyY2VUcmFj
a2VyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxU
b2tlbml6ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJc
SFRNTFRyZWVCdWlsZGVyLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
cGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHREb2N1bWVudFBhcnNlci5jcHAiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxYU1NBdWRpdG9yLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxl
Z2F0ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250
ZW50RGlzdHJpYnV0b3IuY3BwIiAvPgpAQCAtMjAzMjQsNyArMjAzMjEsNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVHJhY2tFbGVtZW50LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxVTGlzdEVsZW1lbnQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVvRWxlbWVudC5oIiAvPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caHRtbFxIVE1MVmlld1NvdXJjZURvY3VtZW50LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEltYWdlRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caHRtbFxJbWFnZURvY3VtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxodG1sXEltYWdlSW5wdXRUeXBlLmgiIC8+CkBAIC0yMDM4NSwxMSArMjAzODEsOSBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcSFRNTFRva2VuLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxIVE1MVG9rZW5pemVyLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxIVE1MVHJlZUJ1aWxk
ZXIuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3
U291cmNlUGFyc2VyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNl
clxJbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxwYXJzZXJcTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHREb2N1bWVudFBhcnNlci5oIiAvPgotICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcVGV4dFZpZXdTb3VyY2VQYXJzZXIu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3Iu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JE
ZWxlZ2F0ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcQ29u
dGVudERpc3RyaWJ1dG9yLmgiIC8+CkBAIC0yMDg0MCw3ICsyMDgzNCw2IEBACiAgICAgPE5vbmUg
SW5jbHVkZT0iLi5cY3NzXHN2Zy5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHRo
ZW1lV2luLmNzcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxjc3NcdGhlbWVXaW5RdWlya3Mu
Y3NzIiAvPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXGNzc1x2aWV3LXNvdXJjZS5jc3MiIC8+CiAg
ICAgPE5vbmUgSW5jbHVkZT0iLi5cTW9kdWxlc1xtZWRpYWNvbnRyb2xzXG1lZGlhQ29udHJvbHNB
cHBsZS5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cTW9kdWxlc1xtZWRpYWNvbnRyb2xz
XG1lZGlhQ29udHJvbHNBcHBsZS5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlx4bWxcWFBh
dGhHcmFtbWFyLnkiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMTJmM2E0NWFlOTc0ZjgzODhjMDlhNGQx
MDY0Mjg2N2NmMDE0OTJjZi4uYjNhMzhhN2QxZTFkMTkyZTM5NjVmYTVkMWNjMDk0OWIzODYzYTdh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwpAQCAtMzk2Myw5ICszOTYzLDYgQEAKICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZGVvRWxlbWVudC5jcHAiPgogICAgICAgPEZpbHRlcj5odG1s
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIj4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmls
dGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxJ
bWFnZURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21w
aWxlPgpAQCAtNDExOSwxNSArNDExNiw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXHBhcnNlclxIVE1MVHJlZUJ1aWxkZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJz
ZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0
bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1lbnRQYXJzZXIuY3BwIj4KICAgICAgIDxGaWx0
ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFRleHRWaWV3U291cmNlUGFyc2VyLmNwcCI+Ci0gICAg
ICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHBhcnNlclxYU1NBdWRpdG9yLmNwcCI+CiAgICAgICA8
RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMDk1OCw5
ICsxMDk0OSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXEhUTUxWaWRlb0Vs
ZW1lbnQuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
LSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5o
Ij4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxJbWFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPmh0
bWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTExMTQxLDkgKzExMTI5LDYgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxUcmVlQnVpbGRlci5oIj4K
ICAgICAgIDxGaWx0ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXEhUTUxWaWV3U291cmNlUGFyc2Vy
LmgiPgotICAgICAgPEZpbHRlcj5odG1sXHBhcnNlcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxwYXJzZXJcSW5wdXRTdHJlYW1QcmVw
cm9jZXNzb3IuaCI+CiAgICAgICA8RmlsdGVyPmh0bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CkBAIC0xMTE1Myw5ICsxMTEzOCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXHBhcnNlclxUZXh0RG9jdW1lbnRQYXJzZXIuaCI+CiAgICAgICA8RmlsdGVyPmh0
bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxodG1sXHBhcnNlclxUZXh0Vmlld1NvdXJjZVBhcnNlci5oIj4KLSAgICAgIDxGaWx0
ZXI+aHRtbFxwYXJzZXI8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3IuaCI+CiAgICAgICA8RmlsdGVyPmh0
bWxccGFyc2VyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xNDkxMyw5ICsxNDg5NSw2
IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXG1hdGhtbC5jc3MiPgogICAgICAgPEZpbHRl
cj5jc3M8L0ZpbHRlcj4KICAgICA8L05vbmU+Ci0gICAgPE5vbmUgSW5jbHVkZT0iLi5cY3NzXHZp
ZXctc291cmNlLmNzcyI+Ci0gICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgotICAgIDwvTm9uZT4K
ICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxjc3Ncc3ZnLmNzcyI+CiAgICAgICA8RmlsdGVyPmNzczwv
RmlsdGVyPgogICAgIDwvTm9uZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MGY1NzUyM2FlYjM2ODEzMmQwOWMzZDEyNjcwZWNh
ZmI2YmQ4N2Q1Li44NDJlYjg4ZjQwMTk5OGEzYzUyZjNkNjExZDc2YTljZGNjNjhmZTIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0zMzYzLDggKzMzNjMsNiBAQAogCQk5NzdCMzg3NjEyMjg4M0U5MDBCODFGRjggLyogSFRNTFNj
cmlwdFJ1bm5lckhvc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3N0IzODVEMTIyODgzRTkwMEI4MUZGOCAvKiBIVE1MU2NyaXB0UnVubmVySG9zdC5o
ICovOyB9OwogCQk5NzdCMzg3NzEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg1RTEy
Mjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5jcHAgKi87IH07CiAJCTk3N0IzODc4MTIy
ODgzRTkwMEI4MUZGOCAvKiBIVE1MVG9rZW5pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzg1RjEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRv
a2VuaXplci5oICovOyB9OwotCQk5NzdCMzg3OTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFZpZXdT
b3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNw
cCAqLzsgfTsKLQkJOTc3QjM4N0ExMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFy
c2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdC
Mzg2MTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFZpZXdTb3VyY2VQYXJzZXIuaCAqLzsgfTsKIAkJ
OTc3RTJEQ0QxMkYwRTI4MzAwQzEzMzc5IC8qIEhUTUxTb3VyY2VUcmFja2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3N0UyRENCMTJGMEUyODMw
MEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5jcHAgKi87IH07CiAJCTk3N0UyRENFMTJGMEUy
ODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3RTJEQ0MxMkYwRTI4MzAwQzEzMzc5IC8qIEhUTUxT
b3VyY2VUcmFja2VyLmggKi87IH07CiAJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NB
dWRpdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3N0UyRTBCMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCAqLzsgfTsKQEAgLTM0
NTgsOCArMzQ1Niw2IEBACiAJCTk3QkM4NDgzMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1l
bnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTdCQzg0ODExMjM2RkQ5MzAwMEM2MTYxIC8qIFRleHREb2N1bWVudFBhcnNlci5jcHAgKi87
IH07CiAJCTk3QkM4NDg0MTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM4NDgyMTIz
NkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCAqLzsgfTsKIAkJOTdCQzg0OUIx
MjM3MEE0QjAwMEM2MTYxIC8qIEhUTUxJbnB1dFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzg0OUExMjM3MEE0QjAwMEM2MTYxIC8qIEhU
TUxJbnB1dFN0cmVhbS5oICovOyB9OwotCQk5N0JDODRBNDEyMzcwREM4MDAwQzYxNjEgLyogVGV4
dFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTdCQzg0QTIxMjM3MERDNzAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFy
c2VyLmNwcCAqLzsgfTsKLQkJOTdCQzg0QTUxMjM3MERDODAwMEM2MTYxIC8qIFRleHRWaWV3U291
cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCAqLzsg
fTsKIAkJOTdCQzg0QjMxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDODRCMTEyMzcxMTgw
MDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCAqLzsgfTsKIAkJOTdCQzg0QjQxMjM3MTE4MDAw
MEM2MTYxIC8qIFRleHREb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTdCQzg0QjIxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5o
ICovOyB9OwogCQk5N0MwNzg1MDExNjVENUJFMDAzQTMyRUYgLyogU3VmZml4VHJlZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdDMDc4NEYxMTY1RDVC
RTAwM0EzMkVGIC8qIFN1ZmZpeFRyZWUuaCAqLzsgfTsKQEAgLTUxOTAsOCArNTE4Niw2IEBACiAJ
CUJDQ0JBRDNCMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0JBRDNBMEMx
OEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJQkND
QkFENDAwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNDQkFEM0UwQzE4QzE0MjAwQ0U4
OTBGIC8qIEpTSFRNTENvbGxlY3Rpb24uY3BwICovOyB9OwogCQlCQ0NCQUQ0MTBDMThDMTQyMDBD
RTg5MEYgLyogSlNIVE1MQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNDQkFEM0YwQzE4QzE0MjAwQ0U4OTBGIC8qIEpTSFRNTENvbGxl
Y3Rpb24uaCAqLzsgfTsKLQkJQkNDRDc0REMwQTRDOEQzNTAwNUZEQTZEIC8qIEhUTUxWaWV3U291
cmNlRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50Lmgg
Ki87IH07Ci0JCUJDQ0Q3NEU1MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3Vt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
Q0Q3NEU0MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLzsg
fTsKIAkJQkNDRkJBRTgwQjUxNTJFRDAwMDFGMUQ3IC8qIERvY3VtZW50UGFyc2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0NGQkFFNzBCNTE1MkVE
MDAwMUYxRDcgLyogRG9jdW1lbnRQYXJzZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0QwRTBGQTBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJp
dHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNEMEUwRjcwRTk3MkMzNTAwMjY1REVBIC8qIFNlY3VyaXR5T3JpZ2luLmNwcCAqLzsgfTsK
IAkJQkNEMEUwRkIwRTk3MkMzNTAwMjY1REVBIC8qIFNlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0QwRTBGODBFOTcyQzM1MDAy
NjVERUEgLyogU2VjdXJpdHlPcmlnaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMTAyOTcsOCArMTAyOTEsNiBAQAogCQk5NzdCMzg1RDEyMjg4
M0U5MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lckhvc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSFRNTFNjcmlwdFJ1bm5lckhvc3QuaDsgcGF0aCA9IHBhcnNlci9IVE1M
U2NyaXB0UnVubmVySG9zdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzdCMzg1
RTEyMjg4M0U5MDBCODFGRjggLyogSFRNTFRva2VuaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MVG9rZW5pemVyLmNwcDsgcGF0aCA9IHBhcnNlci9IVE1M
VG9rZW5pemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc3QjM4NUYxMjI4
ODNFOTAwQjgxRkY4IC8qIEhUTUxUb2tlbml6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSFRNTFRva2VuaXplci5oOyBwYXRoID0gcGFyc2VyL0hUTUxUb2tlbml6ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4IC8q
IEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcDsgcGF0aCA9IHBhcnNlci9IVE1MVmlld1Nv
dXJjZVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3N0IzODYxMTIy
ODgzRTkwMEI4MUZGOCAvKiBIVE1MVmlld1NvdXJjZVBhcnNlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBIVE1MVmlld1NvdXJjZVBhcnNlci5oOyBwYXRoID0gcGFyc2VyL0hU
TUxWaWV3U291cmNlUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3N0Uy
RENCMTJGMEUyODMwMEMxMzM3OSAvKiBIVE1MU291cmNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MU291cmNlVHJhY2tlci5jcHA7IHBhdGggPSBw
YXJzZXIvSFRNTFNvdXJjZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5NzdFMkRDQzEyRjBFMjgzMDBDMTMzNzkgLyogSFRNTFNvdXJjZVRyYWNrZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTFNvdXJjZVRyYWNrZXIuaDsgcGF0aCA9IHBh
cnNlci9IVE1MU291cmNlVHJhY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBYU1NBdWRpdG9yLmNwcDsgcGF0aCA9IHBhcnNlci9YU1NB
dWRpdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNDA4LDggKzEwNDAw
LDYgQEAKIAkJOTdCQzg0ODExMjM2RkQ5MzAwMEM2MTYxIC8qIFRleHREb2N1bWVudFBhcnNlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBUZXh0RG9jdW1lbnRQYXJz
ZXIuY3BwOyBwYXRoID0gcGFyc2VyL1RleHREb2N1bWVudFBhcnNlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDgyMTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1l
bnRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4dERvY3VtZW50
UGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvVGV4dERvY3VtZW50UGFyc2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NDlBMTIzNzBBNEIwMDBDNjE2MSAvKiBIVE1MSW5wdXRT
dHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSFRNTElucHV0U3RyZWFt
Lmg7IHBhdGggPSBwYXJzZXIvSFRNTElucHV0U3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTk3QkM4NEEyMTIzNzBEQzcwMDBDNjE2MSAvKiBUZXh0Vmlld1NvdXJjZVBhcnNl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBUZXh0Vmlld1NvdXJj
ZVBhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5N0JDODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4
dFZpZXdTb3VyY2VQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGV4
dFZpZXdTb3VyY2VQYXJzZXIuaDsgcGF0aCA9IHBhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5N0JDODRCMTEyMzcxMTgwMDAwQzYxNjEg
LyogVGV4dERvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFRleHREb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3QkM4NEIy
MTIzNzExODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVGV4dERvY3VtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk3QzA3ODRGMTE2NUQ1QkUwMDNBMzJFRiAvKiBTdWZmaXhUcmVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN1ZmZpeFRyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEyMTkyLDcgKzEyMTgyLDYgQEAKIAkJQkM1RUI5N0YwRTgyMDcyNTAwQjI1OTY1IC8q
IENvbnRlbnREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvbnRlbnRE
YXRhLmg7IHBhdGggPSBzdHlsZS9Db250ZW50RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQzVFQkEwRTBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJhbWVMaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEtleWZyYW1lTGlzdC5jcHA7IHBhdGgg
PSBzdHlsZS9LZXlmcmFtZUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
QzVFQkEwRjBFODIzRTQ3MDBCMjU5NjUgLyogS2V5ZnJhbWVMaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEtleWZyYW1lTGlzdC5oOyBwYXRoID0gc3R5bGUvS2V5ZnJhbWVM
aXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNUVDMTc2MEE1MDdFM0UwMDYw
MDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJ2aWV3LXNv
dXJjZS5jc3MiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwNDlDQjBEQjU2MEMy
MDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ1NTQ2FudmFzVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2
MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0NhbnZhc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM2MDkwMUUwRTkxQjhFQzAwMEM2OEI1IC8qIEpTRXZlbnRUYXJn
ZXRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVu
dFRhcmdldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjM4Nyw4
ICsxMjM3Niw2IEBACiAJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0
aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRN
TENvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0NC
QUQzRTBDMThDMTQyMDBDRTg5MEYgLyogSlNIVE1MQ29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDQ0JBRDNGMEMxOEMxNDIwMENFODkwRiAvKiBKU0hUTUxD
b2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxDb2xs
ZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDQ0Q3NERCMEE0QzhEMzUw
MDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUJDQ0Q3NEU0MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURv
Y3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MVmll
d1NvdXJjZURvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDRkJB
RTcwQjUxNTJFRDAwMDFGMUQ3IC8qIERvY3VtZW50UGFyc2VyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEb2N1bWVudFBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQ0QwRTBGNzBFOTcyQzM1MDAyNjVERUEgLyogU2VjdXJpdHlPcmlnaW4uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VjdXJpdHlPcmlnaW4uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0QwRTBGODBFOTcyQzM1MDAyNjVERUEgLyog
U2VjdXJpdHlPcmlnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjdXJp
dHlPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MzU0LDggKzE3MzQx
LDYgQEAKIAkJCQlFNDQ2MTM5ODBDRDYzMzEwMDBGQURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5j
cHAgKi8sCiAJCQkJRTQ0NjEzOTkwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQu
aCAqLywKIAkJCQlFNDQ2MTM5QTBDRDYzMzEwMDBGQURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5p
ZGwgKi8sCi0JCQkJQkNDRDc0RTQwQTRDOERERjAwNUZEQTZEIC8qIEhUTUxWaWV3U291cmNlRG9j
dW1lbnQuY3BwICovLAotCQkJCUJDQ0Q3NERCMEE0QzhEMzUwMDVGREE2RCAvKiBIVE1MVmlld1Nv
dXJjZURvY3VtZW50LmggKi8sCiAJCQkJQTc3OTc5MTMwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdl
RGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5MTQwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5o
ICovLAogCQkJCUE3Nzk3OTE1MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaWRsICovLApA
QCAtMTc4MTksMTQgKzE3ODA0LDEwIEBACiAJCQkJOTc3QjM4NUYxMjI4ODNFOTAwQjgxRkY4IC8q
IEhUTUxUb2tlbml6ZXIuaCAqLywKIAkJCQk5NzdCMzcyMTEyMjg3MjE3MDBCODFGRjggLyogSFRN
TFRyZWVCdWlsZGVyLmNwcCAqLywKIAkJCQk5NzdCMzcyMjEyMjg3MjE3MDBCODFGRjggLyogSFRN
TFRyZWVCdWlsZGVyLmggKi8sCi0JCQkJOTc3QjM4NjAxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxW
aWV3U291cmNlUGFyc2VyLmNwcCAqLywKLQkJCQk5NzdCMzg2MTEyMjg4M0U5MDBCODFGRjggLyog
SFRNTFZpZXdTb3VyY2VQYXJzZXIuaCAqLywKIAkJCQlBODgwNUFGMTE2Qzk2QUVBMDAwRTlEOTgg
LyogSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCAqLywKIAkJCQk4QTMwOUM5RTEyMzk1MEJFMDBD
QjkyMDQgLyogTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCAqLywKIAkJCQk5N0JDODQ4MTEyMzZG
RDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFyc2VyLmNwcCAqLywKIAkJCQk5N0JDODQ4MjEy
MzZGRDkzMDAwQzYxNjEgLyogVGV4dERvY3VtZW50UGFyc2VyLmggKi8sCi0JCQkJOTdCQzg0QTIx
MjM3MERDNzAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmNwcCAqLywKLQkJCQk5N0JD
ODRBMzEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuaCAqLywKIAkJCQk5
NzdFMkUwQjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgKi8sCiAJCQkJOTc3RTJF
MEMxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCAqLywKIAkJCQk5NzdFMkUwQjEyRjBG
QzlDMDBDMTMzODAgLyogWFNTQXVkaXRvckRlbGVnYXRlLmNwcCAqLywKQEAgLTIxNTMzLDcgKzIx
NTE0LDYgQEAKIAkJCQlCMjIyN0IwNDBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTVmFsdWVLZXl3
b3Jkcy5pbiAqLywKIAkJCQlGQjQ4NEY0QTE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVu
Y3Rpb25zLmNwcCAqLywKIAkJCQlGQjQ4NEY0QjE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3Jt
RnVuY3Rpb25zLmggKi8sCi0JCQkJQkM1RUMxNzYwQTUwN0UzRTAwNjAwN0Y1IC8qIHZpZXctc291
cmNlLmNzcyAqLywKIAkJCQkzRkZGRjlBQjE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHls
ZVJlc29sdmVyLmNwcCAqLywKIAkJCQkzRkZGRjlBQzE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3Bv
cnRTdHlsZVJlc29sdmVyLmggKi8sCiAJCQkJMzEwNjAzNkMxNDMyN0QyRTAwQUJGNEJBIC8qIFdl
YktpdENTU0ZpbHRlclZhbHVlLmNwcCAqLywKQEAgLTIzODU4LDggKzIzODM4LDYgQEAKIAkJCQlB
OEVBNzlGMjBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTFVMaXN0RWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTQ0NjEzQUIwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3Mjc3RTREMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3Ry
ZWFtLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQ0NENzREQzBBNEM4RDM1MDA1RkRBNkQgLyogSFRN
TFZpZXdTb3VyY2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTc3QjM4N0ExMjI4ODNF
OTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTRDNzY3MTBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUEhlYWRlck1hcC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDczQUI0QjgxN0Y5MkVDRjAwNkUwRDZGIC8qIEpTQ2FwYWJpbGl0eVJhbmdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTRDNzY3MzBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUFBhcnNlcnMu
aCBpbiBIZWFkZXJzICovLApAQCAtMjU2NTYsNyArMjU2MzQsNiBAQAogCQkJCTA3Njk3MDg3MTQ2
M0FEODcwMEY1MDJDRiAvKiBUZXh0VHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUFE
NEU3NDEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OTg3NzBGMTEyNDJDNTM1MDAyMjI2QkEgLyogVGV4dHVyZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJOTdCQzg0QTUxMjM3MERDODAwMEM2MTYxIC8qIFRleHRWaWV3U291cmNlUGFyc2VyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0U2NThGRjBFQTkyNDhBMDA3RTQ1MzMgLyogVGhlbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDRTY1OUU2MEVBOTJGQjIwMDdFNDUzMyAvKiBUaGVtZU1hYy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9v
ay5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzIwMyw4ICsyNzE4MCw2IEBACiAJCQkJQThFQTc5RjMw
QTE5MTZERjAwQThFRjVGIC8qIEhUTUxVTGlzdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTQ0NjEzQUEwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTEyNUY4MzgxODIyRjFFQjAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRo
bUhNQUNNYWMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNDRDc0RTUwQTRDOERERjAwNUZEQTZE
IC8qIEhUTUxWaWV3U291cmNlRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOTc3QjM4
NzkxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxWaWV3U291cmNlUGFyc2VyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxQzI2NkQ4MTgzMTdBQjQwMDNGOEIzMyAvKiBDcnlwdG9BbGdvcml0aG1SU0FT
U0FfUEtDUzFfdjFfNU1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTg0RkUyRjE4NjRDQjg0
MDA4NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBCOEM1NkQ0MEYyODYyN0YwMDA1MDJFMSAvKiBIVFRQSGVhZGVyTWFwLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjg4OTEsNyArMjg4NjYsNiBAQAogCQkJCUIxQUQ0RTczMTNBMTJBNDYwMDg0
NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QxRTczNDcx
NjdCQzc4RTAwOUE4ODVEIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ5ODc3MEYwMTI0MkM1MzUwMDIyMjZCQSAvKiBUZXh0dXJlLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTk3QkM4NEE0MTIzNzBEQzgwMDBDNjE2MSAvKiBUZXh0Vmlld1NvdXJjZVBh
cnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U2NUQzMjBFQUQxMjExMDA3RTQ1MzMgLyog
VGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDM0IxRkMwRjBFNDE3MDAwOTY5M0Y2IC8q
IFRpbGVDYWNoZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRTY1OUU5MEVBOTJGRkEwMDdFNDUz
MyAvKiBUaGVtZU1hYy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCAyMmUyNmJmNzA2ZmE5OWY2ODBlNWRj
OGZkMTIyOTEwNTdkMjllNzE0Li43YWY0YTFjOTVmZDFmYjk3YTVhYzY5Mzc2MzU1YTViOWJhNjk5
MmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmNwcApAQCAtNDg2LDExICs0ODYsNiBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1
dGVTY3JpcHRzKFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyByZWFzbwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSAmJiBt
X2ZyYW1lLmRvY3VtZW50KCktPmlzVmlld1NvdXJjZSgpKSB7Ci0gICAgICAgIEFTU0VSVChtX2Zy
YW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmlzVW5pcXVlKCkpOwotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KICAgICBpZiAoIW1fZnJhbWUucGFnZSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0
U3R5bGVTaGVldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0
cy5jcHAKaW5kZXggM2VmMDEwYjAyOGZmNTUyZTBiZGVmZmJjZGQ5ZDExZTVmNjc3ZjJhZC4uMDc1
Mzg2NGRiMjA3MTQ5NzQ4MzY2NTlkMjg2MjA1NjE1ZTMxYWI5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAKQEAgLTQ3LDcgKzQ3LDYgQEAgdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKIFJ1bGVTZXQqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZGVm
YXVsdFN0eWxlOwogUnVsZVNldCogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0UXVpcmtz
U3R5bGU7CiBSdWxlU2V0KiBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmRlZmF1bHRQcmludFN0eWxl
OwotUnVsZVNldCogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0Vmlld1NvdXJjZVN0eWxl
OwogCiBTdHlsZVNoZWV0Q29udGVudHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6c2ltcGxlRGVm
YXVsdFN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0
czo6ZGVmYXVsdFN0eWxlU2hlZXQ7CkBAIC0xNDUsMTcgKzE0NCw2IEBAIHZvaWQgQ1NTRGVmYXVs
dFN0eWxlU2hlZXRzOjpsb2FkU2ltcGxlRGVmYXVsdFN0eWxlKCkKICAgICAvLyBObyBuZWVkIHRv
IGluaXRpYWxpemUgcXVpcmtzIHNoZWV0IHlldCBhcyB0aGVyZSBhcmUgbm8gcXVpcmsgcnVsZXMg
Zm9yIGVsZW1lbnRzIGFsbG93ZWQgaW4gc2ltcGxlIGRlZmF1bHQgc3R5bGUuCiB9CiAKLVJ1bGVT
ZXQqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6dmlld1NvdXJjZVN0eWxlKCkKLXsKLSAgICBpZiAo
IWRlZmF1bHRWaWV3U291cmNlU3R5bGUpIHsKLSAgICAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250
ZW50cyogdmlld1NvdXJjZVN0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQoc291cmNlVXNlckFnZW50
U3R5bGVTaGVldCwgc2l6ZW9mKHNvdXJjZVVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKLSAgICAgICAg
ZGVmYXVsdFZpZXdTb3VyY2VTdHlsZSA9IHN0ZDo6bWFrZV91bmlxdWU8UnVsZVNldD4oKS5yZWxl
YXNlKCk7Ci0gICAgICAgIGRlZmF1bHRWaWV3U291cmNlU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0
KHZpZXdTb3VyY2VTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwotICAgIH0KLSAgICByZXR1cm4g
ZGVmYXVsdFZpZXdTb3VyY2VTdHlsZTsKLX0KLQotCiB2b2lkIENTU0RlZmF1bHRTdHlsZVNoZWV0
czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBi
b29sJiBjaGFuZ2VkRGVmYXVsdFN0eWxlKQogewogICAgIGlmIChzaW1wbGVEZWZhdWx0U3R5bGVT
aGVldCAmJiAhZWxlbWVudENhblVzZVNpbXBsZURlZmF1bHRTdHlsZShlbGVtZW50KSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5oCmluZGV4IGNjZGIxOTY1ZDg4
Yjg0MDE4Y2NmMzNlZjVlM2EyOGQ2ZGFjNWI0ODcuLmNiMTM3YWE4MTNiZDQxNTY5NDg5N2I4MTMz
MjU1ZjMxZWQyNzgzOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0
U3R5bGVTaGVldHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRGVmYXVsdFN0eWxlU2hl
ZXRzLmgKQEAgLTM0LDcgKzM0LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBSdWxlU2V0KiBkZWZh
dWx0U3R5bGU7CiAgICAgc3RhdGljIFJ1bGVTZXQqIGRlZmF1bHRRdWlya3NTdHlsZTsKICAgICBz
dGF0aWMgUnVsZVNldCogZGVmYXVsdFByaW50U3R5bGU7Ci0gICAgc3RhdGljIFJ1bGVTZXQqIGRl
ZmF1bHRWaWV3U291cmNlU3R5bGU7CiAKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBz
aW1wbGVEZWZhdWx0U3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBk
ZWZhdWx0U3R5bGVTaGVldDsKQEAgLTQ5LDcgKzQ4LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGxvYWRGdWxsRGVmYXVsdFN0eWxlKCk7CiAgICAgc3RhdGljIHZvaWQgbG9hZFNpbXBsZURl
ZmF1bHRTdHlsZSgpOwogICAgIHN0YXRpYyB2b2lkIGluaXREZWZhdWx0U3R5bGUoRWxlbWVudCop
OwotICAgIHN0YXRpYyBSdWxlU2V0KiB2aWV3U291cmNlU3R5bGUoKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1
bGVTZXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmNwcAppbmRl
eCA0M2UyOTlkM2E3NDQ1MWU4MWYyZWU3NjNmOGQyMGNhOTY1Yzg1MThjLi44ZmEyNzJhNmQ3NDhm
ZGIwNzRkYmU5NTZmNWI2NDEwYTMyMTdjZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRG9jdW1lbnRSdWxlU2V0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RvY3VtZW50
UnVsZVNldHMuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRG9jdW1lbnRSdWxlU2V0czo6cmVz
ZXRBdXRob3JTdHlsZSgpCiAgICAgbV9hdXRob3JTdHlsZS0+ZGlzYWJsZUF1dG9TaHJpbmtUb0Zp
dCgpOwogfQogCi12b2lkIERvY3VtZW50UnVsZVNldHM6OmFwcGVuZEF1dGhvclN0eWxlU2hlZXRz
KHVuc2lnbmVkIGZpcnN0TmV3LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+PiYg
c3R5bGVTaGVldHMsIE1lZGlhUXVlcnlFdmFsdWF0b3IqIG1lZGl1bSwgSW5zcGVjdG9yQ1NTT01X
cmFwcGVycyYgaW5zcGVjdG9yQ1NTT01XcmFwcGVycywgYm9vbCBpc1ZpZXdTb3VyY2UsIFN0eWxl
UmVzb2x2ZXIqIHJlc29sdmVyKQordm9pZCBEb2N1bWVudFJ1bGVTZXRzOjphcHBlbmRBdXRob3JT
dHlsZVNoZWV0cyh1bnNpZ25lZCBmaXJzdE5ldywgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0Pj4mIHN0eWxlU2hlZXRzLCBNZWRpYVF1ZXJ5RXZhbHVhdG9yKiBtZWRpdW0sIEluc3Bl
Y3RvckNTU09NV3JhcHBlcnMmIGluc3BlY3RvckNTU09NV3JhcHBlcnMsIFN0eWxlUmVzb2x2ZXIq
IHJlc29sdmVyKQogewogICAgIC8vIFRoaXMgaGFuZGxlcyBzaGVldHMgYWRkZWQgdG8gdGhlIGVu
ZCBvZiB0aGUgc3R5bGVzaGVldCBsaXN0IG9ubHkuIEluIG90aGVyIGNhc2VzIHRoZSBzdHlsZSBy
ZXNvbHZlcgogICAgIC8vIG5lZWRzIHRvIGJlIHJlY29uc3RydWN0ZWQuIFRvIGhhbmRsZSBpbnNl
cnRpb25zIHRvbyB0aGUgcnVsZSBvcmRlciBudW1iZXJzIHdvdWxkIG5lZWQgdG8gYmUgdXBkYXRl
ZC4KQEAgLTk3LDEwICs5NywxMCBAQCB2b2lkIERvY3VtZW50UnVsZVNldHM6OmFwcGVuZEF1dGhv
clN0eWxlU2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBjb25zdCBWZWN0b3I8UgogICAgICAgICBp
bnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNvbGxlY3RGcm9tU3R5bGVTaGVldElmTmVlZGVkKGNzc1No
ZWV0KTsKICAgICB9CiAgICAgbV9hdXRob3JTdHlsZS0+c2hyaW5rVG9GaXQoKTsKLSAgICBjb2xs
ZWN0RmVhdHVyZXMoaXNWaWV3U291cmNlKTsKKyAgICBjb2xsZWN0RmVhdHVyZXMoKTsKIH0KIAot
dm9pZCBEb2N1bWVudFJ1bGVTZXRzOjpjb2xsZWN0RmVhdHVyZXMoYm9vbCBpc1ZpZXdTb3VyY2Up
Cit2b2lkIERvY3VtZW50UnVsZVNldHM6OmNvbGxlY3RGZWF0dXJlcygpCiB7CiAgICAgbV9mZWF0
dXJlcy5jbGVhcigpOwogICAgIC8vIENvbGxlY3QgYWxsIGlkcyBhbmQgcnVsZXMgdXNpbmcgc2li
bGluZyBzZWxlY3RvcnMgKDpmaXJzdC1jaGlsZCBhbmQgc2ltaWxhcikKQEAgLTExMCw5ICsxMTAs
NiBAQCB2b2lkIERvY3VtZW50UnVsZVNldHM6OmNvbGxlY3RGZWF0dXJlcyhib29sIGlzVmlld1Nv
dXJjZSkKICAgICAgICAgbV9mZWF0dXJlcy5hZGQoQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZh
dWx0U3R5bGUtPmZlYXR1cmVzKCkpOwogICAgIGlmIChtX2F1dGhvclN0eWxlKQogICAgICAgICBt
X2ZlYXR1cmVzLmFkZChtX2F1dGhvclN0eWxlLT5mZWF0dXJlcygpKTsKLSAgICBpZiAoaXNWaWV3
U291cmNlKQotICAgICAgICBtX2ZlYXR1cmVzLmFkZChDU1NEZWZhdWx0U3R5bGVTaGVldHM6OnZp
ZXdTb3VyY2VTdHlsZSgpLT5mZWF0dXJlcygpKTsKLQogICAgIGlmIChtX3VzZXJTdHlsZSkKICAg
ICAgICAgbV9mZWF0dXJlcy5hZGQobV91c2VyU3R5bGUtPmZlYXR1cmVzKCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0RvY3VtZW50UnVsZVNldHMuaAppbmRleCAyODhiOGNhMWMwZWJiZjU0MDNmN2I2Yzg0
ZGExYTFlNGVlNWU2OGJiLi5jMmNhNDlmMGZhYzM0ZjFhZTYzZmJlZjYzMTQ5OGY1ZTI2MzU4MjY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRG9jdW1lbnRSdWxlU2V0cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Eb2N1bWVudFJ1bGVTZXRzLmgKQEAgLTUxLDkgKzUxLDkgQEAg
cHVibGljOgogCiAgICAgdm9pZCBpbml0VXNlclN0eWxlKERvY3VtZW50U3R5bGVTaGVldENvbGxl
Y3Rpb24mLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgU3R5bGVSZXNvbHZlciYpOwogICAg
IHZvaWQgcmVzZXRBdXRob3JTdHlsZSgpOwotICAgIHZvaWQgYXBwZW5kQXV0aG9yU3R5bGVTaGVl
dHModW5zaWduZWQgZmlyc3ROZXcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+
JiwgTWVkaWFRdWVyeUV2YWx1YXRvciosIEluc3BlY3RvckNTU09NV3JhcHBlcnMmLCBib29sIGlz
Vmlld1NvdXJjZSwgU3R5bGVSZXNvbHZlciopOworICAgIHZvaWQgYXBwZW5kQXV0aG9yU3R5bGVT
aGVldHModW5zaWduZWQgZmlyc3ROZXcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVl
dD4+JiwgTWVkaWFRdWVyeUV2YWx1YXRvciosIEluc3BlY3RvckNTU09NV3JhcHBlcnMmLCBTdHls
ZVJlc29sdmVyKik7CiAKLSAgICB2b2lkIGNvbGxlY3RGZWF0dXJlcyhib29sIGlzVmlld1NvdXJj
ZSk7CisgICAgdm9pZCBjb2xsZWN0RmVhdHVyZXMoKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNv
bGxlY3RSdWxlc0Zyb21Vc2VyU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0Pj4mLCBSdWxlU2V0JiB1c2VyU3R5bGUsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3Im
LCBTdHlsZVJlc29sdmVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVu
dFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcAppbmRleCA0YmI5MTNlMjI2NzNjNWQ3ZjNjYzE5YTM4ZGEyYTJjODYyZmUzMjRmLi5j
YWU5ODU4YTIzYjIxMTUzNmE3NGQ4NmZkZTMzOTAzZjJiNWZhYWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTI1NywxMCArMjU3LDYgQEAgdm9p
ZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKCkKICAgICAvLyBJbiBxdWlya3Mg
bW9kZSwgd2UgbWF0Y2ggcnVsZXMgZnJvbSB0aGUgcXVpcmtzIHVzZXIgYWdlbnQgc2hlZXQuCiAg
ICAgaWYgKG1fZWxlbWVudC5kb2N1bWVudCgpLmluUXVpcmtzTW9kZSgpKQogICAgICAgICBtYXRj
aFVBUnVsZXMoQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0UXVpcmtzU3R5bGUpOwotCi0g
ICAgLy8gSWYgZG9jdW1lbnQgdXNlcyB2aWV3IHNvdXJjZSBzdHlsZXMgKGluIHZpZXcgc291cmNl
IG1vZGUgb3IgaW4geG1sIHZpZXdlciBtb2RlKSwgdGhlbiB3ZSBtYXRjaCBydWxlcyBmcm9tIHRo
ZSB2aWV3IHNvdXJjZSBzdHlsZSBzaGVldC4KLSAgICBpZiAobV9lbGVtZW50LmRvY3VtZW50KCku
aXNWaWV3U291cmNlKCkpCi0gICAgICAgIG1hdGNoVUFSdWxlcyhDU1NEZWZhdWx0U3R5bGVTaGVl
dHM6OnZpZXdTb3VyY2VTdHlsZSgpKTsKIH0KIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6
bWF0Y2hVQVJ1bGVzKFJ1bGVTZXQqIHJ1bGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCmluZGV4IGVjMzNlNzliYmNlMGM0YjhiNmJkNjc5NDk2NDI2MDk4ZmFlZWMyNTguLjkxZDcy
ZGQ2ZjcwZGQ3OWQxZjFhZWMxOWQwMjA2ZTNhOGJiOTg3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKQEAgLTMwNCw3ICszMDQsNyBAQCBTdHlsZVJlc29sdmVyOjpTdHlsZVJl
c29sdmVyKERvY3VtZW50JiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMp
CiAKIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwZW5kQXV0aG9yU3R5bGVTaGVldHModW5zaWduZWQg
Zmlyc3ROZXcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4+JiBzdHlsZVNoZWV0
cykKIHsKLSAgICBtX3J1bGVTZXRzLmFwcGVuZEF1dGhvclN0eWxlU2hlZXRzKGZpcnN0TmV3LCBz
dHlsZVNoZWV0cywgbV9tZWRpdW0uZ2V0KCksIG1faW5zcGVjdG9yQ1NTT01XcmFwcGVycywgZG9j
dW1lbnQoKS5pc1ZpZXdTb3VyY2UoKSwgdGhpcyk7CisgICAgbV9ydWxlU2V0cy5hcHBlbmRBdXRo
b3JTdHlsZVNoZWV0cyhmaXJzdE5ldywgc3R5bGVTaGVldHMsIG1fbWVkaXVtLmdldCgpLCBtX2lu
c3BlY3RvckNTU09NV3JhcHBlcnMsIHRoaXMpOwogICAgIGlmIChhdXRvIHJlbmRlclZpZXcgPSBk
b2N1bWVudCgpLnJlbmRlclZpZXcoKSkKICAgICAgICAgcmVuZGVyVmlldy0+c3R5bGUoKS5mb250
KCkudXBkYXRlKGZvbnRTZWxlY3RvcigpKTsKIApAQCAtNzkxLDcgKzc5MSw3IEBAIFBhc3NSZWY8
UmVuZGVyU3R5bGU+IFN0eWxlUmVzb2x2ZXI6OnN0eWxlRm9yRWxlbWVudChFbGVtZW50KiBlbGVt
ZW50LCBSZW5kZXJTdHlsCiAgICAgYm9vbCBuZWVkc0NvbGxlY3Rpb24gPSBmYWxzZTsKICAgICBD
U1NEZWZhdWx0U3R5bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQo
ZWxlbWVudCwgbmVlZHNDb2xsZWN0aW9uKTsKICAgICBpZiAobmVlZHNDb2xsZWN0aW9uKQotICAg
ICAgICBtX3J1bGVTZXRzLmNvbGxlY3RGZWF0dXJlcyhkb2N1bWVudCgpLmlzVmlld1NvdXJjZSgp
KTsKKyAgICAgICAgbV9ydWxlU2V0cy5jb2xsZWN0RmVhdHVyZXMoKTsKIAogICAgIEVsZW1lbnRS
dWxlQ29sbGVjdG9yIGNvbGxlY3RvcigqZWxlbWVudCwgc3RhdGUuc3R5bGUoKSwgbV9ydWxlU2V0
cywgbV9zZWxlY3RvckZpbHRlcik7CiAgICAgY29sbGVjdG9yLnNldFJlZ2lvbkZvclN0eWxpbmco
cmVnaW9uRm9yU3R5bGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mvdmlldy1z
b3VyY2UuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL3ZpZXctc291cmNlLmNzcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzgyNWM1ZmJiNDVmYjVhYjMwNTY3NmY2MzY1NDM0MmNkYjEw
YmE1Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3Mvdmlldy1zb3VyY2UuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTYyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotCi1ib2R5IHsKLSAgICBtYXJnaW46IDAKLX0KLQotdGFibGUgewotICAgIHdp
ZHRoOiAxMDAlOwotICAgIGJvcmRlci1zcGFjaW5nOiAwOwotICAgIGNvdW50ZXItcmVzZXQ6IGxp
bmVzOwotICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50OwotICAgIG1hcmdpbjog
MDsKLSAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwotICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsK
LSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotfQotCi10ZCB7Ci0gICAgcGFkZGluZzogMCAh
aW1wb3J0YW50OwotICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZQotfQotCi0ud2Via2l0LWxp
bmUtZ3V0dGVyLWJhY2tkcm9wLCAud2Via2l0LWxpbmUtbnVtYmVyIHsKLSAgICAvKiBLZWVwIHRo
aXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ry
b3ApICovCi0gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAgICBwYWRkaW5nOiAwIDRweCAh
aW1wb3J0YW50OwotICAgIHdpZHRoOiAzMXB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigy
NDAsIDI0MCwgMjQwKTsKLSAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2IoMTg3LCAxODcs
IDE4NykgIWltcG9ydGFudDsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotfQotCi0u
d2Via2l0LWxpbmUtZ3V0dGVyLWJhY2tkcm9wIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3
aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtbGluZS1ndXR0ZXItYmFja2Ryb3ApICovCi0gICAg
cG9zaXRpb246IGFic29sdXRlOwotICAgIHotaW5kZXg6IC0xOwotICAgIGxlZnQ6IDA7Ci0gICAg
dG9wOiAwOwotICAgIGhlaWdodDogMTAwJQotfQotCi0ud2Via2l0LWxpbmUtbnVtYmVyIHsKLSAg
ICB0ZXh0LWFsaWduOiByaWdodDsKLSAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwotICAg
IHdvcmQtYnJlYWs6IG5vcm1hbDsKLSAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwotICAgIGZvbnQt
c2l6ZTogOXB4OwotICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EKLX0KLQotLndlYmtpdC1saW5l
LW51bWJlcjo6YmVmb3JlIHsKLSAgICBjb250ZW50OiBjb3VudGVyKGxpbmVzKTsKLSAgICBjb3Vu
dGVyLWluY3JlbWVudDogbGluZXM7Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQotfQot
Ci10Ym9keTpsYXN0LWNoaWxkIC53ZWJraXQtbGluZS1jb250ZW50OmVtcHR5OmJlZm9yZSB7Ci0g
ICAgY29udGVudDogIiAiOwotfQotCi0ud2Via2l0LWxpbmUtY29udGVudCB7Ci0gICAgcGFkZGlu
ZzogMCA1cHggIWltcG9ydGFudDsKLX0KLQotLndlYmtpdC1odG1sLXRhZyB7Ci0gICAgLyogS2Vl
cCB0aGlzIGluIHN5bmMgd2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtdGFnKSAqLwot
ICAgIGNvbG9yOiByZ2IoMTM2LCAxOCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLWF0dHJpYnV0
ZS1uYW1lIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSkgKi8KLSAgICBjb2xvcjogcmdiKDE1MywgNjksIDAp
OwotfQotCi0ud2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIHsKLSAgICAvKiBLZWVwIHRoaXMg
aW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUp
ICovCi0gICAgY29sb3I6IHJnYigyNiwgMjYsIDE2Nik7Ci19Ci0KLS53ZWJraXQtaHRtbC1leHRl
cm5hbC1saW5rLCAud2Via2l0LWh0bWwtcmVzb3VyY2UtbGluayB7Ci0gICAgLyogS2VlcCB0aGlz
IGluIHN5bmMgd2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtZXh0ZXJuYWwtbGluaywg
LndlYmtpdC1odG1sLXJlc291cmNlLWxpbmspICovCi0gICAgY29sb3I6ICMwMGU7Ci19Ci0KLS53
ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rIHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRo
IGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rKSAqLwotICAgIHRleHQt
ZGVjb3JhdGlvbjogbm9uZTsKLX0KLQotLndlYmtpdC1odG1sLWV4dGVybmFsLWxpbms6aG92ZXIg
ewotICAgIC8qIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggaW5zcGVjdG9yLmNzcyAoLndlYmtpdC1o
dG1sLWV4dGVybmFsLWxpbms6aG92ZXIpICovCi0gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp
bmU7Ci19Ci0KLS53ZWJraXQtaHRtbC1jb21tZW50IHsKLSAgICAvKiBLZWVwIHRoaXMgaW4gc3lu
YyB3aXRoIGluc3BlY3Rvci5jc3MgKC53ZWJraXQtaHRtbC1jb21tZW50KSAqLwotICAgIGNvbG9y
OiByZ2IoMzUsIDExMCwgMzcpOwotfQotCi0ud2Via2l0LWh0bWwtZG9jdHlwZSB7Ci0gICAgLyog
S2VlcCB0aGlzIGluIHN5bmMgd2l0aCBpbnNwZWN0b3IuY3NzICgud2Via2l0LWh0bWwtZG9jdHlw
ZSkgKi8KLSAgICBjb2xvcjogcmdiKDE5MiwgMTkyLCAxOTIpOwotfQotCi0ud2Via2l0LWh0bWwt
ZW50aXR5IHsKLSAgICByZ2IoMTM2LCAxOCwgMTI4KTsKLX0KLQotLndlYmtpdC1odG1sLW1lc3Nh
Z2UtYnViYmxlIHsKLSAgICBib3gtc2hhZG93OiBibGFjayAwcHggMnB4IDVweDsKLSAgICBib3Jk
ZXItcmFkaXVzOiA5cHg7Ci0gICAgLXdlYmtpdC1ib3JkZXItZml0OiBsaW5lczsKLSAgICBtaW4t
aGVpZ2h0OiAxM3B4OwotICAgIGZvbnQtc2l6ZTogOXB4OwotICAgIGZvbnQtZmFtaWx5OiBMdWNp
ZGEgR3JhbmRlLCBzYW5zLXNlcmlmOwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIG1hcmdp
bjogNnB4IDI1cHg7Ci0gICAgcGFkZGluZzogMCA3cHggMXB4OwotfQotCi0ud2Via2l0LWh0bWwt
d2FybmluZy1tZXNzYWdlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAwJSwgNjIlLCA0
MiUpOwotICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYigxMDAlLCA1MiUsIDIxJSk7Ci19Ci0KLS53
ZWJraXQtaHRtbC1lcnJvci1tZXNzYWdlIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAw
JSwgNDIlLCA0MiUpOwotICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYigxMDAlLCAzMSUsIDMxJSk7
Ci19Ci0KLS53ZWJraXQtaHRtbC1tZXNzYWdlLWxpbmUgewotICAgIHBhZGRpbmctbGVmdDogMjNw
eDsKLSAgICB0ZXh0LWluZGVudDogLTIwcHg7Ci19Ci0KLS53ZWJraXQtaHRtbC1tZXNzYWdlLWlj
b24gewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICB0b3A6IDJweDsKLSAgICBtYXJnaW46
IDAgNHB4OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKaW5kZXgg
MmRjOGMyOGI4ODQwOWM2NTQ2NjBmZGI5ZGUyNTUzOGM0Y2I3ZTE4Yy4uYjlhZDNmMzYxNGE1MDEw
YjMxODdkYTVlNWJjZjhkNDc3MWE4ODE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGll
bnQuaCIKICNpbmNsdWRlICJGVFBEaXJlY3RvcnlEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxE
b2N1bWVudC5oIgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJJbWFnZS5oIgogI2luY2x1ZGUgIkltYWdlRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYURv
Y3VtZW50LmgiCkBAIC0zMDAsMTEgKzI5OSw4IEBAIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBE
T01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlSFRNTERvY3VtZW50KGNvbnN0IFN0cmluZyYgdGl0CiAg
ICAgcmV0dXJuIGQucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50PiBET01JbXBs
ZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0eXBlLCBGcmFtZSogZnJh
bWUsIGNvbnN0IFVSTCYgdXJsLCBib29sIGluVmlld1NvdXJjZU1vZGUpCitQYXNzUmVmUHRyPERv
Y3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiB0
eXBlLCBGcmFtZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsKQogewotICAgIGlmIChpblZpZXdTb3Vy
Y2VNb2RlKQotICAgICAgICByZXR1cm4gSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6Y3JlYXRlKGZy
YW1lLCB1cmwsIHR5cGUpOwotCiAgICAgLy8gUGx1Z2lucyBjYW5ub3QgdGFrZSBIVE1MIGFuZCBY
SFRNTCBmcm9tIHVzLCBhbmQgd2UgZG9uJ3QgZXZlbiBuZWVkIHRvIGluaXRpYWxpemUgdGhlIHBs
dWdpbiBkYXRhYmFzZSBmb3IgdGhvc2UuCiAgICAgaWYgKHR5cGUgPT0gInRleHQvaHRtbCIpCiAg
ICAgICAgIHJldHVybiBIVE1MRG9jdW1lbnQ6OmNyZWF0ZShmcmFtZSwgdXJsKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKaW5kZXggNzQ4MDU3YWE2YmJmYjlmNzZiY2Q2MDE0
YjdjMGU4NmU3YTJiNDE5Yi4uMDA2MDAwNzYzNDIyMjg5YTc2NmQ5YWQzZjc4ZGY5N2EwZDY3OGQ1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKQEAgLTY0LDcgKzY0LDcg
QEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBjcmVhdGVIVE1MRG9jdW1l
bnQoY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAKICAgICAvLyBPdGhlciBtZXRob2RzIChub3QgcGFy
dCBvZiBET00pCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IGNyZWF0ZURvY3VtZW50
KGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIEZyYW1lKiwgY29uc3QgVVJMJiwgYm9vbCBpblZpZXdT
b3VyY2VNb2RlKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudD4gY3JlYXRlRG9jdW1l
bnQoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgRnJhbWUqLCBjb25zdCBVUkwmKTsKIAogICAgIHN0
YXRpYyBib29sIGlzWE1MTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CiAgICAgc3Rh
dGljIGJvb2wgaXNUZXh0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCA5NzUzMWZjZGE3MTBmOGMyODM4YWFhNTAxNzEyZWJiNWYzZmIy
MDAzLi4xYTczOGNiZjFhMzdjNjVmMDc3YmM4OTU1ZDA1MjFhNTliYWVlYzc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKQEAgLTQ1OCw3ICs0NTgsNiBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJh
bWUqIGZyYW1lLCBjb25zdCBVUkwmIHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNp
ZwogICAgICwgbV9kb2N1bWVudENsYXNzZXMoZG9jdW1lbnRDbGFzc2VzKQogICAgICwgbV9pc1N5
bnRoZXNpemVkKGNvbnN0cnVjdGlvbkZsYWdzICYgU3ludGhlc2l6ZWQpCiAgICAgLCBtX2lzTm9u
UmVuZGVyZWRQbGFjZWhvbGRlcihjb25zdHJ1Y3Rpb25GbGFncyAmIE5vblJlbmRlcmVkUGxhY2Vo
b2xkZXIpCi0gICAgLCBtX2lzVmlld1NvdXJjZShmYWxzZSkKICAgICAsIG1fc2F3RWxlbWVudHNJ
bktub3duTmFtZXNwYWNlcyhmYWxzZSkKICAgICAsIG1faXNTcmNkb2NEb2N1bWVudChmYWxzZSkK
ICAgICAsIG1fZXZlbnRRdWV1ZSgqdGhpcykKQEAgLTE5MjAsMTUgKzE5MTksNiBAQCB2b2lkIERv
Y3VtZW50OjpwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhpbnQgcGFnZUluZGV4LCBJbnRTaXpl
JiBwYWdlU2l6ZSwgaW50JgogICAgIG1hcmdpbkxlZnQgPSBzdHlsZS0+bWFyZ2luTGVmdCgpLmlz
QXV0bygpID8gbWFyZ2luTGVmdCA6IGludFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5tYXJnaW5MZWZ0
KCksIHdpZHRoLCB2aWV3KTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c2V0SXNWaWV3U291cmNlKGJv
b2wgaXNWaWV3U291cmNlKQotewotICAgIG1faXNWaWV3U291cmNlID0gaXNWaWV3U291cmNlOwot
ICAgIGlmICghbV9pc1ZpZXdTb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIHNldFNlY3Vy
aXR5T3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKSk7Ci19Ci0KIHZvaWQgRG9j
dW1lbnQ6OmNyZWF0ZVN0eWxlUmVzb2x2ZXIoKQogewogICAgIGJvb2wgbWF0Y2hBdXRob3JBbmRV
c2VyU3R5bGVzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMjFmOWE1OTRkYjAwZWE1
MTNiOWIyZmMwNDg5MWY5NmEzMTZmMGVkOS4uNjY0YzA0NmQ1NDQyMzFkMDdhYWNhMGZjZWRhYWUz
MzBjNGFmYzlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTUxNiw5ICs1MTYsNiBAQCBwdWJs
aWM6CiAKICAgICBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVySWZFeGlzdHMoKSBjb25zdCB7
IHJldHVybiBtX3N0eWxlUmVzb2x2ZXIuZ2V0KCk7IH0KIAotICAgIGJvb2wgaXNWaWV3U291cmNl
KCkgY29uc3QgeyByZXR1cm4gbV9pc1ZpZXdTb3VyY2U7IH0KLSAgICB2b2lkIHNldElzVmlld1Nv
dXJjZShib29sKTsKLQogICAgIGJvb2wgc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlcygpIGNv
bnN0IHsgcmV0dXJuIG1fc2F3RWxlbWVudHNJbktub3duTmFtZXNwYWNlczsgfQogCiAgICAgU3R5
bGVSZXNvbHZlciYgZW5zdXJlU3R5bGVSZXNvbHZlcigpCkBAIC0xNTM3LDcgKzE1MzQsNiBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc1N5bnRoZXNpemVkOwogICAgIGJvb2wgbV9pc05vblJlbmRl
cmVkUGxhY2Vob2xkZXI7CiAKLSAgICBib29sIG1faXNWaWV3U291cmNlOwogICAgIGJvb2wgbV9z
YXdFbGVtZW50c0luS25vd25OYW1lc3BhY2VzOwogICAgIGJvb2wgbV9pc1NyY2RvY0RvY3VtZW50
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IGYzN2Nl
NjQ1MjE2YjA5YzM2ODI1NDM4OTdjMjhiNGFjMjVjOTI4MWQuLjA0NzI3NTM5YjFhZTIwNzJhZTBh
OGI2MDA3N2U5NWMwOWY1YzY4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCkBAIC0zNDEsNyArMzQxLDYgQEAgdmFsaWduCiB2YWx1ZQogdmFsdWV0eXBlCiB2
ZXJzaW9uCi12aWV3c291cmNlCiB2bGluawogdnNwYWNlCiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXggYmI4
MTNhNWVlNzBjMDFkMDIzNDE3ZDhhZGNhNThjNGUxNmEwOGRjMi4uZmM4MWU4ZGVkMjJhNjFjMmZm
ZWQ4NWM5ZDBkN2YwZWY3ZjQ4ZGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJh
bWVFbGVtZW50QmFzZS5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgSFRNTEZyYW1lRWxlbWVudEJhc2U6
OkhUTUxGcmFtZUVsZW1lbnRCYXNlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW4KICAgICAsIG1fc2Nyb2xsaW5nKFNjcm9sbGJhckF1dG8pCiAgICAgLCBtX21hcmdpbldpZHRo
KC0xKQogICAgICwgbV9tYXJnaW5IZWlnaHQoLTEpCi0gICAgLCBtX3ZpZXdTb3VyY2UoZmFsc2Up
CiB7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC04Nyw4
ICs4Niw2IEBAIHZvaWQgSFRNTEZyYW1lRWxlbWVudEJhc2U6Om9wZW5VUkwoYm9vbCBsb2NrSGlz
dG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0KQogICAgICAgICByZXR1cm47CiAKICAgICBw
YXJlbnRGcmFtZS0+bG9hZGVyKCkuc3ViZnJhbWVMb2FkZXIoKS5yZXF1ZXN0RnJhbWUoKnRoaXMs
IG1fVVJMLCBtX2ZyYW1lTmFtZSwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QpOwot
ICAgIGlmIChjb250ZW50RnJhbWUoKSkKLSAgICAgICAgY29udGVudEZyYW1lKCktPnNldEluVmll
d1NvdXJjZU1vZGUodmlld1NvdXJjZU1vZGUoKSk7CiB9CiAKIHZvaWQgSFRNTEZyYW1lRWxlbWVu
dEJhc2U6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
cmFtZUVsZW1lbnRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRC
YXNlLmgKaW5kZXggNjIzYTBjZjFlODE3YzEwNTVlZDUyZTRmNmEwN2I0YmU3MWU2ZmZhMC4uYzdj
MGE2NDgzMTY5NzkxNzdmOWQwYmFkNGRlZGY2YWRjZmMyNmE5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuaApAQCAtNjMsOCArNjMsNiBAQCBwcml2YXRlOgog
CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVFbGVtZW50QmFzZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KIAotICAgIGJvb2wgdmlld1NvdXJjZU1vZGUoKSBjb25zdCB7IHJldHVy
biBtX3ZpZXdTb3VyY2U7IH0KLQogICAgIHZvaWQgc2V0TmFtZUFuZE9wZW5VUkwoKTsKICAgICB2
b2lkIG9wZW5VUkwoYm9vbCBsb2NrSGlzdG9yeSA9IHRydWUsIGJvb2wgbG9ja0JhY2tGb3J3YXJk
TGlzdCA9IHRydWUpOwogCkBAIC03NSw4ICs3Myw2IEBAIHByaXZhdGU6CiAKICAgICBpbnQgbV9t
YXJnaW5XaWR0aDsKICAgICBpbnQgbV9tYXJnaW5IZWlnaHQ7Ci0KLSAgICBib29sIG1fdmlld1Nv
dXJjZTsKIH07CiAKIHZvaWQgaXNIVE1MRnJhbWVFbGVtZW50QmFzZShjb25zdCBIVE1MRnJhbWVF
bGVtZW50QmFzZSYpOyAvLyBDYXRjaCB1bm5lY2Vzc2FyeSBydW50aW1lIGNoZWNrIG9mIHR5cGUg
a25vd24gYXQgY29tcGlsZSB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdT
b3VyY2VEb2N1bWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNzA1ZDlj
ZWI3YzA5MDM2YmE1ZTA3NzdhODhhZTRlN2E0NGY3MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJj
ZURvY3VtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5NCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkhUTUxWaWV3U291cmNlRG9jdW1lbnQu
aCIKLQotI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnRT
dHlsZVNoZWV0Q29sbGVjdGlvbi5oIgotI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCi0j
aW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxCYXNlRWxlbWVudC5oIgot
I2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiSFRNTEh0bWxFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRhYmxlQ2VsbEVs
ZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTFRh
YmxlUm93RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmgiCi0j
aW5jbHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgIlRleHRWaWV3U291cmNlUGFyc2VyLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotSFRNTFZp
ZXdTb3VyY2VEb2N1bWVudDo6SFRNTFZpZXdTb3VyY2VEb2N1bWVudChGcmFtZSogZnJhbWUsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQotICAgIDogSFRNTERvY3VtZW50
KGZyYW1lLCB1cmwpCi0gICAgLCBtX3R5cGUobWltZVR5cGUpCi17Ci0gICAgc3R5bGVTaGVldENv
bGxlY3Rpb24oKS5zZXRVc2VzQmVmb3JlQWZ0ZXJSdWxlc092ZXJyaWRlKHRydWUpOwotICAgIHNl
dElzVmlld1NvdXJjZSh0cnVlKTsKLQotICAgIHNldENvbXBhdGliaWxpdHlNb2RlKFF1aXJrc01v
ZGUpOwotICAgIGxvY2tDb21wYXRpYmlsaXR5TW9kZSgpOwotfQotCi1QYXNzUmVmUHRyPERvY3Vt
ZW50UGFyc2VyPiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjpjcmVhdGVQYXJzZXIoKQotewotICAg
IGlmIChtX3R5cGUgPT0gInRleHQvaHRtbCIgfHwgbV90eXBlID09ICJhcHBsaWNhdGlvbi94aHRt
bCt4bWwiIHx8IG1fdHlwZSA9PSAiaW1hZ2Uvc3ZnK3htbCIgfHwgRE9NSW1wbGVtZW50YXRpb246
OmlzWE1MTUlNRVR5cGUobV90eXBlKSkKLSAgICAgICAgcmV0dXJuIEhUTUxWaWV3U291cmNlUGFy
c2VyOjpjcmVhdGUoKnRoaXMpOwotCi0gICAgcmV0dXJuIFRleHRWaWV3U291cmNlUGFyc2VyOjpj
cmVhdGUoKnRoaXMpOwotfQotCi12b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmNyZWF0ZUNv
bnRhaW5pbmdUYWJsZSgpCi17Ci0gICAgUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gaHRtbCA9IEhU
TUxIdG1sRWxlbWVudDo6Y3JlYXRlKCp0aGlzKTsKLSAgICBwYXJzZXJBcHBlbmRDaGlsZChodG1s
KTsKLSAgICBSZWZQdHI8SFRNTEJvZHlFbGVtZW50PiBib2R5ID0gSFRNTEJvZHlFbGVtZW50Ojpj
cmVhdGUoKnRoaXMpOwotICAgIGh0bWwtPnBhcnNlckFwcGVuZENoaWxkKGJvZHkpOwotICAgIC8v
IENyZWF0ZSBhIGxpbmUgZ3V0dGVyIGRpdiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSB0
aGUgZ3V0dGVyIGV4dGVuZHMgZG93biB0aGUgaGVpZ2h0IG9mIHRoZSB3aG9sZQotICAgIC8vIGRv
Y3VtZW50LgotICAgIFJlZlB0cjxIVE1MRGl2RWxlbWVudD4gZGl2ID0gSFRNTERpdkVsZW1lbnQ6
OmNyZWF0ZSgqdGhpcyk7Ci0gICAgZGl2LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0
LWxpbmUtZ3V0dGVyLWJhY2tkcm9wIik7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQoZGl2
KTsKLQotICAgIFJlZlB0cjxIVE1MVGFibGVFbGVtZW50PiB0YWJsZSA9IEhUTUxUYWJsZUVsZW1l
bnQ6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgYm9keS0+cGFyc2VyQXBwZW5kQ2hpbGQodGFibGUpOwot
ICAgIG1fdGJvZHkgPSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDo6Y3JlYXRlKHRib2R5VGFnLCAq
dGhpcyk7Ci0gICAgdGFibGUtPnBhcnNlckFwcGVuZENoaWxkKG1fdGJvZHkpOwotICAgIG1fY3Vy
cmVudCA9IG1fdGJvZHk7Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkU291
cmNlKGNvbnN0IFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW4mIHRva2VuKQotewotICAgIGlmICgh
bV9jdXJyZW50KQotICAgICAgICBjcmVhdGVDb250YWluaW5nVGFibGUoKTsKLQotICAgIHN3aXRj
aCAodG9rZW4udHlwZSgpKSB7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlVuaW5pdGlhbGl6ZWQ6Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhU
TUxUb2tlbjo6RE9DVFlQRToKLSAgICAgICAgcHJvY2Vzc0RvY3R5cGVUb2tlbihzb3VyY2UsIHRv
a2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkVuZE9mRmlsZToKLSAg
ICAgICAgaWYgKCFtX3Rib2R5LT5oYXNDaGlsZE5vZGVzKCkpCi0gICAgICAgICAgICBhZGRMaW5l
KFN0cmluZygpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OlN0YXJ0VGFn
OgotICAgIGNhc2UgSFRNTFRva2VuOjpFbmRUYWc6Ci0gICAgICAgIHByb2Nlc3NUYWdUb2tlbihz
b3VyY2UsIHRva2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVE1MVG9rZW46OkNvbW1l
bnQ6Ci0gICAgICAgIHByb2Nlc3NDb21tZW50VG9rZW4oc291cmNlLCB0b2tlbik7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgSFRNTFRva2VuOjpDaGFyYWN0ZXI6Ci0gICAgICAgIHByb2Nlc3ND
aGFyYWN0ZXJUb2tlbihzb3VyY2UsIHRva2VuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQot
Ci12b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OnByb2Nlc3NEb2N0eXBlVG9rZW4oY29uc3Qg
U3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYpCi17Ci0gICAgaWYgKCFtX2N1cnJlbnQpCi0gICAg
ICAgIGNyZWF0ZUNvbnRhaW5pbmdUYWJsZSgpOwotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRo
Q2xhc3NOYW1lKCJ3ZWJraXQtaHRtbC1kb2N0eXBlIik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3
ZWJraXQtaHRtbC1kb2N0eXBlIik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBI
VE1MVmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3Vy
Y2UsIEhUTUxUb2tlbiYgdG9rZW4pCi17Ci0gICAgbV9jdXJyZW50ID0gYWRkU3BhbldpdGhDbGFz
c05hbWUoIndlYmtpdC1odG1sLXRhZyIpOwotCi0gICAgQXRvbWljU3RyaW5nIHRhZ05hbWUodG9r
ZW4ubmFtZSgpKTsKLQotICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKLSAgICBIVE1MVG9rZW46OkF0
dHJpYnV0ZUxpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSB0b2tlbi5hdHRyaWJ1dGVzKCkuYmVn
aW4oKTsKLSAgICB3aGlsZSAoaW5kZXggPCBzb3VyY2UubGVuZ3RoKCkpIHsKLSAgICAgICAgaWYg
KGl0ZXIgPT0gdG9rZW4uYXR0cmlidXRlcygpLmVuZCgpKSB7Ci0gICAgICAgICAgICAvLyBXZSB3
YW50IHRvIHNob3cgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGluIHRoZSB0b2tlbi4KLSAgICAg
ICAgICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgc291cmNlLmxlbmd0aCgpLCAi
Iik7Ci0gICAgICAgICAgICBBU1NFUlQoaW5kZXggPT0gc291cmNlLmxlbmd0aCgpKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgQXRvbWljU3RyaW5nIG5hbWUoaXRl
ci0+bmFtZSk7Ci0gICAgICAgIFN0cmluZyB2YWx1ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZThCaXRJ
ZlBvc3NpYmxlKGl0ZXItPnZhbHVlKTsKLQotICAgICAgICBpbmRleCA9IGFkZFJhbmdlKHNvdXJj
ZSwgaW5kZXgsIGl0ZXItPm5hbWVSYW5nZS5zdGFydCAtIHRva2VuLnN0YXJ0SW5kZXgoKSwgIiIp
OwotICAgICAgICBpbmRleCA9IGFkZFJhbmdlKHNvdXJjZSwgaW5kZXgsIGl0ZXItPm5hbWVSYW5n
ZS5lbmQgLSB0b2tlbi5zdGFydEluZGV4KCksICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIp
OwotCi0gICAgICAgIGlmICh0YWdOYW1lID09IGJhc2VUYWcgJiYgbmFtZSA9PSBocmVmQXR0cikK
LSAgICAgICAgICAgIG1fY3VycmVudCA9IGFkZEJhc2UodmFsdWUpOwotCi0gICAgICAgIGluZGV4
ID0gYWRkUmFuZ2Uoc291cmNlLCBpbmRleCwgaXRlci0+dmFsdWVSYW5nZS5zdGFydCAtIHRva2Vu
LnN0YXJ0SW5kZXgoKSwgIiIpOwotCi0gICAgICAgIGJvb2wgaXNMaW5rID0gbmFtZSA9PSBzcmNB
dHRyIHx8IG5hbWUgPT0gaHJlZkF0dHI7Ci0gICAgICAgIGluZGV4ID0gYWRkUmFuZ2Uoc291cmNl
LCBpbmRleCwgaXRlci0+dmFsdWVSYW5nZS5lbmQgLSB0b2tlbi5zdGFydEluZGV4KCksICJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiLCBpc0xpbmssIHRhZ05hbWUgPT0gYVRhZywgdmFsdWUp
OwotCi0gICAgICAgICsraXRlcjsKLSAgICB9Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQot
dm9pZCBIVE1MVmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzQ29tbWVudFRva2VuKGNvbnN0IFN0
cmluZyYgc291cmNlLCBIVE1MVG9rZW4mKQotewotICAgIG1fY3VycmVudCA9IGFkZFNwYW5XaXRo
Q2xhc3NOYW1lKCJ3ZWJraXQtaHRtbC1jb21tZW50Iik7Ci0gICAgYWRkVGV4dChzb3VyY2UsICJ3
ZWJraXQtaHRtbC1jb21tZW50Iik7Ci0gICAgbV9jdXJyZW50ID0gbV90ZDsKLX0KLQotdm9pZCBI
VE1MVmlld1NvdXJjZURvY3VtZW50Ojpwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3RyaW5n
JiBzb3VyY2UsIEhUTUxUb2tlbiYpCi17Ci0gICAgYWRkVGV4dChzb3VyY2UsICIiKTsKLX0KLQot
UGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRTcGFuV2l0aENs
YXNzTmFtZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAobV9jdXJy
ZW50ID09IG1fdGJvZHkpIHsKLSAgICAgICAgYWRkTGluZShjbGFzc05hbWUpOwotICAgICAgICBy
ZXR1cm4gbV9jdXJyZW50OwotICAgIH0KLQotICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gc3BhbiA9
IEhUTUxFbGVtZW50OjpjcmVhdGUoc3BhblRhZywgKnRoaXMpOwotICAgIHNwYW4tPnNldEF0dHJp
YnV0ZShjbGFzc0F0dHIsIGNsYXNzTmFtZSk7Ci0gICAgbV9jdXJyZW50LT5wYXJzZXJBcHBlbmRD
aGlsZChzcGFuKTsKLSAgICByZXR1cm4gc3Bhbi5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgSFRNTFZp
ZXdTb3VyY2VEb2N1bWVudDo6YWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkK
LXsKLSAgICAvLyBDcmVhdGUgYSB0YWJsZSByb3cuCi0gICAgUmVmUHRyPEhUTUxUYWJsZVJvd0Vs
ZW1lbnQ+IHRyb3cgPSBIVE1MVGFibGVSb3dFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIG1f
dGJvZHktPnBhcnNlckFwcGVuZENoaWxkKHRyb3cpOwotCi0gICAgLy8gQ3JlYXRlIGEgY2VsbCB0
aGF0IHdpbGwgaG9sZCB0aGUgbGluZSBudW1iZXIgKGl0IGlzIGdlbmVyYXRlZCBpbiB0aGUgc3R5
bGVzaGVldCB1c2luZyBjb3VudGVycykuCi0gICAgUmVmUHRyPEhUTUxUYWJsZUNlbGxFbGVtZW50
PiB0ZCA9IEhUTUxUYWJsZUNlbGxFbGVtZW50OjpjcmVhdGUodGRUYWcsICp0aGlzKTsKLSAgICB0
ZC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgIndlYmtpdC1saW5lLW51bWJlciIpOwotICAgIHRy
b3ctPnBhcnNlckFwcGVuZENoaWxkKHRkKTsKLQotICAgIC8vIENyZWF0ZSBhIHNlY29uZCBjZWxs
IGZvciB0aGUgbGluZSBjb250ZW50cwotICAgIHRkID0gSFRNTFRhYmxlQ2VsbEVsZW1lbnQ6OmNy
ZWF0ZSh0ZFRhZywgKnRoaXMpOwotICAgIHRkLT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Vi
a2l0LWxpbmUtY29udGVudCIpOwotICAgIHRyb3ctPnBhcnNlckFwcGVuZENoaWxkKHRkKTsKLSAg
ICBtX2N1cnJlbnQgPSBtX3RkID0gdGQ7Ci0KLSNpZmRlZiBERUJVR19MSU5FX05VTUJFUlMKLSAg
ICBSZWZQdHI8VGV4dD4gbGluZU51bWJlclRleHQgPSBUZXh0OjpjcmVhdGUoKnRoaXMsIFN0cmlu
Zzo6bnVtYmVyKHBhcnNlcigpLT5saW5lTnVtYmVyKCkgKyAxKSArICIgIik7Ci0gICAgdGQtPmFk
ZENoaWxkKGxpbmVOdW1iZXJUZXh0KTsKLSNlbmRpZgotCi0gICAgLy8gT3BlbiB1cCB0aGUgbmVl
ZGVkIHNwYW5zLgotICAgIGlmICghY2xhc3NOYW1lLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAo
Y2xhc3NOYW1lID09ICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSIgfHwgY2xhc3NOYW1lID09
ICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiKQotICAgICAgICAgICAgbV9jdXJyZW50ID0g
YWRkU3BhbldpdGhDbGFzc05hbWUoIndlYmtpdC1odG1sLXRhZyIpOwotICAgICAgICBtX2N1cnJl
bnQgPSBhZGRTcGFuV2l0aENsYXNzTmFtZShjbGFzc05hbWUpOwotICAgIH0KLX0KLQotdm9pZCBI
VE1MVmlld1NvdXJjZURvY3VtZW50OjpmaW5pc2hMaW5lKCkKLXsKLSAgICBpZiAoIW1fY3VycmVu
dC0+aGFzQ2hpbGROb2RlcygpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQlJFbGVtZW50PiBiciA9
IEhUTUxCUkVsZW1lbnQ6OmNyZWF0ZSgqdGhpcyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2Vy
QXBwZW5kQ2hpbGQoYnIpOwotICAgIH0KLSAgICBtX2N1cnJlbnQgPSBtX3Rib2R5OwotfQotCi12
b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSkKLXsKLSAgICBpZiAodGV4dC5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEFkZCBpbiB0aGUgY29udGVudCwgc3BsaXR0aW5n
IG9uIG5ld2xpbmVzLgotICAgIFZlY3RvcjxTdHJpbmc+IGxpbmVzOwotICAgIHRleHQuc3BsaXQo
J1xuJywgdHJ1ZSwgbGluZXMpOwotICAgIHVuc2lnbmVkIHNpemUgPSBsaW5lcy5zaXplKCk7Ci0g
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICBTdHJpbmcg
c3Vic3RyaW5nID0gbGluZXNbaV07Ci0gICAgICAgIGlmIChtX2N1cnJlbnQgPT0gbV90Ym9keSkK
LSAgICAgICAgICAgIGFkZExpbmUoY2xhc3NOYW1lKTsKLSAgICAgICAgaWYgKHN1YnN0cmluZy5p
c0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGlmIChpID09IHNpemUgLSAxKQotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgZmluaXNoTGluZSgpOwotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIH0KLSAgICAgICAgUmVmUHRyPFRleHQ+IHRleHQgPSBUZXh0OjpjcmVhdGUo
KnRoaXMsIHN1YnN0cmluZyk7Ci0gICAgICAgIG1fY3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQo
dGV4dCk7Ci0gICAgICAgIGlmIChpIDwgc2l6ZSAtIDEpCi0gICAgICAgICAgICBmaW5pc2hMaW5l
KCk7Ci0gICAgfQotfQotCi1pbnQgSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkUmFuZ2UoY29u
c3QgU3RyaW5nJiBzb3VyY2UsIGludCBzdGFydCwgaW50IGVuZCwgY29uc3QgU3RyaW5nJiBjbGFz
c05hbWUsIGJvb2wgaXNMaW5rLCBib29sIGlzQW5jaG9yLCBjb25zdCBTdHJpbmcmIGxpbmspCi17
Ci0gICAgQVNTRVJUKHN0YXJ0IDw9IGVuZCk7Ci0gICAgaWYgKHN0YXJ0ID09IGVuZCkKLSAgICAg
ICAgcmV0dXJuIHN0YXJ0OwotCi0gICAgU3RyaW5nIHRleHQgPSBzb3VyY2Uuc3Vic3RyaW5nKHN0
YXJ0LCBlbmQgLSBzdGFydCk7Ci0gICAgaWYgKCFjbGFzc05hbWUuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIGlmIChpc0xpbmspCi0gICAgICAgICAgICBtX2N1cnJlbnQgPSBhZGRMaW5rKGxpbmssIGlz
QW5jaG9yKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9jdXJyZW50ID0gYWRkU3Bhbldp
dGhDbGFzc05hbWUoY2xhc3NOYW1lKTsKLSAgICB9Ci0gICAgYWRkVGV4dCh0ZXh0LCBjbGFzc05h
bWUpOwotICAgIGlmICghY2xhc3NOYW1lLmlzRW1wdHkoKSAmJiBtX2N1cnJlbnQgIT0gbV90Ym9k
eSkKLSAgICAgICAgbV9jdXJyZW50ID0gdG9FbGVtZW50KG1fY3VycmVudC0+cGFyZW50Tm9kZSgp
KTsKLSAgICByZXR1cm4gZW5kOwotfQotCi1QYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxWaWV3U291
cmNlRG9jdW1lbnQ6OmFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKQotewotICAgIFJl
ZlB0cjxIVE1MQmFzZUVsZW1lbnQ+IGJhc2UgPSBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShiYXNl
VGFnLCAqdGhpcyk7Ci0gICAgYmFzZS0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCBocmVmKTsKLSAg
ICBtX2N1cnJlbnQtPnBhcnNlckFwcGVuZENoaWxkKGJhc2UpOwotICAgIHJldHVybiBiYXNlLnJl
bGVhc2UoKTsKLX0KLQotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MVmlld1NvdXJjZURvY3VtZW50
OjphZGRMaW5rKGNvbnN0IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKQotewotICAg
IGlmIChtX2N1cnJlbnQgPT0gbV90Ym9keSkKLSAgICAgICAgYWRkTGluZSgid2Via2l0LWh0bWwt
dGFnIik7Ci0KLSAgICAvLyBOb3cgY3JlYXRlIGEgbGluayBmb3IgdGhlIGF0dHJpYnV0ZSB2YWx1
ZSBpbnN0ZWFkIG9mIGEgc3Bhbi4KLSAgICBSZWZQdHI8SFRNTEFuY2hvckVsZW1lbnQ+IGFuY2hv
ciA9IEhUTUxBbmNob3JFbGVtZW50OjpjcmVhdGUoKnRoaXMpOwotICAgIGNvbnN0IGNoYXIqIGNs
YXNzVmFsdWU7Ci0gICAgaWYgKGlzQW5jaG9yKQotICAgICAgICBjbGFzc1ZhbHVlID0gIndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSB3ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rIjsKLSAgICBl
bHNlCi0gICAgICAgIGNsYXNzVmFsdWUgPSAid2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIHdl
YmtpdC1odG1sLXJlc291cmNlLWxpbmsiOwotICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGNsYXNz
QXR0ciwgY2xhc3NWYWx1ZSk7Ci0gICAgYW5jaG9yLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwg
Il9ibGFuayIpOwotICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCB1cmwpOwotICAg
IG1fY3VycmVudC0+cGFyc2VyQXBwZW5kQ2hpbGQoYW5jaG9yKTsKLSAgICByZXR1cm4gYW5jaG9y
LnJlbGVhc2UoKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Vmlld1NvdXJjZURvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNl
RG9jdW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM1OTJkMjI4OGJiYmI4
MTg4YWZkMDQ1MWU1ZmNkMTljY2NhYTk3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1l
bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBIVE1M
Vmlld1NvdXJjZURvY3VtZW50X2gKLSNkZWZpbmUgSFRNTFZpZXdTb3VyY2VEb2N1bWVudF9oCi0K
LSNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBIVE1MVGFibGVDZWxsRWxlbWVudDsKLWNsYXNzIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Owot
Y2xhc3MgSFRNTFRva2VuOwotCi1jbGFzcyBIVE1MVmlld1NvdXJjZURvY3VtZW50IGZpbmFsIDog
cHVibGljIEhUTUxEb2N1bWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRN
TFZpZXdTb3VyY2VEb2N1bWVudD4gY3JlYXRlKEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEhUTUxWaWV3U291cmNlRG9jdW1lbnQoZnJhbWUsIHVybCwgbWltZVR5cGUpKTsKLSAgICB9
Ci0KLSAgICB2b2lkIGFkZFNvdXJjZShjb25zdCBTdHJpbmcmLCBIVE1MVG9rZW4mKTsKLQotcHJp
dmF0ZToKLSAgICBIVE1MVmlld1NvdXJjZURvY3VtZW50KEZyYW1lKiwgY29uc3QgVVJMJiwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSk7Ci0KLSAgICAvLyBSZXR1cm5zIEhUTUxWaWV3U291cmNlUGFy
c2VyIG9yIFRleHREb2N1bWVudFBhcnNlciBiYXNlZCBvbiBtX3R5cGUuCi0gICAgdmlydHVhbCBQ
YXNzUmVmUHRyPERvY3VtZW50UGFyc2VyPiBjcmVhdGVQYXJzZXIoKSBvdmVycmlkZTsKLQotICAg
IHZvaWQgcHJvY2Vzc0RvY3R5cGVUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2Vu
Jik7Ci0gICAgdm9pZCBwcm9jZXNzVGFnVG9rZW4oY29uc3QgU3RyaW5nJiBzb3VyY2UsIEhUTUxU
b2tlbiYpOwotICAgIHZvaWQgcHJvY2Vzc0NvbW1lbnRUb2tlbihjb25zdCBTdHJpbmcmIHNvdXJj
ZSwgSFRNTFRva2VuJik7Ci0gICAgdm9pZCBwcm9jZXNzQ2hhcmFjdGVyVG9rZW4oY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYpOwotCi0gICAgdm9pZCBjcmVhdGVDb250YWluaW5nVGFi
bGUoKTsKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGFkZFNwYW5XaXRoQ2xhc3NOYW1lKGNvbnN0
IEF0b21pY1N0cmluZyYpOwotICAgIHZvaWQgYWRkTGluZShjb25zdCBBdG9taWNTdHJpbmcmIGNs
YXNzTmFtZSk7Ci0gICAgdm9pZCBmaW5pc2hMaW5lKCk7Ci0gICAgdm9pZCBhZGRUZXh0KGNvbnN0
IFN0cmluZyYgdGV4dCwgY29uc3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUpOwotICAgIGludCBh
ZGRSYW5nZShjb25zdCBTdHJpbmcmIHNvdXJjZSwgaW50IHN0YXJ0LCBpbnQgZW5kLCBjb25zdCBT
dHJpbmcmIGNsYXNzTmFtZSwgYm9vbCBpc0xpbmsgPSBmYWxzZSwgYm9vbCBpc0FuY2hvciA9IGZh
bHNlLCBjb25zdCBTdHJpbmcmIGxpbmsgPSBTdHJpbmcoKSk7Ci0gICAgUGFzc1JlZlB0cjxFbGVt
ZW50PiBhZGRMaW5rKGNvbnN0IEF0b21pY1N0cmluZyYgdXJsLCBib29sIGlzQW5jaG9yKTsKLSAg
ICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKTsK
LQotICAgIFN0cmluZyBtX3R5cGU7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IG1fY3VycmVudDsKLSAg
ICBSZWZQdHI8SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ+IG1fdGJvZHk7Ci0gICAgUmVmUHRyPEhU
TUxUYWJsZUNlbGxFbGVtZW50PiBtX3RkOwotfTsKLQotfQotCi0jZW5kaWYgLy8gSFRNTFZpZXdT
b3VyY2VEb2N1bWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4
IDcyMmVkOTA4MDI1MGFkMTQ5Yzg2Y2RjNTU5Y2U2ODAyZTU3MWQwYWIuLjFhZWFhOTMwYTE5ODJm
YzE4NGQyMDhmZGZjZjQxZjRmYzJjZDMwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbi5oCkBAIC0xMTQsNyArMTE0LDcgQEAgcHVibGljOgogICAgICAgICBtX3R5cGUgPSBF
bmRPZkZpbGU7CiAgICAgfQogCi0gICAgLyogUmFuZ2UgYW5kIG9mZnNldCBtZXRob2RzIGV4cG9z
ZWQgZm9yIEhUTUxTb3VyY2VUcmFja2VyIGFuZCBIVE1MVmlld1NvdXJjZVBhcnNlciAqLworICAg
IC8qIFJhbmdlIGFuZCBvZmZzZXQgbWV0aG9kcyBleHBvc2VkIGZvciBIVE1MU291cmNlVHJhY2tl
ciAqLwogICAgIGludCBzdGFydEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5zdGFydDsg
fQogICAgIGludCBlbmRJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2UuZW5kOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVjY2ViZWEyZjc1YTkyY2NiZWYwZTk5
YmEyMjJjZGZmZTc4ZGU0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
SFRNTFZpZXdTb3VyY2VQYXJzZXIuaCIKLQotI2luY2x1ZGUgIkhUTUxEb2N1bWVudFBhcnNlci5o
IgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUhUTUxW
aWV3U291cmNlUGFyc2VyOjpIVE1MVmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3Vt
ZW50JiBkb2N1bWVudCkKLSAgICA6IERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQp
Ci0gICAgLCBtX3Rva2VuaXplcihzdGQ6Om1ha2VfdW5pcXVlPEhUTUxUb2tlbml6ZXI+KEhUTUxQ
YXJzZXJPcHRpb25zKGRvY3VtZW50KSkpCi17Ci19Ci0KLUhUTUxWaWV3U291cmNlUGFyc2VyOjp+
SFRNTFZpZXdTb3VyY2VQYXJzZXIoKQotewotfQotCi12b2lkIEhUTUxWaWV3U291cmNlUGFyc2Vy
OjppbnNlcnQoY29uc3QgU2VnbWVudGVkU3RyaW5nJikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLX0KLQotdm9pZCBIVE1MVmlld1NvdXJjZVBhcnNlcjo6cHVtcFRva2VuaXplcigpCi17
Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgbV9zb3VyY2VUcmFja2VyLnN0YXJ0KG1faW5w
dXQuY3VycmVudCgpLCBtX3Rva2VuaXplci5nZXQoKSwgbV90b2tlbik7Ci0gICAgICAgIGlmICgh
bV90b2tlbml6ZXItPm5leHRUb2tlbihtX2lucHV0LmN1cnJlbnQoKSwgbV90b2tlbikpCi0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgbV9zb3VyY2VUcmFja2VyLmVuZChtX2lucHV0LmN1cnJl
bnQoKSwgbV90b2tlbml6ZXIuZ2V0KCksIG1fdG9rZW4pOwotCi0gICAgICAgIGRvY3VtZW50KCkt
PmFkZFNvdXJjZShzb3VyY2VGb3JUb2tlbigpLCBtX3Rva2VuKTsKLSAgICAgICAgdXBkYXRlVG9r
ZW5pemVyU3RhdGUoKTsKLSAgICAgICAgbV90b2tlbi5jbGVhcigpOwotICAgIH0KLX0KLQotdm9p
ZCBIVE1MVmlld1NvdXJjZVBhcnNlcjo6YXBwZW5kKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gaW5w
dXQpCi17Ci0gICAgbV9pbnB1dC5hcHBlbmRUb0VuZChTdHJpbmcoaW5wdXQpKTsKLSAgICBwdW1w
VG9rZW5pemVyKCk7Ci19Ci0KLVN0cmluZyBIVE1MVmlld1NvdXJjZVBhcnNlcjo6c291cmNlRm9y
VG9rZW4oKQotewotICAgIHJldHVybiBtX3NvdXJjZVRyYWNrZXIuc291cmNlRm9yVG9rZW4obV90
b2tlbik7Ci19Ci0KLXZvaWQgSFRNTFZpZXdTb3VyY2VQYXJzZXI6OnVwZGF0ZVRva2VuaXplclN0
YXRlKCkKLXsKLSAgICAvLyBGSVhNRTogVGhlIHRva2VuaXplciBzaG91bGQgZG8gdGhpcyB3b3Jr
IGZvciB1cy4KLSAgICBpZiAobV90b2tlbi50eXBlKCkgIT0gSFRNTFRva2VuOjpTdGFydFRhZykK
LSAgICAgICAgcmV0dXJuOwotICAgIG1fdG9rZW5pemVyLT51cGRhdGVTdGF0ZUZvcihBdG9taWNT
dHJpbmcobV90b2tlbi5uYW1lKCkpKTsKLX0KLQotdm9pZCBIVE1MVmlld1NvdXJjZVBhcnNlcjo6
ZmluaXNoKCkKLXsKLSAgICBpZiAoIW1faW5wdXQuaGF2ZVNlZW5FbmRPZkZpbGUoKSkKLSAgICAg
ICAgbV9pbnB1dC5tYXJrRW5kT2ZGaWxlKCk7Ci0gICAgcHVtcFRva2VuaXplcigpOwotICAgIGRv
Y3VtZW50KCktPmZpbmlzaGVkUGFyc2luZygpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzQ4YWRiZWI3ZDc3MjJiZTBjNTkyNDFlOWUxMTdjYjZlZTFjN2QxZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5oCisrKyAvZGV2L251bGwKQEAgLTEs
NzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIEluYy4gQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBIVE1MVmlld1NvdXJjZVBhcnNlcl9oCi0jZGVmaW5lIEhUTUxWaWV3U291cmNl
UGFyc2VyX2gKLQotI2luY2x1ZGUgIkRlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCIKLSNpbmNs
dWRlICJIVE1MSW5wdXRTdHJlYW0uaCIKLSNpbmNsdWRlICJIVE1MU291cmNlVHJhY2tlci5oIgot
I2luY2x1ZGUgIkhUTUxUb2tlbi5oIgotI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKLSNpbmNs
dWRlICJIVE1MVmlld1NvdXJjZURvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MVG9rZW5pemVyOwotY2xhc3Mg
SFRNTFNjcmlwdFJ1bm5lcjsKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjsKLWNsYXNzIEhUTUxQcmVs
b2FkU2Nhbm5lcjsKLWNsYXNzIFNjcmlwdENvbnRyb2xsZXI7Ci1jbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwotCi1jbGFzcyBIVE1MVmlld1NvdXJjZVBhcnNlciA6IHB1YmxpYyBEZWNvZGVkRGF0YURv
Y3VtZW50UGFyc2VyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MVmlld1Nv
dXJjZVBhcnNlcj4gY3JlYXRlKEhUTUxWaWV3U291cmNlRG9jdW1lbnQmIGRvY3VtZW50KQotICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MVmlld1NvdXJjZVBhcnNlcihkb2N1
bWVudCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5IVE1MVmlld1NvdXJjZVBhcnNlcigpOwotCi1w
cm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgSFRNTFZpZXdTb3VyY2VQYXJzZXIoSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudCYpOwotCi0gICAgSFRNTFRva2VuaXplciogdG9rZW5pemVyKCkgY29uc3QgeyBy
ZXR1cm4gbV90b2tlbml6ZXIuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICAvLyBEb2N1bWVudFBh
cnNlcgotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnQoY29uc3QgU2VnbWVudGVkU3RyaW5nJikgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZmluaXNoKCkgb3ZlcnJpZGU7Ci0KLSAgICBIVE1M
Vmlld1NvdXJjZURvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxWaWV3U291cmNlRG9jdW1lbnQqPihEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyOjpkb2N1
bWVudCgpKTsgfQotCi0gICAgdm9pZCBwdW1wVG9rZW5pemVyKCk7Ci0gICAgU3RyaW5nIHNvdXJj
ZUZvclRva2VuKCk7Ci0gICAgdm9pZCB1cGRhdGVUb2tlbml6ZXJTdGF0ZSgpOwotCi0gICAgSFRN
TElucHV0U3RyZWFtIG1faW5wdXQ7Ci0gICAgSFRNTFRva2VuIG1fdG9rZW47Ci0gICAgSFRNTFNv
dXJjZVRyYWNrZXIgbV9zb3VyY2VUcmFja2VyOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1MVG9r
ZW5pemVyPiBtX3Rva2VuaXplcjsKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFmMjU3MjFlYjRhMGU5MDQ3M2IxN2ZhYTg3MGIyOGUwZDU5MmI0
YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlRleHRWaWV3U291cmNl
UGFyc2VyLmgiCi0KLSNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotVGV4dFZpZXdTb3VyY2VQYXJzZXI6OlRleHRWaWV3U291cmNlUGFyc2VyKEhUTUxW
aWV3U291cmNlRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogSFRNTFZpZXdTb3VyY2VQYXJzZXIo
ZG9jdW1lbnQpCi17Ci0gICAgdG9rZW5pemVyKCktPnNldFN0YXRlKEhUTUxUb2tlbml6ZXI6OlBM
QUlOVEVYVFN0YXRlKTsKLX0KLQotVGV4dFZpZXdTb3VyY2VQYXJzZXI6On5UZXh0Vmlld1NvdXJj
ZVBhcnNlcigpCi17Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9U
ZXh0Vmlld1NvdXJjZVBhcnNlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA5
MzJjYTZhNjQ0NjhlNjc4NmRlZDNmOTUzNDdlNDg5MjI2YTczLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1Rl
eHRWaWV3U291cmNlUGFyc2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFRleHRW
aWV3U291cmNlUGFyc2VyX2gKLSNkZWZpbmUgVGV4dFZpZXdTb3VyY2VQYXJzZXJfaAotCi0jaW5j
bHVkZSAiSFRNTFZpZXdTb3VyY2VQYXJzZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBUZXh0Vmlld1NvdXJjZVBhcnNlciBmaW5hbCA6IHB1YmxpYyBIVE1MVmlld1NvdXJjZVBh
cnNlciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dFZpZXdTb3VyY2VQYXJz
ZXI+IGNyZWF0ZShIVE1MVmlld1NvdXJjZURvY3VtZW50JiBkb2N1bWVudCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dFZpZXdTb3VyY2VQYXJzZXIoZG9jdW1lbnQpKTsK
LSAgICB9Ci0gICAgdmlydHVhbCB+VGV4dFZpZXdTb3VyY2VQYXJzZXIoKTsKLQotcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBUZXh0Vmlld1NvdXJjZVBhcnNlcihIVE1MVmlld1NvdXJjZURvY3VtZW50
Jik7Ci19OwotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck92ZXJsYXlQYWdlLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5UGFnZS5jc3MKaW5kZXggNjE5ZTM1NmY4MDczNDc0NzI1NWZjMGM3YWVk
YWM3ODMyMmYyYWJmYi4uYWU2Mjk2ODkwYzdmMjEwNGUwYTFkYmMxY2I1MGUwNzIxNDdlZTcyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXlQYWdl
LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheVBhZ2Uu
Y3NzCkBAIC01NiwxNyArNTYsMTcgQEAgYm9keS5wbGF0Zm9ybS1saW51eCB7CiB9CiAKIC50YWct
bmFtZSB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB2aWV3LXNvdXJjZS5jc3MgKC53
ZWJraXQtaHRtbC10YWctbmFtZSkgKi8KKyAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIFhN
TFZpZXdlci5jc3MgKC50YWcpICovCiAgICAgY29sb3I6IHJnYigxMzYsIDE4LCAxMjgpOwogfQog
CiAubm9kZS1pZCB7Ci0gICAgLyogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB2aWV3LXNvdXJjZS5j
c3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUpICovCisgICAgLyogS2VlcCB0aGlzIGlu
IHN5bmMgd2l0aCBYTUxWaWV3ZXIuY3NzICguYXR0cmlidXRlLXZhbHVlKSAqLwogICAgIGNvbG9y
OiByZ2IoMjYsIDI2LCAxNjYpOwogfQogCiAuY2xhc3MtbmFtZSB7Ci0gICAgLyogS2VlcCB0aGlz
IGluIHN5bmMgd2l0aCB2aWV3LXNvdXJjZS5jc3MgKC53ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFt
ZSkgKi8KKyAgICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIFhNTFZpZXdlci5jc3MgKC5hdHRy
aWJ1dGUtbmFtZSkgKi8KICAgICBjb2xvcjogcmdiKDE1MywgNjksIDApOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcAppbmRleCA5Y2NkMzI0ODU4Y2FlZTQ3ZDFk
NmQyZTExODNmMjgwZGU4NTg0ZDA1Li4yNzNkM2ZlZDdlN2EzMGU5ZjE5MDE2Zjk0OGI1Mzg4NTM4
NGM4OWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKQEAgLTEx
Miw3ICsxMTIsNyBAQCBQYXNzUmVmUHRyPERvY3VtZW50PiBEb2N1bWVudFdyaXRlcjo6Y3JlYXRl
RG9jdW1lbnQoY29uc3QgVVJMJiB1cmwpCiAjZW5kaWYKICAgICBpZiAoIW1fZnJhbWUtPmxvYWRl
cigpLmNsaWVudCgpLmhhc0hUTUxWaWV3KCkpCiAgICAgICAgIHJldHVybiBEb2N1bWVudDo6Y3Jl
YXRlTm9uUmVuZGVyZWRQbGFjZWhvbGRlcihtX2ZyYW1lLCB1cmwpOwotICAgIHJldHVybiBET01J
bXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQobV9taW1lVHlwZSwgbV9mcmFtZSwgdXJsLCBt
X2ZyYW1lLT5pblZpZXdTb3VyY2VNb2RlKCkpOworICAgIHJldHVybiBET01JbXBsZW1lbnRhdGlv
bjo6Y3JlYXRlRG9jdW1lbnQobV9taW1lVHlwZSwgbV9mcmFtZSwgdXJsKTsKIH0KIAogdm9pZCBE
b2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgVVJMJiB1cmxSZWZlcmVuY2UsIGJvb2wgZGlzcGF0
Y2gsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKaW5kZXggM2EwNWI1YTg1NWE1YzE0ZDkzMDYyMTc4MzNiNmVlY2ExN2M1NjBiOS4uODE4
MzBmMDg0OWM3OWM2Mzc5MmM5ZmFiYTA2NzkxMDRkYmYxYjE2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC02NjMsOCArNjYzLDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
cmVjZWl2ZWRGaXJzdERhdGEoKQogCiAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyKQogICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKS0+aXNWaWV3U291cmNlKCkpCi0g
ICAgICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheTsKICAgICBTdHJpbmcgdXJsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCAzOGE2Y2E4ZjZmNmMxMjBlMDIxMzA0YzIyYTM1YzRiNzM0OWQw
ODAzLi40OTM1NjEwZWVhNDUwYTc5NDcyYTM3MzM0MGUyYzM5ZDVlMDE5MmQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMTc2LDcgKzE3Niw2IEBAIEZyYW1lOjpGcmFtZShQYWdlJiBwYWdlLCBI
VE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVMb2FkZXJDbGllbnQmCiAj
aWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICAsIG1fb3JpZW50YXRpb24oMCkKICNl
bmRpZgotICAgICwgbV9pblZpZXdTb3VyY2VNb2RlKGZhbHNlKQogICAgICwgbV9hY3RpdmVET01P
YmplY3RzQW5kQW5pbWF0aW9uc1N1c3BlbmRlZENvdW50KDApCiB7CiAgICAgQXRvbWljU3RyaW5n
Ojppbml0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggMjk5NDRiYzU5ZTEyNmM5MDc4Mjg2ZTdlYmEy
MTYyYTUxYmY0Yjc0MC4uNzkwOWNiYTcxZjI1NWJhMDA4YjQ1NmM5NzBiNjE4NTVmZWUxNzc1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuaApAQCAtMTgxLDkgKzE4MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBzaG91bGRVc2VQcmludGluZ0xheW91dCgpIGNvbnN0OwogICAgICAgICBG
bG9hdFNpemUgcmVzaXplUGFnZVJlY3RzS2VlcGluZ1JhdGlvKGNvbnN0IEZsb2F0U2l6ZSYgb3Jp
Z2luYWxTaXplLCBjb25zdCBGbG9hdFNpemUmIGV4cGVjdGVkU2l6ZSk7CiAKLSAgICAgICAgYm9v
bCBpblZpZXdTb3VyY2VNb2RlKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0SW5WaWV3U291cmNl
TW9kZShib29sID0gdHJ1ZSk7Ci0KICAgICAgICAgdm9pZCBzZXREb2N1bWVudChQYXNzUmVmUHRy
PERvY3VtZW50Pik7CiAKICAgICAgICAgdm9pZCBzZXRQYWdlWm9vbUZhY3RvcihmbG9hdCBmYWN0
b3IpOwpAQCAtMzM4LDggKzMzNSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgaW50
IG1fb3JpZW50YXRpb247CiAjZW5kaWYKIAotICAgICAgICBib29sIG1faW5WaWV3U291cmNlTW9k
ZTsKLQogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIC8vIEZJWE1FOiBUaGUgdGls
ZWQgYmFja2luZyBzdG9yZSBiZWxvbmdzIGluIEZyYW1lVmlldywgbm90IEZyYW1lLgogCkBAIC00
MTIsMTYgKzQwNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgcmV0dXJuIG1fb3du
ZXJFbGVtZW50OwogICAgIH0KIAotICAgIGlubGluZSBib29sIEZyYW1lOjppblZpZXdTb3VyY2VN
b2RlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2luVmlld1NvdXJjZU1vZGU7Ci0g
ICAgfQotCi0gICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldEluVmlld1NvdXJjZU1vZGUoYm9vbCBt
b2RlKQotICAgIHsKLSAgICAgICAgbV9pblZpZXdTb3VyY2VNb2RlID0gbW9kZTsKLSAgICB9Ci0K
ICAgICBpbmxpbmUgRnJhbWVUcmVlJiBGcmFtZTo6dHJlZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gbV90cmVlTm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9ET01Q
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5jcHAKaW5kZXggM2UyMGQ5
N2ViODkyOThjYzk2ZGQ3YjQ4MmQ1YmE4ZjQ3YWQ3NTFmZS4uZWI0MzY3MjlhMDFhOWViM2YxNzc0
OGRmY2JkMWY2NTNhMGQzYzE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL0RPTVBh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL0RPTVBhcnNlci5jcHAKQEAgLTM2LDcg
KzM2LDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NUGFyc2VyOjpwYXJzZUZyb21TdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHIsIGNvbnN0IFN0cmluZyYKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
fQogCi0gICAgUmVmUHRyPERvY3VtZW50PiBkb2MgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRl
RG9jdW1lbnQoY29udGVudFR5cGUsIDAsIFVSTCgpLCBmYWxzZSk7CisgICAgUmVmUHRyPERvY3Vt
ZW50PiBkb2MgPSBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29udGVudFR5cGUs
IDAsIFVSTCgpKTsKICAgICBkb2MtPnNldENvbnRlbnQoc3RyKTsKICAgICByZXR1cm4gZG9jLnJl
bGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxWaWV3ZXIuY3Nz
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTFZpZXdlci5jc3MKaW5kZXggODUxNDk5MjcyNzAzMTJj
YzAyMjhkYmZiNDg1ZWFkNjAyZWI0ZTk1YS4uNmIzNTg5MGViYTU4MTg5Yzk0ZWE2Y2RiMmIxMThl
NGM4MGJhYmMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTFZpZXdlci5jc3MK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTFZpZXdlci5jc3MKQEAgLTU5LDcgKzU5LDcgQEAg
ZGl2LmNvbGxhcHNpYmxlID4gZGl2LmhpZGRlbiB7CiB9CiAKIC50YWcgewotICAgIC8qIEtlZXAg
dGhpcyBpbiBzeW5jIHdpdGggaW5zcGVjdG9yLmNzcyAoLndlYmtpdC1odG1sLXRhZykgKi8KKyAg
ICAvKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGluc3BlY3Rvci5jc3MgKC50YWctbmFtZSkgKi8K
ICAgICBjb2xvcjogcmdiKDEzNiwgMTgsIDEyOCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJv
Y2Vzc29yLmNwcAppbmRleCBjZjBjMTVhYjY2MDc2MDJlMzllMTlmZDExMmQyOGUxY2ZjYzE5NTQz
Li4wZTI3NjE5YzBhNmIxYzJjNjg1ZTE1OWQ0ODUzNzVlZjcxN2QzODQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hTTFRQcm9jZXNzb3IuY3BwCkBAIC03OSw3ICs3OSw3IEBAIFBhc3NSZWZQdHI8RG9jdW1l
bnQ+IFhTTFRQcm9jZXNzb3I6OmNyZWF0ZURvY3VtZW50RnJvbVNvdXJjZShjb25zdCBTdHJpbmcm
IHNvdXJjCiAgICAgICAgIHJlc3VsdCA9IERvY3VtZW50OjpjcmVhdGUoZnJhbWUsIHNvdXJjZUlz
RG9jdW1lbnQgPyBvd25lckRvY3VtZW50LT51cmwoKSA6IFVSTCgpKTsKICAgICAgICAgdHJhbnNm
b3JtVGV4dFN0cmluZ1RvWEhUTUxEb2N1bWVudFN0cmluZyhkb2N1bWVudFNvdXJjZSk7CiAgICAg
fSBlbHNlCi0gICAgICAgIHJlc3VsdCA9IERPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVu
dChzb3VyY2VNSU1FVHlwZSwgZnJhbWUsIHNvdXJjZUlzRG9jdW1lbnQgPyBvd25lckRvY3VtZW50
LT51cmwoKSA6IFVSTCgpLCBmYWxzZSk7CisgICAgICAgIHJlc3VsdCA9IERPTUltcGxlbWVudGF0
aW9uOjpjcmVhdGVEb2N1bWVudChzb3VyY2VNSU1FVHlwZSwgZnJhbWUsIHNvdXJjZUlzRG9jdW1l
bnQgPyBvd25lckRvY3VtZW50LT51cmwoKSA6IFVSTCgpKTsKIAogICAgIC8vIEJlZm9yZSBwYXJz
aW5nLCB3ZSBuZWVkIHRvIHNhdmUgJiBkZXRhY2ggdGhlIG9sZCBkb2N1bWVudCBhbmQgZ2V0IHRo
ZSBuZXcgZG9jdW1lbnQKICAgICAvLyBpbiBwbGFjZS4gV2UgaGF2ZSB0byBkbyB0aGlzIG9ubHkg
aWYgd2UncmUgcmVuZGVyaW5nIHRoZSByZXN1bHQgZG9jdW1lbnQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggOTdiM2UwNGFkZWExNTU3ZDYwNTY2YmQ3YTI4NTM0YTY5Y2Fj
M2M2My4uOGExYzA0YmY2ZWVlMzMzY2M5N2I3ZjMyYTE3NzM0ZWZmNjEyMjQ2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzMzMSwxOCArMzMzMSw2IEBAIHN0YXRpYyBp
bmxpbmUgSU1QIGdldE1ldGhvZChpZCBvLCBTRUwgcykKIH0KICNlbmRpZiAvLyAhUExBVEZPUk0o
SU9TKQogCi0tICh2b2lkKV9zZXRJblZpZXdTb3VyY2VNb2RlOihCT09MKWZsYWcKLXsKLSAgICBp
ZiAoRnJhbWUqIG1haW5GcmFtZSA9IFtzZWxmIF9tYWluQ29yZUZyYW1lXSkKLSAgICAgICAgbWFp
bkZyYW1lLT5zZXRJblZpZXdTb3VyY2VNb2RlKGZsYWcpOwotfQotCi0tIChCT09MKV9pblZpZXdT
b3VyY2VNb2RlCi17Ci0gICAgRnJhbWUqIG1haW5GcmFtZSA9IFtzZWxmIF9tYWluQ29yZUZyYW1l
XTsKLSAgICByZXR1cm4gbWFpbkZyYW1lICYmIG1haW5GcmFtZS0+aW5WaWV3U291cmNlTW9kZSgp
OwotfQotCiAtICh2b2lkKV9zZXRVc2VGYXN0SW1hZ2VTY2FsaW5nTW9kZTooQk9PTClmbGFnCiB7
CiAgICAgaWYgKF9wcml2YXRlLT5wYWdlICYmIF9wcml2YXRlLT5wYWdlLT5pbkxvd1F1YWxpdHlJ
bWFnZUludGVycG9sYXRpb25Nb2RlKCkgIT0gZmxhZykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGIxM2EwNDE4NzUwMDUxY2RjYWM2YTNmYjViOGM0
NDliODA5MTU0ZWMuLmVmN2QyMmIyOWQ1MjA1OWQ3MWJkNDUxYWY5M2QzYmZmZDJjOWU1NjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKQEAgLTY5NywxOCAr
Njk3LDYgQEAgQ291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAjZW5kaWYgLyogVEFS
R0VUX09TX0lQSE9ORSAqLwogCiAvKiEKLSAgICBAbWV0aG9kIF9zZXRJblZpZXdTb3VyY2VNb2Rl
OgotICAgIEBhYnN0cmFjdCBVc2VkIHRvIHBsYWNlIGEgV2ViVmlldyBpbnRvIGEgc3BlY2lhbCBz
b3VyY2Utdmlld2luZyBtb2RlLgotICAqLwotLSAodm9pZClfc2V0SW5WaWV3U291cmNlTW9kZToo
Qk9PTClmbGFnOwotCi0vKiEKLSAgICBAbWV0aG9kIF9pblZpZXdTb3VyY2VNb2RlOwotICAgIEBh
YnN0cmFjdCBXaGV0aGVyIG9yIG5vdCB0aGUgV2ViVmlldyBpcyBpbiBzb3VyY2UtdmlldyBtb2Rl
IGZvciBIVE1MLgotICAqLwotLSAoQk9PTClfaW5WaWV3U291cmNlTW9kZTsKLQotLyohCiAgICAg
QG1ldGhvZCBfYXR0YWNoU2NyaXB0RGVidWdnZXJUb0FsbEZyYW1lcwogICAgIEBhYnN0cmFjdCBB
dHRhY2hlcyBhIHNjcmlwdCBkZWJ1Z2dlciB0byBhbGwgZnJhbWVzIGJlbG9uZ2luZyB0byB0aGUg
cmVjZWl2ZXIuCiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAppbmRleCBjZWNlNjBlNWVhNDg0ZWIw
YWNmOTgzOTUxNzliYjJiZTg4YTZhNjRjLi5jZWFiNjY5YTRiZmVmY2M5OTVkNjk3OTFiOWNlYzg1
OTViNWEzNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCkBAIC0xMTEzLDI5ICsxMTEzLDEyIEBA
IHZvaWQgV2ViRnJhbWU6OmludmFsaWRhdGUoKQogCiBIUkVTVUxUIFdlYkZyYW1lOjppblZpZXdT
b3VyY2VNb2RlKEJPT0wqIGZsYWcpCiB7Ci0gICAgaWYgKCFmbGFnKSB7Ci0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgIH0KLQotICAg
ICpmbGFnID0gRkFMU0U7Ci0KLSAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZSh0aGlzKTsKLSAg
ICBpZiAoIWNvcmVGcmFtZSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgICpmbGFnID0g
Y29yZUZyYW1lLT5pblZpZXdTb3VyY2VNb2RlKCkgPyBUUlVFIDogRkFMU0U7Ci0gICAgcmV0dXJu
IFNfT0s7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAogSFJFU1VMVCBXZWJGcmFtZTo6c2V0
SW5WaWV3U291cmNlTW9kZShCT09MIGZsYWcpCiB7Ci0gICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNv
cmUodGhpcyk7Ci0gICAgaWYgKCFjb3JlRnJhbWUpCi0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0K
LSAgICBjb3JlRnJhbWUtPnNldEluVmlld1NvdXJjZU1vZGUoISFmbGFnKTsKLSAgICByZXR1cm4g
U19PSzsKKyAgICByZXR1cm4gRV9OT1RJTVBMOwogfQogCiBIUkVTVUxUIFdlYkZyYW1lOjplbGVt
ZW50V2l0aE5hbWUoQlNUUiBuYW1lLCBJRE9NRWxlbWVudCogZm9ybSwgSURPTUVsZW1lbnQqKiBl
bGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCA2YWE3ZTZkOGVkNWQzNmY0NmFhYzliYmRj
MGEwMjY2NWVjYWZmZTZmLi41M2FjN2M5ZWQyZWQ0YjA3ODA5YWM2ZjRjODQ4YWFmOGIxYzMxMGNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNTExNCwxOSArNTExNCwxMyBAQCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OnJlbW92ZUN1c3RvbURyb3BUYXJnZXQoKQogSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjpzZXRJblZpZXdTb3VyY2VNb2RlKCAKICAgICAg
ICAgLyogW2luXSAqLyBCT09MIGZsYWcpCiB7Ci0gICAgaWYgKCFtX21haW5GcmFtZSkKLSAgICAg
ICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIHJldHVybiBtX21haW5GcmFtZS0+c2V0SW5WaWV3U291
cmNlTW9kZShmbGFnKTsKKyAgICByZXR1cm4gRV9OT1RJTVBMOwogfQogICAgIAogSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjppblZpZXdTb3VyY2VNb2RlKCAKICAgICAgICAgLyog
W3JldHZhbF1bb3V0XSAqLyBCT09MKiBmbGFnKQogewotICAgIGlmICghbV9tYWluRnJhbWUpCi0g
ICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICByZXR1cm4gbV9tYWluRnJhbWUtPmluVmlld1Nv
dXJjZU1vZGUoZmxhZyk7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKIH0KIAogSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojp2aWV3V2luZG93KCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMTIwMjc2NDk5MmFkYjAyMTVkMDczNWE0MGQyNzgx
YmMxYjJhMjc3YS4uMWViOGM0NjM3ZWU4YTIwZTFkYmQ5ZjUzNWZkM2M5NzljMDE2ZmQyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMyNCw3ICszMjQs
NiBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50LCBX
ZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIHVpbgogICAgICwgbV9ydWJiZXJCYW5kc0F0VG9wKHRy
dWUpCiAgICAgLCBtX3J1YmJlckJhbmRzQXRCb3R0b20odHJ1ZSkKICAgICAsIG1fYmFja2dyb3Vu
ZEV4dGVuZHNCZXlvbmRQYWdlKGZhbHNlKQotICAgICwgbV9tYWluRnJhbWVJblZpZXdTb3VyY2VN
b2RlKGZhbHNlKQogICAgICwgbV9zaG91bGRSZWNvcmROYXZpZ2F0aW9uU25hcHNob3RzKGZhbHNl
KQogICAgICwgbV9wYWdlQ291bnQoMCkKICAgICAsIG1fcmVuZGVyVHJlZVNpemUoMCkKQEAgLTQ0
NTMsMTcgKzQ0NTIsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2FuY2VsQ29tcG9zaXRpb24oKQog
fQogI2VuZGlmIC8vIFBMQVRGT1JNKEdUSykKIAotdm9pZCBXZWJQYWdlUHJveHk6OnNldE1haW5G
cmFtZUluVmlld1NvdXJjZU1vZGUoYm9vbCBtYWluRnJhbWVJblZpZXdTb3VyY2VNb2RlKQotewot
ICAgIGlmIChtX21haW5GcmFtZUluVmlld1NvdXJjZU1vZGUgPT0gbWFpbkZyYW1lSW5WaWV3U291
cmNlTW9kZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9tYWluRnJhbWVJblZpZXdTb3VyY2VN
b2RlID0gbWFpbkZyYW1lSW5WaWV3U291cmNlTW9kZTsKLQotICAgIGlmIChpc1ZhbGlkKCkpCi0g
ICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0TWFpbkZyYW1lSW5W
aWV3U291cmNlTW9kZShtYWluRnJhbWVJblZpZXdTb3VyY2VNb2RlKSwgbV9wYWdlSUQpOwotfQot
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU2F2ZVRvUGFnZUNhY2hlKCkKIHsKICAgICBtX3Byb2Nl
c3MtPmRpZFNhdmVUb1BhZ2VDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IGI3NTM0MWM3OTUzMmZkNzcxNTRjMzc2MmRkMjkwOTMxOGEzMDM2MmUuLmI1
NzQzMDM1MjAyMmE2MTdjNzFmM2NlNzcxMWY4NDU3ZmM4YjYyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg2MSw5ICs4NjEsNiBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBhdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV9hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0OyB9CiAgICAgdm9pZCBzZXRBdXRv
U2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wpOwogCi0gICAgYm9vbCBtYWluRnJh
bWVJblZpZXdTb3VyY2VNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9tYWluRnJhbWVJblZpZXdTb3Vy
Y2VNb2RlOyB9Ci0gICAgdm9pZCBzZXRNYWluRnJhbWVJblZpZXdTb3VyY2VNb2RlKGJvb2wpOwot
CiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSh1aW50NjRf
dCBmcmFtZUlELCBQYXNzUmVmUHRyPEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk+KTsKIAog
ICAgIGludDY0X3Qgc3BlbGxEb2N1bWVudFRhZygpOwpAQCAtMTM5NSw4ICsxMzkyLDYgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgbV9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2U7CiAKLSAgICBi
b29sIG1fbWFpbkZyYW1lSW5WaWV3U291cmNlTW9kZTsKLQogICAgIGJvb2wgbV9zaG91bGRSZWNv
cmROYXZpZ2F0aW9uU25hcHNob3RzOwogCiAgICAgdW5zaWduZWQgbV9wYWdlQ291bnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZDdiZjFk
YWRjMDIzYjZmYzJkNGFlMDU1Njg2MmViZGMwNTdiMmY2OS4uZTU5OTA2OTY1MDkyOWQ3ZDg5ZTYx
MGQwZjNiMzkyNTJkZWUxYTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMzg0MSwxMSArMzg0MSw2IEBAIHZvaWQgV2ViUGFnZTo6ZGlk
Q2hhbmdlU2VsZWN0aW9uKCkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkVkaXRv
clN0YXRlQ2hhbmdlZChlZGl0b3JTdGF0ZSgpKSk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6c2V0TWFp
bkZyYW1lSW5WaWV3U291cmNlTW9kZShib29sIGluVmlld1NvdXJjZU1vZGUpCi17Ci0gICAgbV9t
YWluRnJhbWUtPmNvcmVGcmFtZSgpLT5zZXRJblZpZXdTb3VyY2VNb2RlKGluVmlld1NvdXJjZU1v
ZGUpOwotfQotCiB2b2lkIFdlYlBhZ2U6OnNldE1pbmltdW1MYXlvdXRTaXplKGNvbnN0IEludFNp
emUmIG1pbmltdW1MYXlvdXRTaXplKQogewogICAgIGlmIChtX21pbmltdW1MYXlvdXRTaXplID09
IG1pbmltdW1MYXlvdXRTaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggNDQwYjhmZGU3MzlmODVkNWI5NjAzYjVhYmU0YWYxMmJhMjkyNDJkNS4u
YTVjZjRiMDNkOTgwYzg0Njc5OTk4Y2JjMTg3ZTYwYzMyNmEzYTk2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC04ODcsOCArODg3LDYgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgY2FuSGFuZGxlVXNlckV2ZW50cygpIGNvbnN0OwogCi0gICAgdm9p
ZCBzZXRNYWluRnJhbWVJblZpZXdTb3VyY2VNb2RlKGJvb2wpOwotCiAgICAgc3RhdGljIGJvb2wg
cGxhdGZvcm1DYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYp
OwogCiAgICAgc3RhdGljIFBsdWdpblZpZXcqIGZvY3VzZWRQbHVnaW5WaWV3Rm9yRnJhbWUoV2Vi
Q29yZTo6RnJhbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggZDI5Yjc5ZTJlYWVmMWMzM2QxMjY5ZWJhNTlk
MjdjMmI1M2MwOWM2Ni4uMzViMTYxZTJlOWE1OTJiMDBlODBjZTM4N2FjYzhhYWY3ZjVjMTM3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KQEAgLTMyMSw4ICszMjEsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2Fj
eVJlY2VpdmVyIHsKICNpZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkK
ICAgICBTZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2luZG93SWQoaW50NjRfdCBpZCkKICNlbmRp
ZgotCi0gICAgU2V0TWFpbkZyYW1lSW5WaWV3U291cmNlTW9kZShib29sIGluVmlld1NvdXJjZU1v
ZGUpCi0gICAgCisgIAogICAgIFNldFNjcm9sbFBpbm5pbmdCZWhhdmlvcih1aW50MzJfdCBwaW5u
aW5nKQogfQo=
</data>
<flag name="review"
          id="248516"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>