<?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>97326</bug_id>
          
          <creation_ts>2012-09-21 04:03:27 -0700</creation_ts>
          <short_desc>[WK2][WKTR] EventSender needs to implement scheduleAsynchronousClick</short_desc>
          <delta_ts>2012-09-21 06:16:02 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>725405</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-21 04:03:27 -0700</bug_when>
    <thetext>WebKitTestRunner&apos;s EventSender does not implement scheduleAsynchronousClick(), causing the following test case to fail:
  fast/events/popup-blocking-click-in-iframe.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725408</commentid>
    <comment_count>1</comment_count>
      <attachid>165111</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-21 04:07:44 -0700</bug_when>
    <thetext>Created attachment 165111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725426</commentid>
    <comment_count>2</comment_count>
      <attachid>165111</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-21 05:02:34 -0700</bug_when>
    <thetext>Comment on attachment 165111
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:240
&gt; +    WKRetainPtr&lt;WKStringRef&gt; EventSenderMessageName(AdoptWK, WKStringCreateWithUTF8CString(&quot;EventSender&quot;));
&gt; +    WKRetainPtr&lt;WKMutableDictionaryRef&gt; EventSenderMessageBody(AdoptWK, WKMutableDictionaryCreate());

Nit: geolocation etc use lowercase messages, maybe we want to be consistent

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:250
&gt; +    WKRetainPtr&lt;WKStringRef&gt; subMessageKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;SubMessage&quot;));

Is submessage really a good way to describe this?

&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:253
&gt; +    WKBundlePostMessage(InjectedBundle::shared().bundle(), EventSenderMessageName.get(), EventSenderMessageBody.get());

I would add a newline after post

&gt; Tools/WebKitTestRunner/TestController.cpp:694
&gt; +#if PLATFORM(MAC) || PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)

So which webkit2 platforms does this not work on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725430</commentid>
    <comment_count>3</comment_count>
      <attachid>165111</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-21 05:09:13 -0700</bug_when>
    <thetext>Comment on attachment 165111
Patch

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

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:240
&gt;&gt; +    WKRetainPtr&lt;WKMutableDictionaryRef&gt; EventSenderMessageBody(AdoptWK, WKMutableDictionaryCreate());
&gt; 
&gt; Nit: geolocation etc use lowercase messages, maybe we want to be consistent

Those messages already exists and their format is already predefined. I cannot change them. Those messages are used already in EventSendingController::mouseDown() and EventSendingController::mouseUp().

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:250
&gt;&gt; +    WKRetainPtr&lt;WKStringRef&gt; subMessageKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;SubMessage&quot;));
&gt; 
&gt; Is submessage really a good way to describe this?

Ditto.

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp:253
&gt;&gt; +    WKBundlePostMessage(InjectedBundle::shared().bundle(), EventSenderMessageName.get(), EventSenderMessageBody.get());
&gt; 
&gt; I would add a newline after post

Ok.

&gt;&gt; Tools/WebKitTestRunner/TestController.cpp:694
&gt;&gt; +#if PLATFORM(MAC) || PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(EFL)
&gt; 
&gt; So which webkit2 platforms does this not work on?

I used this to be consistent with TestController::didReceiveSynchronousMessageFromInjectedBundle().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725434</commentid>
    <comment_count>4</comment_count>
      <attachid>165111</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-21 05:23:37 -0700</bug_when>
    <thetext>Comment on attachment 165111
Patch

I think I can do some refactoring to avoid patch duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725436</commentid>
    <comment_count>5</comment_count>
      <attachid>165120</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-21 05:29:05 -0700</bug_when>
    <thetext>Created attachment 165120
Patch

- Add createMouseMessageBody() convenience function to avoid code duplication for creating mouse messages
- Add newline as suggested by Kenneth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725457</commentid>
    <comment_count>6</comment_count>
      <attachid>165120</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-21 06:06:59 -0700</bug_when>
    <thetext>Comment on attachment 165120
Patch

nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725461</commentid>
    <comment_count>7</comment_count>
      <attachid>165120</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-21 06:15:57 -0700</bug_when>
    <thetext>Comment on attachment 165120
Patch

Clearing flags on attachment: 165120

Committed r129220: &lt;http://trac.webkit.org/changeset/129220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725462</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-21 06:16:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165111</attachid>
            <date>2012-09-21 04:07:44 -0700</date>
            <delta_ts>2012-09-21 05:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>97326_scheduleAsynchronousClick.patch</filename>
            <type>text/plain</type>
            <size>10584</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMzkxNTczLi41YjM5ZDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDkt
MjEgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbV0syXVtXS1RSXSBFdmVudFNlbmRlciBuZWVkcyB0byBpbXBsZW1lbnQgc2NoZWR1bGVB
c3luY2hyb25vdXNDbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTczMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVbnNraXAgZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZyYW1l
Lmh0bWwgZm9yCisgICAgICAgIFdlYktpdDIgbm93IHRoYXQgV0tUUidzIEV2ZW50U2VuZGVyIGlt
cGxlbWVudHMKKyAgICAgICAgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljay4KKworICAgICAgICAq
IHBsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGstd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0LTUuMC13azIvU2tpcHBlZDoKKwogMjAxMi0wOS0y
MSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLiBDaGFuZ2VkIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2hlYnJldy1zZWxlY3Rpb24u
aHRtbCBleHBlY3RhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDZjMmVkOTQuLjc3OTlmYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1Myw5ICsxNTMsNiBAQCB3ZWJraXQu
b3JnL2IvNDI2NzQgaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3BvbnNlMjA0Lmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi85MzQ3MCBmYXN0L2RvbS90aXRsZS1kaXJlY3Rpb25hbGl0eS1y
ZW1vdmVDaGlsZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTM0NzAgZmFzdC9kb20v
dGl0bGUtZGlyZWN0aW9uYWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RSdW5u
ZXIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLnNjaGVkdWxlQXN5bmNo
cm9ub3VzQ2xpY2sKLUJ1ZyhFRkwpIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWlu
LWlmcmFtZS5odG1sIFsgRmFpbHVyZSBdCi0KICMgV2ViS2l0VGVzdFJ1bm5lciBldmVudFNlbmRl
ciBuZWVkcyB0b3VjaCBldmVudHMgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzk2NDY1IGZhc3QvZXZl
bnRzL3RvdWNoL2Jhc2ljLW11bHRpLXRvdWNoLWV2ZW50cy1saW1pdGVkLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi85NjQ2NSBmYXN0L2V2ZW50cy90b3VjaC9iYXNpYy1tdWx0aS10b3Vj
aC1ldmVudHMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNkNWUyZWUuLmEzYTU3ZGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3MiwxMCArMTcyLDYg
QEAgQnVnKEdUSykgZWRpdGluZy91bmRvL3VuZG8taW5kZW50Lmh0bWwgWyBGYWlsdXJlIF0KIEJ1
ZyhHVEspIGVkaXRpbmcvdW5kby91bmRvLW1pc3NwZWxsaW5ncy5odG1sIFsgRmFpbHVyZSBdCiBC
dWcoR1RLKSBmYXN0L2Zvcm1zL3BsYWludGV4dC1tb2RlLTEuaHRtbCBbIEZhaWx1cmUgXQogCi0j
IEltcGxlbWVudCBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZCBh
bmQKLSMgZXZlbnRTZW5kZXIuc2NoZWR1bGVBc3luY2hyb25vdXNDbGljayBzdXBwb3J0Ci1CdWco
R1RLKSBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbCBbIEZh
aWx1cmUgXQotCiAjIGFjY2Vzc2liaWxpdHkgdGVzdHMgZmFpbGluZyBkdWUgdG8gbWlzc2luZyBX
S1RSIGZlYXR1cmVzCiBCdWcoR1RLKSBhY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24t
aW5wdXQuaHRtbCBbIEZhaWx1cmUgXQogQnVnKEdUSykgYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAu
aHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4IDYy
MDk2N2QuLjAxYmM2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKQEAgLTE0
NCw3ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9tb3VzZXVwLWZyb20tYnV0dG9uMi5odG1sCiBmYXN0
L2V2ZW50cy9ub2RlLWV2ZW50LWFuY2hvci1sb2NrLmh0bWwKIGZhc3QvZXZlbnRzL29uZHJhZ2Vu
dGVyLmh0bWwKIGZhc3QvZXZlbnRzL29wZW4td2luZG93LWZyb20tYW5vdGhlci1mcmFtZS5odG1s
Ci1mYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbAogZmFzdC9l
dmVudHMvcG9wdXAtd2hlbi1zZWxlY3QtY2hhbmdlLmh0bWwKIGZhc3QvZXZlbnRzL3JpZ2h0LWNs
aWNrLWZvY3VzLmh0bWwKIGZhc3QvZXZlbnRzL3Njcm9sbC1hZnRlci1jbGljay1vbi10YWItaW5k
ZXguaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMi9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMi9Ta2lwcGVkCmluZGV4IGQ5YTZm
MGUuLjg0ODI1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azIv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2syL1NraXBwZWQKQEAg
LTUxLDcgKzUxLDYgQEAgZmFzdC9ldmVudHMvY29udGludW91cy1wbGF0Zm9ybS13aGVlbGV2ZW50
LWluLXNjcm9sbGluZy1kaXYuaHRtbAogZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUt
cHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKIGZhc3QvZXZlbnRzL29wZW4td2luZG93LWZyb20t
YW5vdGhlci1mcmFtZS5odG1sCiBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNj
cm9sbGluZy1kaXYuaHRtbAotZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZy
YW1lLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLXdoZW4tc2VsZWN0LWNoYW5nZS5odG1sCiBmYXN0
L2V2ZW50cy9yZW1vdmUtY2hpbGQtb25zY3JvbGwuaHRtbAogZmFzdC9ldmVudHMvcmlnaHQtY2xp
Y2stZm9jdXMuaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGVmNjljMTUuLjZkYjZjOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0yMSAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtXSzJd
W1dLVFJdIEV2ZW50U2VuZGVyIG5lZWRzIHRvIGltcGxlbWVudCBzY2hlZHVsZUFzeW5jaHJvbm91
c0NsaWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NzMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cGxlbWVudCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCkgaW4gV2ViS2l0VGVzdFJ1bm5lcidz
CisgICAgICAgIEV2ZW50U2VuZGVyIGJ5IHNlbmRpbmcgYSAiTW91c2VEb3duIiBhbmQgYSAiTW91
c2VVcCIgbWVzc2FnZQorICAgICAgICBhc3luY2hyb25vdXNseSB0byB0aGUgV2ViUHJvY2Vzcy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6RXZl
bnRTZW5kaW5nQ29udHJvbGxlcjo6c2NoZWR1bGVBc3luY2hyb25vdXNDbGljayk6CisgICAgICAg
IChXVFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAoRXZlbnRTZW5kaW5nQ29udHJvbGxlcik6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6
CisKIDIwMTItMDktMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29tbWVudCBvdXQgYSBmYWlsaW5nIHdlYmtpdHB5IHVuaXQgdGVzdCB1bnRpbCBE
aXJrIGNhbiBmaXggaXQuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmlkbAppbmRleCA0OTRkZDIzLi5jZmY3NWYyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIu
aWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKQEAgLTMxLDYgKzMxLDcgQEAgbW9kdWxlIFdUUiB7
CiAgICAgICAgIHZvaWQgbW91c2VNb3ZlVG8oaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgICAg
ICB2b2lkIG1vdXNlU2Nyb2xsQnkoaW4gbG9uZyB4LCBpbiBsb25nIHkpOwogICAgICAgICB2b2lk
IGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBbT3B0aW9u
YWxdIGJvb2xlYW4gcGFnZWQpOworICAgICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xp
Y2soKTsKIAogICAgICAgICB2b2lkIGxlYXBGb3J3YXJkKGluIGxvbmcgbWlsbGlzZWNvbmRzKTsK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKaW5kZXggYjdlMjAzYy4uNzQxNTFhYyAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNl
bmRpbmdDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCkBAIC0yMzEsNiArMjMxLDMzIEBAIHZv
aWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bGVhcEZvcndhcmQoaW50IG1pbGxpc2Vjb25kcykK
ICNlbmRpZgogfQogCit2b2lkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OnNjaGVkdWxlQXN5bmNo
cm9ub3VzQ2xpY2soKQoreworICAgIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzID0gMDsKKyAg
ICBpbnQgYnV0dG9uID0gMDsKKworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBFdmVudFNl
bmRlck1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJF
dmVudFNlbmRlciIpKTsKKyAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiBF
dmVudFNlbmRlck1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUo
KSk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gYnV0dG9uS2V5ID0gYWRvcHRXSyhX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQnV0dG9uIikpOworICAgIFdLUmV0YWluUHRy
PFdLVUludDY0UmVmPiBidXR0b25SZWYgPSBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKGJ1dHRvbikp
OworICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwg
YnV0dG9uS2V5LmdldCgpLCBidXR0b25SZWYuZ2V0KCkpOworCisgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IG1vZGlmaWVyc0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIk1vZGlmaWVycyIpKTsKKyAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gbW9kaWZp
ZXJzUmVmID0gYWRvcHRXSyhXS1VJbnQ2NENyZWF0ZShtb2RpZmllcnMpKTsKKyAgICBXS0RpY3Rp
b25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIG1vZGlmaWVyc0tleS5n
ZXQoKSwgbW9kaWZpZXJzUmVmLmdldCgpKTsKKworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBzdWJNZXNzYWdlS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJT
dWJNZXNzYWdlIikpOworICAgIC8vIEFzeW5jaHJvbm91cyBtb3VzZSBkb3duLgorICAgIFdLRGlj
dGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgc3ViTWVzc2FnZUtl
eS5nZXQoKSwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTW91c2VEb3du
IikpLmdldCgpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJN
ZXNzYWdlQm9keS5nZXQoKSk7CisgICAgV0tEaWN0aW9uYXJ5UmVtb3ZlSXRlbShFdmVudFNlbmRl
ck1lc3NhZ2VCb2R5LmdldCgpLCBzdWJNZXNzYWdlS2V5LmdldCgpKTsKKworICAgIC8vIEFzeW5j
aHJvbm91cyBtb3VzZSB1cC4KKyAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVz
c2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIk1vdXNlVXAiKSkuZ2V0KCkpOworICAgIFdLQnVuZGxlUG9zdE1l
c3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBFdmVudFNlbmRlck1lc3Nh
Z2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpKTsKK30KKwogdm9pZCBF
dmVudFNlbmRpbmdDb250cm9sbGVyOjprZXlEb3duKEpTU3RyaW5nUmVmIGtleSwgSlNWYWx1ZVJl
ZiBtb2RpZmllckFycmF5LCBpbnQgbG9jYXRpb24pCiB7CiAgICAgV0tCdW5kbGVQYWdlUmVmIHBh
Z2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oCmluZGV4IDU0M2E0MjguLjQxM2I5MWMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1vdXNlU2Ny
b2xsQnkoaW50IHgsIGludCB5KTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGlu
dCB4LCBpbnQgeSwgYm9vbCBwYWdlZCk7CiAgICAgdm9pZCBsZWFwRm9yd2FyZChpbnQgbWlsbGlz
ZWNvbmRzKTsKKyAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKIAogICAgIHZv
aWQga2V5RG93bihKU1N0cmluZ1JlZiBrZXksIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgaW50
IGxvY2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApp
bmRleCAzZGEzODgwLi4xY2YyNjE1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcApAQCAtNjkxLDggKzY5MSwzNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpkaWRS
ZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZgog
CiB2b2lkIFRlc3RDb250cm9sbGVyOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRs
ZShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KQogeworI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oRUZMKQorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1l
LCAiRXZlbnRTZW5kZXIiKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJv
ZHkpID09IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKTsKKyAgICAgICAgV0tEaWN0aW9uYXJ5UmVm
IG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVz
c2FnZUJvZHkpOworCisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdl
S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikp
OworICAgICAgICBXS1N0cmluZ1JlZiBzdWJNZXNzYWdlTmFtZSA9IHN0YXRpY19jYXN0PFdLU3Ry
aW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwg
c3ViTWVzc2FnZUtleS5nZXQoKSkpOworCisgICAgICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKHN1Yk1lc3NhZ2VOYW1lLCAiTW91c2VEb3duIikgfHwgV0tTdHJpbmdJc0VxdWFs
VG9VVEY4Q1N0cmluZyhzdWJNZXNzYWdlTmFtZSwgIk1vdXNlVXAiKSkgeworICAgICAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGJ1dHRvbktleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIkJ1dHRvbiIpKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGJ1dHRv
biA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihXS1VJbnQ2NEdldFZhbHVlKHN0YXRpY19jYXN0PFdL
VUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFy
eSwgYnV0dG9uS2V5LmdldCgpKSkpKTsKKworICAgICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJp
bmdSZWY+IG1vZGlmaWVyc0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIk1vZGlmaWVycyIpKTsKKyAgICAgICAgICAgIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJz
ID0gc3RhdGljX2Nhc3Q8V0tFdmVudE1vZGlmaWVycz4oV0tVSW50NjRHZXRWYWx1ZShzdGF0aWNf
Y2FzdDxXS1VJbnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURp
Y3Rpb25hcnksIG1vZGlmaWVyc0tleS5nZXQoKSkpKSk7CisKKyAgICAgICAgICAgIC8vIEZvcndh
cmQgdG8gV2ViUHJvY2VzcworICAgICAgICAgICAgV0tQYWdlU2V0U2hvdWxkU2VuZEV2ZW50c1N5
bmNocm9ub3VzbHkobWFpbldlYlZpZXcoKS0+cGFnZSgpLCBmYWxzZSk7CisgICAgICAgICAgICBp
ZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhzdWJNZXNzYWdlTmFtZSwgIk1vdXNlRG93
biIpKQorICAgICAgICAgICAgICAgIG1fZXZlbnRTZW5kZXJQcm94eS0+bW91c2VEb3duKGJ1dHRv
biwgbW9kaWZpZXJzKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2V2ZW50
U2VuZGVyUHJveHktPm1vdXNlVXAoYnV0dG9uLCBtb2RpZmllcnMpOworCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQor
I2VuZGlmCisKICAgICBpZiAoIW1fY3VycmVudEludm9jYXRpb24pCiAgICAgICAgIHJldHVybjsK
KwogICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CiB9CiAK
</data>
<flag name="review"
          id="177063"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="177064"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165120</attachid>
            <date>2012-09-21 05:29:05 -0700</date>
            <delta_ts>2012-09-21 06:15:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>97326_scheduleAsynchronousClick.patch</filename>
            <type>text/plain</type>
            <size>14344</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMzkxNTczLi41YjM5ZDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDkt
MjEgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbV0syXVtXS1RSXSBFdmVudFNlbmRlciBuZWVkcyB0byBpbXBsZW1lbnQgc2NoZWR1bGVB
c3luY2hyb25vdXNDbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTczMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVbnNraXAgZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZyYW1l
Lmh0bWwgZm9yCisgICAgICAgIFdlYktpdDIgbm93IHRoYXQgV0tUUidzIEV2ZW50U2VuZGVyIGlt
cGxlbWVudHMKKyAgICAgICAgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljay4KKworICAgICAgICAq
IHBsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGstd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0LTUuMC13azIvU2tpcHBlZDoKKwogMjAxMi0wOS0y
MSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLiBDaGFuZ2VkIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2hlYnJldy1zZWxlY3Rpb24u
aHRtbCBleHBlY3RhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDZjMmVkOTQuLjc3OTlmYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1Myw5ICsxNTMsNiBAQCB3ZWJraXQu
b3JnL2IvNDI2NzQgaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3BvbnNlMjA0Lmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi85MzQ3MCBmYXN0L2RvbS90aXRsZS1kaXJlY3Rpb25hbGl0eS1y
ZW1vdmVDaGlsZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTM0NzAgZmFzdC9kb20v
dGl0bGUtZGlyZWN0aW9uYWxpdHkuaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdlYktpdFRlc3RSdW5u
ZXIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLnNjaGVkdWxlQXN5bmNo
cm9ub3VzQ2xpY2sKLUJ1ZyhFRkwpIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWlu
LWlmcmFtZS5odG1sIFsgRmFpbHVyZSBdCi0KICMgV2ViS2l0VGVzdFJ1bm5lciBldmVudFNlbmRl
ciBuZWVkcyB0b3VjaCBldmVudHMgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzk2NDY1IGZhc3QvZXZl
bnRzL3RvdWNoL2Jhc2ljLW11bHRpLXRvdWNoLWV2ZW50cy1saW1pdGVkLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi85NjQ2NSBmYXN0L2V2ZW50cy90b3VjaC9iYXNpYy1tdWx0aS10b3Vj
aC1ldmVudHMuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNkNWUyZWUuLmEzYTU3ZGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3MiwxMCArMTcyLDYg
QEAgQnVnKEdUSykgZWRpdGluZy91bmRvL3VuZG8taW5kZW50Lmh0bWwgWyBGYWlsdXJlIF0KIEJ1
ZyhHVEspIGVkaXRpbmcvdW5kby91bmRvLW1pc3NwZWxsaW5ncy5odG1sIFsgRmFpbHVyZSBdCiBC
dWcoR1RLKSBmYXN0L2Zvcm1zL3BsYWludGV4dC1tb2RlLTEuaHRtbCBbIEZhaWx1cmUgXQogCi0j
IEltcGxlbWVudCBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZCBh
bmQKLSMgZXZlbnRTZW5kZXIuc2NoZWR1bGVBc3luY2hyb25vdXNDbGljayBzdXBwb3J0Ci1CdWco
R1RLKSBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbCBbIEZh
aWx1cmUgXQotCiAjIGFjY2Vzc2liaWxpdHkgdGVzdHMgZmFpbGluZyBkdWUgdG8gbWlzc2luZyBX
S1RSIGZlYXR1cmVzCiBCdWcoR1RLKSBhY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24t
aW5wdXQuaHRtbCBbIEZhaWx1cmUgXQogQnVnKEdUSykgYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAu
aHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4IDYy
MDk2N2QuLjAxYmM2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKQEAgLTE0
NCw3ICsxNDQsNiBAQCBmYXN0L2V2ZW50cy9tb3VzZXVwLWZyb20tYnV0dG9uMi5odG1sCiBmYXN0
L2V2ZW50cy9ub2RlLWV2ZW50LWFuY2hvci1sb2NrLmh0bWwKIGZhc3QvZXZlbnRzL29uZHJhZ2Vu
dGVyLmh0bWwKIGZhc3QvZXZlbnRzL29wZW4td2luZG93LWZyb20tYW5vdGhlci1mcmFtZS5odG1s
Ci1mYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUuaHRtbAogZmFzdC9l
dmVudHMvcG9wdXAtd2hlbi1zZWxlY3QtY2hhbmdlLmh0bWwKIGZhc3QvZXZlbnRzL3JpZ2h0LWNs
aWNrLWZvY3VzLmh0bWwKIGZhc3QvZXZlbnRzL3Njcm9sbC1hZnRlci1jbGljay1vbi10YWItaW5k
ZXguaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMi9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMi9Ta2lwcGVkCmluZGV4IGQ5YTZm
MGUuLjg0ODI1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azIv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2syL1NraXBwZWQKQEAg
LTUxLDcgKzUxLDYgQEAgZmFzdC9ldmVudHMvY29udGludW91cy1wbGF0Zm9ybS13aGVlbGV2ZW50
LWluLXNjcm9sbGluZy1kaXYuaHRtbAogZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUt
cHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKIGZhc3QvZXZlbnRzL29wZW4td2luZG93LWZyb20t
YW5vdGhlci1mcmFtZS5odG1sCiBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNj
cm9sbGluZy1kaXYuaHRtbAotZmFzdC9ldmVudHMvcG9wdXAtYmxvY2tpbmctY2xpY2staW4taWZy
YW1lLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLXdoZW4tc2VsZWN0LWNoYW5nZS5odG1sCiBmYXN0
L2V2ZW50cy9yZW1vdmUtY2hpbGQtb25zY3JvbGwuaHRtbAogZmFzdC9ldmVudHMvcmlnaHQtY2xp
Y2stZm9jdXMuaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGVmNjljMTUuLmU3ODkxY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOS0yMSAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgorCisgICAgICAgIFtXSzJd
W1dLVFJdIEV2ZW50U2VuZGVyIG5lZWRzIHRvIGltcGxlbWVudCBzY2hlZHVsZUFzeW5jaHJvbm91
c0NsaWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NzMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cGxlbWVudCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCkgaW4gV2ViS2l0VGVzdFJ1bm5lcidz
CisgICAgICAgIEV2ZW50U2VuZGVyIGJ5IHNlbmRpbmcgYSAiTW91c2VEb3duIiBhbmQgYSAiTW91
c2VVcCIgbWVzc2FnZQorICAgICAgICBhc3luY2hyb25vdXNseSB0byB0aGUgV2ViUHJvY2Vzcy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6Y3Jl
YXRlTW91c2VNZXNzYWdlQm9keSk6CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpFdmVu
dFNlbmRpbmdDb250cm9sbGVyOjptb3VzZURvd24pOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRp
bmdDb250cm9sbGVyOjptb3VzZVVwKToKKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29udHJv
bGxlcjo6c2NoZWR1bGVBc3luY2hyb25vdXNDbGljayk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmg6CisgICAgICAgIChF
dmVudFNlbmRpbmdDb250cm9sbGVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmRpZFJlY2VpdmVN
ZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAxMi0wOS0yMCAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDb21tZW50IG91dCBhIGZhaWxpbmcg
d2Via2l0cHkgdW5pdCB0ZXN0IHVudGlsIERpcmsgY2FuIGZpeCBpdC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IDQ5NGRkMjMuLmNmZjc1ZjIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApAQCAt
MzEsNiArMzEsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9pZCBtb3VzZU1vdmVUbyhpbiBs
b25nIHgsIGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgbW91c2VTY3JvbGxCeShpbiBsb25nIHgs
IGluIGxvbmcgeSk7CiAgICAgICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoaW4gbG9u
ZyB4LCBpbiBsb25nIHksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwYWdlZCk7CisgICAgICAgIHZv
aWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwogCiAgICAgICAgIHZvaWQgbGVhcEZvcndh
cmQoaW4gbG9uZyBtaWxsaXNlY29uZHMpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNw
cAppbmRleCBiN2UyMDNjLi5iZjZkOWJjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5j
cHAKQEAgLTEyNSw2ICsxMjUsMzAgQEAgSlNDbGFzc1JlZiBFdmVudFNlbmRpbmdDb250cm9sbGVy
Ojp3cmFwcGVyQ2xhc3MoKQogICAgIHJldHVybiBKU0V2ZW50U2VuZGluZ0NvbnRyb2xsZXI6OmV2
ZW50U2VuZGluZ0NvbnRyb2xsZXJDbGFzcygpOwogfQogCitlbnVtIE1vdXNlU3RhdGUgeworICAg
IE1vdXNlVXAsCisgICAgTW91c2VEb3duCit9OworCitzdGF0aWMgV0tNdXRhYmxlRGljdGlvbmFy
eVJlZiBjcmVhdGVNb3VzZU1lc3NhZ2VCb2R5KE1vdXNlU3RhdGUgc3RhdGUsIGludCBidXR0b24s
IFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzKQoreworICAgIFdLTXV0YWJsZURpY3Rpb25hcnlS
ZWYgRXZlbnRTZW5kZXJNZXNzYWdlQm9keSA9IFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKTsK
KworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlS2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikpOworICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZyhzdGF0ZSA9PSBNb3VzZVVwID8gIk1vdXNlVXAiIDogIk1vdXNlRG93biIp
KTsKKyAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50U2VuZGVyTWVzc2FnZUJvZHksIHN1Yk1l
c3NhZ2VLZXkuZ2V0KCksIHN1Yk1lc3NhZ2VOYW1lLmdldCgpKTsKKworICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBidXR0b25LZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJCdXR0b24iKSk7CisgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IGJ1dHRvblJl
ZiA9IGFkb3B0V0soV0tVSW50NjRDcmVhdGUoYnV0dG9uKSk7CisgICAgV0tEaWN0aW9uYXJ5QWRk
SXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LCBidXR0b25LZXkuZ2V0KCksIGJ1dHRvblJlZi5n
ZXQoKSk7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbW9kaWZpZXJzS2V5ID0gYWRv
cHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTW9kaWZpZXJzIikpOworICAgIFdL
UmV0YWluUHRyPFdLVUludDY0UmVmPiBtb2RpZmllcnNSZWYgPSBhZG9wdFdLKFdLVUludDY0Q3Jl
YXRlKG1vZGlmaWVycykpOworICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNz
YWdlQm9keSwgbW9kaWZpZXJzS2V5LmdldCgpLCBtb2RpZmllcnNSZWYuZ2V0KCkpOworCisgICAg
cmV0dXJuIEV2ZW50U2VuZGVyTWVzc2FnZUJvZHk7Cit9CisKIHZvaWQgRXZlbnRTZW5kaW5nQ29u
dHJvbGxlcjo6bW91c2VEb3duKGludCBidXR0b24sIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSkg
CiB7CiAgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCku
cGFnZSgpLT5wYWdlKCk7CkBAIC0xMzcsMTkgKzE2MSw3IEBAIHZvaWQgRXZlbnRTZW5kaW5nQ29u
dHJvbGxlcjo6bW91c2VEb3duKGludCBidXR0b24sIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSkK
ICAgICBXS0J1bmRsZVBhZ2VTaW11bGF0ZU1vdXNlRG93bihwYWdlLCBidXR0b24sIG1fcG9zaXRp
b24sIG1fY2xpY2tDb3VudCwgbW9kaWZpZXJzLCBtX3RpbWUpOwogI2Vsc2UKICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gRXZlbnRTZW5kZXJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiRXZlbnRTZW5kZXIiKSk7Ci0gICAgV0tSZXRhaW5QdHI8
V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gRXZlbnRTZW5kZXJNZXNzYWdlQm9keShBZG9wdFdLLCBX
S011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCkpOwotCi0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IHN1Yk1lc3NhZ2VLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IlN1Yk1lc3NhZ2UiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN1Yk1lc3NhZ2VO
YW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJNb3VzZURvd24iKSk7
Ci0gICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBz
dWJNZXNzYWdlS2V5LmdldCgpLCBzdWJNZXNzYWdlTmFtZS5nZXQoKSk7Ci0KLSAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gYnV0dG9uS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiQnV0dG9uIikpOwotICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiBidXR0
b25SZWYgPSBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKGJ1dHRvbikpOwotICAgIFdLRGljdGlvbmFy
eUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgYnV0dG9uS2V5LmdldCgpLCBi
dXR0b25SZWYuZ2V0KCkpOwotCi0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1vZGlmaWVy
c0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIk1vZGlmaWVycyIp
KTsKLSAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gbW9kaWZpZXJzUmVmID0gYWRvcHRXSyhX
S1VJbnQ2NENyZWF0ZShtb2RpZmllcnMpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVtKEV2ZW50
U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIG1vZGlmaWVyc0tleS5nZXQoKSwgbW9kaWZpZXJzUmVm
LmdldCgpKTsKKyAgICBXS1JldGFpblB0cjxXS011dGFibGVEaWN0aW9uYXJ5UmVmPiBFdmVudFNl
bmRlck1lc3NhZ2VCb2R5KEFkb3B0V0ssIGNyZWF0ZU1vdXNlTWVzc2FnZUJvZHkoTW91c2VEb3du
LCBidXR0b24sIG1vZGlmaWVycykpOwogCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNz
YWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZlbnRTZW5kZXJNZXNzYWdl
TmFtZS5nZXQoKSwgRXZlbnRTZW5kZXJNZXNzYWdlQm9keS5nZXQoKSwgMCk7CiAjZW5kaWYKQEAg
LTE2NywxOSArMTc5LDcgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjptb3VzZVVwKGlu
dCBidXR0b24sIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSkKICAgICBXS0J1bmRsZVBhZ2VTaW11
bGF0ZU1vdXNlVXAocGFnZSwgYnV0dG9uLCBtX3Bvc2l0aW9uLCBtX2NsaWNrQ291bnQsIG1vZGlm
aWVycywgbV90aW1lKTsKICNlbHNlCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IEV2ZW50
U2VuZGVyTWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkV2ZW50U2VuZGVyIikpOwotICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZURpY3Rpb25hcnlSZWY+
IEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkoQWRvcHRXSywgV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0
ZSgpKTsKLQotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlS2V5KEFkb3B0
V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdWJNZXNzYWdlIikpOwotICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzdWJNZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiTW91c2VVcCIpKTsKLSAgICBXS0RpY3Rpb25hcnlBZGRJdGVt
KEV2ZW50U2VuZGVyTWVzc2FnZUJvZHkuZ2V0KCksIHN1Yk1lc3NhZ2VLZXkuZ2V0KCksIHN1Yk1l
c3NhZ2VOYW1lLmdldCgpKTsKLQotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBidXR0b25L
ZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkJ1dHRvbiIpKTsKLSAg
ICBXS1JldGFpblB0cjxXS1VJbnQ2NFJlZj4gYnV0dG9uUmVmKEFkb3B0V0ssIFdLVUludDY0Q3Jl
YXRlKGJ1dHRvbikpOwotICAgIFdLRGljdGlvbmFyeUFkZEl0ZW0oRXZlbnRTZW5kZXJNZXNzYWdl
Qm9keS5nZXQoKSwgYnV0dG9uS2V5LmdldCgpLCBidXR0b25SZWYuZ2V0KCkpOwotCi0gICAgV0tS
ZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1vZGlmaWVyc0tleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiTW9kaWZpZXJzIikpOwotICAgIFdLUmV0YWluUHRyPFdLVUludDY0
UmVmPiBtb2RpZmllcnNSZWYoQWRvcHRXSywgV0tVSW50NjRDcmVhdGUobW9kaWZpZXJzKSk7Ci0g
ICAgV0tEaWN0aW9uYXJ5QWRkSXRlbShFdmVudFNlbmRlck1lc3NhZ2VCb2R5LmdldCgpLCBtb2Rp
ZmllcnNLZXkuZ2V0KCksIG1vZGlmaWVyc1JlZi5nZXQoKSk7CisgICAgV0tSZXRhaW5QdHI8V0tN
dXRhYmxlRGljdGlvbmFyeVJlZj4gRXZlbnRTZW5kZXJNZXNzYWdlQm9keShBZG9wdFdLLCBjcmVh
dGVNb3VzZU1lc3NhZ2VCb2R5KE1vdXNlVXAsIGJ1dHRvbiwgbW9kaWZpZXJzKSk7CiAKICAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1
bmRsZSgpLCBFdmVudFNlbmRlck1lc3NhZ2VOYW1lLmdldCgpLCBFdmVudFNlbmRlck1lc3NhZ2VC
b2R5LmdldCgpLCAwKTsKICNlbmRpZgpAQCAtMjMxLDYgKzIzMSwyMiBAQCB2b2lkIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXI6OmxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpCiAjZW5kaWYKIH0K
IAordm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNr
KCkKK3sKKyAgICBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycyA9IDA7CisgICAgaW50IGJ1dHRv
biA9IDA7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gRXZlbnRTZW5kZXJNZXNzYWdl
TmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiRXZlbnRTZW5kZXIi
KSk7CisKKyAgICAvLyBBc3luY2hyb25vdXMgbW91c2UgZG93bi4KKyAgICBXS1JldGFpblB0cjxX
S011dGFibGVEaWN0aW9uYXJ5UmVmPiBtb3VzZURvd25NZXNzYWdlQm9keShBZG9wdFdLLCBjcmVh
dGVNb3VzZU1lc3NhZ2VCb2R5KE1vdXNlRG93biwgYnV0dG9uLCBtb2RpZmllcnMpKTsKKyAgICBX
S0J1bmRsZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgRXZl
bnRTZW5kZXJNZXNzYWdlTmFtZS5nZXQoKSwgbW91c2VEb3duTWVzc2FnZUJvZHkuZ2V0KCkpOwor
CisgICAgLy8gQXN5bmNocm9ub3VzIG1vdXNlIHVwLgorICAgIFdLUmV0YWluUHRyPFdLTXV0YWJs
ZURpY3Rpb25hcnlSZWY+IG1vdXNlVXBNZXNzYWdlQm9keShBZG9wdFdLLCBjcmVhdGVNb3VzZU1l
c3NhZ2VCb2R5KE1vdXNlVXAsIGJ1dHRvbiwgbW9kaWZpZXJzKSk7CisgICAgV0tCdW5kbGVQb3N0
TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEV2ZW50U2VuZGVyTWVz
c2FnZU5hbWUuZ2V0KCksIG1vdXNlVXBNZXNzYWdlQm9keS5nZXQoKSk7Cit9CisKIHZvaWQgRXZl
bnRTZW5kaW5nQ29udHJvbGxlcjo6a2V5RG93bihKU1N0cmluZ1JlZiBrZXksIEpTVmFsdWVSZWYg
bW9kaWZpZXJBcnJheSwgaW50IGxvY2F0aW9uKQogewogICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdl
ID0gSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIuaAppbmRleCA1NDNhNDI4Li40MTNiOTFjIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtb3VzZVNjcm9s
bEJ5KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxCeShpbnQg
eCwgaW50IHksIGJvb2wgcGFnZWQpOwogICAgIHZvaWQgbGVhcEZvcndhcmQoaW50IG1pbGxpc2Vj
b25kcyk7CisgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAKICAgICB2b2lk
IGtleURvd24oSlNTdHJpbmdSZWYga2V5LCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXksIGludCBs
b2NhdGlvbik7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5k
ZXggM2RhMzg4MC4uMWNmMjYxNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKQEAgLTY5MSw4ICs2OTEsMzcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkUmVj
ZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYKIAog
dm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUo
V0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSkKIHsKKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KEVGTCkKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwg
IkV2ZW50U2VuZGVyIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5
KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQoKSk7CisgICAgICAgIFdLRGljdGlvbmFyeVJlZiBt
ZXNzYWdlQm9keURpY3Rpb25hcnkgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KG1lc3Nh
Z2VCb2R5KTsKKworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc3ViTWVzc2FnZUtl
eShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU3ViTWVzc2FnZSIpKTsK
KyAgICAgICAgV0tTdHJpbmdSZWYgc3ViTWVzc2FnZU5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmlu
Z1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIHN1
Yk1lc3NhZ2VLZXkuZ2V0KCkpKTsKKworICAgICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4
Q1N0cmluZyhzdWJNZXNzYWdlTmFtZSwgIk1vdXNlRG93biIpIHx8IFdLU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcoc3ViTWVzc2FnZU5hbWUsICJNb3VzZVVwIikpIHsKKyAgICAgICAgICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBidXR0b25LZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJCdXR0b24iKSk7CisgICAgICAgICAgICB1bnNpZ25lZCBidXR0b24g
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oV0tVSW50NjRHZXRWYWx1ZShzdGF0aWNfY2FzdDxXS1VJ
bnQ2NFJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnks
IGJ1dHRvbktleS5nZXQoKSkpKSk7CisKKyAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBtb2RpZmllcnNLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJNb2RpZmllcnMiKSk7CisgICAgICAgICAgICBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycyA9
IHN0YXRpY19jYXN0PFdLRXZlbnRNb2RpZmllcnM+KFdLVUludDY0R2V0VmFsdWUoc3RhdGljX2Nh
c3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0
aW9uYXJ5LCBtb2RpZmllcnNLZXkuZ2V0KCkpKSkpOworCisgICAgICAgICAgICAvLyBGb3J3YXJk
IHRvIFdlYlByb2Nlc3MKKyAgICAgICAgICAgIFdLUGFnZVNldFNob3VsZFNlbmRFdmVudHNTeW5j
aHJvbm91c2x5KG1haW5XZWJWaWV3KCktPnBhZ2UoKSwgZmFsc2UpOworICAgICAgICAgICAgaWYg
KFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoc3ViTWVzc2FnZU5hbWUsICJNb3VzZURvd24i
KSkKKyAgICAgICAgICAgICAgICBtX2V2ZW50U2VuZGVyUHJveHktPm1vdXNlRG93bihidXR0b24s
IG1vZGlmaWVycyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9ldmVudFNl
bmRlclByb3h5LT5tb3VzZVVwKGJ1dHRvbiwgbW9kaWZpZXJzKTsKKworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyNl
bmRpZgorCiAgICAgaWYgKCFtX2N1cnJlbnRJbnZvY2F0aW9uKQogICAgICAgICByZXR1cm47CisK
ICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5kaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1
bmRsZShtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>