<?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>199353</bug_id>
          
          <creation_ts>2019-07-01 02:08:33 -0700</creation_ts>
          <short_desc>[iOS] Do not disable scrolling when WKScrollView subviews intersect the content inset areas</short_desc>
          <delta_ts>2019-07-11 13:06:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1549163</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-07-01 02:08:33 -0700</bug_when>
    <thetext>[iOS] Do not disable scrolling when content has been added to WKScrollView&apos;s margins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549164</commentid>
    <comment_count>1</comment_count>
      <attachid>373216</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-07-01 02:09:35 -0700</bug_when>
    <thetext>Created attachment 373216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549165</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-07-01 02:09:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/50822146&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549168</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-07-01 02:43:51 -0700</bug_when>
    <thetext>Margins!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549416</commentid>
    <comment_count>4</comment_count>
      <attachid>373290</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-07-01 17:40:58 -0700</bug_when>
    <thetext>Created attachment 373290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551035</commentid>
    <comment_count>5</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2019-07-08 16:45:52 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #4)
&gt; Created attachment 373290 [details]
&gt; Patch

Should this be &quot;r?&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551449</commentid>
    <comment_count>6</comment_count>
      <attachid>373290</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-09 14:56:31 -0700</bug_when>
    <thetext>Comment on attachment 373290
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2029
&gt; +    [_scrollView _setScrollEnabledInternal:_page-&gt;scrollingCoordinatorProxy()-&gt;hasScrollableMainFrame() || hasDockedInputView || isZoomed || [_scrollView _hasContentInRelevantInsetAreas]];

I&apos;m working on a change that will make this scrollable if the visualViewport is smaller than the layoutViewport. Does that help in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551833</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-07-10 14:07:06 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #6)
&gt; Comment on attachment 373290 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373290&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2029
&gt; &gt; +    [_scrollView _setScrollEnabledInternal:_page-&gt;scrollingCoordinatorProxy()-&gt;hasScrollableMainFrame() || hasDockedInputView || isZoomed || [_scrollView _hasContentInRelevantInsetAreas]];
&gt; 
&gt; I&apos;m working on a change that will make this scrollable if the visualViewport
&gt; is smaller than the layoutViewport. Does that help in this case?

It might happen to fix rdar://problem/50822146 by accident, but in general I don&apos;t think so. This is about scrolling to items positioned outside of our content view.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373216</attachid>
            <date>2019-07-01 02:09:35 -0700</date>
            <delta_ts>2019-07-01 17:40:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199353-20190701020935.patch</filename>
            <type>text/plain</type>
            <size>12381</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhYmJkMmEwMDY2NWM0ODli
OGQ2MGQ0YWZiZDNlNGU3NWNmNGIxZmMuLmNjYjlhYjRhODE5NDYzMjZjNGE3ZDkxNGE4YjRjOGQ1
NjE0NTE1YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMDctMDEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERvIG5vdCBkaXNhYmxlIHNj
cm9sbGluZyB3aGVuIGNvbnRlbnQgaGFzIGJlZW4gYWRkZWQgdG8gV0tTY3JvbGxWaWV3J3MgbWFy
Z2lucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
MzUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDgyMjE0Nj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tOgorICAgICAgICAoLVtXS1Njcm9sbFZpZXcgX2N1cnJl
bnRUb3BMZWZ0UnViYmVyYmFuZEFtb3VudF0pOgorICAgICAgICAoLVtXS1Njcm9sbFZpZXcgX2hh
c0NvbnRlbnRJbk1hcmdpbnNdKToKKyAgICAgICAgKC1bV0tTY3JvbGxWaWV3IGxheW91dFN1YnZp
ZXdzXSk6CisKIDIwMTktMDYtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIE92ZXJmbG93U2Nyb2xsUHJveHlOb2RlcyB0byB0aGUgc2Nyb2xs
aW5nIHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IGJiZWFlZjQ4NjVlMWRhMzBiZGYxYWM0NDNhZGVlMDcxMDhmODYzOTcuLjgzYTZl
ZTEyOTJjZjhlNTExMmFhM2Q1YTg5YzFmZDBkOTM0NTBmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjAyMCw3ICsyMDIwLDggQEAg
LSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uJilsYXllclRyZWUKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAg
IGJvb2wgaGFzRG9ja2VkSW5wdXRWaWV3ID0gIUNHUmVjdElzRW1wdHkoX2lucHV0Vmlld0JvdW5k
cyk7CiAgICAgYm9vbCBpc1pvb21lZCA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZh
Y3RvcigpID4gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uaW5pdGlhbFNjYWxlRmFjdG9yKCk7Ci0gICAg
W19zY3JvbGxWaWV3IF9zZXRTY3JvbGxFbmFibGVkSW50ZXJuYWw6X3BhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkoKS0+aGFzU2Nyb2xsYWJsZU1haW5GcmFtZSgpIHx8IGhhc0RvY2tlZElu
cHV0VmlldyB8fCBpc1pvb21lZF07CisgICAgYm9vbCBoYXNDb250ZW50SW5TY3JvbGxWaWV3TWFy
Z2lucyA9IFtfc2Nyb2xsVmlldyBfaGFzQ29udGVudEluTWFyZ2luc107CisgICAgW19zY3JvbGxW
aWV3IF9zZXRTY3JvbGxFbmFibGVkSW50ZXJuYWw6X3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHkoKS0+aGFzU2Nyb2xsYWJsZU1haW5GcmFtZSgpIHx8IGhhc0RvY2tlZElucHV0VmlldyB8
fCBpc1pvb21lZCB8fCBoYXNDb250ZW50SW5TY3JvbGxWaWV3TWFyZ2luc107CiAjZW5kaWYKICAg
ICBpZiAoIWxheWVyVHJlZVRyYW5zYWN0aW9uLnNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSAmJiAh
W19zY3JvbGxWaWV3IGlzWm9vbWluZ10gJiYgIVtfc2Nyb2xsVmlldyBpc1pvb21Cb3VuY2luZ10g
JiYgIVtfc2Nyb2xsVmlldyBfaXNBbmltYXRpbmdab29tXSAmJiBbX3Njcm9sbFZpZXcgem9vbVNj
YWxlXSAhPSBsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVGYWN0b3IoKSkgewogICAgICAg
ICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIiB1cGRhdGluZyBzY3Jv
bGwgdmlldyB3aXRoIHBhZ2VTY2FsZUZhY3RvciAiIDw8IGxheWVyVHJlZVRyYW5zYWN0aW9uLnBh
Z2VTY2FsZUZhY3RvcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZp
ZXcuaAppbmRleCA0MDkwODY0MDRmNTViM2Q2M2E1ZmQ1NzM5YmJkYWI5ZDU5ODhiZjkwLi4xOTY1
MTI1MDg3ZjBhNGM1MDBkODliZDYzMThhYWE5OGJiODQ4NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oCkBAIC00Miw2ICs0Miw4IEBACiAtICh2b2lkKV9z
ZXRDb250ZW50SW5zZXRBZGp1c3RtZW50QmVoYXZpb3JJbnRlcm5hbDooVUlTY3JvbGxWaWV3Q29u
dGVudEluc2V0QWRqdXN0bWVudEJlaGF2aW9yKWluc2V0QWRqdXN0bWVudEJlaGF2aW9yOwogI2Vu
ZGlmCiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfaGFzQ29udGVudElu
TWFyZ2luczsKKwogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tCmluZGV4IDY3YzYzYjVmZGNm
ZWEzMGY0OTIzMTFkYWFmYjdlMTMyZGFlODAzZmQuLmI4YjI1MGJlZTU4MDk3NGQxYjI1OWFkMTQ4
ZTNhOTc1ZDNhZmI4ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S1Njcm9sbFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xs
Vmlldy5tbQpAQCAtMTM0LDYgKzEzNCw3IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1Njcm9sbFZpZXcg
ewogICAgIEJPT0wgX3Njcm9sbEVuYWJsZWRJbnRlcm5hbDsKICAgICBCT09MIF96b29tRW5hYmxl
ZEJ5Q2xpZW50OwogICAgIEJPT0wgX3pvb21FbmFibGVkSW50ZXJuYWw7CisgICAgQk9PTCBfaGFz
Q29udGVudEluTWFyZ2luczsKIH0KIAogLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1l
CkBAIC0zMDIsNyArMzAzLDcgQEAgLSAoQ0dTaXplKV9jdXJyZW50VG9wTGVmdFJ1YmJlcmJhbmRB
bW91bnQKIAogICAgIGlmIChjb250ZW50T2Zmc2V0LnkgPCAtZWRnZUluc2V0cy50b3ApCiAgICAg
ICAgIHJ1YmJlcmJhbmRBbW91bnQuaGVpZ2h0ID0gc3RkOjptaW48Q0dGbG9hdD4oY29udGVudE9m
ZnNldC55ICsgZWRnZUluc2V0cy50b3AsIDApOwotICAgIAorCiAgICAgcmV0dXJuIHJ1YmJlcmJh
bmRBbW91bnQ7CiB9CiAKQEAgLTM5Nyw2ICszOTgsMjcgQEAgLSAodm9pZClfdXBkYXRlWm9vbWFi
aWxpdHkKICAgICBbc3VwZXIgc2V0Wm9vbUVuYWJsZWQ6KF96b29tRW5hYmxlZEJ5Q2xpZW50ICYm
IF96b29tRW5hYmxlZEludGVybmFsKV07CiB9CiAKKy0gKEJPT0wpX2hhc0NvbnRlbnRJbk1hcmdp
bnMKK3sKKyAgICByZXR1cm4gX2hhc0NvbnRlbnRJbk1hcmdpbnM7Cit9CisKKy0gKHZvaWQpbGF5
b3V0U3Vidmlld3MKK3sKKyAgICBbc3VwZXIgbGF5b3V0U3Vidmlld3NdOworCisgICAgVUlFZGdl
SW5zZXRzIGNvbnRlbnRJbnNldCA9IHNlbGYuY29udGVudEluc2V0OworICAgIFVJRWRnZUluc2V0
cyBtYXJnaW5PdXRzZXQgPSB7IC1jb250ZW50SW5zZXQudG9wLCAtY29udGVudEluc2V0LmxlZnQs
IC1jb250ZW50SW5zZXQuYm90dG9tLCAtY29udGVudEluc2V0LnJpZ2h0IH07CisgICAgQ0dSZWN0
IGNvbnRlbnRSZWN0ID0geyBDR1BvaW50TWFrZSgwLCAwKSwgc2VsZi5jb250ZW50U2l6ZSB9Owor
ICAgIENHUmVjdCBzY3JvbGxhYmxlUmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChjb250ZW50
UmVjdCwgbWFyZ2luT3V0c2V0KTsKKworICAgIENHUmVjdCBib3VuZGluZ1JlY3QgPSBDR1JlY3RO
dWxsOworICAgIGZvciAoVUlWaWV3ICp2aWV3IGluIHNlbGYuc3Vidmlld3MpCisgICAgICAgIGJv
dW5kaW5nUmVjdCA9IENHUmVjdFVuaW9uKGJvdW5kaW5nUmVjdCwgQ0dSZWN0SW50ZXJzZWN0aW9u
KHNjcm9sbGFibGVSZWN0LCB2aWV3LmZyYW1lKSk7CisKKyAgICBfaGFzQ29udGVudEluTWFyZ2lu
cyA9ICFDR1JlY3RJc0VtcHR5KGJvdW5kaW5nUmVjdCkgJiYgIUNHUmVjdENvbnRhaW5zUmVjdChj
b250ZW50UmVjdCwgYm91bmRpbmdSZWN0KTsKK30KKwogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAK
IC0gKHZvaWQpYWRkR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0
dXJlUmVjb2duaXplcgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDliMWY2MGI2YWIyZWVjZWI3OTEwNThhOGEzZDc1MjZiYjA1N2Q4YTMuLjNjYWE3
YzQ2NmE5ZjczM2JkM2VlNmM2NWY2N2VmYzY4YzFjZTM0MjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0wNy0w
MSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRG8gbm90
IGRpc2FibGUgc2Nyb2xsaW5nIHdoZW4gY29udGVudCBoYXMgYmVlbiBhZGRlZCB0byBXS1Njcm9s
bFZpZXcncyBtYXJnaW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTkzNTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwODIyMTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW06CisgICAgICAgICgtW0NvbnRlbnRT
aXplT2JzZXJ2ZXIgaW5pdFdpdGhTY3JvbGxWaWV3OmNoYW5nZUhhbmRsZXI6XSk6CisgICAgICAg
ICgtW0NvbnRlbnRTaXplT2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVjdDpj
aGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKC1bQ29udGVudFNpemVPYnNlcnZlciBkZWFsbG9j
XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wNi0yMiAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEV4cGFuZCB0ZXN0cyBj
b3ZlcmFnZSAoMzI4IG5ldyB0ZXN0cyAtPiAyNjUyKS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL1Njcm9sbFZpZXdJbnNldFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW0KaW5kZXggOGU5ZjQxYmMw
YzNkNTk5NDlhZmU0NGYzZTM1NzdiYzE5OWI5NGY1YS4uZTVlODFlZjJjZGU4MzFhMDM3YzlmOWZj
MDI2NGMxY2Q1YjhkYjY5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9p
b3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW0KQEAgLTcxLDYgKzcxLDQ0IEBAIC0gKHZvaWQp
d2ViVmlld1dlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWluYXRlOihXS1dlYlZpZXcgKil3ZWJWaWV3
CiB9CiBAZW5kCiAKK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGNvbnRlbnRTaXplS2V5UGF0aCA9
IEAiY29udGVudFNpemUiOworCitAaW50ZXJmYWNlIENvbnRlbnRTaXplT2JzZXJ2ZXIgOiBOU09i
amVjdAorLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5BVkFJTEFCTEU7CistIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhTY3JvbGxWaWV3OihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IGNoYW5nZUhh
bmRsZXI6KHZvaWQoXikoKSljaGFuZ2VIYW5kbGVyOworQGVuZAorCitAaW1wbGVtZW50YXRpb24g
Q29udGVudFNpemVPYnNlcnZlciB7CisgICAgdm9pZCAoXl9jaGFuZ2VIYW5kbGVyKSgpOworICAg
IFVJU2Nyb2xsVmlldyAqX3Njcm9sbFZpZXc7Cit9CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0
aFNjcm9sbFZpZXc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgY2hhbmdlSGFuZGxlcjoodm9p
ZCheKSgpKWNoYW5nZUhhbmRsZXIKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkK
KyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9jaGFuZ2VIYW5kbGVyID0gW2NoYW5nZUhhbmRs
ZXIgY29weV07CisgICAgX3Njcm9sbFZpZXcgPSBbc2Nyb2xsVmlldyByZXRhaW5dOworICAgIFtf
c2Nyb2xsVmlldyBhZGRPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6Y29udGVudFNpemVLZXlQYXRo
IG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbkluaXRpYWwgY29udGV4dDpudWxscHRy
XTsKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRo
OihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlv
bmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4gKiljaGFuZ2UgY29udGV4dDoodm9pZCopY29u
dGV4dAoreworICAgIF9jaGFuZ2VIYW5kbGVyKCk7Cit9CisKKy0gKHZvaWQpZGVhbGxvYworewor
ICAgIFtfc2Nyb2xsVmlldyByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6Y29udGVudFNp
emVLZXlQYXRoIGNvbnRleHQ6bnVsbHB0cl07CisgICAgW19jaGFuZ2VIYW5kbGVyIHJlbGVhc2Vd
OworICAgIFtfc2Nyb2xsVmlldyByZWxlYXNlXTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisK
K0BlbmQKKwogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBzdGF0aWMgY29uc3QgQ0dGbG9h
dCB2aWV3SGVpZ2h0ID0gNTAwOwpAQCAtMjA2LDYgKzI0NCw5OSBAQCBURVNUKFNjcm9sbFZpZXdJ
bnNldFRlc3RzLCBSZXN0b3JlSW5pdGlhbENvbnRlbnRPZmZzZXRBZnRlckNyYXNoV2l0aEFzeW5j
UG9saWN5RAogICAgIEVYUEVDVF9FUSgtNDAwLCBpbml0aWFsQ29udGVudE9mZnNldC55KTsKIH0K
IAorc3RhdGljIE5TU3RyaW5nICogY29uc3Qgb3ZlcmZsb3dIaWRkZW5Eb2N1bWVudE1hcmt1cCA9
IEAiPCFET0NUWVBFIGh0bWw+PG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRlbnQ9J3dpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xJz48Ym9keSBzdHlsZT0nd2lkdGg6IDEwMCU7IGhl
aWdodDogNTAwMHB4OyBvdmVyZmxvdzogaGlkZGVuOyc+IjsKKworVEVTVChTY3JvbGxWaWV3SW5z
ZXRUZXN0cywgT3ZlcmZsb3dIaWRkZW5Cb2R5V2l0aENvbnRlbnRJbnNldCkKK3sKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCldKTsKKyAgICBbd2ViVmlldyBzY3JvbGxW
aWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNNYWtlKDUwLCAwLCA1MCwgMCk7CisgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOm92ZXJmbG93SGlkZGVuRG9jdW1l
bnRNYXJrdXBdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsK
KyAgICBFWFBFQ1RfRVEoTk8sIFt3ZWJWaWV3IHNjcm9sbFZpZXddLnNjcm9sbEVuYWJsZWQpOwor
fQorCitURVNUKFNjcm9sbFZpZXdJbnNldFRlc3RzLCBPdmVyZmxvd0hpZGRlbkJvZHlXaXRoU2Ny
b2xsVmlld1N1YnZpZXdPdmVybGFwcGluZykKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMy
MCwgdmlld0hlaWdodCldKTsKKyAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQg
PSBVSUVkZ2VJbnNldHNNYWtlKDUwLCAwLCA1MCwgMCk7CisgICAgYXV0byBvdGhlclZpZXcgPSBh
ZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIw
LCAxMDApXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9sbFZpZXddIGFkZFN1YnZpZXc6b3RoZXJWaWV3
LmdldCgpXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6b3ZlcmZs
b3dIaWRkZW5Eb2N1bWVudE1hcmt1cF07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50
YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9FUShOTywgW3dlYlZpZXcgc2Nyb2xsVmlld10uc2Ny
b2xsRW5hYmxlZCk7Cit9CisKK1RFU1QoU2Nyb2xsVmlld0luc2V0VGVzdHMsIE92ZXJmbG93SGlk
ZGVuQm9keVdpdGhTY3JvbGxWaWV3U3Vidmlld091dHNpZGVTY3JvbGxhYmxlQXJlYSkKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCldKTsKKyAgICBbd2ViVmlldyBz
Y3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNNYWtlKDUwLCAwLCA1MCwgMCk7
CisgICAgYXV0byBvdGhlclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOkNHUmVjdE1ha2UoMCwgLTEwMSwgMzIwLCA1MCldKTsKKyAgICBbW3dlYlZpZXcgc2Nyb2xs
Vmlld10gYWRkU3VidmlldzpvdGhlclZpZXcuZ2V0KCldOworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzpvdmVyZmxvd0hpZGRlbkRvY3VtZW50TWFya3VwXTsKKyAgICBb
d2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX0VRKE5P
LCBbd2ViVmlldyBzY3JvbGxWaWV3XS5zY3JvbGxFbmFibGVkKTsKK30KKworVEVTVChTY3JvbGxW
aWV3SW5zZXRUZXN0cywgT3ZlcmZsb3dIaWRkZW5Cb2R5V2l0aFNjcm9sbFZpZXdTdWJ2aWV3UGFy
dGlhbGx5T3V0c2lkZVNjcm9sbGFibGVBcmVhKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwg
MzIwLCB2aWV3SGVpZ2h0KV0pOworICAgIFt3ZWJWaWV3IHNjcm9sbFZpZXddLmNvbnRlbnRJbnNl
dCA9IFVJRWRnZUluc2V0c01ha2UoNTAsIDAsIDUwLCAwKTsKKyAgICBhdXRvIG90aGVyVmlldyA9
IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAtOTks
IDMyMCwgNTApXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9sbFZpZXddIGFkZFN1YnZpZXc6b3RoZXJW
aWV3LmdldCgpXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6b3Zl
cmZsb3dIaWRkZW5Eb2N1bWVudE1hcmt1cF07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVz
ZW50YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9FUShZRVMsIFt3ZWJWaWV3IHNjcm9sbFZpZXdd
LnNjcm9sbEVuYWJsZWQpOworfQorCitURVNUKFNjcm9sbFZpZXdJbnNldFRlc3RzLCBPdmVyZmxv
d0hpZGRlbkJvZHlXaXRoU2Nyb2xsVmlld1N1YnZpZXdBYm92ZSkKK3sKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RN
YWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCldKTsKKyAgICBhdXRvIG90aGVyVmlldyA9IGFkb3B0
TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAtNTAsIDMyMCwg
NTApXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9sbFZpZXddIGFkZFN1YnZpZXc6b3RoZXJWaWV3Lmdl
dCgpXTsKKyAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNl
dHNNYWtlKDUwLCAwLCA1MCwgMCk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1M
U3RyaW5nOm92ZXJmbG93SGlkZGVuRG9jdW1lbnRNYXJrdXBdOworICAgIFt3ZWJWaWV3IHdhaXRG
b3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfRVEoWUVTLCBbd2ViVmlldyBz
Y3JvbGxWaWV3XS5zY3JvbGxFbmFibGVkKTsKK30KKworVEVTVChTY3JvbGxWaWV3SW5zZXRUZXN0
cywgT3ZlcmZsb3dIaWRkZW5Cb2R5V2l0aFNjcm9sbFZpZXdTdWJ2aWV3QmVsb3cpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIHZpZXdIZWlnaHQpXSk7CisgICAgYXV0byBvdGhlclZp
ZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwg
MCwgMzIwLCA1MCldKTsKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhbW0NvbnRlbnRTaXpl
T2JzZXJ2ZXIgYWxsb2NdIGluaXRXaXRoU2Nyb2xsVmlldzpbd2ViVmlldyBzY3JvbGxWaWV3XSBj
aGFuZ2VIYW5kbGVyOl57CisgICAgICAgIENHUmVjdCBmcmFtZSA9IFtvdGhlclZpZXcgZnJhbWVd
OworICAgICAgICBmcmFtZS5vcmlnaW4ueSA9IFt3ZWJWaWV3IHNjcm9sbFZpZXddLmNvbnRlbnRT
aXplLmhlaWdodDsKKyAgICAgICAgW290aGVyVmlldyBzZXRGcmFtZTpmcmFtZV07CisgICAgfV0p
OworICAgIFtbd2ViVmlldyBzY3JvbGxWaWV3XSBhZGRTdWJ2aWV3Om90aGVyVmlldy5nZXQoKV07
CisgICAgW3dlYlZpZXcgc2Nyb2xsVmlld10uY29udGVudEluc2V0ID0gVUlFZGdlSW5zZXRzTWFr
ZSg1MCwgMCwgNTAsIDApOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmlu
ZzpvdmVyZmxvd0hpZGRlbkRvY3VtZW50TWFya3VwXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4
dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX0VRKFlFUywgW3dlYlZpZXcgc2Nyb2xs
Vmlld10uc2Nyb2xsRW5hYmxlZCk7Cit9CisKK1RFU1QoU2Nyb2xsVmlld0luc2V0VGVzdHMsIE92
ZXJmbG93SGlkZGVuQm9keVdpdGhTY3JvbGxWaWV3U3Vidmlld0JlZm9yZSkKK3sKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCldKTsKKyAgICBhdXRvIG90aGVyVmlldyA9
IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgtNTAsIDAs
IDUwLCB2aWV3SGVpZ2h0KV0pOworICAgIFtbd2ViVmlldyBzY3JvbGxWaWV3XSBhZGRTdWJ2aWV3
Om90aGVyVmlldy5nZXQoKV07CisgICAgW3dlYlZpZXcgc2Nyb2xsVmlld10uY29udGVudEluc2V0
ID0gVUlFZGdlSW5zZXRzTWFrZSgwLCA1MCwgMCwgNTApOworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzpvdmVyZmxvd0hpZGRlbkRvY3VtZW50TWFya3VwXTsKKyAgICBb
d2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX0VRKFlF
UywgW3dlYlZpZXcgc2Nyb2xsVmlld10uc2Nyb2xsRW5hYmxlZCk7Cit9CisKK1RFU1QoU2Nyb2xs
Vmlld0luc2V0VGVzdHMsIE92ZXJmbG93SGlkZGVuQm9keVdpdGhTY3JvbGxWaWV3U3Vidmlld0Fm
dGVyKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCB2aWV3SGVpZ2h0KV0pOworICAg
IGF1dG8gb3RoZXJWaWV3ID0gYWRvcHROUyhbW1VJVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RNYWtlKDMyMCwgMCwgNTAsIHZpZXdIZWlnaHQpXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9s
bFZpZXddIGFkZFN1YnZpZXc6b3RoZXJWaWV3LmdldCgpXTsKKyAgICBbd2ViVmlldyBzY3JvbGxW
aWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNNYWtlKDAsIDUwLCAwLCA1MCk7CisgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOm92ZXJmbG93SGlkZGVuRG9jdW1l
bnRNYXJrdXBdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsK
KyAgICBFWFBFQ1RfRVEoWUVTLCBbd2ViVmlldyBzY3JvbGxWaWV3XS5zY3JvbGxFbmFibGVkKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCiAjZW5kaWYgLy8gUExBVEZPUk0o
SU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373290</attachid>
            <date>2019-07-01 17:40:58 -0700</date>
            <delta_ts>2019-07-11 13:06:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199353-20190701174057.patch</filename>
            <type>text/plain</type>
            <size>12716</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhM2JhODUwNTE5ODIzYzEz
YTdjZGFhOTc2NmQ1MmMwODNjZjJiZGUuLjBmNWI2YTc1MDFjNmZjZTY3ODczNzc3MzRlZDdhYjE1
ZTk5YWY0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDctMDEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERvIG5vdCBkaXNhYmxlIHNj
cm9sbGluZyB3aGVuIFdLU2Nyb2xsVmlldyBzdWJ2aWV3cyBpbnRlcnNlY3QgdGhlIGNvbnRlbnQg
aW5zZXQgYXJlYXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTM1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTA4MjIxNDY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgb2YgcjI0NTAwNiwgd2Ug
ZGlzYWJsZSBzY3JvbGxpbmcgaW4gV0tTY3JvbGxWaWV3IHdoZW4gdGhlIDxib2R5PiBlbGVtZW50
IGlzIHN0eWxlZCB3aXRoCisgICAgICAgICdvdmVyZmxvdzogaGlkZGVuJy4gVGhlIG92ZXJmbG93
ZWQgY29udGVudCBpcyBzdGlsbCBwcmVzZW50IGluIHRoZSBXS0NvbnRlbnRWaWV3IGJ1dCBpcwor
ICAgICAgICBjbGlwcGVkIGJ5IHRoZSBzY3JvbGwgdmlldy4KKworICAgICAgICBXZWJLaXQgZXhw
b3NlcyBpdHMgc2Nyb2xsIHZpZXcgYXMgQVBJICgtc2Nyb2xsVmlldyksIGFuZCBzb21lIGNsaWVu
dHMgcG9zaXRpb24gdGhlaXIgb3duCisgICAgICAgIHN1YnZpZXdzIGluIHRoZSBzY3JvbGwgdmll
dydzIGNvbnRlbnQgaW5zZXQgYXJlYXMuIFdoZW4gc2Nyb2xsaW5nIGlzIGRpc2FibGVkLCB0aGVz
ZQorICAgICAgICBzdWJ2aWV3cyBjYW4gYmVjb21lIHVucmVhY2hhYmxlLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBhIGhldXJpc3RpYyB0aGF0IGVuYWJsZXMgc2Nyb2xsaW5nIHdo
ZW4gc3Vidmlld3MgaW50ZXJzZWN0IHRoZSBzY3JvbGwKKyAgICAgICAgdmlldydzIGxlZnQsIHJp
Z2h0LCBvciBib3R0b20gY29udGVudCBpbnNldCBhcmVhcy4gVGhlIHRvcCBpbnNldCBhcmVhIGlz
IGV4Y2x1ZGVkIGZyb20gdGhpcworICAgICAgICBoZXVyaXN0aWMgYmVjYXVzZSB0aGV5IGFyZSB2
aXNpYmxlIGluIHRoZSBjb21tb24gY2FzZSB3aGVyZSBzY3JvbGwgb2Zmc2V0cyBhcmUgYXQgMCBh
bmQKKyAgICAgICAgbWVyZWx5IHNocmluayB0aGUgaGVpZ2h0IG9mIHRoZSB2aXNpYmxlIGNvbnRl
bnQgdmlldy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tT
Y3JvbGxWaWV3Lm1tOgorICAgICAgICAoLVtXS1Njcm9sbFZpZXcgX2N1cnJlbnRUb3BMZWZ0UnVi
YmVyYmFuZEFtb3VudF0pOgorICAgICAgICAoLVtXS1Njcm9sbFZpZXcgX2hhc0NvbnRlbnRJblJl
bGV2YW50SW5zZXRBcmVhc10pOgorICAgICAgICAoLVtXS1Njcm9sbFZpZXcgbGF5b3V0U3Vidmll
d3NdKToKKwogMjAxOS0wNy0wMSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBFeGl0aW5nIGZyb20gZnVsbHNjcmVlbiBzY3JvbGxzIHRvIHRv
cCBvZiBwYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQppbmRleCA5MjFmYjAxYTBlMzQ4NmVhYjViM2IxNTJkMjhkN2E4YWRiYmIzYjU2Li5jMzRi
MTg3ODdlYTk2NDQzZTg0ZTI4OTY1NGJkMWIzY2U3ODczZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTIwMjYsNyArMjAyNiw3IEBA
IC0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVlCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAg
ICBib29sIGhhc0RvY2tlZElucHV0VmlldyA9ICFDR1JlY3RJc0VtcHR5KF9pbnB1dFZpZXdCb3Vu
ZHMpOwogICAgIGJvb2wgaXNab29tZWQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVG
YWN0b3IoKSA+IGxheWVyVHJlZVRyYW5zYWN0aW9uLmluaXRpYWxTY2FsZUZhY3RvcigpOwotICAg
IFtfc2Nyb2xsVmlldyBfc2V0U2Nyb2xsRW5hYmxlZEludGVybmFsOl9wYWdlLT5zY3JvbGxpbmdD
b29yZGluYXRvclByb3h5KCktPmhhc1Njcm9sbGFibGVNYWluRnJhbWUoKSB8fCBoYXNEb2NrZWRJ
bnB1dFZpZXcgfHwgaXNab29tZWRdOworICAgIFtfc2Nyb2xsVmlldyBfc2V0U2Nyb2xsRW5hYmxl
ZEludGVybmFsOl9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPmhhc1Njcm9sbGFi
bGVNYWluRnJhbWUoKSB8fCBoYXNEb2NrZWRJbnB1dFZpZXcgfHwgaXNab29tZWQgfHwgW19zY3Jv
bGxWaWV3IF9oYXNDb250ZW50SW5SZWxldmFudEluc2V0QXJlYXNdXTsKICNlbmRpZgogICAgIGlm
ICghbGF5ZXJUcmVlVHJhbnNhY3Rpb24uc2NhbGVXYXNTZXRCeVVJUHJvY2VzcygpICYmICFbX3Nj
cm9sbFZpZXcgaXNab29taW5nXSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbUJvdW5jaW5nXSAmJiAh
W19zY3JvbGxWaWV3IF9pc0FuaW1hdGluZ1pvb21dICYmIFtfc2Nyb2xsVmlldyB6b29tU2NhbGVd
ICE9IGxheWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZhY3RvcigpKSB7CiAgICAgICAgIExP
R19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiIHVwZGF0aW5nIHNjcm9sbCB2
aWV3IHdpdGggcGFnZVNjYWxlRmFjdG9yICIgPDwgbGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZVNj
YWxlRmFjdG9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
U2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5o
CmluZGV4IDQwOTA4NjQwNGY1NWIzZDYzYTVmZDU3MzliYmRhYjlkNTk4OGJmOTAuLjMzNjIzZDNi
ODllNzhmYzE5NGI2MTBhNmYwYzRmYzcwZDc5NDg2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmgKQEAgLTQyLDYgKzQyLDggQEAKIC0gKHZvaWQpX3NldENv
bnRlbnRJbnNldEFkanVzdG1lbnRCZWhhdmlvckludGVybmFsOihVSVNjcm9sbFZpZXdDb250ZW50
SW5zZXRBZGp1c3RtZW50QmVoYXZpb3IpaW5zZXRBZGp1c3RtZW50QmVoYXZpb3I7CiAjZW5kaWYK
IAorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9oYXNDb250ZW50SW5SZWxl
dmFudEluc2V0QXJlYXM7CisKIEBlbmQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQppbmRleCA2N2M2
M2I1ZmRjZmVhMzBmNDkyMzExZGFhZmI3ZTEzMmRhZTgwM2ZkLi4zOTYwMGU2YTEyZWNjYTVkZjkz
NWQxNDEwMGY0Mjk1NzA5NjYzNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S1Njcm9sbFZpZXcubW0KQEAgLTEzNiw2ICsxMzYsOCBAQCBAaW1wbGVtZW50YXRpb24gV0tTY3Jv
bGxWaWV3IHsKICAgICBCT09MIF96b29tRW5hYmxlZEludGVybmFsOwogfQogCitAc3ludGhlc2l6
ZSBfaGFzQ29udGVudEluUmVsZXZhbnRJbnNldEFyZWFzPV9oYXNDb250ZW50SW5SZWxldmFudElu
c2V0QXJlYXM7CisKIC0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQogewogICAgIHNl
bGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV07CkBAIC0zMDIsNyArMzA0LDcgQEAgLSAo
Q0dTaXplKV9jdXJyZW50VG9wTGVmdFJ1YmJlcmJhbmRBbW91bnQKIAogICAgIGlmIChjb250ZW50
T2Zmc2V0LnkgPCAtZWRnZUluc2V0cy50b3ApCiAgICAgICAgIHJ1YmJlcmJhbmRBbW91bnQuaGVp
Z2h0ID0gc3RkOjptaW48Q0dGbG9hdD4oY29udGVudE9mZnNldC55ICsgZWRnZUluc2V0cy50b3As
IDApOwotICAgIAorCiAgICAgcmV0dXJuIHJ1YmJlcmJhbmRBbW91bnQ7CiB9CiAKQEAgLTM5Nyw2
ICszOTksMjYgQEAgLSAodm9pZClfdXBkYXRlWm9vbWFiaWxpdHkKICAgICBbc3VwZXIgc2V0Wm9v
bUVuYWJsZWQ6KF96b29tRW5hYmxlZEJ5Q2xpZW50ICYmIF96b29tRW5hYmxlZEludGVybmFsKV07
CiB9CiAKKy0gKHZvaWQpbGF5b3V0U3Vidmlld3MKK3sKKyAgICBbc3VwZXIgbGF5b3V0U3Vidmll
d3NdOworCisgICAgVUlFZGdlSW5zZXRzIGNvbnRlbnRJbnNldHMgPSBzZWxmLmNvbnRlbnRJbnNl
dDsKKyAgICBVSUVkZ2VJbnNldHMgY29udGVudFJlY3RPdXRzZXRzID0geyAwLCAtY29udGVudElu
c2V0cy5sZWZ0LCAtY29udGVudEluc2V0cy5ib3R0b20sIC1jb250ZW50SW5zZXRzLnJpZ2h0IH07
CisgICAgQ0dSZWN0IGNvbnRlbnRSZWN0ID0geyBDR1BvaW50TWFrZSgwLCAwKSwgc2VsZi5jb250
ZW50U2l6ZSB9OworICAgIENHUmVjdCBjb250ZW50UmVjdFdpdGhSZWxldmFudEluc2V0QXJlYXMg
PSBVSUVkZ2VJbnNldHNJbnNldFJlY3QoY29udGVudFJlY3QsIGNvbnRlbnRSZWN0T3V0c2V0cyk7
CisKKyAgICBfaGFzQ29udGVudEluUmVsZXZhbnRJbnNldEFyZWFzID0gTk87CisgICAgaWYgKENH
UmVjdElzRW1wdHkoY29udGVudFJlY3RXaXRoUmVsZXZhbnRJbnNldEFyZWFzKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgQ0dSZWN0IGJvdW5kaW5nUmVjdCA9IENHUmVjdE51bGw7CisgICAgZm9y
IChVSVZpZXcgKnZpZXcgaW4gc2VsZi5zdWJ2aWV3cykKKyAgICAgICAgYm91bmRpbmdSZWN0ID0g
Q0dSZWN0VW5pb24oYm91bmRpbmdSZWN0LCBDR1JlY3RJbnRlcnNlY3Rpb24oY29udGVudFJlY3RX
aXRoUmVsZXZhbnRJbnNldEFyZWFzLCB2aWV3LmZyYW1lKSk7CisKKyAgICBfaGFzQ29udGVudElu
UmVsZXZhbnRJbnNldEFyZWFzID0gIUNHUmVjdElzRW1wdHkoYm91bmRpbmdSZWN0KSAmJiAhQ0dS
ZWN0Q29udGFpbnNSZWN0KGNvbnRlbnRSZWN0LCBib3VuZGluZ1JlY3QpOworfQorCiAjaWYgUExB
VEZPUk0oV0FUQ0hPUykKIAogLSAodm9pZClhZGRHZXN0dXJlUmVjb2duaXplcjooVUlHZXN0dXJl
UmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmRmOWJiMzU4MDQwZjY3MjdiODVkMjNlODBmNmUw
NjJmNjU0ZmVmNS4uMTE4NzNiZWNhOGFmYTI2NGIwZjRhMzkyNjE5ZjQwN2E5NTQ0ZjYyNCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE5LTA3LTAxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBEbyBub3QgZGlzYWJsZSBzY3JvbGxpbmcgd2hlbiBXS1Njcm9sbFZpZXcgc3Vi
dmlld3MgaW50ZXJzZWN0IHRoZSBjb250ZW50IGluc2V0IGFyZWFzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkzNTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzUwODIyMTQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMu
bW06CisgICAgICAgICgtW0NvbnRlbnRTaXplT2JzZXJ2ZXIgaW5pdFdpdGhTY3JvbGxWaWV3OmNo
YW5nZUhhbmRsZXI6XSk6CisgICAgICAgICgtW0NvbnRlbnRTaXplT2JzZXJ2ZXIgb2JzZXJ2ZVZh
bHVlRm9yS2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKC1bQ29u
dGVudFNpemVPYnNlcnZlciBkZWFsbG9jXSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKwogMjAxOS0wNy0wMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgR1RLIGExMXkgdGVzdHMgZml4IGFmdGVyIHIyNDY5NTgK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1Njcm9sbFZpZXdJbnNl
dFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0
VGVzdHMubW0KaW5kZXggOGU5ZjQxYmMwYzNkNTk5NDlhZmU0NGYzZTM1NzdiYzE5OWI5NGY1YS4u
ZTFkZTE2NzBmOTEwOGZkN2M2NGQzZDY3NjBkMmVlZDFlY2JiMDI4YSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvU2Nyb2xsVmlld0luc2V0VGVzdHMubW0KQEAg
LTcxLDYgKzcxLDQ0IEBAIC0gKHZvaWQpd2ViVmlld1dlYkNvbnRlbnRQcm9jZXNzRGlkVGVybWlu
YXRlOihXS1dlYlZpZXcgKil3ZWJWaWV3CiB9CiBAZW5kCiAKK3N0YXRpYyBOU1N0cmluZyAqIGNv
bnN0IGNvbnRlbnRTaXplS2V5UGF0aCA9IEAiY29udGVudFNpemUiOworCitAaW50ZXJmYWNlIENv
bnRlbnRTaXplT2JzZXJ2ZXIgOiBOU09iamVjdAorLSAoaW5zdGFuY2V0eXBlKWluaXQgTlNfVU5B
VkFJTEFCTEU7CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTY3JvbGxWaWV3OihVSVNjcm9sbFZp
ZXcgKilzY3JvbGxWaWV3IGNoYW5nZUhhbmRsZXI6KHZvaWQoXikoKSljaGFuZ2VIYW5kbGVyOwor
QGVuZAorCitAaW1wbGVtZW50YXRpb24gQ29udGVudFNpemVPYnNlcnZlciB7CisgICAgdm9pZCAo
Xl9jaGFuZ2VIYW5kbGVyKSgpOworICAgIFVJU2Nyb2xsVmlldyAqX3Njcm9sbFZpZXc7Cit9CisK
Ky0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNjcm9sbFZpZXc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcgY2hhbmdlSGFuZGxlcjoodm9pZCheKSgpKWNoYW5nZUhhbmRsZXIKK3sKKyAgICBpZiAo
IShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9jaGFu
Z2VIYW5kbGVyID0gW2NoYW5nZUhhbmRsZXIgY29weV07CisgICAgX3Njcm9sbFZpZXcgPSBbc2Ny
b2xsVmlldyByZXRhaW5dOworICAgIFtfc2Nyb2xsVmlldyBhZGRPYnNlcnZlcjpzZWxmIGZvcktl
eVBhdGg6Y29udGVudFNpemVLZXlQYXRoIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlv
bkluaXRpYWwgY29udGV4dDpudWxscHRyXTsKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9p
ZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlk
KW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4gKilj
aGFuZ2UgY29udGV4dDoodm9pZCopY29udGV4dAoreworICAgIF9jaGFuZ2VIYW5kbGVyKCk7Cit9
CisKKy0gKHZvaWQpZGVhbGxvYworeworICAgIFtfc2Nyb2xsVmlldyByZW1vdmVPYnNlcnZlcjpz
ZWxmIGZvcktleVBhdGg6Y29udGVudFNpemVLZXlQYXRoIGNvbnRleHQ6bnVsbHB0cl07CisgICAg
W19jaGFuZ2VIYW5kbGVyIHJlbGVhc2VdOworICAgIFtfc2Nyb2xsVmlldyByZWxlYXNlXTsKKyAg
ICBbc3VwZXIgZGVhbGxvY107Cit9CisKK0BlbmQKKwogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
ewogCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCB2aWV3SGVpZ2h0ID0gNTAwOwpAQCAtMjA2LDYgKzI0
NCw4OCBAQCBURVNUKFNjcm9sbFZpZXdJbnNldFRlc3RzLCBSZXN0b3JlSW5pdGlhbENvbnRlbnRP
ZmZzZXRBZnRlckNyYXNoV2l0aEFzeW5jUG9saWN5RAogICAgIEVYUEVDVF9FUSgtNDAwLCBpbml0
aWFsQ29udGVudE9mZnNldC55KTsKIH0KIAorc3RhdGljIE5TU3RyaW5nICogY29uc3Qgb3ZlcmZs
b3dIaWRkZW5Eb2N1bWVudE1hcmt1cCA9IEAiPCFET0NUWVBFIGh0bWw+PG1ldGEgbmFtZT0ndmll
d3BvcnQnIGNvbnRlbnQ9J3dpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xJz48Ym9k
eSBzdHlsZT0nd2lkdGg6IDEwMCU7IGhlaWdodDogNTAwMHB4OyBvdmVyZmxvdzogaGlkZGVuOyc+
IjsKKworVEVTVChTY3JvbGxWaWV3SW5zZXRUZXN0cywgT3ZlcmZsb3dIaWRkZW5Cb2R5V2l0aENv
bnRlbnRJbnNldCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCld
KTsKKyAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNN
YWtlKDUwLCAwLCA1MCwgMCk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3Ry
aW5nOm92ZXJmbG93SGlkZGVuRG9jdW1lbnRNYXJrdXBdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JO
ZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfRVEoTk8sIFt3ZWJWaWV3IHNjcm9s
bFZpZXddLnNjcm9sbEVuYWJsZWQpOworfQorCitURVNUKFNjcm9sbFZpZXdJbnNldFRlc3RzLCBP
dmVyZmxvd0hpZGRlbkJvZHlXaXRoU2Nyb2xsVmlld1N1YnZpZXdPdmVybGFwcGluZykKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hlaWdodCldKTsKKyAgICBbd2ViVmlldyBz
Y3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNNYWtlKDUwLCAwLCA1MCwgMCk7
CisgICAgYXV0byBvdGhlclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCAxMDApXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9sbFZp
ZXddIGFkZFN1YnZpZXc6b3RoZXJWaWV3LmdldCgpXTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91
c2x5TG9hZEhUTUxTdHJpbmc6b3ZlcmZsb3dIaWRkZW5Eb2N1bWVudE1hcmt1cF07CisgICAgW3dl
YlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9FUShOTywg
W3dlYlZpZXcgc2Nyb2xsVmlld10uc2Nyb2xsRW5hYmxlZCk7Cit9CisKK1RFU1QoU2Nyb2xsVmll
d0luc2V0VGVzdHMsIE92ZXJmbG93SGlkZGVuQm9keVdpdGhTY3JvbGxWaWV3U3Vidmlld091dHNp
ZGVTY3JvbGxhYmxlQXJlYSkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgdmlld0hl
aWdodCldKTsKKyAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJ
bnNldHNNYWtlKDUwLCAwLCA1MCwgMCk7CisgICAgYXV0byBvdGhlclZpZXcgPSBhZG9wdE5TKFtb
VUlWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgLTEwMSwgMzIwLCA1MCld
KTsKKyAgICBbW3dlYlZpZXcgc2Nyb2xsVmlld10gYWRkU3VidmlldzpvdGhlclZpZXcuZ2V0KCld
OworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpvdmVyZmxvd0hpZGRl
bkRvY3VtZW50TWFya3VwXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZV07CisgICAgRVhQRUNUX0VRKE5PLCBbd2ViVmlldyBzY3JvbGxWaWV3XS5zY3JvbGxFbmFi
bGVkKTsKK30KKworVEVTVChTY3JvbGxWaWV3SW5zZXRUZXN0cywgT3ZlcmZsb3dIaWRkZW5Cb2R5
V2l0aFNjcm9sbFZpZXdTdWJ2aWV3QWJvdmUpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAz
MjAsIHZpZXdIZWlnaHQpXSk7CisgICAgYXV0byBvdGhlclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgLTUwLCAzMjAsIDUwKV0pOworICAg
IFtbd2ViVmlldyBzY3JvbGxWaWV3XSBhZGRTdWJ2aWV3Om90aGVyVmlldy5nZXQoKV07CisgICAg
W3dlYlZpZXcgc2Nyb2xsVmlld10uY29udGVudEluc2V0ID0gVUlFZGdlSW5zZXRzTWFrZSg1MCwg
MCwgNTAsIDApOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpvdmVy
Zmxvd0hpZGRlbkRvY3VtZW50TWFya3VwXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNl
bnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX0VRKE5PLCBbd2ViVmlldyBzY3JvbGxWaWV3XS5z
Y3JvbGxFbmFibGVkKTsKK30KKworVEVTVChTY3JvbGxWaWV3SW5zZXRUZXN0cywgT3ZlcmZsb3dI
aWRkZW5Cb2R5V2l0aFNjcm9sbFZpZXdTdWJ2aWV3QmVsb3cpCit7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFr
ZSgwLCAwLCAzMjAsIHZpZXdIZWlnaHQpXSk7CisgICAgYXV0byBvdGhlclZpZXcgPSBhZG9wdE5T
KFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MCld
KTsKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhbW0NvbnRlbnRTaXplT2JzZXJ2ZXIgYWxs
b2NdIGluaXRXaXRoU2Nyb2xsVmlldzpbd2ViVmlldyBzY3JvbGxWaWV3XSBjaGFuZ2VIYW5kbGVy
Ol57CisgICAgICAgIENHUmVjdCBmcmFtZSA9IFtvdGhlclZpZXcgZnJhbWVdOworICAgICAgICBm
cmFtZS5vcmlnaW4ueSA9IFt3ZWJWaWV3IHNjcm9sbFZpZXddLmNvbnRlbnRTaXplLmhlaWdodCAt
IDI1OworICAgICAgICBbb3RoZXJWaWV3IHNldEZyYW1lOmZyYW1lXTsKKyAgICB9XSk7CisgICAg
W1t3ZWJWaWV3IHNjcm9sbFZpZXddIGFkZFN1YnZpZXc6b3RoZXJWaWV3LmdldCgpXTsKKyAgICBb
d2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVkZ2VJbnNldHNNYWtlKDUwLCAw
LCA1MCwgMCk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOm92ZXJm
bG93SGlkZGVuRG9jdW1lbnRNYXJrdXBdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfRVEoWUVTLCBbd2ViVmlldyBzY3JvbGxWaWV3XS5z
Y3JvbGxFbmFibGVkKTsKK30KKworVEVTVChTY3JvbGxWaWV3SW5zZXRUZXN0cywgT3ZlcmZsb3dI
aWRkZW5Cb2R5V2l0aFNjcm9sbFZpZXdTdWJ2aWV3QmVmb3JlKQoreworICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1h
a2UoMCwgMCwgMzIwLCB2aWV3SGVpZ2h0KV0pOworICAgIGF1dG8gb3RoZXJWaWV3ID0gYWRvcHRO
UyhbW1VJVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKC01MCwgMCwgNTAsIHZp
ZXdIZWlnaHQpXSk7CisgICAgW1t3ZWJWaWV3IHNjcm9sbFZpZXddIGFkZFN1YnZpZXc6b3RoZXJW
aWV3LmdldCgpXTsKKyAgICBbd2ViVmlldyBzY3JvbGxWaWV3XS5jb250ZW50SW5zZXQgPSBVSUVk
Z2VJbnNldHNNYWtlKDAsIDUwLCAwLCA1MCk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxv
YWRIVE1MU3RyaW5nOm92ZXJmbG93SGlkZGVuRG9jdW1lbnRNYXJrdXBdOworICAgIFt3ZWJWaWV3
IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfRVEoWUVTLCBbd2Vi
VmlldyBzY3JvbGxWaWV3XS5zY3JvbGxFbmFibGVkKTsKK30KKworVEVTVChTY3JvbGxWaWV3SW5z
ZXRUZXN0cywgT3ZlcmZsb3dIaWRkZW5Cb2R5V2l0aFNjcm9sbFZpZXdTdWJ2aWV3QWZ0ZXIpCit7
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIHZpZXdIZWlnaHQpXSk7CisgICAgYXV0byBv
dGhlclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1h
a2UoMjk1LCAwLCA1MCwgdmlld0hlaWdodCldKTsKKyAgICBbW3dlYlZpZXcgc2Nyb2xsVmlld10g
YWRkU3VidmlldzpvdGhlclZpZXcuZ2V0KCldOworICAgIFt3ZWJWaWV3IHNjcm9sbFZpZXddLmNv
bnRlbnRJbnNldCA9IFVJRWRnZUluc2V0c01ha2UoMCwgNTAsIDAsIDUwKTsKKyAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6b3ZlcmZsb3dIaWRkZW5Eb2N1bWVudE1hcmt1
cF07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIEVY
UEVDVF9FUShZRVMsIFt3ZWJWaWV3IHNjcm9sbFZpZXddLnNjcm9sbEVuYWJsZWQpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFN
SUxZKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>