<?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>131426</bug_id>
          
          <creation_ts>2014-04-08 21:57:48 -0700</creation_ts>
          <short_desc>AX: Make AXPress much more reliable on the Web</short_desc>
          <delta_ts>2014-08-06 23:16:20 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>135689</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999063</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-08 21:57:48 -0700</bug_when>
    <thetext>AXPress fails when trying to select a TV provider from
http://www.cnn.com/video/data/2.0/video/cvptve/cvpstream1.html

We need to make AXPress more reliable by 
1) Using the element that is focused as the target of the event
2) Search for the inner mode control object when dispatching the event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999064</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-04-08 21:57:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/16562107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999065</commentid>
    <comment_count>2</comment_count>
      <attachid>228934</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-08 22:02:17 -0700</bug_when>
    <thetext>Created attachment 228934
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999116</commentid>
    <comment_count>3</comment_count>
      <attachid>228947</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-08 23:47:35 -0700</bug_when>
    <thetext>Created attachment 228947
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999117</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-08 23:48:56 -0700</bug_when>
    <thetext>Attachment 228947 did not pass style-queue:


ERROR: Source/WebCore/accessibility/AccessibilityObject.cpp:42:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999179</commentid>
    <comment_count>5</comment_count>
      <attachid>228947</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-04-09 07:53:01 -0700</bug_when>
    <thetext>Comment on attachment 228947
patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:42
&gt; +#include &quot;HitTestResult.h&quot;

This placement seems to make the style checker unhappy

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:723
&gt; +    // The presencen of the actionElement will confirm whether we should even attempt a press.

s/presencen/presence

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:750
&gt; +    Element* element = this-&gt;element();
&gt; +    Element* pressElement = element;

You can use just one variable here, pressElement, assigned to this-&gt;element()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999244</commentid>
    <comment_count>6</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-09 11:42:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/167024</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228934</attachid>
            <date>2014-04-08 22:02:17 -0700</date>
            <delta_ts>2014-04-08 23:47:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13735</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Njk5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE0LTA0LTA4ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IE1ha2UgQVhQcmVz
cyBtdWNoIG1vcmUgcmVsaWFibGUgb24gdGhlIFdlYgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQVhQcmVzcyBmYWlscyB3aGVuIGFuIGV2ZW50IGhhbmRs
ZXIgaXMgb24gYSBub2RlIGhpZ2hlciBpbiB0aGUgcGFyZW50IGNoYWluIHRoYW4gdGhlIGZvY3Vz
ZWQgbm9kZS4KKworICAgICAgICBXZSBuZWVkIHRvIG1ha2UgQVhQcmVzcyBtb3JlIHJlbGlhYmxl
IGJ5IAorICAgICAgICAgICAgMSkgVXNpbmcgdGhlIGVsZW1lbnQgdGhhdCBpcyBmb2N1c2VkIGFz
IHRoZSB0YXJnZXQgb2YgdGhlIGV2ZW50CisgICAgICAgICAgICAyKSBTZWFyY2ggZm9yIHRoZSBp
bm5lciBtb3N0IGNvbnRyb2wgb2JqZWN0IHdoZW4gZGlzcGF0Y2hpbmcgdGhlIGV2ZW50CisKKyAg
ICAgICAgVXBkYXRlZCBleGlzdGluZyBhY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRy
b2wtdHlwZXMuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVu
dUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU1lbnVMaXN0OjpwcmVz
cyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3QuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwOjpwcmVzcyk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpwZXJmb3JtRGVmYXVsdEFjdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbjo6cHJlc3MpOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0OjpwcmVzcyk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOgorCiAyMDE0LTA0LTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5n
OiBDbGlwIG91dGVyIHJvdW5kZWQgYm9yZGVyIHJlY3Qgb24gZGV2aWNlIHBpeGVsIGJvdW5kYXJp
ZXMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5TWVudUxpc3QuY3BwCShyZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDcgKzQyLDcgQEAKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlN
ZW51TGlzdChyZW5kZXJlcikpOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6cHJl
c3MoKSBjb25zdAorYm9vbCBBY2Nlc3NpYmlsaXR5TWVudUxpc3Q6OnByZXNzKCkKIHsKICNpZiAh
UExBVEZPUk0oSU9TKQogICAgIFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHN0YXRpY19jYXN0
PFJlbmRlck1lbnVMaXN0Kj4obV9yZW5kZXJlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmgJKHJldmlzaW9uIDE2
Njg5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVM
aXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5TWVudUxpc3Q+IGNyZWF0ZShSZW5kZXJNZW51TGlzdCogcmVuZGVy
ZXIpOwogCiAgICAgdmlydHVhbCBib29sIGlzQ29sbGFwc2VkKCkgY29uc3Qgb3ZlcnJpZGU7Ci0g
ICAgdmlydHVhbCBib29sIHByZXNzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29s
IHByZXNzKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZFVwZGF0ZUFjdGl2ZU9wdGlvbihpbnQg
b3B0aW9uSW5kZXgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcAkocmV2aXNpb24gMTY2
ODkwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxp
c3RQb3B1cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDcgKzgyLDcgQEAKICAgICByZXR1cm4g
b3B0aW9uOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwOjpwcmVzcygpIGNv
bnN0Citib29sIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwOjpwcmVzcygpCiB7CiAgICAgaWYg
KCFtX3BhcmVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAu
aAkocmV2aXNpb24gMTY2ODkwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBA
CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBNZW51TGlzdFBvcHVwUm9sZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzVmlz
aWJsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIGNvbnN0IG92
ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNo
YW5nZWQoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkocmV2aXNpb24gMTY2ODkw
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5j
bHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgogI2luY2x1
ZGUgIlJlbmRlckxpc3RNYXJrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgpAQCAt
NzE2LDE2ICs3MTcsNDUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogICAgIAotYm9vbCBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpwcmVzcygpIGNvbnN0Citib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OnByZXNzKCkKIHsKKyAgICAvLyBUaGUgcHJlc2VuY2VuIG9mIHRoZSBhY3Rpb25FbGVtZW50IHdp
bGwgY29uZmlybSB3aGV0aGVyIHdlIHNob3VsZCBldmVuIGF0dGVtcHQgYSBwcmVzcy4KICAgICBF
bGVtZW50KiBhY3Rpb25FbGVtID0gYWN0aW9uRWxlbWVudCgpOwogICAgIGlmICghYWN0aW9uRWxl
bSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChGcmFtZSogZiA9IGFjdGlvbkVsZW0t
PmRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgZi0+bG9hZGVyKCkucmVzZXRNdWx0aXBsZUZv
cm1TdWJtaXNzaW9uUHJvdGVjdGlvbigpOwogICAgIAorICAgIC8vIEhpdCB0ZXN0IGF0IHRoaXMg
bG9jYXRpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgc3ViLW5vZGUgZWxlbWVudCB0aGF0
IHNob3VsZCBhY3QKKyAgICAvLyBhcyB0aGUgdGFyZ2V0IG9mIHRoZSBhY3Rpb24uCisgICAgRWxl
bWVudCogaGl0VGVzdEVsZW1lbnQgPSBudWxscHRyOworICAgIGlmIChEb2N1bWVudCogZG9jdW1l
bnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgICAgIFJlbmRlclZpZXcqIHJlbmRlclZpZXcg
PSBkb2N1bWVudC0+cmVuZGVyVmlldygpOworICAgICAgICBSZW5kZXJMYXllciogbGF5ZXIgPSBy
ZW5kZXJWaWV3LT5sYXllcigpOworICAgICAgICAKKyAgICAgICAgSGl0VGVzdFJlcXVlc3QgcmVx
dWVzdChIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVzdDo6QWN0aXZlIHwg
SGl0VGVzdFJlcXVlc3Q6OkFjY2Vzc2liaWxpdHlIaXRUZXN0KTsKKyAgICAgICAgSGl0VGVzdFJl
c3VsdCBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdChjbGlja1BvaW50KCkpOworICAgICAg
ICBsYXllci0+aGl0VGVzdChyZXF1ZXN0LCBoaXRUZXN0UmVzdWx0KTsKKyAgICAgICAgaWYgKGhp
dFRlc3RSZXN1bHQuaW5uZXJOb2RlKCkpIHsKKyAgICAgICAgICAgIE5vZGUqIGlubmVyTm9kZSA9
IGhpdFRlc3RSZXN1bHQuaW5uZXJOb2RlKCktPmRlcHJlY2F0ZWRTaGFkb3dBbmNlc3Rvck5vZGUo
KTsKKyAgICAgICAgICAgIGlmIChpbm5lck5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAg
ICAgICAgICBoaXRUZXN0RWxlbWVudCA9IHRvRWxlbWVudChpbm5lck5vZGUpOworICAgICAgICB9
CisgICAgfQorICAgIAorICAgIAorICAgIC8vIFByZWZlciB0aGUgYWN0aW9uRWxlbWVudCBpbnN0
ZWFkIG9mIHRoaXMgbm9kZSwgaWYgdGhlIGFjdGlvbkVsZW1lbnQgaXMgaW5zaWRlIHRoaXMgbm9k
ZS4KKyAgICBFbGVtZW50KiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgpOworICAgIEVsZW1lbnQq
IHByZXNzRWxlbWVudCA9IGVsZW1lbnQ7CisgICAgaWYgKCFwcmVzc0VsZW1lbnQgfHwgYWN0aW9u
RWxlbS0+aXNEZXNjZW5kYW50T2YoZWxlbWVudCkpCisgICAgICAgIHByZXNzRWxlbWVudCA9IGFj
dGlvbkVsZW07CisgICAgCisgICAgLy8gUHJlZmVyIHRoZSBoaXQgdGVzdCBlbGVtZW50LCBpZiBp
dCBpcyBpbnNpZGUgdGhlIHRhcmdldCBlbGVtZW50LgorICAgIGlmIChoaXRUZXN0RWxlbWVudCAm
JiBoaXRUZXN0RWxlbWVudC0+aXNEZXNjZW5kYW50T2YocHJlc3NFbGVtZW50KSkKKyAgICAgICAg
cHJlc3NFbGVtZW50ID0gaGl0VGVzdEVsZW1lbnQ7CisgICAgCiAgICAgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsK
LSAgICBhY3Rpb25FbGVtLT5hY2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CisgICAgcHJlc3NFbGVtZW50
LT5hY2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CShyZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNzIyLDggKzcyMiw4IEBACiAgICAg
dmlydHVhbCB2b2lkIHNldFNlbGVjdGVkUm93cyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3Im
KSB7IH0KICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVJhbmdlVmlzaWJsZShjb25zdCBQbGFp
blRleHRSYW5nZSYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIGNvbnN0OwotICAgIGJv
b2wgcGVyZm9ybURlZmF1bHRBY3Rpb24oKSBjb25zdCB7IHJldHVybiBwcmVzcygpOyB9CisgICAg
dmlydHVhbCBib29sIHByZXNzKCk7CisgICAgYm9vbCBwZXJmb3JtRGVmYXVsdEFjdGlvbigpIHsg
cmV0dXJuIHByZXNzKCk7IH0KICAgICAKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlPcmllbnRh
dGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnQoKSB7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJj
aEZpZWxkQnV0dG9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcAkocmV2aXNpb24gMTY2ODkw
KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmll
bGRCdXR0b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBAQAogICAgIHRleHRP
cmRlci5hcHBlbmQoQWNjZXNzaWJpbGl0eVRleHQoYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCks
IEFsdGVybmF0aXZlVGV4dCkpOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENh
bmNlbEJ1dHRvbjo6cHJlc3MoKSBjb25zdAorYm9vbCBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRD
YW5jZWxCdXR0b246OnByZXNzKCkKIHsKICAgICBOb2RlKiBub2RlID0gdGhpcy0+bm9kZSgpOwog
ICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Vh
cmNoRmllbGRCdXR0b25zLmgJKHJldmlzaW9uIDE2Njg5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgCiAgICAgdmlydHVhbCBTdHJpbmcgYWNjZXNzaWJp
bGl0eURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGFjY2Vz
c2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIGJvb2wgcHJlc3MoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgcHJl
c3MoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJ1dHRvblJvbGU7IH0KIAogcHJvdGVjdGVkOgpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE2Njg5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzAsNyArMTMwLDcgQEAKICAgICByZXR1cm4gcGFyZW50UmVjdDsKIH0KIAotYm9vbCBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ6OnByZXNzKCkgY29uc3QKK2Jvb2wgQWNjZXNzaWJpbGl0
eVNwaW5CdXR0b25QYXJ0OjpwcmVzcygpCiB7CiAgICAgaWYgKCFtX3BhcmVudCB8fCAhbV9wYXJl
bnQtPmlzU3BpbkJ1dHRvbigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRv
bi5oCShyZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTcGluQnV0dG9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTY4LDcgKzY4LDcgQEAK
ICAgICBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQoKTsKICAgICBib29sIG1faXNJbmNyZW1l
bnRvciA6IDE7CiAgICAgCi0gICAgdmlydHVhbCBib29sIHByZXNzKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCBib29sIHByZXNzKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBCdXR0b25Sb2xl
OyB9CiAgICAgdmlydHVhbCBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29u
c3Qgb3ZlcnJpZGU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjY5OTYpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wNC0wOCAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBNYWtlIEFY
UHJlc3MgbXVjaCBtb3JlIHJlbGlhYmxlIG9uIHRoZSBXZWIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQyNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9wcmVzcy13b3Jrcy1v
bi1jb250cm9sLXR5cGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3By
ZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMuaHRtbDoKKwogMjAxNC0wNC0wOCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzogQ2xp
cCBvdXRlciByb3VuZGVkIGJvcmRlciByZWN0IG9uIGRldmljZSBwaXhlbCBib3VuZGFyaWVzLgpJ
bmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wcmVzcy13b3Jrcy1vbi1jb250cm9sLXR5
cGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjY4
OTApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wt
dHlwZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDEyICs3LDEzIEBACiBtZW51
IGl0ZW0gY2hlY2tib3gKIG1lbnUgaXRlbSByYWRpbwogbGlzdCBpdGVtCisKIFRoaXMgdGVzdHMg
dGhhdCB3aGVuIGNlcnRhaW4gY29udHJvbCB0eXBlIGVsZW1lbnRzIGFyZSBwcmVzc2VkLCBhIHZh
bGlkIGV2ZW50IGlzIHNlbnQgdGhhdCByZWZlcmVuY2VzIHRoZSByaWdodCBlbGVtZW50LgogCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBldmVudFNyY0VsZW1lbnQgPT0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvZHknKSBpcyB0cnVlCitQQVNTIGV2ZW50U3JjRWxlbWVu
dCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JvdXAnKSBpcyB0cnVlCiBQQVNTIGV2ZW50
U3JjRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uJykgaXMgdHJ1ZQog
UEFTUyBldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhYicpIGlz
IHRydWUKIFBBU1MgZXZlbnRTcmNFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdy
YWRpbycpIGlzIHRydWUKQEAgLTIxLDYgKzIyLDcgQEAKIFBBU1MgZXZlbnRTcmNFbGVtZW50ID09
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51aXRlbWNoZWNrYm94JykgaXMgdHJ1ZQogUEFT
UyBldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21lbnVpdGVtcmFk
aW8nKSBpcyB0cnVlCiBQQVNTIGV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbGlzdGl0ZW0nKSBpcyB0cnVlCitQQVNTIGV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc3ViYnV0dG9uJykgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMuaHRt
bAkocmV2aXNpb24gMTY2ODkwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wcmVzcy13
b3Jrcy1vbi1jb250cm9sLXR5cGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE0LDYgKzE0LDcg
QEAKIDxkaXYgcm9sZT0ibWVudWl0ZW1jaGVja2JveCIgaWQ9Im1lbnVpdGVtY2hlY2tib3giIHRh
YmluZGV4PSIwIj5tZW51IGl0ZW0gY2hlY2tib3g8L2Rpdj4KIDxkaXYgcm9sZT0ibWVudWl0ZW1y
YWRpbyIgaWQ9Im1lbnVpdGVtcmFkaW8iIHRhYmluZGV4PSIwIj5tZW51IGl0ZW0gcmFkaW88L2Rp
dj4KIDxkaXYgcm9sZT0ibGlzdGl0ZW0iIGlkPSJsaXN0aXRlbSIgdGFiaW5kZXg9IjAiPmxpc3Qg
aXRlbTwvZGl2PgorPGRpdiByb2xlPSJidXR0b24iIGlkPSJidXR0b24yIiB0YWJpbmRleD0iMCI+
PGRpdj48YnV0dG9uIGlkPSJzdWJidXR0b24iPjwvZGl2PjwvZGl2PgogCiA8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpAQCAtMjcsMTAgKzI4LDggQEAK
ICAgICBmdW5jdGlvbiBoYW5kbGVQcmVzcyhlKSB7CiAgICAgICAgZXZlbnRTcmNFbGVtZW50ID0g
ZS5zcmNFbGVtZW50OwogCi0gICAgICAgLy8gRmlyc3QgcHJlc3Mgd2FzIG9uIHRoZSBncm91cCBl
bGVtZW50LiBUaGF0IGlzIG5vdCBhIGNvbnRyb2wgdHlwZSBhbmQgaXQgc2hvdWxkCi0gICAgICAg
Ly8gaGF2ZSBjYXVzZWQgdGhlIGJvZHkgdG8gYmUgdGhlIHRhcmdldCBlbGVtZW50IGluc3RlYWQg
b2YgdGhlIGdyb3VwIGVsZW1lbnQuCiAgICAgICAgaWYgKHByZXNzQ291bnQgPT0gMCkKLSAgICAg
ICAgICBzaG91bGRCZVRydWUoImV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnYm9keScpIik7CisgICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQg
PT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyb3VwJykiKTsKICAgICAgICBlbHNlIGlmIChw
cmVzc0NvdW50ID09IDEpCiAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQg
PT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbicpIik7CiAgICAgICAgZWxzZSBpZiAo
cHJlc3NDb3VudCA9PSAyKQpAQCAtNDcsNiArNDYsOCBAQAogICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiZXZlbnRTcmNFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51aXRlbXJh
ZGlvJykiKTsKICAgICAgICBlbHNlIGlmIChwcmVzc0NvdW50ID09IDgpCiAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xp
c3RpdGVtJykiKTsKKyAgICAgICBlbHNlIGlmIChwcmVzc0NvdW50ID09IDkpCisgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3N1YmJ1dHRvbicpIik7CiAKICAgICAgICBwcmVzc0NvdW50Kys7CiAgICAgfQpAQCAtNTUsNyAr
NTYsNyBAQAogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewogCi0g
ICAgICAgIHZhciBpdGVtcyA9IG5ldyBBcnJheSgiZ3JvdXAiLCAiYnV0dG9uIiwgInRhYiIsICJy
YWRpbyIsICJjaGVja2JveCIsICJtZW51aXRlbSIsICJtZW51aXRlbWNoZWNrYm94IiwgIm1lbnVp
dGVtcmFkaW8iLCAibGlzdGl0ZW0iKTsKKyAgICAgICAgdmFyIGl0ZW1zID0gbmV3IEFycmF5KCJn
cm91cCIsICJidXR0b24iLCAidGFiIiwgInJhZGlvIiwgImNoZWNrYm94IiwgIm1lbnVpdGVtIiwg
Im1lbnVpdGVtY2hlY2tib3giLCAibWVudWl0ZW1yYWRpbyIsICJsaXN0aXRlbSIsICJidXR0b24y
Iik7CiAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgaXRlbXMubGVuZ3RoOyBrKyspIHsKICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbXNba10pLmZvY3VzKCk7CiAgICAg
ICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnByZXNzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228947</attachid>
            <date>2014-04-08 23:47:35 -0700</date>
            <delta_ts>2014-04-09 07:53:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13975</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDM3IEBACiAyMDE0LTA0LTA4ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKKyAgICAgICAgQVg6IE1ha2UgQVhQcmVz
cyBtdWNoIG1vcmUgcmVsaWFibGUgb24gdGhlIFdlYgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQVhQcmVzcyBmYWlscyB3aGVuIGFuIGV2ZW50IGhhbmRs
ZXIgaXMgb24gYSBub2RlIGhpZ2hlciBpbiB0aGUgcGFyZW50IGNoYWluIHRoYW4gdGhlIGZvY3Vz
ZWQgbm9kZS4KKworICAgICAgICBXZSBuZWVkIHRvIG1ha2UgQVhQcmVzcyBtb3JlIHJlbGlhYmxl
IGJ5IAorICAgICAgICAgICAgMSkgVXNpbmcgdGhlIGVsZW1lbnQgdGhhdCBpcyBmb2N1c2VkIGFz
IHRoZSB0YXJnZXQgb2YgdGhlIGV2ZW50CisgICAgICAgICAgICAyKSBTZWFyY2ggZm9yIHRoZSBp
bm5lciBtb3N0IGNvbnRyb2wgb2JqZWN0IHdoZW4gZGlzcGF0Y2hpbmcgdGhlIGV2ZW50CisKKyAg
ICAgICAgVXBkYXRlZCBleGlzdGluZyBhY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRy
b2wtdHlwZXMuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVu
dUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU1lbnVMaXN0OjpwcmVz
cyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3QuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwOjpwcmVzcyk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpwZXJmb3JtRGVmYXVsdEFjdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbjo6cHJlc3MpOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0OjpwcmVzcyk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOgorCisyMDE0LTA0LTA4ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZCBi
dWlsZCBmaXggZm9yIGlPUyAocmVkdXgpLgogCiAgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW06CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwCShy
ZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAKICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZW51TGlzdChyZW5kZXJlcikpOwogfQog
Ci1ib29sIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6cHJlc3MoKSBjb25zdAorYm9vbCBBY2Nlc3Np
YmlsaXR5TWVudUxpc3Q6OnByZXNzKCkKIHsKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIFJlbmRl
ck1lbnVMaXN0KiBtZW51TGlzdCA9IHN0YXRpY19jYXN0PFJlbmRlck1lbnVMaXN0Kj4obV9yZW5k
ZXJlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlN
ZW51TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU1lbnVMaXN0LmgJKHJldmlzaW9uIDE2Njg5MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDcgKzQwLDcgQEAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5TWVudUxp
c3Q+IGNyZWF0ZShSZW5kZXJNZW51TGlzdCogcmVuZGVyZXIpOwogCiAgICAgdmlydHVhbCBib29s
IGlzQ29sbGFwc2VkKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29sIHByZXNzKCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHByZXNzKCkgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIGRpZFVwZGF0ZUFjdGl2ZU9wdGlvbihpbnQgb3B0aW9uSW5kZXgpOwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlNZW51TGlzdFBvcHVwLmNwcAkocmV2aXNpb24gMTY2ODkwKQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTgyLDcgKzgyLDcgQEAKICAgICByZXR1cm4gb3B0aW9uOwogfQogCi1ib29sIEFjY2Vz
c2liaWxpdHlNZW51TGlzdFBvcHVwOjpwcmVzcygpIGNvbnN0Citib29sIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdFBvcHVwOjpwcmVzcygpCiB7CiAgICAgaWYgKCFtX3BhcmVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TWVudUxpc3RQb3B1cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuaAkocmV2aXNpb24gMTY2ODkwKQorKysg
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBACiAgICAgdmlydHVhbCBBY2Nlc3NpYmls
aXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBNZW51TGlzdFBvcHVw
Um9sZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9v
bCBwcmVzcygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlk
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcAkocmV2aXNpb24gMTY2ODkwKQorKysgU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
NiArMzksNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIK
ICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgorI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtNDksNiArNTAsNyBAQAogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlcklt
YWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0SXRl
bS5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RNYXJrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJNZW51
TGlzdC5oIgpAQCAtNzE2LDE2ICs3MTgsNDUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogICAg
IAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcygpIGNvbnN0Citib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OnByZXNzKCkKIHsKKyAgICAvLyBUaGUgcHJlc2VuY2VuIG9mIHRoZSBhY3Rp
b25FbGVtZW50IHdpbGwgY29uZmlybSB3aGV0aGVyIHdlIHNob3VsZCBldmVuIGF0dGVtcHQgYSBw
cmVzcy4KICAgICBFbGVtZW50KiBhY3Rpb25FbGVtID0gYWN0aW9uRWxlbWVudCgpOwogICAgIGlm
ICghYWN0aW9uRWxlbSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChGcmFtZSogZiA9
IGFjdGlvbkVsZW0tPmRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgZi0+bG9hZGVyKCkucmVz
ZXRNdWx0aXBsZUZvcm1TdWJtaXNzaW9uUHJvdGVjdGlvbigpOwogICAgIAorICAgIC8vIEhpdCB0
ZXN0IGF0IHRoaXMgbG9jYXRpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgc3ViLW5vZGUg
ZWxlbWVudCB0aGF0IHNob3VsZCBhY3QKKyAgICAvLyBhcyB0aGUgdGFyZ2V0IG9mIHRoZSBhY3Rp
b24uCisgICAgRWxlbWVudCogaGl0VGVzdEVsZW1lbnQgPSBudWxscHRyOworICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgICAgIFJlbmRlclZpZXcq
IHJlbmRlclZpZXcgPSBkb2N1bWVudC0+cmVuZGVyVmlldygpOworICAgICAgICBSZW5kZXJMYXll
ciogbGF5ZXIgPSByZW5kZXJWaWV3LT5sYXllcigpOworICAgICAgICAKKyAgICAgICAgSGl0VGVz
dFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVz
dDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6OkFjY2Vzc2liaWxpdHlIaXRUZXN0KTsKKyAgICAg
ICAgSGl0VGVzdFJlc3VsdCBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdChjbGlja1BvaW50
KCkpOworICAgICAgICBsYXllci0+aGl0VGVzdChyZXF1ZXN0LCBoaXRUZXN0UmVzdWx0KTsKKyAg
ICAgICAgaWYgKGhpdFRlc3RSZXN1bHQuaW5uZXJOb2RlKCkpIHsKKyAgICAgICAgICAgIE5vZGUq
IGlubmVyTm9kZSA9IGhpdFRlc3RSZXN1bHQuaW5uZXJOb2RlKCktPmRlcHJlY2F0ZWRTaGFkb3dB
bmNlc3Rvck5vZGUoKTsKKyAgICAgICAgICAgIGlmIChpbm5lck5vZGUtPmlzRWxlbWVudE5vZGUo
KSkKKyAgICAgICAgICAgICAgICBoaXRUZXN0RWxlbWVudCA9IHRvRWxlbWVudChpbm5lck5vZGUp
OworICAgICAgICB9CisgICAgfQorICAgIAorICAgIAorICAgIC8vIFByZWZlciB0aGUgYWN0aW9u
RWxlbWVudCBpbnN0ZWFkIG9mIHRoaXMgbm9kZSwgaWYgdGhlIGFjdGlvbkVsZW1lbnQgaXMgaW5z
aWRlIHRoaXMgbm9kZS4KKyAgICBFbGVtZW50KiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgpOwor
ICAgIEVsZW1lbnQqIHByZXNzRWxlbWVudCA9IGVsZW1lbnQ7CisgICAgaWYgKCFwcmVzc0VsZW1l
bnQgfHwgYWN0aW9uRWxlbS0+aXNEZXNjZW5kYW50T2YoZWxlbWVudCkpCisgICAgICAgIHByZXNz
RWxlbWVudCA9IGFjdGlvbkVsZW07CisgICAgCisgICAgLy8gUHJlZmVyIHRoZSBoaXQgdGVzdCBl
bGVtZW50LCBpZiBpdCBpcyBpbnNpZGUgdGhlIHRhcmdldCBlbGVtZW50LgorICAgIGlmIChoaXRU
ZXN0RWxlbWVudCAmJiBoaXRUZXN0RWxlbWVudC0+aXNEZXNjZW5kYW50T2YocHJlc3NFbGVtZW50
KSkKKyAgICAgICAgcHJlc3NFbGVtZW50ID0gaGl0VGVzdEVsZW1lbnQ7CisgICAgCiAgICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKTsKLSAgICBhY3Rpb25FbGVtLT5hY2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CisgICAg
cHJlc3NFbGVtZW50LT5hY2Nlc3NLZXlBY3Rpb24odHJ1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oCShyZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNzIyLDggKzcy
Miw4IEBACiAgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkUm93cyhBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3ImKSB7IH0KICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbWFrZVJhbmdlVmlzaWJs
ZShjb25zdCBQbGFpblRleHRSYW5nZSYpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBwcmVzcygpIGNv
bnN0OwotICAgIGJvb2wgcGVyZm9ybURlZmF1bHRBY3Rpb24oKSBjb25zdCB7IHJldHVybiBwcmVz
cygpOyB9CisgICAgdmlydHVhbCBib29sIHByZXNzKCk7CisgICAgYm9vbCBwZXJmb3JtRGVmYXVs
dEFjdGlvbigpIHsgcmV0dXJuIHByZXNzKCk7IH0KICAgICAKICAgICB2aXJ0dWFsIEFjY2Vzc2li
aWxpdHlPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBp
bmNyZW1lbnQoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcAkocmV2
aXNpb24gMTY2ODkwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBA
QAogICAgIHRleHRPcmRlci5hcHBlbmQoQWNjZXNzaWJpbGl0eVRleHQoYWNjZXNzaWJpbGl0eURl
c2NyaXB0aW9uKCksIEFsdGVybmF0aXZlVGV4dCkpOwogfQogCi1ib29sIEFjY2Vzc2liaWxpdHlT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvbjo6cHJlc3MoKSBjb25zdAorYm9vbCBBY2Nlc3NpYmlsaXR5
U2VhcmNoRmllbGRDYW5jZWxCdXR0b246OnByZXNzKCkKIHsKICAgICBOb2RlKiBub2RlID0gdGhp
cy0+bm9kZSgpOwogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRC
dXR0b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmgJKHJldmlzaW9uIDE2Njg5MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBACiAgICAgCiAgICAgdmlydHVhbCBTdHJp
bmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgcHJlc3MoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIGJvb2wgcHJlc3MoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJ1dHRvblJvbGU7IH0KIAogcHJv
dGVjdGVkOgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE2Njg5MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgICByZXR1cm4gcGFyZW50UmVjdDsKIH0K
IAotYm9vbCBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ6OnByZXNzKCkgY29uc3QKK2Jvb2wg
QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0OjpwcmVzcygpCiB7CiAgICAgaWYgKCFtX3BhcmVu
dCB8fCAhbV9wYXJlbnQtPmlzU3BpbkJ1dHRvbigpKQogICAgICAgICByZXR1cm4gZmFsc2U7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5oCShyZXZpc2lvbiAxNjY4OTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTY4
LDcgKzY4LDcgQEAKICAgICBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQoKTsKICAgICBib29s
IG1faXNJbmNyZW1lbnRvciA6IDE7CiAgICAgCi0gICAgdmlydHVhbCBib29sIHByZXNzKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHByZXNzKCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBCdXR0b25Sb2xlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGVsZW1l
bnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjY5OTYpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
NC0wNC0wOCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAg
IEFYOiBNYWtlIEFYUHJlc3MgbXVjaCBtb3JlIHJlbGlhYmxlIG9uIHRoZSBXZWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQyNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9w
cmVzcy13b3Jrcy1vbi1jb250cm9sLXR5cGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMuaHRtbDoKKwogMjAxNC0wNC0w
OCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIHJl
bmRlcmluZzogQ2xpcCBvdXRlciByb3VuZGVkIGJvcmRlciByZWN0IG9uIGRldmljZSBwaXhlbCBi
b3VuZGFyaWVzLgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wcmVzcy13b3Jrcy1v
bi1jb250cm9sLXR5cGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxNjY4OTApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtz
LW9uLWNvbnRyb2wtdHlwZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDEyICs3
LDEzIEBACiBtZW51IGl0ZW0gY2hlY2tib3gKIG1lbnUgaXRlbSByYWRpbwogbGlzdCBpdGVtCisK
IFRoaXMgdGVzdHMgdGhhdCB3aGVuIGNlcnRhaW4gY29udHJvbCB0eXBlIGVsZW1lbnRzIGFyZSBw
cmVzc2VkLCBhIHZhbGlkIGV2ZW50IGlzIHNlbnQgdGhhdCByZWZlcmVuY2VzIHRoZSByaWdodCBl
bGVtZW50LgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBldmVudFNyY0Vs
ZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvZHknKSBpcyB0cnVlCitQQVNTIGV2
ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JvdXAnKSBpcyB0cnVl
CiBQQVNTIGV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9u
JykgaXMgdHJ1ZQogUEFTUyBldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RhYicpIGlzIHRydWUKIFBBU1MgZXZlbnRTcmNFbGVtZW50ID09IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyYWRpbycpIGlzIHRydWUKQEAgLTIxLDYgKzIyLDcgQEAKIFBBU1MgZXZlbnRT
cmNFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51aXRlbWNoZWNrYm94Jykg
aXMgdHJ1ZQogUEFTUyBldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J21lbnVpdGVtcmFkaW8nKSBpcyB0cnVlCiBQQVNTIGV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbGlzdGl0ZW0nKSBpcyB0cnVlCitQQVNTIGV2ZW50U3JjRWxlbWVu
dCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ViYnV0dG9uJykgaXMgdHJ1ZQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRyb2wtdHlwZXMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3ByZXNzLXdvcmtzLW9uLWNvbnRy
b2wtdHlwZXMuaHRtbAkocmV2aXNpb24gMTY2ODkwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9wcmVzcy13b3Jrcy1vbi1jb250cm9sLXR5cGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTE0LDYgKzE0LDcgQEAKIDxkaXYgcm9sZT0ibWVudWl0ZW1jaGVja2JveCIgaWQ9Im1lbnVpdGVt
Y2hlY2tib3giIHRhYmluZGV4PSIwIj5tZW51IGl0ZW0gY2hlY2tib3g8L2Rpdj4KIDxkaXYgcm9s
ZT0ibWVudWl0ZW1yYWRpbyIgaWQ9Im1lbnVpdGVtcmFkaW8iIHRhYmluZGV4PSIwIj5tZW51IGl0
ZW0gcmFkaW88L2Rpdj4KIDxkaXYgcm9sZT0ibGlzdGl0ZW0iIGlkPSJsaXN0aXRlbSIgdGFiaW5k
ZXg9IjAiPmxpc3QgaXRlbTwvZGl2PgorPGRpdiByb2xlPSJidXR0b24iIGlkPSJidXR0b24yIiB0
YWJpbmRleD0iMCI+PGRpdj48YnV0dG9uIGlkPSJzdWJidXR0b24iPjwvZGl2PjwvZGl2PgogCiA8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgpAQCAtMjcs
MTAgKzI4LDggQEAKICAgICBmdW5jdGlvbiBoYW5kbGVQcmVzcyhlKSB7CiAgICAgICAgZXZlbnRT
cmNFbGVtZW50ID0gZS5zcmNFbGVtZW50OwogCi0gICAgICAgLy8gRmlyc3QgcHJlc3Mgd2FzIG9u
IHRoZSBncm91cCBlbGVtZW50LiBUaGF0IGlzIG5vdCBhIGNvbnRyb2wgdHlwZSBhbmQgaXQgc2hv
dWxkCi0gICAgICAgLy8gaGF2ZSBjYXVzZWQgdGhlIGJvZHkgdG8gYmUgdGhlIHRhcmdldCBlbGVt
ZW50IGluc3RlYWQgb2YgdGhlIGdyb3VwIGVsZW1lbnQuCiAgICAgICAgaWYgKHByZXNzQ291bnQg
PT0gMCkKLSAgICAgICAgICBzaG91bGRCZVRydWUoImV2ZW50U3JjRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYm9keScpIik7CisgICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVu
dFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyb3VwJykiKTsKICAgICAg
ICBlbHNlIGlmIChwcmVzc0NvdW50ID09IDEpCiAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVu
dFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbicpIik7CiAgICAg
ICAgZWxzZSBpZiAocHJlc3NDb3VudCA9PSAyKQpAQCAtNDcsNiArNDYsOCBAQAogICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiZXZlbnRTcmNFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdtZW51aXRlbXJhZGlvJykiKTsKICAgICAgICBlbHNlIGlmIChwcmVzc0NvdW50ID09IDgpCiAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2xpc3RpdGVtJykiKTsKKyAgICAgICBlbHNlIGlmIChwcmVzc0NvdW50ID09IDkp
CisgICAgICAgICAgc2hvdWxkQmVUcnVlKCJldmVudFNyY0VsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3N1YmJ1dHRvbicpIik7CiAKICAgICAgICBwcmVzc0NvdW50Kys7CiAgICAg
fQpAQCAtNTUsNyArNTYsNyBAQAogCiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgewogCi0gICAgICAgIHZhciBpdGVtcyA9IG5ldyBBcnJheSgiZ3JvdXAiLCAiYnV0dG9u
IiwgInRhYiIsICJyYWRpbyIsICJjaGVja2JveCIsICJtZW51aXRlbSIsICJtZW51aXRlbWNoZWNr
Ym94IiwgIm1lbnVpdGVtcmFkaW8iLCAibGlzdGl0ZW0iKTsKKyAgICAgICAgdmFyIGl0ZW1zID0g
bmV3IEFycmF5KCJncm91cCIsICJidXR0b24iLCAidGFiIiwgInJhZGlvIiwgImNoZWNrYm94Iiwg
Im1lbnVpdGVtIiwgIm1lbnVpdGVtY2hlY2tib3giLCAibWVudWl0ZW1yYWRpbyIsICJsaXN0aXRl
bSIsICJidXR0b24yIik7CiAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgaXRlbXMubGVuZ3Ro
OyBrKyspIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbXNba10pLmZv
Y3VzKCk7CiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50
LnByZXNzKCk7Cg==
</data>
<flag name="review"
          id="253291"
          type_id="1"
          status="+"
          setter="mario"
    />
          </attachment>
      

    </bug>

</bugzilla>