<?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>188276</bug_id>
          
          <creation_ts>2018-08-02 14:07:27 -0700</creation_ts>
          <short_desc>AX: [iOS] add support to return the attributed string under the element</short_desc>
          <delta_ts>2018-08-02 16:54:47 -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>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nan Wang">n_wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1447375</commentid>
    <comment_count>0</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-08-02 14:07:27 -0700</bug_when>
    <thetext>Currently we only have attributedStringForRange:(NSRange)range, and it&apos;s using the top document and TextIterator to figure out the right start/end point.
For the case where we want to get the attributed string under some element, we shouldn&apos;t do such redundant work to walk from the beginning of the document to figure out the right range.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447376</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-02 14:07:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/42872357&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447379</commentid>
    <comment_count>2</comment_count>
      <attachid>346416</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-08-02 14:20:41 -0700</bug_when>
    <thetext>Created attachment 346416
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447439</commentid>
    <comment_count>3</comment_count>
      <attachid>346416</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-08-02 16:41:58 -0700</bug_when>
    <thetext>Comment on attachment 346416
patch

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

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:2530
&gt; +        

white space</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447445</commentid>
    <comment_count>4</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-08-02 16:54:47 -0700</bug_when>
    <thetext>Committed r234526: &lt;https://trac.webkit.org/changeset/234526&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346416</attachid>
            <date>2018-08-02 14:20:41 -0700</date>
            <delta_ts>2018-08-02 16:41:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>17526</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA4LTAyICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIGFkZCBzdXBwb3J0IHRv
IHJldHVybiB0aGUgYXR0cmlidXRlZCBzdHJpbmcgdW5kZXIgdGhlIGVsZW1lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODI3NgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDI4NzIzNTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUHJvdmlkZWQgYSB3YXkgb24gaU9TIHRvIHJldHVybiB0aGUgYXR0
cmlidXRlZCBzdHJpbmcgdW5kZXIgdGhlIGVsZW1lbnQgZm9yIAorICAgICAgICBiZXR0ZXIgcGVy
Zm9ybWFuY2UuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2F0
dHJpYnV0ZWQtc3RyaW5nLWZvci1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgorICAgICAgICAoLVtX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBfc3RyaW5nRnJvbVN0YXJ0TWFya2VyOnRvRW5k
TWFya2VyOmF0dHJpYnV0ZWQ6XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyIF9zdHJpbmdGb3JSYW5nZTphdHRyaWJ1dGVkOl0pOgorICAgICAgICAoLVtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhdHRyaWJ1dGVkU3RyaW5nRm9yRWxlbWVudF0pOgorCiAy
MDE4LTA4LTAxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgTW92ZSBhbGwgY2FsbHMgdG8gUmVzb3VyY2VMb2FkZXI6OnN0YXJ0IHRvIFdlYktp
dExlZ2FjeQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHJl
dmlzaW9uIDIzNDQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNTE0LDI2
ICsyNTE0LDExIEBAIC0gKFdlYkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyICopdGV4dE1hcmsKICAg
ICByZXR1cm4gW1dlYkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIHRleHRNYXJrZXJXaXRoQ2hhcmFj
dGVyT2Zmc2V0OmNoYXJhY3Rlck9mZnNldCBjYWNoZTpjYWNoZV07CiB9CiAKLS0gKGlkKV9zdHJp
bmdGb3JSYW5nZTooTlNSYW5nZSlyYW5nZSBhdHRyaWJ1dGVkOihCT09MKWF0dHJpYnV0ZWQKKy0g
KGlkKV9zdHJpbmdGcm9tU3RhcnRNYXJrZXI6KFdlYkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKilz
dGFydE1hcmtlciB0b0VuZE1hcmtlcjooV2ViQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqKWVuZE1h
cmtlciBhdHRyaWJ1dGVkOihCT09MKWF0dHJpYnV0ZWQKIHsKLSAgICBpZiAoIVtzZWxmIF9wcmVw
YXJlQWNjZXNzaWJpbGl0eUNhbGxdKQorICAgIGlmICghc3RhcnRNYXJrZXIgfHwgIWVuZE1hcmtl
cikKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBXZWJBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogc3RhcnRNYXJrZXIgPSBbc2VsZiB0ZXh0TWFya2VyRm9yUG9zaXRpb246cmFuZ2UubG9j
YXRpb25dOwotICAgIFdlYkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIgPSBbc2Vs
ZiB0ZXh0TWFya2VyRm9yUG9zaXRpb246TlNNYXhSYW5nZShyYW5nZSldOwotICAgIAotICAgIC8v
IENsaWVudHMgZG9uJ3QgYWx3YXlzIGtub3cgdGhlIGV4YWN0IHJhbmdlLCByYXRoZXIgdGhhbiBm
b3JjZSB0aGVtIHRvIGNvbXB1dGUgaXQsCi0gICAgLy8gYWxsb3cgY2xpZW50cyB0byBvdmVyc2hv
b3QgYW5kIHVzZSB0aGUgbWF4IHRleHQgbWFya2VyIHJhbmdlLgotICAgIGlmICghc3RhcnRNYXJr
ZXIgfHwgIWVuZE1hcmtlcikgewotICAgICAgICBOU0FycmF5ICptYXJrZXJzID0gW3NlbGYgdGV4
dE1hcmtlclJhbmdlXTsKLSAgICAgICAgaWYgKFttYXJrZXJzIGNvdW50XSAhPSAyKQotICAgICAg
ICAgICAgcmV0dXJuIG5pbDsKLSAgICAgICAgaWYgKCFzdGFydE1hcmtlcikKLSAgICAgICAgICAg
IHN0YXJ0TWFya2VyID0gW21hcmtlcnMgb2JqZWN0QXRJbmRleDowXTsKLSAgICAgICAgaWYgKCFl
bmRNYXJrZXIpCi0gICAgICAgICAgICBlbmRNYXJrZXIgPSBbbWFya2VycyBvYmplY3RBdEluZGV4
OjFdOwotICAgIH0KLSAgICAKICAgICBOU0FycmF5KiBhcnJheSA9IFtzZWxmIGFycmF5T2ZUZXh0
Rm9yVGV4dE1hcmtlcnM6W05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czpzdGFydE1hcmtlciwgZW5k
TWFya2VyLCBuaWxdIGF0dHJpYnV0ZWQ6YXR0cmlidXRlZF07CiAgICAgQ2xhc3MgcmV0dXJuQ2xh
c3MgPSBhdHRyaWJ1dGVkID8gW05TTXV0YWJsZUF0dHJpYnV0ZWRTdHJpbmcgY2xhc3NdIDogW05T
TXV0YWJsZVN0cmluZyBjbGFzc107CiAgICAgaWQgcmV0dXJuVmFsdWUgPSBbWyhOU1N0cmluZyAq
KVtyZXR1cm5DbGFzcyBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOwpAQCAtMjU0Miw3ICsyNTI3
LDcgQEAgLSAoaWQpX3N0cmluZ0ZvclJhbmdlOihOU1JhbmdlKXJhbmdlIGF0dAogICAgIE5TSW50
ZWdlciBjb3VudCA9IFthcnJheSBjb3VudF07CiAgICAgZm9yIChOU0ludGVnZXIgayA9IDA7IGsg
PCBjb3VudDsgKytrKSB7CiAgICAgICAgIGlkIG9iamVjdCA9IFthcnJheSBvYmplY3RBdEluZGV4
OmtdOwotCisgICAgICAgIAogICAgICAgICBpZiAoYXR0cmlidXRlZCAmJiBbb2JqZWN0IGlzS2lu
ZE9mQ2xhc3M6W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGNsYXNzXV0pCiAgICAgICAg
ICAgICBvYmplY3QgPSBbW1tOU011dGFibGVBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0
aFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6JmF0dGFjaG1lbnRDaGFyIGxl
bmd0aDoxXSBhdHRyaWJ1dGVzOkB7IFVJQWNjZXNzaWJpbGl0eVRva2VuQXR0YWNobWVudCA6IG9i
amVjdCB9XSBhdXRvcmVsZWFzZV07CiAgICAgICAgIApAQCAtMjU1Nyw2ICsyNTQyLDI5IEBAIC0g
KGlkKV9zdHJpbmdGb3JSYW5nZTooTlNSYW5nZSlyYW5nZSBhdHQKICAgICByZXR1cm4gcmV0dXJu
VmFsdWU7CiB9CiAKKy0gKGlkKV9zdHJpbmdGb3JSYW5nZTooTlNSYW5nZSlyYW5nZSBhdHRyaWJ1
dGVkOihCT09MKWF0dHJpYnV0ZWQKK3sKKyAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJp
bGl0eUNhbGxdKQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIFdlYkFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyKiBzdGFydE1hcmtlciA9IFtzZWxmIHRleHRNYXJrZXJGb3JQb3NpdGlvbjpy
YW5nZS5sb2NhdGlvbl07CisgICAgV2ViQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIGVuZE1hcmtl
ciA9IFtzZWxmIHRleHRNYXJrZXJGb3JQb3NpdGlvbjpOU01heFJhbmdlKHJhbmdlKV07CisgICAg
CisgICAgLy8gQ2xpZW50cyBkb24ndCBhbHdheXMga25vdyB0aGUgZXhhY3QgcmFuZ2UsIHJhdGhl
ciB0aGFuIGZvcmNlIHRoZW0gdG8gY29tcHV0ZSBpdCwKKyAgICAvLyBhbGxvdyBjbGllbnRzIHRv
IG92ZXJzaG9vdCBhbmQgdXNlIHRoZSBtYXggdGV4dCBtYXJrZXIgcmFuZ2UuCisgICAgaWYgKCFz
dGFydE1hcmtlciB8fCAhZW5kTWFya2VyKSB7CisgICAgICAgIE5TQXJyYXkgKm1hcmtlcnMgPSBb
c2VsZiB0ZXh0TWFya2VyUmFuZ2VdOworICAgICAgICBpZiAoW21hcmtlcnMgY291bnRdICE9IDIp
CisgICAgICAgICAgICByZXR1cm4gbmlsOworICAgICAgICBpZiAoIXN0YXJ0TWFya2VyKQorICAg
ICAgICAgICAgc3RhcnRNYXJrZXIgPSBbbWFya2VycyBvYmplY3RBdEluZGV4OjBdOworICAgICAg
ICBpZiAoIWVuZE1hcmtlcikKKyAgICAgICAgICAgIGVuZE1hcmtlciA9IFttYXJrZXJzIG9iamVj
dEF0SW5kZXg6MV07CisgICAgfQorICAgIAorICAgIHJldHVybiBbc2VsZiBfc3RyaW5nRnJvbVN0
YXJ0TWFya2VyOnN0YXJ0TWFya2VyIHRvRW5kTWFya2VyOmVuZE1hcmtlciBhdHRyaWJ1dGVkOmF0
dHJpYnV0ZWRdOworfQorCiAKIC8vIEEgY29udmVuaWVuY2UgbWV0aG9kIGZvciBnZXR0aW5nIHRo
ZSB0ZXh0IG9mIGEgTlNSYW5nZS4gQ3VycmVudGx5IHVzZWQgb25seSBieSBEUlQuCiAtIChOU1N0
cmluZyAqKXN0cmluZ0ZvclJhbmdlOihOU1JhbmdlKXJhbmdlCkBAIC0yNTY5LDYgKzI1NzcsMTgg
QEAgLSAoTlNBdHRyaWJ1dGVkU3RyaW5nICopYXR0cmlidXRlZFN0cmluZwogICAgIHJldHVybiBb
c2VsZiBfc3RyaW5nRm9yUmFuZ2U6cmFuZ2UgYXR0cmlidXRlZDpZRVNdOwogfQogCistIChOU0F0
dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkU3RyaW5nRm9yRWxlbWVudAoreworICAgIGlmICgh
W3NlbGYgX3ByZXBhcmVBY2Nlc3NpYmlsaXR5Q2FsbF0pCisgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgCisgICAgTlNBcnJheSAqbWFya2VycyA9IFtzZWxmIHRleHRNYXJrZXJSYW5nZV07CisgICAg
aWYgKFttYXJrZXJzIGNvdW50XSAhPSAyKQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAg
IHJldHVybiBbc2VsZiBfc3RyaW5nRnJvbVN0YXJ0TWFya2VyOm1hcmtlcnMuZmlyc3RPYmplY3Qg
dG9FbmRNYXJrZXI6bWFya2Vycy5sYXN0T2JqZWN0IGF0dHJpYnV0ZWQ6WUVTXTsKK30KKwogLSAo
TlNSYW5nZSlfYWNjZXNzaWJpbGl0eVNlbGVjdGVkVGV4dFJhbmdlCiB7CiAgICAgaWYgKCFbc2Vs
ZiBfcHJlcGFyZUFjY2Vzc2liaWxpdHlDYWxsXSB8fCAhbV9vYmplY3QtPmlzVGV4dENvbnRyb2wo
KSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDIzNDUxNCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI0IEBACisyMDE4LTA4LTAyICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgQVg6IFtpT1NdIGFkZCBzdXBwb3J0IHRvIHJldHVybiB0aGUgYXR0cmlidXRlZCBz
dHJpbmcgdW5kZXIgdGhlIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4ODI3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI4NzIzNTc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKGF0dHJpYnV0
ZWRTdHJpbmdGb3JFbGVtZW50Q2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Z2V0SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50SU9TLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlZFN0cmluZ0ZvckVsZW1lbnQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50KToK
KwogMjAxOC0wOC0wMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeGVkIFdlYktpdC5BdHRyU3R5bGUgdGltaW5nIG91dCBvbiBidWlsZC53ZWJraXQub3JnLgpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAJKHJldmlzaW9uIDIzNDQ4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjksNiArMzY5LDEyIEBAIHN0YXRp
YyBKU1ZhbHVlUmVmIGZpZWxkc2V0QW5jZXN0b3JFbGVtZW4KICAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bWFrZUpTQWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb250ZXh0LCB0b0FY
RWxlbWVudCh0aGlzT2JqZWN0KS0+ZmllbGRzZXRBbmNlc3RvckVsZW1lbnQoKSk7CiB9CiAKK3N0
YXRpYyBKU1ZhbHVlUmVmIGF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50Q2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2Jq
ZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBz
dHJpbmdEZXNjcmlwdGlvbihBZG9wdCwgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPmF0dHJpYnV0
ZWRTdHJpbmdGb3JFbGVtZW50KCkpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhjb250
ZXh0LCBzdHJpbmdEZXNjcmlwdGlvbi5nZXQoKSk7Cit9CisKICNlbmRpZgogCiBzdGF0aWMgSlNW
YWx1ZVJlZiBjaGlsZEF0SW5kZXhDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENv
dW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
CkBAIC0xOTgwLDYgKzE5ODYsNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmdldEpTCiAgICAgICAgIHsgImFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cyIsIGFz
c2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgImZpZWxkc2V0QW5jZXN0b3JFbGVtZW50IiwgZmllbGRzZXRBbmNlc3RvckVsZW1lbnRDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJ0ZXh0TWFya2VyUmFuZ2VNYXRjaGVzVGV4dE5lYXJN
YXJrZXJzIiwgdGV4dE1hcmtlclJhbmdlTWF0Y2hlc1RleHROZWFyTWFya2Vyc0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCisgICAgICAgIHsgImF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50IiwgYXR0cmlidXRl
ZFN0cmluZ0ZvckVsZW1lbnRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogI2VuZGlmCiAgICAgICAgIHsgMCwg
MCwgMCB9CiAgICAgfTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmgJKHJldmlzaW9uIDIzNDQ4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMyLDYgKzIzMiw3
IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGhhc0NvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdCgp
OwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgZmllbGRzZXRBbmNlc3RvckVsZW1lbnQoKTsK
KyAgICBKU1N0cmluZ1JlZiBhdHRyaWJ1dGVkU3RyaW5nRm9yRWxlbWVudCgpOwogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShHVEspCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQkocmV2aXNpb24gMjM0NDg2KQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0JKHdv
cmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDcgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlI
ZWFkZXJFbGVtZW50cwogLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5UGxhY2Vob2xkZXJWYWx1
ZTsKIC0gKE5TU3RyaW5nICopc3RyaW5nRm9yUmFuZ2U6KE5TUmFuZ2UpcmFuZ2U7CiAtIChOU0F0
dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkU3RyaW5nRm9yUmFuZ2U6KE5TUmFuZ2UpcmFuZ2U7
CistIChOU0F0dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkU3RyaW5nRm9yRWxlbWVudDsKIC0g
KE5TQXJyYXkgKillbGVtZW50c0ZvclJhbmdlOihOU1JhbmdlKXJhbmdlOwogLSAoTlNTdHJpbmcg
KilzZWxlY3Rpb25SYW5nZVN0cmluZzsKIC0gKENHUG9pbnQpYWNjZXNzaWJpbGl0eUNsaWNrUG9p
bnQ7CkBAIC0zOTMsNiArMzk0LDE1IEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmF0dHIKICAgICByZXR1cm4gW3N0cmluZ1dpdGhBdHRycyBjcmVhdGVKU1N0cmluZ1JlZl07
CiB9CiAKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJp
bmdGb3JFbGVtZW50KCkKK3sKKyAgICBOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZyA9IFttX2Vs
ZW1lbnQgYXR0cmlidXRlZFN0cmluZ0ZvckVsZW1lbnRdOworICAgIGlmICghW3N0cmluZyBpc0tp
bmRPZkNsYXNzOltOU0F0dHJpYnV0ZWRTdHJpbmcgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgCisgICAgcmV0dXJuIFtbc3RyaW5nIGRlc2NyaXB0aW9uXSBjcmVhdGVKU1N0
cmluZ1JlZl07Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0
cmluZ1JhbmdlSXNNaXNzcGVsbGVkKHVuc2lnbmVkLCB1bnNpZ25lZCkKIHsKICAgICByZXR1cm4g
ZmFsc2U7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJKHJldmlzaW9uIDIz
NDQ4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDcgQEAgYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlYXJjaEZpZQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1RleHRBcmVhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIFJlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFy
a2VyUmFuZ2VNYXRjaGVzVGV4dE5lYXJNYXJrZXJzKEpTU3RyaW5nUmVmLCBBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlciosIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKikgeyByZXR1cm4gbnVsbHB0cjsg
fQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNtaXNzKCkgeyByZXR1cm4gZmFsc2U7
IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRy
aWJ1dGVkU3RyaW5nRm9yRWxlbWVudCgpIHsgcmV0dXJuIG51bGxwdHI7IH0KICNlbmRpZgogICAg
IAogLy8gVW5zdXBwb3J0ZWQgbWV0aG9kcyBvbiB2YXJpb3VzIHBsYXRmb3Jtcy4gQXMgdGhleSdy
ZSBpbXBsZW1lbnRlZCBvbiBvdGhlciBwbGF0Zm9ybXMgdGhpcyBsaXN0IHNob3VsZCBiZSBtb2Rp
ZmllZC4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCShyZXZpc2lvbiAyMzQ0ODYp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDYgKzI0OCw4IEBAIHB1YmxpYzoKICAg
ICBib29sIHNldFNlbGVjdGVkVGV4dFJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBs
ZW5ndGgpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBzdHJpbmdGb3JSYW5nZSh1bnNp
Z25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gYXR0cmlidXRlZFN0cmluZ0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25l
ZCBsZW5ndGgpOworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhdHRyaWJ1dGVkU3RyaW5n
Rm9yRWxlbWVudCgpOworCiAgICAgYm9vbCBhdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxs
ZWQodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgdW5zaWduZWQgdWlF
bGVtZW50Q291bnRGb3JTZWFyY2hQcmVkaWNhdGUoSlNDb250ZXh0UmVmLCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50KiBzdGFydEVsZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVm
IHNlYXJjaEtleSwgSlNTdHJpbmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSwgYm9v
bCBpbW1lZGlhdGVEZXNjZW5kYW50c09ubHkpOwogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiB1aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUoSlNDb250ZXh0UmVmLCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KiBzdGFydEVsZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1Zh
bHVlUmVmIHNlYXJjaEtleSwgSlNTdHJpbmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25s
eSwgYm9vbCBpbW1lZGlhdGVEZXNjZW5kYW50c09ubHkpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMzQ0ODYpCisrKyBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xNzcsNiArMTc3LDcgQEAgaW50ZXJm
YWNlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgewogICAgIERPTVN0cmluZyBib3VuZHNGb3JSYW5n
ZSh1bnNpZ25lZCBsb25nIGxvY2F0aW9uLCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CiAgICAgRE9N
U3RyaW5nIHN0cmluZ0ZvclJhbmdlKHVuc2lnbmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxv
bmcgbGVuZ3RoKTsKICAgICBET01TdHJpbmcgYXR0cmlidXRlZFN0cmluZ0ZvclJhbmdlKHVuc2ln
bmVkIGxvbmcgbG9jYXRpb24sIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKTsKKyAgICBET01TdHJpbmcg
YXR0cmlidXRlZFN0cmluZ0ZvckVsZW1lbnQoKTsKICAgICBib29sZWFuIGF0dHJpYnV0ZWRTdHJp
bmdSYW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25lZCBsb25nIGxvY2F0aW9uLCB1bnNpZ25lZCBsb25n
IGxlbmd0aCk7CiAgICAgW1Bhc3NDb250ZXh0XSB1bnNpZ25lZCBsb25nIHVpRWxlbWVudENvdW50
Rm9yU2VhcmNoUHJlZGljYXRlKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgc3RhcnRFbGVtZW50LCBi
b29sZWFuIGlzRGlyZWN0aW9uTmV4dCwgb2JqZWN0IHNlYXJjaEtleSwgRE9NU3RyaW5nIHNlYXJj
aFRleHQsIGJvb2xlYW4gdmlzaWJsZU9ubHksIGJvb2xlYW4gaW1tZWRpYXRlRGVzY2VuZGFudHNP
bmx5KTsKICAgICBbUGFzc0NvbnRleHRdIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgdWlFbGVtZW50
Rm9yU2VhcmNoUHJlZGljYXRlKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgc3RhcnRFbGVtZW50LCBi
b29sZWFuIGlzRGlyZWN0aW9uTmV4dCwgb2JqZWN0IHNlYXJjaEtleSwgRE9NU3RyaW5nIHNlYXJj
aFRleHQsIGJvb2xlYW4gdmlzaWJsZU9ubHksIGJvb2xlYW4gaW1tZWRpYXRlRGVzY2VuZGFudHNP
bmx5KTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQko
cmV2aXNpb24gMjM0NDg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTIs
NiArNTIsNyBAQCAtIChOU0FycmF5ICopYWNjZXNzaWJpbGl0eUhlYWRlckVsZW1lbnRzCiAtIChO
U1N0cmluZyAqKWFjY2Vzc2liaWxpdHlQbGFjZWhvbGRlclZhbHVlOwogLSAoTlNTdHJpbmcgKilz
dHJpbmdGb3JSYW5nZTooTlNSYW5nZSlyYW5nZTsKIC0gKE5TQXR0cmlidXRlZFN0cmluZyAqKWF0
dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZTooTlNSYW5nZSlyYW5nZTsKKy0gKE5TQXR0cmlidXRlZFN0
cmluZyAqKWF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50OwogLSAoTlNBcnJheSAqKWVsZW1lbnRz
Rm9yUmFuZ2U6KE5TUmFuZ2UpcmFuZ2U7CiAtIChOU1N0cmluZyAqKXNlbGVjdGlvblJhbmdlU3Ry
aW5nOwogLSAoQ0dQb2ludClhY2Nlc3NpYmlsaXR5Q2xpY2tQb2ludDsKQEAgLTY2MSw2ICs2NjIs
MTUgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSQogICAgIHJldHVy
biBbW3N0cmluZ0ZvclJhbmdlIGRlc2NyaXB0aW9uXSBjcmVhdGVKU1N0cmluZ1JlZl07CiB9CiAK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1
dGVkU3RyaW5nRm9yRWxlbWVudCgpCit7CisgICAgTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcg
PSBbbV9lbGVtZW50IGF0dHJpYnV0ZWRTdHJpbmdGb3JFbGVtZW50XTsKKyAgICBpZiAoIVtzdHJp
bmcgaXNLaW5kT2ZDbGFzczpbTlNBdHRyaWJ1dGVkU3RyaW5nIGNsYXNzXV0pCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIAorICAgIHJldHVybiBbW3N0cmluZyBkZXNjcmlwdGlvbl0gY3Jl
YXRlSlNTdHJpbmdSZWZdOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJp
YnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQg
bGVuZ3RoKQogewogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDQ4NikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE4LTA4LTAyICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IFtpT1NdIGFkZCBzdXBwb3J0IHRvIHJldHVybiB0aGUgYXR0cmlidXRlZCBzdHJpbmcgdW5kZXIg
dGhlIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4ODI3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI4NzIzNTc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lv
cy1zaW11bGF0b3IvYXR0cmlidXRlZC1zdHJpbmctZm9yLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYXR0cmlidXRlZC1z
dHJpbmctZm9yLWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTgtMDgtMDEgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjI3OTgzKTogZmFz
dC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgaXMgZmxha3kKSW5kZXg6IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hdHRyaWJ1dGVkLXN0cmluZy1mb3ItZWxlbWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
b3Mtc2ltdWxhdG9yL2F0dHJpYnV0ZWQtc3RyaW5nLWZvci1lbGVtZW50LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3Iv
YXR0cmlidXRlZC1zdHJpbmctZm9yLWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMjkgQEAKK2hlbGxvIHdvcmxkIHRlc3QgYm9sZAorVGhpcyB0ZXN0IGVuc3Vy
ZXMgdGhhdCBhdHRyaWJ1dGVkIHN0cmluZyB1bmRlciB0aGUgZWxlbWVudCB3b3JrcworCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQXR0cmlidXRlZCBzdHJpbmc6IGhlbGxvIHsKKyAg
ICBVSUFjY2Vzc2liaWxpdHlUb2tlbkZvbnRGYW1pbHkgPSAiVGltZXMgTmV3IFJvbWFuIjsKKyAg
ICBVSUFjY2Vzc2liaWxpdHlUb2tlbkZvbnROYW1lID0gIlRpbWVzIE5ldyBSb21hbiI7CisgICAg
VUlBY2Nlc3NpYmlsaXR5VG9rZW5Gb250U2l6ZSA9IDE2OworfXdvcmxkeworICAgIFVJQWNjZXNz
aWJpbGl0eVRva2VuQm9sZCA9IDE7CisgICAgVUlBY2Nlc3NpYmlsaXR5VG9rZW5Gb250RmFtaWx5
ID0gIlRpbWVzIE5ldyBSb21hbiI7CisgICAgVUlBY2Nlc3NpYmlsaXR5VG9rZW5Gb250TmFtZSA9
ICJUaW1lcyBOZXcgUm9tYW4gQm9sZCI7CisgICAgVUlBY2Nlc3NpYmlsaXR5VG9rZW5Gb250U2l6
ZSA9IDE2OworfSB0ZXN0IHsKKyAgICBVSUFjY2Vzc2liaWxpdHlUb2tlbkZvbnRGYW1pbHkgPSAi
VGltZXMgTmV3IFJvbWFuIjsKKyAgICBVSUFjY2Vzc2liaWxpdHlUb2tlbkZvbnROYW1lID0gIlRp
bWVzIE5ldyBSb21hbiI7CisgICAgVUlBY2Nlc3NpYmlsaXR5VG9rZW5Gb250U2l6ZSA9IDE2Owor
fWJvbGR7CisgICAgVUlBY2Nlc3NpYmlsaXR5VG9rZW5Cb2xkID0gMTsKKyAgICBVSUFjY2Vzc2li
aWxpdHlUb2tlbkZvbnRGYW1pbHkgPSAiVGltZXMgTmV3IFJvbWFuIjsKKyAgICBVSUFjY2Vzc2li
aWxpdHlUb2tlbkZvbnROYW1lID0gIlRpbWVzIE5ldyBSb21hbiBCb2xkIjsKKyAgICBVSUFjY2Vz
c2liaWxpdHlUb2tlbkZvbnRTaXplID0gMTY7Cit9CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pb3Mtc2ltdWxhdG9yL2F0dHJpYnV0ZWQtc3RyaW5nLWZvci1lbGVtZW50Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2F0dHJpYnV0
ZWQtc3RyaW5nLWZvci1lbGVtZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2F0dHJpYnV0ZWQtc3RyaW5nLWZvci1lbGVtZW50
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiBpZD0iY29udGVudCI+CitoZWxsbyA8Yj53
b3JsZDwvYj4gdGVzdCA8Yj5ib2xkPC9iPgorPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhdHRyaWJ1dGVkIHN0cmluZyB1bmRlciB0aGUgZWxl
bWVudCB3b3JrcyIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
eworCisgICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoImNvbnRlbnQiKTsKKyAgICAgICAgdmFyIHRleHQgPSBvYmouYXR0cmlidXRl
ZFN0cmluZ0ZvckVsZW1lbnQoKTsKKyAgICAgICAgZGVidWcoIkF0dHJpYnV0ZWQgc3RyaW5nOiAi
ICsgdGV4dCk7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="review"
          id="364287"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>