<?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>148404</bug_id>
          
          <creation_ts>2015-08-24 15:49:08 -0700</creation_ts>
          <short_desc>(Finally...) get rid of WKViewIOS</short_desc>
          <delta_ts>2015-08-24 16:12:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120433</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-24 15:49:08 -0700</bug_when>
    <thetext>(Finally...) get rid of WKViewIOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120436</commentid>
    <comment_count>1</comment_count>
      <attachid>259788</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-24 15:49:21 -0700</bug_when>
    <thetext>Created attachment 259788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120440</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-24 16:12:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/188892</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259788</attachid>
            <date>2015-08-24 15:49:21 -0700</date>
            <delta_ts>2015-08-24 16:03:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148404-20150824154912.patch</filename>
            <type>text/plain</type>
            <size>40946</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjdlNjlhZTlkZjY3YTVk
MDA0ZDcyMjllMDAwOWY4Njg2MWFmZTUwYS4uNTBkYWQzMDNiNjAyMzUzMDEyMDUzMTRiNWExZTlh
OTI1ZWQ5Y2MxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA4LTI0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIChGaW5hbGx5Li4u
KSBnZXQgcmlkIG9mIFdLVmlld0lPUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ4NDA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlldy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OlBh
Z2VDbGllbnRJbXBsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6
OmRpZFJlbGF1bmNoUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpyZWZWaWV3KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OmRlcmVmVmlldyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IGluaXRXaXRoRnJhbWU6cHJvY2Vzc1Bvb2w6Y29uZmlndXJh
dGlvbjp3a1ZpZXc6XSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICBHZXQgcmlkIG9mIFdLVmlld0lPUyBhbmQgcmVmZXJlbmNl
cyB0byBpdC4KKworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9pb3MvRGF0YWJhc2VQcm9jZXNz
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVTYW5k
Ym94KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9pb3MvTmV0d29ya1Byb2Nlc3NJT1MubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveCk6Cisg
ICAgICAgICogU2hhcmVkL1BsdWdpbnMvbWFjL1BsdWdpblNhbmRib3hQcm9maWxlLm1tOgorICAg
ICAgICAoV2ViS2l0OjpwbHVnaW5TYW5kYm94UHJvZmlsZURpcmVjdG9yeSk6CisgICAgICAgICog
U2hhcmVkL2lvcy9DaGlsZFByb2Nlc3NJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJv
Y2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXpl
U2FuZGJveCk6CisgICAgICAgIExvb2sgZm9yIFdLV2ViVmlldyBpbnN0ZWFkIG9mIFdLVmlldyBp
ZiB3ZSBoYXZlIGl0LgorCiAyMDE1LTA4LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0
ZXIgZm9yIHdoZWVsIGV2ZW50IGZpbHRlcmluZyBvbiBNYWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9pb3MvRGF0YWJhc2VQcm9jZXNzSU9TLm1tIGIvU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW0KaW5kZXgg
NGU4MjBiMDU3NzgxYTc1NGU2NmQ0MzRhOTk1MmY3MDRjNzdiMDczMS4uZjA0ZWFlNWM1MzMzOWJm
NTVjZDY2ZTkzYjk2MDc5NGUwZTMyMmE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL2lvcy9EYXRhYmFzZVByb2Nlc3NJT1MubW0KQEAgLTUzLDcgKzUz
LDcgQEAgdm9pZCBEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IENoaWxk
UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGUKIHsKICNpZiBFTkFCTEVfTUFOVUFMX0RBVEFC
QVNFX1NBTkRCT1hJTkcKICAgICAvLyBOZWVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LCBiZWNh
dXNlIHNlcnZpY2UgaGFzIGEgZGlmZmVyZW50IGJ1bmRsZSBJRC4KLSAgICBOU0J1bmRsZSAqd2Vi
a2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhA
IldLVmlldyIpXTsKKyAgICBOU0J1bmRsZSAqd2Via2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5k
bGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLV2ViVmlldyIpXTsKICAgICBzYW5kYm94
UGFyYW1ldGVycy5zZXRPdmVycmlkZVNhbmRib3hQcm9maWxlUGF0aChbd2Via2l0MkJ1bmRsZSBw
YXRoRm9yUmVzb3VyY2U6QCJjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcyIgb2ZUeXBlOkAic2Ii
XSk7CiAgICAgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5k
Ym94UGFyYW1ldGVycyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2lvcy9OZXR3b3JrUHJvY2Vzc0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2lvcy9OZXR3b3JrUHJvY2Vzc0lPUy5tbQppbmRleCAxZDdlMDUyN2NmNDE1Njgx
ZDYzOTBjNDAxN2EzMDBhNmQyMjg2NzVmLi5jZDVkZWM2NGQ3MzUwNTExNzY0NzJkMjgzNjdhMmE3
MGZkZjM0ZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9pb3Mv
TmV0d29ya1Byb2Nlc3NJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
aW9zL05ldHdvcmtQcm9jZXNzSU9TLm1tCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgTmV0d29ya1By
b2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVyCiB7CiAjaWYgRU5BQkxFX01BTlVBTF9ORVRXT1JLX1NBTkRCT1hJTkcKICAgICAv
LyBOZWVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LCBiZWNhdXNlIHNlcnZpY2UgaGFzIGEgZGlm
ZmVyZW50IGJ1bmRsZSBJRC4KLSAgICBOU0J1bmRsZSAqd2Via2l0MkJ1bmRsZSA9IFtOU0J1bmRs
ZSBidW5kbGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLVmlldyIpXTsKKyAgICBOU0J1
bmRsZSAqd2Via2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpOU0NsYXNzRnJv
bVN0cmluZyhAIldLV2ViVmlldyIpXTsKICAgICBzYW5kYm94UGFyYW1ldGVycy5zZXRPdmVycmlk
ZVNhbmRib3hQcm9maWxlUGF0aChbd2Via2l0MkJ1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJjb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzIiBvZlR5cGU6QCJzYiJdKTsKIAogICAgIENoaWxk
UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gocGFyYW1ldGVycywgc2FuZGJveFBhcmFtZXRlcnMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvbWFjL1BsdWdpblNh
bmRib3hQcm9maWxlLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvbWFjL1BsdWdp
blNhbmRib3hQcm9maWxlLm1tCmluZGV4IDI3MzVjM2E0MTExOTk3NWRhZjE2OTU2Njc4OWUzYjkz
YzE5MDRjNmMuLjYzYzliY2E3NDY1YTMzZjQ3NDY4ZmM4OTQyNGExNWYxOTQ0YmJiZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL21hYy9QbHVnaW5TYW5kYm94UHJv
ZmlsZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9tYWMvUGx1Z2luU2Fu
ZGJveFByb2ZpbGUubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJQbHVnaW5TYW5kYm94UHJvZmlsZS5oIgogCisjaW5jbHVkZSAiV0tGb3VuZGF0aW9u
LmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0NvbmNhdGVuYXRlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNCw3
ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIE5TU3RyaW5nICpwbHVnaW5T
YW5kYm94UHJvZmlsZURpcmVjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIFtbW05TQnVuZGxlIGJ1bmRs
ZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tWaWV3IildIHJlc291cmNlUGF0aF0gc3Ry
aW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiUGx1Z0luU2FuZGJveFByb2ZpbGVzIl07Cisj
aWYgV0tfQVBJX0VOQUJMRUQKKyAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRs
ZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tXZWJWaWV3IildOworI2Vsc2UKKyAgICBO
U0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3Ry
aW5nKEAiV0tWaWV3IildOworI2VuZGlmCisgICAgcmV0dXJuIFtbYnVuZGxlIHJlc291cmNlUGF0
aF0gc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiUGx1Z0luU2FuZGJveFByb2ZpbGVz
Il07CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAqcGx1Z2luU2FuZGJveFByb2ZpbGVOYW1lKGNvbnN0
IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9pb3MvQ2hpbGRQcm9jZXNzSU9TLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9D
aGlsZFByb2Nlc3NJT1MubW0KaW5kZXggYWM2MjQxMTc3M2Q1YWZjOWZjZGFkNDY0NzY1MGI5ZDY4
ZTVlMTA0OS4uNWRiZWNlZGRmNDlmNjVhNWU4NzRhMTMxNDlmNGZkZjUxYzdhY2FkMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9DaGlsZFByb2Nlc3NJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9DaGlsZFByb2Nlc3NJT1MubW0KQEAgLTcxLDcgKzcx
LDcgQEAgdm9pZCBDaGlsZFByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiB2b2lkIENoaWxk
UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JiBzYW5kYm94UGFyYW1ldGVycykKIHsKICNpZiBFTkFCTEUoTUFOVUFMX1NBTkRCT1hJTkcpCi0g
ICAgTlNCdW5kbGUgKndlYmtpdDJCdW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlND
bGFzc0Zyb21TdHJpbmcoQCJXS1ZpZXciKV07CisgICAgTlNCdW5kbGUgKndlYmtpdDJCdW5kbGUg
PSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJXS1dlYlZpZXci
KV07CiAgICAgU3RyaW5nIGRlZmF1bHRQcm9maWxlUGF0aCA9IFt3ZWJraXQyQnVuZGxlIHBhdGhG
b3JSZXNvdXJjZTpbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIG9mVHlw
ZTpAInNiIl07CiAgICAgaWYgKHNhbmRib3hQYXJhbWV0ZXJzLnN5c3RlbURpcmVjdG9yeVN1ZmZp
eCgpLmlzTnVsbCgpKSB7CiAgICAgICAgIFN0cmluZyBkZWZhdWx0U3lzdGVtRGlyZWN0b3J5U3Vm
Zml4ID0gU3RyaW5nKFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0pICsg
IisiICsgcGFyYW1ldGVycy5jbGllbnRJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tWaWV3LmgKaW5kZXggMmFlNDZiYWY5YWZmN2NhNWQ2OTFmMzJiZDk2
MjVmNWViOTc4MDk3OC4uMTk5M2I5YWU0ZjYwNWM0MGU4MGQ0NjEwYzY2ZjY0NWM3NWEyYTY1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlldy5oCkBAIC0yNSwx
MSArMjUsOSBAQAogCiAjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CiAKLSNpZiBUQVJH
RVRfT1NfSVBIT05FCi0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgotI2Vsc2UKKyNpZiAhVEFSR0VU
X09TX0lQSE9ORQorCiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPgotI2VuZGlmCiAjaW1wb3J0IDxX
ZWJLaXQvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KIAogQGNsYXNzIFdLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlcjsKQEAgLTM3LDEzICszNSw4IEBACiBAY2xhc3MgV0tQcm9jZXNzR3JvdXA7
CiBAY2xhc3MgV0tWaWV3RGF0YTsKIAotI2lmIFRBUkdFVF9PU19JUEhPTkUKLVdLX0VYUE9SVAot
QGludGVyZmFjZSBXS1ZpZXcgOiBVSVZpZXcgewotI2Vsc2UKIFdLX0VYUE9SVAogQGludGVyZmFj
ZSBXS1ZpZXcgOiBOU1ZpZXcgPE5TVGV4dElucHV0Q2xpZW50PiB7Ci0jZW5kaWYKIEBwcml2YXRl
CiAgICAgV0tWaWV3RGF0YSAqX2RhdGE7CiAgICAgdW5zaWduZWQgX3VudXNlZDsKQEAgLTUxLDEz
ICs0NCw4IEBAIFdLX0VYUE9SVAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAotI2lmIFRBUkdFVF9P
U19JUEhPTkUKLS0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBwcm9jZXNzR3JvdXA6
KFdLUHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jy
b3dzaW5nQ29udGV4dEdyb3VwICopYnJvd3NpbmdDb250ZXh0R3JvdXA7Ci0tIChpZClpbml0V2l0
aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vzc0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nl
c3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJy
b3dzaW5nQ29udGV4dEdyb3VwIHJlbGF0ZWRUb1ZpZXc6KFdLVmlldyAqKXJlbGF0ZWRWaWV3Owot
I2Vsc2UKIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZSBwcm9jZXNzR3JvdXA6KFdL
UHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jyb3dz
aW5nQ29udGV4dEdyb3VwICopYnJvd3NpbmdDb250ZXh0R3JvdXA7CiAtIChpZClpbml0V2l0aEZy
YW1lOihOU1JlY3QpZnJhbWUgcHJvY2Vzc0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NH
cm91cCBicm93c2luZ0NvbnRleHRHcm91cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dz
aW5nQ29udGV4dEdyb3VwIHJlbGF0ZWRUb1ZpZXc6KFdLVmlldyAqKXJlbGF0ZWRWaWV3OwotI2Vu
ZGlmCiAKIEBwcm9wZXJ0eShyZWFkb25seSkgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICpi
cm93c2luZ0NvbnRleHRDb250cm9sbGVyOwogCkBAIC02Niw4ICs1NCw2IEBAIFdLX0VYUE9SVAog
QHByb3BlcnR5IEJPT0wgZHJhd3NCYWNrZ3JvdW5kOwogQHByb3BlcnR5IEJPT0wgZHJhd3NUcmFu
c3BhcmVudEJhY2tncm91bmQ7CiAKLSNpZiBUQVJHRVRfT1NfSVBIT05FCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldzsKLSNlbmRpZgotCiBA
ZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9p
b3MvV0tWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3
SU9TLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGViZDU4YWIxZTc4NTBkNTc3
OWNlYjg3ZjNlYmIwYjZlMWI0YzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5t
bQorKysgL2Rldi9udWxsCkBAIC0xLDQxMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lt
cG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS1ZpZXdQcml2YXRlLmgiCi0KLSNpZiBQTEFURk9S
TShJT1MpCi0KLSNpbXBvcnQgIkFQSVBhZ2VDb25maWd1cmF0aW9uLmgiCi0jaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKLSNpbXBvcnQg
IlZpZXdHZXN0dXJlQ29udHJvbGxlci5oIgotI2ltcG9ydCAiV0tBUElDYXN0LmgiCi0jaW1wb3J0
ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIgotI2ltcG9ydCAiV0tDb250ZW50Vmll
dy5oIgotI2ltcG9ydCAiV0tQYWdlQ29uZmlndXJhdGlvblJlZi5oIgotI2ltcG9ydCAiV0tQcm9j
ZXNzR3JvdXBQcml2YXRlLmgiCi0jaW1wb3J0ICJXS1Njcm9sbFZpZXcuaCIKLSNpbXBvcnQgIldl
YlBhZ2VHcm91cC5oIgotI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0ICJXZWJQcm9j
ZXNzUG9vbC5oIgotI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW4uaD4KLSNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotQGludGVyZmFjZSBXS1ZpZXcg
KCkgPFVJU2Nyb2xsVmlld0RlbGVnYXRlPgotQGVuZAotCi1AaW50ZXJmYWNlIFVJU2Nyb2xsVmll
dyAoVUlTY3JvbGxWaWV3SW50ZXJuYWwpCi0tICh2b2lkKV9hZGp1c3RGb3JBdXRvbWF0aWNLZXli
b2FyZEluZm86KE5TRGljdGlvbmFyeSopaW5mbyBhbmltYXRlZDooQk9PTClhbmltYXRlZCBsYXN0
QWRqdXN0bWVudDooQ0dGbG9hdCopbGFzdEFkanVzdG1lbnQ7Ci1AZW5kCi0KLUBpbXBsZW1lbnRh
dGlvbiBXS1ZpZXcgewotICAgIFJldGFpblB0cjxXS1Njcm9sbFZpZXc+IF9zY3JvbGxWaWV3Owot
ICAgIFJldGFpblB0cjxXS0NvbnRlbnRWaWV3PiBfY29udGVudFZpZXc7Ci0KLSAgICBCT09MIF9p
c1dhaXRpbmdGb3JOZXdMYXllclRyZWVBZnRlckRpZENvbW1pdExvYWQ7Ci0gICAgc3RkOjp1bmlx
dWVfcHRyPFZpZXdHZXN0dXJlQ29udHJvbGxlcj4gX2dlc3R1cmVDb250cm9sbGVyOwotICAgIAot
ICAgIEJPT0wgX2FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwotCi0gICAgQk9P
TCBfaGFzU3RhdGljTWluaW11bUxheW91dFNpemU7Ci0gICAgQ0dTaXplIF9taW5pbXVtTGF5b3V0
U2l6ZU92ZXJyaWRlOwotCi0gICAgVUlFZGdlSW5zZXRzIF9vYnNjdXJlZEluc2V0czsKLSAgICBi
b29sIF9pc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OwotICAgIENHRmxvYXQg
X2xhc3RBZGp1c3RtZW50Rm9yU2Nyb2xsZXI7Ci19Ci0KLS0gKGlkKWluaXRXaXRoQ29kZXI6KE5T
Q29kZXIgKiljb2RlcgotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgW3NlbGYgcmVs
ZWFzZV07Ci0gICAgcmV0dXJuIG5pbDsKLX0KLQotLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0
KWZyYW1lIHByb2Nlc3NHcm91cDooV0tQcm9jZXNzR3JvdXAgKilwcm9jZXNzR3JvdXAgYnJvd3Np
bmdDb250ZXh0R3JvdXA6KFdLQnJvd3NpbmdDb250ZXh0R3JvdXAgKilicm93c2luZ0NvbnRleHRH
cm91cAotewotICAgIHJldHVybiBbc2VsZiBpbml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NHcm91
cDpwcm9jZXNzR3JvdXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6YnJvd3NpbmdDb250ZXh0R3JvdXAg
cmVsYXRlZFRvVmlldzpuaWxdOwotfQotCi0tIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJh
bWUgcHJvY2Vzc0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0Nv
bnRleHRHcm91cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3Vw
IHJlbGF0ZWRUb1ZpZXc6KFdLVmlldyAqKXJlbGF0ZWRWaWV3Ci17Ci0gICAgaWYgKCEoc2VsZiA9
IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lXSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpjcmVhdGUoKTsK
LSAgICBjb25maWd1cmF0aW9uLT5zZXRQcm9jZXNzUG9vbCh0b0ltcGwocHJvY2Vzc0dyb3VwLl9j
b250ZXh0UmVmKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0UGFnZUdyb3VwKHRvSW1wbChicm93
c2luZ0NvbnRleHRHcm91cC5fcGFnZUdyb3VwUmVmKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0
UmVsYXRlZFBhZ2UocmVsYXRlZFZpZXcgPyB0b0ltcGwoW3JlbGF0ZWRWaWV3IHBhZ2VSZWZdKSA6
IG51bGxwdHIpOwotCi0gICAgW3NlbGYgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aENvbmZpZ3Vy
YXRpb25SZWY6dG9BUEkoY29uZmlndXJhdGlvbi5wdHIoKSldOwotICAgIHJldHVybiBzZWxmOwot
fQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGZdOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0K
LQotLSAodm9pZClzZXRGcmFtZTooQ0dSZWN0KWZyYW1lCi17Ci0gICAgQ0dSZWN0IG9sZEZyYW1l
ID0gW3NlbGYgZnJhbWVdOwotICAgIFtzdXBlciBzZXRGcmFtZTpmcmFtZV07Ci0KLSAgICBpZiAo
IUNHU2l6ZUVxdWFsVG9TaXplKG9sZEZyYW1lLnNpemUsIGZyYW1lLnNpemUpKQotICAgICAgICBb
c2VsZiBfZnJhbWVPckJvdW5kc0NoYW5nZWRdOwotfQotCi0tICh2b2lkKXNldEJvdW5kczooQ0dS
ZWN0KWJvdW5kcwotewotICAgIENHUmVjdCBvbGRCb3VuZHMgPSBbc2VsZiBib3VuZHNdOwotICAg
IFtzdXBlciBzZXRCb3VuZHM6Ym91bmRzXTsKLSAgICAKLSAgICBpZiAoIUNHU2l6ZUVxdWFsVG9T
aXplKG9sZEJvdW5kcy5zaXplLCBib3VuZHMuc2l6ZSkpCi0gICAgICAgIFtzZWxmIF9mcmFtZU9y
Qm91bmRzQ2hhbmdlZF07Ci19Ci0KLS0gKHZvaWQpZGlkTW92ZVRvV2luZG93Ci17Ci0gICAgW19j
b250ZW50VmlldyBwYWdlXS0+dmlld1N0YXRlRGlkQ2hhbmdlKFdlYkNvcmU6OlZpZXdTdGF0ZTo6
QWxsRmxhZ3MpOwotfQotCi0tIChVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Ci17Ci0gICAgcmV0
dXJuIF9zY3JvbGxWaWV3LmdldCgpOwotfQotCi0tIChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIgKilicm93c2luZ0NvbnRleHRDb250cm9sbGVyCi17Ci0gICAgcmV0dXJuIFtfY29udGVudFZp
ZXcgYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcl07Ci19Ci0KLS0gKHZvaWQpc2V0QWxsb3dzQmFj
a0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXM6KEJPT0wpYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0
aW9uR2VzdHVyZXMKLXsKLSAgICBpZiAoX2FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1
cmVzID09IGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBfYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgPSBhbGxvd3NC
YWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlczsKLSAgICAKLSAgICBXZWJQYWdlUHJveHkqIHdl
YlBhZ2VQcm94eSA9IFtfY29udGVudFZpZXcgcGFnZV07Ci0gICAgCi0gICAgaWYgKGFsbG93c0Jh
Y2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKSB7Ci0gICAgICAgIGlmICghX2dlc3R1cmVDb250
cm9sbGVyKSB7Ci0gICAgICAgICAgICBfZ2VzdHVyZUNvbnRyb2xsZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPFZpZXdHZXN0dXJlQ29udHJvbGxlcj4oKndlYlBhZ2VQcm94eSk7Ci0gICAgICAgICAgICBf
Z2VzdHVyZUNvbnRyb2xsZXItPmluc3RhbGxTd2lwZUhhbmRsZXIoc2VsZiwgW3NlbGYgc2Nyb2xs
Vmlld10pOwotICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAgIF9nZXN0dXJlQ29udHJvbGxl
ciA9IG51bGxwdHI7Ci0gICAgCi0gICAgd2ViUGFnZVByb3h5LT5zZXRTaG91bGRSZWNvcmROYXZp
Z2F0aW9uU25hcHNob3RzKGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKTsKLX0K
LQotLSAoQk9PTClhbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcwotewotICAgIHJl
dHVybiBfYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXM7Ci19Ci0KLSNwcmFnbWEg
bWFyayAtIFVJU2Nyb2xsVmlld0RlbGVnYXRlCi0KLS0gKFVJVmlldyAqKXZpZXdGb3Jab29taW5n
SW5TY3JvbGxWaWV3OihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Ci17Ci0gICAgQVNTRVJUKF9z
Y3JvbGxWaWV3ID09IHNjcm9sbFZpZXcpOwotICAgIHJldHVybiBfY29udGVudFZpZXcuZ2V0KCk7
Ci19Ci0KLS0gKHZvaWQpc2Nyb2xsVmlld1dpbGxCZWdpblpvb21pbmc6KFVJU2Nyb2xsVmlldyAq
KXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcKLXsKLSAgICBbX2NvbnRlbnRWaWV3
IHdpbGxTdGFydFpvb21PclNjcm9sbF07Ci19Ci0KLS0gKHZvaWQpc2Nyb2xsVmlld1dpbGxCZWdp
bkRyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Ci17Ci0gICAgW19jb250ZW50Vmll
dyB3aWxsU3RhcnRab29tT3JTY3JvbGxdOwotfQotCi0tICh2b2lkKV9kaWRGaW5pc2hTY3JvbGxp
bmcKLXsKLSAgICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c107Ci0gICAgW19jb250
ZW50VmlldyBkaWRGaW5pc2hTY3JvbGxpbmddOwotfQotCi0tICh2b2lkKXNjcm9sbFZpZXdEaWRF
bmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aWxsRGVjZWxlcmF0ZTooQk9P
TClkZWNlbGVyYXRlCi17Ci0gICAgLy8gSWYgd2UncmUgZGVjZWxlcmF0aW5nLCBzY3JvbGwgb2Zm
c2V0IHdpbGwgYmUgdXBkYXRlZCB3aGVuIHNjcm9sbFZpZXdEaWRGaW5pc2hEZWNlbGVyYXRpbmc6
IGlzIGNhbGxlZC4KLSAgICBpZiAoIWRlY2VsZXJhdGUpCi0gICAgICAgIFtzZWxmIF9kaWRGaW5p
c2hTY3JvbGxpbmddOwotfQotCi0tICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6
KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKLXsKLSAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xs
aW5nXTsKLX0KLQotLSAodm9pZClzY3JvbGxWaWV3RGlkU2Nyb2xsVG9Ub3A6KFVJU2Nyb2xsVmll
dyAqKXNjcm9sbFZpZXcKLXsKLSAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xsaW5nXTsKLX0KLQot
LSAodm9pZClzY3JvbGxWaWV3RGlkU2Nyb2xsOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Ci17
Ci0gICAgW3NlbGYgX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdOwotfQotCi0tICh2b2lkKXNj
cm9sbFZpZXdEaWRab29tOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Ci17Ci0gICAgW3NlbGYg
X3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdOwotfQotCi0tICh2b2lkKXNjcm9sbFZpZXdEaWRF
bmRab29taW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWaWV3OihVSVZpZXcgKil2
aWV3IGF0U2NhbGU6KENHRmxvYXQpc2NhbGUKLXsKLSAgICBBU1NFUlQoc2Nyb2xsVmlldyA9PSBf
c2Nyb2xsVmlldyk7Ci0gICAgW3NlbGYgX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdOwotICAg
IFtfY29udGVudFZpZXcgZGlkWm9vbVRvU2NhbGU6c2NhbGVdOwotfQotCi0jcHJhZ21hIG1hcmsg
SW50ZXJuYWwKLQotLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoQ29uZmlndXJhdGlv
blJlZjooV0tQYWdlQ29uZmlndXJhdGlvblJlZiljb25maWd1cmF0aW9uUmVmCi17Ci0gICAgQVNT
RVJUKCFfc2Nyb2xsVmlldyk7Ci0gICAgQVNTRVJUKCFfY29udGVudFZpZXcpOwotCi0gICAgQ0dS
ZWN0IGJvdW5kcyA9IHNlbGYuYm91bmRzOwotCi0gICAgX3Njcm9sbFZpZXcgPSBhZG9wdE5TKFtb
V0tTY3JvbGxWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOmJvdW5kc10pOwotICAgIFtfc2Nyb2xs
VmlldyBzZXRCb3VuY2VzWm9vbTpZRVNdOwotCi0gICAgW3NlbGYgYWRkU3Vidmlldzpfc2Nyb2xs
Vmlldy5nZXQoKV07Ci0KLSAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSB0b0ltcGwoY29uZmlndXJh
dGlvblJlZiktPmNvcHkoKTsKLQotICAgIF9jb250ZW50VmlldyA9IGFkb3B0TlMoW1tXS0NvbnRl
bnRWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOmJvdW5kcyBwcm9jZXNzUG9vbDoqY29uZmlndXJh
dGlvbi0+cHJvY2Vzc1Bvb2woKSBjb25maWd1cmF0aW9uOldURjo6bW92ZShjb25maWd1cmF0aW9u
KSB3a1ZpZXc6c2VsZl0pOwotCi0gICAgW1tfY29udGVudFZpZXcgbGF5ZXJdIHNldEFuY2hvclBv
aW50OkNHUG9pbnRaZXJvXTsKLSAgICBbX2NvbnRlbnRWaWV3IHNldEZyYW1lOmJvdW5kc107Ci0g
ICAgW19zY3JvbGxWaWV3IGFkZFN1YnZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKLQotICAgIFtz
ZWxmIF9mcmFtZU9yQm91bmRzQ2hhbmdlZF07Ci0KLSAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAq
Y2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwotICAgIFtjZW50
ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2tleWJvYXJkV2lsbENoYW5n
ZUZyYW1lOikgbmFtZTpVSUtleWJvYXJkV2lsbENoYW5nZUZyYW1lTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwotICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
X2tleWJvYXJkRGlkQ2hhbmdlRnJhbWU6KSBuYW1lOlVJS2V5Ym9hcmREaWRDaGFuZ2VGcmFtZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF9rZXlib2FyZFdpbGxTaG93OikgbmFtZTpVSUtleWJvYXJkV2lsbFNo
b3dOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3Rvcihfa2V5Ym9hcmRXaWxsSGlkZTopIG5hbWU6VUlLZXlib2FyZFdp
bGxIaWRlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotfQotCi0tICh2b2lkKV9mcmFtZU9yQm91
bmRzQ2hhbmdlZAotewotICAgIENHUmVjdCBib3VuZHMgPSBbc2VsZiBib3VuZHNdOwotCi0gICAg
V2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkgPSBbX2NvbnRlbnRWaWV3IHBhZ2VdOwotICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSBzaXplKGJvdW5kcy5zaXplKTsKLSAgICB3ZWJQYWdlUHJveHktPnNl
dFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKHNpemUpOwotICAgIHdlYlBh
Z2VQcm94eS0+c2V0TWF4aW11bVVub2JzY3VyZWRTaXplKHNpemUpOwotCi0gICAgW19zY3JvbGxW
aWV3IHNldEZyYW1lOmJvdW5kc107Ci0gICAgd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpLT5z
ZXRTaXplKFdlYkNvcmU6OkludFNpemUoYm91bmRzLnNpemUpLCBXZWJDb3JlOjpJbnRTaXplKCks
IFdlYkNvcmU6OkludFNpemUoKSk7Ci0gICAgW3NlbGYgX3VwZGF0ZVZpc2libGVDb250ZW50UmVj
dHNdOwotfQotCi0tICh2b2lkKV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzCi17Ci0gICAgQ0dS
ZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOwotICAgIENHUmVjdCB2aXNpYmxlUmVjdElu
Q29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6ZnVsbFZpZXdSZWN0IHRvVmll
dzpfY29udGVudFZpZXcuZ2V0KCldOwotCi0gICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0ID0gVUlF
ZGdlSW5zZXRzSW5zZXRSZWN0KGZ1bGxWaWV3UmVjdCwgX29ic2N1cmVkSW5zZXRzKTsKLSAgICBD
R1JlY3QgdW5vYnNjdXJlZFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IFtzZWxmIGNvbnZlcnRS
ZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwotCi0gICAgW19j
b250ZW50VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp2aXNpYmxlUmVjdEluQ29udGVudENvb3Jk
aW5hdGVzCi0gICAgICAgIHVub2JzY3VyZWRSZWN0OnVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29v
cmRpbmF0ZXMKLSAgICAgICAgdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlczp1
bm9ic2N1cmVkUmVjdAotICAgICAgICBzY2FsZTpbX3Njcm9sbFZpZXcgem9vbVNjYWxlXSBtaW5p
bXVtU2NhbGU6W19zY3JvbGxWaWV3IG1pbmltdW1ab29tU2NhbGVdCi0gICAgICAgIGluU3RhYmxl
U3RhdGU6WUVTIGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk6Tk9dOwotfQot
Ci0tICh2b2lkKV9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzooTlNEaWN0aW9uYXJ5ICopa2V5Ym9h
cmRJbmZvIGFkanVzdFNjcm9sbFZpZXc6KEJPT0wpYWRqdXN0U2Nyb2xsVmlldwotewotICAgIC8v
IEZJWE1FOiBXZSB3aWxsIGFsc28gbmVlZCB0byBhZGp1c3QgdGhlIHVub2JzY3VyZWQgcmVjdCBi
eSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBrZXlib2FyZCByZWN0IGFuZCB0aGUgb2JzY3VyZWQg
aW5zZXRzLgotICAgIGlmIChhZGp1c3RTY3JvbGxWaWV3KQotICAgICAgICBbX3Njcm9sbFZpZXcg
X2FkanVzdEZvckF1dG9tYXRpY0tleWJvYXJkSW5mbzprZXlib2FyZEluZm8gYW5pbWF0ZWQ6WUVT
IGxhc3RBZGp1c3RtZW50OiZfbGFzdEFkanVzdG1lbnRGb3JTY3JvbGxlcl07Ci19Ci0KLS0gKHZv
aWQpX2tleWJvYXJkV2lsbENoYW5nZUZyYW1lOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bgotewotICAgIGlmIChbX2NvbnRlbnRWaWV3IGlzQXNzaXN0aW5nTm9kZV0pCi0gICAgICAgIFtz
ZWxmIF9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNlckluZm8gYWRqdXN0
U2Nyb2xsVmlldzpZRVNdOwotfQotCi0tICh2b2lkKV9rZXlib2FyZERpZENoYW5nZUZyYW1lOihO
U05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgotewotICAgIFtzZWxmIF9rZXlib2FyZENoYW5n
ZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNlckluZm8gYWRqdXN0U2Nyb2xsVmlldzpOT107Ci19
Ci0KLS0gKHZvaWQpX2tleWJvYXJkV2lsbFNob3c6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0
aW9uCi17Ci0gICAgaWYgKFtfY29udGVudFZpZXcgaXNBc3Npc3RpbmdOb2RlXSkKLSAgICAgICAg
W3NlbGYgX2tleWJvYXJkQ2hhbmdlZFdpdGhJbmZvOm5vdGlmaWNhdGlvbi51c2VySW5mbyBhZGp1
c3RTY3JvbGxWaWV3OllFU107Ci19Ci0KLS0gKHZvaWQpX2tleWJvYXJkV2lsbEhpZGU6KE5TTm90
aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCi17Ci0gICAgLy8gSWdub3JlIGtleWJvYXJkIHdpbGwg
aGlkZSBub3RpZmljYXRpb25zIHNlbnQgZHVyaW5nIHJvdGF0aW9uLiBUaGV5J3JlIGp1c3QgdGhl
cmUgZm9yCi0gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucyBhbmQgcHJvY2Vz
c2luZyB0aGUgd2lsbCBoaWRlIG5vdGlmaWNhdGlvbiB3b3VsZAotICAgIC8vIHRlbXBvcmFyaWx5
IHNjcmV3IHVwIHRoZSB0aGUgdW5vYnNjdXJlZCB2aWV3IGFyZWEuCi0gICAgaWYgKFtbVUlQZXJp
cGhlcmFsSG9zdCBzaGFyZWRJbnN0YW5jZV0gcm90YXRpb25TdGF0ZV0pCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFtzZWxmIF9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNl
ckluZm8gYWRqdXN0U2Nyb2xsVmlldzpZRVNdOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlv
biBXS1ZpZXcgKFByaXZhdGUpCi0KLS0gKFdLUGFnZVJlZilwYWdlUmVmCi17Ci0gICAgcmV0dXJu
IHRvQVBJKFtfY29udGVudFZpZXcgcGFnZV0pOwotfQotCi0tIChpZClpbml0V2l0aEZyYW1lOihD
R1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHRSZWYgcGFnZUdyb3Vw
UmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWYKLXsKLSAgICByZXR1cm4gW3NlbGYgaW5p
dFdpdGhGcmFtZTpmcmFtZSBjb250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VH
cm91cFJlZiByZWxhdGVkVG9QYWdlOm5pbF07Ci19Ci0KLS0gKGlkKWluaXRXaXRoRnJhbWU6KENH
UmVjdClmcmFtZSBjb250ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBS
ZWY6KFdLUGFnZUdyb3VwUmVmKXBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOihXS1BhZ2VSZWYp
cmVsYXRlZFBhZ2UKLXsKLSAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBBUEk6OlBhZ2VDb25maWd1
cmF0aW9uOjpjcmVhdGUoKTsKLSAgICBjb25maWd1cmF0aW9uLT5zZXRQcm9jZXNzUG9vbCh0b0lt
cGwoY29udGV4dFJlZikpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldFBhZ2VHcm91cCh0b0ltcGwo
cGFnZUdyb3VwUmVmKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0UmVsYXRlZFBhZ2UodG9JbXBs
KHJlbGF0ZWRQYWdlKSk7Ci0KLSAgICByZXR1cm4gW3NlbGYgaW5pdFdpdGhGcmFtZTpmcmFtZSBj
b250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VHcm91cFJlZiByZWxhdGVkVG9Q
YWdlOm5pbF07Ci19Ci0KLS0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBjb25maWd1
cmF0aW9uUmVmOihXS1BhZ2VDb25maWd1cmF0aW9uUmVmKWNvbmZpZ3VyYXRpb24KLXsKLSAgICBp
ZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKLSAgICAgICAgcmV0dXJu
IG5pbDsKLQotICAgIFtzZWxmIF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhDb25maWd1cmF0aW9u
UmVmOmNvbmZpZ3VyYXRpb25dOwotICAgIHJldHVybiBzZWxmOwotfQotCi0tIChDR1NpemUpbWlu
aW11bUxheW91dFNpemVPdmVycmlkZQotewotICAgIEFTU0VSVChfaGFzU3RhdGljTWluaW11bUxh
eW91dFNpemUpOwotICAgIHJldHVybiBfbWluaW11bUxheW91dFNpemVPdmVycmlkZTsKLX0KLQot
LSAodm9pZClzZXRNaW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlOihDR1NpemUpbWluaW11bUxheW91
dFNpemVPdmVycmlkZQotewotICAgIF9oYXNTdGF0aWNNaW5pbXVtTGF5b3V0U2l6ZSA9IFlFUzsK
LSAgICBfbWluaW11bUxheW91dFNpemVPdmVycmlkZSA9IG1pbmltdW1MYXlvdXRTaXplT3ZlcnJp
ZGU7Ci19Ci0KLS0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzcwotewotICAgIC8vIFVwZGF0ZSB0
aGUgV2ViVmlldyB0byBvdXIgc2l6ZSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBzaXplIGl0IHdp
bGwgaGF2ZSBhZnRlciBiZWluZyByZWxhdW5jaGVkLgotICAgIFtzZWxmIF9mcmFtZU9yQm91bmRz
Q2hhbmdlZF07Ci19Ci0KLS0gKFVJRWRnZUluc2V0cylfb2JzY3VyZWRJbnNldHMKLXsKLSAgICBy
ZXR1cm4gX29ic2N1cmVkSW5zZXRzOwotfQotCi0tICh2b2lkKV9zZXRPYnNjdXJlZEluc2V0czoo
VUlFZGdlSW5zZXRzKW9ic2N1cmVkSW5zZXRzCi17Ci0gICAgQVNTRVJUKG9ic2N1cmVkSW5zZXRz
LnRvcCA+PSAwKTsKLSAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMubGVmdCA+PSAwKTsKLSAgICBB
U1NFUlQob2JzY3VyZWRJbnNldHMuYm90dG9tID49IDApOwotICAgIEFTU0VSVChvYnNjdXJlZElu
c2V0cy5yaWdodCA+PSAwKTsKLSAgICBfb2JzY3VyZWRJbnNldHMgPSBvYnNjdXJlZEluc2V0czsK
LSAgICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c107Ci19Ci0KLS0gKHZvaWQpX2Jl
Z2luSW50ZXJhY3RpdmVPYnNjdXJlZEluc2V0c0NoYW5nZQotewotICAgIEFTU0VSVCghX2lzQ2hh
bmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHkpOwotICAgIF9pc0NoYW5naW5nT2JzY3Vy
ZWRJbnNldHNJbnRlcmFjdGl2ZWx5ID0gWUVTOwotfQotCi0tICh2b2lkKV9lbmRJbnRlcmFjdGl2
ZU9ic2N1cmVkSW5zZXRzQ2hhbmdlCi17Ci0gICAgQVNTRVJUKF9pc0NoYW5naW5nT2JzY3VyZWRJ
bnNldHNJbnRlcmFjdGl2ZWx5KTsKLSAgICBfaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJh
Y3RpdmVseSA9IE5POwotfQotCi0tIChVSUNvbG9yICopX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRD
b2xvcgotewotICAgIC8vIFRoaXMgaXMgZGVwcmVjYXRlZC4gCi0gICAgcmV0dXJuIG5pbDsKLX0K
LQotLSAodm9pZClfc2V0QmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlOihCT09MKWJhY2tncm91
bmRFeHRlbmRzCi17Ci0gICAgW19jb250ZW50VmlldyBwYWdlXS0+c2V0QmFja2dyb3VuZEV4dGVu
ZHNCZXlvbmRQYWdlKGJhY2tncm91bmRFeHRlbmRzKTsKLX0KLQotLSAoQk9PTClfYmFja2dyb3Vu
ZEV4dGVuZHNCZXlvbmRQYWdlCi17Ci0gICAgcmV0dXJuIFtfY29udGVudFZpZXcgcGFnZV0tPmJh
Y2tncm91bmRFeHRlbmRzQmV5b25kUGFnZSgpOwotfQotCi1AZW5kCi0KLSNlbmRpZiAvLyBQTEFU
Rk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKaW5kZXggMDM4Y2Q0ZTU4ZTAxMWEyMzRkMzlmZjUzZmFjNzI2YjJmNzMyOWE4OC4u
OTZiNWEwMGQ3NDliZWI0MTJkY2Q5ZjMzNzU4OTZjM2FmYzJkNTAwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMzMsNyArMzMs
NiBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIFdLQ29udGVudFZp
ZXc7Ci1PQkpDX0NMQVNTIFdLVmlldzsKIE9CSkNfQ0xBU1MgV0tXZWJWaWV3OwogT0JKQ19DTEFT
UyBXS0VkaXRvclVuZG9UYXJnZXRPYmpDOwogCkBAIC00Niw3ICs0NSw2IEBAIGNsYXNzIFBhZ2VD
bGllbnRJbXBsIDogcHVibGljIFBhZ2VDbGllbnQKICAgICB7CiBwdWJsaWM6CiAgICAgUGFnZUNs
aWVudEltcGwoV0tDb250ZW50VmlldyAqLCBXS1dlYlZpZXcgKik7Ci0gICAgUGFnZUNsaWVudElt
cGwoV0tDb250ZW50VmlldyAqLCBXS1ZpZXcgKik7CiAgICAgdmlydHVhbCB+UGFnZUNsaWVudElt
cGwoKTsKICAgICAKIHByaXZhdGU6CkBAIC0xOTEsNyArMTg5LDYgQEAgcHJpdmF0ZToKIAogICAg
IFdLQ29udGVudFZpZXcgKm1fY29udGVudFZpZXc7CiAgICAgV0tXZWJWaWV3ICptX3dlYlZpZXc7
Ci0gICAgV0tWaWV3ICptX3drVmlldzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0
T2JqQz4gbV91bmRvVGFyZ2V0OwogfTsKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZjQ5
MThiNjdlYzEyN2M0MzY0MmZiZWNmYTBjYTAwYzEzZDNhNzE2ZC4uN2NhNjg1Nzk4NjQzYzUxMzk0
M2JkNTdiNzVhMmVjYWZjMWMwNDQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC00MCw3ICs0MCw2IEBACiAjaW1wb3J0ICJX
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldLR2VvbG9jYXRpb25Qcm92aWRl
cklPUy5oIgogI2ltcG9ydCAiV0tQcm9jZXNzUG9vbEludGVybmFsLmgiCi0jaW1wb3J0ICJXS1Zp
ZXdQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIldLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJX
S1dlYlZpZXdJbnRlcm5hbC5oIgpAQCAtMTExLDE1ICsxMTAsNiBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIFBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xpZW50SW1wbChXS0NvbnRlbnRWaWV3ICpjb250ZW50
VmlldywgV0tXZWJWaWV3ICp3ZWJWaWV3KQogICAgIDogbV9jb250ZW50Vmlldyhjb250ZW50Vmll
dykKICAgICAsIG1fd2ViVmlldyh3ZWJWaWV3KQotICAgICwgbV93a1ZpZXcobmlsKQotICAgICwg
bV91bmRvVGFyZ2V0KGFkb3B0TlMoW1tXS0VkaXRvclVuZG9UYXJnZXRPYmpDIGFsbG9jXSBpbml0
XSkpCi17Ci19Ci0KLVBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xpZW50SW1wbChXS0NvbnRlbnRWaWV3
ICpjb250ZW50VmlldywgV0tWaWV3ICp3a1ZpZXcpCi0gICAgOiBtX2NvbnRlbnRWaWV3KGNvbnRl
bnRWaWV3KQotICAgICwgbV93ZWJWaWV3KG5pbCkKLSAgICAsIG1fd2tWaWV3KHdrVmlldykKICAg
ICAsIG1fdW5kb1RhcmdldChhZG9wdE5TKFtbV0tFZGl0b3JVbmRvVGFyZ2V0T2JqQyBhbGxvY10g
aW5pdF0pKQogewogfQpAQCAtMjIzLDcgKzIxMyw2IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRp
ZFJlbGF1bmNoUHJvY2VzcygpCiB7CiAgICAgW21fY29udGVudFZpZXcgX2RpZFJlbGF1bmNoUHJv
Y2Vzc107CiAgICAgW21fd2ViVmlldyBfZGlkUmVsYXVuY2hQcm9jZXNzXTsKLSAgICBbbV93a1Zp
ZXcgX2RpZFJlbGF1bmNoUHJvY2Vzc107CiB9CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OnBhZ2VD
bG9zZWQoKQpAQCAtNzQzLDE0ICs3MzIsMTIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVmVmll
dygpCiB7CiAgICAgW21fY29udGVudFZpZXcgcmV0YWluXTsKICAgICBbbV93ZWJWaWV3IHJldGFp
bl07Ci0gICAgW21fd2tWaWV3IHJldGFpbl07CiB9CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRl
cmVmVmlldygpCiB7CiAgICAgW21fY29udGVudFZpZXcgcmVsZWFzZV07CiAgICAgW21fd2ViVmll
dyByZWxlYXNlXTsKLSAgICBbbV93a1ZpZXcgcmVsZWFzZV07CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaApp
bmRleCAzOTBjNzg1MzE2MGM2ZDdhMmU1ZGY2YmM4ZWU0ZmIwOGVkOThjZmUxLi5iNzIwZGE5NjIz
ZTU2N2EzZDA5OGQ4YmU1M2JjNjk0NTU2YWI0NTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaApAQCAtMzEsNyArMzEsNiBAQAogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogCiBAY2xhc3MgV0tDb250ZW50VmlldzsKLUBjbGFzcyBXS1ZpZXc7CiBA
Y2xhc3MgV0tXZWJWaWV3OwogCiBuYW1lc3BhY2UgQVBJIHsKQEAgLTY1LDcgKzY0LDYgQEAgY2xh
c3MgV2ViUHJvY2Vzc1Bvb2w7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wg
aXNCYWNrZ3JvdW5kOwogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZy
YW1lIHByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29sJilwcm9jZXNzUG9vbCBjb25m
aWd1cmF0aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uIHdl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXc7Ci0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFt
ZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29sJilwcm9j
ZXNzUG9vbCBjb25maWd1cmF0aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25m
aWd1cmF0aW9uIHdrVmlldzooV0tWaWV3ICopd2ViVmlldzsKIAogLSAodm9pZClkaWRVcGRhdGVW
aXNpYmxlUmVjdDooQ0dSZWN0KXZpc2libGVSZWN0IHVub2JzY3VyZWRSZWN0OihDR1JlY3QpdW5v
YnNjdXJlZFJlY3QKICAgICB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOihD
R1JlY3QpdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IGIyOTU5NWMzNTM0MjEw
NDQwN2JlN2ViM2I5Y2EzOTQxN2NlYTQ5NGEuLjU4Nzg4NmEwOTExYTZjNmIzODBlMzBjZWQxYjVm
ZDNlMjdlZTYyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0KQEAgLTIzMiwxOCArMjMyLDYgQEAgcHJpdmF0ZToKICAgICByZXR1cm4gW3NlbGYg
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOnByb2Nlc3NQb29sIGNvbmZpZ3Vy
YXRpb246V1RGOjptb3ZlKGNvbmZpZ3VyYXRpb24pXTsKIH0KIAotLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBwcm9jZXNzUG9vbDooV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbCYpcHJvY2Vzc1Bvb2wgY29uZmlndXJhdGlvbjooUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRp
b24+JiYpY29uZmlndXJhdGlvbiB3a1ZpZXc6KFdLVmlldyAqKXdrVmlldwotewotICAgIGlmICgh
KHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV0pKQotICAgICAgICByZXR1cm4gbmls
OwotCi0gICAgSW5pdGlhbGl6ZVdlYktpdDIoKTsKLQotICAgIF9wYWdlQ2xpZW50ID0gc3RkOjpt
YWtlX3VuaXF1ZTxQYWdlQ2xpZW50SW1wbD4oc2VsZiwgd2tWaWV3KTsKLQotICAgIHJldHVybiBb
c2VsZiBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoUHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wgY29u
ZmlndXJhdGlvbjpXVEY6Om1vdmUoY29uZmlndXJhdGlvbildOwotfQotCiAtICh2b2lkKWRlYWxs
b2MKIHsKICAgICBbc2VsZiBjbGVhbnVwSW50ZXJhY3Rpb25dOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY5ODI0MjE1MjZiZTI2
YTdhZmUwYTI5NjNmZTEyMjE2OTI3MTVjOTguLmI1YTM0MDkyNTNjMGMyOGE2N2M1Njk1NGNlYTFm
Y2U2MmRiMjQzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTY0NCw3ICs2NDQsNiBAQAogCQkyREEwNDlCODE4MENDRDBBMDBB
QUZBOUUgLyogR3JhcGhpY3NMYXllckNBUmVtb3RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREEwNDlCNjE4MENDRDBBMDBBQUZBOUUgLyogR3JhcGhp
Y3NMYXllckNBUmVtb3RlLmggKi87IH07CiAJCTJEQTFFNEZFMThDMDJCNkEwMERCQzkyOSAvKiBX
S1BERlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEQTFFNEZDMThDMDJCNkEwMERCQzkyOSAvKiBXS1BERlZpZXcuaCAqLzsgfTsKIAkJMkRBMUU0
RkYxOEMwMkI2QTAwREJDOTI5IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTFFNEZEMThDMDJCNkEwMERCQzkyOSAvKiBXS1BE
RlZpZXcubW0gKi87IH07Ci0JCTJEQTk0NDk1MTg4NEUzQjUwMEVEODZEQiAvKiBXS1ZpZXdJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREE5NDQ4
NjE4ODRFM0I1MDBFRDg2REIgLyogV0tWaWV3SU9TLm1tICovOyB9OwogCQkyREE5NDQ5RTE4ODRF
NEYwMDBFRDg2REIgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTk0NDk3MTg4NEU0RjAwMEVEODZE
QiAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tICovOyB9OwogCQkyREE5NDQ5RjE4ODRF
NEYwMDBFRDg2REIgLyogTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTk0NDk4MTg4NEU0RjAwMEVEODZEQiAv
KiBOYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tICovOyB9OwogCQkyREE5NDRBMDE4ODRFNEYwMDBF
RDg2REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyREE5NDQ5OTE4ODRFNEYwMDBFRDg2REIgLyogV2ViSU9TRXZl
bnRGYWN0b3J5LmggKi87IH07CkBAIC0yNzkzLDcgKzI3OTIsNiBAQAogCQkyREExRTRGQzE4QzAy
QjZBMDBEQkM5MjkgLyogV0tQREZWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFdLUERGVmlldy5oOyBwYXRoID0gaW9zL1dLUERGVmlldy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyREExRTRGRDE4QzAyQjZBMDBEQkM5MjkgLyogV0tQREZWaWV3Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tQREZWaWV3Lm1tOyBwYXRo
ID0gaW9zL1dLUERGVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRBN0ZE
Q0IxOEY4ODYyNTAwOERERUQwIC8qIEZpbmRJbmRpY2F0b3JPdmVybGF5Q2xpZW50SU9TLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZpbmRJbmRpY2F0b3JPdmVybGF5Q2xpZW50SU9TLmg7IHBhdGggPSBpb3Mv
RmluZEluZGljYXRvck92ZXJsYXlDbGllbnRJT1MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMkRBOTQ0ODYxODg0RTNCNTAwRUQ4NkRCIC8qIFdLVmlld0lPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVmlld0lPUy5tbTsgcGF0aCA9IGlvcy9X
S1ZpZXdJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQTk0NDk3MTg4NEU0
RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbTsg
cGF0aCA9IGlvcy9OYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyREE5NDQ5ODE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViVG91Y2hF
dmVudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5hdGl2
ZVdlYlRvdWNoRXZlbnRJT1MubW07IHBhdGggPSBpb3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRBOTQ0OTkxODg0RTRGMDAwRUQ4NkRC
IC8qIFdlYklPU0V2ZW50RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBXZWJJT1NFdmVudEZhY3RvcnkuaDsgcGF0aCA9IGlvcy9XZWJJT1NFdmVudEZhY3RvcnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUwODUsMTQgKzUwODMsNiBAQAogCQkJcGF0
aCA9IENvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJMkRBOTQ0Nzcx
ODg0RTNBQjAwRUQ4NkRCIC8qIGlvcyAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3VwOwotCQkJY2hp
bGRyZW4gPSAoCi0JCQkJMkRBOTQ0ODYxODg0RTNCNTAwRUQ4NkRCIC8qIFdLVmlld0lPUy5tbSAq
LywKLQkJCSk7Ci0JCQluYW1lID0gaW9zOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJ
fTsKIAkJMkRBOTQ0OTYxODg0RTREQTAwRUQ4NkRCIC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02MjI0LDcgKzYyMTQsNiBAQAogCQkJCUJDMEMz
NzY2MTBGODA3NjYwMDc2RDdDQiAvKiBDICovLAogCQkJCTM3QzRDMDgzMTgxNDlDMkEwMDM2ODhC
OSAvKiBDb2NvYSAqLywKIAkJCQlCQzhBNTAxMzExNzY1RjQ1MDA3NTc1NzMgLyogY3BwICovLAot
CQkJCTJEQTk0NDc3MTg4NEUzQUIwMEVEODZEQiAvKiBpb3MgKi8sCiAJCQkJQkMxMTFCNDcxMTJG
NjE2OTAwMzM3QkFCIC8qIG1hYyAqLywKIAkJCQkwNzZFODg0RDFBMTNDQURGMDA1RTkwRkMgLyog
QVBJQ29udGV4dE1lbnVDbGllbnQuaCAqLywKIAkJCQk4Mzg5MUI2MjFBNjhCMzQyMDAzMEYzODYg
LyogQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLywKQEAgLTEwMTAzLDcgKzEwMDkyLDYg
QEAKIAkJCQkxQUFGMDg5QTE5MjY3RUU1MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M4OUQyQTMxQTY3ODg3NTAwM0E1RkRFIC8qIFdLVXNlclNjcmlwdFJl
Zi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg2OTlCNjExNkFBREFBMDAyQTkyNUIgLyogV0tW
aWV3Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMkRBOTQ0OTUxODg0RTNCNTAwRUQ4NkRCIC8qIFdL
Vmlld0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMjhBNDk4MUFGOTY1QTIwMEYxOTBDOSAv
KiBXS1ZpZXdMYXlvdXRTdHJhdGVneS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUM1RTFBRkU4MTZC
MjBCNjcwMDZDQzFGMiAvKiBXS1dlYkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVF
MUFGRUExNkIyMEI3QjAwNkNDMUYyIC8qIFdLV2ViQXJjaGl2ZVJlc291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQppbmRleCA0YjkwZGM1MmMzMTYyN2M0ZjZlN2VkOTk0MjI5MzU3ZTUwYjUxYzEy
Li5iMzYyMGZmMTU2Nzc0OTM1MjliNTYzMDM5MmEyMzQyODNlMTczYzBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMjEz
LDExICsyMTMsMTUgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25zdCBD
aGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHAKICNpZiBFTkFCTEUoV0VCX1BS
T0NFU1NfU0FOREJPWCkKICNpZiBFTkFCTEUoTUFOVUFMX1NBTkRCT1hJTkcpCiAgICAgLy8gTmVl
ZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCwgYmVjYXVzZSBzZXJ2aWNlIGhhcyBhIGRpZmZlcmVu
dCBidW5kbGUgSUQuCi0gICAgTlNCdW5kbGUgKndlYmtpdDJCdW5kbGUgPSBbTlNCdW5kbGUgYnVu
ZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJXS1ZpZXciKV07CisjaWYgV0tfQVBJX0VO
QUJMRUQKKyAgICBOU0J1bmRsZSAqd2ViS2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JD
bGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLV2ViVmlldyIpXTsKKyNlbHNlCisgICAgTlNCdW5k
bGUgKndlYktpdDJCdW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6TlNDbGFzc0Zyb21T
dHJpbmcoQCJXS1ZpZXciKV07CisjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCi0gICAgc2FuZGJv
eFBhcmFtZXRlcnMuc2V0T3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGgoW3dlYmtpdDJCdW5kbGUg
cGF0aEZvclJlc291cmNlOkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IiBvZlR5cGU6QCJz
YiJdKTsKKyAgICBzYW5kYm94UGFyYW1ldGVycy5zZXRPdmVycmlkZVNhbmRib3hQcm9maWxlUGF0
aChbd2ViS2l0MkJ1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnQiIG9mVHlwZTpAInNiIl0pOwogI2Vsc2UKLSAgICBzYW5kYm94UGFyYW1ldGVycy5zZXRP
dmVycmlkZVNhbmRib3hQcm9maWxlUGF0aChbd2Via2l0MkJ1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJjb20uYXBwbGUuV2ViUHJvY2VzcyIgb2ZUeXBlOkAic2IiXSk7CisgICAgc2FuZGJveFBhcmFt
ZXRlcnMuc2V0T3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGgoW3dlYktpdDJCdW5kbGUgcGF0aEZv
clJlc291cmNlOkAiY29tLmFwcGxlLldlYlByb2Nlc3MiIG9mVHlwZTpAInNiIl0pOwogI2VuZGlm
CiAgICAgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5kYm94
UGFyYW1ldGVycyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAxODFmMzkwODUwOGY5MzQwYTAwMTIyOWZlMjE0OTY1YmQ4ZGJiOWIy
Li44NGM3OTcwZjdhMDlmYmI0MmU0ZGM2ZWIyM2NkNjNhYWE2N2I1MjZlIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIw
MTUtMDgtMjQgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgKEZpbmFsbHkuLi4pIGdldCByaWQgb2YgV0tWaWV3SU9TCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0MDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvQ3VzdG9t
UHJvdG9jb2xzU3luY1hIUlRlc3QubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvQ29udGVudEZpbHRlcmluZy5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJPYmpDL0N1c3RvbVByb3RvY29sc0ludmFsaWRTY2hlbWUubW06CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNUZXN0
Lm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvUHJldmVudElt
YWdlTG9hZFdpdGhBdXRvUmVzaXppbmcubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyT2JqQy9Vc2VyQ29udGVudFRlc3QubW06CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwVGVzdC5tbToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1dLQnJvd3NpbmdDb250ZXh0TG9h
ZERlbGVnYXRlVGVzdC5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL21hYy9UZXN0QnJvd3Np
bmdDb250ZXh0TG9hZERlbGVnYXRlLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvVGVz
dEJyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgTWFyayB0ZXN0cyB0aGF0
IHVzZSBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgYXMgTWFjLW9ubHkuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9tYWlu
SU9TLm1tOgorICAgICAgICAoLVtXZWJLaXRUZXN0UnVubmVyQXBwIGFwcGxpY2F0aW9uRGlkRW50
ZXJCYWNrZ3JvdW5kOl0pOgorICAgICAgICBJbXBvcnQgVUlLaXQgaW5zdGVhZCBvZiBkZXBlbmRp
bmcgb24gV0tWaWV3LmggdG8gZG8gc28uCisKIDIwMTUtMDgtMjQgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxODg4NTEpOiBXZWJLaXQyLkJ1
bmRsZVBhcmFtZXRlcnMgZmFpbHMgb24gaU9TCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL0N1c3RvbVByb3RvY29sc1N5bmNYSFJUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9DdXN0b21Qcm90b2NvbHNTeW5jWEhSVGVzdC5tbQppbmRleCA4YzZmZWU0NTY3
MDIxOGU2YmE2ZmE1ZjYyZDRhODIxMGFlM2U2Y2FkLi41MDAzNDU3MjVmNDA2YTNiNThmYmUyNjAz
MWEwMTg2ODg3MWUzOTRhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL0N1
c3RvbVByb3RvY29sc1N5bmNYSFJUZXN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvQ3VzdG9tUHJvdG9jb2xzU3luY1hIUlRlc3QubW0KQEAgLTQwLDcgKzQwLDcgQEAKICNpbXBv
cnQgPFdlYktpdC9XS1ZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAK
LSNpZiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykK
IAogc3RhdGljIGJvb2wgdGVzdEZpbmlzaGVkID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvbnRlbnRGaWx0ZXJpbmcubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Db250ZW50RmlsdGVyaW5nLm1t
CmluZGV4IGFkZDZhMWNkODdjZDdjN2VhNDIwZmQzNzY2ZmFhODEzZmZhMzUxZGMuLmU2NjEyMzA0
MzU4MTNkZGM5YmU0ZWViODU1OTY0YTcyN2RmOTc5YmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0NvbnRlbnRGaWx0ZXJpbmcubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQ29udGVudEZpbHRlcmluZy5tbQpA
QCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIFdLX0FQSV9FTkFC
TEVECisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZPUk0oTUFDKQogCiAjaW1wb3J0ICJQbGF0
Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiVGVzdFByb3RvY29sLmgiCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL0N1c3RvbVByb3RvY29sc0ludmFs
aWRTY2hlbWUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL0N1c3Rv
bVByb3RvY29sc0ludmFsaWRTY2hlbWUubW0KaW5kZXggMjNlYzEwYWIzZDEyNWU2NDZhYmQxYTA0
OTI0YmZkZDAwYWQ1YjliZS4uOWZiN2Y1NWYwMGY3OTlhNWFjOWYxYTU3NjkwNWRiMzZhZTEzYzdk
YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0
b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1lLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mk9iakMvQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZS5tbQpAQCAtMzMsNyAr
MzMsNyBAQAogI2ltcG9ydCA8V2ViS2l0L1dlYktpdDIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotI2lmIFdLX0FQSV9FTkFCTEVECisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZP
Uk0oTUFDKQogCiBzdGF0aWMgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNU
ZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90
b2NvbHNUZXN0Lm1tCmluZGV4IDQ2MzJiODZhYjJkZTk1Mzk2OGQyNjc0YTY4ZTRkNGVkZGMwNmEy
NzcuLjc3MGJiZTI1NzM2ODQwYmI2YmQ3NWRiNWNmZmQ2NDQxZGJkZmMyMGUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvQ3VzdG9tUHJvdG9jb2xzVGVz
dC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL0N1c3RvbVBy
b3RvY29sc1Rlc3QubW0KQEAgLTM1LDcgKzM1LDcgQEAKICNpbXBvcnQgPFdlYktpdC9XZWJLaXQy
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLSNpZiBXS19BUElfRU5BQkxFRAorI2lm
IFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykKIAogc3RhdGljIGJvb2wgdGVzdEZpbmlz
aGVkID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mk9iakMvUHJldmVudEltYWdlTG9hZFdpdGhBdXRvUmVzaXppbmcubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1ByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jlc2l6
aW5nLm1tCmluZGV4IDBlZTQ3NDdjZTIzN2E2YmY2Yjk3OTkwYWZhYjM0OGVlYjNhNzNmMjAuLmIy
MDI0NWNlNTY3YmE3YTFjNzRkOWUyY2Q2ZDlmNDQ0YzI3OGUzOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvUHJldmVudEltYWdlTG9hZFdpdGhBdXRv
UmVzaXppbmcubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9Q
cmV2ZW50SW1hZ2VMb2FkV2l0aEF1dG9SZXNpemluZy5tbQpAQCAtMzYsNyArMzYsNyBAQAogI2lt
cG9ydCA8V2ViS2l0L1dlYktpdDIuaD4KICNpbXBvcnQgPFdlYktpdC9XS1ZpZXdQcml2YXRlLmg+
CiAKLSNpZiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1B
QykKIAogc3RhdGljIGJvb2wgdGVzdEZpbmlzaGVkID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvVXNlckNvbnRlbnRUZXN0Lm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9Vc2VyQ29udGVudFRlc3QubW0K
aW5kZXggMjQ2MjM2ODg0NjIxNjUyZjRmYWVlNzMxZjdkMmRjYmI4MGYwNjI3Ny4uOTRmYTMxZGZi
ZGFkMTU3MzA3MGEyNjUxMGU5MDJkZGY4YjRkNzdjZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9Vc2VyQ29udGVudFRlc3QubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9Vc2VyQ29udGVudFRlc3QubW0KQEAgLTM3
LDcgKzM3LDcgQEAKICNpbXBvcnQgPFdlYktpdC9XS1ZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV2ViS2l0Mi5oPgogCi0jaWYgV0tfQVBJX0VOQUJMRUQKKyNpZiBXS19BUElfRU5BQkxF
RCAmJiBQTEFURk9STShNQUMpCiAKIHN0YXRpYyBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwog
c3RhdGljIE5TU3RyaW5nICpodG1sU3RyaW5nID0gQCI8Ym9keSBzdHlsZT0nYmFja2dyb3VuZC1j
b2xvcjogcmVkJz4iOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwVGVzdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93c2luZ0NvbnRleHRHcm91cFRlc3QubW0KaW5kZXgg
MmVjZmYxNjkzMWQ3OTFkZjEwNjhlMzFhYjk0YjNmYjk5ZGExNzFmMy4uNmE2MmUyYjQ4YTQ1ODQx
MzBhMGI1YTZkYmYwNDZmY2YyNjI4NDlkMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwVGVzdC5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1dLQnJvd3NpbmdDb250ZXh0R3Jv
dXBUZXN0Lm1tCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbXBvcnQgPFdlYktpdC9XS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLmg+CiAKLSNpZiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9FTkFCTEVE
ICYmIFBMQVRGT1JNKE1BQykKIAogVEVTVChXS0Jyb3dzaW5nQ29udGV4dEdyb3VwVGVzdCwgR2V0
U2V0SmF2YVNjcmlwdEVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJPYmpDL1dLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlVGVzdC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93c2luZ0NvbnRleHRM
b2FkRGVsZWdhdGVUZXN0Lm1tCmluZGV4IDM4ZjQ1ZDkyZGIwMGQyNWZlNGI5ZmI1NmVmOWI1YTJk
Y2Y3YzJhOTAuLmZiY2U0OGZlOTQ5ZGRkMDY3M2NhMzM4ZWZlOGM1NjNhNmJkMzQ1ODMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93c2luZ0Nv
bnRleHRMb2FkRGVsZWdhdGVUZXN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mk9iakMvV0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVUZXN0Lm1tCkBAIC0zNSw3
ICszNSw3IEBACiAKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAKLSNpZiBXS19BUElf
RU5BQkxFRAorI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykKIAogbmFtZXNwYWNl
IHsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdEJyb3dzaW5nQ29u
dGV4dExvYWREZWxlZ2F0ZS5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdEJyb3dzaW5n
Q29udGV4dExvYWREZWxlZ2F0ZS5oCmluZGV4IDU5ZmZlNDIzMTBiMjkzZmIzNGExM2EzY2U1NmMz
ZGNiNjg1Zjg2YTEuLjlkZmUwNTI1YjdkOWRkOGY5MTA5MzBiYTg0MTZhZWZmNjcxMzBiOTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RCcm93c2luZ0NvbnRleHRMb2Fk
RGVsZWdhdGUuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0QnJvd3NpbmdDb250
ZXh0TG9hZERlbGVnYXRlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCA8V2ViS2l0L1dl
YktpdDIuaD4KIAotI2lmIFdLX0FQSV9FTkFCTEVECisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExB
VEZPUk0oTUFDKQogCiB0eXBlZGVmIHZvaWQgKF5PbkxvYWRCbG9jaykoV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyICopOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9U
ZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9t
YWMvVGVzdEJyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5tbQppbmRleCA1OTUyNGQxMmE4OGZj
ZjFhZTJiYmRmMGFiYzYyYTNkNTI4NWIzNmZlLi5mMzUyNTNkY2Y5MzIyY2I4ZjQyNzMwOWY4MTZm
N2I5ZDYyM2UxMTdkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0QnJv
d3NpbmdDb250ZXh0TG9hZERlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L1Rlc3RCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGUubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUZXN0QnJvd3NpbmdDb250ZXh0TG9hZERlbGVn
YXRlLmgiCiAKLSNpZiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRG
T1JNKE1BQykKIAogQGltcGxlbWVudGF0aW9uIFRlc3RCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdh
dGUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9p
b3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQppbmRleCBh
ZDA2ZjA4MjYzMzdlNjVhODdhNmE1ZTYwMzgxYTJiNzI0ZGYwNDM1Li5kNGM5ZjQ1ZTFlYzg0MzI5
ZjJhNzMyNTA2YjMyN2VlMzlkYzU0MTQxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcklPUy5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvSlNSZXRhaW5QdHIuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5nUmVmLmg+
CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZkNGLmg+CisjaW1wb3J0IDxVSUtp
dC9VSUFjY2Vzc2liaWxpdHkuaD4KICNpbXBvcnQgPFdlYktpdC9XS0J1bmRsZS5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLQnVuZGxlUGFnZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLQnVuZGxlUGFnZVBy
aXZhdGUuaD4KQEAgLTQ5LDggKzUwLDggQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWMKICAgICBp
ZiAobV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyID0gW1tBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uSGFuZGxlciBhbGxvY10gaW5pdF07Ci0gICAgW21fZ2xvYmFsTm90aWZpY2F0aW9uSGFuZGxl
ci5nZXQoKSBzZXRDYWxsYmFjazpmdW5jdGlvbkNhbGxiYWNrXTsKLSAgICBbbV9nbG9iYWxOb3Rp
ZmljYXRpb25IYW5kbGVyLmdldCgpIHN0YXJ0T2JzZXJ2aW5nXTsKKyAgICBbbV9nbG9iYWxOb3Rp
ZmljYXRpb25IYW5kbGVyIHNldENhbGxiYWNrOmZ1bmN0aW9uQ2FsbGJhY2tdOworICAgIFttX2ds
b2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIgc3RhcnRPYnNlcnZpbmddOwogICAgIAogICAgIHJldHVy
biB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklP
Uy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0KaW5kZXggN2YwY2Vl
YWY0ZDhiMDVhYTBhOWM5YjE1MTA1YmQ4ZWQ0ZDA3MmZlYS4uNzExY2Q0MjkyOGE4NWJjYWYxZjAy
MWNkZjQzMjMwN2I2MmY5ZWIwNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvbWFpbklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1t
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKIAogI2ltcG9ydCAiVGVzdENv
bnRyb2xsZXIuaCIKLQorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KIAogc3RhdGljIGludCBfYXJn
YzsKIHN0YXRpYyBjb25zdCBjaGFyICoqX2FyZ3Y7CkBAIC01OCw3ICs1OCw2IEBAIHN0YXRpYyBj
b25zdCBjaGFyICoqX2FyZ3Y7CiAgICAgfTsKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIF57
Ci0KICAgICAgICAgTlNUaW1lSW50ZXJ2YWwgdGltZVJlbWFpbmluZzsKICAgICAgICAgd2hpbGUg
KHRydWUpIHsKICAgICAgICAgICAgIHRpbWVSZW1haW5pbmcgPSBbYXBwbGljYXRpb24gYmFja2dy
b3VuZFRpbWVSZW1haW5pbmddOwo=
</data>
<flag name="review"
          id="284984"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>