<?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>149325</bug_id>
          
          <creation_ts>2015-09-17 18:33:53 -0700</creation_ts>
          <short_desc>[iOS WK2] WTR fails to set the key window in the UIKit sense</short_desc>
          <delta_ts>2018-02-26 11:31:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dbates</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126994</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:33:53 -0700</bug_when>
    <thetext>[iOS WK2] WTR fails to set the key window in the UIKit sense</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126998</commentid>
    <comment_count>1</comment_count>
      <attachid>261468</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:39:19 -0700</bug_when>
    <thetext>Created attachment 261468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126999</commentid>
    <comment_count>2</comment_count>
      <attachid>261469</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:43:16 -0700</bug_when>
    <thetext>Created attachment 261469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127004</commentid>
    <comment_count>3</comment_count>
      <attachid>261471</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:50:55 -0700</bug_when>
    <thetext>Created attachment 261471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127006</commentid>
    <comment_count>4</comment_count>
      <attachid>261473</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:55:17 -0700</bug_when>
    <thetext>Created attachment 261473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127007</commentid>
    <comment_count>5</comment_count>
      <attachid>261473</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-17 18:56:45 -0700</bug_when>
    <thetext>Comment on attachment 261473
Patch

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

&gt; Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm:121
&gt; +    [m_view release];

why are these not retainptrs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127009</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-17 18:59:29 -0700</bug_when>
    <thetext>https://trac.webkit.org/r189959</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402112</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-26 11:31:18 -0800</bug_when>
    <thetext>*** Bug 81736 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261468</attachid>
            <date>2015-09-17 18:39:19 -0700</date>
            <delta_ts>2015-09-17 18:43:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149325-20150917183906.patch</filename>
            <type>text/plain</type>
            <size>4680</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWNhY2Q3YWFiNzQ4MDI5ZjBiNDdlYmYyMDIxOTEwZWMy
YzNlNjI5OS4uNTJkN2QzN2I1MmFlMjRiZjFjNWFmYzc2ZWY3OTc2YWJmNjk5NDNhNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5
IEBACiAyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CisgICAgICAgIFtpT1MgV0syXSBXVFIgZmFpbHMgdG8gc2V0IHRoZSBrZXkgd2luZG93IGluIHRo
ZSBVSUtpdCBzZW5zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5MzI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLVtXZWJLaXRUZXN0UnVubmVyV2luZG93IGlzS2V5V2luZG93XSBqdXN0IHJldHVybmVk
IF9wbGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkuCisgICAgICAgIFRoaXMgY2F1c2VzIFVJ
S2l0IHRvIGJ5cGFzcyBjb2RlIHRoYXQgYWN0dWFsbHkgc2V0cyB0aGUga2V5IHdpbmRvdywgcmVz
dWx0aW5nIGluCisgICAgICAgIFtVSUFwcGxpYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmtleVdp
bmRvdyBhbHdheXMgYmVpbmcgbmlsLgorCisgICAgICAgIEZpeCBieSBQbGF0Zm9ybVdlYlZpZXc6
OnNldFdpbmRvd0lzS2V5KCkgYWN0dWFsbHkgY2FsbCAtbWFrZUtleVdpbmRvdywgYW5kIGhhdmlu
ZworICAgICAgICAtW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddIGNhbGwgc3Vw
ZXIuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW06CisgICAg
ICAgICgtW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddKToKKyAgICAgICAgKFdU
Ujo6UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0
Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdl
YlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9Q
bGF0Zm9ybVdlYlZpZXdNYWMubW06CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0
V2luZG93SXNLZXkpOgorCisyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCiAgICAgICAgIFtpT1MgV0syXSBXaGVuIGxvYWRpbmcgdmlld3BvcnQgdGVz
dHMsIHVzZSB0aGUgbm9ybWFsIHdlYiBwYWdlIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTMyMQogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRleCA1MmM4YmViYTc3NzE4NGU4
MTg1N2NkZTExMDdjY2FmYmZjOGQ1NjM0Li45MDU2ZGYzN2FkMTI4OWZhYmIzMmE2ZTk3MTY4MmQ1
YmEwMWIwOTU3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2Vi
Vmlldy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAg
LTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkQ2hyb21lSW5wdXRGaWVsZCgpOwog
ICAgIHZvaWQgcmVtb3ZlQ2hyb21lSW5wdXRGaWVsZCgpOwogICAgIHZvaWQgbWFrZVdlYlZpZXdG
aXJzdFJlc3BvbmRlcigpOwotICAgIHZvaWQgc2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkgeyBt
X3dpbmRvd0lzS2V5ID0gaXNLZXk7IH0KKyAgICB2b2lkIHNldFdpbmRvd0lzS2V5KGJvb2wpOwog
ICAgIGJvb2wgd2luZG93SXNLZXkoKSBjb25zdCB7IHJldHVybiBtX3dpbmRvd0lzS2V5OyB9CiAK
ICAgICBib29sIHZpZXdTdXBwb3J0c09wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lP
Uy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQpp
bmRleCBlY2IwY2QzOWI4MzZkY2MwZjUyNWFmMDFjZTc2NWY0MDYwYTUxYWVhLi42MjA3MjgyMjQ4
OTRmNDk5YmFjZWVmZDhmYTMwNjMyY2U0ODE2YmZhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCkBAIC01NSw5ICs1NSwxMCBAQCAtIChp
ZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKIAogICAgIHJldHVybiBzZWxmOwogfQorCiAt
IChCT09MKWlzS2V5V2luZG93CiB7Ci0gICAgcmV0dXJuIF9wbGF0Zm9ybVdlYlZpZXcgPyBfcGxh
dGZvcm1XZWJWaWV3LT53aW5kb3dJc0tleSgpIDogWUVTOworICAgIHJldHVybiBbc3VwZXIgaXNL
ZXlXaW5kb3ddICYmIChfcGxhdGZvcm1XZWJWaWV3ID8gX3BsYXRmb3JtV2ViVmlldy0+d2luZG93
SXNLZXkoKSA6IFlFUyk7CiB9CiAKIC0gKHZvaWQpc2V0RnJhbWVPcmlnaW46KENHUG9pbnQpcG9p
bnQKQEAgLTEwNywxNCArMTA4LDI3IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3
KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlCiAgICAgQ0dS
ZWN0IHJlY3QgPSBDR1JlY3RNYWtlKDAsIDAsIFRlc3RDb250cm9sbGVyOjp2aWV3V2lkdGgsIFRl
c3RDb250cm9sbGVyOjp2aWV3SGVpZ2h0KTsKICAgICBtX3ZpZXcgPSBbW1dLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpyZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CiAKLSAg
ICBDR1JlY3Qgd2luZG93UmVjdCA9IHJlY3Q7Ci0gICAgbV93aW5kb3cgPSBbW1dlYktpdFRlc3RS
dW5uZXJXaW5kb3cgYWxsb2NdIGluaXRXaXRoRnJhbWU6d2luZG93UmVjdF07CisgICAgbV93aW5k
b3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgYWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdF07
CiAgICAgbV93aW5kb3cucGxhdGZvcm1XZWJWaWV3ID0gdGhpczsKIAogICAgIFttX3dpbmRvdyBh
ZGRTdWJ2aWV3Om1fdmlld107CiAgICAgW21fd2luZG93IG1ha2VLZXlBbmRWaXNpYmxlXTsKIH0K
IAorUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KCkKK3sKKyAgICBtX3dpbmRvdy5w
bGF0Zm9ybVdlYlZpZXcgPSBuaWw7CisgICAgW21fdmlldyByZWxlYXNlXTsKKyAgICBbbV93aW5k
b3cgcmVsZWFzZV07Cit9CisKK3ZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5kb3dJc0tleShi
b29sIGlzS2V5KQoreworICAgIG1fd2luZG93SXNLZXkgPSBpc0tleTsKKyAgICBpZiAoaXNLZXkp
CisgICAgICAgIFttX3dpbmRvdyBtYWtlS2V5V2luZG93XTsKK30KKwogdm9pZCBQbGF0Zm9ybVdl
YlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCiB7CiAgICAg
V0tSZWN0IGZyYW1lID0gd2luZG93RnJhbWUoKTsKQEAgLTEyMywxMyArMTM3LDYgQEAgdm9pZCBQ
bGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQp
CiAgICAgc2V0V2luZG93RnJhbWUoZnJhbWUpOwogfQogCi1QbGF0Zm9ybVdlYlZpZXc6On5QbGF0
Zm9ybVdlYlZpZXcoKQotewotICAgIG1fd2luZG93LnBsYXRmb3JtV2ViVmlldyA9IDA7Ci0gICAg
W21fdmlldyByZWxlYXNlXTsKLSAgICBbbV93aW5kb3cgcmVsZWFzZV07Ci19Ci0KIFdLUGFnZVJl
ZiBQbGF0Zm9ybVdlYlZpZXc6OnBhZ2UoKQogewogICAgIHJldHVybiBbbV92aWV3IF9wYWdlRm9y
VGVzdGluZ107CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9y
bVdlYlZpZXdNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZp
ZXdNYWMubW0KaW5kZXggMGU0MGJiMTU1YzBiMDdhZmExMzI2ZDAxNDZlYWU4ZWNlNDI5MDdiMC4u
Y2FhZTVkMGNmZTRiOTJiODYwNzkzYmUyZmJiNGQ1OWMzM2QyZmQ5ZSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQpAQCAtMTQ1LDYgKzE0
NSwxMSBAQCBQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyhXS1dlYlZpZXdDb25maWd1
cmF0aW9uKiBjb25maWd1cmF0aW9uLCBjb25zdCBUZQogI2VuZGlmCiB9CiAKK3ZvaWQgUGxhdGZv
cm1XZWJWaWV3OjpzZXRXaW5kb3dJc0tleShib29sIGlzS2V5KQoreworICAgIG1fd2luZG93SXNL
ZXkgPSBpc0tleTsKK30KKwogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVk
IHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQpCiB7CiAgICAgV0tSZWN0IGZyYW1lID0gd2luZG93RnJh
bWUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261469</attachid>
            <date>2015-09-17 18:43:16 -0700</date>
            <delta_ts>2015-09-17 18:50:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149325-20150917184303.patch</filename>
            <type>text/plain</type>
            <size>12628</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTNlZjMyNjY4MmJkZTY2MzE2NWQ1NjNiOTQxZGZlYmQ1
MjFkYWFiZS4uYzAyNmZlZDE0NGZlNTUyMWQyMjc2NzQyNzA3ZWIzYjA5NjU4YzFkZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5
IEBACiAyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CisgICAgICAgIFtpT1MgV0syXSBXVFIgZmFpbHMgdG8gc2V0IHRoZSBrZXkgd2luZG93IGluIHRo
ZSBVSUtpdCBzZW5zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5MzI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLVtXZWJLaXRUZXN0UnVubmVyV2luZG93IGlzS2V5V2luZG93XSBqdXN0IHJldHVybmVk
IF9wbGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkuCisgICAgICAgIFRoaXMgY2F1c2VzIFVJ
S2l0IHRvIGJ5cGFzcyBjb2RlIHRoYXQgYWN0dWFsbHkgc2V0cyB0aGUga2V5IHdpbmRvdywgcmVz
dWx0aW5nIGluCisgICAgICAgIFtVSUFwcGxpYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmtleVdp
bmRvdyBhbHdheXMgYmVpbmcgbmlsLgorCisgICAgICAgIEZpeCBieSBQbGF0Zm9ybVdlYlZpZXc6
OnNldFdpbmRvd0lzS2V5KCkgYWN0dWFsbHkgY2FsbCAtbWFrZUtleVdpbmRvdywgYW5kIGhhdmlu
ZworICAgICAgICAtW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddIGNhbGwgc3Vw
ZXIuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW06CisgICAgICAgICgtW1dl
YktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddKToKKyAgICAgICAgKFdUUjo6UGxhdGZv
cm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZp
ZXc6On5QbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNl
dFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdl
YlZpZXdNYWMubW06CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNL
ZXkpOgorCisyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1MgV0syXSBXaGVuIGxvYWRpbmcgdmlld3BvcnQgdGVzdHMsIHVzZSB0
aGUgbm9ybWFsIHdlYiBwYWdlIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTMyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisgICAgICAgIAorICAgICAgICBJbmplY3RlZEJ1bmRsZVBhZ2U6
OnBsYXRmb3JtRGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpIHVuY29uZGl0aW9uYWxs
eSAKKyAgICAgICAgZW5hYmxlZCB0aGUgInRlc3RpbmciIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24s
IHdoaWNoIGRpc2FibGVzIHBhZ2Ugc2NhbGluZy4KKyAgICAgICAgCisgICAgICAgIElmIHdlJ3Jl
IHJ1bm5pbmcgdmlld3BvcnQgdGVzdHMsIHdlIHdhbnQgdGhlIG5vcm1hbCB3ZWIgcGFnZSBjb25m
aWd1cmF0aW9uLgorICAgICAgICBEbyB0aGF0IGJ5IHBhc3NpbmcgYSBmbGFnIGluIHRoZSBkaWN0
aW9uYXJ5IHNlbnQgdG8gSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZygpLAorICAgICAgICBi
YXNlZCBvbiB3aGV0aGVyIHRoZSB0ZXN0IGlzIGluIGEgInZpZXdwb3J0IiBkaXJlY3RvcnkuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9jb2NvYS9JbmplY3RlZEJ1bmRs
ZVBhZ2VDb2NvYS5tbToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpwbGF0Zm9y
bURpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52
b2NhdGlvbjo6c2hvdWxkTG9nRnJhbWVMb2FkRGVsZWdhdGVzKToKKyAgICAgICAgKFdUUjo6VGVz
dEludm9jYXRpb246OnNob3VsZExvZ0hpc3RvcnlDbGllbnRDYWxsYmFja3MpOgorICAgICAgICAo
V1RSOjpUZXN0SW52b2NhdGlvbjo6c2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUpOgorICAgICAg
ICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6aW52b2tlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVz
dENvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9y
bUNvbmZpZ3VyZVZpZXdGb3JUZXN0KToKKyAgICAgICAgKFdUUjo6c2hvdWxkTWFrZVZpZXdwb3J0
RmxleGlibGUpOiBEZWxldGVkLgorCisyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEdpdmUgaU9TIFdlYktpdFRlc3RSdW5uZXIgYSBs
YXVuY2ggc3Rvcnlib2FyZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ5MzE0CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggN2RkMjJjNTI2NzY5ZjMyZjFj
MmJjY2EzZmNmZmNkZmNmOGExMTEwMy4uNjY2NWEyYTMwYmMwMDkwOWVlNGNlNTFjMzhiNzc1MjMy
NGY3YWViMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTI4Myw2ICsyODMsMTAgQEAgdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncykKIAogICAg
IFdLQnVuZGxlUGFnZVJlbW92ZUFsbFVzZXJDb250ZW50KHBhZ2UoKS0+cGFnZSgpKTsKIAorI2lm
IFBMQVRGT1JNKElPUykKKyAgICBXS0J1bmRsZVBhZ2VTZXRVc2VUZXN0aW5nVmlld3BvcnRDb25m
aWd1cmF0aW9uKHBhZ2UoKS0+cGFnZSgpLCAhYm9vbGVhbkZvcktleShzZXR0aW5ncywgIlVzZUZs
ZXhpYmxlVmlld3BvcnQiKSk7CisjZW5kaWYKKwogICAgIG1fdGVzdFJ1bm5lci0+c2V0U2hvdWxk
RHVtcEZyYW1lTG9hZENhbGxiYWNrcyhib29sZWFuRm9yS2V5KHNldHRpbmdzLCAiRHVtcEZyYW1l
TG9hZERlbGVnYXRlcyIpKTsKICAgICBtX3Rlc3RSdW5uZXItPnNldFVzZXJTdHlsZVNoZWV0RW5h
YmxlZChmYWxzZSk7CiAgICAgbV90ZXN0UnVubmVyLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChmYWxz
ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2Nv
Y29hL0luamVjdGVkQnVuZGxlUGFnZUNvY29hLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9jb2NvYS9JbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbQppbmRleCA0NjJh
ZTViNTY5OWU1NDEyZDY4MmJiZmNmYjI3ZTgyNDkzMTIzZGZhLi40ZWU0NmZiN2QyYzg1Y2YxYzZl
NDczMzQyNGQ3MWYxOTZkMjgwODg4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2NvY29hL0luamVjdGVkQnVuZGxlUGFnZUNvY29hLm1tCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvY29jb2EvSW5qZWN0ZWRCdW5kbGVQ
YWdlQ29jb2EubW0KQEAgLTQzLDEwICs0Myw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpw
bGF0Zm9ybURpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5kbGVGcmFtZVJlCiAg
ICAgICAgIHJldHVybjsKIAogICAgIHNldENyYXNoUmVwb3J0QXBwbGljYXRpb25TcGVjaWZpY0lu
Zm9ybWF0aW9uVG9VUkwoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnRlc3RSdW5uZXIoKS0+
dGVzdFVSTCgpKTsKLQotI2lmIFBMQVRGT1JNKElPUykKLSAgICBXS0J1bmRsZVBhZ2VTZXRVc2VU
ZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uKHBhZ2UoKSwgdHJ1ZSk7Ci0jZW5kaWYKIH0KIAog
U3RyaW5nIEluamVjdGVkQnVuZGxlUGFnZTo6cGxhdGZvcm1SZXNwb25zZU1pbWVUeXBlKFdLVVJM
UmVzcG9uc2VSZWYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1BsYXRmb3JtV2ViVmlldy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZp
ZXcuaAppbmRleCA1MmM4YmViYTc3NzE4NGU4MTg1N2NkZTExMDdjY2FmYmZjOGQ1NjM0Li45MDU2
ZGYzN2FkMTI4OWZhYmIzMmE2ZTk3MTY4MmQ1YmEwMWIwOTU3IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZv
aWQgYWRkQ2hyb21lSW5wdXRGaWVsZCgpOwogICAgIHZvaWQgcmVtb3ZlQ2hyb21lSW5wdXRGaWVs
ZCgpOwogICAgIHZvaWQgbWFrZVdlYlZpZXdGaXJzdFJlc3BvbmRlcigpOwotICAgIHZvaWQgc2V0
V2luZG93SXNLZXkoYm9vbCBpc0tleSkgeyBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7IH0KKyAgICB2
b2lkIHNldFdpbmRvd0lzS2V5KGJvb2wpOwogICAgIGJvb2wgd2luZG93SXNLZXkoKSBjb25zdCB7
IHJldHVybiBtX3dpbmRvd0lzS2V5OyB9CiAKICAgICBib29sIHZpZXdTdXBwb3J0c09wdGlvbnMo
Y29uc3QgVGVzdE9wdGlvbnMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAKaW5kZXggNmYxODA2Njc5NTdmMjk2NGZlOWIwZWMyZjhjMWE1YzU1ZTIyZjY1
NC4uZTdmM2U4MzE4YzA4ZWNkYjM3MWY5ZGIwNzE2MGM0YzViNTMyZGE2NiAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTEzMiwxNiArMTMyLDIxIEBAIHZv
aWQgVGVzdEludm9jYXRpb246OnNldElzUGl4ZWxUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBl
Y3RlZFBpeGVsSGFzaCkKICAgICBtX2V4cGVjdGVkUGl4ZWxIYXNoID0gZXhwZWN0ZWRQaXhlbEhh
c2g7CiB9CiAKLWJvb2wgVGVzdEludm9jYXRpb246OnNob3VsZExvZ0ZyYW1lTG9hZERlbGVnYXRl
cygpCitib29sIFRlc3RJbnZvY2F0aW9uOjpzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMoKSBj
b25zdAogewogICAgIHJldHVybiB1cmxDb250YWlucygibG9hZGluZy8iKTsKIH0KIAotYm9vbCBU
ZXN0SW52b2NhdGlvbjo6c2hvdWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcygpCitib29sIFRl
c3RJbnZvY2F0aW9uOjpzaG91bGRMb2dIaXN0b3J5Q2xpZW50Q2FsbGJhY2tzKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gdXJsQ29udGFpbnMoImdsb2JhbGhpc3RvcnkvIik7CiB9CiAKK2Jvb2wgVGVz
dEludm9jYXRpb246OnNob3VsZE1ha2VWaWV3cG9ydEZsZXhpYmxlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdXJsQ29udGFpbnMoInZpZXdwb3J0LyIpOworfQorCiB2b2lkIFRlc3RJbnZvY2F0aW9u
OjppbnZva2UoKQogewogICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5jb25maWd1cmVW
aWV3Rm9yVGVzdCgqdGhpcyk7CkBAIC0xNjMsNiArMTY4LDEwIEBAIHZvaWQgVGVzdEludm9jYXRp
b246Omludm9rZSgpCiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBkdW1wRnJhbWVMb2Fk
RGVsZWdhdGVzVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRMb2dGcmFtZUxv
YWREZWxlZ2F0ZXMoKSkpOwogICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2Fn
ZUJvZHkuZ2V0KCksIGR1bXBGcmFtZUxvYWREZWxlZ2F0ZXNLZXkuZ2V0KCksIGR1bXBGcmFtZUxv
YWREZWxlZ2F0ZXNWYWx1ZS5nZXQoKSk7CiAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4g
dXNlRmxleGlibGVWaWV3cG9ydEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlVzZUZsZXhpYmxlVmlld3BvcnQiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFu
UmVmPiB1c2VGbGV4aWJsZVZpZXdwb3J0VmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShz
aG91bGRNYWtlVmlld3BvcnRGbGV4aWJsZSgpKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShi
ZWdpblRlc3RNZXNzYWdlQm9keS5nZXQoKSwgdXNlRmxleGlibGVWaWV3cG9ydEtleS5nZXQoKSwg
dXNlRmxleGlibGVWaWV3cG9ydFZhbHVlLmdldCgpKTsKKwogICAgIFdLUmV0YWluUHRyPFdLU3Ry
aW5nUmVmPiBkdW1wUGl4ZWxzS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiRHVtcFBpeGVscyIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IGR1bXBQ
aXhlbHNWYWx1ZSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKG1fZHVtcFBpeGVscykpOwogICAg
IFdLRGljdGlvbmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIGR1bXBQaXhl
bHNLZXkuZ2V0KCksIGR1bXBQaXhlbHNWYWx1ZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggNjE3YmJhMGEyYWVjODk3N2I0Y2UwMzg5NWFlNTk4MWYw
ZTRlODYyYi4uMGJlMDAyZWFkMGFlOWYzYWQzYjhiZDg3YzgwNmUxMmUyNjE3MjM3YSAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtNjAsNiArNjAsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkaWRFbmRTd2lwZSgpOwogICAgIHZvaWQgZGlkUmVtb3ZlU3dpcGVTbmFw
c2hvdCgpOwogCisgICAgYm9vbCBzaG91bGRNYWtlVmlld3BvcnRGbGV4aWJsZSgpIGNvbnN0Owor
CiBwcml2YXRlOgogICAgIHZvaWQgZHVtcFJlc3VsdHMoKTsKICAgICBzdGF0aWMgdm9pZCBkdW1w
KGNvbnN0IGNoYXIqIHRleHRUb1N0ZG91dCwgY29uc3QgY2hhciogdGV4dFRvU3RkZXJyID0gMCwg
Ym9vbCBzZWVuRXJyb3IgPSBmYWxzZSk7CkBAIC03MCw4ICs3Miw4IEBAIHByaXZhdGU6CiAKICAg
ICBzdGF0aWMgdm9pZCBmb3JjZVJlcGFpbnREb25lQ2FsbGJhY2soV0tFcnJvclJlZiwgdm9pZCog
Y29udGV4dCk7CiAKLSAgICBib29sIHNob3VsZExvZ0ZyYW1lTG9hZERlbGVnYXRlcygpOwotICAg
IGJvb2wgc2hvdWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcygpOworICAgIGJvb2wgc2hvdWxk
TG9nRnJhbWVMb2FkRGVsZWdhdGVzKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRMb2dIaXN0b3J5
Q2xpZW50Q2FsbGJhY2tzKCkgY29uc3Q7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gbV91
cmw7CiAgICAgV1RGOjpTdHJpbmcgbV91cmxTdHJpbmc7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcAppbmRleCBmZjE4Zjg0MmFhNmVkM2Iw
NzczMDE4YTk5MGRhZWJhOTU3ZWY0OTY5Li4wNjY0NzMwYmEzMTU3ZjQxYjIyN2UzNzRiNjk1MzM0
NDU1NTUwMWNmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9y
bVdlYlZpZXdHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3Jt
V2ViVmlld0d0ay5jcHAKQEAgLTU4LDYgKzU4LDExIEBAIFBsYXRmb3JtV2ViVmlldzo6flBsYXRm
b3JtV2ViVmlldygpCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95KG1fd2luZG93KTsKIH0KIAordm9p
ZCBQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KGJvb2wgaXNLZXkpCit7CisgICAgbV93
aW5kb3dJc0tleSA9IGlzS2V5OworfQorCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8o
dW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkKIHsKICAgICBXS1JlY3QgZnJhbWUgPSB3
aW5kb3dGcmFtZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxh
dGZvcm1XZWJWaWV3SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1X
ZWJWaWV3SU9TLm1tCmluZGV4IGVjYjBjZDM5YjgzNmRjYzBmNTI1YWYwMWNlNzY1ZjQwNjBhNTFh
ZWEuLjYyMDcyODIyNDg5NGY0OTliYWNlZWZkOGZhMzA2MzJjZTQ4MTZiZmEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KQEAgLTU1LDkg
KzU1LDEwIEBAIC0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQogCiAgICAgcmV0dXJu
IHNlbGY7CiB9CisKIC0gKEJPT0wpaXNLZXlXaW5kb3cKIHsKLSAgICByZXR1cm4gX3BsYXRmb3Jt
V2ViVmlldyA/IF9wbGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkgOiBZRVM7CisgICAgcmV0
dXJuIFtzdXBlciBpc0tleVdpbmRvd10gJiYgKF9wbGF0Zm9ybVdlYlZpZXcgPyBfcGxhdGZvcm1X
ZWJWaWV3LT53aW5kb3dJc0tleSgpIDogWUVTKTsKIH0KIAogLSAodm9pZClzZXRGcmFtZU9yaWdp
bjooQ0dQb2ludClwb2ludApAQCAtMTA3LDE0ICsxMDgsMjcgQEAgUGxhdGZvcm1XZWJWaWV3OjpQ
bGF0Zm9ybVdlYlZpZXcoV0tXZWJWaWV3Q29uZmlndXJhdGlvbiogY29uZmlndXJhdGlvbiwgY29u
c3QgVGUKICAgICBDR1JlY3QgcmVjdCA9IENHUmVjdE1ha2UoMCwgMCwgVGVzdENvbnRyb2xsZXI6
OnZpZXdXaWR0aCwgVGVzdENvbnRyb2xsZXI6OnZpZXdIZWlnaHQpOwogICAgIG1fdmlldyA9IFtb
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnJlY3QgY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uXTsKIAotICAgIENHUmVjdCB3aW5kb3dSZWN0ID0gcmVjdDsKLSAgICBtX3dpbmRvdyA9
IFtbV2ViS2l0VGVzdFJ1bm5lcldpbmRvdyBhbGxvY10gaW5pdFdpdGhGcmFtZTp3aW5kb3dSZWN0
XTsKKyAgICBtX3dpbmRvdyA9IFtbV2ViS2l0VGVzdFJ1bm5lcldpbmRvdyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpyZWN0XTsKICAgICBtX3dpbmRvdy5wbGF0Zm9ybVdlYlZpZXcgPSB0aGlzOwogCiAg
ICAgW21fd2luZG93IGFkZFN1YnZpZXc6bV92aWV3XTsKICAgICBbbV93aW5kb3cgbWFrZUtleUFu
ZFZpc2libGVdOwogfQogCitQbGF0Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQorewor
ICAgIG1fd2luZG93LnBsYXRmb3JtV2ViVmlldyA9IG5pbDsKKyAgICBbbV92aWV3IHJlbGVhc2Vd
OworICAgIFttX3dpbmRvdyByZWxlYXNlXTsKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnNl
dFdpbmRvd0lzS2V5KGJvb2wgaXNLZXkpCit7CisgICAgbV93aW5kb3dJc0tleSA9IGlzS2V5Owor
ICAgIGlmIChpc0tleSkKKyAgICAgICAgW21fd2luZG93IG1ha2VLZXlXaW5kb3ddOworfQorCiB2
b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhl
aWdodCkKIHsKICAgICBXS1JlY3QgZnJhbWUgPSB3aW5kb3dGcmFtZSgpOwpAQCAtMTIzLDEzICsx
MzcsNiBAQCB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lkdGgsIHVu
c2lnbmVkIGhlaWdodCkKICAgICBzZXRXaW5kb3dGcmFtZShmcmFtZSk7CiB9CiAKLVBsYXRmb3Jt
V2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygpCi17Ci0gICAgbV93aW5kb3cucGxhdGZvcm1XZWJW
aWV3ID0gMDsKLSAgICBbbV92aWV3IHJlbGVhc2VdOwotICAgIFttX3dpbmRvdyByZWxlYXNlXTsK
LX0KLQogV0tQYWdlUmVmIFBsYXRmb3JtV2ViVmlldzo6cGFnZSgpCiB7CiAgICAgcmV0dXJuIFtt
X3ZpZXcgX3BhZ2VGb3JUZXN0aW5nXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VGVzdENvbnRyb2xsZXJJT1MubW0KaW5kZXggZjZhMWQzY2M5NDllNmE5YTYyMTRmYjBiYzQxZTk5
Mzg1NmMzNDE5NS4uMzFhZGFjMDVmNjQ5MDRiODU1MTI1YjcyMDE0OWM1MGRlOGU4NzRkMyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAg
LTc0LDExICs3NCw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVUZXN0UGx1Z2lu
RGlyZWN0b3J5KCkKICAgICBtX3Rlc3RQbHVnaW5EaXJlY3RvcnkuYWRvcHQoV0tTdHJpbmdDcmVh
dGVXaXRoQ0ZTdHJpbmcoKENGU3RyaW5nUmVmKVtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxl
UGF0aF0pKTsKIH0KIAotc3RhdGljIGJvb2wgc2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUoY29u
c3QgVGVzdEludm9jYXRpb24mIHRlc3QpCi17Ci0gICAgcmV0dXJuIHRlc3QudXJsQ29udGFpbnMo
InZpZXdwb3J0LyIpOwotfQotCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJl
ZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogewogICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXMgPSBwbGF0Zm9ybVByZWZlcmVuY2VzKCk7CkBAIC05MywxMiArODgsMTMgQEAgdm9p
ZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkK
IAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdChjb25z
dCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKIHsKLSAgICBpZiAoc2hvdWxkTWFrZVZpZXdwb3J0Rmxl
eGlibGUodGVzdCkpIHsKKyAgICBpZiAodGVzdC5zaG91bGRNYWtlVmlld3BvcnRGbGV4aWJsZSgp
KSB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHBob25lVmlld0hlaWdodCA9IDQ4MDsKICAgICAg
ICAgY29uc3QgdW5zaWduZWQgcGhvbmVWaWV3V2lkdGggPSAzMjA7CiAKICAgICAgICAgbWFpbldl
YlZpZXcoKS0+cmVzaXplVG8ocGhvbmVWaWV3V2lkdGgsIHBob25lVmlld0hlaWdodCk7Ci0gICAg
ICAgIC8vIEZJWE1FOiBtb3JlIHZpZXdwb3J0IGNvbmZpZyB0byBkbyBoZXJlLgorICAgICAgICAv
LyBXZSBhbHNvIHBhc3MgZGF0YSB0byBJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKCkgdG8g
aGF2ZSBpdCBjYWxsCisgICAgICAgIC8vIFdLQnVuZGxlUGFnZVNldFVzZVRlc3RpbmdWaWV3cG9y
dENvbmZpZ3VyYXRpb24oZmFsc2UpLgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IDBlNDBiYjE1NWMwYjA3YWZh
MTMyNmQwMTQ2ZWFlOGVjZTQyOTA3YjAuLmNhYWU1ZDBjZmU0YjkyYjg2MDc5M2JlMmZiYjRkNTlj
MzNkMmZkOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3Jt
V2ViVmlld01hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdl
YlZpZXdNYWMubW0KQEAgLTE0NSw2ICsxNDUsMTEgQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9y
bVdlYlZpZXcoV0tXZWJWaWV3Q29uZmlndXJhdGlvbiogY29uZmlndXJhdGlvbiwgY29uc3QgVGUK
ICNlbmRpZgogfQogCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBp
c0tleSkKK3sKKyAgICBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7Cit9CisKIHZvaWQgUGxhdGZvcm1X
ZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogewogICAg
IFdLUmVjdCBmcmFtZSA9IHdpbmRvd0ZyYW1lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261471</attachid>
            <date>2015-09-17 18:50:55 -0700</date>
            <delta_ts>2015-09-17 18:55:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149325-20150917185042.patch</filename>
            <type>text/plain</type>
            <size>13357</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTNlZjMyNjY4MmJkZTY2MzE2NWQ1NjNiOTQxZGZlYmQ1
MjFkYWFiZS4uMTViMTEzN2VhYTBlOTljZTQ5ZTY1M2FmNDY2MzgyNmI0N2VhOWU0ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYx
IEBACiAyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CisgICAgICAgIFtpT1MgV0syXSBXVFIgZmFpbHMgdG8gc2V0IHRoZSBrZXkgd2luZG93IGluIHRo
ZSBVSUtpdCBzZW5zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5MzI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLVtXZWJLaXRUZXN0UnVubmVyV2luZG93IGlzS2V5V2luZG93XSBqdXN0IHJldHVybmVk
IF9wbGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkuCisgICAgICAgIFRoaXMgY2F1c2VzIFVJ
S2l0IHRvIGJ5cGFzcyBjb2RlIHRoYXQgYWN0dWFsbHkgc2V0cyB0aGUga2V5IHdpbmRvdywgcmVz
dWx0aW5nIGluCisgICAgICAgIFtVSUFwcGxpYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmtleVdp
bmRvdyBhbHdheXMgYmVpbmcgbmlsLgorCisgICAgICAgIEZpeCBieSBQbGF0Zm9ybVdlYlZpZXc6
OnNldFdpbmRvd0lzS2V5KCkgYWN0dWFsbHkgY2FsbCAtbWFrZUtleVdpbmRvdywgYW5kIGhhdmlu
ZworICAgICAgICAtW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddIGNhbGwgc3Vw
ZXIuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwOgorICAgICAgICAoV1RS
OjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW06CisgICAgICAgICgtW1dlYktpdFRlc3RS
dW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3
OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6On5QbGF0
Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lz
S2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMu
bW06CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkpOgorCisy
MDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFtpT1MgV0syXSBXaGVuIGxvYWRpbmcgdmlld3BvcnQgdGVzdHMsIHVzZSB0aGUgbm9ybWFs
IHdlYiBwYWdlIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisgICAgICAgIAorICAgICAgICBJbmplY3RlZEJ1bmRsZVBhZ2U6OnBsYXRmb3Jt
RGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpIHVuY29uZGl0aW9uYWxseSAKKyAgICAg
ICAgZW5hYmxlZCB0aGUgInRlc3RpbmciIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24sIHdoaWNoIGRp
c2FibGVzIHBhZ2Ugc2NhbGluZy4KKyAgICAgICAgCisgICAgICAgIElmIHdlJ3JlIHJ1bm5pbmcg
dmlld3BvcnQgdGVzdHMsIHdlIHdhbnQgdGhlIG5vcm1hbCB3ZWIgcGFnZSBjb25maWd1cmF0aW9u
LgorICAgICAgICBEbyB0aGF0IGJ5IHBhc3NpbmcgYSBmbGFnIGluIHRoZSBkaWN0aW9uYXJ5IHNl
bnQgdG8gSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZygpLAorICAgICAgICBiYXNlZCBvbiB3
aGV0aGVyIHRoZSB0ZXN0IGlzIGluIGEgInZpZXdwb3J0IiBkaXJlY3RvcnkuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAg
ICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9jb2NvYS9JbmplY3RlZEJ1bmRsZVBhZ2VDb2Nv
YS5tbToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpwbGF0Zm9ybURpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6
c2hvdWxkTG9nRnJhbWVMb2FkRGVsZWdhdGVzKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRp
b246OnNob3VsZExvZ0hpc3RvcnlDbGllbnRDYWxsYmFja3MpOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6c2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUpOgorICAgICAgICAoV1RSOjpU
ZXN0SW52b2NhdGlvbjo6aW52b2tlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xs
ZXJJT1MubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3Vy
ZVZpZXdGb3JUZXN0KToKKyAgICAgICAgKFdUUjo6c2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUp
OiBEZWxldGVkLgorCisyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCiAgICAgICAgIEdpdmUgaU9TIFdlYktpdFRlc3RSdW5uZXIgYSBsYXVuY2ggc3Rv
cnlib2FyZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ5MzE0CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggN2RkMjJjNTI2NzY5ZjMyZjFjMmJjY2EzZmNm
ZmNkZmNmOGExMTEwMy4uNjY2NWEyYTMwYmMwMDkwOWVlNGNlNTFjMzhiNzc1MjMyNGY3YWViMiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5jcHAKQEAgLTI4Myw2ICsyODMsMTAgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZTo6YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncykKIAogICAgIFdLQnVuZGxl
UGFnZVJlbW92ZUFsbFVzZXJDb250ZW50KHBhZ2UoKS0+cGFnZSgpKTsKIAorI2lmIFBMQVRGT1JN
KElPUykKKyAgICBXS0J1bmRsZVBhZ2VTZXRVc2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9u
KHBhZ2UoKS0+cGFnZSgpLCAhYm9vbGVhbkZvcktleShzZXR0aW5ncywgIlVzZUZsZXhpYmxlVmll
d3BvcnQiKSk7CisjZW5kaWYKKwogICAgIG1fdGVzdFJ1bm5lci0+c2V0U2hvdWxkRHVtcEZyYW1l
TG9hZENhbGxiYWNrcyhib29sZWFuRm9yS2V5KHNldHRpbmdzLCAiRHVtcEZyYW1lTG9hZERlbGVn
YXRlcyIpKTsKICAgICBtX3Rlc3RSdW5uZXItPnNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZChmYWxz
ZSk7CiAgICAgbV90ZXN0UnVubmVyLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChmYWxzZSk7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2NvY29hL0luamVj
dGVkQnVuZGxlUGFnZUNvY29hLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9jb2NvYS9JbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbQppbmRleCA0NjJhZTViNTY5OWU1
NDEyZDY4MmJiZmNmYjI3ZTgyNDkzMTIzZGZhLi40ZWU0NmZiN2QyYzg1Y2YxYzZlNDczMzQyNGQ3
MWYxOTZkMjgwODg4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2NvY29hL0luamVjdGVkQnVuZGxlUGFnZUNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvY29jb2EvSW5qZWN0ZWRCdW5kbGVQYWdlQ29jb2Eu
bW0KQEAgLTQzLDEwICs0Myw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpwbGF0Zm9ybURp
ZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tCdW5kbGVGcmFtZVJlCiAgICAgICAgIHJl
dHVybjsKIAogICAgIHNldENyYXNoUmVwb3J0QXBwbGljYXRpb25TcGVjaWZpY0luZm9ybWF0aW9u
VG9VUkwoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnRlc3RSdW5uZXIoKS0+dGVzdFVSTCgp
KTsKLQotI2lmIFBMQVRGT1JNKElPUykKLSAgICBXS0J1bmRsZVBhZ2VTZXRVc2VUZXN0aW5nVmll
d3BvcnRDb25maWd1cmF0aW9uKHBhZ2UoKSwgdHJ1ZSk7Ci0jZW5kaWYKIH0KIAogU3RyaW5nIElu
amVjdGVkQnVuZGxlUGFnZTo6cGxhdGZvcm1SZXNwb25zZU1pbWVUeXBlKFdLVVJMUmVzcG9uc2VS
ZWYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3Jt
V2ViVmlldy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRl
eCA1MmM4YmViYTc3NzE4NGU4MTg1N2NkZTExMDdjY2FmYmZjOGQ1NjM0Li45MDU2ZGYzN2FkMTI4
OWZhYmIzMmE2ZTk3MTY4MmQ1YmEwMWIwOTU3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1XZWJWaWV3LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkQ2hy
b21lSW5wdXRGaWVsZCgpOwogICAgIHZvaWQgcmVtb3ZlQ2hyb21lSW5wdXRGaWVsZCgpOwogICAg
IHZvaWQgbWFrZVdlYlZpZXdGaXJzdFJlc3BvbmRlcigpOwotICAgIHZvaWQgc2V0V2luZG93SXNL
ZXkoYm9vbCBpc0tleSkgeyBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7IH0KKyAgICB2b2lkIHNldFdp
bmRvd0lzS2V5KGJvb2wpOwogICAgIGJvb2wgd2luZG93SXNLZXkoKSBjb25zdCB7IHJldHVybiBt
X3dpbmRvd0lzS2V5OyB9CiAKICAgICBib29sIHZpZXdTdXBwb3J0c09wdGlvbnMoY29uc3QgVGVz
dE9wdGlvbnMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHAKaW5kZXggNmYxODA2Njc5NTdmMjk2NGZlOWIwZWMyZjhjMWE1YzU1ZTIyZjY1NC4uZTdmM2U4
MzE4YzA4ZWNkYjM3MWY5ZGIwNzE2MGM0YzViNTMyZGE2NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTEzMiwxNiArMTMyLDIxIEBAIHZvaWQgVGVzdElu
dm9jYXRpb246OnNldElzUGl4ZWxUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBleHBlY3RlZFBpeGVs
SGFzaCkKICAgICBtX2V4cGVjdGVkUGl4ZWxIYXNoID0gZXhwZWN0ZWRQaXhlbEhhc2g7CiB9CiAK
LWJvb2wgVGVzdEludm9jYXRpb246OnNob3VsZExvZ0ZyYW1lTG9hZERlbGVnYXRlcygpCitib29s
IFRlc3RJbnZvY2F0aW9uOjpzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0ZXMoKSBjb25zdAogewog
ICAgIHJldHVybiB1cmxDb250YWlucygibG9hZGluZy8iKTsKIH0KIAotYm9vbCBUZXN0SW52b2Nh
dGlvbjo6c2hvdWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcygpCitib29sIFRlc3RJbnZvY2F0
aW9uOjpzaG91bGRMb2dIaXN0b3J5Q2xpZW50Q2FsbGJhY2tzKCkgY29uc3QKIHsKICAgICByZXR1
cm4gdXJsQ29udGFpbnMoImdsb2JhbGhpc3RvcnkvIik7CiB9CiAKK2Jvb2wgVGVzdEludm9jYXRp
b246OnNob3VsZE1ha2VWaWV3cG9ydEZsZXhpYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdXJs
Q29udGFpbnMoInZpZXdwb3J0LyIpOworfQorCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2Uo
KQogewogICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5jb25maWd1cmVWaWV3Rm9yVGVz
dCgqdGhpcyk7CkBAIC0xNjMsNiArMTY4LDEwIEBAIHZvaWQgVGVzdEludm9jYXRpb246Omludm9r
ZSgpCiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBkdW1wRnJhbWVMb2FkRGVsZWdhdGVz
VmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRMb2dGcmFtZUxvYWREZWxlZ2F0
ZXMoKSkpOwogICAgIFdLRGljdGlvbmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0
KCksIGR1bXBGcmFtZUxvYWREZWxlZ2F0ZXNLZXkuZ2V0KCksIGR1bXBGcmFtZUxvYWREZWxlZ2F0
ZXNWYWx1ZS5nZXQoKSk7CiAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXNlRmxleGli
bGVWaWV3cG9ydEtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlVz
ZUZsZXhpYmxlVmlld3BvcnQiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiB1c2VG
bGV4aWJsZVZpZXdwb3J0VmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShzaG91bGRNYWtl
Vmlld3BvcnRGbGV4aWJsZSgpKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShiZWdpblRlc3RN
ZXNzYWdlQm9keS5nZXQoKSwgdXNlRmxleGlibGVWaWV3cG9ydEtleS5nZXQoKSwgdXNlRmxleGli
bGVWaWV3cG9ydFZhbHVlLmdldCgpKTsKKwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBk
dW1wUGl4ZWxzS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiRHVt
cFBpeGVscyIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IGR1bXBQaXhlbHNWYWx1
ZSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKG1fZHVtcFBpeGVscykpOwogICAgIFdLRGljdGlv
bmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIGR1bXBQaXhlbHNLZXkuZ2V0
KCksIGR1bXBQaXhlbHNWYWx1ZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmgKaW5kZXggNjE3YmJhMGEyYWVjODk3N2I0Y2UwMzg5NWFlNTk4MWYwZTRlODYyYi4u
MGJlMDAyZWFkMGFlOWYzYWQzYjhiZDg3YzgwNmUxMmUyNjE3MjM3YSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtNjAsNiArNjAsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkaWRFbmRTd2lwZSgpOwogICAgIHZvaWQgZGlkUmVtb3ZlU3dpcGVTbmFwc2hvdCgpOwog
CisgICAgYm9vbCBzaG91bGRNYWtlVmlld3BvcnRGbGV4aWJsZSgpIGNvbnN0OworCiBwcml2YXRl
OgogICAgIHZvaWQgZHVtcFJlc3VsdHMoKTsKICAgICBzdGF0aWMgdm9pZCBkdW1wKGNvbnN0IGNo
YXIqIHRleHRUb1N0ZG91dCwgY29uc3QgY2hhciogdGV4dFRvU3RkZXJyID0gMCwgYm9vbCBzZWVu
RXJyb3IgPSBmYWxzZSk7CkBAIC03MCw4ICs3Miw4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMg
dm9pZCBmb3JjZVJlcGFpbnREb25lQ2FsbGJhY2soV0tFcnJvclJlZiwgdm9pZCogY29udGV4dCk7
CiAKLSAgICBib29sIHNob3VsZExvZ0ZyYW1lTG9hZERlbGVnYXRlcygpOwotICAgIGJvb2wgc2hv
dWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcygpOworICAgIGJvb2wgc2hvdWxkTG9nRnJhbWVM
b2FkRGVsZWdhdGVzKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRMb2dIaXN0b3J5Q2xpZW50Q2Fs
bGJhY2tzKCkgY29uc3Q7CiAKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gbV91cmw7CiAgICAg
V1RGOjpTdHJpbmcgbV91cmxTdHJpbmc7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9l
ZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAppbmRleCBiMjIyZDYwMzU0MDU4NTI3YmQ2MzQ5MTY5
NDc2OGJmZTY4MDEyNDQ5Li42MWM0OTM4YTI0YmM4YWI2ZTNlMmE1Zjk5ZTZiZWIxYmFmNDJlNDA3
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdF
ZmwuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0Vm
bC5jcHAKQEAgLTgyLDYgKzgyLDExIEBAIFBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmll
dygpCiAgICAgZWNvcmVfZXZhc19mcmVlKG1fd2luZG93KTsKIH0KIAordm9pZCBQbGF0Zm9ybVdl
YlZpZXc6OnNldFdpbmRvd0lzS2V5KGJvb2wgaXNLZXkpCit7CisgICAgbV93aW5kb3dJc0tleSA9
IGlzS2V5OworfQorCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lk
dGgsIHVuc2lnbmVkIGhlaWdodCkKIHsKICAgICAvLyBGSVhNRTogRG9uJ3Qgd2UgbmVlZCB0byBy
ZXNpemUgdGhlIHdpbmRvdyB0b28/CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsv
UGxhdGZvcm1XZWJWaWV3R3RrLmNwcAppbmRleCBmZjE4Zjg0MmFhNmVkM2IwNzczMDE4YTk5MGRh
ZWJhOTU3ZWY0OTY5Li4wNjY0NzMwYmEzMTU3ZjQxYjIyN2UzNzRiNjk1MzM0NDU1NTUwMWNmIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0ay5j
cHAKQEAgLTU4LDYgKzU4LDExIEBAIFBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygp
CiAgICAgZ3RrX3dpZGdldF9kZXN0cm95KG1fd2luZG93KTsKIH0KIAordm9pZCBQbGF0Zm9ybVdl
YlZpZXc6OnNldFdpbmRvd0lzS2V5KGJvb2wgaXNLZXkpCit7CisgICAgbV93aW5kb3dJc0tleSA9
IGlzS2V5OworfQorCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lk
dGgsIHVuc2lnbmVkIGhlaWdodCkKIHsKICAgICBXS1JlY3QgZnJhbWUgPSB3aW5kb3dGcmFtZSgp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3
SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1t
CmluZGV4IGVjYjBjZDM5YjgzNmRjYzBmNTI1YWYwMWNlNzY1ZjQwNjBhNTFhZWEuLjYyMDcyODIy
NDg5NGY0OTliYWNlZWZkOGZhMzA2MzJjZTQ4MTZiZmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KQEAgLTU1LDkgKzU1LDEwIEBAIC0g
KGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQogCiAgICAgcmV0dXJuIHNlbGY7CiB9CisK
IC0gKEJPT0wpaXNLZXlXaW5kb3cKIHsKLSAgICByZXR1cm4gX3BsYXRmb3JtV2ViVmlldyA/IF9w
bGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkgOiBZRVM7CisgICAgcmV0dXJuIFtzdXBlciBp
c0tleVdpbmRvd10gJiYgKF9wbGF0Zm9ybVdlYlZpZXcgPyBfcGxhdGZvcm1XZWJWaWV3LT53aW5k
b3dJc0tleSgpIDogWUVTKTsKIH0KIAogLSAodm9pZClzZXRGcmFtZU9yaWdpbjooQ0dQb2ludClw
b2ludApAQCAtMTA3LDE0ICsxMDgsMjcgQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZp
ZXcoV0tXZWJWaWV3Q29uZmlndXJhdGlvbiogY29uZmlndXJhdGlvbiwgY29uc3QgVGUKICAgICBD
R1JlY3QgcmVjdCA9IENHUmVjdE1ha2UoMCwgMCwgVGVzdENvbnRyb2xsZXI6OnZpZXdXaWR0aCwg
VGVzdENvbnRyb2xsZXI6OnZpZXdIZWlnaHQpOwogICAgIG1fdmlldyA9IFtbV0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOnJlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXTsKIAot
ICAgIENHUmVjdCB3aW5kb3dSZWN0ID0gcmVjdDsKLSAgICBtX3dpbmRvdyA9IFtbV2ViS2l0VGVz
dFJ1bm5lcldpbmRvdyBhbGxvY10gaW5pdFdpdGhGcmFtZTp3aW5kb3dSZWN0XTsKKyAgICBtX3dp
bmRvdyA9IFtbV2ViS2l0VGVzdFJ1bm5lcldpbmRvdyBhbGxvY10gaW5pdFdpdGhGcmFtZTpyZWN0
XTsKICAgICBtX3dpbmRvdy5wbGF0Zm9ybVdlYlZpZXcgPSB0aGlzOwogCiAgICAgW21fd2luZG93
IGFkZFN1YnZpZXc6bV92aWV3XTsKICAgICBbbV93aW5kb3cgbWFrZUtleUFuZFZpc2libGVdOwog
fQogCitQbGF0Zm9ybVdlYlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQoreworICAgIG1fd2luZG93
LnBsYXRmb3JtV2ViVmlldyA9IG5pbDsKKyAgICBbbV92aWV3IHJlbGVhc2VdOworICAgIFttX3dp
bmRvdyByZWxlYXNlXTsKK30KKwordm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5
KGJvb2wgaXNLZXkpCit7CisgICAgbV93aW5kb3dJc0tleSA9IGlzS2V5OworICAgIGlmIChpc0tl
eSkKKyAgICAgICAgW21fd2luZG93IG1ha2VLZXlXaW5kb3ddOworfQorCiB2b2lkIFBsYXRmb3Jt
V2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkKIHsKICAg
ICBXS1JlY3QgZnJhbWUgPSB3aW5kb3dGcmFtZSgpOwpAQCAtMTIzLDEzICsxMzcsNiBAQCB2b2lk
IFBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8odW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdo
dCkKICAgICBzZXRXaW5kb3dGcmFtZShmcmFtZSk7CiB9CiAKLVBsYXRmb3JtV2ViVmlldzo6flBs
YXRmb3JtV2ViVmlldygpCi17Ci0gICAgbV93aW5kb3cucGxhdGZvcm1XZWJWaWV3ID0gMDsKLSAg
ICBbbV92aWV3IHJlbGVhc2VdOwotICAgIFttX3dpbmRvdyByZWxlYXNlXTsKLX0KLQogV0tQYWdl
UmVmIFBsYXRmb3JtV2ViVmlldzo6cGFnZSgpCiB7CiAgICAgcmV0dXJuIFttX3ZpZXcgX3BhZ2VG
b3JUZXN0aW5nXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RD
b250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xs
ZXJJT1MubW0KaW5kZXggZjZhMWQzY2M5NDllNmE5YTYyMTRmYjBiYzQxZTk5Mzg1NmMzNDE5NS4u
MzFhZGFjMDVmNjQ5MDRiODU1MTI1YjcyMDE0OWM1MGRlOGU4NzRkMyAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAgLTc0LDExICs3NCw2
IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KCkK
ICAgICBtX3Rlc3RQbHVnaW5EaXJlY3RvcnkuYWRvcHQoV0tTdHJpbmdDcmVhdGVXaXRoQ0ZTdHJp
bmcoKENGU3RyaW5nUmVmKVtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlUGF0aF0pKTsKIH0K
IAotc3RhdGljIGJvb2wgc2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUoY29uc3QgVGVzdEludm9j
YXRpb24mIHRlc3QpCi17Ci0gICAgcmV0dXJuIHRlc3QudXJsQ29udGFpbnMoInZpZXdwb3J0LyIp
OwotfQotCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMoKQogewogICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMgPSBw
bGF0Zm9ybVByZWZlcmVuY2VzKCk7CkBAIC05MywxMiArODgsMTMgQEAgdm9pZCBUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1SZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkKIAogdm9pZCBUZXN0
Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdChjb25zdCBUZXN0SW52b2Nh
dGlvbiYgdGVzdCkKIHsKLSAgICBpZiAoc2hvdWxkTWFrZVZpZXdwb3J0RmxleGlibGUodGVzdCkp
IHsKKyAgICBpZiAodGVzdC5zaG91bGRNYWtlVmlld3BvcnRGbGV4aWJsZSgpKSB7CiAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHBob25lVmlld0hlaWdodCA9IDQ4MDsKICAgICAgICAgY29uc3QgdW5z
aWduZWQgcGhvbmVWaWV3V2lkdGggPSAzMjA7CiAKICAgICAgICAgbWFpbldlYlZpZXcoKS0+cmVz
aXplVG8ocGhvbmVWaWV3V2lkdGgsIHBob25lVmlld0hlaWdodCk7Ci0gICAgICAgIC8vIEZJWE1F
OiBtb3JlIHZpZXdwb3J0IGNvbmZpZyB0byBkbyBoZXJlLgorICAgICAgICAvLyBXZSBhbHNvIHBh
c3MgZGF0YSB0byBJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKCkgdG8gaGF2ZSBpdCBjYWxs
CisgICAgICAgIC8vIFdLQnVuZGxlUGFnZVNldFVzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRp
b24oZmFsc2UpLgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMv
UGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IDBlNDBiYjE1NWMwYjA3YWZhMTMyNmQwMTQ2ZWFl
OGVjZTQyOTA3YjAuLmNhYWU1ZDBjZmU0YjkyYjg2MDc5M2JlMmZiYjRkNTljMzNkMmZkOWUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0K
QEAgLTE0NSw2ICsxNDUsMTEgQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcoV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiogY29uZmlndXJhdGlvbiwgY29uc3QgVGUKICNlbmRpZgogfQog
Cit2b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKK3sKKyAg
ICBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7Cit9CisKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNp
emVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogewogICAgIFdLUmVjdCBmcmFt
ZSA9IHdpbmRvd0ZyYW1lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261473</attachid>
            <date>2015-09-17 18:55:17 -0700</date>
            <delta_ts>2015-09-17 18:56:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149325-20150917185503.patch</filename>
            <type>text/plain</type>
            <size>6121</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5OTQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWNhY2Q3YWFiNzQ4MDI5ZjBiNDdlYmYyMDIxOTEwZWMy
YzNlNjI5OS4uMTViMTEzN2VhYTBlOTljZTQ5ZTY1M2FmNDY2MzgyNmI0N2VhOWU0ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMz
IEBACiAyMDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CisgICAgICAgIFtpT1MgV0syXSBXVFIgZmFpbHMgdG8gc2V0IHRoZSBrZXkgd2luZG93IGluIHRo
ZSBVSUtpdCBzZW5zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ5MzI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLVtXZWJLaXRUZXN0UnVubmVyV2luZG93IGlzS2V5V2luZG93XSBqdXN0IHJldHVybmVk
IF9wbGF0Zm9ybVdlYlZpZXctPndpbmRvd0lzS2V5KCkuCisgICAgICAgIFRoaXMgY2F1c2VzIFVJ
S2l0IHRvIGJ5cGFzcyBjb2RlIHRoYXQgYWN0dWFsbHkgc2V0cyB0aGUga2V5IHdpbmRvdywgcmVz
dWx0aW5nIGluCisgICAgICAgIFtVSUFwcGxpYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmtleVdp
bmRvdyBhbHdheXMgYmVpbmcgbmlsLgorCisgICAgICAgIEZpeCBieSBQbGF0Zm9ybVdlYlZpZXc6
OnNldFdpbmRvd0lzS2V5KCkgYWN0dWFsbHkgY2FsbCAtbWFrZUtleVdpbmRvdywgYW5kIGhhdmlu
ZworICAgICAgICAtW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddIGNhbGwgc3Vw
ZXIuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAg
ICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwOgorICAgICAgICAoV1RS
OjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lzS2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW06CisgICAgICAgICgtW1dlYktpdFRlc3RS
dW5uZXJXaW5kb3cgaXNLZXlXaW5kb3ddKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3
OjpQbGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6On5QbGF0
Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0lz
S2V5KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMu
bW06CisgICAgICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkpOgorCisy
MDE1LTA5LTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAg
ICAgIFtpT1MgV0syXSBXaGVuIGxvYWRpbmcgdmlld3BvcnQgdGVzdHMsIHVzZSB0aGUgbm9ybWFs
IHdlYiBwYWdlIHZpZXdwb3J0IGNvbmZpZ3VyYXRpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTMyMQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Q
bGF0Zm9ybVdlYlZpZXcuaAppbmRleCA1MmM4YmViYTc3NzE4NGU4MTg1N2NkZTExMDdjY2FmYmZj
OGQ1NjM0Li45MDU2ZGYzN2FkMTI4OWZhYmIzMmE2ZTk3MTY4MmQ1YmEwMWIwOTU3IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYWRkQ2hyb21lSW5wdXRGaWVsZCgpOwogICAgIHZvaWQgcmVtb3ZlQ2hy
b21lSW5wdXRGaWVsZCgpOwogICAgIHZvaWQgbWFrZVdlYlZpZXdGaXJzdFJlc3BvbmRlcigpOwot
ICAgIHZvaWQgc2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkgeyBtX3dpbmRvd0lzS2V5ID0gaXNL
ZXk7IH0KKyAgICB2b2lkIHNldFdpbmRvd0lzS2V5KGJvb2wpOwogICAgIGJvb2wgd2luZG93SXNL
ZXkoKSBjb25zdCB7IHJldHVybiBtX3dpbmRvd0lzS2V5OyB9CiAKICAgICBib29sIHZpZXdTdXBw
b3J0c09wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCmluZGV4IGIyMjJkNjAzNTQw
NTg1MjdiZDYzNDkxNjk0NzY4YmZlNjgwMTI0NDkuLjYxYzQ5MzhhMjRiYzhhYjZlM2UyYTVmOTll
NmJlYjFiYWY0MmU0MDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Bs
YXRmb3JtV2ViVmlld0VmbC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxh
dGZvcm1XZWJWaWV3RWZsLmNwcApAQCAtODIsNiArODIsMTEgQEAgUGxhdGZvcm1XZWJWaWV3Ojp+
UGxhdGZvcm1XZWJWaWV3KCkKICAgICBlY29yZV9ldmFzX2ZyZWUobV93aW5kb3cpOwogfQogCit2
b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKK3sKKyAgICBt
X3dpbmRvd0lzS2V5ID0gaXNLZXk7Cit9CisKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVU
byh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogewogICAgIC8vIEZJWE1FOiBEb24n
dCB3ZSBuZWVkIHRvIHJlc2l6ZSB0aGUgd2luZG93IHRvbz8KZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwCmluZGV4IGZmMThmODQyYWE2ZWQz
YjA3NzMwMThhOTkwZGFlYmE5NTdlZjQ5NjkuLjA2NjQ3MzBiYTMxNTdmNDFiMjI3ZTM3NGI2OTUz
MzQ0NTU1NTAxY2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRm
b3JtV2ViVmlld0d0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZv
cm1XZWJWaWV3R3RrLmNwcApAQCAtNTgsNiArNTgsMTEgQEAgUGxhdGZvcm1XZWJWaWV3Ojp+UGxh
dGZvcm1XZWJWaWV3KCkKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3kobV93aW5kb3cpOwogfQogCit2
b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKK3sKKyAgICBt
X3dpbmRvd0lzS2V5ID0gaXNLZXk7Cit9CisKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVU
byh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogewogICAgIFdLUmVjdCBmcmFtZSA9
IHdpbmRvd0ZyYW1lKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9Q
bGF0Zm9ybVdlYlZpZXdJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9y
bVdlYlZpZXdJT1MubW0KaW5kZXggZWNiMGNkMzliODM2ZGNjMGY1MjVhZjAxY2U3NjVmNDA2MGE1
MWFlYS4uNjIwNzI4MjI0ODk0ZjQ5OWJhY2VlZmQ4ZmEzMDYzMmNlNDgxNmJmYSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQpAQCAtNTUs
OSArNTUsMTAgQEAgLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lCiAKICAgICByZXR1
cm4gc2VsZjsKIH0KKwogLSAoQk9PTClpc0tleVdpbmRvdwogewotICAgIHJldHVybiBfcGxhdGZv
cm1XZWJWaWV3ID8gX3BsYXRmb3JtV2ViVmlldy0+d2luZG93SXNLZXkoKSA6IFlFUzsKKyAgICBy
ZXR1cm4gW3N1cGVyIGlzS2V5V2luZG93XSAmJiAoX3BsYXRmb3JtV2ViVmlldyA/IF9wbGF0Zm9y
bVdlYlZpZXctPndpbmRvd0lzS2V5KCkgOiBZRVMpOwogfQogCiAtICh2b2lkKXNldEZyYW1lT3Jp
Z2luOihDR1BvaW50KXBvaW50CkBAIC0xMDcsMTQgKzEwOCwyNyBAQCBQbGF0Zm9ybVdlYlZpZXc6
OlBsYXRmb3JtV2ViVmlldyhXS1dlYlZpZXdDb25maWd1cmF0aW9uKiBjb25maWd1cmF0aW9uLCBj
b25zdCBUZQogICAgIENHUmVjdCByZWN0ID0gQ0dSZWN0TWFrZSgwLCAwLCBUZXN0Q29udHJvbGxl
cjo6dmlld1dpZHRoLCBUZXN0Q29udHJvbGxlcjo6dmlld0hlaWdodCk7CiAgICAgbV92aWV3ID0g
W1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdCBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dOwogCi0gICAgQ0dSZWN0IHdpbmRvd1JlY3QgPSByZWN0OwotICAgIG1fd2luZG93
ID0gW1tXZWJLaXRUZXN0UnVubmVyV2luZG93IGFsbG9jXSBpbml0V2l0aEZyYW1lOndpbmRvd1Jl
Y3RdOworICAgIG1fd2luZG93ID0gW1tXZWJLaXRUZXN0UnVubmVyV2luZG93IGFsbG9jXSBpbml0
V2l0aEZyYW1lOnJlY3RdOwogICAgIG1fd2luZG93LnBsYXRmb3JtV2ViVmlldyA9IHRoaXM7CiAK
ICAgICBbbV93aW5kb3cgYWRkU3VidmlldzptX3ZpZXddOwogICAgIFttX3dpbmRvdyBtYWtlS2V5
QW5kVmlzaWJsZV07CiB9CiAKK1BsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2ViVmlldygpCit7
CisgICAgbV93aW5kb3cucGxhdGZvcm1XZWJWaWV3ID0gbmlsOworICAgIFttX3ZpZXcgcmVsZWFz
ZV07CisgICAgW21fd2luZG93IHJlbGVhc2VdOworfQorCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6
c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKK3sKKyAgICBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7
CisgICAgaWYgKGlzS2V5KQorICAgICAgICBbbV93aW5kb3cgbWFrZUtleVdpbmRvd107Cit9CisK
IHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQg
aGVpZ2h0KQogewogICAgIFdLUmVjdCBmcmFtZSA9IHdpbmRvd0ZyYW1lKCk7CkBAIC0xMjMsMTMg
KzEzNyw2IEBAIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwg
dW5zaWduZWQgaGVpZ2h0KQogICAgIHNldFdpbmRvd0ZyYW1lKGZyYW1lKTsKIH0KIAotUGxhdGZv
cm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJWaWV3KCkKLXsKLSAgICBtX3dpbmRvdy5wbGF0Zm9ybVdl
YlZpZXcgPSAwOwotICAgIFttX3ZpZXcgcmVsZWFzZV07Ci0gICAgW21fd2luZG93IHJlbGVhc2Vd
OwotfQotCiBXS1BhZ2VSZWYgUGxhdGZvcm1XZWJWaWV3OjpwYWdlKCkKIHsKICAgICByZXR1cm4g
W21fdmlldyBfcGFnZUZvclRlc3RpbmddOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9t
YWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IDBlNDBiYjE1NWMwYjA3YWZhMTMyNmQwMTQ2
ZWFlOGVjZTQyOTA3YjAuLmNhYWU1ZDBjZmU0YjkyYjg2MDc5M2JlMmZiYjRkNTljMzNkMmZkOWUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01h
Yy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMu
bW0KQEAgLTE0NSw2ICsxNDUsMTEgQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXco
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiogY29uZmlndXJhdGlvbiwgY29uc3QgVGUKICNlbmRpZgog
fQogCit2b2lkIFBsYXRmb3JtV2ViVmlldzo6c2V0V2luZG93SXNLZXkoYm9vbCBpc0tleSkKK3sK
KyAgICBtX3dpbmRvd0lzS2V5ID0gaXNLZXk7Cit9CisKIHZvaWQgUGxhdGZvcm1XZWJWaWV3Ojpy
ZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogewogICAgIFdLUmVjdCBm
cmFtZSA9IHdpbmRvd0ZyYW1lKCk7Cg==
</data>
<flag name="review"
          id="286667"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>