<?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>212830</bug_id>
          
          <creation_ts>2020-06-05 09:50:45 -0700</creation_ts>
          <short_desc>-_focusTextInputContext should reposition the caret if called for an already focused text input context</short_desc>
          <delta_ts>2020-06-27 15:59:53 -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>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1659631</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 09:50:45 -0700</bug_when>
    <thetext>Update the code based on new feedback. -_focusTextInputContext should reposition the caret if called for an already focused text input context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659632</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-05 09:50:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/64032956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659671</commentid>
    <comment_count>2</comment_count>
      <attachid>401169</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 10:17:27 -0700</bug_when>
    <thetext>Created attachment 401169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659672</commentid>
    <comment_count>3</comment_count>
      <attachid>401169</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-05 10:21:18 -0700</bug_when>
    <thetext>Comment on attachment 401169
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4297
&gt; +    _pointInsideLastFocusedTextInputContext = WTF::nullopt;

Should we also reset this in `-cleanUpInteraction`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659676</commentid>
    <comment_count>4</comment_count>
      <attachid>401169</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 10:27:35 -0700</bug_when>
    <thetext>Comment on attachment 401169
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4297
&gt;&gt; +    _pointInsideLastFocusedTextInputContext = WTF::nullopt;
&gt; 
&gt; Should we also reset this in `-cleanUpInteraction`?

Yes, of course</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659677</commentid>
    <comment_count>5</comment_count>
      <attachid>401169</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 10:27:47 -0700</bug_when>
    <thetext>Comment on attachment 401169
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659680</commentid>
    <comment_count>6</comment_count>
      <attachid>401170</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 10:30:43 -0700</bug_when>
    <thetext>Created attachment 401170
To land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659795</commentid>
    <comment_count>7</comment_count>
      <attachid>401170</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 14:29:11 -0700</bug_when>
    <thetext>Comment on attachment 401170
To land

Clearing flags on attachment: 401170

Committed r262654: &lt;https://trac.webkit.org/changeset/262654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659796</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-05 14:29:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666818</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-27 15:50:16 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #7)
&gt; Comment on attachment 401170 [details]
&gt; To land
&gt; 
&gt; Clearing flags on attachment: 401170
&gt; 
&gt; Committed r262654: &lt;https://trac.webkit.org/changeset/262654&gt;


This was wrong and caused &lt;rdar://problem/64664156&gt;. Reverting...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666819</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-06-27 15:59:53 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #9)
&gt; (In reply to Daniel Bates from comment #7)
&gt; &gt; Comment on attachment 401170 [details]
&gt; &gt; To land
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 401170
&gt; &gt; 
&gt; &gt; Committed r262654: &lt;https://trac.webkit.org/changeset/262654&gt;
&gt; 
&gt; 
&gt; This was wrong and caused &lt;rdar://problem/64664156&gt;. Reverting...

Reverted in &lt;https://trac.webkit.org/changeset/263630&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401169</attachid>
            <date>2020-06-05 10:17:27 -0700</date>
            <delta_ts>2020-06-05 10:30:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212830-20200605101727.patch</filename>
            <type>text/plain</type>
            <size>11969</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkxMDU3ZTY4MmZjZTc4ZmZm
MzEwYTViNGNiZjU3NmNiZjk3ZGMwOWUuLmE5MjgxYjFhMTM4YWZkNzMyOWJiMjY5MWY3M2IwNDRk
ODM2Yzg0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMDYtMDUgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIC1fZm9jdXNUZXh0SW5wdXRDb250
ZXh0IHNob3VsZCByZXBvc2l0aW9uIHRoZSBjYXJldCBpZiBjYWxsZWQgZm9yIGFuIGFscmVhZHkg
Zm9jdXNlZCB0ZXh0IGlucHV0IGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQwMzI5
NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRoZSBjb2RlIGJhc2VkIG9uIG5ldyBmZWVkYmFjazogdGhlIGNhcmV0IHNob3VsZCBub3cg
YmUgcmUtcG9zaXRpb25lZCB3aGVuIC1fZm9jdXNUZXh0SW5wdXRDb250ZXh0CisgICAgICAgIGlz
IGNhbGxlZCBvbiBhbiBhbHJlYWR5IGFzc2lzdGVkIHRleHQgaW5wdXQgY29udGV4dC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWVdKTogUmVzZXQgc3RhdGUu
IFNlZSBiZWxvdyBmb3Igd2h5LgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9mb2N1c1RleHRJ
bnB1dENvbnRleHQ6cGxhY2VDYXJldEF0OmNvbXBsZXRpb25IYW5kbGVyOl0pOiBJIGNhbm5vdCBz
aW1wbHkgcmVtb3ZlIHRoZSBlYXJseQorICAgICAgICByZXR1cm4gaW4gLV9mb2N1c1RleHRJbnB1
dENvbnRleHQgdGhhdCBkZXRlY3RzIGlmIHRoZSBzcGVjaWZpZWQgdGV4dCBpbnB1dCBjb250ZXh0
IGlzIGFscmVhZHkgZm9jdXNlZCBiZWNhdXNlCisgICAgICAgIGl0IGNvdWxkIGVmZmVjdCB1c2Vy
LXZpc2libGUgcmVzcG9uc2l2ZW5lc3MgZHVlIHRvIGFuIEFwcGxlIGludGVybmFsIGNsaWVudCBp
bnZva2luZyB0aGlzIGZ1bmN0aW9uIG1vcmUgdGltZXMKKyAgICAgICAgdGhhbiBuZWNlc3Nhcnkg
d2l0aCB0aGUgc2FtZSBwb2ludCBkdXJpbmcgYSB0ZXh0IGludGVyYWN0aW9uLiBTZWUgPHJkYXI6
Ly9wcm9ibGVtLzU5NDMwODA2Pi4gVGhhdCByYWRhcgorICAgICAgICByZXByZXNlbnRzIGEgY29y
cmVjdG5lc3MgaXNzdWUuIEkgZGlkbid0IGFjdHVhbGx5IGV2YWx1YXRlIHdoZXRoZXIgcmVzcG9u
c2l2ZW5lc3MgaXMgYWZmZWN0ZWQgYnkgdGhpcyBwYXRjaCwKKyAgICAgICAgYnV0IEkgd291bGQg
ZmVlbCBtb3JlIGNvbmZpZGVudCB0aGF0IHRoZXJlIHdvdWxkIGJlIDAgaW1wYWN0IHdoZW4gcmVt
b3ZpbmcgdGhlIGVhcmx5IGJyYW5jaCBhZnRlciB0aGF0IHJhZGFyCisgICAgICAgIGlzIGZpeGVk
IHdpdGhvdXQgdGhlIG5lZWQgdG8gZXZlbiBwZXJmb3JtIGEgcmVzcG9uc2l2ZW5lc3MgYW5hbHlz
aXMuIE5vdGUgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgY29tbWVudCBhYm91dAorICAgICAgICB0
aGF0IHJhZGFyIGF0IHRoZSB0b3Agb2YgdGhpcyBmdW5jdGlvbi4KKwogMjAyMC0wMy0yNSAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gU2hvdWxkIHNo
b3cgaW5wdXQgdmlldyB3aGVuIGJlY2FtZSBmaXJzdCByZXNwb25kZXIgaWYga2V5Ym9hcmQgd2Fz
IHNob3dpbmcgd2hlbiB0aGUgdmlldyB3YXMgcmVzaWduZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBkNWEx
MTJmYzUxNmEwNmJiY2YzNjNjNzUzYzk0ZDFiYjBkOWJhOTI4Li5mODQ4MWM5ZDJhNDFkMmViOWYz
N2E1ZTNlN2Q3ZmZiYTNlN2U3ZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zNjEsNiArMzYxLDggQEAg
c3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBCT09MIF90ZXh0SW50ZXJhY3Rpb25J
c0hhcHBlbmluZzsKICAgICBib29sIF9pc1dhaXRpbmdPblBvc2l0aW9uSW5mb3JtYXRpb247CiAK
KyAgICBPcHRpb25hbDxXZWJDb3JlOjpJbnRQb2ludD4gX3BvaW50SW5zaWRlTGFzdEZvY3VzZWRU
ZXh0SW5wdXRDb250ZXh0OworCiAgICAgV2ViQ29yZTo6UG9pbnRlcklEIG1fY29tbWl0UG90ZW50
aWFsVGFwUG9pbnRlcklkOwogCiAgICAgQk9PTCBfa2V5Ym9hcmREaWRSZXF1ZXN0RGlzbWlzc2Fs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KaW5kZXggMDBhMjJmM2U4MDIwNzM3MjgxZGE3ZmQyNWY3YTI2Mzc1MjVj
YjEwNy4uNmFiNDRjZjg2YzMwN2I1MDZhMDA0YzI2MDM0ZmEwODRkZWMzNWYwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCkBAIC00Mjk0LDYgKzQyOTQsNyBAQCAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFp
bkZyYW1lCiAKICAgICBfdGV4dEludGVyYWN0aW9uRGlkQ2hhbmdlRm9jdXNlZEVsZW1lbnQgPSBO
TzsKICAgICBfdGV4dEludGVyYWN0aW9uSXNIYXBwZW5pbmcgPSBOTzsKKyAgICBfcG9pbnRJbnNp
ZGVMYXN0Rm9jdXNlZFRleHRJbnB1dENvbnRleHQgPSBXVEY6Om51bGxvcHQ7CiAgICAgX2hhc1Zh
bGlkUG9zaXRpb25JbmZvcm1hdGlvbiA9IE5POwogICAgIF9wb3NpdGlvbkluZm9ybWF0aW9uID0g
eyB9OwogfQpAQCAtNTE2NSwxMCArNTE2NiwxMiBAQCAtICh2b2lkKV9mb2N1c1RleHRJbnB1dENv
bnRleHQ6KF9XS1RleHRJbnB1dENvbnRleHQgKiljb250ZXh0IHBsYWNlQ2FyZXRBdDooQ0dQbwog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihuaWwpOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIGlmIChbc2VsZiBfaXNUZXh0SW5wdXRDb250ZXh0Rm9jdXNlZDpjb250ZXh0XSkgeworICAg
IFdlYkNvcmU6OkludFBvaW50IHBvaW50SW5zaWRlVGV4dElucHV0Q29udGV4dCB7IHBvaW50IH07
CisgICAgaWYgKFtzZWxmIF9pc1RleHRJbnB1dENvbnRleHRGb2N1c2VkOmNvbnRleHRdICYmIF9w
b2ludEluc2lkZUxhc3RGb2N1c2VkVGV4dElucHV0Q29udGV4dCA9PSBwb2ludEluc2lkZVRleHRJ
bnB1dENvbnRleHQpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24uaXNSZWFkT25seSA/IG5pbCA6IHNlbGYpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQorICAgIF9wb2ludEluc2lkZUxhc3RGb2N1c2VkVGV4dElucHV0Q29udGV4dCA9IHBvaW50
SW5zaWRlVGV4dElucHV0Q29udGV4dDsKICAgICBfdXNpbmdHZXN0dXJlRm9yU2VsZWN0aW9uID0g
WUVTOwogICAgIGF1dG8gY2hlY2tGb2N1c2VkRWxlbWVudCA9IFt3ZWFrU2VsZiA9IFdlYWtPYmpD
UHRyPFdLQ29udGVudFZpZXc+IHsgc2VsZiB9LCBjb250ZXh0ID0gYWRvcHROUyhbY29udGV4dCBj
b3B5XSksIGNvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVy
KV0gKGJvb2wgc3VjY2VzcykgewogICAgICAgICBhdXRvIHN0cm9uZ1NlbGYgPSB3ZWFrU2VsZi5n
ZXQoKTsKQEAgLTUxODIsNyArNTE4NSw3IEBAIC0gKHZvaWQpX2ZvY3VzVGV4dElucHV0Q29udGV4
dDooX1dLVGV4dElucHV0Q29udGV4dCAqKWNvbnRleHQgcGxhY2VDYXJldEF0OihDR1BvCiAgICAg
ICAgIHN0cm9uZ1NlbGYtPl91c2luZ0dlc3R1cmVGb3JTZWxlY3Rpb24gPSBOTzsKICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoaXNGb2N1c2VkICYmIGlzRWRpdGFibGUgPyBzdHJvbmdTZWxmLmdl
dCgpIDogbmlsKTsKICAgICB9OwotICAgIF9wYWdlLT5mb2N1c1RleHRJbnB1dENvbnRleHRBbmRQ
bGFjZUNhcmV0KGNvbnRleHQuX3RleHRJbnB1dENvbnRleHQsIFdlYkNvcmU6OkludFBvaW50IHsg
cG9pbnQgfSwgV1RGTW92ZShjaGVja0ZvY3VzZWRFbGVtZW50KSk7CisgICAgX3BhZ2UtPmZvY3Vz
VGV4dElucHV0Q29udGV4dEFuZFBsYWNlQ2FyZXQoY29udGV4dC5fdGV4dElucHV0Q29udGV4dCwg
cG9pbnRJbnNpZGVUZXh0SW5wdXRDb250ZXh0LCBXVEZNb3ZlKGNoZWNrRm9jdXNlZEVsZW1lbnQp
KTsKIH0KIAogLSAodm9pZClfcmVxdWVzdFRleHRJbnB1dENvbnRleHRzSW5SZWN0OihDR1JlY3Qp
cmVjdCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheTxfV0tUZXh0SW5wdXRDb250
ZXh0ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDEyNzFmZDQ2YzE0NTJmOGFlNmNkMGE4YjFhNjRkOTVh
NmQ3ZjYxOS4uNTU4MDc4NDkzNzQ3ZTA5MjgwODA5MjhkYWU1NzU2YTBmZGFiODA5NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDIwLTA2LTA1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICAtX2ZvY3VzVGV4dElucHV0Q29udGV4dCBzaG91bGQgcmVwb3NpdGlvbiB0aGUgY2FyZXQg
aWYgY2FsbGVkIGZvciBhbiBhbHJlYWR5IGZvY3VzZWQgdGV4dCBpbnB1dCBjb250ZXh0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI4MzAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzY0MDMyOTU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlLXB1cnBvc2Ugc29tZSBleGlzdGluZyB0ZXN0cyB0byBj
aGVjayBmb3IgdGhlIG5ldyBiZWhhdmlvci4KKworICAgICAgICBJbiBUZXh0SW50ZXJhY3Rpb25f
Rm9jdXNpbmdBc3Npc3RlZEVsZW1lbnRTaG91bGRTY3JvbGxUb1JldmVhbCwga2VlcCBpbiBtaW5k
IHRoYXQgdGhlIGNhcmV0IHBvc2l0aW9uIGlzCisgICAgICAgIGNoYW5naW5nOiBvbiBpT1MsIGNh
bGxpbmcgaW5wdXQuZm9jdXMoKSBwbGFjZXMgdGhlIGNhcmV0IGF0IHRoZSBlbmQgb2YgdGhlIGZp
ZWxkJ3MgY29udGVudC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUmVxdWVzdFRleHRJbnB1dENvbnRleHQubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAxOS0wOS0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgU3VwcG9ydCBidWlsZGluZyBXZWJLaXQgZm9yIE1hYyBDYXRhbHlzdCBmcm9tIFhj
b2RlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jl
cXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9SZXF1ZXN0VGV4dElucHV0Q29udGV4dC5tbQppbmRleCA4YTE4NDA1ZmY4OTA5MzVh
Nzc2OTUxOWE4NzFhNWVlMzUyNzUyYzEwLi40MTM1Njg0ZDQ4NzhiZjAzYjM4MGM1NGYzNTVhYTVl
MWNjMGRmOTBiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1JlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUmVxdWVzdFRleHRJbnB1dENvbnRleHQubW0KQEAgLTM0OCw3ICsz
NDgsNyBAQCBURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0LCBGb2N1c0FmdGVyTmF2aWdhdGlv
bikKICAgICBFWFBFQ1RfTlVMTChbd2ViVmlldyBzeW5jaHJvbm91c2x5Rm9jdXNUZXh0SW5wdXRD
b250ZXh0OmlucHV0RWxlbWVudC5nZXQoKSBwbGFjZUNhcmV0QXQ6W2lucHV0RWxlbWVudCBib3Vu
ZGluZ1JlY3RdLm9yaWdpbl0pOwogfQogCi1URVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0LCBD
YXJldFNob3VsZE5vdE1vdmVJbkFscmVhZHlGb2N1c2VkRmllbGQpCitURVNUKFJlcXVlc3RUZXh0
SW5wdXRDb250ZXh0LCBDYXJldFNob3VsZE1vdmVJbkFscmVhZHlGb2N1c2VkRmllbGQpCiB7CiAg
ICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKQEAgLTM2MSw3ICszNjEsNyBAQCBURVNUKFJl
cXVlc3RUZXh0SW5wdXRDb250ZXh0LCBDYXJldFNob3VsZE5vdE1vdmVJbkFscmVhZHlGb2N1c2Vk
RmllbGQpCiAKICAgICBFWFBFQ1RfV0tfU1RSRVEoIkJPRFkiLCBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lIl0pOwog
Ci0gICAgLy8gUGxhY2UgdGhlIGNhcmV0IHRoZSBlbmQgb2YgdGhlIGZpZWxkOyBzaG91bGQgc3Vj
Y2VlZCBiZWNhdXNzZSBmaWVsZCBpcyBub3QgYWxyZWFkeSBmb2N1c2VkLgorICAgIC8vIFBsYWNl
IHRoZSBjYXJldCB0aGUgZW5kIG9mIHRoZSBmaWVsZC4KICAgICBSZXRhaW5QdHI8X1dLVGV4dElu
cHV0Q29udGV4dD4gaW5wdXRFbGVtZW50ID0gY29udGV4dHNbMF07CiAgICAgQ0dSZWN0IGJvdW5k
aW5nUmVjdCA9IFtpbnB1dEVsZW1lbnQgYm91bmRpbmdSZWN0XTsKICAgICBDR1BvaW50IGVuZFBv
c2l0aW9uID0gQ0dQb2ludE1ha2UoYm91bmRpbmdSZWN0Lm9yaWdpbi54ICsgYm91bmRpbmdSZWN0
LnNpemUud2lkdGgsIGJvdW5kaW5nUmVjdC5vcmlnaW4ueSArIGJvdW5kaW5nUmVjdC5zaXplLmhl
aWdodCAvIDIpOwpAQCAtMzcwLDE0ICszNzAsMTQgQEAgVEVTVChSZXF1ZXN0VGV4dElucHV0Q29u
dGV4dCwgQ2FyZXRTaG91bGROb3RNb3ZlSW5BbHJlYWR5Rm9jdXNlZEZpZWxkKQogICAgIEVYUEVD
VF9FUShzdGF0aWNfY2FzdDxpbnQ+KGV4YW1wbGVUZXh0TGVuZ3RoKSwgW1t3ZWJWaWV3IG9iamVj
dEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlv
blN0YXJ0Il0gaW50VmFsdWVdKTsKICAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8aW50PihleGFt
cGxlVGV4dExlbmd0aCksIFtbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQiXSBpbnRWYWx1ZV0pOwogCi0gICAg
Ly8gVHJ5IHRvIHBsYWNlIHRoZSBjYXJldCBhdCB0aGUgc3RhcnQgb2YgdGhlIGZpZWxkOyBzaG91
bGQgZmFpbCBzaW5jZSBmaWVsZCBpcyBhbHJlYWR5IGZvY3VzZWQuCisgICAgLy8gVHJ5IHRvIHBs
YWNlIHRoZSBjYXJldCBhdCB0aGUgc3RhcnQgb2YgdGhlIGZpZWxkLgogICAgIEVYUEVDVF9FUSgo
VUlSZXNwb25kZXI8VUlUZXh0SW5wdXQ+ICopW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXdd
LCBbd2ViVmlldyBzeW5jaHJvbm91c2x5Rm9jdXNUZXh0SW5wdXRDb250ZXh0OmlucHV0RWxlbWVu
dC5nZXQoKSBwbGFjZUNhcmV0QXQ6Ym91bmRpbmdSZWN0Lm9yaWdpbl0pOwogICAgIEVYUEVDVF9X
S19TVFJFUSgiSU5QVVQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lIl0pOwotICAgIEVYUEVDVF9FUShzdGF0aWNf
Y2FzdDxpbnQ+KGV4YW1wbGVUZXh0TGVuZ3RoKSwgW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0Il0gaW50
VmFsdWVdKTsKLSAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8aW50PihleGFtcGxlVGV4dExlbmd0
aCksIFtbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQiXSBpbnRWYWx1ZV0pOworICAgIEVYUEVDVF9FUSgwLCBb
W3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuc2VsZWN0aW9uU3RhcnQiXSBpbnRWYWx1ZV0pOworICAgIEVYUEVDVF9FUSgwLCBbW3dl
YlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuc2VsZWN0aW9uRW5kIl0gaW50VmFsdWVdKTsKIH0KIAotVEVTVChSZXF1ZXN0VGV4dElucHV0
Q29udGV4dCwgQ2FyZXRTaG91bGROb3RNb3ZlSW5BbHJlYWR5Rm9jdXNlZEZpZWxkMikKK1RFU1Qo
UmVxdWVzdFRleHRJbnB1dENvbnRleHQsIENhcmV0U2hvdWxkTW92ZUluQWxyZWFkeUZvY3VzZWRG
aWVsZDIpCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwg
NjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKQEAgLTM5NCwxNCArMzk0
LDE0IEBAIFRFU1QoUmVxdWVzdFRleHRJbnB1dENvbnRleHQsIENhcmV0U2hvdWxkTm90TW92ZUlu
QWxyZWFkeUZvY3VzZWRGaWVsZDIpCiAgICAgRVhQRUNUX0VRKDEsIFtbd2ViVmlldyBvYmplY3RC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25T
dGFydCJdIGludFZhbHVlXSk7CiAgICAgRVhQRUNUX0VRKDEsIFtbd2ViVmlldyBvYmplY3RCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQi
XSBpbnRWYWx1ZV0pOwogCi0gICAgLy8gVXNlIC1mb2N1c1RleHRJbnB1dENvbnRleHQ6IHRvIHBs
YWNlIHRoZSBjYXJldCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWVsZDsgbm8gY2hhbmdlIGJl
Y2F1c2UgdGhlIGZpZWxkIGlzIGFscmVhZHkgZm9jdXNlZC4KKyAgICAvLyBVc2UgLWZvY3VzVGV4
dElucHV0Q29udGV4dDogdG8gcGxhY2UgdGhlIGNhcmV0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl
IGZpZWxkLgogICAgIE5TQXJyYXk8X1dLVGV4dElucHV0Q29udGV4dCAqPiAqY29udGV4dHMgPSBb
d2ViVmlldyBzeW5jaHJvbm91c2x5UmVxdWVzdFRleHRJbnB1dENvbnRleHRzSW5SZWN0Olt3ZWJW
aWV3IGJvdW5kc11dOwogICAgIEVYUEVDVF9FUSgxVUwsIGNvbnRleHRzLmNvdW50KTsKICAgICBS
ZXRhaW5QdHI8X1dLVGV4dElucHV0Q29udGV4dD4gaW5wdXRFbGVtZW50ID0gY29udGV4dHNbMF07
CiAgICAgRVhQRUNUX0VRKChVSVJlc3BvbmRlcjxVSVRleHRJbnB1dD4gKilbd2ViVmlldyB0ZXh0
SW5wdXRDb250ZW50Vmlld10sIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlGb2N1c1RleHRJbnB1dENv
bnRleHQ6aW5wdXRFbGVtZW50LmdldCgpIHBsYWNlQ2FyZXRBdDpbaW5wdXRFbGVtZW50IGJvdW5k
aW5nUmVjdF0ub3JpZ2luXSk7CiAgICAgRVhQRUNUX1dLX1NUUkVRKCJJTlBVVCIsIFt3ZWJWaWV3
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRh
Z05hbWUiXSk7Ci0gICAgRVhQRUNUX0VRKDEsIFtbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCJdIGludFZh
bHVlXSk7Ci0gICAgRVhQRUNUX0VRKDEsIFtbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQiXSBpbnRWYWx1ZV0p
OworICAgIEVYUEVDVF9FUSgwLCBbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQiXSBpbnRWYWx1ZV0pOwor
ICAgIEVYUEVDVF9FUSgwLCBbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kIl0gaW50VmFsdWVdKTsKIH0KIAog
VEVTVChSZXF1ZXN0VGV4dElucHV0Q29udGV4dCwgUGxhY2VDYXJldEluTm9uQXNzaXN0ZWRGb2N1
c2VkRmllbGQpCkBAIC04MTIsNyArODEyLDcgQEAgVEVTVChSZXF1ZXN0VGV4dElucHV0Q29udGV4
dCwgVGV4dEludGVyYWN0aW9uX0ZvY3VzRGVmb2N1c0ZvY3VzQWdhaW5TaG91bGRTY3JvbGwKICAg
ICBFWFBFQ1RfVFJVRShkaWRTY3JvbGwpOwogfQogCi1URVNUKFJlcXVlc3RUZXh0SW5wdXRDb250
ZXh0LCBUZXh0SW50ZXJhY3Rpb25fRm9jdXNpbmdBc3Npc3RlZEVsZW1lbnRTaG91bGROb3RTY3Jv
bGxUb1JldmVhbCkKK1RFU1QoUmVxdWVzdFRleHRJbnB1dENvbnRleHQsIFRleHRJbnRlcmFjdGlv
bl9Gb2N1c2luZ0Fzc2lzdGVkRWxlbWVudFNob3VsZFNjcm9sbFRvUmV2ZWFsKQogewogICAgIElQ
aG9uZVVzZXJJbnRlcmZhY2VTd2l6emxlciB1c2VySW50ZXJmYWNlU3dpenpsZXI7CiAKQEAgLTgz
NCwxNCArODM0LDE0IEBAIFRFU1QoUmVxdWVzdFRleHRJbnB1dENvbnRleHQsIFRleHRJbnRlcmFj
dGlvbl9Gb2N1c2luZ0Fzc2lzdGVkRWxlbWVudFNob3VsZE5vdFNjCiAgICAgYXV0byBzY3JvbGxE
ZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXh0SW50ZXJhY3Rpb25TY3JvbGxEZWxlZ2F0ZSBhbGxvY10g
aW5pdF0pOwogICAgIFt3ZWJWaWV3IHNjcm9sbFZpZXddLmRlbGVnYXRlID0gc2Nyb2xsRGVsZWdh
dGUuZ2V0KCk7CiAKLSAgICAvLyBGb2N1cyB0aGUgZmllbGQgdXNpbmcgLWZvY3VzVGV4dElucHV0
Q29udGV4dDsgc2Nyb2xsIHZpZXcgc2hvdWxkIG5vdCBzY3JvbGwgdG8gcmV2ZWFsIGZvY3VzZWQg
ZWxlbWVudC4KKyAgICAvLyBGb2N1cyB0aGUgZmllbGQgdXNpbmcgLWZvY3VzVGV4dElucHV0Q29u
dGV4dDsgc2Nyb2xsIHZpZXcgc2hvdWxkIHNjcm9sbCB0byByZXZlYWwgbmV3IGNhcmV0IHBvc2l0
aW9uIGluIHRoZSBmb2N1c2VkIGVsZW1lbnQuCiAgICAgewogICAgICAgICBUZXh0SW50ZXJhY3Rp
b25Gb3JTY29wZSBzY29wZSB7IHdlYlZpZXcsIGlucHV0RWxlbWVudCB9OwogICAgICAgICBFWFBF
Q1RfRVEoKFVJUmVzcG9uZGVyPFVJVGV4dElucHV0PiAqKVt3ZWJWaWV3IHRleHRJbnB1dENvbnRl
bnRWaWV3XSwgW3dlYlZpZXcgc3luY2hyb25vdXNseUZvY3VzVGV4dElucHV0Q29udGV4dDppbnB1
dEVsZW1lbnQuZ2V0KCkgcGxhY2VDYXJldEF0OltpbnB1dEVsZW1lbnQgYm91bmRpbmdSZWN0XS5v
cmlnaW5dKTsKICAgICB9CiAKICAgICBFWFBFQ1RfV0tfU1RSRVEoIklOUFVUIiwgW3dlYlZpZXcg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudGFn
TmFtZSJdKTsKLSAgICBFWFBFQ1RfRkFMU0UoZGlkU2Nyb2xsKTsKKyAgICBFWFBFQ1RfVFJVRShk
aWRTY3JvbGwpOwogfQogCiBURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0LCBUZXh0SW50ZXJh
Y3Rpb25fRm9jdXNpbmdOb25Bc3Npc3RlZEZvY3VzZWRFbGVtZW50U2Nyb2xsc1RvUmV2ZWFsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401170</attachid>
            <date>2020-06-05 10:30:43 -0700</date>
            <delta_ts>2020-06-05 10:30:43 -0700</delta_ts>
            <desc>To land</desc>
            <filename>bug-212830-20200605103042.patch</filename>
            <type>text/plain</type>
            <size>12327</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkxMDU3ZTY4MmZjZTc4ZmZm
MzEwYTViNGNiZjU3NmNiZjk3ZGMwOWUuLmQyZmY5OGMxOThhZjQyOTIyZjA5ZTk0ODU3ZGM1MjIy
NGRkMGNhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDYtMDUgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIC1fZm9jdXNUZXh0SW5wdXRDb250
ZXh0IHNob3VsZCByZXBvc2l0aW9uIHRoZSBjYXJldCBpZiBjYWxsZWQgZm9yIGFuIGFscmVhZHkg
Zm9jdXNlZCB0ZXh0IGlucHV0IGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQwMzI5
NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFVwZGF0
ZSB0aGUgY29kZSBiYXNlZCBvbiBuZXcgZmVlZGJhY2s6IHRoZSBjYXJldCBzaG91bGQgbm93IGJl
IHJlLXBvc2l0aW9uZWQgd2hlbiAtX2ZvY3VzVGV4dElucHV0Q29udGV4dAorICAgICAgICBpcyBj
YWxsZWQgb24gYW4gYWxyZWFkeSBhc3Npc3RlZCB0ZXh0IGlucHV0IGNvbnRleHQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IGNsZWFuVXBJbnRlcmFjdGlvbl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lXSk6IFJlc2V0IHN0YXRlLiBTZWUgYmVsb3cg
Zm9yIHdoeS4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9mb2N1c1RleHRJbnB1dENvbnRl
eHQ6cGxhY2VDYXJldEF0OmNvbXBsZXRpb25IYW5kbGVyOl0pOiBJIGNhbm5vdCBzaW1wbHkgcmVt
b3ZlIHRoZSBlYXJseQorICAgICAgICByZXR1cm4gaW4gLV9mb2N1c1RleHRJbnB1dENvbnRleHQg
dGhhdCBkZXRlY3RzIGlmIHRoZSBzcGVjaWZpZWQgdGV4dCBpbnB1dCBjb250ZXh0IGlzIGFscmVh
ZHkgZm9jdXNlZCBiZWNhdXNlCisgICAgICAgIGl0IGNvdWxkIGVmZmVjdCB1c2VyLXZpc2libGUg
cmVzcG9uc2l2ZW5lc3MgZHVlIHRvIGFuIEFwcGxlIGludGVybmFsIGNsaWVudCBpbnZva2luZyB0
aGlzIGZ1bmN0aW9uIG1vcmUgdGltZXMKKyAgICAgICAgdGhhbiBuZWNlc3Nhcnkgd2l0aCB0aGUg
c2FtZSBwb2ludCBkdXJpbmcgYSB0ZXh0IGludGVyYWN0aW9uLiBTZWUgPHJkYXI6Ly9wcm9ibGVt
LzU5NDMwODA2Pi4gVGhhdCByYWRhcgorICAgICAgICByZXByZXNlbnRzIGEgY29ycmVjdG5lc3Mg
aXNzdWUuIEkgZGlkbid0IGFjdHVhbGx5IGV2YWx1YXRlIHdoZXRoZXIgcmVzcG9uc2l2ZW5lc3Mg
aXMgYWZmZWN0ZWQgYnkgdGhpcyBwYXRjaCwKKyAgICAgICAgYnV0IEkgd291bGQgZmVlbCBtb3Jl
IGNvbmZpZGVudCB0aGF0IHRoZXJlIHdvdWxkIGJlIDAgaW1wYWN0IHdoZW4gcmVtb3ZpbmcgdGhl
IGVhcmx5IGJyYW5jaCBhZnRlciB0aGF0IHJhZGFyCisgICAgICAgIGlzIGZpeGVkIHdpdGhvdXQg
dGhlIG5lZWQgdG8gZXZlbiBwZXJmb3JtIGEgcmVzcG9uc2l2ZW5lc3MgYW5hbHlzaXMuIE5vdGUg
dGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgY29tbWVudCBhYm91dAorICAgICAgICB0aGF0IHJhZGFy
IGF0IHRoZSB0b3Agb2YgdGhpcyBmdW5jdGlvbi4KKwogMjAyMC0wMy0yNSAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gU2hvdWxkIHNob3cgaW5wdXQg
dmlldyB3aGVuIGJlY2FtZSBmaXJzdCByZXNwb25kZXIgaWYga2V5Ym9hcmQgd2FzIHNob3dpbmcg
d2hlbiB0aGUgdmlldyB3YXMgcmVzaWduZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBkNWExMTJmYzUxNmEw
NmJiY2YzNjNjNzUzYzk0ZDFiYjBkOWJhOTI4Li5mODQ4MWM5ZDJhNDFkMmViOWYzN2E1ZTNlN2Q3
ZmZiYTNlN2U3ZTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zNjEsNiArMzYxLDggQEAgc3RydWN0IFdL
QXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBCT09MIF90ZXh0SW50ZXJhY3Rpb25Jc0hhcHBlbmlu
ZzsKICAgICBib29sIF9pc1dhaXRpbmdPblBvc2l0aW9uSW5mb3JtYXRpb247CiAKKyAgICBPcHRp
b25hbDxXZWJDb3JlOjpJbnRQb2ludD4gX3BvaW50SW5zaWRlTGFzdEZvY3VzZWRUZXh0SW5wdXRD
b250ZXh0OworCiAgICAgV2ViQ29yZTo6UG9pbnRlcklEIG1fY29tbWl0UG90ZW50aWFsVGFwUG9p
bnRlcklkOwogCiAgICAgQk9PTCBfa2V5Ym9hcmREaWRSZXF1ZXN0RGlzbWlzc2FsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KaW5kZXggMDBhMjJmM2U4MDIwNzM3MjgxZGE3ZmQyNWY3YTI2Mzc1MjVjYjEwNy4uYWYz
M2QzZTE1YzU5OGU0ZjAyZTA1ZTY5ZmFmYzI4MTY0NTkzNDllMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBA
IC05MzMsNiArOTMzLDcgQEAgLSAodm9pZCljbGVhblVwSW50ZXJhY3Rpb24KIAogICAgIF90ZXh0
SW50ZXJhY3Rpb25EaWRDaGFuZ2VGb2N1c2VkRWxlbWVudCA9IE5POwogICAgIF90ZXh0SW50ZXJh
Y3Rpb25Jc0hhcHBlbmluZyA9IE5POworICAgIF9wb2ludEluc2lkZUxhc3RGb2N1c2VkVGV4dElu
cHV0Q29udGV4dCA9IFdURjo6bnVsbG9wdDsKIAogICAgIGlmIChfaW50ZXJhY3Rpb25WaWV3c0Nv
bnRhaW5lclZpZXcpIHsKICAgICAgICAgW3NlbGYubGF5ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBm
b3JLZXlQYXRoOkAidHJhbnNmb3JtIl07CkBAIC00Mjk0LDYgKzQyOTUsNyBAQCAtICh2b2lkKV9k
aWRDb21taXRMb2FkRm9yTWFpbkZyYW1lCiAKICAgICBfdGV4dEludGVyYWN0aW9uRGlkQ2hhbmdl
Rm9jdXNlZEVsZW1lbnQgPSBOTzsKICAgICBfdGV4dEludGVyYWN0aW9uSXNIYXBwZW5pbmcgPSBO
TzsKKyAgICBfcG9pbnRJbnNpZGVMYXN0Rm9jdXNlZFRleHRJbnB1dENvbnRleHQgPSBXVEY6Om51
bGxvcHQ7CiAgICAgX2hhc1ZhbGlkUG9zaXRpb25JbmZvcm1hdGlvbiA9IE5POwogICAgIF9wb3Np
dGlvbkluZm9ybWF0aW9uID0geyB9OwogfQpAQCAtNTE2NSwxMCArNTE2NywxMiBAQCAtICh2b2lk
KV9mb2N1c1RleHRJbnB1dENvbnRleHQ6KF9XS1RleHRJbnB1dENvbnRleHQgKiljb250ZXh0IHBs
YWNlQ2FyZXRBdDooQ0dQbwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihuaWwpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotICAgIGlmIChbc2VsZiBfaXNUZXh0SW5wdXRDb250ZXh0Rm9jdXNl
ZDpjb250ZXh0XSkgeworICAgIFdlYkNvcmU6OkludFBvaW50IHBvaW50SW5zaWRlVGV4dElucHV0
Q29udGV4dCB7IHBvaW50IH07CisgICAgaWYgKFtzZWxmIF9pc1RleHRJbnB1dENvbnRleHRGb2N1
c2VkOmNvbnRleHRdICYmIF9wb2ludEluc2lkZUxhc3RGb2N1c2VkVGV4dElucHV0Q29udGV4dCA9
PSBwb2ludEluc2lkZVRleHRJbnB1dENvbnRleHQpIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaXNSZWFkT25seSA/IG5pbCA6IHNlbGYpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQorICAgIF9wb2ludEluc2lkZUxhc3RGb2N1c2VkVGV4dElu
cHV0Q29udGV4dCA9IHBvaW50SW5zaWRlVGV4dElucHV0Q29udGV4dDsKICAgICBfdXNpbmdHZXN0
dXJlRm9yU2VsZWN0aW9uID0gWUVTOwogICAgIGF1dG8gY2hlY2tGb2N1c2VkRWxlbWVudCA9IFt3
ZWFrU2VsZiA9IFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+IHsgc2VsZiB9LCBjb250ZXh0ID0g
YWRvcHROUyhbY29udGV4dCBjb3B5XSksIGNvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRy
KGNvbXBsZXRpb25IYW5kbGVyKV0gKGJvb2wgc3VjY2VzcykgewogICAgICAgICBhdXRvIHN0cm9u
Z1NlbGYgPSB3ZWFrU2VsZi5nZXQoKTsKQEAgLTUxODIsNyArNTE4Niw3IEBAIC0gKHZvaWQpX2Zv
Y3VzVGV4dElucHV0Q29udGV4dDooX1dLVGV4dElucHV0Q29udGV4dCAqKWNvbnRleHQgcGxhY2VD
YXJldEF0OihDR1BvCiAgICAgICAgIHN0cm9uZ1NlbGYtPl91c2luZ0dlc3R1cmVGb3JTZWxlY3Rp
b24gPSBOTzsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoaXNGb2N1c2VkICYmIGlzRWRpdGFi
bGUgPyBzdHJvbmdTZWxmLmdldCgpIDogbmlsKTsKICAgICB9OwotICAgIF9wYWdlLT5mb2N1c1Rl
eHRJbnB1dENvbnRleHRBbmRQbGFjZUNhcmV0KGNvbnRleHQuX3RleHRJbnB1dENvbnRleHQsIFdl
YkNvcmU6OkludFBvaW50IHsgcG9pbnQgfSwgV1RGTW92ZShjaGVja0ZvY3VzZWRFbGVtZW50KSk7
CisgICAgX3BhZ2UtPmZvY3VzVGV4dElucHV0Q29udGV4dEFuZFBsYWNlQ2FyZXQoY29udGV4dC5f
dGV4dElucHV0Q29udGV4dCwgcG9pbnRJbnNpZGVUZXh0SW5wdXRDb250ZXh0LCBXVEZNb3ZlKGNo
ZWNrRm9jdXNlZEVsZW1lbnQpKTsKIH0KIAogLSAodm9pZClfcmVxdWVzdFRleHRJbnB1dENvbnRl
eHRzSW5SZWN0OihDR1JlY3QpcmVjdCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJh
eTxfV0tUZXh0SW5wdXRDb250ZXh0ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDEyNzFmZDQ2YzE0NTJm
OGFlNmNkMGE4YjFhNjRkOTVhNmQ3ZjYxOS4uOGRkYzkwNjYxMmU5MTkyOTQ1MThiOWE5ZDlkYThj
NzJjYjgzZGMwZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA2LTA1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KKworICAgICAgICAtX2ZvY3VzVGV4dElucHV0Q29udGV4dCBzaG91bGQgcmVw
b3NpdGlvbiB0aGUgY2FyZXQgaWYgY2FsbGVkIGZvciBhbiBhbHJlYWR5IGZvY3VzZWQgdGV4dCBp
bnB1dCBjb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTI4MzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MDMyOTU2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBSZS1wdXJwb3NlIHNvbWUgZXhp
c3RpbmcgdGVzdHMgdG8gY2hlY2sgZm9yIHRoZSBuZXcgYmVoYXZpb3IuCisKKyAgICAgICAgSW4g
VGV4dEludGVyYWN0aW9uX0ZvY3VzaW5nQXNzaXN0ZWRFbGVtZW50U2hvdWxkU2Nyb2xsVG9SZXZl
YWwsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBjYXJldCBwb3NpdGlvbiBpcworICAgICAgICBjaGFu
Z2luZzogb24gaU9TLCBjYWxsaW5nIGlucHV0LmZvY3VzKCkgcGxhY2VzIHRoZSBjYXJldCBhdCB0
aGUgZW5kIG9mIHRoZSBmaWVsZCdzIGNvbnRlbnQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1JlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTktMDktMTMgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgYnVpbGRpbmcgV2ViS2l0IGZvciBNYWMg
Q2F0YWx5c3QgZnJvbSBYY29kZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9SZXF1ZXN0VGV4dElucHV0Q29udGV4dC5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVxdWVzdFRleHRJbnB1dENvbnRleHQubW0KaW5kZXgg
OGExODQwNWZmODkwOTM1YTc3Njk1MTlhODcxYTVlZTM1Mjc1MmMxMC4uNDEzNTY4NGQ0ODc4YmYw
M2IzODBjNTRmMzU1YWE1ZTFjYzBkZjkwYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9SZXF1ZXN0VGV4dElucHV0Q29udGV4dC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1JlcXVlc3RUZXh0SW5wdXRDb250ZXh0
Lm1tCkBAIC0zNDgsNyArMzQ4LDcgQEAgVEVTVChSZXF1ZXN0VGV4dElucHV0Q29udGV4dCwgRm9j
dXNBZnRlck5hdmlnYXRpb24pCiAgICAgRVhQRUNUX05VTEwoW3dlYlZpZXcgc3luY2hyb25vdXNs
eUZvY3VzVGV4dElucHV0Q29udGV4dDppbnB1dEVsZW1lbnQuZ2V0KCkgcGxhY2VDYXJldEF0Oltp
bnB1dEVsZW1lbnQgYm91bmRpbmdSZWN0XS5vcmlnaW5dKTsKIH0KIAotVEVTVChSZXF1ZXN0VGV4
dElucHV0Q29udGV4dCwgQ2FyZXRTaG91bGROb3RNb3ZlSW5BbHJlYWR5Rm9jdXNlZEZpZWxkKQor
VEVTVChSZXF1ZXN0VGV4dElucHV0Q29udGV4dCwgQ2FyZXRTaG91bGRNb3ZlSW5BbHJlYWR5Rm9j
dXNlZEZpZWxkKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4
MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CkBAIC0zNjEsNyAr
MzYxLDcgQEAgVEVTVChSZXF1ZXN0VGV4dElucHV0Q29udGV4dCwgQ2FyZXRTaG91bGROb3RNb3Zl
SW5BbHJlYWR5Rm9jdXNlZEZpZWxkKQogCiAgICAgRVhQRUNUX1dLX1NUUkVRKCJCT0RZIiwgW3dl
YlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQudGFnTmFtZSJdKTsKIAotICAgIC8vIFBsYWNlIHRoZSBjYXJldCB0aGUgZW5kIG9mIHRoZSBm
aWVsZDsgc2hvdWxkIHN1Y2NlZWQgYmVjYXVzc2UgZmllbGQgaXMgbm90IGFscmVhZHkgZm9jdXNl
ZC4KKyAgICAvLyBQbGFjZSB0aGUgY2FyZXQgdGhlIGVuZCBvZiB0aGUgZmllbGQuCiAgICAgUmV0
YWluUHRyPF9XS1RleHRJbnB1dENvbnRleHQ+IGlucHV0RWxlbWVudCA9IGNvbnRleHRzWzBdOwog
ICAgIENHUmVjdCBib3VuZGluZ1JlY3QgPSBbaW5wdXRFbGVtZW50IGJvdW5kaW5nUmVjdF07CiAg
ICAgQ0dQb2ludCBlbmRQb3NpdGlvbiA9IENHUG9pbnRNYWtlKGJvdW5kaW5nUmVjdC5vcmlnaW4u
eCArIGJvdW5kaW5nUmVjdC5zaXplLndpZHRoLCBib3VuZGluZ1JlY3Qub3JpZ2luLnkgKyBib3Vu
ZGluZ1JlY3Quc2l6ZS5oZWlnaHQgLyAyKTsKQEAgLTM3MCwxNCArMzcwLDE0IEBAIFRFU1QoUmVx
dWVzdFRleHRJbnB1dENvbnRleHQsIENhcmV0U2hvdWxkTm90TW92ZUluQWxyZWFkeUZvY3VzZWRG
aWVsZCkKICAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8aW50PihleGFtcGxlVGV4dExlbmd0aCks
IFtbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5zZWxlY3Rpb25TdGFydCJdIGludFZhbHVlXSk7CiAgICAgRVhQRUNUX0VRKHN0YXRp
Y19jYXN0PGludD4oZXhhbXBsZVRleHRMZW5ndGgpLCBbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kIl0gaW50
VmFsdWVdKTsKIAotICAgIC8vIFRyeSB0byBwbGFjZSB0aGUgY2FyZXQgYXQgdGhlIHN0YXJ0IG9m
IHRoZSBmaWVsZDsgc2hvdWxkIGZhaWwgc2luY2UgZmllbGQgaXMgYWxyZWFkeSBmb2N1c2VkLgor
ICAgIC8vIFRyeSB0byBwbGFjZSB0aGUgY2FyZXQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBmaWVsZC4K
ICAgICBFWFBFQ1RfRVEoKFVJUmVzcG9uZGVyPFVJVGV4dElucHV0PiAqKVt3ZWJWaWV3IHRleHRJ
bnB1dENvbnRlbnRWaWV3XSwgW3dlYlZpZXcgc3luY2hyb25vdXNseUZvY3VzVGV4dElucHV0Q29u
dGV4dDppbnB1dEVsZW1lbnQuZ2V0KCkgcGxhY2VDYXJldEF0OmJvdW5kaW5nUmVjdC5vcmlnaW5d
KTsKICAgICBFWFBFQ1RfV0tfU1RSRVEoIklOUFVUIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudGFnTmFtZSJdKTsKLSAgICBF
WFBFQ1RfRVEoc3RhdGljX2Nhc3Q8aW50PihleGFtcGxlVGV4dExlbmd0aCksIFtbd2ViVmlldyBv
YmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5zZWxl
Y3Rpb25TdGFydCJdIGludFZhbHVlXSk7Ci0gICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PGludD4o
ZXhhbXBsZVRleHRMZW5ndGgpLCBbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9uRW5kIl0gaW50VmFsdWVdKTsKKyAg
ICBFWFBFQ1RfRVEoMCwgW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJk
b2N1bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0Il0gaW50VmFsdWVdKTsKKyAgICBF
WFBFQ1RfRVEoMCwgW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1
bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCJdIGludFZhbHVlXSk7CiB9CiAKLVRFU1Qo
UmVxdWVzdFRleHRJbnB1dENvbnRleHQsIENhcmV0U2hvdWxkTm90TW92ZUluQWxyZWFkeUZvY3Vz
ZWRGaWVsZDIpCitURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0LCBDYXJldFNob3VsZE1vdmVJ
bkFscmVhZHlGb2N1c2VkRmllbGQyKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7
CkBAIC0zOTQsMTQgKzM5NCwxNCBAQCBURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0LCBDYXJl
dFNob3VsZE5vdE1vdmVJbkFscmVhZHlGb2N1c2VkRmllbGQyKQogICAgIEVYUEVDVF9FUSgxLCBb
W3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuc2VsZWN0aW9uU3RhcnQiXSBpbnRWYWx1ZV0pOwogICAgIEVYUEVDVF9FUSgxLCBbW3dl
YlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuc2VsZWN0aW9uRW5kIl0gaW50VmFsdWVdKTsKIAotICAgIC8vIFVzZSAtZm9jdXNUZXh0SW5w
dXRDb250ZXh0OiB0byBwbGFjZSB0aGUgY2FyZXQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmll
bGQ7IG5vIGNoYW5nZSBiZWNhdXNlIHRoZSBmaWVsZCBpcyBhbHJlYWR5IGZvY3VzZWQuCisgICAg
Ly8gVXNlIC1mb2N1c1RleHRJbnB1dENvbnRleHQ6IHRvIHBsYWNlIHRoZSBjYXJldCBhdCB0aGUg
YmVnaW5uaW5nIG9mIHRoZSBmaWVsZC4KICAgICBOU0FycmF5PF9XS1RleHRJbnB1dENvbnRleHQg
Kj4gKmNvbnRleHRzID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RUZXh0SW5wdXRDb250
ZXh0c0luUmVjdDpbd2ViVmlldyBib3VuZHNdXTsKICAgICBFWFBFQ1RfRVEoMVVMLCBjb250ZXh0
cy5jb3VudCk7CiAgICAgUmV0YWluUHRyPF9XS1RleHRJbnB1dENvbnRleHQ+IGlucHV0RWxlbWVu
dCA9IGNvbnRleHRzWzBdOwogICAgIEVYUEVDVF9FUSgoVUlSZXNwb25kZXI8VUlUZXh0SW5wdXQ+
ICopW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddLCBbd2ViVmlldyBzeW5jaHJvbm91c2x5
Rm9jdXNUZXh0SW5wdXRDb250ZXh0OmlucHV0RWxlbWVudC5nZXQoKSBwbGFjZUNhcmV0QXQ6W2lu
cHV0RWxlbWVudCBib3VuZGluZ1JlY3RdLm9yaWdpbl0pOwogICAgIEVYUEVDVF9XS19TVFJFUSgi
SU5QVVQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC50YWdOYW1lIl0pOwotICAgIEVYUEVDVF9FUSgxLCBbW3dlYlZpZXcgb2Jq
ZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0
aW9uU3RhcnQiXSBpbnRWYWx1ZV0pOwotICAgIEVYUEVDVF9FUSgxLCBbW3dlYlZpZXcgb2JqZWN0
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2VsZWN0aW9u
RW5kIl0gaW50VmFsdWVdKTsKKyAgICBFWFBFQ1RfRVEoMCwgW1t3ZWJWaWV3IG9iamVjdEJ5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0
Il0gaW50VmFsdWVdKTsKKyAgICBFWFBFQ1RfRVEoMCwgW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCJdIGlu
dFZhbHVlXSk7CiB9CiAKIFRFU1QoUmVxdWVzdFRleHRJbnB1dENvbnRleHQsIFBsYWNlQ2FyZXRJ
bk5vbkFzc2lzdGVkRm9jdXNlZEZpZWxkKQpAQCAtODEyLDcgKzgxMiw3IEBAIFRFU1QoUmVxdWVz
dFRleHRJbnB1dENvbnRleHQsIFRleHRJbnRlcmFjdGlvbl9Gb2N1c0RlZm9jdXNGb2N1c0FnYWlu
U2hvdWxkU2Nyb2xsCiAgICAgRVhQRUNUX1RSVUUoZGlkU2Nyb2xsKTsKIH0KIAotVEVTVChSZXF1
ZXN0VGV4dElucHV0Q29udGV4dCwgVGV4dEludGVyYWN0aW9uX0ZvY3VzaW5nQXNzaXN0ZWRFbGVt
ZW50U2hvdWxkTm90U2Nyb2xsVG9SZXZlYWwpCitURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0
LCBUZXh0SW50ZXJhY3Rpb25fRm9jdXNpbmdBc3Npc3RlZEVsZW1lbnRTaG91bGRTY3JvbGxUb1Jl
dmVhbCkKIHsKICAgICBJUGhvbmVVc2VySW50ZXJmYWNlU3dpenpsZXIgdXNlckludGVyZmFjZVN3
aXp6bGVyOwogCkBAIC04MzQsMTQgKzgzNCwxNCBAQCBURVNUKFJlcXVlc3RUZXh0SW5wdXRDb250
ZXh0LCBUZXh0SW50ZXJhY3Rpb25fRm9jdXNpbmdBc3Npc3RlZEVsZW1lbnRTaG91bGROb3RTYwog
ICAgIGF1dG8gc2Nyb2xsRGVsZWdhdGUgPSBhZG9wdE5TKFtbVGV4dEludGVyYWN0aW9uU2Nyb2xs
RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5kZWxlZ2F0
ZSA9IHNjcm9sbERlbGVnYXRlLmdldCgpOwogCi0gICAgLy8gRm9jdXMgdGhlIGZpZWxkIHVzaW5n
IC1mb2N1c1RleHRJbnB1dENvbnRleHQ7IHNjcm9sbCB2aWV3IHNob3VsZCBub3Qgc2Nyb2xsIHRv
IHJldmVhbCBmb2N1c2VkIGVsZW1lbnQuCisgICAgLy8gRm9jdXMgdGhlIGZpZWxkIHVzaW5nIC1m
b2N1c1RleHRJbnB1dENvbnRleHQ7IHNjcm9sbCB2aWV3IHNob3VsZCBzY3JvbGwgdG8gcmV2ZWFs
IG5ldyBjYXJldCBwb3NpdGlvbiBpbiB0aGUgZm9jdXNlZCBlbGVtZW50LgogICAgIHsKICAgICAg
ICAgVGV4dEludGVyYWN0aW9uRm9yU2NvcGUgc2NvcGUgeyB3ZWJWaWV3LCBpbnB1dEVsZW1lbnQg
fTsKICAgICAgICAgRVhQRUNUX0VRKChVSVJlc3BvbmRlcjxVSVRleHRJbnB1dD4gKilbd2ViVmll
dyB0ZXh0SW5wdXRDb250ZW50Vmlld10sIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlGb2N1c1RleHRJ
bnB1dENvbnRleHQ6aW5wdXRFbGVtZW50LmdldCgpIHBsYWNlQ2FyZXRBdDpbaW5wdXRFbGVtZW50
IGJvdW5kaW5nUmVjdF0ub3JpZ2luXSk7CiAgICAgfQogCiAgICAgRVhQRUNUX1dLX1NUUkVRKCJJ
TlBVVCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LnRhZ05hbWUiXSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGRpZFNjcm9sbCk7Cisg
ICAgRVhQRUNUX1RSVUUoZGlkU2Nyb2xsKTsKIH0KIAogVEVTVChSZXF1ZXN0VGV4dElucHV0Q29u
dGV4dCwgVGV4dEludGVyYWN0aW9uX0ZvY3VzaW5nTm9uQXNzaXN0ZWRGb2N1c2VkRWxlbWVudFNj
cm9sbHNUb1JldmVhbCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>