<?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>176710</bug_id>
          
          <creation_ts>2017-09-11 10:29:15 -0700</creation_ts>
          <short_desc>AX: Fields that are autofill-able but don&apos;t have an AutoFill button should still be announced as autofill-able</short_desc>
          <delta_ts>2017-09-14 00:01:26 -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>Safari 10</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maureen Daum">mdaum</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mdaum</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347459</commentid>
    <comment_count>0</comment_count>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-09-11 10:29:15 -0700</bug_when>
    <thetext>AX: Fields that are autofill-able but don&apos;t have an AutoFill button should still be announced as autofill-able. Currently VO only announces that fields have AutoFill available if there is an AutoFill button in the field. However, there are fields where AutoFill is available but we choose not to show the AutoFill button in them. There should be some way to mark these fields that don&apos;t have an AutoFill button as being autofill-able so that VO can announce it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347460</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-11 10:29:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/34369917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347473</commentid>
    <comment_count>2</comment_count>
      <attachid>320441</attachid>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-09-11 10:43:10 -0700</bug_when>
    <thetext>Created attachment 320441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347482</commentid>
    <comment_count>3</comment_count>
      <attachid>320441</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 10:52:48 -0700</bug_when>
    <thetext>Comment on attachment 320441
Patch

Please add a test.  https://bugs.webkit.org/show_bug.cgi?id=176139 added a test for autofill stuff in the bundle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347488</commentid>
    <comment_count>4</comment_count>
      <attachid>320441</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2017-09-11 11:04:13 -0700</bug_when>
    <thetext>Comment on attachment 320441
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        * accessibility/AccessibilityObject.cpp:

can you add a test? thanks

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:2464
&gt; +    return downcast&lt;HTMLInputElement&gt;(*node).isAutoFillAvailable() || downcast&lt;HTMLInputElement&gt;(*node).autoFillButtonType() != AutoFillButtonType::None;

will isAutoFillAvailable() always be true if button type == None?

how will users activate auto fill if there&apos;s no button to press?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347494</commentid>
    <comment_count>5</comment_count>
      <attachid>320441</attachid>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-09-11 11:13:33 -0700</bug_when>
    <thetext>Comment on attachment 320441
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        * accessibility/AccessibilityObject.cpp:
&gt; 
&gt; can you add a test? thanks

Sure thing!

&gt;&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:2464
&gt;&gt; +    return downcast&lt;HTMLInputElement&gt;(*node).isAutoFillAvailable() || downcast&lt;HTMLInputElement&gt;(*node).autoFillButtonType() != AutoFillButtonType::None;
&gt; 
&gt; will isAutoFillAvailable() always be true if button type == None?
&gt; 
&gt; how will users activate auto fill if there&apos;s no button to press?

isAutoFillAvailable() will only be true on the text fields that Safari sets it on. Users can use the arrow keys to activate autofill. The VoiceOver announcement specifies, &quot;To open the autofill menu, press the up or down arrow key, then press the return key to enter it into the form.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348124</commentid>
    <comment_count>6</comment_count>
      <attachid>320587</attachid>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-09-12 17:28:25 -0700</bug_when>
    <thetext>Created attachment 320587
Patch with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348391</commentid>
    <comment_count>7</comment_count>
      <attachid>320662</attachid>
    <who name="Maureen Daum">mdaum</who>
    <bug_when>2017-09-13 11:26:23 -0700</bug_when>
    <thetext>Created attachment 320662
Patch with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348675</commentid>
    <comment_count>8</comment_count>
      <attachid>320662</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-14 00:01:24 -0700</bug_when>
    <thetext>Comment on attachment 320662
Patch with test

Clearing flags on attachment: 320662

Committed r222013: &lt;http://trac.webkit.org/changeset/222013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348676</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-14 00:01:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320441</attachid>
            <date>2017-09-11 10:43:10 -0700</date>
            <delta_ts>2017-09-12 17:28:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Introduce-the-option-to-mark-an-HTML-element-as-havi.patch</filename>
            <type>text/plain</type>
            <size>11355</size>
            <attacher name="Maureen Daum">mdaum</attacher>
            
              <data encoding="base64">RnJvbSAzM2JmODY5ZThhYjEyYmY5ZGFkMWFkZjQxNWY0YTU4N2EwMTU4Yzk1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXVyZWVuIERhdW0gPG1kYXVtQGFwcGxlLmNvbT4KRGF0ZTog
TW9uLCAxMSBTZXAgMjAxNyAxMDozNzoxMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEludHJvZHVj
ZSB0aGUgb3B0aW9uIHRvIG1hcmsgYW4gSFRNTCBlbGVtZW50IGFzIGhhdmluZwogQXV0b0ZpbGwg
YXZhaWxhYmxlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzEw
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkludHJvZHVjZSB0aGUgb3B0aW9uIHRvIG1h
cmsgYW4gSFRNTCBlbGVtZW50IGFzIGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUuIEFjY2Vzc2li
aWxpdHkKY2FuIHVzZSB0aGlzIHByb3BlcnR5IHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBhbm5v
dW5jZSB0aGF0IHRoZSBmb2N1c2VkIGZpZWxkIG9mZmVycwpBdXRvRmlsbC4KClNvdXJjZS9XZWJD
b3JlOgoKKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlIGNvbnN0KToKQ2hl
Y2sgaWYgdGhlIGZpZWxkIGlzIGV4cGxpY2l0bHkgbWFya2VkIGFzIGhhdmluZyBBdXRvRmlsbCBh
dmFpbGFibGUuCiogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQpOgoqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgoo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNBdXRvRmlsbEF2YWlsYWJsZSBjb25zdCk6CihX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRBdXRvRmlsbEF2YWlsYWJsZSk6CgpTb3VyY2Uv
V2ViS2l0OgoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhh
bmRsZS5jcHA6CihXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxB
dmFpbGFibGUpOgooV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxs
QXZhaWxhYmxlKToKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9k
ZUhhbmRsZVByaXZhdGUuaDoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGUuY3BwOgooV2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6
OmlzQXV0b0ZpbGxBdmFpbGFibGUgY29uc3QpOgooV2ViS2l0OjpJbmplY3RlZEJ1bmRsZU5vZGVI
YW5kbGU6OnNldEF1dG9GaWxsQXZhaWxhYmxlKToKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysr
KysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAg
fCAgMiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCAgICAgICAg
ICAgICB8ICAxICsKIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oICAgICAg
ICAgICAgICAgfCAgNCArKysrCiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKIC4uLi9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwICAgICAgfCAxMCArKysrKysrKysrCiAu
Li4vSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oIHwgIDIg
KysKIC4uLi9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCAg
fCAxNiArKysrKysrKysrKysrKysrCiAuLi4vSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZS5oICAgIHwgIDIgKysKIDkgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9u
cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlY2ZhYzRkNzZiMy4uODlkYjhjYmJk
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0wOS0xMSAgTWF1cmVlbiBEYXVt
ICA8bWRhdW1AYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSB0aGUgb3B0aW9uIHRvIG1h
cmsgYW4gSFRNTCBlbGVtZW50IGFzIGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY3MTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgdGhlIG9w
dGlvbiB0byBtYXJrIGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxhYmxl
LiBBY2Nlc3NpYmlsaXR5CisgICAgICAgIGNhbiB1c2UgdGhpcyBwcm9wZXJ0eSB3aGVuIGRlY2lk
aW5nIHdoZXRoZXIgdG8gYW5ub3VuY2UgdGhhdCB0aGUgZm9jdXNlZCBmaWVsZCBvZmZlcnMKKyAg
ICAgICAgQXV0b0ZpbGwuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNWYWx1
ZUF1dG9maWxsQXZhaWxhYmxlIGNvbnN0KToKKyAgICAgICAgQ2hlY2sgaWYgdGhlIGZpZWxkIGlz
IGV4cGxpY2l0bHkgbWFya2VkIGFzIGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUuCisgICAgICAg
ICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNBdXRvRmlsbEF2
YWlsYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRB
dXRvRmlsbEF2YWlsYWJsZSk6CisKIDIwMTctMDktMTEgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBl
cmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gQnVtcCBmcmVldHlwZSB2
ZXJzaW9uIHRvIDIuOC4wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA2NzMzZTAyOWRmYy4uN2YzODE2NWVkZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcApAQCAtMjQ2MSw3ICsyNDYxLDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpp
c1ZhbHVlQXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdAogICAgIGlmICghaXM8SFRNTElucHV0RWxl
bWVudD4obm9kZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICByZXR1cm4gZG93
bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm5vZGUpLmF1dG9GaWxsQnV0dG9uVHlwZSgpICE9IEF1
dG9GaWxsQnV0dG9uVHlwZTo6Tm9uZTsKKyAgICByZXR1cm4gZG93bmNhc3Q8SFRNTElucHV0RWxl
bWVudD4oKm5vZGUpLmlzQXV0b0ZpbGxBdmFpbGFibGUoKSB8fCBkb3duY2FzdDxIVE1MSW5wdXRF
bGVtZW50Pigqbm9kZSkuYXV0b0ZpbGxCdXR0b25UeXBlKCkgIT0gQXV0b0ZpbGxCdXR0b25UeXBl
OjpOb25lOwogfQogCiBBdXRvRmlsbEJ1dHRvblR5cGUgQWNjZXNzaWJpbGl0eU9iamVjdDo6dmFs
dWVBdXRvZmlsbEJ1dHRvblR5cGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKaW5kZXggMzhiMTI1NDkxNWYuLjgxY2I4OGRlOGZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBIVE1MSW5w
dXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50JiBkb2N1bQogICAgICwgbV9hdXRvY29tcGxldGUoVW5pbml0aWFsaXplZCkKICAg
ICAsIG1faXNBdXRvRmlsbGVkKGZhbHNlKQogICAgICwgbV9hdXRvRmlsbEJ1dHRvblR5cGUoc3Rh
dGljX2Nhc3Q8dWludDhfdD4oQXV0b0ZpbGxCdXR0b25UeXBlOjpOb25lKSkKKyAgICAsIG1faXNB
dXRvRmlsbEF2YWlsYWJsZShmYWxzZSkKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAg
ICAsIG1faGFzTm9uRW1wdHlMaXN0KGZhbHNlKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oCmluZGV4IGQyNjMyN2ZmODFkLi4xZmY5ZGEwNGExYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTIzNyw2ICsyMzcsOSBAQCBwdWJsaWM6
CiAgICAgQXV0b0ZpbGxCdXR0b25UeXBlIGF1dG9GaWxsQnV0dG9uVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIChBdXRvRmlsbEJ1dHRvblR5cGUpbV9hdXRvRmlsbEJ1dHRvblR5cGU7IH0KICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldFNob3dBdXRvRmlsbEJ1dHRvbihBdXRvRmlsbEJ1dHRvblR5cGUp
OwogCisgICAgYm9vbCBpc0F1dG9GaWxsQXZhaWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9pc0F1
dG9GaWxsQXZhaWxhYmxlOyB9CisgICAgdm9pZCBzZXRBdXRvRmlsbEF2YWlsYWJsZShib29sIGF1
dG9GaWxsQXZhaWxhYmxlKSB7IG1faXNBdXRvRmlsbEF2YWlsYWJsZSA9IGF1dG9GaWxsQXZhaWxh
YmxlOyB9CisKICAgICBXRUJDT1JFX0VYUE9SVCBGaWxlTGlzdCogZmlsZXMoKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEZpbGVzKFJlZlB0cjxGaWxlTGlzdD4mJik7CiAKQEAgLTQ0Nyw2
ICs0NTAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fYXV0b2NvbXBsZXRlIDogMjsgLy8g
QXV0b0NvbXBsZXRlU2V0dGluZwogICAgIGJvb2wgbV9pc0F1dG9GaWxsZWQgOiAxOwogICAgIHVu
c2lnbmVkIG1fYXV0b0ZpbGxCdXR0b25UeXBlIDogMjsgLy8gQXV0b0ZpbGxCdXR0b25UeXBlOwor
ICAgIGJvb2wgbV9pc0F1dG9GaWxsQXZhaWxhYmxlIDogMTsKICNpZiBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkKICAgICBib29sIG1faGFzTm9uRW1wdHlMaXN0IDogMTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBlNWIxYWE2YTY4Yy4uMmEwNGY4N2VlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTctMDktMTEgIE1hdXJlZW4gRGF1bSAgPG1kYXVtQGFwcGxlLmNvbT4KKworICAgICAgICBJ
bnRyb2R1Y2UgdGhlIG9wdGlvbiB0byBtYXJrIGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0
b0ZpbGwgYXZhaWxhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc2NzEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW50cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMg
aGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQorICAgICAgICBjYW4gdXNl
IHRoaXMgcHJvcGVydHkgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhl
IGZvY3VzZWQgZmllbGQgb2ZmZXJzCisgICAgICAgIEF1dG9GaWxsLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwOgorICAg
ICAgICAoV0tCdW5kbGVOb2RlSGFuZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQXZhaWxh
YmxlKToKKyAgICAgICAgKFdLQnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVsZW1lbnRBdXRv
RmlsbEF2YWlsYWJsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjppc0F1dG9GaWxsQXZhaWxhYmxlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpzZXRBdXRvRmls
bEF2YWlsYWJsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmg6CisKIDIwMTctMDktMTEgIEpGIEJhc3RpZW4gIDxqZmJh
c3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIGNtYWtlIGJ1aWxkIGZpeApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9k
ZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcAppbmRleCAzYmNlM2VlYzJkYi4uZjM5NWYzNTQyNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwCkBAIC0xMjAsNiArMTIw
LDE2IEBAIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxs
QnV0dG9uRW5hYmxlZFdpdGhCdXR0b25UeXBlKFdLCiAgICAgdG9JbXBsKGh0bWxJbnB1dEVsZW1l
bnRIYW5kbGVSZWYpLT5zZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25FbmFibGVkKHRv
QXV0b0ZpbGxCdXR0b25UeXBlKGF1dG9GaWxsQnV0dG9uVHlwZSkpOwogfQogCitib29sIFdLQnVu
ZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShXS0J1bmRs
ZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZVJlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKGh0bWxJbnB1dEVsZW1lbnRIYW5kbGVSZWYpLT5pc0F1dG9GaWxsQXZhaWxhYmxlKCk7
Cit9CisKK3ZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxs
QXZhaWxhYmxlKFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlUmVm
LCBib29sIGF1dG9GaWxsQXZhaWxhYmxlKQoreworICAgIHRvSW1wbChodG1sSW5wdXRFbGVtZW50
SGFuZGxlUmVmKS0+c2V0QXV0b0ZpbGxBdmFpbGFibGUoYXV0b0ZpbGxBdmFpbGFibGUpOworfQor
CiBXS1JlY3QgV0tCdW5kbGVOb2RlSGFuZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0
dG9uQm91bmRzKFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlUmVm
KQogewogICAgIHJldHVybiB0b0FQSSh0b0ltcGwoaHRtbElucHV0RWxlbWVudEhhbmRsZVJlZikt
Pmh0bWxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkJvdW5kcygpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVI
YW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oCmluZGV4IDYzNDU0MWQ0ODVkLi4xMDVh
M2NkMzgxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0
ZS5oCkBAIC02NCw2ICs2NCw4IEBAIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlTm9kZUhhbmRsZUdl
dEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbGVkKFdLQnVuZGxlTm9kZUhhbmRsCiBXS19FWFBPUlQg
dm9pZCBXS0J1bmRsZU5vZGVIYW5kbGVTZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxlZChXS0J1
bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgYm9vbCBmaWxsZWQpOwog
V0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVOb2RlSGFuZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9G
aWxsQnV0dG9uRW5hYmxlZChXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhh
bmRsZSk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZU5vZGVIYW5kbGVTZXRIVE1MSW5wdXRFbGVt
ZW50QXV0b0ZpbGxCdXR0b25FbmFibGVkV2l0aEJ1dHRvblR5cGUoV0tCdW5kbGVOb2RlSGFuZGxl
UmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIFdLQXV0b0ZpbGxCdXR0b25UeXBlIGF1dG9GaWxs
QnV0dG9uVHlwZSk7CitXS19FWFBPUlQgYm9vbCBXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5w
dXRFbGVtZW50QXV0b0ZpbGxBdmFpbGFibGUoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1
dEVsZW1lbnRIYW5kbGUpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRN
TElucHV0RWxlbWVudEF1dG9GaWxsQXZhaWxhYmxlKFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1s
SW5wdXRFbGVtZW50SGFuZGxlLCBib29sIGF1dG9GaWxsQXZhaWxhYmxlKTsKIFdLX0VYUE9SVCBX
S1JlY3QgV0tCdW5kbGVOb2RlSGFuZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9u
Qm91bmRzKFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlKTsKIFdL
X0VYUE9SVCBib29sIFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRMYXN0Q2hh
bmdlV2FzVXNlckVkaXQoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5k
bGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAKaW5k
ZXggY2E0OWIwYzM3OTIuLjJkYTYxYzg5YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGUuY3BwCkBAIC0yNzEsNiArMjcxLDIyIEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGVOb2RlSGFuZGxlOjpzZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25FbmFibGVk
KEF1dG9GaWxsCiAgICAgZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4obV9ub2RlLmdldCgpKS5z
ZXRTaG93QXV0b0ZpbGxCdXR0b24oYXV0b0ZpbGxCdXR0b25UeXBlKTsKIH0KIAorYm9vbCBJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmlzQXV0b0ZpbGxBdmFpbGFibGUoKSBjb25zdAoreworICAg
IGlmICghaXM8SFRNTElucHV0RWxlbWVudD4obV9ub2RlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZS5nZXQoKSku
aXNBdXRvRmlsbEF2YWlsYWJsZSgpOworfQorCit2b2lkIEluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZTo6c2V0QXV0b0ZpbGxBdmFpbGFibGUoYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSkKK3sKKyAgICBp
ZiAoIWlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZSkpCisgICAgICAgIHJldHVybjsKKworICAg
IGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZS5nZXQoKSkuc2V0QXV0b0ZpbGxBdmFp
bGFibGUoYXV0b0ZpbGxBdmFpbGFibGUpOworfQorCiBJbnRSZWN0IEluamVjdGVkQnVuZGxlTm9k
ZUhhbmRsZTo6aHRtbElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uQm91bmRzKCkKIHsKICAgICBp
ZiAoIWlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGUuaAppbmRleCAwYjRjNTQyZWE2NC4uYWJhYjE5N2EyMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0
ZWRCdW5kbGVOb2RlSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaApAQCAtNzAsNiArNzAsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxlZChib29sKTsK
ICAgICBib29sIGlzSFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uRW5hYmxlZCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uRW5hYmxlZChXZWJD
b3JlOjpBdXRvRmlsbEJ1dHRvblR5cGUpOworICAgIGJvb2wgaXNBdXRvRmlsbEF2YWlsYWJsZSgp
IGNvbnN0OworICAgIHZvaWQgc2V0QXV0b0ZpbGxBdmFpbGFibGUoYm9vbCk7CiAgICAgV2ViQ29y
ZTo6SW50UmVjdCBodG1sSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25Cb3VuZHMoKTsKICAgICBi
b29sIGh0bWxJbnB1dEVsZW1lbnRMYXN0Q2hhbmdlV2FzVXNlckVkaXQoKTsKICAgICBib29sIGh0
bWxUZXh0QXJlYUVsZW1lbnRMYXN0Q2hhbmdlV2FzVXNlckVkaXQoKTsKLS0gCjIuMTMuNSAoQXBw
bGUgR2l0LTk0KQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320587</attachid>
            <date>2017-09-12 17:28:25 -0700</date>
            <delta_ts>2017-09-13 11:26:23 -0700</delta_ts>
            <desc>Patch with test</desc>
            <filename>0001-Introduce-the-option-to-mark-an-HTML-element-as-havi.patch</filename>
            <type>text/plain</type>
            <size>23166</size>
            <attacher name="Maureen Daum">mdaum</attacher>
            
              <data encoding="base64">RnJvbSA4ZmM0MmQ5NDYzZGIxODg5NDQyZWZlMWFhMDgzMGQ0OWYwN2M1NmEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXVyZWVuIERhdW0gPG1kYXVtQGFwcGxlLmNvbT4KRGF0ZTog
VHVlLCAxMiBTZXAgMjAxNyAxNzoyMzo1NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEludHJvZHVj
ZSB0aGUgb3B0aW9uIHRvIG1hcmsgYW4gSFRNTCBlbGVtZW50IGFzIGhhdmluZwogQXV0b0ZpbGwg
YXZhaWxhYmxlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzEw
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJjZS9XZWJDb3JlOgoKSW50cm9kdWNl
IHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2
YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQpjYW4gdXNlIHRoaXMgcHJvcGVydHkgd2hlbiBkZWNpZGlu
ZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQgZmllbGQgb2ZmZXJzCkF1dG9G
aWxsLgoKKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlIGNvbnN0KToKQ2hl
Y2sgaWYgdGhlIGZpZWxkIGlzIGV4cGxpY2l0bHkgbWFya2VkIGFzIGhhdmluZyBBdXRvRmlsbCBh
dmFpbGFibGUuCiogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQpOgoqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgoo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNBdXRvRmlsbEF2YWlsYWJsZSBjb25zdCk6CihX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRBdXRvRmlsbEF2YWlsYWJsZSk6CgpTb3VyY2Uv
V2ViS2l0OgoKSW50cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMg
aGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQpjYW4gdXNlIHRoaXMgcHJv
cGVydHkgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQg
ZmllbGQgb2ZmZXJzCkF1dG9GaWxsLgoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlTm9kZUhhbmRsZS5jcHA6CihXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRF
bGVtZW50QXV0b0ZpbGxBdmFpbGFibGUpOgooV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0
RWxlbWVudEF1dG9GaWxsQXZhaWxhYmxlKToKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaDoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwOgooV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGU6OmlzQXV0b0ZpbGxBdmFpbGFibGUgY29uc3QpOgooV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGU6OnNldEF1dG9GaWxsQXZhaWxhYmxlKToKKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaDoKClRvb2xzOgoK
QWRkIGFuIEFQSSB0ZXN0IHRoYXQgdmVyaWZpZXMgYWZ0ZXIgd2UgbWFyayBhIGZpZWxkIGFzIGhh
dmluZyBBdXRvRmlsbCBhdmFpbGFibGUsCkFjY2Vzc2liaWxpdHkgYWxzbyBjb25zaWRlcnMgaXQg
dG8gaGF2ZSBBdXRvRmlsbCBhdmFpbGFibGUuCgoqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgQXV0b0ZpbGxBdmFpbGFibGUubW0KKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9GaWxsQXZhaWxhYmxlLm1tOiBBZGRl
ZC4KQ3JlYXRlIGFuIGlucHV0IGVsZW1lbnQsIG1hcmsgaXQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2
YWlsYWJsZSwgdGhlbiBmb2N1cyBpdCBzbyB0aGF0CndlIGNhbiBnZXQgdGhlIGFjY2Vzc2liaWxp
dHkgaW5mb3JtYXRpb24gZm9yIGl0LiBBc2sgYWNjZXNzaWJpbGl0eSB3aGV0aGVyIGl0IGNvbnNp
ZGVycwp0aGUgZmllbGQgdG8gaGF2ZSBBdXRvRmlsbCBhdmFpbGFibGUsIGFuZCBwaWNrIHRoZSBh
bGVydCBtZXNzYWdlIGJhc2VkIG9uIHRoYXQuCigtW0F1dG9GaWxsQXZhaWxhYmxlIHdlYlByb2Nl
c3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOl0pOgoqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbToKKFRFU1QpOgooLVtBdXRvRmls
bEF2YWlsYWJsZURlbGVnYXRlIHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVz
c2FnZTppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOl0pOgpWZXJpZnkgdGhhdCB3
ZSBnZXQgdGhlIGFsZXJ0IG1lc3NhZ2UgaW5kaWNhdGluZyB0aGF0IGFjY2Vzc2liaWxpdHkgaW5k
ZWVkIGNvbnNpZGVycwp0aGUgaW5wdXQgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlIGFmdGVyIHdlIGV4cGxpY2l0bHkgbWFya2VkIGl0IGFzIHNvLgotLS0KIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKwogLi4u
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgfCAgMiArLQog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCAgICAgICAgICAgfCAgMSAr
CiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCAgICAgICAgICAgICB8ICA0
ICsrCiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IDIwICsrKysrKysKIC4uLi9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUu
Y3BwICAgIHwgMTAgKysrKwogLi4uL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaCAg
ICAgICAgICAgICAgfCAgMiArCiAuLi4vRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAg
ICAgICAgICAgICAgICB8IDE2ICsrKysrKwogLi4uL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGUuaCAgfCAgMiArCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrCiAuLi4vVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICAgICB8ICA0ICsrCiAuLi4vVGVzdHMvV2ViS2l0
Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0gICAgICAgICB8IDYzICsrKysrKysrKysrKysrKysr
KysrKysKIC4uLi9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0g
IHwgMjQgKysrKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCAxODkgaW5zZXJ0aW9ucygrKSwgMSBk
ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNmYWM0ZDc2
YjMuLjI3MTE1NGY1MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTctMDktMTIg
IE1hdXJlZW4gRGF1bSAgPG1kYXVtQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgdGhl
IG9wdGlvbiB0byBtYXJrIGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2
NzEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9G
aWxsIGF2YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQorICAgICAgICBjYW4gdXNlIHRoaXMgcHJvcGVy
dHkgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQgZmll
bGQgb2ZmZXJzCisgICAgICAgIEF1dG9GaWxsLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlP
YmplY3Q6OmlzVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSBjb25zdCk6CisgICAgICAgIENoZWNrIGlm
IHRoZSBmaWVsZCBpcyBleHBsaWNpdGx5IG1hcmtlZCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6
OmlzQXV0b0ZpbGxBdmFpbGFibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6c2V0QXV0b0ZpbGxBdmFpbGFibGUpOgorCiAyMDE3LTA5LTExICBDYXJsb3MgQWxi
ZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIEJ1
bXAgZnJlZXR5cGUgdmVyc2lvbiB0byAyLjguMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNjczM2UwMjlkZmMuLjdm
MzgxNjVlZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTI0NjEsNyArMjQ2MSw3IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlKCkgY29uc3QKICAgICBpZiAoIWlz
PEhUTUxJbnB1dEVsZW1lbnQ+KG5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0g
ICAgcmV0dXJuIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5hdXRvRmlsbEJ1dHRv
blR5cGUoKSAhPSBBdXRvRmlsbEJ1dHRvblR5cGU6Ok5vbmU7CisgICAgcmV0dXJuIGRvd25jYXN0
PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5pc0F1dG9GaWxsQXZhaWxhYmxlKCkgfHwgZG93bmNh
c3Q8SFRNTElucHV0RWxlbWVudD4oKm5vZGUpLmF1dG9GaWxsQnV0dG9uVHlwZSgpICE9IEF1dG9G
aWxsQnV0dG9uVHlwZTo6Tm9uZTsKIH0KIAogQXV0b0ZpbGxCdXR0b25UeXBlIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OnZhbHVlQXV0b2ZpbGxCdXR0b25UeXBlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDM4YjEyNTQ5MTVmLi44MWNiODhkZThmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMDMsNiArMTAz
LDcgQEAgSFRNTElucHV0RWxlbWVudDo6SFRNTElucHV0RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW0KICAgICAsIG1fYXV0b2NvbXBsZXRlKFVuaW5p
dGlhbGl6ZWQpCiAgICAgLCBtX2lzQXV0b0ZpbGxlZChmYWxzZSkKICAgICAsIG1fYXV0b0ZpbGxC
dXR0b25UeXBlKHN0YXRpY19jYXN0PHVpbnQ4X3Q+KEF1dG9GaWxsQnV0dG9uVHlwZTo6Tm9uZSkp
CisgICAgLCBtX2lzQXV0b0ZpbGxBdmFpbGFibGUoZmFsc2UpCiAjaWYgRU5BQkxFKERBVEFMSVNU
X0VMRU1FTlQpCiAgICAgLCBtX2hhc05vbkVtcHR5TGlzdChmYWxzZSkKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCBkMjYzMjdmZjgxZC4uMWZmOWRhMDRh
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yMzcsNiArMjM3
LDkgQEAgcHVibGljOgogICAgIEF1dG9GaWxsQnV0dG9uVHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUo
KSBjb25zdCB7IHJldHVybiAoQXV0b0ZpbGxCdXR0b25UeXBlKW1fYXV0b0ZpbGxCdXR0b25UeXBl
OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaG93QXV0b0ZpbGxCdXR0b24oQXV0b0Zp
bGxCdXR0b25UeXBlKTsKIAorICAgIGJvb2wgaXNBdXRvRmlsbEF2YWlsYWJsZSgpIGNvbnN0IHsg
cmV0dXJuIG1faXNBdXRvRmlsbEF2YWlsYWJsZTsgfQorICAgIHZvaWQgc2V0QXV0b0ZpbGxBdmFp
bGFibGUoYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSkgeyBtX2lzQXV0b0ZpbGxBdmFpbGFibGUgPSBh
dXRvRmlsbEF2YWlsYWJsZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgRmlsZUxpc3QqIGZpbGVz
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRGaWxlcyhSZWZQdHI8RmlsZUxpc3Q+JiYp
OwogCkBAIC00NDcsNiArNDUwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2F1dG9jb21w
bGV0ZSA6IDI7IC8vIEF1dG9Db21wbGV0ZVNldHRpbmcKICAgICBib29sIG1faXNBdXRvRmlsbGVk
IDogMTsKICAgICB1bnNpZ25lZCBtX2F1dG9GaWxsQnV0dG9uVHlwZSA6IDI7IC8vIEF1dG9GaWxs
QnV0dG9uVHlwZTsKKyAgICBib29sIG1faXNBdXRvRmlsbEF2YWlsYWJsZSA6IDE7CiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgYm9vbCBtX2hhc05vbkVtcHR5TGlzdCA6IDE7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZTViMWFhNmE2OGMuLjY4OGM5NTQwNzQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE3LTA5LTEyICBNYXVyZWVuIERhdW0gIDxtZGF1bUBhcHBsZS5jb20+
CisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQg
YXMgaGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjcxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSB0aGUgb3B0aW9uIHRvIG1hcmsgYW4gSFRN
TCBlbGVtZW50IGFzIGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUuIEFjY2Vzc2liaWxpdHkKKyAg
ICAgICAgY2FuIHVzZSB0aGlzIHByb3BlcnR5IHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBhbm5v
dW5jZSB0aGF0IHRoZSBmb2N1c2VkIGZpZWxkIG9mZmVycworICAgICAgICBBdXRvRmlsbC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFu
ZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRB
dXRvRmlsbEF2YWlsYWJsZSk6CisgICAgICAgIChXS0J1bmRsZU5vZGVIYW5kbGVTZXRIVE1MSW5w
dXRFbGVtZW50QXV0b0ZpbGxBdmFpbGFibGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6aXNBdXRvRmlsbEF2
YWlsYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZTo6c2V0QXV0b0ZpbGxBdmFpbGFibGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oOgorCiAyMDE3LTA5LTExICBKRiBC
YXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBjbWFrZSBidWlsZCBmaXgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5jcHAKaW5kZXggM2JjZTNlZWMyZGIu
LmYzOTVmMzU0MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcApA
QCAtMTIwLDYgKzEyMCwxNiBAQCB2b2lkIFdLQnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVs
ZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWRXaXRoQnV0dG9uVHlwZShXSwogICAgIHRvSW1wbCho
dG1sSW5wdXRFbGVtZW50SGFuZGxlUmVmKS0+c2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0
dG9uRW5hYmxlZCh0b0F1dG9GaWxsQnV0dG9uVHlwZShhdXRvRmlsbEJ1dHRvblR5cGUpKTsKIH0K
IAorYm9vbCBXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxBdmFp
bGFibGUoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGVSZWYpCit7
CisgICAgcmV0dXJuIHRvSW1wbChodG1sSW5wdXRFbGVtZW50SGFuZGxlUmVmKS0+aXNBdXRvRmls
bEF2YWlsYWJsZSgpOworfQorCit2b2lkIFdLQnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVs
ZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxl
bWVudEhhbmRsZVJlZiwgYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSkKK3sKKyAgICB0b0ltcGwoaHRt
bElucHV0RWxlbWVudEhhbmRsZVJlZiktPnNldEF1dG9GaWxsQXZhaWxhYmxlKGF1dG9GaWxsQXZh
aWxhYmxlKTsKK30KKwogV0tSZWN0IFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1l
bnRBdXRvRmlsbEJ1dHRvbkJvdW5kcyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxl
bWVudEhhbmRsZVJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGh0bWxJbnB1dEVsZW1l
bnRIYW5kbGVSZWYpLT5odG1sSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25Cb3VuZHMoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaAppbmRleCA2MzQ1
NDFkNDg1ZC4uMTA1YTNjZDM4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9k
ZUhhbmRsZVByaXZhdGUuaApAQCAtNjQsNiArNjQsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRs
ZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxlZChXS0J1bmRsZU5vZGVIYW5k
bAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0RWxlbWVudEF1
dG9GaWxsZWQoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIGJv
b2wgZmlsbGVkKTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1
dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWQoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJ
bnB1dEVsZW1lbnRIYW5kbGUpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0
SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uRW5hYmxlZFdpdGhCdXR0b25UeXBlKFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlLCBXS0F1dG9GaWxsQnV0dG9u
VHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUpOworV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVOb2RlSGFu
ZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQXZhaWxhYmxlKFdLQnVuZGxlTm9kZUhhbmRs
ZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlKTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlTm9k
ZUhhbmRsZVNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShXS0J1bmRsZU5vZGVI
YW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSk7
CiBXS19FWFBPUlQgV0tSZWN0IFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRB
dXRvRmlsbEJ1dHRvbkJvdW5kcyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVu
dEhhbmRsZSk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRF
bGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5w
dXRFbGVtZW50SGFuZGxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVI
YW5kbGUuY3BwCmluZGV4IGNhNDliMGMzNzkyLi4yZGE2MWM4OWE1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5v
ZGVIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcApAQCAtMjcxLDYgKzI3MSwyMiBAQCB2
b2lkIEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6c2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxs
QnV0dG9uRW5hYmxlZChBdXRvRmlsbAogICAgIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KG1f
bm9kZS5nZXQoKSkuc2V0U2hvd0F1dG9GaWxsQnV0dG9uKGF1dG9GaWxsQnV0dG9uVHlwZSk7CiB9
CiAKK2Jvb2wgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjppc0F1dG9GaWxsQXZhaWxhYmxlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIWlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Piht
X25vZGUuZ2V0KCkpLmlzQXV0b0ZpbGxBdmFpbGFibGUoKTsKK30KKwordm9pZCBJbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGU6OnNldEF1dG9GaWxsQXZhaWxhYmxlKGJvb2wgYXV0b0ZpbGxBdmFpbGFi
bGUpCit7CisgICAgaWYgKCFpczxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUuZ2V0KCkpLnNl
dEF1dG9GaWxsQXZhaWxhYmxlKGF1dG9GaWxsQXZhaWxhYmxlKTsKK30KKwogSW50UmVjdCBJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGU6Omh0bWxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkJvdW5k
cygpCiB7CiAgICAgaWYgKCFpczxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgKaW5kZXggMGI0YzU0MmVhNjQuLmFiYWIx
OTdhMjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgKQEAg
LTcwLDYgKzcwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SFRNTElucHV0RWxlbWVudEF1dG9G
aWxsZWQoYm9vbCk7CiAgICAgYm9vbCBpc0hUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVu
YWJsZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRv
bkVuYWJsZWQoV2ViQ29yZTo6QXV0b0ZpbGxCdXR0b25UeXBlKTsKKyAgICBib29sIGlzQXV0b0Zp
bGxBdmFpbGFibGUoKSBjb25zdDsKKyAgICB2b2lkIHNldEF1dG9GaWxsQXZhaWxhYmxlKGJvb2wp
OwogICAgIFdlYkNvcmU6OkludFJlY3QgaHRtbElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uQm91
bmRzKCk7CiAgICAgYm9vbCBodG1sSW5wdXRFbGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KCk7
CiAgICAgYm9vbCBodG1sVGV4dEFyZWFFbGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmQ4YjJl
ODQyMGYuLjY3NzE2MWUzMjNhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDktMTIgIE1hdXJlZW4gRGF1bSAg
PG1kYXVtQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgdGhlIG9wdGlvbiB0byBtYXJr
IGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxhYmxlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzEwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0ZXN0IHRo
YXQgdmVyaWZpZXMgYWZ0ZXIgd2UgbWFyayBhIGZpZWxkIGFzIGhhdmluZyBBdXRvRmlsbCBhdmFp
bGFibGUsCisgICAgICAgIEFjY2Vzc2liaWxpdHkgYWxzbyBjb25zaWRlcnMgaXQgdG8gaGF2ZSBB
dXRvRmlsbCBhdmFpbGFibGUuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIEF1dG9GaWxsQXZhaWxhYmxlLm1tCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvRmlsbEF2YWlsYWJs
ZS5tbTogQWRkZWQuCisgICAgICAgIENyZWF0ZSBhbiBpbnB1dCBlbGVtZW50LCBtYXJrIGl0IGFz
IGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUsIHRoZW4gZm9jdXMgaXQgc28gdGhhdAorICAgICAg
ICB3ZSBjYW4gZ2V0IHRoZSBhY2Nlc3NpYmlsaXR5IGluZm9ybWF0aW9uIGZvciBpdC4gQXNrIGFj
Y2Vzc2liaWxpdHkgd2hldGhlciBpdCBjb25zaWRlcnMKKyAgICAgICAgdGhlIGZpZWxkIHRvIGhh
dmUgQXV0b0ZpbGwgYXZhaWxhYmxlLCBhbmQgcGljayB0aGUgYWxlcnQgbWVzc2FnZSBiYXNlZCBv
biB0aGF0LgorICAgICAgICAoLVtBdXRvRmlsbEF2YWlsYWJsZSB3ZWJQcm9jZXNzUGx1Z0luOmRp
ZENyZWF0ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpdKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChURVNUKToKKyAg
ICAgICAgKC1bQXV0b0ZpbGxBdmFpbGFibGVEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRB
bGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgVmVyaWZ5IHRoYXQgd2UgZ2V0IHRoZSBhbGVydCBtZXNzYWdlIGluZGljYXRp
bmcgdGhhdCBhY2Nlc3NpYmlsaXR5IGluZGVlZCBjb25zaWRlcnMKKyAgICAgICAgdGhlIGlucHV0
IGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZSBhZnRlciB3ZSBleHBsaWNpdGx5
IG1hcmtlZCBpdCBhcyBzby4KKwogMjAxNy0wOS0xMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIEludExpdGVyYWwgc2hvdWxkIHByZWZlciBpbnQzMiBkdXJpbmcg
b3ZlcmxvYWQgcmVzb2x1dGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjY2MzYzNiZTcz
OC4uYzI5Zjk4ODczNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDQsNiArMjQ0LDcg
QEAKIAkJNjM1NkZCMjIxRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTZGQjIxMUVD
NEUwQkEwMDQ0QkYxOCAvKiBWaXNpYmxlQ29udGVudFJlY3QubW0gKi87IH07CiAJCTYzNjM1M0E3
MUU5ODY2NUQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYzNjM1M0E2MUU5ODYxOTQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlv
blJlc3VsdC5odG1sICovOyB9OwogCQk2QkZEMjk0QzFENUU2QzFEMDA4RUM5NjggLyogSGFzaENv
dW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0EzOEQ3RTUxQzc1MkQ1RjAwNEYxNTdEIC8qIEhhc2hDb3VudGVkU2V0LmNwcCAqLzsgfTsK
KwkJNzU0Q0VDODExRjY3MjJGMjAwRDAwMzlBIC8qIEF1dG9GaWxsQXZhaWxhYmxlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU0Q0VDODAxRjY3MjJE
QzAwRDAwMzlBIC8qIEF1dG9GaWxsQXZhaWxhYmxlLm1tICovOyB9OwogCQk3NTVBMjBBRjFFNkUz
ODYzMDA5M0M2OUYgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTVBMjBBRTFFNkUzODYzMDA5M0M2OUYgLyog
RGF0YWJhc2VUcmFja2VyVGVzdC5jcHAgKi87IH07CiAJCTc2NDMyMkQ3MUI2MUNDQzMwMDI0Rjgw
MSAvKiBXb3JkQm91bmRhcnlUeXBpbmdBdHRyaWJ1dGVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY0MzIyRDUxQjYxQ0NBNDAwMjRGODAxIC8qIFdv
cmRCb3VuZGFyeVR5cGluZ0F0dHJpYnV0ZXMubW0gKi87IH07CiAJCTc2NzM0OTlEMTkzMEM1QkIw
MEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWRfYnVuZGxl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2NzM0
OTlBMTkzMDE4MkUwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25h
bExvYWRfYnVuZGxlLmNwcCAqLzsgfTsKQEAgLTEzMzEsNiArMTMzMiw3IEBACiAJCTYzNDkxMERG
MUU5RDNGRjMwMDg4MDMwOSAvKiBDb3JlTG9jYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5h
bWUgPSBDb3JlTG9jYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlTG9jYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJ
NjM1NkZCMjExRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFZpc2libGVDb250ZW50UmVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNjM2MzUzQTYxRTk4NjE5NDAwMDlGOEFGIC8qIEdlb2xvY2F0aW9uR2V0Q3Vy
cmVudFBvc2l0aW9uUmVzdWx0Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBHZW9s
b2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvRmlsbEF2YWlsYWJsZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzU1QTIwQUUxRTZFMzg2MzAwOTNDNjlGIC8qIERhdGFiYXNl
VHJhY2tlclRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
YWJhc2VUcmFja2VyVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NjA5
MTc3MTkyNTlDNTkwMDlFRjA2RSAvKiBNZW1vcnlDYWNoZUFkZEltYWdlVG9DYWNoZUlPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE1lbW9yeUNhY2hlQWRkSW1h
Z2VUb0NhY2hlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NUYzMTMzRjE4
QzE3MUI3MDA0MUNBRUMgLyogRXBoZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9yeUNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVwaGVtZXJhbFNl
c3Npb25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xOTAzLDYgKzE5MDUsNyBAQAogCQkJCTM3RTdERDY1MUVBMDcxNUIwMDlCMzk2
RCAvKiBBZGRpdGlvbmFsUmVhZEFjY2Vzc0FsbG93ZWRVUkxzUHJvdG9jb2wuaCAqLywKIAkJCQlB
MURGNzQzMDFDNDFCNjU4MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1t
ICovLAogCQkJCTJERTcxQUZEMUQ0OUMwQkQwMDkwNDA5NCAvKiBBbmltYXRlZFJlc2l6ZS5tbSAq
LywKKwkJCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0g
Ki8sCiAJCQkJMkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlv
bi5tbSAqLywKIAkJCQkzNzRCN0E1RTFERjM2RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0Rl
bGVnYXRlLm1tICovLAogCQkJCTM3NEI3QTVGMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0
aW5nRGVsZWdhdGVQbHVnSW4ubW0gKi8sCkBAIC0zNDY2LDYgKzM0NjksNyBAQAogCQkJCUExNEZD
NThCMUI4OTkyNzEwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nUGx1Z0luLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTEzRUJCQUIxQjg3NDM0NjAwMDk3MTEwIC8qIFBsYXRmb3JtVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTRGODFDRjFCREZGRDUzMDA0RTY3MkUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKKwkJCQk3NTRDRUM4
MTFGNjcyMkYyMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0gaW4gU291cmNlcyAqLywK
IAkJCQlBMTJEREMwMjFFODM3QzI0MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFnZVdpdGhPcHRpb25z
UGx1Z0luLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4ODJFMDkxQzgwQzYzMDAwNkJGNzMxIC8q
IFVzZXJDb250ZW50V29ybGRQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzRDFE
MEE2MEQ2MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0ZpbGxBdmFp
bGFibGUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9GaWxs
QXZhaWxhYmxlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zYWQz
MTJlZjViYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0KQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCA8
V2ViS2l0L1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS0J1
bmRsZVBhZ2VQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tET01Eb2N1bWVudC5oPgorI2lt
cG9ydCA8V2ViS2l0L1dLRE9NRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRE9NTm9kZVBy
aXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW4uaD4KKyNpbXBvcnQg
PFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJQcml2YXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaD4KKyNpbXBvcnQg
PFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5oPgorCitAaW50ZXJmYWNlIEF1
dG9GaWxsQXZhaWxhYmxlIDogTlNPYmplY3QgPFdLV2ViUHJvY2Vzc1BsdWdJbj4KK0BlbmQKKwor
QGltcGxlbWVudGF0aW9uIEF1dG9GaWxsQXZhaWxhYmxlCisKKy0gKHZvaWQpd2ViUHJvY2Vzc1Bs
dWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgZGlk
Q3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIKK3sKKyAgICBXS0RP
TURvY3VtZW50ICpkb2N1bWVudCA9IFticm93c2VyQ29udGV4dENvbnRyb2xsZXIgbWFpbkZyYW1l
RG9jdW1lbnRdOworICAgIFdLRE9NRWxlbWVudCAqaW5wdXRFbGVtZW50ID0gW2RvY3VtZW50IGNy
ZWF0ZUVsZW1lbnQ6QCJpbnB1dCJdOworICAgIFtbZG9jdW1lbnQgYm9keV0gYXBwZW5kQ2hpbGQ6
aW5wdXRFbGVtZW50XTsKKyAgICBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgbm9kZSA9IFtpbnB1dEVs
ZW1lbnQgX2NvcHlCdW5kbGVOb2RlSGFuZGxlUmVmXTsKKyAgICBXS0J1bmRsZU5vZGVIYW5kbGVT
ZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxBdmFpbGFibGUobm9kZSwgdHJ1ZSk7CisgICAgW1tb
YnJvd3NlckNvbnRleHRDb250cm9sbGVyIG1haW5GcmFtZV0ganNDb250ZXh0Rm9yV29ybGQ6W1dL
V2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkIG5vcm1hbFdvcmxkXV0gZXZhbHVhdGVTY3JpcHQ6
QCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImlucHV0XCIpWzBdLmZvY3VzKCkiXTsK
KworICAgIHZvaWQqIGFjY2Vzc2liaWxpdHlFbGVtZW50ID0gV0tBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZE9iamVjdChbYnJvd3NlckNvbnRleHRDb250cm9sbGVyIF9idW5kbGVQYWdlUmVmXSk7CisgICAg
aWQgYXV0b2ZpbGxBdmFpbGFibGUgPSBbKGlkKWFjY2Vzc2liaWxpdHlFbGVtZW50IGFjY2Vzc2li
aWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSJdOworCisgICAg
TlNTdHJpbmcgKnNjcmlwdCA9IFthdXRvZmlsbEF2YWlsYWJsZSBib29sVmFsdWVdID8gIEAiYWxl
cnQoJ2F1dG9maWxsIGF2YWlsYWJsZScpIiA6IEAiYWxlcnQoJ2F1dG9maWxsIG5vdCBhdmFpbGFi
bGUnKSI7CisgICAgW1tbYnJvd3NlckNvbnRleHRDb250cm9sbGVyIG1haW5GcmFtZV0ganNDb250
ZXh0Rm9yV29ybGQ6W1dLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkIG5vcm1hbFdvcmxkXV0g
ZXZhbHVhdGVTY3JpcHQ6c2NyaXB0XTsKK30KKworQGVuZAorCisjZW5kaWYgLy8gV0tfQVBJX0VO
QUJMRUQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
VUlEZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlE
ZWxlZ2F0ZS5tbQppbmRleCA1MzI5MjUwZGJjMi4uZDM2Y2UxYmQ0YjIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0KQEAgLTI0
OSw2ICsyNDksMzAgQEAgVEVTVChXZWJLaXQsIENsaWNrQXV0b0ZpbGxCdXR0b24pCiAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKIH0KIAorQGludGVyZmFjZSBBdXRvRmlsbEF2
YWlsYWJsZURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+CitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBBdXRvRmlsbEF2YWlsYWJsZURlbGVnYXRlCisKKy0gKHZvaWQpd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNz
YWdlOihOU1N0cmluZyAqKW1lc3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilm
cmFtZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoKSljb21wbGV0aW9uSGFuZGxlcgorewor
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgQVNTRVJUX1NUUkVRKG1lc3NhZ2UuVVRGOFN0
cmluZywgImF1dG9maWxsIGF2YWlsYWJsZSIpOworICAgIGRvbmUgPSB0cnVlOworfQorCitAZW5k
CisKK1RFU1QoV2ViS2l0LCBBdXRvRmlsbEF2YWlsYWJsZSkKK3sKKyAgICBXS1dlYlZpZXdDb25m
aWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3Rf
Y29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiQXV0b0ZpbGxBdmFpbGFibGUi
XTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQXV0b0ZpbGxBdmFp
bGFibGVEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9
CisKIEBpbnRlcmZhY2UgUGlubmVkU3RhdGVPYnNlcnZlciA6IE5TT2JqZWN0CiBAZW5kCiAKLS0g
CjIuMTMuNSAoQXBwbGUgR2l0LTk0KQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320662</attachid>
            <date>2017-09-13 11:26:23 -0700</date>
            <delta_ts>2017-09-14 00:01:24 -0700</delta_ts>
            <desc>Patch with test</desc>
            <filename>0001-Introduce-the-option-to-mark-an-HTML-element-as-havi.patch</filename>
            <type>text/plain</type>
            <size>23200</size>
            <attacher name="Maureen Daum">mdaum</attacher>
            
              <data encoding="base64">RnJvbSAzN2M1MTJmYzcxYmUxZDhmZDgyOGNmNWZjYzZhYTA2NDliMTBjYzNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXVyZWVuIERhdW0gPG1kYXVtQGFwcGxlLmNvbT4KRGF0ZTog
VHVlLCAxMiBTZXAgMjAxNyAxNzoyMzo1NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEludHJvZHVj
ZSB0aGUgb3B0aW9uIHRvIG1hcmsgYW4gSFRNTCBlbGVtZW50IGFzIGhhdmluZwogQXV0b0ZpbGwg
YXZhaWxhYmxlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzEw
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJjZS9XZWJDb3JlOgoKSW50cm9kdWNl
IHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2
YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQpjYW4gdXNlIHRoaXMgcHJvcGVydHkgd2hlbiBkZWNpZGlu
ZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQgZmllbGQgb2ZmZXJzCkF1dG9G
aWxsLgoKKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlIGNvbnN0KToKQ2hl
Y2sgaWYgdGhlIGZpZWxkIGlzIGV4cGxpY2l0bHkgbWFya2VkIGFzIGhhdmluZyBBdXRvRmlsbCBh
dmFpbGFibGUuCiogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQpOgoqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgoo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNBdXRvRmlsbEF2YWlsYWJsZSBjb25zdCk6CihX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRBdXRvRmlsbEF2YWlsYWJsZSk6CgpTb3VyY2Uv
V2ViS2l0OgoKSW50cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMg
aGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQpjYW4gdXNlIHRoaXMgcHJv
cGVydHkgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQg
ZmllbGQgb2ZmZXJzCkF1dG9GaWxsLgoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlTm9kZUhhbmRsZS5jcHA6CihXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRF
bGVtZW50QXV0b0ZpbGxBdmFpbGFibGUpOgooV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0
RWxlbWVudEF1dG9GaWxsQXZhaWxhYmxlKToKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaDoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwOgooV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGU6OmlzQXV0b0ZpbGxBdmFpbGFibGUgY29uc3QpOgooV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGU6OnNldEF1dG9GaWxsQXZhaWxhYmxlKToKKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaDoKClRvb2xzOgoK
QWRkIGFuIEFQSSB0ZXN0IHRoYXQgdmVyaWZpZXMgYWZ0ZXIgd2UgbWFyayBhIGZpZWxkIGFzIGhh
dmluZyBBdXRvRmlsbCBhdmFpbGFibGUsCkFjY2Vzc2liaWxpdHkgYWxzbyBjb25zaWRlcnMgaXQg
dG8gaGF2ZSBBdXRvRmlsbCBhdmFpbGFibGUuCgoqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgQXV0b0ZpbGxBdmFpbGFibGUubW0KKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9GaWxsQXZhaWxhYmxlLm1tOiBBZGRl
ZC4KQ3JlYXRlIGFuIGlucHV0IGVsZW1lbnQsIG1hcmsgaXQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2
YWlsYWJsZSwgdGhlbiBmb2N1cyBpdCBzbyB0aGF0CndlIGNhbiBnZXQgdGhlIGFjY2Vzc2liaWxp
dHkgaW5mb3JtYXRpb24gZm9yIGl0LiBBc2sgYWNjZXNzaWJpbGl0eSB3aGV0aGVyIGl0IGNvbnNp
ZGVycwp0aGUgZmllbGQgdG8gaGF2ZSBBdXRvRmlsbCBhdmFpbGFibGUsIGFuZCBwaWNrIHRoZSBh
bGVydCBtZXNzYWdlIGJhc2VkIG9uIHRoYXQuCigtW0F1dG9GaWxsQXZhaWxhYmxlIHdlYlByb2Nl
c3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOl0pOgoqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVUlEZWxlZ2F0ZS5tbToKKFRFU1QpOgooLVtBdXRvRmls
bEF2YWlsYWJsZURlbGVnYXRlIHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVz
c2FnZTppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOl0pOgpWZXJpZnkgdGhhdCB3
ZSBnZXQgdGhlIGFsZXJ0IG1lc3NhZ2UgaW5kaWNhdGluZyB0aGF0IGFjY2Vzc2liaWxpdHkgaW5k
ZWVkIGNvbnNpZGVycwp0aGUgaW5wdXQgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlIGFmdGVyIHdlIGV4cGxpY2l0bHkgbWFya2VkIGl0IGFzIHNvLgotLS0KIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKwogLi4u
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgfCAgMiArLQog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCAgICAgICAgICAgfCAgMSAr
CiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCAgICAgICAgICAgICB8ICA0
ICsrCiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IDIwICsrKysrKysKIC4uLi9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUu
Y3BwICAgIHwgMTAgKysrKwogLi4uL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaCAg
ICAgICAgICAgICAgfCAgMiArCiAuLi4vRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAg
ICAgICAgICAgICAgICB8IDE2ICsrKysrKwogLi4uL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZU5vZGVIYW5kbGUuaCAgfCAgMiArCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrCiAuLi4vVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICAgICB8ICA0ICsrCiAuLi4vVGVzdHMvV2ViS2l0
Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0gICAgICAgICB8IDYzICsrKysrKysrKysrKysrKysr
KysrKysKIC4uLi9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0g
IHwgMjQgKysrKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCAxODkgaW5zZXJ0aW9ucygrKSwgMSBk
ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNmYWM0ZDc2
YjMuLjI3MTE1NGY1MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTctMDktMTIg
IE1hdXJlZW4gRGF1bSAgPG1kYXVtQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgdGhl
IG9wdGlvbiB0byBtYXJrIGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2
NzEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9G
aWxsIGF2YWlsYWJsZS4gQWNjZXNzaWJpbGl0eQorICAgICAgICBjYW4gdXNlIHRoaXMgcHJvcGVy
dHkgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGFubm91bmNlIHRoYXQgdGhlIGZvY3VzZWQgZmll
bGQgb2ZmZXJzCisgICAgICAgIEF1dG9GaWxsLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlP
YmplY3Q6OmlzVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSBjb25zdCk6CisgICAgICAgIENoZWNrIGlm
IHRoZSBmaWVsZCBpcyBleHBsaWNpdGx5IG1hcmtlZCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxh
YmxlLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6
OmlzQXV0b0ZpbGxBdmFpbGFibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6c2V0QXV0b0ZpbGxBdmFpbGFibGUpOgorCiAyMDE3LTA5LTExICBDYXJsb3MgQWxi
ZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIEJ1
bXAgZnJlZXR5cGUgdmVyc2lvbiB0byAyLjguMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNjczM2UwMjlkZmMuLjdm
MzgxNjVlZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTI0NjEsNyArMjQ2MSw3IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6aXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlKCkgY29uc3QKICAgICBpZiAoIWlz
PEhUTUxJbnB1dEVsZW1lbnQ+KG5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0g
ICAgcmV0dXJuIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5hdXRvRmlsbEJ1dHRv
blR5cGUoKSAhPSBBdXRvRmlsbEJ1dHRvblR5cGU6Ok5vbmU7CisgICAgcmV0dXJuIGRvd25jYXN0
PEhUTUxJbnB1dEVsZW1lbnQ+KCpub2RlKS5pc0F1dG9GaWxsQXZhaWxhYmxlKCkgfHwgZG93bmNh
c3Q8SFRNTElucHV0RWxlbWVudD4oKm5vZGUpLmF1dG9GaWxsQnV0dG9uVHlwZSgpICE9IEF1dG9G
aWxsQnV0dG9uVHlwZTo6Tm9uZTsKIH0KIAogQXV0b0ZpbGxCdXR0b25UeXBlIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OnZhbHVlQXV0b2ZpbGxCdXR0b25UeXBlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDM4YjEyNTQ5MTVmLi44MWNiODhkZThmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMDMsNiArMTAz
LDcgQEAgSFRNTElucHV0RWxlbWVudDo6SFRNTElucHV0RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW0KICAgICAsIG1fYXV0b2NvbXBsZXRlKFVuaW5p
dGlhbGl6ZWQpCiAgICAgLCBtX2lzQXV0b0ZpbGxlZChmYWxzZSkKICAgICAsIG1fYXV0b0ZpbGxC
dXR0b25UeXBlKHN0YXRpY19jYXN0PHVpbnQ4X3Q+KEF1dG9GaWxsQnV0dG9uVHlwZTo6Tm9uZSkp
CisgICAgLCBtX2lzQXV0b0ZpbGxBdmFpbGFibGUoZmFsc2UpCiAjaWYgRU5BQkxFKERBVEFMSVNU
X0VMRU1FTlQpCiAgICAgLCBtX2hhc05vbkVtcHR5TGlzdChmYWxzZSkKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCBkMjYzMjdmZjgxZC4uMWZmOWRhMDRh
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yMzcsNiArMjM3
LDkgQEAgcHVibGljOgogICAgIEF1dG9GaWxsQnV0dG9uVHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUo
KSBjb25zdCB7IHJldHVybiAoQXV0b0ZpbGxCdXR0b25UeXBlKW1fYXV0b0ZpbGxCdXR0b25UeXBl
OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaG93QXV0b0ZpbGxCdXR0b24oQXV0b0Zp
bGxCdXR0b25UeXBlKTsKIAorICAgIGJvb2wgaXNBdXRvRmlsbEF2YWlsYWJsZSgpIGNvbnN0IHsg
cmV0dXJuIG1faXNBdXRvRmlsbEF2YWlsYWJsZTsgfQorICAgIHZvaWQgc2V0QXV0b0ZpbGxBdmFp
bGFibGUoYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSkgeyBtX2lzQXV0b0ZpbGxBdmFpbGFibGUgPSBh
dXRvRmlsbEF2YWlsYWJsZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgRmlsZUxpc3QqIGZpbGVz
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRGaWxlcyhSZWZQdHI8RmlsZUxpc3Q+JiYp
OwogCkBAIC00NDcsNiArNDUwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2F1dG9jb21w
bGV0ZSA6IDI7IC8vIEF1dG9Db21wbGV0ZVNldHRpbmcKICAgICBib29sIG1faXNBdXRvRmlsbGVk
IDogMTsKICAgICB1bnNpZ25lZCBtX2F1dG9GaWxsQnV0dG9uVHlwZSA6IDI7IC8vIEF1dG9GaWxs
QnV0dG9uVHlwZTsKKyAgICBib29sIG1faXNBdXRvRmlsbEF2YWlsYWJsZSA6IDE7CiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgYm9vbCBtX2hhc05vbkVtcHR5TGlzdCA6IDE7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZTViMWFhNmE2OGMuLjY4OGM5NTQwNzQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE3LTA5LTEyICBNYXVyZWVuIERhdW0gIDxtZGF1bUBhcHBsZS5jb20+
CisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBvcHRpb24gdG8gbWFyayBhbiBIVE1MIGVsZW1lbnQg
YXMgaGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjcxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSB0aGUgb3B0aW9uIHRvIG1hcmsgYW4gSFRN
TCBlbGVtZW50IGFzIGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUuIEFjY2Vzc2liaWxpdHkKKyAg
ICAgICAgY2FuIHVzZSB0aGlzIHByb3BlcnR5IHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBhbm5v
dW5jZSB0aGF0IHRoZSBmb2N1c2VkIGZpZWxkIG9mZmVycworICAgICAgICBBdXRvRmlsbC4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFu
ZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRB
dXRvRmlsbEF2YWlsYWJsZSk6CisgICAgICAgIChXS0J1bmRsZU5vZGVIYW5kbGVTZXRIVE1MSW5w
dXRFbGVtZW50QXV0b0ZpbGxBdmFpbGFibGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6aXNBdXRvRmlsbEF2
YWlsYWJsZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZTo6c2V0QXV0b0ZpbGxBdmFpbGFibGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oOgorCiAyMDE3LTA5LTExICBKRiBC
YXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBjbWFrZSBidWlsZCBmaXgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5jcHAKaW5kZXggM2JjZTNlZWMyZGIu
LmYzOTVmMzU0MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcApA
QCAtMTIwLDYgKzEyMCwxNiBAQCB2b2lkIFdLQnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVs
ZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWRXaXRoQnV0dG9uVHlwZShXSwogICAgIHRvSW1wbCho
dG1sSW5wdXRFbGVtZW50SGFuZGxlUmVmKS0+c2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0
dG9uRW5hYmxlZCh0b0F1dG9GaWxsQnV0dG9uVHlwZShhdXRvRmlsbEJ1dHRvblR5cGUpKTsKIH0K
IAorYm9vbCBXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxBdmFp
bGFibGUoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGVSZWYpCit7
CisgICAgcmV0dXJuIHRvSW1wbChodG1sSW5wdXRFbGVtZW50SGFuZGxlUmVmKS0+aXNBdXRvRmls
bEF2YWlsYWJsZSgpOworfQorCit2b2lkIFdLQnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVs
ZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxl
bWVudEhhbmRsZVJlZiwgYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSkKK3sKKyAgICB0b0ltcGwoaHRt
bElucHV0RWxlbWVudEhhbmRsZVJlZiktPnNldEF1dG9GaWxsQXZhaWxhYmxlKGF1dG9GaWxsQXZh
aWxhYmxlKTsKK30KKwogV0tSZWN0IFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1l
bnRBdXRvRmlsbEJ1dHRvbkJvdW5kcyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxl
bWVudEhhbmRsZVJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGh0bWxJbnB1dEVsZW1l
bnRIYW5kbGVSZWYpLT5odG1sSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25Cb3VuZHMoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaAppbmRleCA2MzQ1
NDFkNDg1ZC4uMTA1YTNjZDM4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9k
ZUhhbmRsZVByaXZhdGUuaApAQCAtNjQsNiArNjQsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRs
ZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRFbGVtZW50QXV0b0ZpbGxlZChXS0J1bmRsZU5vZGVIYW5k
bAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0SFRNTElucHV0RWxlbWVudEF1
dG9GaWxsZWQoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJbnB1dEVsZW1lbnRIYW5kbGUsIGJv
b2wgZmlsbGVkKTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1
dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWQoV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJ
bnB1dEVsZW1lbnRIYW5kbGUpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVOb2RlSGFuZGxlU2V0
SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uRW5hYmxlZFdpdGhCdXR0b25UeXBlKFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlLCBXS0F1dG9GaWxsQnV0dG9u
VHlwZSBhdXRvRmlsbEJ1dHRvblR5cGUpOworV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVOb2RlSGFu
ZGxlR2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxsQXZhaWxhYmxlKFdLQnVuZGxlTm9kZUhhbmRs
ZVJlZiBodG1sSW5wdXRFbGVtZW50SGFuZGxlKTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlTm9k
ZUhhbmRsZVNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShXS0J1bmRsZU5vZGVI
YW5kbGVSZWYgaHRtbElucHV0RWxlbWVudEhhbmRsZSwgYm9vbCBhdXRvRmlsbEF2YWlsYWJsZSk7
CiBXS19FWFBPUlQgV0tSZWN0IFdLQnVuZGxlTm9kZUhhbmRsZUdldEhUTUxJbnB1dEVsZW1lbnRB
dXRvRmlsbEJ1dHRvbkJvdW5kcyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYgaHRtbElucHV0RWxlbWVu
dEhhbmRsZSk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZU5vZGVIYW5kbGVHZXRIVE1MSW5wdXRF
bGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5w
dXRFbGVtZW50SGFuZGxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVI
YW5kbGUuY3BwCmluZGV4IGNhNDliMGMzNzkyLi4yZGE2MWM4OWE1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5v
ZGVIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcApAQCAtMjcxLDYgKzI3MSwyMiBAQCB2
b2lkIEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6c2V0SFRNTElucHV0RWxlbWVudEF1dG9GaWxs
QnV0dG9uRW5hYmxlZChBdXRvRmlsbAogICAgIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KG1f
bm9kZS5nZXQoKSkuc2V0U2hvd0F1dG9GaWxsQnV0dG9uKGF1dG9GaWxsQnV0dG9uVHlwZSk7CiB9
CiAKK2Jvb2wgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjppc0F1dG9GaWxsQXZhaWxhYmxlKCkg
Y29uc3QKK3sKKyAgICBpZiAoIWlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fbm9kZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Piht
X25vZGUuZ2V0KCkpLmlzQXV0b0ZpbGxBdmFpbGFibGUoKTsKK30KKwordm9pZCBJbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGU6OnNldEF1dG9GaWxsQXZhaWxhYmxlKGJvb2wgYXV0b0ZpbGxBdmFpbGFi
bGUpCit7CisgICAgaWYgKCFpczxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUuZ2V0KCkpLnNl
dEF1dG9GaWxsQXZhaWxhYmxlKGF1dG9GaWxsQXZhaWxhYmxlKTsKK30KKwogSW50UmVjdCBJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGU6Omh0bWxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkJvdW5k
cygpCiB7CiAgICAgaWYgKCFpczxIVE1MSW5wdXRFbGVtZW50PihtX25vZGUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgKaW5kZXggMGI0YzU0MmVhNjQuLmFiYWIx
OTdhMjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmgKQEAg
LTcwLDYgKzcwLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SFRNTElucHV0RWxlbWVudEF1dG9G
aWxsZWQoYm9vbCk7CiAgICAgYm9vbCBpc0hUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVu
YWJsZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRv
bkVuYWJsZWQoV2ViQ29yZTo6QXV0b0ZpbGxCdXR0b25UeXBlKTsKKyAgICBib29sIGlzQXV0b0Zp
bGxBdmFpbGFibGUoKSBjb25zdDsKKyAgICB2b2lkIHNldEF1dG9GaWxsQXZhaWxhYmxlKGJvb2wp
OwogICAgIFdlYkNvcmU6OkludFJlY3QgaHRtbElucHV0RWxlbWVudEF1dG9GaWxsQnV0dG9uQm91
bmRzKCk7CiAgICAgYm9vbCBodG1sSW5wdXRFbGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KCk7
CiAgICAgYm9vbCBodG1sVGV4dEFyZWFFbGVtZW50TGFzdENoYW5nZVdhc1VzZXJFZGl0KCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmQ4YjJl
ODQyMGYuLjY3NzE2MWUzMjNhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDktMTIgIE1hdXJlZW4gRGF1bSAg
PG1kYXVtQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgdGhlIG9wdGlvbiB0byBtYXJr
IGFuIEhUTUwgZWxlbWVudCBhcyBoYXZpbmcgQXV0b0ZpbGwgYXZhaWxhYmxlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzEwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0ZXN0IHRo
YXQgdmVyaWZpZXMgYWZ0ZXIgd2UgbWFyayBhIGZpZWxkIGFzIGhhdmluZyBBdXRvRmlsbCBhdmFp
bGFibGUsCisgICAgICAgIEFjY2Vzc2liaWxpdHkgYWxzbyBjb25zaWRlcnMgaXQgdG8gaGF2ZSBB
dXRvRmlsbCBhdmFpbGFibGUuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIEF1dG9GaWxsQXZhaWxhYmxlLm1tCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvRmlsbEF2YWlsYWJs
ZS5tbTogQWRkZWQuCisgICAgICAgIENyZWF0ZSBhbiBpbnB1dCBlbGVtZW50LCBtYXJrIGl0IGFz
IGhhdmluZyBBdXRvRmlsbCBhdmFpbGFibGUsIHRoZW4gZm9jdXMgaXQgc28gdGhhdAorICAgICAg
ICB3ZSBjYW4gZ2V0IHRoZSBhY2Nlc3NpYmlsaXR5IGluZm9ybWF0aW9uIGZvciBpdC4gQXNrIGFj
Y2Vzc2liaWxpdHkgd2hldGhlciBpdCBjb25zaWRlcnMKKyAgICAgICAgdGhlIGZpZWxkIHRvIGhh
dmUgQXV0b0ZpbGwgYXZhaWxhYmxlLCBhbmQgcGljayB0aGUgYWxlcnQgbWVzc2FnZSBiYXNlZCBv
biB0aGF0LgorICAgICAgICAoLVtBdXRvRmlsbEF2YWlsYWJsZSB3ZWJQcm9jZXNzUGx1Z0luOmRp
ZENyZWF0ZUJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpdKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChURVNUKToKKyAg
ICAgICAgKC1bQXV0b0ZpbGxBdmFpbGFibGVEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRB
bGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgVmVyaWZ5IHRoYXQgd2UgZ2V0IHRoZSBhbGVydCBtZXNzYWdlIGluZGljYXRp
bmcgdGhhdCBhY2Nlc3NpYmlsaXR5IGluZGVlZCBjb25zaWRlcnMKKyAgICAgICAgdGhlIGlucHV0
IGVsZW1lbnQgYXMgaGF2aW5nIEF1dG9GaWxsIGF2YWlsYWJsZSBhZnRlciB3ZSBleHBsaWNpdGx5
IG1hcmtlZCBpdCBhcyBzby4KKwogMjAxNy0wOS0xMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIEludExpdGVyYWwgc2hvdWxkIHByZWZlciBpbnQzMiBkdXJpbmcg
b3ZlcmxvYWQgcmVzb2x1dGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjY2MzYzNiZTcz
OC4uYzI5Zjk4ODczNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDQsNiArMjQ0LDcg
QEAKIAkJNjM1NkZCMjIxRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTZGQjIxMUVD
NEUwQkEwMDQ0QkYxOCAvKiBWaXNpYmxlQ29udGVudFJlY3QubW0gKi87IH07CiAJCTYzNjM1M0E3
MUU5ODY2NUQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYzNjM1M0E2MUU5ODYxOTQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlv
blJlc3VsdC5odG1sICovOyB9OwogCQk2QkZEMjk0QzFENUU2QzFEMDA4RUM5NjggLyogSGFzaENv
dW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0EzOEQ3RTUxQzc1MkQ1RjAwNEYxNTdEIC8qIEhhc2hDb3VudGVkU2V0LmNwcCAqLzsgfTsK
KwkJNzU0Q0VDODExRjY3MjJGMjAwRDAwMzlBIC8qIEF1dG9GaWxsQXZhaWxhYmxlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU0Q0VDODAxRjY3MjJE
QzAwRDAwMzlBIC8qIEF1dG9GaWxsQXZhaWxhYmxlLm1tICovOyB9OwogCQk3NTVBMjBBRjFFNkUz
ODYzMDA5M0M2OUYgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTVBMjBBRTFFNkUzODYzMDA5M0M2OUYgLyog
RGF0YWJhc2VUcmFja2VyVGVzdC5jcHAgKi87IH07CiAJCTc2NDMyMkQ3MUI2MUNDQzMwMDI0Rjgw
MSAvKiBXb3JkQm91bmRhcnlUeXBpbmdBdHRyaWJ1dGVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY0MzIyRDUxQjYxQ0NBNDAwMjRGODAxIC8qIFdv
cmRCb3VuZGFyeVR5cGluZ0F0dHJpYnV0ZXMubW0gKi87IH07CiAJCTc2NzM0OTlEMTkzMEM1QkIw
MEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWRfYnVuZGxl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2NzM0
OTlBMTkzMDE4MkUwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25h
bExvYWRfYnVuZGxlLmNwcCAqLzsgfTsKQEAgLTEzMzEsNiArMTMzMiw3IEBACiAJCTYzNDkxMERG
MUU5RDNGRjMwMDg4MDMwOSAvKiBDb3JlTG9jYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5h
bWUgPSBDb3JlTG9jYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlTG9jYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJ
NjM1NkZCMjExRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFZpc2libGVDb250ZW50UmVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNjM2MzUzQTYxRTk4NjE5NDAwMDlGOEFGIC8qIEdlb2xvY2F0aW9uR2V0Q3Vy
cmVudFBvc2l0aW9uUmVzdWx0Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBHZW9s
b2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvRmlsbEF2YWlsYWJsZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzU1QTIwQUUxRTZFMzg2MzAwOTNDNjlGIC8qIERhdGFiYXNl
VHJhY2tlclRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
YWJhc2VUcmFja2VyVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NjA5
MTc3MTkyNTlDNTkwMDlFRjA2RSAvKiBNZW1vcnlDYWNoZUFkZEltYWdlVG9DYWNoZUlPUy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE1lbW9yeUNhY2hlQWRkSW1h
Z2VUb0NhY2hlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NUYzMTMzRjE4
QzE3MUI3MDA0MUNBRUMgLyogRXBoZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9yeUNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVwaGVtZXJhbFNl
c3Npb25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xOTAzLDYgKzE5MDUsNyBAQAogCQkJCTM3RTdERDY1MUVBMDcxNUIwMDlCMzk2
RCAvKiBBZGRpdGlvbmFsUmVhZEFjY2Vzc0FsbG93ZWRVUkxzUHJvdG9jb2wuaCAqLywKIAkJCQlB
MURGNzQzMDFDNDFCNjU4MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1t
ICovLAogCQkJCTJERTcxQUZEMUQ0OUMwQkQwMDkwNDA5NCAvKiBBbmltYXRlZFJlc2l6ZS5tbSAq
LywKKwkJCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0g
Ki8sCiAJCQkJMkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlv
bi5tbSAqLywKIAkJCQkzNzRCN0E1RTFERjM2RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0Rl
bGVnYXRlLm1tICovLAogCQkJCTM3NEI3QTVGMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0
aW5nRGVsZWdhdGVQbHVnSW4ubW0gKi8sCkBAIC0zNDY2LDYgKzM0NjksNyBAQAogCQkJCUExNEZD
NThCMUI4OTkyNzEwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nUGx1Z0luLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTEzRUJCQUIxQjg3NDM0NjAwMDk3MTEwIC8qIFBsYXRmb3JtVXRpbGl0aWVz
Q29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTRGODFDRjFCREZGRDUzMDA0RTY3MkUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKKwkJCQk3NTRDRUM4
MTFGNjcyMkYyMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0gaW4gU291cmNlcyAqLywK
IAkJCQlBMTJEREMwMjFFODM3QzI0MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFnZVdpdGhPcHRpb25z
UGx1Z0luLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4ODJFMDkxQzgwQzYzMDAwNkJGNzMxIC8q
IFVzZXJDb250ZW50V29ybGRQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzRDFE
MEE2MEQ2MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0ZpbGxBdmFp
bGFibGUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9GaWxs
QXZhaWxhYmxlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yN2Fm
OGQ1ZmFmZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvQXV0b0ZpbGxBdmFpbGFibGUubW0KQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZPUk0o
TUFDKQorCisjaW1wb3J0IDxXZWJLaXQvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oPgorI2lt
cG9ydCA8V2ViS2l0L1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS0RP
TURvY3VtZW50Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tET01FbGVtZW50Lmg+CisjaW1wb3J0IDxX
ZWJLaXQvV0tET01Ob2RlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1Bs
dWdJbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlclByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5G
cmFtZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkLmg+
CisKK0BpbnRlcmZhY2UgQXV0b0ZpbGxBdmFpbGFibGUgOiBOU09iamVjdCA8V0tXZWJQcm9jZXNz
UGx1Z0luPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gQXV0b0ZpbGxBdmFpbGFibGUKKworLSAo
dm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1
Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcgoreworICAgIFdLRE9NRG9jdW1lbnQgKmRvY3VtZW50ID0gW2Jyb3dzZXJDb250ZXh0Q29u
dHJvbGxlciBtYWluRnJhbWVEb2N1bWVudF07CisgICAgV0tET01FbGVtZW50ICppbnB1dEVsZW1l
bnQgPSBbZG9jdW1lbnQgY3JlYXRlRWxlbWVudDpAImlucHV0Il07CisgICAgW1tkb2N1bWVudCBi
b2R5XSBhcHBlbmRDaGlsZDppbnB1dEVsZW1lbnRdOworICAgIFdLQnVuZGxlTm9kZUhhbmRsZVJl
ZiBub2RlID0gW2lucHV0RWxlbWVudCBfY29weUJ1bmRsZU5vZGVIYW5kbGVSZWZdOworICAgIFdL
QnVuZGxlTm9kZUhhbmRsZVNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEF2YWlsYWJsZShub2Rl
LCB0cnVlKTsKKyAgICBbW1ticm93c2VyQ29udGV4dENvbnRyb2xsZXIgbWFpbkZyYW1lXSBqc0Nv
bnRleHRGb3JXb3JsZDpbV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGQgbm9ybWFsV29ybGRd
XSBldmFsdWF0ZVNjcmlwdDpAImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW5wdXRc
IilbMF0uZm9jdXMoKSJdOworCisgICAgdm9pZCogYWNjZXNzaWJpbGl0eUVsZW1lbnQgPSBXS0Fj
Y2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFticm93c2VyQ29udGV4dENvbnRyb2xsZXIgX2J1bmRs
ZVBhZ2VSZWZdKTsKKyAgICBpZCBhdXRvZmlsbEF2YWlsYWJsZSA9IFsoaWQpYWNjZXNzaWJpbGl0
eUVsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOkAiQVhWYWx1ZUF1dG9maWxsQXZh
aWxhYmxlIl07CisKKyAgICBOU1N0cmluZyAqc2NyaXB0ID0gW2F1dG9maWxsQXZhaWxhYmxlIGJv
b2xWYWx1ZV0gPyAgQCJhbGVydCgnYXV0b2ZpbGwgYXZhaWxhYmxlJykiIDogQCJhbGVydCgnYXV0
b2ZpbGwgbm90IGF2YWlsYWJsZScpIjsKKyAgICBbW1ticm93c2VyQ29udGV4dENvbnRyb2xsZXIg
bWFpbkZyYW1lXSBqc0NvbnRleHRGb3JXb3JsZDpbV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29y
bGQgbm9ybWFsV29ybGRdXSBldmFsdWF0ZVNjcmlwdDpzY3JpcHRdOworfQorCitAZW5kCisKKyNl
bmRpZiAvLyBXS19BUElfRU5BQkxFRCAmJiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggNTMyOTI1
MGRiYzIuLmQzNmNlMWJkNGIyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCkBAIC0yNDksNiArMjQ5LDMwIEBAIFRFU1QoV2Vi
S2l0LCBDbGlja0F1dG9GaWxsQnV0dG9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CiB9CiAKK0BpbnRlcmZhY2UgQXV0b0ZpbGxBdmFpbGFibGVEZWxlZ2F0ZSA6IE5TT2Jq
ZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gQXV0b0Zp
bGxBdmFpbGFibGVEZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgcnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdl
IGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcigp
OworICAgIEFTU0VSVF9TVFJFUShtZXNzYWdlLlVURjhTdHJpbmcsICJhdXRvZmlsbCBhdmFpbGFi
bGUiKTsKKyAgICBkb25lID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdlYktpdCwgQXV0b0Zp
bGxBdmFpbGFibGUpCit7CisgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlv
biA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBs
dWdJbkNsYXNzTmFtZTpAIkF1dG9GaWxsQXZhaWxhYmxlIl07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtl
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW0F1dG9GaWxsQXZhaWxhYmxlRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCiBAaW50ZXJmYWNlIFBpbm5lZFN0
YXRlT2JzZXJ2ZXIgOiBOU09iamVjdAogQGVuZAogCi0tIAoyLjEzLjUgKEFwcGxlIEdpdC05NCkK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>