<?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>185433</bug_id>
          
          <creation_ts>2018-05-08 11:13:39 -0700</creation_ts>
          <short_desc>Resign Strong Password appearance when text field value changes</short_desc>
          <delta_ts>2018-05-08 16:16:46 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=184795</see_also>
          <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>
          
          <blocked>185440</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1421812</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 11:13:39 -0700</bug_when>
    <thetext>Similar to bug #184795, we should resign the Strong Password appearance when the value of the text field changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421814</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 11:14:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/39958508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421832</commentid>
    <comment_count>2</comment_count>
      <attachid>339845</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 11:28:41 -0700</bug_when>
    <thetext>Created attachment 339845
Patch with tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421870</commentid>
    <comment_count>3</comment_count>
      <attachid>339852</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 11:59:42 -0700</bug_when>
    <thetext>Created attachment 339852
Patch and tests

Updated testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript() in Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm to reset the readytoResign flag each time it is invoked so that we one test run does not interfere with another.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421934</commentid>
    <comment_count>4</comment_count>
      <attachid>339852</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-05-08 14:21:27 -0700</bug_when>
    <thetext>Comment on attachment 339852
Patch and tests

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

r=me if test cases for calling reset() and setting a smaller maxlength are added.

&gt; LayoutTests/fast/forms/auto-fill-button/hide-auto-fill-strong-password-button-when-value-changes.html:6
&gt; +window.markFieldsAsAutoFilled = true;

I&apos;m not saying we have to change the test harness in this patch but it&apos;s not great that the helper script relies on a global variable like this.

&gt; LayoutTests/fast/forms/auto-fill-button/hide-auto-fill-strong-password-button-when-value-changes.html:14
&gt; +    for (let inputElement of inputElements)

Use const?

&gt; LayoutTests/fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js:8
&gt; +    for (let inputElement of inputElements) {

Use const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421994</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 16:07:09 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #4)
&gt; Comment on attachment 339852 [details]
&gt; Patch and tests
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=339852&amp;action=review
&gt; 
&gt; r=me if test cases for calling reset() and setting a smaller maxlength are
&gt; added.
&gt; 

Will add tests for setting a smaller maxlength as well as a larger minlength. Note that in either case we do not modify the value of a text field.

Bug #185440 will add tests for Form.reset().

&gt; &gt; LayoutTests/fast/forms/auto-fill-button/hide-auto-fill-strong-password-button-when-value-changes.html:6
&gt; &gt; +window.markFieldsAsAutoFilled = true;
&gt; 
&gt; I&apos;m not saying we have to change the test harness in this patch but it&apos;s not
&gt; great that the helper script relies on a global variable like this.
&gt; 

This line is unnecessary and we do not make use of window.markFieldsAsAutoFilled in this patch.

For completeness, an earlier iteration of this patch used this global to mark all text fields as autofilled.

&gt; &gt; LayoutTests/fast/forms/auto-fill-button/hide-auto-fill-strong-password-button-when-value-changes.html:14
&gt; &gt; +    for (let inputElement of inputElements)
&gt; 
&gt; Use const?
&gt; 

I am not going to make this change because we are modifying inputElement&apos;s state below.  Making inputElement const and mutating its state would be equivalent in C++ to calling setter on a const object. And we typically do not have such const setters in C++. I do not see the benefit of doing something different for JavaScript.

&gt; &gt; LayoutTests/fast/forms/auto-fill-button/resources/process-auto-fill-button-type-and-invoke-runTest.js:8
&gt; &gt; +    for (let inputElement of inputElements) {
&gt; 
&gt; Use const?

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1422002</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-08 16:16:46 -0700</bug_when>
    <thetext>Committed r231517: &lt;https://trac.webkit.org/changeset/231517&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339845</attachid>
            <date>2018-05-08 11:28:41 -0700</date>
            <delta_ts>2018-05-08 11:59:41 -0700</delta_ts>
            <desc>Patch with tests</desc>
            <filename>bug-185433-20180508112729.patch</filename>
            <type>text/plain</type>
            <size>11134</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc2YzE4NzlmMjJjODlm
YTY0MjM1MjFlNmRkNTAyNmMwZDE0ZjBiOC4uNmQxMDE5YjlmZDg4M2E4ZmY1Y2QyODhjNjcxYWI4
ZWVkMzVkMDI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA1LTA4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNpZ24gU3Ryb25nIFBh
c3N3b3JkIGFwcGVhcmFuY2Ugd2hlbiB0ZXh0IGZpZWxkIHZhbHVlIGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTQzMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzk5NTg1MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBTdHJvbmcgUGFzc3dvcmQgZGVjb3JhdGlvbiB3
aGVuIHRoZSB0ZXh0IGZpZWxkJ3MgdmFsdWUgY2hhbmdlcyB0byBhdm9pZCBpbnRlcmZlcmluZwor
ICAgICAgICB3aXRoIHdlYiBzaXRlcyB0aGF0IGFsbG93IGEgcGVyc29uIHRvIGNsZWFyIHRoZSBw
YXNzd29yZCBmaWVsZC4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0
b24vaGlkZS1hdXRvLWZpbGwtc3Ryb25nLXBhc3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5n
ZXMuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5j
ZSk6IEV4dHJhY3RlZCBmcm9tIEhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUpOiBFeHRyYWN0IG91dCBs
b2dpYyB0byByZXNpZ24gdGhlIFN0cm9uZyBQYXNzd29yZCBhcHBlYXJhbmNlCisgICAgICAgIGlu
dG8gYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBzaGFyZWQgYnkgdGhpcyBmdW5jdGlvbiBhbmQgSFRN
TElucHV0RWxlbWVudDo6c2V0VmFsdWUoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnNldFZhbHVlKTogUmVzaWduIHRoZSBTdHJvbmcgUGFzc3dvcmQgYXBwZWFyYW5jZSBp
ZiB0aGlzIGZpZWxkIHdhcworICAgICAgICBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgKGkuZS4g
bm8gRE9NIGNoYW5nZSBldmVudCB3YXMgZGlzcGF0Y2hlZCkuCisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50Lmg6CisKIDIwMTgtMDUtMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBNb3JlIGNsZWFudXAgb2YgWE1MSHR0cFJlcXVlc3RVcGxvYWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGI4ZTY0NGQ0NjYxYmM5Zjlm
MjEzMTkzYjc4YjFiYmIyNDRlMmNjZjkuLjM5Nzg3OTY5N2FjMzU5ZjBhYzY1N2VkYzgxMWNiYzI5
ODEwOGQwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
NDg4LDYgKzQ4OCwxNiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFR5cGUoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlKQogICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
dHlwZUF0dHIsIHR5cGUpOwogfQogCit2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc2lnblN0cm9u
Z1Bhc3N3b3JkQXBwZWFyYW5jZSgpCit7CisgICAgaWYgKCFoYXNBdXRvRmlsbFN0cm9uZ1Bhc3N3
b3JkQnV0dG9uKCkpCisgICAgICAgIHJldHVybjsKKyAgICBzZXRBdXRvRmlsbGVkKGZhbHNlKTsK
KyAgICBzZXRTaG93QXV0b0ZpbGxCdXR0b24oQXV0b0ZpbGxCdXR0b25UeXBlOjpOb25lKTsKKyAg
ICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICBwYWdlLT5jaHJv
bWUoKS5jbGllbnQoKS5pbnB1dEVsZW1lbnREaWRSZXNpZ25TdHJvbmdQYXNzd29yZEFwcGVhcmFu
Y2UoKnRoaXMpOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUoKQogewog
ICAgIEFTU0VSVChtX2lucHV0VHlwZSk7CkBAIC00OTcsMTMgKzUwNyw3IEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6dXBkYXRlVHlwZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlbW92ZUZy
b21SYWRpb0J1dHRvbkdyb3VwKCk7Ci0KLSAgICBpZiAoaGFzQXV0b0ZpbGxTdHJvbmdQYXNzd29y
ZEJ1dHRvbigpKSB7Ci0gICAgICAgIHNldEF1dG9GaWxsZWQoZmFsc2UpOwotICAgICAgICBzZXRT
aG93QXV0b0ZpbGxCdXR0b24oQXV0b0ZpbGxCdXR0b25UeXBlOjpOb25lKTsKLSAgICAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLmlucHV0RWxlbWVudERpZFJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5j
ZSgqdGhpcyk7Ci0gICAgfQorICAgIHJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSgpOwog
CiAgICAgYm9vbCBkaWRTdG9yZVZhbHVlID0gbV9pbnB1dFR5cGUtPnN0b3Jlc1ZhbHVlU2VwYXJh
dGVGcm9tQXR0cmlidXRlKCk7CiAgICAgYm9vbCB3aWxsU3RvcmVWYWx1ZSA9IG5ld1R5cGUtPnN0
b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKCk7CkBAIC0xMDY0LDYgKzEwNjgsMTAgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSwgVGV4dEZpZWxkRXZlbnQKICAgICBzZXRMYXN0Q2hhbmdlV2FzTm90VXNlckVkaXQo
KTsKICAgICBzZXRGb3JtQ29udHJvbFZhbHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKTsKICAgICBt
X2lucHV0VHlwZS0+c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRC
ZWhhdmlvcik7CisKKyAgICBib29sIHdhc01vZGlmaWVkUHJvZ3JhbW1hdGljYWxseSA9IGV2ZW50
QmVoYXZpb3IgPT0gRGlzcGF0Y2hOb0V2ZW50OworICAgIGlmICh3YXNNb2RpZmllZFByb2dyYW1t
YXRpY2FsbHkpCisgICAgICAgIHJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSgpOwogICAg
IHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggMTM4NDMzMjQxZmE1NDk0NTNmNjkwNTVmMTY3NWI0NzZhNjljOTQ2NS4uYWMxYzgxYzc4NDRj
ZDNjODQ2YTYyOTdjZTNiNjI4ZjAyYWQyNjBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTM3Nyw2ICszNzcsOCBAQCBwcml2YXRlOgogICAgIEZvcm1Db250cm9s
U3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHJlc3Rv
cmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKSBmaW5hbDsKIAorICAg
IHZvaWQgcmVzaWduU3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKCk7CisKICAgICBib29sIGNhblN0
YXJ0U2VsZWN0aW9uKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGFjY2Vzc0tleUFjdGlvbihi
b29sIHNlbmRNb3VzZUV2ZW50cykgZmluYWw7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzhkYjVlMjYyMDJlZWM0MDliZjE5N2QyOTdmODE3NjYw
NzQyNTRiZS4uYTFkYzAzYTE0Mzg3MmZhMWMzMWUzYjUyOGNlNTg2ZmFhMWZlNGFiYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE4LTA1LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNpZ24gU3Ryb25nIFBhc3N3b3JkIGFwcGVhcmFuY2Ugd2hlbiB0ZXh0IGZpZWxkIHZh
bHVlIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4NTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk5NTg1MDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdW5pdCB0ZXN0IHRv
IGVuc3VyZSB0aGUgaW5qZWN0ZWQgYnVuZGxlIEFQSSBhbmQgV2ViS2l0IFVJIGRlbGVnYXRlIFNQ
SSBpcyBpbnZva2VkCisgICAgICAgIHdoZW4gdGhlIGZpZWxkIGhhcyB0aGUgU3Ryb25nIFBhc3N3
b3JkIGJ1dHRvbiBhbmQgaXRzIHZhbHVlIGNoYW5nZXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgICh0ZXN0RGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlQWZ0ZXJFdmFsdWF0aW5nSmF2
YVNjcmlwdCk6CisgICAgICAgIChURVNUKToKKwogMjAxOC0wNS0wOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBpc3N1ZSB3aXRoIHJ1
bm5pbmcgU3BlZWRvbWV0ZXIgUGVyZlRlc3QgYWZ0ZXIgcjIzMTQ1MC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCAzODZl
NzI3Yjk4MTM3MGEyODlhZTA3Njc5YjdlNDA3NTU3OTZhOWRjLi4wNDZlYTc0MTg3YjAyZDY0YWIz
ZDZiOWRkYmZiNjBhZGNkOTcwYjBjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCkBAIC01NzQsNyArNTc0LDcgQEAgLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0
aE1lc3NhZ2U6KE5TU3RyaW4KIAogQGVuZAogCi1URVNUKFdlYktpdCwgRGlkUmVzaWduSW5wdXRF
bGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKQorc3RhdGljIHZvaWQgdGVzdERpZFJlc2ln
bklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZUFmdGVyRXZhbHVhdGluZ0phdmFT
Y3JpcHQoTlNTdHJpbmcgKnNjcmlwdCkKIHsKICAgICBkb25lID0gZmFsc2U7CiAgICAgV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9u
IF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIkRpZFJlc2lnbklu
cHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSJdOwpAQCAtNTgzLDEwICs1ODMsMjAg
QEAgVEVTVChXZWJLaXQsIERpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFy
YW5jZSkKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0RpZFJlc2lnbklucHV0RWxlbWVu
dFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dl
YlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZyZWFkeXRvUmVzaWduKTsKLSAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3Jp
cHQ6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLnR5cGUgPSAndGV4dCciIGNvbXBs
ZXRpb25IYW5kbGVyOm5pbF07CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OnNjcmlw
dCBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CiB9CiAKK1RFU1QoV2ViS2l0LCBEaWRSZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNz
d29yZEFwcGVhcmFuY2VXaGVuVHlwZURpZENoYW5nZSkKK3sKKyAgICB0ZXN0RGlkUmVzaWduSW5w
dXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlQWZ0ZXJFdmFsdWF0aW5nSmF2YVNjcmlw
dChAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykudHlwZSA9ICd0ZXh0JyIpOworfQor
CitURVNUKFdlYktpdCwgRGlkUmVzaWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJh
bmNlV2hlblZhbHVlRGlkQ2hhbmdlKQoreworICAgIHRlc3REaWRSZXNpZ25JbnB1dEVsZW1lbnRT
dHJvbmdQYXNzd29yZEFwcGVhcmFuY2VBZnRlckV2YWx1YXRpbmdKYXZhU2NyaXB0KEAiZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS52YWx1ZSA9ICcnIik7Cit9CisKIEBpbnRlcmZhY2Ug
QXV0b0ZpbGxBdmFpbGFibGVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRl
PgogQGVuZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMTBkYzcxYTRkMjZhNGY0OGI0ZTViMWUzMDNhYTUyYzY3NjE2MGI2
ZC4uOGJjMzQ1YWM4ZTVhMzc4NDM1Mjk1YjY1MGVjMmUxZjJiNmQzZGFjMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDE4LTA1LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXNpZ24gU3Ryb25nIFBhc3N3b3JkIGFwcGVhcmFuY2Ugd2hlbiB0ZXh0IGZp
ZWxkIHZhbHVlIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk5NTg1MDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0
byBlbnN1cmUgd2UgcmVtb3ZlIHRoZSBTdHJvbmcgUGFzc3dvcmQgYXBwZWFyYW5jZSB3aGVuIHRo
ZSB2YWx1ZSBvZiB0aGUgdGV4dCBmaWVsZCB2YWx1ZSBjaGFuZ2VzLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtYXV0by1maWxsLXN0cm9uZy1wYXNzd29yZC1i
dXR0b24td2hlbi12YWx1ZS1jaGFuZ2VzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dv
cmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vcmVzb3VyY2VzL3Byb2Nlc3MtYXV0by1maWxsLWJ1dHRv
bi10eXBlLWFuZC1pbnZva2UtcnVuVGVzdC5qczogQWRkIHN1cHBvcnQgZm9yCisgICAgICAgIHNl
dHRpbmcgdGhlIGF1dG9maWxsZWQgc3RhdGUgb2YgYSBmaWVsZC4KKyAgICAgICAgKHdpbmRvdy5v
bmxvYWQpOgorCiAyMDE4LTA1LTA4ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CiAKICAgICAgICAgZmVUdXJidWxlbmNlIGlzIG5vdCByZW5kZXJlZCBjb3JyZWN0
bHkgb24gUmV0aW5hIGRpc3BsYXkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0by1maWxsLWJ1dHRvbi9oaWRlLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dvcmQtYnV0dG9uLXdo
ZW4tdmFsdWUtY2hhbmdlcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvLWZpbGwtYnV0dG9uL2hpZGUtYXV0by1maWxsLXN0cm9uZy1wYXNzd29yZC1idXR0b24td2hl
bi12YWx1ZS1jaGFuZ2VzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1NzIzMWQ4YWU3NDY1
ZTZkMDU1MzlmNTk0YzhiMmU3ODZkYmMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dv
cmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdlcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IHRo
YXQgYW4gYXV0b2ZpbGxlZCBTdHJvbmcgUGFzc3dvcmQgb3IgU3Ryb25nIENvbmZpcm1hdGlvbiBQ
YXNzd29yZCBkZWNvcmF0ZWQgdGV4dCBmaWVsZCByZXZlcnRzIHRvIGl0cyBvcmlnaW5hbCBhcHBl
YXJhbmNlIHdoZW4gaXRzIHZhbHVlIGNoYW5nZXMuIEl0IGNhbiBvbmx5IGJlIHRlc3RlZCBpbiB0
aGUgdGVzdCB0b29sLjwvcD4KKzxpbnB1dCB0eXBlPSJwYXNzd29yZCIgdmFsdWU9IiI+Cis8aW5w
dXQgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSIiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtYXV0by1maWxs
LXN0cm9uZy1wYXNzd29yZC1idXR0b24td2hlbi12YWx1ZS1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaGlkZS1hdXRvLWZpbGwtc3Ryb25nLXBh
c3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5nZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MGZiMTNk
ZDA1MTA3YjI2ODdjMGEyNDdjZTY3ZGE3NDMxMzZjZWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtYXV0by1maWxsLXN0cm9u
Zy1wYXNzd29yZC1idXR0b24td2hlbi12YWx1ZS1jaGFuZ2VzLmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KK3dpbmRvdy5tYXJrRmllbGRzQXNBdXRvRmlsbGVkID0gdHJ1ZTsK
KyAgICAKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgbGV0IGlucHV0RWxlbWVudHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKTsKKyAgICBmb3IgKGxldCBpbnB1
dEVsZW1lbnQgb2YgaW5wdXRFbGVtZW50cykKKyAgICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0g
IiI7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMgdGhhdCB0aGF0
IGFuIGF1dG9maWxsZWQgU3Ryb25nIFBhc3N3b3JkIG9yIFN0cm9uZyBDb25maXJtYXRpb24gUGFz
c3dvcmQgZGVjb3JhdGVkIHRleHQgZmllbGQgcmV2ZXJ0cyB0byBpdHMgb3JpZ2luYWwgYXBwZWFy
YW5jZSB3aGVuIGl0cyB2YWx1ZSBjaGFuZ2VzLiBJdCBjYW4gb25seSBiZSB0ZXN0ZWQgaW4gdGhl
IHRlc3QgdG9vbC48L3A+Cis8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSJDdXBlcnRpbm8i
IGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdQYXNzd29yZCIgZGF0YS1hdXRvZmls
bGVkPSJ0cnVlIj4KKzxpbnB1dCB0eXBlPSJwYXNzd29yZCIgdmFsdWU9IkN1cGVydGlubyIgZGF0
YS1hdXRvLWZpbGwtYnV0dG9uLXR5cGU9IlN0cm9uZ0NvbmZpcm1hdGlvblBhc3N3b3JkIiBkYXRh
LWF1dG9maWxsZWQ9InRydWUiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNzLWF1dG8t
ZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vcmVzb3VyY2VzL3Byb2Nlc3MtYXV0by1maWxsLWJ1dHRv
bi10eXBlLWFuZC1pbnZva2UtcnVuVGVzdC5qcwppbmRleCA1YzJlZGUzNGZiOTY1Mjg5M2I4ZGFh
YWFkMWE4NTQ0NjE2ZGYxY2Y4Li42MjhhODU3MGUxZDViNjZkMDBkZTM3ZGY4MjBmNmNkNzc3MmZk
Njc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24v
cmVzb3VyY2VzL3Byb2Nlc3MtYXV0by1maWxsLWJ1dHRvbi10eXBlLWFuZC1pbnZva2UtcnVuVGVz
dC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vcmVzb3Vy
Y2VzL3Byb2Nlc3MtYXV0by1maWxsLWJ1dHRvbi10eXBlLWFuZC1pbnZva2UtcnVuVGVzdC5qcwpA
QCAtNSw4ICs1LDEwIEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKQogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIGxldCBpbnB1dEVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImlucHV0Iik7Ci0gICAgZm9yIChsZXQgaW5wdXRFbGVtZW50IG9mIGlucHV0RWxl
bWVudHMpCisgICAgZm9yIChsZXQgaW5wdXRFbGVtZW50IG9mIGlucHV0RWxlbWVudHMpIHsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldEF1dG9maWxsZWQoaW5wdXRFbGVtZW50LCBpbnB1dEVsZW1lbnQu
ZGF0YXNldC5hdXRvZmlsbGVkID09ICJ0cnVlIik7CiAgICAgICAgIGludGVybmFscy5zZXRTaG93
QXV0b0ZpbGxCdXR0b24oaW5wdXRFbGVtZW50LCBpbnB1dEVsZW1lbnQuZGF0YXNldC5hdXRvRmls
bEJ1dHRvblR5cGUpOworICAgIH0KICAgICBpZiAod2luZG93LnJ1blRlc3QpCiAgICAgICAgIHdp
bmRvdy5ydW5UZXN0KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339852</attachid>
            <date>2018-05-08 11:59:42 -0700</date>
            <delta_ts>2018-05-08 14:21:27 -0700</delta_ts>
            <desc>Patch and tests</desc>
            <filename>bug-185433-20180508115830.patch</filename>
            <type>text/plain</type>
            <size>11207</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc2YzE4NzlmMjJjODlm
YTY0MjM1MjFlNmRkNTAyNmMwZDE0ZjBiOC4uNmQxMDE5YjlmZDg4M2E4ZmY1Y2QyODhjNjcxYWI4
ZWVkMzVkMDI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA1LTA4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXNpZ24gU3Ryb25nIFBh
c3N3b3JkIGFwcGVhcmFuY2Ugd2hlbiB0ZXh0IGZpZWxkIHZhbHVlIGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTQzMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzk5NTg1MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBTdHJvbmcgUGFzc3dvcmQgZGVjb3JhdGlvbiB3
aGVuIHRoZSB0ZXh0IGZpZWxkJ3MgdmFsdWUgY2hhbmdlcyB0byBhdm9pZCBpbnRlcmZlcmluZwor
ICAgICAgICB3aXRoIHdlYiBzaXRlcyB0aGF0IGFsbG93IGEgcGVyc29uIHRvIGNsZWFyIHRoZSBw
YXNzd29yZCBmaWVsZC4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0
b24vaGlkZS1hdXRvLWZpbGwtc3Ryb25nLXBhc3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5n
ZXMuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5j
ZSk6IEV4dHJhY3RlZCBmcm9tIEhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUpOiBFeHRyYWN0IG91dCBs
b2dpYyB0byByZXNpZ24gdGhlIFN0cm9uZyBQYXNzd29yZCBhcHBlYXJhbmNlCisgICAgICAgIGlu
dG8gYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBzaGFyZWQgYnkgdGhpcyBmdW5jdGlvbiBhbmQgSFRN
TElucHV0RWxlbWVudDo6c2V0VmFsdWUoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnNldFZhbHVlKTogUmVzaWduIHRoZSBTdHJvbmcgUGFzc3dvcmQgYXBwZWFyYW5jZSBp
ZiB0aGlzIGZpZWxkIHdhcworICAgICAgICBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgKGkuZS4g
bm8gRE9NIGNoYW5nZSBldmVudCB3YXMgZGlzcGF0Y2hlZCkuCisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50Lmg6CisKIDIwMTgtMDUtMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBNb3JlIGNsZWFudXAgb2YgWE1MSHR0cFJlcXVlc3RVcGxvYWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGI4ZTY0NGQ0NjYxYmM5Zjlm
MjEzMTkzYjc4YjFiYmIyNDRlMmNjZjkuLjM5Nzg3OTY5N2FjMzU5ZjBhYzY1N2VkYzgxMWNiYzI5
ODEwOGQwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
NDg4LDYgKzQ4OCwxNiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFR5cGUoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlKQogICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
dHlwZUF0dHIsIHR5cGUpOwogfQogCit2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnJlc2lnblN0cm9u
Z1Bhc3N3b3JkQXBwZWFyYW5jZSgpCit7CisgICAgaWYgKCFoYXNBdXRvRmlsbFN0cm9uZ1Bhc3N3
b3JkQnV0dG9uKCkpCisgICAgICAgIHJldHVybjsKKyAgICBzZXRBdXRvRmlsbGVkKGZhbHNlKTsK
KyAgICBzZXRTaG93QXV0b0ZpbGxCdXR0b24oQXV0b0ZpbGxCdXR0b25UeXBlOjpOb25lKTsKKyAg
ICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICBwYWdlLT5jaHJv
bWUoKS5jbGllbnQoKS5pbnB1dEVsZW1lbnREaWRSZXNpZ25TdHJvbmdQYXNzd29yZEFwcGVhcmFu
Y2UoKnRoaXMpOworfQorCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUoKQogewog
ICAgIEFTU0VSVChtX2lucHV0VHlwZSk7CkBAIC00OTcsMTMgKzUwNyw3IEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6dXBkYXRlVHlwZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlbW92ZUZy
b21SYWRpb0J1dHRvbkdyb3VwKCk7Ci0KLSAgICBpZiAoaGFzQXV0b0ZpbGxTdHJvbmdQYXNzd29y
ZEJ1dHRvbigpKSB7Ci0gICAgICAgIHNldEF1dG9GaWxsZWQoZmFsc2UpOwotICAgICAgICBzZXRT
aG93QXV0b0ZpbGxCdXR0b24oQXV0b0ZpbGxCdXR0b25UeXBlOjpOb25lKTsKLSAgICAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLmlucHV0RWxlbWVudERpZFJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5j
ZSgqdGhpcyk7Ci0gICAgfQorICAgIHJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSgpOwog
CiAgICAgYm9vbCBkaWRTdG9yZVZhbHVlID0gbV9pbnB1dFR5cGUtPnN0b3Jlc1ZhbHVlU2VwYXJh
dGVGcm9tQXR0cmlidXRlKCk7CiAgICAgYm9vbCB3aWxsU3RvcmVWYWx1ZSA9IG5ld1R5cGUtPnN0
b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKCk7CkBAIC0xMDY0LDYgKzEwNjgsMTAgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3RyaW5n
JiB2YWx1ZSwgVGV4dEZpZWxkRXZlbnQKICAgICBzZXRMYXN0Q2hhbmdlV2FzTm90VXNlckVkaXQo
KTsKICAgICBzZXRGb3JtQ29udHJvbFZhbHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKTsKICAgICBt
X2lucHV0VHlwZS0+c2V0VmFsdWUoc2FuaXRpemVkVmFsdWUsIHZhbHVlQ2hhbmdlZCwgZXZlbnRC
ZWhhdmlvcik7CisKKyAgICBib29sIHdhc01vZGlmaWVkUHJvZ3JhbW1hdGljYWxseSA9IGV2ZW50
QmVoYXZpb3IgPT0gRGlzcGF0Y2hOb0V2ZW50OworICAgIGlmICh3YXNNb2RpZmllZFByb2dyYW1t
YXRpY2FsbHkpCisgICAgICAgIHJlc2lnblN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZSgpOwogICAg
IHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggMTM4NDMzMjQxZmE1NDk0NTNmNjkwNTVmMTY3NWI0NzZhNjljOTQ2NS4uYWMxYzgxYzc4NDRj
ZDNjODQ2YTYyOTdjZTNiNjI4ZjAyYWQyNjBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTM3Nyw2ICszNzcsOCBAQCBwcml2YXRlOgogICAgIEZvcm1Db250cm9s
U3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHJlc3Rv
cmVGb3JtQ29udHJvbFN0YXRlKGNvbnN0IEZvcm1Db250cm9sU3RhdGUmKSBmaW5hbDsKIAorICAg
IHZvaWQgcmVzaWduU3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlKCk7CisKICAgICBib29sIGNhblN0
YXJ0U2VsZWN0aW9uKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGFjY2Vzc0tleUFjdGlvbihi
b29sIHNlbmRNb3VzZUV2ZW50cykgZmluYWw7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzhkYjVlMjYyMDJlZWM0MDliZjE5N2QyOTdmODE3NjYw
NzQyNTRiZS4uYTFkYzAzYTE0Mzg3MmZhMWMzMWUzYjUyOGNlNTg2ZmFhMWZlNGFiYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE4LTA1LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXNpZ24gU3Ryb25nIFBhc3N3b3JkIGFwcGVhcmFuY2Ugd2hlbiB0ZXh0IGZpZWxkIHZh
bHVlIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4NTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzk5NTg1MDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdW5pdCB0ZXN0IHRv
IGVuc3VyZSB0aGUgaW5qZWN0ZWQgYnVuZGxlIEFQSSBhbmQgV2ViS2l0IFVJIGRlbGVnYXRlIFNQ
SSBpcyBpbnZva2VkCisgICAgICAgIHdoZW4gdGhlIGZpZWxkIGhhcyB0aGUgU3Ryb25nIFBhc3N3
b3JkIGJ1dHRvbiBhbmQgaXRzIHZhbHVlIGNoYW5nZXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgICh0ZXN0RGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlQWZ0ZXJFdmFsdWF0aW5nSmF2
YVNjcmlwdCk6CisgICAgICAgIChURVNUKToKKwogMjAxOC0wNS0wOCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBpc3N1ZSB3aXRoIHJ1
bm5pbmcgU3BlZWRvbWV0ZXIgUGVyZlRlc3QgYWZ0ZXIgcjIzMTQ1MC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCAzODZl
NzI3Yjk4MTM3MGEyODlhZTA3Njc5YjdlNDA3NTU3OTZhOWRjLi5mOGMzOTE1MWYzMmQ4ZWRjMjRh
NzEwM2I1MzMzZDE5MTY3MjUwN2FmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCkBAIC01NzQsMTkgKzU3NCwzMCBAQCAtICh2
b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxX
aXRoTWVzc2FnZTooTlNTdHJpbgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0LCBEaWRSZXNpZ25JbnB1
dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2UpCitzdGF0aWMgdm9pZCB0ZXN0RGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlQWZ0ZXJFdmFsdWF0aW5nSmF2
YVNjcmlwdChOU1N0cmluZyAqc2NyaXB0KQogewogICAgIGRvbmUgPSBmYWxzZTsKKyAgICByZWFk
eXRvUmVzaWduID0gZmFsc2U7CiAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJh
dGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVz
dFBsdWdJbkNsYXNzTmFtZTpAIkRpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBw
ZWFyYW5jZSJdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tEaWRS
ZXNpZ25JbnB1dEVsZW1lbnRTdHJvbmdQYXNzd29yZEFwcGVhcmFuY2VEZWxlZ2F0ZSBhbGxvY10g
aW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVhZHl0b1Jlc2lnbik7Ci0gICAgW3dlYlZpZXcg
ZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS50eXBl
ID0gJ3RleHQnIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworICAgIFt3ZWJWaWV3IGV2YWx1YXRl
SmF2YVNjcmlwdDpzY3JpcHQgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQogCitURVNUKFdlYktpdCwgRGlkUmVzaWduSW5wdXRF
bGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlV2hlblR5cGVEaWRDaGFuZ2UpCit7CisgICAg
dGVzdERpZFJlc2lnbklucHV0RWxlbWVudFN0cm9uZ1Bhc3N3b3JkQXBwZWFyYW5jZUFmdGVyRXZh
bHVhdGluZ0phdmFTY3JpcHQoQCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLnR5cGUg
PSAndGV4dCciKTsKK30KKworVEVTVChXZWJLaXQsIERpZFJlc2lnbklucHV0RWxlbWVudFN0cm9u
Z1Bhc3N3b3JkQXBwZWFyYW5jZVdoZW5WYWx1ZURpZENoYW5nZSkKK3sKKyAgICB0ZXN0RGlkUmVz
aWduSW5wdXRFbGVtZW50U3Ryb25nUGFzc3dvcmRBcHBlYXJhbmNlQWZ0ZXJFdmFsdWF0aW5nSmF2
YVNjcmlwdChAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykudmFsdWUgPSAnJyIpOwor
fQorCiBAaW50ZXJmYWNlIEF1dG9GaWxsQXZhaWxhYmxlRGVsZWdhdGUgOiBOU09iamVjdCA8V0tV
SURlbGVnYXRlUHJpdmF0ZT4KIEBlbmQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEwZGM3MWE0ZDI2YTRmNDhiNGU1YjFl
MzAzYWE1MmM2NzYxNjBiNmQuLjhiYzM0NWFjOGU1YTM3ODQzNTI5NWI2NTBlYzJlMWYyYjZkM2Rh
YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wNS0wOCAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVzaWduIFN0cm9uZyBQYXNzd29yZCBhcHBlYXJh
bmNlIHdoZW4gdGV4dCBmaWVsZCB2YWx1ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU0MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM5OTU4NTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIHRlc3QgdG8gZW5zdXJlIHdlIHJlbW92ZSB0aGUgU3Ryb25nIFBhc3N3b3JkIGFw
cGVhcmFuY2Ugd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHRleHQgZmllbGQgdmFsdWUgY2hhbmdlcy4K
KworICAgICAgICAqIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLWF1dG8tZmlsbC1z
dHJvbmctcGFzc3dvcmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdlcy1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaGlkZS1hdXRvLWZp
bGwtc3Ryb25nLXBhc3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5nZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNz
LWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanM6IEFkZCBzdXBwb3J0
IGZvcgorICAgICAgICBzZXR0aW5nIHRoZSBhdXRvZmlsbGVkIHN0YXRlIG9mIGEgZmllbGQuCisg
ICAgICAgICh3aW5kb3cub25sb2FkKToKKwogMjAxOC0wNS0wOCAgU2FpZCBBYm91LUhhbGxhd2Eg
IDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIGZlVHVyYnVsZW5jZSBpcyBub3Qg
cmVuZGVyZWQgY29ycmVjdGx5IG9uIFJldGluYSBkaXNwbGF5CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaGlkZS1hdXRvLWZpbGwtc3Ryb25nLXBh
c3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5nZXMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRlLWF1dG8tZmlsbC1zdHJvbmctcGFz
c3dvcmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdlcy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE2NTcyMzFkOGFlNzQ2NWU2ZDA1NTM5ZjU5NGM4YjJlNzg2ZGJjMzEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG8tZmlsbC1idXR0b24vaGlkZS1hdXRvLWZp
bGwtc3Ryb25nLXBhc3N3b3JkLWJ1dHRvbi13aGVuLXZhbHVlLWNoYW5nZXMtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdHMgdGhhdCB0aGF0IGFuIGF1dG9maWxsZWQgU3Ryb25nIFBhc3N3b3JkIG9yIFN0cm9u
ZyBDb25maXJtYXRpb24gUGFzc3dvcmQgZGVjb3JhdGVkIHRleHQgZmllbGQgcmV2ZXJ0cyB0byBp
dHMgb3JpZ2luYWwgYXBwZWFyYW5jZSB3aGVuIGl0cyB2YWx1ZSBjaGFuZ2VzLiBJdCBjYW4gb25s
eSBiZSB0ZXN0ZWQgaW4gdGhlIHRlc3QgdG9vbC48L3A+Cis8aW5wdXQgdHlwZT0icGFzc3dvcmQi
IHZhbHVlPSIiPgorPGlucHV0IHR5cGU9InBhc3N3b3JkIiB2YWx1ZT0iIj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRv
bi9oaWRlLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dvcmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdl
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2hpZGUtYXV0
by1maWxsLXN0cm9uZy1wYXNzd29yZC1idXR0b24td2hlbi12YWx1ZS1jaGFuZ2VzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTBmYjEzZGQwNTEwN2IyNjg3YzBhMjQ3Y2U2N2RhNzQzMTM2Y2VjMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9oaWRl
LWF1dG8tZmlsbC1zdHJvbmctcGFzc3dvcmQtYnV0dG9uLXdoZW4tdmFsdWUtY2hhbmdlcy5odG1s
CkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9uLXR5cGUtYW5kLWludm9r
ZS1ydW5UZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cubWFya0ZpZWxkc0FzQXV0
b0ZpbGxlZCA9IHRydWU7CisgICAgCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGxldCBp
bnB1dEVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7Cisg
ICAgZm9yIChsZXQgaW5wdXRFbGVtZW50IG9mIGlucHV0RWxlbWVudHMpCisgICAgICAgIGlucHV0
RWxlbWVudC52YWx1ZSA9ICIiOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBp
bnRlcm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExh
eW91dFRhc2tzKCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3RzIHRoYXQgdGhhdCBhbiBhdXRvZmlsbGVkIFN0cm9uZyBQYXNzd29yZCBvciBTdHJvbmcg
Q29uZmlybWF0aW9uIFBhc3N3b3JkIGRlY29yYXRlZCB0ZXh0IGZpZWxkIHJldmVydHMgdG8gaXRz
IG9yaWdpbmFsIGFwcGVhcmFuY2Ugd2hlbiBpdHMgdmFsdWUgY2hhbmdlcy4gSXQgY2FuIG9ubHkg
YmUgdGVzdGVkIGluIHRoZSB0ZXN0IHRvb2wuPC9wPgorPGlucHV0IHR5cGU9InBhc3N3b3JkIiB2
YWx1ZT0iQ3VwZXJ0aW5vIiBkYXRhLWF1dG8tZmlsbC1idXR0b24tdHlwZT0iU3Ryb25nUGFzc3dv
cmQiIGRhdGEtYXV0b2ZpbGxlZD0idHJ1ZSI+Cis8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHZhbHVl
PSJDdXBlcnRpbm8iIGRhdGEtYXV0by1maWxsLWJ1dHRvbi10eXBlPSJTdHJvbmdDb25maXJtYXRp
b25QYXNzd29yZCIgZGF0YS1hdXRvZmlsbGVkPSJ0cnVlIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9yZXNvdXJj
ZXMvcHJvY2Vzcy1hdXRvLWZpbGwtYnV0dG9uLXR5cGUtYW5kLWludm9rZS1ydW5UZXN0LmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNz
LWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52b2tlLXJ1blRlc3QuanMKaW5kZXggNWMyZWRl
MzRmYjk2NTI4OTNiOGRhYWFhZDFhODU0NDYxNmRmMWNmOC4uNjI4YTg1NzBlMWQ1YjY2ZDAwZGUz
N2RmODIwZjZjZDc3NzJmZDY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvLWZpbGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1h
bmQtaW52b2tlLXJ1blRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvLWZp
bGwtYnV0dG9uL3Jlc291cmNlcy9wcm9jZXNzLWF1dG8tZmlsbC1idXR0b24tdHlwZS1hbmQtaW52
b2tlLXJ1blRlc3QuanMKQEAgLTUsOCArNSwxMCBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24g
KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBsZXQgaW5wdXRFbGVtZW50cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOwotICAgIGZvciAobGV0IGlucHV0RWxl
bWVudCBvZiBpbnB1dEVsZW1lbnRzKQorICAgIGZvciAobGV0IGlucHV0RWxlbWVudCBvZiBpbnB1
dEVsZW1lbnRzKSB7CisgICAgICAgIGludGVybmFscy5zZXRBdXRvZmlsbGVkKGlucHV0RWxlbWVu
dCwgaW5wdXRFbGVtZW50LmRhdGFzZXQuYXV0b2ZpbGxlZCA9PSAidHJ1ZSIpOwogICAgICAgICBp
bnRlcm5hbHMuc2V0U2hvd0F1dG9GaWxsQnV0dG9uKGlucHV0RWxlbWVudCwgaW5wdXRFbGVtZW50
LmRhdGFzZXQuYXV0b0ZpbGxCdXR0b25UeXBlKTsKKyAgICB9CiAgICAgaWYgKHdpbmRvdy5ydW5U
ZXN0KQogICAgICAgICB3aW5kb3cucnVuVGVzdCgpOwogfQo=
</data>
<flag name="review"
          id="358086"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>