<?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>67697</bug_id>
          
          <creation_ts>2011-09-06 22:59:49 -0700</creation_ts>
          <short_desc>Change event is not fired for input[type=number] when the user reverts a change made by script</short_desc>
          <delta_ts>2011-09-07 03:06:23 -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>Forms</component>
          <version>528+ (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>
          
          <blocked>67360</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>463172</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 22:59:49 -0700</bug_when>
    <thetext>Here&apos;s a test &amp; fix for the following discussion on the bug 67360:

 Comment #2 From tkent@chromium.org (:tkent) (r) 2011-09-06 18:51:09 PST (-) [reply] 
(From update of attachment 106507 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=106507&amp;action=review

&gt; Source/WebCore/html/TextInputType.cpp:53
&gt; +    // FIXME: should this be moved to TextFieldInputType?

I think so. It looks a bug of the current code.
 Comment #3 From rniwa@webkit.org (:rniwa) (r) 2011-09-06 18:58:57 PST (-) [reply] 
(From update of attachment 106507 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=106507&amp;action=review

&gt;&gt; Source/WebCore/html/TextInputType.cpp:53
&gt;&gt; +    // FIXME: should this be moved to TextFieldInputType?
&gt; 
&gt; I think so. It looks a bug of the current code.

Okay. Let me see if I can come up with a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463176</commentid>
    <comment_count>1</comment_count>
      <attachid>106546</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-06 23:06:19 -0700</bug_when>
    <thetext>Created attachment 106546
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463178</commentid>
    <comment_count>2</comment_count>
      <attachid>106546</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-06 23:17:05 -0700</bug_when>
    <thetext>Comment on attachment 106546
fixes the bug

Looks good.  Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463183</commentid>
    <comment_count>3</comment_count>
      <attachid>106546</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 23:44:42 -0700</bug_when>
    <thetext>Comment on attachment 106546
fixes the bug

Attachment 106546 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9602458

New failing tests:
fast/forms/input-number-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463217</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-07 00:56:02 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; New failing tests:
&gt; fast/forms/input-number-events.html

The failure was:
@@ -15,7 +15,7 @@
 PASS changeEventCounter is 0
 PASS inputEventCounter is 1
 Focus on another field
-PASS changeEventCounter is 1
+FAIL changeEventCounter should be 1. Was 0.
 PASS inputEventCounter is 1
 PASS successfullyParsed is true

&apos;change&apos; was not fired when the number input lost focus after updating the value by the spin button.
HTMLInputElement::stepUpFromRenderer() uses setValueAsNumber() internally. So m_wasModifiedByUser and m_textAsOfLastFormControlChangeEvent are always reset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463241</commentid>
    <comment_count>5</comment_count>
      <attachid>106558</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 02:00:20 -0700</bug_when>
    <thetext>Created attachment 106558
fixed the test failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463242</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 02:02:01 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; New failing tests:
&gt; &gt; fast/forms/input-number-events.html
&gt; 
&gt; The failure was:
&gt; @@ -15,7 +15,7 @@
&gt;  PASS changeEventCounter is 0
&gt;  PASS inputEventCounter is 1
&gt;  Focus on another field
&gt; -PASS changeEventCounter is 1
&gt; +FAIL changeEventCounter should be 1. Was 0.
&gt;  PASS inputEventCounter is 1
&gt;  PASS successfullyParsed is true
&gt; 
&gt; &apos;change&apos; was not fired when the number input lost focus after updating the value by the spin button.
&gt; HTMLInputElement::stepUpFromRenderer() uses setValueAsNumber() internally. So m_wasModifiedByUser and m_textAsOfLastFormControlChangeEvent are always reset.

Yeah, I completely overlooked this failure. New patch fixes this issue by propagating sendChangeEvent through various functions from stepUpFromRenderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463243</commentid>
    <comment_count>7</comment_count>
      <attachid>106558</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-07 02:04:40 -0700</bug_when>
    <thetext>Comment on attachment 106558
fixed the test failure

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463245</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-07 02:11:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 106558 [details])
&gt; Looks good.

Thanks for the review :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463263</commentid>
    <comment_count>9</comment_count>
      <attachid>106558</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-07 03:06:18 -0700</bug_when>
    <thetext>Comment on attachment 106558
fixed the test failure

Clearing flags on attachment: 106558

Committed r94658: &lt;http://trac.webkit.org/changeset/94658&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463264</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-07 03:06:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106546</attachid>
            <date>2011-09-06 23:06:19 -0700</date>
            <delta_ts>2011-09-07 02:00:15 -0700</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-67697-20110906230617.patch</filename>
            <type>text/plain</type>
            <size>4517</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NjQwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDktMDYgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hhbmdlIGV2ZW50IGlzIG5vdCBm
aXJlZCBmb3IgaW5wdXRbdHlwZT1udW1iZXJdIHdoZW4gdGhlIHVzZXIgcmV2ZXJ0cyBhIGNoYW5n
ZSBtYWRlIGJ5IHNjcmlwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc2OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgYnVnIHdhcyBjYXVzZWQgYnkgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUg
bm90IGNhbGxpbmcgc2V0VGV4dEFzT2ZMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudAorICAgICAg
ICBmb3IgdGV4dCBmaWVsZHMgb3RoZXIgdGhhbiB0eXBlPXRleHQuCisKKyAgICAgICAgVGVzdDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXItaW5wdXQtY2hhbmdlZXZlbnQuaHRtbAorCisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKToKKwogMjAxMS0wOS0wNiAgWGlhbnpodSBXYW5nICA8
d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlcGxhY2UgdXNhZ2VzIG9mIFZl
Y3RvcjxVQ2hhcj4gd2l0aCBleGlzdGluZyBTdHJpbmdCdWlsZGVyCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDk0NjM3KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEy
OCw3ICsxMTI4LDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdAog
ICAgICAgICAgICAgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CiAgICAgfQogCi0g
ICAgaWYgKGlzVGV4dCgpICYmICghZm9jdXNlZCgpIHx8ICFzZW5kQ2hhbmdlRXZlbnQpKQorICAg
IGlmIChpc1RleHRGaWVsZCgpICYmICghZm9jdXNlZCgpIHx8ICFzZW5kQ2hhbmdlRXZlbnQpKQog
ICAgICAgICBzZXRUZXh0QXNPZkxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50KHZhbHVlKTsKIAog
ICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NjQwKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDktMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
Q2hhbmdlIGV2ZW50IGlzIG5vdCBmaXJlZCBmb3IgaW5wdXRbdHlwZT1udW1iZXJdIHdoZW4gdGhl
IHVzZXIgcmV2ZXJ0cyBhIGNoYW5nZSBtYWRlIGJ5IHNjcmlwdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2OTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSByZWdyZXNzaW9uIHRlc3QgdG8gZW5z
dXJlIFdlYktpdCBmaXJlcyBjaGFuZ2UgZXZlbnQgd2hlbiB0aGUgdXNlciByZXZlcnRzIGEgY2hh
bmdlIG1hZGUgYnkgc2NyaXB0LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9udW1iZXItaW5wdXQt
Y2hhbmdlZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL251
bWJlci1pbnB1dC1jaGFuZ2VldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0wNSAgS2VudCBU
YW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoU2FmYXJp
IDUuMSAtIFRvVCk6IEZpbGUgaW5wdXQgcmV0YWlucyBpdHMgZmlsZSBpY29uIHdoZW4gdGhlIHZh
bHVlIGlzIHJlc2V0CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci1pbnB1dC1j
aGFuZ2VldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9udW1iZXItaW5wdXQtY2hhbmdlZXZlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXItaW5wdXQtY2hhbmdlZXZlbnQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIGNo
YW5nZSBldmVudCBpcyBmaXJlZCBmb3IgaW5wdXRbdHlwZT1udW1iZXJdIHdoZW4gdGhlIHVzZXIg
cmV2ZXJ0cyB0aGUgY2hhbmdlIG1hZGUgYnkgYSBzY3JpcHQuCisKK1BBU1MgZXZlbnRTZW5kZXIu
a2V5RG93bignMScpO2V2ZW50U2VuZGVyLmtleURvd24oJzInKTtkdW1teS5mb2N1cygpO251bWJl
ck9mQ2hhbmdlRXZlbnRzRmlyZWQgaXMgMQorUEFTUyB0ZXN0LnZhbHVlID0gJzM0JztudW1iZXJP
ZkNoYW5nZUV2ZW50c0ZpcmVkIGlzIDEKK1BBU1MgdGVzdC5mb2N1cygpO3Rlc3QudmFsdWUgPSAn
MzQnO2RvY3VtZW50LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnKTsgZXZlbnRTZW5kZXIua2V5RG93
bignMScpO2V2ZW50U2VuZGVyLmtleURvd24oJzInKTtkdW1teS5mb2N1cygpO251bWJlck9mQ2hh
bmdlRXZlbnRzRmlyZWQgaXMgMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyLWlucHV0
LWNoYW5nZWV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9u
dW1iZXItaW5wdXQtY2hhbmdlZXZlbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbnVtYmVyLWlucHV0LWNoYW5nZWV2ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBlbnN1cmVzIGNoYW5nZSBldmVudCBpcyBmaXJlZCBmb3IgaW5wdXRbdHlwZT1udW1iZXJd
IHdoZW4gdGhlIHVzZXIgcmV2ZXJ0cyB0aGUgY2hhbmdlIG1hZGUgYnkgYSBzY3JpcHQuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2PjxpbnB1dCBpZD0idGVzdCIgdHlwZT0ibnVt
YmVyIiBvbmNoYW5nZT0ibnVtYmVyT2ZDaGFuZ2VFdmVudHNGaXJlZCsrOyI+PGlucHV0IGlkPSJk
dW1teSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgbnVtYmVyT2ZD
aGFuZ2VFdmVudHNGaXJlZCA9IDA7Cit2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0Jyk7Cit2YXIgZHVtbXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVtbXknKTsK
K3Rlc3QuZm9jdXMoKTsKKworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHNob3VsZEJl
KCJldmVudFNlbmRlci5rZXlEb3duKCcxJyk7ZXZlbnRTZW5kZXIua2V5RG93bignMicpO2R1bW15
LmZvY3VzKCk7bnVtYmVyT2ZDaGFuZ2VFdmVudHNGaXJlZCIsICcxJyk7CisgICAgc2hvdWxkQmUo
InRlc3QudmFsdWUgPSAnMzQnO251bWJlck9mQ2hhbmdlRXZlbnRzRmlyZWQiLCAnMScpOworICAg
IHNob3VsZEJlKCJ0ZXN0LmZvY3VzKCk7dGVzdC52YWx1ZSA9ICczNCc7ZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoJ1NlbGVjdEFsbCcpO1xuIgorICAgICsgImV2ZW50U2VuZGVyLmtleURvd24oJzEnKTtl
dmVudFNlbmRlci5rZXlEb3duKCcyJyk7ZHVtbXkuZm9jdXMoKTtudW1iZXJPZkNoYW5nZUV2ZW50
c0ZpcmVkIiwgJzInKTsKKyAgICB0ZXN0LnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheSA9ICdub25l
JzsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106558</attachid>
            <date>2011-09-07 02:00:20 -0700</date>
            <delta_ts>2011-09-07 03:06:18 -0700</delta_ts>
            <desc>fixed the test failure</desc>
            <filename>bug-67697-20110907020019.patch</filename>
            <type>text/plain</type>
            <size>17014</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0NjQ4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMDktMDcgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2hhbmdlIGV2ZW50IGlzIG5vdCBm
aXJlZCBmb3IgaW5wdXRbdHlwZT1udW1iZXJdIHdoZW4gdGhlIHVzZXIgcmV2ZXJ0cyBhIGNoYW5n
ZSBtYWRlIGJ5IHNjcmlwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc2OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgYnVnIHdhcyBjYXVzZWQgYnkgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUg
bm90IGNhbGxpbmcgc2V0VGV4dEFzT2ZMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudAorICAgICAg
ICBmb3IgdGV4dCBmaWVsZHMgb3RoZXIgdGhhbiB0eXBlPXRleHQuCisKKyAgICAgICAgQWxzbyBm
aXhlZCBhIHRoYXQgc3RlcFVwRnJvbVJlbmRlcmVyIGRvZXMgbm90IGNhbGwgc2V0VGV4dEFzT2ZM
YXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCBhdCBhcHByb3ByaWF0ZQorICAgICAgICB0aW1pbmcg
ZHVlIHRvIHNldFZhbHVlQXNOdW1iZXIgYWx3YXlzIHBhc3Npbmcgc2VuZENoYW5nZUV2ZW50PWZh
bHNlIHRvIHNldFZhbHVlIGJ5IHByb3BhZ2F0aW5nIHZhbHVlcworICAgICAgICB0aHJvdWdoIHNl
dFZhbHVlQXNOdW1iZXIgYW5kIGFwcGx5U3RlcC4gVGhpcyByZWZhY3RvcmluZyBhbGxvd3MgdXMg
dG8gcmVtb3ZlIGNhbGxzIHRvIGRpc3BhdGNoKiBpbgorICAgICAgICBzdGVwVXBGcm9tUmVuZGVy
ZXIgYmVjYXVzZSB0aGV5J3JlIG5vdyBjYWxsZWQgaW4gc2V0VmFsdWVBc051bWJlciBvciBhcHBs
eVN0ZXAuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9udW1iZXItaW5wdXQtY2hhbmdlZXZl
bnQuaHRtbAorCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVt
YmVyKToKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAg
ICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50OjphcHBseVN0ZXApOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVu
dDo6c3RlcFVwKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBEb3du
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlQXNOdW1iZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKToKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OnNldFZhbHVlQXNOdW1iZXIpOgorICAg
ICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVtYmVy
KToKKyAgICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OnNldFZh
bHVlQXNOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtl
eWRvd25FdmVudCk6CisgICAgICAgICogaHRtbC9SYW5nZUlucHV0VHlwZS5oOgorCiAyMDExLTA5
LTA3ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDEzIApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAkocmV2aXNpb24g
OTQ2NDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDkgKzY1LDkgQEAgZG91YmxlIEJhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZTo6dmFsdWVBcwogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+
dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOwogfQogCi12b2lk
IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2V0VmFsdWVBc051bWJlcihkb3VibGUgbmV3VmFs
dWUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAordm9pZCBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OnNldFZhbHVlQXNOdW1iZXIoZG91YmxlIG5ld1ZhbHVlLCBib29sIHNlbmRDaGFuZ2VFdmVudCwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0CiB7Ci0gICAgZWxlbWVudCgpLT5zZXRWYWx1ZShzZXJpYWxp
emUobmV3VmFsdWUpKTsKKyAgICBlbGVtZW50KCktPnNldFZhbHVlKHNlcmlhbGl6ZShuZXdWYWx1
ZSksIHNlbmRDaGFuZ2VFdmVudCk7CiB9CiAKIGJvb2wgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
Ojp0eXBlTWlzbWF0Y2hGb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAkocmV2aXNpb24g
OTQ2NDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBk
b3VibGUgdmFsdWVBc0RhdGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0Rh
dGUoZG91YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgdmFs
dWVBc051bWJlcigpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRv
dWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFz
TnVtYmVyKGRvdWJsZSwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQsIEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoRm9yKGNvbnN0IFN0cmluZyYpIGNvbnN0
OwogICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgcmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDk0NjQwKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg4
LDcgKzM4OCw3IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Z2V0QWxsb3dlZFZhbHVlU3QKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91
YmxlIGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW5nLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3ZvaWQgSFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgQW55
U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5kbGluZywgYm9vbCBzZW5kQ2hhbmdlRXZlbnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIGRvdWJsZSBzdGVwOwogICAgIHVuc2lnbmVkIHN0ZXBEZWNp
bWFsUGxhY2VzLCBjdXJyZW50RGVjaW1hbFBsYWNlczsKQEAgLTQyOCw3ICs0MjgsNyBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgCiAgICAgaWYgKG5ld1ZhbHVlID4g
bV9pbnB1dFR5cGUtPm1heGltdW0oKSkKICAgICAgICAgbmV3VmFsdWUgPSBtX2lucHV0VHlwZS0+
bWF4aW11bSgpOwogCi0gICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgIHNl
dFZhbHVlQXNOdW1iZXIobmV3VmFsdWUsIGVjLCBzZW5kQ2hhbmdlRXZlbnQpOwogCiAgICAgaWYg
KEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAgICBkb2N1bWVu
dCgpLT5heE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIoKSwgQVhPYmpl
Y3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIHRydWUpOwpAQCAtNDU1LDEyICs0NTUsMTQgQEAgZG91
YmxlIEhUTUxJbnB1dEVsZW1lbnQ6OmFsaWduVmFsdWVGb3JTdAogCiB2b2lkIEhUTUxJbnB1dEVs
ZW1lbnQ6OnN0ZXBVcChpbnQgbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgYXBwbHlTdGVw
KG4sIFJlamVjdEFueSwgZWMpOworICAgIGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gZmFsc2U7Cisg
ICAgYXBwbHlTdGVwKG4sIFJlamVjdEFueSwgc2VuZENoYW5nZUV2ZW50LCBlYyk7CiB9CiAKIHZv
aWQgSFRNTElucHV0RWxlbWVudDo6c3RlcERvd24oaW50IG4sIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewotICAgIGFwcGx5U3RlcCgtbiwgUmVqZWN0QW55LCBlYyk7CisgICAgYm9vbCBzZW5kQ2hhbmdl
RXZlbnQgPSBmYWxzZTsKKyAgICBhcHBseVN0ZXAoLW4sIFJlamVjdEFueSwgc2VuZENoYW5nZUV2
ZW50LCBlYyk7CiB9CiAKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJs
ZShLZXlib2FyZEV2ZW50KiBldmVudCkgY29uc3QKQEAgLTExMTcsNyArMTExOSw3IEBAIHZvaWQg
SFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3QKICAgICAgICAgICAgIGRpc3BhdGNo
Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwogICAgIH0KIAotICAgIGlmIChpc1RleHQoKSAmJiAo
IWZvY3VzZWQoKSB8fCAhc2VuZENoYW5nZUV2ZW50KSkKKyAgICBpZiAoaXNUZXh0RmllbGQoKSAm
JiAoIWZvY3VzZWQoKSB8fCAhc2VuZENoYW5nZUV2ZW50KSkKICAgICAgICAgc2V0VGV4dEFzT2ZM
YXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCh2YWx1ZSk7CiAKICAgICBub3RpZnlGb3JtU3RhdGVD
aGFuZ2VkKCk7CkBAIC0xMTQ0LDEzICsxMTQ2LDEzIEBAIGRvdWJsZSBIVE1MSW5wdXRFbGVtZW50
Ojp2YWx1ZUFzTnVtYmVyKCkKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnZhbHVlQXNOdW1iZXIo
KTsKIH0KIAotdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBu
ZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZh
bHVlQXNOdW1iZXIoZG91YmxlIG5ld1ZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYywgYm9vbCBzZW5k
Q2hhbmdlRXZlbnQpCiB7CiAgICAgaWYgKCFpc2Zpbml0ZShuZXdWYWx1ZSkpIHsKICAgICAgICAg
ZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBtX2lu
cHV0VHlwZS0+c2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgZWMpOworICAgIG1faW5wdXRUeXBl
LT5zZXRWYWx1ZUFzTnVtYmVyKG5ld1ZhbHVlLCBzZW5kQ2hhbmdlRXZlbnQsIGVjKTsKIH0KIAog
U3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnBsYWNlaG9sZGVyKCkgY29uc3QKQEAgLTE2MjgsNiAr
MTYzMCw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJvbVJlbmRlcmUKICAgICBj
b25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAg
ICAgU3RyaW5nIGN1cnJlbnRTdHJpbmdWYWx1ZSA9IHZhbHVlKCk7CiAgICAgZG91YmxlIGN1cnJl
bnQgPSBtX2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZShjdXJyZW50U3RyaW5nVmFsdWUsIG5hbik7
CisgICAgY29uc3QgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSB0cnVlOwogICAgIGlmICghaXNmaW5p
dGUoY3VycmVudCkpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgY3VycmVu
dCA9IG1faW5wdXRUeXBlLT5kZWZhdWx0VmFsdWVGb3JTdGVwVXAoKTsKQEAgLTE2MzYsMTAgKzE2
MzksMTAgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZQogICAgICAg
ICAgICAgY3VycmVudCA9IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgLSBuZXh0RGlmZjsKICAgICAg
ICAgaWYgKGN1cnJlbnQgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpIC0gbmV4dERpZmYpCiAgICAg
ICAgICAgICBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPm1heGltdW0oKSAtIG5leHREaWZmOwotICAg
ICAgICBzZXRWYWx1ZUFzTnVtYmVyKGN1cnJlbnQsIGVjKTsKKyAgICAgICAgc2V0VmFsdWVBc051
bWJlcihjdXJyZW50LCBlYywgc2VuZENoYW5nZUV2ZW50KTsKICAgICB9CiAgICAgaWYgKChzaWdu
ID4gMCAmJiBjdXJyZW50IDwgbV9pbnB1dFR5cGUtPm1pbmltdW0oKSkgfHwgKHNpZ24gPCAwICYm
IGN1cnJlbnQgPiBtX2lucHV0VHlwZS0+bWF4aW11bSgpKSkKLSAgICAgICAgc2V0VmFsdWUobV9p
bnB1dFR5cGUtPnNlcmlhbGl6ZShzaWduID4gMCA/IG1faW5wdXRUeXBlLT5taW5pbXVtKCkgOiBt
X2lucHV0VHlwZS0+bWF4aW11bSgpKSk7CisgICAgICAgIHNldFZhbHVlKG1faW5wdXRUeXBlLT5z
ZXJpYWxpemUoc2lnbiA+IDAgPyBtX2lucHV0VHlwZS0+bWluaW11bSgpIDogbV9pbnB1dFR5cGUt
Pm1heGltdW0oKSksIHNlbmRDaGFuZ2VFdmVudCk7CiAgICAgZWxzZSB7CiAgICAgICAgIEV4Y2Vw
dGlvbkNvZGUgZWM7CiAgICAgICAgIGlmIChzdGVwTWlzbWF0Y2godmFsdWUoKSkpIHsKQEAgLTE2
NTksMjEgKzE2NjIsMTQgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVy
ZQogICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID4gbV9pbnB1dFR5cGUtPm1heGltdW0oKSkKICAg
ICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5tYXhpbXVtKCk7CiAKLSAgICAg
ICAgICAgIHNldFZhbHVlQXNOdW1iZXIobmV3VmFsdWUsIGVjKTsKKyAgICAgICAgICAgIHNldFZh
bHVlQXNOdW1iZXIobmV3VmFsdWUsIGVjLCBuID09IDEgfHwgbiA9PSAtMSk7CiAgICAgICAgICAg
ICBjdXJyZW50ID0gbmV3VmFsdWU7CiAgICAgICAgICAgICBpZiAobiA+IDEpCi0gICAgICAgICAg
ICAgICAgYXBwbHlTdGVwKG4gLSAxLCBBbnlJc0RlZmF1bHRTdGVwLCBlYyk7CisgICAgICAgICAg
ICAgICAgYXBwbHlTdGVwKG4gLSAxLCBBbnlJc0RlZmF1bHRTdGVwLCBzZW5kQ2hhbmdlRXZlbnQs
IGVjKTsKICAgICAgICAgICAgIGVsc2UgaWYgKG4gPCAtMSkKLSAgICAgICAgICAgICAgICBhcHBs
eVN0ZXAobiArIDEsIEFueUlzRGVmYXVsdFN0ZXAsIGVjKTsKKyAgICAgICAgICAgICAgICBhcHBs
eVN0ZXAobiArIDEsIEFueUlzRGVmYXVsdFN0ZXAsIHNlbmRDaGFuZ2VFdmVudCwgZWMpOwogICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIGFwcGx5U3RlcChuLCBBbnlJc0RlZmF1bHRTdGVwLCBl
Yyk7Ci0gICAgfQotCi0gICAgaWYgKGN1cnJlbnRTdHJpbmdWYWx1ZSAhPSB2YWx1ZSgpKSB7Ci0g
ICAgICAgIGlmIChtX2lucHV0VHlwZS0+aXNSYW5nZUNvbnRyb2woKSkKLSAgICAgICAgICAgIGRp
c3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBkaXNwYXRjaEZvcm1Db250cm9sSW5wdXRFdmVudCgpOworICAgICAgICAgICAgYXBwbHlTdGVw
KG4sIEFueUlzRGVmYXVsdFN0ZXAsIHNlbmRDaGFuZ2VFdmVudCwgZWMpOwogICAgIH0KIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDk0NjQw
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2MCw3ICsxNjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1ZUFzRGF0ZShk
b3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIGRvdWJsZSB2YWx1ZUFzTnVtYmVyKCkgY29u
c3Q7Ci0gICAgdm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHZvaWQgc2V0VmFsdWVBc051bWJlcihkb3VibGUsIEV4Y2VwdGlvbkNvZGUmLCBib29sIHNl
bmRDaGFuZ2VFdmVudCA9IGZhbHNlKTsKIAogICAgIHZpcnR1YWwgU3RyaW5nIHBsYWNlaG9sZGVy
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFBsYWNlaG9sZGVyKGNvbnN0IFN0cmluZyYp
OwpAQCAtMzI2LDcgKzMyNiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBnZXRBbGxvd2VkVmFsdWVT
dGVwV2l0aERlY2ltYWxQbGFjZXMoQW55U3RlcEhhbmRsaW5nLCBkb3VibGUqLCB1bnNpZ25lZCop
IGNvbnN0OwogCiAgICAgLy8gSGVscGVyIGZvciBzdGVwVXAoKS9zdGVwRG93bigpLiAgQWRkcyBz
dGVwIHZhbHVlICogY291bnQgdG8gdGhlIGN1cnJlbnQgdmFsdWUuCi0gICAgdm9pZCBhcHBseVN0
ZXAoZG91YmxlIGNvdW50LCBBbnlTdGVwSGFuZGxpbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIGFwcGx5U3RlcChkb3VibGUgY291bnQsIEFueVN0ZXBIYW5kbGluZywgYm9vbCBzZW5kQ2hh
bmdlRXZlbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBkb3VibGUgYWxpZ25WYWx1ZUZvclN0ZXAo
ZG91YmxlIHZhbHVlLCBkb3VibGUgc3RlcCwgdW5zaWduZWQgY3VycmVudERlY2ltYWxQbGFjZXMs
IHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAJKHJldmlzaW9uIDk0NjQwKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsNyArMTgy
LDcgQEAgZG91YmxlIElucHV0VHlwZTo6dmFsdWVBc051bWJlcigpIGNvbnN0CiAgICAgcmV0dXJu
IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwogfQogCi12b2lkIElucHV0VHlw
ZTo6c2V0VmFsdWVBc051bWJlcihkb3VibGUsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAordm9p
ZCBJbnB1dFR5cGU6OnNldFZhbHVlQXNOdW1iZXIoZG91YmxlLCBib29sLCBFeGNlcHRpb25Db2Rl
JiBlYykgY29uc3QKIHsKICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5oCShyZXZpc2lvbiA5NDY0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdmly
dHVhbCBkb3VibGUgdmFsdWVBc051bWJlcigpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzZXRW
YWx1ZUFzTnVtYmVyKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwg
dm9pZCBzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKIAogICAgIC8vIFZhbGlkYXRpb24gZnVuY3Rpb25zCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAJKHJldmlzaW9uIDk0NjQwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04Myw3ICs4Myw3IEBAIGRvdWJsZSBOdW1iZXJJbnB1dFR5cGU6OnZhbHVlQXNOdW1iZXIo
KSAKICAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPnZhbHVlKCksIG51bWVyaWNf
bGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKTsKIH0KIAotdm9pZCBOdW1iZXJJbnB1dFR5cGU6
OnNldFZhbHVlQXNOdW1iZXIoZG91YmxlIG5ld1ZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKK3ZvaWQgTnVtYmVySW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBuZXdWYWx1
ZSwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAg
IGlmIChuZXdWYWx1ZSA8IC1udW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSB7CiAgICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgTnVtYmVySW5w
dXRUeXBlOjpzZXRWYWx1ZUFzTnVtYmVyKGQKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VS
UjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBlbGVtZW50KCktPnNldFZhbHVlKHNlcmlh
bGl6ZShuZXdWYWx1ZSkpOworICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUoc2VyaWFsaXplKG5ld1Zh
bHVlKSwgc2VuZENoYW5nZUV2ZW50KTsKIH0KIAogYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnR5cGVN
aXNtYXRjaEZvcihjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL051bWJlcklucHV0VHlwZS5oCShyZXZpc2lvbiA5NDY0MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAg
cHJpdmF0ZToKICAgICBOdW1iZXJJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkg
OiBUZXh0RmllbGRJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZh
bHVlQXNOdW1iZXIoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc051bWJlcihk
b3VibGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVB
c051bWJlcihkb3VibGUsIGJvb2wgc2VuZENoYW5nZUV2ZW50LCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHR5cGVNaXNtYXRjaEZvcihjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAJKHJldmlzaW9uIDk0NjQwKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDkgKzc4
LDkgQEAgZG91YmxlIFJhbmdlSW5wdXRUeXBlOjp2YWx1ZUFzTnVtYmVyKCkgYwogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6cXVpZXRfTmFOKCkpOwogfQogCi12b2lkIFJhbmdlSW5wdXRUeXBlOjpzZXRWYWx1ZUFzTnVt
YmVyKGRvdWJsZSBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Cit2b2lkIFJhbmdlSW5w
dXRUeXBlOjpzZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBuZXdWYWx1ZSwgYm9vbCBzZW5kQ2hhbmdl
RXZlbnQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdAogewotICAgIGVsZW1lbnQoKS0+c2V0VmFsdWUo
c2VyaWFsaXplKG5ld1ZhbHVlKSk7CisgICAgZWxlbWVudCgpLT5zZXRWYWx1ZShzZXJpYWxpemUo
bmV3VmFsdWUpLCBzZW5kQ2hhbmdlRXZlbnQpOwogfQogCiBib29sIFJhbmdlSW5wdXRUeXBlOjpz
dXBwb3J0c1JlcXVpcmVkKCkgY29uc3QKQEAgLTIyMCw3ICsyMjAsOCBAQCB2b2lkIFJhbmdlSW5w
dXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoCiAKICAgICBpZiAobmV3VmFsdWUgIT0gY3VycmVu
dCkgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgICAgICBzZXRWYWx1ZUFzTnVtYmVy
KG5ld1ZhbHVlLCBlYyk7CisgICAgICAgIGJvb2wgc2VuZENoYW5nZUV2ZW50ID0gdHJ1ZTsKKyAg
ICAgICAgc2V0VmFsdWVBc051bWJlcihuZXdWYWx1ZSwgc2VuZENoYW5nZUV2ZW50LCBlYyk7CiAK
ICAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAg
ICAgICAgICBlbGVtZW50KCktPmRvY3VtZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlm
aWNhdGlvbihlbGVtZW50KCktPnJlbmRlcmVyKCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFu
Z2VkLCB0cnVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmgJKHJldmlz
aW9uIDk0NjQwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlz
UmFuZ2VDb250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNOdW1iZXIo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc051bWJlcihkb3VibGUsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc051bWJlcihkb3Vi
bGUsIGJvb2wgc2VuZENoYW5nZUV2ZW50LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzUmVxdWlyZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcmFu
Z2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJhbmdl
T3ZlcmZsb3coY29uc3QgU3RyaW5nJikgY29uc3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NDY0OCkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTA5LTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAg
IENoYW5nZSBldmVudCBpcyBub3QgZmlyZWQgZm9yIGlucHV0W3R5cGU9bnVtYmVyXSB3aGVuIHRo
ZSB1c2VyIHJldmVydHMgYSBjaGFuZ2UgbWFkZSBieSBzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3Njk3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcmVncmVzc2lvbiB0ZXN0IHRvIGVu
c3VyZSBXZWJLaXQgZmlyZXMgY2hhbmdlIGV2ZW50IHdoZW4gdGhlIHVzZXIgcmV2ZXJ0cyBhIGNo
YW5nZSBtYWRlIGJ5IHNjcmlwdC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvbnVtYmVyLWlucHV0
LWNoYW5nZWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9u
dW1iZXItaW5wdXQtY2hhbmdlZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDktMDcgIFhpYW56
aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBmYXN0L2RvbS9y
ZXBsYWNlQ2hpbGQuaHRtbCBtYXkgbm90IHRlc3Qgd2hhdCBpdCdzIHN1cHBvc2VkIHRvIHRlc3Qg
YW5kIG1heSBzb21ldGltZXMgYmUgZmxha3kKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bnVtYmVyLWlucHV0LWNoYW5nZWV2ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci1pbnB1dC1jaGFuZ2VldmVudC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci1pbnB1dC1jaGFu
Z2VldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGhpcyB0
ZXN0IGVuc3VyZXMgY2hhbmdlIGV2ZW50IGlzIGZpcmVkIGZvciBpbnB1dFt0eXBlPW51bWJlcl0g
d2hlbiB0aGUgdXNlciByZXZlcnRzIHRoZSBjaGFuZ2UgbWFkZSBieSBhIHNjcmlwdC4KKworUEFT
UyBldmVudFNlbmRlci5rZXlEb3duKCcxJyk7ZXZlbnRTZW5kZXIua2V5RG93bignMicpO2R1bW15
LmZvY3VzKCk7bnVtYmVyT2ZDaGFuZ2VFdmVudHNGaXJlZCBpcyAxCitQQVNTIHRlc3QudmFsdWUg
PSAnMzQnO251bWJlck9mQ2hhbmdlRXZlbnRzRmlyZWQgaXMgMQorUEFTUyB0ZXN0LmZvY3VzKCk7
dGVzdC52YWx1ZSA9ICczNCc7ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcpOyBldmVu
dFNlbmRlci5rZXlEb3duKCcxJyk7ZXZlbnRTZW5kZXIua2V5RG93bignMicpO2R1bW15LmZvY3Vz
KCk7bnVtYmVyT2ZDaGFuZ2VFdmVudHNGaXJlZCBpcyAyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9udW1iZXItaW5wdXQtY2hhbmdlZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL251bWJlci1pbnB1dC1jaGFuZ2VldmVudC5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXItaW5wdXQtY2hhbmdlZXZlbnQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IGVuc3VyZXMgY2hhbmdlIGV2ZW50IGlzIGZpcmVkIGZvciBpbnB1
dFt0eXBlPW51bWJlcl0gd2hlbiB0aGUgdXNlciByZXZlcnRzIHRoZSBjaGFuZ2UgbWFkZSBieSBh
IHNjcmlwdC48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXY+PGlucHV0IGlkPSJ0
ZXN0IiB0eXBlPSJudW1iZXIiIG9uY2hhbmdlPSJudW1iZXJPZkNoYW5nZUV2ZW50c0ZpcmVkKys7
Ij48aW5wdXQgaWQ9ImR1bW15Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBudW1iZXJPZkNoYW5nZUV2ZW50c0ZpcmVkID0gMDsKK3ZhciB0ZXN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKK3ZhciBkdW1teSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkdW1teScpOwordGVzdC5mb2N1cygpOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgc2hvdWxkQmUoImV2ZW50U2VuZGVyLmtleURvd24oJzEnKTtldmVudFNlbmRlci5rZXlE
b3duKCcyJyk7ZHVtbXkuZm9jdXMoKTtudW1iZXJPZkNoYW5nZUV2ZW50c0ZpcmVkIiwgJzEnKTsK
KyAgICBzaG91bGRCZSgidGVzdC52YWx1ZSA9ICczNCc7bnVtYmVyT2ZDaGFuZ2VFdmVudHNGaXJl
ZCIsICcxJyk7CisgICAgc2hvdWxkQmUoInRlc3QuZm9jdXMoKTt0ZXN0LnZhbHVlID0gJzM0Jztk
b2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJyk7XG4iCisgICAgKyAiZXZlbnRTZW5kZXIu
a2V5RG93bignMScpO2V2ZW50U2VuZGVyLmtleURvd24oJzInKTtkdW1teS5mb2N1cygpO251bWJl
ck9mQ2hhbmdlRXZlbnRzRmlyZWQiLCAnMicpOworICAgIHRlc3QucGFyZW50Tm9kZS5zdHlsZS5k
aXNwbGF5ID0gJ25vbmUnOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>