<?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>209623</bug_id>
          
          <creation_ts>2020-03-26 15:20:29 -0700</creation_ts>
          <short_desc>Rename -_isInteractingWithFocusedElement, add it to the header, and replace calls to hasFocusedElement() with it</short_desc>
          <delta_ts>2020-03-26 16:10:41 -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>WebKit Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1634598</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-26 15:20:29 -0700</bug_when>
    <thetext>The code in WKContentViewInteraction.mm uses either [self _isInteractingWithFocusedElement] or hasFocusedElement(_focusedElementInformation) to check if there is a currently focused keyboard-assisted element. The former is just a convenience function for the latter. There is never more than one focused element so hasFocusedElement() is always passed _focusedElementInformation. So, let&apos;s remove hasFocusedElement() and standardize on -_isInteractingWithFocusedElement. We might as well consider renaming -_isInteractingWithFocusedElement at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634601</commentid>
    <comment_count>1</comment_count>
      <attachid>394663</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-26 15:33:39 -0700</bug_when>
    <thetext>Created attachment 394663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634615</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-26 15:58:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/60940521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634623</commentid>
    <comment_count>3</comment_count>
      <attachid>394663</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-26 16:10:40 -0700</bug_when>
    <thetext>Comment on attachment 394663
Patch

Clearing flags on attachment: 394663

Committed r259091: &lt;https://trac.webkit.org/changeset/259091&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634624</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-03-26 16:10:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394663</attachid>
            <date>2020-03-26 15:33:39 -0700</date>
            <delta_ts>2020-03-26 16:10:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209623-20200326153338.patch</filename>
            <type>text/plain</type>
            <size>16739</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUwNDY0OGFiNWQyNGZkZDY1
NDMxMjA1ZjhkZWEwYWM5ZGI1ODJjMGMuLmFiYmMyNTZmMGI1ZjMwY2M0Y2U5NjQzMjlhNGJjYjA5
ZDE3OGY2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMDMtMjYgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSAtX2lzSW50ZXJhY3Rp
bmdXaXRoRm9jdXNlZEVsZW1lbnQsIGFkZCBpdCB0byB0aGUgaGVhZGVyLCBhbmQgcmVwbGFjZSBj
YWxscyB0byBoYXNGb2N1c2VkRWxlbWVudCgpIHdpdGggaXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTYyMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSAtX2lzSW50ZXJhY3RpbmdXaXRoRm9j
dXNlZEVsZW1lbnQgdG8gLV9oYXNGb2N1c2VkRWxlbWVudC4gRm9yIG5vdywgc3RhbmRhcmRpemUg
YXJvdW5kCisgICAgICAgIHRoZSBjb252ZW50aW9uIG9mIHVzaW5nIC1faGFzRm9jdXNlZEVsZW1l
bnQgaW5zdGVhZCBvZiBoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
bikuCisKKyAgICAgICAgSSB0aGluayBpbiB0aGUgaWRlYWwgd29ybGQgLV9oYXNGb2N1c2VkRWxl
bWVudCB3b3VsZCBub3QgZXhpc3QgYW5kIGluc3RlYWQgLV9lbGVtZW50RGlkQmx1ciB3b3VsZAor
ICAgICAgICByZXNldCB0aGUgc3RhdGUgb2YgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gdG8g
d2hhdCBpdCB3YXMgd2hlbiBhIHBhZ2UgaXMgZmlyc3QgbG9hZGVkLiBJIHdpbGwKKyAgICAgICAg
bG9vayB0byBkbyB0aGlzIGluIGEgc3Vic2VxdWVudCBwYXRjaCBiZWNhdXNlIGl0IGlzIHJpc2t5
LiBEb2luZyBzbyByZXF1aXJlcyBhIGNhcmVmdWwgYXVkaXQgb2YgYWxsCisgICAgICAgIGNhbGwg
c2l0ZXMgdGhhdCB1c2UgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gYXMgdGhleSBtYXkgaGF2
ZSBpbmFkdmVydGVudGx5IGRlcGVuZGVkIG9uIHN0YWxlIHN0YXRlLgorCisgICAgICAgIFdoaWxl
IEkgYW0gaGVyZSwgSSBhZGRlZCAtX2hhc0ZvY3VzZWRFbGVtZW50IHRvIFdLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oIHNvIHRoYXQgSSBjYW4gbWFrZSB1c2UKKyAgICAgICAgb2YgaXQgaW4gdGhl
IGZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzYwODcxODA3Pi4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X2RpZEdldFRhcEhpZ2hsaWdodEZvclJlcXVlc3Q6Y29sb3I6cXVhZHM6dG9wTGVmdFJhZGl1czp0
b3BSaWdodFJhZGl1czpib3R0b21MZWZ0UmFkaXVzOmJvdHRvbVJpZ2h0UmFkaXVzOm5vZGVIYXNC
dWlsdEluQ2xpY2tIYW5kbGluZzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBpbnB1dFZp
ZXdGb3JXZWJWaWV3XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NlbGVjdGlvbkNsaXBS
ZWN0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRC
ZWdpbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjYW5QZXJmb3JtQWN0aW9uRm9yV2Vi
Vmlldzp3aXRoU2VuZGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9oYXNGb2N1c2Vk
RWxlbWVudF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNoYW5nZVNlbGVjdGlvbldpdGhH
ZXN0dXJlQXQ6d2l0aEdlc3R1cmU6d2l0aFN0YXRlOndpdGhGbGFnczpdKToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBzZWxlY3RQb3NpdGlvbkF0UG9pbnQ6Y29tcGxldGlvbkhhbmRsZXI6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2VsZWN0UG9zaXRpb25BdEJvdW5kYXJ5OmluRGly
ZWN0aW9uOmZyb21Qb2ludDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBzZWxlY3RUZXh0V2l0aEdyYW51bGFyaXR5OmF0UG9pbnQ6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdXBkYXRlU2VsZWN0aW9uV2l0aEV4dGVu
dFBvaW50OmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHVw
ZGF0ZVNlbGVjdGlvbldpdGhFeHRlbnRQb2ludDp3aXRoQm91bmRhcnk6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2V0U2VsZWN0ZWRUZXh0UmFuZ2U6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2VsZW1lbnREaWRGb2N1czp1c2VySXNJbnRlcmFj
dGluZzpibHVyUHJldmlvdXNOb2RlOmFjdGl2aXR5U3RhdGVDaGFuZ2VzOnVzZXJPYmplY3Q6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3VwZGF0ZUlucHV0Q29udGV4dEFmdGVyQmx1cnJp
bmdBbmRSZWZvY3VzaW5nRWxlbWVudF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRh
dGVTZWxlY3Rpb25Bc3Npc3RhbnRTdXBwcmVzc2lvblN0YXRlXSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2F1dG9maWxsQ29udGV4dF0pOgorICAgICAgICAoaGFzRm9jdXNlZEVsZW1lbnQp
OiBEZWxldGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9pc0ludGVyYWN0aW5nV2l0aEZv
Y3VzZWRFbGVtZW50XSk6IERlbGV0ZWQuCisKIDIwMjAtMDMtMjYgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgogCiAgICAgICAgIEZvcmNlIFRvdWNoIHByZXZpZXcgb24gZmlsZTovLy8g
VVJMIHdvcmtzIHdoaWxlIGNsaWNraW5nIG9uIHRoZSBVUkwgaXMgYmxvY2tlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
CmluZGV4IGZiMThiMGM1ZmQzNWFhOGZhMTFmZDBlMWJmMjgxMzZmNDhmMGMxNGUuLmQyMDY4YjVj
MTA4NGRhMjUxMDUxMDA0Nzk1MTg2NTRkNmYxMTljYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTQ1MSw2
ICs0NTEsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogLSAodm9pZClfc3RhcnRT
dXBwcmVzc2luZ1NlbGVjdGlvbkFzc2lzdGFudEZvclJlYXNvbjooV2ViS2l0OjpTdXBwcmVzc1Nl
bGVjdGlvbkFzc2lzdGFudFJlYXNvbilyZWFzb247CiAtICh2b2lkKV9zdG9wU3VwcHJlc3NpbmdT
ZWxlY3Rpb25Bc3Npc3RhbnRGb3JSZWFzb246KFdlYktpdDo6U3VwcHJlc3NTZWxlY3Rpb25Bc3Np
c3RhbnRSZWFzb24pcmVhc29uOwogCistIChCT09MKV9oYXNGb2N1c2VkRWxlbWVudDsKIC0gKHZv
aWQpX3pvb21Ub1JldmVhbEZvY3VzZWRFbGVtZW50OwogCiAtICh2b2lkKWNhbmNlbFBvaW50ZXJz
Rm9yR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2du
aXplcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDE5YTI3ZDEzNjIxMDVhMjg4MDNmYzU5ZDIyYTY3ZTE2
Zjg1NWFmMmMuLmU3MmRjZThkYmJmYjU2MDA4ZDAzN2Q4MzcwZmQ1NWU1NzllNGFmZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtNjc2LDExICs2NzYsNiBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBX
S0NvbnRlbnRWaWV3IChXS0ludGVyYWN0aW9uKQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaGFzRm9j
dXNlZEVsZW1lbnQoV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uIGZvY3VzZWRFbGVt
ZW50SW5mb3JtYXRpb24pCi17Ci0gICAgcmV0dXJuIChmb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
LmVsZW1lbnRUeXBlICE9IFdlYktpdDo6SW5wdXRUeXBlOjpOb25lKTsKLX0KLQogLSAoQk9PTClw
cmV2ZW50c1Bhbm5pbmdJblhBeGlzCiB7CiAgICAgcmV0dXJuIF9wcmV2ZW50c1Bhbm5pbmdJblhB
eGlzOwpAQCAtMTc2Nyw3ICsxNzYyLDcgQEAgLSAodm9pZClfZGlkR2V0VGFwSGlnaGxpZ2h0Rm9y
UmVxdWVzdDoodWludDY0X3QpcmVxdWVzdElEIGNvbG9yOihjb25zdCBXZWJDb3JlOjoKICAgICBp
ZiAoIV9pc1RhcEhpZ2hsaWdodElEVmFsaWQgfHwgX2xhdGVzdFRhcElEICE9IHJlcXVlc3RJRCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGhhc0ZvY3VzZWRFbGVtZW50KF9mb2N1c2VkRWxl
bWVudEluZm9ybWF0aW9uKSAmJiBfcG9zaXRpb25JbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dCAm
JiBfcG9zaXRpb25JbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dC0+aXNTYW1lRWxlbWVudChfZm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5lbGVtZW50Q29udGV4dCkpCisgICAgaWYgKHNlbGYuX2hh
c0ZvY3VzZWRFbGVtZW50ICYmIF9wb3NpdGlvbkluZm9ybWF0aW9uLmVsZW1lbnRDb250ZXh0ICYm
IF9wb3NpdGlvbkluZm9ybWF0aW9uLmVsZW1lbnRDb250ZXh0LT5pc1NhbWVFbGVtZW50KF9mb2N1
c2VkRWxlbWVudEluZm9ybWF0aW9uLmVsZW1lbnRDb250ZXh0KSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgX2lzVGFwSGlnaGxpZ2h0SURWYWxpZCA9IE5POwpAQCAtMTk1OSw3ICsxOTU0LDcgQEAg
LSAoVUlWaWV3ICopaW5wdXRWaWV3CiAKIC0gKFVJVmlldyAqKWlucHV0Vmlld0ZvcldlYlZpZXcK
IHsKLSAgICBpZiAoIWhhc0ZvY3VzZWRFbGVtZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
KSkKKyAgICBpZiAoIXNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50KQogICAgICAgICByZXR1cm4gbmls
OwogCiAgICAgaWYgKF9pbnB1dFBlcmlwaGVyYWwpIHsKQEAgLTE5ODksNyArMTk4NCw3IEBAIC0g
KFVJVmlldyAqKWlucHV0Vmlld0ZvcldlYlZpZXcKIAogLSAoQ0dSZWN0KV9zZWxlY3Rpb25DbGlw
UmVjdAogewotICAgIGlmICghaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50SW5mb3Jt
YXRpb24pKQorICAgIGlmICghc2VsZi5faGFzRm9jdXNlZEVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBDR1JlY3ROdWxsOwogCiAgICAgaWYgKF9wYWdlLT53YWl0aW5nRm9yUG9zdExheW91dEVkaXRv
clN0YXRlVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQoKSkKQEAgLTIzNTksNyArMjM1NCw3IEBA
IC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXpl
ciAqKWdlc3R1cmVSZWNvZ25pemVyCiAgICAgICAgIHx8IGdlc3R1cmVSZWNvZ25pemVyID09IF9u
b25CbG9ja2luZ0RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyCiAgICAgICAgIHx8IGdlc3R1cmVS
ZWNvZ25pemVyID09IF90d29GaW5nZXJEb3VibGVUYXBHZXN0dXJlUmVjb2duaXplcikgewogCi0g
ICAgICAgIGlmIChoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbikp
IHsKKyAgICAgICAgaWYgKHNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAv
LyBSZXF1ZXN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBwb3NpdGlvbiB3aXRoIHN5bmMgbWVzc2Fn
ZS4KICAgICAgICAgICAgIC8vIElmIHRoZSBmb2N1c2VkIGVsZW1lbnQgaXMgdGhlIHNhbWUsIHBy
ZXZlbnQgdGhlIGdlc3R1cmUuCiAgICAgICAgICAgICBpZiAoIVtzZWxmIGVuc3VyZVBvc2l0aW9u
SW5mb3JtYXRpb25Jc1VwVG9EYXRlOldlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3QoV2ViQ29yZTo6cm91bmRlZEludFBvaW50KHBvaW50KSldKQpAQCAtMjM3Myw3ICsyMzY4LDcg
QEAgLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOihVSUdlc3R1cmVSZWNvZ25p
emVyICopZ2VzdHVyZVJlY29nbml6ZXIKICAgICAgICAgaWYgKGlzSW50ZXJydXB0aW5nRGVjZWxl
cmF0aW9uRm9yU2Nyb2xsVmlld09yQW5jZXN0b3IoW19oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplciBsYXN0VG91Y2hlZFNjcm9sbFZpZXddKSkKICAgICAgICAgICAgIHJldHVybiBO
TzsKIAotICAgICAgICBpZiAoaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50SW5mb3Jt
YXRpb24pKSB7CisgICAgICAgIGlmIChzZWxmLl9oYXNGb2N1c2VkRWxlbWVudCkgewogICAgICAg
ICAgICAgLy8gVGhpcyBpcyBhIGRpZmZlcmVudCBlbGVtZW50IHRoYW4gdGhlIGZvY3VzZWQgb25l
LgogICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgZ2VzdHVyZSBpZiB0aGVyZSBpcyBubyBub2Rl
LgogICAgICAgICAgICAgLy8gQWxsb3cgdGhlIGdlc3R1cmUgaWYgaXQgaXMgYSBub2RlIHRoYXQg
d2FudHMgaGlnaGxpZ2h0IG9yIGlmIHRoZXJlIGlzIGFuIGFjdGlvbiBmb3IgaXQuCkBAIC0yNDA4
LDcgKzI0MDMsNyBAQCAtIChCT09MKWdlc3R1cmVSZWNvZ25pemVyU2hvdWxkQmVnaW46KFVJR2Vz
dHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogICAgICAgICBpZiAoIVtzZWxmIGVu
c3VyZVBvc2l0aW9uSW5mb3JtYXRpb25Jc1VwVG9EYXRlOnJlcXVlc3RdKQogICAgICAgICAgICAg
cmV0dXJuIE5POwogCi0gICAgICAgIGlmIChoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbikpIHsKKyAgICAgICAgaWYgKHNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50KSB7
CiAgICAgICAgICAgICAvLyBQcmV2ZW50IHRoZSBnZXN0dXJlIGlmIGl0IGlzIHRoZSBzYW1lIG5v
ZGUuCiAgICAgICAgICAgICBpZiAoX3Bvc2l0aW9uSW5mb3JtYXRpb24uZWxlbWVudENvbnRleHQg
JiYgX3Bvc2l0aW9uSW5mb3JtYXRpb24uZWxlbWVudENvbnRleHQtPmlzU2FtZUVsZW1lbnQoX2Zv
Y3VzZWRFbGVtZW50SW5mb3JtYXRpb24uZWxlbWVudENvbnRleHQpKQogICAgICAgICAgICAgICAg
IHJldHVybiBOTzsKQEAgLTMyNzAsOSArMzI2NSw5IEBAIC0gKEJPT0wpY2FuUGVyZm9ybUFjdGlv
bkZvcldlYlZpZXc6KFNFTClhY3Rpb24gd2l0aFNlbmRlcjooaWQpc2VuZGVyCiAgICAgICAgIHJl
dHVybiBhY3Rpb24gPT0gQHNlbGVjdG9yKHBhc3RlOik7CiAKICAgICBpZiAoYWN0aW9uID09IEBz
ZWxlY3RvcihfbmV4dEFjY2Vzc29yeVRhYjopKQotICAgICAgICByZXR1cm4gaGFzRm9jdXNlZEVs
ZW1lbnQoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24pICYmIF9mb2N1c2VkRWxlbWVudEluZm9y
bWF0aW9uLmhhc05leHROb2RlOworICAgICAgICByZXR1cm4gc2VsZi5faGFzRm9jdXNlZEVsZW1l
bnQgJiYgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaGFzTmV4dE5vZGU7CiAgICAgaWYgKGFj
dGlvbiA9PSBAc2VsZWN0b3IoX3ByZXZpb3VzQWNjZXNzb3J5VGFiOikpCi0gICAgICAgIHJldHVy
biBoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbikgJiYgX2ZvY3Vz
ZWRFbGVtZW50SW5mb3JtYXRpb24uaGFzUHJldmlvdXNOb2RlOworICAgICAgICByZXR1cm4gc2Vs
Zi5faGFzRm9jdXNlZEVsZW1lbnQgJiYgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaGFzUHJl
dmlvdXNOb2RlOwogCiAgICAgYXV0byBlZGl0b3JTdGF0ZSA9IF9wYWdlLT5lZGl0b3JTdGF0ZSgp
OwogICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKF9zaG93VGV4dFN0eWxlT3B0aW9uczopKQpA
QCAtMzg2Myw5ICszODU4LDkgQEAgc3RhdGljIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3Vj
aChXS0NvbnRlbnRWaWV3ICp2aWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2kKICAgICBbKFVJV0tU
ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgKilbdmlldyBpbnRlcmFjdGlvbkFzc2lzdGFudF0gc2Vs
ZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxlY3Rpb25Ub3Vj
aDp0b1VJV0tTZWxlY3Rpb25Ub3VjaCgoV2ViS2l0OjpTZWxlY3Rpb25Ub3VjaCl0b3VjaCkgd2l0
aEZsYWdzOnN0YXRpY19jYXN0PFVJV0tTZWxlY3Rpb25GbGFncz4oZmxhZ3MpXTsKIH0KIAotLSAo
Qk9PTClfaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudAorLSAoQk9PTClfaGFzRm9jdXNl
ZEVsZW1lbnQKIHsKLSAgICByZXR1cm4gaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24pOworICAgIHJldHVybiBfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSAhPSBXZWJLaXQ6OklucHV0VHlwZTo6Tm9uZTsKIH0KIAogLSAodm9pZCljaGFuZ2VT
ZWxlY3Rpb25XaXRoR2VzdHVyZUF0OihDR1BvaW50KXBvaW50IHdpdGhHZXN0dXJlOihVSVdLR2Vz
dHVyZVR5cGUpZ2VzdHVyZVR5cGUgd2l0aFN0YXRlOihVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGUp
c3RhdGUKQEAgLTM4NzYsNyArMzg3MSw3IEBAIC0gKHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aEdl
c3R1cmVBdDooQ0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBlCiAtICh2
b2lkKWNoYW5nZVNlbGVjdGlvbldpdGhHZXN0dXJlQXQ6KENHUG9pbnQpcG9pbnQgd2l0aEdlc3R1
cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJlVHlwZSB3aXRoU3RhdGU6KFVJR2VzdHVyZVJlY29n
bml6ZXJTdGF0ZSlzdGF0ZSB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFncwogewog
ICAgIF91c2luZ0dlc3R1cmVGb3JTZWxlY3Rpb24gPSBZRVM7Ci0gICAgX3BhZ2UtPnNlbGVjdFdp
dGhHZXN0dXJlKFdlYkNvcmU6OkludFBvaW50KHBvaW50KSwgV2ViQ29yZTo6Q2hhcmFjdGVyR3Jh
bnVsYXJpdHksIHN0YXRpY19jYXN0PHVpbnQzMl90Pih0b0dlc3R1cmVUeXBlKGdlc3R1cmVUeXBl
KSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pih0b0dlc3R1cmVSZWNvZ25pemVyU3RhdGUoc3RhdGUp
KSwgW3NlbGYgX2lzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnRdLCBbc2VsZiwgc3RhdGUs
IGZsYWdzXShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIHVpbnQzMl90IGdlc3R1cmVU
eXBlLCB1aW50MzJfdCBnZXN0dXJlU3RhdGUsIHVpbnQzMl90IGlubmVyRmxhZ3MsIFdlYktpdDo6
Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgIF9wYWdlLT5zZWxlY3RXaXRoR2VzdHVy
ZShXZWJDb3JlOjpJbnRQb2ludChwb2ludCksIFdlYkNvcmU6OkNoYXJhY3RlckdyYW51bGFyaXR5
LCBzdGF0aWNfY2FzdDx1aW50MzJfdD4odG9HZXN0dXJlVHlwZShnZXN0dXJlVHlwZSkpLCBzdGF0
aWNfY2FzdDx1aW50MzJfdD4odG9HZXN0dXJlUmVjb2duaXplclN0YXRlKHN0YXRlKSksIHNlbGYu
X2hhc0ZvY3VzZWRFbGVtZW50LCBbc2VsZiwgc3RhdGUsIGZsYWdzXShjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgcG9pbnQsIHVpbnQzMl90IGdlc3R1cmVUeXBlLCB1aW50MzJfdCBnZXN0dXJlU3Rh
dGUsIHVpbnQzMl90IGlubmVyRmxhZ3MsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJv
cikgewogICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkV2l0aEdlc3R1cmUoc2VsZiwgcG9pbnQsIGdl
c3R1cmVUeXBlLCBnZXN0dXJlU3RhdGUsIGZsYWdzIHwgaW5uZXJGbGFncywgZXJyb3IpOwogICAg
ICAgICBpZiAoc3RhdGUgPT0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlRW5kZWQgfHwgc3RhdGUg
PT0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2FuY2VsbGVkKQogICAgICAgICAgICAgX3VzaW5n
R2VzdHVyZUZvclNlbGVjdGlvbiA9IE5POwpAQCAtMzk5NSw3ICszOTkwLDcgQEAgLSAodm9pZCly
ZXF1ZXN0UmVjdHNUb0V2YWRlRm9yU2VsZWN0aW9uQ29tbWFuZHNXaXRoQ29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQoXikoTlMKIAogLSAodm9pZClzZWxlY3RQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQp
cG9pbnQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVy
CiB7Ci0gICAgW3NlbGYgX3NlbGVjdFBvc2l0aW9uQXRQb2ludDpwb2ludCBzdGF5aW5nV2l0aGlu
Rm9jdXNlZEVsZW1lbnQ6W3NlbGYgX2lzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnRdIGNv
bXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKKyAgICBbc2VsZiBfc2VsZWN0UG9z
aXRpb25BdFBvaW50OnBvaW50IHN0YXlpbmdXaXRoaW5Gb2N1c2VkRWxlbWVudDpzZWxmLl9oYXNG
b2N1c2VkRWxlbWVudCBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07CiB9CiAK
IC0gKHZvaWQpX3NlbGVjdFBvc2l0aW9uQXRQb2ludDooQ0dQb2ludClwb2ludCBzdGF5aW5nV2l0
aGluRm9jdXNlZEVsZW1lbnQ6KEJPT0wpc3RheWluZ1dpdGhpbkZvY3VzZWRFbGVtZW50IGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgpAQCAtNDAxNyw3
ICs0MDEyLDcgQEAgLSAodm9pZClzZWxlY3RQb3NpdGlvbkF0Qm91bmRhcnk6KFVJVGV4dEdyYW51
bGFyaXR5KWdyYW51bGFyaXR5IGluRGlyZWN0aW9uOihVSVQKICAgICBVSVdLU2VsZWN0aW9uQ29t
cGxldGlvbkhhbmRsZXIgc2VsZWN0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciBjb3B5
XTsKICAgICBSZXRhaW5QdHI8V0tDb250ZW50Vmlldz4gdmlldyA9IHNlbGY7CiAgICAgCi0gICAg
X3BhZ2UtPnNlbGVjdFBvc2l0aW9uQXRCb3VuZGFyeVdpdGhEaXJlY3Rpb24oV2ViQ29yZTo6SW50
UG9pbnQocG9pbnQpLCB0b1dLVGV4dEdyYW51bGFyaXR5KGdyYW51bGFyaXR5KSwgdG9XS1NlbGVj
dGlvbkRpcmVjdGlvbihkaXJlY3Rpb24pLCBbc2VsZiBfaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2Vk
RWxlbWVudF0sIFt2aWV3LCBzZWxlY3Rpb25IYW5kbGVyXShXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6
RXJyb3IgZXJyb3IpIHsKKyAgICBfcGFnZS0+c2VsZWN0UG9zaXRpb25BdEJvdW5kYXJ5V2l0aERp
cmVjdGlvbihXZWJDb3JlOjpJbnRQb2ludChwb2ludCksIHRvV0tUZXh0R3JhbnVsYXJpdHkoZ3Jh
bnVsYXJpdHkpLCB0b1dLU2VsZWN0aW9uRGlyZWN0aW9uKGRpcmVjdGlvbiksIHNlbGYuX2hhc0Zv
Y3VzZWRFbGVtZW50LCBbdmlldywgc2VsZWN0aW9uSGFuZGxlcl0oV2ViS2l0OjpDYWxsYmFja0Jh
c2U6OkVycm9yIGVycm9yKSB7CiAgICAgICAgIHNlbGVjdGlvbkhhbmRsZXIoKTsKICAgICAgICAg
dmlldy0+X3VzaW5nR2VzdHVyZUZvclNlbGVjdGlvbiA9IE5POwogICAgICAgICBbc2VsZWN0aW9u
SGFuZGxlciByZWxlYXNlXTsKQEAgLTQwNDQsNyArNDAzOSw3IEBAIC0gKHZvaWQpc2VsZWN0VGV4
dFdpdGhHcmFudWxhcml0eTooVUlUZXh0R3JhbnVsYXJpdHkpZ3JhbnVsYXJpdHkgYXRQb2ludDoo
Q0dQb2luCiAgICAgVUlXS1NlbGVjdGlvbkNvbXBsZXRpb25IYW5kbGVyIHNlbGVjdGlvbkhhbmRs
ZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgY29weV07CiAgICAgUmV0YWluUHRyPFdLQ29udGVudFZp
ZXc+IHZpZXcgPSBzZWxmOwogCi0gICAgX3BhZ2UtPnNlbGVjdFRleHRXaXRoR3JhbnVsYXJpdHlB
dFBvaW50KFdlYkNvcmU6OkludFBvaW50KHBvaW50KSwgdG9XS1RleHRHcmFudWxhcml0eShncmFu
dWxhcml0eSksIFtzZWxmIF9pc0ludGVyYWN0aW5nV2l0aEZvY3VzZWRFbGVtZW50XSwgW3ZpZXcs
IHNlbGVjdGlvbkhhbmRsZXJdKFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewor
ICAgIF9wYWdlLT5zZWxlY3RUZXh0V2l0aEdyYW51bGFyaXR5QXRQb2ludChXZWJDb3JlOjpJbnRQ
b2ludChwb2ludCksIHRvV0tUZXh0R3JhbnVsYXJpdHkoZ3JhbnVsYXJpdHkpLCBzZWxmLl9oYXNG
b2N1c2VkRWxlbWVudCwgW3ZpZXcsIHNlbGVjdGlvbkhhbmRsZXJdKFdlYktpdDo6Q2FsbGJhY2tC
YXNlOjpFcnJvciBlcnJvcikgewogICAgICAgICBzZWxlY3Rpb25IYW5kbGVyKCk7CiAgICAgICAg
IHZpZXctPl91c2luZ0dlc3R1cmVGb3JTZWxlY3Rpb24gPSBOTzsKICAgICAgICAgLS12aWV3LT5f
c3VwcHJlc3NOb25FZGl0YWJsZVNpbmdsZVRhcFRleHRJbnRlcmFjdGlvbkNvdW50OwpAQCAtNDA2
Nyw3ICs0MDYyLDcgQEAgLSAodm9pZCl1cGRhdGVTZWxlY3Rpb25XaXRoRXh0ZW50UG9pbnQ6KENH
UG9pbnQpcG9pbnQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4KICAgICBVSVdLU2VsZWN0aW9u
V2l0aERpcmVjdGlvbkNvbXBsZXRpb25IYW5kbGVyIHNlbGVjdGlvbkhhbmRsZXIgPSBbY29tcGxl
dGlvbkhhbmRsZXIgY29weV07CiAgICAgCiAgICAgYXV0byByZXNwZWN0U2VsZWN0aW9uQW5jaG9y
ID0gc2VsZi5pbnRlcmFjdGlvbkFzc2lzdGFudC5fd2tfaGFzRmxvYXRpbmdDdXJzb3IgPyBXZWJL
aXQ6OlJlc3BlY3RTZWxlY3Rpb25BbmNob3I6OlllcyA6IFdlYktpdDo6UmVzcGVjdFNlbGVjdGlv
bkFuY2hvcjo6Tm87Ci0gICAgX3BhZ2UtPnVwZGF0ZVNlbGVjdGlvbldpdGhFeHRlbnRQb2ludChX
ZWJDb3JlOjpJbnRQb2ludChwb2ludCksIHNlbGYuX2lzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVs
ZW1lbnQsIHJlc3BlY3RTZWxlY3Rpb25BbmNob3IsIFtzZWxlY3Rpb25IYW5kbGVyXShib29sIGVu
ZElzTW92aW5nLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKKyAgICBfcGFn
ZS0+dXBkYXRlU2VsZWN0aW9uV2l0aEV4dGVudFBvaW50KFdlYkNvcmU6OkludFBvaW50KHBvaW50
KSwgc2VsZi5faGFzRm9jdXNlZEVsZW1lbnQsIHJlc3BlY3RTZWxlY3Rpb25BbmNob3IsIFtzZWxl
Y3Rpb25IYW5kbGVyXShib29sIGVuZElzTW92aW5nLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJy
b3IgZXJyb3IpIHsKICAgICAgICAgc2VsZWN0aW9uSGFuZGxlcihlbmRJc01vdmluZyk7CiAgICAg
ICAgIFtzZWxlY3Rpb25IYW5kbGVyIHJlbGVhc2VdOwogICAgIH0pOwpAQCAtNDA3OCw3ICs0MDcz
LDcgQEAgLSAodm9pZCl1cGRhdGVTZWxlY3Rpb25XaXRoRXh0ZW50UG9pbnQ6KENHUG9pbnQpcG9p
bnQgd2l0aEJvdW5kYXJ5OihVSVRleHRHcmFudWwKICAgICBVSVdLU2VsZWN0aW9uV2l0aERpcmVj
dGlvbkNvbXBsZXRpb25IYW5kbGVyIHNlbGVjdGlvbkhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRs
ZXIgY29weV07CiAgICAgCiAgICAgKytfc3VwcHJlc3NOb25FZGl0YWJsZVNpbmdsZVRhcFRleHRJ
bnRlcmFjdGlvbkNvdW50OwotICAgIF9wYWdlLT51cGRhdGVTZWxlY3Rpb25XaXRoRXh0ZW50UG9p
bnRBbmRCb3VuZGFyeShXZWJDb3JlOjpJbnRQb2ludChwb2ludCksIHRvV0tUZXh0R3JhbnVsYXJp
dHkoZ3JhbnVsYXJpdHkpLCBbc2VsZiBfaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudF0s
IFtzZWxlY3Rpb25IYW5kbGVyLCBwcm90ZWN0ZWRTZWxmID0gcmV0YWluUHRyKHNlbGYpXSAoYm9v
bCBlbmRJc01vdmluZywgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7CisgICAg
X3BhZ2UtPnVwZGF0ZVNlbGVjdGlvbldpdGhFeHRlbnRQb2ludEFuZEJvdW5kYXJ5KFdlYkNvcmU6
OkludFBvaW50KHBvaW50KSwgdG9XS1RleHRHcmFudWxhcml0eShncmFudWxhcml0eSksIHNlbGYu
X2hhc0ZvY3VzZWRFbGVtZW50LCBbc2VsZWN0aW9uSGFuZGxlciwgcHJvdGVjdGVkU2VsZiA9IHJl
dGFpblB0cihzZWxmKV0gKGJvb2wgZW5kSXNNb3ZpbmcsIFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpF
cnJvciBlcnJvcikgewogICAgICAgICBzZWxlY3Rpb25IYW5kbGVyKGVuZElzTW92aW5nKTsKICAg
ICAgICAgW3NlbGVjdGlvbkhhbmRsZXIgcmVsZWFzZV07CiAgICAgICAgIC0tcHJvdGVjdGVkU2Vs
Zi0+X3N1cHByZXNzTm9uRWRpdGFibGVTaW5nbGVUYXBUZXh0SW50ZXJhY3Rpb25Db3VudDsKQEAg
LTQ1MDUsNyArNDUwMCw3IEBAIC0gKHZvaWQpc2V0U2VsZWN0ZWRUZXh0UmFuZ2U6KFVJVGV4dFJh
bmdlICopcmFuZ2UKICAgICBpZiAocmFuZ2UpCiAgICAgICAgIHJldHVybjsKICNpZiAhUExBVEZP
Uk0oTUFDQ0FUQUxZU1QpCi0gICAgaWYgKCFoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbikpCisgICAgaWYgKCFzZWxmLl9oYXNGb2N1c2VkRWxlbWVudCkKICAgICAg
ICAgcmV0dXJuOwogI2VuZGlmCiAgICAgW3NlbGYgY2xlYXJTZWxlY3Rpb25dOwpAQCAtNTY3NSw3
ICs1NjcwLDcgQEAgc3RhdGljIFJldGFpblB0cjxOU09iamVjdCA8V0tGb3JtUGVyaXBoZXJhbD4+
IGNyZWF0ZUlucHV0UGVyaXBoZXJhbFdpdGhWaWV3KFdlYksKIAogLSAodm9pZClfZWxlbWVudERp
ZEZvY3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mKWluZm9ybWF0
aW9uIHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQcmV2aW91
c05vZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBhY3Rpdml0eVN0YXRlQ2hhbmdlczooT3B0aW9u
U2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+KWFjdGl2aXR5U3RhdGVDaGFuZ2VzIHVz
ZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4gKil1c2VyT2JqZWN0CiB7Ci0gICAg
U2V0Rm9yU2NvcGU8Qk9PTD4gaXNDaGFuZ2luZ0ZvY3VzRm9yU2NvcGUgeyBfaXNDaGFuZ2luZ0Zv
Y3VzLCBoYXNGb2N1c2VkRWxlbWVudChfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbikgfTsKKyAg
ICBTZXRGb3JTY29wZTxCT09MPiBpc0NoYW5naW5nRm9jdXNGb3JTY29wZSB7IF9pc0NoYW5naW5n
Rm9jdXMsIHNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50IH07CiAgICAgU2V0Rm9yU2NvcGU8Qk9PTD4g
aXNGb2N1c2luZ0VsZW1lbnRXaXRoS2V5Ym9hcmRGb3JTY29wZSB7IF9pc0ZvY3VzaW5nRWxlbWVu
dFdpdGhLZXlib2FyZCwgc2hvdWxkU2hvd0tleWJvYXJkRm9yRWxlbWVudChpbmZvcm1hdGlvbikg
fTsKIAogICAgIGF1dG8gaW5wdXRWaWV3VXBkYXRlRGVmZXJyZXIgPSBzdGQ6OmV4Y2hhbmdlKF9p
bnB1dFZpZXdVcGRhdGVEZWZlcnJlciwgbnVsbHB0cik7CkBAIC01OTAwLDcgKzU4OTUsNyBAQCAt
ICh2b2lkKV9lbGVtZW50RGlkQmx1cgogCiAtICh2b2lkKV91cGRhdGVJbnB1dENvbnRleHRBZnRl
ckJsdXJyaW5nQW5kUmVmb2N1c2luZ0VsZW1lbnQKIHsKLSAgICBpZiAoIWhhc0ZvY3VzZWRFbGVt
ZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSB8fCAhX3N1cHByZXNzU2VsZWN0aW9uQXNz
aXN0YW50UmVhc29ucykKKyAgICBpZiAoIXNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50IHx8ICFfc3Vw
cHJlc3NTZWxlY3Rpb25Bc3Npc3RhbnRSZWFzb25zKQogICAgICAgICByZXR1cm47CiAKICAgICBb
VUlLZXlib2FyZEltcGwuYWN0aXZlSW5zdGFuY2UgdXBkYXRlRm9yQ2hhbmdlZFNlbGVjdGlvbl07
CkBAIC02MzYzLDcgKzYzNTgsNyBAQCAtICh2b2lkKV91cGRhdGVTZWxlY3Rpb25Bc3Npc3RhbnRT
dXBwcmVzc2lvblN0YXRlCiAgICAgICAgIGlmIChwb3N0TGF5b3V0RGF0YS5lZGl0YWJsZVJvb3RJ
c1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQpCiAgICAgICAgICAgICBlZGl0YWJsZVJvb3RJc1Ry
YW5zcGFyZW50T3JGdWxseUNsaXBwZWQgPSBZRVM7CiAKLSAgICAgICAgaWYgKGhhc0ZvY3VzZWRF
bGVtZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSkgeworICAgICAgICBpZiAoc2VsZi5f
aGFzRm9jdXNlZEVsZW1lbnQpIHsKICAgICAgICAgICAgIGF1dG8gZWxlbWVudEFyZWEgPSBwb3N0
TGF5b3V0RGF0YS5mb2N1c2VkRWxlbWVudFJlY3QuYXJlYTxSZWNvcmRPdmVyZmxvdz4oKTsKICAg
ICAgICAgICAgIGlmICghZWxlbWVudEFyZWEuaGFzT3ZlcmZsb3dlZCgpICYmIGVsZW1lbnRBcmVh
IDwgbWluaW11bUZvY3VzZWRFbGVtZW50QXJlYUZvclN1cHByZXNzaW5nU2VsZWN0aW9uQXNzaXN0
YW50KQogICAgICAgICAgICAgICAgIGZvY3VzZWRFbGVtZW50SXNUb29TbWFsbCA9IFlFUzsKQEAg
LTc0MDAsNyArNzM5NSw3IEBAIC0gKFVJVmlldyAqKXRleHRFZmZlY3RzV2luZG93CiAtIChOU0Rp
Y3Rpb25hcnkgKilfYXV0b2ZpbGxDb250ZXh0CiB7CiAgICAgQk9PTCBwcm92aWRlU3Ryb25nUGFz
c3dvcmRBc3Npc3RhbmNlID0gX2ZvY3VzUmVxdWlyZXNTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2Ug
JiYgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gV2ViS2l0OjpJbnB1
dFR5cGU6OlBhc3N3b3JkOwotICAgIGlmICghaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVt
ZW50SW5mb3JtYXRpb24pIHx8ICghX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uYWNjZXB0c0F1
dG9maWxsZWRMb2dpbkNyZWRlbnRpYWxzICYmICFwcm92aWRlU3Ryb25nUGFzc3dvcmRBc3Npc3Rh
bmNlKSkKKyAgICBpZiAoIXNlbGYuX2hhc0ZvY3VzZWRFbGVtZW50IHx8ICghX2ZvY3VzZWRFbGVt
ZW50SW5mb3JtYXRpb24uYWNjZXB0c0F1dG9maWxsZWRMb2dpbkNyZWRlbnRpYWxzICYmICFwcm92
aWRlU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAg
IGlmIChwcm92aWRlU3Ryb25nUGFzc3dvcmRBc3Npc3RhbmNlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>