<?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>193829</bug_id>
          
          <creation_ts>2019-01-25 10:34:00 -0800</creation_ts>
          <short_desc>[iOS] Rename some WebKit-internal functions and variables that reference &quot;data interaction&quot;</short_desc>
          <delta_ts>2019-01-25 11:45:15 -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>HTML Editing</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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498297</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-25 10:34:00 -0800</bug_when>
    <thetext>Regrettably, parts of our API (technically, SPI) surface still contain &quot;dataInteraction&quot; in the name. However, we should at least rename all methods internal to WebKit to not use this obfuscated terminology.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498300</commentid>
    <comment_count>1</comment_count>
      <attachid>360122</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-25 10:42:34 -0800</bug_when>
    <thetext>Created attachment 360122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498329</commentid>
    <comment_count>2</comment_count>
      <attachid>360122</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-01-25 11:03:57 -0800</bug_when>
    <thetext>Comment on attachment 360122
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498363</commentid>
    <comment_count>3</comment_count>
      <attachid>360122</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-25 11:45:14 -0800</bug_when>
    <thetext>Comment on attachment 360122
Patch

Clearing flags on attachment: 360122

Committed r240491: &lt;https://trac.webkit.org/changeset/240491&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498364</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-25 11:45:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360122</attachid>
            <date>2019-01-25 10:42:34 -0800</date>
            <delta_ts>2019-01-25 11:45:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193829-20190125104233.patch</filename>
            <type>text/plain</type>
            <size>32076</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFlYmNmNDkxZGU3NWIy
ZGM3ZTQxZjAxNjE4ZjZiZGVkZjY2NzgzYi4uMTM3NDViMDE1NmFlMWQwODFlMTYzYTc4ZjcwOTdi
ZmFmNzQ0ODA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFJlbmFt
ZSBzb21lIFdlYktpdC1pbnRlcm5hbCBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyB0aGF0IHJlZmVy
ZW5jZSAiZGF0YSBpbnRlcmFjdGlvbiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MzgyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcGFnZS9pb3MvRXZlbnRIYW5kbGVySU9TLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp0cnlUb0JlZ2luRHJhZ0F0UG9pbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp0cnlUb0JlZ2luRGF0YUludGVyYWN0aW9u
QXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkl0ZW1Qcm92aWRl
clBhc3RlYm9hcmQubW06CisgICAgICAgIChsaW5rVGVtcG9yYXJ5SXRlbVByb3ZpZGVyRmlsZXNU
b0Ryb3BTdGFnaW5nRGlyZWN0b3J5KToKKwogMjAxOS0wMS0yNSAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBOZWVkIGEgd2F5IGZvciBKYXZhU2NyaXB0
IChvciBidW5kbGUpIGNvZGUgdG8gcGFydGljaXBhdGUgaW4gdW5kbwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MDg1
NTFiMTAzOGZjYjc2NmE0NTc5YTA4MTkzNzRiNTRjZjhiZWUyLi5kNTM2MzczY2ZmZjA2YjNjZTYy
NTY1MmZlNTVjZGYwNmQ0YTI3YmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE5LTAx
LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtp
T1NdIFJlbmFtZSBzb21lIFdlYktpdC1pbnRlcm5hbCBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyB0
aGF0IHJlZmVyZW5jZSAiZGF0YSBpbnRlcmFjdGlvbiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldERyYWdDYXJldFJlY3Qp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRIYW5kbGVEcmFnU3RhcnRSZXF1ZXN0KToKKyAgICAgICAg
KFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZENvbmNsdWRlRWRpdERyYWcpOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlRHJhZ0NhcmV0UmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJl
cXVlc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ29u
Y2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UGFn
ZUNsaWVudEltcGw6OmRpZENoYW5nZURhdGFJbnRlcmFjdGlvbkNhcmV0UmVjdCk6IERlbGV0ZWQu
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBzZXR1cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgY2xlYW51cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
c2V0dXBEcmFnQW5kRHJvcEludGVyYWN0aW9uc10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IHRlYXJkb3duRHJhZ0FuZERyb3BJbnRlcmFjdGlvbnNdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfZGlkSGFuZGxlRHJhZ1N0YXJ0UmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfZGlkQ29uY2x1ZGVFZGl0RHJhZzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
ZGlkQ2hhbmdlRHJhZ0NhcmV0UmVjdDpjdXJyZW50UmVjdDpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfZHJhZ0ludGVyYWN0aW9uOnByZXBhcmVGb3JTZXNzaW9uOmNvbXBsZXRpb246XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2V0dXBEYXRhSW50ZXJhY3Rpb25EZWxlZ2F0ZXNd
KTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0ZWFyZG93bkRhdGFJbnRlcmFj
dGlvbkRlbGVnYXRlc10pOiBEZWxldGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRI
YW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3Q6XSk6IERlbGV0ZWQuCisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjpdKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkQ2hhbmdlRGF0YUludGVyYWN0aW9uQ2Fy
ZXRSZWN0OmN1cnJlbnRSZWN0Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEhh
bmRsZURyYWdTdGFydFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJl
cXVlc3REcmFnU3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbmNs
dWRlRWRpdERyYWcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEhhbmRsZVN0
YXJ0RGF0YUludGVyYWN0aW9uUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6cmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24p
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRy
YWdDbGllbnRNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkRyYWdDbGllbnQ6OmRpZENvbmNs
dWRlRWRpdERyYWcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpyZXF1ZXN0RHJhZ1N0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
cmVxdWVzdEFkZGl0aW9uYWxJdGVtc0ZvckRyYWdTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6ZGlkQ29uY2x1ZGVFZGl0RHJhZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbik6IERlbGV0ZWQuCisKIDIw
MTktMDEtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgTmVlZCBhIHdheSBmb3IgSmF2YVNjcmlwdCAob3IgYnVuZGxlKSBjb2RlIHRvIHBhcnRpY2lw
YXRlIGluIHVuZG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCAyNDczOTFlZDUxYTJk
ZDgyOWFmNWE0ZDg1YWY3OWMzNjMyNjBjOTMzLi41ZjgxZjY2MjlhOTFkMWM0YzZjYmQwZDcyYTM4
NWNjMzU1MDdjMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTktMDEtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gUmVuYW1lIHNvbWUgV2ViS2l0LWludGVybmFsIGZ1bmN0aW9ucyBhbmQg
dmFyaWFibGVzIHRoYXQgcmVmZXJlbmNlICJkYXRhIGludGVyYWN0aW9uIgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODI5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJE
cmFnQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVFZGl0RHJh
Zyk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9y
ZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb246Z2xvYmFsUG9zaXRpb246XSk6CisgICAgICAgICgt
W1dlYlZpZXcgX2RpZENvbmNsdWRlRWRpdERyYWddKToKKyAgICAgICAgKC1bV2ViVmlldyBfZGlk
Q29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uXSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmll
dy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAxOS0wMS0yNCAgSm9obiBXaWxhbmRlciAgPHdpbGFu
ZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgQWQgQ2xpY2sgQXR0cmlidXRpb24gYXMgYW4g
aW50ZXJuYWwvZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CmluZGV4IDU2MzQ5NjEyMmRlMWViNWQwYmYxZGM4ZTZmODllYTkyNmNiMjY3ZTcuLmNlNmVhMzI2
NzRhMTNmY2Y3Yzk3ZmJkNGE0YWZmZTY5ODcyOGE3MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaApAQCAtMzI5LDggKzMyOSw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBXaWRnZXQq
IHdpZGdldEZvckV2ZW50VGFyZ2V0KEVsZW1lbnQqIGV2ZW50VGFyZ2V0KTsKIAotI2lmIEVOQUJM
RShEQVRBX0lOVEVSQUNUSU9OKQotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgdHJ5VG9CZWdpbkRh
dGFJbnRlcmFjdGlvbkF0UG9pbnQoY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25z
dCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pOworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCB0cnlUb0JlZ2lu
RHJhZ0F0UG9pbnQoY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24pOwogI2VuZGlmCiAgICAgCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0V2ZW50SGFuZGxlcklPUy5tbQppbmRleCAwOTkw
NzZkZTQ1ZGE3NzY2OTdhNDU4NGI5Nzg0ODA1M2I0YjJiNWZjLi5jOTJhZGVkMWFjZTNmMzE2YWZh
NDJhZWVkNTJjYTVkYTU3NjFhMDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9FdmVudEhhbmRsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvRXZlbnRI
YW5kbGVySU9TLm1tCkBAIC02NTAsNyArNjUwLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50
TG9vcEhhbmRsZU1vdXNlRHJhZ2dlZChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHQK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgRXZlbnRIYW5kbGVyOjp0cnlUb0JlZ2luRGF0
YUludGVyYWN0aW9uQXRQb2ludChjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JikKK2Jvb2wgRXZlbnRIYW5kbGVyOjp0cnlUb0JlZ2luRHJhZ0F0UG9pbnQoY29u
c3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYpCiB7CiAgICAgUmVm
PEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKIApAQCAtNjczLDcgKzY3Myw3IEBAIGJv
b2wgRXZlbnRIYW5kbGVyOjp0cnlUb0JlZ2luRGF0YUludGVyYWN0aW9uQXRQb2ludChjb25zdCBJ
bnRQb2ludCYgY2xpZW50UG9zaXRpCiAgICAgYXV0byBoaXRUZXN0ZWRNb3VzZUV2ZW50ID0gZG9j
dW1lbnQtPnByZXBhcmVNb3VzZUV2ZW50KHJlcXVlc3QsIGRvY3VtZW50UG9pbnQsIHN5bnRoZXRp
Y01vdXNlTW92ZUV2ZW50KTsKIAogICAgIFJlZlB0cjxGcmFtZT4gc3ViZnJhbWUgPSBzdWJmcmFt
ZUZvckhpdFRlc3RSZXN1bHQoaGl0VGVzdGVkTW91c2VFdmVudCk7Ci0gICAgaWYgKHN1YmZyYW1l
ICYmIHN1YmZyYW1lLT5ldmVudEhhbmRsZXIoKS50cnlUb0JlZ2luRGF0YUludGVyYWN0aW9uQXRQ
b2ludChhZGp1c3RlZENsaWVudFBvc2l0aW9uLCBhZGp1c3RlZEdsb2JhbFBvc2l0aW9uKSkKKyAg
ICBpZiAoc3ViZnJhbWUgJiYgc3ViZnJhbWUtPmV2ZW50SGFuZGxlcigpLnRyeVRvQmVnaW5EcmFn
QXRQb2ludChhZGp1c3RlZENsaWVudFBvc2l0aW9uLCBhZGp1c3RlZEdsb2JhbFBvc2l0aW9uKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoIWV2ZW50TWF5U3RhcnREcmFnKHN5bnRo
ZXRpY01vdXNlUHJlc3NFdmVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tCmluZGV4IDM1NDVkN2VmY2FjODY3
NjQ4ZjQ5YTQ3NGU4YTAyMGI1MWM4OGQ0ZGEuLjgxNmEzMGYxNWZhNTY0NDVhNmMxMzM3NzdiNjYz
NmViNDZiMjAzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJJ
dGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLm1tCkBAIC02OTAsMTIgKzY5MCwxMiBAQCBzdGF0
aWMgTlNVUkwgKmxpbmtUZW1wb3JhcnlJdGVtUHJvdmlkZXJGaWxlc1RvRHJvcFN0YWdpbmdEaXJl
Y3RvcnkoTlNVUkwgKnVybCwgTgogewogICAgIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdERyb3BG
b2xkZXJOYW1lID0gQCJmb2xkZXIiOwogICAgIHN0YXRpYyBOU1N0cmluZyAqZGVmYXVsdERyb3BG
aWxlTmFtZSA9IEAiZmlsZSI7Ci0gICAgc3RhdGljIE5TU3RyaW5nICpkYXRhSW50ZXJhY3Rpb25E
aXJlY3RvcnlQcmVmaXggPSBAImRhdGEtaW50ZXJhY3Rpb24iOworICAgIHN0YXRpYyBOU1N0cmlu
ZyAqZHJvcHBlZERhdGFEaXJlY3RvcnlQcmVmaXggPSBAImRyb3BwZWQtZGF0YSI7CiAgICAgaWYg
KCF1cmwpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBOU1N0cmluZyAqdGVtcG9yYXJ5RGF0
YUludGVyYWN0aW9uRGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0
b3J5KGRhdGFJbnRlcmFjdGlvbkRpcmVjdG9yeVByZWZpeCk7Ci0gICAgaWYgKCF0ZW1wb3JhcnlE
YXRhSW50ZXJhY3Rpb25EaXJlY3RvcnkpCisgICAgTlNTdHJpbmcgKnRlbXBvcmFyeURyb3BEYXRh
RGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5KGRyb3BwZWRE
YXRhRGlyZWN0b3J5UHJlZml4KTsKKyAgICBpZiAoIXRlbXBvcmFyeURyb3BEYXRhRGlyZWN0b3J5
KQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgTlNVUkwgKmRlc3RpbmF0aW9uID0gbmlsOwpA
QCAtNzA4LDcgKzcwOCw3IEBAIHN0YXRpYyBOU1VSTCAqbGlua1RlbXBvcmFyeUl0ZW1Qcm92aWRl
ckZpbGVzVG9Ecm9wU3RhZ2luZ0RpcmVjdG9yeShOU1VSTCAqdXJsLCBOCiAgICAgaWYgKCFbc3Vn
Z2VzdGVkTmFtZSBjb250YWluc1N0cmluZzpAIi4iXSAmJiAhaXNGb2xkZXIpCiAgICAgICAgIHN1
Z2dlc3RlZE5hbWUgPSBbc3VnZ2VzdGVkTmFtZSBzdHJpbmdCeUFwcGVuZGluZ1BhdGhFeHRlbnNp
b246dXJsLnBhdGhFeHRlbnNpb25dOwogCi0gICAgZGVzdGluYXRpb24gPSBbTlNVUkwgZmlsZVVS
TFdpdGhQYXRoOlt0ZW1wb3JhcnlEYXRhSW50ZXJhY3Rpb25EaXJlY3Rvcnkgc3RyaW5nQnlBcHBl
bmRpbmdQYXRoQ29tcG9uZW50OnN1Z2dlc3RlZE5hbWVdXTsKKyAgICBkZXN0aW5hdGlvbiA9IFtO
U1VSTCBmaWxlVVJMV2l0aFBhdGg6W3RlbXBvcmFyeURyb3BEYXRhRGlyZWN0b3J5IHN0cmluZ0J5
QXBwZW5kaW5nUGF0aENvbXBvbmVudDpzdWdnZXN0ZWROYW1lXV07CiAgICAgcmV0dXJuIFtmaWxl
TWFuYWdlciBsaW5rSXRlbUF0VVJMOnVybCB0b1VSTDpkZXN0aW5hdGlvbiBlcnJvcjpuaWxdID8g
ZGVzdGluYXRpb24gOiBuaWw7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggMzU0ZjVhZjNhMTJjMTcyNTAyYzVmYTA0
YjA5YmI2OGE1YmU3MmMyNC4uMjAxMGY2NWY5MDk4NTUwZDczODBmOTgyNGY4M2U3NjdmNmZlNzBi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0RHJhZ0Nh
cmV0UmVjdChjb25zdCBJbnRSZWN0JiBkcmFnQ2FyZXRSZWN0KQogCiAgICAgYXV0byBwcmV2aW91
c1JlY3QgPSBtX2N1cnJlbnREcmFnQ2FyZXRSZWN0OwogICAgIG1fY3VycmVudERyYWdDYXJldFJl
Y3QgPSBkcmFnQ2FyZXRSZWN0OwotICAgIHBhZ2VDbGllbnQoKS5kaWRDaGFuZ2VEYXRhSW50ZXJh
Y3Rpb25DYXJldFJlY3QocHJldmlvdXNSZWN0LCBkcmFnQ2FyZXRSZWN0KTsKKyAgICBwYWdlQ2xp
ZW50KCkuZGlkQ2hhbmdlRHJhZ0NhcmV0UmVjdChwcmV2aW91c1JlY3QsIGRyYWdDYXJldFJlY3Qp
OwogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaAppbmRleCAwNzk1Y2Q4ZGFmNGE5MDNkNmUwYzAyYjEzODk3YTU4NzY2YjZj
NmNhLi5iZTJjZjdhZDM2YWQ2ODFhYjU0NTMxMmUxMWZlYWNhYTg5NjMxODRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00NTYsMTAgKzQ1NiwxMCBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQotICAgIHZpcnR1YWwgdm9pZCBk
aWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZURyYWdTdGFydFJlcXVlc3QoYm9vbCBzdGFydGVkKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZUFkZGl0aW9uYWxEcmFnSXRlbXNSZXF1ZXN0
KGJvb2wgYWRkZWQpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29uY2x1ZGVFZGl0RGF0YUlu
dGVyYWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPikgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VEYXRhSW50ZXJhY3Rpb25DYXJldFJlY3QoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgcHJldmlvdXNDYXJldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGNhcmV0UmVjdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb25jbHVkZUVkaXREcmFnKE9w
dGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VEcmFnQ2FyZXRSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHByZXZpb3Vz
Q2FyZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjYXJldFJlY3QpID0gMDsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggYWQ3ZDdkYzkyODJlMzU3ZjMwZWYyNGUyODlhMTEzZGE2MzIw
MWQ5Mi4uNjFhNjg2ODk4ZWYwMmU5NmJkNDFkMTU2Zjc0NWIyZDNlOGMyZjJmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY3OSwxMSArNjc5LDExIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGNhbmNlbEF1dG9zY3JvbGwoKTsKICAgICB2b2lkIGhhcmR3YXJlS2V5Ym9h
cmRBdmFpbGFiaWxpdHlDaGFuZ2VkKCk7CiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0g
ICAgdm9pZCBkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVk
KTsKKyAgICB2b2lkIGRpZEhhbmRsZURyYWdTdGFydFJlcXVlc3QoYm9vbCBzdGFydGVkKTsKICAg
ICB2b2lkIGRpZEhhbmRsZUFkZGl0aW9uYWxEcmFnSXRlbXNSZXF1ZXN0KGJvb2wgYWRkZWQpOwot
ICAgIHZvaWQgcmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uKTsKKyAgICB2b2lkIHJlcXVlc3REcmFnU3RhcnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGNsaWVudFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24p
OwogICAgIHZvaWQgcmVxdWVzdEFkZGl0aW9uYWxJdGVtc0ZvckRyYWdTZXNzaW9uKGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uKTsKLSAgICB2b2lkIGRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlv
bihPcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pOworICAgIHZvaWQgZGlkQ29u
Y2x1ZGVFZGl0RHJhZyhPcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pOwogI2Vu
ZGlmCiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNmMzNWNiNDExMjM2
YTEzOGE1YzYwNzE3MDdmM2M0MDE2NTA1MGI1ZS4uYTg2NDI3OGVlZjZiZWI1YWZkYjU5YjZhNDk1
YTg0MmUxNGRhYmE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMzI3LDkgKzMyNyw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQotICAgIERpZEhh
bmRsZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVxdWVzdChib29sIHN0YXJ0ZWQpCisgICAgRGlkSGFu
ZGxlRHJhZ1N0YXJ0UmVxdWVzdChib29sIHN0YXJ0ZWQpCiAgICAgRGlkSGFuZGxlQWRkaXRpb25h
bERyYWdJdGVtc1JlcXVlc3QoYm9vbCBhZGRlZCkKLSAgICBEaWRDb25jbHVkZUVkaXREYXRhSW50
ZXJhY3Rpb24oT3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+IHRleHRJbmRpY2F0
b3IpCisgICAgRGlkQ29uY2x1ZGVFZGl0RHJhZyhPcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNh
dG9yRGF0YT4gdGV4dEluZGljYXRvcikKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4
IDY4ZTU0ZGJmNTM0YTgwZmY2OTNkODk3YjcxZmFkYmYxMzE1NjA1ZDQuLjljZTU0YjdiYTU0ODU0
NmE5MDg0MDg1YzIxYzNlYTY3ODgyNzI2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMjIsMTEgKzIyMiwxMSBAQCBwcml2YXRl
OgogCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAgICAgdm9pZCBkaWRQZXJmb3JtRHJh
Z09wZXJhdGlvbihib29sIGhhbmRsZWQpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkSGFuZGxlU3Rh
cnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0KGJvb2wgc3RhcnRlZCkgb3ZlcnJpZGU7CisgICAgdm9p
ZCBkaWRIYW5kbGVEcmFnU3RhcnRSZXF1ZXN0KGJvb2wgc3RhcnRlZCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBkaWRIYW5kbGVBZGRpdGlvbmFsRHJhZ0l0ZW1zUmVxdWVzdChib29sIGFkZGVkKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3JlOjpEcmFnSXRlbSYsIGNvbnN0
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRD
b25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oT3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRv
ckRhdGE+KSBvdmVycmlkZTsKLSAgICB2b2lkIGRpZENoYW5nZURhdGFJbnRlcmFjdGlvbkNhcmV0
UmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBwcmV2aW91c0NhcmV0UmVjdCwgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgY2FyZXRSZWN0KSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENvbmNsdWRl
RWRpdERyYWcoT3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+KSBvdmVycmlkZTsK
KyAgICB2b2lkIGRpZENoYW5nZURyYWdDYXJldFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
cHJldmlvdXNDYXJldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNhcmV0UmVjdCkgb3Zl
cnJpZGU7CiAjZW5kaWYKIAogICAgIHZvaWQgZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdN
b3VzZUV2ZW50cygpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGYyMzA0YWM3MjkzZjBkODI1ZDU1ODM0MjlhZGUx
YzA1ZmEzNzAzZTEuLmUwNWRhNzM1NDNiN2FiMTE1Y2RmNWRiOGU0YzBmNGMwOTM4YmM2NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
QEAgLTc4OCw5ICs3ODgsOSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRHJhZ09w
ZXJhdGlvbihib29sIGhhbmRsZWQpCiAgICAgW21fY29udGVudFZpZXcgX2RpZFBlcmZvcm1EcmFn
T3BlcmF0aW9uOmhhbmRsZWRdOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRIYW5kbGVT
dGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKQordm9pZCBQYWdlQ2xpZW50
SW1wbDo6ZGlkSGFuZGxlRHJhZ1N0YXJ0UmVxdWVzdChib29sIHN0YXJ0ZWQpCiB7Ci0gICAgW21f
Y29udGVudFZpZXcgX2RpZEhhbmRsZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVxdWVzdDpzdGFydGVk
XTsKKyAgICBbbV9jb250ZW50VmlldyBfZGlkSGFuZGxlRHJhZ1N0YXJ0UmVxdWVzdDpzdGFydGVk
XTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkSGFuZGxlQWRkaXRpb25hbERyYWdJdGVt
c1JlcXVlc3QoYm9vbCBhZGRlZCkKQEAgLTgwMywxNCArODAzLDE0IEBAIHZvaWQgUGFnZUNsaWVu
dEltcGw6OnN0YXJ0RHJhZyhjb25zdCBEcmFnSXRlbSYgaXRlbSwgY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kCiAgICAgW21fY29udGVudFZpZXcgX3N0YXJ0RHJhZzpTaGFyZWFibGVCaXRtYXA6
OmNyZWF0ZShpbWFnZSktPm1ha2VDR0ltYWdlQ29weSgpIGl0ZW06aXRlbV07CiB9CiAKLXZvaWQg
UGFnZUNsaWVudEltcGw6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihPcHRpb25hbDxU
ZXh0SW5kaWNhdG9yRGF0YT4gZGF0YSkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENvbmNsdWRl
RWRpdERyYWcoT3B0aW9uYWw8VGV4dEluZGljYXRvckRhdGE+IGRhdGEpCiB7Ci0gICAgW21fY29u
dGVudFZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjpkYXRhXTsKKyAgICBbbV9j
b250ZW50VmlldyBfZGlkQ29uY2x1ZGVFZGl0RHJhZzpkYXRhXTsKIH0KIAotdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZGlkQ2hhbmdlRGF0YUludGVyYWN0aW9uQ2FyZXRSZWN0KGNvbnN0IEludFJlY3Qm
IHByZXZpb3VzQ2FyZXRSZWN0LCBjb25zdCBJbnRSZWN0JiBjYXJldFJlY3QpCit2b2lkIFBhZ2VD
bGllbnRJbXBsOjpkaWRDaGFuZ2VEcmFnQ2FyZXRSZWN0KGNvbnN0IEludFJlY3QmIHByZXZpb3Vz
Q2FyZXRSZWN0LCBjb25zdCBJbnRSZWN0JiBjYXJldFJlY3QpCiB7Ci0gICAgW21fY29udGVudFZp
ZXcgX2RpZENoYW5nZURhdGFJbnRlcmFjdGlvbkNhcmV0UmVjdDpwcmV2aW91c0NhcmV0UmVjdCBj
dXJyZW50UmVjdDpjYXJldFJlY3RdOworICAgIFttX2NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VEcmFn
Q2FyZXRSZWN0OnByZXZpb3VzQ2FyZXRSZWN0IGN1cnJlbnRSZWN0OmNhcmV0UmVjdF07CiB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IGQ1MDhhM2U0YmE3Y2Q3YWM4MjE4NmU2OWE2YzI3NWE1
YTBjODQzN2UuLjVlYTc3NzZlNWFlODA3ZGRlMDg1ZjI4YTJmMjk3MTM3MGIwMDdlZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKQEAgLTQyOSwxMSArNDI5LDExIEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5U
VklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAj
aWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAtICh2b2lkKV9kaWRDaGFuZ2VEcmFnSW50ZXJh
Y3Rpb25Qb2xpY3k7CiAtICh2b2lkKV9kaWRQZXJmb3JtRHJhZ09wZXJhdGlvbjooQk9PTCloYW5k
bGVkOwotLSAodm9pZClfZGlkSGFuZGxlU3RhcnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0OihCT09M
KXN0YXJ0ZWQ7CistICh2b2lkKV9kaWRIYW5kbGVEcmFnU3RhcnRSZXF1ZXN0OihCT09MKXN0YXJ0
ZWQ7CiAtICh2b2lkKV9kaWRIYW5kbGVBZGRpdGlvbmFsRHJhZ0l0ZW1zUmVxdWVzdDooQk9PTClh
ZGRlZDsKIC0gKHZvaWQpX3N0YXJ0RHJhZzooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdlIGl0
ZW06KGNvbnN0IFdlYkNvcmU6OkRyYWdJdGVtJilpdGVtOwotLSAodm9pZClfZGlkQ29uY2x1ZGVF
ZGl0RGF0YUludGVyYWN0aW9uOihPcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4p
ZGF0YTsKLS0gKHZvaWQpX2RpZENoYW5nZURhdGFJbnRlcmFjdGlvbkNhcmV0UmVjdDooQ0dSZWN0
KXByZXZpb3VzUmVjdCBjdXJyZW50UmVjdDooQ0dSZWN0KXJlY3Q7CistICh2b2lkKV9kaWRDb25j
bHVkZUVkaXREcmFnOihPcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pZGF0YTsK
Ky0gKHZvaWQpX2RpZENoYW5nZURyYWdDYXJldFJlY3Q6KENHUmVjdClwcmV2aW91c1JlY3QgY3Vy
cmVudFJlY3Q6KENHUmVjdClyZWN0OwogI2VuZGlmCiAKIC0gKHZvaWQpcmVsb2FkQ29udGV4dFZp
ZXdGb3JQcmVzZW50ZWRMaXN0Vmlld0NvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiMjhm
MTc3Y2ExNDg1Zjc1ZTE0Y2NjZjE1ODI4NGMyOTYyYjRiNzkxLi41NDFhNmMzMzdjZTczMDI1ODEw
NTg1YWY1MTViZmRiMzg0OTc1MWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTY5Miw3ICs2OTIsNyBA
QCAtICh2b2lkKXNldHVwSW50ZXJhY3Rpb24KICAgICBbc2VsZiBfY3JlYXRlQW5kQ29uZmlndXJl
TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJdOwogCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJ
T04pCi0gICAgW3NlbGYgc2V0dXBEYXRhSW50ZXJhY3Rpb25EZWxlZ2F0ZXNdOworICAgIFtzZWxm
IHNldHVwRHJhZ0FuZERyb3BJbnRlcmFjdGlvbnNdOwogI2VuZGlmCiAKICAgICBfdHdvRmluZ2Vy
U2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtbVUlUYXBHZXN0dXJlUmVjb2du
aXplciBhbGxvY10gaW5pdFdpdGhUYXJnZXQ6c2VsZiBhY3Rpb246QHNlbGVjdG9yKF90d29GaW5n
ZXJTaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplZDopXSk7CkBAIC04MDgsNyArODA4LDcgQEAgLSAo
dm9pZCljbGVhbnVwSW50ZXJhY3Rpb24KIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQog
ICAgIFtleGlzdGluZ0xvY2FsRHJhZ1Nlc3Npb25Db250ZXh0KF9kcmFnRHJvcEludGVyYWN0aW9u
U3RhdGUuZHJhZ1Nlc3Npb24oKSkgY2xlYW5VcFRlbXBvcmFyeURpcmVjdG9yaWVzXTsKLSAgICBb
c2VsZiB0ZWFyZG93bkRhdGFJbnRlcmFjdGlvbkRlbGVnYXRlc107CisgICAgW3NlbGYgdGVhcmRv
d25EcmFnQW5kRHJvcEludGVyYWN0aW9uc107CiAjZW5kaWYKIAogICAgIF9pbnNwZWN0b3JOb2Rl
U2VhcmNoRW5hYmxlZCA9IE5POwpAQCAtNTQzMSw3ICs1NDMxLDcgQEAgLSAoaWQgPFdLVUlEZWxl
Z2F0ZVByaXZhdGU+KXdlYlZpZXdVSURlbGVnYXRlCiAgICAgcmV0dXJuIChpZCA8V0tVSURlbGVn
YXRlUHJpdmF0ZT4pW193ZWJWaWV3IFVJRGVsZWdhdGVdOwogfQogCi0tICh2b2lkKXNldHVwRGF0
YUludGVyYWN0aW9uRGVsZWdhdGVzCistICh2b2lkKXNldHVwRHJhZ0FuZERyb3BJbnRlcmFjdGlv
bnMKIHsKICAgICBfZHJhZ0ludGVyYWN0aW9uID0gYWRvcHROUyhbW1VJRHJhZ0ludGVyYWN0aW9u
IGFsbG9jXSBpbml0V2l0aERlbGVnYXRlOnNlbGZdKTsKICAgICBfZHJvcEludGVyYWN0aW9uID0g
YWRvcHROUyhbW1VJRHJvcEludGVyYWN0aW9uIGFsbG9jXSBpbml0V2l0aERlbGVnYXRlOnNlbGZd
KTsKQEAgLTU0NDIsNyArNTQ0Miw3IEBAIC0gKHZvaWQpc2V0dXBEYXRhSW50ZXJhY3Rpb25EZWxl
Z2F0ZXMKICAgICBbc2VsZiBhZGRJbnRlcmFjdGlvbjpfZHJvcEludGVyYWN0aW9uLmdldCgpXTsK
IH0KIAotLSAodm9pZCl0ZWFyZG93bkRhdGFJbnRlcmFjdGlvbkRlbGVnYXRlcworLSAodm9pZCl0
ZWFyZG93bkRyYWdBbmREcm9wSW50ZXJhY3Rpb25zCiB7CiAgICAgaWYgKF9kcmFnSW50ZXJhY3Rp
b24pCiAgICAgICAgIFtzZWxmIHJlbW92ZUludGVyYWN0aW9uOl9kcmFnSW50ZXJhY3Rpb24uZ2V0
KCldOwpAQCAtNTQ5Miw3ICs1NDkyLDcgQEAgLSAodm9pZClfZGlkSGFuZGxlQWRkaXRpb25hbERy
YWdJdGVtc1JlcXVlc3Q6KEJPT0wpYWRkZWQKICAgICAgICAgX3BhZ2UtPmRpZFN0YXJ0RHJhZygp
OwogfQogCi0tICh2b2lkKV9kaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3Q6KEJP
T0wpc3RhcnRlZAorLSAodm9pZClfZGlkSGFuZGxlRHJhZ1N0YXJ0UmVxdWVzdDooQk9PTClzdGFy
dGVkCiB7CiAgICAgQmxvY2tQdHI8dm9pZCgpPiBzYXZlZENvbXBsZXRpb25CbG9jayA9IF9kcmFn
RHJvcEludGVyYWN0aW9uU3RhdGUudGFrZURyYWdTdGFydENvbXBsZXRpb25CbG9jaygpOwogICAg
IEFTU0VSVChzYXZlZENvbXBsZXRpb25CbG9jayk7CkBAIC01NTg2LDcgKzU1ODYsNyBAQCBzdGF0
aWMgTlNBcnJheTxOU0l0ZW1Qcm92aWRlciAqPiAqZXh0cmFjdEl0ZW1Qcm92aWRlcnNGcm9tRHJv
cFNlc3Npb24oaWQgPFVJRHJvcAogICAgIHJldHVybiBleHRyYWN0SXRlbVByb3ZpZGVyc0Zyb21E
cmFnSXRlbXMoc2Vzc2lvbi5pdGVtcyk7CiB9CiAKLS0gKHZvaWQpX2RpZENvbmNsdWRlRWRpdERh
dGFJbnRlcmFjdGlvbjooT3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+KWRhdGEK
Ky0gKHZvaWQpX2RpZENvbmNsdWRlRWRpdERyYWc6KE9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRp
Y2F0b3JEYXRhPilkYXRhCiB7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1cm47CkBAIC01
NTk5LDEyICs1NTk5LDEyIEBAIC0gKHZvaWQpX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlv
bjooT3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+KWRhCiAgICAgaWYgKCF1bnNl
bGVjdGVkU25hcHNob3RJbWFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBkYXRhSW50
ZXJhY3Rpb25VbnNlbGVjdGVkQ29udGVudEltYWdlID0gYWRvcHROUyhbW1VJSW1hZ2UgYWxsb2Nd
IGluaXRXaXRoQ0dJbWFnZTp1bnNlbGVjdGVkU25hcHNob3RJbWFnZS5nZXQoKSBzY2FsZTpfcGFn
ZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSBvcmllbnRhdGlvbjpVSUltYWdlT3JpZW50YXRpb25VcF0p
OwotICAgIFJldGFpblB0cjxVSUltYWdlVmlldz4gdW5zZWxlY3RlZENvbnRlbnRTbmFwc2hvdCA9
IGFkb3B0TlMoW1tVSUltYWdlVmlldyBhbGxvY10gaW5pdFdpdGhJbWFnZTpkYXRhSW50ZXJhY3Rp
b25VbnNlbGVjdGVkQ29udGVudEltYWdlLmdldCgpXSk7CisgICAgYXV0byB1bnNlbGVjdGVkQ29u
dGVudEltYWdlRm9yRWRpdERyYWcgPSBhZG9wdE5TKFtbVUlJbWFnZSBhbGxvY10gaW5pdFdpdGhD
R0ltYWdlOnVuc2VsZWN0ZWRTbmFwc2hvdEltYWdlLmdldCgpIHNjYWxlOl9wYWdlLT5kZXZpY2VT
Y2FsZUZhY3RvcigpIG9yaWVudGF0aW9uOlVJSW1hZ2VPcmllbnRhdGlvblVwXSk7CisgICAgYXV0
byB1bnNlbGVjdGVkQ29udGVudFNuYXBzaG90ID0gYWRvcHROUyhbW1VJSW1hZ2VWaWV3IGFsbG9j
XSBpbml0V2l0aEltYWdlOnVuc2VsZWN0ZWRDb250ZW50SW1hZ2VGb3JFZGl0RHJhZy5nZXQoKV0p
OwogICAgIFt1bnNlbGVjdGVkQ29udGVudFNuYXBzaG90IHNldEZyYW1lOmRhdGEtPmNvbnRlbnRJ
bWFnZVdpdGhvdXRTZWxlY3Rpb25SZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzXTsKIAotICAgIFJl
dGFpblB0cjxXS0NvbnRlbnRWaWV3PiBwcm90ZWN0ZWRTZWxmID0gc2VsZjsKLSAgICBSZXRhaW5Q
dHI8VUlWaWV3PiB2aXNpYmxlQ29udGVudFZpZXdTbmFwc2hvdCA9IGFkb3B0TlMoX3Zpc2libGVD
b250ZW50Vmlld1NuYXBzaG90LmxlYWtSZWYoKSk7CisgICAgYXV0byBwcm90ZWN0ZWRTZWxmID0g
cmV0YWluUHRyKHNlbGYpOworICAgIGF1dG8gdmlzaWJsZUNvbnRlbnRWaWV3U25hcHNob3QgPSBh
ZG9wdE5TKF92aXNpYmxlQ29udGVudFZpZXdTbmFwc2hvdC5sZWFrUmVmKCkpOwogCiAgICAgX2lz
QW5pbWF0aW5nQ29uY2x1ZGVFZGl0RHJhZyA9IFlFUzsKICAgICBbc2VsZiBpbnNlcnRTdWJ2aWV3
OnVuc2VsZWN0ZWRDb250ZW50U25hcHNob3QuZ2V0KCkgYmVsb3dTdWJ2aWV3OnZpc2libGVDb250
ZW50Vmlld1NuYXBzaG90LmdldCgpXTsKQEAgLTU2MzksNyArNTYzOSw3IEBAIC0gKHZvaWQpX2Rp
ZFBlcmZvcm1EcmFnT3BlcmF0aW9uOihCT09MKWhhbmRsZWQKICAgICBfcGFnZS0+ZHJhZ0VuZGVk
KFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChjbGllbnQpLCBXZWJDb3JlOjpyb3VuZGVkSW50UG9p
bnQoZ2xvYmFsKSwgX3BhZ2UtPmN1cnJlbnREcmFnT3BlcmF0aW9uKCkpOwogfQogCi0tICh2b2lk
KV9kaWRDaGFuZ2VEYXRhSW50ZXJhY3Rpb25DYXJldFJlY3Q6KENHUmVjdClwcmV2aW91c1JlY3Qg
Y3VycmVudFJlY3Q6KENHUmVjdClyZWN0CistICh2b2lkKV9kaWRDaGFuZ2VEcmFnQ2FyZXRSZWN0
OihDR1JlY3QpcHJldmlvdXNSZWN0IGN1cnJlbnRSZWN0OihDR1JlY3QpcmVjdAogewogICAgIEJP
T0wgcHJldmlvdXNSZWN0SXNFbXB0eSA9IENHUmVjdElzRW1wdHkocHJldmlvdXNSZWN0KTsKICAg
ICBCT09MIGN1cnJlbnRSZWN0SXNFbXB0eSA9IENHUmVjdElzRW1wdHkocmVjdCk7CkBAIC01ODUz
LDcgKzU4NTMsNyBAQCAtICh2b2lkKV9kcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9u
ICopaW50ZXJhY3Rpb24gcHJlcGFyZUZvclNlc3Npb246KGlkCiAgICAgX2RyYWdEcm9wSW50ZXJh
Y3Rpb25TdGF0ZS5wcmVwYXJlRm9yRHJhZ1Nlc3Npb24oc2Vzc2lvbiwgY29tcGxldGlvbik7CiAK
ICAgICBhdXRvIGRyYWdPcmlnaW4gPSBXZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQoW3Nlc3Npb24g
bG9jYXRpb25JblZpZXc6c2VsZl0pOwotICAgIF9wYWdlLT5yZXF1ZXN0U3RhcnREYXRhSW50ZXJh
Y3Rpb24oZHJhZ09yaWdpbiwgV2ViQ29yZTo6cm91bmRlZEludFBvaW50KFtzZWxmIGNvbnZlcnRQ
b2ludDpkcmFnT3JpZ2luIHRvVmlldzpzZWxmLndpbmRvd10pKTsKKyAgICBfcGFnZS0+cmVxdWVz
dERyYWdTdGFydChkcmFnT3JpZ2luLCBXZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQoW3NlbGYgY29u
dmVydFBvaW50OmRyYWdPcmlnaW4gdG9WaWV3OnNlbGYud2luZG93XSkpOwogCiAgICAgUkVMRUFT
RV9MT0coRHJhZ0FuZERyb3AsICJEcmFnIHNlc3Npb24gcmVxdWVzdGVkOiAlcCBhdCBvcmlnaW46
IHslZCwgJWR9Iiwgc2Vzc2lvbiwgZHJhZ09yaWdpbi54KCksIGRyYWdPcmlnaW4ueSgpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4
IDhhNTMwMmRmMTFkYzZiMDJkODhjMzYwYjFkODc0NzJkZmY3OTgwMGQuLjQ3MjY4OTRhOTNhNzg3
MTkwNzQ2ZmQ1M2M2N2Q5MjgyMGVhYjdkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTExNyw5ICsxMTE3LDkgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkKCkKIAogI2lmIEVO
QUJMRShEQVRBX0lOVEVSQUNUSU9OKQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkSGFuZGxlU3Rh
cnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0KGJvb2wgc3RhcnRlZCkKK3ZvaWQgV2ViUGFnZVByb3h5
OjpkaWRIYW5kbGVEcmFnU3RhcnRSZXF1ZXN0KGJvb2wgc3RhcnRlZCkKIHsKLSAgICBwYWdlQ2xp
ZW50KCkuZGlkSGFuZGxlU3RhcnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0KHN0YXJ0ZWQpOworICAg
IHBhZ2VDbGllbnQoKS5kaWRIYW5kbGVEcmFnU3RhcnRSZXF1ZXN0KHN0YXJ0ZWQpOwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkSGFuZGxlQWRkaXRpb25hbERyYWdJdGVtc1JlcXVlc3QoYm9v
bCBhZGRlZCkKQEAgLTExMjcsMTAgKzExMjcsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEhh
bmRsZUFkZGl0aW9uYWxEcmFnSXRlbXNSZXF1ZXN0KGJvb2wgYWRkZWQpCiAgICAgcGFnZUNsaWVu
dCgpLmRpZEhhbmRsZUFkZGl0aW9uYWxEcmFnSXRlbXNSZXF1ZXN0KGFkZGVkKTsKIH0KIAotdm9p
ZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9i
YWxQb3NpdGlvbikKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0RHJhZ1N0YXJ0KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uKQogewogICAgIGlmIChpc1ZhbGlkKCkpCi0gICAgICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNs
aWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiksIG1fcGFnZUlEKTsKKyAgICAgICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXF1ZXN0RHJhZ1N0YXJ0KGNsaWVudFBvc2l0
aW9uLCBnbG9iYWxQb3NpdGlvbiksIG1fcGFnZUlEKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OnJlcXVlc3RBZGRpdGlvbmFsSXRlbXNGb3JEcmFnU2Vzc2lvbihjb25zdCBJbnRQb2ludCYgY2xp
ZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbikKQEAgLTExMzksOSAr
MTEzOSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0QWRkaXRpb25hbEl0ZW1zRm9yRHJh
Z1Nlc3Npb24oY29uc3QgSW50UG9pbnQmIGNsaWVudFBvCiAgICAgICAgIG1fcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6UmVxdWVzdEFkZGl0aW9uYWxJdGVtc0ZvckRyYWdTZXNzaW9u
KGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiksIG1fcGFnZUlEKTsKIH0KIAotdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihPcHRpb25hbDxUZXh0
SW5kaWNhdG9yRGF0YT4gZGF0YSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb25jbHVkZUVkaXRE
cmFnKE9wdGlvbmFsPFRleHRJbmRpY2F0b3JEYXRhPiBkYXRhKQogewotICAgIHBhZ2VDbGllbnQo
KS5kaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oZGF0YSk7CisgICAgcGFnZUNsaWVudCgp
LmRpZENvbmNsdWRlRWRpdERyYWcoZGF0YSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFn
Q2xpZW50TWFjLm1tCmluZGV4IGY4N2Q5MzQ0M2Y3YzU4YTgyYzQzNjNmMDM0YTAwNjAxM2I2YWEx
N2YuLjZiN2Q2NGE2MzFhOGY1ZDg3MjA1MTJjYTczNzgxYjUxZGVlYjEzOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVu
dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFj
L1dlYkRyYWdDbGllbnRNYWMubW0KQEAgLTIxMCw3ICsyMTAsNyBAQCB2b2lkIFdlYkRyYWdDbGll
bnQ6OmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBFbGVtZQogCiB2b2lkIFdlYkRyYWdDbGllbnQ6OmRpZENvbmNsdWRlRWRpdERyYWcoKQogewot
ICAgIG1fcGFnZS0+ZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKCk7CisgICAgbV9wYWdl
LT5kaWRDb25jbHVkZUVkaXREcmFnKCk7CiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDRh
NDBhZTBiZDM1ZWFmM2JlMDRkYmFhNTdjYTEzZGI3OTUxN2NhNmIuLjk0MmU0ODdkZDRkOTFjM2I2
NDA5N2IwYWZmYjJjYTQyOGQ1YTc4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTEwOTYsNyArMTA5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFVzZUljb25Mb2FkaW5nQ2xpZW50KGJvb2wpOwogCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJ
T04pCi0gICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oKTsKKyAgICB2b2lk
IGRpZENvbmNsdWRlRWRpdERyYWcoKTsKICNlbmRpZgogCiAgICAgV2ViVVJMU2NoZW1lSGFuZGxl
clByb3h5KiB1cmxTY2hlbWVIYW5kbGVyRm9yU2NoZW1lKGNvbnN0IFN0cmluZyYpOwpAQCAtMTE4
Miw3ICsxMTgyLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCi0gICAgdm9pZCByZXF1ZXN0U3RhcnREYXRh
SW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pOworICAgIHZvaWQgcmVxdWVzdERy
YWdTdGFydChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbik7CiAgICAgdm9pZCByZXF1ZXN0QWRkaXRp
b25hbEl0ZW1zRm9yRHJhZ1Nlc3Npb24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBv
c2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCmluZGV4IDU0YWJiYWY4OTM0Y2NkY2Y4ZTRmMjBmNzgzZmNiNmI5ZjAzMDQwZWIu
LjEyODQ5ZGRlNzIwYjk2NTRmODRhMzQxNzgwMjhmNGRmYzE4MDk2NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAt
Mjg5LDcgKzI4OSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKLSAgICBSZXF1ZXN0U3RhcnREYXRh
SW50ZXJhY3Rpb24oV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6Oklu
dFBvaW50IGdsb2JhbFBvc2l0aW9uKQorICAgIFJlcXVlc3REcmFnU3RhcnQoV2ViQ29yZTo6SW50
UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0aW9uKQog
ICAgIFJlcXVlc3RBZGRpdGlvbmFsSXRlbXNGb3JEcmFnU2Vzc2lvbihXZWJDb3JlOjpJbnRQb2lu
dCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24pCiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQppbmRleCA4N2QxYmUxZDM4NzhlMjIwZDY3MWFkNDFkNTIxY2JkM2NlOTI3NDExLi5m
YWM2MjliODcwODg2OTBjM2I5ZGJhMWFkNjY4NGEwMmRkODAzYmI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNjU2LDEw
ICs2NTYsMTAgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
bihXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIH0KIAogI2lmIEVOQUJMRShEQVRBX0lO
VEVSQUNUSU9OKQotdm9pZCBXZWJQYWdlOjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY29u
c3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRp
b24pCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3REcmFnU3RhcnQoY29uc3QgSW50UG9pbnQmIGNsaWVu
dFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pCiB7Ci0gICAgYm9vbCBk
aWRTdGFydCA9IG1fcGFnZS0+bWFpbkZyYW1lKCkuZXZlbnRIYW5kbGVyKCkudHJ5VG9CZWdpbkRh
dGFJbnRlcmFjdGlvbkF0UG9pbnQoY2xpZW50UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uKTsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEhhbmRsZVN0YXJ0RGF0YUludGVyYWN0
aW9uUmVxdWVzdChkaWRTdGFydCkpOworICAgIGJvb2wgZGlkU3RhcnQgPSBtX3BhZ2UtPm1haW5G
cmFtZSgpLmV2ZW50SGFuZGxlcigpLnRyeVRvQmVnaW5EcmFnQXRQb2ludChjbGllbnRQb3NpdGlv
biwgZ2xvYmFsUG9zaXRpb24pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
SGFuZGxlRHJhZ1N0YXJ0UmVxdWVzdChkaWRTdGFydCkpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnJl
cXVlc3RBZGRpdGlvbmFsSXRlbXNGb3JEcmFnU2Vzc2lvbihjb25zdCBJbnRQb2ludCYgY2xpZW50
UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbikKQEAgLTY3MSwyMiArNjcx
LDIyIEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdEFkZGl0aW9uYWxJdGVtc0ZvckRyYWdTZXNzaW9u
KGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvCiAgICAgbV9wYWdlLT5kcmFnQ29udHJvbGxl
cigpLmRyYWdFbmRlZCgpOwogICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
ZHJhZ1NvdXJjZUVuZGVkQXQoZXZlbnQsIERyYWdPcGVyYXRpb25Ob25lLCBNYXlFeHRlbmREcmFn
U2Vzc2lvbjo6WWVzKTsKIAotICAgIGJvb2wgZGlkSGFuZGxlRHJhZyA9IG1fcGFnZS0+bWFpbkZy
YW1lKCkuZXZlbnRIYW5kbGVyKCkudHJ5VG9CZWdpbkRhdGFJbnRlcmFjdGlvbkF0UG9pbnQoY2xp
ZW50UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uKTsKKyAgICBib29sIGRpZEhhbmRsZURyYWcgPSBt
X3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpLnRyeVRvQmVnaW5EcmFnQXRQb2ludChj
bGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24pOwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkSGFuZGxlQWRkaXRpb25hbERyYWdJdGVtc1JlcXVlc3QoZGlkSGFuZGxlRHJh
ZykpOwogfQogCi12b2lkIFdlYlBhZ2U6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbigp
Cit2b2lkIFdlYlBhZ2U6OmRpZENvbmNsdWRlRWRpdERyYWcoKQogewogICAgIE9wdGlvbmFsPFRl
eHRJbmRpY2F0b3JEYXRhPiB0ZXh0SW5kaWNhdG9yRGF0YTsKIAotICAgIHN0YXRpYyBhdXRvIGRl
ZmF1bHRFZGl0RGF0YUludGVyYWN0aW9uVGV4dEluZGljYXRvck9wdGlvbnMgPSBUZXh0SW5kaWNh
dG9yT3B0aW9uSW5jbHVkZVNuYXBzaG90T2ZBbGxWaXNpYmxlQ29udGVudFdpdGhvdXRTZWxlY3Rp
b24gfCBUZXh0SW5kaWNhdG9yT3B0aW9uRXhwYW5kQ2xpcEJleW9uZFZpc2libGVSZWN0IHwgVGV4
dEluZGljYXRvck9wdGlvblBhaW50QWxsQ29udGVudCB8IFRleHRJbmRpY2F0b3JPcHRpb25JbmNs
dWRlTWFyZ2luSWZSYW5nZU1hdGNoZXNTZWxlY3Rpb24gfCBUZXh0SW5kaWNhdG9yT3B0aW9uUGFp
bnRCYWNrZ3JvdW5kcyB8IFRleHRJbmRpY2F0b3JPcHRpb25Db21wdXRlRXN0aW1hdGVkQmFja2dy
b3VuZENvbG9yfCBUZXh0SW5kaWNhdG9yT3B0aW9uVXNlU2VsZWN0aW9uUmVjdEZvclNpemluZyB8
IFRleHRJbmRpY2F0b3JPcHRpb25JbmNsdWRlU25hcHNob3RXaXRoU2VsZWN0aW9uSGlnaGxpZ2h0
OworICAgIHN0YXRpYyBhdXRvIGRlZmF1bHRUZXh0SW5kaWNhdG9yT3B0aW9uc0ZvckVkaXREcmFn
ID0gVGV4dEluZGljYXRvck9wdGlvbkluY2x1ZGVTbmFwc2hvdE9mQWxsVmlzaWJsZUNvbnRlbnRX
aXRob3V0U2VsZWN0aW9uIHwgVGV4dEluZGljYXRvck9wdGlvbkV4cGFuZENsaXBCZXlvbmRWaXNp
YmxlUmVjdCB8IFRleHRJbmRpY2F0b3JPcHRpb25QYWludEFsbENvbnRlbnQgfCBUZXh0SW5kaWNh
dG9yT3B0aW9uSW5jbHVkZU1hcmdpbklmUmFuZ2VNYXRjaGVzU2VsZWN0aW9uIHwgVGV4dEluZGlj
YXRvck9wdGlvblBhaW50QmFja2dyb3VuZHMgfCBUZXh0SW5kaWNhdG9yT3B0aW9uQ29tcHV0ZUVz
dGltYXRlZEJhY2tncm91bmRDb2xvcnwgVGV4dEluZGljYXRvck9wdGlvblVzZVNlbGVjdGlvblJl
Y3RGb3JTaXppbmcgfCBUZXh0SW5kaWNhdG9yT3B0aW9uSW5jbHVkZVNuYXBzaG90V2l0aFNlbGVj
dGlvbkhpZ2hsaWdodDsKICAgICBhdXRvJiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVy
KCkuZm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgaWYgKGF1dG8gcmFuZ2UgPSBmcmFtZS5zZWxl
Y3Rpb24oKS5zZWxlY3Rpb24oKS50b05vcm1hbGl6ZWRSYW5nZSgpKSB7Ci0gICAgICAgIGlmIChh
dXRvIHRleHRJbmRpY2F0b3IgPSBUZXh0SW5kaWNhdG9yOjpjcmVhdGVXaXRoUmFuZ2UoKnJhbmdl
LCBkZWZhdWx0RWRpdERhdGFJbnRlcmFjdGlvblRleHRJbmRpY2F0b3JPcHRpb25zLCBUZXh0SW5k
aWNhdG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbjo6Tm9uZSwgRmxvYXRTaXplKCkpKQorICAgICAg
ICBpZiAoYXV0byB0ZXh0SW5kaWNhdG9yID0gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdl
KCpyYW5nZSwgZGVmYXVsdFRleHRJbmRpY2F0b3JPcHRpb25zRm9yRWRpdERyYWcsIFRleHRJbmRp
Y2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uOjpOb25lLCBGbG9hdFNpemUoKSkpCiAgICAgICAg
ICAgICB0ZXh0SW5kaWNhdG9yRGF0YSA9IHRleHRJbmRpY2F0b3ItPmRhdGEoKTsKICAgICB9CiAK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbmNsdWRlRWRpdERhdGFJbnRl
cmFjdGlvbih0ZXh0SW5kaWNhdG9yRGF0YSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RGlkQ29uY2x1ZGVFZGl0RHJhZyhXVEZNb3ZlKHRleHRJbmRpY2F0b3JEYXRhKSkpOwog
fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkRyYWdDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50Lm1tCmluZGV4IGRjOWE0MTEwMWNiMTRkMTJjZTIzZjVlZWZk
ZmQ1YjA0NzViNzRmNmQuLjY0MGNlODMyMTQyZTU0ZGJhMTY5MGQ0NmIzOGEwY2FiMzdkOGVjYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRHJhZ0NsaWVudC5tbQpAQCAtMjQ0LDcgKzI0NCw3IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6
ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIEVs
ZW1lCiAKIHZvaWQgV2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVFZGl0RHJhZygpCiB7Ci0gICAg
W21fd2ViVmlldyBfZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uXTsKKyAgICBbbV93ZWJW
aWV3IF9kaWRDb25jbHVkZUVkaXREcmFnXTsKIH0KIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19G
QU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXgg
N2M1MDkyZTYyNzg3N2U2Zjk3MTIzMTNhMzVmMzRiYzU1YTlkYjgxZi4uMWY2MDIyNDE1MzFkMjA5
ZDQ2OTYzYTJhM2Y4NTdkYTZlZGFkOGY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMTgyNyw3ICsxODI3LDcgQEAgLSAodm9pZCl1cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVTaGVldHMKIC0gKEJPT0wpX3JlcXVlc3RTdGFydERhdGFJbnRl
cmFjdGlvbjooQ0dQb2ludCljbGllbnRQb3NpdGlvbiBnbG9iYWxQb3NpdGlvbjooQ0dQb2ludCln
bG9iYWxQb3NpdGlvbgogewogICAgIFdlYlRocmVhZExvY2soKTsKLSAgICByZXR1cm4gX3ByaXZh
dGUtPnBhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpLnRyeVRvQmVnaW5EYXRhSW50ZXJh
Y3Rpb25BdFBvaW50KEludFBvaW50KGNsaWVudFBvc2l0aW9uKSwgSW50UG9pbnQoZ2xvYmFsUG9z
aXRpb24pKTsKKyAgICByZXR1cm4gX3ByaXZhdGUtPnBhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFu
ZGxlcigpLnRyeVRvQmVnaW5EcmFnQXRQb2ludChJbnRQb2ludChjbGllbnRQb3NpdGlvbiksIElu
dFBvaW50KGdsb2JhbFBvc2l0aW9uKSk7CiB9CiAKIC0gKHZvaWQpX3N0YXJ0RHJhZzooY29uc3Qg
RHJhZ0l0ZW0mKWRyYWdJdGVtCkBAIC0xOTM5LDcgKzE5MzksNyBAQCAtICh2b2lkKV9lbmRlZERh
dGFJbnRlcmFjdGlvbjooQ0dQb2ludCljbGllbnRQb3NpdGlvbiBnbG9iYWw6KENHUG9pbnQpZ2xv
YmFsUG9zaQogICAgIF9wcml2YXRlLT5kcmFnZ2VkTGlua1VSTCA9IG5pbDsKIH0KIAotLSAodm9p
ZClfZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uCistICh2b2lkKV9kaWRDb25jbHVkZUVk
aXREcmFnCiB7CiAgICAgX3ByaXZhdGUtPmRhdGFPcGVyYXRpb25UZXh0SW5kaWNhdG9yID0gbnVs
bHB0cjsKICAgICBhdXRvKiBwYWdlID0gX3ByaXZhdGUtPnBhZ2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAppbmRleCA1NzljOGQ4ODUw
NzI5ZGI3OTNjNjY5ZDc0OTc5OTNlY2Y2M2Y3N2VhLi44NGY2Zjg5M2Y5NzczNTgxOGZjMTgzOTJm
NTViODQ0ZjYzMzE5OWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTI2NCw3ICsyNjQsNyBAQCBPQkpDX0NMQVNTIE5TVGV4
dEFsdGVybmF0aXZlczsKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKSAmJiBkZWZpbmVk
KF9fY3BsdXNwbHVzKQogLSAodm9pZClfc3RhcnREcmFnOihjb25zdCBXZWJDb3JlOjpEcmFnSXRl
bSYpZHJhZ0l0ZW07Ci0tICh2b2lkKV9kaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb247Cist
ICh2b2lkKV9kaWRDb25jbHVkZUVkaXREcmFnOwogI2VuZGlmCiAKIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>